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

上传人:ldj****22 文档编号:48807449 上传时间:2018-07-20 格式:PPT 页数:42 大小:1.17MB
返回 下载 相关 举报
主讲人邓洪波单位电子与信息学院_第1页
第1页 / 共42页
主讲人邓洪波单位电子与信息学院_第2页
第2页 / 共42页
主讲人邓洪波单位电子与信息学院_第3页
第3页 / 共42页
主讲人邓洪波单位电子与信息学院_第4页
第4页 / 共42页
主讲人邓洪波单位电子与信息学院_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《主讲人邓洪波单位电子与信息学院》由会员分享,可在线阅读,更多相关《主讲人邓洪波单位电子与信息学院(42页珍藏版)》请在金锄头文库上搜索。

1、主 讲 人:邓洪波单 位:电子与信息学院7 综合* *1 1综合综合的层次寄存器传输级综合(RTL)约束(constraints)FPGA综合算法综合(行为级综合)在RTL综合中,我们从综合的角度讨论了寄存器引入的方法和组合电路的设计(如避免引入不必要的寄存器)。RTL综合是由VHDL描述和综合的约束条件决定,所以我们接下来讨论约束constraints。FPGA综合主要是阐述如何根据VHDL的逻辑描述选择合适的FPGA。最后简单讲一下算法级综合的过程。 Date2综合的层次综合,就是针对给定的电路应实现的功能和实现此电路的约束条件,如速度、资源、电路类型等,通过计算机的优化处理,获得一个满足

2、上述要求的电路设计方案。u被综合的文件:VHDL程序u综合的依据:逻辑设计的描述和约束条件u综合的结果:硬件电路的实现方案注意:对于综合来说,满足要求的方案可能有多个,综合器将产生一个最优或接近最优的结果。 Date3综合的层次数字系统可以在多个层次上描述,这些层次由高到低可以分为算法层、寄存器传输层、逻辑层、电路层、版图层。本章主要论述算法级综合和寄存器传输级综合。Date4寄存器传输级综合在寄存器传输级,硬件通常可以控制单元和数据处理器两类。 u控制单元:有限状态机u数据处理器:组合逻辑描述和寄存器操作在当前的超大规模集成电路设计过程中,主导的设计方法仍然是寄存器传输级设计。书本4、5、6

3、、7的VHDL例子都适合于寄存器传输级综合。 RTL综合要知道系统的所有输入和输出,包括时钟等。同时RTL综合也会受到状态机的状态编码和物理约束(包括芯片大小、最大门数、最低时钟频率等)。 主要内容有:不能综合的VHDL描述、从综合的角度讨论寄存器引入的方法和组合逻辑电路的设计。Date5不能综合的VHDL描述u延时模型中,After后面设置的时间延迟是不能被综合的uWait for结构在综合时会被忽略u文件操作也不能被综合uGeneric设置的属性参数要设一个默认值u指针操作(由acess关键字引导)在综合时被忽略u浮点数至少需要32位,所以浮点数操作需要大量的硬件资源,不利于FPGA综合u

4、信号或变量的初始设定值综合时会被忽略看书P179Date6寄存器引入方法看书P180P184注意:条件涵盖不完整的case语句产生寄存器 P181并行条件赋值语句产生锁存器的缺点 P182Date7组合逻辑设计组合逻辑设计要尽量避免引入不必要的寄存器。u组合逻辑进程中不能存在边沿触发状态uIf 语句、case语句涵盖要完整u如果信号或变量在一个case分支有赋值,就必须在每个分支都有赋值操作。(或在case语句前面有赋值)u敏感信号参数表中必须包括所有会启动进程的输入信号下面举例子进行说明:要求只需引进状态寄存器,输出由组合逻辑组成。Date8组合逻辑设计1、首先使用单进程法描述状态机Libr

5、ary ieee;Use ieee.std_logic_1164.all;Entity FSM isport (clk, inA, inB : in std_logic ;outA, outB : out std_logic );End FSM;Architecture try1 of FSM isBeginP0: process type state is ( s0, s1, s2);variable present_state : state;beginwait until rising_edge(clk) Date9组合逻辑设计Case present_state iswhen s0 =

6、outAoutAoutBoutAoutAoutBoutAoutAoutBoutAend case;end process com; End try2 ;Date15组合逻辑设计方法二:com: process( present_state, inA, inB)begin outAoutAend case;end process com; End try2 ;Date16约束constraints一项设计要用特定时钟频率的FPGA来实现时,要考虑面积和速度的约束(最主要的两方面约束)。看下面的两个等效电路: u(a)需要16个晶体管,所以面积小,但速度慢(4个门延迟)u(b)需要18个晶体管,所

