《電子技術應用》
您所在的位置:首頁 > EDA與制造 > 設計應用 > CLB總線事務級建模及其仿真平臺的設計
CLB總線事務級建模及其仿真平臺的設計
來源:電子技術應用2011年第11期
蘭光洋, 魏繼增, 郭 煒
(天津大學 計算機科學與技術學院,天津 300072)
摘要: 提出了采用事務級建模的方法對國內具有自主知識產權的國芯CLB總線進行建模的方案,并利用多時鐘技術來保證模型的周期精確。同時對所建模型進行了VCI接口協議的封裝,便于其在不同平臺上的移植。為了驗證本設計的正確性,在電子系統級平臺上實現了基于CLB的SoC。實驗結果表明,本模型可以大大提高軟、硬件協同開發驗證的效率,增強IP模塊的復用性。
中圖分類號: TP399
文獻標識碼: B
文章編號: 0258-7998(2011)11-0134-03
Transaction level modeling and the simulation platform design of CLB bus
Lan Guangyang, Wei Jizeng, Guo Wei
School of Computer Science and Technology, Tianjin University, Tianjin 300072, Chin
Abstract: This paper using the method of TLM models the Guoxin’s CLB bus which is authored by our own country, and multi-clock is used to confirm the cycle accurate of this model. Besides, this paper encapsulates this model with VCI protocol in order to facilitate its transplantation between different platforms. To verify the correctness of our design, this paper realized the SoC of CLB bus on electronic system level platform. The results show that this model does not only promote the efficiency of the co-design and verification of HW and SW, but also increases the reusability of the IP module.
Key words : systemC language; CLB bus; IP reuse; transaction level modeling(TLM); VCI interface


    隨著集成電路設計和工藝的不斷發展,人們已經可以把復雜的電子系統集成到一個芯片上,即片上系統SoC(System on Chip)。SoC的設計以應該是一個軟件、硬件協同設計的過程,而傳統的以寄存器傳輸級(RTL)建模為基礎的設計方法,只有在全部的硬件設計完成后才能進行軟件測試和系統集成,降低了開發的效率,延長了產品面市的時間。
    近來,為了解決上述問題,國內外提出了很多不同的方法。其中,電子系統級設計(ESL)被認為是用來解決諸如系統級仿真和驗證、架構探測、片上總線設計和系統性能評估等系統級問題最有前途的一種方法。ESL的關鍵就是用事務級建模(TLM)來建立一個SoC系統的模型。所謂事務,一方面指把低層次的信息傳輸組合成較高級別的傳輸,例如把讀寫一大塊數據作為一個事務,包含總線上的若干次突發傳輸,每個突發傳輸又會包含地址連續的多個數據傳輸;另一方面指不牽涉具體的信號,而是把傳輸中涉及到的信息分類作為整體表示。在事務級的傳輸機制可以通過信道來完成,模塊之間的通信則可以通過調用接口函數來完成,這樣可以大大提高仿真的速度[1]。
    在事務級建模領域,國內外做了大量的研究。OSCI組織推出的SystemC語言為SoC的事務級建模提供了良好的語言支持,Synopsys公司已經推出AMBA的事務級模型。國內在事務級建模方面也取得了一些成就[2-3]。國芯CLB總線具有優良的數據傳輸性能和可擴展性,因此,它具有很強的發展潛力。但是,如何建立CLB周期精確的事務級模型仍是一個有待解決的問題。
1 CLB事務級模型的建立
1.1 建模語言

    本文采用SystemC建立國芯CLB總線的事務級模型。SystemC在C++的基礎上發展而來,可以支持門級、RTL級和系統級等不同抽象層次的建模和仿真。在SystemC TLM 2.0中,定義了非定時模型、近似定時模型、松散定時模型和周期精確定時模型,分別用于滿足不同級別精度的需要,并且支持多個時鐘之間的任意相位關系[4]。同時,SystemC具有所有硬件描述語言所共有的基本特征,包括模塊、進程、端口和信號等,這使得SystemC可以很好地完成CLB的事務級建模。
