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

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

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

3天內不再提示

在AMD Versal自適應SoC上使用QEMU+協(xié)同仿真示例

XILINX開發(fā)者社區(qū) ? 來源:XILINX開發(fā)者社區(qū) ? 2025-08-06 17:21 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文作者:AMD 工程師 Stephen MacMahon

在任意設計流程中,仿真都是不可或缺的關鍵組成部分。它允許用戶在無任何物理硬件的情況下對硬件系統(tǒng)進行確認。這篇簡短的博客將介紹如何使用 QEMU + 協(xié)同仿真來對 AMD Versal 自適應 SoC Cortex A72 (QEMU) 上運行的固件進行仿真,該固件會訪問當前 AMD Vivado Design Suite 仿真中正在進行仿真的 PL 中的 IP。本文將使用 Versal VCK190 和 Vivado 2024.2 來生成仿真環(huán)境。

注釋:目前這是實驗性流程,尚未受到正式的支持。

QEMU 設備樹二進制對象

QEMU 使用模型來對 Versal CIPS 進行仿真。每塊 AMD 開發(fā)板都有預構建的設備樹二進制對象 (DTB)。在本博客中使用的是 VCK190 的 DTB。在本系列后續(xù)博文中,將介紹用戶如何自行編譯 DTB,從而與用戶自定義系統(tǒng)保持更緊密的一致。目前,該演示的 DTB 文件已隨本篇博文一同交付。

硬件設計

使用 Vivado 2024.2 來生成簡單的塊設計,如下所示:

e679151a-6c6c-11f0-a18e-92fbcf53809c.png

設置仿真腳本

此處使用的是由 Vivado 生成的仿真腳本,但要對這些腳本稍作修改:

希望仿真永久保持運行 (all)

希望運行腳本時啟動 GUI (-gui)

e6841672-6c6c-11f0-a18e-92fbcf53809c.png

需要指定仿真要使用的仿真模型。在此例中,要使用的模型是 TLM。

為此,只需在 BD 上運行以下 Tcl 命令:

e6908fd8-6c6c-11f0-a18e-92fbcf53809c.png

下一步,生成輸出文件,將其設為 Global。

e69c2da2-6c6c-11f0-a18e-92fbcf53809c.png

生成仿真腳本

生成頂層 RTL 封裝文件,然后運行仿真。這樣會生成仿真腳本,稍后在 QEMU + 協(xié)同仿真腳本中將啟動這些仿真腳本。

e6a8799a-6c6c-11f0-a18e-92fbcf53809c.png

這樣會在 project_1.simsim_1ehavxsim 中生成仿真腳本以供后續(xù)調用。

開發(fā)者只需使用 Tcl 命令完成這些操作即可,但希望在本篇博文中通過 GUI 演示。

導出硬件以生成 XSA 文件。此文件將在 AMD Vitis 統(tǒng)一軟件平臺中用于生成工作空間,以供在本系列后續(xù)博文中使用。

生成 QEMU

此處將使用以下 QEMU 實參。將 QEMU 實參置于 Linux 腳本中。例如,分別使用 run_qemu_aarch64.sh 和 run_qemu_microblazeel.sh。

Aarch64 QEMU 實參

echo 'INFO: Starting aarch64 QEMU'echo 'INFO: TCP PORT is free 9000'echo 'INFO: qemu-system-aarch64 -nographic -M arm-generic-fdt -serial null -serial null -serial mon:stdio -serial null -display none -boot mode=5 -drive if=sd,index=1,file=qemu_sd.img,format=raw -machine-path /tmp/tmp_dir -sync-quantum 1000000 -hw-dtb board-versal-ps-cosim-vitis-vck190.dtb -m 8G -display none -gdb tcp::9000 -net nic,netdev=eth0 -netdev user,id=eth0,tftp=/tftpboot -net nic'qemu-system-aarch64 -nographic -M arm-generic-fdt -serial null -serial null -serial mon:stdio -serial null -display none -boot mode=5 -drive if=sd,index=1,file=qemu_sd.img,format=raw -machine-path /tmp/tmp_dir -sync-quantum 1000000 -hw-dtb board-versal-ps-cosim-vitis-vck190.dtb -m 8G -display none -gdb tcp::9000 -net nic,netdev=eth0 -netdev user,id=eth0,tftp=/tftpboot -net nic

