第一章 概述(2012-2013-2 eda)_第1页
第一章 概述(2012-2013-2 eda)_第2页
第一章 概述(2012-2013-2 eda)_第3页
第一章 概述(2012-2013-2 eda)_第4页
第一章 概述(2012-2013-2 eda)_第5页
已阅读5页,还剩86页未读 继续免费阅读

下载本文档

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

文档简介

1、EDA技术技术金陵科技学院金陵科技学院信息技术学院信息技术学院第一章第一章 概述概述1.1 EDA技术及其发展技术及其发展1. 什么是什么是 EDA?Electronic Design Automation电子设计自动化电子设计自动化 EDA技术技术是是20世纪后期,伴随着世纪后期,伴随着微电子技术微电子技术、大规模集成电路制造技术大规模集成电路制造技术、可编程逻辑器件设计技可编程逻辑器件设计技术术、计算机辅助工程技术计算机辅助工程技术以及以及现代电子设计技术现代电子设计技术的的发展而同步发展形成的一门综合性的技术与学科。发展而同步发展形成的一门综合性的技术与学科。 EDA技术作为现代电子设计

2、技术的核心,依赖功能强技术作为现代电子设计技术的核心,依赖功能强大的大的计算机计算机,以,以大规模可编程器件大规模可编程器件为设计载体,以硬件描为设计载体,以硬件描述语言述语言HDL(Hardware Description Language)为系统为系统逻辑功能描述的主要表达方式,在逻辑功能描述的主要表达方式,在EDA工具软件平台工具软件平台上上,自动完成从自动完成从软件方式描述的电子系统软件方式描述的电子系统到到硬件电子系统硬件电子系统的逻的逻辑化简、逻辑分割、逻辑综合、结构综合(布局布线)、辑化简、逻辑分割、逻辑综合、结构综合(布局布线)、逻辑优化、仿真测试、编程下载等功能,直至实现既定

3、性逻辑优化、仿真测试、编程下载等功能,直至实现既定性能的硬件电子系统功能。能的硬件电子系统功能。2. EDA技术的定义技术的定义 EDA技术使得设计者的工作几乎仅限于利用软件的方式,技术使得设计者的工作几乎仅限于利用软件的方式,即即利用硬件描述语言利用硬件描述语言HDL和和EDA软件来完成对系统硬件功能的软件来完成对系统硬件功能的实现实现。在硬件方面融合了大规模集成电路制造技术、在硬件方面融合了大规模集成电路制造技术、IC(Integrated Circuit)版图设计技术、版图设计技术、ASIC(Application Specific Integrated Circuit )测试)测试和封

4、装技术、和封装技术、FPGA(Field Programmable Gate Array)和)和CPLD(Complex Programmable Logic Device)编程下载技术、自动测试技)编程下载技术、自动测试技术等;术等;在计算机辅助工程方面融合了计算机辅助设计(在计算机辅助工程方面融合了计算机辅助设计(CAD)、计算机辅助制)、计算机辅助制造(造(CAM)、计算机辅助测试()、计算机辅助测试(CAT)、计算机辅助工程()、计算机辅助工程(CAE)技术)技术以及多种计算机语言的设计概念;以及多种计算机语言的设计概念;在现代电子学方面融合了电子线路设计理论、数字信号处理技术、嵌入在

5、现代电子学方面融合了电子线路设计理论、数字信号处理技术、嵌入式系统和计算机设计技术、数字系统建模和优化及微波技术等;式系统和计算机设计技术、数字系统建模和优化及微波技术等; 所以,所以,EDA技术是一门综合性学科技术是一门综合性学科,融合多学科一体,又渗透于各学,融合多学科一体,又渗透于各学科中,代表了电子设计技术的发展方向。科中,代表了电子设计技术的发展方向。3. EDA技术涉及的技术领域技术涉及的技术领域(1)计算机辅助设计)计算机辅助设计CAD阶段阶段 20世纪世纪70年代,在集成电路制作方面,双极工艺、年代,在集成电路制作方面,双极工艺、MOS工工艺已得到广泛的应用,可编程逻辑技术及其

6、器件(艺已得到广泛的应用,可编程逻辑技术及其器件(PROM、PLA、PAL)已经问世,并且计算机作为一种运算工具已在科)已经问世,并且计算机作为一种运算工具已在科研领域得到广泛应用。研领域得到广泛应用。 在在70年代后期,年代后期,CAD的概念已见雏形。这一阶段人们开始的概念已见雏形。这一阶段人们开始利用计算机和利用计算机和CAD工具取代手工劳动,辅助进行集成电路版图工具取代手工劳动,辅助进行集成电路版图编辑、编辑、PCB(印制电路板)布局布线等繁杂工作。(印制电路板)布局布线等繁杂工作。4. EDA技术的发展过程技术的发展过程(2)计算机辅助工程)计算机辅助工程CAE阶段阶段 20世纪世纪8

7、0年代,集成电路设计进入了年代,集成电路设计进入了CMOS时代,出现了时代,出现了复杂可编程器件以及相应的辅助设计软件。复杂可编程器件以及相应的辅助设计软件。 在在80年代末期,出现了年代末期,出现了FPGA和和CPLD,于是,于是CAE和和CAD 技术的应用更为广泛,它们在技术的应用更为广泛,它们在PCB设计方面的原理图输入、自设计方面的原理图输入、自动布局布线及动布局布线及PCB分析,以及逻辑设计、逻辑仿真、逻辑函数分析,以及逻辑设计、逻辑仿真、逻辑函数化简等方面都得到了广泛的应用。化简等方面都得到了广泛的应用。 特别是各种硬件描述语言的出现,并不断地被应用和标准特别是各种硬件描述语言的出

