ModelSim仿真教程】的更多相关文章

本文章详细介绍了怎样用ModelSim仿真Verilog,虽然只是很简单的一个二分频器的例子,但却正式小白入门所需要的. 本教程以ModelSim SE 10.4为例 1. 新建工程 file->new->project,输入工程名 例如half_clk 2. 新建文件 新建二分频器模块文件和testbench文件,分别为half_clk和half_clk_tb,注意type选择Verilog. 3. 编写模块文件和激励文件内容 half_clk.v half_clk 1 2 3 4 5 6…
声明:本文为黑金动力社区(http://www.heijin.org)原创教程,如需转载请注明出处,谢谢! 黑金动力社区2013年原创教程连载计划: http://www.cnblogs.com/alinx/p/3362790.html <FPGA那些事儿-Modelsim仿真技巧>REV1.0 PDF下载地址: http://www.heijin.org/forum.php?mod=viewthread&tid=22419&extra=page%3D1 前 言 第一章 仿真的…
2021年11月15日 00 安装包/版本 我是提前在网上下好的(但这一点也给我的实验造成了"麻烦"),用的是Modelsim SE-64 2020.4版本的,学校实验室的似乎不同.但最终没有太大影响. 01 配置环境步骤 学校有一个文档,在机房电脑照做就行.我因为是自己下载的,配置与机房软件有所不同,所以又平添了很多麻烦. 01-0 verilog文件 这个代码可以在很多地方编写:Visual Studio Code里有Verilog的插件:还可以有更强大的语言编辑器:Nodepad…
这两天做综合后仿真,发现FPGA器件库又不会加了,无奈上网找方法.说起来不好意思,很早就接触Modelsim这个仿真软件了,可是没有好好琢磨.把这两天找的方法贴出来,再加上自己的理解,以后忘了可以上博客翻翻,也适合新手看.(这个办法是quartusII综合完后启动Modelsim仿真综合后的网表,要是quartusII里直接启动Modelsim需不需要加库不清楚,我没试过) -----------------------------------转载分割线---------------------…
ModelSim仿真入门之一:软件介绍 编写这个教程之前,为了让不同水平阶段的人都能阅读,我尽量做到了零基础入门这个目标,所有的操作步骤都经过缜密的思考,做到了详细再详细的程度. 如果您是FPGA开发方面的初学者,那么这个教程一定能够帮助你在仿真技术上越过新人的台阶:如果您是FPGA开发的老手,这篇文档也并非对您没有帮助,您可以把教程发给其他刚入门的同事,免去您亲自上阵指导的麻烦,把主要的精力放在更有价值的地方. 一.FPGA设计仿真验证简介 严格来讲,FPGA设计验证包括功能仿真.时序仿真和电…
modelsim仿真include文件会出现找不到文件的情况,这是因为include文件路径有两种,一种是相对路径,另一种是绝对路径. 相对路径: 如果 ‘include "primitive.v"文件放在测试文件tb的当前目录中,则在工程.v文件中只需写 ‘include "primitive.v"就可以仿真了. 绝对路径: 如果 ‘include "primitive.v"文件没放在测试文件tb的当前目录中,则在工程.v文件中需写如 `inc…
在quartus调用modelsim仿真过程中,出现了一个错误,如下所示: Check the NativeLink log file I:/Quartus11.0/Myproject/testi_nativelink_simulation.rpt for detailed error message 如果modelsim在quartus中的路径设置对的,那么就是.v程序有问题,或程序中含有中文字体没注释掉.…
modelsim 仿真时出现无限迭代(iteration reach limitation) 出现这种故障的原因:  一般都是代码里出现的组合逻辑无限循环或者组合逻辑A产生signal_A,signal_A又通过组合逻辑产生signal_B,signal_B又通过组合逻辑产生signal_C,signal_C又通过组合逻辑产生signal_A(这样就形成了组合逻辑的无限循环),就会导致这个故障出现.类似: always(*) begin signal_A=~signal_A; end 出现这种故…
在使用Verilog编写有限状态机等逻辑的时候,状态机的各个状态通常以参数表示(如IDLE等).当使用ModelSim仿真的时候,状态机变量在wave窗口中以二进制编码的形式显示,如下面所示,这种显示形式不是很直观,但我们可以使用ModelSim提供的命令将状态机变量以“文本”形式的参数名显示,从而有利于调试. 下面以一个实例来说明. 代码来源:http://www.cnblogs.com/oomusou/archive/2011/06/05/fsm_coding_style.html 源文件:…
之前写了两篇关于Modelsim仿真的blog,其中模块管脚的命名可能让人觉得有些奇怪,其实不然,之前的两篇内容都是为了仿真SDRAM操作做铺垫的. 由于SDRAM的仿真过程相对比较复杂,也比较繁琐.故可能需要不止一篇blog来完成. 在开始仿真之前,如果对SDRAM原理以及时序不是很了解的朋友,推荐看一下如下这篇文章: SDRAM-高手进阶,终极内存技术指南——完整进阶版 OK,下面正式开始仿真的过程. 通过看内存技术指南,我们大概可以总结出SDRAM的工作过程: 上电后进入200us的输入稳…
困住整整一周了,工作进行不下去,中午偶遇导师,指导意见是有两种可能: 1.  FPGA编译器优化代码,可以考虑把综合过程中所有的warning排查一下 2.  verilog里有不可综合的语句. 又及,原有的功能模块完全正确,自己改写的不行,导师说那是自己写的时序不对,仿正确的模块看modesim里自己写的和正确的模块时序差在哪里,修改自己的. 添加各种(*keep="true"*),未果 排查所有warning,没看到会和这个问题相关 相信大神导师写的代码不会有问题 一下午加晚上各种…
好久没再用过modelsim,都忘的一干二净了.刚换了份工作,又要重新拾起来,不过现在感觉modelsim的仿真其实是比较快的,很有用处.再者这么长时间老是学了忘,忘了再学,觉得真浪费时间,平时确实应该好好总结下的,关于modelsim的仿真这一次一定要系统的总结出来,顺便再练下写文档的能力. modelsim仿真方法1:用modelsim直接建立工程. 1.建工程 输入工程名,选择工程路径. 添加源文件及测试文件. 在这里为什么要选择第二项,我也不在了然的,改天再查下. 文件添加进来之后就是编…
1.modelsim经常遇到数据位宽不相等的情况,这样往往仿真时是不会出数据的,如果用parameter定义了数据的位宽, 要注意实际的位宽数大于parameter定义参数能表示的位宽时,如: parameter WIDTH = 5'd46,要注意5位的数据宽度最大能表示的数是31,46已经溢出. 2.# ** Warning: (vsim-3015) F:/Company_Prj/Date201409/LowCost/ICS_MyPrj/Src/aic_fir_2ch_64x.v(182): …
前两天在群里看到有朋友说Vivado级联Modelsim仿真出现修改设计代码后重新run do文件,波形没有随着代码修改而改变,这个问题博主之前没有注意到,因为把Vivado和Modelsim级联好后还没有试过仿真过,不过用ISE级联好后,修改设计代码,可以直接重新run do文件进行仿真,不必关闭Modelsim. 对于这个问题博主打开Vivado工程目录下生成的do文件看了下. 我们需要run的是这个xxx_simulate.do文件,打开看下里面内容. 发现这里面没有,编译库和编译文件的脚…
[第一章]Modelsim仿真的扫盲文 [第二章]Modelsim就是电视机 [第三章]理想就是美丽 [第四章]激励文本就是仿真环境 [第五章]仿真就是人生 [第六章]结束就是开始…
1. 算法介绍 CORDIC(Coordinate Rotation Digital Computer)算法即坐标旋转数字计算方法,是J.D.Volder1于1959年首次提出,主要用于三角函数.双曲线.指数.对数的计算.该算法通过基本的加和移位运算代替乘法运算,使得矢量的旋转和定向的计算不再需要三角函数.乘法.开方.反三角.指数等函数,计算向量长度并能把直角坐标系转换为极坐标系.因为Cordic 算法只用了移位和加法,很容易用纯硬件来实现,非常适合FPGA实现. CORDIC算法完成坐标或向量…
前言: 目前由于项目需要,学习了基于opnet的网络仿真方法,发现该软件的学习资料少之又少,所以将自己搜集到的学习资料进行整理,希望能帮助后来的人. 主要参考资料:OPNET网络仿真(清华陈敏版) 仿真软件介绍: 主流仿真软件如下: OPNET: OPNET是商业软件,所以界面非常好.功能上很强大,界面错落有致,统一严格.操作也很方便,对节点的修改主要就是对其属性的修改.由于OPNET14.5及以前的版本都是免费的,所以用户量是三种网络仿真软件中最多的,这一点很像Windows. QualNet…
1. 在QuartusII中生成rom的初始化文件,可以是hex,也可以是mif.MIF文件的格式很简单明了,所以我一向都是用MIF. 2.下载convert_hex2ver.dll文件,convert_hex2ver.dll就是把hex文件转换成ModelSim 能认出来的ver文件的动态链接库文件.新版本的QuartusII中已经不带此文件了.需要在网上找一份.(老版本 的软件里带了此文件(路径:quartusXX/eda/mentor/modelsim/),应当可以用.) 3.将conve…
前言 Modelsim是一款专业的仿真软件,特别是在Quartus II 11.0之后的版本,都没有配套自身的仿真软件,所以Modelsim成了在FPGA设计流程中的进行功能仿真的首选仿真软件之一. ModelSim为HDL仿真工具,我们可以利用该软件来实现对所设计的VHDL 或Verilog 程 序进行仿真,其支持IEEE常见的各种硬件描述语言标准.可以进行两种语言的混合仿真,但推荐大家只对一种语言仿真. ModelSim的版本很多,基本的有 PE.LE.SE版本,PE为个人版本,功能最少,支…
对于 lattice  Diamond 与 modelsim 的联合仿真,我总结了一句话,那就是—— 难者不会,会者不难.  也许刚开始 觉得 摸不着 头脑,但是 一旦学会 感觉还是很简单和直观的. 直接进入正题, 仿真第一步 : 建立仿真库. 在正确安装了Diamond  和 modelsim  之后,就是先要建立自己的 lattice 仿真的库文件: 1.打开 modelsim 的 安装目录,在其目录下 打开 modelsim.ini 的属性,去除其只读性. 2.在modelsim 安装目录…