Microblazeel QEMU 實參

echo 'INFO: Starting microblaze QEMU'echo 'INFO: qemu-system-microblazeel -M microblaze-fdt -serial mon:stdio -display none -device loader,addr=0xf0000000,data=0xba020004,data-len=4 -device loader,addr=0xf0000004,data=0xb800fffc,data-len=4 -device loader,file=pmc_cdo.0.0.bin,addr=0xf2000000 -device loader,file=BOOT_bh.bin,addr=0xf201e000,force-raw=on -device loader,file=plm.elf -hw-dtb board-versal-pmc-virt.dtb -machine-path /tmp/tmp_dir -device loader,addr=0xF1110624,data=0x0,data-len=4 -device loader,addr=0xF1110620,data=0x1,data-len=4'qemu-system-microblazeel -M microblaze-fdt -serial mon:stdio -display none -device loader,addr=0xf0000000,data=0xba020004,data-len=4 -device loader,addr=0xf0000004,data=0xb800fffc,data-len=4 -device loader,file=pmc_cdo.0.0.bin,addr=0xf2000000 -device loader,file=BOOT_bh.bin,addr=0xf201e000,force-raw=on -device loader,file=plm.elf -hw-dtb board-versal-pmc-virt.dtb -machine-path /tmp/tmp_dir -device loader,addr=0xF1110624,data=0x0,data-len=4 -device loader,addr=0xF1110620,data=0x1,data-len=4

此時需要一些文件。可以使用 HSI 從 Vivado 導出的 XSA 中提取 PLM 文件:

e6b93532-6c6c-11f0-a18e-92fbcf53809c.png

這樣會提取 PDI 以及一個解壓后的文件夾,其中包含以上使用的 plm.elf 文件。

使用以下命令從 PDI 解壓 pmc_cdo.0.0.bin 文件:

e6c2f0ae-6c6c-11f0-a18e-92fbcf53809c.png

QEMU 目前不支持從 JTAG 啟動。在本博客中,將從 SD 啟動。因此,需要生成 SD 卡啟動鏡像與啟動頭文件。要生成 qemu_sd.img 和 BOOT_bh.bin,首先需要生成包含 PDI 的 BOOT.BIN。

為此,可以生成如下 BIF 文件:

e6cd150c-6c6c-11f0-a18e-92fbcf53809c.png

然后,只需在此文件上運行 Bootgen 以生成 BOOT.BIN 即可:

e6d54b28-6c6c-11f0-a18e-92fbcf53809c.png

下一步,創(chuàng)建 QEMU 鏡像文件 (qemu_sd.img) 并將 BOOT.BIN 添加到此鏡像中。最后,生成啟動頭文件 (BOOT_bh.bin)。

e741a3b8-6c6c-11f0-a18e-92fbcf53809c.png

啟動 QEMU + 協(xié)同仿真

生成 Linux 腳本以調用上述 QEMU Multi Proc 實參。例如:

e74e361e-6c6c-11f0-a18e-92fbcf53809c.png

使用 Makefile 啟動 QEMU + 協(xié)同仿真。使用 tmp 目錄充當 TLM 的共享目錄。需使用環(huán)境變量 COSIM_MACHINE_PATH 將此目錄傳遞給 Vivado 仿真器。

e759df82-6c6c-11f0-a18e-92fbcf53809c.png

注釋:xsim 路徑將根據(jù)您的工程而定。

文件夾結構如下,為便于使用,已將所有文件置于單個文件夾內。

e7676fc6-6c6c-11f0-a18e-92fbcf53809c.png

要啟動 QEMU + 協(xié)同仿真,運行以下命令:

