这两天做综合后仿真,发现FPGA器件库又不会加了,无奈上网找方法.说起来不好意思,很早就接触Modelsim这个仿真软件了,可是没有好好琢磨.把这两天找的方法贴出来,再加上自己的理解,以后忘了可以上博客翻翻,也适合新手看.(这个办法是quartusII综合完后启动Modelsim仿真综合后的网表,要是quartusII里直接启动Modelsim需不需要加库不清楚,我没试过) -----------------------------------转载分割线---------------------…
1.代码输入 (1).新建一个ISE工程,名字为count4. (2).新建一个verilog文件 (3).选择verilog module 输入file name为count4,单击next默认知道finish. (4).在count4.v文件中输入以下代码 module count4(out,reset,clk     );                  output [3:0] out;         input reset,clk;         reg [3:0] out;  …
1.代码输入 (1).新建一个ISE工程,名字为count4. (2).新建一个verilog文件 (3).选择verilog module 输入file name为count4,单击next默认知道finish. (4).在count4.v文件中输入以下代码 module count4(out,reset,clk     );                  output [3:0] out;         input reset,clk;         reg [3:0] out;  …
ORCAD网表输出时 ERROR (ORCAP-5004):Error  initializing COM  property   pages 之前遇到过这个问题,解决后忘了记录下来了.依稀记得问题答案还只有一个是在cadence论坛.这次还好都能百度到了. 重装系统后重装软件又出现了这个问题,这次记录下来以后使用: 原文:http://www.cadence.com/Community/forums/p/15490/1310574.aspx#1310574 This error message…
1.form的两个事件 submit,提交表单,如果直接调用该函数,则直接提交表单 onSubmit,提交按钮点击时先触发,然后触发submit事件.如果不加控制的话,默认返回true,因此表单总能提交. 2. JS的校验 通过在JS中用document.myform.name.value,来得到用户的每一个输入 ,进行校验,当完全通过时,返回TRUE,反之返回false. 3. 页面代码实现 /* <form name="testform"  action="hell…
第一种: 复制代码 代码如下: <script type="text/javascript">         function check(form) { if(form.userId.value=='') {                alert("请输入用户帐号!");                form.userId.focus();                return false;           }       if(fo…
第一种: 代码如下: <script type="text/javascript"> function check(form) { if(form.userId.value=='') { alert("请输入用户帐号!"); form.userId.focus(); return false; } if(form.password.value==''){ alert("请输入登录密码!"); form.password.focus()…
1,选择开始>运行,打开运行窗口.2,输入cmd,打开命令行窗口.3,进入cmd,找到orpxllite.ocx和orTrueReuse.ocx的所在的目录4,输入以下命令:regsvr32 "D:\Program Files\Cadence\SPB_16.6\tools\capture\orpxllite.ocx"regsvr32 "D:\Program Files\Cadence\SPB_16.6\tools\capture\orTrueReuse.ocx"…
第一种: <script type="text/javascript"> function check(form) { if(form.userId.value=='') { alert("请输入用户帐号!"); form.userId.focus(); return false; } if(form.password.value==''){ alert("请输入登录密码!"); form.password.focus(); retu…
多源复制如果是整个实例级别的复制,那不存在下面描述的情况. 如果是对其中一个或多个主实例都是过滤复制,并且运行一段时间后,想在这个源上再增加一个库怎么实现?   主1:192.168.1.10 3306     db1     db2 主2:192.168.1.20 3306     db3   从:  192.168.1.30 3306   假如之前实现的是过滤复制,复制的是主1的db1 和 主2的db3,已经运行一段时间了.现在想增加主1上的db2,该如何实现?   具体实现方法如下: 1.…
最近在学习关于activiti流程设计的相关内容,首先第一步就需要了解25张activiti相关的表,具体的每张表的含义 请自行百度. 这里讲一下 用java代码生成所需要的25张表,很简单: public test{ @Test public void Test(){ ProcessEngineConfiguration conf = ProcessEngineConfiguration   .createStandaloneProcessEngineConfiguration();   //…
图: 在对设计的芯片进行测试时,经常要用到FPGA,可是里面的仿真工具却不如Modelsim那么好用,且在规模比较大时,ISE在仿真时,软件经常会报告内存限制的问题,此时一般会切换到Modelsim软件中去做仿真,这样便不会出现内存限制的问题,且仿真器也更加好用. 下面以综合后仿真为例,讲一下如何用ModelSim对Xilinx ISE综合后产生的网表进行仿真. 在用Xilinx ISE综合后,如果想用Modelsim对它综合后产生的网表进行综合后仿真,总共需要3个*.v文件.一个是testbe…
声明:本文为黑金动力社区(http://www.heijin.org)原创教程,如需转载请注明出处,谢谢! 黑金动力社区2013年原创教程连载计划: http://www.cnblogs.com/alinx/p/3362790.html <FPGA那些事儿--TimeQuest 静态时序分析>REV2.0 PDF下载地址: http://www.heijin.org/forum.php?mod=viewthread&tid=22393&extra=page%3D1 第二章:模型…
随着FPGA设计复杂程度越来越高,芯片内部逻辑分析功能显得越来越重要.硬件层次上的逻辑分析仪价格十分昂贵,而且操作比较复杂.目前,FPGA芯片的两大供应商都为自己的FPGA芯片提供了软件层面上的逻辑分析仪,可以帮助我们在线分析芯片内部逻辑.而且操作简单方便.但是往往因为某些原因,有些信号在综合的时候就会被优化掉,就可能会导致我们的设计失败,当然在为逻辑分析仪添加观察信号的时候也无法找到该信号.从而对设计.调试人员的工作带来一定的不便.下面就分别以Xilinx公司的逻辑分析仪ChipScope和A…
完成波形的随机设置(A,B任意给定高低电平即可,只是当作测试信号),选择任务栏Assignments[Setings],设置Simulation mode为functional,其余保持不变点击ok.点击进行编译,点击进行功能仿真,波形如下所示. 选择波形,查看Task栏目里RTL级,点击可以生成基于该波形的电路结构,通过查看该电路,验证verilog程序是否满足要求,若不满足,在打开.v文件修改保存再进行一系列的仿真,而不需要重新建立工程.若满足,选择任务栏Assignments[Seting…
ModelSim仿真入门之一:软件介绍 编写这个教程之前,为了让不同水平阶段的人都能阅读,我尽量做到了零基础入门这个目标,所有的操作步骤都经过缜密的思考,做到了详细再详细的程度. 如果您是FPGA开发方面的初学者,那么这个教程一定能够帮助你在仿真技术上越过新人的台阶:如果您是FPGA开发的老手,这篇文档也并非对您没有帮助,您可以把教程发给其他刚入门的同事,免去您亲自上阵指导的麻烦,把主要的精力放在更有价值的地方. 一.FPGA设计仿真验证简介 严格来讲,FPGA设计验证包括功能仿真.时序仿真和电…
当项目过程中,不想给甲方源码时,该如何?我们可以用网表文件qxp或者vqm对资源进行保护. 下面讲解这两个文件的具体生成步骤: 一.基本概念 QuartusII的qxp文件为QuartusII Exported Partition,用于创建综合或者PAR之后的网表文件. QuartusII的vqm文件为verilog quartusII mapping,只能保存综合后,PAR前的综合结果. 二.qxp文件生成 1. 在quartusII的Project Navigator中选中欲创建qxp的mo…
0. 简介 当项目过程中,不想给甲方源码时,该如何?我们可以用网表文件qxp或者vqm对资源进行保护. 下面讲解这两个文件的具体生成步骤: 1. 基本概念 QuartusII的qxp文件为QuartusII Exported Partition,用于创建综合或者PAR之后的网表文件. QuartusII的vqm文件为verilog quartusII mapping,只能保存综合后,PAR前的综合结果. 2. qxp文件生成 1. 在quartusII的Project Navigator中选中欲…
之前写了两篇关于Modelsim仿真的blog,其中模块管脚的命名可能让人觉得有些奇怪,其实不然,之前的两篇内容都是为了仿真SDRAM操作做铺垫的. 由于SDRAM的仿真过程相对比较复杂,也比较繁琐.故可能需要不止一篇blog来完成. 在开始仿真之前,如果对SDRAM原理以及时序不是很了解的朋友,推荐看一下如下这篇文章: SDRAM-高手进阶,终极内存技术指南——完整进阶版 OK,下面正式开始仿真的过程. 通过看内存技术指南,我们大概可以总结出SDRAM的工作过程: 上电后进入200us的输入稳…
声明:本文为黑金动力社区(http://www.heijin.org)原创教程,如需转载请注明出处,谢谢! 黑金动力社区2013年原创教程连载计划: http://www.cnblogs.com/alinx/p/3362790.html <FPGA那些事儿--TimeQuest 静态时序分析>REV5.0 PDF下载地址: http://www.heijin.org/forum.php?mod=viewthread&tid=22811&extra=page%3D1 第五章:网表…
声明:本文为黑金动力社区(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 前 言 第一章 仿真的…
1. 在QuartusII中生成rom的初始化文件,可以是hex,也可以是mif.MIF文件的格式很简单明了,所以我一向都是用MIF. 2.下载convert_hex2ver.dll文件,convert_hex2ver.dll就是把hex文件转换成ModelSim 能认出来的ver文件的动态链接库文件.新版本的QuartusII中已经不带此文件了.需要在网上找一份.(老版本 的软件里带了此文件(路径:quartusXX/eda/mentor/modelsim/),应当可以用.) 3.将conve…
一.导入网表 在导入网表之前你的封装需确认是在你的封装路径下 建立Board工程后: ① ② ③ ④放置器件 ⑤ (切记,封装路径一定要添加) 二.status介绍 --- (常用) -----------------------…
2013-06-23 21:34:03 要知道“我写的这段代码会综合成什么样的电路呢”,就要搞清楚RTL图中每个模块的功能,从而将代码与硬件对应,判断综合后的电路是否与预期的一致.如何做到? 之前查了很多资料都无解,偶然的机会,发现借助器件的Libraries Guide for Schematic Designs可以解决这个问题. RTL代码进行综合可以得到硬件的实现,在RTL schematic可以看到代码是用器件的library中哪些element实现的.下面进行详细说明. 在ISE的RT…
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 出现这种故…
①仿真精度越高,仿真效率月底. 仿真时采用`timescale 1ns/1ns比采用1ns/100ps的仿真效率高 simulation was two billion ns. ②clock generation coding tips (from<A BFM Simulation Strategy for Verilog>) ②减少层次结构 在设计中层次结构越少,仿真速度越快,这是因为参数在module中通过端口传递会消耗仿真器的时间 ③进程越少,仿真效率越高 代码中出现的进程越少,仿真越快…
http://www.cnblogs.com/guixiaoming/p/6516261.html left join 连表时,on后多条件无效问题 最近开发素材库项目,各种关系复杂的表,一度6张表的综合关系,这里面 遇到一个 连表时的 多条件‘无效’问题,! 如下: 有如下问题 ON 子句与 WHERE 子句的不同 一种更好地理解带有 WHERE ... IS NULL 子句的复杂匹配条件的简单方法 Matching-Conditions 与 Where-conditions 的不同 关于 “…
本文章详细介绍了怎样用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…
困住整整一周了,工作进行不下去,中午偶遇导师,指导意见是有两种可能: 1.  FPGA编译器优化代码,可以考虑把综合过程中所有的warning排查一下 2.  verilog里有不可综合的语句. 又及,原有的功能模块完全正确,自己改写的不行,导师说那是自己写的时序不对,仿正确的模块看modesim里自己写的和正确的模块时序差在哪里,修改自己的. 添加各种(*keep="true"*),未果 排查所有warning,没看到会和这个问题相关 相信大神导师写的代码不会有问题 一下午加晚上各种…
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): …