999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于CPLD/FPGA的VHDL語言電路優化設計

2010-04-12 00:00:00杜志傳鄭建立
現代電子技術 2010年3期

摘 要:VHDL電路的優化目標是充分利用CPLD/FPGA芯片的內部資源,使設計文件能適配到一定規模的CPLD/FPGA芯片中,并提高系統的工作速度和降低系統成本。分析VHDL語言的特點,并從設計思想、語句運用和描述方法等方面對電路進行優化,提出了利用串行化設計思想和外擴E2PROM的方法對VHDL電路進行優化,通過對比實驗,驗證了這兩種方法能有效減少程序占用的宏單元(Macro Cell)。

關鍵詞:VHDL;CPLD/FPGA;電路設計;優化

中圖分類號:TP930 文獻標識碼:A

文章編號:1004-373X(2010)03-191-03

Optimized Design of Circuits in VHDL Based on CPLD/FPGA

DU Zhichuan,ZHENG Jianli

(School of Medical Instrument and Food Engineering,University of Shanghai for Science and Technology,Shanghai,200093,China)

Abstract:The optimized design of VHDL is for making full use of hardware resources provided by CPLD/FPGA,making the design suit for certain scale of CPLD/FPGA chip,increasing the system′s speed and reducing system′s costs.The advantages of VHDL language are analysed and the circuit design is optimized from the design idea,the use of statements,coding style.In this paper,serial design methods and the use of E2PROM to optimize the circuit design are proposed,these two methods are proved to be effective in reducing Macro Cell occupied by the program.

Keywords:VHDL;CPLD/FPGA;circuit design;optimization

0 引 言

VHDL(Very High Speed Integrated Circuit Hardware Description Language)是IEEE工業標準硬件描述語言,是隨著可編程邏輯器件(PLD)的發展而發展起來的[1]。它是一種面向設計、多層次的硬件描述語言,是集行為描述、RTL描述、門級描述功能為一體的語言,并已成為描述、驗證和設計數字系統中最重要的標準語言之一[2,3]。由于VHDL在語法和風格上類似于高級編程語言,可讀性好,描述能力強,設計方法靈活,可移植性強,因此它已成為廣大EDA工程師的首選。目前,使用VHDL語言進行CPLD/FPGA設計開發,Altera和Lattice已經在開發軟件方面提供了基于本公司芯片的強大開發工具。但由于VHDL設計是行為級設計,所帶來的問題是設計者的設計思想與電路結構相脫節,而且其在設計思路和編程風格等方面也存在差異,這些差異會對系統綜合后的電路整體性能產生重要的影響。

在VHDL語言電路優化設計當中,優化問題主要包括面積優化和速度優化[4]。面積優化是指CPLD/FPGA的資源利用率優化,即用盡可能少的片內資源實現更多電路功能;速度優化是指設計系統滿足一定的速度要求,即用更多的片內資源換取更快的處理速度,常用于視頻信號采集系統和通信系統之中。面積優化和速度優化通常是一對矛盾,一般情況下,速度指標是首要的,在滿足速度要求的前提下,盡可能實現面積優化[5]。因此,本文結合在設計超聲探傷數據采集卡過程中的CPLD編程經驗,提出串行設計、防止不必要鎖存器的產生、使用狀態機簡化電路描述、資源共享[6],利用E2PROM芯片節省片內資源等方法對VHDL電路進行優化。

1 VHDL電路優化設計的方法

優化設計是可編成邏輯設計的精華所在,如何節省所占用的面積、如何提高設計的性能是可編成邏輯設計的核心,這兩點往往也成為一個設計甚至項目成敗的關鍵因素[7]。下面結合超聲探傷數據采集卡設計過程中,并基于Altera公司的EPM7192 CPLD芯片的編程經歷來論述VHDL電路的優化方法。

1.1 采用串行設計代替并行設計

串行設計是指把原來單個時鐘周期內完成的并行操作的邏輯功能分割出來,提取相同的功能單元,在時間上分時復用這些功能單元,在滿足系統速度要求的前提下,用多個時鐘周期來完成單個時鐘周期即可完成的功能。

根據項目的要求,超聲探傷數據采集卡要有5個模擬通道,每隔125 μs就會采集到330個點。如果等5個超聲通道采樣結束后再進行數據處理和傳輸,幾乎是不可能滿足該超聲探傷系統的實時性要求,而且數據量也遠遠超過ARM板上總線接口的傳輸速率2 MB/s。對于這么高的實時性要求,最好的解決辦法是在CPLD內部進行數據壓縮,即邊采集邊壓縮,以滿足系統使用的ARM板的總線速率要求。經過系統評估,每個超聲通道只需保留一個最大值即可滿足系統的性能要求。在這里,通過在三個8位數A,B,C中找出最大值的例子來說明串行設計方法的優勢,代碼如下所示。

