1,搶著回答馮的VHDL源程序。
-馮. vhd
圖書館IEEE
使用IEEE。STD_LOGIC_1164。所有;
實體馮是
PORT(CP,CLR:IN STD _ LOGIC;
q:OUT STD _ LOGIC);
端馮;
馮的建築風格是
開始
流程(CP,CLR)
開始
如果CLR='0 ',則
Q & lt='0';
ELSIF CP'EVENT AND CP='0'THEN
Q & lt='1';
結束IF;
結束進程;
端豐_弧;
2.片選信號產生模塊SEL的VHDL源程序。
- sel.vhd
圖書館IEEE
使用IEEE。STD_LOGIC_1164。所有;
實體選擇是
端口(CLK:在STD_LOGIC中;
答:超出整數範圍0到7);
結束選擇;
SEL的架構SEL_ARC是片選信號產生模塊SEL
開始
流程(CLK)
變量AA:0到7的整數範圍;
開始
如果CLK事件和CLK='1 '那麽
AA:= AA+1;
結束IF;
A & lt= AA
結束進程;
結束SEL _ ARC
3.鎖存模塊LOCKB的VHDL源程序。
-lockb.vhd
圖書館IEEE
使用IEEE。STD_LOGIC_1164。所有;
實體鎖定為
端口(D1,D2,D3,D4:在STD_LOGIC中;
CLK,CLR:在STD_LOGIC中;
Q1,Q2,Q3,Q4,ALM:OUT STD _ LOGIC);
結束鎖定b;
LOCKB的架構LOCK_ARC為
開始
流程(CLK)
開始
如果CLR='0 ',則
q 1 & lt;='0';
Q2<='0';
Q3 & lt='0';
Q4 & lt='0';
ALM & lt='0';模塊鎖定b
埃爾希夫·CLK事件和CLK='1 '那麽
q 1 & lt;= d 1;
Q2<= D2;
Q3 & lt= D3
Q4 & lt= D4;
ALM & lt='1';
結束IF;
結束進程;
結束LOCK _ ARC
4.轉換模塊CH41A的VHDL源程序
- ch41a..vhd
圖書館IEEE
使用IEEE。STD_LOGIC_1164。所有;
實體CH41A是
端口(D1,D2,D3,D4:在STD_LOGIC中;
q:OUT STD _ LOGIC _ VECTOR(3 down to 0));
END ch 41A;
架構ch41 _ arc of CH41Ais轉換模塊ch41a
開始
流程(D1,D2,D3,D4)
變量TMP:STD _ LOGIC _ VECTOR(3 down to 0);
開始
TMP:= d 1 & amp;D2 & amp;D3 & ampD4;
TMP的情況是
當" 0111"= >時;Q & lt="0001";
當" 1011"= >時;Q & lt="0010";
當" 1101"= >時;Q & lt="0011";
當" 1110"= >Q & lt="0100";
當別人= & gtQ & lt="1111";
結束案例;
結束進程;
END ch 41 _ ARC;
5、3選擇1模塊CH31A的VHDL源程序。
- ch31a.vhd
圖書館IEEE
使用IEEE。STD_LOGIC_1164。所有;
實體CH31A是
PORT(SEL:IN STD _ LOGIC _ VECTOR(2 down to 0);
D1,D2,D3:IN STD _ LOGIC _ VECTOR(3 down to 0);
q:OUT STD _ LOGIC _ VECTOR(3 down to 0));
END ch 31A;
CH31A的建築CH31_ARC為
開始
過程(SEL,D1,D2,D3)
開始
案例選擇是
當“000”= >Q & lt= d 1;
當" 001"= >時;Q & lt= D2;
當" 111"= >Q & lt= D3
當別人= & gtQ & lt="1111";
結束案例;
結束進程;
END ch 31 _ ARC;
6.倒計時模塊計數的VHDL源程序
倒計時模塊計數如圖16-7所示,實現了答題時間的倒計時,計數到100秒後發出語音提示。
- count.vhd
圖書館IEEE
使用IEEE。STD_LOGIC_1164。所有;
使用IEEE。STD_LOGIC_UNSIGNED所有;
實體計數為
端口(CLK,EN:在STD_LOGIC中;倒計時模塊計數
h,L:OUT STD _ LOGIC _ VECTOR(3 down to 0);
聲音:OUT STD _ LOGIC);
結束計數;
建築計數弧的計數是
開始
流程(CLK,英國)
變量HH,LL:STD _ LOGIC _ VECTOR(3 down to 0);
開始
如果CLK事件和CLK='1 '那麽
如果EN='1 ',則
如果LL=0且HH=0,則
聲音& lt='1';
那麽ELSIF LL=0
LL:= " 1001 ";
HH:= HH-1;
其他
LL:= LL-1;
結束IF;
其他
聲音& lt='0';
HH:= " 1001 ";
LL:= " 1001 ";
結束IF;
結束IF;
H & lt= HH
L & lt= LL
結束進程;
結束計數_弧;
7.顯示解碼模塊DISP的VHDL源程序。
-顯示vhd
圖書館IEEE
使用IEEE。STD_LOGIC_1164。所有;
實體DISP是顯示解碼模塊disp
端口(D:在STD_LOGIC_VECTOR(3 DOWNTO 0)中);
q:OUT STD _ LOGIC _ VECTOR(6 down to 0));
結束DISP;
DISP的DISP建築是
開始
過程(D)
開始
案例D是
當" 0000"= >時;Q & lt="0111111";
當" 0001"= >時;Q & lt="0000110";
當" 0010"= >時;Q & lt="1011011";
當" 0011"= >時;Q & lt="1001111";
當" 0100"= >Q & lt="1100110";
當" 0101"= >Q & lt="1101101";
當" 0110"= >Q & lt="1111101";
當" 0111"= >時;Q & lt="0100111";
當" 1000"= >Q & lt="1111111";
當" 1001"= >Q & lt="1101111";
當別人= & gtQ & lt="0000000";
結束案例;
結束進程;
結束DISP _弧;