RTL低功耗编码
1. RTL低功耗编码常用方法;
2. 要具备低功耗编码思维。
白杨树田
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
低功耗编码之“总线二”
这样使用的总线数据data_in_ff2随着时钟翻转而改变,动态功耗就大。大可不必这样,因为使用的数据总线必须在vld_in有效才能使用,可以通过有效信号vld_in控制。代码16~35行,新增vld_in_ff1/vld_in_ff2两个信号量。只有在二者信号有效时锁存,不必随时钟时刻翻转,这样功耗就小。优化前的动态功耗:2.068W,优化后的动态功耗:2.052W。符合预期,虽然降低不多,但是随着数据位宽增大,降低百分比必然会更明显。原则:通过有效信号对总线锁存降低总线反转。原创 2024-03-22 22:19:43 · 259 阅读 · 2 评论 -
低功耗编码之“复位”
同步复位指的是时钟有效沿来临的时候进行复位操作,同步复位使得电路为同步电路,能够利于仿真,缺点是要求复位信号要大于一个周期,否则无法保证成功复位,此外综合出来的电路实际上并没有利用器件的复位端,而是在输入端插入额外的逻辑电路,这样增加了额外的逻辑资源消耗。异步复位是指的在任何时候只要复位信号有效即可复位,不占用额外的逻辑资源,充分利用器件的复位引脚,但是由于来临和结束时间未知,容易引起亚稳态现象。同步复位电路总功耗:4.246W,异步复位电路总功耗:0.362W。典型的复位电路,同步复位和异步复位。原创 2024-03-16 18:17:38 · 500 阅读 · 1 评论 -
低功耗编码之“控制信号有效时,透传输出输入的数据;控制信号无效时,输出数据为0。”
但是,vld_in无效时总是在时钟上升沿对输出赋值,无意中就产生过多的功耗。场景1:控制信号有效时,透传输出输入的数据;控制信号无效时,输出数据为0。通过Vivado,二者选取相同的器件,运行后比较二者的功耗报告。优化后的功耗相比优化前,功耗减少0.348,减少了15%。原创 2024-03-16 10:31:22 · 552 阅读 · 0 评论 -
低功耗编码之“总线一”
使用数据总线须在控制总线有效,因此数据总线需要打拍使用的情况下,无需复位。二者功耗比较,静态功耗没有差异,动态功耗有差异且优化后功耗降低。原则一:数据总线打拍建议使用无复位寄存器,可以减少静态功耗。使用Vivado以上两段代码综合,查看二者功耗。静态功耗结果不符合预期,可能是由于工具的原因。有知道的朋友可以帮忙解答一下原因......原则二:控制总线打拍严禁使用无复位寄存器。原创 2024-03-18 21:01:05 · 594 阅读 · 0 评论
分享