RTL代码之面积与功耗

一、面积

在RTL编码中减少设计面积:

(1)估计设计使用资源的数量

(2)知道哪部分占用了较大面积。

1、资源:+、-、x、÷、<、> 都会产生比较大的面积。+:对应一个64位加法器。

触发器、加法器、乘法器的使用注意,触发器数量由功能决定,很难减少,由组合逻辑决定,对应的RTL代码是各种操作符

2、多比特会成倍使用资源,在对信号操作前是否能只对需要的部分比特操作

例如 if(A<32)可以换成if(A[5]=1'b1),A如果比32小,A[5]一定是0。用1bit的逻辑门代替了6bit的比较器。

例如:访问RAM,每隔32个地址写入一个值。

addr<=addr+32 改写为: addr[7:5]<=addr[7:5]+1; addr[4:0]<=addr[4:0]+0;

3、如果使用复杂的运算符,可以考虑使用资源共享编写RTL。

例如

if(a+b+c)y1;

if(a+b+d)y2;

改写为

sum<=a+b;

if(sum+c) y1;

if(sum+d) y2;

二、功耗

RTL代码之面积与功耗

RTL代码之面积与功耗

RTL代码之面积与功耗

门控时钟:直接关闭整个时钟,效果更好。

增加使能控制:使得电路的信号不再翻转,而时钟还会翻转。

RTL的布线:布线过于集中产生热点

RTL代码之面积与功耗