VHDL与可编程逻辑器件应用

2008-05-26 09:53:32来源: 互联网
 


1.1 可编程ASIC综述
      为专门限定的产品或应用而设计的芯片被称为专用集成电路(Application Specific Integrated Circuits,ASIC),它是面向用户特定用途的集成电路。除了全定制的专用集成电路外,目前有五种半定制的器件可实现ASIC的要求,它们是:可编程逻辑器件(PLD)、复杂可编程逻辑器件(CPLD)、现场可编程门阵列(FPGA)、门阵列(Gate Array)、标准单元(Standard Cell)。
在这些器件中,尤其是前三种器件的出现,使得电子系统的设计工程师利用相应的电子设计自动化(Electronic Design Automation,EDA)软件,在办公室或实验室里就可以设计自己的ASIC器件,其中近几年发展起来的CPLD和FPGA格外引人注目。这三种器件都具有用户可编程性,能实现用户规定的各种特定用途,因此被称作可编程专用集成电路。这种集成电路,半导体制造厂家可按照通用器件的规格大批量生产,用户可按通用器件从市场上选购,再由用户通过设计软件编程实现ASIC的要求。由于这种方式给厂家和用户都带来了好处而受到欢迎,因此发展特别迅速,已经成为实现ASIC的一种重要手段。
随着半导体技术的迅速发展,从20世纪80年代开始,构造许多电子系统仅仅需要3种标准电路:微处理器,存储器和可编程ASIC。电子系统设计的这场革命是从20世纪70年代开始的,当时存储器已经作为标准产品进入市场;到了20世纪80年代,微处理器也成为一种标准产品。值得注意的是,微处理器和存储器作为电子系统的2个主要模块,一直是不可编程的,组成电子系统的各种控制逻辑仍然需要大量的中小规模通用器件。近十年来,直到可编程逻辑器件的出现,才给电子系统的控制逻辑提供了可编程的灵活性。而可编程门阵列作为一种高密度、通用的可编程逻辑器件与它的开发系统一起为更多的电子系统逻辑设计确定了一种新的工业标准。越来越多的电子系统设计工程师用CPLD或FPGA作为电子系统设计的第3个模块来实现一个电子系统。
CMOS半导体技术的不断发展推动了电子系统逻辑设计的变革。人们历来认为CMOS速度太慢,不能满足高性能系统设计的需要,这些设计只能用一次可编程(OTP)器件来完成。而现在许多CMOS的可编程逻辑器件实际上已达到或超过OTP器件的性能,同时还具有低功耗、可编程和高集成度等吸引人的优点。
目前可编程ASIC正朝着为设计者提供在系统可编程(或可重构)的能力方向发展,即可编程ASIC器件不仅要具有可编程和可再编程能力,而且只要把器件插在系统内或者电路板上,就能对其进行编程或者再编程,这就为设计者进行电子系统的设计和开发提供了一种新的实现手段,而在以前这是不可想象的。采用系统内可再编程(ISP)技术,使得系统内硬件的功能可以像软件一样被编程来配置,从而可以实时地进行灵活和方便的更改和开发。这种被称为“软”硬件的全新设计概念,使得新一代电子系统具有极强的灵活性和适应性,它不仅使电子系统的设计和产品性能的改进、扩充变得十分简易和方便,而且使电子系统具有多功能性的适应能力,从而可以为许多复杂的信号处理技术提供新的思路和方法。
随着可编程器件规模的增加,器件变得越来越复杂,对器件做全面彻底测试的要求也就越来越高,而且越来越重要。表面安装的封装和电路板制造技术的进步,使得电路板变小变密,这样一来,传统的测试方法,例如外探针测试法和“钉床”测试夹具法都难于实现。结果由于电路板简化所节约的成本,很可能由传统测试方法成本的提高抵消掉。
20世纪80年代,联合测试行动组(Joint Test Action Group,JTAG)开发了IEEE 1149.1— 1990边界扫描测试技术规范。这个边界扫描测试(BST)结构提供了有效地测试引线间隔致密的电路板上零部件的能力。目前很多公司的可编程器件均遵守IEEE规范,给输入引脚、输出引脚以及专用的配置引脚提供了BST能力。你可以使用BST结构测试引脚连接而不必使用物理测试探针,而且可以在器件正常工作时掳获功能数据。器件的边界扫描单元能够迫使逻辑追踪引脚信号,或是从引脚或器件核心逻辑信号中捕获数据。强行加入的测试数据串行移入边界扫描单元,捕获的数据串行移出并在器件外部同预期的结果进行比较。JTAG标准提供了板级和芯片级的测试。通过定义输入输出引脚,逻辑控制函数和指令,所有JTAG的测试功能仅需一个4线或5线的接口及相应的软件即能完成。
可编程逻辑器件规模的不断发展,使其可以实现电子系统的高度集成,为了快速准确地设计复杂的电子系统,必须采用基于计算机的自顶向下的设计和综合工具。综合工具一般包括从原理图输入和高层描述工具、逻辑仿真器,到底层综合工具的一系列软件包。底层的综合工具对设计进行逻辑描述,并执行逻辑优化,器件映射,布局布线的网表优化,从而产生最终的设计结果。对于简单的设计,采用原理图输入或布尔方程输入是比较合适的,但对于复杂系统的设计这两种输入方法变得繁琐而复杂,并容易产生错误,有必要考虑高层次的设计输入方法。因此很多综合工具支持硬件描述语言(HDL),寄存器转换语言(RTL)或有限状态机(FSM)。高层综合工具可以采用高层的行为描述,如VHDL或编程语言。行为描述不需要说明一个设计具体采用何种方式实现。高层综合包括选择特定的结构模板,然后执行资源分配,寄存器分配和定时。所以在高层设计期间,设计者基本是在速度和资源之间取舍。例如,相同的行为设计,当速度要求不高时,可以采用简单的微处理器(如单片机)来实现,当速度要求很高,而且有足够的硬件资源时,可以采用完全的流水线方式的逻辑设计来实现。从一个满意的行为描述开始的设计,使设计者能够有更广泛的选择余地,来找出哪一个最适合特定的实现环境。高层设计方法的另一个主要优点是顶层描述更容易理解和维护。
目前,电子设计自动化软件不再是简单的CAD或CAT,已经发展到电子设计自动化(EDA)阶段,软件平台也已从小型机覆盖到工作站到高性能微机,一般都包含了符合IEEE—1076标准的VHDL高层综合工具,这些都为可编程ASIC的设计带来了极大的方便。特别对于中小规模系统的集成,可编程逻辑器件已经成为首选的方案,这也是可编程逻辑器件得到广泛应用的原因之一。

