基于FPGA的外部存儲(chǔ)器設(shè)計(jì)
2 存儲(chǔ)電路軟件設(shè)計(jì)
2.1 SDRAM控制器設(shè)計(jì)
SDRAM具有空間存儲(chǔ)量大、讀/寫速度快、價(jià)格相對(duì)便宜的特點(diǎn),因此許多嵌入式設(shè)備的大容量、高速度存儲(chǔ)器都采用SDRAM來實(shí)現(xiàn),但其控制邏輯復(fù)雜,需要周期性刷新操作、行列管理、不同延時(shí)和命令序列等。目前,大多都采用專用芯片完成它的控制電路,這不但提高了設(shè)計(jì)成本,而且使系統(tǒng)的硬件電路變得復(fù)雜。隨著FPGA在嵌入式系統(tǒng)中的廣泛應(yīng)用,FPGA管腳設(shè)計(jì)靈活,結(jié)合具體的需要,利用FPGA來設(shè)計(jì)一個(gè)滿足雷達(dá)信號(hào)處理專用的SDRAM控制器,就可以極大地增加設(shè)計(jì)的靈活性,且硬件規(guī)模小,又可以滿足實(shí)時(shí)信號(hào)處理需求。本文就是基于這種處理方法來設(shè)計(jì)一個(gè)SDRAM控制器。
在SDRAM控制器的FPGA實(shí)現(xiàn)方案中,采用FPGA的自底向上模塊化設(shè)計(jì)思想。首先分析頂層模塊所要完成的功能,之后再將其功能分類細(xì)化,分配到不同的子模塊去實(shí)現(xiàn),然后從底層向頂層的先逐步完成各個(gè)子模塊的設(shè)計(jì),最后將子模塊相互連接生成所需的頂層模塊。設(shè)計(jì)SDRAM控制器是為了更好地滿足SDRAM與FPGA的通信而設(shè)計(jì)的。下面將具體介紹SDRAM控制器的設(shè)計(jì)方法。圖3為參考Altera公司SDRAM控制器的而設(shè)計(jì)的接口框圖。本文引用地址:http://www.ex-cimer.com/article/191065.htm
下面對(duì)接口信號(hào)進(jìn)行介紹:與主機(jī)接口信號(hào)有CLK:系統(tǒng)時(shí)鐘信號(hào);RESET:系統(tǒng)復(fù)位信號(hào);CMD[2:0]:譯碼指令;CMDACK:指令應(yīng)答信號(hào),通知主機(jī)命令已被SDRAM執(zhí)行;ADDR:地址線,該設(shè)計(jì)中為22位,A21,A20代表頁地址BA1,BA0;A19~A8代表行地址;A7~A0代表列地址;DATAIN/DATAOUT:輸入、輸出數(shù)據(jù)總線;DM:數(shù)據(jù)掩碼。與SDRAM接口信號(hào)有RADDR:12位地址線,在讀/寫操作時(shí),地址線時(shí)復(fù)用為行地址和列地址;BA0,BA1頁地址選擇;CS:片選信號(hào);CKE:時(shí)鐘使能信號(hào);RAS,CAS,WE:命令控制信號(hào);DQM:SDRAM數(shù)據(jù)掩碼;DQ:雙向數(shù)據(jù)線。SDRAM控制器作為頂層模塊,內(nèi)部由3個(gè)主要模塊構(gòu)成:系統(tǒng)控制接口模塊、命令生成模塊和數(shù)據(jù)路徑模塊。系統(tǒng)控制接口模塊用于接收系統(tǒng)的控制信號(hào),進(jìn)而產(chǎn)生不同的CMD命令組合;命令用于接收CMD命令并解碼成操作指令并產(chǎn)生SDRAM的操作動(dòng)作;數(shù)據(jù)通路模塊則用于控制數(shù)據(jù)的有效輸入/輸出。
使用SDRAM的目的是進(jìn)行數(shù)據(jù)傳輸,即要求能正確地讀寫數(shù)據(jù)。因此,在SDRAM操作過程中,最重要是就是初始化、讀和寫的操作,因此,本文完成了SDRAM初始化在QuailtusⅡ仿真下的時(shí)序波形圖,如圖4所示。
評(píng)論