ISP模块中的同样功能,两份代码,仿真功能都是OK的,区别是多打了一拍。PCLK时钟30MHz,且两个hsync脉冲之间的blanking是满足line_buf中数据移位输出的,如果不满足呢,那就必须多锁存一拍。
此处,在blanking时间必足够的情况下,经验丰富的老鸟可以敏锐发现问题,右下代码重复锁存,可能有提高timing的效果但并不明显,同时也浪费了19200个寄存器,存在面积浪费,那么实战一下,来对比下PPA的区别,结果一定让你“惊喜”。
优化前能跑25ns周期,即频点最大可到40MHz,
优化后能跑20ns周期,即频点最大可到50MHz,Performance性能提高25%。
PR结果:
RTL优化前如下:Density:59.67%,Gates=427032 Cells=65286 Area=3214018.7 um^2
RTL优化后如下:Density:36.29%,Gates=259699 Cells=48340 Area=1954598.6 um^2
PR结论:gate从427032门降低到了259699门,节省了40%面积。在布线面积足够、timing都满足情况下,本次RTL优化节省了30%功耗、40%面积。
RTL设计优化永远止境,ICer要反复思考,追求PPA极致。
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !