202X年采用VHDL进行高层次设计

上传人:tang****xu7 文档编号:134331130 上传时间:2020-06-04 格式:PPT 页数:362 大小:1.26MB
返回 下载 相关 举报
202X年采用VHDL进行高层次设计_第1页
第1页 / 共362页
202X年采用VHDL进行高层次设计_第2页
第2页 / 共362页
202X年采用VHDL进行高层次设计_第3页
第3页 / 共362页
202X年采用VHDL进行高层次设计_第4页
第4页 / 共362页
202X年采用VHDL进行高层次设计_第5页
第5页 / 共362页
点击查看更多>>
资源描述

《202X年采用VHDL进行高层次设计》由会员分享,可在线阅读,更多相关《202X年采用VHDL进行高层次设计(362页珍藏版)》请在金锄头文库上搜索。

1、使用VHDL进行数字电路设计 ASIC技术的发展电路系统设计方法自定向下的设计流程设计描述风格 高层次设计方法 ASIC技术的发展 由于所设计的系统的规模已从几十几百门增加到几万几十万门 使得从前电子工程师所熟悉的画电路图 真值表和卡诺图的设计方法已经远远不能满足数字系统的复杂性要求 ASIC技术的发展 高层次设计方法 HLD HighLevelDesign 是从八十年代末以来 最新专用集成电路设计的 最先进的设计方法 它为用户设计更大规模 更高水平 性能优良的数字系统提供了可靠的保证 HLD符合目前对电路的两个要求 TimetoMarket 对于通信领域来说 快速推出市场需要的系统具有非常重

2、要的价值 HLD使得快速设计较大的芯片成为可能 SOC 目前对数子系统的需求是规模越来越大 HLD非集成电路专业背景的通信厂商设计大规模芯片提供了可能 设计技术的发展使得HLD成为可能 设计技术的发展使得HLD成为可能 采用最原始的版图设计只需要相应的图形编辑工具采用电路图设计就需要相应的布局布线工具采用HDL语言设计电路就需要相应的综合工具支持结论 正是综合技术的提出使得HLD成为可能 电路设计方法 由底向上的设计 Bottom up 从结构层开始 采用结构化单元和由少数行为级模块构成的层次式模型 逐级向上搭建出符合要求的系统 自顶而下的设计 Top Down 先对所要设计的系统进行功能描述

3、 然后逐步分块细化 直至结构化最底层的具体实现 Top Down的优越性 提高设计生产的效率 自顶向下的设计方法允许设计者从一个高抽象层次上对系统的功能进行定制 而不需要考虑门级的具体实现方法 这充分体现了工艺无关性的基本设计思想 设计者只需要写出设计中所需部件的硬件描述语言代码或者是其它类型的模型 设计工具就会根据编写的高层描述生成门级的实现 这就大大减少了设计者以往必须花费在设计细节上的时间 Top Down的优越性 增加了设计的重用性 在大多数的自顶向下设计过程中 对设计的描述都保持在一个通用的工艺水平上 它不是为某一厂家的工艺库而特意定制的 也就是说 设计是与工艺无关的 所以在实现设计

4、时不必使用某一特定厂家的工艺 这样就极大的提高了设计的可重用性 如果需要改变设计所使用的工艺 只需要将设计在相应的工艺库上映设即可 Top Down的优越性 错误的早期发觉 可以带来好处1 减少产品开发周期2 降低开发成本3 增加设计一次成功通过的可能性 电路设计应该采用的方法 强调进行系统开发的方式 首先进行系统分析 给出Specification 划分模块 明确模块接口 确定模块内部功能 此时应该编写详细的设计说明文档 之后才是编程 调试 目前国内很难达到这个层次 但一般较大的设计都是多个设计者完成 因此模块划分和确定接口信号是非常重要的 可以极大的减少设计的调试时间 模块尽量以寄存器为边

5、界 这样对于联调和最后的系统集成非常方便 建立合理的设计习惯对于今后的工作的效率会有巨大帮助 设计技术的发展 CAD SchematicsEDA HDLVHDL和Verilog是影响最广的两种HDL VHDL相对于Veirlog而言 它在语法上更严谨一些 虽然这样也使它失去了一些灵活性和多样性 但从文档纪录 综合以及器件和系统级的仿真上讲VHDL是一种更好的选择 VHDL语言 在1981年 美国国防部提出了一种新的硬件描述语言 称之为VHSICHardwareDescriptionLanguage 也就是我们现在所说的VHDL 它是美国国防部委托IBM和TexasInstruments联合开发

