TCL脚本在QuestaSim和ModelSim中的应用(文末送帮助+教程集锦)

文摘   2024-08-23 23:13   上海  

0. 前言
前段时间,由于工作太忙停更了一段时间,不过后续会加倍补上,不用担心。芯片验证的道路上,我们一起前行!文末送帮助+教程集锦

1 tcl简介
tcl是tool command languge(工具命令语言)的简称,它是一种脚本语言,几乎所有的EDA工具中都嵌入了tcl,比如
ModelSim/QuestaSim/VCS/Verdi/EMan//Xcelium/Indago/VerisiumDebug/Simvision/vManager/VerisiumManager/ISE/VIVADO/Synplify/Quartus等软件几乎所有的EDA软件都支持tcl,tcl在linux/unix环境下的EDA软件中有着广泛的应用,大大提高了工程师的工作效率;由于tcl有很好的兼容性,既可以在windows平台上也可以在linux平台上很好地运行,在芯片设计验证的过程中充分利用tcl脚本,可以提高我们的工作效率。同时在FPGA设计和验证的过程中也非常有效。

本文重点探讨QuestaSim和ModelSim仿真验证过程中tcl的应用:tcl作为一种可以控制和扩展QuestaSim和ModelSim的脚本语言,可用tcl脚本完成工程的建立、编译和仿真,我们甚至可以通过tcl脚本完成QuestaSim和ModelSim的全自动仿真验证。

2 tcl的特点

类似shell的命令行

丰富的赋值表达式,支持所有C语言的操作

大量的数学函数(支持函数的嵌套,递归等)

支持列表和数组

支持正则表达式和模式匹配

能够自己定义命令

命令替换(可以嵌套命令)

强大的宏功能


3 QuestaSim/ModelSim仿真基本步骤
3.1.启动MODELSIM,建立库
    vlib   ../../sim/my_wok
3.2.映射库到物理目录
    vmap  work ../../sim/my_work
3.3.编译代码源
    vlog/vcom  ../../src/*.v
3.4.启动仿真器
    vsim t  -L  
3.5.执行仿真
    run

4 QuestaSim/ModelSim中常用的TCL命令

4.1 建立库:vlib命令

语法格式 vlib <library name>; 库名缺省值是work

4.2 映射逻辑库名:vmap命令

语法格式vmap work <library name>; 映射一个逻辑库名到库路径

4.3 编译源代码:verilog用vlog命令

语法格式vlog work <library_name> file1.v file2.v    //*.v  // -f file.list

4.4 编译源代码:VHDvcom命令

语法格式 vcom work <library_name> file1.vhd file2.vhd   //注意vhd文件顺序

库名缺省编译到work

4.5 启动仿真器:vsim命令

语法格式vsim lib <library_name> <top_level_design>

VHDL

vsim top_entity top_architecture

4.6 仿真Verilog多个top级模块

vsim top_level1 top_level2

4.7 vsim命令的参数:

4.7.1 -t <time_unit>

时间精度可选项(缺省是ns);指定仿真的时间分辨率

如果使用了verilog`timescale指令,将使用整个设计中的最小的时间精度

4.7.2 -sdfmin | -sdftype | -sdfmax <instance>=<sdf_filename>

注释SDF文件,可选项,使用实例名也是可选项;如果没有,SDF用于顶级执行仿真

4.8 run命令

语法格式: run <time_step> <time_units>

timesteps指定的时间长度执行仿真

run命令的参数:

-< time_steps> <time_units>

指定运行的time_steps数量,单位可用{fs,ps,ns,ms,sec}

-step

Steps to the next HDL statement

-continue

继续上次在-step或断点后的仿真

-all

运行仿真器直到没有其他的事件

5. force命令

允许用户给VHDL信号和verilog线网予以激励

常规语法:

force <>

6. 以下窗口可以通过命令得到:

Structure结构窗口

Source源窗口

Signal信号窗口

Process处理窗口

Variables变量窗口

Dataflow数据流窗口

List列表窗口

7.如何获取帮助信息

以上命令的参数,如果忘记了,也没关系,在modelsim中只要输入如下命令就可得到详细的解释:<command -help>,比如:vsim helpvlog help

7.1 vlog -help all

7.2 通过下面的命令【vlog -help all >~/help/vlog-help_all】,可以将帮助信息保存成特定的文件。

如下图所示,该文件有1189行

7.3 vsim -help all

7.4 通过下面的命令【vsim -help all >~/help/vsim-help_all】,可以将帮助信息保存成特定的文件。

如下图所示,该文件有1761

8. 送《ModelSim_QuestaSim教程集锦》

关注微信公众号《芯片验证日记》,后台回复"Modelsim20240823"即可获得百度网盘链接,百度网盘连接内的压缩包,如下图所示。

压缩包中的具体内容,如下图所示

9.欢迎加入知识星球《数字芯片前端验证》

一切改变源于看见;
看,是一种本能;
看见,是一种学问。
后续更多高质量的内容会在知识星球内。欢迎加入知识星球,助您快速成长。

芯片验证日记
分享芯片验证相关的知识。
 最新文章