芯路恒电子技术论坛

 找回密码
 立即注册
热搜: 合集
查看: 2904|回复: 0

`timescale设置对仿真的一些影响

[复制链接]
  • TA的每日心情
    开心
    2022-5-11 16:38
  • 24

    主题

    25

    帖子

    163

    积分

    初级会员

    Rank: 3Rank: 3

    积分
    163
    发表于 2021-8-15 19:39:01 | 显示全部楼层 |阅读模式
    本帖最后由 磕磕碰碰 于 2021-8-15 20:01 编辑

    最近在使用芯路恒的AC6102开发板上进行AD9226DDR2串口数据采集系统的调试中遇到了一个问题,在建立起仿真后,观察仿真的数据发现与DDR2相关的信号都没有相关的数据,时钟信号也没用建立起来,对各种信号分析后都没有发现问题所在。
    QQ图片20210815194942.png
    在寻求技术帮助后发现,在仿真建立的过程中忽略了一个非常重要的细节,在设置`timescale的时间单位时超出了FPGA的适用范围
    QQ图片2.png
    FPGA的最大频率一般只能达到几百MHz ,如果设置`timescale的时间单位为200ps,那么就翻转一次,意味着fpga要工作在5g的频率下,而我设置的时间单位为1ps,这显然是不符合设计要求的。对时间单位进行修改后,仿真可以正常运行
    QQ图片3.png
    QQ图片4.png
    通过这次的调试,对`timescale对在仿真中的应用有了更深刻的认识。也总结timescale在仿真中的一些影响。
    1timescale 的用法
    `timescaleVerilog中的预编译指令,指定位于它后边的module的时间单位和时间精度,直到遇到新的`timescale指令或者`resetall指令。在一个module内部不可以编写`timescale命令!
    2timescale 时间单位和时间精度
    timescale包含时间单位和时间精度两部分。设定格式为`timescale timeunit / timeprecision,需要注意的是timeunittimeprecision由值110、和100以及单位smsusnspsfs组成。
    如果设定`timescale 1ns/1ps1ns就是时间单位,1ps就是时间精度,在仿真或者模块中的如#10是相对时间,等价于#10ns,当精度高于timescaled的时间精度,而被四舍五入,比如#10.4321会被认为是#10.432ns
    3. timescale时间精度对仿真时间的影响
    `timescale的时间精度设置会影响仿真时间,如下面两种设置,后一种设置精度仿真时间会更长占用更多的内存,在满足设计需求的情况下应尽量将时间精度设置得更大一些。
    `timescale 1ns / 1ns
    `timescale 1ns / 1ps
    对于复杂的设计,为了加快仿真速度,可在不同模块设置中设置不同的timescale 单位和精度。例如时钟周期较大的模块的timescale可以设置的较大,加快该模块的仿真速度。

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|小黑屋|Archiver|芯路恒电子技术论坛 |鄂ICP备2021003648号

    GMT+8, 2024-4-25 03:43 , Processed in 0.121528 second(s), 34 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

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