archivetemp第八章 数字系统_综合

上传人:zengy****8888 文档编号:119988483 上传时间:2020-01-31 格式:PPTX 页数:39 大小:542.36KB
返回 下载 相关 举报
archivetemp第八章 数字系统_综合_第1页
第1页 / 共39页
archivetemp第八章 数字系统_综合_第2页
第2页 / 共39页
archivetemp第八章 数字系统_综合_第3页
第3页 / 共39页
archivetemp第八章 数字系统_综合_第4页
第4页 / 共39页
archivetemp第八章 数字系统_综合_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《archivetemp第八章 数字系统_综合》由会员分享,可在线阅读,更多相关《archivetemp第八章 数字系统_综合(39页珍藏版)》请在金锄头文库上搜索。

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

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

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

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

5、描述转换成门级网表的网表视图 逻辑综合 逻辑综合的过程 工艺库 RTL描述代码 属性 门级网表 逻辑综合器 约束条件 在综合器进行自动综合前 需完成代码的设计 以及工艺库 属性 约束条件的设定 说明 工艺库 属性及约束条件的设定不是必需的 可使用综合工具的缺省值 逻辑综合 约束条件 对于一个数字系统而言 芯片的面积和芯片的速度是综合时要考虑的最主要两方面约束 A B C D E 如下图 假设一个2个管脚的门电路需要4个晶体管 则上图需要16个晶体管 最大延时是4个单位的门延时 1 A B C D E C 下图是相同功能的等效电路 假设3个管脚的门电路需要6个晶体管 则上图需要18个晶体管 最大

6、延时是3个单位的门延时 逻辑综合 约束条件 设计者可通过约束条件对设计进行优化 如对上例中在保持面积不变时 即使用的门数相同 对速度进行约束 用于综合的约束可以用用户定义属性来表示 用户定义只是用于给综合工具传递约束信息 仿真时被忽略 格式 attribute属性名 数据类型 attribute属性名of对象名 对象类型is值 例1 Typestateis s0 s1 s2 s3 Attributeenum encodingofstate typeis 00011110 用于确定状态编码 用于有限状态机的描述中 例2 Attributepin no natural Attributepin n

7、oofq signalis42 为端口锁定芯片引脚 1 约束的表示 逻辑综合 约束条件 2 资源的约束 例 ifselect 1 thenq a b elseq c d endif 点评 上面的例子可以用2个加法器和1个二路选择器实现也可以用1个加法器和2个二路选择器完成 逻辑综合 约束条件 2 资源的约束 逻辑综合 约束条件 用2个加法器和1个二路选择器实现 用1个加法器和2个二路选择器完成 3 时间的约束 假定一个时序系统工作在20MHZ的时钟频率 那么通过状态寄存器和此态产生逻辑的最大延迟不能超过50ns 20MHZ的倒数 逻辑综合 约束条件 属性 用于规定设计所进行的环境 如用属性规定

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

9、但较大型驱动器花费的面积也更多些 因此设计者为了得到一种最好的实现方式 需要在速度和面积量方面进行折中优化 按SynopsysDesignCompiler驱动规格的示例如下 Set drive2 7vbus该属性规定信号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 0 4567 related pin a

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

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

13、后优化那种描述 并尝试用 引入中间变量 共享公共项去减少逻辑门 包括展平设计和提取公因数 逻辑综合 布尔优化 转换非优化布尔描述到一种pla格式的过程称为展平设计 即它将所有的逻辑关系都转换成简单的AND和OR的表达式 目的 使非优化的布尔描述格式转换成能执行优化算法的布尔描述格式 例 a bandc b xor yandz c qorw 展平过程中将消掉这些中间节点 a xandq or qandyandz or wandx or wandyandz 这种设计通常非常快 展平设计 逻辑综合 布尔优化 提取公因数 提取公因数是把附加的中间项加到结构描述中的一种过程 展平设计通常会使设计变得非常

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

15、VHDL描述如下 ARCHITECTUREtestOFadderISBEGINc a b ENDtest 逐位进位加法器超前进位加法器AND1217INV715OR1013特点面积省速度快 综合效果 HDL逻辑综合软件 这类软件将把HDL语言翻译成最基本的与或非门的连接关系 网表 输出edf文件 导给PLD FPGA厂家的软件进行试配和布线 为了优化结果 在进行复杂HDL设计时 基本上都会使用一些专业的逻辑综合软件 而不使用PLD FPGA厂家的集成开发软件中自带的逻辑综合功能 HDL逻辑综合软件 HDL逻辑综合软件 可编程器件的综合 Xilinx系列的FPGA是基于SRAM工艺的 每片FPG

16、A都由一排可配置的逻辑模块CLB CLB结构如下图 CLB由两个触发器和一个8输入的组合逻辑块构成 除了CLB外 XilinxFPGA中还存在三态门 Actel系列的FPGA采用的是抗熔断技术 ActelFPGA中存在两种逻辑块 组合逻辑块和时序块 注意 由于FPGA中寄存器资源相对组合逻辑充足 所以对于状态机 采用one hot编码 简化组合逻辑 反而能节省FPGA资源 在设计触发器时 如果要同时用到复位和置位 最好采用异步复位和同步置位 在设计中尽量避免电平触发的锁存器 可编程器件的综合 libraryieee useieee std logic 1164 all entitymuxisport a b c d e instd logic s instd logic vector 4downto0 y outstd logic endmux architectureversion1ofmuxisbeginprocess s a b c d e begin 可编程器件的综合 在设计时 考虑硬件资源的消耗需针对特定的器件 如下例 可编程器件的综合 casesiswhen 00001 y

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

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