原创 如何仿真IP核(建立modelsim仿真库完整解析)

2008-7-4 18:26 3369 7 9 分类: FPGA/CPLD

IP核生成文件:(Xilinx/Altera 同)
IP核生成器生成 ip 后有两个文件对我们比较有用,假设生成了一个 asyn_fifo 的核,则asyn_fifo.veo 给出了例化该核方式(或者在 Edit->Language Template->COREGEN 中找到verilog/VHDL 的例化方式)。asyn_fifo.v 是该核的行为模型,主要调用了 xilinx 行为模型库的模块,仿真时该文件也要加入工程。(在 ISE中点中该核,在对应的 processes 窗口中运行“ View Verilog Functional Model ”即可查看该 .v 文件)。如下图所示。
 点击看大图 
 
1. 在 ISE 集成环境中仿真 IP核
IP 核应该在新建的工程中进行仿真与例化;在原工程中可以例化使用,但好像不能直接对它加 testbench 后进行仿真。如下两图所示。 
 点击看大图 
  图 1:直接在工程中对 ip核加 testbench 仿真时出错
点击看大图 
图 2:新建工程单独对 ip核仿真
 
2.在 modelsim中仿真 ip 核
a.在 modelsim中编译库(Xiliinx)
(1)在$Modeltech_6.0d/Xilinx_lib_tt下新建文件夹 Xilinx_lib($代表安装盘符)
(2)打开 Modelsim->File->Change Diriectory,将路径指向刚才新建的文件夹 Xilinx_lib,这样 Xilinx 编译的所有库都将会在该文件夹下。
(3)编译 Xilinx 库。在$Xilinx->verilog->src 下有三个库“simprims”,“unisims”和“xilinxcorelib”。在 modelsim 的 workpace 窗口 Library 属性中点右键->new->library(或在File 菜单下 new->libary),输入库名(自定义)如 Xilinx_lib_tt,这样在 workpace library 属性下就可看到 Xilinx_lib_tt 了。
(4)modelsim 中选中 compile,在弹出的对话框中,library 选择刚才新建的 xilinx_lib_tt,查找范围为 xilinx 库($Xilinx/verilog/src/),如 XilinxCoreLib,选中文件编译即可。

b. 在 modelsim中加载已编译的库
当要在 modelsim 中仿真带有 ip 核的设计时,需要加载对应公司的库才能仿真。仿真Xilinx 公司ip 核时需要在原工程文件中加入 ip 核的行为描述文件(<核名>.v)。
如果工程文件直接包含在 xilinx“ XilinxCoreLib” library中,则可直接进行仿真。
如果工程文件开始默认包含在“work”library 中,则需要在 Simulation->Start Simulation->library 中添加已编译的库,如图示。这样就可以对 ip 核进行仿真了。
 
   aa.在 modelsim中编译 Altera 的库与 Xilinx方法一样
   bb.在 modelsim中对 ip 核进行仿真,与 xilinx 一致;
首先需要在 modelsim工程中加入设计文件,testbench 文件以及核的行为描述文件(<核名>.v);其次,自 File 菜单中更改库路径指向已编译的 altera库路径(否则原先编译的 altera 库将变为不可用,unavailable),这
时原先编译的库将变为可用,然后在 Simulation->Start Simulation->library中添加库路径(同Xilinx,图4,图附 3)。
点击看大图 
图 3:编译xilinx 库 
 点击看大图 
                              
图 4:加入库进行核仿真
 
使用 modelsim 进行仿真,相对在 ISE 或 Quartus 中直接调用 modelsim,至少有三个好处:



  1.   速度快。仿真必然会不停的修改设计,每次修改设计后在 ISE 中需要重新综合后才能调用 modelsim;而在 Quartus 中时间花费更多,它还要等布局布线完成了才能调用。这样每次等待是件很痛苦的事。而直接在 modelsim 里面仿真,修改后只要重新编译即可仿真,速度要快的多。不过这样有一个坏处,那就是设计不一定是可综合的。但只要我们编程时时刻遵循可综合设计规则,培养良好的编程风格,这个缺点影响可减到最低。
  2.   调试方便。在 ISE/Quartus 中调用 modelsim仿真只能看到输入输出信号,而对于设计的中间信号/变量,特别是ip核的内部信号/变量无法观测。而在modelsim中直接仿真可以观测设计中出现的任何信号/变量无和 ip 核内的任何信号/变量,这样我们设计的数据流向就可以很清楚的表示出来,还可以检测不同编程方式的处理效果,极大的方便了调试。
  3.   修改参数方便。在 modelsim中仿真 ip 核时需要将该 ip 核的行为描述文件加入到工程中去。修改该行为描述文件中 ip 核的参数可以方便的更改 ip 核特性。

附 A:在 ISE/Quartus中直接调用 modelsim。
 
a.先安装 ISE,再安装 modelsim,则 modelsim会自动嵌入到 ISE 中去,如图附 1。ISE集成环境下:Edit->Preferences->Integrated Tools可以设置常用的第三方仿真,综合工具。 
 点击看大图                               
图附 A1:ISE 中调用 modelsim
 
