story · 2020年06月23日

Verilog设计与逻辑综合实例解析(最小化面积)

本文描述了一个优化软核面积的RTL编码技术。优化掉不需要的逻辑,不仅减少了芯片面积,还减少了电路的开关活动,因此也减少了功耗。

\`ifdef,\`ifndef,\`elsif,\`endif结构如何帮助最小化面积?

以下是如何使用编译器指令最小化逻辑设计面积的示例:

`define MIN
 
module area_min_byifdef(in1,in2,in3,in4,out1) ;
input in1 ,in2 ,in3 ,in4;
output out1 ;
`ifdef MIN
       assign out1 =  in1 & in2 ; // minimal area
`else        //large area
       assign out1 = (in1 & in2) | (in3 ^ in4) ;
`endif
endmodule

使用编译器指令可以选择适当的模块。在以下代码中,使用编译器指令选择正确类型的计数器,即ripple 计数器carry lookahead 计数器

//`define CLA
module area_min_by_ifdef (a.b,c,sum,cout) ;
       input a,b,c ;
       output sum,cout ;
      `ifndef CLA
          ripple_adder U_ripple (
            .in1(a) ,
            .in2(b) ,
            .in3(c) ,
            .sum(sum) ,
            .cout(cout)
          ) ;  // smaller area , longer timing
       `else
           cla_adder U_cla (
            .in1(a) ,
            .in2(b) ,
            .in3(c) ,
            .sum(sum) ,
            .cout(cout)
            ) ;  // larger area , faster timing
 
        `endif
endmodule

在上面的例子中,\`ifndef是指缺少CLA的\`define。

因此,使用这种方法中,来选择适当的代码去实现你的电路功能。

声明一些reg位,但不赋值和使用会发生什么?

当声明一些reg位,但不赋值和使用时,对应于那些位的逻辑会被优化掉。 例如,在下面的代码中,虽然声明了int\_tmp,但是2:1位是未使用的。 该代码将综合出int\_tmp [3]和int\_tmp [0]相关的逻辑, tmp [2:1] 相关的逻辑会被优化掉。

module lower(in1,in1,clk,reset,out1 );

input in1 ,in2 ;

input clk ,reset ;

output [1:0] out1 ;

reg [3:0] int\_tmp ;

always@(posedge clk or negedge reset) begin

if(!reset)  int\_tmp <= 0 ;

else  begin

//Only bits 0 and 3 are used .

//Bits [2:1] are not assigned

int\_tmp[0] <= in1 ;

int\_tmp[3] <= in2;

end

end

...

endmodule

本文转载自公众号:芯片数字实验室
原文链接:
https://mp.weixin.qq.com/s?\_\_biz=MzU4ODY5MzkzOA==&mid=2247484754&idx=1&sn=acf59805366f3f3dfb0839e8adcb213b&chksm=fdd9ad8fcaae2499f306e4180a0942437bb02c608c9bcb90c22224fbbbccb565b58ba4dd9b8a&scene=21#wechat\_redirect
未经作者同意,请勿转载!

推荐阅读
想了解更多内容,欢迎关注芯片数字实验室专栏
推荐阅读
关注数
12313
内容数
219
前瞻性的眼光,和持之以恒的学习~
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息