當(dāng)前位置:首頁 > 工業(yè)控制 > 電子設(shè)計(jì)自動(dòng)化
[導(dǎo)讀]摘要:闡述了片上系統(tǒng)(SoC)設(shè)計(jì)的發(fā)展情況和現(xiàn)場(chǎng)可編程門陣列(FPGA)的獨(dú)特優(yōu)勢(shì),為基于龍芯I號(hào)處理器IP核的SoC設(shè)計(jì)了FPGA驗(yàn)證平臺(tái),并介紹了怎樣利用該平臺(tái)進(jìn)行軟硬件協(xié)同設(shè)計(jì)、SoC系統(tǒng)移植、IP核驗(yàn)證和運(yùn)行實(shí)時(shí)

摘要:闡述了片上系統(tǒng)(SoC)設(shè)計(jì)的發(fā)展情況和現(xiàn)場(chǎng)可編程門陣列(FPGA)的獨(dú)特優(yōu)勢(shì),為基于龍芯I號(hào)處理器IP核的SoC設(shè)計(jì)了FPGA驗(yàn)證平臺(tái),并介紹了怎樣利用該平臺(tái)進(jìn)行軟硬件協(xié)同設(shè)計(jì)、SoC系統(tǒng)移植、IP核驗(yàn)證和運(yùn)行實(shí)時(shí)操作系統(tǒng)。

片上系統(tǒng)SoC(Sytem。n Chip),即是將整個(gè)系統(tǒng)集成在單個(gè)的芯片上。與傳統(tǒng)的板級(jí)電路不同,SoC集成的完整系統(tǒng)一般包括系統(tǒng)級(jí)芯片控制邏輯模塊、微處理器/微控制器CPU內(nèi)核模塊、數(shù)字信號(hào)處理器(DSP)模塊、嵌入的存儲(chǔ)器模塊、與外部進(jìn)行通信的接口模塊、含有ADC/DAC的模擬前端模塊、電源和功耗管理模塊,是一個(gè)具各特定功能、服務(wù)于特定市場(chǎng)的軟件和硅集成電路的混合體(如U LAN基帶芯片、便攜式多媒體芯片、DVD播放機(jī)解碼芯片等)。

