搜索
您的当前位置:首页正文

Quartus调试笔记

来源:意榕旅游网
Quartus调试笔记Quartus 调试笔记@(verilog)最近忙于芯⽚跟测试FPGA联调,解锁了不少quartus的⽤法,在此记录⼀下备忘。⽬录⼀. modelsim 联仿1. tb⽂件创建Processing --- Start --- Start testbench template writer⾃动创建当前top 模块的testbench, ⾃动例化完整,创建的tb⽂件⼀般在simulate/modelsim⽂件夹下(.vt类型)2. modelsim联仿环境Assignment -- setting -- EDA tool settings -- simulation 中选择tool为modelsim之后勾选compile test bench。点击testbenches, New , 之后填⼊tb name, top module name (tb顶层名要和实际tb⾥的⼀致),然后file name中选择之前⾃动创建的tb.vt⽂件,然后就可以⼀路ok了最后点击 Tool--- run simulation tool --- rtl simulation就可以打开modelsim仿真了。⼆. modelsim - quartus 动态调试仿真实际上每次在quartus中对⼯程做了修改以后,再次仿真没必要关掉之前的modelsim。 只需要配置⼀下wave.do⽂件即可,具体步骤如下:1. ⾸先在modelsim中,File --- Save Format ,将当前调试环境保存为wave.do⽂件。⼀般是放在simulation/modelsim⽂件夹下。之后建议把这个wave.do⽂件加⼊到⼯程中⽅便修改。2. 打开wave.do⽂件,可以看到⾥⾯都是modelsim中调试过程进⾏的⼀些操作,包括添加信号,仿真时间设定等等,⽐如我的是:onerror {resume}

quietly WaveActivateNextPane {} 0

add wave -noupdate /new_kws_test_vlg_tst/clk_50Madd wave -noupdate /new_kws_test_vlg_tst/rstn

add wave -noupdate /new_kws_test_vlg_tst/clk_200k

add wave -noupdate /new_kws_test_vlg_tst/I_threshold_load_finish

add wave -noupdate -radix decimal /new_kws_test_vlg_tst/i1/mem_addrTreeUpdate [SetDefaultTree]

WaveRestoreCursors {{Cursor 1} {130261609 ps} 0}quietly wave cursor active 1

configure wave -namecolwidth 353configure wave -valuecolwidth 100configure wave -justifyvalue leftconfigure wave -signalnamewidth 0configure wave -snapdistance 10configure wave -datasetprefix 0configure wave -rowmargin 4

configure wave -childrowmargin 2configure wave -gridoffset 0configure wave -gridperiod 1configure wave -griddelta 40configure wave -timeline 0

configure wave -timelineunits nsupdate

WaveRestoreZoom {5044059661 ps} {5543637850 ps}

后⾯要添加波形也可以参照这⾥的写法直接在do⽂件⾥修改。但是光这些脚本还没法做到⼀键运⾏,缺少.v⽂件的信息,所以需要下⾯的流程。3. 在simulation/modelsim中找到⼀个_rtl_verilog.do后缀的⽂件,⾥⾯包含上⾯提到的缺失脚本,⼤概长这样:把选中部分粘贴到wave.do⾥就可以了。4. 之后的仿真流程就是,在quartus中编写verilog和testbench并保存,之后跳到modelsim中依次输⼊命令:quit -simdo wave.do就可以仿真修改后的⼯程了,⽆需“反复横跳”。当然,如果⼯程中加⼊了新的.v,只要在wave.do中仿照之前的格式添加就可以了。前⼏天看到有FPGA三. quartus-modelsim仿真ROM注意事项1. modelsim中仿真quartus中的ROM IP时,不⽀持mif格式,最好在quartus中File,save as将mif 保存为hex2. 最好把rom ip和hex都放在⼯程⽂件同⽬录下。四. SignalTap 使⽤抓数据神器,只需要⼀个jtag, 虽然每次添加新信号都要重新编译烧录,但总⽐⽰波器⽅便多了。波形图跟采样深度⼤⼩有关,深度越⼤采样的数据越多。⽬前还不知道如何将⼀段时间内所有数据点存下来,(貌似只能保存触发点之后采样深度⼤⼩的波形,不知道有没有什么⽅法可以存⼀段时间内的所有波形)。但就调试基本使⽤⽽⾔⾜够了。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top