硬件描述語言現狀及發展前景探討論文

時間:2022-11-03 09:07:00

導語:硬件描述語言現狀及發展前景探討論文一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。

硬件描述語言現狀及發展前景探討論文

關鍵詞:ASIC硬件描述語言芯片系統

摘要:從數字系統設計的性質出發,結合目前迅速發展的芯片系統,比較、研究各種硬件描述語言;詳細闡述各種語言的發展歷史、體系結構和設計方法;探討未來硬件描述語言的發展趨勢,同時針對國內EDA基礎薄弱的現狀,在硬件描述語言方面作了一些有益的思考。

現在,隨著系統級FPGA以及系統芯片的出現。軟硬件協調設計和系統設計變得越來越重要。傳統意義上的硬件設計越來越傾向于與系統設計和軟件設計結合。硬件描述語言為適應新的情況,迅速發展,出現了很多新的硬件描述語言,像Superlog、SystemC、cynlibc++等等。究交選擇哪種語言進行設計,整個業界正在進行激烈的討論。因此,完全有必要在這方面作一些比較研究,為EDA設計做一些有意義的工作,也為發展我們未來的芯片設計技術打好基礎。

一、目前HDL發展狀況

目前,硬件描述語言可謂是百花齊放,有VHDL、Superlog、Verilog、SystemC、CynlibC++、CLevel等等。雖然各種語言各有所長,但業界對到底使用哪一種語言進行設計,卻莫衷一是,難有定論。

而比較一致的意見是,HDL和C/C++語言在設計流程中實現級和系統級都具有各自的用武之地。問題出現在系統級和實現級相連接的地方:什么時候將使用中的一種語言停下來,而開始使用另外一種語言?或者干脆就直接使用一種語言?現在看來得出結論仍為時過早。

在2001年舉行的國際HDL會議上,與會者就使用何種設計語言展開了生動、激烈的辯論。各方人士各持己見:為Verilog辯護者認為,開發一種新的設計語言是一種浪費;為SystemC辯護者認為,系統級芯片SoC快速增長的復雜性需要新的設計方法;C語言的贊揚者認為,Verilog是硬件設計的匯編語言,而編程的標準很快就會是高級語言,Cynlibc++是最佳的選擇,它速度快、代碼精簡;Supedog的捍衛者認為,Superlog是Verilog的擴展,可以在整個設計流程中僅提供一種語言和一個仿真器,與現有的方法兼容,是一種進化,而不是一場革命。

當然,以上所有的討論都沒有提及模擬設計。如果想設計帶有模擬電路的芯片,硬件描述語言必須有模擬擴展部分,像VerilogHDL-A,既要求能夠描述門級開關級,又要求具有描述物理特性的能力。

二、幾種代表性的HDL語言

2.1VHDL

早在1980年,因為美國軍事工業需要描述電子系統的方法,美國國防部開始進行VHDL的開發。1987年。由IEEE(In,stituteofElectricalandElectro-nicsEngineers)將VHDL制定為標準。參考手冊為IEEEVHDL語言參考手冊標準草案1076/8版,于1987年批準,稱為IEEE1076-1987。應當注意,起初VHDL只是作為系統規范的一個標滯,而不足為設計而制定的。第二個版本是在1993年制定的,稱為VHDL-93,增加了一些新的命令和屬性。

雖然有“VHDL是一個4億美元的錯誤”這樣的說法。但VHDL畢竟是1995年以前唯一制訂為標準的硬件描述語言,這是它不爭的事實和優勢;但同時它確實比較麻煩,而且其綜合庫至今也沒有標準化,不具有晶體管開關級的描述能力和模擬設計的描述能力。目前的看法是,對于特大型的系統級數字電路設計,VHDL是較為合適的。

實質上,在底層的VHDL設計環境是由VerilogHDL描述的器件庫支持的,因此,它們之間的互操作性十分重要。目前,Verilog和VDHL的兩個國際組織OVI、Ⅵ正在籌劃這一工作,準備成立專門的工作組來協調VHDL和VerilogHDL語言的互操作性。OVI也支持不需要翻譯,由VHDL到Verilog的自由表達。

2.2VerilogHDL