程序一:

signal A:std_logic_vector(7 downto 0);

signal B:std_logic_vector(7 downto 0);

signal C:std_logic_vector ( 7 downto 0);

process(clk)

begin

if( clk′event and clk=′1′) then

A<=AD_RESULT;

B<=A;

C<=B;

else

1;

end if;

end process;

process(A,B,C)

variable max : std_logic_vector (7 downto 0);

begin

if(A > B) then

if (A < = C) then

max :=C;

else

max :=A;

end if;

else

if(B < = C)then

max:=C;

else

max:=B;

end if;

end if;

end process;

程序二:

signal max : std_logic_vector(7 downto 0);

process(clk)

variable temp: std_logic_vector(7 downto 0);

begin

if( clk′event and clk=′1′ ) then

temp:=AD_RESULT;

if(temp >= max)then

max<=temp;

else

1;

end if;

else

1;

end if;

end process;

程序一是用并行方法設計,而程序二是采用串行方法設計。從表1的實驗數據可見,采用串行方法以后,電路的優化效果比較明顯。優化前,程序一需要消耗38個宏單元(Micro Cell),一個時鐘周期即可完成找最大值操作;優化后,實現相同的邏輯功能程序二僅需要12個宏單元,但需要3個時鐘周期才能完成一次運算,優化率達68.4%。值得注意的是,此方法是以速度換取資源的方法,只適用于對速度要求不高的系統。

表1 優化前后資源使用情況

程序名稱實驗平臺器件消耗宏單元個數 /個

程序一程序二

Quartus II 7.2EPM7192SQC160-1538

12

1.2 防止不必要鎖存器的產生

在VHDL設計中,使用語句不當也是導致電路復雜化的原因之一,這使得綜合后的電路當中存在很多不必要的鎖存器,降低電路的工作速度[8]。因此,在設計一個邏輯電路時,設計人員應該避免由于VHDL使用習慣的問題,無意識地在電路中添加不必要的鎖存器。由于IF或者CASE語句較容易引入鎖存器,所以當語句的判斷條件不能覆蓋所有可能的輸入值的時候,邏輯反饋就容易形成一個鎖存器。當然,隨著高級編譯軟件的出現,如Quartus Ⅱ 7.2,這樣的問題通過編譯軟件已經得到很好的解決。對一個設計人員而言,有意識地防止不必要鎖存器的產生可以加快編譯速度。

在超聲探傷數據采集卡VHDL程序設計當中,涉及10 MHz系統時鐘clk的同步D觸發器的設計,即每當clk時鐘信號的上升沿到來時,將輸入信號in的值賦給輸出信號out,代碼如下所示。

程序三:

process ( clk )

begin

if ( clk′event and clk=′1′ ) then

out <= in;

end if;

end process;

程序四:

process(clk)

begin

if ( clk′event and clk=′1′ ) then

out <= in;

else

1;

end if;

end process;

通過對比,程序四比程序三只多了一條空語句,但這樣做可有效防止綜合器生成不必要鎖存器,并提高電路的工作速度。

1.3 使用狀態機簡化電路描述

由于狀態機的結構模式簡單,有相對固定的設計模板,特別是VHDL支持定義符號化枚舉類型狀態,這就為VHDL綜合器充分發揮其強大的優化功能提供了有利條件[9]。因此采用狀態機比較容易地設計出高性能的時序邏輯模塊,在超聲探傷數據采集卡的CPLD程序設計中,使用有限元狀態機(FSM)設計CY7C4225 1K×16 b FIFO芯片的讀寫控制模塊,并且達到很好的效果,邏輯轉換圖如圖1所示。實踐證明,實現相同的邏輯功能,使用狀態機設計能使設計的電路得到更好的優化。

圖1 寫FIFO邏輯轉換圖

1.4 資源共享

資源共享的思想是通過使用數據緩沖器或多路選擇器等方法來共享數據通道中占用資源較多的模塊[10],如算法單元。通過共享電路單元模塊可有效提高芯片內部資源的利用率,達到優化電路的目的。

1.5 利用E2PROM芯片節省片內資源

在用VHDL進行項目開發的過程中,經常需要存儲一些配置參數值。理論上講,每存儲一個字節的配置參數需要使用8個CPLD宏單元,因此在CPLD內部存儲這些參數并不是好的方案,除非使用的CPLD芯片已集成了E2PROM存儲單元。例如,在設計超聲探傷系統的數據采集卡的過程中,每個通道的采樣數都需要保存在CPLD里面。由于項目初期芯片選型不當,

