首页 理论教育 可编程逻辑器件的开发与应用优化

可编程逻辑器件的开发与应用优化

时间:2023-06-24 理论教育 版权反馈
【摘要】:可编程逻辑器件的出现使数字系统的设计方法发生了崭新的变化。使用硬件描述语言可以比逻辑电路图更有效地表示硬件电路的特性。图7-18可编程器件的设计流程1)设计准备采用有效的设计方案是PLD设计成功的关键,因此在设计输入之前首先要考虑两个问题:①选择系统方案,进行抽象的逻辑设计;②选择合适的器件,满足设计的要求。

可编程逻辑器件的开发与应用优化

1.电子系统的设计方法

传统的数字电子系统设计中,一般先按数字电子系统的具体功能要求进行功能划分,然后选择SSI、MSI标准通用器件对电路进行设计,对每个子模块画出相应的逻辑线路图,再根据此选择设计电路板,最后进行实测与调试。这种设计技术是自底向上的,即首先确定构成系统的最底层的电路模块或元件的结构和功能,然后根据主系统的功能要求,将它们组合成更大的功能块,使它们的结构和功能满足高层系统的要求。以此流程,逐步向上递推,直至完成整个目标系统的设计。这种设计方法的特点是必须首先关注并致力于解决系统最底层硬件的可获得性,以及功能特性方面的诸多细节问题。传统的系统设计方法,由于采用器件的种类和数量多,连线复杂,因而制成的系统往往体积大、功耗大、可靠性差。

可编程逻辑器件的出现使数字系统的设计方法发生了崭新的变化。采用可编程逻辑器件设计系统时,可以将原来在电路板上的设计工作放到芯片设计中进行,而且所有的设计工作都可以利用电子设计自动化(EDA)工具来完成,从而极大地提高了设计效率,增强了设计的灵活性。同时,基于芯片的设计可以减少芯片的数量,缩小系统体积,降低功耗,提高系统的速度和可靠性。应用这种新的设计方法必须具备三个条件:①必须基于功能强大的EDA技术;②具备集系统描述、行为描述和结构描述功能为一体的硬件描述语言;③高密度、高性能的大规模集成可编程逻辑器件。也就是说,新的设计方法是利用计算机软件,对功能强大的可编程器件进行程序设计,使得使用一个芯片即可实现一个完整系统的功能。

编程逻辑器件的软件开发系统支持两种设计输入方式:一种是图形设计输入,另一种是硬件描述语言输入。计算机对输入文件进行编译、综合、优化、配置操作,最后生成供编程用的文件,可直接编程到可编程逻辑器件的芯片中。

图形设计输入是使用软件开发系统,先画出满足所设计数字系统功能要求的逻辑电路图,计算机根据图形文件进行编译、综合、优化、配置操作。硬件描述语言输入是利用该语言描述硬件电路的功能、信号连接关系及时序关系等。使用硬件描述语言可以比逻辑电路图更有效地表示硬件电路的特性。硬件描述语言有很多种,现在比较流行的硬件描述语言有Verilog和VHDL。

2.可编程逻辑器件的开发方法

PLD的开发是指利用开发系统的软件和硬件对PLD进行设计与编程的过程。

开发系统软件是指PLD专用的编程语言和相应的汇编程序或编译程序。硬件部分包括计算机和编程器。

可编程逻辑器件的设计流程,主要包括设计准备、设计输入、设计处理和器件编程四个步骤,同时包括相应的功能仿真、时序仿真和器件测试三个设计验证过程,如图7-18所示。

图7-18 可编程器件的设计流程

1)设计准备

采用有效的设计方案是PLD设计成功的关键,因此在设计输入之前首先要考虑两个问题:①选择系统方案,进行抽象的逻辑设计;②选择合适的器件,满足设计的要求。(www.xing528.com)

对于低密度PLD(PAL、GAL等),一般可以进行书面逻辑设计,将电路的逻辑功能直接用逻辑表达式、真值表状态图原理图等方式进行描述,然后根据整个电路输入、输出端数以及所需要的资源(如门、触发器、中规模器件等)的数目,选择能满足设计要求的器件系列和型号。器件的选择除了应考虑器件的引脚数、资源外,还要考虑其速度、功耗及结构特点。

对于高密度PLD(CPLD、FPGA),系统方案的选择通常采用“自顶向下”的设计方法。目前系统方案的设计工作和器件的选择都可以在计算机上完成,设计者可以采用国际标准的硬件描述语言对系统进行功能描述,并选用各种不同的芯片进行平衡、比较,以选择最佳结果。

2)设计输入

设计者将所设计的系统或电路以开发软件要求的某种形式表示出来,并送入计算机的过程称为设计输入。它通常有原理图输入、硬件描述语言输入和波形输入等多种方式。

3)设计处理

从设计输入完成以后到编程文件产生的整个编译、适配过程通常称为设计处理或设计实现。它是器件设计中的核心环节,是由计算机自动完成的,设计者只能通过设置参数来控制其处理过程。在编译过程中,编译软件对设计输入文件进行逻辑化简、综合和优化,并适当地选用一个或多个器件自动进行适配和布局、布线,最后产生编程用的编程文件。

在设计输入和设计处理过程中往往要进行功能仿真和时序仿真。功能仿真是在设计输入完成以后的逻辑功能验证,又称前仿真。它没有延时信息,对于初步功能检测非常方便。时序仿真在选择好器件并完成布局、布线之后进行,又称后仿真或定时仿真。时序仿真可以用来分析系统中各部分的时序关系以及仿真设计性能。

4)器件编程

编程是指将编程数据放到具体的PLD中去。对阵列型PLD来说,是将JED文件“下载”到PLD中去;对FPGA来说,是将位流数据文件“配置”到器件中去。

先导案例解决

根据用途不同,存储器分为两大类。一类是只读存储器ROM,用于存放永久性的、不变的数据,这种存储器在断电后数据不会丢失。另一类是随机存取存储器RAM,用于存放一些临时性的数据或中间结果,需要经常改变存储内容,这种存储器断电后,数据将全部丢失。因此,选择只读存储器存储程序,选择随机存取存储器存储数据。

习题7.2

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