SoC設(shè)計是由幾個高度復(fù)雜分系統(tǒng)組成的
設(shè)有Bluetooth功能的SoC設(shè)計通常是由幾個高度復(fù)雜分系統(tǒng)組成的。每個分系統(tǒng)兼?zhèn)溆杏布M件和軟件組件兩個方面,總體設(shè)計環(huán)境中實(shí)現(xiàn)專用功能。理想地,這些分系統(tǒng)應(yīng)這樣設(shè)計,其硬件和軟件兩者邊界的定義是十分清晰的,讓各個獨(dú)立功能得到充分的驗(yàn)證,便于集成到SoC設(shè)計中。這些分系統(tǒng)的商品化IP產(chǎn)品已在進(jìn)行中。
模塊化IP結(jié)構(gòu)充分考慮了硬件/軟件設(shè)計、軟件應(yīng)用設(shè)計、以及快速原型的需要,因而便于集成和系統(tǒng)的驗(yàn)證。本文以現(xiàn)成的無線SoC設(shè)計(如GSM手機(jī))中增加一個復(fù)雜的無線功能,即Bluetooth功能,的實(shí)例來說明這一原理。Bluetooth實(shí)例充分體現(xiàn)確切地定義了硬件與軟件接口模塊化協(xié)議的優(yōu)勢,帶來了諸多靈活性,且可優(yōu)化每個組件的成本和功率。
SoC選擇目前,市場上有兩類產(chǎn)品;單片IC器件和IP內(nèi)核,
它們在即插即用上是等效的。SoC設(shè)計者也有兩種選擇,或連接一個外部IC;或?yàn)榱私档涂傁到y(tǒng)成本,采用IP內(nèi)核將Bluetooth功能歸入片內(nèi)。
Synopsys Designware Blue IQ 是一個可合成的Bluetooth內(nèi)核,通過標(biāo)準(zhǔn)4線UART(H4)接品連接至主CPU,例如ARM9嵌入式微處理器,管理上層Bluetooth協(xié)議載,另一方面,Bluetooth IP內(nèi)核通過通用 14引腳“Bluetooth RF”接口連接至RF器件,例如Silicon Wave。
Bluetooth功能在Bluetooth IP內(nèi)核是完全自給自足的,它的內(nèi)部基帶處理器可以主CPU處下載全部實(shí)時Bluetooth 工作程序。對SoC軟件組,這類體系結(jié)構(gòu)確保Bluetooth 不會干擾與手機(jī)其余部分相關(guān)聯(lián)的任何定時關(guān)鍵的軟件,從而簡化了Bluetooth 功能的集成。
手持式手機(jī)設(shè)計
圖1是2.5G手機(jī)(GSH/GRPS/EDGE)的方框圖。一條AMBA總線構(gòu)成了SoC的骨架,它由高速AHB(高級硬件總線)段和低速APB(高級外設(shè)總線)段組成。連接在AMBA結(jié)構(gòu)上有蜂窩分系統(tǒng)以及 RTOS用和控制手機(jī)上各種按鍵和顯示屏用低速外設(shè)。一個GPS單元也連接在APB上,為手機(jī)提供符合新E911/E112要求的位置信息。Bluetooth分系統(tǒng)則是將Bluetooth IP內(nèi)核連接在APB UART 外設(shè)添加到SoC設(shè)計的,并由主CPU的Bluetooth 協(xié)議棧軟件進(jìn)行控制。
從硬件集成觀點(diǎn),附加Bluetooth分系統(tǒng)就象手機(jī)設(shè)計增加一個UART一樣簡單。從軟件集成透視,同樣十分簡單。Bluetooth規(guī)范清晰地定義了協(xié)議棧上級與下級之間的邊界。定時關(guān)鍵軟件例程放置在棧的下層,靠近硬件并遠(yuǎn)離應(yīng)用層。上層和下層通過確切定義的API連接的,HCI(主控制器接口)不僅定義了棧上層和下層之間的協(xié)議,而且也定義了諸如UART、RS-323和USB各種標(biāo)準(zhǔn)物理傳輸協(xié)議。這種模塊化硬件與軟件方案給SoC設(shè)計組帶來了顯著的即插即用好處。
組建設(shè)計組
圖2表示典型的 SoC設(shè)計組,它由下屬三個小組組成,分別承擔(dān)不同的工作。 ASIC組負(fù)責(zé)硬件的實(shí)施,在UNIX工作平臺上使用各類工具來生成制作SoC 的最終GDSII文件。軟件組負(fù)責(zé)在SoC上運(yùn)行的軟件的實(shí)施。設(shè)計原型組使用FPGA原型平臺(如ARM集成開發(fā)系統(tǒng))將硬件和軟件整合在一起,以便在最終GDSII向代工廠發(fā)布前驗(yàn)證SoC的功能。
ASIC組向設(shè)計原型組提供手機(jī)設(shè)計的FPGA文件,在此實(shí)例,包括要增加的Bluetooth分系統(tǒng)文件。ASIE組將Bluetooth IP內(nèi)核配置在手機(jī)設(shè)計用系統(tǒng)結(jié)構(gòu)(例如語音通道的數(shù)量和支持的服務(wù))中,并生成可以下載到Bluetooth開發(fā)工具(如:DesignWare BlueQ DevelopmentKit)的FPGA文件。在軟件開發(fā)早期階段,ASIC組將Bluetooth RTL代碼集成在ASIC設(shè)計中,進(jìn)行合成和模擬,確保它能正確地連接。
套裝工具確保設(shè)計成功在開發(fā)階段的早期,軟件組的絕大部分工作是在PC上完成的。如圖2所示,軟件組的工程師們將Bluetooth開發(fā)套裝工具連接對PC的串口,在合式機(jī)上精確地執(zhí)行可設(shè)置在最終SoC上的 Bluetooth協(xié)議棧的上層,以及創(chuàng)建啟用手機(jī)Bluetooth功能應(yīng)用軟件所必需的應(yīng)用配置文件。
Mezoe Interface Express工具套件是一套實(shí)施Bluetooth配置文件的軟件,這一PC基工具可用來生成工作框架應(yīng)用軟件,任意地組合各類Bluetooth配置文件。得到的軟件奠定了最終嵌入式SoC應(yīng)用的基礎(chǔ),讓軟件工程師在PC上充分地設(shè)計嵌入式Bluetooth應(yīng)用的原型,相對SoC設(shè)計是獨(dú)立地進(jìn)行的,當(dāng)設(shè)計完成并糾錯后,它能重新定位到主CPU并下載到FPGA原型平臺。
硬件手機(jī)在ASIC組和軟件組在各自的環(huán)境中開發(fā)后,最終的硬件和軟件映象由原型組傳送至FPGA原型平臺,在此平臺上整合SoC總體設(shè)計。有了完全包含在原型平臺硬件的完整手機(jī),在設(shè)計用磁帶輸出公布前,原型組使用各種傳統(tǒng)的硬件與軟件糾錯工具來完善并驗(yàn)證SoC。
設(shè)計潮流向著IP形成的高度模塊化和高度自給自及分系統(tǒng)發(fā)展,這種Bluetooth IP和軟件模塊體系結(jié)構(gòu)正處于潮流的前沿。隨著SoC設(shè)計規(guī)模的日益擴(kuò)大并開始匯集性能各異又高度復(fù)雜的功能,IP公司要對集成進(jìn)行全方位的預(yù)測。他們在規(guī)劃產(chǎn)品的體系結(jié)構(gòu)和封裝時,要考慮用戶易于集成,減少風(fēng)險的要求,只有IP提供商充分了解ASIC設(shè)計組的要求,同時也了解軟件開發(fā)者的要求以及設(shè)計硬件和軟件兩者原型的要求,IP用戶才能真正領(lǐng)略采用商品化Bluetooth IP產(chǎn)品的好處。