6、的 1986年 VHDL被建议作为IEEE标准 经过了多次更改后 直到1987年12月 它才被接纳为IEEE1076标准 该标准经过不断完善和更新 目前的标准为IEEE1164 它已被绝大多数IC生产厂家和EDA工具供应商所接受 当前几乎所有的EDA软件 象Synopsys MentorGraphics InovaEDA Cadence等 均支持该标准 VHDL语言的特点 VHDL是工业标准的文本格式语言VHDL能同时支持仿真和综合VHDL是一种并发执行的语言VHDL支持结构化设计和TOP DOWN设计方法VHDL的描述与工艺无关支持多风格的描述方法 数字系统描述的Gajski图 VHDL描述

7、数字电路的层次 采用VHDL语言描述电路时 我们将电路的描述分为行为 Behavioral 和寄存器传输级 RegisterTransferLevel 和门级描述 GateLevel 三个层次 这样的划分是根据寄存器和组合逻辑的确定性而言的行为级 寄存器和组合逻辑都不明确RTL级 寄存器明确 组合逻辑不明确 门级 寄存器和组合逻辑都明确 三种描述层次的比较 在目前的实际设计工作中 行为描述和门级描述都很少用到 门级描述投入大量精力描述电路的具体细节 无法体现出高层描述的优点 行为描述的抽象层次太高 综合工具无法很好的理解设计者的意图 综合出的电路距离设计者的实际要求有很大差距 并且目前主流的综

8、合工具都不具有这种功能 目前有一些推出的行为综合器如Synopsys的BehavioralComplier 但用户的反映都不是很良好 使用VHDL描述组合逻辑的方法 在使用VHDL描述组合逻辑电路时 根据描述风格的不同 我们将它分为行为级描述 结构流 DataFlow 描述和结构级 StructuralLevel 描述 这里的行为级 BehavioralLevel 描述和前面的行为描述 Behavioral 从概念上是有区别的 或者说是行为描述具体在组合逻辑中的定义 行为级描述是指一个组合逻辑的功能已经明确 但它的具体实现结构没有确定 但限定使用组合逻辑实现 高层次设计流程 一 系统功能分析

9、进行系统功能分析的目的是在进行系统设计之前明确系统的需求 也就是确定系统所要完成的功能 系统的输入输出 以及这些输入输出之间的关系等 并且要确定系统的时序要求 系统功能分析的另外一个目的 就是系统的模块划分 在系统分析时 应根据功能的耦合程度 将系统划分为不同的功能模块 每一个功能都映射到一个模块 同时还需要确定模块之间的相互关系 这是模块化设计的基本要求 二 体系结构设计 体系结构设计又是整个系统设计阶段最重要的工作 它的首要任务就是数据通路和控制通路的设计 在数字系统的设计中 系统的控制是建立在数据通路的基础之上的 不同的数据通路对应了不同的控制通路 数据通路的设计包括被处理数据的类型分析

10、 处理单元的划分 以及处理单元之间的关联程度等 控制通路是数据通路上数据传输的控制单元 用于协调数据处理单元之间的关系 控制通路的设计主要包括数据的调度 数据的处理算法和正确的时序安排等 数据通路和控制通路的设计并不是截然分开的 有时在确定好数据通路后 由于时序或数据的调度等问题 而不得不重新修改数据通路 所以数据通路与控制通路的设计往往要经过许多次反复才能达到最优的效果 三 系统描述 谓系统描述也就是使用VHDL语言对系统进行编码 在进行大型软件的开发时 编码相对于前面所进行的系统划分工作相比就显得不是那么重要 但在使用硬件描述语言进行数字电路描述时 情况则完全不同 因为语言的描述直接决定着

