日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
VHDL設(shè)計中電路優(yōu)化問題探討
VHDL設(shè)計中電路優(yōu)化問題探討
 更新時間:2008-8-4 4:09:10  點擊數(shù):12
【字體: 字體顏色


    近年來,隨著集成電路技術(shù)和EDA技術(shù)的不斷發(fā)展,集設(shè)計、模擬、綜合和測試功能為一體的VHDL語言,已作為IEEE標(biāo)準(zhǔn)化的硬件描述語言。由于其在語法和風(fēng)格上類似于現(xiàn)代高級匯編語言,具有良好的可讀性,描述能力強(qiáng),設(shè)計方法靈活,易于修改,又具有可移植性,可重復(fù)利用他人的IP模塊(具有知識產(chǎn)權(quán)的功能模塊)等諸多優(yōu)勢而成為EDA設(shè)計方法的首選。VHDL設(shè)計是行為級設(shè)計,所帶來的問題是設(shè)計者的設(shè)計思考與電路結(jié)構(gòu)相脫節(jié)。設(shè)計者主要是根據(jù)VHDL的語法規(guī)則,對系統(tǒng)目標(biāo)的邏輯行為進(jìn)行描述,然后通過綜合工具進(jìn)行電路結(jié)構(gòu)的綜合、編譯和優(yōu)化,并通過仿真工具進(jìn)行邏輯功能仿真和系統(tǒng)時延的仿真。實際設(shè)計過程中,由于每個工程師對語言規(guī)則和電路行為的理解程度不同,每個人的編程風(fēng)格各異,往往同樣的系統(tǒng)功能,描述的方式不一,綜合出來的電路結(jié)構(gòu)更是大相徑庭。即使最終綜合出的電路都能實現(xiàn)相同的邏輯功能,但其電路的復(fù)雜程度和時延特性差別很大,甚至某些臃腫的電路還會產(chǎn)生難以預(yù)料的問題。因此,對VHDL設(shè)計中簡化電路結(jié)構(gòu),優(yōu)化電路設(shè)計的問題進(jìn)行深入探討,很有必要。

  VHDL電路設(shè)計的優(yōu)化與VHDL描述語句、EDA工具以及可編程器件(PLD)的選用都有著直接的關(guān)系。設(shè)計人員首先應(yīng)注意到以下基本問題:

  ① PLD器件的邏輯資源是有限的。
 、 可編程器件具有特定的結(jié)構(gòu),應(yīng)注意器件結(jié)構(gòu)與實際系統(tǒng)的匹配,使系統(tǒng)性能達(dá)到最佳。
 、 不是所有的設(shè)計都能實現(xiàn)到任意選擇的結(jié)構(gòu)中去。
 、 電路優(yōu)化的目標(biāo)相當(dāng)于求最優(yōu)解的問題。

