當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于SystemC的系統(tǒng)級芯片設(shè)計方法研究

摘 要:在分析當(dāng)前系統(tǒng)級芯片設(shè)計方法的基礎(chǔ)上,提出了目前新型系統(tǒng)級IC設(shè)計語言SystemC及其平臺的設(shè)計思想及設(shè)計流程,并以具體項目RS編碼器來實現(xiàn)和驗證。實驗結(jié)果表明,SystemC是一種很好的軟硬件聯(lián)合設(shè)計語言,它不僅可以幫助設(shè)計人員完成一個復(fù)雜的系統(tǒng)設(shè)計,還可以避免傳統(tǒng)設(shè)計中的各種弊端,并提高設(shè)計效率。當(dāng)然,如何更好地利用SystemC設(shè)計也將是EDA領(lǐng)域當(dāng)前探索的一個重要方向。
關(guān)鍵詞:SOC;SystemC;RS編碼器;Verilog HDL

  隨著集成電路制造技術(shù)的迅速發(fā)展,SOC設(shè)計已經(jīng)成為當(dāng)今集成電路設(shè)計的發(fā)展方向。SO C設(shè)計的復(fù)雜性對集成電路設(shè)計的各個層次,特別是對系統(tǒng)級芯片設(shè)計層次,帶來了新挑戰(zhàn),原有的HDL難以滿足新的設(shè)計要求。
  硬件設(shè)計領(lǐng)域有2種主要的設(shè)計語言:VHDL和Verilog HDL。而兩種語言的標準不統(tǒng)一,導(dǎo)致軟硬件設(shè)計工程師之間工作交流出現(xiàn)障礙,工作效率較低。因此,集成電路設(shè)計界一直在尋找一種能同時實現(xiàn)較高層次的軟件和硬件描述的系統(tǒng)級設(shè)計語言。Synopsys公司與Coware公司針對各方對系統(tǒng)級設(shè)計語言的需求,合作開發(fā)了SystemC,他可以較好地實現(xiàn)軟硬件的協(xié)同設(shè)計,是系統(tǒng)級芯片設(shè)計語言的發(fā)展趨勢[1]。

1傳統(tǒng)的系統(tǒng)級設(shè)計方法[1]
  在傳統(tǒng)設(shè)計方法中,設(shè)計的系統(tǒng)級往往使用UML,SDL,C,C++等進行描述以實現(xiàn)各功能模塊的算法,而在寄存器傳輸級使用硬件描述語言進行描述。最廣泛使用的2種硬件描述語言是VHDL和Verilog HDL,傳統(tǒng)的系統(tǒng)設(shè)計方法流程如圖1所示。
從圖中不難看出,傳統(tǒng)的設(shè)計方法會出現(xiàn)如下弊端:

  首先,設(shè)計人員需要使用C/C++語言來建立系統(tǒng)級模型,并驗證模型的正確性,在設(shè)計細化階段,原始的C和C++描述必須手工轉(zhuǎn)換為使用VHDL或Verilog HDL。在這個轉(zhuǎn)換過程中會花費大量的時間,并產(chǎn)生一些錯誤。
  其次,當(dāng)使用C語言描述的模塊轉(zhuǎn)換成HDL描述的模塊之后,后者將會成為今后設(shè)計的焦點,而設(shè)計人員花費大量時間建立起來的C模型將再沒有什么用處。
  再次,需要使用多個測試平臺。因為在系統(tǒng)級建立起來的針對C語言描述的模塊測試平臺無法直接轉(zhuǎn)換成針對HDL語言描述的模塊所需要的測試平臺。