在SoC的設(shè)計(jì)總時(shí)間中,系統(tǒng)驗(yàn)證的時(shí)間約占70%以上。為縮短SoC的設(shè)計(jì)時(shí)間、提高設(shè)計(jì)質(zhì)量,需要對(duì)驗(yàn)證技術(shù)進(jìn)行研究開發(fā)。軟硬件協(xié)同驗(yàn)證方法與傳統(tǒng)的數(shù)字系統(tǒng)仿真驗(yàn)證方法不同,軟硬件協(xié)同仿真驗(yàn)證是針對(duì)軟件和硬件系統(tǒng)模塊進(jìn)行的混合模擬仿真[劍。目前大多數(shù)公司提供的開發(fā)驗(yàn)證系統(tǒng)(開發(fā)板)存在兩個(gè)不足:一是開發(fā)板的性能、規(guī)模難以根據(jù)特定的設(shè)計(jì)需求靈活、自由地調(diào)節(jié);二是開發(fā)板的功能大多數(shù)只能進(jìn)行軟件代碼的調(diào)試,即使ARM公司提供的開發(fā)平臺(tái)也只能調(diào)試部分硬件。而現(xiàn)場(chǎng)可編程門陣列(FPGA)作為集成電路設(shè)計(jì)技術(shù)的第三次重大進(jìn)步的重要標(biāo)志,可以使RTL綜合的結(jié)果直接運(yùn)行在SoC芯片上,重用性及現(xiàn)湯靈活性較好。因此,本文利用Altera公司的FPGA開發(fā)工具對(duì)皋于國產(chǎn)龍芯I號(hào)處理器IP核的SoC芯片進(jìn)行ASIC流片前的系統(tǒng)驗(yàn)證,全實(shí)時(shí)方式運(yùn)行協(xié)同設(shè)計(jì)所產(chǎn)生的硬件代碼和軟件代碼,構(gòu)建一個(gè)可獨(dú)立運(yùn)行、可現(xiàn)場(chǎng)監(jiān)測(cè)的驗(yàn)證平臺(tái)。

  1、基于龍芯I號(hào)處理器IP核SoC芯片

龍芯I號(hào)CPU IP核是兼顧通用及嵌人CPU特點(diǎn)的32位處理器內(nèi)核,采用類MIPS Ⅲ指令集,具有7級(jí)流水線、32位整數(shù)單元和64位浮點(diǎn)單元;具有高度靈活的可配置性,方便集成的各種標(biāo)準(zhǔn)接口。圖1為龍芯I號(hào)CPU IP核可配置結(jié)構(gòu),用戶可根據(jù)自己的需求進(jìn)行選擇配置,從而定制出最適合用戶應(yīng)用的處理器結(jié)構(gòu)。


圖1龍芯I號(hào)CPU IP核可配置結(jié)構(gòu)

主要的可配置模塊包括:浮點(diǎn)部件、多媒體部件、內(nèi)存管理、Cache、協(xié)處理器接口。浮點(diǎn)部件完全兼容MIPS的浮點(diǎn)指令集合,其相關(guān)的系統(tǒng)軟件完全符合ANSI/IEEE 754-1985二進(jìn)制浮點(diǎn)運(yùn)算標(biāo)準(zhǔn)。浮點(diǎn)部件主要包括浮點(diǎn)ALU部件和浮點(diǎn)乘法/除法部件,用戶可根據(jù)自己的實(shí)際應(yīng)用選擇是否添加。媒體部件復(fù)用了MIPS浮點(diǎn)指令的Format域,并復(fù)用了浮點(diǎn)寄存器堆,媒體指令集基本對(duì)應(yīng)了Intel SSE媒體指令集合的各種操作。圖2為基于龍芯I號(hào)CPU IP核的SoC系統(tǒng)架構(gòu)。


圖2 SoC的系統(tǒng)結(jié)構(gòu)

該SoC芯片支持通用MIPS32指令集,主頻可達(dá)266 MHz;內(nèi)置MAC網(wǎng)絡(luò),提供MII接口;存儲(chǔ)器接口,芯片同時(shí)支持SDRAM接口、NOR Flash/ROM和\AND Flash接口,并特置HPI接口可直接與Y0IP CODEC芯片相連;提供豐富的其他外設(shè)接凵支持,包括PC接口、UART串口、SP!接口、AC97等接口設(shè)備。提供豐富的GP10接口,能夠?yàn)椤熬W(wǎng)絡(luò)+語音”以及工業(yè)控制應(yīng)用提供高效的單芯片解決方案。

  2 FPGA驗(yàn)證平臺(tái)的設(shè)計(jì)

2.1 FPGA的開發(fā)流程

FPGA的典型開發(fā)流程如圖3所示。在圖3中,邏輯仿真器主要有Modelsim、Verilog_XL等,邏輯綜合器主要有LeonardoSpectrum、Synplify Pro、FPGA Ex~press/FPGA CompilerII等,F(xiàn)PGA廠家工具有Altera公司的Max+Plusll、Quartusll,Xilinx公司的Foundation ISE、Alliance等。設(shè)計(jì)輸人主要有原理圖輸人和HDL輸人兩種方式,絕大部分設(shè)計(jì),F(xiàn)PGA和ASIC的工程師都使用HDL平臺(tái)。設(shè)計(jì)仿真主要包括功能仿真和網(wǎng)表仿真,設(shè)汁仿真需要RTL代碼或綜合后的HDL網(wǎng)表和驗(yàn)證程序,有時(shí)候還需要測(cè)試數(shù)據(jù),測(cè)試數(shù)據(jù)可能是代碼編譯后的二進(jìn)制文件或使用專門的工具采集的數(shù)據(jù)。布局布線工具利用綜合生成的網(wǎng)表、調(diào)用模塊的網(wǎng)表,根據(jù)布局布線目標(biāo),把設(shè)計(jì)翻譯成原始的目標(biāo)工藝,最后得到生成編程比特流所需的數(shù)據(jù)文件。布局布線一般需要的輸人輸出與調(diào)用關(guān)系如圖4所示。布局布線目標(biāo)包括所使用的FPGA具體型號(hào)等,約束條件包括管腳位置、管腳電平邏輯(LVTIL、LCMOS等)需要達(dá)到的時(shí)鐘頻率,有時(shí)包括部分模塊的布局、塊RAM的位置等。在一般設(shè)計(jì)中,只需要注意管腳位置和需要達(dá)到的時(shí)鐘頻率,邏輯端口與FPGA管腳的對(duì)應(yīng)取決于PCB板的設(shè)計(jì)。


