电子设计自动化综合_第1页
电子设计自动化综合_第2页
电子设计自动化综合_第3页
电子设计自动化综合_第4页
电子设计自动化综合_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

电子设计自动化综合1第一页,共七十五页,2022年,8月28日本章目录

1.综合的概念4.

综合控制流程综合的任务•基本的综合流程综合的层次•定义设计环境Y图•设置设计约束

2.综合工具流程

3.关键技术展平优化时序逻辑优化

组合逻辑优化工艺映射RTL描述的可综合性

2第二页,共七十五页,2022年,8月28日.Top-down设计流程

行为描述高层次综合RTL描述逻辑综合网表、逻辑图布局布线版图数据ASICICFPGA3第三页,共七十五页,2022年,8月28日1.综合的概念综合(Synthesis)

可以定义为是将设计的较高抽象层次描述转换成较低抽象层次描述的过程。

综合的任务:由描述数字系统行为的HDL,根据系统对硬件的功能及性能要求,在一个包含众多结构、功能性能均已知的逻辑元件的逻辑单元库的支持下,找出一个合适的硬件结构来实现(一般是指由EDA工具自动生成)4第四页,共七十五页,2022年,8月28日1.综合的概念综合的层次

高层次综合(highlevelsynthesis)

从算法级行为描述—>RTL结构描述逻辑综合(designsynthesis)

从RTL(DataFlow)行为级描述—>逻辑网表

版图综合(layoutsynthesis)

一般指预布局(floorplanning)

5第五页,共七十五页,2022年,8月28日Y图

BehavioralStructurearithmeticRTLDataflowPhysicalDesignSynthesis逻辑综合HighlevelSynthesis6第六页,共七十五页,2022年,8月28日

例1.

不同RTL描述得到同一种电路结构:数‘1’电路architectureALGORITHMICofONE_CNTisbeginprocess(A) veriableNUM:INTERGERrange0to3;begin NUM:=0; forIin0to2loop; ifA(I)=‘1’then NUN:=NUM+1; endif; endloop;C1

C0 caseNUMis when0=>C<=“00”; when1=>C<=“01”; when2=>C<=“10”; when3=>C<=“11”; endcase;endprocess;endALGORITHMIC;

算法描述真值表--TruthTable:-----------------------------------|A2A1A0|C1C0|-------------------------------|000|00|--|001|01|--|010|01|--|011|10|--|100|01|--|101|10|--|110|10|--|111|11|-----------------------------7第七页,共七十五页,2022年,8月28日数据流模型结构化设计层次architectureDATA_FLOWofONES_CNTisbeingC1<=(A(1)andA(0))or(A(2)andA(0))or(A(2)andA(1))C0<=(A(2)andnotA(1)andnotA(0))or(notA(2)andnotA(1)andnotA(0))or(A(2)andA(1)andA(0))or(notA(2)andnotA(1)andA(0));endDATA_FLOW;architectureMACROofONE_CNTisbeingC(1)<=MAJ3(A);C(0)<=OPAR3(A);endMACRO;

ONES_CNT

MAJ3OPAR3AND2OR3AND3INVOR48第八页,共七十五页,2022年,8月28日architectureMUXofONES_CNTisbeginprocess(A)begincaseAiswhen"000"=>C<="00";when"001"|"010"|"100"=>C<="01";when"011"|"101"|"110"=>C<="10";when"111"=>C<="11";whenothers=>null;endcase;endprocess;endMUX; (C)MUXMUX结构9第九页,共七十五页,2022年,8月28日C1<=(A(1)andA(0))or(A(2)andA(0))or(A(2)andA(1))C0<=(A(2)andnotA(1)andnotA(0))or(notA(2)andA(1)andnotA(0))or(A(2)andA(1)andA(0))or(notA(2)andnotA(1)andA(0));C1<=(A1•A0)+(A2•A0)+(A2•A1)C0<=(A2•A1•A0)+(A2•A1•A0)+

