• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁(yè) > EDA/PCB > 基于MAX+plusⅡ開(kāi)發(fā)平臺(tái)的EDA設(shè)計(jì)方法

    基于MAX+plusⅡ開(kāi)發(fā)平臺(tái)的EDA設(shè)計(jì)方法

    ——
    作者:趙大興 彭章明 丁建軍 時(shí)間:2007-11-13 來(lái)源:湖北工業(yè)大學(xué)學(xué)報(bào) 收藏
        MAX + plus Ⅱ是美國(guó)Altera 公司的一種 軟件,用于開(kāi)發(fā) 和 進(jìn)行數(shù)字系統(tǒng)的設(shè)計(jì)。用圖形輸入方式和文本輸入方式設(shè)計(jì)了一模60計(jì)數(shù)器,介紹了數(shù)字系統(tǒng)設(shè)計(jì)的一般方法和過(guò)程,揭示了其在數(shù)字系統(tǒng)中的重要作用。
       
         ( Elect ronic Design Automation) 即電子設(shè)計(jì)自動(dòng)化技術(shù),是指以計(jì)算機(jī)為基本工作平臺(tái),把應(yīng)用電子技術(shù)、計(jì)算機(jī)技術(shù)、智能化技術(shù)融合在一個(gè)電子CAD 通用軟件包中,輔助進(jìn)行三方面的電子設(shè)計(jì)工作,即集成電路設(shè)計(jì)、電子電路設(shè)計(jì)以及PCB設(shè)計(jì)。總之, 技術(shù)的基本特征是采用具有系統(tǒng)仿真和綜合能力的高級(jí)語(yǔ)言描述。它一般采用自頂向下的模塊化設(shè)計(jì)方法。但是由于所設(shè)計(jì)的數(shù)字系統(tǒng)的規(guī)模大小不一,且系統(tǒng)內(nèi)部邏輯關(guān)系復(fù)雜,如何劃分邏輯功能模塊便成為設(shè)計(jì)數(shù)字系統(tǒng)的最重要的任務(wù)。 

        MAX+ plus Ⅱ簡(jiǎn)介 

        MAX + plus Ⅱ是一種與結(jié)構(gòu)無(wú)關(guān)的全集成化設(shè)計(jì)環(huán)境,使設(shè)計(jì)者能對(duì)Altera 的各種 系列方便地進(jìn)行設(shè)計(jì)輸入、快速處理和器件編程。MAX+ plus Ⅱ開(kāi)發(fā)系統(tǒng)具有強(qiáng)大的處理能力和高度的靈活性。其主要優(yōu)點(diǎn):與結(jié)構(gòu)無(wú)關(guān)、多平臺(tái)、豐富的設(shè)計(jì)庫(kù)、開(kāi)放的界面、全集成化、支持多種硬件描述語(yǔ)言( HDL) 等。 

        設(shè)計(jì)流程 

        數(shù)字系統(tǒng)的設(shè)計(jì)采用自頂向下、由粗到細(xì),逐步分解的設(shè)計(jì)方法,最頂層電路是指系統(tǒng)的整體要求,最下層是具體的邏輯電路的實(shí)現(xiàn)。自頂向下的設(shè)計(jì)方法將一個(gè)復(fù)雜的系統(tǒng)逐漸分解成若干功能模塊,從而進(jìn)行設(shè)計(jì)描述,并且應(yīng)用EDA 軟件平臺(tái)自動(dòng)完成各功能模塊的邏輯綜合與優(yōu)化,門級(jí)電路的布局,再下載到硬件中實(shí)現(xiàn)設(shè)計(jì)。 

        利用MAX + plus II進(jìn)行電路設(shè)計(jì)的一般流程如圖1 所示。 



        具體設(shè)計(jì)過(guò)程如下∶ 

        1) 設(shè)計(jì)輸入。 MAX + plus Ⅱ支持多種設(shè)計(jì)輸入方式,如原理圖輸入、波形輸入、文本輸入和它們的混合輸入。 

        2) 設(shè)計(jì)處理。 設(shè)計(jì)輸入完后,用MAX + plus Ⅱ的編譯器編譯、查錯(cuò)、修改直到設(shè)計(jì)輸入正確,同時(shí)將對(duì)輸入文件進(jìn)行邏輯簡(jiǎn)化、優(yōu)化,最后生成一個(gè)編程文件。 這是設(shè)計(jì)的核心環(huán)節(jié)。 

        3) 設(shè)計(jì)檢查。MAX + plus Ⅱ?yàn)樵O(shè)計(jì)者提供完善的檢查方法設(shè)計(jì)仿真和定時(shí)分析。其目的是檢驗(yàn)電路的邏輯功能是否正確,同時(shí)測(cè)試目標(biāo)器件在最差情況下的時(shí)延。這一查錯(cuò)過(guò)程對(duì)于檢驗(yàn)組合邏輯電路的競(jìng)爭(zhēng)冒險(xiǎn)和時(shí)序邏輯電路的時(shí)序、時(shí)延等至關(guān)重要。 

        4) 器件編程。 當(dāng)電路設(shè)計(jì)、校驗(yàn)之后,MAX+plus Ⅱ的Programmer 將編譯器所生成的編譯文件下載到具體的 器件中,即實(shí)現(xiàn)目標(biāo)器件的物理編程 。 

        文本輸入方式和圖形輸入方式設(shè)計(jì)一個(gè)模60 計(jì)數(shù)器 

        系統(tǒng)分析 

        模60 計(jì)數(shù)器是可由一個(gè)10 進(jìn)制計(jì)數(shù)器和一個(gè)異步清零6 進(jìn)制計(jì)數(shù)器組成的。 本設(shè)計(jì)采用10 進(jìn)制計(jì)數(shù)器74160 組件和6 進(jìn)制計(jì)數(shù)器組成。 數(shù)字系統(tǒng)分塊后,需要選擇正確描述系統(tǒng)邏輯功能的方式。 對(duì)于所選用的CPLD ,需要用相應(yīng)的設(shè)計(jì)開(kāi)發(fā)軟件。 如MAX + plus Ⅱ的設(shè)計(jì)描述方式有文本、波形、圖形多種方式。 圖形輸入方式直觀易懂。 當(dāng)系統(tǒng)較大時(shí),由于此方式連線多,使用十分不方便。 采用V HDL硬件描述語(yǔ)言的描述方式與結(jié)構(gòu)無(wú)關(guān),設(shè)計(jì)難度降低,軟件修改方便而且大部分受控功能模塊已經(jīng)編譯驗(yàn)證,系統(tǒng)設(shè)計(jì)時(shí)只要選擇這些模塊并按一定的邏輯功能組合即可 。 

        系統(tǒng)設(shè)計(jì) 

        本設(shè)計(jì)6 進(jìn)制計(jì)數(shù)器采用文本輸入方式設(shè)計(jì),其代碼如下: 

        L IBRARY ieee ; 

        USE ieee. std_logic_1164. all ; 

        USE ieee. std_logic_unsigned. all ; 

        ENTITY counter6 IS %定義模塊IS 

        PORT (Load ,En Clrn , Clk : IN STD_LOGIC;

       D : IN STD_LOGIC_VECTOR(2 downto 0) ;

           %定義輸入端口

       Q :OU T STD_LOGIC_VECTOR(2 downto 0) ;

           %定義輸出端口

       Co :OU T STD_LOGIC)

           END counter6 ;

           ARCHITECTURE a OF counter6 IS

           BEGIN                                   %定義過(guò)程

           PROCESS(Clk)

       variable tmp : std_logic_vector (2 downto 0) ;

           %定義一個(gè)矢量

           begin

           IF Clrn =’0’THEN tmp : = "000" ;

      else

       IF( Clk’event AND Clk =’1’) THEN      %過(guò)程聲明

      IF Load =’0’THEN tmp : = D ;

      ELSIF En =’1’THEN

      IF tmp = "101" THEN tmp : = "000" ;

      ELSE tmp : = tmp + 1 ;

      END IF ;

      END IF ;

      END IF ;

      END IF ;

       Q < = tmp ; Co < = (tmp (0) AND tmp (2) AND En) ;

       END PROCESS ;

          END a ;

      保存并編譯設(shè)計(jì)代碼, 然后創(chuàng)建電路符號(hào)counter6 ,接著用圖形輸入方式編輯模60 計(jì)數(shù)器,在編輯的過(guò)程當(dāng)中可以引用6 進(jìn)制電路符號(hào)counter6。 設(shè)計(jì)的系統(tǒng)電路如圖2 所示。 



        模60 計(jì)數(shù)器由十進(jìn)制計(jì)數(shù)器74160 和以上設(shè)計(jì)的六進(jìn)制計(jì)數(shù)器組成(見(jiàn)圖3) ,當(dāng)74160 計(jì)到9時(shí),產(chǎn)生進(jìn)位使6 進(jìn)制電路能計(jì)數(shù)。 

      



        系統(tǒng)仿真 

        為了保證設(shè)計(jì)的正確性,系統(tǒng)設(shè)計(jì)之后還要進(jìn)行仿真。本系統(tǒng)采用MAX7000S 系列CPLD 芯片,應(yīng)用MAX+plus Ⅱ?qū)Ω鞣N文件從底層到頂層逐個(gè)編譯,再進(jìn)行邏輯仿真。其仿真波形如圖4 所示。仿真之后通過(guò)MAX + plus Ⅱ的Programmer下載到可編程芯片上便完成設(shè)計(jì)。利用MAX + plusⅡ編譯、查錯(cuò)生成一個(gè)能實(shí)現(xiàn)模60 的計(jì)數(shù)器, 從圖4 可見(jiàn)初值為58 ,使能端EN 和清除控制端CL RN為高電平。 經(jīng)過(guò)兩個(gè)時(shí)鐘周期上升沿Qa 從8 變到0 ,Qb 從5 變到0 ,再開(kāi)始新一輪的計(jì)數(shù)。 

        結(jié)束語(yǔ) 

        數(shù)字電路系統(tǒng)設(shè)計(jì)采用先進(jìn)的EDA 軟件和硬件描述語(yǔ)言,借助于CPLD 實(shí)現(xiàn)設(shè)計(jì),體現(xiàn)了數(shù)字電路設(shè)計(jì)系統(tǒng)芯片化。芯片系統(tǒng)化的設(shè)計(jì)化思想使設(shè)計(jì)者根據(jù)自己的實(shí)際需要構(gòu)造邏輯功能的數(shù)字集成電路變得簡(jiǎn)捷。 

      


     



    評(píng)論


    相關(guān)推薦

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

    關(guān)閉
    主站蜘蛛池模板: 灵山县| 新巴尔虎右旗| 富蕴县| 牟定县| 朝阳县| 青阳县| 龙井市| 高台县| 谷城县| 阳高县| 滨海县| 乳山市| 乐平市| 临安市| 惠来县| 海林市| 炎陵县| 广宁县| 永胜县| 辉县市| 偃师市| 长白| 西城区| 广平县| 达日县| 大关县| 新田县| 淅川县| 黑水县| 泸定县| 马边| 尼勒克县| 晋宁县| 瓦房店市| 华宁县| 诸城市| 高雄县| 类乌齐县| 礼泉县| 贡嘎县| 鹤庆县|