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

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

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

3天內不再提示

一文搞懂軟核的固化、啟動和MultiBoot實現

FPGA技術江湖 ? 來源:FPGA技術江湖 ? 2024-12-07 11:23 ? 次閱讀

這也是《FPGA實現串口升級及MultiBoot》系列中的一篇文章,作為一個專題單獨出來說明。

本篇文章分為三個主題:固化、啟動和MultiBoot實現。

7708ccd2-b431-11ef-93f3-92fbcf53809c.png

固化分為SPI和BPI FLASH兩種情況;啟動分為SREC解析及加快啟動模式的ELF直讀;最后就是MultiBoot實現的時候應該注意什么。

固化

軟核的固化和外部FLASH及應用程序大小有很大關系。小應用程序,使用BRAM即可運行,固化的時候和邏輯一起固化即可運行,這時候不管外部是什么類型FLASH,和邏輯固化一樣。大應用程序,需要用到外部DDR,就需要兩個啟動程序,一個小的Bootloader,和邏輯一起啟動,起來后從外部FLASH讀取相應的應用程序放到DDR里運行,這時候就要根據不同的FLASH,設計相應的讀取邏輯及應用。下面我們根據不同的FLASH類型進行相應的說明。

SPI FLASH

小應用程序

小應用程序,比如串口通信,IIC、SPI等配置通信,不占用多少STACK_SIZE和HEAP_SIZE,用內部BRAM就可運行,這時候將應用程序的LD設置為運行到BRAM即可,生成elf后就可以將其和邏輯的BIT融合在一起生成新的BIT,正常生成MCS即可燒寫。

771b8700-b431-11ef-93f3-92fbcf53809c.png

elf和bit融合成新的BIT,有兩種方式,下面詳細介紹:

調試階段

調試階段通過Vitis或者SDK一步即可生成新的BIT:

7727998c-b431-11ef-93f3-92fbcf53809c.png

即在vitis工作目錄-->應用程序目錄-->_ide-->bitstream-->download.bit

77545e9a-b431-11ef-93f3-92fbcf53809c.png

該bit就是融合后的BIT,接下來可以使用Vitis/SDK或者Vivado進行下載

776585e4-b431-11ef-93f3-92fbcf53809c.png

穩定階段

應用程序一般比較簡單,所以調試穩定后,就可以將elf交給邏輯端,讓他們繼續折騰。

Vivado中在生成bit前,通過下面步驟將elf和軟核關聯起來,后面Vivado生成bit后,就是包含了軟核程序的BIT,繼續后續的固化工作即可。

7780bc1a-b431-11ef-93f3-92fbcf53809c.png

778b11e2-b431-11ef-93f3-92fbcf53809c.png

大應用程序

大應用程序就會復雜很多,主要是建立軟核讀取外部FLASH的通道。

大的應用程序需要運行到SDRAM中,節省內部BRAM,這里的“大”并不是我們說的elf文件大,而是需要的運行空間大。

其實可以完全不需要內部BRAM也可以運行大應用程序程序,不過制作過程比較復雜,我們這次還是需要一點內部BRAM啟動bootloader。

整個流程框圖如下:

77a5ee2c-b431-11ef-93f3-92fbcf53809c.png

首先這種方式需要三個文件:1、FPGA的bit文件(需要包含FLASH的讀寫控制器);2、bootloader 生成的elf文件;3、大應用應用程序的ELF文件。

這里要用到比較重要的IP-axi_quad_spi(可以自己按照需求寫IP),將IP按照下面設置進行設置:

77c0a7a8-b431-11ef-93f3-92fbcf53809c.png

主要是使能STARTUP原語。

PS:7系列的在IP內部使能STARTUP即可,對于U+系列由于FLASH的IO位于BANK0,需要在頂層再使用STARTUP3原語進行IO引出(IP內部雖然也使用了原語,但是我調試的時候只有在頂層添加STARTUP3原語才能進行通信,不清楚是BUG還是沒設置好,按照官方說明使用方式也是要在頂層再添加原語)。

邏輯端添加上訴IP即可,接下來是應用程序設計。

在SDK或者Vitis中添加下面BootLoader程序:

77cbe99c-b431-11ef-93f3-92fbcf53809c.png

接下來要修改第一個地方:

