EDA仿真范文
EDA仿真范文(精选3篇)
EDA仿真 第1篇
关键词:EDA技术,Multisim9,Ultiboard,仿真
EDA技术是利用计算机工作平台,从事电子系统和电路设计的一项新技术,旨在协助电子设计工程师开发新的电子系统与电路、IC以及PCB产品,它的发展与应用引发了一场工业设计和制造领域的革命,给企业带来了巨大经济效益。早期的EDA有CDA,Protel等,主要是进行一些原理图、PCB图、IC版图等的绘制,包含一些较简单的仿真,将设计人员从繁琐计算、绘图和检验中解脱出来,而目前的EDA则步入了一个崭新的时期,这个时期微电子技术以惊人的速度发展,一个芯片上可以集成百万甚至千万个晶体管,电子系统朝着多功能、高速度、智能化、小型化的趋势发展,它们对集成电路和专用集成电路的容量、速度、频率等都提出了更高的要求,这种高难度的集成电路要在短时间内正确设计成功,就必须将EDA提高到一个更高的水平[1]。
该系统就是利用EDA开发工具Multisim9和Ultiboard软件,选取了一种简易的电池驱动玩具电动机器猫,进行设计、仿真和制作,将普通的电动玩具改装升级成能进行一定智能控制的玩具。
1 EDA介绍
EDA技术是利用计算机工作平台,从事电子系统和电路设计的一项新技术。它是由电子CAD发展起来的,是计算机信息技术,微电子技术,计算机图形学,电路理论,信号分析与信号处理等理论和技术的结晶。EDA与传统设计相比,其优点可归纳为:(1)设计效率高,设计周期短。(2)提高了设计质量。(3)降低设计成本。(4)充分发挥设计人员的创造性。目前市场上有很多的EDA软件,包括ORCAD/PSPICE、PCAD、PADS、EWB等。在实际电路设计中用得最多的是Electronics Workbench(EWB)系列EDA软件,包括Multisim电路仿真软件和Ultiboard印制板设计软件。Multisim9是一个完整的设计工具系统,提供了一个非常大的零件数据库,并提供原理图输入接口、全部的数模Spice仿真功能、VHDL/Verilog设计接口与仿真功能、FPGA/CPLD综合、RF设计能力和后处理功能。尤其是多种可放置到设计电路中的虚拟仪表,应用该软件用户就如同拥有了一个元器件种类齐全、仪器先进的电子实验室,可以进行仿真实验与产品设计。从而使电路仿真分析操作更符合电子工程技术人员的试验工作习惯[2]。
2 智能机器猫电路设计
简易电动猫玩具是当装入电池并接通开关后,由电池带动电动机,机器猫行走;点亮置于眼部的灯,双眼闪烁;触发音乐芯片,发出猫叫声。我们将该玩具的驱动部分进行改装,由简单的手动开关控制运动改为可以实现声控、光控和磁控。为了实现这一点首先要加入合适的传感器以获取外界信号,其次设计适当的电路对获取的信号进行处理,使它具有控制活动部分的能力,最后就是系统实验和调试。
利用Multisim9先对电路进行改装设计。声控、光控和磁控三种控制信号,分别采用驻极式麦克风、光敏三极管、干簧管来获取外界环境中的声、光、磁信号。驻极式麦克风是由一片很轻的振动膜及驻极电荷的背极板所组成,随着音波的流入使金属振动板振动时,振动板与电极板会随音波的振动产生距离上的变化,即静电容量的变化。这样,驻极式麦克风就将外界的声音信号转化为了电信号。光敏三极管由两个PN结组成,它的发射极具有光敏特性,集电极则与普通晶体管一样,可以获得电流的增益。当遇到光照时,集电极与发射极两极导通,实现了光信号转化为电信号。为避免外界自然光线对其的影响,选取了红外线接收管。干簧管是利用磁场信号来控制的一种线路开关器件,它由一对磁性材料制造的弹性舌簧组成,密封于玻璃管中,舌簧端面互叠留有一条间隙,触点镀有一层贵金属,玻璃管中还灌有一种叫金属铑的惰性气体。当有磁场靠近时,两个舌簧磁化,若生成的磁场吸引力克服了舌簧的弹性产生的阻力,舌簧被吸引力作用接触导通,即电路闭合。一旦磁场力消除,舌簧因弹力作用又重新分开,即电路断开,实现了将磁信号转化为电信号。整个电路的核心器件是555定时器,用555定时器构成的单稳态触发器,在三种不同的控制方法下,均给以低电平触发,促使电机转动,从而达到了机器猫停走的目的。原理图如图1所示。
3 电路仿真
利用Multisim9仿真软件输入以上电路原理图,并用仿真软件中的虚拟仪器-示波器仿真功能判断电路的正确性。如图2,仿真过程中分别用开关K1、K2、光耦合器模拟仿真声控、磁控和光控;灯泡代替电动机。每当按下其中一个开关时,灯泡即发光,一段时间后自动熄灭,相当于机器猫的“走停”过程。可通过调整C5、R6各自数值的大小改变电动机工作时间的长短。
由于Multisim9元件库里没有9014及8050型号的三极管,故用性能参数相近的2SC945和2N2222A代替做仿真。仿真电路元件清单如表1所示。
采用虚拟的数字存储示波器观察555芯片的6脚和3脚的波形,得到如图3所示的波形图。验证了单稳态的工作原理即:电源接通,若触发输入端施加触发信号2脚电压1/3VCC,触发器发生翻转,电路进入暂稳态,3脚输出为高电平,且图2中T1截止。此后电源通过电阻R6向电容C5充电,当VC5上升到2/3VCC时,触发器复位,3脚输出为低电平,T1导通,电容C放电,电路恢复至稳定状态[3,4]。
4 印制板设计
印制板设计软件采用Ultiboard软件。利用Multisim9完成电路原理图的设计、绘制和仿真后利用传输功能将数据传到Ultiboard会自动建立一个项目。然后根据需要设定设计规则,本电路中主要考虑使用Tools菜单的选Board Settings页,选择成对板层对数量为1,分别选择上面和底面单个板层数量为0,显示内电层数量为0;均选中允许两个基本布线层,即可布双面板。设置单位制和格点,使用Tools菜单的选Grid & units页。在Units区域的设置图纸的单位为英制单位mil。在Grids区域,设置可视格点距离为25mil;设置元件摆放格点距离为50mil,设置光标格点距离,即光标移动一步距离为25mil。
参照原理图移动元件形成布局图,使用Autoroute/place菜单的Internal Rip-up and Retry命令进入内置拆线-重试自动布线器窗口,直接选命令开始布线,程序会自动打开布线策略选择窗口,按OK钮开始自动布线,可以观察到双面自动布线效果[4,5]。如图4所示。
这样制作出的印制板再进行元器件组装,改装以后的智能机器猫具有机、电、声、光、磁结合的特点,是声控、光控、磁控机电一体化电动玩具,即:拍手即走、光照即走、磁铁靠近即走,但只是持续一段时间后就会停下,再满足其中一个条件时将继续行走,成为能进行一定智能控制的电动玩具。
5 结语
随着电子技术的不断发展,特别是大规模可编程器件的出现改变了传统的数字系统设计方法,基于EDA技术的设计方法正在成为现代电子系统设计的主流。EDA技术是电子信息技术发展的杰出成果,利用计算机进行设计、分析、仿真、制造等工作,最大限度地降低成本、节省时间以及提高可靠性。升级后的智能机器猫不仅硬件成本低,而且趣味性强、能动性好,给企业带来了巨大经济效益。
参考文献
[1]潘松,黄继业.EDA技术实用教程.北京:科学出版社,2002
[2]王紫婷.EDA技术及应用.兰州:兰州大学出版社,2003
[3]韦思健.电脑辅助电路设计——Mu ltisim2001电路实验与分析测量.北京:铁道出版社,2002
[4]钱培怡,李悦.电子工艺实训教程.北京:中国石化出版社,2009
[5]李冬梅.PLD器件与EDA技术.北京:北京广播学院出版社,2000
EDA仿真 第2篇
新一代运载火箭的惯性器件及加速度计的输出均为脉冲信号,通过对这些装置输出脉冲信号数目的读取,可获得运载火箭的姿态和运动参数。本文设计的多通道箭上脉冲信号计数系统是用于采集和计算来自箭上的多个脉冲信号的脉冲数目,通过对脉冲数目的读取,为控制系统提供精确的运载火箭状态信息。VHDL(Very High Speed Integrated Circuit Hardware Description Language)是美国国防部于20世纪80年代初推出的标准硬件描述语言,具有很强的行为描述能力,丰富的仿真语句和库函数,具有支持大规模设计的分解和己有设计的再利用功能,对设计的描述具有相对独立性等众多优点[1]。
本文基于VHDL语言和Acte1公司的APA300芯片,设计32通道16位二进制的脉冲信号计数系统,该系统每隔40ms通过数字I/O卡cPCI7200将计数结果传给上位机,实现对多路箭上脉冲信号的采集计数。该系统具有体积小、速度快、可靠性高、功耗低、开发周期短等特点[2,3]。
1 系统工作原理与组成
本系统在Libero IDE软件开发环境下,利用VDHL语言对可编程逻辑阵列APA300芯片进行编程,使系统按照图1所示的工作流程进行工作。箭上的32路脉冲信号经过电压调理电路调理到合适的电压范围后,接入脉冲信号计数系统,系统对来自32个通道的脉冲信号进行独立计数,并每间隔一段时间(暂定40ms)将计数结果读入到存储器中供cPCI7200读取,cPCI7200最终将计数结果读入上位计算机进行存储处理。
脉冲计数系统主要由箭上输入脉冲信号、脉冲信号隔离调理电路、APA300、cPCI7200和上位机组成(见图2)。本文主要讨论对FPGA芯片APA300的功能设计与仿真。
由图2可知,APA300实现的功能模块主要包括32个独立的16位二进制计数器和相应的存储器。系统定时将计数器的计数结果送到存储器中锁存,并通过与工作在握手模式(Handshaking Mode)下的cPCI7200进行通信,将相应存储单元的数据放到数据总线上,由cPCI7200读入上位计算机。系统的数据存储器由静态随机存储器SRAM构成,在FPGA中,SRAM由锁存器阵列组成,它根据地址信号,经由译码电路选择欲进行读写操作的存储单元。本设计中,SRAM具有5bit地址线、16bit输入数据线和21bit (地址和数据一并输出)输出数据线,即它的存储空间为3216bit。在数据写入过程,当锁存控制信号满足条件时,SRAM便将外部32个计数器的16位数据锁入指定地址的SRAM单元中。而在数据读出过程,当数据读出条件满足时,SRAM便将指定地址的SRAM单元中的数据通过端口输出到DataBus上,等待被cPC17200读出,此时其他SRAM单元的输出端口呈高阻态。
2 FPGA功能模块的设计与实现
根据系统功能要求,本设计的F PGA功能模块主要包括32个16位二进制计数器、分频器、异常状态处理模块、16位的SRAM以及相应的数据读写模块等几部分,其中计数器模块通过直接调用系统的基本模块生成,其他模块均采用VHDL语言设计。
2.1 分频器模块的设计
分频器模块的主要功能是对系统时钟信号进行分频,产生时间间隔为40ms的写允许信号[4]。系统的时钟信号由8MHz的晶振产生,因此,要产生40ms的写允许信号,需要对系统时钟进行320000分频。分频器的输出信号接于SRAM的锁存使能端,用于对SRAM进行锁存控制。
分频器模块由VHDL语言设计实现,部分程序如下所示[5]:
从程序可以看出,分频器生成周期为40ms的方波信号flag0,从分频开始到flag0的下降沿处,时间为40ms,因此选取flag0的下降沿作为SRAM的数据写入允许信号。
2.2 数据写入模块的设计
数据写入模块的设计非常简单,系统启动后,系统复位信号首先输出高电平用以上电复位,并将32个计数器清零,当复位信号为低电平时,计数器和分频器同时启动,当分频器计时到40ms时,flag0的下降沿触发数据写入进程,SRAM解锁,并将32个计数器的计数值写入到指定地址单元中。数据写入完成后,数据将被锁存在SRAM中,同时写入进程发出写入结束信号wr_end=1,用以启动数据读出模块开始进行数据读出操作。
2.3 数据读出模块的设计
数据读出进程接收到信号wr_end后,会将相应地址单元的数据放到数据总线DataBus上,并向cPCI7200发出REQ读出请求信号。在cPCI7200握手模式下,系统对数据读出时序关系要求(见图3)。当接收到APA300发出的REQ=1后,cPCI7200开始将DataBus上的数据读入自身FIFO中,读出结束后,向APA300发出握手信号ACK=1,表示当前数据读出过程完成,APA300接收到握手信号后,将REQ置为低电平,而cPCI7200收到REQ=0后,将ACK信号置为低电平,并准备开始下一个数据的读取。当所有32个地址单元的数据读出过程结束后,数据总线置高阻状态,地址置为首地址0000,等待进行下一个40ms计数数据的读出过程。
本设计采用Moore状态机的方法对数据读出模块进行设计,数据读出过程的状态转移关系(见图4)。
当系统的计数时间不足40ms数据写入尚未完成时,wr_end=0,数据读出进程处于st0等待状态。当系统完成计数数据写入,并发出wr_end=1信号时,数据读出模块开始进行初始化,将读数据的地址指向初始地址0000,同时将读出请求信号REQ置0,并在下一时钟上升沿进入st1状态。在st1状态,若cPCI7200的握手信号ACK=0,则将指定地址单元的数据输出到DataBus总线上,并进入下一状态st2,若ACK=1,则说明cPCI7200在读数据的过程中出现异常,在等待一个设定的“正常读出周期”后,按照异常情况处理,在下一时钟上升沿进入st0状态。在st2状态,系统向cPCI7200发出REQ=1读出请求信号后进入st3状态。在st3状态,若cPCI7200的握手信号ACK=1,说明cPCI7200已经读出放在数据总线DataBus上的数据,可以转入下一状态st4,并将读出请求信号REQ置零。如果ACK=0,则继续在st3状态等待cPCI7200读取数据,在等待一个“正常读出周期”后若ACK仍然为0,则视cPCI7200读数据过程异常,并按照异常情况处理过程在下一时钟上升沿将系统转入st0状态。在st4状态,系统对输出数据的地址进行检查,若输出地址已经指向最后一个地址,即addr=1111,系统转入st0,等待读取下一个40ms的计数数据。否则,地址加一并进入st1,进行下一个地址单元数据的读出过程。
数据读出模块的部分程序如下所示:
状态的转移由系统时钟信号clk实现同步。
2.4 异常情况处理设计
在系统使用过程中,可能会发生cPCI7200由于某种原因而无法在设计时间内读出数据的情况,此时系统将会陷入死循环,无法提供有效的箭上脉冲信号计数数据。为保证系统在使用过程中的可靠性,需要通过程序设计对系统工作过程中可能出现的异常情况进行处理:当上述异常情况发生时,由系统向数据读出模块发出“数据读出超时”指令,将数据读出地址强制置零,并开始重新进行数据读出操作。
通过对时钟周期进行类似3.1节的分频,生成一个计时器,计时周期设定为一个固定的“正常读出周期”。由于在正常的数据读出过程中,从开始进入数据读出进程到将某一指定地址单元的数据读出,需要的时间为5个clk周期,即约625ns,读完全部32个地址的时间为160个clk周期。考虑到数据接收时间的不确定性,适当放宽读数时间,将“正常读出周期”的最长允许时间设置为320个clk周期即40μs。计时器在每次读数操作开始时启动,若数据读出进程能够在“正常读出周期”40μs内完成,则视系统工作正常。当数据读出进程的工作时间超过40μs时,则视为异常情况出现,此时,系统将使数据读出进程放弃当前的读数操作,并将读出数据地址强制置为初始地址00000,重新开始进行读数据操作。中止传输只影响本次上传数据,不影响计数器累计数据,在下次接收时即可获得正确数据。
对异常情况处理的程序设计主要结合在数据读出模块中进行设计,在状态st1和st3对cPCI7200握手信号ACK的有效信号进行循环等待,若超时则转入状态st0。
由于异常情况处理过程的加入,当异常情况发生时,输出到数据总线的数据顺序将会发生改变,为保-证上机位在数据处理过程中能够对来自不同输入端口的数据进行区分,在SRAM进行数据输出时,将数据读出操作时的地址信息也同时放到数据总线上,即DataBus<=addr&s_ram(addr)。
3 功能仿真与测试
在Libero IDE软件环境下,经过完整的系统编译后,利用WaveFormer Lite软件编制信号激励文件,并保存为*.btim格式和*.vhd格式,关联到ModelSim软件中即可对设计的装置进行系统仿真测试,本系统部分仿真波形(见图5)。
从图中可以看到,系统置零信号RESET为低电平,此时各计数器处于计数状态,在40ms之前,DataBus处于高阻态。在40ms时,flag0下降沿到来,系统在向SRAM写入计数器数据后便会发出wr_end=1信号,触发数据读出进程,数据读出进程在下一个时钟周期的上升沿转入st0状态进行初始化。在下一个时钟周期即st1状态,系统向DataBus放置SRAM地址0000和该地址中的数据,等待cPCI7200读取。此后的一个时钟周期,系统向cPCI7200发出读出请求信号REQ=1。cPCI7200在数据读出结束后发送握手信号ACK=1,随后REQ、ACK分别置零,地址加一,并进入对地址0001读取的过程。通过对仿真输出分析,可以验证本文设计的脉冲信号计数系统是正确的,波形仿真完全符合设计要求。
4 结束语
本文采用EDA的设计方法,详细论述采用VHDL语言进行多通道箭上脉冲信号采集计数的设计方法,并在计算机上进行系统仿真。
针对火箭姿控信号采集过程中,多通道数据采集、高采样精度、高采样速度的需要,利用FPGA设计实现脉冲计数器的计数、时钟分频、计数数据读取控制与异常状态处理等功能。系统采用FPG A作为逻辑控制中心,利用其内部丰富的逻辑资源,提高系统的集成程度和可靠性,同时,由于VHDL语言编程的灵活性,使得系统具有很强的扩展性和移植性,为将来系统功能的改进和完善提供便利。
参考文献
[1] 黄正谨.CPLD系统设计技术入门与应用[M],北京:北京电子工业出版社,2002
[2] 廖丹,杨建强.XC3S400AN在四频差动激光陀螺脉冲信号计数中的应用[J],电光与控制,2009,16(9) :60~62
[3] 杨林楠,李红刚,张丽莲等.基于FPGA的高速多路数据采集系统的设计[J],计算机工程,2007,33(7) :246~248
[4] 白焕旭.CPLD器件在脉冲计数式数据采集系统中的应用[J],测控技术,2005,24(2) :68~70
EDA仿真 第3篇
关键词:译码器,EDA仿真技术,实践教学,计算机组成原理
《计算机组成原理》是计算机科学与工程技术类专业的一门核心基础课程, 是学习计算机硬件系统的关键课程, 计算机组成原理涉及的知识面宽, 概念抽象, 无论对其理论教学还是实践教学都提出了新的挑战。计算机组成原理实践教学能够加深学生对所学理论知识的理解, 对于培养分析问题和解决问题的能力、独立思考能力、增强实践动手能力、提高科技创新意识等各方面都是非常有用的[1,2]。随着电子技术的不断发展、更新换代, 数字系统的设计方法也在日益改进, 传统手工设计繁琐的、机械化的过程已经被先进的EDA工具所取代, 计算机作为一个典型的复杂数字系统其设计方法、过程逐显自动化、智能化特征。笔者通过把先进的EDA仿真技术引入计算机组成原理实践教学, 不仅可以解决其实践教学所面临的问题, 更有利于培养学生的创新精神和实践动手能力, 因此, 通过引入先进的EDA仿真技术, 为计算机组成原理实践教学改革提供新的思路。
1《计算机组成原理》实践教学的现状
《计算机组成原理》课程实验一般采用的是现成的计算模型实验系统, 这类实验系统已将CPU的各个组成部件部做好, 学生按要求连线、拨动开关或编写微程序就能完实验。该类系统对提高学生的动手能力、提高学生对计算整体和各组成部分的理解、提高学生的计算机综合设计能有很大帮助。但是在实验过程中, 也发现这种实验方法局限性较大, 器件的扩展相对困难, 学生的设计难以突破实验的限制[3]。加之受实验时间、空间的限制, 部分学生匆忙中按照实验中安排的步骤完成电路连接, 对电路中功能部件的工作机理缺乏必要的思考。这样做实验无法真正做到理论与实践的联系, 无法有效地提高学生的创新精神, 更不便于学生做自主型实验、综合型实验和创新型实验。其次, 基于计算模型的实验系统不仅价格高昂, 而且高校每年要划拨部分的维护、更新费用, 给本来教学经费并不宽裕的高校带来了现实困难。
2 EDA仿真技术的引入
EDA (Electronic Design Automation) 仿真技术作为现代电子设计的核心技术, 是现代集成电路及电子整机系统设计科技创新和产业发展的关键技术, 是电子技术的前沿与发展方向[4,5]。它是以计算机为工作平台, 融合应用电子技术、计算机技术、智能化技术最新成果而研制成的电子CAD (Computer Aided Design) 通用软件包, 主要能辅助以下几方面的工作:电子电路设计、电子电路仿真、PCB (Printed Circuit Board) 设计, CPLD (Complex Programmable Logic Device) /FPGA (Field Programmable Gate Array) 设计等[6,7,8]。在《计算机组成原理》实践教学中引入先进的EDA技术, 可以在一定程度上解决上述难题, 为《计算机组成原理》实验教学带来新气息, 从而有效提高学生的学习效果。
3 利用EDA技术进行实验的流程
该文所选择的EDA仿真技术工具是Quartus II软件平台, 它是由全球最大的可编程逻辑器件供应商Altera公司研制的CPLD/FPGA开发集成环境。Quartus II在21世纪初推出, 是Altera第三代CPLD/FPGA集成开发环境、被公认最易使用、人机界面最友善的MAX+plus II的更新换代产品。Quartus II提供了EDA设计的综合开发环境, 支持EDA设计的设计输入、编译、综合、布局、布线、时序分析、仿真、编程下载等设计过程。Quartus II支持多种编辑输入法, 包括图形编辑输入法, VHDL (Very High Speed Integrated Circuit Hardware Description Language) 、Verilog HDL和AHDL (Altera Hardware Description Language) 的文本编辑输入法, 符号编辑输入法, 以及内存编辑输入法[6,7]。
Quartus II集成开发环境在计算机组成原理实验中不仅可以进行运算器、译码器、存储器等部件单元实验设计, 还可以进行综合实验设计, 包括CPU设计, 基本模型机设计等, 充分体现了自主和自动设计风格。由于Quartus II软件平台支持图形编辑输入法, 也即原理图输入法。因此只用少量学时进行软件基本功能操作培训, 大多数学生都能够掌握采用原理图输入设计法进行部件设计、逻辑功能验证等。
应用Quartus II的原理图输入法设计电路或可编程器件的一般流程[9,10,11]:
(1) 建立设计工程, 使用原理图编辑器编辑输入图形设计文件;
(2) 编译设计文件, 其过程包括分析与综合、适配、编程和时序分析4个环节;
(3) 仿真设计文件, 其需要经过建立波形文件、波形文件存盘、运行仿真器和分析波形等主要过程。其中Quartus II仿真分为功能仿真和时序仿真;
(4) 编程、配置设计文件, 其具体是指将设计处理中产生的编程数据文件通过Quartus II放到具体的可编程逻辑器件中去的过程。
4 EDA仿真技术在计算机组成原理实践教学中的简明应用范例
译码器是计算机组成部件中非常重要的元器件, 凡是互斥发生、多种情况选一的问题, 在计算机中都要用到译码器[12]。译码是编码的逆过程, 它的功能是对具有特定含义的二进制码进行辨别, 并转换成控制信号, 具有译码功能的逻辑电路称为译码器。译码器分为两种类型, 一种是将一系列代码转换成与之一一对应的有效信号, 这种译码器可称为唯一地址译码器, 通常用于计算机中对存储单元地址的译码。另一种是将一种代码转换成另一种代码, 也称代码变换器[10]。
下面在Quartus II平台上, 以最基本电子元器件非门、与非门为起始点, 设计2线-4线译码器, 完成仿真与测试, 并把它存放到基本元件库中, 在此基础上, 再扩展成3线-8线译码器。通过这两个紧密联系的典型范例来介绍EDA仿真技术的设计过程, 同时也展示了Quartus II支持用户自定义元件的强大功能。
4.1 2线-4线译码器设计
2线-4线译码器含两个状态输入端A和B, 这两个输入端有4种二进位的组合状态, 即00、01、10和11, 根据这些组合状态分别控制Y0、Y1、Y2和Y3输出端状态。有时为使用方便, 再加上1个E (Enable) 作为使能控制端[13]。2线-4线译码器的符号、输入与输出的逻辑关系见表1。
4.1.3 建立设计工程Decoder, 输入图形设计文件
在Quartus II平台上, 利用原理图编辑器, 从Quartus II元件库中选择相应元件并加以布线, 完成2线-4线译码器原理图设计, 如图1所示。
4.1.4 编译设计文件
在Quartus II平台上, 对2线-4线译码器原理图文件进行编译, Quartus II会自动显示编译过程中的各种信息, 其中可能包括警告和出错信息。如报告错误信息, 要根据其提示对原理图进行修改, 并重新编译, 直至没有错误提示。
4.1.5 仿真设计文件
在设计工程Decoder中, 为2线-4线译码器原理图新建Vector Waveform File, 通过添加端口或节点, 再编辑输入信号并保存波形文件, 最后进行功能仿真或时序仿真。2线-4线译码器的功能仿真波形图, 如图2所示。通过功能仿真波形图可知, 我们设计的2线-4线译码器功能与电路的逻辑功能完全一致, 达到了预期设计要求。
4.1.6 编程、配置设计文件
这一步由于需要可编程逻辑器件的开发板或试验开发系统的支持, 有条件的高校可以进一步实施, 甚至可以进行硬件的调试和验证。
通过设计、仿真和验证, 我们开发的2线-4线译码器功能是正确的, 达到了预期设计要求, 考虑到后续设计可能会用到此类元件, 我们把2线-4线译码器添加到元件库中, 并命名为2-4dec元件。这样就提高了设计的灵活性、自主性和效率。
4.2 3线-8线译码器设计
3线-8线译码器含3个状态输入端A0、A1和A2, 这3个输入端有8种二进位的组合状态, 即000、001、010、011、100、101、110和111, 根据这些组合状态分别控制Y0、Y1、Y2、Y3、Y4、Y5、Y6和Y7输出端状态。有时为使用方便, 再加上1个G作为使能控制端[13]。3线-8线译码器的符号、输入与输出的逻辑关系见表2。
在工程Decoder中, 建立Block Diagram/Schematic File, 利用原理图编辑器, 从Quartus II元件库中选择我们先前自定义的2-4dec元件以及与非门、非门等元件并加以布线, 完成3线-8线译码器原理图设计, 如图3所示。
最后通过编译、仿真等流程完成对3线-8线译码器的设计, 其功能仿真波形图如图4所示。分析波形图可知, 3线-8线译码器的设计达到了预期的功能要求。
通过以上两个简洁的、彼此关联的设计范例可以看到在EDA软件Quartus II平台上, 我们能够从最基本的元件开始, 自然扩展实地设计出计算机的组成部件, 并加以仿真、测试分析和验证。在实践教学过程中引入EDA设计过程, 将使学生对计算机的组成及其底层工作原理有非常透彻的、直观的理解和领悟, 同时也巩固了逻辑电路的相关知识。Quartus II平台提供的是虚拟元件和仪器, 学生在实验中就不存在损坏实验器件和仪器的可能, 使学生可以放开手脚大胆地做实验。另一方面, 由于EDA技术的引入, 学生在实验课上完不成的实验, 可以存盘后利用课余时间继续在自己的计算机上完成, 这种在时空和设计自主性方面给学生所带来的自由度是传统实验教学模式无法比拟的。
5 结束语
EDA仿真范文
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。