通常我們使用Modelsim進行仿真,是通過圖形界面點點點來進行操作,殊不知Modelsim完美支持TCL腳本語言及批處理命令do文件。簡單來說就是從你修改完代碼后到你重新編譯把需要的信號拉出來查看,現在只需要一個動作即可完成。大大提高了工作效率,博主之前也是點點點了好久,最后發現有這么好的仿真技巧,真是相見恨晚。
下面列舉一些常見的TCL腳本命令
Run do文件的一些常用命令 #打開現有工程 project open C:/Users/jayash/Desktop/sim/ImageProcess #新建一個庫 vlib my_lib #將其映射到work vmap my_lib work #刪除制定庫 vmap -del my_lib #添加指定設計文件 project addfile src/Verilog/test.v #編譯工程內所有文件 project compileall #編譯指定verilog文件 vlog src/Verilog/test.v #編譯指定的vhdl文件,同時檢查可綜合性 vcom –check_synthesis src/video_cap.vhd ##仿真work庫下面的test_tb實例,同時調用220model_ver庫,不再進行任何優化,仿真分辨率1ns。 vsim –t 1ns –L 220model_ver –gui –novopt work.test_tb #取消warning,例如‘x’,‘u’,‘z’信號的警告,對提高編譯速度很有幫助 set StdarithNoWarning 1 #查看object View objects #查看局部變量 View locals #查看source View source #添加模塊頂層所有信號到波形圖 add wave* #10進制無符號顯示 Radix usigned #16進制顯示 Radix hex #重新進行仿真 Restart #開始仿真 Run #仿真指定時間 Run 1ms #時鍾激勵50ns周期 占空比50% Force –repeat 50 clk 0 0,1 25 #指定信號置0 Force rst_n 0 #指定信號置1 Force rst_n 1 #指定信號賦值 Force din_a 123 Force din_b 39
下面是博主經常用的仿真腳本模板,仿真新的工程只需要修改一點點,就可以直接使用了。將sim.do文件放在仿真工程目錄下,即和Modelsim仿真工程xxx.mpf在同一個文件夾。sim是我定義的do文件名,用戶可自行定義。
#退出當前仿真 quit -sim vlib work #編譯修改后的文件,我這里把設計文件和仿真文件分開放了,所以寫兩個。 vlog "../Src/*.v" vlog "../Sim/*.v" #開始仿真 vsim -voptargs=+acc work.tb_Cordic_Cos_Sin #添加指定信號 #添加頂層所有的信號 # Set the window types # 打開波形窗口 view wave view structure # 打開信號窗口 view signals # 添加波形模板 add wave -divider {tb_Cordic_Cos_Sin} add wave tb_Cordic_Cos_Sin/* add wave -divider {tb_Cordic_Cos_Sin} add wave tb_Cordic_Cos_Sin/uut/* .main clear #運行xxms run 100us
不必每次都輸入指定do文件的命令,在腳本控制台直接按上鍵就會顯示上一個執行過的命令。
最后在Transcript窗口下,直接輸入do sim.do + 回車即可自動化仿。
點擊wave窗口的這里可以不用顯示信號的相對路徑。最后直接可以看仿真波形了。
適當的修改do腳本文件,可以添加任意你需要的信號,以及仿真庫文件,讓我們共同學習,高效工作吧。
最后歡迎關注博主的個人微信訂閱號【開源FPGA】,總結、記錄自己的學習過程,一個FPGA工程師的養成之路。
轉載請注明出處:NingHeChuan(寧河川)
個人微信訂閱號:開源FPGA
如果你想及時收到個人撰寫的博文推送,可以掃描左邊二維碼(或者長按識別二維碼)關注個人微信訂閱號
知乎ID:NingHeChuan
微博ID:NingHeChuan
原文地址:http://www.cnblogs.com/ninghechuan/p/8685991.html