集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 2504|回复: 3

Modelsim 的验证实例

[复制链接]
weibode01 发表于 2010-11-11 10:02:47 | 显示全部楼层 |阅读模式
Modelsim 的验证实例  

实例1:利用Modelsim 对Xinlinx 公司Virtex-II 产品DCM 模块进行仿真。
如图1 所示。

图1 基于Virtex-II 系列DCM 的模块设计图
    Sl_Clk_i 为100MHz 的输入时钟,Sl_Rst_i 为复位控制信号,输入时钟经过一输入缓冲器后输入到DCM 的CLKIN 端,通过参数设置,我们分别设置无相位差控制,相位差3.5ns 和相位差4.2ns,利用Modelsim 对以上三种情况分别进行仿真得到的结果如图2(a)(b)(c)所示:



图2 相位延迟的Modelsim 仿真波形
    从仿真结果来看,在无相位差控制的情况下,输出时钟相位延迟了2.38ns,在相位差为3.8ns 时,从图2(b)看出,输出时钟提前了近1.12ns,图2(c)中可以看出在相位差为4.2ns 的情况下,得到的输出时钟又向前提前了720ps。
    通过实际测试分别得到图3(a)(b)(c)所示的波形图,从图3(a)可以看出,在没有相位差控制的情况下,输出时钟相位推迟了4.24ns,当将输出时钟相位差为3.5ns 时,从图3(b)可以看出,输出时钟相位还延迟了720ps,图3(c)显示了在相位差4.2ns 的情况下,输入时钟与输出时钟相位几乎完全一致。

(a) 无相位差控制的测试波形

(b) 相位差3.5ns 的测试波形

(c) 相位差4.2ns 的测试波形
图3 相位差的示波器实测波形
    从实测波形与仿真波形的比较可以看出,仿真结果与实测结果还是比较吻合的,两者结果差别仅为1.88ns,造成这种差异的原因在于这么两个原因:

ModelSIM 进行仿真时,仅对输出管脚处的时序进行仿真,而实际测试时,不可能在FPGA 管脚处直接测试,而必经过一段比较长的走线,因此PCB 上的走线延时成为差别来源之一。经过测算,从管脚到测试点的PCB 走线约为5inch,根据PCB 为FR4 材质,且为带状线,传播速度为180ps/inch,因此PCB 上的延时约为900ps。此外示波器的测试误差也会带来一定偏差。
另有近1ns 的差别则是由器件模型的偏差所致。这是在偏差允许范围内的。
实例2:利用Modelsim 对亚稳态设计进行仿真及纠错
    在具有异步设计的数字电路中,经常会由于数据的建立时间或保持时间不够的原因而造成亚稳态的错误。我们曾经在设计中曾经利用时钟锁存数据,但在设计过程中出现了数据建立时间和保持时间不够的情况,通过Modelsim 进行仿真,我们发现,数据输出端的采集数据出现错误,如图4(a)所示。为了纠正这一错误,我们一方面在设计中将时钟信号经过门延时对时钟的相位进行相应调节,另一方面利用较快的时钟对数据进行同步处理,然后再用调节后的时钟进行数据采集。再用Modelsim 进行仿真,发现数据输出端的采集数据符合采集要求,如图4(b)所示。

(a) 亚稳态采数错误

(b) 修改后的设计采数正确
图4 亚稳态问题示意图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?我要注册

x
大鹏 发表于 2022-4-30 16:47:32 | 显示全部楼层
Modelsim 的验证实例
大鹏 发表于 2022-5-12 09:14:31 | 显示全部楼层
Modelsim 的验证实例
zxopenhl 发表于 2023-12-22 14:51:32 | 显示全部楼层
Modelsim 的验证实例
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-11-23 12:36 , Processed in 0.063458 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表