導(dǎo)航系統(tǒng)SoC芯片設(shè)計(jì)方案分析
引 言
本文引用地址:http://m.butianyuan.cn/article/190375.htm伴隨著導(dǎo)航系統(tǒng)功能日益多樣化、軟件算法愈加復(fù)雜和集成度要求更高的趨勢(shì),在大規(guī)模可編程器件上設(shè)計(jì)、驗(yàn)證和測(cè)試導(dǎo)航SoC芯片成為解決方案之一。導(dǎo)航系統(tǒng)SoC芯片設(shè)計(jì)的要求主要有:
①安全性。芯片的所有功能模塊運(yùn)行正常,運(yùn)行機(jī)制透明,可靠性強(qiáng)。
②可配置性。根據(jù)應(yīng)用要求對(duì)硬件進(jìn)行裁減和配置,達(dá)到最佳的功能、功耗和面積比。
③高運(yùn)算能力。具備在特定時(shí)間內(nèi)完成復(fù)雜算法的運(yùn)算能力。
SoC芯片的核心是實(shí)現(xiàn)運(yùn)算和控制功能的微處理器。LEON是一款基于SPARC V8架構(gòu)的開源微處理器IP軟核,在VHDL源代碼基礎(chǔ)上,結(jié)合具體需求加入定制的運(yùn)算單元和外設(shè)接口建立SoC系統(tǒng)。在配置靈活的LEON核上運(yùn)行 Embedded Linux,提供SoC調(diào)試和測(cè)試的基本平臺(tái)。
1 軟硬件平臺(tái)構(gòu)建
1.1 LEON軟核架構(gòu)簡介
LEON核心是一個(gè)與SPARCV8兼容的整數(shù)處理單元IU(Integer Unit),LEON2是5級(jí)流水線,LEON3是7級(jí)流水線。LEON包含整數(shù)硬件乘法和除法單元、雙協(xié)處理器接口(FPU浮點(diǎn)處理單元和Co- processor協(xié)處理器),分離的指令和數(shù)據(jù)總線(Harncard結(jié)構(gòu))。LEON通過高速的AMBA-AHB總線,指令緩存和數(shù)據(jù)緩存分別和內(nèi)存控制器及高速的外部接口相連傳輸數(shù)據(jù)。低速的AMBA-APB總線實(shí)現(xiàn)片上外設(shè)的接口,例如定時(shí)器、串口、網(wǎng)絡(luò)接口等。LEON3軟核可配置體系架構(gòu)如圖 l所示。
1.2.1 開源性
基于GPL許可證協(xié)議,LEON非容錯(cuò)版本軟核IP提供VHDL源代碼,僅是容錯(cuò)版本的LEON軟核需要商業(yè)授權(quán)。源代碼公開足實(shí)現(xiàn)導(dǎo)航系統(tǒng)SoC芯片設(shè)計(jì)安全性的前提,同時(shí)也使研究者和開發(fā)者從根本上研究軟核的細(xì)節(jié)從而定制滿足具體應(yīng)用的軟核成為可能。與全部源代碼開放的LEON相比,Altera的 NIOS軟核等其他軟核僅提供若干接口,無法在更深的軟核層次上進(jìn)行設(shè)汁和優(yōu)化。
1.2.2 優(yōu)異的可配置性
LEON軟核通過集成一套豐富的接口和運(yùn)算單元IP庫,根據(jù)具體要求來達(dá)到性能、功耗和面積的平衡和優(yōu)化的目的。
①軟核IU可配置參數(shù)包括流水線的深度、地址和數(shù)據(jù)高速緩存(Cache)。另外,常用指令及指令序列可以根據(jù)定制的硬件進(jìn)行優(yōu)化;在設(shè)計(jì)或配置新運(yùn)算單元后能夠?qū)χ噶罴M(jìn)行擴(kuò)展。在導(dǎo)航系統(tǒng)SoC芯片設(shè)計(jì)中,通過配置LEON的整數(shù)硬件乘除法單元以實(shí)現(xiàn)較高的運(yùn)算性能;而在其他某些使用軟件乘除法,即滿足要求的應(yīng)用中無需配置,以降低功耗和優(yōu)化芯片面積。
②外圍設(shè)備接口硬件通過掛載AMBA總線來實(shí)現(xiàn)。LEON3的AMBA-AHP總線上能夠靈活選擇集成opencores的以太網(wǎng)控制器和GRETH以太網(wǎng)控制器中的任意一個(gè)。針對(duì)導(dǎo)航系統(tǒng)中常見的1553總線接口設(shè)備,在LEON中通過配置GRl553單元完成1553總線到AMBA-AHB總線的轉(zhuǎn)換,為1553總線沒備的集成提供了方便。
③硬件加速單元(如特定加密算法、數(shù)字信號(hào)處理單元和浮點(diǎn)處理單元)根據(jù)需求集成。
優(yōu)異的可配置性帶來了硬件設(shè)計(jì)極大的靈活性,也為嵌入式操作系統(tǒng)的移植帶來了一定難度(特別是在擴(kuò)展了指令集的情況下)??紤]到進(jìn)行性能測(cè)試的完整性和靈活性,LEON3軟棱在本項(xiàng)目中的配置方案如圖2所示。(詳細(xì)配置參數(shù)未列出)
1.2.3 良好的可移植性
LEON軟核通過層次度分明的VHDL模型實(shí)現(xiàn)。通過VHDL中特定的配置接口,LEON核的關(guān)鍵參數(shù)(例如修改Cache的大小和組織方式,乘法器的生成,速度、芯片面積的調(diào)整以及容錯(cuò)方案的選擇)都能夠靈活設(shè)置和移植;而唯一使用專用技術(shù)的模型是內(nèi)存宏模塊。這一部分的設(shè)計(jì)采用了加上中間交互層接口的方式,因此移植的工作僅需重新編寫中間交互層接口。導(dǎo)航系統(tǒng)中包括單次濾波在內(nèi)的大量算法經(jīng)過硬件實(shí)現(xiàn)后需集成在LEON中,根據(jù)LEON特定的配置接口即可實(shí)現(xiàn)集成和SoC系統(tǒng)移植。在本硬件平臺(tái)的設(shè)計(jì)中,針對(duì)特定硬件開發(fā)板,通過修改頂層module文件設(shè)置以及更新引腳配置,即可完成硬件設(shè)計(jì)的移植工作。
1.2 LEON在SoC芯片開發(fā)應(yīng)用中的優(yōu)勢(shì)
LEON軟核最突出的優(yōu)勢(shì)是其良好的可配置性和可移植性,以及遵循GPL許可證協(xié)議的開源性。這些特性保證導(dǎo)航系統(tǒng)SoC芯片的安全性,提供良好的性能和靈活的解決方案,也決定了在LEON上進(jìn)行嵌入式操作系統(tǒng)移植的特殊性。
目前,LEON在研究領(lǐng)域被廣泛應(yīng)用,特別是作為軟核嵌入在可編程器件中,作為構(gòu)建SoC芯片的控制和運(yùn)算中心。LEON軟核的容錯(cuò)版本也已經(jīng)用在了空間站上。在本導(dǎo)航系統(tǒng)SoC芯片項(xiàng)目中,選擇了開源且配置靈活的LEON硬件平臺(tái)和Linux軟件平臺(tái),并且在初期測(cè)試中表現(xiàn)出良好的性能。在本驗(yàn)證平臺(tái)上,SoC系統(tǒng)需要以太網(wǎng)接口、1553總線接口、串口、通用I/O口以及調(diào)試單元,具體配置方案如圖3所示。
評(píng)論