8、现,并不断地被应用和标准化,为电子设计自动化必须解决的电路建模、标准文档及仿真化,为电子设计自动化必须解决的电路建模、标准文档及仿真测试奠定了坚实的基础。测试奠定了坚实的基础。(3)电子设计自动化()电子设计自动化(EDA)阶段)阶段 20世纪世纪90年代,随着硬件描述语言的标准化得到进一步的确定,年代,随着硬件描述语言的标准化得到进一步的确定,计算机辅助工程、辅助分析和辅助设计在电子技术领域获得更加广泛计算机辅助工程、辅助分析和辅助设计在电子技术领域获得更加广泛的应用;同时电子技术在通信、计算机及家电产品中的需求极大地推的应用;同时电子技术在通信、计算机及家电产品中的需求极大地推动了电子设计

9、自动化技术的应用和发展。动了电子设计自动化技术的应用和发展。 同时期,集成电路设计工艺步入了超深亚微米阶段,近千万门的同时期,集成电路设计工艺步入了超深亚微米阶段,近千万门的大规模可编程逻辑器件的出现,以及低成本大规模的大规模可编程逻辑器件的出现,以及低成本大规模的ASIC设计技术的设计技术的应用,促进了应用,促进了EDA技术的形成和发展。技术的形成和发展。 同时期,各同时期,各EDA公司积极推出兼容各种硬件实现方案和支持标准公司积极推出兼容各种硬件实现方案和支持标准硬件描述语言的硬件描述语言的EDA工具软件,都有效地将工具软件,都有效地将EDA技术推向了成熟。技术推向了成熟。 此外,过去单功

10、能电子产品开发转向系统级电子产品开发(即此外,过去单功能电子产品开发转向系统级电子产品开发(即SOC: System On a Chip:单片系统、或片上系统;:单片系统、或片上系统;SOPC: System On a Programmable Chip:片上可编程系统:片上可编程系统 )。)。u 什么是什么是 SOC / SOPC ?System on a Chip/System on a Programmable Chip 片上系统片上系统 / 片上可编程系统片上可编程系统 片上系统(片上系统(SoC:System-on-a-chip)指的是)指的是在单个芯片在单个芯片上集成一个完整的系统

11、上集成一个完整的系统。所谓完整的系统一般包括嵌入式处。所谓完整的系统一般包括嵌入式处理器、存储器、理器、存储器、I/O口以及各类功能模块等。口以及各类功能模块等。 片上系统技术通常应用于小型的,日益复杂的电子设备。片上系统技术通常应用于小型的,日益复杂的电子设备。例如,例如,声音检测设备的片上系统声音检测设备的片上系统是在单个芯片上提供包括音频是在单个芯片上提供包括音频接收端、模数转换器(接收端、模数转换器(ADC)、微处理器、必要的存储器以及)、微处理器、必要的存储器以及输入输出逻辑控制等设备。此外系统芯片还应用于单芯片无线输入输出逻辑控制等设备。此外系统芯片还应用于单芯片无线产品,诸如蓝牙

12、设备,支持单芯片产品,诸如蓝牙设备,支持单芯片WLAN和蜂窝电话解决方案。和蜂窝电话解决方案。 由于空前的高效集成性能,片上系统是替代集成电路的主由于空前的高效集成性能,片上系统是替代集成电路的主要解决方案。要解决方案。SoC 已经成为当前微电子芯片发展的必然趋势。已经成为当前微电子芯片发展的必然趋势。(3)电子设计自动化()电子设计自动化(EDA)阶段)阶段 20世纪世纪90年代,随着硬件描述语言的标准化得到进一步的确定,年代,随着硬件描述语言的标准化得到进一步的确定,计算机辅助工程、辅助分析和辅助设计在电子技术领域获得更加广泛计算机辅助工程、辅助分析和辅助设计在电子技术领域获得更加广泛的应

13、用,与此同时电子技术在通信、计算机及家电产品生产中的需求的应用,与此同时电子技术在通信、计算机及家电产品生产中的需求极大地推动了全新的电子设计自动化技术的应用和发展。极大地推动了全新的电子设计自动化技术的应用和发展。 同时期,集成电路设计工艺步入了超深亚微米阶段,近千万门的同时期,集成电路设计工艺步入了超深亚微米阶段,近千万门的大规模可编程逻辑器件的出现,以及低成本大规模的大规模可编程逻辑器件的出现,以及低成本大规模的ASIC设计技术的设计技术的应用,促进了应用,促进了EDA技术的形成和发展。技术的形成和发展。 同时期,各同时期,各EDA公司积极推出兼容各种硬件实现方案和支持标准公司积极推出兼