1 VHDL設(shè)計中提高硬件綜合效率的主要策略

  VHDL作為一種硬件描述和仿真語言,最終要實現(xiàn)的是實際硬件電路。但是其設(shè)計初衷并非綜合,某些語句并不被綜合器支持,所以在選擇語句時應(yīng)考慮到綜合與仿真的效率。只有使用綜合工具支持的語句,設(shè)計出的程序才有意義。在編程時要注意以下幾點:

 、 盡量不使用WAIT FOR XX ns語句和AFTER XX ns語句。XX ns表明在執(zhí)行下一操作之前需要等待的時間,但綜合器不予支持,一般忽略該時間,而不會綜合成某種元件,故對于包含此類語句的程序,仿真結(jié)果與綜合結(jié)果往往不一致。

 、 聲明信號和變量時盡量不賦初值,定義某確定數(shù)值時,使用常量而不用變量賦初值的形式。因為大多數(shù)綜合工具將忽略賦值等初始化語句,諸如:VARIABAL S∶INTEGER∶=0。

 、 函數(shù)或過程調(diào)用時盡量使用名稱關(guān)聯(lián)。因為名稱關(guān)聯(lián)可以比位置關(guān)聯(lián)更好地防止產(chǎn)生不正確的端口連接和元件聲明,也不要在同一個語句中同時使用兩種關(guān)聯(lián)。諸如:
  clk_1:bufes port map(I=>clock_in,clock_out);(不正確的用法)
  clk_1:bufes port map(I=>clock_in,O=>clock_out);(正確的用法)

 、 正確使用when_else語句、if_else語句和case語句。VHDL設(shè)計電路的復(fù)雜程度除取決于設(shè)計功能的難度外,還受設(shè)計工程師對電路描述方法的影響。最常見的使電路復(fù)雜化的原因之一是,設(shè)計中存在許多本不必要的類似LATCH的結(jié)構(gòu),并且這些結(jié)構(gòu)通常都由大量的觸發(fā)器組成,不僅使電路更復(fù)雜,工作速度降低,而且由于時序配合的原因還會導(dǎo)致不可預(yù)料的結(jié)果。例如,描述譯碼電路時,由于每個工程師的寫作習(xí)慣不同,有的喜歡用IF...ELSE語句,有的喜歡用WHEN...ELSE方式,而用IF...ELSE時,稍不注意,在描述不需要寄存器的電路時沒加ELSE,則會引起電路不必要的開銷。

  例程1: if ina=″00000″ then
        Outy<=″0000111″;
      elsif ina=″00001″ then
        Outy<=″0001000″;
      elsif ina=″00010″ then
        Outy<=″0001001″;
        ……
      else
        Outy<=″0000000″;
      end if;

  例程2:Outy<=″0000111″ when ina=″00000″ else
         ″0001000″ when ina=″00001″ else
         ″0001001″ when ina=″00010″ else
          ……
         ″0000000″;

  例程2由于使用WHEN...ELSE完整條件語句,不會生成鎖存器結(jié)構(gòu),所以不會有問題。而例程1若不加else Outy<=″0000000″語句,則屬于不完整條件表達(dá)方式,會生成一個含有7位寄存器的結(jié)構(gòu)。雖然上述例程都能實現(xiàn)相同的譯碼功能,但是電路復(fù)雜度會大不相同。

 、 注意算術(shù)功能的設(shè)計優(yōu)化。例如下面兩條語句:

          Out<=A+B+C+D;
          Out<=(A+B)+(C+D);

  第一條語句綜合后將會連續(xù)疊放3個加法器(((A+B)+C)+D);第二條語句(A+B)和(C+D)使用兩個并行的加法器,同時進(jìn)行加法運算,再將運算結(jié)果通過第三個加法器進(jìn)行組合。雖然使用資源數(shù)量相同,但第二條語句速度更快。以4位和16位加法器為例,選用Altera公司EPF10K30AQC240_3芯片,通過synopsys FPGA Express綜合工具實現(xiàn)的結(jié)果進(jìn)行測試,比較結(jié)果如表1所列。

                表1加法器兩種表達(dá)方式的比較
      

2 優(yōu)化系統(tǒng)速度的VHDL設(shè)計策略

  選用基于VHDL設(shè)計的CPLD/FPGA器件往往首先是為了滿足高速運行的需要,如通信系統(tǒng)。系統(tǒng)運行速度與電路節(jié)點之間的延時直接相關(guān),因此,減少冗余邏輯,縮短節(jié)點延時是提高系統(tǒng)速度的關(guān)鍵。速度優(yōu)化與電路結(jié)構(gòu)設(shè)計(如器件結(jié)構(gòu)特性、系統(tǒng)電路構(gòu)成和PCB制板情況)和軟件使用(如綜合器性能和VHDL描述方式)都有關(guān)系。

2.1 電路結(jié)構(gòu)方面速度優(yōu)化的主要方法

 、 流水線設(shè)計是最常用的速度優(yōu)化技術(shù)。采用流水線設(shè)計雖然不能縮短總工作周期,但通過把一個工作周期內(nèi)的邏輯操作分成幾步較小操作,并連續(xù)同步實現(xiàn)的策略,可大大提高系統(tǒng)總體運行速度。

 、 合理使用嵌入式陣列塊EAB資源和LPM宏單元庫。在DSP、圖像處理等領(lǐng)域,乘法器是應(yīng)用最廣泛、最基本的模塊,其速度往往制約著整個系統(tǒng)性能。而EAB是PLD器件中非常有效的高速資源,利用EAB單元和參數(shù)化模塊LPM,可以設(shè)計出乘法器等高速電路。

 、 關(guān)鍵路徑優(yōu)化。所謂關(guān)鍵路徑是指從輸入到輸出延時最長的邏輯通道。關(guān)鍵路徑優(yōu)化是保證系統(tǒng)速度優(yōu)化的有效方法。