選擇一款EPM7192S160-15,該款芯片內部只有192個宏單元,因此考慮把參數存儲在外擴的E2PROM芯片24WC02中。經實驗證明,在CPLD內部實現一個I2C控制器僅需要43個宏單元。由此可見,當初始化參數大于5個的時候,通過外擴E2PROM芯片來存儲配置參數是可行的,只需在CPLD/FPGA芯片內實現I2C控制器即可方便地讀寫E2PROM存儲芯片。

2 結 語

使用VHDL進行CPLD/FPGA電路設計時,要根據實際項目的具體情況,合理地劃分項目功能,并用VHDL實現相應的功能模塊。用模塊來構建系統,可有效地優化模塊間的結構和減少系統的冗余度,并在模塊設計過程中始終貫徹以上的優化設計原則,借助于強大的綜合開發軟件進行優化,才能達到最優化電路的目的。

參考文獻

[1]趙桂青,于會山,穆健,等.VHDL編碼中面積優化探討[J].嵌入式軟件應用,2007,23(1):116-117.

[2]吳繼華,王誠.Altera FPGA/CPLD設計[M].北京:人民郵電出版社,2005.

[3]Steve Carison.VHDL Design(Representation Synthesis)[M].New Jersey:Prentice Hall,2000.

[4]潘松.EDA技術實用教程[M].北京:科學出版社,2004.

[5]沈祖斌.基于FPGA/CPLD的數字系統設計優化[J].江漢大學學報,2006,34(1):47-49.

[6]Bhasker J.VHDL Primer[M].3rd Edition.NJ:Prentice Hall,1999.

[7]楊鮮艷,王珊珊,李萍,等.VHDL電路優化設計及方法[J].航船電子工程,2007,(2):112-114.

[8]鄔楊波,王曙光,胡建平.有限狀態機的VHDL設計及優化[J].信息技術,2004,28(1):75-78.

[9]Volnei A.Pedroni-Circuit Design with VHDL[M].MIT Press,2004.

[10]任勇峰,莊新敏.VHDL與硬件實現速成[M].北京:國防工業出版社,2005.

主站蜘蛛池模板: 最新国产麻豆aⅴ精品无| 青草国产在线视频| 91精品国产一区| 国产欧美日韩视频怡春院| 精品福利视频网| 亚洲人成色77777在线观看| 日本福利视频网站| 亚洲电影天堂在线国语对白| 亚洲欧洲日韩综合色天使| 亚洲αv毛片| 四虎精品黑人视频| 国产熟女一级毛片| 欧美成人影院亚洲综合图| 成年人视频一区二区| 欧美一级高清片欧美国产欧美| 女人18毛片一级毛片在线 | 亚洲欧美另类色图| 亚洲一区精品视频在线| 国产乱子精品一区二区在线观看| 亚洲成aⅴ人在线观看| 在线视频精品一区| 日韩在线永久免费播放| 久久精品中文字幕少妇| 国产亚洲视频免费播放| jizz国产视频| 成年女人a毛片免费视频| 国产jizz| 国产精品夜夜嗨视频免费视频| 久久99热66这里只有精品一| 久久久黄色片| 国产一级毛片在线| 99视频在线免费观看| 亚洲福利视频网址| 久久一本精品久久久ー99| 国产91丝袜在线播放动漫| 青青操视频在线| 真实国产精品vr专区| 欧亚日韩Av| 黄色福利在线| 国产精品v欧美| 国产在线自在拍91精品黑人| 国产精品va| 亚洲动漫h| 91精品国产自产在线老师啪l| 日韩小视频在线播放| 黄色网在线免费观看| 广东一级毛片| 亚洲美女高潮久久久久久久| 天堂成人av| 国产极品美女在线| 久久永久精品免费视频| 91青青草视频在线观看的| www.91在线播放| 99激情网| 为你提供最新久久精品久久综合| 国产一级二级在线观看| 国产成人综合亚洲欧美在| 国产一区二区丝袜高跟鞋| 欧洲欧美人成免费全部视频| 2021国产精品自产拍在线| 国产一区二区精品高清在线观看| 国产在线观看99| 国产精品久久久久久搜索| 精品国产成人国产在线| 影音先锋亚洲无码| 国产麻豆精品在线观看| 国产特级毛片aaaaaa| 青青草原国产| 欧美成人国产| 国产二级毛片| 女人18毛片水真多国产| 国产综合色在线视频播放线视 | 亚瑟天堂久久一区二区影院| 国内自拍久第一页| 日韩精品高清自在线| 免费一级α片在线观看| 无码电影在线观看| 国产成人h在线观看网站站| 久久网欧美| 精品亚洲国产成人AV| 欧美激情视频一区| 久久精品丝袜高跟鞋|