2使用SystemC的必要性
  無論采用什么樣的設(shè)計方法學(xué),人們都需要對SOC時代的復(fù)雜電子系統(tǒng)進行描述,以選擇合 適的系統(tǒng)架構(gòu),進行軟硬件劃分,算法仿真等等。描述的級別越低,細節(jié)問題就越突出,對實際系統(tǒng)的模仿就越精確,完成建模消耗的時間、仿真和驗證時間就越長。相反,描述的抽象級別越高,完成建模需要的時間就越短,但對目標系統(tǒng)的描述也就越不精確。作為設(shè)計人員必須在速度和精確性之間做出選擇。
  人們對系統(tǒng)級描述語言的要求是:高仿真速度以及建模效率、時序和行為可以分開建模、支持基于接口的設(shè)計、支持軟硬件混合建模、支持從系統(tǒng)級到門級的無縫過渡、支持系統(tǒng)級調(diào)試和系統(tǒng)性能分析等。人們迫切需要一種語言單一地完成全部設(shè)計。這種語言必須能夠用于描述各種不同的抽象級別(如系統(tǒng)級、寄存器傳輸級等),能夠勝任軟硬件的協(xié)同設(shè)計和驗證,并且仿真速度要快。這就是所謂的系統(tǒng)級描述語言SLDL,而傳統(tǒng)的硬件描述語言如VHDL和Verilog HDL都不能滿足這些要求。
  SystemC就是目前這方面研究的最新、最好的成果,他擴展傳統(tǒng)的軟件語言C和C++并使他們支持硬件描述,所以可以很好地實現(xiàn)軟硬件的協(xié)同設(shè)計,是系統(tǒng)級芯片設(shè)計語言的發(fā)展趨勢。

3SystemC簡介
  1999年9月,微電子業(yè)內(nèi)的一些一流的EDA公司、IP提供商、半導(dǎo)體制造商及系統(tǒng)和內(nèi)嵌式軟件設(shè)計公司聯(lián)合創(chuàng)建了開放SystemC創(chuàng)始會組織(Open SystemC Intitiative,OSCI),并推出了基于C++的系統(tǒng)級設(shè)計語言SystemC。OSCI是一個非盈利性組織,他負責(zé)維護和發(fā)展SystemC。SystemC是完全免費的,這使得EDA供應(yīng)商能夠充分自由地了解SystemC庫的源代碼以優(yōu)化他們的各種解釋工具;包括Synopsys,Cadence,F(xiàn)rontier Design,ARM,Eri ssion,Lucent,Sony,TI等核心成員。目前已經(jīng)有50多個著名的微電子公司支持該標準[2]。
  SystemC本質(zhì)上是在C++的基礎(chǔ)上添加的硬件擴展庫和仿真核,這使得SystemC可以建模不同抽象級別的(包括軟件和硬件的)復(fù)雜電子系統(tǒng)。他既可以描述純功能模型和系統(tǒng)體系結(jié)構(gòu),也可以描述軟硬件的具體實現(xiàn)。SystemC源代碼可以使用任何標準C++編譯環(huán)境進行編譯,生成可執(zhí)行文件;可以使用綜合工具(如Synopsys SystemC Compiler)將SystemC的寄存器傳輸級描述綜合為Verilog HDL或者VHDL的代碼用于FPGA設(shè)計,也可以綜合為EDIF網(wǎng)表用于A SIC設(shè)計[3]。
  SystemC具有所有硬件描述語言所共有的基本特征,包括模塊、進程、端口和信號等。不同的是,在SystemC中時鐘被單獨定義為一個特殊的信號,這大大簡化了時鐘信號的定義,SystemC還支持具有任意相位關(guān)系的多個時鐘。在SystemC中使用了sc_set_tim e_resoluti on()和sc_set_default_time_unit()來定義時間分辨率和時間單位,這與Ve rilog HDL的timescale語法在功能上是等效的。
  為了支持寄存器傳輸級的并行描述,SystemC還采用了與傳統(tǒng)硬件描述語言基本相同的調(diào)度模型基于Δ(delta)延遲。一個Δ周期包括求值和更新2個階段,在一個時間點上,這樣的Δ周期會出現(xiàn)直到再求值前后的結(jié)果不再發(fā)生變化。而在宏觀上,時間并沒有前進。SystemC 2.01調(diào)度模型中,在初始化階段(相當(dāng)于時間0點),所有進程包括方法進程和線程都將執(zhí)行一次。不同的是,在SystemC中,所有的信號和變量的初始化工作在構(gòu)造函數(shù)中進行,他比其他函數(shù)先執(zhí)行,避免了像Verilog HDL中由于初始化順序不同引起的不同仿真器仿真結(jié)果的不一致。
  為了支持進程同步和通信細化,SystemC支持用戶自定義的接口,端口和通道。接口是方法的集合,但不具體實現(xiàn)這些方法,在C++語法中,他們都是純虛函數(shù)。通道具體實現(xiàn)一個或者多個接口。端口定義了他能夠連接的具體的接口類型,只能被用于連接實現(xiàn)了該類型接口的通道。在有些情況下,進程可以直接讀寫通道而不必通過端口,而其他情況下則必須通過端口進程才能讀寫通道。
  在SystemC中,進程只調(diào)用通道提供的接口方法。雖然接口方法是在通道中實現(xiàn)的,然而他是在進程上下文中被執(zhí)行的。這被稱作接口方法調(diào)用(InterfaceMethodCall,IMC),接口方法調(diào)用和支持不同抽象級別的混合建模是通信細化的基礎(chǔ)。

