您好,欢迎访问三七文档
11.结构体的三种描述方式:-行为描述-数据流描述-结构化描述2.一般将一个完整的VHDL程序称为设计实体3.VHDL设计实体的基本结构由库、程序包、实体、结构体和配置组成。4.VHDL不区分大小写。5.常用的库:libraryieee,程序包:useieee.std_logic_1164.all6.VHDL程序的基本结构至少应包括实体、结构体和对库的引用声明。7.在VHDL程序中使用的文字、数据对象、数据类型都需要事先声明。8.VHDL的实体由实体声明和结构体组成。VHDL的实体声明部分指定了设计单元的输入出端口或引脚,它是设计实体对外的一个通信界面,是外界可以看到的部分。VHDL的结构体用来描述实体的逻辑结构和逻辑功能,它由VHDL语句构成,是外界看不到的部分。9.端口方向模式:IN(输入)、OUT(输出构造体内部不能再使用)、INOUT(双向)、BUFFER(缓冲构造体内部可再使用)10.VHDL的标识符名必须以(字母开头),后跟若干字母、数字或单个下划线构成,但最后不能为(下划线),不能连续两个下划线相连。11.为信号赋初值的符号是(:=);程序中,为变量赋值的符号是(:=),为信号赋值的符号是(=)12.VHDL的数据类型包括标量类型、复合类型、存储类型和文件类型请列出3个VHDL语言的数据类型,如实数、位等。位矢量,字符,布尔量,整数,字符串,时间,错误等级,自然数,正整数。13.VHDL的操作符包括逻辑、算术、关系和并置四类14.可编程逻辑器件:CPLD、FPGA、GAL、PLA、PAL(早期)CPLD(复杂可编程逻辑器件):基于乘机项技术构造的可编程逻辑器件,不需要配置外部程序寄存芯片FPGA(现场可编程门阵列):基于查找表技术构造的可编程逻辑器件,需要配置外部程序寄存芯片15.VHDL客体或数据对象:常量、信号、变量(可被多次赋值)、文件。16.一个VHDL程序中可以使用多个进程process语句,一个设计实体可以拥有多个结构体。17.VHDL的预算操作包括:逻辑运算符、关系运算符、乘法运算符(优先级)逻辑运算符、关系运算符、加减并置运算符、正负运算符、乘法运算符、18.VHDL中std_logic类型:‘Z’表示高阻,‘X’表示不确定19.将一个信width定义为一个4位标准逻辑向量为:signalwidth:std_logic_vector(3downto0)定义一个变量a,数据类型为4位位向量:variablea:bit_vector(3downto0)20.赋值语句是并行执行,IF语句是串行执行。21.标准逻辑是一个具有九值逻辑的数据类型22.表示‘0’‘1’两值逻辑的数据类型是bit,表示‘0’‘1’‘Z’等九值逻辑的数据类型是std_logic,表示空操作的数据类型是NULL23.=是小于等于关系运算符,又是赋值运算操作符/=是不相等操作符,功能是在条件判断是判断操作符两端不相等。NOT是逻辑运算符,表示取反,在所有操作符中优先级最高。30.并置运算符&的功能是把多个位或位向量合并为一个位向量。24.位类型的初始化采用字符,位矢量用字符串25.进程必须位于结构体内部,变量必须定义于进程内部26.进程执行的机制是敏感信号发生跳变27.VHDL语言可以有以下3种形式的子结构描述语句:BLOCK语句结构;PROCESS语句结2构和SUBPROGRAMS结构。29整型对象的范围约束通常用range关键词,位矢量用downto/to关键词。31.判断CLK信号上升沿到达的语句是ifclk’eventandclk=‘1’then.32.IF语句各条件间具有不同的优先级。33、任何时序电路都以时钟为驱动信号,时序电路只是在时钟信号的边沿到来时,其状态才发生改变。34、Moore状态机输出只依赖于器件的当前状态,与输入信号无关。35.、IF语句根据指定的条件来确定语句执行顺序,共有3种类型:用于门闩控制的IF语句、用于二选一控制的IF语句、用于多选择控制的IF语句。简答题:1、简述信号与变量的区别。a.信号延时赋值,变量立即赋值b.信号的代入使用=,变量的代入使用:=;c.信号在实际的硬件当中有对应的连线,变量没有2、简述可编程逻辑器件的优点。a.集成度高,可以替代多至几千块通用IC芯片.极大减小电路的面积,降低功耗,提高可靠性b.具有完善先进的开发工具.提供语言、图形等设计方法,十分灵活.通过仿真工具来验证设计的正确性c.可以反复地擦除、编程,方便设计的修改和升级d.灵活地定义管脚功能,减轻设计工作量,缩短系统开发时间f.保密性好3、试比较moore状态机与mealy状态机的异同。Moore输出只是状态机当前状态的函数.Mealy输出为有限状态机当前值和输入值的函数3、简述VHDL语言与计算机语言的差别。a.运行的基础。计算机语言是在CPU+RAM构建的平台上运行。VHDL设计的结果是由具体的逻辑、触发器组成的数字电路b.执行方式.计算机语言基本上以串行的方式执行.VHDL在总体上是以并行方式工作c.验证方式.计算机语言主要关注于变量值的变化.VHDL要实现严格的时序逻辑关系4、简述实体端口的模式输入(Input):clk、reset、en、addr等输出(Output):输出信号,不能内部引用双向(Inout):可代替所有其他模式,用于设计双向总线缓冲(Buffer):与Output类似,但允许该管脚名作为一些逻辑的输入信号5、进程语句是设计人员描述结构体时使用最为频繁的语句,简述其特点。a.它可以与其它进程并发执行,并可存取结构体或实体中所定义的信号;b.进程结构中的所有语句都是按顺序执行的3c.为了启动进程,在进程结构中必须包含一个显式的敏感信号量表或者包含一个wait语句;d.进程之间的通信是通过信号量的传递来实现的6、简述如何利用计数器精确控制时序。a.只要知道晶振频率f,即可知道周期T=1/f;b.使用一个计数器,可以通过计数值n,精确知道当计数值为n时消耗的时间t=nT;上例中以n为控制条件,可以控制其它信号在某时刻变高,某时刻变低,从而产生精确时序编程题:1.3-8译码器0LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYdecoder_3_to_8ISPORT(a,b,c,g1,g2a,g2b:INSTD_LOGIC;y:OUTSTD_LOGIC_VECTOR(7DOWNTO0));ENDdecoder_3_to_8;ARCHITECTURErtlOFdecoder_3_to_8ISSIGNALindata:STD_LOGIC_VECTOR(2DOWNTO0);BEGINindata=c&b&a;PROCESS(indata,g1,g2a,g2b)BEGINIF(g1='1'ANDg2a='0'ANDg2b='0')THENCASEindataISWHEN000=y=11111110;WHEN001=y=11111101;WHEN010=y=11111011;WHEN011=y=11110111;WHEN100=y=11101111;WHEN101=y=11011111;WHEN110=y=10111111;WHEN111=y=01111111;WHENOTHERS=y=XXXXXXXX;ENDCASE;ELSEy=11111111;ENDIF;ENDPROCESS;ENDrtl;3、填写完成一个3-8线译码器的真值表(5分),并写出其VHDL程序(10分)。43-8译码器的真值表ena2a1a0y1000000000011001000000101010000001001011000010001100000100001101001000001110010000001111100000000xxx00000000entitytri_eightisport(a:instd_logic_vector(2downto0);en:instd_logic;y:outstd_logic_vector(7downto0));endtri_eight;(2)architectureaoftri_eightissignalsel:std_logic_vector(3downto0);(4)beginsel(0)=a(0);sel(1)=a(1);sel(2)=a(2);sel(3)=en;(5)withselselecty=00000001when1000,00000010when1001,00000100when1010,00001000when1011,00010000when1100,00100000when1101,01000000when1110,10000000when1111,00000000whenothers;(9)enda;(10)3、根据下表填写完成一个3-8线译码器的VHDL程序(16分)。5LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYdecoder_3_to_8ISPORT(a,b,c,g1,g2a,g2b:INSTD_LOGIC;y:OUTSTD_LOGIC_VECTOR(7DOWNTO0));(2)ENDdecoder_3_to_8;ARCHITECTURErtlOFdecoder_3_to_8ISSIGNALindata:STD_LOGIC_VECTOR(2DOWNTO0);(4)BEGINindata=c&b&a;(6)PROCESS(indata,g1,g2a,g2b)BEGINIF(g1='1'ANDg2a='0'ANDg2b='0')THEN(8)CASEindataISWHEN000=y=11111110;WHEN001=y=11111101;WHEN010=y=11111011;(10)WHEN011=y=11110111;WHEN100=y=11101111;WHEN101=y=11011111;WHEN110=y=10111111;(12)WHEN111=y=01111111;WHENOTHERS=y=XXXXXXXX;ENDCASE;ELSEy=11111111;(14)ENDIF;ENDPROCESS;(16)ENDrtl;62.二选一VHDL程序Entitymuxisport(d0,d1,sel:inbit;q:outBIT);endmux;architectureconnectofMUXissignaltmp1,TMP2,tmp3:bit;begincale:blockbegintmp1=d0andsel;tmp2=d1and(notsel)tmp3=tmp1andtmp2;q=tmp3;endblockcale;endCONNECT;2.2二选一IF语句编写Entitysel2isPort(a,b:instd_logic;sel:instd_logic;q:outstd_logic);Endsel2;Architectureaofsel2isbeginifsel=‘0’thenq=a;elseq=b;endif;enda;3.三态门电原理图如右图所示,真值表如左图所示,请完成其VHDL程序构造体部分。7LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYtri_gateISPORT(din,en:INSTD_LOGIC;dout:OUTSTD_LOGIC);ENDtri_gate;ARCHITECTUREzasOFtri_gateISBEGINPROCESS(din,en)BEGINIF(en=‘1')THENdout=din;ELSEdout=‘Z’;ENDIF;ENDPROCESS;ENDzas;4.四选一、用IF语句编写一个四选一电路,要求输入d0~d3,s为选择端,输出y。entity
本文标题:VHDL期末考试题
链接地址:https://www.777doc.com/doc-6839248 .html