1.2  电子设计自动化技术
      电子设计自动化技术是一种以计算机为基本工作平台,利用计算机图形学、拓扑逻辑学、计算数学,以至人工智能学等多种计算机应用学科的成果开发出来的一整套软件工具,是一种帮助电子设计工程师从事电子元件、产品和系统设计的综合技术。EDA技术就是以微电子技术为物理层面,现代电子设计技术为灵魂,计算机软件技术为手段,最终形成集成电子系统或专用集成电路为目的的一门新兴技术。由此可见,EDA技术的使用对象由两大类人员组成。一类是专用集成电路ASIC的芯片设计研发人员;另一类是广大的电子线路设计人员,他们不具备专门的集成电路(IC)深层次的知识。本书所阐述的EDA技术是以后者为应用对象,这样EDA技术可简单概括为以大规模可编程逻辑器件为设计载体,通过硬件描述语言输入给相应开发软件,经过编译和仿真最终下载到设计载体中,从而完成系统电路设计任务的一门新技术。
1.2.1 EDA技术的发展史
EDA技术伴随着计算机、集成电路、电子系统设计的发展,经历了计算机辅助设计(Computer-Aided Design,CAD)、计算机辅助工程设计(Computer-Aided Engineering Design,CAED)和电子设计自动化(EDA)3个发展阶段。
(1)20世纪70年代的计算机辅助设计(CAD)阶段
早期的电子系统硬件设计采用的是分立元件,随着集成电路的出现和应用,硬件设计进入到大量选用中小规模标准集成电路阶段。人们将这些器件焊接在电路板上,做成初级电子系统,对电子系统的调试是在组装好的印刷电路板(Printed Circuit Board,PCB)上进行的。
由于设计师对图形符号使用数量有限,传统的手工布图方法无法满足产品复杂性的要求,更不能满足工作效率的要求。这时,人们开始将产品设计过程中高度重复性的繁杂劳动,如布图布线工作,用二维图形编辑与分析的CAD工具替代,最具代表性的产品就是美国Accel公司开发的Tango布线软件。由于PCB布图布线工具受到计算机工作平台的制约,其支持的设计工作有限且性能比较差。20世纪70年代,可以说是EDA技术发展的初期。
(2)20世纪80年代的计算机辅助工程设计(CAED)阶段
初级阶段的硬件设计是用大量不同型号的标准芯片实现电子系统设计的。随着微电子工艺的发展,相继出现了集成上万只晶体管的微处理器、集成几十万直到上百万储存单元的随机存储器和只读存储器。此外,支持定制单元电路设计的硅编辑、掩模编程的门阵列,如标准单元的半定制设计方法以及可编程逻辑器件(PAL器件和GAL器件)等一系列微结构和微电子学的研究成果都为电子系统的设计提供了新天地。因此,可以用少数几种通用的标准芯片实现电子系统的设计。
伴随计算机和集成电路的发展,EDA技术进入到计算机辅助工程设计阶段。20世纪80年代初推出的EDA工具则以逻辑模拟、定时分析、故障仿真、自动布局和布线为核心,重点解决电路设计没有完成之前的功能检测等问题。利用这些工具,设计师能在产品制作之前预知产品的功能与性能,能生成产品制造文件,在设计阶段对产品性能的分析前进了一大步。 
如果说20世纪70年代的自动布局布线的CAD工具代替了设计工作中绘图的重复劳动,那么,到了20世纪80年代出现的具有自动综合能力的CAED工具则代替了设计师的部分工作,对保证电子系统的设计,制造出最佳的电子产品起着至关重要的作用。到了20世纪80年代后期,EDA工具已经可以进行设计描述、综合与优化和设计结果验证,CAED阶段的EDA工具不仅为成功开发电子产品创造了有利条件,而且为高级设计人员的创造性劳动提供了方便。但是,大部分从原理图出发的EDA工具仍然不能适应复杂电子系统的设计要求,而具体化的元件图形也制约着优化设计。
(3)20世纪90年代电子设计自动化(EDA)阶段
为了满足千差万别的系统用户提出的设计要求,最好的办法是由用户自己设计芯片,让他们把想设计的电路直接设计在自己的专用芯片上。微电子技术的发展,特别是可编程逻辑器件的发展,使得微电子厂家可以为用户提供各种规模的可编程逻辑器件,使设计者通过设计芯片实现电子系统功能。EDA工具的发展,又为设计师提供了全线EDA工具。这个阶段发展起来的EDA工具,目的是在设计前期将设计师从事的许多高层次设计由工具来完成,如可以将用户要求转换为设计技术规范,有效地处理可用的设计资源与理想的设计目标之间的矛盾,按具体的硬件、软件和算法分解设计等。由于电子技术和EDA工具的发展,设计师可以在不太长的时间内使用EDA工具,通过一些简单标准化的设计过程,利用微电子厂家提供的设计库来完成数万门ASIC和集成系统的设计与验证。
20世纪90年代,设计师逐步从使用硬件转向设计硬件,从单个电子产品开发转向系统级电子产品开发片上系统(System On a Chip,SOC)。因此,EDA工具是以系统级设计为核心,包括系统行为级描述与结构综合,系统仿真与测试验证,系统划分与指标分配,系统决策与文件生成等一整套的电子设计自动化工具。这时的EDA工具不仅具有电子系统设计的能力,而且能提供独立于工艺和厂家的系统级设计能力,具有高级抽象的设计构思手段。例如,提供框图、状态图和流程图的编辑能力,具有适合层次描述和混合信号描述的硬件描述语言(如VHDL、AHDL或Verilog HDL),同时含有各种工艺的标准元件库。只有具备上述功能的EDA工具,才可能使电子系统工程师在不熟悉各种半导体工艺的情况下完成电子系统的设计。
1.2.2  EDA技术的主要内容
如果把EDA的主要内容和传统绘画过程相比较,那么在开始绘画之前,我们必须准备好纸和笔墨,这里的白纸就相当于我们的设计载体——大规模可编程逻辑器件;绘画所使用的笔墨就好像是我们的软件开发工具;绘画的方式相当于我们的输入方式。由此可见,EDA技术主要包括三部分的内容:①大规模可编程逻辑器件(白纸);②软件开发工具(笔墨);③输入方式(方式)。
1.2.3  可编程逻辑器件和现场可编程门阵列
可编程逻辑器件(PLD)是一种由用户编程来实现某种逻辑功能的新型逻辑器件。FPGA 和CPLD分别是现场可编程门阵列和复杂可编程逻辑器件的简称。国际上生产FPGA/CPLD的主流公司,并且在国内占有市场份额较大的主要是Xilinx、A1tera、Lattice三家公司。Xi1inx公司的FPGA有XC2000系列、XC3000系列、XC4000系列、XC4000E系列、XC4000XLA系列、XC5200系列等,可用门数为1200~18000;A1tera公司的CPLD有FLEX6000系列、FLEX8000系列、FLEXl0K系列、FLEXl0KE系列等,提供门数为5000~250000;Lattice公司的在系统可编程PLD器件有ispLSI1000系列、ispLSI2000系列、ispLSI3000系列、ispLSI6000系列等,集成度可多达25000个PLD等效门。
FPGA在结构上主要分为3个部分,即可编程逻辑单元,可编程输入/输出单元和可编程连线。CPLD在结构上主要包括3个部分,即可编程逻辑宏单元,可编程输入/输出单元和可编程内部连线。
高集成度、高速度和高可靠性是FPGA/CPLD最明显的特点,其时钟延时可短至纳秒级,结合其并行工作方式,在超高速应用领域和实时测控方面有着非常广阔的应用前景。在高可靠应用领域,如果设计得当,将不会存在类似于MCU的复位不可靠和程序指针可能跑飞等问题。FPGA/CPLD的高可靠性还表现在几乎可将整个系统下载于同一芯片中,实现所谓片上系统,从而大大缩小了体积,易于管理和屏蔽。
1.2.4 软件开发工具
目前比较流行的、主流厂家的EDA的软件工具有Altera公司的MAX+plusⅡ、Quartus Ⅱ,Lattice公司的ispLEVER,Xilinx公司的Foundation Series等。
①MAX+plusⅡ,QuartusⅡ:MAX+plusⅡ和QuartusⅡ支持以原理图、VHDL和Verilog HDL文本文件以及波形与EDIF等格式的文件作为设计输入,并支持这些文件的任意混合设计。它具有门级仿真器,可以进行功能仿真和时序仿真,能够产生精确的仿真结果。在适配之后,MAX+plusⅡ生成供时序仿真用的EDIF、VHDL和Verilog HDL这三种不同格式的网表文件,它界面友好,使用便捷,被誉为业界最易学易用的EDA软件,并支持主流的第三方EDA工具,支持除APEX20K系列之外的所有A1tera公司的FPGA/CPLD大规模逻辑器件。基于上述特点,MAX+plusⅡ也是本书重点介绍的软件。
②ispLEVER:通过ispLEVER System可以进行VHDL、Verilog HDL及ABEL的设计输入、综合、适配、仿真和在系统下载。ispLEVER System是目前流行的EDA软件中最容易掌握的设计工具之一,它界面友好,操作方便,功能强大,并与第三方EDA工具兼容良好。
③Foundation Series:Xilinx公司集成开发的EDA工具。它采用自动化的、完整的集成设计环境。Foundation项目管理器集成了Xilinx实现工具,并包含了强大的Synopsys  FPGA Express综合系统,是业界最强大的EDA设计工具之一。
1.2.5 输入方式
常用的硬件描述语言有VHDL,Verilog HDL,ABEL。
①VHDL:作为IEEE的工业标准硬件描述语言,在电子工程领域,已成为事实上的通用硬件描述语言。
②Verilog HDL:支持的EDA工具较多,适用于RTL级和门电路级的描述,其综合过程较VHDL稍简单,但其在高级描述方面不如VHDL。
③ABEL:一种支持各种不同输入方式的HDL,被广泛用于各种可编程逻辑器件的逻辑功能设计,由于其语言描述的独立性,因而适用于各种不同规模的可编程器件的设计。
有专家认为,在21世纪中,VHDL与Verilog HDL将承担几乎全部的数字系统设计任务。
另外,还有简单易学的原理图和波形图输入方式。
1.2.6 相关厂商概述
我们知道,要成为一名优秀的画家就必须对各种纸张、笔墨的特性都非常熟悉;同样,作为一名优秀电子器件设计工程师也必须对相关厂商有一定的了解。
①Altera公司:20世纪90年代以后发展很快,是最大的可编程逻辑器件供应商之一。主要产品有:MAX3000/7000、FLEX10K、APEX20K、ACEX1K、Stratix、Cyclone等。开发软件为Max+plusⅡ和QuartusⅡ。普遍认为其开发工具——Max+plusⅡ是最成功的PLD器件开发平台之一,配合使用Altera公司提供的免费OEM HDL综合工具可以达到较高的效率。
②Xilinx公司:FPGA的发明者,老牌PLD器件公司,是最大可编程逻辑器件供应商之一。产品种类较全,主要有:XC9500/4000、Coolrunner(XPLA3)、Spartan、Virtex等。开发软件为Foundation、Alliance和ISE。通常来说,在欧洲用Xilinx的人多,在日本和亚太地区用Altera的人多,在美国则是平分秋色。全球PLD/FPGA产品60%以上是由Altera和Xilinx提供的。可以讲Altera和Xilinx共同决定了PLD器件技术的发展方向。
③Lattice公司:ISP技术的发明者。ISP技术极大地促进了PLD器件产品的发展,与Altera和Xilinx相比,其开发工具比Altera和Xilinx略逊一筹。中小规模PLD器件比较有特色,不过其大规模PLD器件、FPGA的竞争力还不够强。1999年推出可编程模拟器件。同时收购Vantis(原AMD子公司),成为第三大可编程逻辑器件供应商。2001年12月收购Agere公司(原Lucent微电子部)的FPGA部门。主要产品有ispLSI2000/5000/8000、MACH4/5、ispMACH4000等。
④Actel公司:反熔丝(一次性烧写)PLD器件的领导者,由于反熔丝PLD器件抗辐射,耐高、低温,功耗低,速度快,所以在军品和宇航级上有较大优势。Altera和Xilinx则一般不涉足军品和宇航级市场。Actel在中国代理商是裕利(科汇二部)和世强电讯。
⑤Cypress公司:PLD/FPGA不是Cypress的主要业务,但有一定的用户群,中国代理商有:富昌电子,德创电子等。
⑥Quicklogic公司:专业PLD/FPGA公司,以一次性反熔丝工艺为主,有一些集成硬核的FPGA比较有特色,但总体上在中国销售量不大,中国代理商是科汇三部。
⑦Lucent公司:主要特点是有不少用于通信领域的专用IP核,但PLD/FPGA不是Lucent公司的主要业务,在中国使用的人很少。2000年Lucent公司的半导体部独立出来并更名为Agere。2001年12月Agere公司的FPGA部门被Lattice公司收购。
⑧Atmel公司:PLD/FPGA不是Atmel公司的主要业务,该公司中小规模PLD器件做得不错。Atmel也做了一些与Altera和Xilinx兼容的芯片,但在品质上与原厂家还是有一些差距,在高可靠性产品中使用较少,多用在低端产品上。Atmel公司代理较多,有5~6家。
表1-1列出主要厂商开发软件的特性。
表1-1 可编程逻辑器件的EDA开发软件的特性
厂商 EDA软件名称 适用器件系列 输入方式
Lattice Synario MACH
GAL,ispLSI,pLSI等 原理图,ABEL、VHDL文本等
 Expert、ispLEVER ispLSI,pLSI,MACH等 原理图,VHDL文本等
