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

下载本文档

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

文档简介

1、 数字系统设计1VHDL数字系统设计数字系统设计(Digital System Design with VHDL) 数字系统设计2第第1章章 概概 论论 1.1 数字集成电路分类数字集成电路分类1.2 可编程逻辑器件简介可编程逻辑器件简介1.3 数字系统的设计工具与设计流程数字系统的设计工具与设计流程1.4 知识产权核知识产权核1.5 数字系统设计中的其他问题数字系统设计中的其他问题数字系统设计3本章需要重点掌握的知识本章需要重点掌握的知识n什么是可编程逻辑器件什么是可编程逻辑器件?nCPLD、FPGA的工作原理?的工作原理?n数字系统的设计流程?数字系统的设计流程?数字系统设计4 数字系统数

2、字系统(Digital System)使用数字技术使用数字技术传输传输和和处理处理信息的电子系统。数字系信息的电子系统。数字系统的硬件构成主要是统的硬件构成主要是数字集成电数字集成电路路。数字系统设计51.1 数字集成电路的分类数字集成电路的分类 1. 按生产工艺划分:按生产工艺划分: 按工艺区分IIL电路54/74系列54H/74H系列54LS/74LS系列54AS/74AS系列54ALS/74ALS系列CMOS电路NMOS电路PMOS电路ECL电路HTL电路TTL电路54HC/74HC系列54HTC/74HTC系列4000系列Bi-CMOS型MOS型双极型数字系统设计6在上述工艺中:在上述

3、工艺中:n 双极型双极型工艺复杂,功耗大,集成度低,工艺复杂,功耗大,集成度低,生产成本高,速度快。生产成本高,速度快。n MOS 工艺简单,功耗小,集成度高,工艺简单,功耗小,集成度高,生产成本低,但速度慢生产成本低,但速度慢。结合双极结合双极- -MOS两种工艺的特点:两种工艺的特点:nBiMOS除输出级之外均采用除输出级之外均采用MOS工艺,工艺,而输出级采用双极型工艺。而输出级采用双极型工艺。集成度比较高,功耗集成度比较高,功耗比较低,抗干扰能力强,输出驱动能力强,速度比较低,抗干扰能力强,输出驱动能力强,速度快快。数字系统设计72. 按生产目的划分:按生产目的划分:(1)通用集成电路

4、)通用集成电路: 是以供应市场为目的的。例如,是以供应市场为目的的。例如,中小规模标准逻辑电路(中小规模标准逻辑电路(74系列、系列、4000系列)、微处理器、存储器、系列)、微处理器、存储器、外围电路芯片等。外围电路芯片等。数字系统设计8数字系统设计9(2)专用集成电路)专用集成电路(ASIC) application-specific integrated circuit : ASIC(Application ASIC(Application Specific Integrated Specific Integrated CircuitsCircuits,专用集成电路,专用集成电路) )是

5、相对于通用集成电路而是相对于通用集成电路而言的,言的,ASICASIC主要指用于某主要指用于某一专门用途的集成电路器一专门用途的集成电路器件。件。ASICASIC分类大致可分为分类大致可分为数字数字ASICASIC、模拟、模拟ASICASIC和数和数模混合模混合ASICASIC。数字ASIC模拟ASIC混合ASICASIC数字系统设计103. 按制造方法划分:按制造方法划分: 按版图结构及制造方法分,有半定制按版图结构及制造方法分,有半定制(Semi-custom)(Semi-custom)和全和全定制定制(Full-custom)(Full-custom)两种实现方法。两种实现方法。 全定制

6、方法全定制方法 是一种是一种基于晶体管级的,手工基于晶体管级的,手工设计版图的制造方法。设计版图的制造方法。 半定制法半定制法 是一是一种约束性设计方种约束性设计方式,约束的目的式,约束的目的是简化设计,缩是简化设计,缩短设计周期,降短设计周期,降低设计成本,提低设计成本,提高设计正确率。高设计正确率。ASIC设计方法设计方法全定制法全定制法半定制法半定制法门阵列法门阵列法标准单元法标准单元法可编程逻辑器件法可编程逻辑器件法数字系统设计11标准单元法布线通道标准单元压焊块和I/O数字系统设计12可编程逻辑器件(可编程逻辑器件(PLD)法)法: 在固定硬件电路的基础上,人为地改变电路在固定硬件电