77e4b42c-b431-11ef-93f3-92fbcf53809c.png

就是這個起始地址,其中0x44A00000就是Vivado中IP的基地址,0x80000是從FLASH讀取的地址,即應用存放在FLASH中的地址,該地址要和生成MCS時候地址相匹配。

第二個需要注意的地方就是BootLoader要放到BRAM里運行,查看以下LD:

77f5da9a-b431-11ef-93f3-92fbcf53809c.png

這樣就可以和上面小應用程序一樣,隨著邏輯端一起啟動。

接下來就是固化,固化也是分為兩個階段。

調試階段

調試階段首先將大應用程序放到FLASH相應的偏移地址上,通過以下工具可以直接燒寫:

78113ac4-b431-11ef-93f3-92fbcf53809c.png

這里先選擇大應用程序生成的elf,然后選擇燒寫的偏移地址(按照BootLoader里設置的偏移地址進行設置),然后選擇對應的FLASH,最后一定要勾選Convert ELF to bootloadable SREC format and program,這是目前官方驅動程序能讀取的二進制結構-SREC。

關于怎么減少啟動時間我們后面會單獨討論。

注意點1:修改驅動

如果不能讀取FLASH,那么需要修改驅動文件。Board support Package setting,修改xilisf,設置serial_flash_family(根據FLASH廠家修改)serial_flash_interface根據需求修改。

注意點2:讀取超時

增加等待flash初始化時間:

原位置:

7828c7ac-b431-11ef-93f3-92fbcf53809c.png

修改