VenlogHDL是在1983年,由GDA(GateWayDesignAu-tomation)公司的PhilMoorby首創的。PhilMoorby后來成為Verilog-XL的主要設計者和Cadence公司的第一合伙人。在1984“1985年,PhilMoorby設計出了第一個名為Venlog-XL的仿真器;1986年,他對VerilogHDL的發展義作出了另一個巨大的貢獻:提出了用于快速門級仿真的XL算法。

隨著Verilog-XL算法的成功,VerilogHDL語言得到迅速發展。1989年,Cadence公司收購了GDA公司,VerilogHDL語言成為Cadence公司的私有財產。1990年,Cadence公司決定公開VerilogHDL語言,于是成立了OVI(OpenVerilogInternaUonal)組織,負責促進VerilogHDL語言的發展。基于VerilogHDL的優越性,IEEE于1995年制定了VerilogHDL的IEEE標準,即VerilogHDL1364-1995;2001年了VerilogHDL1364-2001標準。在這個標準中,加入了VerilogHDL-A標準,使Verilog有了模擬設計描述的能力。

2.3Superlog

開發一種新的硬件設計語言,總是有些冒險,而且未必能夠利用原來對硬件開發的經驗。能不能在原有硬件描述語言的基礎上,結合高級語言c、c++甚至Java等語言的特點,進行擴展,達到一種新的系統級設計語言標準呢?

Superlog就是在這樣的背景下研制開發的系統級硬件描述語言。Verilog語言的首創者PhilMoorby和PeterFlake等硬什描述語言專家,在一家叫Co-DesignAutomation的EDA公司進行合作,開始對Verilog進行擴展研究。1999年,Co-Design公司了SUPERLOGTM系統設計語言,同時了兩個開發工具:SYSTEMSIMTM和SYSTEMEXTM。一個用于系統級開發,一個用于高級驗證。2001年,Co-Design公司向電子產業標準化組織Accellera了SUPERLOG擴展綜合子集ESS,這樣它就可以在今天Verilog語言的RTL級綜合子集的基礎上,提供更多級別的硬件綜合抽象級,為各種系統級的EDA軟件工具所利用。

至今為止,已超過15家芯片設計公司用Superlog來進行芯片設計和硬件開發。Superlog是一種具有良好前景的系統級硬件描述語言。但是不久前,由于整個IT產業的滑坡,EDA公司進行大的整合,Co-Design公司被Synopsys公司兼并,形勢又變得撲朔迷離。

2.4SystemC

隨著半導體技術的迅猛發展,SoC已經成為當今集成電路設計的發展方向。在系統芯片的各個設計中,像系統定義、軟硬件劃分、設計實現等,集成電路設計界一直在考慮如何滿足SoC的設計要求,一直在尋找一種能同時實現較高層次的軟件和硬件描述的系統級設計語言。

systemC正是在這種情況下,由Synopsys公司和CoWare公司積極響應目前各方對系統級設計語言的需求而合作開發的。1999年9月27日,40多家世界著名的EDA公司、lP公司、半導體公司和嵌入式軟件公司宣布成立“開放式SystemC聯盟”。著名公司Cadence也于2001年加入了systemC聯盟。SystemC從1999年9月聯盟建立初期的0.9版本開始更新,從1.0版到1.1版,一直到2001年10月推出了最新的2,0版。

三、各種HDL語言的體系結構和設計方法

3.1SystemC

實際使用中,systemc由一組描述類庫和一個包含仿真核的庫組成。在用戶的描述程序中,必須包括相應的類庫,可以通過通常的ANSIc++編譯器編譯該程序。SystemC提供了軟件、硬件和系統模塊。用戶可以在不同的層次上自由選擇。建立自己的系統模型,進行仿真、優化、驗證、綜合等等。

3.2Supeflog

Superlog集合了Verilog的簡潔、c語言的強大、功能驗證和系統級結構設計等特征,是一種高速的硬件描述語言。

①Verilog95和Verilog2K。Superlog是VerilogHDL的超集,支持最新的Verilog2K的硬件模型。

②c和c++語言。Superlog提供c語言的結構、類型、指針,同時具有C++面對對象的特性。

③Superlog擴展綜合子集ESS。ESS提供一種新的硬件描述的綜合抽象級。

④強大的驗證功能。自動測試基準,如隨機數據產生、功能覆蓋、各種專有檢查等。

