随笔分类 -  仿真Modelsim

摘要:- 查阅了很多资料,无意中看到有篇文章提到,要仿真成功这个IP的话,需要以下三个Library:220model、Altera_mf,还有个最最关键的就是sgate! 另外还有一点需要注意的是,在用modelsim仿真时,在compile的时候,需要把.v、.vo和.tb这3个文件都加上才可以,否则在simulate时会提示错误。 几个简单的系统任务,$readmemb,$readmemh,$fopen,$fdisplay;基本上就可以完成对文件的读写操作。用于读写的文件必须和modelsim建好的工程放在同一个文件夹中,否则会出现打不开文件的现象,即返回的文件句柄为0.摆放位置如下图所示。一 阅读全文
posted @ 2013-05-21 16:51 天马行空W 阅读(1798) 评论(1) 推荐(0)
摘要:真OO无双博客原創) 如何使用ModelSim-Altera對Nios II仿真? (SOC) (Nios II) (SOPC Builder) (ModelSim) (DE2)http://www.cnblogs.com/oomusou/archive/2008/08/02/nios_ii_modelsim.html 阅读全文
posted @ 2013-02-25 20:38 天马行空W 阅读(313) 评论(0) 推荐(0)
摘要:这是一篇关于multicycle exception的Note,文章很详细的介绍了End Multicycle Setup,End Multicycle Hold,Start Multicycle Setup,Start Multicycle Hold之间的区别,并给出了比较详细的例子。1.基本概念Multicycle Setup:建立关系(setup relationship)定义为latch edge 与 launch edge之间的一系列时钟周期,表达式是latch edge-launch edge。Setup slack=latch edge+Tclk2-Tsu-(launch e.. 阅读全文
posted @ 2013-02-03 12:03 天马行空W 阅读(669) 评论(0) 推荐(0)
摘要:launch edge和latch edge分别是指一条路径的起点和终点,只是一个参考时间,本身没有什么意义,latch_edge-launch_edge才有意义。1. 背景静态时序分析的前提就是设计者先提出要求,然后时序分析工具才会根据特定的时序模型进行分析,给出正确是时序报告。 进行静态时序分析,主要目的就是为了提高系统工作主频以及增加系统的稳定性。对很多数字电路设计来说,提高工作频率非常重要,因为高工作频率意味着高处理能力。通过附加约束可以控制逻辑的综合、映射、布局和布线,以减小逻辑和布线延时,从而提高工作频率。2. 理论分析2.1 固定参数launch edge、latch ed... 阅读全文
posted @ 2013-02-03 11:38 天马行空W 阅读(3716) 评论(0) 推荐(3)
摘要:我们平时使用Verilog进行状态机编码时,通常使用parameter对状态名进行定义,这样写Case语句的时候就不会对这一串10摸不着头脑。可是通常这样做的话,在Modelsim里看到的还是一串10,使排错非常困难,特别是在用OneHot编码的时候,就看到一串0中间的一个1 #_# 简直要疯掉。Question: 我们可不可以像VHDL一样,在仿真的时候看到状态名字,而不仅仅是状态编码呢?答案当然是可以的拉,事在人为嘛!Solution1: 另外定义一个reg: state_name,长度根据状态名称长度而改变(状态名称字符数x8); 在每个状态执行的语句中加入state_name ... 阅读全文
posted @ 2013-01-21 16:41 天马行空W 阅读(3078) 评论(0) 推荐(0)
摘要:后仿就是时序仿真,因为时序仿真是在综合之后故称后仿真。现将综合到后仿的简单步骤细列如下(并附图):一,综合(所用工具是quartus)1,建立工程,其他不变,只是在选择仿真工具时留意下图红圈处。(图1)2,设置仿真工具:assignments->settings...->EDA Tool Settings->Simulation的Toll name 选择modelsim,其他默认设置即可,3,综合,综合成功后,可以看到再工程目录的simulateion->modelsim下面有两个文件.sdo和.vo文件,前者是加了标准延时的时序反标注文件,后者是综合出来的网标文件。( 阅读全文
posted @ 2013-01-17 21:05 天马行空W 阅读(7048) 评论(0) 推荐(0)
摘要:文章来源:http://bbs.ednchina.com/BLOG_ARTICLE_271038.HTM一、前仿真 也就是纯粹的功能仿真,主旨在于验证电路的功能是否符合设计要求,其特点是不考虑电路门延迟与线延迟。二、后仿真 也就是综合后的功能仿真和布局布线后的时序仿真。是指电路已经映射到特定的工艺环境下,综合考虑电路的路径延迟与门延迟的影响,验证电路是否在一定时序条件下满足设计构想的过程,是否存在时序违规。(必做)三、实例实现在QII中利用原理图输入法设计一个移位寄存器,命名为lpm_shift,并以lpm_shift.v为顶层文件输出,再写一个名为top_tb.v的testbench文件。( 阅读全文
posted @ 2013-01-17 20:52 天马行空W 阅读(2765) 评论(0) 推荐(0)
摘要:由于要对FPGA读写SDRAM的工程进行调试,第一步就是验证PLL模块的功能,故结合网上找的一些资料,进行了如下PLL仿真实验。下面是仿真的全过程首先,看一下Quartus中的PLL模块:从上面图中可以看出:我的FPGA输入时钟是20MHZ,该PLL有三个输出,其中C0:5倍频,100MHZC1:1倍频,20MHZC2:5倍频,100MHZ,同时相对于C0延时2ns,也就是72度的相位差。下面,新建一个Modelsim的工程。然后在工程目录下新建两个文件夹,分别为src以及modelsim,如图所示下面,给工程添加库文件,源文件以及激励文件:首先,添加库文件,在quartus目录下(E:\Al 阅读全文
posted @ 2012-12-25 11:46 天马行空W 阅读(1256) 评论(0) 推荐(0)
摘要:文章转自:http://blog.csdn.net/ruby97/article/details/7348939由于仿真FIFO需要时钟资源,故使用了前一篇文章中使用的PLL模块。在仿真FIFO模块时,我使用了一个数据发生模块,参考的下面这篇文章中的源码datagene.v(可以去链接网址下载源码)数据发生模块的输入输出框图如下所示:我在Modelsim中利用了该模块进行FIFO的仿真。若对FIFO的IP核不熟悉,可以参考官方文档:http://www.altera.com/literature/ug/ug_fifo.pdf下面是具体仿真过程:首先,看一下FIFO配置:数据单元位宽:16FIF 阅读全文
posted @ 2012-12-25 11:25 天马行空W 阅读(2103) 评论(0) 推荐(0)
摘要:在单独使用Modelsim有时候需要自己独立书写testbench,对于应用QII所自带的Start testbench Template writer确实方便,但是有时对于一个小的独立模块进行仿真时就需要独立调用Modelsim,这样在Modelsim中编写testbench,下面对于testbench的书写总结一下。 首先在写testbench时,应注意名称要和自己待仿真的工程名称要对应,比如自己的待仿真文件名称叫grey_even,那么对于teshbench的名称则取一个叫grey_even_tst,在书写testbench module name则取名叫grey_even_vlg_t. 阅读全文
posted @ 2012-12-19 13:15 天马行空W 阅读(3603) 评论(0) 推荐(1)
摘要:简单得modelsim命令行仿真PART ONEModelSim之命令行仿真入门用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.开始仿真,输入命令,ru 阅读全文
posted @ 2012-12-12 20:34 天马行空W 阅读(6640) 评论(1) 推荐(2)
摘要:文章出处:http://www.cnblogs.com/asus119/archive/2011/04/01/2002525.html注:Queastasim中的命令行在view-->Transcript中找到的。Verilog里的$display,$time等系统函数是在testbench中使用在transcript中查看结果的下面是我们的Tcl仿真步骤:启动ModelSim SE, 首先看到在在ModelSim SE右边的窗口有ModelSim> 这样的提示符。在提示符后,顺序运行以下命令: vlib work 该命令的作用是在该目录下建立一个work目录,请注意不要用操作系统 阅读全文
posted @ 2012-12-12 20:04 天马行空W 阅读(884) 评论(0) 推荐(0)
摘要:Quartus II 11.0 套件较以往QII软件有了很大的change,在仿真器上主要体现为原有的Quartus II simulator没有了,可能是因为为减小软件体积,增强别的功能的原因,了解QII 11.0 与以往版本的区别和改进对于提高学习速度,减少不必要的疑惑是十分有用处的!一、关于Quartus II的安装关于Quartus II 10.0 以前版本,安装都大同小异,Bingo曾经写过“Quartus II 9.1的安装指南.pdf”,下载地址为http://www.chinaaet.com/lib/detail.aspx?id=86239,Quartus II 11.0的.. 阅读全文
posted @ 2012-12-04 11:59 天马行空W 阅读(4776) 评论(0) 推荐(0)
摘要:文章来源 :http://www.cnblogs.com/Efronc/archive/2010/06/25/1765446.html前言:为了搞清Modelsim加载altera仿真库的问题我已经足足查了两天资料,这篇文章是我第一天写的,当时有些地方只是会做,可是为什么这样做就不是很了解了。经过昨天一天的努力,现在基本上明白了整个过程。对这篇文章进行整体的完善和补充(本人水平有限,如有错误请留言指正)。用Modelsim对Quartus II工程进行时序仿真(在此只讨论时序仿真)可分两种方式:一种是在Quartus II中设置run gate-level simulation automat 阅读全文
posted @ 2012-12-03 13:14 天马行空W 阅读(853) 评论(0) 推荐(0)
摘要:单独使用Questasim 阅读全文
posted @ 2012-11-30 18:53 天马行空W 阅读(22089) 评论(2) 推荐(2)
摘要:Modelsim仿真产生的文件:VCD,fsdb,WLK 阅读全文
posted @ 2012-11-30 16:39 天马行空W 阅读(3669) 评论(0) 推荐(0)
摘要:怎么回事,在用Modelsim仿真QIIFFTIP核的时候出现的问题 ,这个可是用QII11.1的mega wizard manager 生成的一个FFT的模块可是在调用Modelsim 进行compile之后,双击 FFT_10bit_tst之后想看看仿真运行就不行了,报错~而且同一个错误我不知道这是哪里出了问题!还请大家给看看 阅读全文
posted @ 2012-11-29 18:32 天马行空W 阅读(1511) 评论(2) 推荐(0)
摘要:如何在QuartusII11.0中调用Questasim10.0 阅读全文
posted @ 2012-08-08 10:20 天马行空W 阅读(1200) 评论(0) 推荐(0)
摘要:modelsim 10.0a 破解安装第一步,从modelsim的官网www.modelsim.com下载两个文件:modelsim-win32-10.0a.exe和modelsim-gcc-4.2.1-mingw32v9.zip第二步,安装modelsim-win32-10.0a.exe到本地计算机上,比如安装的D盘:d:\modelsim_10.0a(注意安装完后,需要重启)第三步,解压modelsim-gcc-4.2.1-mingw32v9.zip文件,提取它里面的文件到你的安装目录d:\modelsim_10.0a(注意,是把里面的几个文件夹添加到modelsim的安装目录下)第四步, 阅读全文
posted @ 2012-06-19 11:12 天马行空W 阅读(1764) 评论(0) 推荐(0)