集成电路计算机辅助设计——组合电路设计描述的优化问题-国防科大

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

组合电路设计描述的优化How to get an optimal Coding for the

combinational circuits ?

陈海燕

计算机学院微电子所

1

如何评价RTL级代码

•具有可综合的、一致的编码风格;

•功能正确;

•满足设计的非功能性约束,实现代价最低

•同等实现代价,性能最优

2

非功能约束要点

•影响性能的因素

–组合逻辑通路的延迟时

–……

•影响功耗的因素

–芯片面积……•提高性能的途径

–降低关键路径上组合逻辑通路的逻辑级数成为组合通路

设计优化的关键因素

–逻辑复制等等

•降低功耗的可能途径

–减少组合逻辑电路实现所需的单元及连线数目成为组合

逻辑电路设计优化的重要因

–逻辑共享……

4

组合逻辑的非功能性设计目标

•性能

关键路径上的组合电路往往决定系统时钟频率•功耗

•面积

往往与提高性能是矛盾的

5

组合逻辑描述的优化技巧

•流水线时序优化技术

•模块复用与资源共享

•逻辑复制

•香农扩展运算

设计时不仅要正确实现功能,还要根据不同的非功能设计目标,进行折中,选择不同的优化技巧与方法

6

什么是流水线时序优化

•概念:把规模较大,层次较多的组合逻辑分为几个级,在每一级插入寄存器组并暂存中间数据,上一级的输出是下一级的输入。即用寄存器合理分割该组合逻辑路径。

•各级之中最长的时间延迟决定系统的时钟频率。•作用:改善电路性能,即缩短时钟周期,提高吞吐率。

对运算功能单元效果显著

7

流水线时序优化实例(3)

•例2 对下例代码进行三段流水线设计:

input [7:0] A,B,C,D;

output [7:0] compare;

output[9:0] result;

reg[7:0] compare;

reg[9:0] result;

always@(posedge clk)

begin

result<=A+B+C+D;

compare<=!(A^B);

end

11

模块复用与资源共享(1)

•从微观角度考虑节约面积;减少硬件实现代价。

•多个同类功能复用一个硬件电路单元.

•特点:节约了面积,减少了功耗,有时可能会损失一些性能

12

模块复用与资源共享(2)

例3 补码平方器

第一种实现方式:

module resource_share_1(data_in,square);

input [7:0] data_in;

output [15:0] square;

wire [7:0] data_bar;

assign data_bar=~data_in+1;

assign square=(data_in[7])? (data_bar* data_bar) :

(data_in* data_in);

endmodule

13

模块复用与资源共享(3)

•第二种实现方式

module resource_share_2(data_in,square);

input [7:0] data_in;

output [15:0] square;

wire [7:0] data_temp;

assign data_temp=(data_in[7])? ( ~data_in+1):data_in; assign square=data_temp* data_temp;

endmodule

14

模块复用与资源共享(4)

•某电路有四个输入信号:multselt,

in1[7:0],in2[7:0],in3[7:0],一个输出out。电路实现下例逻辑功能,当multselt为高时,输出out=in1*in2;否则out=in1*in3 。

15

数据通路的复制

例4 地址计算

17

例4 描述对应的电路结构

18

19

例4 数据通路复制后的描述

20

使用香农扩展优化组合逻辑时延

例5 设需要运算的逻辑表达式如下:

F=((({8{late}}|in0)+in1)==in2)&en,其中

in0[7:0],in1[7:0],in2[7:0]都为8bit的数据,信号late和en为1位的控制信号,

信号late为本逻辑运算的关键信号路径,延时最大,使用香农扩展运算优化该关键路径

F=late•F(late=1)+ ~late•F(late=0)

•可直接优化已表达为布尔函数的组合逻辑

22

常见语法结构中慢速信号的处理

——设计时通常知道哪一个信号到达的时间要晚一些。这些信息可用于构造优化的描述,使到达晚的信号离输出近一些。

——对于条件、分支结构而言,信号到达时间较晚的信号视为慢速信号

数据信号为慢速信号

控制信号为慢速信号

23

if-else 及其嵌套结构问题

例6 多个串行if语句

if (sel[3]) z=d;

else if (sel[2]) z =c;

else if (sel[1]) z=b;

else if (sel[0]) z=a;

else z =0;

24

相关文档
最新文档