<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > EDA/PCB > 設計應用 > FPGA系統設計的仿真驗證之:SDRAM讀寫(xiě)控制的實(shí)現與Modelsim仿真

FPGA系統設計的仿真驗證之:SDRAM讀寫(xiě)控制的實(shí)現與Modelsim仿真

作者: 時(shí)間:2015-05-06 來(lái)源:網(wǎng)絡(luò ) 收藏

  (4)操作控制。

本文引用地址:http://dyxdggzs.com/article/273721.htm

   的具體控制命令由一些專(zhuān)用控制引腳和地址線(xiàn)輔助完成。CS、RAS、CAS 和WR 在時(shí)鐘上升沿的狀態(tài)決定具體操作動(dòng)作,地址線(xiàn)和Bank選擇控制線(xiàn)在部分操作動(dòng)作中作為輔助參數輸入。

  由于特殊的存儲結構, 操作指令比較多,不像SRAM 一樣只有簡(jiǎn)單的讀寫(xiě),具體操作指令如表7.3所示。

  表7.3 命令真值表

  功 能命 令 字CSRASCASWEBAA10A[0:9]

  取消器件選擇DSELHXXXXXX

  無(wú)操作NOPLHHHXXX

  讀操作READLHLHVLV

  讀等待/自動(dòng)預充電READAPLHLHVHV

  續表

  功 能命 令 字CSRASCASWEBAA10A[0:9]

  寫(xiě)操作WRITELHLLVLV

  寫(xiě)等待/自動(dòng)預充電WRITEAPLHLLVHV

  Bank激活ACTLLHHVVV

  對指定Bank預充電PRELLHLVLX

  對所有Bank預充電PALLLLHLXHX

  自動(dòng)刷新CBRLLLHXXX

  加載模式寄存器MRSLLLLVVV

  由表7.3可以看到,雖然SDRAM的容量大、速度快,但是存在存儲操作困難的問(wèn)題。一般的解決方案有兩種,一是直接控制SDRAM的讀寫(xiě)時(shí)序實(shí)現數據的存儲和讀取,二是編寫(xiě)一個(gè)SDRAM的讀寫(xiě)控制器,將SDRAM的讀寫(xiě)簡(jiǎn)化成SRAM形式,通過(guò)幾個(gè)命令完成SDRAM的讀寫(xiě)。

  3.SDRAM讀寫(xiě)控制器

  Xilinx、Altera、Lattice等較大的FPGA制造廠(chǎng)商都編寫(xiě)了自己的SDRAM接口控制器。讀者可以到官方網(wǎng)站去申請相關(guān)的控制器源代碼。下面簡(jiǎn)單介紹其中一種,如圖7.33所示是該SDRAM控制器總體設計框圖和外部接口信號。

  

 

  在圖7.33中,控制器右端接口信號均為直接與SDRAM 對應管腳相連的信號,在表7.2中已做介紹,不再重復。

  控制器左端的接口信號為與FPGA 相連的系統控制接口信號,定義如下。

  · CLK:系統時(shí)鐘信號。

  · ADDR:系統給出的SDRAM 地址信號。

  · DATAIN:系統用于寫(xiě)入SDRAM 的數據信號。

  · DATAOUT:系統用于從SDRAM讀出的數據信號。

  · CMD[1:0]、CMDACK:系統和控制器的命令交互信號,參見(jiàn)表7.3。

  · DM:數據Mask信號。

  一般來(lái)說(shuō),SDRAM的讀寫(xiě)控制時(shí)序可以分為初始化、寫(xiě)寄存器、自動(dòng)刷新、突發(fā)模式讀、突發(fā)模式寫(xiě)、整頁(yè)讀以及整頁(yè)寫(xiě)等主要操作。具體的時(shí)序圖可以查閱相關(guān)的器件數據手冊,這里不再列出。

  SDRAM的讀寫(xiě)控制也可以由如圖7.34所示的讀寫(xiě)狀態(tài)機表示。

  在FPGA中,實(shí)現如圖7.34所示的狀態(tài)機,再利用已有的SDR SDRAM控制器即可實(shí)現對SDRAM器件的控制。

  

 

  圖7.34 SDRAM讀寫(xiě)狀態(tài)機

  7.6.3 SDRAM控制器的仿真

  (1)打開(kāi)ModelSim軟件。

  (2)創(chuàng )建工程。

  如圖7.35所示,在中創(chuàng )建新工程,并設置工程的相關(guān)屬性。

  

 

  圖7.35 創(chuàng )建工程

  (3)添加設計輸入。

  若要創(chuàng )建新的文件就選擇【Create New File】圖標,若要添加已經(jīng)存在的文件就選擇【Add Existing File】圖標,如圖7.36所示。本實(shí)例中使用已經(jīng)存在的SDRAM控制器源文件作為設計輸入,添加后,在Workspace瀏覽器中可以看到如圖7.37的設計輸入列表。

  

 

  圖7.36 添加設計輸入 圖7.37 SDRAM設計輸入列表

  (4)編譯設計輸入。

  如圖7.38所示,在任意一個(gè)源文件上單擊右鍵,選擇“Compile”/“Compile All”,對所有的源文件進(jìn)行編譯。

  

 

  編譯后,若有錯誤,會(huì )在信息欄中顯示出來(lái)。這時(shí)只要雙擊該錯誤,ModelSim就會(huì )自動(dòng)打開(kāi)該錯誤所在的文件,并定位到出現錯誤所在的位置附近。若編譯正確通過(guò),源文件后面的藍色問(wèn)號就替換成為綠色的對號,如圖7.39所示。



關(guān)鍵詞: SDRAM Modelsim

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>