4基于SystemC的設(shè)計思想和設(shè)計流程
  用SystemC可以在抽象層次的不同級描述系統(tǒng)。在系統(tǒng)最高層的系統(tǒng)級可以用C/C++描述系統(tǒng)的功能和算法。在系統(tǒng)的硬件實現(xiàn)部分可以在行為級到RTL級用SystemC 的類來描述,系統(tǒng)的軟件部分自然可以用C/C++語言描述。而且,系統(tǒng)的不同部分可以在不同的抽象層次描述,這些描述在系統(tǒng)仿真時可以協(xié)同工作。并且,用SystemC不但可以描述要開發(fā)的系統(tǒng)本身,還可以描述系統(tǒng)的測試平臺Testbench,以提供測試信號用于系統(tǒng)的仿真。
  SystemC由一組描述類的頭文件和一個包含仿真核的連接庫Link Library所組成,在用戶的建模描述程序中必須包括相應(yīng)的頭文件,然后可以用通常的C++編譯器編譯該程序。在連接Link時要調(diào)用SystemC的連接庫產(chǎn)生可執(zhí)行的系統(tǒng)仿真程序。利用SystemC建模的思想如圖2所示。

  基于SystemC的設(shè)計流程與以前的設(shè)計流程的本質(zhì)區(qū)別在于,使用一種語言就可以完成從系統(tǒng)到RTL、從軟件到硬件的全部設(shè)計,整個設(shè)計的軟硬件可以協(xié)同設(shè)計和仿真,恰好彌補了傳統(tǒng)設(shè)計方法中的這些不足。
  基于SystemC的設(shè)計流程如圖3所示。

5應(yīng)用實例
  下面給出一個基于SystemC設(shè)計的實例:RS(15,9)的設(shè)計詳細地說明整個設(shè)計流程。
  
