《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > S698P4 SoC芯片存儲(chǔ)器控制器的設(shè)計(jì)與實(shí)現(xiàn)
S698P4 SoC芯片存儲(chǔ)器控制器的設(shè)計(jì)與實(shí)現(xiàn)
來(lái)源:微型機(jī)與應(yīng)用2011年第21期
陳炳成,唐芳福,蔣曉華,顏 軍
(珠海歐比特控制工程股份有限公司,廣東 珠海 519080)
摘要: 詳細(xì)分析了S698P4 SoC芯片存儲(chǔ)器控制器的控制原理,并給出相應(yīng)設(shè)計(jì)方案和仿真結(jié)果。該控制器可在32 bit位寬模式下對(duì)存儲(chǔ)器進(jìn)行讀寫(xiě)控制。目前該處理器已實(shí)現(xiàn)了量產(chǎn),實(shí)際硬件測(cè)試驗(yàn)證了S698P4 SoC芯片存儲(chǔ)器控制器的高效性能。
Abstract:
Key words :

摘  要: 詳細(xì)分析了S698P4 SoC芯片存儲(chǔ)器控制器的控制原理,并給出相應(yīng)設(shè)計(jì)方案和仿真結(jié)果。該控制器可在32 bit位寬模式下對(duì)存儲(chǔ)器進(jìn)行讀寫(xiě)控制。目前該處理器已實(shí)現(xiàn)了量產(chǎn),實(shí)際硬件測(cè)試驗(yàn)證了S698P4 SoC芯片存儲(chǔ)器控制器的高效性能。
關(guān)鍵詞: 存儲(chǔ)器控制器;S698P4;位寬模式;SPARC V8

 隨著半導(dǎo)體技術(shù)的快速發(fā)展以其設(shè)計(jì)工藝的不斷改進(jìn)提高,集成電路的設(shè)計(jì)規(guī)模越來(lái)越大,特別是進(jìn)入0.18 μm以下后,已經(jīng)可以在一個(gè)芯片上實(shí)現(xiàn)幾億個(gè)晶體管的設(shè)計(jì)規(guī)模。這樣規(guī)模的電路完全可以將一個(gè)完整的電子系統(tǒng)在單個(gè)芯片上實(shí)現(xiàn)[1],于是便出現(xiàn)了所謂系統(tǒng)芯片SoC(System-on-Chip)。系統(tǒng)芯片把多種功能的系統(tǒng)(模塊)集成到一個(gè)芯片上,包括CPU、DSP、邏輯電路、模擬電路、內(nèi)存及其他電路模塊等,并相互構(gòu)成完整系統(tǒng)。同時(shí),由于設(shè)計(jì)工藝的不斷提高,處理器可達(dá)到的工作頻率也越來(lái)越高,為了協(xié)調(diào)好外部存儲(chǔ)器(包括外部SRAM、ROM)和I/O等設(shè)備以及內(nèi)部存儲(chǔ)器(如片內(nèi)SRAM)與處理器的關(guān)系,必須要有高效的存儲(chǔ)器控制器對(duì)存儲(chǔ)器和CPU的工作進(jìn)行協(xié)調(diào)控制。高效的存儲(chǔ)器控制器對(duì)于處理器的整體性能發(fā)揮起著越來(lái)越重要的作用。
1 S698P4簡(jiǎn)介
 S698P4是基于SPARCV8架構(gòu)[2]的高性能的32 bit RISC嵌入式4核處理器,采用對(duì)稱多處理(SMP)技術(shù),在一個(gè)內(nèi)核里集成4個(gè)功能一樣的處理器核心,各CPU之間共享內(nèi)存子系統(tǒng)及總線結(jié)構(gòu),總線競(jìng)爭(zhēng)核仲裁由硬件自動(dòng)完成,不需要用戶進(jìn)行設(shè)置。它專為嵌入式應(yīng)用而設(shè)計(jì),具有高性能、低復(fù)雜度和低功耗的特點(diǎn)。