(A2•A1•A0)+(A2•A1•A0);

10第十页,共七十五页,2022年,8月28日G1G2G3G4X(0)X(1)X(0)X(2)X(1)X(2)A1A2A3C1C012个倒向器、7个与非门(4个3端口)、2个或非门11第十一页,共七十五页,2022年,8月28日综合后的逻辑图VHDLDesignRepresentationandSynthesisSynopsys综合工具,LSI10k库,9个单元,最长路径4.98ns5个倒相器、3个4端口与或非门12第十二页,共七十五页,2022年,8月28日13第十三页,共七十五页,2022年,8月28日例2.不同RTL描述得到不同电路结构:4位加法器

entityadderis

port:(a,b:inintegerrange0to3;y:outintegerrange0to3);end;

算法级1Architecturebehv1ofadderisbeginprocess(a,b)beginy=a+b;endprocess;endbehv1;14第十四页,共七十五页,2022年,8月28日算法级2Architecturebehv2ofadderisSignalS:stand_logic_vector(Ndownto0);beginS<=(‘0’&a)+b+cin;Sum<=S(N-1downto0);Cout<=S(N);endbehv2;N是一个类属参数,具有通用性(p259)边连接符15第十五页,共七十五页,2022年,8月28日

MotorolaHDC库Synopsys综合工具。边P259VHDL设计电子线路16第十六页,共七十五页,2022年,8月28日一位加法器17第十七页,共七十五页,2022年,8月28日RTL(1)—行波进位加法器(Ripplecarryadder)architecturestrucofadderissignalC:std_logic_vector(4downto0);beginprocess(a,b,cin,c)beginC(0)<=Cin;foriin0to3loopSum(i)<=a(i)xorb(i)xorC(i);C(i+1)<=(a(i)andb(i))or(C(i)and(a(i)orb(i)));endloop;Cout<=C(4);endprocess;endstruc;18第十八页,共七十五页,2022年,8月28日面积最小、速度最慢。边29319第十九页,共七十五页,2022年,8月28日20第二十页,共七十五页,2022年,8月28日RTL(2)—先行进位加法器(carrylookforwardadder)

P(i)=(A(i)

B(i))-进位传输信号

G(i)=A(i)•

B(i)-进位产生信号

C1=G1+P1•

C0C2=G2+P2•

G1+P2•

P1

C0=G2+P2•

(C1)C3=G3+P3•G2+P3•P2•G1+P3•P2•P1•(C0)=

G3+P3•(C2)

C4=G4+P4•(C3)S1=P0C0S2=P1C1S3=P2C2S4=P3C3王永军P131,数字逻辑与数字系统

++++++Ci=G(i)+P(i)Ci-1Si=Ci-1+P(i)21第二十一页,共七十五页,2022年,8月28日

先行进位C-out及S和的产生P(i)Ci-1S(i)22第二十二页,共七十五页,2022年,8月28日23第二十三页,共七十五页,2022年,8月28日边29224第二十四页,共七十五页,2022年,8月28日速度面积(4)(2)(1)同一个算法级描述,可以有不同RTL描述,综合后得到不同要求的硬件。行波超前(3)先行25第二十五页,共七十五页,2022年,8月28日2.综合工具流程根据VHDL源码产生一个与实现技术无关的通用原理图(genericschematic)根据设计要求执行优化(optimization)算法,化简状态和布尔方程(逻辑综合)按半导体工艺要求,采用相应的工艺库,把优化的布尔描述映射(mapping)到实际的逻辑电路网表26第二十六页,共七十五页,2022年,8月28日

平RTL描述展优化(面积、时间)映射网表未优化布尔式优化布尔式综合工具流程约束文件—script工艺库——Library27第二十七页,共七十五页,2022年,8月28日综合工具

RTLDescriptionTechnologyLibraryConstraints(Area,Time)Gate

ReportLevelNetlistSynthesis28第二十八页,共七十五页,2022年,8月28日3.关键技术展平

