91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Xilinx FPGA平臺(tái)DDR3設(shè)計(jì)保姆式教程(四)

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

掃碼添加小助手

加入工程師交流群

實(shí)驗(yàn)任務(wù):

將輸入數(shù)據(jù)(data_in)存入ddr,然后讀出,驗(yàn)證輸入輸出數(shù)據(jù)是否相等。

一、前言

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

MIG配置如下:

1. 系統(tǒng)時(shí)鐘sys_clk = 200Mhz

2. 系統(tǒng)復(fù)位sys_rst 低有效

3. 模式:4:1

4. 位寬: 16bit

注:由于選擇的DDR3的突然長(zhǎng)度為8,所以mig的數(shù)據(jù)位寬=16*8=128bit,對(duì)應(yīng)到代碼即app_wdf_data[127:0] , app_rd_data[127:0]。

二、系統(tǒng)方案

2.1方案設(shè)計(jì)

實(shí)驗(yàn)任務(wù):

將數(shù)據(jù)(data_in),存入ddr,然后讀出,驗(yàn)證輸入輸出數(shù)據(jù)是否相等。

實(shí)驗(yàn)?zāi)康模?/p>

初步掌握DDR讀寫設(shè)計(jì)。

Xilinx FPGA平臺(tái)DDR3設(shè)計(jì)保姆式教程(四)

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

因?yàn)镈DR接口對(duì)用戶而言并不是一直有效,只有等DDR“有效”時(shí)(app_rdy = 1 && app_wdf_rdy = 1),才能進(jìn)行寫入。

2.1.1輸入接口時(shí)序圖

Xilinx FPGA平臺(tái)DDR3設(shè)計(jì)保姆式教程(四)

輸入數(shù)據(jù)為1-50共50個(gè)數(shù)據(jù),以vld_in信號(hào)表征輸入數(shù)據(jù)有效。

2.2狀態(tài)機(jī)設(shè)計(jì)

2.2.1獨(dú)熱碼localparam S0_IDLE = 6'b000001; //初始化狀態(tài),DDR初始化成功就跳轉(zhuǎn)S1

localparam S1_WAIT = 6'b000010; //等待狀態(tài),等FIFO緩存好數(shù)據(jù)就跳轉(zhuǎn)S2
localparam S2_WRITE = 6'b000100; //寫DDR狀態(tài),F(xiàn)IFO數(shù)據(jù)寫完就跳轉(zhuǎn)到S3
localparam S3_WR_DONE = 6'b001000; //寫完成狀態(tài),給出讀地址初始值就跳到S4
localparam S4_READ = 6'b010000; //讀DDR狀態(tài),讀到相應(yīng)長(zhǎng)度的數(shù)量就跳到S5
localparam S5_RD_DONE = 6'b100000; //讀完成狀態(tài),跳回IDLE

2.2.2狀態(tài)機(jī)流程圖

Xilinx FPGA平臺(tái)DDR3設(shè)計(jì)保姆式教程(四)

2.2.3三段式狀態(tài)機(jī)
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

代碼很簡(jiǎn)單,對(duì)應(yīng)流程圖跳轉(zhuǎn),此處不再啰嗦 。

2.3app接口設(shè)計(jì)

assign app_wdf_mask = 16'b0; //掩碼置0,表示傳輸?shù)娜繛橛行?shù)據(jù)
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;

三、仿真結(jié)果

因?yàn)镈DR仿真,需要用到ddr3_model和其他文件,單開一篇來講解。

這里只看仿真結(jié)果。

輸入:

Xilinx FPGA平臺(tái)DDR3設(shè)計(jì)保姆式教程(四)

輸出:

Xilinx FPGA平臺(tái)DDR3設(shè)計(jì)保姆式教程(四)

輸入數(shù)據(jù): 1-50;

輸出數(shù)據(jù): 1-50;

