在使用XCKU3P型號(目前僅使用了該型號的FPGA,如有其他型號的FPGA遇到該問題時,也可使用該方案)的FPGA時,利用Vivado2019.2版本的軟體,產生BIT流檔案後,使用Write Memory Configuration File工具生成MCS、BIN檔案時,Memory Part對話方塊中,可選的FLASH型號中沒有winbond型號的FLASH,並且,最後生成MCS檔案或者BIN檔案後,使用vivado的HARDWARE MANAGER工具新增設定儲存單元,Add Configuration Memory Device工具中可選的設定記憶體型號中也沒有winbond型號的FLASH,本方案旨在解決該問題。
利用Vivado2019.2版本的軟體中的Tools中的Write Memory Configuration File工具用於將FPGA的bit流生成MCS、BIN檔案,當器件選用XCKU3P型號的FPGA時,Select Configuration Memory Part中的過濾欄的Manufacturer中沒有winbond選項,如下圖所示。
並且使用HARDWARE MANAGER工具新增設定儲存單元,Add Configuration Memory Device工具中可選的設定記憶體型號中也沒有winbond型號的FLASH,如下圖所示。
在Xilinx軟體安裝目錄下,進入./Xilinx/Vivado/2019.2/data/xicom目錄,找到xicom_cfgmem_part_table檔案,對檔案備份,然後使用表格工具開啟該檔案,在表格的最後,新增所需的FLASH型號,本方案以winbond的W25Q128BV為例進行說明。
根據表格中首行的資訊,在表格最後一行新增相應的資訊,如下圖所示。
其中,MEM_DEVICE為所需新增的FLASH型號,COMPATIBLE_DEVICES為該FLASH型號需支援的FPGA型號(該選項中需包含目前所使用的FPGA型號,否則,上述的問題得不到解決),其他子項根據新增的FLASH的資訊完善即可。
然後對修改後的表格儲存,至此,vivado軟體新增所需的FLASH型號操作完成。
經上述方案對vivado軟體修改後,實測情況如下所示。
Select Configuration Memory Part對話方塊。
Configuration Memory Device工具
上圖可以看出,新增目標FLASH器件成功。
並且經實際測試,MCS檔案可正確通過JTAG,經FPGA燒寫到FALSH中,並可正常啟動。