包含除法的数字DC和PT问题
时间:10-02
整理:3721RD
点击:
数字新人,遇到了如下问题:
在前端设计中直接使用了除法,19bits的码除以5bits的码,输出为14bits
即:[18:0] A/ [4:0]B这样的功能
做DC的时候发现这部分的setup slack很差,但>=0,因此没有过多关注,最近做后端的时候发现这个除法的延时太大,因为综合出来的除法是迭代结构的,要从高位开始除,最后才能得到低位的数据。因此延时很大,这部分的延时超过了我的时钟周期,最终导致后端的时候setup slack非常大,-10.8n左右。(clock10ns)
不知道有什么解决方案。
1,是否可以通过调整verilog代码?PS:此除法功能很重要,无法替代。只能换一种语句描述,不知道有没有好的语句?
2.是否可以通过工具(encounter)一直优化,降低这部分的延时。 比如增大std cell的尺寸?这样的方法是否可取?
多谢。
在前端设计中直接使用了除法,19bits的码除以5bits的码,输出为14bits
即:[18:0] A/ [4:0]B这样的功能
做DC的时候发现这部分的setup slack很差,但>=0,因此没有过多关注,最近做后端的时候发现这个除法的延时太大,因为综合出来的除法是迭代结构的,要从高位开始除,最后才能得到低位的数据。因此延时很大,这部分的延时超过了我的时钟周期,最终导致后端的时候setup slack非常大,-10.8n左右。(clock10ns)
不知道有什么解决方案。
1,是否可以通过调整verilog代码?PS:此除法功能很重要,无法替代。只能换一种语句描述,不知道有没有好的语句?
2.是否可以通过工具(encounter)一直优化,降低这部分的延时。 比如增大std cell的尺寸?这样的方法是否可取?
多谢。
前端加余量优化, +30% clock period