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

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

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

調(diào)試Lattice EVDK開(kāi)發(fā)板上的DDR3 Demo時(shí)的問(wèn)題

SwM2_ChinaAET ? 來(lái)源:未知 ? 作者:李倩 ? 2018-07-02 14:06 ? 次閱讀

昨天在調(diào)試Lattice EVDK開(kāi)發(fā)板上的DDR3 Demo時(shí),遇到一個(gè)莫名其妙的問(wèn)題,今天來(lái)總結(jié)一下,并與大家分享。

一、問(wèn)題描述

在Demo的頂層文件ddr3_test_top.v中有如下幾句話:

inputtest1; outputout_test1; assignout_test1=test1;

且test1和out_test1與Design中的其他邏輯沒(méi)有任何的關(guān)系,然而,當(dāng)我把它刪除的時(shí)候,卻發(fā)現(xiàn)原本運(yùn)行正常的Demo卻出錯(cuò)了?。?!

于是乎,先去檢查這兩個(gè)引腳是否和硬件相關(guān),在LPF文件中找到其相關(guān)約束:

LOCATECOMP"test1"SITE"F5"; IOBUFPORT"test1"IO_TYPE=SSTL15_I; LOCATECOMP"out_test1"SITE"B1"; IOBUFPORT"out_test1"IO_TYPE=SSTL15_I;

然后查看EVDK開(kāi)發(fā)板的原理圖:

握草,這是什么鬼?

于是乎,進(jìn)一步做測(cè)試,把test1和out_test1替換為其他的引腳試試看呢。結(jié)果發(fā)現(xiàn):當(dāng)test1在Bank7上時(shí),Demo功能正常,當(dāng)test1不在Bank7上時(shí),功能則不正常!

想了好久,奈何我這種小菜鳥(niǎo)卻怎么也想不明白,于是請(qǐng)教了大牛!

二、問(wèn)題分析

首先,還是檢查原理圖和LPF文件,由于EVDK板子上有兩個(gè)Mircon的DDR3的內(nèi)存顆粒,且均為x16的Configuration。也就是DQ的寬度為16bit,兩個(gè)顆粒合并為32bit的DQ。其中顆粒一對(duì)應(yīng)DQ0~DQ15,顆粒二對(duì)應(yīng)DQ16~DQ31。DQ0~DQ15連接到了Bank6上面,而DQ16~DQ31連接到了Bank7上面。但是需要注意的是,一些控制信號(hào)(如RST、CS、WE、DM等)則分布在Bank6和Bank7上,換句話說(shuō),即使Design中只需要使用一個(gè)DDR3顆粒,也需要同時(shí)使用Bank6和Bank7。

因?yàn)镈DR3采用的是SSLT15 I電平標(biāo)準(zhǔn),所以需要設(shè)置Bank6和Bank7的VREF。在LPF文件中,我們可以找到:

LOCATEVREF"BANK_6_VREF"SITE"V4"; LOCATEVREF"BANK_7_VREF"SITE"J7";

檢查原理圖,發(fā)現(xiàn)V4和J7引腳也正確地連接到了參考電壓上。

此時(shí),我們?cè)俅螌⑸衔奶岬降膁dr3_test_top.v中的test1和out_test1相關(guān)的幾條語(yǔ)句刪除,并刪除LPF文件中的相關(guān)語(yǔ)句。

然后從新綜合、MAP,并PAR,此時(shí)在PAR的報(bào)告中可以發(fā)現(xiàn)如下的警告:

WARNING - par: LOCATE VREF "BANK_7_VREF" preference has been ignored, because no PIO in bank "7" uses this VREF.

也就是說(shuō)Diamond認(rèn)為,我們的Design中并沒(méi)有使用Bank7中的PIO,所以不需要VREF,并忽略了LPF文件中給出的約束。所以Bank7的VREF引腳并未被設(shè)置為VREF模式,而是作為普通IO的(默認(rèn)模式)。但是DDR3使用的是SSLT15 I電平標(biāo)準(zhǔn),需要VERF引腳為其提供0.75V的參考電壓(一般使用1.5V的VCCIO分壓即可),如下圖所示:

