<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設計應用 > 基于可編程器件的任意進制計數(shù)器的設計方法

          基于可編程器件的任意進制計數(shù)器的設計方法

          作者: 時間:2009-12-08 來源:網(wǎng)絡 收藏

          由于日、時、分、秒計數(shù)器的結構除計數(shù)進制不同外,其他部分完全一樣,因此圖1中僅給出秒計數(shù)電路部分。本設計實例以其中的秒脈沖計數(shù)器為例,以lpm_counter元件為基礎,設計一個可異步清零、可置數(shù)的60進制異步計數(shù)器.說明采用lpm_counter元件設計任意的方法。
          3.1 調(diào)入lpm_counter元件
          首先打開MAX+plus II軟件,然后建立圖形輸入文件“S_count60.gdf”,在圖形編輯器的空白處雙擊鼠標左鍵,打開元件輸入對話框。在對話框的Symbol Libraries窗口中雙擊X:maxplus2max21ibmega_lpm(X為MAX+plus II軟件所在盤的盤符);在Symbol Files窗口中雙擊lpm_counter,得到LPM_COUNTER元件。
          3.2 參數(shù)設置
          從mega_lpm元件庫調(diào)入的LPM_COUNTER元件,其缺省狀態(tài)為二,必須根據(jù)設計要求對其設置,得到符合設計要求的計數(shù)器。LPM_COUNTER元件的設置包括參數(shù)設置和引腳端設置兩部分,下面分別加以說明:
          (1)參數(shù)設置設計一個60進制的計數(shù)器,必須設置LPM_WIDTH(計數(shù)位寬)和LPM_MODULUS(計數(shù)模數(shù))兩個參數(shù),LPM_MODULUS=60;又因為LPM_MODULUS必須小于2 LPM_WIDTH,因此必需滿足LPM_WIDTH≥6,這里設置LPM_WIDTH=6。如果通過總線置計數(shù)器計數(shù)初值,則其他參數(shù)可不設置。
          (2)引腳端設置 根據(jù)設計要求,該計數(shù)器為可異步清零、可置數(shù)60進制異步計數(shù)器,因此對外連接的引腳端應包括:clock、clk_en、data[]、aclr、aload、q[]端和進位端cout。此處data[]和q[]端位寬由LPM_WIDTH(計數(shù)位寬)參數(shù)決定。
          (3)操作步驟在Symbol Files窗口中雙擊lpm_counter在得到LPM_COtINTER元件的同時,將打開如圖2所示的參數(shù)設置對話框。

          在對話框中的“Ports”區(qū)的“Name”窗口中選中所需引腳端,然后在“Port Status”區(qū)選擇“Used”,重復上述過程,直到所需的引腳端全部設置完畢。在對話框中的“Parameters”區(qū)的“Name”窗口中選中需要設置的參數(shù)。然后在“ParametersValue”編輯窗口中填入相應的參數(shù)值,單擊按鈕“Change”,即可完成該參數(shù)的設置;重復上述過程,直到所需參數(shù)全部設置完畢,點擊“OK”,退出LPM元件參數(shù)設置對話框。以上設置完成后,就可按常規(guī)圖形輸入方式給元件添加輸入、輸出引腳,并對引腳命名,從而完成整個設計。完成設計后的電路如圖3所示。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();