S698P4支持多核并行處理機(jī)制,采用eCos實(shí)時(shí)嵌入式操作系統(tǒng)。eCos將任務(wù)隊(duì)列對(duì)稱地分布于多個(gè)CPU之上,從而極大地提高了整個(gè)系統(tǒng)的數(shù)據(jù)處理能力。所有的處理器都可以平等地訪問(wèn)內(nèi)存、I/O和外部中斷。系統(tǒng)資源被系統(tǒng)中所有CPU共享,工作負(fù)載能夠均勻地分配到所有可用處理器之上,其運(yùn)算速度快,數(shù)據(jù)處理量大、功耗低,性能和可靠性遠(yuǎn)高于單核處理器。
 圖1為S698P4結(jié)構(gòu)圖,由圖可知,S698P4處理器內(nèi)部集成了CPU0、CPU1、CPU2和CPU3 4個(gè)S698P核,每個(gè)S698P CPU內(nèi)部又分別集成32 bit整形數(shù)處理單元、32/64 bit浮點(diǎn)數(shù)處理單元及8 KB數(shù)據(jù)緩存(Data Cache)和指令緩存(Instruction Cache)。針對(duì)實(shí)時(shí)應(yīng)用的嵌入式領(lǐng)域,S698P4提供了內(nèi)部看門(mén)狗、定時(shí)器、中斷控制器、通用I/O口以及串行通信接口;針對(duì)航空航天領(lǐng)域,S698P4提供了CAN總線接口、以太網(wǎng)接口以及1553B總線;同時(shí),為了芯片調(diào)試,芯片內(nèi)部還集成了硬件調(diào)試專用接口DSU,用戶通過(guò)DSU,可以訪問(wèn)CPU內(nèi)部所有寄存器和存儲(chǔ)器資源,也可訪問(wèn)外部所有存儲(chǔ)器和I/O外設(shè),為基于S698P4的硬件/軟件調(diào)試提供方便[3]。

 S698P4處理器可廣泛應(yīng)用于航空航天、海量數(shù)據(jù)處理、大規(guī)模網(wǎng)絡(luò)應(yīng)用、復(fù)雜科學(xué)計(jì)算及大型圖形建模等領(lǐng)域。
2 S698P4存儲(chǔ)器控制器設(shè)計(jì)方案
2.1 存儲(chǔ)器地址分配

 存儲(chǔ)器控制器控制一個(gè)連有PROM、I/O設(shè)備,靜態(tài)存儲(chǔ)器(SRAM)和動(dòng)態(tài)隨機(jī)存儲(chǔ)器(SDRAM)的存儲(chǔ)器總線,如圖2所示。存儲(chǔ)器控制器作為從屬設(shè)備掛在AHB總線上,存儲(chǔ)器控制器的運(yùn)作可通過(guò)軟件配置“存儲(chǔ)器配置寄存器1,2&3”(MCFG1,MCFG2 & MCFG3)來(lái)控制,表1為存儲(chǔ)器配置寄存器地址分配表。“存儲(chǔ)器配置寄存器1,2&3”的配置通過(guò)APB總線進(jìn)行。存儲(chǔ)器總線支持四種類型的設(shè)備,包括PROM、SRAM、SDRAM和I/O。PROM、SRAM和SDRAM總線只支持32 bit模式,而I/O可以根據(jù)需求配置為8、16、32 bit模式。存儲(chǔ)器控制器包括2 GB空間,分成如表2所列的幾個(gè)部分。

 

 


2.2 PROM
 處理器提供兩個(gè)PROM片選信號(hào)ROMSN[1:0]。PROM的訪問(wèn)和存儲(chǔ)器的訪問(wèn)基本相似,其讀/寫(xiě)周期時(shí)序如圖3和圖4所示。
2.3 靜態(tài)存儲(chǔ)器(SRAM)
 SRAM區(qū)最高可達(dá)512 MB,具有5個(gè)存儲(chǔ)塊,每塊的大小在存儲(chǔ)器配置寄存器2的MCFG2[12:9]中設(shè)定,按照二進(jìn)制步進(jìn)算法,MCFG2[12:9]可設(shè)定為8 KB~256 MB。靜態(tài)存儲(chǔ)器讀訪問(wèn)包括兩個(gè)數(shù)據(jù)周期和0~15個(gè)等待周期。在非連貫的訪問(wèn)中,在一個(gè)讀周期后增加一個(gè)前導(dǎo)輸出的周期,可以阻止由于存儲(chǔ)器或者I/O設(shè)備的關(guān)閉時(shí)間引起的總線競(jìng)爭(zhēng)。圖5和圖6為基本的讀/寫(xiě)周期波形(0等待周期)。
