實驗五 用狀態(tài)機實現(xiàn)序列檢測器的設(shè)計

ID:11663886

大?。?46.50 KB

頁數(shù):4頁

時間:2018-07-13

實驗五  用狀態(tài)機實現(xiàn)序列檢測器的設(shè)計_第1頁
實驗五  用狀態(tài)機實現(xiàn)序列檢測器的設(shè)計_第2頁
實驗五  用狀態(tài)機實現(xiàn)序列檢測器的設(shè)計_第3頁
實驗五  用狀態(tài)機實現(xiàn)序列檢測器的設(shè)計_第4頁
資源描述:

《實驗五 用狀態(tài)機實現(xiàn)序列檢測器的設(shè)計》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、電子設(shè)計自動化實驗報告實驗五用狀態(tài)機實現(xiàn)序列檢測器的設(shè)計一、實驗?zāi)康?.熟悉QuartusⅡ軟件應(yīng)用環(huán)境,了解實驗流程。2.編寫簡單的Verilog代碼,并在QuartusⅡ中進行調(diào)試和驗證,并在EDA6000中下載代碼和驗證。3.掌握用狀態(tài)機(StateMachine)實現(xiàn)序列檢測器的設(shè)計。二、實驗原理假設(shè)檢測器預(yù)先已經(jīng)設(shè)定一個8位序列d,那么當(dāng)由din端口串行輸入的一個8位序列,與d完全相同時,檢測器輸出代碼1010,即在試驗箱上的LED上顯示一個“A”;否則,檢測器輸出1110,即在試驗箱上的LED上顯示一個“E”。

2、同時,當(dāng)清零信號clr有效時,輸出為1110。由清零信號clr和輸入信號din共同控制狀態(tài)機的狀態(tài)變化。三、實驗內(nèi)容1、檢測一組二進制序列信號,當(dāng)連續(xù)的脈沖信號和預(yù)先設(shè)定的序列d相同時,顯示字符“A”,否則顯示“E”。2、使用工具為譯碼器建立一個元件符號3、設(shè)計仿真文件,進行驗證。4、編程下載并在實驗箱上進行驗證。四、實驗步驟1.新建Verilog工程項目,編寫代碼并保存至與模塊名對應(yīng)的項目文件夾。2.編譯程序,編譯無誤后,在【tools】>【netlistviewers】里面選擇RTLViewer,觀察電路結(jié)構(gòu);在【to

3、ols】>【netlistviewers】里面選擇StateMachineViewer,查看狀態(tài)機轉(zhuǎn)換圖。3.新建波形文件進行仿真。保存時要和源程序存放在同一目錄下。設(shè)置好輸入波形參數(shù)后,開始仿真。在仿真后輸入輸出波形中觀察邏輯關(guān)系是否正確。4.將實驗箱和PC合理連接起來。打開EDA6000軟件,設(shè)置好芯片類型為ACEX1K(EP1K30TC144-3),載入模式12。5.根據(jù)EDA6000界面內(nèi)管腳對應(yīng)芯片的實際管腳在QUARTUSⅡ里面設(shè)定管腳號并檢查無誤。6.將程序下載至FPGA內(nèi),并在EDA6000軟件界面內(nèi)進行驗

4、證測試。程序代碼moduleSCHK(clk,din,clr,d,err);inputclk,din,clr;input[7:0]d;output[3:0]err;parameters0=0,s1=1,s2=2,s3=3,s4=4,s5=5,s6=6,s7=7,s8=8;reg[8:0]cs,ns;reg[3:0]err;always@(posedgeclkorposedgeclr)beginif(clr)cs<=s0;elsecs<=ns;case(cs)s0:if(din==d[0])ns<=s1;elsens<=s0

5、;電子設(shè)計自動化實驗報告s1:if(din==d[1])ns<=s2;elsens<=s0;s2:if(din==d[2])ns<=s3;elsens<=s0;s3:if(din==d[3])ns<=s4;elsens<=s0;s4:if(din==d[4])ns<=s5;elsens<=s0;s5:if(din==d[5])ns<=s6;elsens<=s0;s6:if(din==d[6])ns<=s7;elsens<=s0;s7:if(din==d[7])ns<=s8;elsens<=s0;s8:ns<=s8;defa

6、ultns<=s0;endcaseendalways@(ns)beginif(ns==s8)err<=4'b1010;elseerr<=4'b1110;endendmodule電子設(shè)計自動化實驗報告編譯:選擇processing---startcompilation命令,開始編譯。也可直接點擊面板上編譯按鈕。結(jié)果如圖:RTLViewer:選擇Tools---netlistviewers---RTLviewer命令,查看寄存器電路結(jié)構(gòu)圖,結(jié)果如圖:電子設(shè)計自動化實驗報告StateMachineViewer:選擇Tools--

7、-netlistviewers---StateMachineViewer,查看狀態(tài)機轉(zhuǎn)換圖。仿真結(jié)果:當(dāng)輸入信號din與預(yù)先設(shè)定好的序列d完全相同時,仿真結(jié)果:當(dāng)輸入信號din與預(yù)先設(shè)定好的序列d不完全相同時,仿真結(jié)果:設(shè)置引腳,試驗箱驗證:啟動EDA6000,連接試驗箱。裝入模式12。根據(jù)右側(cè)管腳提示進行管腳鎖定。在QuartusⅡ界面中選擇assignment—pins命令。可以用拖放的方式指定管腳,也可以在location中輸入管腳號。然后在QuartusⅡ界面中選擇tools---programmer命令。在彈出的

8、界面中Mode選為passiveserial。點擊add電子設(shè)計自動化實驗報告hardware,選擇byteblasterMV,添加驅(qū)動成功后,勾選program/configure,點擊start,下載文件到試驗箱。點擊EDA6000start,開始測試。結(jié)果如圖:五、實驗總結(jié)通過本次實驗掌握了如何用

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。
关闭