7、路的基础上,人为地改变电路的逻辑功能。的逻辑功能。 这种方式对厂家而言是通用集成电路,可以这种方式对厂家而言是通用集成电路,可以批量生产以降低成本;而对用户而言,可以按不批量生产以降低成本;而对用户而言,可以按不同的设计对芯片进行不同的同的设计对芯片进行不同的“编程编程”使之成为专使之成为专用集成电路。用集成电路。PLD具有集成度高、工作速度快、具有集成度高、工作速度快、设计周期短、成本低和保密性强等优点,而且大设计周期短、成本低和保密性强等优点,而且大多数多数PLD还可以重复编程,还可以重复编程,因此因此PLD的出现,改的出现,改变了数字系统的传统设计方法,成为实现新型数变了数字系统的传统设

8、计方法,成为实现新型数字系统的理想器件。字系统的理想器件。数字系统设计131.2 可编程逻辑器件简介可编程逻辑器件简介 PLD(Programmable Logic Device)是实现数)是实现数字系统的理想器件。在采用字系统的理想器件。在采用PLD器件设计逻辑电路时,器件设计逻辑电路时,设计者需要利用设计者需要利用PLD器件开发软、硬件平台。器件开发软、硬件平台。 PLD器器件开发软件是根据设计要求,可进行逻辑电路件开发软件是根据设计要求,可进行逻辑电路设计输入、设计输入、编译、逻辑划分、优化和模拟编译、逻辑划分、优化和模拟,得到一个满足设计要求,得到一个满足设计要求的的PLD编程数据。所

9、设计的编程数据。所设计的PLD器件逻辑功能可以进行器件逻辑功能可以进行模拟运行,确定无误后一般要将模拟运行,确定无误后一般要将PLD编程数据下载到编编程数据下载到编程器,由编程器可将该编程数据写入程器,由编程器可将该编程数据写入PLD中。中。数字系统设计141.2.1 PLD的分类的分类 PLD有多种分类方法,下面介有多种分类方法,下面介绍几种常见的分类方法。绍几种常见的分类方法。数字系统设计151. 按不同的结构划分按不同的结构划分: (1)PLD:乘积项结构器件,其基本结构:乘积项结构器件,其基本结构为与为与-或阵列。或阵列。输入缓冲电路与阵列或阵列输出缓冲电路输入输出(2)FPGA:由简

10、单查找表构成的可编程:由简单查找表构成的可编程门阵列门阵列数字系统设计162. 按不同的制造工艺划分:按不同的制造工艺划分:熔丝熔丝(Fuse)/反熔丝反熔丝(Anti-fuse)工艺工艺 UVCMOS工艺工艺悬浮栅悬浮栅工艺工艺 EECMOS工艺工艺 Flash CMOS工艺工艺 SRAM CMOS工艺工艺数字系统设计17 3. 按不同的集成度划分:按不同的集成度划分: 可编程逻辑器件(PLD) 简单 PLD 复杂 PLD PROM PAL PLA GAL CPLD FPGA 数字系统设计18PLD的发展,是一个从低密度到高密度、从简单到的发展,是一个从低密度到高密度、从简单到复杂的过程:复

11、杂的过程:熔丝编程的熔丝编程的PROM和和PLA器件器件 AMD公公司推出司推出PAL器件器件 GAL器件器件 FPGA器器件件 EPLD器器件件 CPLD器器件件 内嵌复杂内嵌复杂功能模块功能模块的的SoPC 20世纪世纪70年代年代 20世纪世纪70年代末年代末 20世纪世纪80年代初年代初 20世纪世纪80年代中期年代中期 20世纪世纪80年代末年代末 进入进入20世纪世纪90年代后年代后 数字系统设计19电路符号表示电路符号表示 常用逻辑门符号与现有国标符号的对照常用逻辑门符号与现有国标符号的对照 数字系统设计20电路符号表示电路符号表示 图图a PLD的互补缓冲器的互补缓冲器 图图b

12、 PLD的互补输入的互补输入 图图c PLD中与阵列表示中与阵列表示 图图d PLD中或阵列的表示中或阵列的表示 图图e 阵列线连接表示阵列线连接表示 数字系统设计21简单PLD原理nPROM表达的PLD图阵列与 阵 列 ( 固 定 )或 阵 列( 可 编 程 )0A1A1A1A0A0A1F0F数字系统设计22简单PLD原理用PROM完成半加器逻辑阵列与阵列(固定)或阵列(可编程)0A1A1A1A0A0A1F0F数字系统设计23简单PLD原理PLA逻辑阵列示意图与 阵 列 ( 可 编 程 )或 阵 列( 可 编 程 )0A1A1A1A0A0A1F0F数字系统设计24简单PLD原理PAL0A1A

