题
目
可编程逻辑器件与集成电路设计
姓
名
**
所在学院
理学院
专业班级
思源0901
学
号
09274027
指导教师
**
日
期
20**
年
**
月
日
可编程逻辑器件与集成电路设计
摘要:本文简述了集成电路的传统设计方法和现代设计方法,并对两者的区别进行了比较,以实例为基础介绍了集成电路的设计过程。对可编程逻辑器件的定义、分类、功能等进行详尽的阐述,介绍了可编程逻辑器件的设计过程,以可编程逻辑器件软件设计平台QuartusII为例,介绍了可编程逻辑器件软件设计平台的功能及使用方法,并对其他种类软件平台作出比较。对国内外集成电路设计公司作简要介绍,分析了PLD和FPGA芯片上的文字信息。
关键字:集成电路设计;可编程逻辑器件;软件设计平台;QuartusII;PLD;FPGA
1.集成电路的设计方法
1.1手工传统设计方法
传统的集成电路设计方法是指20世纪50-60年代的手工设计时代。
传统的集成电路设计方法的基本步骤是1.根据设计要求划分功能模块;2.确定输入和输出的关系,画出真值表,写出逻辑表达式;4.利用公式或卡诺图进行人工化简;5.根据化简后的逻辑表达式画出电路原理图;6.在面包板上进行实验,验证电路的正确性;7.若无错误,再在透明薄膜上用贴图符号贴PCB图;8.检查后送制板厂制板;9.对PCB板进行安装、调试,若有大的错误,修改设计,重复以上过程,重新制板。
传统集成电路设计方法的特点是采用自下而上(Bottom
Up)的设计方法,采用通用型逻辑器件搭积木式的方式,在系统硬件设计的后期进行仿真和调试,主要设计文件是电路原理图。
图1
1.2
EDA技术与现代设计方法
计算机出现后,人们可以借助计算机进行集成电路的辅助设计,这样就进入了20世纪70-80年代的CAD(计算机辅助)时代,利用计算机及其图形设备帮助集成电路设计人员进行设计工作,大大减少了手工设计时代的工作量,提高了集成电路的设计效率。到了80年代后期,CAD技术日渐成熟,集成电路的设计真正跨越到了EDA(电子设计自动化)的现代设计方法时代。
20世纪90年代,国际上电子和计算机技术较先进的国家,一直在积极探索新的电子电路设计方法,并在设计方法、工具等方面进行了彻底的变革,取得了巨大成功。在电子技术设计领域,可编程逻辑器件(如CPLD、FPGA)的应用,已得到广泛的普及,这些器件为数字系统的设计带来了极大的灵活性。这些器件可以通过软件编程而对其硬件结构和工作方式进行重构,从而使得硬件的设计可以如同软件设计那样方便快捷。这一切极大地改变了传统的数字系统设计方法、设计过程和设计观念,促进了EDA技术的迅速发展。
EDA技术就是以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。EDA技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。
EDA技术为电子系统设计带来了很大的变化:设计效率提高,设计周期缩短;设计质量提高;设计成本降低;能更充分地发挥设计人员的创造性;设计成果的重用性大大提高,省去了不必要的重复劳动。
现代的数字系统设计采用PLD,利用EDA开发工具,通过芯片设计来实现系统功能。普遍使用自顶向下(Top—Down)的设计方法,这里的“顶”就是指系统的功能;“向下”就是指将系统由大到小、由粗到精进行分解,直至可用基本模块实现。自顶向下设计方法的一般过程大致上可以分为四步,如下图所示。
Top-Down设计图
明确系统功能
确定总体方案
子系统具体实现
系统仿真实现
图2
明确系统功能:对要设计的系统的任务、要求、原理以及使用环境等进行充分调研,进而明确设计目标、确定系统功能,是一件至关重要的事。因为只有把它做好了,后面的设计工作才有意义,才有效率。
确定总体方案:明确了设计目标、确定系统功能之后,接下来要做的工作就是根据系统功能确定出系统设计的总体方案。
系统具体实现:系统方案确定以后.再从结构上对系统进行逻辑划分,导出系统的结构框图。一般把系统从逻辑上划分为数据子系统和控制子系统两部分。然后,再将各自划分为多个子系统模块,各模块的输入、输出信号要明确,有利于团队工作。这些子系统就可以依据基础的数字设计确定具体电路实现。系统如果有控制算法也包括选择控制算法及实现。
系统仿真实现:系统设计完成之后,最好先采用EDA软什对所设计的系统进行仿真后再用具体器件搭电路.以保证系统设计的正确性和可靠性。电路实现时,一般按自底向上的顺序进行。这样做不仅行利于单个电路的调试,而且也利于整个系统的联调。
因此,严格地讲,现代数字系统的完整设计过程应该是“自顶向下设计。自底向上集成”。
1.3从传统到现代设计方法的区别
从传统设计方法到现代设计方法,集成电路设计技术有了长足的进步。传统的集成电路设计方法,从根据设计目标得到真值表,到最后完成系统后的测试与调试,所有的工作均需人工完成。可以想象,随着数字集成电路的发展,从小规模集成电路(SSI)的小于10个逻辑门,到中规模集成电路(MSI)的几百个逻辑门,再到大规模集成电路的(LSI)几万门,最后甚至到超大规模集成电路(VLSI),甚大规模集成电路(ULSI)的几十万、几百万门电路,集成电路迅速的大规模化,使得传统设计方法根本无法完成得到真值表画出卡诺图等工作。它表现出了效率低下,一切手工完成,设计周期很长;容易出错;芯片种类多,数量大,受市场的限制;设计灵活性差;产品体积大等缺点。同时后续的电路调试和设计也需要很高的电路布局和布线的技巧,总而言之,这样的设计对于复杂数字系统来讲效率太低了。
现代的设计方法,自顶向下,可以实现具体任务的分工完成,并且用软件的方式设计硬件,从软件设计的硬件系统到硬件系统的转换是由EDA软件自动完成的,设计过程中可用软件进行各种仿真,现场可编程,在线升级,而且整个系统集成在一块儿很小的芯片上,体积小,功耗低,可靠性高,容易检查错误,便于修改,设计周期短、成功率很高,这些优点都是传统方法无法比拟的,大大提高了集成电路设计的效率。
所以说从传统方法到现代方法,集成电路的设计有了一个很大的跨越。
表1
2.可编程逻辑器件
2.1可编程逻辑器件定义
可编程逻辑器件英文全称为:programmable
logic
device
即
PLD。PLD是做为一种通用集成电路产生的,他的逻辑功能按照用户对器件编程来确定。一般的PLD的集成度很高,足以满足设计一般的数字系统的需要。这样就可以由设计人员自行编程而把一个数字系统“集成”在一片PLD上,而不必去请芯片制造厂商设计和制作专用的集成电路芯片了。
图3
PLD的基本结构如上图所示,图中与阵列和或阵列是PLD的主体。与阵列用以产生有关与项,或阵列把所有与项构成与或形式的逻辑函数。任何组合逻辑函数均可表示为与或表达式,因而用与门-或门两级电路可实现任何组合电路,又因为任何时序电路是由组合电路加上存储元件构成的,因而PLD的与或结构对实现数字电路具有普遍的意义。
2.2可编程逻辑器件分类及功能
可编程逻辑器件按集成度分类如下图。
图4
简单可编程逻辑器件有PROM、PLA、PAL、GAL。
PROM:与阵列固定,或阵列可编程的逻辑器件,最主要特征是只允许数据写入一次,如果数据输入错误只能报废。
PLA:
与或阵列均可编程,在可编程逻辑器件中,它的灵活性最高。由于它
具有与或阵列均能编程的特点,在实现函数时,只需形成所需的乘机项,使这列规模比输入数相同的与阵列固定、或阵列可编程的PROM小得多。但是目前PLA的编程缺少高质量的支持软件和编程工具,且器件价格偏高,门的利用率不高,因而未得到广泛应用。
PAL、GAL:与阵列可编程,或阵列固定的代表器件。这种结构中,或阵列固定若干个乘积项输出
。PAL和GAL门阵列结构把PROM器件的成本低、速度高、编程容易以及PLA器件的灵活性等优点结合在一起,成为早起实现可编程ASIC的主要器件
复杂可编程逻辑器件的两种主要类型是现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD)。
FPGA:提供了最高的逻辑密度、最丰富的特性和最高的性能。
现在最新的FPGA器件,可提供八百万“系统门”(相对逻辑密度)。
这些先进的器件还提供诸如内建的硬连线处理器、大容量存储器、时钟管理系统等特性,并支持多种最新的超快速器件至器件信号技术。
FPGA被应用于范围广泛的应用中,从数据处理和存储,以及到仪器仪表、电信和数字信号处理等。
CPLD:提供的逻辑资源少得多,最高约1万门。
但是,CPLD提供了非常好的可预测性,因此对于关键的控制应用非常理想。
而且CPLD器件需要的功耗极低。
2.3可编程逻辑器件设计过程
采用自顶向下(Top—Down)的设计方法确定各个子系统后,就需要借助于EDA软件进行系统设计实现。下图是基于EDA软件的PLD开发流程框图,由框图可见设计主要包括设计输入、设计处理、功能仿真和时序仿真、器件编程或下载和系统测试五个部分
FPGA
/
CPLD设计流程
设计准备
设计输入
Ø
图形输入
Ø
硬件描述语言HDL
设计处理
Ø
编译、优化综合Ø
适配、分割
Ø
布局、布线
器件编程(下载)
系统测试
时序仿真
功能仿真
HDL:
VHDL(IEEE)
Verilog
(IEEE)
AHDL
ABEL
EDA工具自动实现
对CPLD产生Pof文件
对FPGA产生Sof文件
图5
设计输入:采用原理图或硬件描述语言(HDL),描述出输入和输出的逻辑关系,将整个原理图或程序输入到计算机中。
设计处理:EDA工具可自动进行逻辑综合,将功能描述转换为门级描述,或转换成具体PLD的网表文件,将网表文件自动适配到具体芯片中进行布局布线。
功能仿真和时序仿真:在软件平台进行硬件仿真。
编程下载:到实际芯片中,在实验台上进行验证;
系统测试:测试成型系统,在每一阶段若有问题,可在计算机上直接修改设计,重复以上过程。
3.可编程逻辑器件软件设计平台
可编程逻辑器件的软件平台,都是由PLD/FPGA芯片厂家提供,基本都可以完成所有的设计输入(原理图或HDL),仿真,综合,布线,下载等工作。
3.1常用可编程逻辑器件软件设计平台比较
Altera公司:
QuartusII软件平台:
Quartus
II
是Altera公司的综合性PLD开发软件,支持原理图、VHDL、VerilogHDL以及AHDL等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。
MaxplusII
E+MAX:免费PLD开发软件,界面与标准版的MaxplusII完全一样,只支持MAX7000和MAX3000系列器件,本身支持不复杂的VHDL和Verilog综合。
MaxplusII
Baseline:免费PLD开发软件,界面与标准版的MaxplusII完全一样,但需要通过使用MAX+PLUSII
Advanced
Synthsis插件才能支持VHDL/Verilog。支持MAX7000/3000和部分FLEX/ACEX芯片。
Xilinx公司
ISE软件平台: ISE是使用XILINX的FPGA的必备的设计工具,它可以完成FPGA开发的全部流程,包括设计输入、仿真、综合、布局布线、生成BIT文件、配置以及在线调试等,功能非常强大。
WebFITTER:免费PLD开发软件,不需下载,可在线编译,结果用e-mail发送到信箱。使用简单,但要求较快的联网速度。支持XC9500
和
CoolRunner系列。
WebPACK
ISE:免费PLD开发软件,支持XC9500,coolrunner,Spartan/II,部分Virtex/E/II器件。
Lattice公司
ispDesignEXPERT:PLD开发软件,目前最新软件改名为:ispLEVER
ispLEVER
Starter:免费PLD开发软件,支持600个宏单元以下的Lattice芯片的设计。
3.2
QuartusII软件设计平台简介
QuartusII是美国Altera公司自行设计的第四代PLD开发软件可以完成PLD的设计输入、逻辑综合、布局与布线、仿真、时序分析、器件编程的全过程,同时还支持SOPC(可编程片上系统)设计开发。
QuartusⅡ提供了方便的设计输入方式、快速的编译和直接易懂的器件编程。能够支持逻辑门数在百万门以上的逻辑器件的开发,并且为第三方工具提供了无缝接口。QuartusⅡ支持的器件有:Stratix
Ⅱ、Stratix
GX、Stratix、Mercury、MAX3000A、MAX
7000B、MAX
7000S、MAX
7000AE、MAX
Ⅱ、FLEX6000、FLEX10K、FLEX10KA、FLEX10KE、Cyclone、Cyclone
Ⅱ、APEX
Ⅱ、APEX20KC、APEX20KE和ACEX1K系列。QuartusⅡ软件包的编程器是系统的核心,提供功能强大的设计处理,设计者可以添加特定的约束条件来提高芯片的利用率。
Quartus
II软件的设计过程主要包括:
1.建立项目;
2.输入设计电路;
3.设计编译;
4.设计仿真
5.设计下载
其中QuartusII的输入可以有三种方式,(1)原理图输入方式:适用于对系统及各部分电路很熟悉的场合。(2)硬件描述语言输入方式:硬件描述语言是用文本方式描述设计,硬件描述语言有ABEL、AHDL、VHDL、Verilog等,其中VHDL和Verilog已成为IEEE标准。(3)波形输入方式
当在Quartus
Ⅱ中完成设计后,就应当将所设计的电路下载到CPLD芯片中,结合用户系统进行统一的调试。CPLD编程下载的方式较多,按计算机的接口可分为:串口下载(BitBlaster或MasterBlaster)、并口下载(ByteBlaster)、USB接口下载(MasterBlaster或APU)等方式。按器件可分为:CPLD编程(MAX3000、MAX5000、MAX7000、MAX
9000),FPGA下载(FLEX6000、FLEX8000、FLEX
10K、ACEX
1K、APEX
20K),存储器编程EPC1、EPC2等。
4.集成电路设计公司简介
4.1国内集成电路设计公司介绍
大唐微电子技术有限公司:作为目前国内规模最大的集成电路设计企业之一,大唐微电子积累了丰富的集成电路设计经验。多年来,公司在移动通信智能卡领域中,凭借独具特色的产品与服务,引领了中国国内移动通信智能卡市场稳健、快速的发展。大唐微电子是目前全球智能卡领域中生产规模最大、产业链最完整、生产设备最先进的智能卡企业之一;是全球唯一一家能够同时在芯片级、模块级、卡片级向客户提供全方位产品、服务与解决方案的企业;也是国家指定的中国第二代居民身份证专用集成电路设计和模块加工企业。目前,公司模块年生产能力达4亿枚,智能卡年发行能力超过2亿张。
炬力集成电路设计有限公司:是一家致力于集成电路设计与制造的大型半导体技术集团,美国的纳斯达克上市公司,总部设在环境优美的海滨城市珠海,旗下拥有三家子公司——炬力集成电路设计有限公司、炬才微电子(深圳)有限公司、北京炬力北方微电子有限公司。公司目前共有700多人,其中本科以上研发人员占80%以
4.2国外集成电路设计公司介绍
Xilinx(赛灵思):是全球领先的可编程逻辑完整解决方案的供应商。Xilinx研发、制造并销售范围广泛的高级集成电路、软件设计工具以及作为预定义系统级功能的IP(Intellectual
Property)核。客户使用Xilinx及其合作伙伴的自动化软件工具和IP核对器件进行编程,从而完成特定的逻辑操作。Xilinx公司成立于
1984年,Xilinx首创了现场可编程逻辑阵列(FPGA)这一创新性的技术,并于1985年首次推出商业化产品。目前Xilinx满足了全世界对
FPGA产品一半以上的需求。Xilinx产品线还包括复杂可编程逻辑器件(CPLD)。在某些控制应用方面CPLD通常比FPGA速度快,但其提供的逻辑资源较少。
Xlinx主要FPGA产品:Xilinx的主流FPGA分为两大类,一种侧重低成本应用,容量中等,性能可以满足一般的逻辑设计要求,如Spartan系列;还有一种侧重于高性能应用,容量大,性能能满足各类高端应用,如Virtex系列,用户可以根据自己实际应用要求进行选择。
在性能可以满足的情况下,优先选择低成本器件。
*
Spartan-3/3L:
新一代FPGA产品,结构与VirtexII类似,全球第一款90nm工艺FPGA,1.2v内核,于2003年开始陆续推出。
*
Spartan-3E:基于Spartan-3/3L,对性能和成本进一步优化
*
Spartan-6:xilinx最新推出的低成本FPGA
*
Virtex-II:2002年推出,0.15um工艺,1.5v内核,大规模高端FPGA产品
*
Virtex-II
pro:
基于VirtexII的结构,内部集成CPU和高速接口的FPGA产品
*
Virtex-4:
xilinx最新一代高端FPGA产品,包含三个子系列:LX,SX,FX
*
Virtex-5:65nm工艺的产品
*
Virtex-6:最新的高性能FPGA产品,45nm
*
Virtex-7:20**年推出的超高端FPGA产品。
Altera:自二十年前发明世界上第一个可编程逻辑器件开始,Altera公司秉承了创新的传统,是世界上“可编程芯片系统”(SOPC)解决方案倡导者。Altera结合带有软件工具的可编程逻辑技术、知识产权(IP)和技术服务,在世界范围内为14,000多个客户提供高质量的可编程解决方案。新产品系列将可编程逻辑的内在优势——灵活性、产品及时面市——和更高级性能以及集成化结合在一起,专为满足当今大范围的系统需求而开发设计。
Altera可编程解决方案包括:业内最先进的FPGA、CPLD和结构化ASIC技术;全面内嵌的软件开发工具;最佳的IP内核;可定制嵌入式处理器;现成的开发包;专家设计服务。
Altera主要FPGA产品:Altera的主流FPGA分为两大类,一种侧重低成本应用,容量中等,性能可以满足一般的逻辑设计要求,如Cyclone,CycloneII;还有一种侧重于高性能应用,容量大,性能能满足各类高端应用,如Startix,StratixII等,用户可以根据自己实际应用要求进行选择。在性能可以满足的情况下,优先选择低成本器件。
*
Cyclone(飓风):Altera中等规模FPGA,2003年推出,0.13um工艺,1.5v内核供电,与Stratix结构类似,是一种低成本FPGA系列,是目前主流产品,其配置芯片也改用全新的产品。
*
CycloneII:Cyclone的下一代产品,2005年开始推出,90nm工艺,1.2v内核供电,属于低成本FPGA,性能和Cyclone相当,提供了硬件乘法器单元
*
Stratix
:altera大规模高端FPGA,2002年中期推出,0.13um工艺,1.5v内核供电。集成硬件乘加器,芯片内部结构比Altera以前的产品有很大变化。
*
StratixII:
Stratix的下一代产品,2004年中期推出,90nm工艺,1.2v内核供电,大容量高性能FPGA。
*StrtratixV为altera目前的高端产品,采用28-nm工艺,提供了28G的收发器件,适合高端的FPGA产品开发
5.PLD及FPGA片上文字信息分析
图6
如上图FPGA芯片,左上角XILINX文字为设计生产该芯片的公司名称,KINTEX-7为芯片型号,Kintex-7
系列是赛灵思公司一种新型
FPGA,能以不到
Virtex-6
系列一半的价格实现与其相当性能,性价比提高了一倍,功耗降低了一半。下边文字为此芯片的具体型号等,最下方TAIWAN为芯片的产地。
参考文献
【1】
侯建军
《数字电子技术基础》高等教育出版社,2007年
【2】
朱明程
《可编程逻辑器件及应用》
西安电子科技大学出版社,2004年
【3】
百度百科
《PLD》
《FPGA》
《Xilinx》
《Altera》
【4】
陈忠平、高金定、高见芳
《基于Quartus
II的FPGA/CPLD设计与实践》
电子工业出版社
2007年