2.2 軟件使用方面速度優(yōu)化的方法

  一般EDA軟件尤其是綜合器,均會提供一些針對具體器件和設(shè)計的優(yōu)化選項。設(shè)計者在使用軟件時應(yīng)注意根據(jù)優(yōu)化目標(biāo)的要求,適當(dāng)修改軟件設(shè)置。在MAX+plusII中,就可以使用Assign/Device命令選擇不同速度等級的芯片。

3 面積優(yōu)化的VHDL設(shè)計策略

  面積優(yōu)化是提高芯片資源利用率的另一種方法,通過面積優(yōu)化可以使用規(guī)模更小的芯片,從而降低成本和功耗,為以后技術(shù)升級預(yù)留更多資源。面積優(yōu)化最常用的方法是資源共享和邏輯優(yōu)化。

3.1 資源共享方法

  資源共享的主要思想是通過數(shù)據(jù)緩沖或多路選擇的方法來共享數(shù)據(jù)通道中占用資源較多的模塊(如乘法器、多位加法器等算術(shù)模塊)。

  例程3:process(A0,A1,B,sel)
     begin
      if(sel=‘0’)then result<=A0*B;
             else result<=A1*B;
      end if;
     end processs;

  例程4:process(A0,A1,B,sel)
     begin
      if(sel=‘0’)then temp<=A0;
             else temp<=A1;
      end if;
      result<=temp*B;
     end processs;

  例程3的設(shè)計可用圖1描述,例程4的設(shè)計可用圖2描述。可見例程4節(jié)省了一個代價高昂的乘法器,整個設(shè)計占用面積比例程3幾乎減少了一半。

                
                  圖1例程3的RTL結(jié)構(gòu)

                
                  圖2例程4的RTL結(jié)構(gòu)

3.2 邏輯優(yōu)化方法

  通過邏輯優(yōu)化以減少資源利用也是常用的面積優(yōu)化方法(如常數(shù)乘法器的應(yīng)用,并行邏輯串行化處理等),但其代價往往是速度的犧牲。在延時要求不高的情況下,采用這種方法可以達(dá)到減少電路復(fù)雜度、實現(xiàn)面積優(yōu)化的目的。

4 結(jié)論

  通過以上初步的探討可知,用VHDL進(jìn)行集成電路的設(shè)計,不僅需要熟悉VHDL語言的使用方法和對設(shè)計要求的深刻理解,而且應(yīng)在設(shè)計全程中遵循最優(yōu)化設(shè)計的基本原則,在電路結(jié)構(gòu)設(shè)計和軟件使用中尋找滿足設(shè)計要求的最佳方案。

                    參考文獻(xiàn)

1 曾繁泰,陳美金. VHDL程序設(shè)計. 北京:清華大學(xué)出版社,2001
2 潘松,黃繼業(yè). EDA技術(shù)實用教程. 北京:科學(xué)出版社,2001
3 路而紅. 電子設(shè)計自動化應(yīng)用技術(shù). 北京:高等教育出版社,2004
4 褚振勇,翁木云. FPGA設(shè)計及應(yīng)用. 西安:電子科技大學(xué)出版社,2002
5 李國洪,沈明山. 可編程器件EDA技術(shù)與實踐. 北京:機(jī)械工業(yè)出版社,2004
6 任勇峰,莊新敏. VHDL與硬件實現(xiàn)速成. 北京:國防工業(yè)出版社,2005

王春玲:副教授,主要研究方向為EDA技術(shù)和測控技術(shù)等。


[1] [2]  下一頁
  • 上一篇: 傳感器網(wǎng)絡(luò)中的能量消耗問題研究
  • 下一篇: “安全第一”的C語言編程規(guī)范
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術(shù)支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實性、準(zhǔn)確性和合法性。
    機(jī)電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機(jī)電之家,機(jī)電之家將及時作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1