1.2 CLB總線
    CLB總線是基于我國具有自主知識產權的32位RISC嵌入式CPU-C*Core的SoC平臺中使用的層次化片上總線體系結構[4]研制的。CLB總線采用了高效的流水線 (Pipeline)結構,能在讀寫數據的同時產生下一訪問的地址信號;總線支持字節、半字和字三種類型的數據傳輸;總線接口支持C*Core和系統中的其他設備之間的數據同步傳輸,內部分布的時鐘信號用來提供邏輯時序。
  圖1所示為CLB的工作示意圖,其中BCU(Bus Control Unit)相當于總線仲裁器,由它控制總線的使用權;Slave0、Slave1的選擇由CLB內部的地址譯碼邏輯完成。

1.3 CLB的VCI封裝及建模的設計
     IP(Intellectual Property)是構成SoC的基本單元,IP的復用可以有效縮短產品的開發時間、減少產品投放市場的時間、降低產品的開發成本。因此,IP復用是SoC設計的一個重要的組成部分。為了增加CLB總線模型的可復用性,本文對其進行了標準的VCI封裝。根據VCI協議的標準[5],本文將CLB的VCI封裝設計成BCU、CLB Initiator Wrapper和CLB Target Wrapper三個部分,如圖2所示。

    圖中BCU負責總線的控制部分,包括總線的仲裁和地址譯碼。地址譯碼部分通過存儲器映射機制完成,每一個從設備都有一個屬于它自己的存儲器映射地址。這樣,通過總線上的地址就可以很容易地確定所需要選擇的從設備。Initiator Wrapper的作用則是把接收到的外部VCI信號轉換成為能夠在CLB總線上進行傳輸的CLB總線信號。這就涉及到不同協議之間信號時序的轉換與匹配的問題。對此,本文采用以下策略:(1)對于協議兩側功能相同、時序上無差別的信號,將其直連; (2)對于協議兩側功能有對應關系、時序上無差別的信號,采取組合邏輯的方法進行轉換;(3)對于協議兩側功能上有對應關系而時序上又有一定差別的信號,采用有限狀態機的方法對其進行時序的轉換; (4)對于協議兩側無對應關系的信號,對其進行舍去或者懸空處理[6]。
    在進行協議轉換時,如果采用同一時鐘進行轉換,會導致CLB總線上信號時序與實際的時序有較大的差異。為了保證系統模型時序的周期精確,本文采用多時鐘技術,將系統時鐘和控制總線的時鐘分離,并采用一個四倍于系統時鐘的虛擬時鐘來控制總線狀態的轉換。這樣,可以使有限狀態機能夠有充足的時間進行協議的轉換,也能保證時序的周期精確。
  在進行信號轉換時,有限狀態機由transition()和genMealy()兩個方法來描述。其中transition()方法根據狀態機中寄存器的當前值和從輸入端口得到的值來計算寄存器下一時刻的值,并可用來控制狀態機的狀態轉換;而genMealy()方法則根據狀態機內部寄存器的值和輸入端口的輸入值來計算輸出端口的輸出信號的值,并可用來產生狀態機的輸出。同樣Target Wrapper也可以采用相同的策略來實現。
2 仿真驗證平臺的設計
  在完成了對CLB的事務級建模后,將對其進行仿真和驗證。本文采用的驗證環境為SoCLib平臺。SoCLib平臺是一個由法國TIMA Lab、Lip6等研究機構與STMicroelectronics等知名企業聯合開發、用于多核SoC系統架構設計的開放式ESL建模仿真平臺。
    本文所建立的基于SoCLib的仿真驗證平臺如圖3所示。其中,CLB/VCI和BCU組成整個SoC的片上總線,它帶有標準的VCI接口協議的封裝,負責整個SoC的通信工作;C*Core ISS是C*Core的指令集仿真器,用來執行編譯好的C*Core的程序代碼;RAM是整個SoC的片上存儲器,用來存儲編譯好的程序;TTY是一個虛擬的可視化終端,可用它來觀察程序運行的結果;TIMER則是一個定時器,用來記錄程序運行的時間,便于性能分析。所有這些模塊均帶有標準的VCI接口協議的封裝。


    系統在運行時,首先將編譯好的程序代碼加載到RAM中,通過總線將RAM中的指令傳輸到C*Core ISS仿真器,最后,C*Core ISS通過總線將運算結果輸出到TTY上,同時,TIMER完成程序運行時間的計時工作。
