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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 用MAX+PLUSⅡ開發(fā)Altera CPLD

          用MAX+PLUSⅡ開發(fā)Altera CPLD

          作者: 時間:2017-06-06 來源:網(wǎng)絡 收藏

           【摘 要】介紹利用MAX+PLUSⅡ軟件對Altera公司的進行圖形設計、編譯以及在系統(tǒng)編程的基本方法和步驟。

            【關(guān)鍵詞】MAX+PLUSⅡ軟件,,

          1 引 言
            Altera公司是世界三大/FPGA廠家之一,它的器件能達到最高的性能和集成度,不僅僅因為采用了先進的工藝和全新的邏輯結(jié)構(gòu),還在于它提供了現(xiàn)代化的設計工具——MAX+PLUSⅡ可編程邏輯開發(fā)軟件,該軟件是Altera公司推出的第三代PLD開發(fā)系統(tǒng)。它提供了一種與結(jié)構(gòu)無關(guān)的設計環(huán)境,使Altera CPLD設計者能方便地進行設計輸入、快速處理和器件編程。MAX+PLUSⅡ提供了全面的邏輯設計能力,包括電路圖、文本和波形的設計輸入以及編譯、邏輯綜合、仿真和定時分析以及器件編程等諸多功能。特別是在原理圖輸入等方面,MAX+PLUSⅡ被公認為是最易使用、人機界面最友好的PLD開發(fā)軟件。MAX+PLUSⅡ可以開發(fā)除APEX20K以外的任何CPLD/FPGA。
          2 Altera CPLD器件的開發(fā)
            MAX+PLUSⅡ由設計輸入、設計處理、設計校驗和器件編程等四部分組成,用它開發(fā)Altera CPLD器件的具體過程如下:
          2.1 圖形輸入
            利用MAX+PLUSⅡ軟件進行邏輯設計的輸入方法有原理圖輸入、文本輸入和其它EDA tool生成的EDIF網(wǎng)表輸入,其中原理圖設計輸入最為直接,且容易實現(xiàn)仿真、便于電路調(diào)整,是一種常用的方式。其步驟為:
           ?。?)指定設計項目名稱。啟動MAX+PLUSⅡ后,在File菜單中選Project Name,鍵入設計項目名,點OK按鈕后MAX+PLUSⅡ的標題條將顯示新的項目名字;
           ?。?)建立新文件。在File菜單中選New,選Graphic Editor,然后按下OK按鈕,會出現(xiàn)一個圖形編輯窗口;
           ?。?)輸入圖元、74系列符號和宏功能符號。在圖形編輯窗口的空白處單擊鼠標右鍵,選EnterSymbol,在Symbol Libraries框中選…\maxplus2\max2lib\prim路徑,再找到所需的圖元(如兩輸入與門and2),雙擊后圖元會出現(xiàn)在圖形編輯窗中;同理在…\maxplus2\max2lib\mf路徑中可輸入所需的74系列符號(如74373);在…\maxplus2\max2lib\mega__lpm路徑中可輸入所需的LPM符號如lpm__mult);
           ?。?)連線。將鼠標移至一個端口處,此時鼠標指示符自動變?yōu)?ldquo;+”形狀,然后按住鼠標拖至待連的另一個端口,放開左鍵即畫好一條線;
           ?。?)放置輸入輸出引腳。在圖形編輯窗口的空白處單擊鼠標右鍵,選Enter Symbol,在SymbolName框中鍵入input或output,則輸入或輸出符號會出現(xiàn)在圖形編輯窗中。
          (6)為引腳和引線命名。在INPUT或OUTPUT引腳的PIN__NAME處雙擊鼠標左鍵,然后輸入指定的名字即可;選中需命名的引線(單擊后引線變高亮),可為引線命名;
           ?。?)保存文件。在File菜單中選Save(或Save As重新命名)可保存文件。
          2.2 項目編譯
            MAX+PLUSⅡ編譯器可以檢查項目中的錯誤并進行邏輯綜合,將項目最終設計結(jié)果加載到Altera器件中去,并為模擬和編程產(chǎn)生輸出文件。主要工作有:
           ?。?)選擇器件。在Assign菜單內(nèi)選Device項,出現(xiàn)Device對話框,在Device Family框選某一器件,比如要選MAX7000S系列84腳PLCC封裝6ns的7128S器件,可在Device框選EPM7128SLC84-6;
           ?。?)分配引腳。通常編譯器可自動對項目進行引腳分配,但也可以人為分配引腳,方法是在AssignMenu菜單中選Pin/Location/Chip,然后在NodeName框內(nèi)輸入引腳名,在Chip Resource框內(nèi)選引腳號,按下Add按鈕,按下OK按鈕即可。
           ?。?)打開編譯器窗口。在MAX+PLUSⅡ菜單中選Compiler,會出現(xiàn)編譯器窗口;
           ?。?)運行編譯器。在編譯器窗口中點擊Start按鈕,就開始對所要的編譯項目進行處理。如有錯誤信息,可用鼠標選中該錯誤,并按下Locate按鈕,從而找到錯誤位置并改正。
          2.3 閱讀報告文件
            編譯完成后,可雙擊編譯器窗口中的報告文件(*.rpt)圖標,打開文本編輯器,可看到器件一覽表、項目編譯信息、文本層次結(jié)構(gòu)以及資源使用、邏輯單元互連等情況。
          2.4 觀察試配結(jié)果
            在MAX+PLUSⅡ菜單中選Floorplan Editor,會出現(xiàn)底層圖編輯器窗口,在這里可觀察到器件封裝的所有引腳以及它們的功能(器件視圖),同時可觀察到所有LAB及其單個邏輯單元(邏輯陣列塊視圖),如有必要,還可編輯修改當前的分配。
          2.5 
            一個項目在設計輸入和編譯完成后,就可對器件編程了。這里選用并口下載電纜ByteBlaster的JTAG模式進行。ByteBlaster下載電纜包括與PC機并口相連的25針陽性插座頭、與PCB板相連的10針插頭和25針到10針的變換電路。ByteBlaster的25針插座頭和10針插頭的連線定義見表1。
            圖1是ByteBlaster的數(shù)據(jù)變換電路,它實際上是由一片74244和7個33Ω的電阻組成的電路,可自行焊接制作。

          本文引用地址:http://www.ex-cimer.com/article/201706/349525.htm


            對器件在線編程的步驟如下:
           ?。?)編譯一個項目。用MAX+PLUSⅡ的編譯器產(chǎn)生用于MAX器件的編程目標文件(*.pof);
           ?。?)連線。將ByteBlaster電纜的25針插座頭一端與微機的并行口相連,另一端10針插頭與裝有可編程邏輯器件的PCB板上的陽極插座相連,見圖2。PCB板還為ByteBlaster電纜提供+5V電源。


           ?。?)設置編程方式。在Option菜單中選Hardware Setup,會出現(xiàn)Hardware Setup窗口,在Hardware Type框中選ByteBlaster,并指定使用并行口(LPT1),按OK按鈕;
           ?。?)編程。在MAX+PLUSⅡ菜單中選Programmer,會打開編程器窗口,點擊Program按鈕即開始對器件進行編程。
          3 結(jié)束語
            采用MAX+PLUSⅡ軟件開發(fā)CPLD,設計速度是很快的,對于一個幾千門的電路,從設計輸入到器件編程完畢、用戶拿到設計好的邏輯電路,大約只需幾小時,而設計處理一般在數(shù)分鐘內(nèi)可完成。此外,使用MAX+PLUSⅡ的設計者無需精通器件內(nèi)部的復雜結(jié)構(gòu),利用并口下載電纜ByteBlaster的JTAG模式又可進行在系統(tǒng)編程,這給電路設計人員提供了一種快速高效的電路設計方法和花費極低的編程手段,因而帶來極大方便。



          關(guān)鍵詞: PlusⅡ軟件 CPLD 在線編程 Max

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();