13、1F0F0A1A1F0FPAL结构结构PAL的常用表示的常用表示数字系统设计25GAL GAL GAL GAL在在“与与- -或或”阵列结构上沿用了阵列结构上沿用了PALPAL的与阵的与阵列可编程、或阵列固定的结构,但对列可编程、或阵列固定的结构,但对PALPAL的输出的输出I/OI/O结构进行了较大的改进,在结构进行了较大的改进,在GALGAL的输出部分增的输出部分增加了输出逻辑宏单元加了输出逻辑宏单元OLMC。 简单PLD原理数字系统设计26逻辑宏单元输入/输出口输入口时钟信号输入三态控制可编程与阵列固定或阵列GAL16V8数字系统设计27输出逻辑宏单元输出逻辑宏单元OLMC 数字系统设计

14、28CPLD结构与工作原理结构与工作原理Complex Programmable Logic Device数字系统设计29CPLD 这种这种PLD由三种基本单元组成:由三种基本单元组成:逻辑阵列块逻辑阵列块(LAB)、)、可编程连线可编程连线(PIA)和)和I/O控制块控制块。LAB包含多个宏单元,宏单元包含多个宏单元,宏单元是是PLD的基本结构,的基本结构,由它来实现基本的逻辑功能。由它来实现基本的逻辑功能。可编程连线可编程连线负责信号传递,连接所有的宏单元。负责信号传递,连接所有的宏单元。I/O控制块控制块负责输入输出的电气特性控制,比如可负责输入输出的电气特性控制,比如可以设定集电极开路

15、输出、三态输出等。以设定集电极开路输出、三态输出等。数字系统设计30LABLABLABLABLABLABLABLABLABLABLABLABLABLABLABLABPIAIOBMAX7128S的结构数字系统设计31CPLD内部结构内部结构I/O单元单元逻辑阵列模块逻辑阵列模块可编程连线可编程连线CPLD数字系统设计32宏单元宏单元PRNCLRNENA全局清零共享逻辑扩展项清零时钟清零选择寄 存 器旁路并行扩展项通往 PIA乘积项选择矩阵来自 I/O引脚全局时钟QDEN来自来自 PIA的的 36个信号个信号快速输入选择快速输入选择2数字系统设计33宏单元的具体结构宏单元的具体结构 n图左侧是乘积

16、项阵列,实际就是一个与或阵列,图左侧是乘积项阵列,实际就是一个与或阵列,每一个交叉点都是一个可编程熔丝,如果导通每一个交叉点都是一个可编程熔丝,如果导通就是实现就是实现“与与”逻辑。后面的乘积项选择矩阵逻辑。后面的乘积项选择矩阵是一个是一个“或或”阵列。两者一起完成组合逻辑。阵列。两者一起完成组合逻辑。 数字系统设计34宏单元的具体结构宏单元的具体结构 n图右侧是一个可编程图右侧是一个可编程D触发器,它的时钟,清触发器,它的时钟,清零输入都可以编程选择,可以使用专用的全局零输入都可以编程选择,可以使用专用的全局清零和全局时钟,也可以使用内部逻辑(乘积清零和全局时钟,也可以使用内部逻辑(乘积项阵

17、列)产生的时钟和清零。如果不需要触发项阵列)产生的时钟和清零。如果不需要触发器,也可以将此触发器旁路,信号直接输给器,也可以将此触发器旁路,信号直接输给PIA或输出到或输出到I/O脚。脚。 数字系统设计35n我们以这个电路为例:我们以这个电路为例: 数字系统设计36乘积项结构CPLD的逻辑实现原理n假设组合逻辑的输出假设组合逻辑的输出(AND3的输出的输出)为为f,则则f=(A+B)*C*(!D)=A*C*!D + B*C*!D ( 我我们以们以!D表示表示D的的“非非”) nCPLD将以下面的方式来实现组合逻辑将以下面的方式来实现组合逻辑f:数字系统设计37乘积项结构CPLD的逻辑实现原理n

