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

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

3天內不再提示

FPGA上電時序加載過程詳解

FPGA設計論壇 ? 2022-12-26 18:10 ? 次閱讀

目前,大多數FPGA芯片是基于 SRAM 的結構的, 而 SRAM 單元中的數據掉電就會丟失,因此系統上電后,必須要由配置電路將正確的配置數據加載到 SRAM 中,此后 FPGA 才能夠正常的運行。

常見的配置芯片有EPCS 芯片 (EPCS4、EPCS8、EPCS16、EPCS64、EPCS128),還有通用的串行 SPI FLASH 芯片如 M25P40、 M25P16、 W25Q16 等。

配置(configuration)是對FPGA的內容進行編程的過程。每次上電后都需要進行配置是基于SRAM工藝FPGA的一個特點,也可以說是一個缺點。FPGA配置過程如下:

f2b7bd00-84fb-11ed-bfe3-dac502259ad0.png

2.FPGA配置方式

根據FPGA在配置電路中的角色,可以將配置方式分為三類:

1.FPGA主動串行(AS)方式

2. JTAG方式

3. FPGA被動(Passive)方式

f2dbf1a2-84fb-11ed-bfe3-dac502259ad0.png

3.FPGA配置過程

FPGA的配置包括3各階段:復位、配置和初始化。

f2fd80ec-84fb-11ed-bfe3-dac502259ad0.png

FPGA正常上電后,當其nCONFIG管腳被拉低時,器件處于復位狀態,這時所有的配置RAM內容被清空,并且所有I/O處于高阻態,FPGA的狀態管腳nSTATUS和CONFIG_DONE管腳也將輸出為低。當FPGA的nCONFIG管腳上出現一個從低到高的跳變以后,配置就開始了,同時芯片還會去采樣配置模式(MSEL)管腳的信號狀態,決定接受何種配置模式。

隨之,芯片將釋放漏極開路(open-drain)輸出的nSTATUS管腳,使其由片外的上拉電阻拉高,這樣,就表示FPGA可以接收配置數據了。在配置之前和配置過程中,FPGA的用戶I/O均處于高阻態。

在接收配置數據的過程中,配置數據由DATA管腳送入,而配置時鐘信號由DCLK管腳送入,配置數據在DCLK的上升沿被鎖存到FPGA中,當配置數據被全部載入到FPGA中以后,FPGA上的CONF_DONE信號就會被釋放,而漏極開路輸出的CONF_DONE信號同樣將由外部的上拉電阻拉高。因此,CONF_DONE管腳的從低到高的跳變意味著配置的完成,初始化過程的開始,而并不是芯片開始正常工作。

INIT_DONE是初始化完成的指示信號,它是FPGA中可選的信號,需要通過Quartus II工具中的設置決定是否使用該管腳。在初始化過程中,內部邏輯、內部寄存器和I/O寄存器將被初始化,I/O驅動器將被使能。

當初始化完成以后,器件上漏極開始輸出的INIT_DONE管腳被釋放,同時被外部的上拉電阻拉高。這時,FPGA完全進入用戶模式,所有的內部邏輯以及I/O都按照用戶的設計運行,這時,那些FPGA配置過程中的I/O弱上拉將不復存在。不過,還有一些器件在用戶模式下I/O也有可編程的弱上拉電阻。在完成配置以后,DCLK信號和DATA管腳不應該被浮空(floating),而應該被拉成固定電平,高或低都可以。

4.FPGA配置模式選擇

用戶可以通過設置FPGA上的MSEL0、MESL1兩個引腳的狀態來選擇配置方式。各種方式的MSEL0、MESL1設置如下表所列:

f32d0ccc-84fb-11ed-bfe3-dac502259ad0.png

說明:

在上表中,如果只采用一種配置方式,則可以直接將MSEL0、MESL1連接到VCC(注意要與FPGA的IO口的供電VCCIO相同)或GND;