14、容各种硬件实现方案和支持标准硬件描述语言的硬件描述语言的EDA工具软件,都有效地将工具软件,都有效地将EDA技术推向了成熟。技术推向了成熟。 此外,过去单功能电子产品开发转向系统级电子产品开发(即此外,过去单功能电子产品开发转向系统级电子产品开发(即SOC: System On a Chip:单片系统、或片上系统;:单片系统、或片上系统;SOPC: System On a Programmable Chip:片上可编程系统:片上可编程系统 )。)。(3)电子设计自动化()电子设计自动化(EDA)阶段)阶段 20世纪世纪90年代,可编程逻辑器件迅速发展(由最初年代,可编程逻辑器件迅速发展(由最初

15、的几百门几千门发展到现在的数万门数十万门),并且的几百门几千门发展到现在的数万门数十万门),并且出现功能强大的全线出现功能强大的全线EDA工具,使用具有较强抽象描述工具,使用具有较强抽象描述能力的硬件描述语言(能力的硬件描述语言(VHDL、Verilog HDL)及高性能)及高性能综合工具,使过去单功能电子产品开发转向系统级电子综合工具,使过去单功能电子产品开发转向系统级电子产品开发(即产品开发(即SOC: System On a Chip:单片系统、或:单片系统、或片上系统集成;片上系统集成;SOPC: System On a Programmable Chip:片上可编程系统:片上可编程系

16、统 ) 开始实现开始实现“概念驱动工程概念驱动工程”(Concept Driver Engineering, CDE)的梦想。)的梦想。 EDA技术进入技术进入21世纪后得到了更大的发展,表现在:世纪后得到了更大的发展,表现在:(1)功能强大的)功能强大的EDA软件不断推出,在设计和仿真两方面都支持软件不断推出,在设计和仿真两方面都支持标准硬件描述语言。标准硬件描述语言。(2)电路电子系统的设计全方位进入)电路电子系统的设计全方位进入EDA时代。除了日益成熟的时代。除了日益成熟的数字技术外,传统的电路系统设计建模理念发生了重大的变化,软数字技术外,传统的电路系统设计建模理念发生了重大的变化,软

17、硬件技术,软硬件功能及其结构进一步融合。硬件技术,软硬件功能及其结构进一步融合。(3)EDA使得电子技术领域各学科的界限更加模糊,更加互为包使得电子技术领域各学科的界限更加模糊,更加互为包容,如模拟和数字、软件和硬件、系统和器件、容,如模拟和数字、软件和硬件、系统和器件、ASIC和和FPGA等。等。(4)更大规模的)更大规模的FPGA和和CPLD器件的不断推出。器件的不断推出。 EDA技术进入技术进入21世纪后得到了更大的发展,表现在:世纪后得到了更大的发展,表现在:(1)功能强大的)功能强大的EDA软件不断推出,在设计和仿真两方面都支持软件不断推出,在设计和仿真两方面都支持标准硬件描述语言。

18、标准硬件描述语言。(2)电路电子系统的设计全方位进入)电路电子系统的设计全方位进入EDA时代。除了日益成熟的时代。除了日益成熟的数字技术外,传统的电路系统设计建模理念发生了重大的变化:软数字技术外,传统的电路系统设计建模理念发生了重大的变化:软件无线电技术的崛起,模拟电路系统硬件描述语言的表达和设计的件无线电技术的崛起,模拟电路系统硬件描述语言的表达和设计的标准化,系统可编程模拟器件的出现,数字信号处理和图像处理的标准化,系统可编程模拟器件的出现,数字信号处理和图像处理的全硬件实现方案的出现,软硬件技术,软硬件功能及其结构进一步全硬件实现方案的出现,软硬件技术,软硬件功能及其结构进一步融合。融

19、合。(3)EDA使得电子技术领域各学科的界限更加模糊,更加互为包使得电子技术领域各学科的界限更加模糊,更加互为包容,如模拟和数字、软件和硬件、系统和器件、容,如模拟和数字、软件和硬件、系统和器件、ASIC和和FPGA等。等。(4)更大规模的)更大规模的FPGA和和CPLD器件的不断推出。器件的不断推出。(5)电子设计成果可以)电子设计成果可以IP的方式来明确表达。的方式来明确表达。 (Intellectual Property,知识产权,往往是一个公司售给另一个,知识产权,往往是一个公司售给另一个公司的硬件设计包)公司的硬件设计包)(6)ASIC设计的标准单元已涵盖大规模电子系统及复杂设计的标

20、准单元已涵盖大规模电子系统及复杂IP模块。模块。软硬件软硬件IP核在电子行业各领域得到进一步确认和应用。核在电子行业各领域得到进一步确认和应用。(7)SOC(System On a Chip)或)或SOPC(System On a Programmable Chip)高效低成本设计技术的成熟。)高效低成本设计技术的成熟。(8)系统级、行为验证级硬件描述语言,如)系统级、行为验证级硬件描述语言,如System C、SystemVerilog等的出现,使复杂电子系统的设计特别趋于高效和等的出现,使复杂电子系统的设计特别趋于高效和简单。简单。1.2 EDA技术实现目标技术实现目标 利用利用EDA技术

21、进行电子系统设计的目标是:技术进行电子系统设计的目标是:(1)完成)完成专用集成电路(专用集成电路(ASIC)的设计和实现)的设计和实现(2)完成印制电路板()完成印制电路板(PCB)的设计和实现)的设计和实现(1)完成)完成专用集成电路(专用集成电路(ASIC)的设计和实现)的设计和实现,专用集,专用集成电路(成电路(ASIC)就是具有专门用途和特定功能的独立集成)就是具有专门用途和特定功能的独立集成电路器件。电路器件。(2)完成印制电路板()完成印制电路板(PCB)的设计和实现,包括从电路)的设计和实现,包括从电路原理图到原理图到PCB上的元件的布局、布线、阻抗匹配、信号完上的元件的布局、

22、布线、阻抗匹配、信号完整性分析及版级仿真,到最后的电路加工文件生成,都需整性分析及版级仿真,到最后的电路加工文件生成,都需要要EDA工具软件辅助设计来完成。工具软件辅助设计来完成。专用集成电路(专用集成电路(ASIC)的设计和实现分为三类:)的设计和实现分为三类:1. 可编程逻辑器件可编程逻辑器件FPGA/CPLD FPGA和和CPLD是是ASIC设计中的主流器件。设计中的主流器件。 FPGA和和CPLD设计的特点是直接面向用户,具有极大设计的特点是直接面向用户,具有极大的灵活性和通用性,使用方便,硬件测试和实现快捷,开发的灵活性和通用性,使用方便,硬件测试和实现快捷,开发效率高,成本低,上市

