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

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

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

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

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

 

 


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

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

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

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