圖3 FPGA的典型開發(fā)流程


圖4布局布線的輸入輸出與調(diào)用關(guān)系

2.2驗(yàn)證平臺(tái)的系統(tǒng)設(shè)計(jì)

本驗(yàn)證平臺(tái)FPGA采用Altera公司的Cyclone ⅡEP2C70,該器件采用了TSMC領(lǐng)先的90 nm低電介工藝技術(shù)生產(chǎn)⒊支持4個(gè)可編程鎖相環(huán)(PLL),提供靈活的時(shí)鐘管理和頻率合成能力;包含了150個(gè)18×18 bit乘法器,可以完成基本的DSP處理;高速外接存儲(chǔ)器接口支持SRAM、DRAM\DDR、DDR2以及QDRII SItAM;支持差分和單端I/0標(biāo)準(zhǔn),包括接收速率805 Mbis和發(fā)送速率640 Mb/s的LVDS、mlnl LVDS、LVPECL、 差分HSTL和差分SSTL及處理器、ASSP和ASIC接口的64位66 MHzPCI和PCI-X;高達(dá)260 MHz工作頻率,真正的雙端口工作(1個(gè)讀和1個(gè)寫,2個(gè)讀或2個(gè)寫);與133 MHz Pal_X1.0標(biāo)準(zhǔn)兼容;用戶最多可用引腳622個(gè);高達(dá)402.5 MHz性能的分層時(shí)鐘網(wǎng)絡(luò),多達(dá)16個(gè)全局時(shí)鐘線,快速串行配置時(shí)間小于100 ms;支持3.3 V、2,5 V或1.8 V多種電壓,可用于視頻、圖像處理(如MPEG4編碼和譯碼、視頻濾波)和無線基礎(chǔ)設(shè)各中?;邶埿綢號(hào)CPU IP核的SoC的驗(yàn)證平臺(tái)結(jié)構(gòu)如圖5所示。


圖5 SoC的FPGA驗(yàn)證平臺(tái)結(jié)構(gòu)

圖5中,外圍電路的主要功能是驗(yàn)證SoC中各個(gè)接口IP模塊能否與龍芯I號(hào)IP核、外部接口單元、硬件驅(qū)動(dòng)軟件和實(shí)時(shí)操作系統(tǒng)協(xié)調(diào)高效地工作。由于接口(如USB接口、UART/IrDA接口、SPI和LCD接口等)電路結(jié)構(gòu)比較簡單,且很多資料都有介紹,在設(shè)計(jì)時(shí),除了注意通用的設(shè)計(jì)規(guī)則和印匍電路板(PCB)布局布線外,沒有特別的要求。同時(shí),為了便于分析各個(gè)被驗(yàn)證的IP模塊在任意時(shí)刻的狀態(tài),將Cyclone Ⅱ EP2C70的大多數(shù)I/0引腳都引出到PCB上,以方便SoC開發(fā)人員使用邏輯分析儀進(jìn)行信號(hào)實(shí)時(shí)采集和分析,也可讓信號(hào)發(fā)生器產(chǎn)生一些特定信號(hào)以供系統(tǒng)調(diào)試使用。該開發(fā)系統(tǒng)在設(shè)計(jì)PCB時(shí)還特別注意了電磁干擾的屏蔽問題。

  2.3 SoC到FPGA的系統(tǒng)移植

