在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

使用VHDL實(shí)現(xiàn)Flash讀寫控制器設(shè)計(jì)

FPGA之家 ? 來源:FPGA之家 ? 2023-08-03 09:34 ? 次閱讀

首先拋出重點(diǎn):使用Xilinx的平臺(tái),最大的難點(diǎn)在于,要自己設(shè)計(jì)一個(gè)Flash讀寫控制器

具體如何設(shè)計(jì)一個(gè)合適的Flash讀寫控制器,鑒于Flash有諸多型號(hào)諸多接口,設(shè)計(jì)需求也不盡相同,所以這里不詳細(xì)論述了。文本討論一些與Xilinx FPGA相關(guān)的、大概率會(huì)遇到的問題。

這個(gè)Xapp的附件中,有一個(gè)用VHDL實(shí)現(xiàn)的Flash讀寫控制器設(shè)計(jì)可以參考。設(shè)計(jì)提供了源代碼。

關(guān)于這一篇,xapp1081,有幾點(diǎn)需要注意:

1.這一篇文檔的重點(diǎn)不是Flash讀寫控制器,提供的Flash讀寫控制器代碼在文檔中沒有詳細(xì)說明。

2.提供的Flash讀寫控制器只針對(duì)文檔中提到的特定用法。如果有更換FPGA、Flash等任何改變,均不保證能正常工作。

3.Xilinx默認(rèn)對(duì)Xapp不提供任何官方支持。

自行設(shè)計(jì)Flash讀寫控制器的優(yōu)勢是:

1.理論上可以通過修改設(shè)計(jì)來支持任何Flash,不用擔(dān)心兼容問題。

2.在時(shí)鐘、數(shù)據(jù)位寬、Flash操作命令等方面更靈活,可以充分挖掘FPGA和Flash的潛力。

假設(shè)已經(jīng)有了Flash讀寫控制器的RTL設(shè)計(jì),下一步應(yīng)該是集成到FPGA設(shè)計(jì)中,其中主要的工作是連接FPGA I/O。

Pin安排

對(duì)于Xilinx的平臺(tái)的配置Pin,一般分為兩類,專用和復(fù)用。專用Pin是指只能用于配置模式,用戶無法(或者不方便)直接控制Pin的行為。復(fù)用Pin是指加載完成之后,這個(gè)Pin會(huì)變?yōu)閁ser I/O,即和普通的User I/O一樣,可以由加載后的FPGA設(shè)計(jì)來控制Pin的行為。

控制Flash的配置Pin,基本都是復(fù)用類型Pin。在配置完成之后,都可以作為用戶可控的User I/O。所以可以設(shè)計(jì)一個(gè)Flash讀寫控制器,連接到這些Pin上。這樣FPGA在加載之前和加載的過程中,這些Pin工作在配置模式,從Flash中讀取配置數(shù)據(jù);在加載完成之后,這些Pin變?yōu)閁ser I/O模式,由讀寫控制器設(shè)計(jì)控制進(jìn)行讀寫操作。

需要注意的是配置時(shí)鐘的處理。部分FPGA的CCLK是復(fù)用模式,加載完成之后可以作為User I/O。內(nèi)部通過ODDR輸出時(shí)鐘即可提供Flash需要的時(shí)鐘。但是另外一部分FPGA的CCLK是專用Pin,用戶無法直接控制。這個(gè)時(shí)候可以查查是否有STARTUP這個(gè)模塊,往這個(gè)模塊的 USRCCLKO Port上送某個(gè)時(shí)鐘,就等于CCLK Pin上輸出這個(gè)時(shí)鐘。

5113c3c2-3199-11ee-9e74-dac502259ad0.jpg

假設(shè)現(xiàn)在Flash讀寫控制器已經(jīng)集成到FPGA中了,數(shù)據(jù)的握手傳輸也完成了。那么下一步,就是,把什么數(shù)據(jù)往Flash中寫入了。

這個(gè)問題Xilinx的處理就方便多了。最簡單的方案,是寫入bin文件。不過即使是bin文件,也可能會(huì)犯錯(cuò)。下面分析一下Xilinx的配置文件。

