用ISE与Modelsim进行FPGA后仿真(时序仿真)的两种方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用ISE与Modelsim进行FPGA后仿真(时序仿真)的两种方法
作者:毕成炜
2012年1月30日星期一
我使用的是ISE_12.2,集成MODELSIM_6.5e。后仿真的方法分为直接和间接两种。直接是指从ISE上起动MODELSIM。间接是单独起动MODELSIM,然后使用ISE生成的用于后仿的文件夹netgen。下面分别叙述。
(一) 直接方法:
1.建立一个文件夹给ISE工程用,比如D:\timing_sim,然后将源文件和测试文件放
到它的下面:
2.在ISE中如有旧的Project正在使用,则关闭它:
这样画面清静。然后新建一个New Project,
点Next,选好器件和仿真器:
点Next,
点Finish.
为了能够在ISE中直接唤起MODELSIM,还需要一些设置,主要是两处:
双击器件:
保证下图红圈处选中你要的仿真器:
点OK后,在主菜单中点:
保证在红圈处指定好MODELSIM执行文件所在的位置
编译仿真库可以在这里双击Compile HDL Simulation Libraries,
也可以在
C:\Xilinx\12.2\ISE_DS\ISE\bin\nt下面找到,双击它,
注意红圈处所标的是你的ISE版本所支持的MODELSIM版本,不能低于它。否则仿
真过程可能出问题。
点Next,
点Next,
选定你针对什么器件编译仿真库,点Next,
点Next,
注意,ISE可能最初不带modelsim.ini,它在此步会自动生成这个文件,并且是可写的,
即它的“只读”属性是已经自动去掉的。生成仿真库的映射关系自动写入了ISE的
这个modelsim.ini,位于C:\Xilinx\12.2\ISE_DS\ISE\bin\nt,但是,它并不会自动去更新MODELSIM软件的modelsim.ini,而且MODELSIM使用的是它自己的modelsim.ini,位
于C:\modeltech_6.5e。
所以需要把ISE的modelsim.ini中的映射关系再COPY到MODELSIM自己的modelsim.ini中。把MODELSIM自己的modelsim.ini的“只读”属性去掉,便可进行
COPY了。比如ISE的modelsim.ini中,经过点击上图的Launch Compile Process后,
产生了下面的信息:
我们需要把红圈中的信息COPY到MODELSIM自己的modelsim.ini中相应的位置,
如下:
仿真库是编译在了ISE的文件夹下面,MODELSIM可过来使用,虽然可以在编译之前
变换路径,使仿真库编在MODELSIM文件夹下面,但都一样。
现在我们要往工程中填加文件了,
注意View中选的是Impementation,这时要求填加的是可综合的源文件,这里不要把
测试文件加进去,因为测试文件只能加在View的Simulation中,否则加进Impementation在综合的时候会报错,因为测试文件是不能综合的。
注意Association中选定Implementation,点OK。
然后再次填加测试文件,
注意这回Association要选Simulation,这样,测试文件加入后,会体现在View的Simulation中,
上图仿真类型栏中,选上Post‐Route,
然后设定仿真时间长度:
双击下图红圈处的Simulate Post‐Place & Route Model,
便可自动唤醒MODELSIM进行后仿真,出仿真波形的结果。你不用去管
Implementation之后生成的文件放在哪里。也不用去设置
MODELSIM,一切都是自动进行的。ISE能够自动执行后仿真从头到尾的一切流程,
比如综合、实现和唤起MODELSIM。你所要做的,只是去查看波形。另外,当查看
的信号不够用时,你要主动去填加信号。然后保存文件时,会出现
是让你把填加了新信号的WAVE界面保存起来。下次重新仿真时,需要关掉
MODELSIM,ISE再次唤醒的WAVE界面仍是默认的原始的,未加新信号的。这时你
可以OPEN先前保存的wave.do文件,出现上次填加了新信号的WAVE界面时,你
要手动去敲执行仿真的命令了。可从命令行执行run 2000 ns.
(二) 间接方法。
1.源文件加进工程的implementation中,
之后,
双击下图红圈处,
便可在D:\timing_sim\counter\netgen\par下面生成
两个关键文件。
因为D:\timing_sim\counter是ISE的工程路径。我们要是不想从ISE中唤起
MODELSIM,而是单独起动MODELSIM软件进行仿真,那就需要MODELSIM重新
建一个它自己的工程,我们这里另建一个文件夹,专供MODELSIM的工程所用。
D:\timing_sim\MODELSIM_TEST,建好它以后,很重要的一步是将先前ISE生成的
netgen文件夹考进来,连同netgen里面的内容全部放到MODELSIM工程专用的
根目录下面,D:\timing_sim\MODELSIM_TEST,如下,放进来了:
打开MODELSIM,切换路径至D:\timing_sim\MODELSIM_TEST
点“确定”后,注意红圈处的信息,说明已在所要的路径下。