《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > VHDL設計中電路優化問題
VHDL設計中電路優化問題
摘要: VHDL設計是行為級設計,所帶來的問題是設計者的設計思考與電路結構相脫節。實際設計過程中,由于每個工程師對語言規則和電路行為的理解程度不同,每個人的編程風格各異,往往同樣的系統功能,描述的方式不一,綜合出來的電路結構更是大相徑庭。即使最終綜合出的電路都能實現相同的邏輯功能,但其電路的復雜程度和時延特性差別很大,甚至某些臃腫的電路還會產生難以預料的問題。因此,對VHDL設計中簡化電路結構,優化電路設計的問題進行深入探討,很有必要。
Abstract:
Key words :

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

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

① PLD器件的邏輯資源是有限的。
② 可編程器件具有特定的結構,應注意器件結構與實際系統的匹配,使系統性能達到最佳?! ?br /> ③ 不是所有的設計都能實現到任意選擇的結構中去。  
④ 電路優化的目標相當于求最優解的問題。

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

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

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

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

③ 函數或過程調用時盡量使用名稱關聯。因為名稱關聯可以比位置關聯更好地防止產生不正確的端口連接和元件聲明,也不要在同一個語句中同時使用兩種關聯。諸如:

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設計電路的復雜程度除取決于設計功能的難度外,還受設計工程師對電路描述方法的影響。最常見的使電路復雜化的原因之一是,設計中存在許多本不必要的類似LATCH的結構,并且這些結構通常都由大量的觸發器組成,不僅使電路更復雜,工作速度降低,而且由于時序配合的原因還會導致不可預料的結果。例如,描述譯碼電路時,由于每個工程師的寫作習慣不同,有的喜歡用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完整條件語句,不會生成鎖存器結構,所以不會有問題。而例程1若不加else Outy<=″0000000″語句,則屬于不完整條件表達方式,會生成一個含有7位寄存器的結構。雖然上述例程都能實現相同的譯碼功能,但是電路復雜度會大不相同。

⑤ 注意算術功能的設計優化。例如下面兩條語句:
Out<=A+B+C+D;
Out<=(A+B)+(C+D);

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


2 優化系統速度的VHDL設計策略

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

2.1 電路結構方面速度優化的主要方法

① 流水線設計是最常用的速度優化技術。采用流水線設計雖然不能縮短總工作周期,但通過把一個工作周期內的邏輯操作分成幾步較小操作,并連續同步實現的策略,可大大提高系統總體運行速度。

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

③ 關鍵路徑優化。所謂關鍵路徑是指從輸入到輸出延時最長的邏輯通道。關鍵路徑優化是保證系統速度優化的有效方法。

2.2 軟件使用方面速度優化的方法

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

3 面積優化的VHDL設計策略

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

3.1 資源共享方法

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

例程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的設計可用圖1描述,例程4的設計可用圖2描述??梢娎?節省了一個代價高昂的乘法器,整個設計占用面積比例程3幾乎減少了一半。


3.2 邏輯優化方法

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

