CH10_程序处理与状态机电路设计要点.ppt
文本预览下载声明
Case-when敘述指令 Case-when敘述指令Example:四對一的多工器設計 Case-when敘述指令Example:一對四的解多工器設計 Case-when敘述指令Example:JK正反器設計 Case-when敘述指令Example:ALU設計 Case-when敘述指令Example:ALU設計(續) Case-when敘述指令Example:簡易ALU設計實例 狀態機(State Machine)電路設計 狀態機(State Machine)電路設計Example:計數器設計 狀態機(State Machine)電路設計Example:計數器設計 狀態機(State Machine)電路設計Example:計數器設計 狀態機(State Machine)電路設計Example:計數器設計(續) 狀態機(State Machine)電路設計Moore狀態機 狀態機(State Machine)電路設計Moore狀態機時序模擬(續) D型正反器激勵表以及狀態圖 JK型正反器激勵表以及狀態圖 T型正反器激勵表以及狀態圖 狀態機(State Machine)電路設計Mealy狀態機 狀態機(State Machine)電路設計Mealy狀態機時序模擬(續) 狀態機(State Machine)電路設計Mealy狀態機時序模擬(續) EXAMPLE:能偵測輸入位元序列之Moore狀態機設計一 EXAMPLE:能偵測輸入位元序列之Moore狀態機設計二 有限狀態機(FSM)的VHDL描述形式 LOOP敘述 LOOP敘述 NEXT、EXIT、NULL 敘述 NEXT、EXIT、NULL 敘述 NEXT、EXIT、NULL 敘述 以For-Loop指令敘述完成一個四位元加法器的設計 以For-Loop指令敘述完成一個四位元移位暫存器的設計 偶同位元產生器及檢查器 偶同位元產生器 偶同位元檢查器 ? architecture a of shift4 is signal temp : std_logic_vector(3 downto 0); begin process(clk) begin IF clkevent and clk=1 then temp(3)=data; For I IN 1 to 3 LOOP temp(3-I)=temp(4-I); END LOOP; END IF; end process ; Q=temp; end a; Library IEEE; use IEEE.std_logic_1164.all; entity shift4 IS port( data,clk :in std_logic; Q :out std_logic_vector(3 downto 0)); end shift4; 在四位元的資料後面加上同位元以形成五位元的偶同位元系統: 1101 ? 11011 1111 ? 11110 0000 ? 00000 1000 ? 10001 * * 程序處理與狀態機 電路設計 第十章 儒林圖書公司 SIM896a VHDL數位電路設計實務教本 第三版 Case-when指令本身是敘述組合邏輯的,但它卻必須在Process指令中執行,因此它是序向邏輯指令之一 ,其語法如下: Case 選擇訊號 IS When 選擇訊號1 = 敘述命令1; When 選擇訊號2 = 敘述命令2; : When Others = 敘述命令N; End Case; library IEEE; use IEEE.STD_LOGIC_1164.all; ENTITY mux4to1_case IS ? PORT ( S : IN STD_LOGIC_VECTOR(1 downto 0); D0,D1,D2,D3 : IN STD_LOGIC; Y :OUT STD_LOGIC ); END mux4to1_case; ARCHITECTURE a OF mux4to1_case IS BEGIN process(S,D0,D1,D2,D3) Begin Case S IS When 00= Y=D0; When 01= Y=D1;
显示全部