1、邏輯設計期中考,通訊一甲江典蔚B09622054,考試內容,1. 使用VHDL設計一個可變式計數器電路2. 將電路加以模擬3. 將程式燒錄到IC執行,程式內容,library ieee; -宣告使用的零件庫use ieee.std_logic_1164.all; -使用的零件包裝use ieee.std_logic_arith.all; -使用的零件包裝use ieee.std_logic_unsigned.all; -使用的零件包裝entity up_x is -宣告一個叫做up_x的實體 port( -宣告up_x實體的腳位 X :in std_logic_vector(3 downto
2、0); -輸入阜有 X 輸入腳,屬標準邏輯零件 clock:in std_logic; -輸入阜有 clock 輸入腳,屬標準邏輯零件 reset:in std_logic; -輸入阜有 reset 輸入腳,屬標準邏輯零件 Z :out std_logic_vector(6 downto 0) -輸出阜有 Z (7bits)輸出腳,屬標準邏輯零件 );end;,architecture behavioral of up_x is -up_x實體的架構signal Y:std_logic_vector(3 downto 0); -宣告Y變數 4bitsbegin -架構開始 up:process
3、(Y) -宣告本段處理(up)用的變數 Y begin -處理開始 if Y=“0000” then Z=“0000001”; - 當輸入為0000時七段顯示為零 elsif Y=0001 then Z=1001111; -當輸入為0001時七段顯示為零 elsif Y=0010 then Z=0010010; -當輸入為0010時七段顯示為零 elsif Y=“0011” then Z=“0000110”; -當輸入為0011時七段顯示為零 elsif Y=0100 then Z=1001100; -當輸入為0100時七段顯示為零 elsif Y=0101 then Z=0100100; -
4、當輸入為0101時七段顯示為零 elsif Y=0110 then Z=0100000; -當輸入為0110時七段顯示為零 elsif Y=“0111” then Z=“0001111”; -當輸入為0111時七段顯示為零 elsif Y=“1000” then Z=“0000000”; -/當輸入為1000時七段顯示為零 elsif Y=1001 then Z=0001100; -/當輸入為1001時七段顯示為零 elsif Y=1010 then Z=0001000; -/當輸入為1010時七段顯示為零 elsif Y=1011 then Z=1100000; -/當輸入為1011時七段顯
5、示為零 elsif Y=“1100” then Z=“0110001”; -/當輸入為1100時七段顯示為零 elsif Y=1101 then Z=1000010; -/當輸入為1101時七段顯示為零 elsif Y=1110 then Z=0110000; -/當輸入為1110時七段顯示為零 elsif Y=1111 then Z=0111000; -/當輸入為1111時七段顯示為零 else Z=XXXXXXX; -/dont care end if; -電路敘述結束 end process; -up處理結束,bin2seg:process(Y,clock,reset) -宣告本段處理(bin2seg)用的變數 Y begin -處理開始 if(reset=0) then Y=“0000”; -如果reset=0,那“0000”就搬入Y else -否則就會執行下列動作 if(Clockevent and clock=1) then正源觸發 if(Y=X+1) then Y=0000; else Y=Y+1; end if; end if; end if; -電路敘述結束 end process bin2seg; -bin2seg處理結束end behavioral;,實驗成果,