當前位置:編程學習大全網 - 源碼下載 - 00000110源代碼。

00000110源代碼。

各個模塊的VHDL源代碼

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 _弧;

  • 上一篇:什麽是PK?
  • 下一篇:轉載 如何安全的更新java本地緩存
  • copyright 2024編程學習大全網