关于前仿设计经验谈

本文讨论了寄存器采样的不同策略,强调了在高频和低频设计中选择合适的采样方式。还介绍了组合环设计的注意事项,以及如何在时序逻辑和组合逻辑中合理应用。此外,文章详细讲解了调试技巧,包括常见场景仿真、关键电路测试和有效信号替代分频的重要性。
摘要由CSDN通过智能技术生成
  1. 寄存器采样设计
    一般设计中,寄存器优先采用上升沿采样,也可以设计用negedge clk采样,但最好不要混用,尤其在高频的设计中,双沿采样在频率不变时,提高数据速率,可能会导致数据采样出错;在低频下且最好为50%的占空比下,如果有设计要求可以使用双沿采样,例如时钟切换电路中,双沿采样可以消除时钟毛刺,或者有保持时钟速率不变的前提下需要提高数据速率的设计要求可以使用。
  2. 多bit信号传输
    多bit信号又称做总线信号(Bus),在数字芯片内部传输总线信号时,往往带有一个有效脉冲信号,他总是伴随总线信号而发生,所以下一级逻辑器件可以通过采集脉冲信号检测总线信号是否发生变化,不需要比较当前总线与上一个总线信号的差别,节省逻辑和面积,但对于数字与模拟芯片之间的数据传递则无需这样使用。
  3. 组合环
    设计中应该避免出现组合环的情况,可以通过在环的任意处插入寄存器处理,但最好重新构思设计对于分模块的设计,对模块的输出或输入打一拍,避免连接时出现组合环。
  4. 原理图与时序图
    原理图帮助设计前分析一些特殊场景,例如cdc,自己去画时序图相当于更准确的分析理解设计需求,帮助与仿真波形对比快速去debug。
  5. 时序逻辑与组合逻辑
    根据设计需求正确使用时序逻辑与组合逻辑,例如:对于需要历史数据的设计运用时序逻辑,对于实时的计算需要组合逻辑,总之,时序逻辑与组合逻辑的使用要从设计及时序的角度考虑。
  6. 关于debug
    ①重点仿真通用典型场景(常用功能);
    ②上电复位、时钟切换等关键电路的仿真;
    ③芯片内部自动复位,手动软件复位形式仿真,保证模块在下次运行是从初始状态开始运行;
    ④连续开关使能的场景仿真;
    ⑤边界情况,极端情况仿真;
    ⑥多设备之间仿真;
  7. 设计使用有效信号代替分频
    除了特定分频的设计要求,否则在设计时尽量减少构建分频时钟,最好使用有效信号代替分频,,因为时钟越少,意味着电路越简单,使用工具分析越容易,产生时序错误越少。
  8. rtl中的寻址
    使用case或者if进行寻址操作
case(addr)
    2'd0: mem[0] = a;
    2;d1: mem[1]= a;
 endcase
 在SV中可以使用 mem[addr] = a;

参考链接:

  1. 组合环
  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值