| 注冊| 產(chǎn)品展廳| 收藏該商鋪

行業(yè)產(chǎn)品

當前位置:
江蘇新高科分析儀器有限公司>>技術文章>>SoC原型驗證技術的研究

SoC原型驗證技術的研究

閱讀:695        發(fā)布時間:2017-6-22

快速系統(tǒng)原型技術已成為SoC(片上系統(tǒng))驗證的主要手段之一,但大多數(shù)的原型描述仍使用Verilog/VHDL語言,描述效率低。以軟件編譯式系統(tǒng)設計(SCSD)為基礎,提出了SoC的原型驗證流程,用Handel-C語言描述SoC原型,并直接實現(xiàn)在原型驗證硬件上;用SCSD的軟件工具、RC1000和RC200硬件平臺搭建了一個SoC原型驗證系統(tǒng)的樣機,并在樣機上完成了Lena圖像處理SoC的原型驗證;在反復試驗的基礎上,改進了SoC原型驗證流程,并設計出了新的原型電路板。 
關鍵詞:原型 SoC 驗證 軟件編譯式系統(tǒng)設計 Handel-C 

由于SoC設計復雜度不斷增加,使得縮短面市時間的壓力越來越重。雖然充分利用IP核大大減少了SoC的設計時間,但SoC驗證仍然非常復雜耗時。SoC和ASIC的zui大不同之處在于它的系統(tǒng)特性,除了大量硬件模塊之外,SoC還需要大量的固件和軟件,如操作系統(tǒng)、驅動程序、通訊協(xié)議以及應用程序等。SoC硬件模塊數(shù)目眾多、內(nèi)嵌軟件復雜,傳統(tǒng)的基于邏輯模擬的驗證方式已不再可行。尤其是軟硬協(xié)同驗證時,模擬時間之長令人難以忍受。為了縮短SoC驗證時間,快速系統(tǒng)原型(Rapid System Prototype)驗證,即硬件原型和軟件原型結合驗證,已經(jīng)成為SoC設計流程前期階段的常用手段[1]。 

快速系統(tǒng)原型驗證的本質在于快速地實現(xiàn)SoC設計中的硬件模塊,讓軟件模塊在真正的硬件上高速運行,實現(xiàn)SoC設計的軟硬件協(xié)同驗證。該技術實現(xiàn)的基礎是強大的FPGA和有力的設計描述及編譯工具。原型驗證系統(tǒng)由三個部分組成:系統(tǒng)硬件、軟件編譯器和運行程序。系統(tǒng)硬件設計的核心部分是定制的FPGA并行系統(tǒng),用來實現(xiàn)SoC設計中的關鍵模塊如Mpeg編碼器,系統(tǒng)硬件的常規(guī)模塊可由商用芯片實現(xiàn)。軟件編譯器則把寄存器級或門級設計及其驗證環(huán)境扁平化,映射到系統(tǒng)硬件。運行程序控制原型系統(tǒng)的運行、設計調(diào)試,一般采用C-API編程,并且有開放的軟件結構,便于后期緊密集成。

快速系統(tǒng)原型驗證采用商用芯片實現(xiàn)設計中的常用模塊,只有核心模塊才用FPGA實現(xiàn),因此提高了原型系統(tǒng)的速度,減少了原型描述及其實現(xiàn)的工作量,降低了原型驗證系統(tǒng)的成本,更適合于開發(fā)出針對某個領域的驗證平臺。但目前的SoC原型的描述主要使用Verilog或者VHDL,描述的級別低、復雜度高、容易出錯,因此不能很快地實現(xiàn)SoC的原型。本文的目的就是找出一種方法,用語言(如C語言)來描述SoC的原型,并實現(xiàn)在設計的原型驗證硬件上。 

1 SoC原型的Handel-C描述及其實現(xiàn)流程 