DDR讀寫測(cè)試成功!

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1660

    文章

    22428

    瀏覽量

    636998
  • DDR3
    +關(guān)注

    關(guān)注

    2

    文章

    288

    瀏覽量

    44179
  • Xilinx
    +關(guān)注

    關(guān)注

    73

    文章

    2201

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    MAX17000:DDR2和DDR3內(nèi)存電源管理解決方案的卓越之選

    MAX17000:DDR2和DDR3內(nèi)存電源管理解決方案的卓越之選 一、引言 在當(dāng)今的電子設(shè)備中,內(nèi)存電源管理至關(guān)重要。對(duì)于筆記本電腦等設(shè)備中的DDR、DDR2和
    的頭像 發(fā)表于 03-12 15:35 ?96次閱讀

    MAX17000A:DDR2和DDR3內(nèi)存電源管理的理想之選

    MAX17000A:DDR2和DDR3內(nèi)存電源管理的理想之選 產(chǎn)品概述 在筆記本電腦DDR、DDR2和DDR3內(nèi)存的電源管理領(lǐng)域,Maxim
    的頭像 發(fā)表于 03-12 15:30 ?108次閱讀

    TI SN74SSQEA32882:DDR3/DDR3L注冊(cè)DIMM的理想時(shí)鐘驅(qū)動(dòng)器

    TI SN74SSQEA32882:DDR3/DDR3L注冊(cè)DIMM的理想時(shí)鐘驅(qū)動(dòng)器 在DDR3DDR3L注冊(cè)
    的頭像 發(fā)表于 02-09 14:20 ?270次閱讀

    探索SN74SSQEB32882:DDR3內(nèi)存的高效時(shí)鐘驅(qū)動(dòng)解決方案

    輸出和1對(duì)4時(shí)鐘對(duì)輸出,能夠很好地支持堆疊DDR3 RDIMMs。同時(shí),它還擁有CKE掉電模式,這一特性可以有效優(yōu)化系統(tǒng)的功耗,對(duì)于追
    的頭像 發(fā)表于 02-09 11:35 ?237次閱讀

    Texas Instruments TS3DDR3812:DDR3應(yīng)用的理想12通道開關(guān)解決方案

    Texas Instruments TS3DDR3812:DDR3應(yīng)用的理想12通道開關(guān)解決方案 在DDR3應(yīng)用的領(lǐng)域中,一款性能出色的開關(guān)能夠顯著提升系統(tǒng)的效率和穩(wěn)定性。Texas
    的頭像 發(fā)表于 01-14 11:30 ?380次閱讀

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

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

    DDR3 SDRAM參考設(shè)計(jì)手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《DDR3 SDRAM參考設(shè)計(jì)手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 11-05 17:04 ?9次下載

    基于FPGADDR控制器設(shè)計(jì)

    DDR控制協(xié)議 DDR3讀寫控制器主要用于生成片外存儲(chǔ)器DDR3 SDRAM進(jìn)行讀寫操作所需要的時(shí)序,繼而實(shí)現(xiàn)對(duì)片外存儲(chǔ)器的讀寫訪問。由攝像頭采集得到的圖像數(shù)據(jù)通常數(shù)據(jù)量較大,使用片內(nèi)存儲(chǔ)資源
    發(fā)表于 10-21 14:30

    FPGA搭建DDR控制模塊

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

    FPGA實(shí)現(xiàn)DDR控制模塊介紹

    DDR3讀寫控制器主要用于生成片外存儲(chǔ)器DDR3 SDRAM進(jìn)行讀寫操作所需要的時(shí)序,繼而實(shí)現(xiàn)對(duì)片外存儲(chǔ)器的讀寫訪問。由攝像頭采集得到的圖像數(shù)據(jù)通常數(shù)據(jù)量較大,使用片內(nèi)存儲(chǔ)資源難以實(shí)現(xiàn)大量圖像數(shù)據(jù)
    發(fā)表于 10-21 08:43

    AD設(shè)計(jì)DDR3時(shí)等長(zhǎng)設(shè)計(jì)技巧

    本文緊接著前一個(gè)文檔《AD設(shè)計(jì)DDR3時(shí)等長(zhǎng)設(shè)計(jì)技巧-數(shù)據(jù)線等長(zhǎng) 》。本文著重講解DDR地址線、控制信號(hào)線等長(zhǎng)設(shè)計(jì),因?yàn)榈刂肪€、控制信號(hào)線有分支,SOC有可能帶有2片DDR或者更多,我們叫做T型分支
    發(fā)表于 07-29 16:14 ?3次下載

    AD設(shè)計(jì)DDR3時(shí)等長(zhǎng)設(shè)計(jì)技巧

    的講解數(shù)據(jù)線等長(zhǎng)設(shè)計(jì)。? ? ? 在另一個(gè)文件《AD設(shè)計(jì)DDR3時(shí)等長(zhǎng)設(shè)計(jì)技巧-地址線T型等長(zhǎng)》中著重講解使用AD設(shè)計(jì)DDR地址線走線T型走線等長(zhǎng)處理的方法和技巧。
    發(fā)表于 07-28 16:33 ?5次下載

    在Vivado調(diào)用MIG產(chǎn)生DDR3的問題解析

    下面是調(diào)用的DDR3模塊的,模塊的倒數(shù)第二行是,模塊的時(shí)鐘輸入,時(shí)鐘源來自PLL產(chǎn)生的系統(tǒng)時(shí)鐘的倍頻。
    的頭像 發(fā)表于 05-03 10:21 ?1577次閱讀
    在Vivado調(diào)用MIG產(chǎn)生<b class='flag-5'>DDR3</b>的問題解析

    DDR3 SDRAM配置教程

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

    燦芯半導(dǎo)體推出DDR3/4和LPDDR3/4 Combo IP

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