KU FPGA FLASH boot失败debug

 

原因

新板子回来后,测试flash 烧录正常,但是无法BOOT,此时SPI设置为X4模式,使用内部时钟,速度90M。烧录过程不报错,校验也正常。

FLASH理论支持最大速度108M,90M应该还好。另外板卡预留了EMCCLK外部时钟模式,速率100M 也不可行。

此时约束如下:


set_property CONFIG_VOLTAGE 3.3 [current_design]
set_property CFGBVS VCCO [current_design]
set_property BITSTREAM.CONFIG.SPI_BUSWIDTH 4 [current_design]
set_property CONFIG_MODE SPIx4 [current_design]
set_property BITSTREAM.CONFIG.CONFIGRATE 90 [current_design] 
#set_property BITSTREAM.CONFIG.EXTMASTERCCLK_EN div-1 [current_design]
set_property BITSTREAM.GENERAL.COMPRESS TRUE [current_design]
set_property BITSTREAM.CONFIG.UNUSEDPIN Pullup [current_design]

分析

90M偏高,尝试降低速率尝试。实际多次测试发现82M以下均正常。不同的器件支持的速度是有差异的,具体参考UG908 https://www.xilinx.com/support/documents/sw_manuals/xilinx2022_1/ug908-vivado-programming-debugging.pdf

SPIX8 模式

实际为了加快boot速度,硬件上支持SPIX8模式,这样实际速度可以提高到原有速度的2倍,从而加快启动过程。这在一些pice 应用上是必要的。


set_property CONFIG_VOLTAGE 3.3 [current_design]
set_property CFGBVS VCCO [current_design]
set_property BITSTREAM.CONFIG.SPI_BUSWIDTH 8 [current_design]
set_property CONFIG_MODE SPIx8 [current_design]
set_property BITSTREAM.CONFIG.CONFIGRATE 82 [current_design] 
#set_property BITSTREAM.CONFIG.EXTMASTERCCLK_EN div-1 [current_design]
set_property BITSTREAM.GENERAL.COMPRESS TRUE [current_design]
set_property BITSTREAM.CONFIG.UNUSEDPIN Pullup [current_design]

实际生成下载固件的时候会有2个 bin文件,对应按照提示下载即可。

如果不做multiboot,生成bin文件时候的使用方式和SPIX4没有什么差异。

cd [get_property DIRECTORY [current_project]]/[current_project].runs/impl_1
write_cfgmem  -format bin -size 32 -interface SPIx8 -loadbit "up 0x00000000 [get_property top [current_fileset]].bit" -file [get_property DIRECTORY [current_project]]/test.bin -force

相关推荐

  1. goland debug断点失效

    2024-07-20 13:46:01       61 阅读
  2. vscode debug

    2024-07-20 13:46:01       58 阅读
  3. UntiyShader(七)Debug

    2024-07-20 13:46:01       74 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-20 13:46:01       171 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-20 13:46:01       189 阅读
  3. 在Django里面运行非项目文件

    2024-07-20 13:46:01       157 阅读
  4. Python语言-面向对象

    2024-07-20 13:46:01       170 阅读

热门阅读

  1. MULESOFT

    MULESOFT

    2024-07-20 13:46:01      36 阅读
  2. libevent的事件分发相关接口

    2024-07-20 13:46:01       35 阅读
  3. 082、Python 读文本文件

    2024-07-20 13:46:01       37 阅读
  4. Linux绑定硬件IRQ到指定CPU核

    2024-07-20 13:46:01       35 阅读
  5. 使用内网穿透工具 frp 发布内网 web 站点

    2024-07-20 13:46:01       38 阅读
  6. 【WebRTC】Duplex通信是什么意思?

    2024-07-20 13:46:01       36 阅读
  7. TCP Socket编程示例

    2024-07-20 13:46:01       36 阅读
  8. windows上安装Apache

    2024-07-20 13:46:01       28 阅读