23、时间短,技术维护简单,工作可靠性效率高,成本低,上市时间短,技术维护简单,工作可靠性好等好等 。 FPGA和和CPLD的应用是的应用是EDA技术有机融合了软硬件电技术有机融合了软硬件电子设计技术、子设计技术、SOC和和ASIC设计,体现了自动设计与实现。设计,体现了自动设计与实现。 FPGA和和CPLD通常被称为可编程通常被称为可编程ASIC,可编程专用,可编程专用IC。 根据根据IC的实现工艺,这一类称为掩膜(的实现工艺,这一类称为掩膜(Mask)ASIC,或,或直接称直接称ASIC。 掩膜掩膜ASIC分为:分为:门阵列门阵列ASIC、标准单元、标准单元ASIC(半定制(半定制ASIC)和全

24、定制)和全定制ASIC。2. 掩膜(掩膜(Mask)ASIC3. 混合混合ASIC 混合混合ASIC主要指既具有主要指既具有FPGA的可编程功能和逻辑资源,的可编程功能和逻辑资源,同时也含有可方便调用和配置的硬件标准单元,如同时也含有可方便调用和配置的硬件标准单元,如CPU、RAM、ROM、硬件加法器、乘法器、锁相环等。、硬件加法器、乘法器、锁相环等。 根据根据IC的实现工艺,这一类称为掩膜(的实现工艺,这一类称为掩膜(Mask)ASIC,或,或直接称直接称ASIC。 掩膜掩膜ASIC分为:分为:门阵列门阵列ASIC、标准单元、标准单元ASIC(半定制(半定制ASIC)和全定制)和全定制ASI

25、C。 掩膜掩膜ASIC与可编程与可编程ASIC相比,可编程相比,可编程ASIC具有面向用具有面向用户的灵活多样的可编程性。户的灵活多样的可编程性。2. 掩膜(掩膜(Mask)ASIC(1)门阵列)门阵列ASIC 门阵列门阵列ASIC中包括预定制的相连的中包括预定制的相连的PMOS和和NMOS晶体晶体管行。设计中用户可以借助管行。设计中用户可以借助EDA工具将原理图或硬件描述语工具将原理图或硬件描述语言模型映射为相应门阵列晶体管配置,创建一个指定金属互言模型映射为相应门阵列晶体管配置,创建一个指定金属互连路径文件,从而完成门阵列连路径文件,从而完成门阵列ASIC开发。开发。(2)标准单元)标准单

26、元ASIC 目前大部分目前大部分ASIC设计是使用库中不同大小的标准单元设设计是使用库中不同大小的标准单元设计的,这类芯片称作基于单元的集成电路(计的,这类芯片称作基于单元的集成电路(Cell-Based Integrated Circuits, CBIC)。)。 库中包括不同复杂性的逻辑单元:库中包括不同复杂性的逻辑单元:SSI逻辑块、逻辑块、MSI逻辑逻辑块、数据通道模块、存储器、块、数据通道模块、存储器、IP乃至系统级模块。乃至系统级模块。 设计者只需利用设计者只需利用EDA软件工具与逻辑块描述(外部接口)软件工具与逻辑块描述(外部接口)打交道,不必关心深层次电路的布局细节。打交道,不必

27、关心深层次电路的布局细节。(3)全定制)全定制ASIC 在特定工艺的设计规则下,设计者对于电路的设计有完在特定工艺的设计规则下,设计者对于电路的设计有完全的控制权,如线的间隔和晶体管的大小确定。全的控制权,如线的间隔和晶体管的大小确定。3. 混合混合ASIC 混合混合ASIC主要指既具有主要指既具有FPGA的可编程功能和逻辑资源,的可编程功能和逻辑资源,同时也含有可方便调用和配置的硬件标准单元,如同时也含有可方便调用和配置的硬件标准单元,如CPU、RAM、ROM、硬件加法器、乘法器、锁相环等。、硬件加法器、乘法器、锁相环等。1.3 硬件描述语言硬件描述语言 硬件描述语言硬件描述语言HDL是是E

28、DA技术的重要组成部分,目前技术的重要组成部分,目前常用的常用的HDL主要有主要有VHDL、Verilog HDL、SystemVerilog和和System C。其中,。其中,Verilog、VHDL是主流硬件描述语言,是主流硬件描述语言,几乎所有的几乎所有的EDA工具都支持。工具都支持。1. Verilog HDL的发展的发展 Verilog HDL (简称简称Verilog)最初由最初由Gateway Design Automation 公公司司(简称简称GDA)的的Phil Moorby在在1983年创建。起初,年创建。起初,Verilog仅作为仅作为GDA公司公司Verilog-XL

29、仿真器的内部语言,用于数字逻辑的建模、仿真和验证。仿真器的内部语言,用于数字逻辑的建模、仿真和验证。 1989年年GDA公司被公司被Cadence公司收购。公司收购。1990年年Cadence 公司成立公司成立了了OVI(Open Verilog International)组织,公开了组织,公开了Verilog语言,并由语言,并由OVI负责促进负责促进Verilog语言的发展。语言的发展。 1995年,年,IEEE(The Institute of Electrical and Electronics Engineers)制定了制定了Verilog 的第一个国际标准,即的第一个国际标准,即I

30、EEE Std 1364-1995,即即 Verilog 1.0。 2001年,年,IEEE发布了发布了Verilog HDL的第二个标准版本的第二个标准版本(Verilog2.0),即即IEEE Std1364-2001,简称,简称Verilog-2001标准。由于标准。由于Cadence公司在公司在集成电路设计领域的影响力和集成电路设计领域的影响力和Verilog的易用性,的易用性,Verilog成为基层电路成为基层电路建模与设计中最流行的硬件描述语言。建模与设计中最流行的硬件描述语言。2. Verilog HDL的优势的优势 Verilog的部分语法是参照的部分语法是参照C语言的语法设立

31、的(但与语言的语法设立的(但与C有本质区别),有本质区别),因此具有因此具有C语言的优点。语言的优点。 Verilog代码简明扼要,可读性好,使用灵活,且语法规定不是很严代码简明扼要,可读性好,使用灵活,且语法规定不是很严谨,很容易上手。谨,很容易上手。 Verilog具有很强的电路描述和建模能力,能从多个层次对数字系统具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,大大简化了设计任务,提高了设计效率和可靠性。进行建模和描述,大大简化了设计任务,提高了设计效率和可靠性。 Verilog支持各种模式的设计方法:自顶向下与自底向上或混合方法,支持各种模式的设计方法:自顶向下与自

32、底向上或混合方法,能适应许多电子产品生命周期缩短,需要多次重新设计以融入最新技术、能适应许多电子产品生命周期缩短,需要多次重新设计以融入最新技术、改变工艺等方面的需求。改变工艺等方面的需求。 VHDL的英文全名是的英文全名是VHSIC(Very High Speed Integrated Circuit)Hardware Description Language,是,是1983年由美国国防部创建,由年由美国国防部创建,由IEEE进一步发展并在进一步发展并在1987年作为年作为“IEEE 标准标准 1076”(IEEE Std 1076)发布。从此,发布。从此,VHDL成为硬件描述语言的业界标准

33、之一。成为硬件描述语言的业界标准之一。 自自IEEE公布了公布了VHDL的标准版本后,各的标准版本后,各EDA公司相继推出了自己的公司相继推出了自己的VHDL设计环境,宣布自己的设计工具支持设计环境,宣布自己的设计工具支持VHDL,此后,此后,VHDL在电子在电子设计领域得到了广泛应用,并与设计领域得到了广泛应用,并与Verilog一起逐步取代了其他的非标准硬一起逐步取代了其他的非标准硬件描述语言。件描述语言。 1993年,年,IEEE对对VHDL进行了修订,从更高的抽象层次和系统描述进行了修订,从更高的抽象层次和系统描述能力上扩展了能力上扩展了VHDL的内容,公布了新版本的内容,公布了新版本

34、VHDL,IEEE 1076-1993。 现在,现在,VHDL与与Verilog作为作为IEEE的工业标准硬件描述语言,得到众的工业标准硬件描述语言,得到众多多EDA公司的支持,成为了通用硬件描述语言。公司的支持,成为了通用硬件描述语言。1. VHDL的发展的发展1.4 其他常用其他常用HDL VHDL和和Verilog都具有与硬件电路和设计平台无关的特都具有与硬件电路和设计平台无关的特性,两者相比各自的优势是:性,两者相比各自的优势是:与与Verilog相比,相比,VHDL的优势:的优势:(1)VHDL的语法比的语法比Verilog更严谨,通过更严谨,通过EDA工具可自动进行工具可自动进行语

35、法检查,容易排除许多设计中的疏忽;而语法检查,容易排除许多设计中的疏忽;而Verilog由于语法不是由于语法不是很严格,有时很严格,有时EDA工具不能很好的查找出设计中的疏忽。工具不能很好的查找出设计中的疏忽。(2)用)用VHDL给电路建模时,具有很好的行为级和系统级描述能给电路建模时,具有很好的行为级和系统级描述能力,而力,而Verilog的行为级、系统级描述能力不如的行为级、系统级描述能力不如VHDL。2. VHDL和和Verilog的各自优势的各自优势(3)VHDL更能用更能用硬件的思想硬件的思想描述电路,而描述电路,而Verilog,由于,由于Verilog与与C语言相近,多数初学者语

