利用EDA技术设计数字电路
扫描二维码
随时随地手机看文章
在现代电子系统中,数字化和集成化成为发展的必然趋势,电子设计自动化(EDA)技术已经逐渐成为电子系统设计的主要方向和潮流,传统的数字系统没计方法已经逐渐被淘汰。作为电子工程师和系统设计人员学习、掌握相关知识和技术已势在必行。EDA就是利用计算机设计电子电路和系统的软件工具,极大地提高了电路设计的效率和可靠性。减轻了设计者的劳动强度。它的实现是与可编程逻辑器件CPLD/FPGA(ComplexPro—grammableLogicDevice/FieldProgrammableGateArray)技术的迅速发展息息相关的。这一类器件可以通过软件编程对其硬件结构和工作方式进行重构,打破了软硬件之间的屏障。美国Altera公司推出的发展较完善的MAX+Plush软件就是用于开发CPLD的EDA软件工具,它界面友好。易学易用并具无可比拟的灵活性和高效性。
1. MAX+Plusll软件开发平台介绍
设计CPLD时可以利用Altera公司提供的免费基本版MAX+PlusIll0。2软件实现。此软件可通过Altera公司网站免费下载。
MAX+Plush软件的设计流程分四步。即设计输入、设计编译、设计验证和器件编程。
①设计输入。MAX+Plush软件的设计输入的方法有多种,主要包括:
原理图输入方式:这种输入方式多用于不太复杂的系统设计中,对于我们的频率计设计就可以采用。因为用此方式不但方便也很直观。
文本设计输入方式:文本设计文件可以使用AHDL语言、VHDL语言、VerilogHDL语言。三种都是硬件描述语言,每种都有其各自的特点。
波形输入方式:设计者根据建立的输入,输出波形生成逻辑关系,本设计将不使用这种输入方式,但可以利用波形关系进行设计验证。
②设计编译。MAX+P1usII提供了一个全集成编译器,编译过程经历网表提取,数据库建立,逻辑综合,资源分配,适配,时序仿真网表文件提取,装配等环节。生成一系列标准文件,若在其中某个环节出现错误,编译器会停止编译,告诉你错误出现的位置及原因。
③设计验征。MAX+Plush还有时序分析,功能仿真,输入输出波形分析等功能,以帮助验证设计的正确性。
④器件编程。对设计文件编译。仿真后,将设计的项目下载(或称为配置)到所选器件上的过程。
2. 数字电路设计
PLD设计中,原理图输入比较直观。效率高,但设计大规模CPLD时显得很繁琐。当进行大规模CPLD设计时通常选择文本输入方式。如前所述,文本输入有AHDL、VHDL、VerilogHDL三种语言,我们选择其中VHDL语言简单介绍给大家。VHDL语言硬件描述能力很强。同样是基于英语的一种编程语言。类似其他高级编程语言。只要有一定英语知识,就会很容易掌握并理解VHDL语言的描述。
(1)电路功能描述
利用VHDL语言设计一个简单的数字电路。原理框图如图1所示,该电路用于计数电路之前的控制信号产生,功能要求是对外部电路产生送入的clk(8Hz)信号进行计数,输出信号送入控制电路周期性地产生3个信号控制后级计数电路,这三个信号分别是:
①闸门信号CS,也称计数控制信号:控制计数模块的计数和⋯停止计数,计数控CS的高电平部分正好是1秒,CS的低电平部分是计数模块停止计数时间。
②锁存信号lock:当计数模块在1秒时间计数结束后产生一个送数信号,即把计数信号送进锁存器,高电平有效。
③清零信号clr:在每次计数模块开始计数前,清除模块内原先的计数值,使其为零,同样是高电平有效。
图l 电路原理框图
(2)电路设计
利用MAX+PIusII软件环境下建立VHDL语言输入文件设计控制信号产生电路,输入源程序如下:
①十进制计数电路
单元电路设计完成后,建立相应电路符号,在原理图输人方式下,将各单元电路符号按图1所示电路原理框图逻辑关系连接,通过保存、编译,确认正确无误后可以说完成了CPLD内部电路的设计。
逻辑功能仿真:创建波形编辑文件,保存为*.scf,得到仿真结果如图2。
经过器件选择,管脚锁定,编程下载等工作即可将设计项目下载至芯片,完成数字电路功能。
图2 电路的仿真结果
3. 结束语
显然,比起用卡诺图化简再用相应集成片连线搭接电路.利用EDA技术设计数字电路更为灵活方便,设计周期也大大减小。本设计采用自顶向下的设计方法,从系统总体功能出发分解出相应基本逻辑模块条理清晰,修改起来也更方便,可以说,EDA技术改变了传统数字系统设计方法、设计过程和设计观念,必将成为现代电子系统设计的核心。