3 結果分析
    利用搭建好的SoCLib平臺,對所建立的CLB模型進行了大量仿真和測試,其結果表明CLB模型的功能完全正確。為了驗證所建立模型與實際波形在時序周期上是否精確,可在頂層配置文件加入產生波形文件的語句,并用這些語句將仿真信息輸出到一個擴展名為.vcd的文件中。最后,利用Debussy將SoCLib仿真產生的波形文件與國芯公司提供的CLB的RTL級的仿真平臺NCVerilog產生的波形文件進行比較。其仿真波形對比如圖4所示。

 

 


    從圖中可以看出,在第一個時鐘周期的上升沿,處理器核將所有訪問的地址(0x80001234)及所要進行的操作(讀/寫)置于總線上,并在第二個時鐘周期到所需要的數據(0x12345678)。而在SoCLib平臺上,由于采用了多時鐘的方法控制CLB的傳輸狀態的轉換,因此能夠做到周期精確。此外,兩個平臺上運行相同的國芯公司提供的測試程序所用的時間如表1所示。


    從表中可以看出,由于在SoCLib平臺上事務級總線每次的讀、寫均是以事務進行,NCVerilog平臺上的總線則是按位進行的,因此SoCLib平臺的仿真速度要比NCVerilog平臺的仿真速度快很多。
    與寄存器傳輸級(RTL)模型相比,CLB總線事務級模型(TLM)是在更高的抽象層次對系統硬件進行建模,相比RTL模型更容易開發,在設計初期就可得到系統的硬件模型,并且事務級平臺的仿真速度要比RTL級快很多,因此該模型非常適合于架構和性能分析及早期的軟硬件協同設計和驗證。另外,對CLB進行標準的VCI協議的封裝,提高了CLB模塊的復用性,也可以為SoCLib提供一種新的片上總線的模型;同時,此次建模也是首次對國內具有自主知識產權CPU的片上總線CLB的事務級建模,對推動我國自主CPU的發展和使用具有重要的意義。
參考文獻
[1] CHANG C Y, HSIAO C Y, LEE K J.  Transaction level  modeling and design space exploration for SoC test architectures[C]. Asian Test Symposium, 2009.
[2] Home page of OSCI [EB/OL].http://www.systemc.org,2010
[3] 朱小虎,曹陽,羅娟. 基于SystemC的周期精確事務級AMBA總線建模[J]. 武漢大學學報(理學版),2005,50(5):629-632.
[4] C*Core Technology(Suzhou) Co., Ltd. C*Core 310 User manual version 1.0 [R], 2009.
[5] Virtual Socket Interface Alliance. VSI alliance virtual component Interface Standard Version 2.0(OCB 2.2.0)[S]. OnChip Bus Development Working Group, 2001.
[6] Zhang Qingli, Yu Mingyan, Wang Jinxiang. The design of AMBA AHB/VCI wrapper [C]. 5th International Conference on ASIC, 2003.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 日本天堂网址 | 欧美日韩在线看 | 免费看特黄特黄欧美大片 | 免费一级毛片在线播放放视频 | 国产美女做爰免费视频软件 | 一区视频在线 | 日韩精品久久久久久 | 国产欧美精品午夜在线播放 | 在线精品国产一区二区 | 欧美成人免费高清网站 | 92精品国产自产在线 | 日韩午夜片 | 高清一区二区 | 久久国产精彩视频 | 久久五月女厕所一区二区 | 亚洲天堂网在线播放 | 青草久草 | 91国语精品自产拍在线观看一 | 韩国一级片视频 | 亚洲成年人网址 | 成人国产亚洲欧美成人综合网 | 中国一级淫片aaa毛片毛片 | yy6080午夜国产免费福利 | 国产精品日本不卡一区二区 | 欧美区一区| 成人黄网18免费观看的网站 | 国产精品综合一区二区三区 | 精品亚洲福利一区二区 | 中文字幕一区二区在线观看 | 久久频这里精品99香蕉久网址 | 特级做人爱c级特级aav毛片 | 欧美国产视频 | 久久视频免费在线观看 | 成年女人看片免费视频播放器 | 亚洲精品综合欧美一区二区三区 | 欧美激情亚洲一区中文字幕 | 97公开视频 | 欧美另类综合 | 91丨九色丨首页在线观看 | 日韩一级在线视频 | 国产精品区在线12p 国产精品人成 |