王國富
摘 要:文章對基于SystemC的片上系統(tǒng)設(shè)計進行了介紹,并使用SystemC設(shè)計了一個交通自動控制系統(tǒng)。文中介紹了系統(tǒng)的實現(xiàn)并提出了改進方案。
關(guān)鍵詞:SystemC;片上系統(tǒng)設(shè)計;交通自動控制系統(tǒng)
1引言
片上系統(tǒng)(SoC)的興起使芯片設(shè)計過程的各個階段充滿了許多新的挑戰(zhàn)。工程師們正在重新考慮設(shè)計是如何進行規(guī)定、分區(qū)和驗證的。通常系統(tǒng)及軟件使用一種編程語言(如C/C++)而其硬件設(shè)計使用硬件描述語言(如VHDL和Verilog),問題隨著因為使用了不同的設(shè)計語言、不兼容的工具和分散的工具使用流程而產(chǎn)生。所有目前主要趨勢是使用SystemC語言和建模平臺來進行系統(tǒng)設(shè)計。其已成為功能、通信以及軟件和硬件在不同的抽象層次上實現(xiàn)的最佳解決方案的背后代表。原因很明顯:越來越復雜的設(shè)計要求快速的可執(zhí)行的規(guī)范來驗證系統(tǒng)的概念,只有C/C++提供適當水平的抽象、軟硬件的集成和性能。當下的系統(tǒng)設(shè)計也要求使用單一的語言和建模的基礎(chǔ)上是互操作的系統(tǒng),即設(shè)計工具、服務(wù)和知識產(chǎn)權(quán),成為現(xiàn)實。
本文使用SystemC設(shè)計了一個自動控制的交通燈系統(tǒng)。系統(tǒng)設(shè)計的詳細信息將在接下來的章節(jié)中展示。
2 SystemC介紹
SystemC是一種系統(tǒng)設(shè)計語言。設(shè)計者可以使用這種語言對系統(tǒng)的硬件和軟件部分一起進行設(shè)計。這種方式可以使系統(tǒng)設(shè)計在高階的抽象層面進行。嚴格的來講,SystemC并不是一種語言,它是C++的一個庫,它包含用于對硬件組件進行建模以及硬件組件之間交互的結(jié)構(gòu)。因此,SystemC也會被拿來與硬件描述語言如VHDL和Verilog做比較。這些語言重要的共同點是它們都具備了仿真內(nèi)核,從而使設(shè)計人員能夠通過仿真來評估系統(tǒng)的表現(xiàn)。SystemC的高級合成工具促使行業(yè)廣泛的采用這種統(tǒng)一的硬件/軟件設(shè)計。
SystemC語言庫的數(shù)據(jù)類型和結(jié)構(gòu)包括以下幾點:模塊語句、進程語句、端口語句、信號語句、時鐘語句,其支持豐富的數(shù)據(jù)類型、多種抽象層次、通訊協(xié)議、調(diào)試及波形跟蹤。
3 交通燈自動控制系統(tǒng)
本文設(shè)計的交通燈自動控制系統(tǒng)描述為東南西北各具有一個交通燈,分別為一個由南向北的交通燈、一個由北向南的交通燈、一個由東向西的交通燈以及一個由西向東的交通燈。四個交通燈各有一個探測器來檢測其方向的車輛。
3.1 系統(tǒng)具備以下的功能
所有交通燈獨立工作。例如,當由北向南的交通燈變綠時,如果沒有由南向北的車輛,由南向北的交通燈可能是紅色的。
系統(tǒng)需能維護交通安全。例如南北方向和東西方向的交通燈不可同時變綠。當探測器檢測到有車輛到達十字路口時,該行駛方向的交通燈最終會變綠。
3.2 系統(tǒng)由四部分組成
交通生成模塊,用來模擬實際交通以生成系統(tǒng)的輸入。
交通控制模塊,用來控制整個系統(tǒng)。此模塊為整個系統(tǒng)中最重要的部分。所有的算法和控制都在此模塊中實現(xiàn)。
探測器模塊,用來探測車輛以改變交通燈。
交通測試模塊,用來啟動程序。
3.3 系統(tǒng)設(shè)計
下面我們以北方向的交通燈為例來展示該系統(tǒng)設(shè)計,其它方向的交通燈與北方向的交通燈控制邏輯相同。流程圖如圖1。
流程圖中的信號代表如下面表格所示:
4 結(jié)束語
本文通過對該交通自動控制系統(tǒng)的設(shè)計與實現(xiàn)來展示基于SystemC的片上系統(tǒng)設(shè)計。在今后的研究中可在該設(shè)計的基礎(chǔ)上進行進一步的改進,以實現(xiàn)更加復雜的片上系統(tǒng)??筛倪M的方面有模擬交通的實時生成以使用更復雜的測試用例來測試該系統(tǒng)、交通控制結(jié)構(gòu)的提高(如增加控制轉(zhuǎn)彎的交通燈)以及系統(tǒng)算法復雜度的改進等等。
參考文獻
[1]Thorsten Grtker,Stan Liao,Grant Martin,Stuart Swan. System Design with SystemC. Springer Publishing Company,Incorporated,2010.
[2]CHEN Shao-he,ZHAO Ming,WANG Jing. SystemC Based System on Chip Design. State Key Lab. on Microwave&Digital Communications,Tsinghua University,Beijing 100084.