檢查ECP5數(shù)據(jù)手冊(cè),發(fā)現(xiàn)如下一句話:

The VREF voltage is used to set the threshold for the referencedinputbuffers, such as SSTL.

注意是input!這就解釋了為什么當(dāng)test1引腳分配在Bank7上可以,分配在其他引腳上就不行的原因了。因?yàn)槿绻鸅ank7上沒(méi)有input的話,Diamond就會(huì)認(rèn)為此時(shí)為Bank7設(shè)置VREF是沒(méi)有必要的,所以也就忽略了LPF中的約束。

難道是ECP5的數(shù)據(jù)手冊(cè)寫(xiě)錯(cuò)了?難道是DDR的output也需要VREF?

其實(shí)不然,再次檢查EVDK板的原理圖,發(fā)現(xiàn)Bank6和Bank7的VREF實(shí)際上連接的是同一個(gè)電壓(換句話說(shuō),這兩個(gè)VREF是直接連在一起的)。但是合理的硬件設(shè)計(jì)方式是,不同Bank的VREF獨(dú)立(即不要連接在一起)。也正是這種不合理的設(shè)計(jì)方式,導(dǎo)致了本文所討論的問(wèn)題。

在我們的設(shè)計(jì)中實(shí)際上只需要給Bank6設(shè)置VREF即可,Bank7實(shí)際上是不需要的,但是為什么不給Bank7 VREF的話,DDR卻不能正常工作呢?原因在于,如果Bank7的J7引腳(VREF1_7)沒(méi)有被配置為VREF輸入模式的話,其默認(rèn)為上拉的。而J7引腳(VREF1_7)的上拉會(huì)影響到VREF的電壓,進(jìn)而影響到Bank6上的V4引腳(VREF1_6)的VREF輸入,最終導(dǎo)致Bank6沒(méi)有穩(wěn)定有效的VREF,因此DDR不能正常工作。

為了讓J7引腳(VREF1_7)不影響VREF的電壓,顯然最好是將其也設(shè)置成VREF輸入模式,為了防止我們的設(shè)置被Diamond優(yōu)化掉,才出現(xiàn)了本文前面所討論的這一問(wèn)題。

三、關(guān)于SSTL電平(更新內(nèi)容)

這里來(lái)分析一下為什么DDR3的相關(guān)IO的輸入需要參考電壓,而輸出卻不需要。DDRx SDRAM普通IO采用的是SSTL電平標(biāo)準(zhǔn)(clk和dqs等采用的是SSTL的差分版本SSTLD),而SSTL實(shí)際上是一種偽差分電平。

所謂偽差分電平,就是信號(hào)的接收端是一個(gè)差分的接收器,但是其中一端固定接參考電壓VREF,而另一端接單端信號(hào)線。輸入信號(hào)電壓與參考電壓之間進(jìn)行比較,作為判決輸入信號(hào)高低的標(biāo)準(zhǔn)。而偽差分標(biāo)準(zhǔn)的輸出驅(qū)動(dòng)器則是單端信號(hào)標(biāo)準(zhǔn)中常見(jiàn)的推挽式的結(jié)構(gòu)(Push-Pull),顯然是不需要參考電壓VREF的。

由于偽差分電平的信號(hào)輸出的擺幅較小,瞬態(tài)的電流較小,保持信號(hào)完整性要相對(duì)容易些。因此,這種電平主要應(yīng)用在高速的存儲(chǔ)器接口中,如DDRx SDRAM、QDR SRAM和RLDRAM等中。

這種結(jié)構(gòu)的好處是,其輸入信號(hào)只需要在VREF上下小幅度擺動(dòng)即可被輸入驅(qū)動(dòng)器正確地接收。這樣信號(hào)的噪聲余量就很大,信號(hào)能否被正確接收下來(lái),VREF將起到關(guān)鍵作用,因此設(shè)計(jì)時(shí)需要保證VREF較高的精度。

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

    關(guān)注

    5

    文章

    361

    瀏覽量

    39978
  • 開(kāi)發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5121

    瀏覽量

    98036