/* *InitializetheSerialFlashLibrary. */ volatileintwait; do { Status=XIsf_Initialize(&Isf,&Spi,ISF_SPI_SELECT,IsfWriteBuffer); if(Status!=XST_SUCCESS){ xil_printf("XIsf_initializefailed!Status=%d ",Status); for(wait=0;wait

注意點3:讀取速度

某些國產FLASH的速度遠低于進口FALSH,所以注意看下數據手冊,控制好ext_spi_clk,同時下圖還有一個分頻系數:

7831fbec-b431-11ef-93f3-92fbcf53809c.png

穩定階段

如果BootLoader能夠引到啟動后,可以將BootLoader的ELF添加到Vivado工程中,這樣在大應用程序需要重建后無需每次都建立BootLoader工程進行調試。同時axi_quad_spi不更改(基地址不變)情況下,BootLoader都不需要修改。

BPI FLASH

小應用程序

小應用程序和SPI的一樣,不隨著外圍FLASH不同而改變,就不贅述了。

大應用程序

大應用程序就更復雜一些,也是需要建立軟核讀取外部FLASH的通道。

接下來我們按照另一個思路講解BPI FLASH大應用程序的固化。上面我們說過大應用程序的固化需要三個文件:1、FPGA的bit文件(需要包含FLASH的讀寫控制器);2、bootloader 生成的elf文件;3、大應用程序的ELF文件。我們按照順序講解每個文件生成需要的必要條件:

FPGA的bit文件

FPGA設計中需要增加對FLASH控制,對于BPI FLASH,官方推薦AXI-EMC IP,通過AXI-MEM映射外部FLASH,這個IP可以控制常見的BPI FLASH(可配置參數很低),對于不能控制的FLASH,需要自己寫控制器+控制驅動。

AXI_EMC IP 概述

AXI_EMC是FPGA的一個ip core,axi 外部存儲控制器,支持sram,nor flash ,psram,cellularRAM,IP核使用AXI4接口,支持32bit和64bit的數據位寬,支持以下memory type,即:

異步SRAM

同步SRAM

串行flash or并行nor flash

偽靜態隨機存儲器

每個emc控制器支持掛接4個存儲設備

78480630-b431-11ef-93f3-92fbcf53809c.png

來源:pg100-figure1-1

信號連接

我們這次使用的BPI FLASH為S29GL01GSXXXX,可以通過AXI-EMC 控制,具體在FPGA中的連線如下:

78527732-b431-11ef-93f3-92fbcf53809c.png

主要將這個IP連到MB上,外接引腳比較重要,因為IP要兼容的東西比較多,所以引出來的引腳比較多,對于不同的外設需要連接不同的引腳,對于本次設計的引腳連接如下表所示:

785f74f0-b431-11ef-93f3-92fbcf53809c.png

787ad6d2-b431-11ef-93f3-92fbcf53809c.png

78924768-b431-11ef-93f3-92fbcf53809c.png

圖中紅線部分需根據表進行連接

IP界面時序參數配置

(1)第一頁

默認配置即可,如果使用比較大的內存則可選總線位寬為64位,我們控制FLASH,默認32位即可:

78a922a8-b431-11ef-93f3-92fbcf53809c.png

這里注意以下,如果使用U+系列,這個IP會在下面位置有個使能STARTUP3原語的選項:

78b2d910-b431-11ef-93f3-92fbcf53809c.png

使能后和SPI FLASH一樣,需要在頂層添加STARTUP原語引出BPI的DQ0~DQ3。這里說下原因,因為7系列FPGA的DQ0~DQ3是在BANK14,而U+是在BANK0上,同時官方IP可能有BUG,導致需要2次使用原語。

(2)第二頁

78cafcac-b431-11ef-93f3-92fbcf53809c.png

這一頁的設置是核心,需要根據FLASH數據手冊進行配置:

Memory Type

支持Sync SRAM, Async SRAM, Linear Flash, Page Mode Flash, PSRAM, or Micron Flash

Data Width

Memory 數據位寬,也就是接的存儲設備的數據位寬,支持8,16,32,64位位寬

Parity

可以設置為No parity,Odd Parity,or Even Parity,只有Memory Type為Sync SRAM時才能設置

Delay Mode

可以設置為Flow-Through model or Pipeline Model,只有Memory Type為Sync SRAM時才能設置

Read CE Low to Data Valid Period

78f56b04-b431-11ef-93f3-92fbcf53809c.png

根據描述,該參數在不同的memory type下含義不同,如果是flash,則和tELQV的值相等,這里以Page Mode Flash為例說明,基本上也就是片選拉低的時間,其他類型的存儲設備沒有驗證,暫不清楚,以flash型號為S29GL01GSXXX(容量大?。?28Mbyte)為例,根據芯片手冊中的描述:

7902c1d2-b431-11ef-93f3-92fbcf53809c.png

該芯片讀時序如下:

79152a2a-b431-11ef-93f3-92fbcf53809c.png

7926b34e-b431-11ef-93f3-92fbcf53809c.png

對該芯片來說,該參數值就是tCE,即100ns = 100000ps

Read Address Valid to Data Valid Period

79495d7c-b431-11ef-93f3-92fbcf53809c.png

這里的意思為讀地址在數據有效前的保持時間,不是片選保持的時間,對于S29GL01GSXX來說,就是tAVQV的值,和描述的一樣,即為100ns = 100000ps,如上圖所示。

Page Access Period

796256b0-b431-11ef-93f3-92fbcf53809c.png

79706980-b431-11ef-93f3-92fbcf53809c.png

根據描述的含義,對于Page Mode Flash來說就是訪問一頁需要的時間,以S29GL01GSXX為例,也就是tPACC,為25ns,如下:

79855f02-b431-11ef-93f3-92fbcf53809c.png

798d5928-b431-11ef-93f3-92fbcf53809c.png

Read CE High to Data Bus HZ Period

799bcbf2-b431-11ef-93f3-92fbcf53809c.png

該參數的含義是指片選(CE)從有效變為無效后,至少要保持多長時間,即從低變高后,要保持多長時間的高電平,以S29GL01GSXX為例,就是圖中的tDF也就是tEHQZ,為20ns

79bc4d6e-b431-11ef-93f3-92fbcf53809c.png

798d5928-b431-11ef-93f3-92fbcf53809c.png

Read OE High to Data Bus HZ Period

79ed0fb2-b431-11ef-93f3-92fbcf53809c.png

和上邊參數一樣,指OE高電平保持的時間,也就是上圖中的tDF,為20ns

AXI Read Timing

79f7adc8-b431-11ef-93f3-92fbcf53809c.png

根據AXI EMC IP核手冊的page47頁得知以上讀時序圖,結合“IP核參數默認值”查看

AXI Write Timing

根據AXI EMC IP核手冊的page47頁得知以上寫時序圖,結合“IP核參數默認值”查看

IP核參數默認值:

7a09e218-b431-11ef-93f3-92fbcf53809c.png

Write Cycle Period

7a2a9c88-b431-11ef-93f3-92fbcf53809c.png

根據描述,AXI EMC core根據該參數去保持CE為低的時間,但不是指CE保持的時間,以S29GL01GSXX為例,值等于tWC,即60ns,如下

7a356c3a-b431-11ef-93f3-92fbcf53809c.png

7a45eeac-b431-11ef-93f3-92fbcf53809c.png

Write Enable Minimum Pulse Width

7a5445ec-b431-11ef-93f3-92fbcf53809c.png

該參數指片選(WE)保持的最小時間,以S29GL01GSXX為例,值等于tWP,即最小25ns

7a73fcc0-b431-11ef-93f3-92fbcf53809c.png

7a8c06da-b431-11ef-93f3-92fbcf53809c.png

Write Phase Period

7a95ae1a-b431-11ef-93f3-92fbcf53809c.png

該參數表示兩個WE之間的最小間隔,以S29GL01GSXX為例,值等于tWPH,即最小20ns

7aab3ce4-b431-11ef-93f3-92fbcf53809c.png

Write WE High to Data Bus LZ Period

7ab62bf4-b431-11ef-93f3-92fbcf53809c.png

該參數表示在一個寫周期里,寫使能(WE)到數據總線低阻的時間,或者寫到讀的恢復時間(可能理解的不正確,關于此參數配置時請謹慎),以S29GL01GSXX為例,使用的默認值,即0ps。

Write Recovery Period for Flash Memory

7ac19516-b431-11ef-93f3-92fbcf53809c.png

這個參數應該指的是數據寫完后,WE還需要保持多少個時鐘周期的時間,這里使用默認值,根據下圖,此參數小于等于twrr,具體多少不知道,個人理解大于等于tWPH應該就可以了。

7ae31650-b431-11ef-93f3-92fbcf53809c.png

IP其他界面默認即可,地址分配界面將IP尋址空間大小設置成實際FLASH大小,如下:

7af6f972-b431-11ef-93f3-92fbcf53809c.png

編譯后導出bit到SDK或者Vitis,就可以制作BootLoader.

以上參數解釋,參考下面的博文:

https://blog.csdn.net/qq_33166886/article/details/112490916

這里要用到比較重要的IP-axi_quad_spi(可以自己按照需求寫IP),將IP按照下面設置進行設置:

77c0a7a8-b431-11ef-93f3-92fbcf53809c.png

BootLoader制作

打開sdk或者Vitis,新建一個SREC的工程。這個就是傳說中啟動文件。

7b146c82-b431-11ef-93f3-92fbcf53809c.png

其中1是用來制作BPI FALSH的啟動文件,2是用來制作SPI FLASH啟動文件的。

修改FLASH的鏡像地址。地址不是亂寫的。是根據你的mcs文件大小,文件大小在runs/imp/ 文件夾下的 prm 文件上有告知。后面接上的。然后生成文件。注意這個地址也是你后面真正運行的elf地址寫入。

7b341578-b431-11ef-93f3-92fbcf53809c.png

也可以按照prm文件后續接上elf文件:

7b541e04-b431-11ef-93f3-92fbcf53809c.png

bootloader工程,注意選擇ld看鏈接表設定。不要把代碼和數據放在DDR上面。

7b5f5f58-b431-11ef-93f3-92fbcf53809c.png

然后編譯工程。生成elf文件。然后按照之前的方式將BootLoader elf和vivado生成的bit合成一個新的bit。

剩下的步驟和之前SPI FLASH一樣了,就不贅述了。

啟動

固化完成了,接下來就是啟動了。小應用程序和FPGA啟動一起,所以就不說明了,重點介紹大應用程序。

77a5ee2c-b431-11ef-93f3-92fbcf53809c.png

大應用程序如果使用官方的BootLoader,在讀取大應用到DDR中時,是讀取的SREC,那么為什么要讀取SREC,SREC文件有什么特點?我們接下來開始揭開面紗。

SREC文件

SREC文件是帶有程序的地址信息和數據校驗功能,所以在讀取SREC文件時是連讀連校驗并且要轉譯,所以在讀取SREC時候會很慢,好處就是可以避免很多因為文件錯誤導致功能異常。結構如下:

Record type Byte count Address Data Checksum

SREC 格式文件由一系列ASCII文本記錄組成。這些記錄從左到右具有以下結構:

a.Record type——2個字節ASCII字符,第一個字符為‘S’(ASCII 0x53),第二個字符為ASCII數字的‘0’~‘9’(ASCII 0x30 到 0x39)

b.Byte count——兩個十六進制數字(“00”至“FF”),表示記錄其余部分(地址 + 數據 + 校驗和)后面的字節數(十六進制數字對)。此字段的最小值為 3(16 位地址字段加 1 個校驗和字節時為 2),最大值為 255(0xFF)?!?0”/“01”/“02”為非法值。

c.Address——大端地址——4/6/8個16進制的ASCII數字,取決于Record type的類型

d.Data——數據 ——2*n個16進制的ASCII數字(n字節數據)

e.Checksum ——2個16進制的ASCII數字,即字節數、地址和數據字段的兩個十六進制數字對所表示的值之和的補碼的最低有效字節。在C 編程語言中,總和通過以下方式轉換為校驗和:0xFF - (sum & 0xFF)

7b7ef4ee-b431-11ef-93f3-92fbcf53809c.png

圖片來源:https://en.wikipedia.org/wiki/SREC_(file_format)

ELF和SREC對比:

7ba40f68-b431-11ef-93f3-92fbcf53809c.png

ELF轉換成SREC

如果使用官方的BootLoader,那么SREC格式是必不可少的,而SDK或者Vitis只能生成ELF文件,下面介紹幾種方式將ELF轉換成SREC。

方式一:通過XSCT Console

將elf轉換成SREC format,打開Xilinx—> XSCT Console。

7bc1f82a-b431-11ef-93f3-92fbcf53809c.png

通過cd 命令進入elf所在的目錄:

7bcc2b42-b431-11ef-93f3-92fbcf53809c.png

輸入:mb-objcopy -O srec app.elf app.srec

就會在ELF所在目錄生成SREC文件。

方式二:自動轉換

7be0c4b2-b431-11ef-93f3-92fbcf53809c.png

7be55612-b431-11ef-93f3-92fbcf53809c.png

在應用上右擊,屬性,打開屬性窗口。在圖中位置添加命令:

mb-objcopy -O srec {ProjName}.srec

7bed4016-b431-11ef-93f3-92fbcf53809c.png

這樣每次在APP編譯完成后就會將ELF自動轉換成SREC(在ELF目錄里)。

方式二:使用命令手動設置

使用下圖中兩個腳本,cd到elf文件位置后,使用mb-object命令完成轉換:

7c0bd27e-b431-11ef-93f3-92fbcf53809c.png

最后這種方式和方式一類似,好處就是可以使用Win下的腳本調用,然后生成一鍵腳本。

加快啟動

從上面的分析可知,在讀取SREC時候會進行很多無關操作,導致啟動時間大大增加,尤其是大應用程序生成的ELF比較大(SREC也會比較大)的時候,這個時間肯定不能忍受的。

方式一:減少打印

在進行調試的時候,BootLoader會有讀取進程通過串口打印,這一操作方便調試的時候快速進行問題定位,完成調試的時候,可以將打印去掉,注釋掉下圖位置語句即可:

7c1fab50-b431-11ef-93f3-92fbcf53809c.png

更改讀取方式

我們可以減少讀取過程中的轉譯和校驗等過程,直接引導搬運FLASH的elf文件至DDR,減少“中間商賺差價”的時間,可大大提高啟動速度,相關的工程可以參考下面的鏈接。

https://github.com/henrikbrixandersen/elf-bootloader?_ga=2.259888963.835186866.1691390458-2003547133.1691118205

在eb-config.h文件中更改實際用到的FLASH地址以及匹配FLASH信息,主要就是修改對應FLASH的opration指令以及dummy cycle,可以根據你使用的FLASH類型查閱數據手冊。

7c395a3c-b431-11ef-93f3-92fbcf53809c.png

MultiBoot實現注意點

在小應用程序時候其實和純FPGA應用一樣,沒什么大的區別,沒什么注意的。主要在大應用程序:

7c43b4be-b431-11ef-93f3-92fbcf53809c.png

大應用程序主要包含上面幾個文件組成(根據自己需求可能有所不同)。考慮到升級過程中傳輸完成擦除FLASH后及突然斷電等特殊情況,所以需要考慮CRC error(突然斷電)、IDCODE error(升級包制作錯誤)、Watchdog timer time-out error(擦除FLASH后未升級、突然斷電)三種情況。

Golden區無需變動,主要在M區的程序,在升級APP時候面對上面的情況怎么操作?因為目前的MultiBoot機制只能在FPGA邏輯層進行操作,如果APP程序錯誤可能觸發不了回退機制。

這里提供一個思路,就是對M區APP增加CRC校驗,BootLoader在讀取APP的ELF或者SREC時如果CRC校驗錯誤,那么就破壞M區的FPGA程序(FLASH),讓FPGA程序啟動時候觸發四種錯誤的任何一種,就可以回退到Golden區再進行升級。

總結

總結就下面的一張圖了:

7c56db0c-b431-11ef-93f3-92fbcf53809c.png

關于這部分內容,大家有什么建議或者經驗,歡迎大家評論區留言討論~

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

    關注

    37

    文章

    3268

    瀏覽量

    57704
  • 軟核
    +關注

    關注

    0

    文章

    14

    瀏覽量

    15851
  • 固化
    +關注

    關注

    0

    文章

    167

    瀏覽量

    10484

原文標題:一篇文章搞懂軟核(MicroBlaze)的固化和啟動

文章出處:【微信號:HXSLH1010101010,微信公眾號:FPGA技術江湖】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

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

    : 1、我們可以把多個bitstream存儲在配置Flash中,通過MultiBoot功能來實現多個bitstream之間的動態切換,從而達到使用FPGA來實現多種任務; 2、在個工
    的頭像 發表于 08-04 16:32 ?1.9w次閱讀
    <b class='flag-5'>multiboot</b>什么意思 <b class='flag-5'>MultiBoot</b>的功能簡介、流程介紹

    FPGA的IP使用技巧

    FPGA的IP使用技巧主要包括以下幾個方面: 理解IP的概念和特性 : IP是指用硬
    發表于 05-27 16:13

    6678 8boot,請問為何同樣的程序在線運行沒問題,固化后出現問題?在線運行和固化運行的差別在哪呢?

    SPI固化到板子里后,通過鏈接仿真器,看到8個中只有個別核實能正常運行的,而其他也運行了,只是運行到某行后就出現了問題。請問:為何同樣的程序在線運行沒問題,
    發表于 06-20 03:11

    FPGA的、硬核以及固的概念

    。 從IP的提供方式上,通常將其分為、固和硬核這3類。從完成IP所花費的成本來講,硬核代價最大; 從使用靈活性來講,
    發表于 09-03 11:03

    搞懂UPS主要內容

    導讀:UPS是系統集成項目中常用到的設備,也是機房必備的設備。本文簡單介紹了UPS的種類、功能、原理,品質選擇與配置選擇方式,基礎維護等相關的內容。搞懂UPS本文主要內容:UPS種類、功能
    發表于 09-15 07:49

    QuartusⅡ10.1中NIOS2的構建方法

    關于QuartusⅡ10.1中NIOS2的構建、軟件編譯及程序固化 、硬件開發1、構建CPU模塊2、構建EPCS控制器,SYSTEM ID模塊,JTAG UART模塊3、構建RA
    發表于 01-25 07:58

    基于FPGA 的嵌入式ASIP 設計與實現

    基于FPGA 的嵌入式ASIP 設計與實現作者:李慶誠 任健 劉嘉欣 黃寶貞 來源:微計算機信息摘要:采用ASIP+FPGA 模式設計了款嵌入式微處理器
    發表于 02-06 10:44 ?30次下載

    基于FPGA的嵌入式ASIP設計與實現

    采用ASIP+FPGA模式設計了款嵌入式微處理器,以該為例從體系結構和指令集設計兩方面對ASIP+FPGA模式微處理器
    發表于 07-28 17:41 ?17次下載

    如何使用FPGA進行CAN控制器的設計與實現

     本文參照CAN2.0 總線協議設計了個CAN 控制器。具體設計采用TOP-DOWN 方式,上層采用模塊化設計,最底層模塊以Verilog 語言編寫而成。測試了
    發表于 07-19 17:48 ?25次下載
    如何使用FPGA進行CAN控制器<b class='flag-5'>軟</b><b class='flag-5'>核</b>的設計與<b class='flag-5'>實現</b>

    搞懂幾種常見的射頻電路類型及主要指標

    搞懂幾種常見的射頻電路類型及主要指標。
    發表于 07-27 10:26 ?9次下載
    <b class='flag-5'>一</b><b class='flag-5'>文</b><b class='flag-5'>搞懂</b>幾種常見的射頻電路類型及主要指標

    基于Nios和FPGA器件實現電纜故障檢測儀的設計方案

    脈沖發生電路產生探測脈沖,高速的A/D轉換器對脈沖及其反射回波信號進行采樣,使用異步FIFO作為A/D采樣數據的緩存。Nios作為系統核心,控制檢測任務的啟動和結束、脈沖發送接收模式的選擇、A
    發表于 08-24 15:46 ?1060次閱讀
    基于Nios<b class='flag-5'>軟</b><b class='flag-5'>核</b>和FPGA器件<b class='flag-5'>實現</b>電纜故障檢測儀的設計方案

    7 eries FPGAs SPI MultiBoot實現方式

    7 Series FPGAs MultiBoot功能指讓FPGA從2個或者多個BIT文件中加載個BIT文件運行程序,所以它的2個主要應用如下: 1. 更新新的BIT時,當更新失敗或BIT出錯會返回
    的頭像 發表于 12-11 14:58 ?1797次閱讀
    7 eries FPGAs SPI <b class='flag-5'>MultiBoot</b><b class='flag-5'>實現</b>方式

    在FPGA中如何通過ICAP原語實現Multiboot?

    FPGA的MultiBoot功能可以支持遠程動態更新bitstream images,實現bitstream images的實時切換。在MultiBoot配置過程中檢測到錯誤時,FPGA可以觸發
    的頭像 發表于 05-11 14:20 ?6500次閱讀
    在FPGA中如何通過ICAP原語<b class='flag-5'>實現</b><b class='flag-5'>Multiboot</b>?

    關于QuartusⅡ10.1中NIOS2的構建、軟件編譯及程序固化

    關于QuartusⅡ10.1中NIOS2的構建、軟件編譯及程序固化 、硬件開發1、構建CPU模塊2、構建EPCS控制器,SYSTEM ID模塊,JTAG UART模塊3、構建RA
    發表于 11-30 18:06 ?10次下載
    關于QuartusⅡ10.1中NIOS2<b class='flag-5'>軟</b><b class='flag-5'>核</b>的構建、軟件編譯及程序<b class='flag-5'>固化</b>

    基于ZYNQ的multiBoot測試說明

    基于ZYNQ的multiBoot測試
    的頭像 發表于 02-16 16:21 ?5875次閱讀
    基于ZYNQ的<b class='flag-5'>multiBoot</b>測試說明
    主站蜘蛛池模板: 91牛牛| 国产h在线| 午夜男人天堂| 色综合综合网| 福利社藏经阁| 国产精品波多野结衣| 狠狠色噜噜狠狠狠狠黑人| 欧美一二| 天天免费看片| 视频在线一区| 欧美地区一二三区| 天天拍夜夜操| 日本丝瓜着色视频| 欧美成人午夜精品免费福利| 天天拍夜夜添久久精品中文| 69pao强力打造在线| 日韩毛片网站| 天天舔天天爱| 卡1卡2卡3精品推荐老狼| 欧美色图色就是色| 日韩一级片免费在线观看| 男女交性视频播放视频视频| 欧美高清一级| 久久系列| 亚洲 欧美 丝袜 制服 在线| 二级黄的全免费视频| 免费啪啪网站| 日本亚洲欧美美色| 四虎comwww最新地址| 国产丝袜va丝袜老师| 高清在线观看视频| 欧美又粗又长又湿又黄的视频| 日本aaaa毛片在线看| 就去色综合| 操一操干一干| 三级黄色在线视频| 片免费观看在线看| 小说老卫陈红张敏陈法蓉 | 免费能看的黄色网址| 末满18以下勿进色禁网站| 亚洲a人片在线观看网址|