Superlog的系統級硬件開發工具主要有Co-DesignAu-mmation公司的SYSTEMSIMTM和SYSTEMEXTM,同時可以結合具它的EDA工具進行開發。

3.3Verilog和VHDL

這兩種語言是傳統硬件描述語言,有很多的書籍和資料叫以查閱參考,這里不多介紹。

四、目前可取可行的策略和方式

按傳統方法,我們將硬件抽象級的模型類型分為以下五種:

(1)系統級(system)-用語言提供的高級結構實現算法運行的模型;

(2)算法級(aIgorithm)-用語言提供的高級結構實現算法運行的模型;

(3)RTL級(RegisterTransferLevel)-描述數據在寄存器之間流動和如何處理、控制這些數據流動的模型。

(4)門級(gate-level)-描述邏輯門以及邏輯門之間的連接模型;

(5)開關級(swish-level)-描述器件中三極管和存儲節點以及它們之間連接的模型。

根據目前芯片設計的發展趨勢。驗證級和綜合抽象級也有可能成為一種標準級別。因為它們適合于IP核復用和系統級仿真綜合優化的需要,而軟件(嵌入式、固件式)也越來越成為一個和系統密切相關的抽象級別。

目前,對于一個系統芯片設計項目,可以采用的方案包括以下幾種:

①最傳統的辦法是,在系統級采用VHDL,在軟件級采用c語言,在實現級采用Verilog。目前,VHDL與Verilog的互操作性已經逐步走向標準化,但軟件與硬件的協凋設計還是一個很具挑戰性的工作。因為軟件越來越成為SOC設計的關鍵。該力案的特點是:風險小,集成難度大,與原有方法完全兼容,有現成的開發工具:但工具集成由開發者自行負責完成。

②系統級及軟件級采用Superlog,硬件級和實現級均采用VerilogHDL描述,這樣和原有的硬件設計可以兼容。只要重新采購兩個Superlog開發工具SYSTEMSIMTM和SYSTEMEXTM即可。該方案特點是風險較小,易于集成,與原硬件設計兼容性好。有集成開發環境。

③系統級和軟件級采用SystemC,硬件級采用SystemC與常規的VerilogHDL互相轉換,與原來的軟件編譯環境完全兼容。開發者只需要一組描述類庫和一個包含仿真核的庫,就可以在通常的ANSIc++編譯器環境下開發;但硬件描述與原有方法完全不兼容。該方案特點是風險較大,與原軟件開發兼容性好,硬件開發有風險。

五、未來發展和技術方向

微電子設計工業的設計線寬已經從0.251um向0.18um變遷,而且正在向0.13um和90nm的目標努力邁進。到0.13um這個目標后,90%的信號延遲將由線路互連所產生:為了設計工作頻率近2GHz的高性能電路,就必須解決感應、電遷移和襯底噪聲問題(同時還有設計復雜度問題)。

未來幾年的設計中所面臨的挑戰有哪些?標準組織怎樣去面對?當設計線寬降到0.13um,甚至更小尉,將會出現四個主要的趨勢:設計再利用;設計驗證(包括硬件和軟什);互連問題將決定剝時間、電源及噪聲要求;系統級芯片設計要求。

滿足來來設計者需要的設計環境將是多家供應商提供解決方案的模式,因為涉及的問題面太廣且太復雜,沒有哪個公司或實體可以獨立解決。實際上,人們完全有理由認為,對下一代設計問題解決方案的貢獻,基礎研究活動與獨立產業的作用將同等重要。

以后EDA界將在以下三個方面開展工作。

①互用性標準。所有解決方案的基礎,是設計工具開發過程的組件一互用性標準。我們知道。EDA工業采用的是工業上所需要的標準。而不管標準是誰制定的。但是,當今市場的迅速發展正在將優勢轉向那些提供標準時能做到快速適應和技術領先的組織。處于領先的公司正在有目的地向這方面投資,那些沒有參加開發這些標準的公司則必須獨自承擔風險。公務員之家

②擴展其高級庫格式(ALF)標準,使其包含物理領域的信息,是EDA開發商可以致力于解決互連問題的算法,從而使電路設計者在解決設計收尾工作時,不再受到這個問題的困擾。

③制定新的系統級設計語言標準。標準化系統芯片的設計工具和語言。使SoC真正達到第三次微電子設計革命浪潮。