数字系统设计:数字系统_综合_第1页
数字系统设计:数字系统_综合_第2页
数字系统设计:数字系统_综合_第3页
数字系统设计:数字系统_综合_第4页
数字系统设计:数字系统_综合_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

1、综合概述本章主要内容:1. 综合的层次2. 高层次综合3. 逻辑综合4. HDL逻辑综合软件5. 可编程器件的综合综合的层次 针对一个给定的设计,根据设计应实现的功能与相应的约束条件,通过计算机的优化处理,获得一个满足要求的设计方案的过程,就称为综合。 数字系统可以在多个层次上描述,这些层次由高到低可以分为算法层、寄存器传输层、逻辑层、电路层、版图层。 通常,综合可以分为3个层次:高层次综合、逻辑综合、版图综合。主要了解从算法级行为描述寄存器传输级结构描述的综合技术。算法级寄存器传输级逻辑级电路级版图级行为特性物理特性结构特性高层次综合版图综合逻辑综合高层次综合高层次综合:从算法级的行为描述转

2、换到寄存器传输级的描述。高层次综合系统的输入:硬件描述语言的源描述。综合结果:通常包括一个数据通路和一个控制器。数据通路(datapath):由寄存器、功能单元、多路器和总线等模块构成的互连网络,用于实现数据的传输。控制器(controller):通常由硬连逻辑(hardwired logic)或固件(firmware)构成,用于控制数据通路中数据的传输。数据通路中的功能单元可以是半导体厂商提供的已经设计好的单元,也可以是下一步将要设计的假定单元。 存储单元包括寄存器和内存单元,其中的使能输入与控制器相连,以控制其读/写操作。 互连网包括连线、多路器和总线,其中的选择输入与控制器相连,用于选择

3、输入数据。 这些模块互连并由控制器提供控制信号后,即完成了一个实现预定功能的寄存器传输级设计。高层次综合编译与转换调度分配控制器综合反编译功能单元库算法描述中间表示格式数据流控制流数据通路硬件逻辑结构描述直接用于文档管理或其他逻辑综合工具的输入直接用于有限状态机综合与逻辑综合的输入确定每个状态发生的时刻ASM图的硬件实现给数据分配寄存器给操作分配功能单元从算法级的行为描述转换到寄存器传输级描述的过程。在寄存器传输级控制器被表示成为一个有限状态机(或微程序)高层次综合高层次综合技术的应用可以明显地提高设计速度,缩短设计周期,允许设计者寻求最优或满意的设计方案。高层次综合技术的引入使得集成电路的用

4、户,特别是专用集成电路的用户(可以不是集成电路设计专家),可以直接进行数字系统从行为描述到芯片描述的设计工作。 说明:本章中仅介绍通用同步电路的综合技术。实现一个给定行为功能的硬件结构通常可以有许多种,高层次综合的任务是找出一个满足约束条件和目标集合的、造价最低的硬件结构。逻辑综合逻辑综合就是将高抽象层次的描述自动地转换成较低抽象层次描述的一种方法。就现在的逻辑综合工具而言,所谓逻辑综合就是将RTL级的描述转换成门级网表的过程。说明:设计人员只要正确地使用这些工具就可以得到系统的门级网络表。逻辑综合逻辑综合:RTL级的描述转换成门级网表的网表视图逻辑综合逻辑综合的过程工艺库RTL描述代码属性门

5、级网表逻辑综合器约束条件在综合器进行自动综合前,需完成代码的设计,以及工艺库、属性、约束条件的设定。说明:工艺库、属性及约束条件的设定不是必需的,可使用综合工具的缺省值。逻辑综合_约束条件对于一个数字系统而言,芯片的面积和芯片的速度是综合时要考虑的最主要两方面约束。&ABCDE如下图:假设一个2个管脚的门电路需要4个晶体管,则上图需要16个晶体管,最大延时是4个单位的门延时。&=1ABCDEC下图是相同功能的等效电路:假设3个管脚的门电路需要6个晶体管,则上图需要18个晶体管,最大延时是3个单位的门延时。逻辑综合_约束条件设计者可通过约束条件对设计进行优化。如对上例中在保持面积不变时(即使用的

6、门数相同),对速度进行约束。 用于综合的约束可以用用户定义属性来表示。用户定义只是用于给综合工具传递约束信息,仿真时被忽略。格式: 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 pin_no :natural ;Attribute pin_no of q : signal is

7、 42 ; -为端口锁定芯片引脚 1、约束的表示逻辑综合_约束条件 2、资源的约束例: if select=1 then q=a+b; else q=c+d; end if ;点评:上面的例子可以用2个加法器和1个二路选择器实现也可以用1个加法器和2个二路选择器完成。逻辑综合_约束条件 2、资源的约束逻辑综合_约束条件用2个加法器和1个二路选择器实现用1个加法器和2个二路选择器完成 3、时间的约束 假定一个时序系统工作在20MHZ的时钟频率,那么通过状态寄存器和次态产生逻辑的最大延迟不能超过50ns(20MHZ的倒数)。逻辑综合_约束条件属性:用于规定设计所进行的环境,如用属性规定对输出器件必