7、以面积大,但速度快(3个门延迟)设计目标或者是要求反映到综合工具就是各种约束constraintsDate17约束constraints1、约束的表示用于综合的约束可以用用户定义属性来表示。用户定义属性只是用于给综合工具传递约束信息,仿真时被忽略。格式:attribute 属性名 : 数据类型 ;attribute 属性名 of 对象名 :对象类型 is 值;例1:Type state is ( s0, s1, s2, s3 ); Attribute enum_encoding of state : type is “00 01 11 10”; -用于确定状态编码例2:Attribute pi

8、n_no :natural ;Attribute pin_no of q : signal is 42 ; -为端口锁定芯片引脚Date18约束constraints2、约束u状态机的状态编码方式不同的状态编码会导致硬件的不同实现:计数形式编码(00、01、10、11)格雷编码(00、01、11、10)One-hot编码(001、010、001)u资源约束例: if select=1then q y y y y y=e;end case ;end process;End version1;点评:用Xilinx的FPGA进行综合,需要两个CLB块。 (一个CLB有8个输入,这里有10个输入) D

9、ate24FPGA综合2、FPGA综合举例Architecture version2 of mux isBeginy=a when s(0)=1elseb when s(1)=1elsec when s(2)=1else d when s(3)=1else e when s(4)=1else Z;End version2;点评:不能用Actel FPGA综合,因为它不支持三态门。Date25算法级综合算法综合描述了从算法级的抽象行为规格说明到寄存器级(或门极)规格说明的自动转换。算法级综合的流程如图:Date26算法级综合以一个简单的算法级VHDL描述为例:Library ieee;Use i

10、eee.std_logic_1164.all ;Entity synex isport ( 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 isBeginX=E*(A+B+C );Y=(A+C)*(C+D);End high_level;Date27算法级综合1、编译编译把VHDL描述转换为一个适合自动综合的中间格式(数据流图DFG)DFG中的节点表示VHDL中的操作。箭头表示操作的先后关系。Date

11、28算法级综合2、调度调度为每个操作赋予一个控制步骤。控制步骤是同步系统中最基本的时间单元,它对应一个时钟周期。调度的目标使得器件完成所有功能所需时间最少。(通俗的理解,确定每个操作发生的时刻)uASAP(as soon as possible) 每个操作被调度发生在可能的最早时刻uALAP(as late as possible) 每个操作都尽可能晚的调度Date29算法级综合uASAPDate30算法级综合uALAPDate31算法级综合3、分配分配是指定义系统中部件和部件之间互连的过程。u分配寄存器或RAM存储器来存放数据值u分配功能部件来执行特定的操作u分配互连路径在部件之间传输数据D

12、ate32算法级综合3 分配分配原则如下:u深色黑圈表示需要存储的数据,需要给每个黑圈分配一个寄存器u给每个操作分配功能部件u不同时间单元的寄存器和功能部件可以复用,复用的方式会影响互连的复杂程度Date33算法级综合3、分配一种可能的分配结果如下图:注意:复用的寄存器有R1(3个)、R2(3个)、R4(2 个)Date34算法级综合4、硬件实现经ASAP调度分配后的硬件实现(没有考虑约束条件)Date35算法级综合4、硬件实现硬件实现所需部件表:点评:因为对寄存器和功能部件进行了复用,所以需要多路选择器Date36算法级综合5、调度和分配的交互调度和分配并不是相互独立的操作。分析:前面的AS

13、AP调度使系统获得了最大速度。假设现在为了减少面积,工程师打算用一个加法器和一个乘法器来实现硬件系统。ASAP调度不能满足要求。Date37算法级综合5、调度和分配的交互 (在硬件约束条件下进行重新调度) 点评:由于硬件的约束造成了一个额外的控制步骤,执行时间由4个时钟 周期增加到5个时钟周期。X=E*(A+B+C );Y=(A+C)*(C+D);Date38算法级综合6、约束调度的分配遵循三点分配原则,得到的分配结果:Date39算法级综合7、约束调度的硬件实现Date40算法级综合7、约束调度的硬件实现约束调度所需的部件:点评:同没有约束条件相比,它减少了2个加法器,多路选择器的尺寸由3 X 1减少到 2 X 1 , 但增加了一个额外的2 X 1 的多路选择器。总的来说这个方案的实现比原始设计所需的面积要小。这里并没有考虑互连的开销。Date41本章总结u当前超大规模集成电路设计的主导方法是寄存器传输级设计u重点掌握RTL级综合:寄存器引入和组合电路的设计u熟悉两大类FPGA的结构,学会针对不同的VHDL描述,选择不同的FPGA进行综合。u了解算法级综合过程(由综合工具的自动实现)Date42

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号