芯有所想

精益求精

project log

Lint检查

用spyglass或者nLint做RTL lint检查。

CDC检查

每个模块设计完成之后,都需要做CDC检查。

SDC检查

使用Primetime的PTC来检查Timing Constraint的完备性和正确性。

设计考量

  • 功耗和Performance往往不能兼得, 此时设计上需要保留弹性,增加选项,让上层来选择 Performance还是Power。
  • 时序紧凑和设计复杂度(Schedule)往往不能兼得,需要保留一定的弹性来增加正确性 和挑战性之间的选择,也要提供更多的debug option。
  • FSM编码,状态跳转分析,尽可能减少DFF翻转的次数,从而减少功耗,并利于debug看波形。 不会发生示波器采样采到中间状态。在统计上,尽可能让跳转频率较高的两个状态之间编码只相差1个bit,降低功耗。
  • 基本小模块应该用通用的library,而不是在module内部细节描述。比如跨时钟域产生一个 pulse的同步电路,把这个基本pulse产生电路做成一个library模块,让其他人共用。
  • RTL代码的可读性。
  • 设计文档WIKI保存。

注意

  • Non-Glitch-Mux APR的时候Group起来,并设定magnet Net,不做Scan。
  • Retention Cell要仔细检查电路细节。
    1. Reset Pin有在Cell内部做Isolation吗?
    2. CK在restore的过程中需要keep High or Keep Low
    3. negedgeDFF的Retention Cell是否Vendor有提供
    4. Retention NWell连接如果接到OnPower,需要考虑漏电