Altera MAX+plusⅡ MAX,FLEX等 原理图,波形图,VHDL、AHDL文本等
 QuartusⅡ MAX,FLEX,APEX等 原理图,波形图,VHDL、Verilog HDL文本等
Actel Actel Designer SX系列,MX系列 原理图,VHDL文本等
Xilinx ISE Xilinx各种系列 原理图,VHDL文本等
 Foundation XC系列 原理图,VHDL文本等
1.3 数字系统的设计方法
1.3.1 自顶向下的设计方法
     早期的数字系统多采用试凑法进行设计,此法无固定的套路可循,主要凭借设计者的经验。所设计出的电路,虽然不乏构思巧妙者,但交流和修改不方便,设计所花费时间也较多。现代数字系统设计多采用一种叫做自上而下的模块化设计方法。自上而下也称自顶向下(Top-Down),“顶”就是系统的功能,“向下”指的是将系统分割成若干功能模块。完整的意思是:从整个系统功能出发,按一定原则将系统分为若干子系统,再将每个子系统分为若干功能模块,再将每个模块分成若干较小的模块直至分成许多基本模块实现。在自上而下划分过程中,最重要的是将系统或子系统按计算机组成思想那样划分成控制器和若干个受控制的功能模块(即受控部分)。受控部分通常为设计者们所熟悉的各种功能电路,无论是取用现成模块还是自行设计都有一些固定方法可依,无须花费更多的精力。主要的任务是设计控制器,而控制器通常相当于一个规模不大的时序机,且控制器在系统或子系统中又只有一个,设计工作量不大。这样就把一个复杂的系统设计任务化为一个较小规模的设计问题,从而大大简化了设计的难度,缩短了设计时间,而且修改设计也很方便。通常只需对控制器作适当调整,最后用现场可编程器件实现这样的数字系统。对于ASIC制作过程而言,上述设计只是一种构思设计,最后还要落实到具体芯片的设计上。通常PLD器件是以门和触发器为基本单元的,也就是说,各种模块还要“下”到门级和触发器级,因而需要用到小规模集成电路(Small Scale Integration,SSI)设计方法。本书将介绍一些PLD器件中适用的SSI设计方法。另一方面,在现代PLD器件开发软件的数据库中都有许多功能模块(相应于各种中规模集成电路器件),设计者可以随便调用,因而各种教科书所介绍的中规模集成电路(Medium Scale Integration,MSI)设计方法也有其用武之地。只是一般说来,用MSI模块方法设计方便、快捷,但芯片利用率不如SSI方法高。
