久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 基于FPGA的加減法計數器的系統設計 [打印本頁]

作者: boomer    時間: 2019-11-17 15:23
標題: 基于FPGA的加減法計數器的系統設計
原理
1.  計時器
24 小時計時器的電路框圖如圖 8.1 所示。
24 小時計時器由 2 個 60 進制加計數器和 1 個 24 進制加計數器構成,輸入 CLK 為 1Hz (秒)的時鐘,經過60 進制加計數后產生 1 分鐘的進位時鐘信號,再經過 60 進制加計數后產生 1 小時的進位時鐘信號送給 24 進制加計數器進行加計數,當加計數到達 23:59:59 后, 再來一個秒脈沖,產生時的進位輸出。將兩個 60 進制加計數器和一個 24 進制加計數器的輸 出送數碼管顯示,得到計時器的顯示結果。其中,秒脈沖由 EDA 實訓儀上的 20MHz 晶振分 頻得到。
2.  倒計時器
24 小時倒計時器的電路框圖如圖 8.2 所示。
24 小時倒計時器由 2 個 60 進制減計數器和 1 個 24 進制減計數器構成,輸入 CLK 為 1Hz (秒)的時鐘,經過60 進制減計數后產生 1 分鐘的借位時鐘信號,再經過 60 進制減計數后產生 1 小時的借位時鐘信號送給 24 進制減計數器進行減計數,當減計數到達 00:00:00 后, 產生時的借位輸出,同時 24 小時倒計時器停止倒計時,并發出提醒信號。將兩個 60 進制減 計數器和一個 24 進制減計數器的輸出送數碼管顯示,得到 倒計時的顯示結果。其中,秒脈沖 由 EDA實訓儀上的 20MHz 晶振分頻得到。
三、實驗設備
①    EDA 實訓儀  1 臺。
②    計算機  1 臺(裝有  Quartus II 軟件)。
四、實驗內容
1.  計時器
在 Quartus II 軟件中,按照實驗原理中 24 小時計時器的電路框圖,用 Verilog HDL 編程 設計計時器電路,然后進行編輯、編譯(綜合)、仿真,引腳的鎖定,并下載到 EDA 實訓儀 中進行驗證。
注: 用 EDA 實訓儀上的 20MHz 晶振作為計時器的時鐘輸入端,按鍵 S8~S6 分別作為計 時器的校時、校分、校秒輸入端,撥動開關 S0 作為計時器的清零輸入端,撥動開關 S1 作為 計時器的暫停輸入端,用數碼管 SEG5~SEG0 分別作為時、分、秒的輸出端,用發光二極管 L0 作為進位輸出端 COUT。
2.  倒計時器
在  Quartus II 軟件中,按照實驗原理中  24 小時倒計時器的電路框圖,用 Verilog HDL 編
程設計倒計時器電路,然后進行編輯、編譯(綜合)、仿真,引腳的鎖定,并下載到 EDA 實 訓儀中進行驗證。
注: 用 EDA 實訓儀上的 20MHz 晶振作為倒計時器的時鐘輸入端,按鍵 S8~S6 分別作為 倒計時器的校時、校分、校秒輸入端,撥動開關 S0 作為倒計時器的復位輸入端,撥動開關 S1 作為倒計時器的暫停輸入端,用數碼管 SEG5~SEG0 分別作為時、分、秒的輸出端,用發光二極管 L0 作為借位輸出端 COUT。
五、實驗預習要求
①    復習理論課本有關計數器及分頻器的內容,并認真閱讀實驗指導書,分析、掌握實驗原理,熟悉理論課本中  QuartusII  軟件的使用方法。
②    按照實驗內容的要求,編寫相應的實驗程序和畫出相應的頂層電路連線圖,寫出相應的實驗步驟。
60
進制加減法計數器
  1. module  cnt60(q,cout,clk,clrn,en,sel,j);
  2. input        clk,clrn,en,sel,j;
  3. output  reg[7:0]     q;
  4. output  reg       cout;
  5. always  @(posedge clk^j or negedge clrn)
  6.   begin
  7.        if(~clrn)   q=0;           //清0
  8.                  else if(en)               //使能
  9.                  begin
  10.                  if(sel)                   //加減(加)
  11.                  begin
  12.                     if(q=='h59) q=0;
  13.                          else q=q+1;
  14.                            if(q[3:0]=='ha) begin
  15.                    q[3:0]=0; q[7:4]=q[7:4]+1; end
  16.                           if(q=='h59)   cout=1;
  17.                                                  else cout=0;
  18.                 end
  19.                
  20.                 else                      //加減(減)
  21.                 begin
  22.                  if(q[3:0])                        
  23.                         q[3:0]=q[3:0]-1;                        
  24.                         else if(q[3:0]==0)
  25.                         begin
  26.                                 if(q[7:4]!=0)
  27.                                 begin
  28.                                         q[3:0]='h9;
  29.                                         q[7:4]=q[7:4]-1;
  30.                                 end
  31.                                 else                 //00
  32.                                 begin
  33.                                         cout=cout-1;
  34.                                         q='h59;
  35.                                 end        
  36.                    end
  37.      end
  38.          end                        
  39. end
  40. endmodule
復制代碼

24
進制加減法計數器
  1. module  cent24(q,cout,clk,clrn,en,sel,j);
  2. input        clk,clrn,en,sel,j;
  3. output  reg[7:0]     q;
  4. output  reg       cout;
  5. always  @(posedge clk^j or negedge clrn)
  6.   begin
  7.        if(~clrn)   q=0;           //清0
  8.                  else if(en)               //使能
  9.                  begin
  10.                  if(sel)                   //加減(加)
  11.                  begin
  12.                     if(q=='h23) q=0;
  13.                          else q=q+1;
  14.                            if(q[3:0]=='ha) begin
  15.                    q[3:0]=0; q[7:4]=q[7:4]+1; end
  16.                           if(q=='h23)   cout=1;
  17.                                                  else cout=0;
  18.                 end
  19.                
  20.                 else                      //加減(減)
  21.                 begin
  22.                  if(q[3:0])                        
  23.                         q[3:0]=q[3:0]-1;                        
  24.                         else if(q[3:0]==0)
  25.                         begin
  26.                                 if(q[7:4]!=0)
  27.                                 begin
  28.                                         q[3:0]='h9;
  29.                                         q[7:4]=q[7:4]-1;
  30.                                 end
  31.                                 else                 //00
  32.                                 begin
  33.                                         cout=cout-1;
  34.                                         q='h23;
  35.                                 end        
  36.                    end
  37.      end
  38.          end                        
  39. end
  40. endmodule
復制代碼


圖8.5 仿真電路圖
引腳鎖定


clk        Input        PIN_132        3        B3_N0        PIN_132        3.3-V LVTTL (default)                24mA (default)        
clrn        Input        PIN_8        1        B1_N0        PIN_8        3.3-V LVTTL (default)                24mA (default)        
cout        Output        PIN_115        3        B3_N1        PIN_115        3.3-V LVTTL (default)                24mA (default)        
en        Input        PIN_10        1        B1_N0        PIN_10        3.3-V LVTTL (default)                24mA (default)        
jf        Input        PIN_13        1        B1_N0        PIN_13        3.3-V LVTTL (default)                24mA (default)        
jm        Input        PIN_12        1        B1_N0        PIN_12        3.3-V LVTTL (default)                24mA (default)        
js        Input        PIN_14        1        B1_N0        PIN_14        3.3-V LVTTL (default)                24mA (default)        
qf[7]        Output        PIN_99        4        B4_N0        PIN_99        3.3-V LVTTL (default)                24mA (default)        
qf[6]        Output        PIN_97        4        B4_N0        PIN_97        3.3-V LVTTL (default)                24mA (default)        
qf[5]        Output        PIN_96        4        B4_N0        PIN_96        3.3-V LVTTL (default)                24mA (default)        
qf[4]        Output        PIN_95        4        B4_N0        PIN_95        3.3-V LVTTL (default)                24mA (default)        
qf[3]        Output        PIN_94        4        B4_N0        PIN_94        3.3-V LVTTL (default)                24mA (default)        
qf[2]        Output        PIN_92        4        B4_N0        PIN_92        3.3-V LVTTL (default)                24mA (default)        
qf[1]        Output        PIN_59        4        B4_N1        PIN_59        3.3-V LVTTL (default)                24mA (default)        
qf[0]        Output        PIN_58        4        B4_N1        PIN_58        3.3-V LVTTL (default)                24mA (default)        
qm[7]        Output        PIN_57        4        B4_N1        PIN_57        3.3-V LVTTL (default)                24mA (default)        
qm[6]        Output        PIN_56        4        B4_N1        PIN_56        3.3-V LVTTL (default)                24mA (default)        
qm[5]        Output        PIN_48        1        B1_N1        PIN_48        3.3-V LVTTL (default)                24mA (default)        
qm[4]        Output        PIN_47        1        B1_N1        PIN_47        3.3-V LVTTL (default)                24mA (default)        
qm[3]        Output        PIN_46        1        B1_N1        PIN_46        3.3-V LVTTL (default)                24mA (default)        
qm[2]        Output        PIN_45        1        B1_N1        PIN_45        3.3-V LVTTL (default)                24mA (default)        
qm[1]        Output        PIN_44        1        B1_N1        PIN_44        3.3-V LVTTL (default)                24mA (default)        
qm[0]        Output        PIN_43        1        B1_N1        PIN_43        3.3-V LVTTL (default)                24mA (default)        
qs[7]        Output        PIN_114        3        B3_N1        PIN_114        3.3-V LVTTL (default)                24mA (default)        
qs[6]        Output        PIN_113        3        B3_N1        PIN_113        3.3-V LVTTL (default)                24mA (default)        
qs[5]        Output        PIN_112        3        B3_N1        PIN_112        3.3-V LVTTL (default)                24mA (default)        
qs[4]        Output        PIN_110        3        B3_N1        PIN_110        3.3-V LVTTL (default)                24mA (default)        
qs[3]        Output        PIN_104        4        B4_N0        PIN_104        3.3-V LVTTL (default)                24mA (default)        
qs[2]        Output        PIN_103        4        B4_N0        PIN_103        3.3-V LVTTL (default)                24mA (default)        
qs[1]        Output        PIN_102        4        B4_N0        PIN_102        3.3-V LVTTL (default)                24mA (default)        
qs[0]        Output        PIN_101        4        B4_N0        PIN_101        3.3-V LVTTL (default)                24mA (default)        
sel        Input        PIN_11        1        B1_N0        PIN_11        3.3-V LVTTL (default)                24mA (default)
        

cnt.png (24.76 KB, 下載次數: 146)

仿真電路圖

仿真電路圖

cnt.rar

5.62 MB, 下載次數: 24, 下載積分: 黑幣 -5

項目文件






歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 欧美黄色片视频 | 免费国产一区二区 | 天堂中文字幕免费一区 | www.天堂av | 亚洲国产成人精品女人久久久 | 黄网在线播放 | 国产人成一区二区三区影院 | 中文字幕免费在线观看 | 日本免费在线视频 | 四级黄色片 | 日韩国产在线观看 | 色综合天天综合网天天狠天天 | 黄色影院在线观看 | 久久爱影视i | 日韩毛片网站 | 欧美成人三级 | 玖玖在线播放 | 免费av网站在线观看 | 欧美日韩在线免费观看 | 日产久久视频 | 天海翼一区二区 | 在线小视频| 91一级片 | 国产福利网站 | 国产免费小视频 | 黄色在线观看免费 | 午夜在线视频观看日韩17c | 欧美精品在线播放 | 久久视频在线免费观看 | 亚洲视频色 | 日日操夜夜撸 | 国产三级在线看 | 天天干天天干天天操 | 久久黄色大片 | 欧美一级在线播放 | 国产精品久久久一区二区 | 成人毛片在线 | 国产伦精品一区二区三毛 | 国产一区免费在线观看 | 欧美色婷婷 | 免费网站av|