基于CPLD的高速存儲設計
對于高速RAM的讀寫(xiě)控制,可采用狀態(tài)機的方法實(shí)現。狀態(tài)機有多種分類(lèi)方法。根據輸出是否與輸入信號同步,狀態(tài)機可以劃分為同步和異步狀態(tài)機。而根據輸出是否與輸入信號有關(guān),則可分為Mealy型和Moore型狀態(tài)機。對于Mealy型狀態(tài)機,其時(shí)序邏輯輸出不僅取決于狀態(tài),還取決于輸入。通常輸出是當前狀態(tài)值、當前輸出值和當前輸入值的函數;而Moore型狀態(tài)機時(shí)序邏輯電路輸出只取決于當前狀態(tài),其輸出只是當前狀態(tài)值的函數。
在單片SRAM的讀寫(xiě)設計中,可采用計數器控制SRAM讀寫(xiě)信號的產(chǎn)生,并設置SRAM地址計數器,同時(shí)采用狀態(tài)機來(lái)實(shí)現空閑、讀狀態(tài)、寫(xiě)狀態(tài)等不同狀態(tài)的相互轉換。其程序仿真結果如圖4所示。本文引用地址:http://dyxdggzs.com/article/195593.htm
圖4中,_RST_N為復位信號,S_ADDR為SRAM地址,S_WR_N為寫(xiě)信號,低電平有效,S_DATA為SRAM數據。
有一些數據采集系統對速度有較高要求,而對于資源要求則相對寬松一些。此時(shí)可以考慮采用兩片SRAM進(jìn)行數據交替存儲。對于兩片SRAM,可以進(jìn)行乒乓操作來(lái)對數據存儲區進(jìn)行輪流讀寫(xiě)。這種方式在EDA設計中比較常見(jiàn),是控制數據流的一種方法,是以面積換取速度的典型操作。其基本思路是通過(guò)存儲器選擇單元,在數據流控制的第一個(gè)周期,將數據寫(xiě)入第一塊存儲器;然后在第二個(gè)周期,將數據寫(xiě)入第二塊存儲器,同時(shí)通過(guò)存儲器選擇,將第一塊存儲器的數據流讀出,送到相關(guān)處理單元,如cpu等;最后,在第三個(gè)周期,則再次切換數據讀寫(xiě),將前次的數據輸入與輸出模塊交換。數據流讀寫(xiě)交替次數可以根據實(shí)際情況設定。
兩片SRAM的高速存儲系統程序可使用自頂向下的方法設計??蓪⑾到y劃分為若干個(gè)子模塊,再將子模塊向下劃分為若干個(gè)基本單元。本系統的結構層次如圖5所示。
對于低速cpu如單片機等,可以考慮采用DMA的方式進(jìn)行存儲;而對于中高速cpu,則可以考慮采用總線(xiàn)技術(shù)及流水線(xiàn)方式。而且存儲器還可以采用dram、flash、FIFO、雙端口RAM甚至硬盤(pán)。在實(shí)際設計時(shí),要綜合考慮各方面因素,從而給出最適合的方案。
5 結束語(yǔ)
采用CPLD作為主控制器,并結合存儲器芯片IC61LV2568―8T設計的單片及兩片乒乓操作高速存儲方案,具有設計電路結構簡(jiǎn)單,可靠性高,軟件較易移植,通用性強等優(yōu)點(diǎn)。
評論