一、前言
Vivado的闪存列表中仅包含了一些主流大厂家的芯片,如镁光、ISSI等。当使用国内部分FLASH芯片或其他厂商的产品时,往往难以在列表中找到匹配的器件型号。
因此在运用Vivado进行程序烧写到国产Flash芯片的过程中,我遇到了FLASH芯片型号未能列入Vivado支持的闪存列表,从而造成程序烧写受阻的问题。下面,我将介绍如何在Vivado添加列表中不存在的FLash器件烧录过程。(以兆易创新flash GD25Q32CSIG为例说明如何添加vivado列表中没有的器件并完成烧写)
二、参考Flash官方datasheet
兆易创新 GigaDevice flash芯片按照GD25Q XXX ESIG规范命名,以GD25Q128ESIG为例,其中
- xxx表示容量(单位 bit),比如 16表示 16Mbit(2Mbyte),256表示 256Mbit (32Mbyte),128表示128Mbit(16MB)
- E表示第几代,按字母表顺序排列
- S:表示封装形式
- I:表示电压等级。
- G:表示温度范围或特殊功能。
- 支持的SPI模式位宽x1_x2_x4
三、将Flash添加到VIvado列表
首先要找到本地Vivado的安装目录...\Vivado\2020.2\data\xicom下,找到文件:xicom_cfgmem_part_table.csv这个表就是vivado hardware manager中的器件库,接下来我们将需要添加的flash器件按照表头含义依次添加添加进表格即可
NAME:为添加项起名字
COMPATIBLE_DEVICES:兼容的FPGA型号
MEM_DEVICE:芯片名称
MEM_TYPE:芯片类型,spi/bpi,nand flash(手册中有)
MEM_DENSITY:芯片容量
DATA_WIDTH:接口支持位宽
MEM_MANUFACTURER:芯片制造厂商
在芯片手册中查找各表头要求填写的信息。序号、添加项名称可以自己拟定(建议与芯片型号一致 方便查找),兼容的FPGA型号按照当前需求拟订,其余项按照官方Flash芯片datasheet参数填入即可。
保存xicom_cfgmem_part_table.csv时注意:不要修改文件属性,保存结束后关闭表格后再打开Vivado 工程 按下图操作打开Flash器件列表即可检查该器件是否添加成功(*注!一定要关闭表格再重启VIvado,否则ViVado会出错)