




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、西安郵電大學數字控制系統課程設計報告書院(系)名稱:自動化學院學生姓名:自動化專業名稱:自動11032014年9月1日至2014年9月12日乘法器設計一、設計要求:計時精度10ms,計時范圍59.99秒。(1) 對單人計時,能實現暫停、顯示及清零功能,在數碼管上實時顯示,設置啟動/暫停、清零按鍵;(2) 對多個人同時計時,在數碼管上實時顯示,并能回顯出六個時間。可控制顯示,設置清零、取時按鍵;(3) 采用狀態機設計;(4) 百分秒在數碼管上實時顯示,秒利用多個數碼管顯示BCD值。二、設計過程:1. 方案設計:1) 畫狀態圖:按鍵狀態輸出復位: 00開始: S0清 零: z=0;啟/ 停:01計
2、數:S1不清零: z=1;存/ 回顯:10暫停: S2存/ 回顯: S32)寫程序:在一個 module 模塊里,有多個 always 塊; 有分頻、計數、存儲、輸出等模塊; 測試模塊的輸入輸出與源程序的輸入輸出相反;2. 系統仿真:Verilog 仿真所需仿真環境: modelsim3. 管腳配置:1.四、軟件設計 :源程序秒高,秒module paobiao(clk,rst,pause,save,mg,md,bg,bd);/低,百分秒高,百分秒低input clk,rst,pause,save;output reg 3:0 mg,md,bg,bd;reg 15:0 zd,zz,zg;/中間
3、變量reg 17:0 count1;reg clk1;/100msreg pause_temp,save_temp;/ 取上升沿reg 13:0 count2,reg0,reg1,reg2,reg3,reg4,reg5;reg 2:0 count3;/reg 1:0 state,next_state;reg cn1;parameter S0=2'b00,S1=2'b01,S2=2'b11;/ 分頻always (posedge clk or negedge rst)begin if(!rst) count1<=0;else if(count1=200000) co
4、unt1<=0;/200000 else count1<=count1+1;end always (posedge clk ) begin if(!rst) clk1<=0;else if(count1=99999) clk1<=clk1;/99999else clk1<=clk1;end/ 總計時always (negedge clk1 or negedge rst)/clk1begin if(!rst) count2<=0;else if(state=S1) count2<=count2+1;/ else if(state=S2) count2&l
5、t;=count2;else count2<=count2;end/ 存儲個數計數always (negedge rst or negedge save)begin if(!rst) count3<=0;else if (next_state=S1) count3<=count3+1;else if (next_state=S2) count3<=count3-1;else count3<=count3;end/ 毫秒低位顯示結果always (negedge rst or posedge clk)begin if(!rst) bd<=0;else if(s
6、tate=S1) bd<=count2%10;else if(state=S2) begin case (count3)3'b000:bd<=reg0%10;3'b001:bd<=reg1%10;3'b010:bd<=reg2%10;3'b011:bd<=reg3%10;3'b100:bd<=reg4%10;3'b101:bd<=reg5%10;default:bd<=reg0%10;endcaseendelsebd<=bd;end/ 毫秒高位顯示結果always (negedge rst o
7、r posedge clk)begin if(!rst) bg<=0;else if(state=S1) bg<=(count2/10)%10;else if(state=S2) begin case (count3)3'b000:bg<=(reg0/10)%10;3'b001:bg<=(reg1/10)%10;3'b010:bg<=(reg2/10)%10;3'b011:bg<=(reg3/10)%10;3'b100:bg<=(reg4/10)%10;3'b101:bg<=(reg5/10)%10
8、;default:bg<=(reg0/10)%10;endcaseelseend bg<=bg;end/ 秒位顯示結果always (negedge rst or posedge clk)begin if(!rst) md<=0;else if(state=S1) md<=(count2/100)%10;else if(state=S2)begincase (count3)3'b000:md<=(reg0/100)%10;3'b001:md<=(reg1/100)%10;3'b010:md<=(reg2/100)%10;3
9、9;b011:md<=(reg3/100)%10;3'b100:md<=(reg4/100)%10;3'b101:md<=(reg5/100)%10;default:md<=(reg0/100)%10;endcase endelse md<=md;end/ 十秒位顯示結果always (negedge rst or posedge clk)begin if(!rst) mg<=0;else if(state=S1) mg<=(count2/1000)%10;else if(state=S2)begincase (count3)3'
10、;b000:mg<=(reg0/100)%10;3'b001:mg<=(reg1/100)%10;3'b010:mg<=(reg2/100)%10;3'b011:mg<=(reg3/100)%10;3'b100:mg<=(reg4/100)%10;3'b101:mg<=(reg5/100)%10;default:mg<=(reg0/100)%10;endcaseendelse mg<=mg;endalways (negedge rst or posedge clk)/ 定義當前狀態begin if(!rst
11、) state<=S0;/異步復位, S0 為初始狀態else state<=next_state;end/ 狀態轉移always (state or pause or pause_temp )begincase (state)S0:begin if(pause=0&&pause_temp=1)next_state<=S1;else next_state<=S0;endS1:begin if(pause=0&&pause_temp=1) next_state<=S2;else next_state<=S1;endS2:begi
12、n if(pause=0&&pause_temp=1) next_state<=S1;else next_state<=S2;enddefault:next_state<=S0;endcaseend/ 存數always(negedge rst or negedge save )begin if(!rst) beginreg0<=0; reg1<=0; reg2<=0; reg3<=0;reg4<=0;reg5<=0;endelsebegin if(count3=0) reg0<=count2;else if(count
13、3=1) reg1<=count2;else if(count3=2) reg2<=count2;else if(count3=3) reg3<=count2;else if(count3=4) reg4<=count2;else if(count3=5) reg5<=count2;else begin reg0<=0;reg1<=0;reg2<=0;reg3<=0;reg4<=0;reg5<=0;endendend/ 取啟停鍵上升沿always (posedge clk )begin if(!rst) pause_temp&l
14、t;=0;else pause_temp<=pause;end/ 取保存翻看上升沿always (posedge clk )begin if(!rst) save_temp<=0;else save_temp<=save;end endmodule 2. 測試程序module paobiao_tp;reg clk,rst,pause,save;wire3:0 mg,md,bg,bd;parameter DELY=10;paobiao u1(clk,rst,pause,save,mg,md,bg,bd);always #(DELY/2) clk=clk;initialbegin clk=0;pause=0;save=0;rst=0;#DELY rst=1;save=0;pause=0;#DELY pause=1;#DELY pause=0;#DELY save=1;endendmodule五、實驗結果1. 仿真圖像2. 硬件電路顯示 六、個人完成工作及心得體會我們組設計的是數字跑表, 我負責畫狀態圖和系統程序和仿真。畫狀態圖時由于對狀態機理解不到位, 畫的狀態圖有點問題, 后來經 老師指導改正了; 我負責寫仿真測試程序, 這需要對源程序的輸入輸
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司組織團日活動方案
- 公司熒光夜跑活動方案
- 公司疫情理發活動方案
- 公司溫情環節活動方案
- 公司激勵經銷商活動方案
- 公司新年娛樂活動方案
- 公司活動創新活動方案
- 公司線上中秋節活動方案
- 公司月主體研討活動方案
- 公司紀念畫冊策劃方案
- 2025年四川省自貢市中考物理試卷及答案
- 2025年度衛生招聘考試(財務)新版真題卷(附詳細解析)
- 2025年6月14日萍鄉市事業單位面試真題及答案解析
- 2025年環境工程考試試卷及答案
- 畢業答辯-拆裝式自走式單軌道山地果園運輸機設計
- 2025年高考真題-語文(全國二卷) 含解析
- 2025年廬山市國有投資控股集團有限公司招聘筆試沖刺題(帶答案解析)
- 2024年深圳市中考生物試卷真題(含答案解析)
- 2025年天津市西青區八年級會考模擬生物試卷(含答案)
- 企業隱患內部報告獎勵和安全生產“紅線”兩項制度參考資料
- 紡紗工高級工職業鑒定試卷及答案
評論
0/150
提交評論