使用Altera公司的FPGA開發(fā)工具Quartusll,將SoC向Cyclone Π EP2C70(FPGA)移植的步驟如下

(1)對(duì)SoC進(jìn)行修改,以適合FPGA的開發(fā)環(huán)境。修改子模塊配置、RAM、FIFO等,添加PLL對(duì)所需要的時(shí)鐘進(jìn)行適當(dāng)?shù)姆郑额l,或提高時(shí)鐘信號(hào)的質(zhì)量。

(2)使用Quartusll內(nèi)置綜合工具或?qū)S镁C合工具(如常見的Synplify._pro)單獨(dú)建Project,對(duì)RTL進(jìn)行綜合,生成網(wǎng)表。時(shí)鐘工作頻率較高的,要寫綜合約束條件。

(3)指定每一個(gè)輸人輸出信號(hào)對(duì)應(yīng)的FPGA管腳和輸人輸出邏輯類型。

(4)編譯生成的網(wǎng)表以生成sof文件,包括優(yōu)化、適配、sof文件生成等分步驟。

(5)進(jìn)行靜態(tài)時(shí)序分析,檢查是否滿足預(yù)定的時(shí)鐘頻率要求,若不能滿足,則重新進(jìn)行第(2)步。如果多次進(jìn)行步驟(2)仍不能滿足時(shí)序要求,則需要根據(jù)關(guān)鍵路徑對(duì)RTL代碼進(jìn)行修改。

關(guān)鍵路徑是指延遲最大的路徑,該路徑的延遲限制了時(shí)鐘的最大工作頻率。該SoC芯片的最大工作頻率在266 MHz以上,與選用的FPGA Cyclone Ⅱ EP2C70的總線時(shí)鐘速度相當(dāng)。

3、 VxWorks實(shí)時(shí)操作系統(tǒng)

本文所設(shè)計(jì)的SoC硬件平臺(tái)上,最終將運(yùn)行Vx-Works操作系統(tǒng),作為此次嵌入式SoC硬件平臺(tái)設(shè)計(jì)的軟件需求和最終的驗(yàn)證目標(biāo)。VxWorks是一個(gè)具有可伸縮、可裁減、高可靠性,同時(shí)適用于所有流行CPU平臺(tái)的實(shí)時(shí)操作系統(tǒng)㈣??缮炜s性指VxWorks提供了超過1 800個(gè)應(yīng)用編程接口(API)供用戶自行選擇使用;可裁減性指用戶可以根據(jù)自己的應(yīng)用需要對(duì)VxWorks進(jìn)行配置,產(chǎn)生具有不同功能集的操作系統(tǒng)映像;可靠性指VxWorks可以提供非常安全的操作系統(tǒng)平臺(tái)。VxWorks的基本構(gòu)成組件包括BSP(Board Support Package)、微內(nèi)核Wind、網(wǎng)絡(luò)系統(tǒng)、文件系統(tǒng)及I/0系統(tǒng)。本文測(cè)試更關(guān)注于BSP、Wind以及I/O組件。BSP中包括硬件環(huán)境中CPU的初始化及系統(tǒng)各項(xiàng)硬件資源的安裝和配置,如RAM、Clock、網(wǎng)絡(luò)接口、中斷控制器等。微內(nèi)核Wind是Win ̄dRiver公司自行開發(fā)的一種嵌人式操作系統(tǒng)內(nèi)核,該內(nèi)核具有標(biāo)準(zhǔn)的嵌人式實(shí)時(shí)操作系統(tǒng)的基本特征。

  4、驗(yàn)證平臺(tái)的檢驗(yàn)

