主讲人邓洪波电子与信息学院

上传人:仙*** 文档编号:185522824 上传时间:2023-02-03 格式:PPT 页数:42 大小:1.17MB
收藏 版权申诉 举报 下载
主讲人邓洪波电子与信息学院_第1页
第1页 / 共42页
主讲人邓洪波电子与信息学院_第2页
第2页 / 共42页
主讲人邓洪波电子与信息学院_第3页
第3页 / 共42页
资源描述:

《主讲人邓洪波电子与信息学院》由会员分享,可在线阅读,更多相关《主讲人邓洪波电子与信息学院(42页珍藏版)》请在装配图网上搜索。

1、主主 讲讲 人:邓洪波人:邓洪波单单 位:电子与信息学院位:电子与信息学院7 综合22:472综合综合综合的层次综合的层次寄存器传输级综合(寄存器传输级综合(RTL)约束(约束(constraints)FPGA综合综合算法综合(行为级综合)算法综合(行为级综合)在在RTL综合中,我们从综合的角度讨论了寄存器引入的方法和组合电路的设综合中,我们从综合的角度讨论了寄存器引入的方法和组合电路的设计(如避免引入不必要的寄存器)。计(如避免引入不必要的寄存器)。RTL综合是由综合是由VHDL描述和综合的约束描述和综合的约束条件决定,所以我们接下来讨论约束条件决定,所以我们接下来讨论约束constrain

2、ts。FPGA综合主要是阐述如何综合主要是阐述如何根据根据VHDL的逻辑描述选择合适的的逻辑描述选择合适的FPGA。最后简单讲一下算法级综合的过程。最后简单讲一下算法级综合的过程。22:473综合的层次综合的层次 综合,就是针对给定的电路应实现的功能和实现此电路的约束条件,综合,就是针对给定的电路应实现的功能和实现此电路的约束条件,如速度、资源、电路类型等,通过计算机的优化处理,获得一个满足上如速度、资源、电路类型等,通过计算机的优化处理,获得一个满足上述要求的电路设计方案。述要求的电路设计方案。u被综合的文件:被综合的文件:VHDLVHDL程序程序u综合的依据:综合的依据:逻辑设计的描述和约

3、束条件逻辑设计的描述和约束条件u综合的结果:综合的结果:硬件电路的实现方案硬件电路的实现方案 注意:注意:对于综合来说,满足要求的方案可能有多个,综合器将产生对于综合来说,满足要求的方案可能有多个,综合器将产生一一 个最优或接近最优的结果。个最优或接近最优的结果。22:474综合的层次综合的层次 数字系统可以在多个层次上描述,这些层次由高到低可以分为数字系统可以在多个层次上描述,这些层次由高到低可以分为算法层、寄存器传输层、逻辑层、电路层、版图层。算法层、寄存器传输层、逻辑层、电路层、版图层。本章主要论述本章主要论述算法级综合算法级综合和和寄存器传输级综合寄存器传输级综合。22:475寄存器传

4、输级综合寄存器传输级综合 在寄存器传输级,硬件通常可以控制单元和数据处理器两类。在寄存器传输级,硬件通常可以控制单元和数据处理器两类。u控制单元:控制单元:有限状态机有限状态机u数据处理器:数据处理器:组合逻辑描述和寄存器操作组合逻辑描述和寄存器操作 在当前的超大规模集成电路设计过程中,主导的设计方法仍然是在当前的超大规模集成电路设计过程中,主导的设计方法仍然是寄存器传输级设计。书本寄存器传输级设计。书本4 4、5 5、6 6、7 7的的VHDLVHDL例子都适合于寄存器传例子都适合于寄存器传输级综合。输级综合。RTLRTL综合要知道系统的所有输入和输出,包括时钟等。同时综合要知道系统的所有输

5、入和输出,包括时钟等。同时RTLRTL综综合也会受到状态机的状态编码和物理约束(包括芯片大小、最大门数、合也会受到状态机的状态编码和物理约束(包括芯片大小、最大门数、最低时钟频率等)。最低时钟频率等)。主要内容有:主要内容有:不能综合的不能综合的VHDLVHDL描述、从综合的角度讨论寄存器引描述、从综合的角度讨论寄存器引入的方法和组合逻辑电路的设计入的方法和组合逻辑电路的设计。22:476不能综合的不能综合的VHDL描述描述 u延时模型中,延时模型中,AfterAfter后面设置的时间延迟是不能被综合的后面设置的时间延迟是不能被综合的uWait forWait for结构在综合时会被忽略结构在

6、综合时会被忽略u文件操作也不能被综合文件操作也不能被综合uGenericGeneric设置的属性参数要设一个默认值设置的属性参数要设一个默认值u指针操作(由指针操作(由acessacess关键字引导)在综合时被忽略关键字引导)在综合时被忽略u浮点数至少需要浮点数至少需要3232位,所以浮点数操作需要大量的硬件资源,位,所以浮点数操作需要大量的硬件资源,不利于不利于FPGAFPGA综合综合u信号或变量的初始设定值综合时会被忽略信号或变量的初始设定值综合时会被忽略看书看书P179P17922:477寄存器引入方法寄存器引入方法 看书看书P180P184注意:注意:条件涵盖不完整的条件涵盖不完整的c

7、ase语句产生寄存器语句产生寄存器 P181 并行条件赋值语句产生锁存器的缺点并行条件赋值语句产生锁存器的缺点 P182 22:478组合逻辑设计组合逻辑设计 组合逻辑设计要尽量避免引入不必要的寄存器。组合逻辑设计要尽量避免引入不必要的寄存器。u组合逻辑进程中不能存在边沿触发状态组合逻辑进程中不能存在边沿触发状态uIf If 语句、语句、casecase语句涵盖要完整语句涵盖要完整u如果信号或变量在一个如果信号或变量在一个casecase分支有赋值,就必须在每个分支都有分支有赋值,就必须在每个分支都有赋值操作。(或在赋值操作。(或在casecase语句前面有赋值)语句前面有赋值)u敏感信号参数

8、表中必须包括所有会启动进程的输入信号敏感信号参数表中必须包括所有会启动进程的输入信号下面举例子进行说明:下面举例子进行说明:要求只需引进状态寄存器,输出由组合逻辑组成。要求只需引进状态寄存器,输出由组合逻辑组成。22:479组合逻辑设计组合逻辑设计 1 1、首先使用单进程法描述状态机、首先使用单进程法描述状态机Library ieee;Use ieee.std_logic_1164.all;Entity FSM is port(clk,inA,inB:in std_logic;outA,outB:out std_logic);End FSM;Architecture try1 of FSM i

9、sBegin P0:process type state is(s0,s1,s2);variable present_state:state;begin wait until rising_edge(clk)22:4710组合逻辑设计组合逻辑设计 Case present_state is when s0=outA outA=inB;outB outB outA outA=inB;outB outB=inA;present_state:=s0;end case;end process p0;End try1;点评:点评:因为因为outA,outB,present_state在时钟上升沿语句中有

10、赋值,所以都在时钟上升沿语句中有赋值,所以都 会引入寄存器。会引入寄存器。不满足设计要求。不满足设计要求。22:4712组合逻辑设计组合逻辑设计 2 2、改用双进程法描述状态机、改用双进程法描述状态机Architecture try2 of FSM is type state is(s0,s1,s2);signal present_state,next_state:state;Begin seq:process begin wait until rising_edge(clk)present_state outA=1;-没有对没有对outB赋值,所以赋值,所以outB保持原值保持原值 if i

11、nA=1 then next_state=s1;else next_state outA=inB;outB=1;if ina=1then next_state=s2;else next_state outB=inA;-没有对没有对outA赋值,所以赋值,所以outA保持原值保持原值 next_state outA=1;outB=0;-给给outB一个赋值;一个赋值;if inA=1 then next_state=s1;else next_state end case;end process com;End try2;22:4716组合逻辑设计组合逻辑设计 方法二:方法二:com:proces

12、s(present_state,inA,inB)begin outA=0;outB outA=1;if inA=1 then next_state=s1;else next_state end case;end process com;End try2;22:4717约束约束constraints 一项设计要用特定时钟频率的一项设计要用特定时钟频率的FPGAFPGA来实现时,要考虑面积和速度的约束来实现时,要考虑面积和速度的约束(最主要的两方面约束)。看下面的两个等效电路:(最主要的两方面约束)。看下面的两个等效电路:u(a)(a)需要需要1616个晶体管,所以面积小,但速度慢(个晶体管,所以

13、面积小,但速度慢(4 4个门延迟)个门延迟)u(b)(b)需要需要1818个晶体管,所以面积大,但速度快(个晶体管,所以面积大,但速度快(3 3个门延迟)个门延迟)设计目标或者是要求反映到综合工具就是各种约束设计目标或者是要求反映到综合工具就是各种约束constraintsconstraints22:4718约束约束constraints 1 1、约束的表示、约束的表示 用于综合的约束可以用用户定义属性来表示。用户定义属性只用于综合的约束可以用用户定义属性来表示。用户定义属性只是用于给综合工具传递约束信息,仿真时被忽略。是用于给综合工具传递约束信息,仿真时被忽略。格式:格式:attribute

14、 属性名属性名:数据类型数据类型;attribute 属性名属性名 of 对象名对象名:对象类型:对象类型 is 值;值;例例1:Type state is(s0,s1,s2,s3);Attribute enum_encoding of state:type is“00 01 11 10”;-用于确定状态编码用于确定状态编码例例2:Attribute pin_no:natural;Attribute pin_no of q:signal is 42;-为端口锁定芯片引脚为端口锁定芯片引脚22:4719约束约束constraints 2 2、约束、约束u状态机的状态编码方式状态机的状态编码方式不

15、同的状态编码会导致硬件的不同实现:不同的状态编码会导致硬件的不同实现:计数形式编码(计数形式编码(00、01、10、11)格雷编码(格雷编码(00、01、11、10)One-hot编码(编码(001、010、001)u资源约束资源约束例:例:if select=1then q=a+b;else q y y y y y=e;end case;end process;End version1;点评:点评:用用Xilinx的的FPGA进行综合,需要两个进行综合,需要两个CLB块。块。(一个(一个CLB有有8个输入,这里有个输入,这里有10个输入)个输入)22:4725FPGA综合综合 2 2、FPG

16、AFPGA综合举例综合举例Architecture version2 of mux isBegin y=a when s(0)=1else b when s(1)=1else c when s(2)=1else d when s(3)=1else e when s(4)=1else Z;End version2;点评:点评:不能用不能用Actel FPGA综合,因为它不支持三态门。综合,因为它不支持三态门。22:4726算法级综合算法级综合 算法综合描述了从算法级的抽象行为规格说明到寄存器级(或门极)算法综合描述了从算法级的抽象行为规格说明到寄存器级(或门极)规格说明的自动转换。规格说明的自动

17、转换。算法级综合的流程如图:算法级综合的流程如图:22:4727算法级综合算法级综合 以一个简单的算法级以一个简单的算法级VHDLVHDL描述为例:描述为例:Library ieee;Use ieee.std_logic_1164.all;Entity synex is port(A,B,C,D,E:in integer range 0 to 7 ;X,Y:out integer range 0 to 256);End synex;Architecture high_level of synex isBegin X=E*(A+B+C);Y=(A+C)*(C+D);End high_level;

18、22:4728算法级综合算法级综合 1 1、编译、编译 编译把编译把VHDLVHDL描述转换为一个适合自动综合的中间格式(数据流图描述转换为一个适合自动综合的中间格式(数据流图DFGDFG)DFGDFG中的节点表示中的节点表示VHDLVHDL中的操作。箭头表示操作的先后关系。中的操作。箭头表示操作的先后关系。22:4729算法级综合算法级综合 2 2、调度、调度 调度为每个操作赋予一个控制步骤。控制步骤是同步系统中最基本的调度为每个操作赋予一个控制步骤。控制步骤是同步系统中最基本的时间单元,它对应一个时钟周期。调度的目标使得器件完成所有功能所时间单元,它对应一个时钟周期。调度的目标使得器件完成

19、所有功能所需时间最少。(需时间最少。(通俗的理解,确定每个操作发生的时刻通俗的理解,确定每个操作发生的时刻)uASAPASAP(as soon as possible)as soon as possible)每个操作被调度发生在可能的最早时刻每个操作被调度发生在可能的最早时刻uALAPALAP(as late as possible)as late as possible)每个操作都尽可能晚的调度每个操作都尽可能晚的调度22:4730算法级综合算法级综合 uASAPASAP22:4731算法级综合算法级综合 uALAPALAP22:4732算法级综合算法级综合 3 3、分配、分配 分配是指定义

20、系统中部件和部件之间互连的过程。分配是指定义系统中部件和部件之间互连的过程。u分配寄存器或分配寄存器或RAMRAM存储器来存放数据值存储器来存放数据值u分配功能部件来执行特定的操作分配功能部件来执行特定的操作u分配互连路径在部件之间传输数据分配互连路径在部件之间传输数据22:4733算法级综合算法级综合 3 3 分配分配 分配原则如下:分配原则如下:u深色黑圈表示需要存储的数据,需要给每个黑圈分配一个寄存器深色黑圈表示需要存储的数据,需要给每个黑圈分配一个寄存器u给每个操作分配功能部件给每个操作分配功能部件u不同时间单元的寄存器和功能部件可以复用,复用的方式会影响互连不同时间单元的寄存器和功能

21、部件可以复用,复用的方式会影响互连的复杂程度的复杂程度22:4734算法级综合算法级综合 3 3、分配、分配 一种可能的分配结果如下图:一种可能的分配结果如下图:注意:注意:复用的寄存器有复用的寄存器有R1(3个)、个)、R2(3个)、个)、R4(2 个)个)22:4735算法级综合算法级综合 4 4、硬件实现、硬件实现 经经ASAPASAP调度分配后的硬件实现(调度分配后的硬件实现(没有考虑约束条件没有考虑约束条件)22:4736算法级综合算法级综合 4 4、硬件实现、硬件实现 硬件实现所需部件表:硬件实现所需部件表:点评:点评:因为对寄存器和功能部件进行了复用,所以需要多路选择器因为对寄存

22、器和功能部件进行了复用,所以需要多路选择器22:4737算法级综合算法级综合 5 5、调度和分配的交互、调度和分配的交互 调度和分配并不是相互独立的操作。调度和分配并不是相互独立的操作。分析:分析:前面的前面的ASAPASAP调度使系统获得了最大速度。调度使系统获得了最大速度。假设现在为了减少面积,工程师打算用一个加法器和一个乘法器假设现在为了减少面积,工程师打算用一个加法器和一个乘法器 来实现硬件系统。来实现硬件系统。ASAPASAP调度不能满足要求。调度不能满足要求。22:4738算法级综合算法级综合 5 5、调度和分配的交互、调度和分配的交互 (在硬件约束条件下进行重新调度在硬件约束条件

23、下进行重新调度)点评:点评:由于硬件的约束造成了一个额外的控制步骤,执行时间由由于硬件的约束造成了一个额外的控制步骤,执行时间由4个时钟个时钟 周期增加到周期增加到5个时钟周期。个时钟周期。X=E*(A+B+C);Y=(A+C)*(C+D);22:4739算法级综合算法级综合 6 6、约束调度的分配、约束调度的分配 遵循三点分配原则,得到的分配结果:遵循三点分配原则,得到的分配结果:22:4740算法级综合算法级综合 7 7、约束调度的硬件实现、约束调度的硬件实现22:4741算法级综合算法级综合 7 7、约束调度的硬件实现、约束调度的硬件实现 约束调度所需的部件:约束调度所需的部件:点评:点

24、评:同没有约束条件相比,它减少了同没有约束条件相比,它减少了2个加法器,多路选择器的尺个加法器,多路选择器的尺 寸由寸由3 X 1减少到减少到 2 X 1,但增加了一个额外的但增加了一个额外的2 X 1 的多路选的多路选 择器。择器。总的来说这个方案的实现比原始设计所需的面积要小。总的来说这个方案的实现比原始设计所需的面积要小。这里并没有考虑互连的开销。这里并没有考虑互连的开销。22:4742本章总结本章总结 u当前超大规模集成电路设计的主导方法是寄存器传输级设计当前超大规模集成电路设计的主导方法是寄存器传输级设计u重点掌握重点掌握RTLRTL级综合:寄存器引入和组合电路的设计级综合:寄存器引入和组合电路的设计u熟悉两大类熟悉两大类FPGAFPGA的结构,学会针对不同的的结构,学会针对不同的VHDLVHDL描述,选择不同的描述,选择不同的FPGAFPGA进行综合。进行综合。u了解算法级综合过程(了解算法级综合过程(由综合工具的自动实现由综合工具的自动实现)

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!