EDA复习要点全_第1页
EDA复习要点全_第2页
EDA复习要点全_第3页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、主要知识点1、从执行方式看VHDL的描述语句包括那些描述语句?用VHDL言进行设计时,按描述语句的执行顺序进行分类,可将VHDL句分为顺序执行语句(Sequential)和并行执行语句(Parallel)。2、目前流行的硬件描述语言有那些?常用的硬件描述语言有ABEL-HDLAHDL.VHD即Verilog-HDL.而VHDL和Verilog-HDL是当前最流行的并成为IEEE标准的硬件描述语言。3、MAX+PLUS2各种文件的扩展名有哪些?*.vhd*.sym*.gdf*.scf4、基于MAX+PLUS2设计流程设计输入、编译处理、验证(包括功能仿真、时序仿真、和定时分析)和器件编程5、目前

2、较流行的EDA设计软件有那些?ALTER恣司:MAX+PLUSIIQUARTUSII(全新的ED/件,正在逐步替代MAX+PLUS)LATTICE莱迪思公司:ispEXPERTSYSTEMispDesignExpertSYSTEMXILINX西林公司:FOUNDATIONISE(全新的EDA软件,正在逐步替代FOUNDATIQN6、可编程逻辑器件的分类?按照变成工艺分哪些类?SPLD简单可编程逻辑器件CPLD复杂可编程逻辑器件FPGA现场可编程门阵列ISP在系统(线)可编程逻辑器件按编程工艺分为:熔丝开关(一次可编程,要求大电流)可编程低阻电路元件(多次编程,要求中电压)EPROI(紫外线擦除

3、电可编程逻辑器件)EPROM1(电可擦写编程器件)基于SRAM勺编程元件7、VHDL程序设计中常用的库有那些?哪些库是显式(默认打开的)的,哪些是隐式的?P159VHDL程序设计的常用库:IEEE库、STD库、WOR阵、VITAL库、用户定义库。显示库:IEEE库用户定义库VITAL库隐式库:、STD库、WOR炸8、程序包由那两部分组成?分别有什么作用?P161程序包由两部分组成:程序包首和程序包体,程序包首为程序包定义接口,声明包中的类型、元件、函数和子程序。程序包体规定程序包的实际功能,存放说明中的函数和子程序。9、常用的预定义程序包有哪些?如何调用?P163常用的预定义的程序包:STD_

4、LOGIC_1164i序包、STD_LOGIC_ARIT曜序包、STD_LOGIC_UNSIGNEDSTD_LOGIC_SIGNED序包、STANDARDTEXTIO程序包。10、目前国际上较大的EDA器件制造公司有那些?ALTER恣司、LATTICE莱迪思公司、XILINX西林公司11、VHDL常用的预定义数据类型有哪几种,分别在哪些程序包中?如何调用?答:布尔(BOOLEAN数据类型,位(BIT)数据类型,位矢量(BIT_VECTOR数据类型,字符(CHARACTE啾据类型。12、数据类型的转换有哪几种方法?P114函数转换法、类型标记转换法和常数转换法。13、可以构成标识符的字符有?有效

5、的字符:(1)包括26个大小写英文字母,数字09以及下划线“_”。(2)任何标识符必须以英文字母开头。(3)必须是单一下划线_,且其前后都必须有英文字母或数字。(3)标识符中的英文字母不分大小写。(4)允许包含图形符号(如回车符、换行符等),也允许包含空格符。(5)VHDL的保留字不能用于作为标识符使用。14、可编程器件(PLD)分为哪两类?答:根据编程特性分为一次编程和重复编程两类15、标准逻辑位数据类型常用的数值有哪几种?U-未初始化的,X-强未知的,0-强0,1-强1,Z-高阻态,W-弱未知的,L-弱0,H-弱1,-忽略。16、完整的条件语句将产生什么电路,不完整的条件语句将产生什么电路

6、?完整的条件语句将产生组合电路,不完整的条件语句将产生时序电路17、信号和变量有什么区别?P121(1)信号赋值至少有3延时,而变量赋值没有延时。(2)信号除当前值外有许多相关的信息,而变量只有当前值。(3)进程对信号敏感而对变量不敏感。(4)信号可以是多个进程的全局信号;而变量只在定义它们的顺序域可见(共享变量除外)。(5)是硬件中连线的抽象描述,它们的功能是保存变化的数据和连接子元件,信号在元件的端口连接元件。变量在硬件中没有类似的对应关系,它们用于硬件特性的高层次建模所需要的计算中。(6)信号赋值和变量赋值分别使用不同的赋值符号“连接端口名,.);29、试比较图形输入法和文本输入法有何优

7、缺点?30、结构体的语言格式与作用ARCHITECTUREOF实体名IS(说明语句)用来说明和定义数据对象,类型等,可省略BEGIN(功能描述语句)用来描述内部电路功能的,不可省略ENDARCHITECTURE;结构体用来描述设计实体的结构或行为,即描述一个实体的功能,把设计实体的输入和输出之间的联系建立起来。31、写出PROCESS句结构的一般表达格式?PROCESS语句格式PROCESS语句的表达格式如下:进程标号:PROCESS(敏感信号参数表)IS进程说明部分BEGIN顺序描述语句ENDPROCESS进程标号;32、进程语句的设计(或使用)要点?P140(1)虽然同一结构体中的进程之间

8、是并行运行的,但同一进程中的逻辑描述语句则是顺序运行的,因而在进程中只能设放置顺序语句。(2)进程的激活必须由敏感信号表中定义的任一敏感信号的变化来启动,否则必须有一显式的WAIT语句来激活。(3)结构体中多个进程之所以能并行同步运行,一个彳艮重要的原因是进程之间的通信是通过传递信号和共享变量值来实现的。(4)进程是重要的建模工具。进程结构不但为综合器所支持,而且进程的建模方式将直接影响仿真和综合结果。33、并行信号赋值语句有哪几种?其语句格式为何?1)简单信号赋值语句赋值目标=表达式;2)条件信号赋值语句赋值目标=表达式1WHEN赋值条件1ELSE表达式2WHENM值条件2ELSE.表达式n

9、;3)选择信号赋值语句的语句格式如下:WITH选择表达式SELECT赋值目标信号=表达式1WHEN选择值1,表达式2WHEN选择值2,.表达式nWHEN选择值n;34、EDA技术常用的输入方法有?原理图输入HDL文本输入eda设计输入的三种形式:原理图输入,状态输入,波形输入35、什么是实体和结构体,其功能是什么?实体是一个设计实体的表层设计单元,其功能是对这个设计体与外部电路进行接口描述。它规定了设计单元的输入输出接口信号或引脚,是设计实体经封装后对外界的一个通信界面。结构体用来描述设计实体的结构或行为,即描述一个实体的功能,把设计实体的输入和输出之间的联系建立起来。36、MAX+pulsH