如果需要多種配置方式,那么MSEL要用控制器單片機、CPLD等)來控制以進行切換;

MSEL管腳在配置開始前必須處于一個固定的狀態,因此不能將MSEL管腳懸空。

5.主動串行配置

主動串行配置方式(AS)是將配置數據事先存儲在串行配置器件EPCS中,然后在系統上電時Cyclone IV FPGA通過串行接口讀取配置數據(如果是壓縮數據,還會進行解壓縮處理)對內部的SRAM單元進行配置。

因為上述配置過程中FPGA控制配置接口,因此通常稱為主動配置方式。在配置期間,Cyclone IV用過串行接口來讀配置數據,來對里面的SRAM編程。串行配置器件的四個接口包括,串行時鐘輸入DCLK,串行數據輸出DATA,低有效的片選信號NCE,串行數據輸入ASDI。

主動串行配置電路圖:

f348b332-84fb-11ed-bfe3-dac502259ad0.png

因為FPGA上的nSTATUS、CONFIG_DONE管腳都是開漏結構,所以都要接上拉電阻。FPGA的片選腳nCE必須接地。

6.JTAG配置

通過JTAG接口,利用Quartus II軟件可以直接對FPGA進行單獨的硬件重新配置。Quartus II軟件在編譯時會自動生成用于JTAG配置的.sof文件。

如果同時使用AS方式和JTAG方式來配置FPGA,JTAG配置方式擁有最高的優先級,此時AS方式將停止,而執行JTAG方式配置。

f360a942-84fb-11ed-bfe3-dac502259ad0.png

利用Quartus II軟件和USB Blaster等下載電纜可下載配置數據到FPGA。Quartus II軟件可以驗證JTAG配置是否成功。JTAG配置通過下載電纜使用SOF、Jam或者JBC文件直接對FPGA進行配置,這種配置方式只能用于調試階段,因為,掉電后FPGA中的配置數據將丟失。

7.被動串行配置

被動串行PS配置方式是Altera Cyclone IV系列FPGA配置方式中比較常用的方式。但是,在工程應用中若采用這種配置方式,FPGA需要連接一個智能主機(比如復雜可編程邏輯器件CPLD/微控制單元MCU等)以給其提供配置時鐘和配置數據。

在該配置方式下,智能主機在保證與存儲配置數據的閃存通信無誤的情況下,只需向FPGA提供一個DCLK信號和一個DATA0信號即可實現對FPGA的配置。另外,該DCLK信號還可以實現多種頻率以滿足用戶對配置時間的需求,這是該配置方式的一大亮點。

f37f3dee-84fb-11ed-bfe3-dac502259ad0.png

本文介紹了以Altera型的FPGA芯片為例介紹了FPGA的上電過程,并描述了三種常見的配置模式,用戶可以根據不同的需求來采用對應的配置模式,每種配置模式下對應的配置數據類型也是不相同的。

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

    關注

    1608

    文章

    21367

    瀏覽量

    594611
  • sram
    +關注

    關注

    6

    文章

    750

    瀏覽量

    114049
  • EPCS
    +關注

    關注

    0

    文章

    8

    瀏覽量

    13288
  • Altera
    +關注

    關注

    37

    文章

    772

    瀏覽量

    153421
  • JTAG
    +關注

    關注

    6

    文章

    385

    瀏覽量

    71215

原文標題:FPGA上電時序加載過程詳解