e770bbb2-6c6c-11f0-a18e-92fbcf53809c.png

可以看到,一切都按期望方式啟動。

e77947a0-6c6c-11f0-a18e-92fbcf53809c.png

要終止 QEMU,請運行以下命令:

e789a082-6c6c-11f0-a18e-92fbcf53809c.png

后續(xù)內容

在下一篇“開發(fā)者分享”中,我們將介紹如何在 Vitis 中連接到該 QEMU + 協(xié)同仿真,并構建和部署用戶應用。

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

    關注

    25

    文章

    5682

    瀏覽量

    139923
  • soc
    soc
    +關注

    關注

    40

    文章

    4574

    瀏覽量

    229085
  • 仿真
    +關注

    關注

    54

    文章

    4480

    瀏覽量

    138221
  • 開發(fā)板
    +關注

    關注

    26

    文章

    6288

    瀏覽量

    118010

原文標題:開發(fā)者分享|在 AMD Versal? 自適應 SoC 上使用簡單的 QEMU + 協(xié)同仿真示例

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    如何在AMD Vitis Unified 2024.2中連接到QEMU

    本篇文章我們將學習如何在 AMD Vitis Unified 2024.2 中連接到 QEMU。 這是本系列的第 2 篇博文。要了解如何設置和使用 QEMU +
    的頭像 發(fā)表于 08-06 17:24 ?1788次閱讀
    如何在<b class='flag-5'>AMD</b> Vitis Unified 2024.2中連接到<b class='flag-5'>QEMU</b>

    使用Aurora 6466b協(xié)議實現(xiàn)AMD UltraScale+ FPGA與AMD Versal自適應SoC的對接

    本博客中,我們將介紹使用 Aurora 6466b 協(xié)議實現(xiàn) AMD UltraScale+ FPGA 與 AMD Versal 自適應
    的頭像 發(fā)表于 01-13 14:04 ?3349次閱讀
    使用Aurora 6466b協(xié)議實現(xiàn)<b class='flag-5'>AMD</b> UltraScale+ FPGA與<b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b><b class='flag-5'>自適應</b><b class='flag-5'>SoC</b>的對接

    【ALINX 技術分享】AMD Versal AI Edge 自適應計算加速平臺之 Versal 介紹(2)

    【ALINX 技術分享】AMD Versal AI Edge 自適應計算加速平臺之 Versal 介紹,以及Versal 芯片開發(fā)流程的簡介
    的頭像 發(fā)表于 03-07 16:03 ?2750次閱讀
    【ALINX 技術分享】<b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b> AI Edge <b class='flag-5'>自適應</b>計算加速平臺之 <b class='flag-5'>Versal</b> 介紹(2)

    AMD Versal自適應SoC內置自校準的工作原理

    本文提供有關 AMD Versal 自適應 SoC 內置自校準 (BISC) 工作方式的詳細信息。此外還詳述了 Versal 的異步模式及其
    的頭像 發(fā)表于 10-21 08:18 ?4161次閱讀

    Versal 自適應SoC設計指南

    電子發(fā)燒友網(wǎng)站提供《Versal 自適應SoC設計指南.pdf》資料免費下載
    發(fā)表于 12-14 16:22 ?1次下載
    <b class='flag-5'>Versal</b> <b class='flag-5'>自適應</b><b class='flag-5'>SoC</b>設計指南

    Versal自適應SoC系統(tǒng)集成和 確認方法指南

    電子發(fā)燒友網(wǎng)站提供《Versal自適應SoC系統(tǒng)集成和 確認方法指南.pdf》資料免費下載
    發(fā)表于 01-03 10:48 ?0次下載
    <b class='flag-5'>Versal</b><b class='flag-5'>自適應</b><b class='flag-5'>SoC</b>系統(tǒng)集成和 確認方法指南

    AMD率先推出符合DisplayPort? 2.1 8K視頻標準的FPGA和自適應SoC

    AMD UltraScale+ FPGA 和 AMD Versal 自適應 SoC 產品系列已率先成為業(yè)界符合 VESA DisplayPo
    的頭像 發(fā)表于 01-24 09:18 ?1312次閱讀

    AMD發(fā)布第二代Versal自適應SoC,AI嵌入式領域再提速

    AMD表示,第二代Versal系列自適應SoC搭載全新的AI引擎,相較上一代Versal AI Edge系列,每瓦TOPS功率可實現(xiàn)最多3倍
    的頭像 發(fā)表于 04-11 16:07 ?1679次閱讀

    AMD Versal? Adaptive SoC CPM PCIE PIO EP設計CED示例

    本文可讓開發(fā)者們看懂 AMD Vivado Design Tool 2023.2 中的“AMD Versal Adaptive SoC CPM PCIE PIO EP 設計”CED
    的頭像 發(fā)表于 05-10 09:39 ?1747次閱讀
    <b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b>? Adaptive <b class='flag-5'>SoC</b> CPM PCIE PIO EP設計CED<b class='flag-5'>示例</b>

    AMD Versal自適應SoC CPM5 QDMA的Tandem PCIe啟動流程介紹

    本文將從硬件設計和驅動使用兩個方面介紹基于 CPM5 QDMA 的 AMD Versal 自適應 SoC 的 Tandem 設計和啟動流程。
    的頭像 發(fā)表于 09-18 10:07 ?2755次閱讀
    <b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b><b class='flag-5'>自適應</b><b class='flag-5'>SoC</b> CPM5 QDMA的Tandem PCIe啟動流程介紹

    AMD Versal自適應SoC GTM如何用XSIM仿真和觀察PAM4信號

    可以傳輸兩個 Bit 的信息,相比傳統(tǒng)的 NRZ 模式,信號傳輸速率相當于原來的兩倍,當前主流的 400G 光模塊廣泛采用 PAM4 技術。AMD Versal 自適應 SoC 的 G
    的頭像 發(fā)表于 11-22 13:49 ?1785次閱讀
    <b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b><b class='flag-5'>自適應</b><b class='flag-5'>SoC</b> GTM如何用XSIM<b class='flag-5'>仿真</b>和觀察PAM4信號

    AMD Versal自適應SoC DDRMC如何使用Micron仿真模型進行仿真

    AMD Versal 自適應 SoC 器件 DDR4 硬核控制器 DDRMC 跑仿真時,按照
    的頭像 發(fā)表于 01-10 13:33 ?1598次閱讀
    <b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b><b class='flag-5'>自適應</b><b class='flag-5'>SoC</b> DDRMC如何使用Micron<b class='flag-5'>仿真</b>模型進行<b class='flag-5'>仿真</b>

    AMD Versal自適應SoC器件Advanced Flow概覽(

    最新發(fā)布的 AMD Vivado Design Suite 2024.2 中,引入的新特性之一是啟用了僅適用于 AMD Versal 自適應
    的頭像 發(fā)表于 01-17 10:09 ?1405次閱讀
    <b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b><b class='flag-5'>自適應</b><b class='flag-5'>SoC</b>器件Advanced Flow概覽(<b class='flag-5'>上</b>)

    AMD Versal自適應SoC器件Advanced Flow概覽(下)

    AMD Vivado Design Suite 2024.2 版本中,Advanced Flow 自動為所有 AMD Versal 自適應
    的頭像 發(fā)表于 01-23 09:33 ?1610次閱讀
    <b class='flag-5'>AMD</b> <b class='flag-5'>Versal</b><b class='flag-5'>自適應</b><b class='flag-5'>SoC</b>器件Advanced Flow概覽(下)

    利用AMD VERSAL自適應SoC的設計基線策略

    您是否準備將設計遷移到 AMD Versal 自適應 SoC?設計基線是一種行之有效的時序收斂方法,可在深入研究復雜的布局布線策略之前,幫您的 RTL 設計奠定堅實的基礎。跳過這些步驟
    的頭像 發(fā)表于 06-04 11:40 ?774次閱讀