Modelsim do文件的自动化仿真及模板

引言

modelsim do文件的仿真,熟练掌握的化可以加快仿真速度,并且这也是对以后工作有帮助的事情,这里重新走一下流程,并在以后,经常使用这种方式,方可熟练掌握。

步骤

1、建立库
2、映射库到物理目录
3、编译源代码
4、启动仿真器
5、执行仿真

1、Tcl语言的语法

  • vlib: 创建库。格式 vlib ,默认库的名字为work
    example: vlib work
  • vmap:映射逻辑库名,将逻辑库名映射库路径。语法格式vmap work < library name >
    vmap work work
  • vdir:显示指定库的内容。语法格式vdir -lib < library name >
  • vlog :编译Verilog源代码,库名缺省编译到work本地库,文件按照顺序编译。语法格式vlog -work < library name>
    < file1 >.v < file2 >.v
    vlog -work lpm 20model.v

2、例子

在这里插入图片描述

#此处是注释
quit -sim  #退出工程,因为打开软件时候,可能停留在上一个工程
.main clear #清除命令行显示信息
vlib ./lib    #创建一个lib库
vlib ./lib/work    #创建一个work库  
#需要先创建lib,在创建work库

在这里插入图片描述
系统默认的逻辑库的名字为work,现在需要将逻辑库名字映射库路径在这里插入图片描述

vmap work ./lib/work #将默认逻辑库的名字映射到路径中

vlog -work work ./*.v  编译当前目录下所有的.v文件,到work逻辑库里面

启动仿真,启动work里面的顶层文件

vsim -voptargs=+acc  work.Ad9910_pro_vlg_tst

在这里插入图片描述

#添加顶层文件中的信号
add wave Ad9910_pro_vlg_tst/rst
add wave Ad9910_pro_vlg_tst/start
add wave Ad9910_pro_vlg_tst/sys_clk
add wave Ad9910_pro_vlg_tst/master_reset_key
add wave Ad9910_pro_vlg_tst/cs
add wave Ad9910_pro_vlg_tst/io_reset
add wave Ad9910_pro_vlg_tst/io_update
       
#添加顶层文件里面的例化模块	*是通配符,匹配所有的信号
add wave Ad9910_pro_vlg_tst/i1/*

run 100us

3、模型

注意:注释需要单行#,否则会不识别报错

#此处是注释
#退出工程,因为打开软件时候,可能停留在上一个工程
quit -sim  
#清除命令行显示信息
.main clear 
 #创建一个lib库
vlib ./lib   
#创建一个work库 
vlib ./lib/work     
#需要先创建lib,在创建work库
vmap work  ./lib/work 
#将默认逻辑库的名字映射到路径中

#编译当前目录下所有的.v文件,到work逻辑库里面
vlog -work work  ./*.v  

#启动仿真
vsim -voptargs=+acc  work.Ad9910_pro_vlg_tst
#添加顶层文件中的信号
add wave Ad9910_pro_vlg_tst/rst
add wave Ad9910_pro_vlg_tst/start
add wave Ad9910_pro_vlg_tst/sys_clk
add wave Ad9910_pro_vlg_tst/master_reset_key
add wave Ad9910_pro_vlg_tst/cs
add wave Ad9910_pro_vlg_tst/io_reset
add wave Ad9910_pro_vlg_tst/io_update
       
#添加顶层文件里面的例化模块	*是通配符,匹配所有的信号
add wave Ad9910_pro_vlg_tst/i1/*

run 100us
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章