36、言相近,多数初学者往往会以软件的思想来描往往会以软件的思想来描述电路,这样明显不对述电路,这样明显不对。 注意:注意:HDL是用软件语言来描述硬件电路功能,但并不是是用软件语言来描述硬件电路功能,但并不是指用设计软件的思想来设计硬件电路。比如,软硬件最典型指用设计软件的思想来设计硬件电路。比如,软硬件最典型的不同:软件运行的顺序性,和硬件运行的并行性;硬件中的不同:软件运行的顺序性,和硬件运行的并行性;硬件中信号传递的延时性等。信号传递的延时性等。与与Verilog相比,相比,VHDL的不足:的不足:(1)VHDL代码比较冗长,在描述相同逻辑功能时,代码比较冗长,在描述相同逻辑功能时,Veri

37、log的代码比的代码比VHDL要少。要少。(2)VHDL对数据类型匹配要求严格,而对数据类型匹配要求严格,而Verilog支持自动支持自动类型转换。类型转换。(3)VHDL对版图级、管子级这些较为底层的描述级别,几对版图级、管子级这些较为底层的描述级别,几乎不支持,无法直接用于电路底层建模。乎不支持,无法直接用于电路底层建模。 System Verilog是由是由Accellera(前身是(前身是OVI)开发的,在)开发的,在Verilog-2001的基础上扩展得到的一种新的硬件描述语言,它将的基础上扩展得到的一种新的硬件描述语言,它将Verilog语言推向了系统级和验证级空间,提高了电路设计

38、效率。语言推向了系统级和验证级空间,提高了电路设计效率。 System C是由是由OSCI(Open System C Initiative)组织发)组织发展的,在展的,在C+语言的基础上扩展得到一种新的硬件描述语言,主语言的基础上扩展得到一种新的硬件描述语言,主要用于要用于ESL(电子系统级)建模和验证。(电子系统级)建模和验证。 将将System C和和System Verilog组合起来,能够提供一套从组合起来,能够提供一套从 ESL(电子系统级)至(电子系统级)至 RTL(寄存器传输级)验证的完整解决方(寄存器传输级)验证的完整解决方案。案。3. System Verilog和和Sys