1.3.2 数字系统设计的一般步骤
在CPLD大量问世以前,电子工程师们设计数字系统的过程是:书面设计—硬件搭试—制作样机。众所周知,硬件搭试是很费时间的,往往因接线紊乱和接触不良带来各式各样的麻烦,所用器件越多,搭试难度越大,当系统规模大到一定程度,系统复杂到一定程度时,这种搭试将是不可行的。随着计算机技术的发展和CPLD的使用,改变了数字系统设计的程式,采用EDA工具可以很方便地对设计进行仿真,从而省去了繁杂的实验过程。应用EDA技术,现代数字系统设计一般有以下步骤:
①确定设计任务,划分各功能模块。
②设计输入,大多数EDA工具软件都支持逻辑图输入和硬件描述语言输入2种方式。
③逻辑验证(功能仿真或前仿真)。
④逻辑综合。EDA工具中存在综合器,它能将高层次系统级行为设计自动翻译成门级逻辑电路的描述,也能将同层次的行为描述转换成为结构描述。经过逻辑综合,各种逻辑功能可直接用EDA工具目标中的相应单元器件实现。
⑤时序仿真(后仿真)。它是在引入了实际器件的参数后进行的仿真,其结果能真实地反映实际系统的时序、功能。
⑥物理实现。物理实现是指用实际的器件实现数字系统的设计,用仪表测量设计的电路是否符合设计的要求。
1.4 EDA技术的发展趋势
1.4.1 可编程器件的发展趋势
(1)向高密度、大规模的方向发展
     电子系统的发展必须以电子器件为基础,随着集成电路制造技术的发展,可编程ASIC器件的规模不断地扩大,其集成度已从最初的几百门到现在的上百万门。目前,高密度的可编程ASIC产品已经成为主流器件,可编程ASIC已具备了片上系统(SOC)集成的能力,产生了巨大的飞跃,这也促使了工艺的不断进步。而每次工艺的改进,可编程ASIC器件的规模都将有很大的扩展。由于高密度、大容量的可编程ASIC的出现,给现代电子系统(复杂系统)的设计与实现带来了巨大的帮助。
