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

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

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

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

Xilinx7系列里的Multiboot介紹

OpenFPGA ? 來源:搜狐網(wǎng) ? 作者:搜狐網(wǎng) ? 2020-10-12 14:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在遠程更新的時候,有時候需要雙鏡像來保護設(shè)計的穩(wěn)定性。在進行更新設(shè)計的時候,只更新一個鏡像,另一個鏡像在部署之前就測試過沒問題并不再更新。當(dāng)更新出錯時,通過不被更新的鏡像進行一些操作,可以將更新失敗的數(shù)據(jù)重新寫入Flash。這樣即使更新出錯,也能保證設(shè)計至少可以被遠程恢復(fù)。

Xilinx的雙鏡像方案成為Multiboot。本文對Xilinx 7系列的Multiboot做一些簡單介紹。

Multiboot直接操作的是兩個鏡像,但實際上可以用于多個鏡像。為了便于描述,Multiboot中的兩個鏡像分別成為G鏡像(Golden)和M鏡像(Multiboot)。

遠程更新的方案,有一些是通過FPGA來讀寫Flash的,例如Xilinx平臺下需要自己實現(xiàn)的Flash讀寫控制器,Altera平臺下的ASML IP。當(dāng)無法提供JTAG等其他連接時,F(xiàn)lash的更新就只有FPGA一種方案。

當(dāng)寫入Flash的操作出現(xiàn)錯誤,或者Flash中部分地址中的數(shù)據(jù)出現(xiàn)錯誤,導(dǎo)致無法正確寫入或者存儲的數(shù)據(jù)出現(xiàn)錯誤,這樣會導(dǎo)致FPGA無法加載成功。

當(dāng)FPGA無法加載成功或者工作不正常的時候,F(xiàn)lash的讀寫操作也就無法得到保證。此時也就不能重新通過遠程更新方案來重新讀寫Flash,糾正之前的錯誤。所以可以看到,如果Flash直接由FPGA控制,當(dāng)遠程更新出現(xiàn)錯誤時,很可能導(dǎo)致遠程更新徹底失效,只能安排現(xiàn)場更新來修復(fù)。

對應(yīng)方案就是使用雙鏡像(多鏡像),更新的時候只更新M鏡像,更新后直接使用M鏡像。當(dāng)出現(xiàn)M鏡像更新出現(xiàn)錯誤的時候,則啟動G鏡像。通過G鏡像中的設(shè)計來重新更新Flash中M鏡像部分的數(shù)據(jù)。

由于G鏡像從來沒有被更新過,這樣出現(xiàn)錯誤的概率也就非常小。這樣即使M鏡像出現(xiàn)錯誤,可以通過G鏡像來完成一些工作(例如Flash讀寫操作),由此來保證設(shè)計一直可以使用。

從這個分析可以看出,雙鏡像的方案,需要完成兩個任務(wù)。

1.正常情況下,加載完成時應(yīng)該是M鏡像在運行

2.出現(xiàn)錯誤的時候,需要返回G鏡像

圖片來自UG470

從上圖可以看到,Xilinx 7系列FPGA的Multiboot方案是從基地址開始存放G鏡像,后續(xù)存放M鏡像。加載過程中是先加載M鏡像,配置完成后如果成功,則運行M鏡像;如果運行失敗,則重新加載G鏡像。

下面就從需要完成的兩個任務(wù),結(jié)合上圖來進行介紹。

先看第一個任務(wù),加載M鏡像。

上電完成之后,F(xiàn)PGA就會按照設(shè)置,進行加載操作。在主動模式下,F(xiàn)PGA會開始對Flash的操作,嘗試讀取Flash中存儲的配置鏡像數(shù)據(jù)。需要注意的是,主動模式下的這一系列操作都是FPGA自動完成的,用戶無法控制。

所以就出現(xiàn)了第一個問題。既然讀取操作是自動的,那么FPGA是如何知道M鏡像存儲在哪里,并先加載M鏡像呢?如果是從0地址開始讀取,那么應(yīng)該先完成G鏡像的加載。否則,是否使用Multiboot及M鏡像的地址,是如何傳遞給FPGA、讓FPGA知曉呢?

Xilinx的Multiboot方案中的解決辦法是使用一條加載命令:IPROG。而這條命令,是放在G鏡像中。

具體說,對于FPGA直接從0地址開始讀取,先開始加載G鏡像,但是這個G鏡像是經(jīng)過特別處理的,在鏡像數(shù)據(jù)剛開始的部分添加了IPROG命令和M鏡像的地址。當(dāng)FPGA讀取到這個命令之后,就會直接跳過后面的數(shù)據(jù),從設(shè)置的地址開始繼續(xù)加載。這樣的操作,導(dǎo)致G鏡像只是運行了最前面的幾條加載命令,而M鏡像也只是等了幾條命令的操作就開始加載了,保證了M鏡像的直接加載。

需要說明的是IPROG這是一條命令,所以既可以在G鏡像中生效,也可以在設(shè)計中任意使用。用戶可以將IPROG命令發(fā)給ICAP,來實現(xiàn)任意時間觸發(fā)重新加載的需求。通過設(shè)置合適的地址,可以實現(xiàn)多個鏡像的切換。

圖片截取自Vivado

從vivado中的設(shè)置可以看出,Multiboot的主要設(shè)置只有這6個。第一個成為Fallback,最后一個成為Watchdog。這兩個下文會做介紹。第四個第五個是關(guān)于RS pin。等熟悉Multiboot理解之后可以查看文檔進行理解,本文不做深入介紹。

第二個是設(shè)置跳轉(zhuǎn)到的地址、第三個是在G鏡像中加入IPROG命令。這兩個操作可以以命令的形式發(fā)給ICAP接口,從而觸發(fā)Multiboot中轉(zhuǎn)跳并加載新的鏡像數(shù)據(jù)。

看完上述的分析,應(yīng)該明白如何實現(xiàn)先加載M鏡像這個需求了。下一步就是,在加載失敗時如何回退到G鏡像。

M鏡像加載不成功,需要回退到G鏡像的操作,Multiboot方案稱這一步驟為Fallback。

Fallback在四種條件下會被觸發(fā):

1. ID Code錯誤
2. CRC錯誤
3. Watchdog超時
4. BPI地址越界

ID Code錯誤是指配置文件中的器件型號和當(dāng)前器件不匹配。CRC校驗是指配置數(shù)據(jù)送入FPGA之后會進行校驗,如果數(shù)據(jù)不一樣則會提示CRC錯誤。這兩個基本原理比較容易理解,至于具體細節(jié),需要能解析bit文件的內(nèi)容之后才能充分理解。

Watchdog超時是指在規(guī)定的時間內(nèi)如果無法配置成功,則觸發(fā)Watchdog超時,進而會導(dǎo)致Fallback。

BPI地址越界是指發(fā)現(xiàn)逐步增長的BPI地址超過最大值,發(fā)生溢出,回到0,則除法Fallback。

大概理解一下四個條件之后可以看到,BPI是只針對BPI模式的,和Watchdog有一點類似,都是在一段時間內(nèi)如果沒有加載成功,地址會逐步增加,計時器會逐步增加,超過范圍后就觸發(fā)Fallback,所以BPI就不做進一步解釋了。

ID Code也不做進一步解釋了,因為ID Code不對,大概率是用錯鏡像文件了。所以也沒有太多可以分析的。

重點是2和3,當(dāng)存在Multiboot鏡像的時候,如M鏡像的內(nèi)容出現(xiàn)問題,則會觸發(fā)CRC校驗錯誤,這樣可以保證鏡像加載成功之后,數(shù)據(jù)是沒有問題的。

但是如果沒有Multiboot鏡像,則CRC校驗無法進行,或者加載到一半就掛死了。這個時候就需要Watchdog來觸發(fā)Fallback。只要一定時間內(nèi)加載沒有完成,就一定會觸發(fā)Watchdog超時。

所以CRC是用來保證加載正確的,Watchdog是用來保證一定會提示加載失敗的。

注意,Watchdogd的計時設(shè)置,請設(shè)置好然后實際測試一下,而不要僅僅憑經(jīng)驗/文檔來推斷一個合適的值。

當(dāng)發(fā)生了Fallback之后,工程會反跳回0地址開始加載,從新加載G鏡像。這里,F(xiàn)PGA內(nèi)部的配置寄存器會做記錄,當(dāng)發(fā)生Fallback之后,會自動忽略IPROG命令,直接加載G鏡像后續(xù)的部分,來保證G鏡像有機會被完整的加載。

FPGA自帶一些寄存器,記錄了FPGA加載時的一些狀態(tài),通常稱為device status寄存器。當(dāng)初出現(xiàn)加載失敗的問題時,可以通過JTAG查看相關(guān)寄存器來尋找一些線索,幫助定位問題。

通過這一系列復(fù)雜的操作,可以實現(xiàn)雙鏡像的配置切換。這種方法最大的優(yōu)點就是速度快。在配置完成之后可以快速的跳轉(zhuǎn)、加載和返回。最關(guān)鍵的雙鏡像選擇這一步是在加載初期就進行轉(zhuǎn)跳,所以跳轉(zhuǎn)非常迅速,適合一些對配置時間有要求的場合。缺點就是原理和設(shè)置都相對麻煩了一些。

和上述方法不一樣的一個雙鏡像切換的方法就是用戶自行做切換。大致原理是用戶利用FPGA的可編程邏輯資源對ICAP模塊進行控制,輸入需要跳轉(zhuǎn)的地址然后輸入IPROG命令,來觸發(fā)跳轉(zhuǎn)操作。這個操作是需要先加載好G鏡像并開始運行,然后由用戶來控制什么時候進行跳轉(zhuǎn)。