18、A,B,C,D由由CPLD芯片的管脚输入后进入可编芯片的管脚输入后进入可编程连线阵列(程连线阵列(PIA),在内部会产生,在内部会产生A,A反反,B,B反反,C,C反反,D,D反反8个输出。个输出。n图中每一个叉表示相连(可编程熔丝导通),图中每一个叉表示相连(可编程熔丝导通),所以得到:所以得到:f= f1 + f2 = (A*C*!D) + (B*C*!D) 。这样组合逻辑就实现了。这样组合逻辑就实现了。 n电路中电路中D触发器的实现比较简单,直接利用宏触发器的实现比较简单,直接利用宏单元中的可编程单元中的可编程D触发器来实现。触发器来实现。数字系统设计38乘积项结构CPLD的逻辑实现原理

19、n时钟信号时钟信号CLK由由I/O脚输入后进入芯片内部的脚输入后进入芯片内部的全局时钟专用通道,直接连接到可编程触发器全局时钟专用通道,直接连接到可编程触发器的时钟端。的时钟端。n可编程触发器的输出与可编程触发器的输出与I/O脚相连,把结果输脚相连,把结果输出到芯片管脚。出到芯片管脚。数字系统设计39CPLD的特点的特点n工艺:工艺:EEPROM和和Flash工艺制造工艺制造n原理:乘积项原理:乘积项n适合实现组合电路,掉电数据不丢失,无适合实现组合电路,掉电数据不丢失,无须外接配置芯片须外接配置芯片 数字系统设计40FPGA结构与工作原理结构与工作原理Field Programmable G

20、ate Array数字系统设计41FPGA是现场可编程门阵列(是现场可编程门阵列(Field Programmable Gate Array)现今市面上绝大部分的现今市面上绝大部分的FPGA都是都是Altera或者或者是是Xilinx的,因此大部分设计师使用的也都是这两的,因此大部分设计师使用的也都是这两家旗下的产品家旗下的产品-基于基于SRAM查找表的查找表的FPGA。数字系统设计42基于查找表(LUT)的FPGA的结构n下面以下面以xilinx Spartan-II系列的器件为例,阐系列的器件为例,阐述述FPGA的结构与原理。的结构与原理。数字系统设计43 FPGA其内部结构主要由可编程逻

21、辑其内部结构主要由可编程逻辑块块CLB、可编程、可编程I/O模块模块IOB和可编程内部和可编程内部互连资源互连资源ICR三部分构成,它可以配置成任三部分构成,它可以配置成任意的结构形式,以实现任何复杂的逻辑功意的结构形式,以实现任何复杂的逻辑功能。能。 数字系统设计44FPGA内部结构内部结构数字系统设计45xilinx Spartan-II的内部结构的内部结构nspartan-II中,一个中,一个CLB包括包括2个个Slices,每个每个slices包括两个包括两个LUT,两个触发器和相关逻辑。,两个触发器和相关逻辑。 nSlices可以看成是可以看成是SpartanII实现逻辑的最基实现逻

22、辑的最基本结构本结构数字系统设计46查找表原理查找表原理n一个N输入查找表 (LUT,Look Up Table)可以实现N个输入变量的任何逻辑功能,如 N输入“与”、 N输入“异或”等。n输入多于N个的函数、方程必须分开用几个查找表( LUT)实现数字系统设计47查找表原理(续)查找表原理(续)数字系统设计48Slice结构结构查找表触发器数字系统设计49查找表结构的FPGA逻辑实现原理 n我们以这个电路为例:我们以这个电路为例: 数字系统设计50查找表结构的FPGA逻辑实现原理n该电路的组合逻辑部分正好用该电路的组合逻辑部分正好用1个个LUT来实现来实现n该电路中该电路中D触发器是直接利用

23、触发器是直接利用LUT后面后面D触发器来实触发器来实现。现。n时钟信号时钟信号CLK由由I/O脚输入后进入芯片内部的时钟专脚输入后进入芯片内部的时钟专用通道,直接连接到触发器的时钟端。用通道,直接连接到触发器的时钟端。n触发器的输出与触发器的输出与I/O脚相连,把结果输出到芯片管脚。脚相连,把结果输出到芯片管脚。数字系统设计51FPGA特点n工艺:工艺:SRAMn原理:原理:LUTn内部有丰富的触发器,适合实现时序电路,掉电数据内部有丰富的触发器,适合实现时序电路,掉电数据丢失,须外接配置芯片丢失,须外接配置芯片数字系统设计52FPGACPLD结构结构基于查找表结构基于查找表结构基于乘积项结构

24、基于乘积项结构集成度集成度更高更高功耗功耗更低更低速度速度更快更快能预测管脚至管脚时延能预测管脚至管脚时延编程方式编程方式SRAM在系统断电时易丢在系统断电时易丢失编程数据失编程数据基于基于EEPROM或或FLASH存存储器编程储器编程系统断电后,编程信息不丢系统断电后,编程信息不丢失失 数字系统设计53FPGA/CPLD的产品简述的产品简述数字系统设计54ALTERAFPGA: FLEX系列:10K、10A、10KE(EPF10K30E) APEX系列:20K、20KE(EP20K200E) ACEX系列:1K系列 EP1K30、EP1K100 STRATIX系列:EP1系列 (EP1S30

25、、EP1S120) CYCLONE系列:EP1C20 EXCALIBUR系列:CPLD: MAX7000/S/A/B系列:EPM7128S MAX9000/A系列 MAX3000系列数字系统设计55FPGA: XC3000系列XC4000系列XC5000系列 Virtex系列 SPARTAN系列:XCS10、XCS20、XCS30CPLD: XC9500系列:XC95108、XC95256XILINX数字系统设计56LATTICECPLDispLSI系列:1K、2K、3K、5K、8K ispLSI1016 、ispLSI2032、 ispLSI1032E、ispLSI3256A MACH系列

26、ispPAC系列: 数字系统设计571.3 数字系统的设计工具和设计流程数字系统的设计工具和设计流程1.3.1 数字系统设计自动化技术的发展历程数字系统设计自动化技术的发展历程 数字技术、集成电路与数字技术、集成电路与EDA技术的发展是相辅技术的发展是相辅相成、相互促进的。伴随着数字系统的发展,相成、相互促进的。伴随着数字系统的发展,EDA技术也在不断地成长和完善。技术也在不断地成长和完善。集成电路EDA技术数字系统设计58 数字系统的设计从设计方法学角度数字系统的设计从设计方法学角度来看有自顶向下来看有自顶向下(TOP-DOWN)和自底向上和自底向上(BOTTOM-UP)两种方法。两种方法。

27、 1.3.2 数字系统的设计流程数字系统的设计流程数字系统设计59传统的数字系统设计方法传统的数字系统设计方法n以门级单元库和基于门级单元库的宏以门级单元库和基于门级单元库的宏单元库为基础,从小模块逐级构造大单元库为基础,从小模块逐级构造大模块以至整个电路模块以至整个电路数字系统设计60问题的提出(实例)问题的提出(实例)设计一个电子秒表电路,使之完成以下设计一个电子秒表电路,使之完成以下功能:功能:按照按照0.01s的步长进行计时;的步长进行计时;具有异步清零和启动具有异步清零和启动/停止计数功能;停止计数功能;用数码管显示其秒高位、秒低位,百分秒高位、用数码管显示其秒高位、秒低位,百分秒高

28、位、百分秒低位;百分秒低位;为便于显示,秒和百分秒信号均采用为便于显示,秒和百分秒信号均采用BCD码码计数方式计数方式数字系统设计61解决方案解决方案1传统的数字系统设计方法传统的数字系统设计方法搭积木的方式!搭积木的方式!基于电路板得设计方法基于电路板得设计方法采用固定功能的器件(通用型器件),通采用固定功能的器件(通用型器件),通过设计电路板来实现系统功能。过设计电路板来实现系统功能。1、根据设计要求划分功能模块;、根据设计要求划分功能模块;2、确定输入输出关系,画出、确定输入输出关系,画出真值表真值表;3、由真值表写出、由真值表写出逻辑表达式逻辑表达式;4、利用公式或者卡诺图进行、利用公

29、式或者卡诺图进行人工化简人工化简;5、根据化简后的逻辑表达式画出、根据化简后的逻辑表达式画出电路原理图电路原理图;6、在面包板上进行实验,、在面包板上进行实验,验证验证电路的正确性;电路的正确性;7、若无错误,再在透明薄膜上用贴图符号、若无错误,再在透明薄膜上用贴图符号贴贴PBC图图;8、检查后送制板厂印刷;、检查后送制板厂印刷;9、对、对PCB板进行安装调试,如有大的错误,修改设计,重板进行安装调试,如有大的错误,修改设计,重复以上过程,重新制板。复以上过程,重新制板。数字系统设计62传统的数字系统设计方法的缺点传统的数字系统设计方法的缺点设计周期长,灵活性差,耗时耗力,效率低下;设计周期长

30、,灵活性差,耗时耗力,效率低下;设计依赖于设计师的经验;设计依赖于设计师的经验;设计后期的仿真不易实现;设计后期的仿真不易实现;调试复杂,容易出错;调试复杂,容易出错;设计依赖于现有的通用元器件。芯片种类多,设计依赖于现有的通用元器件。芯片种类多,数量大,受市场的限制;数量大,受市场的限制;产品体积大。产品体积大。数字系统设计63解决方案解决方案2现代的数字系统设计方法现代的数字系统设计方法 基于芯片的设计方法基于芯片的设计方法采用采用PLDPLD(可编程(可编程逻辑器件),利用逻辑器件),利用EDAEDA开发工具,通过芯片设开发工具,通过芯片设计来实现系统功能。计来实现系统功能。EDA软件软

31、件PLD编程编程数字系统数字系统+数字系统设计64n现代的数字系统设计采取一种自上而下现代的数字系统设计采取一种自上而下(Top-DownTop-Down)的设计方法。其方案验证与)的设计方法。其方案验证与设计、系统逻辑综合、布局布线、性能仿设计、系统逻辑综合、布局布线、性能仿真、器件编程等均由真、器件编程等均由EDAEDA工具一体化完成。工具一体化完成。n由于整个设计是从顶层开始的,设计中可由于整个设计是从顶层开始的,设计中可逐层扫描,逐层仿真,保证满足系统指标。逐层扫描,逐层仿真,保证满足系统指标。结合应用领域的具体要求,及时调整设计结合应用领域的具体要求,及时调整设计方案,进行性能优化,

32、从而保证了设计的方案,进行性能优化,从而保证了设计的正确性,缩短了设计周期。正确性,缩短了设计周期。数字系统设计65l现代的数字系统设计为电子系统设计带来现代的数字系统设计为电子系统设计带来了这样的变化了这样的变化:设计效率提高,设计周期缩短;设计效率提高,设计周期缩短;设计质量提高;设计质量提高;设计成本降低;设计成本降低;能更充分地发挥设计人员的创造性;能更充分地发挥设计人员的创造性;设计成果的重用性大大提高,省去了不必设计成果的重用性大大提高,省去了不必要的重复劳动。要的重复劳动。数字系统设计66传统方法与现代方法比较如下表:传统方法与现代方法比较如下表:特点特点传统方法传统方法现代方法

33、现代方法采用器件采用器件通用型器件通用型器件PLD设计对象设计对象电路板电路板芯片芯片设计方法设计方法自下而上自下而上自上而下自上而下仿真周期仿真周期系统硬件设计后期系统硬件设计后期 系统硬件设计早期系统硬件设计早期主要设计文件主要设计文件电路原理图电路原理图HDL语言编写的程语言编写的程序序数字系统设计67 按照按照TOP-DOWN的设计方法,数字系统的设计方法,数字系统的设计流程可分为以下几个层次:的设计流程可分为以下几个层次: 系统设计系统设计模块设计模块设计器件设计器件设计PCB设计设计对系统的功能和技术指标进对系统的功能和技术指标进行描述,并将系统划分成实行描述,并将系统划分成实现不

34、同功能的子系统(电现不同功能的子系统(电路),同时确定各子系统之路),同时确定各子系统之间的接口关系。间的接口关系。在子系统一级描在子系统一级描述电路模块的功述电路模块的功能能,将子系统划分将子系统划分成更细的逻辑模成更细的逻辑模块。块。将逻辑模块的功能用通用将逻辑模块的功能用通用IC或者或者ASIC来实现,并对来实现,并对ASIC的内部逻辑和外接引的内部逻辑和外接引脚的功能进行定义。脚的功能进行定义。按照系统设计要求,确定按照系统设计要求,确定电路板的物理尺寸,并进电路板的物理尺寸,并进行元器件的布局和布线,行元器件的布局和布线,从而实现系统的设计功能。从而实现系统的设计功能。数字系统设计6

35、8 在各个层次的设计中,主在各个层次的设计中,主要有要有描述描述 划分划分 综合综合 验证验证等四种类型的工作等四种类型的工作 。数字系统设计69描述描述是用文字(例如硬件描述语言是用文字(例如硬件描述语言VHDL、Verilog HDL等)或者是图形等)或者是图形(例如逻辑图、状态图、(例如逻辑图、状态图、PCB或芯片版或芯片版图等)或者是二者的结合来描述不同设图等)或者是二者的结合来描述不同设计层次的功能,主要有四种方法:计层次的功能,主要有四种方法:几何描述几何描述结构描述结构描述RTL描述描述行为描述行为描述数字系统设计70几何描述几何描述主要是指主要是指PCB或者集成电路芯片布图或者

36、集成电路芯片布图中的几何信息,它可以用物理尺寸表达,也可以用中的几何信息,它可以用物理尺寸表达,也可以用符号来表达。符号来表达。结构描述结构描述表示一个电路的基本元件构成和这些表示一个电路的基本元件构成和这些基本元件之间的相互连接关系,它可以用文字表达,基本元件之间的相互连接关系,它可以用文字表达,也可以用图形来表达。也可以用图形来表达。RTL描述描述表示信息在一个电路中的流向,即信表示信息在一个电路中的流向,即信息是如何从电路的输入端,经过何种变换,最终流息是如何从电路的输入端,经过何种变换,最终流向输出端的。向输出端的。行为描述行为描述表示一个电路模块输入信号和输出信表示一个电路模块输入信

37、号和输出信号之间的相互对应关系,它也可以用文字或者图形号之间的相互对应关系,它也可以用文字或者图形两种形式来表达。两种形式来表达。数字系统设计71划分划分是在不同的设计层次,将大模块逐是在不同的设计层次,将大模块逐级划分成子模块的过程。在划分模块时应注级划分成子模块的过程。在划分模块时应注意以下几点:意以下几点:1.在同一层次的模块之间,尽量使模块的在同一层次的模块之间,尽量使模块的结构匀称,这样可以减少在资源分配上的差结构匀称,这样可以减少在资源分配上的差异,从而避免系统在性能上的瓶颈。异,从而避免系统在性能上的瓶颈。2.尽量减少模块之间的接口信号线。在信尽量减少模块之间的接口信号线。在信号

38、连接最少的地方划分模块,使模块之间用号连接最少的地方划分模块,使模块之间用最少的信号线相连,以减少由于接口信号复最少的信号线相连,以减少由于接口信号复杂而引起的设计错误和布线困难。杂而引起的设计错误和布线困难。数字系统设计723.划分模块的细度应适合于描述。如果划分模块的细度应适合于描述。如果用硬件描述语言用硬件描述语言HDL描述模块的行为,可以描述模块的行为,可以划分到算法一级;用逻辑图来描述模块,则划分到算法一级;用逻辑图来描述模块,则需要划分到门、触发器和宏模块一级。需要划分到门、触发器和宏模块一级。4.对于功能相似的逻辑模块,应尽量设对于功能相似的逻辑模块,应尽量设计成共享模块。这样可

39、以改善设计的结构化计成共享模块。这样可以改善设计的结构化特性,减少需要设计的模块数量。特性,减少需要设计的模块数量。5.在划分时尽量避免考虑与器件有关的在划分时尽量避免考虑与器件有关的特性,以使设计具有可移植性,即可以在不特性,以使设计具有可移植性,即可以在不同的器件(例如全定制或者各种半定制同的器件(例如全定制或者各种半定制ASIC)上实现。上实现。 数字系统设计73综合综合是将把软件设计的是将把软件设计的HDLHDL描述与硬件结构描述与硬件结构挂钩,是将软件转化为硬件电路的关键步骤,是挂钩,是将软件转化为硬件电路的关键步骤,是文字描述与硬件实现的一座桥梁。文字描述与硬件实现的一座桥梁。综合

40、就是将电路的高级语言(如行为描述)综合就是将电路的高级语言(如行为描述)转换成低级的,可与转换成低级的,可与FPGA/CPLDFPGA/CPLD的基本结构相映的基本结构相映射的网表文件或程序。射的网表文件或程序。综合可以在不同的层次上进行,它可以分综合可以在不同的层次上进行,它可以分为三个层次:为三个层次:行为综合行为综合、逻辑综合逻辑综合、版图综合版图综合。数字系统设计74行为综合行为综合将算法级行为描述转换为寄存器传输将算法级行为描述转换为寄存器传输级(级(RTL)描述,它可以缩短设计周期,提高设计)描述,它可以缩短设计周期,提高设计速度,并且可以在不同的设计方案中,寻求满足目速度,并且可

41、以在不同的设计方案中,寻求满足目标集合和约束条件的、花费最少的设计方案。标集合和约束条件的、花费最少的设计方案。逻辑综合逻辑综合是在标准单元库和特定设计约束(例是在标准单元库和特定设计约束(例如面积、速度、功耗、可测性等)的基础上,把如面积、速度、功耗、可测性等)的基础上,把RTL描述转换成优化的门级网表的过程,描述转换成优化的门级网表的过程,它可以分它可以分为组合逻辑电路的综合和时序逻辑电路的综合两大为组合逻辑电路的综合和时序逻辑电路的综合两大类。类。版图综合版图综合将逻辑电路转换为将逻辑电路转换为ASIC或者或者PCB版版图的布局布线表述,生成版图文件。图的布局布线表述,生成版图文件。数字

42、系统设计75 验证验证是对功能描述和综合的结果是否是对功能描述和综合的结果是否能够满足设计功能的要求进行模拟分析的过能够满足设计功能的要求进行模拟分析的过程,如果不能满足要求,则必须对该层次的程,如果不能满足要求,则必须对该层次的功能描述进行修正,甚至可能需要修改更高功能描述进行修正,甚至可能需要修改更高层次的功能描述和划分,直到验证的结果满层次的功能描述和划分,直到验证的结果满足设计功能的要求为止。足设计功能的要求为止。数字系统设计76 验证的目的主要有三个方面:验证的目的主要有三个方面: 1.验证原始描述的正确性;验证原始描述的正确性; 2.验证综合结果的逻辑功能是否验证综合结果的逻辑功能

43、是否符合原始描述;符合原始描述; 3.验证综合的结果中是否含有违验证综合的结果中是否含有违反设计规则的错误。反设计规则的错误。数字系统设计77 验证方法通常有三种:验证方法通常有三种: 1.逻辑模拟(也称仿真)逻辑模拟(也称仿真) 2.规则检查规则检查 3.形式验证形式验证。 逻辑模拟逻辑模拟是当前的主要验证手段,它通是当前的主要验证手段,它通过观察从原始描述抽象出的模型或者综合的结过观察从原始描述抽象出的模型或者综合的结果在外部激励信号作用下的反应,来判断原始果在外部激励信号作用下的反应,来判断原始描述或者综合结果是否实现了预期的逻辑功能。描述或者综合结果是否实现了预期的逻辑功能。数字系统设

44、计78子系统行为描述行为级仿真系统划分行为综合系统级验证系统设计与描述RTL描述RTL仿真逻辑划分与综合结构描述逻辑优化门级仿真门级网表建立模型或算法GDSII网表文件或GERBER文件版图划分与综合几何描述规则检查与后仿真修改系统描述修改行为描述修改几何描述修改RTL描述修改系统划分系统设计者专门设计者数字系统设计流程图数字系统设计791.4 IP (Intellectual Property) 核核IP定义为用于定义为用于ASIC或或FPGA/CPLD中的预先设计好的电中的预先设计好的电路功能模块。路功能模块。 软软IP-用用VHDL等硬件描述语言描述的功能块,但是并不等硬件描述语言描述的

45、功能块,但是并不涉及用什么具体电路元件实现这些功能。涉及用什么具体电路元件实现这些功能。 固固IP-完成了综合的功能块。以网表文件的形式给客户使完成了综合的功能块。以网表文件的形式给客户使用。用。 硬硬IP-供设计的最终阶段产品供设计的最终阶段产品-掩膜。掩膜。 数字系统设计801. 优化设计:优化设计: 在数字系统的设计中,有多种实现在数字系统的设计中,有多种实现方案,应当根据系统的不同应用场合方案,应当根据系统的不同应用场合制定优化目标,例如优化工作速度、制定优化目标,例如优化工作速度、优化资源利用率、优化布局布线的可优化资源利用率、优化布局布线的可实现性等等。实现性等等。1.5 数字系统

46、设计中其它问题数字系统设计中其它问题数字系统设计81优化资源利用率:优化资源利用率:优化资源利用率的常见方法:优化资源利用率的常见方法:逻辑优化逻辑优化简化逻辑电路简化逻辑电路资源共享资源共享提取共享模块提取共享模块数字系统设计82逻辑优化逻辑优化去除冗余结点和连线,减小逻去除冗余结点和连线,减小逻辑深度,减少信号翻转,从而简化逻辑并降低功辑深度,减少信号翻转,从而简化逻辑并降低功耗。以前常用的代数化简和卡诺图化简都是逻辑耗。以前常用的代数化简和卡诺图化简都是逻辑优化方法。优化方法。乘数B被乘数A乘积C被乘数A常数B乘积C普通乘法器占用面积大常数乘法器占用面积小数字系统设计83资源共享资源共享

47、提取共享模块,减小占用面积。提取共享模块,减小占用面积。例如,例如,IF C=0 THEN Y=A0+B ELSE Y=A1+B非资源共享实现方式资源共享实现方式CYBA1A0+01YBCA1A0+01数字系统设计84优化工作速度:优化工作速度:优化工作速度的常见方法:优化工作速度的常见方法:流水线流水线提高时钟频率提高时钟频率优化最长路径优化最长路径最长路径的逻辑优化最长路径的逻辑优化数字系统设计85流水线流水线将延迟大的电路模块划分为延迟小将延迟大的电路模块划分为延迟小的多个模块,假设这些小模块中最大的延迟时间为的多个模块,假设这些小模块中最大的延迟时间为Tmax,则,则fclk=1/ Tmax。clk1寄存器A寄存器B组合逻辑模块延迟Tsclk2寄存器A寄存器B组合逻辑模块1,延迟T1寄存器C组合逻辑模块2,延迟T2T1T2Ts/2,fclk22fclk1数字系统设计86优化最长

温馨提示

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

评论

0/150

提交评论