第一部分EDA内涵与PLD器件原理•EDA技术入门•FPGA/CPLD结构与原理•CPLD设计流程举例EDA技术入门•EDA是什么?•我们为什么用EDA?•学习这门课的用途及目标•应用FPGA/CPLD的EDA开发流程•硬件描述语言Verilog和VHDL•EDA设计方法•EDA的发展趋势•CPLD最小系统EDA是什么?•EDA(ElectronicDesignAutomation)技术通俗的说就是通过软件的方法来高效地完成硬件设计的计算机技术引言专用集成电路与通用集成电路ASIC(ApplicationSpecificIntegratedCircuit)是专用集成电路在集成电路界ASIC被认为是一种为专门目的而设计的集成电路。是指应特定用户要求和特定电子系统的需要而设计、制造的集成电路。ASIC的特点是面向特定用户的需求,ASIC在批量生产时与通用集成电路相比具有体积更小、功耗更低、可靠性提高、性能提高、保密性增强、成本降低等优点全定制与半定制•全定制设计需要设计者完成所有电路的设计,因此需要大量人力物力,灵活性好但开发效率低下。如果设计较为理想,全定制能够比半定制的ASIC芯片运行速度更快。•半定制使用库里的标准逻辑单元(StandardCell),设计时可以从标准逻辑单元库中选择SSI(门电路)、MSI(如加法器、比较器等)、数据通路(如ALU、存储器、总线等)、存储器甚至系统级模块(如乘法器、微控制器等)和IP核,这些逻辑单元已经布局完毕,而且设计得较为可靠,设计者可以较方便地完成系统设计。以下内容在:第一章VerilogHDL数字设计综述——1.1数字电路CAD技术的发展历史第一代集成电路(IntegratedCircuit,IC)的门数非常少,称为小规模集成电路(SmallScaleIntegrated,SSI)。随着制造工艺技术的发展,设计者可以在单个芯片上布置数百个逻辑门,我们称之为中规模集成电路(MediumScaleIntegrated,MSI)。随着大规模集成电路(LargeScaleIntegrated,LSI)的出现,数千个逻辑门能够集成在一起。设计过程由此开始变得非常复杂,因此设计者希望集成电路某些设计阶段能够自动完成。EDA的范围包括了CAD和CAE两个部分。为了简单起见,在本书中我们把所有的设计工具都称为EDA工具。从技术角度看,CAD(Computer-Aided-Design,计算机辅助设计)工具这个术语指的是设计后端使用的工具,这些工具可以完成布局、布线和芯片的版图绘制等工作CAE(Computer-Aided-Engineering,计算机辅助工程)工具这个术语指的是设计前端使用的工具,如HDL仿真、逻辑综合和时序分析。就是电子设计自动化(ElectronicDesignAutomation,EDA)软件的方法我们为什么用EDA?•复杂数字逻辑•运行速度很高的场合•自主知识产权(保密性)•可实现高可靠性•移植性好(设计可方便应用到其他相关场合)•硬件可升级性(性能指标如通信协议发展变化很快)•高性能要求学习这门课的用途及目标•通信(网卡、PCI、I2C等总线或通信协议、串口、其它接口)•高速或复杂数字逻辑(视频控制、运动控制)•通用芯片(数字芯片直至单片机、DSP)•硬件算法(PID、模糊控制、神经网络)举例:实现FPGA与PC的串行通信I2C器件接口IP核的CPLD设计基于FPGA的PCI总线接口设计基于FPGA的光栅尺信号智能接口模块引言学习这门课的用途及目标•基于CPLD的线阵CCD数据采集系统的开发•高速线阵CCDIL-P1-4096的原理和应用•基于FPGA+ARM的独立运动控制平台•采用DSP和FPGA构建高速高精运动控制器学习这门课的用途及目标基于EMP7128的数字式相位测量仪CPLD在远程多路数据采集系统中的应用基于边界扫描的EPM9320LC84电路板故障诊断•基于CPLD和单片机的任意波形发生器设计•基于FPGA的乐曲发生器设计•错误检测与纠正电路的设计与实现应用FPGA/CPLD的EDA开发流程:原理图/VHDL文本编辑综合FPGA/CPLD适配FPGA/CPLD编程下载FPGA/CPLD器件和电路系统时序与功能门级仿真1、功能仿真2、时序仿真逻辑综合器结构综合器1、isp方式下载2、JTAG方式下载3、针对SRAM结构的配置4、OTP器件编程功能仿真返回EDA技术ASIC设计FPGA/CPLD可编程ASIC设计门阵列(MPGA);标准单元(CBIC);全定制;(FCIC);ASIC设计SOPC/SOC混合ASIC设计作为EDA技术最终实现目标的ASIC,通过三种途径来完成:EDA技术各个层次SOC:SYSTEMONACHIPSOPC:SYSTEMONAPROGAMMABLECHIPSOPCNIOSEthernetInterfaceARMUARTRAM/ROMFIFOUSBPCIDSPBlocksPLLsSDRAMCONTROLVGAPS2MultiplyUnitJPEGCPLFIR,IIR,FFTNIOS:嵌入式处理器是一款通用的RISC结构的CPU1.超大规模可编程逻辑器件2.半定制或全定制ASIC3.混合ASICEDA技术实现途径返回EDA技术在进入21世纪后,得到了更大的发展,突出表现在以下几个方面:使电子设计成果以自主知识产权的方式得以明确表达和确认成为可能;在仿真和设计两方面支持标准硬件描述语言的功能强大的EDA软件不断推出。电子技术全方位纳入EDA领域;EDA使得电子领域各学科的界限更加模糊,更加互为包容;EDA技术及其发展更大规模的FPGA和CPLD器件的不断推出;(200万门,5万逻辑单元以上)基于EDA工具的ASIC设计标准单元已涵盖大规模电子系统及IP核模块;软硬件IP核在电子行业的产业领域、技术领域和设计应用领域得到进一步确认;SoC高效低成本设计技术的成熟。EDA技术及其发展返回学习目标及方法会完成CPLD/FPGA的简单应用系统(例如等精度频率计)不管有没有实际完成一个系统,要知道整个设计、制作过程,具有这个能力,并拥有相应资料带着应用的目的去学完成应用系统不会什么就去学什么等精度频率计返回硬件描述语言是EDA技术的重要组成部分,VHDL和Verilog是作为电子设计主流硬件的描述语言。VHDL和Verilog语言具有很强的电路描述和建模能力,能从多个层次对数字系统进行建模和描述,从而大大简化了硬件设计任务,提高了设计效率和可靠性。用VHDL和Verilog进行电子系统设计的一个很大的优点是设计者可以专心致力于其功能的实现,而不需要对不影响功能的与工艺有关的因素花费过多的时间和精力。引言硬件描述语言Verilog和VHDLVHDL和Verilog哪个好?1、HDL不是硬件设计语言HDL是HardwareDescriptionLanguage的缩写,正式中文名称是“硬件描述语言”。也就是说,HDL并不是“硬件设计语言(HardwareDesignLanguage)”。别看只差这一个单词,正是这一个单词才决定了绝大部分电路设计必须遵循RTL的模式来编写代码,而不能随心所欲得写仅仅符合语法的HDL代码。2、HDL的来历VHDL于1980年开始在美国国防部的指导下开发,完成于1983年,并于1987年成为IEEE的标准。当初开发这种语言,是出于美国国防部采购电子设备的需要。3、HDL的可综合性这两种最流行的用于电路设计的语言,没有一种是为了设计硬件而开发的(更何况80年代还没有现在的那些功能强大的EDA软件呢)。因此,当初制订HDL语言标准的时候,并没有考虑这些代码如何用硬件来实现。换句话说,有些代码写起来简单,实现起来却可能非常复杂,或者几乎不可能实现。HDL的初步认识设计过程中的每一步都可称为一个综合环节。(1)从自然语言转换到VHDL或Verilog语言算法表示,即自然语言综合;(2)从算法表示转换到寄存器传输级(RegisterTransportLevel,RTL),即从行为域到结构域的综合,即行为综合;(3)RTL级表示转换到逻辑门(包括触发器)的表示,即逻辑综合;综合设计过程中的每一步都可称为一个综合环节。(4)从逻辑门表示转换到版图表示(ASIC设计),或转换到FPGA的配置网表文件,可称为版图综合或结构综合。有了版图信息就可以把芯片生产出来了。有了对应的配置文件,就可以使对应的FPGA变成具有专门功能的电路器件。综合C、ASM...程序CPU指令/数据代码:0100101000101100软件程序编译器COMPILERVHDL/VERILOG.程序硬件描述语言综合器SYNTHESIZER为ASIC设计提供的电路网表文件(a)软件语言设计目标流程(b)硬件语言设计目标流程软件编译器和EDA综合功能比较VHDL综合器运行流程电子系统的设计方法•传统电子设计技术的自底向上设计方法•基于VHDL和Verilog的自顶向下设计方法1.设计说明书2.建立VHDL行为模型3.VHDL行为仿真4.VHDL-RTL级建模5.前端功能仿真6.逻辑综合7.测试向量生成8.功能仿真9.结构综合10.门级时序仿真11.硬件测试12.设计完成基于VHDL的自顶向下设计方法:EDA设计方法(思路、过程)手工设计方法的缺点是:1)复杂电路的设计、调试十分困难。2)如果某一过程存在错误,查找和修改十分不便。3)设计过程中产生大量文档,不易管理。4)对于集成电路设计而言,设计实现过程与具体生产工艺直接相关,因此可移植性差。5)只有在设计出样机或生产出芯片后才能进行实测。EDA技术有很大不同:1)采用硬件描述语言作为设计输入。2)库(Library)的引入。3)设计文档的管理。4)强大的系统建模、电路仿真功能。5)具有自主知识产权。6)开发技术的标准化、规范化以及IP核的可利用性。7)适用于高效率大规模系统设计的自顶向下设计方案。8)全方位地利用计算机自动设计、仿真和测试技术。9)对设计者的硬件知识和硬件经验要求低。10)高速性能好。11)纯硬件系统的高可靠性。EDA与传统电子设计方法的比较系统集成芯片成为IC设计的发展方向,这一发展趋势表现在如下几个方面:超大规模集成电路的集成度和工艺水平不断提高,深亚微米(Deep-Submicron)工艺,如0.18μm,0.13μm,90nm(2003)已经走向成熟,在一个芯片上完成的系统级的集成已成为可能。市场对电子产品提出了更高的要求,如必须降低电子系统的成本,减小系统的体积等,从而对系统的集成度不断提出更高的要求。高性能的EDA工具得到长足的发展,其自动化和智能化程度不断提高,为嵌入式系统设计提供了功能强大的开发环境。计算机硬件平台性能大幅度提高,为复杂的SoC设计提供了物理基础。引言EDA的发展趋势1、逻辑行为的实现2、控制与信号传输功能的实现3、算法的实现如:译码器、红绿交通灯控制、表决器、显示扫描器、电梯控制、乒乓球等电路的设计,时钟频率一般低于4MHz如:各类信号发生器、A/D采样控制器、FIFO、RS232或PS/2通信、FPGA/CPLD与单片机综合控制等电路的设计,时钟频率一般在25MHz左右如:离散FFT变换、数字滤波器、浮点乘法器、高速宽位加法器、数字振荡器、数字锁相环、调制解调器、图象DSP等电路的设计,时钟频率一般在50MHz以上学习EDA的3个层次现代DSP设计技术-DSPBuilder设计流程系统设计、系统仿真Matlab/Simulink将设计转换为HDLSignalCompilerHDL逻辑综合Synplify/LeonardoSpectrumFPGA实现QuartusIIDSP的FPGA实现■超大规模可编程硬件实现(FPGA)如Altera公司的APEX、APEXII、Stratix系列等,开发工具包为DSPBuilder。适用于宽带通信、高速图像处理。优点:速度最快、可编程逻辑实现、灵活性高、实时性强缺点:同DSP软件相比,实现相同算法