IC数字常见问题(五)跨时钟域的代码检查和跨时钟的综合处理

跨时钟域的代码检查(spyglass)

  • lint (在RTL阶段对代码的语法,可综合性,结构进行深入分析,并且对代码的错误提供完整、可调试的修改方案)
  • SDC(帮助设计人员在设计的整个流程中生成,验证和管理他们的约束文件)
  • CDC(提供了多时钟域的解决方案,能自动识别各种同步手段(包括handshake,FIFO),能采用Formal引擎验证同步方法在功能上的正确性
  • DFT(提供了能够预测ATPG的测试覆盖率分析的能力,基于这个选项,用户可以很容易地预计所作设计的可测试性并利用工具提供的指导来提高设计的可测试性)
  • Power(能够让用户能够快速分析出设计中的功耗效率问题,从而在还没有达到后端工序的情况下快速地进行功耗的优化,用户甚至可以在不进行逻辑综合和物理实现的情况下对功耗进行量化的计算)

spyglass优势

  • spyglass的检查验证处于设计的前端RTL阶段,相比较于后端的时序分析和网表验证,spyglass能更早发现问题并修正
  • 能够让用户快速分析出设计中的功耗效率问题,从而在还没有达到后端工序的情况下快速地进行功耗的优化,甚至可以在不进行逻辑综合和物理实现的情况下对功耗进行量化的计算

spyglass CDC的特点

  • CDC检查可以发现仿真、FPGA测试中很难发现的潜在的跨时域处理问题
  • 可以检查出复位、时钟是否使用正确,对跨时钟设计进行检查

spyglass CDC所需的文件

  • filelist.f:用户RTL的文件列表
  • spyglass.sgdc:spyglass用的sgdc约束文件
  • spyglass.tcl:如果是脚本方式启动需要准备tcl脚本文件,并在脚本中对CDC的Goal做声明

spyglass ->add file(添加filelist.f和spyglass.sgdc文件)->read design ->可以在violation里面对照报告修改

CDC rules check

  • clock_info03a:(report a violation)
    1、如果一个clock信号被一个组合逻辑驱动并定义在SGDC文件中在这里插入图片描述
    (由于in信号为0,会将clk path去除)
    2、clk信号没有在SGDC文件中定义
    在这里插入图片描述
    3、时钟穿过black box
    在这里插入图片描述
  • clock_info05:reports MUX descriptions where two or more clock signals converge(需要给select pin加上set_case_analysis的约束)
    在这里插入图片描述
  • reset_info09a:reports unconstrained asynchronous reset net
    (1、没有对reset信号进行约束 2、加了约束,但是没有对经过的组合逻辑进行约束即添加set_case_analysis的约束)
    在这里插入图片描述
  • Ac_unsync01:跨时钟域的信号没有进行跨时钟域的处理
    在这里插入图片描述
    1、如果包含了一个black box,需要保证black box bin都使用(abstract_port constraint);如果穿过black box的信号需要使用(assume_path constraint)
    2、如果源寄存器是一个静态信号,可能不需要进行同步处理(use the quasi_static 或者cdc_false_path constraint)

实验步骤:
1、拷贝 ~/data/chapter8_spyglass_CDC/spyglass_cdc 到~/work 目录下

  • cp -r ~/data/chapter8_spyglass_CDC/spyglass_cdc ~/work
  • cd ~/work/chapter8_spyglass_CDC/spyglass_cdc

2、进入spyglass_cdc目录中,查看filelist.f和cdc.tcl文件。

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值