160 likes | 340 Views
國立宜蘭大學電機工程系. 國立宜蘭 大學. 電機工程系. 課程 4-- 自由計數器. 彭世興教師 編製. 輸 入. 順序邏輯. 輸 出. 時間 ( 順序 ). 國立宜蘭大學電機工程系. 1. 順序邏輯 電路的時基 ( 時間軸 ). RS , JK 正反器 , …. 國立宜蘭大學電機工程系. 2. Spartan3 發展板 系統 Clock : 50MHz. 系統 Clock 50MHz 方波. process 的敘述. 若沒有 if 及 wait 指令時. process 的敘述. 有 if 及 wait 指令時.
E N D
國立宜蘭大學電機工程系 國立宜蘭大學 電機工程系 課程4--自由計數器 彭世興教師 編製
輸 入 順序邏輯 輸 出 時間 (順序) 國立宜蘭大學電機工程系 1. 順序邏輯電路的時基(時間軸) RS , JK正反器, ….
國立宜蘭大學電機工程系 2. Spartan3發展板系統Clock : 50MHz 系統Clock 50MHz 方波
process的敘述 若沒有if 及wait指令時 process的敘述 有if 及wait指令時 國立宜蘭大學電機工程系 為組合邏輯指令輸入改變輸出馬上改變 為順序邏輯指令 條件訊號有變化時process才會執行一次
CK 國立宜蘭大學電機工程系 以 if … then …end if指令設計一個下緣觸發的自由計數器: 下緣觸發 程式的架構 Architecture 部份為: process ( CK ) begin if ( CK’ event ) and ( CK = ‘ 0 ’ ) then Q <= Q+1 ; end if ; end process; CK’ event = CK變化時
CK 國立宜蘭大學電機工程系 以 if … then …end if指令設計一個上緣觸發的自由計數器: 上緣觸發 程式的架構 Architecture 部份為: process ( CK ) begin if ( CK’ event ) and ( CK = ‘ 1 ’ ) then Q <= Q+1 ; end if ; end process;
週期 T 國立宜蘭大學電機工程系 自由計數器的 n bit = 除頻器 3. 自由計數器(3 bit) 週期 T = 1 / f (sec) 頻率 f = 1 / T (Hz) 週期 =T 頻率= f 週期 =2T 頻率= f/2 0 0 0 1 0 0 0 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 1 1 0 0 0 週期 =4T 頻率= f/4 週期 =8T 頻率= f/8
國立宜蘭大學電機工程系 自由計數器的 n bit = 除頻器 f = 50MHz Q(0) = 25MHz Q(1) = 12.5MHz Q(2) = 6.25MHz Q(23) = 50MHz/(2^24)=2.9802Hz => T = 0.1678sec
國立宜蘭大學電機工程系 LED 顯示的查表法設計方式 以“when … else” 與 “case …when ” 指令完成查表法
國立宜蘭大學電機工程系 “when … else”為組合邏輯指令不能用於順序邏輯的描述 ARCHITECTUREbehaviorOF ex4 IS BEGIN LED _out <= “00000001” when sel = “000” else “00000010” when sel = “001” else “00000100” when sel = “010” else “00001000” when sel = “011” else “00010000” when sel = “100” else “00100000” when sel = “101” else “01000000” when sel = “110” else “10000000”; END behavior;
國立宜蘭大學電機工程系 “case …when ”為順序邏輯指令不能用於組合邏輯的描述 process (sel) caseselis when “000” => LED _out <= “00000001” ; when “001” => LED _out <= “00000010”; when “010” => LED _out <= “00000100” ; when “011” => LED _out <= “00001000”; when “100” => LED _out <= “00010000” ; when “101” => LED _out <= “00100000”; when “110” => LED _out <= “01000000” ; when others “10000000”; end case; END process;
國立宜蘭大學電機工程系 “when … else” 與 “case …when ” 指令的差異 “case …when ”為順序邏輯指令不能用於組合邏輯的描述 “when … else”為組合邏輯指令不能用於順序邏輯的描述 “when … else”指令用於並行模式只准許一個輸出訊號 “case …when ”指令用於循序模式可准許多個輸出訊號
國立宜蘭大學電機工程系 練習題目4:8個LED自動輪流亮滅
國立宜蘭大學電機工程系 控制方塊圖
國立宜蘭大學電機工程系 vhd程式檔