將已經(jīng)成熟的AMBA總線IP核的Verilog代碼通過Synplify綜合,利用Altera公司的QUARTUS Ⅱ軟件作布局布線,燒人Cyclone Ⅱ EP2C70,再用同樣的方式將新開發(fā)的EMI IP核的Verilog代碼燒入該FPGA,將其中的SDRAM控制器作為驗(yàn)證示例,選取其中最簡單的訪問方式來驗(yàn)證該平臺(tái)能否使用。上電后,首先要對(duì)所有內(nèi)存區(qū)(bank)預(yù)充電,經(jīng)8個(gè)自刷新周期后需要設(shè)置訪問模式,即編程模式寄存器。以上三個(gè)過程要求如下:

(1)預(yù)充電命令的發(fā)出要求:在時(shí)鐘周期的上升沿處,CS、RAS、WE為低,CAS為高。

(2)自刷新命令的發(fā)出要求:在時(shí)鐘周期的上升沿處,CS、RAS、CAS 禾口CKE保持低,WE為高。

(3)模式寄存器的激活:在時(shí)鐘的上升沿處,RAS、CAS、CS和WE為低。

當(dāng)要驗(yàn)證各個(gè)IP模塊(包括[NT中斷控制器、DMA控制器、LCD控制器和AC97控制器等)之間的協(xié)同工作時(shí),燒入的代碼較多,占用的FPGA資源也較多,再加上需要實(shí)時(shí)運(yùn)行,例如播放PM3實(shí)時(shí)解碼過程中,時(shí)鐘至少要求60 MHz,需要工作的IP核有總線、DMA控制器、INT中斷控制器、AC97控制器等,因此在這種情況下,最好使用Multi PointSynthesis的綜合流程和Timing driv-en的綜合與優(yōu)化策略,并使用Logic一lock約束技術(shù)和人工干預(yù)布局布線,以達(dá)到預(yù)期目的。使用該平臺(tái)對(duì)所開發(fā)的SoC的各個(gè)模塊進(jìn)行了驗(yàn)證,并在lO MHz~70 MHz條件下與代碼前(后)仿真結(jié)果和SoC實(shí)測(cè)結(jié)果進(jìn)行了比較,發(fā)現(xiàn)該FPGA驗(yàn)證平臺(tái)在多模塊、高速情況下,性能有所下降,如圖6所示,需進(jìn)一步提高綜合和布局布線技術(shù)。


圖6各模塊實(shí)驗(yàn)驗(yàn)證結(jié)果比較

本文設(shè)計(jì)了基于國產(chǎn)龍芯I號(hào)處理器IP核的SoC的FPGA驗(yàn)證平臺(tái),介紹了怎樣利用該平臺(tái)進(jìn)行軟硬件協(xié)同設(shè)計(jì)、SoC系統(tǒng)移植、IP核驗(yàn)證和運(yùn)行實(shí)時(shí)操作系統(tǒng)。在電壓設(shè)計(jì)、模塊選用甚至處理器核的選用方面都考慮了升級(jí)擴(kuò)展技術(shù),可為其他SoC的驗(yàn)證所借鑒。驗(yàn)證結(jié)果表明,基于龍芯I號(hào)CPU IP核的SoC可成功運(yùn)行Linux嵌入式程序及VxWorks。



參考文獻(xiàn):

[1].ALUdatasheethttp://www.dzsc.com/datasheet/ALU_2089372.html.
[2].ROMdatasheethttp://www.dzsc.com/datasheet/ROM_1188413.html.
[3].GP10datasheethttp://www.dzsc.com/datasheet/GP10_1579585.html.
[4].PCBdatasheethttp://www.dzsc.com/datasheet/PCB_1201640.html.
[5].EP2C70datasheethttp://www.dzsc.com/datasheet/EP2C70_1438351.html.
[6].LVDSdatasheethttp://www.dzsc.com/datasheet/LVDS_457917.html.


來源:冬蟲1次

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