數(shù)字邏輯實驗 8_序列檢測器

上傳人:痛*** 文檔編號:160669295 上傳時間:2022-10-11 格式:DOC 頁數(shù):7 大小:139.50KB
收藏 版權(quán)申訴 舉報 下載
數(shù)字邏輯實驗 8_序列檢測器_第1頁
第1頁 / 共7頁
數(shù)字邏輯實驗 8_序列檢測器_第2頁
第2頁 / 共7頁
數(shù)字邏輯實驗 8_序列檢測器_第3頁
第3頁 / 共7頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《數(shù)字邏輯實驗 8_序列檢測器》由會員分享,可在線閱讀,更多相關(guān)《數(shù)字邏輯實驗 8_序列檢測器(7頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、實驗八 序列檢測器的設(shè)計與仿真 一、 實驗要求 1. 用VHDL語言設(shè)計一個Mealy機以檢測“1101001”序列; 2. 用VHDL語言設(shè)計一個Moore機以檢測“1101001”序列; 3. 在文本編輯區(qū)使用VHDL硬件描述語言設(shè)計邏輯電路,再利用波形編輯區(qū)進行邏輯功能仿真,以此驗證電路的邏輯功能是否正確。 二、 實驗內(nèi)容 用VHDL語言設(shè)計各一個mealy和moore狀態(tài)機測試“1101001”位串的序列檢測器,并通過仿真波形驗證設(shè)計的功能是否正確。 三、 實驗過程 由于在報告1中已經(jīng)詳盡描述了如何使用Quartus 2建立邏輯原理圖和使用VHDL語言實現(xiàn)元件功能,所以

2、本次的實驗報告中便不再贅述上述內(nèi)容,報告將主要就VHDL語言描述實現(xiàn)元件的功能的過程進行闡述。 1. Mealy機 選擇File→New,彈出新建文本對話框,在該對話框中 選擇VHDL File并單擊OK按鈕,進入文本編輯窗口,輸入VHDL代碼。 library ieee; use ieee.std_logic_1164.all; entity melay is port(clk,rst,d: in std_logic; z: out std_logic); end melay; architecture arc of melay is type

3、state_type is(s0,s1,s2,s3,s4,s5,s6); signal state: state_type; begin process(clk,rst) begin if rst= '1' then state<=s0; elsif (clk'event and clk ='1') then case state is --1101001 when s0 => if d='1' the

4、n state<=s1; else state<=s0; end if; when s1=> if d='1' then state<=s2; else state<=s0; end if;

5、 when s2=> if d='0' then state<=s3; else state<=s2; end if; when s3=> if d='1' then state<=s4; else state<=s0; end if; when s4=> if d='0' then

6、 state<=s5; else state<=s1; end if; when s5=> --1101001 if d='0' then state<=s6; else state<=s1; end if; when s6=> if d='1' then state<=s0; e

7、lse state<=s0; end if; end case; end if; end process; process(state,d) begin case state is when s6=> if d='1' then z<='1'; else z<='0'; end if; when others=> z<='0'; end cas

8、e; end process; end arc; 保存文件并編譯,選擇菜單File→New,選擇Vector Waveform File新建波形圖,添加節(jié)點,參數(shù)設(shè)置為:End Time=2us, Grip size=50ns。所完成的波形圖如下圖: 波形解釋:rst為復(fù)位端,高電平有效,返回最初狀態(tài);clk為時鐘信號輸入端口;,state。s0~s6表示mealy機中各步狀態(tài);z表示檢測序列為“1101001”時,表示輸出高電平。 保存波形文件,并在settings中選擇functional功能仿真,繪制網(wǎng)格,仿真可得出如圖波形: 根據(jù)mealy狀態(tài)表和序列檢測器相應(yīng)功能

9、驗證,當(dāng)rst=‘1’時,不管當(dāng)前狀態(tài)為何,都將被初始為最初態(tài)s0;當(dāng)輸入d端依次輸入“1101001”時,當(dāng)檢測到最后一位輸入正確的同時,z端馬上跳為高電平,表示所檢測序列正確。其他可看出,當(dāng)處于時鐘上升沿時,state中各狀態(tài)依照輸入數(shù)據(jù)依次跳變。最后mealy機成功檢測出相應(yīng)序列,設(shè)計成功。 已知序列檢測器的Mealy機狀態(tài)表為: 現(xiàn) 態(tài) (present_state) 次態(tài) / 輸出(next_state / cout) cin=0 cin=1 S0 S0 / 0 S1 / 0 S1

10、 S0 / 0 S2 / 0 S2 S0 / 0 S3 / 0 S3 S4 / 0 S3 / 0 S4 S5 / 0 S1 / 0 S5 S0 / 0 S6 / 0 S6 S0 / 1 S2 / 0 同樣可依次對照上述仿真圖形,顯然上述序列檢測器mealy機功能設(shè)計正確。 2. 序列檢

11、測器moore機 選擇File→New,彈出新建文本對話框,在該對話框中 選擇VHDL File并單擊OK按鈕,進入文本編輯窗口,輸入VHDL代碼。 library ieee; use ieee.std_logic_1164.all; entity moore is port(clk,rst,d: in std_logic; z: out std_logic); end moore; architecture arc of moore is --moore: 輸出只和當(dāng)前狀態(tài)有關(guān); type state_type is(s0,s

12、1,s2,s3,s4,s5,s6,s7); signal state:state_type; begin process(clk,rst) begin if rst= '1' then --1101001 state<=s0; elsif(clk'event and clk='1') then case state is --1101001 when s0 =>

13、 if d='1' then state<=s1; else state<=s0; end if; when s1=> if d='1' then state<=s2; else state<=s0; e

14、nd if; when s2=> if d='0' then state<=s3; else state<=s2; end if; when s3=> if d='1' then state<=s4; else state<=s0; end if; when s4=> if d='0'

15、then state<=s5; else state<=s1; end if; when s5=> --1101001 if d='0' then state<=s6; else state<=s1; end if; when s6=> if d='1' then state<=

16、s7; else state<=s0; end if; when s7=> if d='1' then state<=s1; else state<=s0; end if; end case; end if; end process; process(state,d) begin case state is when s6=> if d='

17、1' then z<='1'; else z<='0'; end if; when others=> z<='0'; end case; end process; end arc; 可看出,moore機的設(shè)計和mealy機上大體相同,只有在狀態(tài)的傳遞上有細微區(qū)別。 保存文件并編譯,選擇菜單File→New,選擇Vector Waveform File新建波形圖,添加節(jié)點,參數(shù)設(shè)置為:End Time=3us, Grip size=50ns。所完

18、成的波形圖如下圖: 圖中各端口設(shè)置功能同mealy機。 保存波形文件,并在settings中選擇functional功能仿真,繪制網(wǎng)格,仿真可得出如圖波形: 仿真波形分析: 由于設(shè)計的moore狀態(tài)機檢測序列功能相同,與mealy不同在于當(dāng)狀態(tài)跳變判斷s7時,z端才跳變?yōu)楦唠娖健8鶕?jù)剛剛對mealy機的仿真分析和下表的狀態(tài)值變化顯然可知,moore機實現(xiàn)了檢測序列“1101001”的功能,設(shè)計成功。 已知序列檢測器的Mealy機狀態(tài)表為: 現(xiàn) 態(tài) (present_state) 次態(tài) 輸出 z d=0 d=1 S0 S0 S1 0 S1 S0

19、S2 0 S2 S0 S3 0 S3 S4 S3 0 S4 S5 S1 0 S5 S0 S6 0 S6 S0 S7 0 S7 s0 s1 1 四、 總結(jié) 本節(jié)實驗中,通過對用VHDL語言對mealy狀態(tài)機和moore狀態(tài)機進行設(shè)計,更加熟練了使用VHDL語言對元件的設(shè)計。也通過用不同的狀態(tài)機設(shè)計序列檢測器,而對兩種狀態(tài)機的區(qū)別有了更深刻的了解。Moore狀態(tài)機輸出只和當(dāng)前狀態(tài)有關(guān),而mealy機輸出和當(dāng)前狀態(tài)和輸入信號有關(guān),由于moore機沒有組合邏輯,所以moore機的狀態(tài)會多一些。也對序列檢測器的實現(xiàn)使得我對序列檢測器的作用和功能了

20、之于心。一開始沒有弄清moore機和mealy機的區(qū)別,導(dǎo)致后來寫moore機的時候出現(xiàn)了停滯,不過在弄清他們的區(qū)別時候,寫出moore機就沒什么問題了。 不已然,已經(jīng)到了數(shù)字邏輯的最后一個實驗了,回想做實驗時,有苦有樂,從開始的對VHDL語言的一竅不通,到現(xiàn)在可以用它設(shè)計簡單的元件并實現(xiàn)功能,實驗中我收獲了許多,實驗對我成長的幫助必不可少。雖然馬上就要結(jié)束實驗,不過還有許多VHDL語言的奧妙在可以發(fā)揮它的地方等待著我們?nèi)ヌ剿?,我也會繼續(xù)探索VHDL語言,用它來實現(xiàn)更多好玩好用的東西。 2013/12/23

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!