RS(Reed-Solomon)[4]糾錯碼是目前最有效、應(yīng)用最廣泛的差錯控制編碼之一,是一類具有很強糾錯能力的多進制的線性分組碼,RS(15,9)碼編碼器,主要應(yīng)用于移動通信系統(tǒng)的差錯控制,由于該編碼器小巧、靈活,糾錯性能好,對于移動通信系統(tǒng)可靠性的提高、復(fù)雜度的降低有至關(guān)重要的作用[5]。整個系統(tǒng)如圖4所示。

  整個設(shè)計從用SystemC為整個系統(tǒng)建模開始,同時為模塊建立Testbench。然后使用VC ++6.0和Modelsim進行功能仿真,接著在SystemC可綜合子集的范圍內(nèi)對代碼進行約束,使用支持SystemC的綜合工具SCC(SystemC Compiler)完成綜合,SystemC的綜合實際上還是靠綜合HDL語言文件得到的網(wǎng)表,而SCC這個工具是SystemC和HDL之間的一個橋梁,因此對于SystemC的綜合首先是將SystemC描述的RTL級電路通過SCC綜合,綜合的結(jié)果是生成相應(yīng)的Verilog文件,在這個轉(zhuǎn)變過程中,模塊的整體結(jié)構(gòu)被保存,如每一個sc _module被轉(zhuǎn)換成獨立的Verilog模塊,并存放在module_namev文件中;每一個進程(SC_METHOD)被轉(zhuǎn)換成帶進程名的always塊;變量和端口也以同樣的名字在Verilog文件中生成。因此,后續(xù)流程就與傳統(tǒng)設(shè)計語言設(shè)計的FPGA流程連接上了。
  本文選用Xilinx的SPARTAN2系列的FPGA XC2S50PQ28對本設(shè)計進行驗證。軟件平臺主要使用的是Xilinx的集成開發(fā)環(huán)境ISE。其中第三方工具使用了綜合工具FPGA CompilerⅡ,布局布線工具選用的是ISE中的Webpack suite。
  把前面用SystemC Compiler綜合生成的Verilog文件倒入ISE中,調(diào)用FCⅡ(FPGA Compiler Ⅱ),對代碼加約束,包括時間約束、引腳約束、時鐘頻率等,進行邏輯綜合和優(yōu)化,得到的網(wǎng)表可以以EDIF格式輸出,并與布局布線工具(webpack suite)接口,完成布局布線操作。布局布線完成后會產(chǎn)生一個布局布線后的網(wǎng)表文件、標準延遲文件(SDF)和一個后綴名位b it的二進制配置文件,其中SDF包含從布線之后提取出來的邏輯單元和連線的時序信息。然后連接好下載電路,運行下載配置文件,實現(xiàn)對FPGA的配置,配置采用的是EDA實驗板O PEN FPGA4.0。把ISE生成的配置文件bit文件燒錄到FPGA XC2S50上完成。整個實現(xiàn)流程如圖5所示。

  從對FPGA XC2S50中消耗的邏輯資源分析可以看到,系統(tǒng)的等效門為1 124個門。
  值得注意的是,在整個設(shè)計過程中,測試平臺一直沒有改變,這樣在設(shè)計被不斷完善的過程中,保證不引入新的設(shè)計錯誤而始終符合設(shè)計要求。

6結(jié)語
  本文針對目前業(yè)界比較熱門的新型系統(tǒng)設(shè)計語言SystemC的設(shè)計方法進行了深入研究,并結(jié)合具體實例開發(fā)提出了一套完整的采用SystemC及其平臺設(shè)計的思路和方法。實驗結(jié)果證明這套方法的可行性。由于目前如何采用SystemC進行設(shè)計還沒有一個完全的設(shè)計規(guī)范流程,因此,如何將本文中的設(shè)計思路和流程完善使之更為通用,仍需進一步深入研究。我們相信基于SystemC的設(shè)計必將成為IC設(shè)計領(lǐng)域系統(tǒng)級設(shè)計的最佳標準之一。

參考文獻

[1]Synopsys Inc.SystemC version1.0 User′s Guide.http://www.systemC.org.
[2]Synopsys Inc.SystemC version2.0 User′s Guide.http://www.systemC.org.
[3]Synopsys Inc.Functional Specification for SystemC 2.http://www.systemc.org. ?
[4]Berlekamp Elwnr.Bitserial ReedSolomon encoders[J].IEEE Transon Information Theory,1982,IT28(6):869-873.
[5]Kwon S,Shin H.An Areaefficient VLSI Architecture of Reedsolo mon Decoder/Encoder ro Digital VCRS[J]. IEEE Trans. Consumer Electronics,199 7,43(4):1 019-1 027.

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