热度 2| |||
继续成长
遇到没有时钟,但需要归位的寄存器设计需求时,可考虑将某些信号作为异步复位信号来归位寄存器。
如自清的寄存器等。但此方案不能随意使用,会被做flow的人喷。一般还是要用标准写法。
复位信号一定不要用多bit的组合逻辑生成,极易引入毛刺造成电路功能错误;
芯片pad数量有限,不同的封装能拉出来的测试引脚也会有不同。因此要考虑引脚复用;
模块的输出尽量寄存器化,有利于时序分析及后续模块的设计;
设计需要考虑的因素:面积,组合逻辑是否太大,功耗,可测性,ESD防护能力,功能的易用性等。还有个关键点是有点没把握的设计留替代方案;
0异或任何数=原数;1异或任何数为原数取反。因此可用异或来改变信号的极性;
跨时钟域的信号一定记得同步;
buffer有滤毛刺的作用。但会对信号有削角作用。如果是对时钟delay,可用偶数个inv实现时钟延时且不破坏占空比;
用计数器算绝对时间时,若时间精度要求不高,可只利用计数器高位做比较,节省些许面积;
若并行参数数量太多,布线资源不够,拥塞过大,可考虑串行传输,减小绕线压力。
真实系统环境比仿真环境复杂得多,因此在支持测试时如遇到仿真未复现的现象也不要就不管它了,要再想办法排除一些可能性,缩小问题范围。这也是成长的过程;
sram或otp等输出若为Hi-z,要在后面与一个en信号。否则可能有漏电路径
未完待续...