Download presentation
Presentation is loading. Please wait.
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
Similar presentations