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极致。
审核编辑:刘清
-
Verilog
+关注
关注
28文章
1351浏览量
110100 -
RTL
+关注
关注
1文章
385浏览量
59786 -
Verilog语言
+关注
关注
0文章
113浏览量
8233 -
PPA
+关注
关注
0文章
21浏览量
7496
原文标题:不同的Verilog代码,性能、功耗、面积(PPA)差距能有多大?
文章出处:【微信号:全栈芯片工程师,微信公众号:全栈芯片工程师】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论