11、电路的性能 不好的编码将无法反映所确定的体系结构 可能导致前面所做的工作完全浪 四 系统功能仿真 系统的功能仿真 FunctionalSimulation 是用来验证设计者所编写的VHDL代码是否完成了预定的功能 几乎所有的高层设计软件都支持语言级的系统仿真 这样在系统综合前就可以通过系统功能仿真来验证所设计系统的功能正确与否 在语言级系统仿真时 要求设计者使用VHDL语言所提供的丰富的仿真语句来编写系统的测试基准程序 Testbench 测试基准程序在高层次设计中占有非常重要的地位 不仅在系统功能仿真时被用来作为功能验证的基准 而且在门级仿真与后时序仿真都要以此为基准 综合优化阶段 综合器对

12、系统的综合优化主要分为两步 第一步是将硬件描述语言翻译成门电路 第二步是对产生的电路进行优化 主要工作是在第二步进行的 判断一个综合器性能的标准也是基于这一方面的 系统优化的目的就是花费最小的硬件资源满足最大的时序要求 所以系统优化就是在系统的速度 Speed 和面积 Area 之间找到一个最佳方案 Trade off 系统优化的关键在于系统约束条件 Constraints 的设定 施加到系统的约束条件将使综合器对系统的优化按照设计者所期望的目标进行 系统实现 如果系统综合优化的结果满足设计者的要求 就可以进行系统实现的工作 在一般的ASIC设计中 设计者应该将综合后电路的网表 Netlist

13、 文件和设计的时序要求 交给IC生产厂家进行下一步的工作 这是国内一般的做法 专业的微电子公司将会参与更多的后面的layout的工作 设计风格描述 设计描述的风格直接控制着EDA工具综合的结果 描述同一功能的两段RTL描述能产生出时序和面积上完全不同的电路 好的描述方式就是易于被综合器识别并可以被综合出设计者期望的电路 电路的质量取决于工程师使用的描述风格和综合工具的能力 我将会在外面介绍 我个人对高层次设计方法的理解 硬件描述语言 schematic netlist 版图综合工具布局布线工具高级语言 汇编语言 机器语言高级语言编译器机器语言编译器 assembler 目前国内还有很多人不认同

14、采用HDL的高层次设计方法 其实就是不能理解综合工具的作用 但映射到不认同C编译器或BASIC编译器的作用确是荒谬的 我认为高层次设计方法实际就是牺牲描述精确度来换取描述效率 在某些具体应用中是不适用的 比如最先进的处理器研究 但对于通常应用背景的数字系统来说TimetoMarket是非常重要的 高层次设计方法可以极大的提高设计的效率 随着综合工具性能的不断提高 高层设计方法的应用范围会越来越广 VHDL语言基础 设计实体和结构体的概念 VHDL把一个电路模块看作一个单元 对任何一个单元的描述包括接口描述和内部特性描述两个部分 接口描述称为设计实体 entity 它提供该单元的公共信息 如名称

15、 端口等 内部特性描述称为结构体 architecture 它定义单元的内部操作特性 一个结构体可以对应多个实体 结构体和实体的绑定关系称为配置 configuration 一个电路单元只能有一个entity 下面是一个最简单的例子 描述的电路是一个半加器 一个半加器的VHDL描述 entityhalfadderisport a b inbit sum carry outbit endhalfadder architecturebehaviorofhalfadderisbeginprocess a b beginif a 1 andb 1 thencarry 1 elsecarry 0 end

16、if if a b thensum 1 elsesum 0 endif endprocess endbehavior Entity的描述 entity实体名is类属参数说明端口说明end实体名 entitymuxisgeneric m time 1ns port d0 d1 sel inbit q outbit endmux 端口的方向 in 输入 out 输出 结构体内部不能再使用 inout 输入输出双向 buffer 输出 结构体内可再使用 不提倡使用buffer型 可以在内部在起一个名字 结构体的框架 architecture结构体名of实体名is定义语句begin并行处理语句end结构体名 定义语句位于architecture和begin之间 用于对结构体内部所使用的信号 常数 数据类型 函数等进行定义 信号定义和端口说明一样 应有信号名和数据类型 因它是内部使用 不需要有方向的说明 并行处理语句处于语句begin和end之间 具体描述了结构体的行为及其连接关系 在结构体中的语句都是可以并行执行的 语句的执行顺序不以书写的语句顺序为执行顺序 Entity和architectu

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

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

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