EDA(CPLD/FPGA)技术概述
主要术语摘要: * EDA(电子设计自动化):Electronic Design Automation * ISP(在系统可编程):In System Programmable * PAL(可编程阵列逻辑):Programmable Array Logic * GAL(通用阵列逻辑):Generic Array Logic * PLD(可编程逻辑器件):Programmable Logical Device * EPLD(可擦除/电擦除PLD):Erasable/Electronic Programmable Logical Device * CPLD(复杂可编程逻辑器件):Complex Programmable Logical Device * FPGA(现场可编程门阵列):Field Programmable Gates Array * PLD(可编程逻辑器件):Programmable Logical Device * ASIC(专用集成电路):Application Specific Integrated Circuits * JTAG(边界扫描测试技术):Join Test Action Group *VHDL(硬件描述语言):Very high speed IC Hardware Description Language * CAD(计算机辅助设计):Computer Assist Design * CAE(计算机辅助工程设计):Computer Assist Engineering * SOC(片上系统):System On a Chip 电子设计自动化(EDA)技术是以计算机科学和微电子技术发展为先导,它 汇集了计算机图形学、拓扑逻辑学、微电子工艺与结构、计算数学等多种计算机 应用学科最新成果的先进技术,它是在先进的计算机工作平台上开发出来的一整 套电子系统设计的软件工具。 EDA 技术伴随着计算机、集成电路、电子系统设计的发展,经历了计算机 辅助设计CAD、计算机辅助工程设计CAE 和电子设计自动化EDA 三个发展过 程。EDA 软件工具种类繁多,如:Smartork、Orcad、Tango、Protel、Workbench (multsim)、Pspice 及各大可编程器件厂商提供的专用开发软件,如:Altera 公司提供的MAX+plusⅡ、Lattice 公司提供的ispDesignExpert /PAC-Designer、Xilinx 公司提供的Foudation Series/webpack 等,本书将重点介绍Altera 公司的可编程器 件及其开发工具。 随着电子设计自动化(EDA)技术的不断发展,其含义也不断发生变化,早期的 电子设计自动化多指类似Protel 电路版图的设计自动化概念,这种概念仅限于电 路元器件与元器件之间即芯片外设计自动化,随着微电子技术的不断发展,当今 的EDA 技术更多的是指可编程逻辑器件的设计技术,即芯片内的电路设计自动 化。也就是说,开发人员完全可以通过自己的电路设计来定制其芯片内部的电路 功能,使之成为设计者自己的专用集成电路(即ASIC)芯片,这就是我们今天 所说的的EDA 技术——用户可编程逻辑器件(PLD)技术。其应用也无处不在, 从简单的逻辑电路、时序电路设计到复杂的数字系统设计均能得心应手,在通信 领域(软件无线电),在数字信号处理(DSP)领域、在嵌入式/片上系统(SOC) 及各种IP 内核等诸多领域早已广泛应用,如果说原来的Tango(Protel)的问世 在电子设计领域是一次革命的话,那么今天的EDA(CPLD/FPGA)技术称得上 是电子设计领域的第二次革命。 随着可编程器件PLD 技术的不断发展和崛起,其功能之卓越和先进已经令当今 的电子工程师们赞叹不已,除了它设计灵活、仿真调试方便、体积小、容量大、 I/O 口丰富、成本低廉、易编程和加密等优点外,更突出的特点是其芯片的在系 统可编程技术。也就是说它不但具有可编程和可再反复编程的能力,而且只要把 器件插在用户自己设计的目标系统内或线路板上,可以重新构造其设计逻辑而对 器件进行编程或者反复编程,这种技术被称为在系统可编程技术,简称ISP 技术。 由于ISP 技术的应用,打破了产品开发时必须先编程后装配的惯例,而可以先装 配后编程,成为产品后还可以在系统内反复编程和修改,ISP 技术使得系统内硬 件的功能象软件一样被编程配置,使系统的升级和维护变得更容易和方便。可以 说可编程器件真正做到了硬件的“软件化”自动设计,这就是当今的EDA 电子设 计自动化技术。可以不夸张地说由于可编程器件的出现,传统的(数字)电路设 计方法和过程得到了一次革命和飞越。 由于ISP-PLD 器件的写入、擦除控制电路和高压脉冲发生电路集成在PLD 芯 片内部,所以不需要编程器,直接利用器件的工作电压,在器件安装到系统板上后,不需要将器件从电路板上拔下来,可直接对器件进行编程,并可改变其内部 的设计逻辑,满足其设计需要。 可编程器件PLD 可分为数字可编程器件和模拟可编程器件两类。前者之技术发 展已经相当成熟,在大量的电子产品中早已得到了实际应用;后者相对来说发展 要晚一些,其现有的芯片功能也比较单一。数字可编程逻辑器件按其密度可分为 低密度PLD 和高密度PLD 两种,低密度PLD 器件如早期的PAL、GAL 等,它 们的编程都需要专用的编程器,属半定制ASIC 器件;高密度PLD 又称复杂可 编程逻辑器件,如市场上十分流行的CPLD、FPGA 器件,它们属于全定制ASIC 芯片,编程时仅需以JTAG 方式的下载电缆与计算机并口相连即可。此书将主要 以数字可编程逻辑器件(CPLD、FPGA)之设计与应用进行系统描述,有关模 拟可编程器件的说明请参考本公司的其他书物。 CPLD/FPGA 同属于高密度用户可编逻辑程器件,其芯片门数(容量)等级从几 千门~几万门、几十万门到几百万门以上不等,适合于时序、组合逻辑电路应用 场合,它可以替代几十甚至上百块通用IC 芯片,实际上这样的CPLD/FPGA 就 是一个子系统部件。在很大程度上他们具有类似之处,比如其电路设计方法都一 样。相比而言,CPLD 适合于做各种算法和组合逻辑电路设计,而FPGA 更适合 完成时序比较复杂的逻辑电路。由于FPGA 芯片采用RAM 结构,失电以后其内 部程序将丢失,在形成产品时一般都和其专用程序存储器配合使用,其芯片内部 的电路文件(程序)可放置在磁盘上、ROM 或E2PROM 中,因而可以在FPGA 芯片及其外围保持不动的情况下,换一块存储器芯片就能实现一种新的功能。电 路设计人员在使用CPLD/FPGA 器件进行电路设计时不需过多的考虑它们的区 别,因为其电路设计和仿真方法都完全一样,不同之处在于芯片编译或适配时生 成的下载文件不一样而已。 可编程器件CPLD/FPGA厂商比较众多,比较知名的如Altera、Lattice、Xilinx、 Actel 公司等,本公司推出的这套实验系统兼容这几家厂商的CPLD 和FPGA 芯 片。上述几家公司推出的芯片均配有功能强大的开发软件,不仅支持多种电路设 计方法,如电原理路图、硬件描述语言VHDL 等,而且还支持电路仿真和时序 分析等功能,为用户开发和调试产品提供了极大的方便。有关可编程器件设计软 件的具体使用在实验系统例程中将详细介绍给读者。
CPLD/FPGA 技术发展十分迅速,不断有新技术和新产品问世,我们和广大读者一样,也处在不断地学习和运用当中。
|