39、tem C1.5 HDL综合综合 在电子设计领域,在电子设计领域,综合(综合(Synthesis)的概念是:的概念是:将用行为和功能层次上(高层次)表达的电子系统转换将用行为和功能层次上(高层次)表达的电子系统转换为低层次上描述的电子系统,以便于系统的具体硬件实为低层次上描述的电子系统,以便于系统的具体硬件实现。现。1. 综合的概念综合的概念 EDA设计采用的是设计采用的是自上而下自上而下的设计过程,其中每一步都的设计过程,其中每一步都可称为是可称为是综合的过程综合的过程,即从高层次的行为描述,到底层的结构,即从高层次的行为描述,到底层的结构描述,每步都是综合的过程。描述,每步都是综合的过程。

40、(1)从自然语言转换到)从自然语言转换到Verilog / VHDL语言的算法表述,即语言的算法表述,即自然语自然语言综合言综合;(2)从算法表述转换到寄存器传输级()从算法表述转换到寄存器传输级(Register Transport Level, RTL)表述,即)表述,即行为综合行为综合;(3)从)从RTL级表述转换到逻辑门(包括触发器)的表述,即级表述转换到逻辑门(包括触发器)的表述,即逻辑逻辑综合综合;(4)从逻辑门表述转换到版图级表述()从逻辑门表述转换到版图级表述(ASIC设计),或转换到设计),或转换到FPGA的配置网表文件,称为的配置网表文件,称为版图综合或结构综合版图综合或结

41、构综合。 有了版图信息就可以生产出有了版图信息就可以生产出ASIC芯片,有了配置网表文件,就芯片,有了配置网表文件,就可以将可以将FPGA转变成具有专门功能的电路器件。转变成具有专门功能的电路器件。 综合器综合器就是能自动将高层次的表述(系统级、行为级)就是能自动将高层次的表述(系统级、行为级)转化为低层次的表述(门级、结构级)的计算机程序。转化为低层次的表述(门级、结构级)的计算机程序。 例如在例如在Verilog行为描述中,描述的是电路系统行为和功行为描述中,描述的是电路系统行为和功能,不是电路的具体实现。选择电路的实现方案正是综合器能,不是电路的具体实现。选择电路的实现方案正是综合器的任

42、务,综合器会选择一种能充分满足各项约束条件且成本的任务,综合器会选择一种能充分满足各项约束条件且成本最低的实现方案。最低的实现方案。 有了综合器,设计者可以将精力主要集中于系统级问题有了综合器,设计者可以将精力主要集中于系统级问题上,而不必关心低级结构设计中的细节问题,因此将减少设上,而不必关心低级结构设计中的细节问题,因此将减少设计和编程所花时间和精力,并且减少错误的发生。计和编程所花时间和精力,并且减少错误的发生。2. 综合器综合器 VHDL 程序 工艺库 约束 图表 VHDL 综合器 图图1-3 VHDL综合器运行流程综合器运行流程 综合器对综合器对VHDL程序进行综合前,必须获得与电路

43、硬件特征相程序进行综合前,必须获得与电路硬件特征相关的工艺库的信息,以及获得优化综合的诸多约束条件。关的工艺库的信息,以及获得优化综合的诸多约束条件。 约束条件一般分为三种,即设计规则、时间约束、面积约束。约束条件一般分为三种,即设计规则、时间约束、面积约束。 注意:注意:综合器并不支持标准综合器并不支持标准Verilog的全部程序,只能支持其的全部程序,只能支持其部分语句,并且不同的部分语句,并且不同的HDL综合器支持的综合器支持的Verilog语句也不完全相语句也不完全相同,这样对于相同的同,这样对于相同的Verilog源代码,不同的源代码,不同的HDL综合器可能综合综合器可能综合出在结构

44、和功能上并不完全相同的电路系统。出在结构和功能上并不完全相同的电路系统。 VHDL 程序 工艺库 约束 图表 VHDL 综合器 图图1-3 VHDL综合器运行流程综合器运行流程 (A)软件语言设计目标流程(B)硬件语言设计目标流程C、ASM程序软件程序编译器COMPILERCPU指令/数据代码:010010 100010 1100VHDL/VERILOG程序硬件描述语言综合器COMPILER为ASIC设计提供的电路网表文件QDJQK (a) (b) SYNTHESIZER 图图1-2 编译器和综合功能比较编译器和综合功能比较 v 编译器和综合器的功能比较编译器和综合器的功能比较 编译器的功能:

45、编译器的功能:(1)编译器将软件程序翻译成某种特定)编译器将软件程序翻译成某种特定CPU机器代码,这种代码仅限于机器代码,这种代码仅限于这种这种CPU而不能移植,如果脱离了已有的硬件环境(而不能移植,如果脱离了已有的硬件环境(CPU),机器代码),机器代码将失去意义,只是被动地被特定的硬件电路所利用。将失去意义,只是被动地被特定的硬件电路所利用。(2)编译器工作时,除了)编译器工作时,除了CPU的硬件结构外,不需要任何与硬件相关的的硬件结构外,不需要任何与硬件相关的器件库和工艺库参与编译。因而编译器的工作单纯得多,编译过程基本器件库和工艺库参与编译。因而编译器的工作单纯得多,编译过程基本是一种

