序向逻辑电路与状态机设计

上传人:飞*** 文档编号:52153198 上传时间:2018-08-18 格式:PPT 页数:103 大小:2.49MB
返回 下载 相关 举报
序向逻辑电路与状态机设计_第1页
第1页 / 共103页
序向逻辑电路与状态机设计_第2页
第2页 / 共103页
序向逻辑电路与状态机设计_第3页
第3页 / 共103页
序向逻辑电路与状态机设计_第4页
第4页 / 共103页
序向逻辑电路与状态机设计_第5页
第5页 / 共103页
点击查看更多>>
资源描述

《序向逻辑电路与状态机设计》由会员分享,可在线阅读,更多相关《序向逻辑电路与状态机设计(103页珍藏版)》请在金锄头文库上搜索。

1、第三章序向邏輯電路與狀態機 設計VHDL數位電路實習與專題設計 文魁資訊-UE301陳慶逸、林柏辰編著-文魁 資訊1VHDL數位電路實習與專題設計第三章 序向邏輯電路與狀態機設計內容大綱n3-1 順序性敘述的使用 n3-2 狀態機電路設計 2-3 VHDL的指定敘述與基本語法 n單元4:算術邏輯(ALU)運算單元實習 n單元5:除頻器與計數器實習 n單元6:多工掃描式七段顯示器實習陳慶逸、林柏辰編著-文魁資訊2VHDL數位電路實習與專題設計第三章 序向邏輯電路與狀態機設計3-1順序性敘述的使用 陳慶逸、林柏辰編著-文魁資訊3VHDL數位電路實習與專題設計第三章 序向邏輯電路與狀態機設計3-1-

2、1 If-Then-Else敘述 順序性敘述指令必須要放在PROCESS程式主體內使用,關於If-Then-Else敘述 的語法如下:If (條件1) Then-若(條件1)情況發生時,則執行 指令敘述; Elsif (條件2) Then-否則若是(條件2)情況發生時,則執行 指令敘述; : Else-否則則執行 指令敘述; End If; -宣告結束陳慶逸、林柏辰編著-文魁資訊4VHDL數位電路實習與專題設計第三章 序向邏輯電路與狀態機設計nD型正反器3-1-1 If-Then-Else敘述 CLKDQ(t+1)0XQ(t)1XQ(t)1100LIBRARY IEEE; USE IEEE.S

3、TD_LOGIC_1164.ALL;ENTITY dff_v is PORT( CLK,D : INSTD_LOGIC;Q: OUTSTD_LOGIC ); END dff_v;ARCHITECTURE a OF dff_v IS BEGIN PROCESS (CLK) BEGIN IF CLKevent AND CLK=1 THENQ 敘述命令1; When 選擇訊號2 =敘述命令2;:When Others =敘述命令N; End Case; nCase-when指令本身是敘述組合邏輯的,但它卻必須在Process指令 中執行,因此它是序向邏輯指令之一 ,其語法如下陳慶逸、林柏辰編著-文魁

4、資訊11VHDL數位電路實習與專題設計第三章 序向邏輯電路與狀態機設計3-1-3 case-when敘述C00001111S100110011S001010101OperationFFFFFFFFF IF X = 0 THEN next_state IF X = 0 THEN next_state IF X = 0 THEN next_state IF X = 0 THEN next_state IF X = 0 THEN next_state IF X = 0 THEN next_state IF X = 0 THEN next_state IF X = 0 THEN next_state

5、25 F 27 F 29 F 31 F 36 F 38 F 40 F 42 F clk clk clk clk clk led led led led led led led led led 低音調高頻-高音調一週期陳慶逸、林柏辰編著-文魁資訊49VHDL數位電路實習與專題設計第三章 序向邏輯電路與狀態機設計單元5-3 簡易電子琴設計陳慶逸、林柏辰編著-文魁資訊50VHDL數位電路實習與專題設計第三章 序向邏輯電路與狀態機設計單元5-3 簡易電子琴設計n實驗功能限於FPT-3實驗板上的EPM7064SLC44-10這顆晶片僅有64個LCs的容量,因 此實驗中我們僅實驗Do和Rai兩個音:SW1

