| |
关于quartus和modelsim联合仿真中预编译库文件,减少仿真时间的方法
2016年1月19日 9:55
一、首先存在的问题:
altera_lnsim_ver、 altera_mf_ver、 altera_ver、 cyclonev_hssi_ver、 cyclonev_pcie_hip_ver、 cyclonev_ver、 lpm_ver、sgate_ver
(2) 创建、映射、编译设计的源文件,本例(我的工程文件)中如下wptr_full.v、rptr_empty.v、tbfifo.v、fifo_asyn.v、fifomen.v、syne_w2r.v、sync_r2w.v
其中最耗费时间的是 (1)部分,极大部分时间发生在对 (1) 的编译上,而且在第一次调用modelsim编译库文件后。第二次再调用时,仍然会重复上一次的步骤,重复创建、编译并覆盖第一次的库文件。所以每次都会浪费很多时间。
二、解决方案:
针对发现的问题,解决方案其实就是在绕过执行默认的FIFO.do文件,同时,将所需的8个库文件预先编译好,并将映射路径添加到modelsim.ini配置文件中。
以altera_ver为例
(1) 在modeltech64_10.1c根目录下,创建altera文件夹,后面有用。
(2) 去掉modeltech64_10.1c根目录下的modelsim.ini的只读属性。
(3) 在modelsim中,依次点击File-Change Directory,选择根目录modeltech64_10.1c-altera(刚创建的),点击确定。
(4)依次点击File-New-Library,选中a new library and a logical mapping to it,Liberay Name和Liberay Physical Name都填写altera_ver
此时,altera_ver还是空的(empty)
(5) 点击Compile-Compile…,在弹出的Complie sources file的Library中选择altera_ver,查找范围选d:/altera/15.0/quartus/eda/sim_lib/选择altera_primitives.v,需要编译的文件在FIFO.do文件中有对应。
(读者可自行下载 UltraEdit软件打开FIFO.do文件查看)在下面的文件类型中,如果你的设计采用的是verilog,则选择verilog file;如果是Vhdl,则采用VHDL File。点击compile,完成后点击Done。
按照图中的格式改写为altera_ver= $MODEL_TECH/../altera/altera_ver,保存退出
(2) 将modelsim.ini文件修改为“只读”属性
(3) 重新打开modelsim软件后,会看到
这样,以后不管将Change Directory修改到哪里,都能从modelsim.ini中找到编译好的 altera_ver库
说明添加库部分已经完成了。
再将下面的部分,复制到新的文件中
一直到最后的部分,因为这部分是对你设计的代码的编译,文件另存为sim.do文件。注意保存在和FIFO_run_msim_rtl_verilog.do的同一级目录下。
每次需要仿真时,不用quartus调用modelsim,而是直接打开modelsim,修改File-Change Directory 到\FIFO\simulation\modelsim,在transcript中使用命令do sim.do就会进行仿真了。
时间非常快,因为此时只编译你设计的代码!
三、其他解决方案:
我一师兄使用modelsimaltera仿真软件,就没那么多烦恼,库文件在第一调用仿真后,后面再次调用modelsimaltera时,就不会重复编译库文件,而是直接编译你的设计代码,时间非常快。