原文標(biāo)題:【博文連載】EVDK DDR3 Demo調(diào)試筆記(關(guān)于VREF的問(wèn)題)

文章出處:【微信號(hào):ChinaAET,微信公眾號(hào):電子技術(shù)應(yīng)用ChinaAET】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于Digilent的Arty Artix-35T FPGA開(kāi)發(fā)板DDR3讀寫(xiě)控制

    開(kāi)發(fā)板完成。 軟件使用Vivado 2018.1。 參考工程:ddr3_test。 第五篇:mig讀寫(xiě)時(shí)序下板實(shí)現(xiàn) 1頂層文件和約束文件 ddr3_test.v 參見(jiàn)參考工程:ddr3
    的頭像 發(fā)表于 12-15 16:45 ?2887次閱讀
    基于Digilent的Arty Artix-35T FPGA<b class='flag-5'>開(kāi)發(fā)板</b>的<b class='flag-5'>DDR3</b>讀寫(xiě)控制

    基于Arty Artix-35T FPGA開(kāi)發(fā)板DDR3和mig介紹

    講解xilinx FPGA 使用mig IP對(duì)DDR3的讀寫(xiě)控制,旨在讓大家更快的學(xué)習(xí)和應(yīng)用DDR3。 本實(shí)驗(yàn)和工程基于Digilent的Arty Artix-35T FPGA開(kāi)發(fā)板完成。 軟件
    的頭像 發(fā)表于 01-01 10:09 ?4288次閱讀
    基于Arty Artix-35T FPGA<b class='flag-5'>開(kāi)發(fā)板</b>的<b class='flag-5'>DDR3</b>和mig介紹

    如何提高DDR3的效率

    現(xiàn)在因?yàn)轫?xiàng)目需要,要用DDR3來(lái)實(shí)現(xiàn)一個(gè)4入4出的vedio frame buffer。因?yàn)槠邮褂玫氖?b class='flag-5'>lattice的,參考設(shè)計(jì)什么的非常少。需要自己調(diào)用DDR3控制器來(lái)實(shí)現(xiàn)這個(gè)vedio
    發(fā)表于 08-27 14:47

    【創(chuàng)龍TMS320C665x DSP開(kāi)發(fā)板DDR3加載程序的問(wèn)題與解決方法

    程序的運(yùn)行是由IBL作引導(dǎo)的,其實(shí)質(zhì)是TI固化ROM中的程序,但調(diào)試時(shí)可以不燒寫(xiě)到FLASH直接加載到RAM中,加載到內(nèi)部RAM中是沒(méi)有問(wèn)題的,但是外部RAM中就出現(xiàn)問(wèn)題。主要是缺少對(duì)DDR3的初始化
    發(fā)表于 05-06 22:45

    6678開(kāi)發(fā)板DDR3布線約束的問(wèn)題

    大家好,為了能夠leveling成功,DDR3的布線約束需要規(guī)定到每一片DRAM的CLK長(zhǎng)度與DQS長(zhǎng)度差值不能超過(guò)一定范圍。但是根據(jù)6678或者6670開(kāi)發(fā)板,其中關(guān)于DQS和CLK長(zhǎng)度差的布線
    發(fā)表于 01-02 15:21

    6657的DDR3初始化不成功

    最近我在調(diào)試自制6657板子的DDR3初始化,發(fā)現(xiàn)一個(gè)很奇怪的現(xiàn)象,百思不得其解,我分別用GEL和KEYSTONE DDR3 INIT 在6657EVM開(kāi)發(fā)板
    發(fā)表于 01-08 10:19

    請(qǐng)問(wèn)誰(shuí)有LATTICE ECP3系列的開(kāi)發(fā)資料嗎?

    各位大俠有沒(méi)有LATTICE ECP3開(kāi)發(fā)板資料或者是相關(guān)PCB原理圖,最好是帶4個(gè)DDR3的,求分享呀
    發(fā)表于 09-12 01:41

    【Combat FPGA開(kāi)發(fā)板】配套視頻教程——DDR3的讀寫(xiě)控制

    本視頻是Combat FPGA開(kāi)發(fā)板的配套視頻課程,本章節(jié)課程主要介紹Gowin中DDR3 的基礎(chǔ)知識(shí)、DDR3的IP core的特性和使用以及DDR3的IPcore例程的仿真。課程資
    發(fā)表于 05-06 15:34

    DDR3芯片讀寫(xiě)控制及調(diào)試總結(jié)

    DDR3芯片讀寫(xiě)控制及調(diào)試總結(jié),1. 器件選型及原理圖設(shè)計(jì)(1) 由于是直接購(gòu)買(mǎi)現(xiàn)成的開(kāi)發(fā)板作為項(xiàng)目前期開(kāi)發(fā)調(diào)試使用,故
    發(fā)表于 07-22 08:33

    紫光同創(chuàng)FPGA入門(mén)指導(dǎo):DDR3 讀寫(xiě)——紫光盤(pán)古系列50K開(kāi)發(fā)板實(shí)驗(yàn)教程

    MES50HP 開(kāi)發(fā)板簡(jiǎn)介 MES50HP 開(kāi)發(fā)板集成兩顆 4Gbit(512MB)DDR3 芯片,型號(hào)為 MT41K256M16。DDR3 的總線寬度共為 32bit。
    發(fā)表于 05-19 14:28

    Xilinx DDR3最新VHDL代碼(通過(guò)調(diào)試)

    Xilinx FPGA工程例子源碼:Xilinx DDR3最新VHDL代碼(通過(guò)調(diào)試)
    發(fā)表于 06-07 14:54 ?77次下載

    基于FPGA的DDR3 SDRAM控制器用戶接口設(shè)計(jì)

    控制器用戶接口設(shè)計(jì)方案。該控制器用戶接口已經(jīng)在Xilinx 公司的VC707 開(kāi)發(fā)板通過(guò)了功能驗(yàn)證,并成功的被應(yīng)用到高速圖像數(shù)據(jù)采集系統(tǒng)中。
    發(fā)表于 11-17 14:14 ?3669次閱讀
    基于FPGA的<b class='flag-5'>DDR3</b> SDRAM控制器用戶接口設(shè)計(jì)

    安捷倫科技推DDR3協(xié)議調(diào)試和測(cè)試套件,具備最齊全的行業(yè)功能

    近日,安捷倫科技公司推出目標(biāo)應(yīng)用為級(jí)或嵌入式存儲(chǔ)器應(yīng)用的DDR3協(xié)議調(diào)試和測(cè)試套件,由硬件和軟件的組成。據(jù)說(shuō)該套件是業(yè)界首個(gè)功能最齊全的DDR3測(cè)試工具,包含業(yè)界最快的(2.0-Gt
    發(fā)表于 08-30 10:06 ?1007次閱讀

    lattice DDR3 IP核的生成及調(diào)用過(guò)程

    本文以一個(gè)案例的形式來(lái)介紹lattice DDR3 IP核的生成及調(diào)用過(guò)程,同時(shí)介紹各個(gè)接口信號(hào)的功能作用
    發(fā)表于 03-16 14:14 ?2206次閱讀
    <b class='flag-5'>lattice</b> <b class='flag-5'>DDR3</b> IP核的生成及調(diào)用過(guò)程

    Virtex7DDR3的測(cè)試?yán)?/a>

    ??這篇文章我們講一下Virtex7DDR3的測(cè)試?yán)?,Vivado也提供了一個(gè)DDR的example,但卻是純Verilog代碼,比較復(fù)雜,這里我們把DDR3的MIG的IP Cor
    的頭像 發(fā)表于 08-16 10:28 ?1991次閱讀