(2)向系统内可重构的方向发展
系统内可重构是指可编程ASIC在置入用户系统后仍具有改变其内部功能的能力。采用系统内可重构技术,使得系统内硬件的功能可以像软件那样通过编程来配置,从而在电子系统中引入“软”硬件的全新概念。它不仅使电子系统的设计、产品性能的改进和扩充变得十分简便,还使新一代电子系统具有极强的灵活性和适应性,为许多复杂信号的处理和信息加工的实现提供了新的思路和方法。
(3)向低电压、低功耗的方向发展
集成技术的飞速发展,工艺水平的不断提高,节能潮流在全世界的兴起,也为半导体工业制定了降低工作电压的发展方向。可编程ASIC产品作为电子系统的重要组成部分,也不可避免地向3.3V→2.5V→1.8V的标准靠拢,以便适应其他数字器件,扩大应用范围,满足节能的要求。
(4)向混合可编程技术方向发展
可编程ASIC的广泛应用使得电子系统的构成和设计方法均发生了很大的变化。但是迄今为止,有关可编程ASIC的研究和开发的大部分工作基本上都集中在数字逻辑电路上。在未来几年里,这一局面将会有所改变,模拟电路及数模混合电路的可编程技术将得到发展。
可编程模拟ASIC是今后模拟电子线路设计的一个发展方向。它们的出现使得模拟电子系统的设计也和数字系统设计一样变得简单易行,为模拟电路的设计提供了一个崭新的途径。
1.4.2 软件开发工具的发展趋势
(1)具有混合信号处理能力的EDA工具
目前,数字电路设计的EDA工具远比模拟电路的EDA工具多,模拟集成电路EDA工具开发的难度较大,但是,由于物理量本身多以模拟形式存在,所以实现高性能的复杂电子系统的设计离不开模拟信号。因此,20世纪90年代以来EDA工具厂商都比较重视数模混合信号设计工具的开发。对数字信号的语言描述,IEEE已经制定了VHDL标准,对模拟信号的语言正在制定AHDL标准,此外还提出了对微波信号的MHDL描述语言。
具有混合信号设计能力的EDA工具能处理含有数字信号处理、专用集成电路宏单元、数模变换和模数变换模块、各种压控振荡器在内的混合系统设计。美国Cadence、Synopsys等公司开发的EDA工具已经具有混合设计能力。
(2)有效的仿真工具的发展
通常,可以将电子系统设计的仿真过程分为两个阶段:设计前期的系统级仿真和设计过程的电路级仿真。系统级仿真主要验证系统的功能;电路级仿真主要验证系统的性能,决定怎样实现设计所需的精度。在整个电子设计过程中仿真是花费时间最多的工作也是占用EDA工具资源最多的一个环节。通常,设计活动的大部分时间在做仿真,如验证设计的有效性、测试设计的精度、处理和保证设计要求等。仿真过程中仿真收敛的快慢同样是关键因素之一。提高仿真的有效性一方面是建立合理的仿真算法,另一方面是系统级仿真中系统级模型的建模,电路级仿真中电路级模型的建模。预计在下一代EDA工具中,仿真工具将有一个较大的发展。
(3)理想的设计综合工具的开发
今天,电子系统和电路的集成规模越来越大,几乎不可能直接面向版图做设计,若要找出版图中的错误,更是难上加难。将设计者的精力从繁琐的版图设计和分析中转移到设计前期的算法开发和功能验证上,这是设计综合工具要达到的目的。高层次设计综合工具可以将低层次的硬件设计一起转换到物理级的设计,实现不同层次的不同形式的设计描述转换,通过各种综合算法实现设计目标所规定的优化设计。
面对当今飞速发展的电子产品市场,电子设计人员需要更加实用、快捷的EDA工具,使用统一的集成化设计环境,改变传统设计思路,即优先考虑具体物理实现方式,而将精力集中到设计构思、方案比较和寻找优化设计等方面,以最快的速度开发出性能优良、质量一流的电子产品。总之,今天的EDA工具将向着功能强大、简单易学、使用方便的方向发展。
1.4.3 输入方式发展趋势
(1)输入方式简便化趋势
早期EDA工具设计输入普遍采用原理图输入方式,以文字和图形作为设计载体和文件,将设计信息加载到后续的EDA工具,完成设计分析工作。原理图输入方式的优点是直观,能满足以设计分析为主的一般要求,但是原理图输入方式不适合用EDA综合工具。20世纪80年代末,电子设计开始采用新的综合工具,设计描述开始由原理图设计描述转向以各种硬件描述语言为主的编程方式。用硬件描述语言描述设计,更接近系统行为描述,且便于综合,更适于传递和修改设计信息,还可以建立独立于工艺的设计文件,不便之处是不太直观,要求设计师学会编程。
很多电子设计师都具有原理图设计的经验,不具有编程经验,所以仍然希望继续在比较熟悉的符号与图形环境中完成设计,而不是利用编程来完成设计。为此,很多公司在20世纪90年代相继推出一批图形化免编程的设计输入工具,它们允许设计师用他们最方便并熟悉的设计方式,如框图、状态图、真值表和逻辑方程建立设计文件,然后由EDA工具自动生成综合所需的硬件描述语言文件。
(2)输入方式高效化和统一化趋势
今天,在电子设计领域形成了这样一种分工:软件和硬件;相应工程师也被分成软件工程师和硬件工程师。对于复杂算法的实现,人们通常先建立系统模型,根据经验分析任务,然后将一部分工作划给软件工程师,将另一部分工作交给硬件工程师。硬件工程师为了实现复杂的功能,使用硬件描述语言设计高速执行的芯片,而这种设计是富有挑战性和花费时间的,需要一定的硬件工程技巧。人们希望能够找到一种方法,在更高的层次下设计更复杂,更高速的系统,并希望将软件设计和硬件设计统一到一个平台下。C语言是软件工程师在开发商业软件时的标准语言,也是使用最为广泛的高级语言,人们很早就开始尝试在C语言的基础上设计下一代硬件描述语言。许多公司已经提出了不少方案,目前有两种相对成熟的硬件C语言:SystemC和Handle-C,它们相应的开发系统为:CoCentric System Stadio和Celoxica DKI。这两种语言都是在C语言的基础上根据硬件设计的需求加以改进和扩充,用户可以在它们的开发环境编辑代码,调用库文件,甚至可以引进HDL程序并进行仿真,最终生成网表文件,放到FPGA中执行。软件算法工程师不需要特别的培训,利用他们熟悉的C语言就可以直接进行硬件开发,减轻了硬件开发的瓶颈和压力。随着算法描述抽象层次的提高,使用这种C语言设计系统的优势将更加明显。
现在有很多硬件描述语言的人才,也有很多资深的C语言编程者,他们能够利用这种工具,轻松地转到FPGA设计上。过去因为太复杂而不能用硬件描述语言表示的算法以及由于处理器运行速度太慢而不能处理的算法,现在都可以利用C语言在大规模FPGA硬件上得以实现。设计者可以利用C语言快速而简洁地构建功能函数,通过标准库和函数调用技术,设计者还能在很短的时间里创建更庞大、更复杂和更高速的系统。
C语言输入方式的广泛使用还有赖于更多EDA软件厂家和FPGA生产商的支持。随着EDA技术的不断成熟,软件和硬件的概念将日益模糊,使用单一的高级语言直接设计整个系统将是一个统一化的发展趋势。

编辑:吕海英 引用地址:http://www.eeworld.com.cn/newproducts/others/200805/article_18021.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部

小广播

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关:

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved