色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

縮短MultiBoot流程中的回跳 (Fallback)時(shí)間

XILINX開發(fā)者社區(qū) ? 來源:XILINX開發(fā)者社區(qū) ? 作者:Ivy Guo ? 2022-12-09 09:50 ? 次閱讀

本文來自AMD XILINX工程師 Ivy Guo。

MultiBoot 是 FPGA 遠(yuǎn)程更新配置文件時(shí)一種非常普遍的應(yīng)用--為了確保安全,我們通常需要安排一個(gè) Golden Image,升級失敗后 FPGA 能回跳 (Fallback) 到此配置,從而使 FPGA 始終處于可被檢測的工作狀態(tài)。

很多客戶有同樣的問題:我在升級 Update Image 一半時(shí)突然掉電了,為什么回跳機(jī)制不起作用了呢?FPGA 怎么掛死了呢?其實(shí)這個(gè)現(xiàn)象是"符合預(yù)期"的,回跳機(jī)制不能應(yīng)付這種異常。如果配置文件寫到一半突然中斷,嵌在配置數(shù)據(jù)流里面的指令序列同樣也沒有了,并且有可能中斷在任意位置。FPGA 的控制邏輯此時(shí)就失去了工作方向,不知道下一步該做什么。

Xapp1247, Appendix A提供了一個(gè)很好的解決方案。利用兩個(gè) timer 或者稱之為 barrier 的小image,嵌在 Golden 和 Update 之間或附在 Update 之后,通過合理的給兩個(gè) timer 賦值,可以解決 Update Image 刷新時(shí)同步字丟失或者半程掉電的情況。

但是同時(shí)又有客戶提出了問題:我的應(yīng)用對回跳時(shí)間要求很高,Xapp1247,Appendix A的方案對于半程掉電的場景,只有搜索完整個(gè) Update Image 區(qū)域,看到 Timer#2 的設(shè)置才能完成回跳。有沒有辦法縮短這段時(shí)間呢?

MultiBoot 的跳轉(zhuǎn)實(shí)際上是非常靈活的,我們這里就嘗試提供一種思路:

1. 去掉 Timer#2,只保留 Timer#1 作為 Golden 和 Update Image 之間的 barrier Image。

2. Update Image采取從后往前倒著燒錄的辦法。(在實(shí)際應(yīng)用中,燒寫 flash 都是用CPU/MCU/FPGA 控制或者第三方編程器實(shí)現(xiàn)的,所以這一點(diǎn)也很容易實(shí)現(xiàn))。

3. 精確設(shè)定 Timer#1的值,使其看到Update中的TIMER指令及賦值但不需更多。

工作原理

Timer 寄存器的值只有在 Power-Cycle 或者 PROG_B 過程中才能被清除,或者被新的 Timer值覆蓋,或者在整個(gè)配置數(shù)據(jù)加載完畢后自動(dòng)失效。

我們通過精確設(shè)定 Timer#1的值,使 FPGA 控制邏輯有足夠時(shí)間看到 Update Image 中新的Timer 值。TIMER 指令位于 Image 的頭部。因?yàn)?Update Image 是倒著寫入的,能看到新的Timer 值,說明 Update Image 基本已經(jīng)更新好了。由于新的 timer 值是足夠控制邏輯加載完整的配置數(shù)據(jù)的,Timer 寄存器被新值更新后,Timer#1 相當(dāng)于失效了。FPGA 有充足時(shí)間可以順利讀入完整配置數(shù)據(jù),開啟正常工作。

如果由于斷電等原因,Update 更新到一半就停止了,此時(shí)會(huì)缺失 Update 的同步字,TIMER指令等等位于頭部的信息。Timer#1 在一個(gè)有限的時(shí)間內(nèi)搜索 Update Timer 但是沒有看到,timeout 之后就會(huì)直接觸發(fā)回跳。因此不用等待搜索整個(gè) Update 存儲(chǔ)空間完畢,依靠尾部的Timer#2 才能觸發(fā)回跳了。

整個(gè)解決方案的重點(diǎn)就在于設(shè)定 Timer#1 的值。

這個(gè)其實(shí)很簡單,根據(jù)你自己生成的 Timer#1和Update的MCS文件 (方法參考Xapp1247),計(jì)算一下 Timer#1 的指令到 Update 的 TIMER 之間的字節(jié)數(shù)即可。

以 KU040 的 bit 為例,觀察 Update Image 頭部的命令/數(shù)據(jù)序列,可以看到有 3002 2001,這就是設(shè)置 Timer 寄存器的命令TIMER。我們想Timer#1的時(shí)間足夠看到 Update 中的3002 2001命令以及賦值,其他不需要了,隨意添加幾個(gè) cycle 或者幾個(gè)字的裕量即可。

edacbbd8-7715-11ed-8abf-dac502259ad0.png

比如我們設(shè)到3000 8001,多3個(gè)字的余量。

Timer的格式如下:

edd03c8e-7715-11ed-8abf-dac502259ad0.png

Barrier/Timer#1 里從 TIMER 及賦值開始,后面有兩個(gè) NOOP 字,加上后續(xù) Update 里從FFFFFFFF 開始直到 3000 8001 有28個(gè)字,一共30個(gè)字,那么就是30*32=960 bit。SPIx1 串行配置中,一個(gè) CCLK 讀取一個(gè) bit,所以

Timer#1 的值設(shè)置為 h‘3C0.

ede07e3c-7715-11ed-8abf-dac502259ad0.png

如上圖,30 03 E0 01是把 bus width 從默認(rèn)的 x1 切到 x4 的命令。如果在讀入 Timer#1 之前中執(zhí)行了該命令(比如 Golden 里面),那么 Timer#1 的值需要按照一個(gè) CCLK cycle,讀取4個(gè) bit 來計(jì)算。和 Timer 命令類似,在 FPGA 控制邏輯讀取數(shù)據(jù)的過程中,如果沒有碰到新的30 03 E0 01設(shè)定新的數(shù)據(jù)寬度,那么將一直按照之前設(shè)定的 bus width 來讀入數(shù)據(jù)或者指令。

假設(shè) Timer#1 以及 Update 都是以x4讀取的,那么 Timer#1 需設(shè)為 h’F0.

綜上,通過合理設(shè)定 barrier#1 中的 Timer#1 數(shù)值,我們可以極大地縮短升級掉電這種MultiBoot 失效場景的回跳時(shí)間。

審核編輯:湯梓紅

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

    關(guān)注

    1629

    文章

    21729

    瀏覽量

    603013
  • amd
    amd
    +關(guān)注

    關(guān)注

    25

    文章

    5466

    瀏覽量

    134098
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5336

    瀏覽量

    120232

原文標(biāo)題:開發(fā)者分享|縮短MultiBoot流程中的回跳 (Fallback) 時(shí)間

文章出處:【微信號:gh_2d1c7e2d540e,微信公眾號:XILINX開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    multiboot什么意思 MultiBoot的功能簡介、流程介紹

    本文主要包含MultiBoot的功能簡介、流程介紹和工程實(shí)現(xiàn)幾個(gè)部分的講解。 我們先從它的功能介紹講起來;MultiBoot功能是大部分Xilinx FPGA可以實(shí)現(xiàn)的固有特性;其主要優(yōu)點(diǎn)如下所示
    的頭像 發(fā)表于 08-04 16:32 ?1.9w次閱讀
    <b class='flag-5'>multiboot</b>什么意思 <b class='flag-5'>MultiBoot</b>的功能簡介、<b class='flag-5'>流程</b>介紹

    有什么辦法可以更快地為Main_multiboot.mcs獲得總的舞會(huì)校驗(yàn)和嗎?

    嗨,我使用promgen命令兩次生成我的多重引導(dǎo)文件,一次用于標(biāo)題,第二次用于黃金和多重引導(dǎo)(參見下面的命令)。我覺得找到最終mcs文件(Main_multiboot.mcs)的正確舞會(huì)校驗(yàn)和的唯一
    發(fā)表于 07-16 11:00

    如何手動(dòng)縮短PLL鎖定時(shí)間

    如何手動(dòng)縮短PLL鎖定時(shí)間?你知道嗎?利用手動(dòng)頻段選擇,鎖定時(shí)間可從典型值4.5 ms 縮短到典型值360 μs。本文以高度集成的解調(diào)器和頻率合成器ADRF6820 為例,告訴大家如何
    發(fā)表于 07-31 07:54

    如何創(chuàng)建Golden鏡像和Multiboot鏡像?

    升級。基本的防止變磚功能,即在升級過程任何時(shí)刻,出現(xiàn)異常情況,如斷電,線纜斷開等,都應(yīng)該能保證重新上電后,還可以再次完成升級流程,防止芯片變磚。升級流程的優(yōu)化,可靠的通訊協(xié)議,例如握手、校驗(yàn)、應(yīng)答
    發(fā)表于 04-04 17:11

    μC/OS-II縮短中斷關(guān)閉時(shí)間方法

    筆者將以μC/OS-II實(shí)時(shí)內(nèi)核為例,通過對μC/OS-II的改進(jìn),向讀者描述一種縮短實(shí)時(shí)操作系統(tǒng)中斷關(guān)閉時(shí)間的方法。
    發(fā)表于 05-23 11:15 ?1192次閱讀
    μC/OS-II<b class='flag-5'>中</b><b class='flag-5'>縮短</b>中斷關(guān)閉<b class='flag-5'>時(shí)間</b>方法

    基于概率時(shí)間Petri網(wǎng)的流程推薦方法

    為了向用戶推薦結(jié)構(gòu)相似且時(shí)間效率較高的流程,提出了一種基于流程活動(dòng)發(fā)生的概率和時(shí)間流程推薦方
    發(fā)表于 01-14 16:45 ?0次下載
    基于概率<b class='flag-5'>時(shí)間</b>Petri網(wǎng)的<b class='flag-5'>流程</b>推薦方法

    屏障定時(shí)器流程測試方法以及使用此方法

    XAPP1247 是對應(yīng)使用屏障鏡像時(shí)的多重啟動(dòng) (Multiboot) 和回退 (Fallback) 的示例應(yīng)用。
    的頭像 發(fā)表于 06-09 14:51 ?1513次閱讀

    7 eries FPGAs SPI MultiBoot實(shí)現(xiàn)方式

    bitstream”,即已知正常不出錯(cuò)的BIT; b. MultiBoot, or “updatebitstream”,即多個(gè)其它BITs或待更新的BITs。 其中,MultiBoot流程如下圖:
    的頭像 發(fā)表于 12-11 14:58 ?1792次閱讀
    7 eries FPGAs SPI <b class='flag-5'>MultiBoot</b>實(shí)現(xiàn)方式

    介紹“基于測量切換的EPS Fallback”5G語音信令流程資料下載

    電子發(fā)燒友網(wǎng)為你提供介紹“基于測量切換的EPS Fallback”5G語音信令流程資料下載的電子資料下載,更有其他相關(guān)的電路圖、源代碼、課件教程、中文資料、英文資料、參考設(shè)計(jì)、用戶指南、解決方案等資料,希望可以幫助到廣大的電子工程師們。
    發(fā)表于 04-16 08:42 ?124次下載
    介紹“基于測量切換的EPS <b class='flag-5'>Fallback</b>”5G語音信令<b class='flag-5'>流程</b>資料下載

    在FPGA如何通過ICAP原語實(shí)現(xiàn)Multiboot

    fallback 功能,以確保可以將已知良好的設(shè)計(jì)加載到器件MultiBoot的大致過程如下圖: MultiBoot的配置文件由兩個(gè)比特流文件生成,第一個(gè)為備份文件,永遠(yuǎn)都不會(huì)變
    的頭像 發(fā)表于 05-11 14:20 ?6468次閱讀
    在FPGA<b class='flag-5'>中</b>如何通過ICAP原語實(shí)現(xiàn)<b class='flag-5'>Multiboot</b>?

    深入探究Xilinx Multiboot實(shí)例

    閃存返回。SCK是時(shí)鐘引腳,SS是低電平從選擇引腳。 參考:UG470 Vivado工具流程Multiboot大致流程) 為Multiboot程序準(zhǔn)備bit流 本節(jié)概述
    的頭像 發(fā)表于 09-26 09:37 ?3782次閱讀
    深入探究Xilinx <b class='flag-5'>Multiboot</b>實(shí)例

    基于ZYNQ的multiBoot測試說明

    基于ZYNQ的multiBoot測試
    的頭像 發(fā)表于 02-16 16:21 ?5837次閱讀
    基于ZYNQ的<b class='flag-5'>multiBoot</b>測試說明

    5G EPS Fallback語音方案流程總結(jié)

    選擇EPS Fallback作為5G SA的語音方案,是因?yàn)榭紤]到目前5G SA建網(wǎng)初期,5G信號覆蓋還處于初期階段,沒有大規(guī)模的覆蓋,而4G的覆蓋已經(jīng)進(jìn)入成熟期。
    的頭像 發(fā)表于 04-20 11:11 ?2.1w次閱讀

    iPhone 16 Pro機(jī)型發(fā)貨時(shí)間縮短

    據(jù)最新TechInsights報(bào)告揭示,iPhone 16系列的高端機(jī)型——iPhone 16 Pro及Pro Max,在黑色256GB版本上,其在美國、中國和英國等關(guān)鍵市場的發(fā)貨時(shí)間相較于前代
    的頭像 發(fā)表于 09-24 15:11 ?592次閱讀

    一文搞懂軟核的固化、啟動(dòng)和MultiBoot實(shí)現(xiàn)

    這也是《FPGA實(shí)現(xiàn)串口升級及MultiBoot》系列的一篇文章,作為一個(gè)專題單獨(dú)出來說明。 本篇文章分為三個(gè)主題:固化、啟動(dòng)和MultiBoot實(shí)現(xiàn)。 固化分為SPI和BPI FLASH兩種情況
    的頭像 發(fā)表于 12-07 11:23 ?284次閱讀
    一文搞懂軟核的固化、啟動(dòng)和<b class='flag-5'>MultiBoot</b>實(shí)現(xiàn)
    主站蜘蛛池模板: 色偷偷av男人的天堂| 亚洲中文字幕手机版| 第七色男人天堂| 全黄h全肉短篇禁乱np| 99re在这里只有精品| 快播理伦片| 欧洲人交xxx69| 天天久久狠狠色综合| 国产精品成人无码久免费| 亚洲 色 欧美 爱 视频 日韩| 国产欧美日韩视频怡春院| 亚洲AVAV天堂AV在线网爱情| 国内精品七七久久影院| 亚洲蜜桃AV永久无码精品放毛片| 99在线精品国自产拍| 老师小扫货水能么多叫出来| 99久久99久久精品国产片果冻| FREE另类老女人| 男插女高潮一区二区| 小货SAO边洗澡边CAO你动漫| 动漫美女无衣| 日美一级毛片| 国产AV国片精品无套内谢无码| 午夜AV国产欧美亚洲高清在线| 国产偷国产偷亚洲高清SWAG| 亚洲色爽视频在线观看| 久久精品一区| WINDOWSCHANNEL老太| 视频一区二区三区蜜桃麻豆| 国产精品系列在线一区| 天天躁夜夜踩很很踩2022| 国产精品AV视频一二三区| 色小姐电影qvod播放| 国内一级一级毛片a免费| 四虎永久在线精品国产| 国产VA精品午夜福利视频| 亚洲AV蜜桃永久无码精品红樱桃| 97在线观看免费| 天堂Av亚洲欧美日韩国产综合| 一边啪啪的一边呻吟声口述 | 国产欧美精品一区二区三区-老狼|