基于VHDL的SDRAM接口設計
當數據轉移方向為從SDRAM到雙口RAM時,如果SDRAM讀操作行地址未發生變化,可以滿足每時鐘周期輸出一次數據的高速操作。但是當SDRAM行地址發生變化時,必須返回預充狀態,由于從SDRAM的讀命令輸入到SDRAM數據輸出之間有2個時鐘周期的延時,所以判斷下一讀操作的行地址是否發生變化必須提前兩個周期判斷。讀操作部分的狀態轉移圖如圖2所示。
3.2 SDRAM寫操作時序設計

當數據轉移方向為從雙口RAM到SDRAM時,如果SDRAM寫操作行地址未發生變化,可以滿足每時鐘周期寫入一次數據的高速操作。但是當SDRAM行地址發生變化時,必須返回預充狀態,由于從SDRAM的寫命令輸入到SDRAM數據輸入之間沒有延時,所以判斷下一寫操作的行地址是否發生變化無需提前判斷,因此寫操作狀態轉移圖比讀操作部分簡單。寫操作部分的狀態轉移圖如圖3所示。

在所設計的讀、寫操作時序中,SDRAM地址、數據、控制信號和RAM部分的地址、數據、讀寫控制信號均由有限狀態機產生,因此在狀態轉移過程中還必須仔細考慮RAM部分輸出控制信號的時序關系。
4 VHDL實現
硬件描述語言VHDL(Very=High Speed IC Hardware Description Language)是一種應用于電路設計的高層次描述語言,具有行為級、寄存器傳輸級和門級等多層次描述,并且具有簡單、易讀、易修改和與工藝無關等優點。目前VHDL語言已經得到多種EDA工具的支持,綜合工具得到迅速發展,VHDL語言的行為級綜合也已經得到支持和實現,因此利用VHDL語言進行電路設計可以節約開發成本,縮短周期。在VHDL語言輸入中也有多種形式,例如可以支持直接由狀態轉移圖生成VHDL語言。因此在設計SDRAM狀態轉移圖后,可以直接產生VHDL程序,在功能仿真正確后,可以進行綜合、FPGA布局布線和后仿真。
以上介紹了一種應用于通用微處理器系統中的SDRAM與雙口RAM之間的數據轉移接口控制電路,由VHDL語言設計,用Xilinx公司4000系列FPGA實現,目前該電路硬件實現和微處理器系統已經通過驗證,證明可將SDRAM作為高速、大容量存儲器應用在簡單電子系統中。
評論