2.4 動(dòng)態(tài)隨機(jī)存儲(chǔ)器(SDRAM)
 動(dòng)態(tài)隨機(jī)存儲(chǔ)器訪問(wèn)支持兩塊PC100/PC133兼容的設(shè)備。動(dòng)態(tài)隨機(jī)存儲(chǔ)器控制器帶有8~12個(gè)列地址位,并且有最高13行的動(dòng)態(tài)隨機(jī)存儲(chǔ)器。通過(guò)MCFG2和MCFG3控制動(dòng)態(tài)隨機(jī)存儲(chǔ)器的操作。S698P4只支持32  bit的數(shù)據(jù)總線寬度,每個(gè)塊的大小可以編程在512 B~4 MB之間。為了對(duì)不同的動(dòng)態(tài)隨機(jī)存儲(chǔ)器(在不同的頻率)提供最優(yōu)的訪問(wèn)周期,一些動(dòng)態(tài)隨機(jī)存儲(chǔ)器的參數(shù)可以在MCFG2中設(shè)定??稍O(shè)定的動(dòng)態(tài)隨機(jī)存儲(chǔ)器參數(shù)如表3所示。

3 S698P4存儲(chǔ)器控制器的實(shí)現(xiàn)與驗(yàn)證
 S698P4采用VHDL語(yǔ)言進(jìn)行編寫(xiě),其編碼風(fēng)格同傳統(tǒng)以并發(fā)執(zhí)行[4-5]的并發(fā)進(jìn)程(或開(kāi)發(fā)語(yǔ)句)作為模塊,即所謂的“數(shù)據(jù)流”編碼風(fēng)格不一樣,采用的是“二進(jìn)制”的設(shè)計(jì)方法。這種編碼風(fēng)格克服了“數(shù)據(jù)流”編碼方式的可讀性差、抽象級(jí)低、仿真時(shí)間長(zhǎng)等缺點(diǎn)。“二進(jìn)制”編碼風(fēng)格的具體措施是:(1)所有的端口和信號(hào)聲明采用記錄的形式進(jìn)行說(shuō)明,如按輸入輸出分類進(jìn)行記錄說(shuō)明;(2)每個(gè)實(shí)體只有兩個(gè)進(jìn)程,即組合進(jìn)程和時(shí)序進(jìn)程;(3)在組合進(jìn)程中全部采用變量(而不是信號(hào)),以使用結(jié)構(gòu)化的順序編碼方式;(4)在時(shí)序進(jìn)程中通過(guò)時(shí)鐘同步進(jìn)行狀態(tài)的轉(zhuǎn)換。
 S698P4存儲(chǔ)器控制器代碼在Modelsim 6.2b上能夠通過(guò)功能仿真(其中外部SRAM讀寫(xiě)控制仿真波形如圖9和圖10所示),并且在Quartus II以及ISE EDA平臺(tái)上成功綜合布線,燒寫(xiě)到FPGA后能夠通過(guò)硬件測(cè)試。
圖9和圖10為S698P4外部SRAM讀/寫(xiě)控制波形圖。由圖9或圖10可知,S698P4存儲(chǔ)器控制器實(shí)現(xiàn)了對(duì)應(yīng)RAM片選ramsn、ROM片選romsn及I/O片選iosn輸出,sa為公用地址總線,此處沒(méi)有進(jìn)行配置,只用到單獨(dú)的address地址總線,對(duì)應(yīng)圖2的地址總線A。Data為數(shù)據(jù)總線,對(duì)應(yīng)圖2的數(shù)據(jù)總線D。ramoen為RAM輸出使能,oen為讀使能,其為低時(shí),讀出數(shù)據(jù)。

 目前,S698P4處理器已經(jīng)成功實(shí)現(xiàn)了量產(chǎn),在航空航天、工業(yè)控制等領(lǐng)域中得到廣泛應(yīng)用。實(shí)踐證明,S698P4存儲(chǔ)器控制器能夠高效地對(duì)存儲(chǔ)器和CPU的工作進(jìn)行協(xié)調(diào)控制,并在發(fā)揮處理器整體性能上起到很關(guān)鍵的作用。
參考文獻(xiàn)
[1] 虞希清.專用集成電路設(shè)計(jì)實(shí)用教程[M].杭州:浙江大學(xué)出版社,2006.
[2] 珠海歐比特控制工程股份有限公司.S698P4芯片用戶手冊(cè)(V2.0)[K].2011.
[3] 蔣曉華,李付海,祁波.SPARC體系的S698系列SOC及其應(yīng)用[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2007(8):84-85.
[4] 邊計(jì)年,薛宏熙.用VHDL設(shè)計(jì)電子線路[M].北京:清華大學(xué)出版社,2000.
[5] PEDRONI V A.VHDL數(shù)字電路設(shè)計(jì)教程[M].喬廬峰,等,譯.北京:電子工業(yè)出版社,2005.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。