组合逻辑元件:如果进程对读取的所有信号都敏感(即进程的信号敏感表中包含读取的所有信号),则此进程称组合进程AiBiCiCi=AiandBi

11110001000029第二十九页,共七十五页,2022年,8月28日

展平(续)

R—S触发器ProcessBegin

if(R=1andS=0)thenQn<=‘0’;Qnb<=‘1’;elsif(R=0andS=1)then

Qn<=‘1’;Qnb=‘0’;elsif(R=0andS=0)then

Qn=Qn-1;endif;不完整赋值语句Endprocess

RSQn10001100Qn-111不允许30第三十页,共七十五页,2022年,8月28日

R=1,S=1时;Qn、Qn同时为0,这与RS触发器定义同时有Qn和Qn态相矛盾,而且当R=0,S=0再出现时不会保持,而会发生振荡,因而不允许R=1,S=1情况出现。要在电路前端采取措施避免这种情况产生。

RSQnQn1001011000Qn-1Qn-11100RQsQ31第三十一页,共七十五页,2022年,8月28日

锁存器:

从不完整的非同步赋值语句中能够综合出锁存器。电平敏感。>yLatchclkaPROCESS(clk,a)PROCESS(clk,a)32第三十二页,共七十五页,2022年,8月28日ClkAb

YClkAb

YClkClkClk

Y33第三十三页,共七十五页,2022年,8月28日clkab>yLatch34第三十四页,共七十五页,2022年,8月28日•展平(续)

时序逻辑

根据VHDL原码产生一个与实现技术无关的通用原理图(genericschematic)

可以综合的只是VHDL的子集(尚未标准化)

其中,基本的时序元件包括:

R—S触发器锁存器--Latch

触发器--Trigger

35第三十五页,共七十五页,2022年,8月28日

触发器:

边缘敏感触发器为同步操作时序逻辑元件,其输出由输入时钟所规定时刻的数据输入确定,可想象为对数据的采样控制。

a.每一个同步赋值的信号对应一个触发器

b.每个进程只允许有一个时钟

c.最基本的触发器为D触发器,其形式为带时钟控制的简单赋值语句,且数据输出由时钟触发36第三十六页,共七十五页,2022年,8月28日D触发器

architectureRTLofDRegisterisbeginprocess(clk)

beginifclk’eventandclk=“1”thenQ<=DendifendprocessendRTL;clk>DQQD37第三十七页,共七十五页,2022年,8月28日

优化时序优化—状态优化状态减少:即寄存器个数减少,合并等价状态、删除冗余状态;状态分配:将最小状态表中的每个状态分配一个状态变量的编码,目标是造价最低(数字逻辑理论)

组合逻辑优化—面积小、速度快

•面积小—用与门和或门输入端数之和表示面积大小。

速度快—二级逻辑与或非门速度最快,级数多则慢

往往矛盾,根据需要折衷38第三十八页,共七十五页,2022年,8月28日时序优化时序电路:输出信号out不仅依赖于输入信号in的当前值;还依赖于输入信号in的历史值。时序电路的记忆元件若是在统一的时钟激励下发生状态转换,则称为同步时序电路。组合逻辑电路记忆元件输入in输出out次态next当前状态state39第三十九页,共七十五页,2022年,8月28日串并转换器框图时钟后沿触发;

R:同步复位信号;A:下一拍输入D有效;收集D串行数据4位,并行输出在Z上;DONE与Z输出在同一周期,提示目标器件数据在Z上;同时A下一脉冲到来,指示新数据将在下一时钟周期到达D;否则器件在送完并行数据以后,进入复位状态,等待新数据到来.规范40第四十页,共七十五页,2022年,8月28日时序图状态优化41第四十一页,共七十五页,2022年,8月28日时序机状态图42第四十二页,共七十五页,2022年,8月28日状态表1.用枚举类型来表示状态2.将状态表编码3.建模43第四十三页,共七十五页,2022年,8月28日时序优化时序机综合步骤:

1)建立原始状态图(状态表)

2)状态化简:删除冗余状态、合并等价状态。寻求一个功能等价的、状态数目最小或接近最小的时序机-即寄存器个数减少;

3)状态分配:将最小状态表中的每个状态分配一个状态变量的编码,目标是造价最低;

4)用组合逻辑电路综合的方法,实现次态函数和输出函数(为组合电路输出)。44第四十四页,共七十五页,2022年,8月28日时序优化状态分配:给每个状态分配一个记忆元件的编码来表征该状态。通常用寄存器(二值元件)作为记忆元件,因此是用寄存器所构成的二进制编码代表状态。设状态总数为n,寄存器长度m,则:

2m

>=n45第四十五页,共七十五页,2022年,8月28日控制电路和数据单元—控制电路

46第四十六页,共七十五页,2022年,8月28日组合逻辑优化

例1单端输出二级逻辑

Y1=X1X2X4+X1X2X3X4+X1X2X3X4+X1X2X3X4+X1X2X3X4Y1’=X1X2X4+X1X3X4+X2X3X4

Y1Y1’X1X1X2X247第四十七页,共七十五页,2022年,8月28日例2多输出二级逻辑

Y1=X1X2X3Y2=X1X2X3+

X1X2X3

Y3=X1X2X3+

X1X2X3+

X1X2X3+

X1X2X3X1X2X3Y1Y2Y3000,001001,001010,X01011,X01100,110101,010T=48第四十八页,共七十五页,2022年,8月28日例2多输出二级逻辑(续)优化为:Y1=X1X2X3Y2=X1X2Y3=X1000,001001,001010,X01011,X01100,110101,010T=00X,00101X,X01100,110101,010T’=X2X1X3Y1Y2Y3真值表的阵列表示49第四十九页,共七十五页,2022年,8月28日用多维逻辑空间来表达三种输入集合

000,110001,110010,010COFF=011,010100,001101,101

断开集合

导通集合无关集合

010,100

011,100110,111111,111000,001001,001010,001CoN=011,001100,110101,010CDC=真值表中Y为1的保留为1,其余非1位改为0真值表中Y为0的改为1,其余非0位的保留为0真值表中Y为X的改为1,其余非X位改为050第五十页,共七十五页,2022年,8月28日二级逻辑优化关键技术逻辑函数的多维体表示:

Y1=X1X2X3Y2=X1X2多维逻辑空间:Y3=X1100•100Con=10X•0100XX•001(001)(100)(100)(101)(011)(000)(010)Y1Y2Y3Con的多维体表示51第五十一页,共七十五页,2022年,8月28日

例1.

数‘1’电路architectureALGORITHMICofONE_CNTisbeginprocess(A) variableNUM:INTERGERrange0to3;begin NUM:=0; forIin0to2loop; ifA(I)=‘1’then NUN:=NUM+1; endif; endloop;C1

C0 caseNUMis when0=>C<=“00”; when1=>C<=“01”; when2=>C<=“10”; when3=>C<=“11”; endcase;endprocess;endALGORITHMIC;

算法描述真值表--TruthTable:-----------------------------------|A2A1A0|C1C0|-------------------------------|000|00|--|001|01|--|010|01|--|0x11|10|--|100|01|--|10x1|10|--|110x|10|--|1x11|11|-----------------------------52第五十二页,共七十五页,2022年,8月28日C1<=(A(1)andA(0))or(A(2)andA(0))or(A(2)andA(1))C0<=(A(2)andnotA(1)andnotA(0))or(notA(2)andA(1)andnotA(0))or(A(2)andA(1)andA(0))or(notA(2)andnotA(1)andA(0));C1=(A2•A1•A0)+(A2•A1•A0)+(A2•A1•A0)+A2•A1•A0C1=(A1•A0)+(A2•A0)+(A2•A1)C1=(A2•A1•A0)+(A2•A1•A0)+(A2•A1)=A0(A2•A1+A2•A1)+(A2•A1)=(A0•(A2A1))+(A2•A1)C0=(A2•A1•A0)+(A2•A1•A0)+

