modelsim使用命令

合集下载

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_使用教程

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中的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操作方法

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使用教程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的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的详细使用方法

一、简介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使用方法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",可以运行单步或连续仿真。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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内容为空白,是留着给用户自己添加。

相关文档
最新文档