專利名稱:基于fpga的多接口存儲器驗證系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)、自動控制及儀器儀表技術(shù)領(lǐng)域,具體地說是一種集多種存儲器的驅(qū)動及測試于一體的基于現(xiàn)場可編程門陣列(FPGA)的多接口存儲器驗證系統(tǒng)。
背景技術(shù):
隨著市場上不斷推出大容量、高速度的存儲器,但容量和速度的提高導(dǎo)致了存儲器與標(biāo)準(zhǔn)接口的細(xì)節(jié)差異,新型存儲器的推出從根本上改變了存儲器的訪問接口及對其進(jìn)行訪問的操作方式,市場主流控制器并不能完全支持對這樣大容量、高速度并擁有特殊訪問接口的存儲器進(jìn)行直接訪問操作。 當(dāng)前國內(nèi)外存儲器的主流測試方式仍是針對單一型號或者單一接口的芯片進(jìn)行單獨測試,對于不同接口類型的芯片(比如說N0R Flash和SPI Flash)來說并沒有一個可通用的測試平臺,這導(dǎo)致針對不同功能的存儲芯片來說需要為其功能完整性和性能穩(wěn)定性的測試提供不同的測試平臺,造成資源浪費。 此外,國內(nèi)的研究也多停留在如何控制較傳統(tǒng)的單一類型的存儲器上,對于多種新型接口的存儲器的投入實際應(yīng)用的過程不利,另一方面,在基于FPGA的開發(fā)中,人們多習(xí)慣于使用FPGA芯片內(nèi)嵌的仿CPU軟硬核資源來完成CPU端的諸多控制工作,這些資源由于受到內(nèi)部時鐘的限制,無法完整的模擬出高速存儲器可能的實際使用環(huán)境,不能完整測試出其工作于高速時鐘下的性能。
發(fā)明內(nèi)容
本發(fā)明的目的是針對現(xiàn)有技術(shù)的不足而提供的一種基于FPGA的多接口存儲器驗證系統(tǒng),為存儲芯片生產(chǎn)廠商提供了靈活簡便的存儲芯片功能驗證及演示的平臺。
本發(fā)明的目的是這樣實現(xiàn)的 —種基于FPGA的多接口存儲器驗證系統(tǒng),其特點是 a、系統(tǒng)包括高級精簡指令集計算機(jī)模塊(ARM模塊)和現(xiàn)場可編程門陣列模塊(FPGA模塊),兩模塊之間以總線方式連接;采用FPGA端模擬SRAM外部存儲器的方式,將FPGA內(nèi)控制器邏輯映射到ARM內(nèi)存中來提供數(shù)據(jù)和控制的訪問接口 ;
b、系統(tǒng)采用異步總線通訊方式,將ARM輸出的異步控制信號、異步地址及數(shù)據(jù)信號同步到FPGA的內(nèi)部時鐘域中; c、系統(tǒng)存儲器數(shù)據(jù)、控制接口統(tǒng)一采用存儲器數(shù)據(jù)直接映射方式,使各存儲器控制器IP核移植集成于系統(tǒng)中;數(shù)據(jù)訪問接口以先進(jìn)先出(FIFO)形式實現(xiàn);
其中 所述ARM模塊為系統(tǒng)控制器并外設(shè)部分配置同步動態(tài)隨機(jī)存取存儲器(SDRAM)、Nand Flash內(nèi)存、NOR Flash內(nèi)存、通用異步接收/發(fā)送裝置(UART) 、 USB主設(shè)備、USB設(shè)備、以太網(wǎng)接口、LCD接口及SD卡讀卡器; 所述FPGA模塊內(nèi)部邏輯分為三層與ARM接口的SRAM設(shè)備層、負(fù)責(zé)模塊的控制、數(shù)據(jù)與寄存器映射的主控制器層以及存儲器控制器層。 上述與ARM接口的SRAM設(shè)備層通過模擬一個SRAM外部存儲器向ARM提供讀寫接 口 ,以此建立ARM-FPGA之間的通訊;SRAM設(shè)備層內(nèi)由三個子層組成,分別為物理子層、控 制子層及用戶子層。 上述負(fù)責(zé)模塊的控制、數(shù)據(jù)與寄存器映射的主控制器層轉(zhuǎn)換地址、命令的格式并 轉(zhuǎn)發(fā)數(shù)據(jù),并在其內(nèi)部將SRAM設(shè)備層的請求轉(zhuǎn)發(fā)到功能寄存器(SFR)。
上述存儲器控制器層由四個具體的存儲器控制器組成,分別是雙倍速率同步動 態(tài)隨機(jī)存儲器(DDR SDRAM) 、N0R Flash內(nèi)存、NAND Flash內(nèi)存以及串行外設(shè)接口內(nèi)存(SPI Flash),各存儲器控制器的用戶訪問接口各不相同,通過主控制器層進(jìn)行地址、命令、數(shù)據(jù) 協(xié)調(diào)控制,并向SFR控制模塊提供功能控制接口。 上述物理子層提供SRAM接口,將異步地址、數(shù)據(jù)同步到內(nèi)部時鐘,向控制子層發(fā) 送訪問請求信號;控制子層將物理子層傳來的地址、命令及數(shù)據(jù)轉(zhuǎn)換為合適的格式并放入 用戶子層的先進(jìn)先出(FIFO),并向系統(tǒng)控制器發(fā)送訪問請求信號;用戶子層向系統(tǒng)控制器 提供一個統(tǒng)一的數(shù)據(jù)、命令訪問接口。 本驗證系統(tǒng)配備市場常見的存儲器接口,可以進(jìn)行常規(guī)的功能測試及演示,同時, 又能靈活地通過固件升級來支持最新接口類型的存儲器,在最短的時間內(nèi)對最新的存儲器 芯片進(jìn)行測試、驗證以及同時進(jìn)行多種類型的芯片測試及演示,大大縮短了新型存儲芯片 投入實際使用的時間周期。
圖1為本發(fā)明結(jié)構(gòu)示意圖 圖2為本發(fā)明ARM模塊內(nèi)存分布圖 圖3為本發(fā)明FPGA模塊內(nèi)部架構(gòu)框圖 圖4為本發(fā)明FPGA模塊的SRAM設(shè)備層內(nèi)部框圖 圖5為總線通訊中數(shù)據(jù)線三態(tài)控制的IOBUF元件原理圖 圖6為本發(fā)明ARM模塊與FPGA模塊的數(shù)據(jù)、控制訪問接口框圖
具體實施例方式
本發(fā)明由兩大模塊組成ARM模塊與FPGA模塊。兩模塊之間以總線方式(FPGA端 仿SRAM存儲器)連接,采用FPGA端模擬SRAM外部存儲器的方式,將FPGA內(nèi)控制器邏輯映 射到ARM內(nèi)存中來提供數(shù)據(jù)和控制的訪問接口 。由于各種存儲器的訪問特性不同,所以ARM 與FPGA通訊部分采用了全總線連接,即所有的數(shù)據(jù)線、地址線、控制線全部連接到FPGA。如
圖l所示的系統(tǒng)總體架構(gòu)圖。
(1)、ARM模塊 ARM模塊采用三星S3C2440Mobile MCU作為系統(tǒng)控制器,此MCU基于M920T核心, 擁有豐富的片內(nèi)外設(shè),支持EBI (External Bus Interface),為FPGA通訊提供了條件。能夠 運行Linux和Windows CE操作系統(tǒng),為整個驗證系統(tǒng)提供流行的應(yīng)用平臺支持。外部總線 接口 (EBI)總共分為8個Bank,其中Bankl、 Bank2、 Bank3作為外部存儲器內(nèi)存訪問映射, 提供統(tǒng)一 的存儲器訪問接口 。如圖2所示的ARM模塊內(nèi)存分布圖。
4
(2) 、 FPGA模塊 FPGA模塊采用的是Xilinx公司的Virtex-5LX系列芯片(Virtex-5XC5VLX50),內(nèi) 部的實現(xiàn)邏輯可分為三層,分別為與ARM接口的SRAM設(shè)備層,負(fù)責(zé)整體模塊系統(tǒng)的控制、 數(shù)據(jù)與寄存器映射的模塊控制器層以及存儲器控制器層。如圖3所示的FPGA模塊內(nèi)部架 構(gòu)框圖。 i、SRAM設(shè)備層 SRAM設(shè)備層負(fù)責(zé)與ARM之間的通訊,通過模擬一個SRAM外部存儲器向ARM提供讀 寫接口,以此來建立ARM-FPGA間的通訊,圖4為SRAM設(shè)備層IP內(nèi)部結(jié)構(gòu)框圖。SRAM設(shè)備 層內(nèi)部由三個子層組成物理子層,控制子層,用戶子層。物理子層負(fù)責(zé)硬件鏈路方面的轉(zhuǎn) 換,提供SRAM接口,將異步地址、數(shù)據(jù)同步到內(nèi)部時鐘,并向控制子層發(fā)送訪問請求信號。
控制子層負(fù)責(zé)將物理子層傳來的地址、命令及數(shù)據(jù)轉(zhuǎn)換為合適的格式并放入用戶子層的先 進(jìn)先出(FIFO),同時負(fù)責(zé)向系統(tǒng)主控制器發(fā)送訪問請求信號。用戶子層內(nèi)部包括3個FIF0 寄存器向系統(tǒng)主控制器提供了 一個統(tǒng)一 的數(shù)據(jù)、命令訪問接口 。
ii、主控制器層 主控制器層負(fù)責(zé)FPGA內(nèi)部存儲器控制器的功能協(xié)調(diào),并完成地址、命令的格式轉(zhuǎn) 換以及數(shù)據(jù)的轉(zhuǎn)發(fā)。當(dāng)SRAM設(shè)備層請求訪問的地址屬于寄存器Bank時,請求將不會被轉(zhuǎn) 發(fā)到具體存儲器控制器,而是主控制器內(nèi)部的SFR(Special Function Register)處理模塊 來實現(xiàn)功能設(shè)置。SFR處理模塊再根據(jù)不同的訪問內(nèi)容來具體改變當(dāng)前活動狀態(tài)下的存儲 器控制器行為。 iii、存儲器控制器層 存儲器控制器層由四個具體的存儲器控制器組成,分別是雙倍速率同步動態(tài)隨 機(jī)存儲器(DDR SDRAM) 、 NOR Flash內(nèi)存、NAND Flash內(nèi)存以及串行外設(shè)接口內(nèi)存(SPI Flash),各存儲器控制器的用戶訪問接口各不相同,因此由主控制器進(jìn)行地址、命令、數(shù)據(jù) 協(xié)調(diào)控制,并向SFR控制模塊提供了功能控制接口 。 本發(fā)明采用ARM-FPGA分離式,關(guān)鍵問題在于通信信號的同步、存儲器統(tǒng)一數(shù)據(jù)、 控制接口及存儲器控制器的集成。
①、異步總線通訊 ARM的外部總線接口 (EBI)所支持的SRAM總線接口為傳統(tǒng)異步訪問總線,而FPGA 內(nèi)部邏輯全部采用的是同步時序邏輯,需要將ARM輸出的異步控制信號、異步地址及數(shù)據(jù) 信號同步到FPGA的內(nèi)部時鐘域中來。 ARM端到FPGA端的SRAM總線接口中并不包含時鐘信號,F(xiàn)PGA只能在每個內(nèi)部時 鐘上升沿來判斷外部控制信號的狀態(tài),當(dāng)檢測到讀寫信號變化時,向SRAM控制模塊給出一 個讀寫信號。具體做法如下 i)在每個時鐘上升沿寄存當(dāng)前外部控制信號狀態(tài)。
always@(posedge clkO)
begin ctrl_oe_n_r <= ctrl_oe_n ;
end ii)使用組合邏輯判斷當(dāng)前外部控制信號狀態(tài)和上一周期狀態(tài),當(dāng)滿足下降沿時序時給出內(nèi)部讀寫請求信號。 assign rd_req_:r = ( ! ctrl_oe_n&&ctrl_oe_n_:r); iii)當(dāng)檢測到內(nèi)部讀寫請求信號時,向SRAM控制模塊給出一個時鐘周期長度的 讀寫請求信號。 always@(posedge clkO)
begin rd_req < = 1' b0 ; if (rd_req_r) begin rd_req < = 1, bl ; end
end 在總線通訊時還會碰到數(shù)據(jù)線的三態(tài)控制問題,解決方式為使用FPGA內(nèi)部IO模 塊加上三態(tài)組合控制邏輯,如圖5即為總線通訊中數(shù)據(jù)線的三態(tài)控制器件IOBUF元件原理 圖,實現(xiàn)方式為assign data_tri_n = ( ! ctrl_we_n&&ctrl_oe_n);〃三態(tài)控制信號組合邏輯 IOBUF u_iobuf_data 〃實例化一個IOBUF元件 ( IO(sram_data[data_i]) , 〃sram數(shù)據(jù)總線,雙向 . I(rd_data[data_i]), 〃sram讀數(shù)據(jù)總線,輸入 . 0(wr_data[data_i]) , 〃sram寫數(shù)據(jù)總線,輸出 .T(data_tri_n) 〃sram數(shù)據(jù)總線,三態(tài)控制總線 ); 有了經(jīng)過時鐘同步的地址線和數(shù)據(jù),有了nWAIT信號來給出靈活的讀寫指令周 期,有了數(shù)據(jù)線的三態(tài)控制,這樣就在ARM和FPGA之間建立起了完善的通訊機(jī)制。
②、存儲器統(tǒng)一數(shù)據(jù)、控制接口 為了適應(yīng)各種存儲器控制器的集成,為用戶提供統(tǒng)一的應(yīng)用接口,統(tǒng)一采用存儲 器數(shù)據(jù)直接映射方式,在SFR區(qū)提供特性控制接口 。 ARM端外部總線接口 (EBI)向外擴(kuò)展4個Bank總線區(qū)域給FPGA端,每個Bank有 128MB空間,其中Bankl、 Bank2、 Bank3空間連續(xù),這三個Bank作為統(tǒng)一的數(shù)據(jù)訪問接口 , Bank5同樣擁有128MB空間,獨立作為控制訪問接口 ,提供SFR訪問形式,為SFR提供一組 16MB地址空間,每個加載的存儲器控制器擁有獨立的16MB SFR地址空間,由FPGA內(nèi)SFR控 制器統(tǒng)一控制,SFR控制器根據(jù)不同的地址映射向具體的存儲器控制器轉(zhuǎn)發(fā)控制請求。圖6 為ARM與FPGA的數(shù)據(jù)、控制訪問接口框圖。
③、存儲器控制器的集成 系統(tǒng)提供統(tǒng)一的數(shù)據(jù)訪問接口 ,方便地將存儲器控制器的IP核集成到驗證系統(tǒng) 并以FIFO形式實現(xiàn)。數(shù)據(jù)訪問FIFO分為地址/指令FIFO,寫數(shù)據(jù)FIFO和讀數(shù)據(jù)FIFO,地 址/指令FIFO用來接收主控制器發(fā)出的讀寫指令以及數(shù)據(jù)訪問地址,寫數(shù)據(jù)FIFO接收主 控制器發(fā)來的對應(yīng)寫指令的數(shù)據(jù),讀數(shù)據(jù)FIFO在存儲器控制器接收到讀指令之后,來返回 從存儲器讀取的數(shù)據(jù)。 主控制器要向存儲器控制器發(fā)送寫數(shù)據(jù)請求時,需要在寫數(shù)據(jù)/指令FIFO前(或同時)將需要寫的數(shù)據(jù)寫入寫數(shù)據(jù)FIFO,然后向數(shù)據(jù)/指令FIFO寫入讀寫指令和寫地址, 在整個寫操作過程中寫使能信號要保持有效。主控制器要從存儲器控制器讀數(shù)據(jù)時,首先 從數(shù)據(jù)/指令FIFO發(fā)送讀指令和讀地址,然后等待讀信號有效,從讀數(shù)據(jù)FIFO中讀出需要 的數(shù)據(jù)。 通過主控制器向SFR控制器轉(zhuǎn)發(fā)SFR訪問請求,由SFR控制器理解控制器的請求 的內(nèi)容,再根據(jù)不同的存儲器控制器特性,向下派發(fā)具體存儲器控制器的功能控制請求。只 有當(dāng)SFR控制器判斷到有效的SFR訪問的內(nèi)容時,才改變相應(yīng)控制器IP的特性,這樣各種 不同的控制器IP就能避免改變大部分代碼而和整個驗證系統(tǒng)兼容,并提供能夠改變其功 能特性的SFR接口。 各種不同控制器在FPGA上的實現(xiàn)
i)DDR SDRAM控制器的實現(xiàn) 在FPGA模塊中通過軟件使用Verilog HDL語言完成DDR SDRAM控制器的編寫工 作。 DDR SDRAM在進(jìn)行讀寫操作前需要進(jìn)行初始化。當(dāng)電平重置信號有效時,DDR SDRAM控制器就開始按照J(rèn)EDEC(工業(yè)化標(biāo)準(zhǔn)組織)標(biāo)準(zhǔn)對DDR SDRAM存儲器進(jìn)行初始化。 在完成存儲器初始化之后便開始校準(zhǔn)流程。DDR SDRAM控制器校準(zhǔn)過程分成四個階段,分別 為DQ-DQS校準(zhǔn)、DQS-FPGA CLK校準(zhǔn)、讀數(shù)據(jù)有效校準(zhǔn)和DQS閥校準(zhǔn)。 DDR SDRAM控制器的控制模塊負(fù)責(zé)響應(yīng)用戶模塊發(fā)來的讀寫請求,管理DDR SDRAM 內(nèi)部狀態(tài)機(jī),負(fù)責(zé)DDR SDRAM的物理讀寫指令,同時還管理DDRSDRAM的刷新機(jī)制和Bank管 理機(jī)制等。DDR SDRAM有多種刷新模式,需要不斷進(jìn)行刷新,以保存數(shù)據(jù)。DDR SDRAM在刷 新之前要求所有塊必須處于空閑狀態(tài),但是實際應(yīng)用中并不能保證所有塊必須處于空閑狀 態(tài),因此刷新之前首先對所有的塊預(yù)充電,然后再刷新。
ii)NOR Flash控制器的實現(xiàn) 在FPGA模塊中通過軟件使用Verilog HDL語言完成NOR Flash控制器的編寫工 作。 對NOR Flash操作模式的控制主要表現(xiàn)為對功能寄存器中內(nèi)容的操作。NOR Flash 只能工作于異步模式,選擇FIFO寄存器作為NOR Flash控制器中的數(shù)據(jù)緩存區(qū)。
iii)NAND Flash控制器的實現(xiàn) 在FPGA模塊中通過軟件使用Verilog HDL語言完成NAND Flash控制器的編寫工 作。 為了滿足從NAND Flash中讀取數(shù)據(jù)時的時序要求,NAND Flash控制器內(nèi)部控制 邏輯的時鐘采用的是100MHz的時鐘,對100MHz的時鐘進(jìn)行6分頻,分頻得到的NAND Flash 控制信號是33. 33%的占空比,即低電平時間為40ns,高電平時間為20ns,這樣在數(shù)據(jù)有效 至讀數(shù)據(jù)控制信號的有效沿(上升沿)還留有5ns的時間余量,完全滿足讀取數(shù)據(jù)的時序 要求。 NAND Flash控制器包含有兩個數(shù)據(jù)緩存區(qū),每個為1056個字(Word),使用雙數(shù) 據(jù)緩存的目的是為了保證用戶總能對其中一個緩存區(qū)進(jìn)行操作。使用Xilinx公司集成在 Virtex-5系列FPGA芯片中Block RAM資源來實現(xiàn)兩個數(shù)據(jù)緩存區(qū)。 在NAND的生產(chǎn)及使用過程中會產(chǎn)生壞塊,為了檢測數(shù)據(jù)的可靠性,使用一種比較
7專用的校驗-漢明碼ECC。漢明碼能糾正單比特錯誤和檢測雙比特錯誤,而且計算速度很 快。 iv)SPI Flash控制器的實現(xiàn) 在FPGA模塊中通過軟件使用Verilog HDL語言完成SPI Flash控制器的編寫工 作。 SPI Flash器件工作需要串行時鐘,利用FPGA的外部時鐘elk作為系統(tǒng)的基準(zhǔn)時 鐘,對其進(jìn)行分頻得到SPI Flash芯片工作所需要的串行時鐘,僅在對SPI Flash器件進(jìn)行 操作時才向SPI Flash器件提供串行時鐘,以避免寫入或讀出錯誤的數(shù)據(jù),因此提供了兩根 控制信號tx—enable和rx—enable,只要它們兩者中有一根信號的狀態(tài)在系統(tǒng)時鐘elk的 下降沿時為高,則說明接下來要對SPI Flash器件進(jìn)行操作了,于是將串行時鐘輸出到SPI Flash器件的信號輸入口,從而為SPI Flash器件的工作提供時鐘。 SPI Flash的指令是通過sel、 addr和wr三根控制信號來給出的,SPIFlash控制 器根據(jù)這三根信號線的不同組合來獲得不同的控制信號。SPIFlash控制器預(yù)先將從用戶那 邊獲得的指令和地址字節(jié)寄存起來,以便當(dāng)SPIFlash控制器在狀態(tài)機(jī)的控制下到達(dá)正確 的工作狀態(tài)時能夠準(zhǔn)確地將相應(yīng)的指令字節(jié)和地址字節(jié)傳輸給SPI Flash器件。
本發(fā)明硬件的實現(xiàn)是將ARM和FPGA模塊集成在一塊板上,減少了 ARM與FPGA之 間信號傳輸時的噪聲影響,同時減少了所占的空間。板左上方為ARM模塊,包括一片ARM芯 片和兩片程序存儲芯片,ARM模塊的系統(tǒng)時鐘為100MHz, FPGA模塊位于系統(tǒng)板上部的中間 部分,為其提供了一片25MHz的基準(zhǔn)時鐘,通過FPGA內(nèi)部的數(shù)字時鐘管理(DCM)模塊,可得 本發(fā)明中四種存儲器控制器工作狀態(tài)機(jī)所需的精準(zhǔn)時鐘信號。FPGA芯片正下方即為預(yù)留的 FPGA I/O 口,通過使用這些預(yù)留的I/O 口可以方便的對新的存儲器控制器類型進(jìn)行升級, 從而增加本發(fā)明的適應(yīng)能力。
權(quán)利要求
一種基于現(xiàn)場可編程門陣列(FPGA)的多接口存儲器驗證系統(tǒng),其特征在于a、系統(tǒng)包括高級精簡指令集計算機(jī)模塊(ARM模塊)和現(xiàn)場可編程門陣列模塊(FPGA模塊),兩模塊之間以總線方式連接;采用FPGA端模擬SRAM外部存儲器的方式,將FPGA內(nèi)控制器邏輯映射到ARM內(nèi)存中來提供數(shù)據(jù)和控制的訪問接口;b、系統(tǒng)采用異步總線通訊方式,將ARM輸出的異步控制信號、異步地址及數(shù)據(jù)信號同步到FPGA的內(nèi)部時鐘域中;c、系統(tǒng)存儲器數(shù)據(jù)、控制接口統(tǒng)一采用存儲器數(shù)據(jù)直接映射方式,使各存儲器控制器IP核移植集成于系統(tǒng)中;數(shù)據(jù)訪問接口以先進(jìn)先出(FIFO)形式實現(xiàn);其中所述ARM模塊為系統(tǒng)控制器并外設(shè)部分配置同步動態(tài)隨機(jī)存取存儲器、Nand-flash內(nèi)存、NOR Flash內(nèi)存、通用異步接收/發(fā)送裝置、USB主設(shè)備、USB設(shè)備、以太網(wǎng)接口、LCD接口及SD卡讀卡器;所述FPGA模塊內(nèi)部的實現(xiàn)邏輯分為三層與ARM接口的SRAM設(shè)備層、負(fù)責(zé)模塊的控制、數(shù)據(jù)與寄存器映射的主控制器層以及存儲器控制器層。
2. 根據(jù)權(quán)利要求1所述的驗證系統(tǒng),其特征在于所述與ARM接口的SRAM設(shè)備層通過模擬一個SRAM外部存儲器向ARM提供讀寫接口 ,以此建立ARM-FPGA之間的通訊;SRAM設(shè)備層內(nèi)由三個子層組成,分別為物理子層、控制子層及用戶子層。
3. 根據(jù)權(quán)利要求1所述的驗證系統(tǒng),其特征在于所述負(fù)責(zé)模塊的控制、數(shù)據(jù)與寄存器映射的主控制器層轉(zhuǎn)換地址、命令的格式并轉(zhuǎn)發(fā)數(shù)據(jù),并在其內(nèi)部將SRAM設(shè)備層的請求轉(zhuǎn)發(fā)到功能寄存器(SFR)。
4. 根據(jù)權(quán)利要求1所述的驗證系統(tǒng),其特征在于所述存儲器控制器層由四個具體的存儲器控制器組成,分別是雙倍速率同步動態(tài)隨機(jī)存儲器(DDRSDRAM) 、 NOR Flash存儲器、NAND Flash存儲器以及串行外設(shè)接口存儲器(SPIFlash),各存儲器控制器的用戶訪問接口各不相同,通過主控制器層進(jìn)行地址、命令、數(shù)據(jù)協(xié)調(diào)控制,并向SFR控制模塊提供功能控制接口。
5. 根據(jù)權(quán)利要求1或2所述的驗證系統(tǒng),其特征在于所述物理子層提供SRAM接口 ,將異步地址、數(shù)據(jù)同步到內(nèi)部時鐘,向控制子層發(fā)送訪問請求信號;控制子層將物理子層傳來的地址、命令及數(shù)據(jù)轉(zhuǎn)換為合適的格式并放入用戶子層的先進(jìn)先出(FIFO)寄存器,并向系統(tǒng)總控制器發(fā)送訪問請求信號;用戶子層向系統(tǒng)總控制器提供一個統(tǒng)一的數(shù)據(jù)、命令訪問接口。
全文摘要
本發(fā)明公開了一種基于FPGA的多接口存儲器驗證系統(tǒng),系統(tǒng)包括ARM模塊和FPGA模塊,兩模塊之間以總線方式連接,采用FPGA端模擬SRAM外部存儲器方式,將FPGA內(nèi)控制器邏輯映射到ARM內(nèi)存中來提供數(shù)據(jù)和控制的訪問接口;系統(tǒng)采用異步總線通訊方式,將ARM輸出的異步控制信號、異步地址及數(shù)據(jù)信號同步到FPGA的內(nèi)部時鐘域中;系統(tǒng)存儲器數(shù)據(jù)、控制接口統(tǒng)一采用存儲器數(shù)據(jù)直接映射方式,使各存儲器控制器IP核移植集成于系統(tǒng)中;數(shù)據(jù)訪問接口以先進(jìn)先出形式實現(xiàn)。本發(fā)明能靈活地支持最新接口類型的存儲器,在最短的時間內(nèi)對最新的存儲器芯片進(jìn)行測試、驗證以及同時進(jìn)行多種類型的芯片測試及演示,大大縮短了新型存儲芯片投入實際使用的時間周期。
文檔編號G11C29/56GK101770817SQ201010022919
公開日2010年7月7日 申請日期2010年1月18日 優(yōu)先權(quán)日2010年1月18日
發(fā)明者張立為, 楊曉, 石山, 葛勇, 鐘慧敏, 韓定定 申請人:華東師范大學(xué)