(A2•A1•A0)+(A2•A1•A0);=A0(A2A1)+A0(A2A1)=A0(A2A1)

53第五十三页,共七十五页,2022年,8月28日G1G2G3G4X(0)X(1)X(0)X(2)X(1)X(2)A1A2A3C1C012个倒向器、7个与非门(4个3端口)、2个或非门54第五十四页,共七十五页,2022年,8月28日

多维逻辑空间:(100)(011)(101)(111)(110)C1C0(001)(111)(010)00A2•A0A1•A0A2•A1A2A1A055第五十五页,共七十五页,2022年,8月28日综合后的逻辑图Synopsys综合工具,LSI10k库,9个单元,最长路径4.98ns56第五十六页,共七十五页,2022年,8月28日一位加法器57第五十七页,共七十五页,2022年,8月28日逻辑函数的覆盖--质蕴涵体覆盖:符合一定条件的多维体集合覆盖的性质(导通覆盖):导通覆盖:必须包含导通集合中全部顶点,不包括断开集合中任一顶点,但可包含无关集合中的某些顶点。覆盖中的每一个多维体称为蕴涵体,每个蕴涵体必须至少包含一个属于导通集合的顶点。最小的蕴涵体就是导通集合中的一个顶点。组成覆盖的所有蕴涵体都必须是质蕴涵体:如果一个蕴涵体不会被另一个已存在或可能存在的蕴涵体全部包含,则称此蕴涵体为质蕴涵体。覆盖中应排除非质蕴涵体。覆盖中所有的质蕴涵体都是必要质蕴涵体:如果一个质蕴涵体中至少有一个顶点未被覆盖中的其他质蕴涵体包含,则称此质蕴涵体为必要质蕴涵体。覆盖中应排除非必要质蕴涵体。58第五十八页,共七十五页,2022年,8月28日组合逻辑优化组合逻辑电路综合的基本方法:把设计者的原始描述转化为初始覆盖表覆盖表最小化:将初始覆盖最小化(排除非质蕴涵体以及非必要质蕴涵体),即以最低或接近最低成本实现该电路找出一个与最小化覆盖表相对应的组合逻辑电路59第五十九页,共七十五页,2022年,8月28日覆盖的最小化冗余的判断冗余蕴涵体的删除冗余连线的删除覆盖的评价与最小化的策略(成本)

1).与门的个数,即必要的质蕴涵体个数 与门个数=或门输入端数

2).连线的个数,即与门和或门的输入端口数

3).单个与门的输入端数

4).单个或门的输入端数

5).单个与门的扇出数:FO-元件可驱动同类元件个数

成本(1)为第1成本,(2)为第2成本,单个门成本为(3)+(5);60第六十页,共七十五页,2022年,8月28日例3多级逻辑优化Y1=X1X2X3X4+X1X2X3X5+X1X2X6Y1’=X1X2(

X3X4+X3X5+X6)x1x2x3x4x3x5x6x3x4x3x5x6Y1Y1’x1x2以输入端数算面积,以逻辑级数算速度。61第六十一页,共七十五页,2022年,8月28日工艺映射选择元件选择驱动强度优化62第六十二页,共七十五页,2022年,8月28日示例以面积为目标(1)69门,10.8ns63第六十三页,共七十五页,2022年,8月28日以速度为目标(1)487门,4.5ns64第六十四页,共七十五页,2022年,8月28日以面积为目标(2)65第六十五页,共七十五页,2022年,8月28日以速度为目标(2)66第六十六页,共七十五页,2022年,8月28日RTL描述的可综合性延迟语句不可综合全部用同步电路——易于设计每一层次规模不多于500门避免使用多周期每一个层次化模块的输出,应直接来自触发器的输出端67第六十七页,共七十五页,2022年,8月28日

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论