国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Xilinx FPGA平臺DDR3設計保姆式教程(四)

C29F_xilinx_inc ? 來源:賽靈思 ? 作者:賽靈思 ? 2022-02-21 18:35 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

實驗任務:

將輸入數據(data_in)存入ddr,然后讀出,驗證輸入輸出數據是否相等。

一、前言

接上一篇(3)MIG的使用教程

MIG配置如下:

1. 系統時鐘sys_clk = 200Mhz

2. 系統復位sys_rst 低有效

3. 模式:4:1

4. 位寬: 16bit

注:由于選擇的DDR3的突然長度為8,所以mig的數據位寬=16*8=128bit,對應到代碼即app_wdf_data[127:0] , app_rd_data[127:0]。

二、系統方案

2.1方案設計

實驗任務:

將數據(data_in),存入ddr,然后讀出,驗證輸入輸出數據是否相等。

實驗目的:

初步掌握DDR讀寫設計。

Xilinx FPGA平臺DDR3設計保姆式教程(四)

為什么要先過FIFO再寫入DDR?

因為DDR接口對用戶而言并不是一直有效,只有等DDR“有效”時(app_rdy = 1 && app_wdf_rdy = 1),才能進行寫入。

2.1.1輸入接口時序圖

Xilinx FPGA平臺DDR3設計保姆式教程(四)

輸入數據為1-50共50個數據,以vld_in信號表征輸入數據有效。

2.2狀態機設計

2.2.1獨熱碼localparam S0_IDLE = 6'b000001; //初始化狀態,DDR初始化成功就跳轉S1

localparam S1_WAIT = 6'b000010; //等待狀態,等FIFO緩存好數據就跳轉S2
localparam S2_WRITE = 6'b000100; //寫DDR狀態,FIFO數據寫完就跳轉到S3
localparam S3_WR_DONE = 6'b001000; //寫完成狀態,給出讀地址初始值就跳到S4
localparam S4_READ = 6'b010000; //讀DDR狀態,讀到相應長度的數量就跳到S5
localparam S5_RD_DONE = 6'b100000; //讀完成狀態,跳回IDLE

2.2.2狀態機流程圖

Xilinx FPGA平臺DDR3設計保姆式教程(四)