Xilinx常用的配置文件格式有三個(gè)(大部分情況下知道這三個(gè)就足夠了):bit/bin/mcs

直接寫入Flash的數(shù)據(jù),對(duì)應(yīng)的是bin文件。bin文件和bit文件都是二進(jìn)制格式,bin文件直接對(duì)應(yīng)Flash中的二進(jìn)制數(shù)據(jù)。

下面用A7 100T為例子,生成一個(gè)bit文件作為基準(zhǔn)。分析一下三種文件。

默認(rèn)的情況下沒有任何約束,生成的bit文件作為基準(zhǔn),取名為original.bit。

在Vivado工程生成bit的同時(shí),可以同時(shí)生成一個(gè)bin文件,取名original.bin。

另外,當(dāng)獲取bit文件之后,可以使用write_cfgmem命令來生成bin文件和MCS文件。這種方法生成的bin文件,在默認(rèn)情況下,取名g.bin,可以發(fā)現(xiàn)g.bin和original.bin兩個(gè)文件不太一樣。不過如果在使用write_cfgmem命令時(shí)添加參數(shù) -interface SPIx1,生成文件spix1.bin,會(huì)發(fā)現(xiàn)spix1.bin和original.bin兩個(gè)文件幾乎一樣。

這個(gè)原因就是,write_cfgmem這個(gè)命令生成的文件是給Flash使用的。所以生成的文件內(nèi)容會(huì)隨著Flash配置的改變而改變。

默認(rèn)情況下,生成的bit文件original.bit是原始文件,伴隨生成的bin文件original.bin是直接轉(zhuǎn)為bin文件,不包含針對(duì)Flash的配置。

而write_cfgmem生成的bin文件,默認(rèn)情況下認(rèn)為Flash接口格式為SMAPX8(可以參考同時(shí)生成的.prm文件),所以生成的bin文件g.bin做了相關(guān)處理(一般是位序和大小端的轉(zhuǎn)換)。而SPI模式下,不需要額外的轉(zhuǎn)換,所以生成的bin文件spix1.bin和original.bin幾乎一樣。

類似,如果選擇BPIx8模式生成BPIx8.bin,可以發(fā)現(xiàn)和SMAPX8模式下的g.bin文件幾乎一樣。

所以可以明確,生成bit文件時(shí)生成的bin文件并不含有配置的相關(guān)信息。如果需要使用bin文件,那么用write_cfgmem,并同時(shí)提供相關(guān)配置接口信息,是更好的方案。上文提到的使用bin文件時(shí)可能會(huì)犯錯(cuò),就在于此。

至于MCS文件,由于是文本格式,所以直接讀取文件的數(shù)據(jù)是無法直接寫入Flash的,需要進(jìn)行一定程度的轉(zhuǎn)換。如果僅僅是遠(yuǎn)程更新中燒錄Flash的操作,那么可能用不到這個(gè)MCS文件。

注:三種文件雖然是在Vivado平臺(tái)下進(jìn)行討論。由于配置文件的內(nèi)容,應(yīng)該與工具無關(guān)而和器件相關(guān),所以ISE環(huán)境下的原理是一樣的,只是生成各個(gè)文件的操作步驟有不同而已。ISE工程生成bit文件后,使用Impact工具進(jìn)行文件的轉(zhuǎn)換。

另外,寫入Flash時(shí)需要注意:

1.Flash需要先擦除再寫入。

2.寫入可能遇到大小端的問題,比較簡單的方法就是先試一下,如果不行,數(shù)據(jù)大小端改換一下再進(jìn)行嘗試。

3.對(duì)于7系列及以后的芯片,基本上都是從0地址開始寫入Flash即可。Spartan-6可能其實(shí)位置不是0地址,需要查看文檔確認(rèn)一下。

到此,Xilinx平臺(tái)下遠(yuǎn)程更新的Flash讀寫控制方案已經(jīng)基本介紹完了。更多配置的細(xì)節(jié),可以參考相關(guān)FGPA的配置文檔,例如7系列是UG470。

