modelsim使用命令
modelsim的使用方法
modelsim的使用方法1)建立工程使用ModelSim建立工程主要包括5个基本步骤:<1>启动ModelSim,选择菜单“File New Poject”,会打开“Creat Project”对话框,如图4-97所示。
在“CreatProjec”t对话框中填写“Project Name”为“test”,然后在“Project Location”栏中选择Project文件的存储目录,保留“Default Library Name”的设置为work。
点击OK按键确认,在ModelSim软件主窗口的工作区中即增加了一个空的Project标签,同时弹出一个“Add items to the Project”对话框,如图4-98所示。
图4-97 ModelSim新建工程窗口图4-98 添加文件到工程向导示意图<2>. 添加包含设计单元的文件。
直接点击Add items to the Project对话框以后,在对话框中利用“Add Existing File”或“Create New File”选项,可以在工程中加入已经存在的文件或建立新文件。
可以选择“Add Existing File”,弹出“Add file to the Project”对话框,如图4-99所示。
点击对话框中的Browse按键,打开ModelSim 安装路径中的examples/tutorials /verilog/compare/目录,选取sm.v和sm.v文件(选中多个文件时,只需要一直按住Ctrl按键,用鼠标点击即可),再选中对话框下面的“Reference from current location”选项,然后点击OK按键确认。
同时也可以选择Creat New File,在下拉框中选择相应的语言然后确定,在关闭对话框。
在工程中出现了所创建的.v文件,双击后就可在右边的文本编辑区中进行代码的输入了。
Modelsim_6.0_使用教程
Modelsim 6.0 使用教程1. Modelsim简介Modelsim仿真工具是Model公司开发的。
它支持Verilog、VHDL以及他们的混合仿真,它可以将整个程序分步执行,使设计者直接看到他的程序下一步要执行的语句,而且在程序执行的任何步骤任何时刻都可以查看任意变量的当前值,可以在Dataflow窗口查看某一单元或模块的输入输出的连续变化等,比quartus自带的仿真器功能强大的多,是目前业界最通用的仿真器之一。
对于初学者,modelsim自带的教程是一个很好的选择,在Help->SE PDF Documentation->Tutorial里面.它从简单到复杂、从低级到高级详细地讲述了modelsim的各项功能的使用,简单易懂。
但是它也有缺点,就是它里面所有事例的初期准备工作都已经放在example文件夹里,直接将它们添加到modelsim就可以用,它假设使用者对当前操作的前期准备工作都已经很熟悉,所以初学者往往不知道如何做当前操作的前期准备。
2. 安装同许多其他软件一样,Modelsim SE同样需要合法的License,通常我们用Kengen产生license.dat。
⑴.解压安装工具包开始安装,安装时选择Full product安装。
当出现Install Hardware SecurityKey Driver时选择否。
当出现Add Modelsim To Path选择是。
出现Modelsim License Wizard时选择Close。
⑵.在C盘根目录新建一个文件夹flexlm,用Keygen产生一个License.dat,然后复制到该文件夹下。
⑶.修改系统的环境变量。
右键点击桌面我的电脑图标,属性->高级->环境变量->(系统变量)新建。
按下图所示内容填写,变量值内如果已经有别的路径了,请用“;”将其与要填的路径分开。
LM_LICENSE_FILE = c:\flexlm\license.dat⑷.安装完毕,可以运行。
modelsim的readmemb -回复
modelsim的readmemb -回复如何使用ModelSim中的readmemb指令ModelSim是一款常用的硬件描述语言仿真和调试工具,它可以用来对Verilog代码进行仿真,查看信号波形和调试代码。
在进行仿真时,有时我们需要从文件中读取初始数据并加载到我们的仿真环境中。
而ModelSim提供了一个非常方便的指令readmemb来实现这个功能。
在本文中,我将一步一步详细介绍如何使用ModelSim中的readmemb指令,帮助大家理解和运用这个强大的功能。
第一步:准备测试用例文件首先,我们需要准备一个测试用例文件,该文件将包含我们要读取和加载到仿真环境中的初始数据。
测试用例文件通常是一个二进制文件,其中每一行代表一个元素的二进制值。
例如,我们可以创建一个名为"testcase.mem"的文件,其中包含以下内容:00000000111111111010101001010101...在这个例子中,每一行代表一个字节的二进制值。
第二步:创建一个Verilog模块接下来,我们需要创建一个Verilog模块,该模块将利用readmemb 指令来加载测试用例文件中的数据。
以下是一个示例Verilog模块:module testbench;reg [7:0] mem [0:255]; 声明一个8位宽的寄存器数组integer i;initial beginreadmemb("testcase.mem", mem); 使用readmemb指令加载测试用例文件到数组内for (i = 0; i < 256; i = i + 1) begindisplay("mem[0d] = h", i, mem[i]); 使用display指令显示加载后的数据endendendmodule在这个例子中,我们声明了一个8位宽的寄存器数组mem,然后使用readmemb指令将测试用例文件中的数据加载到该数组内。
ModelSim操作方法
ModelSim
在105的xterm中输入命令:vsim & 即启动ModelSim. 然后点击界面上方的File——New——Project,出现如下界面:
在Project Name中输入想要建立的工程的名字,在Project Location中输入想要建立工程的路径,其他都是默认值即可,填好后点击OK.出现如下界面:
如果想填入已经写好的代码,则点击Add Existing File,找到文件路径进行添加,设置好文件格式(.v文件选择Verilog,.txt文件选择Text),点击OK则添加完毕。
如果想要重新写代码,则点击Creat New File,写好代码后保存即可。
把文件添加到工程后,点击工具栏上方的编译按钮,如下图所示:
编译不成功则改代码中的错误,直到全部编译成功为止。
编译成功后点击编译按钮后面的Simulate按钮:
出现如下对话框,选择Work中的testbench文件,点击OK 即可进行仿真。
然后执行View——Wave,View——Objests,将Objests中想要观察的信号拖进Wave窗口,最后点击运行按钮Run-All(如下图),
等仿真完毕后按红色的小叉按钮Break来停止仿真。
此时观察Wave窗口即有仿真波形。
modelsim使用教程
modelsim使用教程ModelSim是一款常用的硬件描述语言(HDL)仿真工具,本教程将向您介绍如何使用ModelSim进行仿真。
步骤1:安装ModelSim首先,您需要下载和安装ModelSim软件。
在您的电脑上找到安装程序并按照提示进行安装。
步骤2:创建工程打开ModelSim软件,点击"File"菜单中的"New",然后选择"Project"。
在弹出的对话框中,选择工程的存储位置,并为工程命名。
点击"OK"完成工程创建。
步骤3:添加设计文件在ModelSim的工程窗口中,右键点击"Design"文件夹,选择"Add Existing File"。
然后选择包含您的设计文件的目录,并将其添加到工程中。
步骤4:配置仿真设置在工程窗口中,右键点击"Design"文件夹,选择"Properties"。
在弹出的对话框中,选择"Simulation"选项卡。
在"Top level entity"字段中,选择您的设计的顶层模块。
点击"Apply"和"OK"保存设置。
步骤5:运行仿真在ModelSim的工具栏中,找到"Simulate"按钮,点击并选择"Start Simulation"。
这将打开仿真窗口。
在仿真窗口中,您可以使用不同的命令来控制和观察设计的行为。
步骤6:查看仿真结果您可以在仿真窗口中查看信号波形、调试设计并分析仿真结果。
在仿真窗口的菜单栏中,您可以找到一些常用的查看和分析工具,如波形浏览器、信号分析器等。
步骤7:结束仿真当您完成仿真时,可以选择在仿真窗口的菜单栏中找到"Simulate"按钮,并选择"End Simulation"以结束仿真。
modelsim的readmemb
modelsim的readmembModelSim的readmemb命令在Verilog编程中十分常用,用于读取外部文件中的二进制或十六进制数据,并将其加载到模拟器的内存中。
这样,在仿真过程中,可以使用这些数据来设置寄存器、内存或其他电路元素的初始值,以模拟实际硬件的行为。
本文将详细介绍ModelSim的readmemb命令的用法和特点,并回答一些与其相关的常见问题。
1. 什么是readmemb命令?readmemb是ModelSim中的一个Verilog系统任务,用于从外部文件中读取二进制或十六进制数据,并将其加载到内存中。
通过这个命令,可以在仿真过程中使用外部文件中的数据来初始化电路元素的值。
2. 如何使用readmemb命令?首先,你需要准备一个包含需要加载的数据的外部文件。
这个文件可以是一个文本文件,每行包含一个二进制或十六进制数。
每个数值之间可以使用空格、制表符或其他分隔符隔开。
下面是一个外部文件的示例,其中包含了一些二进制数:000011011011接下来,在你的Verilog代码中,可以使用readmemb命令来读取这个文件。
可以在正常的Verilog过程块中使用这个命令,也可以在initial块中使用。
下面是一个示例,演示了如何在initial块中使用readmemb命令:verilogmodule test;reg [3:0] data [0:2];initial beginreadmemb("datafile.txt", data);display("Data loaded from file:");for (int i = 0; i < 3; i++)display("data[0d]: b", i, data[i]);endendmodule在上面的示例中,我们首先定义了一个4位宽的寄存器数组data,长度为3。
modelsim的详细使用方法
一、简介ModelSim是一款由美国Mentor Graphics公司推出的集成电路仿真软件,广泛应用于数字电路和系统设计领域。
它提供了强大的仿真和验证功能,能够帮助工程师快速高效地进行电路设计与验证工作。
本文将详细介绍ModelSim的使用方法,以帮助读者更好地掌握这一工具的操作技巧。
二、安装与配置1. 下载ModelSim安装包,并解压到指定目录2. 打开终端,进入ModelSim安装目录,执行安装命令3. 安装完成后,配置环境变量,以便在任何目录下都能够调用ModelSim程序4. 打开ModelSim,进行软件注册和授权,确保软件可以正常运行三、工程创建与管理1. 新建工程:在ModelSim主界面点击“File” -> “New” -> “Project”,输入工程名称和存储路径,选择工程类型和目标设备,点击“OK”完成工程创建2. 添加文件:在工程目录下右键点击“Add Existing”,选择要添加的源文件,点击“OK”完成文件添加3. 管理工程:在ModelSim中可以方便地对工程进行管理,包括文件的增删改查以及工程参数的设置等四、代码编写与编辑1. 在ModelSim中支持Verilog、VHDL等多种硬件描述语言的编写和编辑2. 在ModelSim主界面点击“File” -> “New” -> “File”,选择要新建的文件类型和存储位置,输入文件名称,点击“OK”完成文件创建3. 在编辑器中进行代码编写,支持代码高亮、自动缩进、语法检查等功能4. 保存代码并进行语法检查,确保代码符合规范,没有错误五、仿真与调试1. 编译工程:在ModelSim中进行代码编译,生成仿真所需的可执行文件2. 设置仿真参数:在“Simulation”菜单下选择“S tart Simulation”,设置仿真时钟周期、输入信号等参数3. 运行仿真:点击“Run”按钮,ModelSim将开始对设计进行仿真,同时显示波形图和仿真结果4. 调试设计:在仿真过程中,可以通过波形图和仿真控制面板对设计进行调试,查找并解决可能存在的逻辑错误六、波形查看与分析1. 查看波形:在仿真过程中,ModelSim会生成相应的波形文件,用户可以通过“Wave”菜单查看波形并进行波形分析2. 波形操作:支持波形的放大、缩小、平移、选中等操作,方便用户对波形进行分析和观察3. 波形保存:用户可以将波形结果保存为图片或文本文件,以便日后查阅和分析七、性能优化与验证1. 时序优化:在设计仿真过程中,可以通过观察波形和性能分析结果,对设计进行优化,提高设计的时序性能2. 逻辑验证:通过对仿真的结果进行逻辑验证,确保设计符合预期的逻辑功能3. 时序验证:对设计的时序性能进行验证,确保信号传输和时钟同步的正确性八、项目输出与文档整理1. 输出结果:在仿真和验证完成后,可以将仿真结果、波形图和性能分析结果输出为文本文件或图片,方便后续的文档整理和报告撰写2. 结果分析:对仿真结果和验证结果进行详细的分析,确定设计的性能和功能是否符合设计要求3. 文档整理:根据仿真和验证结果,进行文档整理和报告撰写,为后续的设计和优化工作提供参考九、总结与展望ModelSim作为一款专业的集成电路仿真软件,具有着强大的功能和丰富的特性,可以帮助工程师进行电路设计与验证工作。
modelsim使用方法
modelsim使用方法ModelSim 是一种功能强大的硬件描述语言 (HDL) 模拟工具,支持VHDL和Verilog,可用于设计和验证数字系统。
本文将介绍如何使用ModelSim。
**安装 ModelSim****创建项目**在启动 ModelSim 后,首先需要创建一个新的项目。
选择 "File" 菜单,然后选择 "New" -> "Project"。
在打开的对话框中,选择项目的文件夹和项目名称,然后点击 "OK"。
**添加设计文件和测试文件**在项目中,您需要添加设计文件和测试文件。
选择 "Project" 菜单,然后选择 "Add to Project" -> "Add Files". 在打开的对话框中,选择您的设计文件 (VHDL 或 Verilog) 和测试文件,然后点击 "OK"。
**设置仿真**在编译代码之后,下一步是设置仿真选项。
选择 "Simulate" 菜单,然后选择 "Start Simulation"。
在打开的对话框中,选择您的顶层模块。
您还可以选择以 GUI 模式还是批处理模式运行仿真。
在设置仿真之前,您可以添加信号波形文件以在仿真过程中显示波形。
选择 "Simulate" -> "Wave" -> "Add Waveform". 然后,选择信号波形文件 (.do 或 .vcd),并点击 "OK"。
**运行仿真**设置仿真选项后,您可以开始执行仿真。
通过选择 "Simulate" -> "Run",可以运行单步或连续仿真。
modelsim使用命令
1. 常用仿真命令vlib work // 建立work仿真库vmap work wrok // 映射库vlog -cover bcest *.v // 加覆盖率分析的编译vsim -coverage -voptargs="+acc" -t ns test // 仿真文件为test.vadd wave * // 将所有模块waveform. dump出来add wave sim:/test/t/M2/Reg_out // 将模块Reg_out中的waveform. dump出来delete wave /test/i2. SVA 断言仿真命令vlog -sv a.vvsim -assertdebug testview assertionsvsim -assertdebug ScaleBlock_tf -L xilinxcorelib_ver -L unisims_ver // 加载xilinxlib库3. verror 3601 // 查错4. 给仿真工具加载xilinx 库命令(1)加载之前将modelsim.ini改为非“只读”(2)“运行” cmd,到xilinx目录下(3) C:\Xilinx > compxlib -s mti_se -p c:\Modeltech_6.0\win32 -f all -l verilog -o C:\ Modeltech_6.0\Xilinx_lbis或者Xilinx目录下.\bin\nt\下有compxlib.exe简单得modelsim命令行仿真用do文件进行仿真真得很方便,比写testbench方便多了,我是深有感触呀,开始时因为不知道,只知道写testbence,在小得模块也写testbench,真得很烦躁!而且信号定义什么得比较多,采用do文件得方法就没有那么多信号定义了,管理也比较方便,呵呵,真得很方便,而且采用命令行得形式,感觉特有成就感,呵呵!1.运行仿真,在主窗口输入命令:vsim work.实体名2.为时钟信号添加驱动,输入命令:force clk 0 0,1 10 -r 20,将仿真时钟设为50MHz;(设时间单位为ns)3.打开波形窗口,输入命令:view wave4.为波形窗口添加信号,输入命令:add wave -hex *,这里的*表示添加设计中所有的信号,-hex 表示以十六进制来表示波形窗口中的信号值;5.开始仿真,输入命令,run 3us,这时候在波形窗口中出现仿真波形6.退出仿真,输入命令:quit –sim。
modelsim使用说明
1在quartus中设置第三方仿真工具,选择assignments-settings-eda tool settings-simulatin选择modelsim-verilog2编译工程3编译完成后会在工程目录下生成simulation-modelsim的目录,打开Wave.vo是仿真网表文件,可以用来代替设计文件;.xrf是quartus编译生成的信息文件;.sdo是工程延时信息4、加入仿真库文件:路径C:\altera\quartus50\eda\sim_lib220model.v:带有用户原语类型的quartus自带的ip核的库文件altera_mf.v:quartus自带的ip核的库文件cyclone_atoms.v:相应系列的器件库在本例中需要添加altera_mf.v,cyclone_atoms.v5、编写测试模块6、把这些文件粘贴到刚才生成的目录中7、打开modelsim8、选择file-new-project9、指定工程名称,路径,工作目录10、添加设计文件(1)(2)(3)(4)11、编译工程全部编译功能仿真12、修改wave.vo文件把延时信息注释掉//initial $sdf_annotate("WA VE_v.sdo");13、重新编译wave.vo14、选择simulate开始仿真15、选择顶层模块,然后确定16、右键选择添加信号到波形图17、在命令行中敲入run 1ms回车,开始仿真18、观察波形二进制显示十进制显示没有延时时序仿真19、把wave.vo的修改过的注释改回来,重新编译20选择simulate21、选择sdf标签22、加入.sdo文件,把下面的sdf options都选中23、选择ok进行仿真24、和功能仿真一样加入波形图,仿真25、看延时。
Modelsim详细使用教程
Modelsim详细使用教程一、打开Medelsim双击桌面快捷方式,出现下图所示界面,如果上一次使用ModelSim建立过工程,这时候会自动打开上一次所建立的工程;二、建立工作库点击File->New->Library,输入Library Name,点击OK,就能看见新建的库。
三、建立工程点击File->New->Project,输入Project Name,在Project Location 中输入工程保存的路径,建议在Library所在文件夹中。
在Default Library Name 中为我们的设计编译到哪一个库中。
点击OK会出现下图所示的界面。
四、为工程添加文件Create New File 为工程添加新建的文件;Add Existing File为工程添加已经存在的文件;Create Simulation为工程添加仿真;Create New Folder为工程添加新的目录。
这里我们点击Create New File,来写仿真代码。
输入File Name,再输入文件类型为Verilog (默认为VHDL,Modelsim也可以仿真System Verilog代码),Top Level表示文件在刚才所设定的工程路径下。
点击OK,并点击Close关闭Add items to the Project窗口。
这时候在Workspace窗口中出现了Project选项卡,里面有8_11.v,其状态栏有一个问号,表示未编译,双击该文件,这时候出现8_11.v的编辑窗口,可以输入我们的Verilog代码。
五、编写Verilog代码写完代码后,不能马上就编译,要先File->Save保存,否则,编译无效。
然后选择Compile->Compile All。
Transcript脚本窗口出现一行绿色字体Compile of 8_11.v was successful. 说明文件编译成功,并且该文件的状态栏显示绿色的对号。
ModelSim的简要使用方法
第一章 介 绍ModelSim的简要使用方法第一课 Create a Project1.第一次打开ModelSim会出现Welcome to ModelSim对话框,选取Create a Project,或者选取File\New\Project,然后会打开Create Project对话框。
2.在Create Project对话框中,填写test作为Project Name;选取路径Project Location作为Project文件的存储目录;保留Default Library Name设置为work。
3.选取OK,会看到工作区出现Project and Library Tab。
4.下一步是添加包含设计单元的文件,在工作区的Project page中,点击鼠标右键,选取Add File to Project。
5.在这次练习中我们加两个文件,点击Add File to Project对话框中的Browse 按钮,打开ModelSim安装路径中的example目录,选取counter.v和tcounter.v,再选取Reference from current location,然后点击OK。
6.在工作区的Project page中,单击右键,选取Compile All。
7.两个文件编译了,鼠标点击Library Tab栏,将会看到两个编译了的设计单元列了出来。
看不到就要把Library的工作域设为work。
8.最后一不是导入一个设计单元,双击Library Tab中的counter,将会出现Sim Tab,其中显示了counter设计单元的结构。
也可以Design\Load design 来导入设计。
到这一步通常就开始运行仿真和分析,以及调试设计,不过这些工作在以后的课程中来完成。
结束仿真选取Design \ End Simulation,结束Project选取File \ Close \ Project。
仿真工具Modelsim的使用方法简述
仿真工具Modelsim的使用
Mentor公司的ModelSim是业界最优秀的HDL语言仿真软件,它能提供友好的仿真环境,是业界唯一的单内核支持VHDL和Verilog混合仿真的仿真器。
它采用直接优化的编译技术、Tcl/Tk技术、和单一内核仿真技术,编译仿真速度快,编译的代码与平台无关,便于保护IP核,个性化的图形界面和用户接口,为用户加快调错提供强有力的手段,是FPGA/ASIC设计的首选仿真软件。
使用 modelsim
打开 modelsim,选择菜单 file→new→project
创建工程文件夹和名称
然后点击OK.
然后创建一个新的文件夹.
创建文件名称选择文件类别,我们选择verilog. 然后双击工程窗口的文件或者右键选择“edit”之后编程并保存.
之后,右键点击文件选择compile列表
在状态窗口可以看见运行结果的错误或者报警。
如果结果顺利就可以编写测试程
序。
右键点击工程菜单并添加一个新的工程文件。
命名、编程和纠错。
如果编译所有文件是成功的就可以模拟这一工程。
单击project窗口附近的library。
然后再展开work工程。
右击hfad_test和模拟或者您可以点击模拟按钮
然后会看到一个simulate窗口在project窗口附近。
右击hfad_test,然后add → to wave → all items in region
将看到波行窗。
现在可以确定模拟时间和运行。
十六进制。
完成了一个工程。
Modelsim中常用的Tcl命令
Modelsim中常用的Tcl命令:一.执行tcldo ./work/run.tcl二.编译1. vlogvlog testbench.vvlog –work work testbench.v三.启动仿真1. vsimvsim work.testbenchvsim –work work testbench四.将信号加入波形add wave *view wave五.执行仿真1. runrun 1000run –all //run to finishrun // 默认run 100ns六.退出仿真quit -simTcl模板################### ModelSim TCL ########################################### Created by Zhiwei.Liu ############################ Create the Project/Lib ######vlib work# map the library#vmap work work##### Compile the verilog #####vlog testbench.v##### Start Simulation #####vsim work.testbenchadd wave -binary clk rstadd wave -unsigned random c_countrun 990##### Quit the Simulation ###### quit –sim为方便工程管理,我建了三个文件夹来存放工程。
sim:存放批处理文件,modelsim的do文件和存相对路径的文件core:存放源代码data:产生仿真的数据下面开始写批处理文件与do文件1:新建文件,改名为sim.bat在这个文件里输入代码:vsim -do sim.do2.新建文件,改名为path.f在这个文件中输入要仿真的源代码的相对路径:../core/test.v../core/tb.v2.新建sim.do文件,tcl脚本文件,用于控制modelsim仿真输入代码:#带#号为注释部分#建立工作库并映射工作库vlib workvmap work work#编译verilog源代码vlog -f path.f#编译systemc代码vccom -f path.f#连接systemc代码vccom -link#生成波形文件wlfvsim -wlf test.wlf tb#添加信号波形add wave *#开始仿真run 200 ms#结束仿真quit -sim操作流程:直接进入sim文件夹下运行sim.bat文件即可按照上述代码流程控制modelsim。
modelsim 语句
modelsim 语句
ModelSim是一种流行的仿真工具,可以用于测试和验证数字电路设计。
在使用ModelSim时,您需要使用一些常用的语句,例如: 1. 实例化模块:
module_name instance_name (port_list);
其中,module_name是您要实例化的模块的名称,instance_name 是您要给该模块实例命名的名称,port_list是该模块的端口列表。
2. 创建信号:
wire/reg signal_name;
其中,wire用于创建一个连续的信号,reg用于创建一个寄存器类型的信号。
3. 给信号赋值:
signal_name = value;
其中,value可以是数字、常量或其他信号。
4. 创建测试向量:
initial begin
// 输入信号赋值
// 等待一段时间
// 验证输出信号
end
在测试向量中,您需要为输入信号赋值,并在等待一段时间后验证输出信号是否正确。
5. 断言:
assert condition
else $error('Assertion failed: %m');
断言用于在仿真过程中验证某些条件是否成立。
如果条件不成立,将会触发$error,从而使仿真停止。
以上是一些常用的ModelSim语句,希望能对您有所帮助。
ModelSim的使用(包含实例)
About Using the ModelSim Software with theQuartus II SoftwareModelSim-Altera Design Flow(For Altera Version)1.Set up the ModelSim-Altera working environment2.Set up a project with the ModelSim-Altera software3.Perform a functional simulation with the ModelSim-Altera software4.Perform a timing simulation with the ModelSim-Altera software ModelSim PE/SE Design Flow(For PE/SE Version)1.Set up the ModelSim working environment2.Set up a project with the ModelSim softwarepile libraries and design files with the ModelSim software4.Perform a functional simulation with the ModelSim software5.Perform a timing simulation with the ModelSim software目录MODELSIM-ALTERA版本仿真流程 (3)1、建立M ODEL S IM-A LTERA工作环境 (3)2、用M ODEL S IM-A LTERA建立工程 (3)3、用M ODEL S IM-A LTERA执行功能仿真 (3)4、用M ODEL S IM-A LTERA执行时序仿真 (4)MODELSIM-PE/SE版本仿真流程 (6)P ERFORMING A F UNCTIONAL S IMULATION WITH THE M ODEL S IM S OFTWARE (6)P ERFORMING A T IMING S IMULATION WITH THE M ODEL S IM S OFTWARE (7)相关知识链接 (9)M ODEL S IM P RECOMPILED L IBRARIES(预编译库) (9)A LTERA F UNCTIONAL S IMULATION L IBRARIES(功能仿真库) (12)A LTERA P OST-F IT L IBRARIES(后适配库) (20)P ERFORMING P OWER A NALYSIS WITH THE Q UARTUS II S OFTWARE AND O THER EDA T OOLS (30)使用QUARTUSII自动运行MODELSIM仿真 (36)1、配置N ATIVE L INK (36)2、运行仿真 (38)3、产生T ESTBENCH (39)ModelSim-Altera版本仿真流程1、建立ModelSim-Altera工作环境1.1版本说明ModelSim-Altera(OEM)version 6.4aQuartusII version 9.0该ModelSim版本支持所有QuartusII支持的Altera器件。
modelsim 常用命令
modelsim 常用命令ModelSim是一款常用的Verilog和VHDL仿真工具,它具有强大的功能和灵活的命令操作。
本文将介绍ModelSim的常用命令,帮助读者更好地使用该工具。
一、编译命令1. vlog:该命令用于编译Verilog源文件,将Verilog代码转换为可仿真的模型。
使用方法为:vlog [options] <filename>,其中options是可选的编译选项,filename是要编译的Verilog文件名。
2. vcom:该命令用于编译VHDL源文件,将VHDL代码转换为可仿真的模型。
使用方法为:vcom [options] <filename>,其中options 是可选的编译选项,filename是要编译的VHDL文件名。
二、仿真命令1. vsim:该命令用于启动ModelSim仿真环境。
使用方法为:vsim [options] [design_unit],其中options是可选的仿真选项,design_unit是要仿真的设计单元,可以是顶层模块、实例或信号。
2. add wave:该命令用于添加波形窗口,显示信号波形。
使用方法为:add wave [wave_objects],其中wave_objects是要显示的信号,可以是模块、实例、信号或者其他对象。
3. run:该命令用于执行仿真过程。
使用方法为:run [options] [time_limit],其中options是可选的运行选项,time_limit是仿真时间限制。
如果不指定time_limit,仿真将一直运行,直到达到停止条件。
4. step:该命令用于单步执行仿真过程。
使用方法为:step [options] [time_limit],其中options是可选的运行选项,time_limit是单步执行的时间限制。
5. restart:该命令用于重新开始仿真过程。
使用方法为:restart [options],其中options是可选的重新开始选项。
modelsim的使用小记
12月31日Modelsim的使用小记很少使用Modelsim,就是因为老记不得怎么在Modelsim中建立仿真库,趁着现在有空,做个总结,以供下次参考。
*********************************************************** ***************************************************************** ******1、Modelsim的安装配置(1)执行安装程序(2)执行keygen.exe,将生成的license.dat复制到Modelsim的安装目录下(3)在用户环境变量LM_LICENSE_FILE栏中,输入license文件的物理地址(4)去掉Modelsim安装目录下Modelsim.ini的只读属性2、Modelsim中创立Altera的仿真库(1)启动Modelsim,创建一个project(2)在主窗口中选择File->Change Directory命令,将工作目录改变到想要存放仿真库的目录下。
(3)在主窗口选择Design->Create a New Library,弹出Create a New Library窗口,将Create选项设置为a new library and alogical mapping to it,键入库的名字(例如work,)。
(4)将…\quartus\eda\sim_lib文件夹下的几个文件加入modelsim 的project中,分别进行编译。
如使用的是Stratix系列器件,既有vhdl文件也有verilog文件,要使用ROM/RAM,那么编译顺序:220pack.vhd,altera_mf_components.vhd,stratix_components.vhd,然后其他文件无顺序要求,220model.v, 220model.vhd, 220model_87.vhd, altera_mf.v, altera_mf.vhd,altera_mf_87.vhd, altsyncram.v, lpm.v, stratix.v, stratix.vhd,stratix_atoms.v, stratix_atoms.vhd。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 常用仿真命令vlib work // 建立work仿真库vmap work wrok // 映射库vlog -cover bcest *.v // 加覆盖率分析的编译vsim -coverage -voptargs="+acc" -t ns test // 仿真文件为test.vadd wave * // 将所有模块waveform. dump出来add wave sim:/test/t/M2/Reg_out // 将模块Reg_out中的waveform. dump出来delete wave /test/i2. SVA 断言仿真命令vlog -sv a.vvsim -assertdebug testview assertionsvsim -assertdebug ScaleBlock_tf -L xilinxcorelib_ver -L unisims_ver // 加载xilinxlib库3. verror 3601 // 查错4. 给仿真工具加载xilinx 库命令(1)加载之前将modelsim.ini改为非“只读”(2)“运行” cmd,到xilinx目录下(3) C:\Xilinx > compxlib -s mti_se -p c:\Modeltech_6.0\win32 -f all -l verilog -o C:\ Modeltech_6.0\Xilinx_lbis或者Xilinx目录下.\bin\nt\下有compxlib.exe简单得modelsim命令行仿真用do文件进行仿真真得很方便,比写testbench方便多了,我是深有感触呀,开始时因为不知道,只知道写testbence,在小得模块也写testbench,真得很烦躁!而且信号定义什么得比较多,采用do文件得方法就没有那么多信号定义了,管理也比较方便,呵呵,真得很方便,而且采用命令行得形式,感觉特有成就感,呵呵!1.运行仿真,在主窗口输入命令:vsim work.实体名2.为时钟信号添加驱动,输入命令:force clk 0 0,1 10 -r 20,将仿真时钟设为50MHz;(设时间单位为ns)3.打开波形窗口,输入命令:view wave4.为波形窗口添加信号,输入命令:add wave -hex *,这里的*表示添加设计中所有的信号,-hex 表示以十六进制来表示波形窗口中的信号值;5.开始仿真,输入命令,run 3us,这时候在波形窗口中出现仿真波形6.退出仿真,输入命令:quit –sim。
modelsim常用命令分类:Verilog/FPGA 2010-05-26 10:49 354人阅读评论(1) 收藏举报用do文件进行仿真真得很方便,比写testbench方便多了,采用do文件没有那么多信号定义,管理也比较方便.1.运行仿真,在主窗口输入命令:vsim work.实体名2.为时钟信号添加驱动,输入命令:force clk 0 0,1 10 -r 20,将仿真时钟设为50MHz;(设时间单位为ns)3.打开波形窗口,输入命令:view wave4.为波形窗口添加信号,输入命令:add wave -hex *,这里的*表示添加设计中所有的信号,-hex表示以十六进制来表示波形窗口中的信号值;5.开始仿真,输入命令,run 3us,这时候在波形窗口中出现仿真波形6.退出仿真,输入命令:quit –sim //很常用!!7.查看错误详细信息: verror **(错误数字代号)--vlib - 建立一个新的工作库。
如:vlib work在当前目录建立逻辑库work,运行后会在当前目录下找到work文件夹。
--vmap - 映射逻辑库名到指定的目录--vsim - 启动仿真如:vsim -c -l vsim.log -do ./YourDo.do -L ./work work.foo开始仿真,-c 选项让vsim工作在commandline模式;-l 选项是输出log文件到vsim.log;-do 选项是开始仿真后运行tcl脚本文件;-L 选项是指定工作逻辑库;work.foo是仿真的top level module。
odelSim之命令行仿真入门下面是我们的Tcl仿真步骤:启动ModelSim SE, 首先看到在在ModelSim SE右边的窗口有ModelSim> 这样的提示符。
在提示符后,顺序运行以下命令:vlib work 该命令的作用是在该目录下建立一个work目录,请注意不要用操作系统来新建一个work的文件夹,因为用操作系统建立的work文件夹并没有ModelSim SE自动生成的_info文件。
vmap work work 该命令的作用是将目前的逻辑工作库work和实际工作库work映射对应。
vlog camera.v camera_tb.v 该命令的作用是编译这些文件,要注意的是文件可以单独分开编译,但是一定要先编译被调用的文件。
假如是VHDL文件就可以用vcom file1,file2命令来编译。
vsim camera_tb 仿真命令, 注意后面的参数必须为camera_tb.v文件中的模块名。
add wave/camera_tb/ * 该命令的作用是将testbench文件camera_tb.v中模块camera_tb下所有的信号变量加到波形文件中去,注意在“*”前要加空格。
这时候你也可以看到wave文件被打开。
当然也可以单个信号的添加,例如添加时钟:add wave clk 等等。
run 2000 该命令的作用是运行2000个单位时间的仿真。
也可以用run –all命令来一直仿真下去。
这时候就可以在wave窗口文件中看到你的仿真结果。
当然也可以观察其它窗口的结果,用view命令显示view * 观察包括signals、wave、dataflow等窗口文件。
也可以分别打开。
例如用view signals来观察信号变量。
ModelSim仿真常用命令以及仿真脚本的编写在我们用ModelSim仿真的时候经常是修改一点一点修改代码,这样会造成一个无奈的操作循环:修改代码--->编译代码--->仿真设置--->进入仿真页面--->添加需要观察的波形--->运行仿真。
如果仿真结果不理想,还得需要重新修改代码,重复上述的操作。
计算机擅长做重复的事情,为什么不让计算机代劳呢?我们可以参照Xilinx ISE是如何调用ModelSim进行仿真的,尤其是脚本的编写。
下面一个脚本是我用ISE10.1建立了一个AES256的工程,然后在调用ModelSim6.5的时候,ISE会生成这几个脚本文件,AES256_tb.fdo, AES256_tb_wave.fdo 和AES256_tb.udo。
下面的代码是AES256_tb.fdo文件的内容。
1: vlib work #创建名字是work的库,这个仿真之前必须做的2: vcom -explicit -93 "SBOX_ROM.vhd" #编译vhd代码3: vcom -explicit -93 "Inv_SBOX_ROM.vhd"4: vcom -explicit -93 "AES_package.vhd"5: vcom -explicit -93 "subbytes.vhd"6: vcom -explicit -93 "SBOX_ROM_reg.vhd"7: vcom -explicit -93 "round_key_BRAM.vhd"8: vcom -explicit -93 "Inv_subbytes.vhd"9: vcom -explicit -93 "Keyexpansion_Yao.vhd"10: vcom -explicit -93 "AES256_ENC_DEC.vhd"11: vcom -explicit -93 "AES256_TOP.vhd"12: vcom -explicit -93 "AES256_tb.vhd"13: vsim -t 1ps -lib work AES256_tb#进入仿真设置,时间单位为1ps,库指定为work,AES256_tb就是指你的top层设计的名字14:do {AES256_tb_wave.fdo} #执行*.fdo文件,用来添加信号和变量或者内部的寄存器到波形(WAVE)窗口15: view wave #打开波形窗口16: view structure #打开架构(structure)窗口17: view signals #打开信号列表窗口18: run 1000ns #运行1000ns19:do {AES256_tb.udo} #运行用户定义的脚本只要编译的时候没有出现语法错误或者是找不到定义的库文件等错误提示,一般会很容易的看到仿真的波形,而不用手动进行操作。
这样方便了仿真的整个过程,而无需用很多鼠标点击操作。
现在通过一个具体的实例来说明如何运用脚本来实现ModelSim的仿真。
工具版本:ISE10.1 ,ModelSim 6.5a1. 创建ISE工程首先通过ISE创建test.vhd 和test_tb.vhd文件并添加到工程中,这里不细说如何创建HDL源代码。
然后配置ISE的仿真器,右键选中FPGA芯片,点击properties,然后在Simulator选择Modelsim-SE VHDL。
图1. 工程属性在source窗口选择“Behavioral Simulation”,可以看到工程中的test_tb.vhd (testbench文件)。
选中test_tb.vhd文件,在Process窗口中双击SimulateBehavioral Model,ISE开始调用ModelSim,这是ISE自动生成了三个脚本文件:test_tb.fdo, test_tb_wave.fdo和test_tb.udo。
图2. Behavioral Simulation 窗口看看三个脚本文件的内容吧。
test_tb.fdo内容如下:1: vlib work #添加library2: vcom -explicit -93 "test.vhd"#编译test的顶层文件3: vcom -explicit -93 "test_tb.vhd"#编译test_tb的testbench文件4: vsim -t 1ps -lib work test_tb #进入仿真,时间单位1ps,仿真test_tb5: do {test_tb_wave.fdo} #执行*.fdo脚本文件,用于添加仿真波形6: view wave #打开波形窗口7: view structure #打开structure窗口8: view signals #打开信号窗口9: run 1000ns #仿真运行1000ns10: do {test_tb.udo} #执行*.udo脚本文件,用于执行用户定义的脚本命令test_tb_wave.fdo内容如下():1:## Project Navigator simulation template: test_tb_wave.fdo2:## You may edit this file to control your simulation.3: add wave * ##添加Top层所有的端口信号test_tb.ufo内容为空白,是留着给用户自己添加。