Celoxica公司提出的軟件編譯式系統(tǒng)設計(Software-Compiled System Design,SCSD)把軟件設計技術引入硬件設計,直接用Handel-C語言描述硬件設計,大大改善了硬件設計效率。SCSD的軟件工具包括集成開發(fā)環(huán)境(DK)、平臺開發(fā)工具(PDK)以及系統(tǒng)級硬件描述語言Handel-C等。DK可以編輯、模擬、調(diào)試并編譯Handel-C源代碼,生成EDIF、Verilog或VHDL代碼,并能夠與ModelSim一起協(xié)同模擬Handel-C和Verilog設計[2]。PDK由數(shù)據(jù)流管理器(DSM)、平臺抽象層(PAL)和平臺支持庫(PSL)三個層面構成[3]。通過DSM,可以很方便地在軟件和硬件之間實現(xiàn)轉移設計的功能,便于快速地劃分設計,找到*的劃分方案;PAL提供與API方式訪問原型電路板一致的硬件資源,實現(xiàn)Handel-C設計的可移植性;PSL為DK和Handel-C設計提供與電路板、可編程器件或開發(fā)工具有關的支持,更接近驅動程序的概念。 

SCSD的整套軟件工具能夠把Handel-C描述的設計直接實現(xiàn)到FPGA上,因此非常適合SoC原型的描述及其實現(xiàn)。本文以SCSD為基礎,提出了SoC/IP的原型驗證流程,如圖1所示。

 
圖1 SoC/IP原型實現(xiàn)的基本流程及其EDA工具

在SoC原型驗證中,不同的硬件模塊用不同的方式實現(xiàn)。處理器用主機CPU或者原型硬件中的嵌入式處理器實現(xiàn);存儲器用原型硬件中與FPGA直接相連的存儲器排實現(xiàn);Verilog描述的核心模塊在FPGA中實現(xiàn);各種外設模塊用原型硬件中的外設資源實現(xiàn);模塊之間的互連實現(xiàn)在FPGA和原型硬件的互連總線上。IP原型驗證需要確定它的外圍邏輯環(huán)境、驗證向量生成機制和驗證結果分析檢查策略。本文把SoC和IP驗證中所有需要描述的模塊及其互連與原型硬件的映射關系以及原型驗證的硬件支持統(tǒng)稱為設計的驗證環(huán)境。被驗證的設計用Verilog/VHDL語言描述,驗證環(huán)境用Handel-C語言描述。 

Handel-C描述完成后,用模擬器ModelSim和Handel-C開發(fā)工具DK協(xié)同模擬、調(diào)試設計和驗證環(huán)境,這樣可用較少的驗證向量檢查驗證環(huán)境的正確性。模擬成功后,DK把驗證環(huán)境的Handel-C描述編譯為Verilog描述。然后調(diào)用綜合工具(Synplify)對設計及其驗證環(huán)境的Verilog描述進行編譯優(yōu)化。接著調(diào)用Xilinx的布局布線工具(ISE),把優(yōu)化的Verilog描述轉換為原型系統(tǒng)硬件的配置數(shù)據(jù)。原型系統(tǒng)配置完畢后,就可以啟動系統(tǒng)執(zhí)行原型驗證了。如果模塊設計的RTL優(yōu)化已經(jīng)完成,就無需調(diào)用Synplify進行優(yōu)化,直接輸入ISE即可。 

在SoC軟硬件協(xié)同驗證中,首先通過DK,協(xié)同模擬C/C++描述的軟件、Handel-C描述的驗證環(huán)境和Verilog描述的模塊;然后把軟件編譯成SoC處理器的目標代碼,讓軟件在原型系統(tǒng)中高速運行,執(zhí)行驗證。主機PC上運行的診斷軟件與SoC的軟件模塊的描述實現(xiàn)流程基本一致,只是zui終實現(xiàn)運行在主機的處理器上。 

收藏該商鋪

登錄 后再收藏

提示

您的留言已提交成功!我們將在第一時間回復您~
二維碼 意見反饋
在線留言