您好,欢迎访问三七文档
简述用QuartusⅡ开发数字系统的过程1逻辑设计。首先要使用数字电路的基本设计方法设计数字系统,组合逻辑用组合逻辑的设计方法,时序逻辑用时序逻辑的设计方法。设计完成后,使用硬件描述语言(Verilog或VHDL)输入QuartusII进行综合。2.仿真验证阶段。编译无误后,使用调试工具(QuartusII自带的向量波形文件或ModelSim)对综合生成的结果进行仿真。首先进行功能仿真(FunctionalSimulation)以验证逻辑是否正确。功能仿真无误后,进行时序仿真(TimingSimulation)验证电路功能是否正常。3.下载调试阶段。时序仿真结果无误后,将生成的电路下载进入对应的FPGA或CPLD芯片中,进行管脚分配,所有工作完成后进行调试,若调试有误,则查找原因返回步骤1或步骤2修改设计;若调试无误则数字系统设计完成简述FPGA与CPLD在硬件结构上的区别?FPGA与CPLD的区别系统的比较,与大家共享:尽管FPGA和CPLD都是可编程ASIC器件,有很多共同特点,但由于CPLD和FPGA结构上的差异,具有各自的特点:①CPLD更适合完成各种算法和组合逻辑,FPGA更适合于完成时序逻辑。换句话说,FPGA更适合于触发器丰富的结构,而CPLD更适合于触发器有限而乘积项丰富的结构。②CPLD的连续式布线结构决定了它的时序延迟是均匀的和可预测的,而FPGA的分段式布线结构决定了其延迟的不可预测性。③在编程上FPGA比CPLD具有更大的灵活性。CPLD通过修改具有固定内连电路的逻辑功能来编程,FPGA主要通过改变内部连线的布线来编程;FPGA可在逻辑门下编程,而CPLD是在逻辑块下编程。④FPGA的集成度比CPLD高,具有更复杂的布线结构和逻辑实现。搜索答案⑤CPLD比FPGA使用起来更方便。CPLD的编程采用E2PROM或FASTFLASH技术,无需外部存储器芯片,使用简单。而FPGA的编程信息需存放在外部存储器上,使用方法复杂。⑥CPLD的速度比FPGA快,并且具有较大的时间可预测性。这是由于FPGA是门级编程,并且CLB之间采用分布式互联,而CPLD是逻辑块级编程,并且其逻辑块之间的互联是集总式的。⑦在编程方式上,CPLD主要是基于E2PROM或FLASH存储器编程,编程次数可达1万次,优点是系统断电时编程信息也不丢失。CPLD又可分为在编程器上编程和在系统编程两类。FPGA大部分是基于SRAM编程,编程信息在系统断电时丢失,每次上电时,需从器件外部将编程数据重新写入SRAM中。其优点是可以编程任意次,可在工作中快速编程,从而实现板级和系统级的动态配置。⑧CPLD保密性好,FPGA保密性差。⑨一般情况下,CPLD的功耗要比FPGA大,且集成度越高越明显。随著复杂可编程逻辑器件(CPLD)密度的提高,数字器件设计人员在进行大型设计时,既灵活又容易,而且产品可以很快进入市场。许多设计人员已经感受到CPLD容易使用、时序可预测和速度高等优点,然而,在过去由于受到CPLD密度的限制,他们只好转向FPGA和ASIC。现在,设计人员可以体会到密度高达数十万门的CPLD所带来的好处。CPLD结构在一个逻辑路径上采用1至16个乘积项,因而大型复杂设计的运行速度可以预测。因此,原有设计的运行可以预测,也很可靠,而且修改设计也很容易。CPLD在本质上很灵活、时序简单、路由性能极好,用户可以改变他们的设计同时保持引脚输出不变。与FPGA相比,CPLD的I/O更多,尺寸更小。如今,通信系统使用很多标准,必须根据客户的需要配置设备以支持不同的标准。CPLD可让设备做出相应的调整以支持多种协议,并随著标准和协议的演变而改变功能。这为系统设计人员带来很大的方便,因为在标准尚未完全成熟之前他们就可以著手进行硬件设计,然后再修改代码以满足最终标准的要求。CPLD的速度和延迟特性比纯软件方案更好,它的NRE费用低於ASIC,更灵活,产品也可以更快入市。CPLD可编程方案的优点如下:●逻辑和存储器资源丰富(CypressDelta39K200的RAM超过480Kb)●带冗余路由资源的灵活时序模型●改变引脚输出很灵活●可以装在系统上后重新编程●I/O数目多●具有可保证性能的集成存储器控制逻辑●提供单片CPLD和可编程PHY方案由于有这些优点,设计建模成本低,可在设计过程的任一阶段添加设计或改变引脚输出,可以很快上市CPLD的结构CPLD是属於粗粒结构的可编程逻辑器件。它具有丰富的逻辑资源(即逻辑门与寄存器的比例高)和高度灵活的路由资源。CPLD的路由是连接在一起的,而FPGA的路由是分割开的。FPGA可能更灵活,但包括很多跳线,因此速度较CPLD慢。CPLD以群阵列(arrayofclusters)的形式排列,由水平和垂直路由通道连接起来。这些路由通道把信号送到器件的引脚上或者传进来,并且把CPLD内部的逻辑群连接起来。CPLD之所以称作粗粒,是因为,与路由数量相比,逻辑群要大得到。CPLD的逻辑群比FPGA的基本单元大得多,因此FPGA是细粒的。CPLD的功能块CPLD最基本的单元是宏单元。一个宏单元包含一个寄存器(使用多达16个乘积项作为其输入)及其它有用特性。因为每个宏单元用了16个乘积项,因此设计人员可部署大量的组合逻辑而不用增加额外的路径。这就是为何CPLD被认为是“逻辑丰富”型的。宏单元以逻辑模块的形式排列(LB),每个逻辑模块由16个宏单元组成。宏单元执行一个AND操作,然后一个OR操作以实现组合逻辑。每个逻辑群有8个逻辑模块,所有逻辑群都连接到同一个可编程互联矩阵。每个群还包含两个单端口逻辑群存储器模块和一个多端口通道存储器模块。前者每模块有8,192b存储器,后者包含4,096b专用通信存储器且可配置为单端口、多端口或带专用控制逻辑的FIFO。CPLD有什麽好处?I/O数量多CPLD的好处之一是在给定的器件密度上可提供更多的I/O数,有时甚至高达70%。时序模型简单CPLD优于其它可编程结构之处在于它具有简单且可预测的时序模型。这种简单的时序模型主要应归功于CPLD的粗粒度特性。CPLD可在给定的时间内提供较宽的相等状态,而与路由无关。这一能力是设计成功的关键,不但可加速初始设计工作,而且可加快设计调试过程。粗粒CPLD结构的优点CPLD是粗粒结构,这意味著进出器件的路径经过较少的开关,相应地延迟也小。因此,与等效的FPGA相比,CPLD可工作在更高的频率,具有更好的性能。CPLD的另一个好处是其软件编译快,因为其易于路由的结构使得布放设计任务更加容易执行。细粒FPGA结构的优点FPGA是细粒结构,这意味著每个单元间存在细粒延迟。如果将少量的逻辑紧密排列在一起,FPGA的速度相当快。然而,随著设计密度的增加,信号不得不通过许多开关,路由延迟也快速增加,从而削弱了整体性能。CPLD的粗粒结构却能很好地适应这一设计布局的改变。灵活的输出引脚CPLD的粗粒结构和时序特性可预测,因此设计人员在设计流程的后期仍可以改变输出引脚,而时序仍保持不变。新的CPLD封装CPLD有多种密度和封装类型,包括单芯片自引导方案。自引导方案在单个封装内集成了FLASH存储器和CPLD,无须外部引导单元,从而可降低设计复杂性并节省板空间。在给定的封装尺寸内,有更高的器件密度共享引脚输出。这就为设计人员提供了“放大”设计的便利,而无须更改板上的引脚输出。3|帐号:密码:记住我的登录状态登录忘记密码注册百度账号,遨游知识海洋如何消除数字电路中的“毛刺”?在用PLD设计中可以采用的消除毛刺的办法.在同一块电路板上,由于信号线的走线过长而产生的高频毛刺我们可以通过在接近输入端串联一个100欧左右的电阻来滤除。但是对于板外信号,或者板内其他干扰造成较大的抖动时只好采用积分电路来滤波,即串一个电阻还要并一个电容接地。同样在VHDL中我们可以采用类似的办法,对于小于触发器建立时间的毛刺可以用时钟打一下实现滤波。但对于开关或按键抖动等较大的干扰,我们可以采用延时比较法或积分法,或者二者并用。比较法:这个方法很好理解,就是若干个时钟周期读取的数据相同时我们认为收到了一个稳定的数据,否则认为是过渡态。即采用若干位的移位寄存器,当寄存器是全'1'或全'0'时才开始读数。这种方法的缺点是,当干扰脉冲较宽时我们必须等比地扩大移位寄存器的比特,消耗较大资源。积分法:用一个增减计数器,当输入信号为'1'时计数器递增计数直到计数器全'1'停止计数、否则计数器递减计数直到全'0'停止计数。那么计数器的MSB即为输入信号的去抖信号。你也可以用时钟再加上一个速度较慢的使能来对输入信号计数。显然计数器的位数要求与要去抖的抖动脉冲宽度的对数关系。当然也可以二者结合,前端用几个比特的移位寄存器实现比较,比较结果作为计数使能来控制接下来的增减计数器的计数。这个是带使能端的3-8译码器,输出低电平有效!你可以参考一下!编程实现60进制的计数器,要求带复位清零,用CLR表示,高电平有效,输出带进位端,用CO表示是的。是用vhdl语言编写。libraryIEEE;useIEEE.std_logic_1164.all;entityls138isport(A:instd_logic_vector(2downto0);S1,S2,S3:instd_logic;Y:outstd_logic_vector(7downto0));endentity;architecturels138_archofls138issignals:std_logic_vector(2downto0);beginS=S1&S2&S3;process(A,S)beginY=(others='1');ifS=100thencaseAiswhen000=Y=11111110;--0when001=Y=11111101;--1when010=Y=11111011;--2when011=Y=11110111;--3when100=Y=11101111;--4when101=Y=11011111;--5when110=Y=10111111;--6when111=Y=01111111;--7whenothers=NULL;endcase;endif;endprocess;endarchitecturelibraryIEEE;useIEEE.std_logic_1164.all;useIEEE.std_logic_arith.all;useIEEE.std_logic_unsigned.all;entitycounter60isport(clk,clr:instd_logic;c:outstd_logic;bcd1:outstd_logic_vector(3downto0);bcd2:outstd_logic_vector(3downto0));endcounter60;architecturertlofcounter60issignalbcd1n:std_logic_vector(3downto0):=0000;signalbcd2n:std_logic_vector(3downto0):=0000;signalcn:std_logic:='1';beginbcd1=bcd1n;bcd2=bcd2n;c=cn;process(clk,clr)beginif(clr='1')thenbcd1n=0000;elseif(clk'eventandclk='0')thenif(bcd1n=1001)thenbcd1n=0000;elsebcd1n=bcd1n+1;endif;endif;endif;endprocess;process(clk,clr)beginif(clr='1')thenbcd2n=0000;elseif(clk'eventandclk='0')thenif(bcd1n=1001)thenif(bcd2n=0101)thenbcd2n=0000;elsebcd2n=bcd2n
本文标题:eda作业答案
链接地址:https://www.777doc.com/doc-2871596 .html