4 結論

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

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产精品美女久久久久av超清| 国产麻豆一精品一av一免费| 午夜激情综合网| 亚洲美女免费精品视频在线观看| 久久精品99国产精品酒店日本| 午夜国产精品视频免费体验区| 一区二区三区国产在线| 99国产精品国产精品久久| 亚洲国产日韩欧美在线99| 尤物九九久久国产精品的特点| 国产真实乱子伦精品视频| 国产欧美丝祙| 国产色婷婷国产综合在线理论片a| 国产精品系列在线播放| 国产精品初高中精品久久| 欧美视频官网| 欧美三级视频| 国产精品qvod| 国产精品女人久久久久久| 国产精品欧美激情| 国产精品久久综合| 国产欧美精品日韩区二区麻豆天美| 国产精品久久久久久久久久免费看| 欧美在线电影| 欧美亚洲一级| 在线亚洲伦理| 亚洲欧美国产精品桃花| 亚洲女同精品视频| 午夜综合激情| 久久久蜜桃精品| 久久久亚洲成人| 欧美77777| 欧美理论片在线观看| 欧美日韩激情小视频| 国产精品久久| 国产在线高清精品| 亚洲风情亚aⅴ在线发布| 亚洲激情不卡| 亚洲色无码播放| 性色av一区二区怡红| 久久国产精品高清| 日韩视频免费在线| 午夜精品婷婷| 久久综合五月| 欧美日韩成人一区二区三区| 国产精品黄视频| 国产一区导航| 91久久精品视频| 亚洲视频一二| 久久国产精品久久久久久电车| 亚洲欧洲在线观看| 亚洲自拍16p| 久久久久久久999| 欧美精品在线观看| 国产乱码精品一区二区三区av| 国一区二区在线观看| 亚洲人成7777| 羞羞答答国产精品www一本| 亚洲精品国产精品国自产观看| 亚洲一区日本| 久久久久久网| 欧美日产在线观看| 国产欧美一区二区色老头| 亚洲电影第1页| 亚洲一区二区三区四区在线观看 | 黄色成人在线| 日韩视频免费大全中文字幕| 亚洲欧美成人一区二区在线电影| 亚洲国产导航| 香蕉国产精品偷在线观看不卡| 欧美不卡视频一区| 国产精品亚洲不卡a| 亚洲福利久久| 亚洲欧美日韩一区二区在线| 亚洲另类春色国产| 久久精品亚洲乱码伦伦中文| 欧美日韩一区二区三区免费看| 国产综合久久久久久鬼色| 亚洲作爱视频| 亚洲国产一区二区三区高清 | 久久婷婷蜜乳一本欲蜜臀| 欧美日韩国产电影| 黑丝一区二区| 亚洲在线观看| 中文久久乱码一区二区| 美玉足脚交一区二区三区图片| 国产精品一区二区a| 亚洲精品视频一区| 亚洲国产精品久久人人爱蜜臀 | 欧美国产综合视频| 国产一区二区三区久久| 亚洲一区二区少妇| 中国av一区| 欧美激情成人在线| 在线播放不卡| 欧美在线视频免费播放| 欧美一区二区三区日韩| 亚洲精品一二区| 91久久精品日日躁夜夜躁欧美 | 国内外成人在线| 亚洲欧美日韩一区二区| 亚洲一区二区三区高清不卡| 免费不卡亚洲欧美| 国产一区二区三区高清| 亚洲欧美精品伊人久久| 亚洲主播在线观看| 欧美色精品在线视频| 亚洲精品国精品久久99热| 亚洲精品久久久久久久久久久久久| 久久精品视频在线看| 国产视频观看一区| 亚洲自拍三区| 先锋影音久久| 国产精品揄拍500视频| 亚洲午夜精品久久久久久浪潮| 在线视频亚洲一区| 欧美日本在线| 日韩视频不卡| 这里只有精品在线播放| 欧美视频不卡| 亚洲午夜伦理| 性欧美激情精品| 国产免费成人在线视频| 性欧美18~19sex高清播放| 欧美一区二区三区在线观看| 国产精品美女www爽爽爽视频| 9久草视频在线视频精品| 亚洲午夜av电影| 欧美偷拍另类| 亚洲一区二区三区四区五区午夜 | 久久爱www久久做| 国产偷国产偷精品高清尤物| 欧美一区二区三区免费视| 久久久综合网| 伊人久久成人| 亚洲精品网站在线播放gif| 欧美国产综合| 一区二区不卡在线视频 午夜欧美不卡'| 一本色道久久综合一区| 国产精品v日韩精品| 亚洲一区二区三区视频| 欧美中文字幕在线观看| 黄色成人在线| 日韩一级精品| 国产精品每日更新| 久久国产精品久久国产精品 | 国产日韩欧美夫妻视频在线观看| 午夜伦欧美伦电影理论片| 久久久久一区二区| 亚洲黄色高清| 亚洲一区国产| 国内一区二区三区| 999在线观看精品免费不卡网站| 欧美视频在线看| 欧美一级夜夜爽| 欧美va亚洲va香蕉在线| 夜夜嗨av色一区二区不卡| 欧美一区二区精美| 在线播放中文字幕一区| 一区二区三区国产精华| 国产精品入口夜色视频大尺度 | 亚洲系列中文字幕| 国产欧美精品久久| 亚洲三级视频| 国产麻豆9l精品三级站| 亚洲精品乱码久久久久久久久 | 亚洲精品小视频在线观看| 国产精品va在线播放| 欧美一区二区在线播放| 欧美顶级大胆免费视频| 亚洲天堂av在线免费| 久久青草欧美一区二区三区| 亚洲精品欧美专区| 久久国产精品免费一区| 亚洲欧洲一区| 久久精品盗摄| 日韩午夜激情av| 久久精品国产精品亚洲| 在线视频欧美一区| 日韩一区二区久久| 国产日韩在线不卡| 一本色道久久综合精品竹菊| 国产日韩欧美一区在线| 在线性视频日韩欧美| 国内精品久久久久伊人av| 亚洲性视频网站| 在线观看一区欧美| 欧美一区二区三区免费在线看| 亚洲国产精品va在看黑人| 欧美在线视频观看免费网站| 亚洲破处大片| 久久久久青草大香线综合精品| 妖精视频成人观看www| 欧美不卡视频一区| 午夜在线不卡| 欧美系列一区| 99一区二区| 亚洲高清久久久| 久久久久久电影| 亚洲一区二区三区三|