习题
3-1 如图所示
3-2 程序:
IF_THEN语句
LIBRARY IEEE ;
USE IEEE.STD_LOGIC_11.ALL ;
ENTITY mux21 S
CASE 语句
LIBRARY IEEE ;
USE IEEE.STD_LOGIC_11.ALL ;
ENTITY mux21 IS
BEGIN
PROCESS ( s )
BEGIN
WHEN “10” => y<=c ;
WHEN “11” => y<=d ;
WHEN OTHERS => NULL ;
3-3 程序:
LIBRARY IEEE ;
USE IEEE.STD_LOGIC_11.ALL ;
ENTITY MUXK IS
内部连接线
BEGIN
3-4 程序:
(1)1位半减器
1位半减器的设计选用(2)图,两种表达方式:
一、 LIBRARY IEEE ;
USE IEEE.STD_LOGIC_11.ALL ;
ENTITY h_suber IS
BEGIN
二、 LIBRARY IEEE ;
USE IEEE.STD_LOGIC_11.ALL ;
ENTITY h_suber IS
BEGIN
PROCESS ( s )
BEGIN
WHEN “10” => s_out <=’0’ ; diff<=’1’ ;
WHEN “11” => s_out <=’0’ ; diff<=’0’ ;
WHEN OTHERS => NULL ;
END ARCHITECTURE fhd1 ;
或门逻辑描述:
LIBRARY IEEE ;
USE IEEE.STD_LOGIC_11.ALL ;
ENTITY or IS
END ARCHITECTURE one ;
1位全减器:
LIBRARY IEEE ;
USE IEEE.STD_LOGIC_11.ALL ;
ENTITY f_suber IS
BEGIN
u3 : or PORT MAP ( a=>f, b=>e, c=>sub_out ) ;
(2)8位减法器:
f_suber
sub_in x y
sub_out
diffr
0
x
0
y
0
f_suber
sub_in x y
sub_out
diffr
1
x
1
y
1
f_suber
sub_in x y
sub_out
diffr
2
x
2
y
2
f_suber
sub_in x y
sub_out
diffr
3
x
3
y
3
f_suber
sub_in x y
sub_out
diffr
4
x
4
y
4
f_suber
sub_in x y
sub_out
diffr
5
x
5
y
5
f_suber
sub_in x y
sub_out
diffr
6
x
6
y
6
f_suber
sub_in x y
sub_out
diffr
7
x
7
y
7
sub_out
a b c
d
e f g
u0 u1 u2 u3
u4 u5 u6 u7
LIBRARY IEEE ;
USE IEEE.STD_LOGIC_11.ALL ;
ENTITY 8f_suber IS
y0,y1,y2,y3,y4,y5,y6,y7 : IN STD_LOGIC ;
sub_in : IN STD_LOGIC ;
diffr0,diffr1,diffr2,diffr3 : OUT STD_LOGIC ;
diffr4,diffr5,diffr6,diffr7 : OUT STD_LOGIC ) ;
ARCHITECTURE 8fhd1 OF 8f_suber IS
BEGIN
diff=>diff0 ) ;
diff=>diff1 ) ;
diff=>diff2 ) ;
u3 : f_suber PORT MAP (x=>x3, y=>y3, sub_in=>c, sub_out=>d,
diff=>diff3 ) ;
u4 : f_suber PORT MAP (x=>x4, y=>y4, sub_in=>d, sub_out=>e,
diff=>diff4 ) ;
u5 : f_suber PORT MAP (x=>x5, y=>y5, sub_in=>e, sub_out=>f,
diff=>diff5 ) ;
u6 : f_suber PORT MAP (x=>x6, y=>y6, sub_in=>f, sub_out=>g,
diff=>diff6 ) ;
sub_out, diff=>diff7 ) ;
3-5 程序:
或非门逻辑描述:
LIBRARY IEEE ;
USE IEEE.STD_LOGIC_11.ALL ;
ENTITY nor IS
PORT ( d,e : IN STD_LOGIC ;
ARCHITECTURE one OF nor IS
时序电路描述:
LIBRARY IEEE ;
USE IEEE.STD_LOGIC_11.ALL ;
ENTITY circuit IS
ARCHITECTURE one OF circuit IS
PORT ( CLK : IN STD_LOGIC ;
PORT ( d,e : IN STD_LOGIC ;
PORT ( g : IN STD_LOGIC ;
BEGIN
u0 : nor PORT MAP ( d=>c, e=>CL, f=>a ) ;
u1 : DFF1 PORT MAP ( CLK=>CLK0, D=>a, Q=>b ) ;
u2 : not PORT MAP ( g=>b, g=>c, h=>OUT1 ) ;
END ARCHITECTURE one ;
3-7
3-8
3-9
3-10
3-11
3-12
3-13
3-14
程序1:
程序2:
ARCHITECTURE one OF sample IS
BEGIN
END ARCHITECTURE one ;
程序3:
LIBRARY IEEE ;
USE IEEE.STD_LOGIC_11.ALL ;
ENTITY mux21 IS
END ENTITY mux21 ;
ARCHITECTURE one OF mux21 IS
BEGIN
END ARCHITECTURE one ;
第4章 Quartus II使用方法
习题
第5章 VHDL状态机
习题
5-1 例5-4(两个进程):
LIBRARY IEEE ;
USE IEEE.STD_LOGIC_11.ALL ;
ENTITY MOORE1 IS
ARCHITECTURE behav OF MOORE1 IS
REG : PROCESS ( RST ,CLK )
IF RST=’1’ THEN C_ST<=ST0; Q<=”0000”;
ELSIF CLK ’EVENT AND CLK=’1’ THEN
END IF ;
END PROCESS ;
COM : PROCESS (C_ST , DATAIN)
CASE C_ST IS
END CASE ;
END PROCESS ;
END ARCHITECTURE behav ;
5-2 例5-5(单进程):
LIBRARY IEEE ;
USE IEEE.STD_LOGIC_11.ALL ;
ENTITY MEALY1 IS
ARCHITECTURE behav OF MEALY1 IS
BEGIN
IF DATAIN = ‘0’ THEN STX<= st2; Q<=”10111” ;
IF DATAIN = ‘1’ THEN STX<= st3; Q<=”10101” ;
IF DATAIN = ‘0’ THEN STX<= st4; Q<=”11011” ;
IF DATAIN = ‘1’ THEN STX<= st0; Q<=”11101” ;
END ARCHITECTURE behav ;
5-3 序列检测器:
要求1:
要求2:
要求3:
第6章 16位CISC CPU设计
习题
第7章 VHDL语句
习题
第8章 VHDL结构
习题
8-5 VHDL综合器支持的类型:STRING、BIT;
8-6 【例8-28】
LIBRARY IEEE ; --
USE IEEE.STD_LOGIC_11.ALL ;
USE IEEE.STD_LOGIC_UNSIGNED.ALL ;
ENTITY decoder3t08 IS
port ( input: IN STD_LOGIC_VECTOR ( 2 DOWNTO 0 ) ;
END ENTITY decoder3t08 ;
ARCHITECTURE behave OF decoder3t08 IS
BEGIN
output <= “00000001” SLL CONV_INTEGER ( input ) ;
END behave ;
8-7 不能,因为求和操作符的操作数的数据类型必须是整数;解决
方法:可以使用conv_integer(A)将A、B转换成整数,然后再
用conv_std_logic_vector(A)将C转换成std_logic_vector
类型。
8-8 数据对象3类:
)变量(VARIABLE)
)常量(CONSTANT)
)信号(SIGNAL)
8-10 16#0FA# -- 起始为非英文字母;
符号“#”不能成为标识符的构成;
同上
同上
同上
同上
起始为非英文字母;
\\74HC574\\ -- 符号“\”不能成为标识符的构成;
符号“\”不能成为标识符的构成;
符号“\、/”和空格不能成为标识符的构成;
符号“%”不能成为标识符的构成;
8-11 BIT、INTEGER、BOOLEAN:STD库;
:STD_LOGIC_11、NUMERIC_BIT、NUMERIC_STD、
MATH_REAL、MATH_COMPLEX —>显式表达;
:STANDARD、TEXTIO —>无须显式表达;
:无须显式表达,总是可见;
:VITAL_TIMING、VITAL_PRIMITIVES —>
8-15