专栏中心

EEPW首页 > 专栏 > modelsim Testbench FPGA仿真

modelsim Testbench FPGA仿真

发布人:0750long 时间:2010-03-10 来源:工程师 发布文章
modelsim Testbench FPGA仿真

 

 

来源:http://blog.****.com/liu_xf/431336/message.aspx

FPGA调试篇(二)在Modelsim下使用TestBench对设计进行仿真

 

 

 

Signal Tap II是物理调试,它捕捉的是系统在运行过程中实实在在的信号,是最真实的。但是每次调试时,都需要综合、布局、布线、并将生成的SOF文件下载至FPGA;而这一过程往往需要一定的时间。显然,这种调试方式在需要重复次数较多的情况下,效率是很低的。

前面提到,调试FPGA需要多种方式相结合,那么本文将介绍在Modelsim下使用Testbench对设计进行逻辑仿真。

如同 FPGA调试篇(一),本文仍然是以总线时序逻辑为例。

首先,编写激励文件,即产生单片机总线的读写时序;(仍然是在0x2345地址入写0x43,0x5812地址处写0x25)。

parameter           ADDR1 = 16'h2345,

                    ADDR2 = 16'h5812;

parameter           DAT1 = 8'h43,

                    DAT2 = 8'h25;

ebiWriteDat(ADDR1, DAT1);                      

ebiWriteDat(ADDR2, DAT2);

详细代码见符件

然后,新建modelsim工程,将激励文件和源文件加入工程,并编译;

点击看大图

 

启动仿真  Simulate-> Start Simulateion,弹出如下界面

 

添加信号到WAVE窗口

 

点击看大图

 

 

运行  run 100us

查看结果

Transcript窗口的打印信息

 

 

Wave窗口

点击看大图

 

结果分析:

仿真文件中,首先对0x2345地址处写0x43,然后在0x5812地址处写0x25,20ns后读出这两个地址处的值,比较,如果跟写入的值一样就显示Success,否则显示Error。

Transcript窗口是仿真文件运行中的打印信息,很直观的表达了仿真的结果。

同样,从波形图的时序也可以来分析整个逻辑是否正确。

 

Modelsim编译速度很快,不需要像quartus那样去综合,布局布线,大大提高了调试的效率。

另:

本文中的CODE和Testbench是在网友Adeko的代码基础上修改得来的,特向他表示感谢,有兴趣的朋友可以参考他的一篇设计:

UARTFPGA实现过程 - 附完整的FPGAModelSimMCU代码和工程,以及实现文档

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

ADI核心方案助您解锁高级测试仪器设计密码

重组Solidigm,SK 海力士计划建美国AI投资平台

英特尔概述了用于AI数据中心封装的厚芯玻璃基板概念

SEALSQ 推出量子高速公路平台

OpenEvidence获得2.5亿美元资金以扩展医疗人工智能平台

新法规欧标AC桩一站式技术实现方案

ARM嵌入式系统开发-4

ARM嵌入式系统开发-5

SHT、iny电机培训套件

视频 2012-07-03

ADI展示模块化无线传感器网络(WSN)

视频 2012-06-28

SEALSQ在达沃斯展示了后量子机器人概念

轻量化智能眼镜:AI与微型显示引领可穿戴设备新潮流

ARM嵌入式系统开发6

插座表解决方案

视频 2012-07-03

ARM嵌入式系统开发-3

博通推出统一的Wi-Fi 8平台,为家庭打造无缝AI体验

网络与存储 2026-01-30

USB应用方案

视频 2012-07-03

三星、SK海力士和美光据报加强订单审核以遏制囤货行为,内存供应紧张持续

ARM嵌入式系统开发7

大嘴业话:个性化定制——未来电子行业的出路

更多 培训课堂
更多 焦点
更多 视频

技术专区