審核編輯:湯梓紅

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

    關(guān)注

    1639

    文章

    21886

    瀏覽量

    610842
  • 控制器
    +關(guān)注

    關(guān)注

    113

    文章

    16785

    瀏覽量

    181887
  • FlaSh
    +關(guān)注

    關(guān)注

    10

    文章

    1654

    瀏覽量

    150465
  • Xilinx
    +關(guān)注

    關(guān)注

    73

    文章

    2177

    瀏覽量

    123722
  • RTL
    RTL
    +關(guān)注

    關(guān)注

    1

    文章

    387

    瀏覽量

    60428

原文標(biāo)題:Xilinx平臺(tái)遠(yuǎn)程更新中FPGA讀寫Flash設(shè)計(jì)的討論

文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于FPGA的SPI Flash控制器的設(shè)計(jì)方案

    Flash讀寫硬件實(shí)現(xiàn)方案,該方案利用硬件對(duì)SPI Flash進(jìn)行控制,能夠非常方便地完成Flash
    發(fā)表于 09-24 09:12 ?6382次閱讀
    基于FPGA的SPI <b class='flag-5'>Flash</b><b class='flag-5'>控制器</b>的設(shè)計(jì)方案

    基于FPGA的SPI Flash控制器的設(shè)計(jì)方案

    Flash讀寫硬件實(shí)現(xiàn)方案,該方案利用硬件對(duì)SPI Flash進(jìn)行控制,能夠非常方便地完成Flash
    發(fā)表于 06-03 10:13

    直流步進(jìn)電機(jī)控制器實(shí)例(VHDL源代碼)

    直流步進(jìn)電機(jī)控制器實(shí)例(VHDL源代碼):步進(jìn)電機(jī)控制器.vhd,直流電機(jī)控制器.vhd
    發(fā)表于 05-27 08:51 ?63次下載

    基于CPLD的Flash讀取控制的設(shè)計(jì)與實(shí)現(xiàn)

            在使用Flash 存儲(chǔ)數(shù)據(jù)時(shí),有時(shí)需要對(duì)其設(shè)計(jì)讀寫控制邏輯。本文介紹了用VHDL 語言在CPLD內(nèi)
    發(fā)表于 09-04 09:29 ?35次下載

    基于VHDL的微型打印機(jī)控制器設(shè)計(jì)

    介紹基于VHDL的微型打印機(jī)控制器的設(shè)計(jì)。論述了微型打印機(jī)的基本原理,以及實(shí)現(xiàn)控制器VHDL語言設(shè)計(jì)。打印機(jī)的數(shù)據(jù)來自系統(tǒng)中的存儲(chǔ)模塊,根
    發(fā)表于 12-23 16:44 ?60次下載

    基于PicoBlaze的Nand Flash控制器實(shí)現(xiàn)

    提出了一種基于 PicoBlaze 的Nand Flash控制器實(shí)現(xiàn)方法。PicoBlaze是Xilinx公司開發(fā)的8位嵌入式微控制器IP核。首先介紹了PicoBlaze的概念和
    發(fā)表于 06-13 15:48 ?41次下載
    基于PicoBlaze的Nand <b class='flag-5'>Flash</b><b class='flag-5'>控制器</b>的<b class='flag-5'>實(shí)現(xiàn)</b>

    基于VHDL的DRAM控制器設(shè)計(jì)

    本文提出一種新穎的解決方案:利用80C186XL的時(shí)序特征,采用CPLD技術(shù),并使用VHDL語言設(shè)計(jì)實(shí)現(xiàn)DRAM控制器。
    發(fā)表于 02-02 11:29 ?1586次閱讀
    基于<b class='flag-5'>VHDL</b>的DRAM<b class='flag-5'>控制器</b>設(shè)計(jì)

    DDR SDRAM控制器參考設(shè)計(jì)VHDL代碼

    Xilinx FPGA工程例子源碼:DDR SDRAM控制器參考設(shè)計(jì)VHDL代碼
    發(fā)表于 06-07 11:44 ?19次下載

    FM收音機(jī)的解碼及控制器VHDL語言實(shí)現(xiàn)

    Xilinx FPGA工程例子源碼:FM收音機(jī)的解碼及控制器VHDL語言實(shí)現(xiàn)
    發(fā)表于 06-07 14:13 ?11次下載

    基于VHDL的SDRAM控制器實(shí)現(xiàn)

    基于VHDL的SDRAM控制器實(shí)現(xiàn)
    發(fā)表于 01-22 13:43 ?12次下載

    Flash讀寫控制方案 Altera似乎“沒有”開放配置Flash的Pin的控制

    自行設(shè)計(jì)Flash讀寫控制器的優(yōu)點(diǎn)在于可控性很高,缺點(diǎn)在于需要花費(fèi)時(shí)間設(shè)計(jì)并進(jìn)行穩(wěn)定性測試。相應(yīng)的,使用提供的Flash讀寫
    的頭像 發(fā)表于 07-27 09:29 ?6430次閱讀

    基于VHDL語言和可編程邏輯器件實(shí)現(xiàn)Petri網(wǎng)邏輯控制器的設(shè)計(jì)

    VHDL語言由于其其強(qiáng)大的行為描述能力及與硬件行為無關(guān)的特性,被廣泛的用于數(shù)字系統(tǒng)設(shè)計(jì),實(shí)現(xiàn)了硬件電路設(shè)計(jì)的軟件化,成為實(shí)現(xiàn)Petri網(wǎng)邏輯控制器的有力的工具。用
    發(fā)表于 09-22 20:46 ?953次閱讀
    基于<b class='flag-5'>VHDL</b>語言和可編程邏輯器件<b class='flag-5'>實(shí)現(xiàn)</b>Petri網(wǎng)邏輯<b class='flag-5'>控制器</b>的設(shè)計(jì)

    實(shí)現(xiàn)簡單的SPI讀寫FLASH

    實(shí)現(xiàn)簡單的SPI讀寫FLASH一、前言繼上篇文章SPI的相關(guān)知識(shí),本章主要介紹使用SPI協(xié)議實(shí)現(xiàn)簡單的讀寫
    發(fā)表于 11-26 19:21 ?23次下載
    <b class='flag-5'>實(shí)現(xiàn)</b>簡單的SPI<b class='flag-5'>讀寫</b><b class='flag-5'>FLASH</b>

    基于FPGA的SPI Flash控制器的設(shè)計(jì)方案

    一個(gè)基于FPGA的SPI Flash讀寫硬件實(shí)現(xiàn)方案,該方案利用硬件對(duì)SPI Flash進(jìn)行控制,能夠非常方便地完成
    的頭像 發(fā)表于 07-15 16:55 ?2376次閱讀
    基于FPGA的SPI <b class='flag-5'>Flash</b><b class='flag-5'>控制器</b>的設(shè)計(jì)方案

    基于VHDL的洗衣機(jī)控制器的設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于VHDL的洗衣機(jī)控制器的設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 11-07 10:28 ?2次下載
    基于<b class='flag-5'>VHDL</b>的洗衣機(jī)<b class='flag-5'>控制器</b>的設(shè)計(jì)
    主站蜘蛛池模板: 亚洲经典一区二区三区 | 国产成年女一区二区三区 | 午夜免费啪 | 伊人久久狼人 | 色多多在线观看播放 | 种子在线搜索bt | av天天看| 一级在线观看 | 欲香欲色 | 日本黄色www | 美国三级网 | 91福利专区| 激情六月天 | 亚a在线 | 激情丁香网| 色播.com | 欧美肉到失禁高h视频在线 欧美三级成人 | 日韩操穴 | 日本视频一区在线观看免费 | 国产普通话一二三道 | 一道精品一区二区三区 | 亚洲啪啪看看 | 中文字幕天堂 | 天堂资源最新版在线官网 | 国产一线在线观看 | 亚洲色妞 | 热久久久 | 欧美成人精品久久精品 | 精品伊人久久大线蕉色首页 | 天天摸天天做天天爽在线 | 色手机在线 | 五月婷婷综合在线 | 午夜剧场官网 | 国产免费一区二区三区在线 | 欧美人另类zooz | 亚洲综合校园春色 | 国产成人精品日本亚洲语音1 | 免费在线观看一级片 | 国产乱人视频免费播放 | 麦克斯奥特曼在线观看 | 在线播放免费观看 |