《EDA技术及其应用》由会员分享,可在线阅读,更多相关《EDA技术及其应用(35页珍藏版)》请在金锄头文库上搜索。
1、EDAEDA技术及其应用技术及其应用第第1 1章章 概概 述述1.1 EDA1.1 EDA技术技术 oEDA (Electronic Design Automation) EDA技术就是依赖功能强大的计算机,在技术就是依赖功能强大的计算机,在EDA工具软件工具软件平台上,对以硬件描述语言平台上,对以硬件描述语言HDL (Hardware Description Language)为系统逻辑描述手段完成的设计文件,自动地完为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、化简、分割、综合、布局布线以及逻辑优化和成逻辑编译、化简、分割、综合、布局布线以及逻辑优化和仿真测试,直至实现既定的电子线
2、路系统功能。仿真测试,直至实现既定的电子线路系统功能。 EDA技术为现代电子理论和设计的表达与实现提供了可能性。技术为现代电子理论和设计的表达与实现提供了可能性。 1.1 EDA1.1 EDA技术技术 oEDA技术发展阶段技术发展阶段 21世纪后世纪后 在在FPGA上实现上实现DSP应用应用 20世纪世纪70年代年代 MOS工艺已得到广泛的应用工艺已得到广泛的应用 20世纪世纪80年代年代 集成电路设计进入了集成电路设计进入了CMOS(互补场效应管互补场效应管)时代时代 20世纪世纪90年代年代 EDA技术推向成熟和实用技术推向成熟和实用 在一片在一片FPGA中实现一个完备的嵌入式系统中实现一
3、个完备的嵌入式系统 EDA软件不断推出软件不断推出 EDA使得电子领域各学科的界限更加模糊,更加互为包容使得电子领域各学科的界限更加模糊,更加互为包容 基于基于EDA的用于的用于ASIC设计的标准单元已涵盖大规模电子系统及复杂设计的标准单元已涵盖大规模电子系统及复杂IP核模块核模块 软硬软硬IP(Intellectual Property)核广泛应用核广泛应用 SoC高效低成本设计技术的成熟高效低成本设计技术的成熟 系统级、行为验证级硬件描述语言的出现,使复杂电子系统的设计和验证趋于简单系统级、行为验证级硬件描述语言的出现,使复杂电子系统的设计和验证趋于简单 1.2 EDA1.2 EDA技术应
4、用对象技术应用对象 全定制或半定制全定制或半定制ASIC FPGA/CPLD(或称可编程(或称可编程ASIC)开发应用)开发应用 ASIC的设计和实现的设计和实现 实现目标实现目标实现目标实现目标 1. 大规模可编程逻辑器件大规模可编程逻辑器件 2. 半定制或全定制半定制或全定制ASIC3. 混合混合ASIC 1.3 VHDL1.3 VHDL VHDL、Verilog HDL、ABEL、AHDL、SystemVerilog 、SystemC等等 HDLVHDL-VHSIC(Very High Speed Integrated Circuit)Hardware Description Langu
5、age VHDL语言具有很强的电路描述和建模能力,能从多个层次对数字系统语言具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性。性。 VHDL具有与具体硬件电路无关和与设计平台无关的特性,并且具有良具有与具体硬件电路无关和与设计平台无关的特性,并且具有良好的电路行为描述和系统描述的能力,并在语言易读性和层次化结构化设好的电路行为描述和系统描述的能力,并在语言易读性和层次化结构化设计方面,表现了强大的生命力和应用潜力。计方面,表现了强大的生命力和应用潜力。 1.4
6、EDA1.4 EDA的优势的优势 手工设计方法手工设计方法 复杂电路的设计、调试十分困难;复杂电路的设计、调试十分困难; 无法进行硬件系统仿真,若某一无法进行硬件系统仿真,若某一过程存在错误,查找和修改十分过程存在错误,查找和修改十分不便;不便; 设计过程中产生大量文档,不易设计过程中产生大量文档,不易管理;管理; 对于对于IC设计而言,设计实现过程设计而言,设计实现过程与具体生产工艺直接相关,因此与具体生产工艺直接相关,因此可移植性差;可移植性差; 只有在设计出样机或生产出芯只有在设计出样机或生产出芯片后才能进行实测;片后才能进行实测; EDA技术技术 计算机模拟验证,缩短设计周期计算机模拟
7、验证,缩短设计周期 ; 各类库的支持各类库的支持 ; 极大地简化设计文档的管理极大地简化设计文档的管理 ; 最具现代电子设计技术特征的功能是最具现代电子设计技术特征的功能是日益强大的逻辑设计仿真测试技术日益强大的逻辑设计仿真测试技术 ; 设计者拥有完全的自主权,再无受制设计者拥有完全的自主权,再无受制于人之虞于人之虞 ; 良好的可移植与可测试性,为系统开良好的可移植与可测试性,为系统开发提供了可靠的保证发提供了可靠的保证 ; 能将所有设计环节纳入统一的自顶向能将所有设计环节纳入统一的自顶向下的设计方案中下的设计方案中 ; 系统板设计结束后仍可利用计算机对系统板设计结束后仍可利用计算机对硬件系统
8、进行完整的测试。硬件系统进行完整的测试。 1.5 1.5 面向面向FPGAFPGA的的EDAEDA开发流程开发流程1.5.1 1.5.1 1.5.1 1.5.1 设计输入设计输入设计输入设计输入 图图1-1 FPGA的的EDA开发流程开发流程 1.5 1.5 面向面向FPGAFPGA的的EDAEDA开发流程开发流程1.5.1 1.5.1 1.5.1 1.5.1 设计输入设计输入设计输入设计输入 1. 图形输入图形输入 状态图输入状态图输入 波形图输入波形图输入 原理图输入原理图输入 2. 硬件描述语言文本输入硬件描述语言文本输入 将使用了某种硬件描述语言将使用了某种硬件描述语言(HDL)的电路
9、设计文本,如的电路设计文本,如VHDL或或Verilog的源程序,进行编辑输入。的源程序,进行编辑输入。 1.5 1.5 面向面向FPGAFPGA的的EDAEDA开发流程开发流程1.5.2 1.5.2 1.5.2 1.5.2 综合综合综合综合 将用行为和功能层次表达的电子系统转换为低层次的便于具将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配而成的过程。体实现的模块组合装配而成的过程。 自然语言综合自然语言综合 自然语言表述自然语言表述VHDL语言算法表述语言算法表述 行为综合行为综合算法表述算法表述寄存器传输级表述寄存器传输级表述逻辑综合逻辑综合RTL级表述级表述逻辑
10、门逻辑门(触发器触发器)表述表述结构综合结构综合 FPGA的配置网表文件的配置网表文件 版图综合版图综合逻辑门表述逻辑门表述版图表述版图表述(ASIC设计设计)1.5 1.5 面向面向FPGAFPGA的的EDAEDA开发流程开发流程1.5.3 1.5.3 1.5.3 1.5.3 适配(布线布局)适配(布线布局)适配(布线布局)适配(布线布局) 适配器也称结构综合器,它的功能是将由综合器产生的网表文件配置适配器也称结构综合器,它的功能是将由综合器产生的网表文件配置于指定的目标器件中,使之产生最终的下载文件,如于指定的目标器件中,使之产生最终的下载文件,如JEDEC、Jam格式的格式的文件。适配所
11、选定的目标器件必须属于原综合器指定的目标器件系列。文件。适配所选定的目标器件必须属于原综合器指定的目标器件系列。 1.5.4 1.5.4 1.5.4 1.5.4 仿真仿真仿真仿真 在编程下载前必须利用在编程下载前必须利用EDA工具对适配生成的结果进行模拟测试工具对适配生成的结果进行模拟测试 仿真仿真 时序仿真时序仿真 功能仿真功能仿真 1.6 PLD1.6 PLD 1.6.1 PLD1.6.1 PLD1.6.1 PLD1.6.1 PLD的分类的分类的分类的分类 集成度集成度 低集成度芯片低集成度芯片 高集成度芯片高集成度芯片 可编程逻辑器件可编程逻辑器件 乘积项结构器件乘积项结构器件 查找表结
12、构器件查找表结构器件 编程工艺编程工艺 熔丝熔丝(Fuse)型器件型器件 反熔丝反熔丝(Anti-fuse)型器件型器件 EPROM型型 EEPROM型型 SRAM型型 Flash型型 1.6 PLD1.6 PLD 1.6.2 PROM1.6.2 PROM1.6.2 PROM1.6.2 PROM可编程原理可编程原理可编程原理可编程原理图图1-2 PLD的互补缓冲器的互补缓冲器 图图1-3 PLD的互补输入的互补输入 图图1-4 PLD中与阵列表示中与阵列表示 图图1-5 PLD中或阵列的表示中或阵列的表示 图图1-6 阵列线连接表示阵列线连接表示 1.6 PLD1.6 PLD 1.6.2 PR
13、OM1.6.2 PROM1.6.2 PROM1.6.2 PROM可编程原理可编程原理可编程原理可编程原理 图图1-7 PROM表达的表达的PLD阵列图阵列图 1.6 PLD1.6 PLD 1.6.2 PROM1.6.2 PROM1.6.2 PROM1.6.2 PROM可编程原理可编程原理可编程原理可编程原理图图1-8 用用PROM完成半加器逻辑阵列完成半加器逻辑阵列 1.6 PLD1.6 PLD 1.6.3 GAL1.6.3 GAL1.6.3 GAL1.6.3 GAL GAL的的OLMC单元设有多种组态,可配置成专用组合输出、专单元设有多种组态,可配置成专用组合输出、专用输入、组合输出双向口、
14、寄存器输出、寄存器输出双向口等,用输入、组合输出双向口、寄存器输出、寄存器输出双向口等,为逻辑电路设计提供了极大的灵活性。由于具有结构重构和输出为逻辑电路设计提供了极大的灵活性。由于具有结构重构和输出端的任何功能均可移到另一输出引脚上的功能,在一定程度上,端的任何功能均可移到另一输出引脚上的功能,在一定程度上,简化了电路板的布局布线,使系统的可靠性进一步地提高。简化了电路板的布局布线,使系统的可靠性进一步地提高。GAL的出现是复杂的出现是复杂PLD的里程碑。的里程碑。 1.7 CPLD1.7 CPLD的结构与可编程原理的结构与可编程原理 图图1-9 MAX7000系列的单个逻辑宏单元结构系列的
15、单个逻辑宏单元结构 1.7 CPLD1.7 CPLD的结构与可编程原理的结构与可编程原理 图图1-10 MAX7128S的结构的结构 1 1逻辑阵列块逻辑阵列块逻辑阵列块逻辑阵列块 对于每个对于每个LAB,输入信,输入信号来自号来自3部分:部分:(1)来自作为通用逻辑输)来自作为通用逻辑输入的入的PIA的的36个信号;个信号;(2)来自全局控制信号,)来自全局控制信号,用于寄存器辅助功能;用于寄存器辅助功能;(3)从)从I/O引脚到寄存器引脚到寄存器的直接输入通道。的直接输入通道。 1.7 CPLD1.7 CPLD的结构与可编程原理的结构与可编程原理 2 2逻辑宏单元逻辑宏单元逻辑宏单元逻辑宏
16、单元 逻辑宏单元逻辑宏单元 逻辑阵列逻辑阵列乘积项选择矩阵乘积项选择矩阵可编程寄存器可编程寄存器每个可编程寄存器可以按三种时钟输入模式工作:每个可编程寄存器可以按三种时钟输入模式工作: 全局时钟信号。全局时钟信号。 全局时钟信号由高电平有效的时钟信号使能。全局时钟信号由高电平有效的时钟信号使能。 用乘积项实现一个阵列时钟。用乘积项实现一个阵列时钟。 1.7 CPLD1.7 CPLD的结构与可编程原理的结构与可编程原理 图图1-11 PIA信号布线到信号布线到LAB的方式的方式 3 3可编程连线阵列可编程连线阵列可编程连线阵列可编程连线阵列 1.7 CPLD1.7 CPLD的结构与可编程原理的结
17、构与可编程原理 图图1-12 EPM7128S器件的器件的I/O控制块控制块 4 4I/OI/O控制块控制块控制块控制块 1.8 FPGA1.8 FPGA的结构与工作原理的结构与工作原理 图图1-13 FPGA查找表单元查找表单元 1.8.1 1.8.1 1.8.1 1.8.1 查找表逻辑结构查找表逻辑结构查找表逻辑结构查找表逻辑结构 图图1-14 FPGA查找表单元内部结构查找表单元内部结构 图图1-15 Cyclone LE结构图结构图 1.8.2 FPGA1.8.2 FPGA1.8.2 FPGA1.8.2 FPGA的结构与原理的结构与原理的结构与原理的结构与原理 1.8 FPGA1.8
18、FPGA的结构与工作原理的结构与工作原理 1.8.2 FPGA1.8.2 FPGA1.8.2 FPGA1.8.2 FPGA的结构与原理的结构与原理的结构与原理的结构与原理 图图1-16 Cyclone LE普通模式普通模式 1.8 FPGA1.8 FPGA的结构与工作原理的结构与工作原理 1.8.2 FPGA1.8.2 FPGA1.8.2 FPGA1.8.2 FPGA的结构与原理的结构与原理的结构与原理的结构与原理 图图1-17 Cyclone LAB结构结构 在在Cyclone器件里面存在器件里面存在大量大量LAB图图1-17所示的所示的LE排列成排列成LAB阵列构成了阵列构成了Cyclon
19、e FPGA丰富的编程资源。丰富的编程资源。 1.8 FPGA1.8 FPGA的结构与工作原理的结构与工作原理 1.8.2 FPGA1.8.2 FPGA1.8.2 FPGA1.8.2 FPGA的结构与原理的结构与原理的结构与原理的结构与原理 图图1-18 LAB阵列阵列 1.9 1.9 硬件测试技术硬件测试技术 1.9.1 1.9.1 1.9.1 1.9.1 内部逻辑测试内部逻辑测试内部逻辑测试内部逻辑测试 在设计时加入用于测试的部分逻辑,即进行可测性设计在设计时加入用于测试的部分逻辑,即进行可测性设计(DFT,Design For Test),在设计完成后用来测试关键逻辑。,在设计完成后用来
20、测试关键逻辑。 在在ASIC设计中的扫描寄存器,是可测性设计的一种,原理是设计中的扫描寄存器,是可测性设计的一种,原理是把把ASIC中关键逻辑部分的普通寄存器用测试扫描寄存器来代替,中关键逻辑部分的普通寄存器用测试扫描寄存器来代替,在测试中可以动态地测试、分析设计其中寄存器所处的状态,甚至在测试中可以动态地测试、分析设计其中寄存器所处的状态,甚至对某个寄存器加以激励信号,改变该寄存器的状态。对某个寄存器加以激励信号,改变该寄存器的状态。 1.9 1.9 硬件测试技术硬件测试技术 1.9.2 JTAG1.9.2 JTAG1.9.2 JTAG1.9.2 JTAG边界扫描测试边界扫描测试边界扫描测试
21、边界扫描测试 表表1-1 边界扫描边界扫描IO引脚功能引脚功能 引引 脚脚描描 述述功功 能能TDI测试数据数据输入入(Test Data Input)测试指令和指令和编程数据的串行程数据的串行输入引脚。数据在入引脚。数据在TCK的上升沿移的上升沿移入。入。TDO测试数据数据输出出(Test Data Output)测试指令和指令和编程数据的串行程数据的串行输出引脚,数据在出引脚,数据在TCK的下降沿移的下降沿移出。如果数据没有被移出出。如果数据没有被移出时,该引脚引脚处于高阻于高阻态。TMS测试模式模式选择(Test Mode Select)控制信号控制信号输入引脚,入引脚,负责TAP控制器
22、的控制器的转换。TMS必必须在在TCK的上升沿到来之前的上升沿到来之前稳定。定。TCK测试时钟输入入(Test Clock Input)时钟输入到入到BST电路,一些操作路,一些操作发生在上升沿,而另一些生在上升沿,而另一些发生生在下降沿。在下降沿。TRST测试复位复位输入入(Test Reset Input)低低电平有效,异步复位平有效,异步复位边界界扫描描电路路(在在IEEE规范中,范中,该引脚引脚可可选)。1.10 FPGA/CPLD1.10 FPGA/CPLD产品概述产品概述 1.10.1 1.10.1 AlteraAltera公司公司公司公司FPGAFPGA和和和和CPLDCPLD器
23、件系列器件系列器件系列器件系列 2. ACEX系列系列FPGA Altera专门为通信专门为通信(如如xDSL调制解调器、路由器等调制解调器、路由器等)、音频处理及、音频处理及其他一些场合的应用而推出的芯片系列。其他一些场合的应用而推出的芯片系列。 3. MAX系列系列CPLD 4. Cyclone系列系列FPGA低成本低成本FPGA 5. Cyclone II系列系列FPGA 1.10 FPGA/CPLD1.10 FPGA/CPLD产品概述产品概述 1.10.1 1.10.1 AlteraAltera公司公司公司公司FPGAFPGA和和和和CPLDCPLD器件系列器件系列器件系列器件系列 1
24、. Stratix II 系列系列FPGA Stratix II提供了高速提供了高速I/O信号和接口:信号和接口: 专用串行专用串行/解串(解串(SERDES)电路。)电路。 动态相位调整(动态相位调整(DPA)电路。)电路。 支持差分支持差分I/O信号电平,包括信号电平,包括HyperTransport、LVDS、LVPECL及差分及差分SSTL和和HSTL。 提供外部存储器接口。提供外部存储器接口。 1.10 FPGA/CPLD1.10 FPGA/CPLD产品概述产品概述 1.10.2 Lattice1.10.2 Lattice公司公司公司公司CPLDCPLD器件系列器件系列器件系列器件系
25、列 1.10.3 1.10.3 XilinxXilinx公司的公司的公司的公司的FPGAFPGA和和和和CPLDCPLD器件系列器件系列器件系列器件系列 1. Virtex-4系列系列FPGA 2. Spartan& Spartan-3 & Spartan 3E器件系列器件系列 3. XC9500 & XC9500XL系列系列CPLD 1.11 1.11 编程与配置编程与配置 目前常见的大规模可编程逻辑器件的编程工艺有三种:目前常见的大规模可编程逻辑器件的编程工艺有三种: 1基于电可擦除存储单元的基于电可擦除存储单元的EEPROM或或Flash技术。技术。 2基于基于SRAM查找表的编程单元。
26、查找表的编程单元。 3基于反熔丝编程单元。基于反熔丝编程单元。 1.12 FPGA1.12 FPGA配置器件配置器件 主动配置方式主动配置方式 由由FPGA器件引导配置操作过程,它控器件引导配置操作过程,它控制着外部存储器和初始化过程制着外部存储器和初始化过程 被动配置方式被动配置方式 由外部计算机或控制器控制配置过程由外部计算机或控制器控制配置过程 EPC器件中的器件中的EPC2型号的器件是采用型号的器件是采用Flash存储工存储工艺制作的具有可多次编程特性的配置器件。艺制作的具有可多次编程特性的配置器件。 1.13 1.13 QuartusIIQuartusII 图图1-19 Quartu
27、s II设计流程设计流程 1.14 IP1.14 IP核核 IP软软IP固固IP硬硬IP完成了综合完成了综合的功能块的功能块 提供设计的提供设计的最终阶段产最终阶段产品:掩膜品:掩膜 用用HDL等硬件描述语言等硬件描述语言描述的功能块,但是并描述的功能块,但是并不涉及用什么具体电路不涉及用什么具体电路元件实现这些功能。元件实现这些功能。1.15 EDA1.15 EDA的发展趋势的发展趋势 随着市场需求的增长,集成工艺水平及计算机自动设随着市场需求的增长,集成工艺水平及计算机自动设计技术的不断提高,促使单片系统,或称系统集成芯片成计技术的不断提高,促使单片系统,或称系统集成芯片成为为IC设计的发展方向设计的发展方向 随着系统开发对随着系统开发对EDA技术的目标器件各种性能要求的技术的目标器件各种性能要求的提高,提高,ASIC和和FPGA将更大程度相互融合。将更大程度相互融合。 现在,传统现在,传统ASIC和和FPGA之间的界限正变得模糊。系之间的界限正变得模糊。系统级芯片不仅集成统级芯片不仅集成RAM和微处理器,也集成和微处理器,也集成FPGA。整个。整个EDA和和IC设计工业都朝这个方向发展,这并非是设计工业都朝这个方向发展,这并非是FPGA与与ASIC制造商竞争的产物,而对于用户来说,意味着有了更制造商竞争的产物,而对于用户来说,意味着有了更多的选择。多的选择。