46、一一对应式的、机械转换式的是一种一一对应式的、机械转换式的“翻译翻译”行为。行为。 综合器的功能:综合器的功能:(1)综合器则不同,同样是类似的软件代码(如)综合器则不同,同样是类似的软件代码(如Verilog程序),综合程序),综合器转化的目标是底层的电路结构网表文件,这种文件不依赖于任何特定器转化的目标是底层的电路结构网表文件,这种文件不依赖于任何特定硬件环境,因此可以独立地存在,并能轻易地被移植到任何通用环境中,硬件环境,因此可以独立地存在,并能轻易地被移植到任何通用环境中,如如ASIC、FPGA等。等。(2)综合器在将硬件描述语言表达的电路功能转化成具体的电路结构网)综合器在将硬件描述

47、语言表达的电路功能转化成具体的电路结构网表过程中,具有明显的能动性,不是机械的一一对应式的表过程中,具有明显的能动性,不是机械的一一对应式的“翻译翻译”,而,而是根据设计库、工艺库以及预先设置的各类约束条件,选择最优的方式是根据设计库、工艺库以及预先设置的各类约束条件,选择最优的方式完成电路结构的设计。这就是说对于相同的完成电路结构的设计。这就是说对于相同的Verilog表述,综合器可以用表述,综合器可以用不同的电路结构实现相同的功能。不同的电路结构实现相同的功能。 如图所示,与编译器相比,综合器具有更复杂的工作环境。综合器在如图所示,与编译器相比,综合器具有更复杂的工作环境。综合器在接受接受

48、Verilog程序并准备对其综合前,必须获得与最终实现设计电路硬件程序并准备对其综合前,必须获得与最终实现设计电路硬件特征相关的工艺库的信息,以及获得优化综合的诸多约束条件。一般地,特征相关的工艺库的信息,以及获得优化综合的诸多约束条件。一般地,约束条件可以分为三种,即设计规则、时间约束、面积约束。通常,时间约束条件可以分为三种,即设计规则、时间约束、面积约束。通常,时间约束的优先级高于面积约束。设计优化要求,当综合器把约束的优先级高于面积约束。设计优化要求,当综合器把Verilog源码翻源码翻译成通用原理图时,将识别状态机、加法器、乘法器、多路选择器和寄存译成通用原理图时,将识别状态机、加法

49、器、乘法器、多路选择器和寄存器等。这些运算功能根据器等。这些运算功能根据Verilog源码中的符号,如加、减、乘、除,都源码中的符号,如加、减、乘、除,都可用多种方法实现。如加法可实现方案有多种,有的面积小,速度慢;有可用多种方法实现。如加法可实现方案有多种,有的面积小,速度慢;有的速度快,面积大。的速度快,面积大。Verilog行为描述强调的是电路的行为和功能,而不行为描述强调的是电路的行为和功能,而不是电路如何实现。选择电路的实现方案正是综合器的任务。综合器选择一是电路如何实现。选择电路的实现方案正是综合器的任务。综合器选择一种能充分满足各项约束条件其成本最低的实现方案。种能充分满足各项约

50、束条件其成本最低的实现方案。 现在许多综合器还允许设计者指定在做映射优化时,综合器应付出现在许多综合器还允许设计者指定在做映射优化时,综合器应付出多大多大“努力努力”。“努力努力”一般分为低、中,高三档。一般分为低、中,高三档。1.6 基于基于HDL的自顶向下的设计方法的自顶向下的设计方法1. 传统的电子设计采用传统的电子设计采用自底向上自底向上(Bottom-up)的设的设计方法计方法(1)首先确定构成系统最底层的电路元件)首先确定构成系统最底层的电路元件(确定底层使用的器件类(确定底层使用的器件类别和规格:如别和规格:如74系列的器件、某种系列的器件、某种RAM和和ROM、某类、某类CPU

51、或单片机以及或单片机以及某些专用功能芯片等)某些专用功能芯片等);(2)然后将它们组成功能模块)然后将它们组成功能模块(如数据采集控制模块、信号处理模块、(如数据采集控制模块、信号处理模块、数据交换和接口模块等)数据交换和接口模块等);(3)以此流程,逐步向上递推,直至完成整个目标系统的设计。)以此流程,逐步向上递推,直至完成整个目标系统的设计。(4)最后对整个系统进行系统测试与性能分析。)最后对整个系统进行系统测试与性能分析。自下而上(自下而上(Bottom-up)的设计方法)的设计方法确定底层元件确定底层元件设计各功能模块设计各功能模块完成整个系统设计完成整个系统设计系统测试与性能分析系统

52、测试与性能分析2. 自底向上自底向上(Bottom-up)设计方法的特点设计方法的特点(1)必须考虑系统底层硬件的可获得性,以及它们功能特性方面)必须考虑系统底层硬件的可获得性,以及它们功能特性方面诸多细节问题。在逐级设计和测试过程中需始终关注它们的技术诸多细节问题。在逐级设计和测试过程中需始终关注它们的技术细节和功能特性参数。细节和功能特性参数。(2)底层元器件的更换,或系统某些技术参数不满足总体要求,)底层元器件的更换,或系统某些技术参数不满足总体要求,或临时需要降低系统成本,提高运行速度等,都可能使前面的工或临时需要降低系统成本,提高运行速度等,都可能使前面的工作前功尽弃,工作又得重新开

53、始。作前功尽弃,工作又得重新开始。 可见,自底向上的设计方法是一种低效、低可靠性、费时费可见,自底向上的设计方法是一种低效、低可靠性、费时费力、灵活性差,且成本高昂的设计方案。力、灵活性差,且成本高昂的设计方案。2. 自底向上自底向上(Bottom-up)设计方法的特点设计方法的特点(1)必须考虑系统底层硬件的可获得性,以及它们功能特性方面)必须考虑系统底层硬件的可获得性,以及它们功能特性方面诸多细节问题。在逐级设计和测试过程中需始终关注它们的技术诸多细节问题。在逐级设计和测试过程中需始终关注它们的技术细节和功能特性参数。细节和功能特性参数。(2)底层元器件的更换,或系统某些技术参数不满足总体

