




已阅读5页,还剩95页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章 第1讲 EDA概述与FPGA基本概念 2008 9 1 EDA技术与DE2实践 2 1 1EDA技术及发展 20世纪末 数字电子技术的飞速发展 有力地推动了社会生产力的发展和社会信息化的提高 在其推动下 数字电子技术的应用已经渗透到人类生活的各个方面 从计算机到手机 从数字电话到数字电视 从家用电器到军用设备 从工业自动化到航天技术 都尽可能采用了数字电子技术 2008 9 1 EDA技术与DE2实践 3 微电子技术 即大规模集成电路加工技术的进步是现代数字电子技术发展的基础 目前 在硅片的单位面积上集成的晶体管数量越来越多 1978年推出的8086微处理器芯片集成的晶体管数是4万只 到2000年推出的Pentium4微处理器芯片的集成度上升到4200万只晶体管 2005年生产可编程逻辑器件 PLD 的集成度达到5亿只晶体管 包含的逻辑元件 LogicElements LEs 有18万个 而2008年生产的PLD中的LEs达到68万个 原来需要成千上万只电子元器件组成的计算机主板或彩色电视机电路 现在仅用一片或几片超大规模集成电路就可以代替 现代集成电路已经能够实现单片电子系统SOC SystemOnaChip 的功能 2008 9 1 EDA技术与DE2实践 4 Inthefuture veryfewelectronicequipmentcanexistwithoutprogrammablelogic Programmabilityisthefutureofelectronicsystemdesign FixedfunctionSOC s System on a Chips willbecomelessandlesspractical Thehighdevelopmentcost longdevelopmenttimeandlackofflexibilityoftenrenderSOC stobeobsoletesoonaftertheycomeoutofinitialproduction 在将来 很少有电子设备不用可编程逻辑而还能够存在 可编程性是电子系统设计的前景 固定功能的片上系统SOC s开发成本高 周期长及缺乏灵活性常常使得它们刚一形成初始产品就过时了 其应用将越来越少 2008 9 1 EDA技术与DE2实践 5 AlterapioneeredSOPCbyputtingthe P in SOC P Programmability Flexibility Nios Altera spopularsoftcoreRISCCPU isattheheartofSOPCdesign AlteraDSPBuildercandesignthehighspeedsubsystemforNios Itscharacteristicismodulefeaturedesign Altera将 P 植入于 SOC 之中而首创了SOPC 这里P 可编程性 灵活性 Altera公司廉价而通俗的RISC ReducedInstructionSetComputer 精简指令集计算机 CPU软核Nios 是SOPC System on a ProgrammableChip 单芯片片上可编程系统 设计的核心 AlteraDSPBuilder可以为Nios设计高速子系统 而模块化设计是其特点 2008 9 1 EDA技术与DE2实践 6 现代电子设计技术的核心是EDA ElectronicDesignAutomation 技术 EDA技术就是依靠功能强大的电子计算机 在EDA工具软件平台上 对以硬件描述语言HDL HardwareDescriptionLanguage 为系统逻辑描述手段完成的设计文件 自动地完成逻辑编译 化简 分割 综合 优化 仿真 直至下载到可编程逻辑器件CPLD FPGA或专用集成电路ASIC ApplicationSpecificIntegratedCircuit 芯片中 实现既定的电子电路设计功能 EDA技术使得电子电路设计者的工作仅限于利用硬件描述语言和EDA软件平台来完成对系统硬件功能的实现 极大地提高了设计效率 缩短了设计周期 节省了设计成本 2008 9 1 EDA技术与DE2实践 7 EDA是在20世纪90年代初从计算机辅助设计 CAD 计算机辅助制造 CAM ComputerAidedManufacture 计算机辅助测试 CAT ComputerAidedTest 和计算机辅助工程 CAE 的概念发展而宋的 一般把EDA技术的发展分为CAD CAE和EDA这三个阶段 2008 9 1 EDA技术与DE2实践 8 CAD ComputerAidedDesign 计算机辅助设计 是EDA技术发展的早期阶段 在这个阶段 人们开始利用计算机取代手工劳动 但当时的计算机硬件功能有限 软件功能较弱 人们主要借助计算机对所设计的电路进行一些模拟和预测 辅助进行集成电路版图编辑 印制电路板 PrintedCircuitBoard PCB 布局布线等简单的版图绘制工作 20世纪70年代的CAD阶段 2008 9 1 EDA技术与DE2实践 9 20世纪80年代的CAE阶段 CAE ComputerAidedEngineering 计算机辅助工程 是在CAD的工具逐步完善的基础上发展起来的 尤其是人们在设计方法学 设计工具集成化方面取得了长足的进步 可以利用计算机作为单点设计工具 并建立各种设计单元库 开始用计算机将许多单点工具集成在一起使用 大大提高了工作效率 2008 9 1 EDA技术与DE2实践 10 20世纪90年代的ESDA阶段 电子系统设计自动化 ESDA ElectronicSystemDesignAutomation 阶段 随着微电子技术的发展 速度更快 容量更大 功能更强的PLD的不断推出 对数字电子系统的设计提出了更高的要求 出现了以利用硬件描述语言 系统仿真和综合技术为特征的第三代EDA技术 其特点是在功能强大的EDA工具 包括系统行为级描述与结构级综合 系统仿真与测试验证 系统划分与指标分配 系统决策与文件生成等一整套设计工具 软件平台上 以系统级设计为核心 使用硬件描述语言进行系统设计 自动进行逻辑编译 仿真 优化 综合 布线 测试等工作 完成系统设计功能的硬件实现 使得设计者从繁杂的工作中解放出来 把精力集中在系统方案的设计上 是一种高效率的现代设计方法 2008 9 1 EDA技术与DE2实践 11 20世纪90年代以来 微电子工艺有了惊人的发展 2006年工艺水平已经达到了60nm 2008年Altera公司的FPGA工艺水平已经达到了40nm 在一个芯片上已经可以集成上百万只乃至数十亿只晶体管 芯片速度达到了8 5Gb s量级 大容量的可编程逻辑器件陆续面世 对电子设计的工具提出了更高的要求 提供了广阔的发展空间 促进了EDA技术的形成 特别重要的是 世界各EDA公司致力推出兼容各种硬件实现方案和支持标准硬件描述语言的EDA工具软件 有效地将EDA技术推向成熟 2008 9 1 EDA技术与DE2实践 12 今天 EDA技术已经成为电子设计的重要工具 无论是设计芯片还是设计系统 如果没有EDA工具的支持 都将是难以完成的 EDA工具已经成为现代电路设计师的重要武器 正在发挥着越来越重要的作用 2008 9 1 EDA技术与DE2实践 13 1 2EDA设计流程 利用EDA技术进行电路设计的大部分工作是在EDA软件工作平台上进行的 EDA设计流程如图1 1所示 EDA设计流程包括设计准备 设计输入 设计处理和器件编程4个步骤 以及相应的功能仿真 时序仿真和器件测试3个设计验证过程 2008 9 1 EDA技术与DE2实践 14 图1 1EDA设计流程 2008 9 1 EDA技术与DE2实践 15 1 2 1设计准备 设计准备是设计者在进行设计之前 依据任务要求 确定系统所要完成的功能及复杂程度 器件资源的利用 成本等所要做的准备工作 如进行方案论证 系统设计和器件选择等 2008 9 1 EDA技术与DE2实践 16 1 2 2设计输入 设计输入是将设计的电路或系统按照EDA开发软件要求的某种形式表示出来 并送入计算机的过程 设计输入有多种方式 包括采用硬件描述语言 如VHDL和VerilogHDL 进行设计的文本输入方式 图形输入方式和波形输入方式 或者采用文本 图形两者混合的设计输入方式 也可以采用自顶向下 Top Down 的层次结构设计方法 将多个输入文件合并成一个设计文件等 2008 9 1 EDA技术与DE2实践 17 1 图形输入方式图形输入也称为原理图输入 这是一种最直接的设计输入方式 它使用软件系统提供的元器件库及各种符号和连线画出设计电路的原理图 形成图形输入文件 这种方式大多用在对系统及各部分电路很熟悉的情况 或在系统对时间特性要求较高的场合 优点是容易实现仿真 便于信号的观察和电路的调整 2008 9 1 EDA技术与DE2实践 18 2 文本输入方式文本输入是采用硬件描述语言进行电路设计的方式 硬件描述语言有普通硬件描述语言和行为描述语言 它们用文本方式描述设计和输入 普通硬件描述语言有AHDL CUPL等 它们支持逻辑方程 真值表 状态机等逻辑表达方式 2008 9 1 EDA技术与DE2实践 19 行为描述语言是目前常用的高层硬件描述语言 有VHDL VerilogHDL等 它们具有很强的逻辑描述和仿真功能 可实现与工艺无关的编程与设计 可以使设计者在系统设计 逻辑验证阶段就确立方案的可行性 而且输入效率高 在不同的设计输入库之间转换也非常方便 运用VHDL或VerilogHDL硬件描述语言进行设计已是当前的趋势 2008 9 1 EDA技术与DE2实践 20 3 波形输入方式波形输入主要用于建立和编辑波形设计文件及输入仿真向量和功能测试向量 波形设计输入适合用于时序逻辑和有重复性的逻辑函数 系统软件可以根据用户定义的输入 输出波形自动生成逻辑关系 波形编辑功能还允许设计者对波形进行复制 剪切 粘贴 重复与伸展 从而可以用内部节点 触发器和状态机建立设计文件 并将波形进行组合 显示各种进制的状态值 还可以通过将一组波形重叠到另一组波形上 对两组仿真结果进行比较 2008 9 1 EDA技术与DE2实践 21 1 2 3设计处理 设计处理是EDA设计中的核心环节 在设计处理阶段 编译软件对设计输入文件进行逻辑化简 综合和优化 并适当地用一片或多片器件自动地进行适配 最后产生编程用的编程文件 设计处理主要包括设计编译和检查 设计优化和综合 适配和分割 布局和布线 生成编程数据文件等过程 2008 9 1 EDA技术与DE2实践 22 1 设计编译和检查设计输入完成之后 立即进行编译 在编译过程中 首先进行语法检验 如检查原理图的信号线有无漏接 信号有无双重来源 文本输入文件中关键词有无错误等各种语法错误 并及时标出错误的类型及位置 供设计者修改 然后进行设计规则检验 检查总的设计有无超出器件资源或规定的限制并将编译报告列出 指明违反规则和潜在不可靠电路的情况以供设计者纠正 2008 9 1 EDA技术与DE2实践 23 2 设计优化和综合设计优化主要包括面积优化和速度优化 面积优化的结果使得设计所占用的逻辑资源 门数或逻辑元件数 最少 时间优化的结果使得输入信号经历最短的路径到达输出 即传输延迟时间最短 综合的目的是将多个模块化设计文件合并为一个网表文件 并使层次设计平面化 即展平 2008 9 1 EDA技术与DE2实践 24 3 适配和分割在适配和分割过程 确定优化以后的逻辑能否与下载目标器件CPLD或FPGA中的宏单元和I O单元适配 然后将设计分割为多个便于适配的逻辑小块形式映射到器件相应的宏单元中 如果整个设计不能装入一片器件时 可以将整个设计自动分割成多块并装入同一系列的多片器件中去 分割工作可以全部自动实现 也可以部分由用户控制 还可以全部由用户控制 分割时应使所需器件数目和用于器件之间通信的引脚数目尽可能少 2008 9 1 EDA技术与DE2实践 25 4 布局和布线布局和布线工作是在设计检验通过以后由软件自动完成的 它能以最优的方式对逻辑元件布局 并准确地实现元件间的布线互连 布局和布线完成后 软件会自动生成布线报告 提供有关设计中各部分资源的使用情况等信息 2008 9 1 EDA技术与DE2实践 26 5 生成编程数据文件设计处理的最后 步是产生可供器件编程使用的数据文件 对CPLD ComplexProgrammableLogicDevice 复杂可编程逻辑器件 来说 是产生熔丝图文件 即JEDEC 电子器件工程联合会制定的标准格式 简称JED文件 文件 对于FPGA FieldProgrammableGatesArray 现场可编程门阵列 来说 是生成位流数据文件 Bit streamGeneration 简称BG文件 2008 9 1 EDA技术与DE2实践 27 1 2 4设计校验 设计校验过程包括功能仿真和时序仿真 这两项工作是在设计处理过程中同时进行的 功能仿真是在设计输入完成之后 选择具体器件进行编译之前进行的逻辑功能验证 因此又称为前仿真 此时的仿真没有延时信息或者只有由系统添加的微小标准延时 这对于初步的功能检测非常方便 仿真前 要先利用波形编辑器或硬件描述语言等建立波形文件或测试向量 即将所关心的输入信号组合成序列 仿真结果将会生成报告文件和输出信号波形 从中便可以观察到各个节点的信号变化 若发现错误 则返回设计输入中修改逻辑设计 2008 9 1 EDA技术与DE2实践 28 时序仿真是在选择了具体器件并完成布局 布线之后进行的时序关系仿真 因此又称为后仿真或延时仿真 由于不同器件的内部延时不一样 不同的布局 布线方案也会给延时造成不同的影响 因此在设计处理以后 对系统和各模块进行时序仿真 分析其时序关系 估计设汁的性能及检查和消除竞争冒险等 是非常有必要的 2008 9 1 EDA技术与DE2实践 29 1 2 5器件编程 器件编程是指将设计处理中产生的编程数据文件通过软件放到具体的可编程逻辑器件中去 对CPLD器件来说 是将JED文件下载 DownLoad 到CPLD器件中去 对FPGA来说 是将位流数据BG文件配置到FPGA中去 器件编程需要满足一定的条件 如编程电压 编程时序和编程算法等 普通的CPLD器件和一次性编程的FPGA需要专用的编程器完成器件的编程工作 基于SRAM的FPGA可以由EPROM或其他存储体进行配置 在系统可编程器件 1SP PLD 则不需要专门的编程器 只要一根与计算机互连的下载编程电缆就可以了 2008 9 1 EDA技术与DE2实践 30 1 2 6器件测试和设计验证 器件在编程完毕之后 可以用编译时产生的文件对器件进行检验 加密等工作 或采用边界扫描测试技术进行功能测试 测试成功后才完成其设计 设计验证可以在EDA硬件开发平台上进行 EDA硬件开发平台的核心部件是一片可编程逻辑器件FPGA或CPLD 再附加一些输入 输出设备 如按键 数码显示器 指示灯 喇叭等 还提供时序电路需要的脉冲源 将设计电路编程下载到FPGA或CPLD中后 根据EDA硬件开发平台的操作模式要求 进行相应的输入操作 然后检查输出结果 验证设计电路 2008 9 1 EDA技术与DE2实践 31 1 3硬件描述语言 硬件描述语言HDL是EDA技术中的重要组成部分 常用的硬件描述语言有AHDL VHDL和VerilogHDL 而VHDL和VerilogHDL是当前最流行并己成为IEEE标准的硬件描述语言 2008 9 1 EDA技术与DE2实践 32 1 3 1VHDL VHDL是超高速集成电路硬件描述语言 VeryHighSpeedIntegratedCircuitHardwareDescriptionLanguage 的缩写 在美国国防部的支持下于1985年正式推出 是目前标准化程度最高的硬件描述语言 IEEE TheInstituteOfElectricalandElectronicsEngineers 于1987年将VHDL采纳为IEEEl076标准 VHDLl995版本 并于1993年升级为VHDLl993版本 VHDL经过20多年的发展 应用和完善 以其强大的系统描述能力 规范的程序设计结构 灵活的语言表达风格和多层次的仿真测试于段 在电子设计领域受到了普遍的认同和广泛的接受 成为现代EDA领域的首选硬件描述语言 目前 流行的EDA工具软件全部支持VHDL 它在EDA领域的学术交流 电子设计的存档 专用集成电路 ASIC 设计等方面 担当着不可缺少的角色 专家认为 在21世纪 VHDL与VerilogVHD语言将承担起几乎全部的数字系统设计任务 显然 VHDL是现代电子设计师必须掌握的硬件设计计算机语言 2008 9 1 EDA技术与DE2实践 33 概括起来 VHDL有以下几个特点 1 VHDL具有强大的功能 覆盖面广 描述能力强 VHDL支持门级电路的描述 也支持以寄存器 存储器 总线及运算单元等构成的寄存器传输级电路的描述 还支持以行为算法和结构的混合描述为对象的系统级电路的描述 2008 9 1 EDA技术与DE2实践 34 2 VHDL有良好的可读性 它可以被计算机接受 也容易被读者理解 用VHDL书写的源文件 既是程序又是文档 既可作为工程技术人员之间交换信息的文件 又可作为合同签约者之间的文件 2008 9 1 EDA技术与DE2实践 35 3 VHDL具有良好的可移植性 作为一种已被IEEE承认的工业标准 VHDL事实上已成为通用的硬件描述语言 可以在各种不同的设计环境和系统平台中使用 4 使用VHDL可以延长设计的生命周期 用VHDL描述的硬件电路与工艺无关 不会因工艺变化而使描述过时 与工艺有关的参数可以通过VHDL提供的属性加以描述 工艺改变时 只需要修改相应程序中的属性参数即可 2008 9 1 EDA技术与DE2实践 36 5 VHDL支持对大规模设计的分解和已有设计的再利用 VHDL可以描述复杂的电路系统 支持对大规模设计的分解 由多人 多项目组来共同承担和完成 标准化的规则和风格 为设计的再利用提供了有力的支持 6 VHDL有利于保护知识产权 用VHDL设计的专用集成电路 ASIC 在设计文件下载到集成电路时可以采用一定的保密措施 使其不易被破译和窃取 2008 9 1 EDA技术与DE2实践 37 1 3 2VerilogHDL VerilogHDL也是目前应用最为广泛的硬件描述语言 并被IEEE采纳为IEEE 1364 1995标准 Verilog 1995版本 并于2001年升级为Verilog 2001版本 VerilogHDL可以用来进行各种层次的逻辑设计 也可以进行数字系统的逻辑综合 仿真验证和时序分析 VerilogHDL适合算法级 Algorithm 寄存器传输级 RTL 逻辑级 Logic 门级 Gate 和版图级 Layout 等各个层次的电路设计和描述 2008 9 1 EDA技术与DE2实践 38 采用VerilogHDL进行电路设计的最大优点是其与工艺无关性 这使得设计者在进行电路设计时可以不必过多考虑工艺实现的具体细节 只需要根据系统设计的要求施加不同的约束条件 即可设计出实际电路 实际上 利用计算机的强大功能 在EDA工具的支持下 把逻辑验证与具体工艺库相匹配 将布线及延迟计算分成不同的阶段宋实现 可减少设计者的繁重劳动 2008 9 1 EDA技术与DE2实践 39 VerilogHDL和VHDL都是用于电路设计的硬件描述语言 并且都已成为IEEE标准 VerilogHDL也具有与VHDL类似的特点 稍有不同的是 VerilogHDL早在1983年就已经推出 应用历史较长 拥有广泛的设计群体 设计资源比VHDL丰富 另外 VerilogHDL是在C语言的基础上演化而来的 因此只要具有C语言的编程基础 设计者就很容易学会并掌握这种语占 2008 9 1 EDA技术与DE2实践 40 1 3 3AHDL AHDL AlteraHardwareDescriptionLanguage 是Altera公司根据自己公司生产的MAX系列器件和FLEX系列器件的特点专门设计的一套完整的硬件描述语言 AHDL是一种模块化的硬件描述语言 它完全集成于Altera公司的MAX PLUSII和QuartusII的软件开发系统中 AHDL特别适合于描述复杂的组合电路 组 group 运算及状态机 真值表和参数化的逻辑 用户可以通过MAX PLUSII的软件开发系统对AHDL源程序进行编辑 并通过对源文件的编译建立仿真 时域分析和器件编程的输出文件 2008 9 1 EDA技术与DE2实践 41 AHDL的语句和元素种类齐全 功能强大 而且易于应用 用户可以使用AHDL建立完整层次的工程设汁项目 或者在一个层次的设计中混合其他类型的设计文件 如VHDL设计文件或VerilogHDL设计文件 2008 9 1 EDA技术与DE2实践 42 1 4可编程逻辑器件 可编程逻辑器件 ProgrammableLogicDevice PLD 是一种半定制集成电路 在其内部集成了大量的门和触发器等基本逻辑单元电路 用户通过编程来改变PLD内部电路的逻辑关系或连线 就可以得到所需要的设计电路 可编程逻辑器件的出现 改变了传统的数字系统设计方法 其设计方法为采用EDA技术开创了广阔的发展空间 并极大地提高了电路设计的效率 2008 9 1 EDA技术与DE2实践 43 在PLD没有出现之前 数字系统的传统设计往往采用 积木 式的方法进行 实质上是对电路板进行设计 通过标准集成电路器件搭建成电路板来实现系统功能 即先由器件搭成电路板 再由电路板搭成系统 数字系统的 积木块 就是具有固定功能的标准集成电路器件 如TTL的74 54系列 CMOS的4000 4500系列芯片和一些固定功能的大规模集成电路等 用户只能根据需要选择合适的集成电路器件 按照此种器件推荐的电路搭成系统并调试成功 设计中 设计者没有灵活性可言 搭成的系统需要的芯片种类多且数目大 2008 9 1 EDA技术与DE2实践 44 PLD的出现 给数字系统的传统设计法带来了新的变革 采用PLD进行的数字系统设计 是基于芯片的设计或称为 自底向上 Bottom Up 的设计 与传统的积木式设计有本质上的不同 它可以直接通过设计PLD芯片来实现数字系统功能 将原来由电路板设计完成的大部分工作放在PLD芯片的设计中进行 这种新的设计方法能够由设计者根据实际情况和要求定义器件的内部逻辑关系和引脚 通过芯片设计实现多种数字系统功能 同时 由于引脚定义的灵活性 不但大大减轻了系统设计的工作量和难度 提高了工作效率 而且还可以减少芯片数量 缩小系统体积 降低能源消耗 提高系统的稳定性和可靠性 2008 9 1 EDA技术与DE2实践 45 1 5常用EDA工具 EDA工具在EDA技术中占据极其重要的位置 EDA的核心是利用计算机完成电路设汁的全程自动化 因此 基于计算机环境的EDA工具软件的支持是必不可少的 用EDA技术设计电路可以分为不同的技术环节 每一个环节中必须由对应的软件包或专用的EDA工具独立处理 EDA工具大致可以分为设计输入编辑器 仿真器 HDL综合器 适配器 或布局布线器 及下载器5个模块 2008 9 1 EDA技术与DE2实践 46 硬件描述语言 HDL 给PLD和数字系统的设计带来了新的设计方法和理念 产生了目前最常用且称为 自顶向下 Top Down 的设计法 自顶向下的设计采用功能分割的方法 从顶层设计开始 逐次向下将设计内容进行分块和细化 在设计过程中 采用层次化和模块化方式 将使系统设计变得简捷和方便 层次化设计是分层次 分模块地进行设汁描述的 描述器件总功能的模块放在最上层 称为顶层设计 描述器件某一部分功能的模块放在下层 称为底层设计 底层模块还可以再向下分层 直至最后完成硬件电子系统电路的整体设计 2008 9 1 EDA技术与DE2实践 47 1 5 1设计输入编辑器 通常 专业的EDA工具供应商或各可编程逻辑器件厂商都提供EDA开发工具 在这些EDA开发工具中都含有设计输入编辑器 如Xilinx公司的Foundation Altera公司的QuartusII和MAX PLUSII等 2008 9 1 EDA技术与DE2实践 48 一般的设计输入编辑器都支持图形输入和HDL文本输入 图形输入通常包括原理图输入 状态图输入和波形图输入3种常用的方式 原理图输入方式沿用传统的数字系统设计方式 即根据设计电路的功能和控制条件 画出设计的原理图或状态图或波形图 然后在设计输入编辑器的支持下 将这些图形输入到计算机中 形成图形文件 2008 9 1 EDA技术与DE2实践 49 图形输入方式与PROTEL作图相似 设计过程形象直观 而且不需要掌握硬件描述语言 便于初学或教学演示 但图形输入方式存在没有标准化 图形文件兼容性差 不便于电路模块的移植和再利用等缺点 2008 9 1 EDA技术与DE2实践 50 HDL文本输入方式与传统的计算机软件语言编辑输入基本一致 就是在设计输入编辑器的支持下 使用某种硬件描述语言 HDL 对设计电路进行描述 形成HDL源程序 HDL文本输入方式克服了图形输入方式存在的所有弊端 为EDA技术的应用和发展打开了一片广阔的天地 当然 在用EDA技术设计电路时 也可以利用图形输入与HDL文本输入方式各自的优势 将它们结合起来 实现一个复杂的电路系统的设计 2008 9 1 EDA技术与DE2实践 51 1 5 2仿真器 在EDA技术中 仿真的地位非常重要 行为模型的表达 电子系统的建模 逻辑电路的验证及门级系统的测试 每一步都离不开仿真器的模拟检测 在EDA发展的初期 快速地进行电路逻辑仿真是当时的核心问题 即使在现在 各个环节的仿真仍然是整个EDA设计流程中最重要 最耗时的一个步骤 因此 仿真器的仿真速度 仿真的准确性和易用性成为衡量仿真器的重要指标 按仿真器对硬件描述语言不同的处理方式 可以分为编译型仿真器和解释型仿真器 编译型仿真器速度较快 但需要预处理 因此不能及时修改 解释型仿真器的速度一般 但可以随时修改仿真环境和条件 2008 9 1 EDA技术与DE2实践 52 几乎每个EDA厂商都提供基于VHDL和VerilogDHL的仿真器 常用的仿真器有ModelTechnology公司的ModelSim Cadence公司的Verilog XL和NC Sim Aldec公司的ActiveHDL Synopsys公司的VCS等 2008 9 1 EDA技术与DE2实践 53 1 5 3HDL综合器 硬件描述语言诞生的初衷是用于设计逻辑电路的建模和仿真 但直到Synopsys公司推出了HDL综合器后 才使HDL直接用于电路设计 2008 9 1 EDA技术与DE2实践 54 HDL综合器是一种将硬件描述语言转化为硬件电路的重要工具软件 在使用EDA技术实施电路设计中 HDL综合器完成电路化简 算法优化 硬件结构细化等操作 HDL综合器在把可综合的HDL VHDL或VerilogHDL 转化为硬件电路时 一般要经过两个步骤 第1步 HDL综合器对VHDL或VerilogHDL进行处理分析 并将其转换成电路结构或模块 这时不考虑实际器件实现 即完全与硬件无关 这个过程是一个通用电路原理图形成的过程 第2步 对实际实现目标器件的结构进行优化 并使之满足各种约束条件 优化关键路径 等等 2008 9 1 EDA技术与DE2实践 55 HDL综合器的输出文件一般是网表文件 是一种用于电路设汁数据交换和交流的工业标准化格式的文件 或是直接用HDL表达的标准格式的网表文件 或是对应FPGA CPLD器件厂商的网表文件 HDL综合器是EDA设计流程中的一个独立的设计步骤 它往往被其他EDA环节调用 以便完成整个设计流程 HDL综合器的调用具有前台模式和后台模式两种 用前台模式调用时 可以从计算机的显示器上看到调用窗口界面 用后台模式 也称为控制模式 调用时 不出现图形窗口界面 仅在后台运行 2008 9 1 EDA技术与DE2实践 56 1 5 4适配器 布局布线器 适配也称为结构综合 适配器的任务是完成在目标系统器件上的布局布线 适配通常都由可编程器件厂商提供的专用软件来完成 这些软件可以单独存在 也可嵌入在集成EDA开发环境中 适配器最后输出的是各厂商自己定义的下载文件 下载到目标器件后即可实现电路设计 2008 9 1 EDA技术与DE2实践 57 1 5 5下载器 编程器 下载器的任务是把电路设计结果下载到实际器件中 实现硬件设计 下载软件一般由可编程逻辑器件厂商提供 或嵌入到EDA开发平台中 2008 9 1 EDA技术与DE2实践 58 HDL综合器是一种将硬件描述语言转化为硬件电路的重要工具软件 在使用EDA技术实施电路设计中 HDL综合器完成电路化简 算法优化 硬件结构细化等操作 HDL综合器在把可综合的HDL VHDL或VerilogHDL 转化为硬件电路时 一般要经过两个步骤 第1步 HDL综合器对VHDL或VerilogHDL进行处理分析 并将其转换成电路结构或模块 这时不考虑实际器件实现 即完全与硬件无关 这个过程是一个通用电路原理图形成的过程 第2步 对实际实现目标器件的结构进行优化 并使之满足各种约束条件 优化关键路径 等等 2008 9 1 EDA技术与DE2实践 59 HDL综合器的输出文件一般是网表文件 是一种用于电路设汁数据交换和交流的工业标准化格式的文件 或是直接用HDL表达的标准格式的网表文件 或是对应FPGA CPLD器件厂商的网表文件 HDL综合器是EDA设计流程中的一个独立的设计步骤 它往往被其他EDA环节调用 以便完成整个设计流程 HDL综合器的调用具有前台模式和后台模式两种 用前台模式调用时 可以从计算机的显示器上看到调用窗口界面 用后台模式 也称为控制模式 调用时 不出现图形窗口界面 仅在后台运行 2008 9 1 EDA技术与DE2实践 60 1 5 4适配器 布局布线器 适配也称为结构综合 适配器的任务是完成在目标系统器件上的布局布线 适配通常都由可编程器件厂商提供的专用软件来完成 这些软件可以单独存在 也可嵌入在集成EDA开发环境中 适配器最后输出的是各厂商自己定义的下载文件 下载到目标器件后即可实现电路设计 2008 9 1 EDA技术与DE2实践 61 1 5 5下载器 编程器 下载器的任务是把电路设计结果下载到实际器件中 实现硬件设计 下载软件一般由可编程逻辑器件厂商提供 或嵌入到EDA开发平台中 2008 9 1 EDA技术与DE2实践 62 1 6CPLD的结构与原理 大部分CPLD采用基于乘积项 Product Term 的PLD结构 如Altera公司的MAX7000和MAX3000系列 EEPROM工艺 Xilinx公司的XC9500系列 FLASH工艺 以及Lattice公司和Cypress公司的大部分产品 EEPROM工艺 2008 9 1 EDA技术与DE2实践 63 这里先看一下这种PLD的总体结构 以MAX7000系列为例 其他型号的结构与此都非常相似 图1 2是MAX7000E和MAX7000S系列CPLD的结构框图 这种PLD一般由三部分组成 宏单元 Macrocell 可编程连线 PIA ProgrammableInterconnectArray 和I O控制块 宏单元是PLD的基本结构 用以实现基本的逻辑功能 在MAX7000系列CPLD中 每16个宏单元组成一个逻辑阵列块 LAB LogicArrayBlock 可编程连线负责信号传递 连接所有的宏单元 I O控制块负责输入 输出的电气特性控制 比如可以设定集电极开路输出 摆率控制 三态输出等 图1 2左上角的INPUT GCLK1 因PUT OE2 GCLK2和的PUT OE1是全局时钟 清零和输出使能信号 这几个信号通过PIA 可编程互连阵列 及专用连线与PLD中的每个宏单元相连 这些信号到每个宏单元的延时相同并且延时最短 2008 9 1 EDA技术与DE2实践 64 2008 9 1 EDA技术与DE2实践 65 本章小结 现代电子设计技术的核心是EDA技术 EDA技术就是依靠功能强大的电子计算机 在EDA工具软件平台上 对以硬件描述语言 HDL 为系统逻辑描述手段完成的设计文件 自动地完成逻辑编译 化简 分割 综合 优化 仿真 直至下载到可编程逻辑器件CPLD FPGA或专用集成电路ASIC芯片中 实现既定的电子电路设计功能 EDA技术极大地提高了电子电路设计效率 缩短了设计周期 节省了设计成本 2008 9 1 EDA技术与DE2实践 66 EDA技术包括硬件描述语言 HDL EDA工具软件 可编程逻辑器件 PLD 等方面的内容 目前国际上流行的硬件描述语言主要有VHDL Verilog一步HDL和AHDL EDA工具在EDA技术应用中占据着极其重要的位置 利用EDA技术进行电路设计的大部分工作是在EDA软件工作平台上进行的 EDA工具软件主要包括设计输入编辑器 仿真器 HDL综合器 适配器 或布局布线器 及下载器5个模块 2008 9 1 EDA技术与DE2实践 67 今天 EDA技术已经成为电子设计的重要工具 无论是设计芯片还是设计系统 如果没有EDA工具的支持 都将是难以完成的 EDA工具已经成为现代电路设计师的重要武器 正在发挥着越来越重要的作用 2008 9 1 EDA技术与DE2实践 68 思考题和习题 1 1简述EDA技术的发展历程 EDA技术的核心内容是什么 1 2简述用EDA技术设计电路的设计流程 1 3VHDL有哪些主要特点 1 4VerilogHDL有哪些主要特点 1 5简述在PLD没有出现前 传统的数字系统设计的 积木 式过程 1 6简述 自顶向下 的设计流程 1 7EDA工具大致可以分为哪几个模块 各模块的主要功能是什么 1 8目前被IEEE采纳的硬件描述语言有哪几种 1 9FPGA CPLD在EDA技术中有什么用处 2008 9 1 EDA技术与DE2实践 69 图1 2基于乘积项的PLD内部结构 2008 9 1 EDA技术与DE2实践 70 MAX7000E和MAX7000S系列CPLD的宏单元结构如图1 3所示 每个宏单元主要由三部分组成 逻辑阵列 乘积项选择矩阵和可编程寄存器 图中左侧是逻辑阵列 也就是一个与或阵列 阵列连线的每一个交点都是一个可编程烙丝 如果导通就实现 与 逻辑 其后的乘积项选择矩阵是一个 或 阵列 两者一起完成组合逻辑 图右侧是一个可编程寄存器 它的时钟 清零输入都可以编程选择 可以使用专用的全局清零和全局时钟 也可以使用由内部逻辑 逻辑阵列 产生的时钟和清零 如果不需要该寄存器 也可以将它旁路 使信号直接输给PIA或输出到I O脚 2008 9 1 EDA技术与DE2实践 71 图1 3宏单元结构 2008 9 1 EDA技术与DE2实践 72 图1 4是一个简单的电路 参照该电路具体说明PLD是如何利用以上结构来实现特定逻辑的 假设图1 4中组合逻辑的输出 AND3的输出 为f 则 2008 9 1 EDA技术与DE2实践 73 图1 4一个简单的组合逻辑电路 2008 9 1 EDA技术与DE2实践 74 CPLD将以图1 5所示的方式实现图1 4中的简单组合逻辑电路 图1 5电路在CPLD中的实现 2008 9 1 EDA技术与DE2实践 75 图中每一个 2008 9 1 EDA技术与DE2实践 76 从而实现了图1 4中的组合逻辑 图1 4电路中D触发器的实现比较简单 直接利用宏单元中的可编程D触发器就可实现 时钟信号CLK由I O脚输入后进入芯片内部的全局时钟专用通道 直接连接到可编程触发器的时钟端 可编程触发器的输出与I O脚相连 把结果输出到芯片管脚 这样CPLD就完成了如图1 4所示电路的功能 以上这些步骤都是由软件自动完成的 不需要人为干预 2008 9 1 EDA技术与DE2实践 77 图1 4所示的电路是一个很简单的例子 只需要一个宏单元就可以完成 对于一个复杂的电路 一个宏单元是不能实现的 这时就需要通过并联扩展项和共享扩展项将多个宏单元相连 宏单元的输出也可以连接到可编程连线阵列 再作为另一个宏单元的输入 这样 CPLD就可以实现更复杂的逻辑 这种基于乘积项的PLD基本上都是由EEPROM和FLASH工艺制造的 上电即可自动工作 无需其它芯片配合 2008 9 1 EDA技术与DE2实践 78 1 7FPGA的结构与原理 FPGA最常用的结构是查找表 Look Up Table LUT 结构 如Altera的ACEX APEX Cyclone CycloneII系列和Xilinx的Spartan Virtex系列等 这里以CycloneII系列FPGA为例来说明 图1 6是CycloneII系列FPGA的一个LE的普通工作模式原理图 FPGA的基本单元一般为一个4输入查找表后接一个寄存器 2008 9 1 EDA技术与DE2实践 79 图1 6Cyclone 系列FPGA中LE的普通工作模式 2008 9 1 EDA技术与DE2实践 80 图1 6Cyclone 系列FPGA中LE的普通工作模式 2008 9 1 EDA技术与DE2实践 81 逻辑单元 LogicElement LE 是构成FPGA的基本单位之一 一个LE主要由一个4输入LUT 一个寄存器及进位和互连逻辑组成 LUT本质上是一个RAM 目前FPGA中多使用4输入的LUT 即一个LUT可以看成有4位地址线的16xl的RAM 当用户通过原理图或HDL语言描述了一个逻辑电路以后 FPGA开发软件会自动计算逻辑电路所有可能的结果 并把结果事先写入RAM 这样每输入一个信号进行逻辑运算就等于输入一个地址进行查表 找出地址对应的内容 然后输出即可 也可以把它当作一个4输入的函数发生器 能够实现4变量输入的所有逻辑 2008 9 1 EDA技术与DE2实践 82 表1 1为一个4输入与门的例子 A B C D由FPGA芯片的管脚与可编程连线相连 然后作为地址线连到LUT LUT中已经事先写入了所有可能的逻辑结果 通过地址查找到相应的数据然后输出 从而实现了组合逻辑 2008 9 1 EDA技术与DE2实践 83 表1 1输入查找表 2008 9 1 EDA技术与DE2实践 84 如果要用CycloneIIFPGA实现图1 4所示的电路 用查找表来实现 则电路中的D触发器可直接利用LUT后的寄存器来实现 时钟信号CLK由I O脚输入后进入芯片内部的时钟专用通道 直接连接到触发器的时钟端 触发器的输出可以与I O脚相连 把结果输出到芯片管脚 这样FPGA就完成了图1 4所示电路的功能 与CPLD一样 这些步骤都是由软件自动完成的 不需要人为干预 2008 9 1 EDA技术与DE2实践 85 这个电路是一个很简单的例子 只需要一个LUT加上一个触发器就可以完成 对于一个LUT无法完成的电路 需要通过进
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 餐饮连锁加盟与区域代理合作协议范本
- 餐饮门面租赁合同租赁终止条件与违约责任解析
- 员工培训案例
- 茶园承包与茶叶品牌保护与维权合作协议
- 生态工业园区厂房土地抵押借款合同
- 餐饮连锁品牌加盟加盟商权益保障合同
- 智能家居系统承包安装服务合同范本
- 拆除工程安全责任书:建筑拆除安全合同
- 名医诊疗经验传承师承合同
- 师生夏季安全教育
- 铁矿矿石的市场定位与销售渠道
- 2024届甘肃省兰州市西北师大附中物理高二第二学期期末经典试题含解析
- 坍塌事故培训课件
- 提升机安全操作规程
- 自然辩证法概论-第4章(2018新大纲)
- 企业安全生产自查台账
- ★教导型组织模式思想管理二
- 智能网联汽车技术PPT完整全套教学课件
- 数学精彩两分钟-二年级
- 化工工艺学期末复习题答案
- 二手龙门吊购销合同范本
评论
0/150
提交评论