10、的原理图输入法、文本输入法、波形输入法生成的文件扩展名为?原理图输入法生成的文件扩展名为*.gdf文本输入法生成的文件扩展名为*.vhd波形输入法生成的文件扩展名为*.scf37、VHDL的操作符有那几大类?每一类的操作符分别是什么?每一类操作符可以对那些数据进行操作(运算)?见最后的图38、VHDLB作符的优先级?最后的图39、结构体常见的功能语句有那些?信号(SIGNA)、数据类型(TYPE、常数(CONSTANT元件(COMPONENT函数(FUNCTION和过程(PROCEDUR尊加以说明的语句。40、子程序分为那两类,其结构为什么。P152-153子程序包括过程和函数,包括过程(可单

11、独存在,多个返回值,有输入/出、双向参数,一般看做一种语句结构)和函数(作为语句的一部分调用,一个返回值,所有参数都是输入参数,看作表达式的一部分),可在VHDL勺结构体或程序包中任何位置调用子程序。41、VHDL的标识符由什么构成。.同13题42、CAS耶句的一般形式?在使用当中的注意事项。P125-126CASEj句的一般形式为:CASE表达式ISWHEN直1=语句A;WHEN直2=语句B;.WHENOTHERS裁句C;ENDCASE注意事项:(1)WHE隰件句中的选择值或标识符所代表的值必须在表达式的取值范围内。2)除非所有条件句中的选择值能完整覆盖CASE吾句中表达式的取值,否则最后一

12、个条件句中的选择必须用关键词OTHERS!示以上已列的所有条件句中未能列出的其它可能的取值。(3)CASE句中的选择值只能出现一次,不允许有相同选择值的条件语句出现。(4)CASE句执行中必须选中,且只能选中所列条件语句中的一条。43、试着比较IF和CAS胡句的差异?P127与IF语句相比,CASEi句组的程序可读性比较好,这是因为它把条件中所有可能出现的情全部列出来了,可执行条件比较清晰。而且CASE程序的执行过程不像IF语句中那样有一个逐项条件条件顺序比较的过程。CASE吾句中条件句的次序是不重要的,它的执行过程更接近于并行方式。但是在一般情况下,经过综合后,对相同的逻辑功能,CAS胡句比

13、IF语句的描述耗用更多的硬件资源,而且有的逻辑功能CASE句无法描述,只能使用IF语句来描述.44、FOF环语句的一般形式?P127FOR!环语句的一般形式为:循环标号:FOR循环变量IN循环次数范围LOOP顺序处理语句ENDLOOP环标号;45、VHDL数据对象有哪几种?P101在VHDL中,数据对象有三种(1)常量(CONSTANT(2)变量(VARIABLE(3)信号(SIGNAL。46、变量和信号的区别?P105同18题47、赋值语句分哪些类,分别写出一句赋值语句。赋值语句分为信号赋值语句和变量赋值语句。变量赋值语句和信号赋值语句的语法格式如下:变量赋值目标:=赋值源;信号赋值目标=赋

14、值源;48、实现时序电路和逻辑组合电路分别用什么语句实现,分别写出他们的一般表式。完整的条件语句将产生组合电路,不完整的条件语句将产生时序电路完整的条件语句格式:49、写出实体、结构体的一般语句结构并说明其作用。50、简述VHDL5顺序语句有哪些?1、赋值语句2、转向控制语句3.WAIT语句4、子程序调用语句5、返回语句6、NULL语句7.其他语句51、简述VHDL5并行语句有哪些?1、进程语句2、并行信号赋值语句3、块语句结构(BLOCK4、并行过程调用语句5、元件例化语句6、生成语句52、试写出三种IF语句的语句结构。IF语句是一种条件语句,它根据语句中所设置的一种或多种条件,有选择地执行

15、指定的顺序语句,常见的IF语句有以下3种形式。(1)IF条件THEN语句ENDIF;(2)IF条件THEN语句ELSE语句ENDIF;53 (3)IF条件THEN语句ELSIF条件THEN语句ELSE语句ENDIF;转向控制语句有哪几种?P12354 转向控制语句共有五种:(1)IF语句(2)CASE吾句(3)LOO序句(4)next语句(5)exit语句什么是重载操作符?常用的重载操作符定义在那个程序包中?55 为了方便各种不同数据类型间的运算,VHDL允许用户对原有的基本操作符重新定义,赋予新的含义和功能,从而建立一种新的操作符,这就是重载操作符。常用的重载操作符程序包:STD_LOGIC

16、_UNSIGNEDSTD_LOGIC_ARITHSTD_LOGIC_SIGNED什么是重载函数,什么是重载过程56 同样名称的函数可以用不同的数据类型作为此函数的参数定义多次,以此定义的函数称为重载函数VHDL设计的有限状态机从信号输出方式上分为哪两类?主要区别是什么?有限状态机从信号输出方式上分为Mealy(米立)型和Moore(摩尔)型两种状态机。?57 一般有限状态机的的组成有哪几部分?一般的状态机通常包含说明部分、时序进程、组合进程、辅助进程等几个部分。58 VHDL的描述风格有哪几种?行为描述、数据流描述和结构描述第四章习题答案2VHDL的基本结构是什么?各部分的功能分别是什么?答:

17、参考课本77页,最下面一段。4、写出3输入与非门的实体描述。ENTITYnand_3ISPORT(a,b,c:INSTD_LOGIC);q:OUTSTD_LOGIC);ENDnand_3;5、例4-1是2选1的多路选择器的VHDU苗述,在结构体的描述中使用了“WHEN-ELSE语句,但也可以用其他语句来进行描述,试描述之。用IF语句描述:ENTITYmux21aISPORT(a,b:INBIT;s:INBIT;q:OUTBIT);ENDmux21a;ARCHITECTUREoneOFmux21aISBEGINPROCESS(a,b,s)BEGINq=a;ELSEq=b;ENDIF;ENDPRO

18、CESS;ENDone;6、试写出4选1多路选择器的VHDLj苗述。选择控制信号为s1和s0,输入信号为a,b,c,d,输出信号为y。也可以参考P125页,例5-9那样使用IF语句LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYmux4_1ISPORT(a,b,c,d,s0,s1:INSTD_LOGIC;y:OUTSTD_LOGIC);ENDmux4_1;ARCHITECTUREbehaveOFmux4_1ISSIGNALsel:STD_LOGIC_VECTOR(1DOWNTO0);BEGINselyyyynull;ENDCASE;ENDPROCESS

19、;ENDbehave;7.试给出1位全减器的VHDU苗述,要求首先设计1位半减器,然后用例化语句将它们连接起来。设x为被减数,y为减数,sub_in是借位输入,diff是输出差,sub_out是借位输出。-半减器描述LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYh_subISPORT(a,b:INSTD_LOGIC;co,so:OUTSTD_LOGIC);ENDENTITYh_sub;ARCHITECTUREfh1OFh_subISBEGINso=aXORb;co-或门描述LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;

20、ENTITYor2aISPORT(a,b:INSTD_LOGIC;c:OUTSTD_LOGIC);ENDENTITYor2a;ARCHITECTUREoneOFor2aISBEGINc=aORb;ENDARCHITECTUREone;-全减器描述LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYf_sub1ISPORT(x,y,sub_in:INSTD_LOGIC;sub_out,diff:OUTSTD_LOGIC);ENDENTITYf_sub1;ARCHITECTUREstrlOFf_su

21、b1ISCOMPONENTh_subPORT(a,b:INSTD_LOGIC;co,so:OUTSTD_LOGIC);ENDCOMPONENT;COMPONENTor2aPORT(a,b:INSTD_LOGIC;c:OUTSTD_LOGIC);ENDCOMPONENT;SIGNALd,e,f:STD_LOGIC;BEGINu1:h_subPORTMAP(x,y,d,e);u2:h_subPORTMAP(e,sub_in,f,diff);图38半减器逻辑电暗ENDARCHITECTUREstrl;第五章5-1.试说明实体端口模式BUFFE前INOUT的不同之处?答:BUFFER端口:缓冲模式,具

22、有读功能的输出模式,即信号输出到实体外部,但同时也在内部反馈使用,不允许作为双向端口使用。而INOUT端口:双向模式,即信号的流通是双向的,既可以对此端口赋值,也可以通过此端口读入数据。5-2.VHDL的数据对象有哪几种?它们之间有什么不同?答:VHDL的数据对象有三种:信号、变量、常量。它们之间的的区别如下:信号赋值至少有3延时,而变量和常量没有;信号除当前值外,有许多相关信息,变量只有当前值,常量的值在设计实体中始终不变;进程对信号敏感而对变量及常量不敏感;信号可以是多个进程的全局信号,变量只在定义它们的顺序域可见,而常量的使用范围取决于它被定义的位置;信号是硬件连线的抽象描述信号赋值,赋

23、值符号=而变量和常量的赋值符号:=。5-3.说明下列各定义的意义:答SIGNALa,b,c:BIT:=0;-定义3个位数据类型的信号a、b、c,它们取值为0;CONSTANTTIME1,TIME2:TIME:20ns;-定义2个时间数据类型的常量TIME1、TIME2,它们值为20ns;VARIABLEx,y,z:STD_LOGIC:=x;-定义3个标准逻辑位STD_LOGIC数据类型的变量x、v、z,它们的值是强未知的。5-4.什么是重载函数?重载运算符有何用处?如何调用重载运算符函数?答:为了方便各种不同数据类型间的运算,VHDL允许用户对原有的基本操作符重新定义,赋予新的含义和功能,从而

24、建立一种新的操作符,这就是重载操作符,定义这种操作符的函数成为重载函数。重载运算符的作用是为了方便各种不同的数据类型间的运算。要调用重载运算符函数,先要在程序包中进行函数体的定义,调用的格式如下:x=函数名(参数1,参数2,)参数个数和类型与所定义的函数要保持一致。5-5.数据类型BITINTEGERBOOLEAN分别定义在哪个中中?哪些库和程序包总是可见的?.答:数据类型BITINTEGERBOOLEAN均定义在STD库中。IEEE库和程序包STD_LOGIC.1164、STD_LOGIC_UNSIGNEDSTD_LOGIC_SIGNEDSTD_LOGIC_ARIT等总是可见的。5-6.函数

25、和过程有什么区别?答:子程序有两种类型,即过程(PROCEDURE)函数(FUNCTION)它们的区别在于:过程的调用可以通过其界面获得多个返回值,而函数只能返回一个值;在函数入口中,所有参数都是输入参数,而过程有输入参数、输出参数和双向参数;过程一般被看作一种语句结构,而函数通常是表达式的一部分;过程可以单独存在,而函数通常作为语句的一部分调用。5-7.若在进程中加入WAIT句句,应注意哪几个方面的问题?答:应注意以下问题:O1已列出敏感信号的进程中不能使用任何形式的WAIT语句;Q一般情况下,只有WAITUNTIL格式的等待语句可以被综合器所接受,其余语句格式只能在VHDLB真器中使用;C

26、3在使用WAITON语句的进程中,敏感信号量应写在进程中的WAITON语句后面;Q在不使用WAITON语句的进程中,敏感信号量应在开头的关键词PROCESS面的敏感信号表中列出。5-8.哪些情况下需用到程序包STD_LOGIC_UNSIGNEW一例。答:。调用数据类型变换函数或重载运算符函数时;O2定义UNSIGNED型的数据时。举例如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;-IFtemp=11111111THENtemp:=00000000;ELSEtemp:=temp+16;ENDIF;

27、一5-9.为什么说一条并行赋值语句可以等效为一个进程?如果是这样的话,怎样实现敏感信号的检测?答:因为信号赋值语句的共同点是赋值目标必须都是信号,所有赋值语句与其它并行语句一样,在结构体内的执行是同时发生的,与它们的书写顺序没有关系,所以每一信号赋值语句都相当于一条缩写的进程语句。由于这条语句的所有输入信号都被隐性地列入此缩写进程的敏感信号表中,故任何信号的变化都将相关并行语句的赋值操作,这样就实现了敏感信号的检测。5-10.比较CAS胡句和WITH_SELEC语句,叙述它们的异同点?答:相同点:CASE句句中各子句的条件不能有重叠,必须包容所有的条件;WITH_SECLECT句也不允许选择值

28、有重叠现象,也不允许选择值涵盖不全的情况。另外,两者对子句各选择值的测试都具有同步性,都依赖于敏感信号的变化。不同点:CASE语句只能在进程中使用,至少包含一个条件语句,可以有多个赋值目标;WITH_SECLECT句根据满足的条件,对信号进行赋值,其赋值目标只有一个,且必须是信号。5-11.将以下程序段转换为WHEN_ELSE句:PROCESS(a,b,c,d)BEGINIFa=0ANDb=1THENNEXT1=1101”;ELSEIFa=0THENNEXT1=d;ELSEIFb=TTHENNEXT1=c;ELSENEXT1=1011;ENDIF;ENDPROCESS;0ANDb=TELSE0

29、ELSETELSE原程序转换如下:ARCHITECTUREoneOFmuxISBEGINNEXT1=1101WHENa=dWHENa=cWHENb=1011;ENDone;ENDPROCESS;5-12试给出一位全减器的算法描述、数据流描述、结构描述和混合描述。行为(算法)描述LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYf_subISPORT(x,y,sub_in:INSTD_LOGIC;sub_out,diff:OUTSTD_LOGIC);ENDf_sub;ARCHITECTUREbh

30、vOFf_subISSIGNALtmp:STD_LOGIC_VECTOR(2DOWNTO0);BEGINtmpdiff=0;sub_outdiff=T;sub_outdiff=T;sub_outdiff=0;sub_outdiff=1;sub_outdiff=0;sub_outdiff=0;sub_outdiff=T;sub_outNULL;ENDCASE;ENDPROCESS;ENDbhv;数据流描述LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYf_subISPORT(x,y,sub_i

31、n:INSTD_LOGIC;sub_out,diff:OUTSTD_LOGIC);ENDf_sub;ARCHITECTURErtlOFf_subISBEGINdiff=xXORyXORsub_in;sub_out=(NOTxANDy)OR(xXNORy)ANDsub_in);ENDrtl;结构描述:LIBRARYIEEE;-半减器USEIEEE.STD_LOGIC_1164.ALL;ENTITYh_subISPORT(a,b:INSTD_LOGIC;co,so:OUTSTD_LOGIC);ENDh_sub;ARCHITECTUREfh1OFh_subISBEGINso=aXORb;co=NOT

32、aANDb;ENDfh1;LIBRARYIEEE;-或门描述USEIEEE.STD_LOGIC_1164.ALL;ENTITYor2aISPORT(a,b:INSTD_LOGIC;c:OUTSTD_LOGIC);ENDor2a;ARCHITECTUREoneOFor2aISBEGINc=aORb;ENDone;LIBRARYIEEE;-全减器描述USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYf_sub1ISPORT(x,y,sub_in:INSTD_LOGIC;sub_out,diff:OUTSTD_LOGIC)

33、;ENDf_sub1;ARCHITECTUREstrlOFf_sub1ISCOMPONENTh_subPORT(a,b:INSTD_LOGIC;co,so:OUTSTD_LOGIC);ENDCOMPONENT;COMPONENTor2aPORT(a,b:INSTD_LOGIC;c:OUTSTD_LOGIC);ENDCOMPONENT;SIGNALd,e,f:STD_LOGIC;BEGINu1:h_subPORTMAP(x,y,d,e);u2:h_subPORTMAP(e,sub_in,f,diff);u3:or2aPORTMAP(d,f,sub_out);ENDstrl;5-13用VHDLl述

34、下列器件的功能:(1)十进制一BCDE编码器,输出使能为低电平有效。libraryieee;useieee.std_logic_1164.all;entitybin_bcdisport(bin:inintegerrange0to20;ena:instd_logic;BCD_out:outstd_logic_vector(7downto0);end;architectureaofbin_bcdisbeginBinary_BCD:BlockBEGINBCD_out=00000000WHENBIN=0ELSE00000001WHENBIN=1ELSE00000010WHENBIN=2ELSE0000

35、0011WHENBIN=3ELSE00000100WHENBIN=4ELSE00000101WHENBIN=5ELSE00000110WHENBIN=6ELSE00000111WHENBIN=7ELSE00001000WHENBIN=8ELSE00001001WHENBIN=9ELSE00010000WHENBIN=10ELSE00010001WHENBIN=11ELSE00010010WHENBIN=12ELSE00010011WHENBIN=13ELSE00010100WHENBIN=14ELSE00010101WHENBIN=15ELSE00010110WHENBIN=16ELSE000

36、10111WHENBIN=17ELSE00011000WHENBIN=18ELSE00011001WHENBIN=19ELSE00100000WHENBIN=20ELSE00000000;endblock;enda;(2) 时钟(可控)RS触发器。LIBRARYIEEE;USEIEEE.std_logic_1164.ALL;ENTITYffrsISPORT(s,r:INstd_logic;q,qb:OUTstd_logic);ENDffrs;ARCHITECTURErtlOFffrsISSIGNALqn,nqn:std_logic;BEGINqn=rNORnqn;nqn=sNORqn;q=qn

37、;qb=nqn;ENDrtl;(3) 带复位端、置位端、延迟为的JK触发器。libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityjkffisport(j,k,rst,clr:INbit;clk:inbit;q,nq:outbit);end;architectureaofjkffissignalq_s,nq_s:bit;beginprocess(j,k,rst,clr,clk)beginifrst=1thenq_s=1;nq_s=0;elsifclkeventandclk=0thenifclr=1

38、thenq_s=0;nq_s=1;elsifj=0andk=1thenq_s=0;nq_s=1;elsifj=1andk=0thenq_s=1;nq_s=0;elsifj=1andk=1thenq_s=notq_s;15ns的响应CP下降沿触发nq_s=notnq_s;endif;elsenull;endif;q=q_s;nq=nq_s;endprocess;enda;(4)集成计数器74161Libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitycnt4isport(clk,LDN,CLRN:i

39、nstd_logic;d,c,b,a:instd_logic;carry:outstd_logic;qd,qc,qb,qa:outstd_logic);end;architectureaofcnt4issignaldata_in:std_logic_vector(3downto0)begindata_in0);elsifclkeventandclk=1thenifldn=0thencnt:=data_in;elsecnt:=cnt+1;endif;endif;casecntiswhen1111=carrycarry=0;endcase;qa=cnt(0);qb=cnt(1);qc=cnt(2)

40、;qd=cnt(3);endprocess;enda;程序2LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYS_C74161ISPORT(clk,ldn,clrn,enp,ent:INSTD_LOGIC;din:INSTD_LOGIC_VECTOR(3DOWNTO0);q:OUTSTD_LOGIC_VECTOR(3DOWNTO0);rco:OUTSTD_LOGIC);ENDS_C74161;ARCHITECTUREbehavOFS_C74161ISSIGNALq1:STD_LOGIC_VEC

41、TOR(3DOWNTO0);BEGINPROCESS(clk,clrn)BEGINIFclrn=0THENq1=0000;ELSIF(clkEVENTANDclk=1)THENIFldn=0THENq1=din;ELSIF(enp=1andent=1)THENq1=q1+1;ENDIF;ENDIF;q=q1;ENDPROCESS;rco=q1(3)andq1(2)andq1(1)andq1(0)andent;ENDbehav;(5)集成移位寄存器74194LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;

42、ENTITYS_R74194ISPORT(clrn,clk,slsi,srsi:INSTD_LOGIC;din:INSTD_LOGIC_VECTOR(3DOWNTO0);ss:INSTD_LOGIC_VECTOR(1DOWNTO0);q:OUTSTD_LOGIC_VECTOR(3DOWNTO0);ENDS_R74194;ARCHITECTUREbhvOFS_R74194ISSIGNALq1:STD_LOGIC_VECTOR(3DOWNTO0);BEGINPROCESS(clk,clrn)BEGINIF(clrn=0)THENq1=0000;ELSIF(clkEVENTANDclk=1)THEN

43、IF(ss=11)THENq1=din;ELSIF(ss=01)THENq1=srsi&q1(3downto1);ELSIF(ss=10)THENq1=q1(2downto0)&slsi;ENDIF;ENDIF;q=q1;ENDPROCESS;ENDbhv;5-14用VHDLB述一个三态输出的双4选一的数据选择器其地址信号共用,且各有一个低电平有效的使能端。答:程序1,使用两个并行关系的选择信号赋值语句libraryieee;useieee.std_logic_1164.all;entitydual_mux_41isport(a,b,c,d:instd_logic;ena_n,enb_n:in

44、std_logic;s:instd_logic_vector(1downto0);outa,outb:outstd_logic);end;architectureaofdual_mux_41issignalp,q:std_logic_vector(2downto0);beginp=ena_n&s;q=enb_n&s;withpselectouta=awhen000,bwhen001,cwhen010,dwhen011,Zwhenothers;withqselectoutbq1q1q1q1null;endcase;elseq1q2q2q2q2null;endcase;elseq2=Z;ENDIF;Endprocess;Endbhv;5-15.试用并行信号赋值语句分别描述下列器件的功能:3-8译码器答:功能描述如下:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYdecoder38

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论