Presentation is loading. Please wait.

Presentation is loading. Please wait.

使用VHDL設計-8x1多工器 通訊一甲 B09622048 楊穎穆.

Similar presentations


Presentation on theme: "使用VHDL設計-8x1多工器 通訊一甲 B09622048 楊穎穆."— Presentation transcript:

1 使用VHDL設計-8x1多工器 通訊一甲 B 楊穎穆

2 目錄 目的 設計原理 真值表 程式 實驗結果 參考資料

3 目的 1. 使用VHDL設計一個8對1之多工器電路 2. 將電路加以模擬 3. 將程式燒錄到IC執行
2. 將電路加以模擬 3. 將程式燒錄到IC執行 4. 將以上原理撰寫成PPT格式報告交出 5. 將以上原理與操作過程講述一便並錄製成影音檔交出

4 設計原理 主要使用VHDL來設計一個8對1的多工器 多工器又可以叫做”選擇器” 少 多 op Sel(選擇)
No-of-sel=[log2ni]=[log28]=3,sel=3 a b c d e f g h op Sel(選擇) 8x1MUX

5 真值表 sel op 0 0 0 a 0 0 1 b 0 1 0 c 0 1 1 d 1 0 0 e 1 0 1 f 1 1 0 g 1 1 1 h

6 程式 library ieee; use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity mux8_1 is ic內部要做的電路名稱 port( 接腳 a,b,c,d,e,f,g,h:in std_logic; a,b,c,d,e,f,g,h為輸入腳位 sel: in std_logic_vector(2 downto 0); --sel為輸入腳位 op: out std_logic op為輸出腳 ); end;

7 architecture behav of mux8_1 is --電路內部結構
begin process(a,b,c,d,e,f,g,h,sel) 處理影響輸入的訊號a,b,c,d,e,f,g,h,sel if sel="000" then op<=a; 輸入sel為"000"時,op會搬入 a elsif sel="001" then op<=b; 輸入sel為"001"時,op會搬入 b elsif sel="010" then op<=c; 輸入sel為"010"時,op會搬入 c elsif sel="011" then op<=d; 輸入sel為"011"時,op會搬入 d elsif sel="100" then op<=e; 輸入sel為"100"時,op會搬入 e elsif sel="101" then op<=f; 輸入sel為"101"時,op會搬入 f elsif sel="110" then op<=g; 輸入sel為"110"時,op會搬入 g else op<=h; 輸入sel為"111"時,op會搬入 h end if; 結束if程式 end process; 結束process程式 end behav; 程式結束

8 實驗結果(1) 輸入sel為“000”時,且a為‘1’時,op燈亮。 輸入sel為“001”時,且b為‘1’時,op燈亮。

9 實驗結果(2) 輸入sel為“010”時,且c為‘1’時,op燈亮。 輸入sel為“011”時,且d為‘1’時,op燈亮。

10 實驗結果(3) 輸入sel為“100”時,且e為‘1’時,op燈亮。 輸入sel為“101”時,且f為‘1’時,op燈亮。

11 實驗結果(4) 輸入sel為“110”時,且g為‘1’時,op燈亮。 輸入sel為“111”時,且h為‘1’時,op燈亮。

12 參考資料 主要的資料內容是參考王志湖老師上課所教授的內容及“數位邏輯”這本書。

13 END


Download ppt "使用VHDL設計-8x1多工器 通訊一甲 B09622048 楊穎穆."

Similar presentations


Ads by Google