54、要求,)底层元器件的更换,或系统某些技术参数不满足总体要求,或临时需要降低系统成本,提高运行速度等,都可能使前面的工或临时需要降低系统成本,提高运行速度等,都可能使前面的工作前功尽弃,工作又得重新开始。作前功尽弃,工作又得重新开始。(3)在系统设计的后期进行测试和调试,若系统设计存在问题,)在系统设计的后期进行测试和调试,若系统设计存在问题,此时只能重新设计系统。此时只能重新设计系统。 可见,自底向上的设计方法是一种低效、低可靠性、费时费可见,自底向上的设计方法是一种低效、低可靠性、费时费力、灵活性差,且成本高昂的设计方案。力、灵活性差,且成本高昂的设计方案。3. EDA技术采用技术采用自顶向

55、下自顶向下( Top-Down )的设计方法的设计方法 自顶向下的设计方法是自顶向下的设计方法是EDA技术的首选设计方法,是技术的首选设计方法,是ASIC或或FPGA开发的主要设计方法。开发的主要设计方法。 自顶向下的设计方法自顶向下的设计方法的有效应用必须基于功能的有效应用必须基于功能强大的强大的EDA工具工具,基于集系统描述、行为描述和结构描述为一体,基于集系统描述、行为描述和结构描述为一体的的硬件描述语言硬件描述语言HDL,以及基于先进的,以及基于先进的ASIC和和FPGA的制的制造工艺和开发技术造工艺和开发技术。 自顶向下的设计方法就是在整个设计流程中各设计环节自顶向下的设计方法就是在

56、整个设计流程中各设计环节逐步分解、逐步求精的过程,包括以下步骤:逐步分解、逐步求精的过程,包括以下步骤:(1)从自然语言说明到)从自然语言说明到HDL的系统行为描述;的系统行为描述;(2)从)从HDL的系统行为描述到的系统行为描述到RTL描述;描述;(3)从)从RTL描述到逻辑门级描述;描述到逻辑门级描述;(4)从门级描述到最终可以物理布线实现的底层电路;)从门级描述到最终可以物理布线实现的底层电路; 以上可以理解成是逐步以上可以理解成是逐步综合的过程综合的过程。(5)后期设计还包括硬件实现和测试。)后期设计还包括硬件实现和测试。逻辑门级描述逻辑门级描述RTL描述描述HDL的系统行为描述的系统

57、行为描述自然语言说明自然语言说明可以物理布线实可以物理布线实现的底层电路现的底层电路硬件实现和测试硬件实现和测试自顶向下(自顶向下(Top-Down)的设计流程)的设计流程(1)主要使用硬件描述语言()主要使用硬件描述语言(HDL)来描述系统的功能,)来描述系统的功能,再通过综合工具将高级别模型转化成门级模型,整个设计过再通过综合工具将高级别模型转化成门级模型,整个设计过程基本由计算机自动完成,人为介入的方式主要是根据仿真程基本由计算机自动完成,人为介入的方式主要是根据仿真结果和优化指标,控制逻辑综合的方式和指向。结果和优化指标,控制逻辑综合的方式和指向。(2)主要采用)主要采用PLD(Pro

58、grammable Logic Device)器件)器件来实现电路,设计者可以自行设计所需的功能模块,而无需来实现电路,设计者可以自行设计所需的功能模块,而无需受到通用元器件的限制,从而电路设计更趋合理,其体积和受到通用元器件的限制,从而电路设计更趋合理,其体积和功耗也大为缩小。功耗也大为缩小。4.自顶向下自顶向下( Top-Down )设计方法的特点设计方法的特点(3)在设计中,可以根据仿真结果来改进系统的功能,更)在设计中,可以根据仿真结果来改进系统的功能,更正设计错误,提高系统工作速度,减小面积耗用,降低功耗正设计错误,提高系统工作速度,减小面积耗用,降低功耗和成本等,或者启用新技术器件

59、或和成本等,或者启用新技术器件或IP核。核。(4)HDL设计的可移植性、设计的可移植性、EDA平台的通用性以及与具体平台的通用性以及与具体硬件结构的无关性,使得前期设计可以容易地应用于新的设硬件结构的无关性,使得前期设计可以容易地应用于新的设计项目,项目设计周期可以显著缩短。计项目,项目设计周期可以显著缩短。(1)主要使用硬件描述语言()主要使用硬件描述语言(HDL)来描述系统的功能,再通过综合工)来描述系统的功能,再通过综合工具将高级别的模型转化成门级模型,整个设计过程基本由计算机自动完具将高级别的模型转化成门级模型,整个设计过程基本由计算机自动完成,人为介入的方式主要是根据仿真的结果和优化

60、的指标,控制逻辑综成,人为介入的方式主要是根据仿真的结果和优化的指标,控制逻辑综合的方式和指向。合的方式和指向。(3)主要采用)主要采用PLD(Programmable Logic Device)器件来实现电路,)器件来实现电路,设计者可以自行设计所需的功能模块,而无需受到通用元器件的限制,设计者可以自行设计所需的功能模块,而无需受到通用元器件的限制,从而电路设计更趋合理,其体积和功耗也大为缩小。从而电路设计更趋合理,其体积和功耗也大为缩小。(4)早期进行仿真和修改。系统设计过程中逐层分解,逐层描述,逐层)早期进行仿真和修改。系统设计过程中逐层分解,逐层描述,逐层仿真,从而可在系统设计早期发现

温馨提示

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

评论

0/150

提交评论