1、电子设计自动化 I随堂练习答案第 6章 VHDL结构与要素1. 实体下列实体的语句结构是否正确,如果不正确,请指出具体错误。(1) ENTITY mux21 ISPORT(a, b: IN BIT;s: IN BIT;y: OUT BIT);END mux21正确 (2) ENTITY mux21 ISPORT(a ,b: IN BIT;s: IN BIT;y: OUT BIT);END ENTITY不正确, “END ENTITY mux21” (3) entity MUX21 isport(A, B: in bit;S: in bit;Y: out bit);end mux21正确 (4)
2、 ENTITY mux21 ISPORT(a, b: IN BIT; -a和 b分别是数据输入端s: IN BIT;y: OUT BIT);END ENTITY mux21正确 (5) ENTITY mcu16 ISGENERIC(addrwidth: INTEGER:=16) ;PORT(add_bus: OUT STD_LOGIC_VECTOR(addrwidth-1 DOWNTO 0);END mcu16正确 (6) ENTITY mcu8 ISGENERIC(addrwidth: INTEGER:=16) ;PORT(add_bus: OUT STD_LOGIC_VECTOR(addr
3、width-1 DOWNTO 0);END mcu8正确 (7) ENTITY mcu16 ISGENERIC(addrwidth: INTEGER) ;PORT(add_bus: OUT STD_LOGIC_VECTOR(addrwidth-1 DOWNTO 0);END mcu16正确 (8) ENTITY mcu16 ISGENERIC(addrwidth:=16) ;PORT(add_bus: OUT STD_LOGIC_VECTOR(addrwidth-1 DOWNTO 0);END mcu16错误, “GENERIC(addrwidth: INTEGER:=16;“ (9) ENT
4、ITY mcu16 ISGENERIC(addrwidth: INTEGER:=16) ;PORT(add_bus: OUT STD_LOGIC_VECTOR(addrwidth-1 DOWNTO 0);END mcu16错误, “GENERIC(addrwidth: INTEGER:=16;“ (10) ENTITY nand2 ISGENERIC(trise: TIME:=1ns;tfall:TIME:=1ns);PORT(a, b: IN STD_LOGIC;c: OUT STD_LOGIC);END nand2正确 (11) ENTITY gate4 ISGENERIC(trise:
5、TIME:=1ns;tfall:TIME:=1ns);PORT(a: IN STD_LOGIC;c: OUT STD_LOGIC;d: INOUT STD_LOGIC;e: BUFFER STD_LOGIC);END gate4正确 (12) ENTITY nand2 ISGENERIC(trise: TIME:=1ns;tfall:TIME:=1ns);PORT(a, b: IN trise;c: OUT tfall);END nand2错误,trise 和 tfall不是数据类型 (13) ENTITY nand2 ISGENERIC(trise: TIME:=1ns;tfall:TIME
6、:=1ns);END nand2错误,实体的语句结构必须包含端口说明 2. 求下列以数制基数表示的文字的十进制数值16#F.11#E2 15x162+1x161+1x160=38578#167.2#E1 1x83+6x82+7x81+2x80=9542#10.0001_1111#E8 1x29+1x24+1x23+1x22+1x21+1x20=5433. 判断下列文字或标识符是否合法“2FFT” 合法10#1A# 不合法O“1A” 不合法X#E#E2 合法ELSE 不合法Not$ack 不合法_june 不合法june_ 不合法june_ _1 不合法A or B 合法/A or B/ 不合法
7、AB 不合法A/B 合法Enter 合法“1_1101_1000” 合法4. 数据类型根据要求定义下列常量(CONSTANT) 、变量(VARIABLE )或信号(SIGNAL) TTL高电平 5V,TTL 低电平 0VCONSTANT TTL_H: REAL:=5.0;CONSTANT TTL_L: REAL:=0.0; a大于 b结果为真,a 小于 b结果为假CONSTANT a_gt_b: BOOLEAN:=TRUE;CONSTANT a_lt_b: BOOLEAN:=FALSE; 程序编写者 xiaomingCONSTANT editor: STRING:=“xiaoming”; xi
8、aoming的学号 201302031111CONSTANT xiaoming_xuehao: STRING:=“201302031111”; xiaoming的 EDA考试成绩 90分CONSTANT xiaoming_chengji: INTEGER:=90; 8位二进制表示的最大十进制数CONSTANT 8octect_to_integer: INTEGER:=255; 用于 LED七段码显示数字“9”CONSTANT num_9: BIT_VECTOR:=”1111011”; 3-8译码器的输入信号SIGNAL oct_decoder_input: BIT_VECTOR(2 downt
9、o 0); D触发器输出信号SIGNAL D_trigger_output: STD_LOGIC;5. 赋值语句根据要求给下列变量(VARIABLE)或信号(SIGNAL)赋值 面积 a等于 2a:=3.14*r*r; 给 8位位矢量的高 4位赋值 1a(7 downto 4):=”1111”; 给 8位位矢量的奇数位赋值 1a(7):=”1”;a(5):=”1”;a(3):=”1”;a(1):=”1”; 开关量信号初值为低电平SIGNAL switch_signal: BIT:=0; EDA考试第一名成绩是 99分eda_chengji_1 := 99.0; EDA考试第一名的学号是 201
10、302031111eda_xuehao_1 := “201302031111”; 负反馈电路信号 nf给信号 y赋值,传输延迟 10nsyzzzz= b(n) ) THENa_more_or_equal_to_b =n);b(k+8):=0;k:=k+1;END LOOP L_y;END LOOP L_x;问上述语句运行结束后变量 a和 b的值?a(0 to 7):=”00000000”;b(0 to 15):=” 0000000”;7. 并行语句(1) 用并行信号赋值语句改造下列顺序语句abSAB Z(a)ARCHITECTURE a_and_not_b OF mux21 ISSIGNAL a, b, z: BIT;BEGINza2, b=b2, c=c2 ); -名字关联方式or2_3: or2 PORT MAP( c1,c2,c=z1 ); -混合关联方式or2_4: or2 PORT MAP(a=a3, b=b3, c=z2);END or62behv;