6、(指撥開關設定為01)-Do SW2(指撥開關設定為10)-Rai至於力浦LP-2900、Altera UP1 X實驗板或其他SRAM製程技術的CPLD晶片 (如FLEX 10K系列)的元件一般來說可規劃的容量均甚大,在進行實驗時應 較不需要如此特別留意容量限制的問題。陳慶逸、林柏辰編著-文魁資訊51VHDL數位電路實習與專題設計第三章 序向邏輯電路與狀態機設計單元5-3 簡易電子琴設計n實驗電路圖陳慶逸、林柏辰編著-文魁資訊52VHDL數位電路實習與專題設計第三章 序向邏輯電路與狀態機設計單元5-3 簡易電子琴設計n程式與說明簡易電子琴實習除頻器程式碼: 8 library ieee; 9

7、use ieee.std_logic_1164.all; 10 use ieee.std_logic_unsigned.all; 11 use ieee.std_logic_arith.all; 12 13 entity clk_div_music is 14 generic(divisor:integer:=31); 15 port( 16 clk_in : in std_logic; 17 clk_out: out std_logic 18 ); 19 end clk_div_music; 20 21 architecture arch of clk_div_music is 22 sig

8、nal cnt2 : std_logic; 23 begin24 - clk divider - 25 process(clk_in) 26 variable cnt1,divisor2 : integer range 0 to divisor; 27 begin 28 divisor2:=divisor/2; 29 - up counter - 30 if (clk_inevent and clk_in=1) then 31 if cnt1 = divisor then 32 cnt1 := 1; 33 else 34 cnt1 := cnt1 + 1; 35 end if; 36 end

9、if;陳慶逸、林柏辰編著-文魁資訊53VHDL數位電路實習與專題設計第三章 序向邏輯電路與狀態機設計單元5-3 簡易電子琴設計n程式與說明簡易電子琴實習除頻器程式碼(續) : 37 - clk_out register clk generator - 38 if (clk_inevent and clk_in=1) then 39 if ( cnt1 = divisor2) or (cnt1 = divisor)then 40 cnt2 7045 37 port map(clk,clk1); 38 u2: clk_div_music陳慶逸、林柏辰編著-文魁資訊55VHDL數位電路實習與專題設計

10、第三章 序向邏輯電路與狀態機設計單元5-3 簡易電子琴設計n程式與說明簡易電子琴主程式碼 (續)39 generic map(6275) -Rai 293.7Hz 1.8432M-6275 40 port map(clk,clk2); 41 42 - process - 43 process (sel,clk1,clk2) 44 begin 45 case sel is 46 when “01“ = music_out Do 47 when “10“ = music_out Rai 48 when others = music_out =9) then -carry in (one) 37 q

11、_one_temp=9) then -carry in (ten) 39 q_ten_temp 56 bin 61 bin 66 null; 67 end case; 68 end if; 69 end if; 70 end process; 71陳慶逸、林柏辰編著-文魁資訊86VHDL數位電路實習與專題設計第三章 序向邏輯電路與狀態機設計單元6-1 二位數BCD計數器設計n程式與說明多工掃描顯示之七段顯示器解碼電路設計程式碼 (續)72 -binary to seven segment decoder- 73 process (bin) 74 begin 75 case bin is 75

12、when “0000“ = seg seg seg seg seg seg seg seg seg seg seg = “1111111“; 87 end case; 88 end process; 89 90 end arch; 陳慶逸、林柏辰編著-文魁資訊87VHDL數位電路實習與專題設計第三章 序向邏輯電路與狀態機設計單元6-1 二位數BCD計數器設計n程式與說明低電位動作之四對八解碼電路程式碼 (略)掃描式多工顯示之兩位數BCD計數器主程式碼 11 entity up_scan_top is 12 port ( 13 clk : in std_logic; - 1.8432 MHz 1

13、4 rst_n : in std_logic; 15 ce : in std_logic; 16 led_en : in std_logic; 17 seg_en : in std_logic; 18 led : out std_logic_vector(7 downto 0); 19 seg_out : out std_logic_vector(6 downto 0); 20 seg_one_en: out std_logic; 21 seg_ten_en: out std_logic 22 ); 23 end up_scan_top; 24 25 architecture arch of up_scan_top is 2627 -COMPONENT DECLARED- 28 -clk_div 1hz 64hz component- 29 component clk_div_1_64 30 port( 31 clk_in : in std_logic; 32 clk_out1: out std_logic; 33 clk_out2: out std_logic 34 ); 35 end component; 36 37

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号