文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設計論壇】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    FPGA上電加載時序介紹

    大多數FPGA芯片是基于 SRAM 的結構的, 而 SRAM 單元中的數據掉電就會丟失,因此系統上電后,必須要由配置電路將正確的配置數據加載到 SRAM 中,此后 FPGA 才能夠正常的運行。
    的頭像 發表于 07-01 17:16 ?1.6w次閱讀

    FPGA上電加載時序介紹

    目前,大多數FPGA芯片是基于 SRAM 的結構的, 而 SRAM 單元中的數據掉電就會丟失,因此系統上電后,必須要由配置電路將正確的配置數據加載到 SRAM 中,此后 FPGA 才能夠正常的運行。
    發表于 10-24 14:52 ?717次閱讀

    V4系列FPGA無法從xcf32p中加載程序

    1.同樣的板子,用過好多塊,都沒有問題,就這塊無法加載,應該不是PCB設計問題。2.我設計的是主串加載模式(Master Serial)。硬件上將FPGA的M2~M0直接接到GND。
    發表于 08-15 09:20

    怎樣從SPI FLASH加載FPGA程序

    需要將FPGA程序通過I2C或者RS232加載FPGA內部,然后通過FPGA存儲到SPI FLASH中,再次
    發表于 04-29 14:46

    現在的FPGA還嚴格要求時序嗎?

    現在的FPGA還嚴格要求時序嗎?想請教一下大家
    發表于 09-26 15:39

    詳解FPGA時序以及時序收斂

    1. FPGA時序的基本概念FPGA器件的需求取決于系統和上下游(upstream and downstrem)設備。我們的設計需要和其他的devices進行數據的交互,其他的devices可能是
    發表于 07-09 09:14

    詳解FPGA加載時序

    目前,大多數FPGA芯片是基于 SRAM 的結構的, 而 SRAM 單元中的數據掉電就會丟失,因此系統后,必須要由配置電路將正確的配置數據加載到 SRAM 中,此后
    發表于 07-18 08:10

    FPGA配置引腳說明及加載時序

    。使用BITSTREAM.CONFIG.EXTMASTERCCLK_EN屬性在Vivado中設置ExMasterCclk_en選項  三、FPGA加載時序  
    發表于 01-15 16:43

    簡析過程中的回溝

    過程 過程電源不是線性增加,而會出現電壓降低的現象,如圖所示,稱為
    發表于 12-31 06:59

    XILINX偶然加載不成功的問題原因及解決方法

    次的加載失敗。為定位此問題,花費了一個多月,先后投入多位專家,最終確定問題的根源是“時序問題”,特為此給大家分享。二、XILINX的
    發表于 02-24 09:37

    TMS320C61416控制FPGA數據加載設計

    根據FPGA芯片加載時序分析,本文提出了采用通過市面上常見的Flash ROM芯片替代專用PROM的方式,通過DSP的外部高速總線進行FPGA加載
    發表于 08-16 16:26 ?1621次閱讀
    TMS320C61416控制<b class='flag-5'>FPGA</b>數據<b class='flag-5'>加載</b>設計

    FPGA的配置/加載方式

    FPGA有多種配置/加載方式。粗略可以分為主動和被動兩種。主動加載是指由FPGA控制配置流程,被動加載是指
    的頭像 發表于 10-05 10:12 ?1.8w次閱讀

    詳解FPGA時序input delay約束

    本文章探討一下FPGA時序input delay約束,本文章內容,來源于配置的明德揚時序約束專題課視頻。
    發表于 05-11 10:07 ?3726次閱讀
    <b class='flag-5'>詳解</b><b class='flag-5'>FPGA</b>的<b class='flag-5'>時序</b>input delay約束

    FPGA設計-時序約束(理論篇)

    STA(Static Timing Analysis,即靜態時序分析)在實際FPGA設計過程中的重要性是不言而喻的
    發表于 06-26 09:01 ?410次閱讀
    <b class='flag-5'>FPGA</b>設計-<b class='flag-5'>時序</b>約束(理論篇)

    如何讀懂FPGA開發過程中的Vivado時序報告?

    FPGA開發過程中,vivado和quartus等開發軟件都會提供時序報告,以方便開發者判斷自己的工程時序是否滿足時序要求。
    發表于 06-26 15:29 ?643次閱讀
    如何讀懂<b class='flag-5'>FPGA</b>開發<b class='flag-5'>過程</b>中的Vivado<b class='flag-5'>時序</b>報告?
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>