本發(fā)明涉及fpga設(shè)計領(lǐng)域以及芯片fpga原型驗證,具體地說是一種擴展fpga存儲資源的方法。
背景技術(shù):
目前fpga器件在密度和復(fù)雜度上有了飛速的發(fā)展,altera公司的stratix系列以及xilinx公司的virtex系列芯片可達到數(shù)百萬門的規(guī)模,對于幾百萬門的fpga器件都嵌有微處理器、ip邏輯模塊和多個高速接口標準。由于fpga最大的特點就是具有靜態(tài)可編程的特性或在線動態(tài)重構(gòu)特性,使硬件的功能同軟件一樣可以通過編程來修改。這樣就使設(shè)計修改變得十分便利,實時性好。可以使產(chǎn)品開發(fā)周期大大縮短,開發(fā)成本降低。在系統(tǒng)調(diào)試時,往往需要將中間狀態(tài)信息保存到ram當中,待系統(tǒng)出錯后,變可以把ram中的數(shù)據(jù)讀出來進行分析,從而加快調(diào)試進度,但是對于fpga芯片資源是固定的,邏輯資源又比較緊張,沒有足夠的ram存儲資源來存儲更多的信息。
公開的相關(guān)專利文件:名稱為“一種多通道串行自適應(yīng)誤碼測試裝置及其測試方法”,該文件公開了“一種多通道串行自適應(yīng)誤碼測試裝置,包括fpga模塊、接口電路模塊、控制接口模塊、輸出顯示模塊和控制模塊,該fpga模塊包括偽隨機碼發(fā)生模塊和多通道串行自適應(yīng)誤碼比對模塊,該fpga模塊分別連接接口電路模塊、控制接口電路模塊和輸出顯示模塊,該控制模塊連接控制接口模塊;其中,該偽隨機碼發(fā)生模塊產(chǎn)生多路偽隨機碼通過接口電路模塊發(fā)送至與其連接的外部通信鏈路進行測試,該多路串行自適應(yīng)誤碼比對模塊接收偽隨機碼信號,并對接收的數(shù)據(jù)進行偽隨機碼碼本比對,通過輸出顯示模塊輸出比對結(jié)果。該自適應(yīng)誤碼測試裝置結(jié)構(gòu)簡單、易于實現(xiàn),能進行多通道實時誤碼比對且不受fpga內(nèi)部存儲資源和緩存資源限制,具有良好的可擴展性和通用性”。
名稱為“一種可擴展可配置的fpga存儲結(jié)構(gòu)和fpga器件”,該文件公開了“一種可擴展可配置的fpga存儲結(jié)構(gòu)和fpga器件,所述fpga存儲結(jié)構(gòu)包括:多個本地存儲單元、控制器和兩個時鐘緩沖器;所述兩個時鐘緩沖器,分別用于向所述控制器的兩個時鐘輸入端口提供不同的時鐘信號;所述控制器,用于接收外部輸入的寫地址信號,在所述時鐘信號的驅(qū)動下,生成對所述多個本地存儲單元輸出的多個使能信號和寫地址解碼信號;所述本地存儲單元,包括本地存儲器和用于向所述本地存儲器的提供輸入數(shù)據(jù)的選通器;基于每個本地存儲單元的配置模式,根據(jù)使能信號,輸入的寫地址解碼信號或讀地址信號,以及所述輸入數(shù)據(jù),產(chǎn)生相應(yīng)配置模式下的輸出數(shù)據(jù)。利用上述存儲結(jié)構(gòu)實現(xiàn)中等容量的存儲器設(shè)計,既可避免額外的邏輯資源消耗,又避免了使用塊存儲器帶來的存儲資源浪費”。
上述公開文件與本
技術(shù)實現(xiàn)要素:
要解決的技術(shù)問題,采用的技術(shù)手段都不相同。
發(fā)明內(nèi)容
本發(fā)明的技術(shù)任務(wù)是提供一種擴展fpga存儲資源的方法。
本發(fā)明的技術(shù)任務(wù)是按以下方式實現(xiàn)的,該擴展fpga存儲資源的方法的步驟如下:
步驟1)在系統(tǒng)中配置fpga1芯片模塊,并通過高速接口與fpga0芯片模塊的高速接口連接;
步驟2)根據(jù)系統(tǒng)設(shè)計要求,將中間狀態(tài)信息存儲到ram0當中;
步驟3)將ram0中的數(shù)據(jù)通過高速接口傳輸?shù)絝pga1芯片模塊當中;
步驟4)在fpga1芯片模塊當中,通過高速接口將數(shù)據(jù)解析出來;
步驟5)通過數(shù)據(jù)提取模塊將數(shù)據(jù)提取出來,然后存儲到ram1當中;
步驟6)通過讀寫控制選擇模塊,由i2c接口將數(shù)據(jù)從ram中讀出。
所述的步驟1)中的fpga1芯片模塊中預(yù)先配置ram1、數(shù)據(jù)提取模塊和讀寫控制選擇模塊。
一種擴展fpga存儲資源的系統(tǒng),包括fpga0芯片模塊、fpga1芯片模塊、數(shù)據(jù)提取模塊和讀寫控制選擇模塊;
所述的fpga0芯片模塊中配置ram0和高速接口;
所述的fpga1芯片模塊中配置高速接口、數(shù)據(jù)提取模塊、ram1、讀寫控制選擇模塊和i2c接口;
所述的fpga0芯片模塊和fpga1芯片模塊之間的數(shù)據(jù)通過高速接口傳輸。
所述的ram0用于存儲中間數(shù)據(jù)信息并傳輸數(shù)據(jù)信息。
所述的高速接口用于完成fpga0芯片模塊和fpga1芯片模塊之間數(shù)據(jù)信息的傳輸接口。
所述的數(shù)據(jù)提取模塊配置于fpga1芯片模塊中并提取從高速接口傳輸?shù)臄?shù)據(jù)信息。
所述的ram1用于儲存來自數(shù)據(jù)提取模塊的數(shù)據(jù)信息,并傳輸信息至讀寫控制選擇模塊。
所述的讀寫控制選擇模塊用于數(shù)據(jù)信息的讀寫控制和數(shù)據(jù)信息讀寫的選擇,并將數(shù)據(jù)信息通過i2c接口輸出。
本發(fā)明的一種擴展fpga存儲資源的方法和現(xiàn)有技術(shù)相比,大大提高了fpga調(diào)試階段的效率,擴展了fpga存儲資源,從而可以存儲更多的中間狀態(tài)信息,大大縮短了fpga研發(fā)周期及芯片研發(fā)周期。
附圖說明
附圖1為一種擴展fpga存儲資源的方法的流程框圖。
具體實施方式
實施例1:
配置擴展fpga存儲資源的系統(tǒng):該系統(tǒng)包括fpga0芯片模塊、fpga1芯片模塊、數(shù)據(jù)提取模塊和讀寫控制選擇模塊;
所述的fpga0芯片模塊中配置ram0和高速接口;
所述的fpga1芯片模塊中配置高速接口、數(shù)據(jù)提取模塊、ram1、讀寫控制選擇模塊和i2c接口;
所述的fpga0芯片模塊和fpga1芯片模塊之間的數(shù)據(jù)通過高速接口傳輸。
所述的ram0用于存儲中間數(shù)據(jù)信息并傳輸數(shù)據(jù)信息。
所述的高速接口用于完成fpga0芯片模塊和fpga1芯片模塊之間數(shù)據(jù)信息的傳輸接口。
所述的數(shù)據(jù)提取模塊配置于fpga1芯片模塊中并提取從高速接口傳輸?shù)臄?shù)據(jù)信息。
所述的ram1用于儲存來自數(shù)據(jù)提取模塊的數(shù)據(jù)信息,并傳輸信息至讀寫控制選擇模塊。
所述的讀寫控制選擇模塊用于數(shù)據(jù)信息的讀寫控制和數(shù)據(jù)信息讀寫的選擇,并將數(shù)據(jù)信息通過i2c接口輸出。
該擴展fpga存儲資源的方法的步驟如下:
步驟1)在系統(tǒng)中配置fpga1芯片模塊,fpga1芯片模塊中預(yù)先配置ram1、數(shù)據(jù)提取模塊和讀寫控制選擇模塊;fpga1芯片模塊通過高速接口與fpga0芯片模塊的高速接口連接;
步驟2)根據(jù)系統(tǒng)設(shè)計要求,將中間狀態(tài)信息存儲到ram0當中;
步驟3)將ram0中的數(shù)據(jù)通過高速接口傳輸?shù)絝pga1芯片模塊當中;
步驟4)在fpga1芯片模塊當中,通過高速接口將數(shù)據(jù)解析出來;
步驟5)通過數(shù)據(jù)提取模塊將數(shù)據(jù)提取出來,然后存儲到ram1當中;
步驟6)通過讀寫控制選擇模塊,由i2c接口將數(shù)據(jù)從ram中讀出。
通過上面具體實施方式,所述技術(shù)領(lǐng)域的技術(shù)人員可容易的實現(xiàn)本發(fā)明。但是應(yīng)當理解,本發(fā)明并不限于上述的幾種具體實施方式。在公開的實施方式的基礎(chǔ)上,所述技術(shù)領(lǐng)域的技術(shù)人員可任意組合不同的技術(shù)特征,從而實現(xiàn)不同的技術(shù)方案。