日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

modelsim的do文件

發布時間:2025/3/13 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 modelsim的do文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

怎樣添加ALTERA的元件庫。今天總算可以了。

set LIBPATH D:/altera/90/quartus/eda/sim_lib

vlib sim_lib

vmap sim_lib sim_lib

#vlog -work sim_lib $LIBPATH/altera_mf.v

#vlog -work sim_lib $LIBPATH/altera_primitives.v

#vlog -work sim_lib $LIBPATH/sgate.v

#vlog -work sim_lib $LIBPATH/arriaii_atoms.v

#vlog -work sim_lib $LIBPATH/arriaii_hssi_atoms.v

#vlog -work sim_lib $LIBPATH/220model.v

?

#####################################################

  # 建立一個工作庫,

  vlib work?

  vmap work work

  # vlog是對verilog文件的編譯

  vlog E:/modelsim/test3/src/SRAM_TOP.v?

  vlog E:/modelsim/test3/Testbench/SRAM_TOP_tb.v

  此步驟對應于Compile -> Compile All

  

  

  #vsim命令是開始仿真, -novopt表示不優化

  vsim -novopt work.SRAM_TOP_tb?

  #此步驟對于于Start Simulation中在work庫中選擇腳本文件和把勾選的Enable Optimization去掉

  

  

  #添加信號波形,也可以分別添加每一個信號,信號添加的次序是就wave窗口顯示的次序,同時可以直接設置信號的類型是10進制,還

? ? ?是無符號等。

  add wave -dec /I_SRAM_TOP/* ?

  add wave -noupdate -radix decimal /gens_tb/i_gens/fsin_o

  #看到在這里我們添加的是testbench文件gens_tb中例化的i_gens文件中的fsin_o信號,并把它設置為10進制。
  add wave -noupdate -radix decimal /gens_tb/i_gens/fcos_o

? ? ?在wave波形窗口中點擊保存會生成wave.do文件,里面會有在wave窗口中的設置命令。

?  

  run 200000 ns

  在這里還有一個問題需要驗證:在仿真IP時一般要添加庫,如果庫仿真好了,在編譯時可以直接添加,那用tcl應怎樣表示呢?

http://www.cnblogs.com/LJWJL/archive/2013/01/14/Simulation.html

關于幾個交互的使用

?

if?[?file?exists?work?]?{

vdel?-all

}??

?

/*********************************************************************************/

?1、設置路徑

cd命令用于更改modelsim的路徑,如果仿真正在執行cd命令無效;如果找開了一個工程,那cd命令會關閉當前的工程

語法:cd <dir>

eg:cd e:/fpga

/*********************************************************************************/

2、alias 顯示和建立用戶定義的別名,有點相當于c語言中的“宏定義”

?

Syntax

?

alias [<name> ["<cmds>"]]

當cmds為多組命令時用”;“分開,并且用雙引號

eg:?alias ld "dev_com;com;elab"

eg2:

alias dev_com {
if [ string match "*ModelSim*" [ vsim -version ] ] {
vlog "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_primitives.v" -work altera_ver?
vlog "$QUARTUS_INSTALL_DIR/eda/sim_lib/220model.v" -work lpm_ver?
vlog "$QUARTUS_INSTALL_DIR/eda/sim_lib/sgate.v" -work sgate_ver?
vlog "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_mf.v" -work altera_mf_ver?
vlog -sv "$QUARTUS_INSTALL_DIR/eda/sim_lib/mentor/altera_lnsim_for_vhdl.sv" -work altera_lnsim_ver?
vlog "$QUARTUS_INSTALL_DIR/eda/sim_lib/mentor/cyclonev_atoms_ncrypt.v" -work cyclonev_ver?
vlog "$QUARTUS_INSTALL_DIR/eda/sim_lib/mentor/cyclonev_hmi_atoms_ncrypt.v" -work cyclonev_ver?
vlog "$QUARTUS_INSTALL_DIR/eda/sim_lib/mentor/cyclonev_atoms_for_vhdl.v" -work cyclonev_ver?
vlog "$QUARTUS_INSTALL_DIR/eda/sim_lib/mentor/cyclonev_hssi_atoms_ncrypt.v" -work cyclonev_hssi_ver?
vlog "$QUARTUS_INSTALL_DIR/eda/sim_lib/mentor/cyclonev_hssi_atoms_for_vhdl.v" -work cyclonev_hssi_ver?
vlog "$QUARTUS_INSTALL_DIR/eda/sim_lib/mentor/cyclonev_pcie_hip_atoms_ncrypt.v" -work cyclonev_pcie_hip_ver
vlog "$QUARTUS_INSTALL_DIR/eda/sim_lib/mentor/cyclonev_pcie_hip_atoms_for_vhdl.v" -work cyclonev_pcie_hip_ver
vcom "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_syn_attributes.vhd" -work altera?
vcom "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_standard_functions.vhd" -work altera?
vcom "$QUARTUS_INSTALL_DIR/eda/sim_lib/alt_dspbuilder_package.vhd" -work altera?
vcom "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_europa_support_lib.vhd" -work altera?
vcom "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_primitives_components.vhd" -work altera?
vcom "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_primitives.vhd" -work altera?
vcom "$QUARTUS_INSTALL_DIR/eda/sim_lib/220pack.vhd" -work lpm?
vcom "$QUARTUS_INSTALL_DIR/eda/sim_lib/220model.vhd" -work lpm?
vcom "$QUARTUS_INSTALL_DIR/eda/sim_lib/sgate_pack.vhd" -work sgate?
vcom "$QUARTUS_INSTALL_DIR/eda/sim_lib/sgate.vhd" -work sgate?
vcom "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_mf_components.vhd" -work altera_mf?
vcom "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_mf.vhd" -work altera_mf?
vcom "$QUARTUS_INSTALL_DIR/eda/sim_lib/altera_lnsim_components.vhd" -work altera_lnsim?
vcom "$QUARTUS_INSTALL_DIR/eda/sim_lib/cyclonev_atoms.vhd" -work cyclonev?
vcom "$QUARTUS_INSTALL_DIR/eda/sim_lib/cyclonev_components.vhd" -work cyclonev?
}
}

這樣的話,在modelsim的命令窗輸入dev_com,就會執行所有的編譯文件命令。

/*********************************************************************************/

?echo 在腳本框中輸出指定的內容

Syntax

echo [<text_string>]

?

?

?如上圖,在modelsim的命令行中輸入ech "\exec\] com" 就會輸出 #[exec] com,其實就相關于matlab 中的output命令

/*********************************************************************************/

?eidt

上面的命令用于設置modelsim的文件編輯器

Syntax

edit [<filename>]

?[<filename>]用于指定要編輯文件的名字

/********************************************************************************/

proc ensure_lib { lib } { if ![file isdirectory $lib] { vlib $lib } }

個人理解:如果路徑中不存在庫,就指定ensure_lib用于建立庫

vlib可以用于建立一個文件夾

?

轉載于:https://www.cnblogs.com/zhongguo135/archive/2012/10/13/2722941.html

總結

以上是生活随笔為你收集整理的modelsim的do文件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。