這樣操作的優(yōu)點有:

1.跳轉(zhuǎn)地址由用戶自行選擇,所以可以在多個鏡像中跳轉(zhuǎn),而不限于兩個;

2.可以選擇在合適的時間進行加載,用戶選擇性更大。

主要缺點:

1.需要對配置過程、ICAP端口和控制命令有更多的理解

2.需要加載完至少一個鏡像才能使用,所以對配置時間要求高的場景無法使用

如果僅僅是為了遠程更新,那么這個方案,并不合適。用自動的雙鏡像方案更簡單易用一些。只要G鏡像調(diào)試完畢,整個方案對M鏡像的要求比較低。

文章基本完成的時候,發(fā)現(xiàn)Xilinx官網(wǎng)有一篇關(guān)于Multiboot的XAPP推薦一下閱讀一下,加強對Multiboot的理解。

https://www.xilinx.com/support/documentation/application_notes/xapp1247-multiboot-spi.pdf

這里截取一部分:


當(dāng)升級程序有錯誤的時候,系統(tǒng)會啟動golden bitstream

注意:需要在源工程與升級工程中添加如下約束語句

生成組合mcs文件:

責(zé)任編輯人:CC

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

    關(guān)注

    73

    文章

    2200

    瀏覽量

    131158

原文標(biāo)題:Xilinx 7系列FPGA Multiboot介紹-遠程更新