8、须驱动的负载、驱动设计时器件的驱动能力和输入信号的时序等。逻辑综合_属性负载属性规定在一特定的输出信号上现有的负载能力是多少,按工艺库的单位并以pf计算(或以标准负载计算等等)和规定负载值。例如定时分析器将对弱驱动和强的电容负载计算出一个长延时值,对强驱动和小负载算出一个短的延时值。下面是Synopsys Design Compilerformat中负载规范的例子: Set_load 5 xbus该属性规定xbus信号将加载带5个库单元负载的信号。逻辑综合_属性驱动属性规定驱动器的电阻,即它控制驱动器的源有多少电流。这个属性也按工艺库的单位来指定,较大型驱动器将对应较快速的特定通道,但较大型驱

9、动器花费的面积也更多些,因此设计者为了得到一种最好的实现方式,需要在速度和面积量方面进行折衷优化。按Synopsys Design Compiler驱动规格的示例如下: Set_drive 2.7 vbus该属性规定信号ybus有2.7个库单位的驱动能力。逻辑综合_属性到达时间是综合期间某些综合工具(如DC)用静态时间分析器检查时,正在建立的逻辑是否满足用户规定的时间限制条件。在节点上有特定信号发生时,在特定的节点上设置到达时间并指定静态定时分析,分析时延后抵达的信号最关键。后到信号激励是在较迟的时间输入到当前模块的,而当前模块的结果仍必须满足有关它输出本身的时间。逻辑综合_属性 工艺库持有综

10、合工具必须的全部信息工艺库不仅仅含有FPGA单元的逻辑功能,而且还有该单元的面积、单元输入到输出的定时关系、有关单元的某种限制和对单元所需的时序检查逻辑综合_工艺库library (xyz)cell (and2)area : 5;pin (a1, a2)direction : input;capacitance : 1;pin (o1)direction : output;function : a1 * a2;timing ()intrinsic_rise : 0.37;intrinsic_fall : 0.56;rise_resistance : 0.1234;fall_resistance

11、 : 0.4567;related_pin : a1 a2; 多数综合工具都有计算FPGA单元的十分完整的复杂延时模型,它包括固有的上升和下降时间、输出负载与输入级波形斜度延时和估计的引线延时,下图从门输入到输出的总延时是:固有延时负载延时引线延时输入级波形斜度延时逻辑综合_工艺库 RTL描述:亦称数据流描述,是一种明确规定寄存器描述的方法。即,是指以规定设计中采用的各种寄存器形式为特征,然后在寄存器之间插入组合逻辑。逻辑综合_RTL描述代码 逻辑综合_逻辑综合器应用逻辑综合工具将RTL描述转换到门级描述般有三个步骤:把RTL描述转换为未优化的门级布尔描述;执行布尔优化算法,产生一个优化的布尔

12、方程描述;按目的工艺要求,采用相应的工艺库把优化的布尔等式描述映射到实际逻辑门。RTL描述未优化描述优化描述门级网表转换布尔优化映射到门级逻辑综合转换从RTL描述转换到布尔等式描述通常并不是由用户控制的,所产生的中介形式一般为特定优化工具的格式,甚至是不可能由用户可视的。按照这种中介描述,ALL IF、CASE、LOOP语句、条件信号赋值和选择信号赋值语句转换到它们的布尔表达式,或者由装配组成触发器和锁存器,或者由推论去生成触发器和锁存器。按照其中介的描述这两种情况都能产生同样的触发器和锁存器。逻辑综合布尔优化优化过程用大量的算法和规则把一个非优化的布尔的描述转化到优化的布尔描述。转换非优化布

13、尔描述到最低级描述,然后优化那种描述,并尝试用(引入中间变量)共享公共项去减少逻辑门。包括展平设计和提取公因数。逻辑综合布尔优化转换非优化布尔描述到一种pla格式的过程称为展平设计,即它将所有的逻辑关系都转换成简单的AND和OR的表达式。目的:使非优化的布尔描述格式转换成能执行优化算法的布尔描述格式。例:a = b and c ;b = x or (y and z) ;c = q or w ;展平过程中将消掉这些中间节点:a=(x and q)or(q and y and z)or(w and x)or(w and y and z);这种设计通常非常快。展平设计:逻辑综合布尔优化提取公因数:提

14、取公因数是把附加的中间项加到结构描述中的一种过程。展平设计通常会使设计变得非常之大,而且要产生大扇出,展平过程可能比提取公因数的设计在速度上要慢得多。 例: x = a and b or a and d; y = z or b or d;提取公因数之后: x = a and q; y = z or q; z = b or d; 提取公因数通常将产生一个“更好些”的设计,但也可能是一个相互非常依赖的设计,附加的结构将在输入与输出之间增加逻辑级数,增加逻辑级又会增加延时,导致设计较慢。逻辑综合映射到门级映射过程取出由优化后的布尔描述并利用从工艺库得到的逻辑和定时信息生成网表。网表是对用户所需面积和速度目标的体现,有大量的网表,它们在功能上相同但在速度和面积上都在一个很宽的范围上可变。逻辑综合映射到门级如实现一四位加法器的两个网表,VHDL描述如下:ARCHITECTURE test OF

温馨提示

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

评论

0/150

提交评论