ise仿真步骤
更新时间:2023-11-24 01:53:01 阅读量: 教育文库 文档下载
八位全加器276151748@qq.com
【转】ModelSim,synplify,ISE后仿真流程
首先,我把我用到的软件说明一下。如果你发现根据我的操作,你还是解决不了ModelSim后仿真的问题,那就可能是软件版本的问题。 1, ModelSim Se 6.1b
2, Synplify Pro 7.5.1
3, ISE 5.2i (这个是老了点)
4, WindowsXP(这个应该没有多大的关系)
还有就是我使用的是verilog,我想VHDL的方法与verilog是差不多的,最多也就是在建库方面有点差别而已。下面的这些方法,是我这3天搞出来的。当然也参考了一些文章。如果谁有更方便的方法,欢迎指出来。
一、 为modelsim生成3个库。 首先,介绍一下这三个库。
Simprim_ver:用于布局布线后的仿真。
Unisim_ver :如果要做综合后的仿真,还要编译这个库。
Xilinxcorelib_ver:如果设计中调用了CoreGen产生的核,则还需要编译这个库。 我们要为modelsim生成的是标准库。所谓的标准库就是modelsim运行后,会自动加载的库。不过这方面我还不是很肯定。因为我在后仿真时,还是要为仿真指定库的路径,不然modelsim找不到。
第一步:在modelsim环境下,新建工程,工程的路径与你想把库存储的路径一致。
第二步:新建库,库名起作simprim_ver。我们首先就是要建的就是这个库。
第三步:在modelsim的命令栏上,打下如下命令:
vlog -work simprim_ver d:/Xilinx/verilog/src/simprims/*.v
其 中的d:/Xilinx是我的Xilinx的安装路径,你把这个改成你的就行了。以下凡是要根据自己系统环境改变的内容,我都会用红色标出,并加一个下划 线。编译完之后,你会发现你的工程文件夹下出现了一个simprim文件夹,里面又有很多个文件夹。这些就是我们要的库了。
第四步:按照上面的方法,编译另外两个库。所需要键入的命令分别如下: vlog -work unisim_ver d:/Xilinx/verilog/src/unisims/*.v
vlog -work xilinxcorelib_ver d:/Xilinx/verilog/src/XilinxCoreLib/*.v 如果你想要编译的是VHDL的库,你需要建立的库分别是simprim,unisim和xilinxcorelib。这三个库所需要的modelsim指令分别如下:
vcom –work simprim d:Xilinx/VHDL/src/simprims/simprim_Vcomponents.vhd vcom –work simprim d:Xilinx/VHDL/src/simprims/simprim_Vpackage.vhd vcom –work simprim d:Xilinx/VHDL/src/simprims/simprim_VITAL.vhd vcom –work unisim d:Xilinx/VHDL/src/unisims/unisim_VCOMP.vhd vcom –work unisim d:Xilinx/VHDL/src/unisims/unisim_VPKG.vhd vcom –work unisim d:Xilinx/VHDL/src/unisims/unisim_VITAL.vhd vcom –work unisim d:Xilinx/VHDL/src/unisims/unisim_VCFG4K.vhd vcom –work xilinxcorelib d:Xilinx/VHDL/src/ XilinxCoreLib/*.vhd 关于VHDL方面,我没有实践过,如果有误的话,改一下应该问题也不大。
第五步:把库建好后,接下来的事情就是使它成为modelsim的标准库。这只要修改modelsim安装目录下的modelsim.ini文件就可以了。修改后的内容如下:
[Library]
std = $MODEL_TECH/../std ieee = $MODEL_TECH/../ieee
verilog = $MODEL_TECH/../verilog
vital2000 = $MODEL_TECH/../vital2000
std_developerskit = $MODEL_TECH/../std_developerskit synopsys = $MODEL_TECH/../synopsys
modelsim_lib = $MODEL_TECH/../modelsim_lib
simprim_ver = G:/EDA/Xilinx/simprim_ver(库的路径,以下同) unisim_ver = G:/EDA/Xilinx/unisim_ver
xilinxcorelib_ver = G:/EDA/Xilinx/xilinxcorelib_ver
注意的是,这个文件是只读属性。修改之前要把这个属性去掉。
第六步:关掉工程,重启modelsim。查看这3个库是否在library框里面。
如果你看到了,那么恭喜!你已经完成了第一个大步骤!!接下来,就是在ISE环境下如何用synplify对设计进行综合的方法了。还要说明的是,这一步是一劳永逸的!有了第一次,第二次就不用了。
二、 在ISE环境下,调用synplify,生成后仿真所需要的文件。
之所以要在ISE环境下调用synplify,主要是因为方便!我也尝试过在synplify环境下综合设计文件,然后在ISE里编译synplify生 成的edif文件。但是不成功。ISE在第三方工具支持方面做的是比较好的,感觉跟用ISE直接综合一样。不过有一个缺点是看不了RTL原理图。你可以在 synplify中打开ISE生成的synplify工程文件,解决在ISE中不方便查看synplify综合结果的问题。现在,就要开始第二个大步骤 了!
第一步:创建ISE工程文件。选择好器件。注意Design Flow中一定要选择Synplify Pro Verilog。
第二步:综合设计文件,也就是verilog文件。
双击下图中的按钮,ISE就会自动调用synplify。(如果没有的话,那可能是你的系统环境变量没有设置好)。此时会弹出一个对话框,要你选择synplify的liscense。(这步本来不用说的。如果没有对话框弹出来的话,也不要紧)随便选择一个,就等结果了。
第三步:生成后仿真需要的文件。
如下图,我们可以看到在Implement Design中有三个大分支,这对应着三种仿真。按你的需要按下相应的图标,生成modelsim后仿真所需要的文件,下面对生成的文件和生成这些文件的图标进行说明。
图标 生成文件 Generate Post-Translate Simulation Model xxx_translate.v Generate Post-Map Simulation Model Generate Post-Place&Route Simulation Model xxx_map.v,xxx_map.sdf xxx_timsim.v,xxx_timsim.sdf
在 这3种仿真中,只有第一种没有生成sdf文件。也就是说在modelsim中,只有第一种可以不用把sdf添加到仿真器中(废话!!)。到这时,所有为后 仿真所做的准备工作就都完成了。下面就后仿真举例。我们要进行的是Place&Route Simulation!所以按下图标,生成为下一步的工作所需要的文件吧。
三、用modelsim进行后仿真。
在开始这一步之前,建议为你的设计新建一个文件夹。当然你也可以不这样做,不过对于所造成的麻烦,本人不负责!
后仿真总共需要3个*.v文件。一个是你的模块的测试文件,一个是ISE生成的xxx_timsim.v(注意,我们要更改这个文件的文件名,改为 xxx.v,也就是你的顶层模块名了。这也是我要求新建文件夹的原因了,重名这件事比尔.盖茨是不答应的)。另一个是glbl.v文件。这个文件在 Xilinx安装盘:\\Xilinx\\verilog\\src下。VHDL不需要第3个文件。复制这3个文件到新建的文件夹下,开始我们的第一步工作。
[转载者注:需要将ise工程下的netgen目录拷贝到后仿真工程目录下。ISE8.1,Modelsim 5.8环境]
第O步:为xxx_timsim.v改名!!!
第一步:新建工程,把3个文件添加到这个工程里。(大家都这么熟了,不用教了吧) 第二步:在project框里按右键—》add to project –》adding simulation configuration,如下图:
第三步:在弹出的对话框里,选择SDF项。把ISE生成的SDF文件添加进出。如下图: 记 住Apply to Region这一项要写好。它对应的是你的tb文件(就是测试文件)调用的顶层模块名。(不是顶层模块名!!)比如你的测试文件是text,例化顶层模块 top为i_top,那你应该这样填:text/i_top或者/text/i_top。如果是第一种仿真,此步可以省略。 [转载者注:如果text文件中的顶级模块是top_module,这里应该是./top_module/i_top, Modelsim 5.8环境下]
第四步:添加library。
我们创建的那三个库终于派上用场了!我们要添加的就是这3个。选择library项,添加这3个库。你的库建在哪里,就去哪里找!这个也不用说了吧!如下图:
第五步:选择要仿真的模块。
你先不要急,看清楚再选。(有些朋友性子急,驾轻就熟就选了)
我们要选的仿真模块可不止一个,如下图,用CTRL键实现!!选了之后点0k!!
第六步:进行后仿真!
完成上一步后,project框如下图所示,双击Simulation 1,modelsim就进入仿真了,是不是很方便!
第七步:做你该做的! 分类: ISE
代码:// 8位全加器
module add8(sum,cout,b,a,cin); input[7:0] a,b; input cin; output[7:0] sum; output cout; assign {cout,sum}=a+b+cin; endmodule
下面是测试脚本:
'timescale 1ns/1ns
module add8_tp; //仿真模块无端口列表 reg[7:0] A,B; //输入激励信号定义为reg型
reg cin;
wire[7:0] SUM; //输出信号定义为wire型 wire cout;
parameter DELY=100;
add8 AD1(SUM,cout,A,B,cin); //调用测试对象 initial begin //激励波形设定 A=8'd0;B=8'd0;cin=1'b0;
#DELY A=8'd100;B=8'd200;cin=1'b1; #DELY A=8'd200;B=8'd88;
#DELY A=8'd210;B=8'd18;cin=1'b0; #DELY A=8'd12;B=8'd12; #DELY A=8'd100;B=8'd154;
#DELY A=8'd255;B=8'd255;cin=1'b1; #DELY $finish; end
initial $monitor($time,,,\输出格式定义 endmodule
module add8(SUM,cout,A,B,cin); //待测试的8位加法器模块 output[7:0] SUM; output cout; input[7:0] A,B; input cin; assign {cout,SUM}=A+B+cin; endmodule
正在阅读:
ise仿真步骤11-24
2014-2015学年西城初三期末数学试题及答案(word版)08-28
珍惜时间的格言或诗句11-30
二年级举一反三奥数题03-05
梁希优秀学子奖奖励办法(林科)06-19
广州的河边作文600字07-13
新人教版小学一年级数学下册期末试卷一03-14
永磁磁阻电机的转矩控制05-31
中国地理常识大全02-12
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 仿真
- 步骤
- ise
- 实验二 射频前端上变频器的测试
- 泵站工程施工设计方案
- 概率论与数理统计习题1及答案
- 计算机应用基础在线考试(附答案)
- 廊坊市路桥施工企业名录2018版108家 - 图文
- 振动力学答案
- 物业管理服务的整体设想及策划
- 八年级物理复习教学案(从粒子到宇宙)
- 苏教版六年级数学总复习提纲及复习题
- 中学生民防知识竞赛复习大纲(2014年)
- 初三物理总复习教案(全)
- 不懂感恩的人比狼更可怕 - 人生感悟
- 微机原理重要知识点
- 追索劳动报酬案件答辩状
- 道岔转辙装置安装作业指导书
- 仿真实验3
- 部编版二年级《道德与法治》上册第8课《装扮我们的教室》优质教案
- 流体流动复习题
- 数字电子技术4
- 中誉电子(上海)有限公司与上海九鹰电子科技有限公司侵犯实用新型专利权纠纷案