2.2.3三段式狀態機
always @(posedge sys_clk or posedge sys_rst)begin
if(sys_rst == 1'b1)
current_state else
current_state end
always @(*)begin
case(current_state)
S0_IDLE :
if(init_calib_complete == 1'b1)
next_state else
next_state S1_WAIT :
if(eof == 1'b1)
next_state else
next_state S2_WRITE :
if(ififo_empty == 1'b1)
next_state else
next_state S3_WR_DONE :
next_state S4_READ :
if(cnt_read == cnt_length)
next_state else
next_state S5_RD_DONE :
next_state default :
next_state endcase
end
always @(posedge sys_clk or posedge sys_rst)begin
if(sys_rst == 1'b1)begin
cnt_length cnt_read cnt_write app_addr end
else case(current_state)
S0_IDLE : ;
S1_WAIT : ;
S2_WRITE:
if(app_rdy && app_wdf_rdy && app_en)begin
app_addr cnt_write end
else begin
app_addr cnt_write end
S3_WR_DONE :begin
cnt_length app_addr end
S4_READ :
if(app_rdy && app_en)begin
app_addr cnt_read end
else begin
app_addr cnt_read end
S5_RD_DONE :begin
cnt_length cnt_read cnt_write end
default : ;
endcase
end

代碼很簡單,對應流程圖跳轉,此處不再啰嗦 。

2.3app接口設計

assign app_wdf_mask = 16'b0; //掩碼置0,表示傳輸的全部為有效數據
assign ififo_rden = (current_state == S2_WRITE)&& app_rdy && app_wdf_rdy;
assign app_en = ((current_state == S2_WRITE)&&(ififo_vld)) || (current_state == S4_READ);
assign app_cmd = (current_state == S4_READ) ? 3'b001 : 3'b000;
assign app_wdf_wren = ififo_vld;
assign app_wdf_end = ififo_vld;
assign app_wdf_data = ififo_rdata;

三、仿真結果

因為DDR仿真,需要用到ddr3_model和其他文件,單開一篇來講解。

這里只看仿真結果。

輸入:

Xilinx FPGA平臺DDR3設計保姆式教程(四)

輸出:

Xilinx FPGA平臺DDR3設計保姆式教程(四)

輸入數據: 1-50;

輸出數據: 1-50;

DDR讀寫測試成功!

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1660

    文章

    22416

    瀏覽量

    636607
  • DDR3
    +關注

    關注

    2

    文章

    288

    瀏覽量

    44157
  • Xilinx
    +關注

    關注

    73

    文章

    2200

    瀏覽量

    131198
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    TI SN74SSQEA32882:DDR3/DDR3L注冊DIMM的理想時鐘驅動器

    TI SN74SSQEA32882:DDR3/DDR3L注冊DIMM的理想時鐘驅動器 在DDR3DDR3L注冊
    的頭像 發表于 02-09 14:20 ?237次閱讀

    探索SN74SSQEB32882:DDR3內存的高效時鐘驅動解決方案

    輸出和1對4時鐘對輸出,能夠很好地支持堆疊DDR3 RDIMMs。同時,它還擁有CKE掉電模式,這一特性可以有效優化系統的功耗,對于追
    的頭像 發表于 02-09 11:35 ?224次閱讀

    探索 SN74SSQEC32882:DDR3 注冊 DIMM 的理想時鐘驅動器

    探索 SN74SSQEC32882:DDR3 注冊 DIMM 的理想時鐘驅動器 在 DDR3 注冊 DIMM 的設計領域,找到一款性能卓越、功能豐富且功耗優化的時鐘驅動器至關重要。今天,我們就來深入
    的頭像 發表于 02-09 11:05 ?178次閱讀

    Texas Instruments TS3DDR3812:DDR3應用的理想12通道開關解決方案

    Texas Instruments TS3DDR3812:DDR3應用的理想12通道開關解決方案 在DDR3應用的領域中,一款性能出色的開關能夠顯著提升系統的效率和穩定性。Texas
    的頭像 發表于 01-14 11:30 ?357次閱讀

    HummingBird EV Kit - DDR3 引腳不匹配是怎么回事?

    下面是HummingBird EV Kit給的版圖,其中DDR3_D0對應的應該是板子上的FPGA的C2引腳:? 不過我在配置MIG的時候,通過讀入ucf文件的方式配置DDR3 SDRAM的引腳
    發表于 11-06 07:57

    DDR3 SDRAM參考設計手冊

    電子發燒友網站提供《DDR3 SDRAM參考設計手冊.pdf》資料免費下載
    發表于 11-05 17:04 ?8次下載

    基于FPGADDR控制器設計

    DDR控制協議 DDR3讀寫控制器主要用于生成片外存儲器DDR3 SDRAM進行讀寫操作所需要的時序,繼而實現對片外存儲器的讀寫訪問。由攝像頭采集得到的圖像數據通常數據量較大,使用片內存儲資源
    發表于 10-21 14:30

    DDR200T中的DDR3的使用配置

    蜂鳥DDR200T中DDR3的ip配置案列,提供DDR3引腳配置。具體參數可更具項目實際更改。 這里選用的axi接口 在賽靈思的IP配置中沒有MT41K28M6JT-125K內存的信息,因此選用
    發表于 10-21 11:19

    FPGA搭建DDR控制模塊

    DDR SDRAM的最大特點是雙邊沿觸發,即在時鐘的上升沿和下降沿都能進行數據采集的發送,同樣的工作時鐘,DDR SDRAM的讀寫速度可以比傳統的SDRAM快一倍。 DDR3讀寫控制器可以在
    發表于 10-21 10:40

    FPGA實現DDR控制模塊介紹

    DDR3讀寫控制器主要用于生成片外存儲器DDR3 SDRAM進行讀寫操作所需要的時序,繼而實現對片外存儲器的讀寫訪問。由攝像頭采集得到的圖像數據通常數據量較大,使用片內存儲資源難以實現大量圖像數據
    發表于 10-21 08:43

    AD設計DDR3時等長設計技巧

    本文緊接著前一個文檔《AD設計DDR3時等長設計技巧-數據線等長 》。本文著重講解DDR地址線、控制信號線等長設計,因為地址線、控制信號線有分支,SOC有可能帶有2片DDR或者更多,我們叫做T型分支
    發表于 07-29 16:14 ?3次下載

    AD設計DDR3時等長設計技巧

    的講解數據線等長設計。? ? ? 在另一個文件《AD設計DDR3時等長設計技巧-地址線T型等長》中著重講解使用AD設計DDR地址線走線T型走線等長處理的方法和技巧。
    發表于 07-28 16:33 ?5次下載

    在Vivado調用MIG產生DDR3的問題解析

    下面是調用的DDR3模塊的,模塊的倒數第二行是,模塊的時鐘輸入,時鐘源來自PLL產生的系統時鐘的倍頻。
    的頭像 發表于 05-03 10:21 ?1553次閱讀
    在Vivado調用MIG產生<b class='flag-5'>DDR3</b>的問題解析

    DDR3 SDRAM配置教程

    DDR3 SDRAM(Double-Data-Rate ThreeSynchronous Dynamic Random Access Memory)是DDR SDRAM的第三代產品,相較于DDR2,
    的頭像 發表于 04-10 09:42 ?4200次閱讀
    <b class='flag-5'>DDR3</b> SDRAM配置教程

    燦芯半導體推出DDR3/4和LPDDR3/4 Combo IP

    燦芯半導體(上海)股份有限公司(燦芯股份,688691)宣布推出基于28HKD 0.9V/2.5V 平臺DDR3/4, LPDDR3/4 Combo IP。該IP具備廣泛的協議兼容性,支持D
    的頭像 發表于 03-21 16:20 ?1192次閱讀