文章出處:【微信號:Open_FPGA,微信公眾號:OpenFPGA】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

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

    西門子S7-1200和S7-1500 PLC系列模擬量傳感器怎么接線

    西門子S7-1200和S7-1500PLC系列模擬量傳感器怎么接線,現(xiàn)場看到的4線制,3線制,2線制模擬量傳感器接線。
    的頭像 發(fā)表于 03-06 13:57 ?79次閱讀
    西門子S<b class='flag-5'>7</b>-1200和S<b class='flag-5'>7</b>-1500 PLC<b class='flag-5'>系列</b>模擬量傳感器怎么接線

    Xilinx FPGA中IDELAYCTRL參考時鐘控制模塊的使用

    IDELAYCTRL 是 Xilinx FPGA(特別是支持高速 I/O 的系列,如 Virtex-5/6/7、Kintex-7、Artix-7
    的頭像 發(fā)表于 02-26 14:41 ?3054次閱讀

    【ALINX 教程】FPGA Multiboot 功能實現(xiàn)——基于 ALINX Artix US+ AXAU25 開發(fā)板

    教程目的 本教程介紹如何在 ?ALINX Artix US+ AXAU25 FPGA ?開發(fā)板上,通過? Multiboot ?實現(xiàn)多個 bitstream 的存儲與動態(tài)切換,并在配置失敗時自動回退
    的頭像 發(fā)表于 01-05 15:41 ?1235次閱讀
    【ALINX 教程】FPGA <b class='flag-5'>Multiboot</b> 功能實現(xiàn)——基于 ALINX Artix US+ AXAU25 開發(fā)板

    兆易創(chuàng)新GD32H7系列MCU適配Micro-ROS的完整技術(shù)指南

    本文將從開發(fā)板介紹、環(huán)境搭建、適配開發(fā)、測試驗證四個維度,提供GD32H7系列MCU適配Micro-ROS的完整技術(shù)指南。
    的頭像 發(fā)表于 12-31 10:09 ?7989次閱讀
    兆易創(chuàng)新GD32H<b class='flag-5'>7</b><b class='flag-5'>系列</b>MCU適配Micro-ROS的完整技術(shù)指南

    探索AMD XILINX Versal Prime Series VMK180評估套件,開啟硬件創(chuàng)新之旅

    探索AMD XILINX Versal Prime Series VMK180評估套件,開啟硬件創(chuàng)新之旅 在電子設(shè)計的領(lǐng)域中,快速實現(xiàn)原型設(shè)計并確保高性能是每一位工程師的追求。AMD XILINX
    的頭像 發(fā)表于 12-15 14:40 ?528次閱讀

    使用Xilinx 7系列FPGA的四位乘法器設(shè)計

    (Shinshu University)研究團隊的最新設(shè)計中,一個專為 Xilinx 7 系列 FPGA 量身打造的 4 位乘法器使用了僅 11 個 LUT + 2 個 CARRY4 塊,關(guān)鍵路徑延遲達到 2.75 ns。這是一
    的頭像 發(fā)表于 11-17 09:49 ?3475次閱讀
    使用<b class='flag-5'>Xilinx</b> <b class='flag-5'>7</b><b class='flag-5'>系列</b>FPGA的四位乘法器設(shè)計

    Xilinx FPGA串行通信協(xié)議介紹

    Xilinx FPGA因其高性能和低延遲,常用于串行通信接口設(shè)計。本文深入分析了Aurora、PCI Express和Serial RapidIO這三種在Xilinx系統(tǒng)設(shè)計中關(guān)鍵的串行通信協(xié)議。介紹了它們的特性、優(yōu)勢和應(yīng)用場景
    的頭像 發(fā)表于 11-14 15:02 ?2543次閱讀
    <b class='flag-5'>Xilinx</b> FPGA串行通信協(xié)議<b class='flag-5'>介紹</b>

    請問如何將蜂鳥E203移植到Xilinx NEXYS A7 FPGA 開發(fā)板上?

    如何將蜂鳥E203移植到Xilinx NEXYS A7 FPGA 開發(fā)板上?有參考教程嗎?小白求教 主要是引腳分配,我這邊有移植到Xilinx Artix-7
    發(fā)表于 11-11 07:44

    FPGA開發(fā)板—璞致 Kintex-7 系列核心板PZ-K7325T/PZ-K7410T 使用說明 XILINX核心板簡介

    PZ-K7325T/PZ-K7410T核心板采用Xilinx Kintex-7系列FPGA為主控制器,提供326080/406720個邏輯單元、2GB DDR3L內(nèi)存和32MB QSPI Flash
    的頭像 發(fā)表于 09-22 11:49 ?898次閱讀
    FPGA開發(fā)板—璞致 Kintex-<b class='flag-5'>7</b> <b class='flag-5'>系列</b>核心板PZ-K7325T/PZ-K7410T 使用說明 <b class='flag-5'>XILINX</b>核心板簡介

    一文詳解xilinx 7系列FPGA配置技巧

    本文旨在通過講解不同模式的原理圖連接方式,進而配置用到引腳的含義(手冊上相關(guān)引腳含義有四、五頁,通過本文理解基本上能夠記住所有引腳含義以及使用場景),熟悉xilinx 7系列配置流程,以及設(shè)計原理圖時需要注意的一些事項,比如fl
    的頭像 發(fā)表于 08-30 14:35 ?1.1w次閱讀
    一文詳解<b class='flag-5'>xilinx</b> <b class='flag-5'>7</b><b class='flag-5'>系列</b>FPGA配置技巧

    Zynq-7000 SoC與7系列設(shè)備內(nèi)存接口解決方案數(shù)據(jù)手冊

    關(guān)于 AMD/Xilinx 7系列FPGA存儲器接口解決方案(UG586) 的用戶指南,其主要內(nèi)容和技術(shù)要點可概括如下:1. 文檔定位與核心內(nèi)容定位:該文檔是7
    發(fā)表于 07-28 16:17 ?3次下載

    基于AD9613與Xilinx MPSoC平臺的高速AD/DA案例分享

    本文主要介紹基于Xilinx UltraScale+MPSoC XCZU7EV的高速AD采集與高速DA輸出案例
    的頭像 發(fā)表于 06-03 14:22 ?908次閱讀
    基于AD9613與<b class='flag-5'>Xilinx</b> MPSoC平臺的高速AD/DA案例分享

    攜手Nordic推出多合一氣體傳感器

    此前,5月22日至23日,2025藍牙亞洲大會在深圳隆重啟幕。云新品“多合一氣體傳感器”在Nordic展位上重磅亮相。產(chǎn)品搭載了Nordic nRF54L系列首款系統(tǒng)級芯片(SoC),兼具超低
    的頭像 發(fā)表于 05-27 18:01 ?1139次閱讀

    Xilinx Ultrascale系列FPGA的時鐘資源與架構(gòu)解析

    Ultrascale是賽靈思開發(fā)的支持包含步進功能的增強型FPGA架構(gòu),相比7系列的28nm工藝,Ultrascale采用20nm的工藝,主要有2個系列:Kintex和Virtex
    的頭像 發(fā)表于 04-24 11:29 ?2624次閱讀
    <b class='flag-5'>Xilinx</b> Ultrascale<b class='flag-5'>系列</b>FPGA的時鐘資源與架構(gòu)解析

    新品 | IGBT 7 EconoDUAL? 3系列拓展帶焊接針產(chǎn)品

    新品TRENCHSTOPIGBT7EconoDUAL3產(chǎn)品系列拓展英飛凌在此發(fā)布TRENCHSTOPIGBT7EconoDUAL3系列產(chǎn)品拓展,帶焊接針和帶預(yù)涂導(dǎo)熱材料版本(TIM)。
    的頭像 發(fā)表于 04-09 17:06 ?932次閱讀
    新品 | IGBT <b class='flag-5'>7</b> EconoDUAL? 3<b class='flag-5'>系列</b>拓展帶焊接針產(chǎn)品