b.直接在 ISE 中编译库
    除了可以用前面介绍的方法自己编译ISE的库外,还可以在ISE环境下自动编译库,编译完成之后将会自动嵌入到 modelsim的 libarary中去,非常方便。 

    编译之前,首先把modelsim的属性文件 modelsim.ini($Modeltech_6.0d/modelsim.ini)的“只读”属性去掉,否则每次都要重新编译。然后在 ISE 环境下新建一个工程,选中芯片型号,在出现的 process 窗口中可以看到“Desin Entry Utilities”,展开它可以看到“Compile HDL Simulation Libraries”,双击它即可自动编译 ISE 的库(要确保 Process属性窗口中“Target Simulator”正确设置为“Modelsim SE”,如图附 2);编译好的库放在$Xilinx/Verilog/mti_se/ 下(在 modelsim中仿真 ip 核需添加库时指向该路径即可,如图附 3)。
点击看大图                              
图附 2:ISE中编译库
点击看大图                          
图附 3:ISE中编译库后自动在 modelsim里加载

aa.在 Quartus 中设置第三方工具
     在 Quartus 环境下:Assignment->EDA Tool Settings->….如图附 3 所示,在“EDA Tool Settings”下拉框中选择“Simulation”窗口,设置“Tool name”(如 Modelsim(verilog)),并选中下面的“Run this tool automatically after compliation”。这样每次 Quartus 综合完之后将会自动调用 modelsim仿真了。同时要注意,在“More Setting”中“command/macro file”应选为“None”,否则当你使用别的 testbench 时,调用将会出错。 
 
bb.在 Quartus 中自动编译库:  尚未发现有此方法,暂时只能由用户自己编译。
 
附 B:Xilinx/Altera 库文件
a. 与 Xilinx 相关的库有三个:
(编译路径:$Xilinx/Verilog/src/(XilinxCoreLib, unisims,simprims),编译时可改名)
-L 表示仿真时需要的库文件。(下面的命名方式可以使 Modelsim对库进行准确映射)
Xilinxcorelib_ver            对应 Xilinx 提供的软核的功能仿真库;
Unisims_ver                 对应使用 ECS所做的原理图的功能仿真库;
Simprims_ver                对应项目布局布线以后的时序仿真库。
 
b. 与 Altera 相关的库暂时只用到一个(Altera 的用的还不熟哦^_^):
(编译路径:$Quartus50/eda/sim_lib)
命名方式可以任意

PARTNER CONTENT

文章评论2条评论)

登录后参与讨论

用户377235 2014-9-9 11:46

Very good!

用户1630874 2012-8-14 11:37

希望你看到此评论,加下我QQ:1562364.有些地方没搞定。。。fpga-老六。谢谢。。。。

用户128353 2008-7-15 15:52

学习了
相关推荐阅读
jerryzhang8023_976580426 2009-09-20 12:26
云计算推动,节能以太网技术将诞生
“移动终端正从目前50Kbps的GPRS链路连接到互联网,升级到数Mbps的3G/3.5G速度连接到互联网;任何媒体都将可以实时访问任何内容。这些新兴应用将带来海量的传输和海量的数据处理,也使得无线业...
jerryzhang8023_976580426 2009-09-20 12:25
“物联网”可能进入3G应用:技术瓶颈待破
“物联网”概念16日继续受到市场热捧,申万电子元器件指数上涨3.09%,位居行业涨幅榜第一。分析人士称,物联网在我国其实早有应用,在未来可能会成为下一个万亿级的通信业务,但是物联网的全面普及将是一个十...
jerryzhang8023_976580426 2009-09-20 12:21
NEC电子全球首推支持USB3.0的主控系统芯片
NEC电子日前完成了支持USB3.0的系统芯片的开发,全球率先推出USB3.0系统芯片”uPD720200”,并于今年6月起开始提供样品。USB3.0是在电脑、数字家电、键盘、鼠标等电子产品领域广泛使...
jerryzhang8023_976580426 2009-06-18 18:32
基于扫描的DFT对芯片测试的影响
基于扫描的DFT对芯片测试的影响来源:电子设计应用/北京航空航天大学 刘玲玲 周文 夏宇闻\巨数微电子公司 徐微 邵寅亮2006-04-24         引言       随着ASIC电路结构和功...
jerryzhang8023_976580426 2009-03-29 20:52
叫板ARM、MIPS,可配置处理器走向何方?
与市场上大名鼎鼎的ARM、MIPS相比,Tensilica(泰思立达)公司还是个小角色。其位于北京南湖东园博泰国际40平米左右的办公室里,只有寥寥数人。初次见到其中国区代表李冉,显得形单影只。让人不禁...
jerryzhang8023_976580426 2009-03-29 20:50
可配置处理器将逐渐取代硬连线处理器
今天的便携式电子正经历着在性能增强和设备融合方面日益加剧的螺旋式变化。从前只能拍照的数码相机,现在不仅分辨率提高了四倍,而且还能摄像以及播放MP3文件。如今的手机拥有蓝牙技术及彩屏,也可以拍照并播放M...
我要评论
2
7
关闭 站长推荐上一条 /3 下一条