Vivado 下 MIG 核仿真手册
刘志强
1. IP-Core 生成
根据所选芯片的不同,参照说明文档生成对应的 核:
,参照文件夹“ 核配置下的说明。 板卡上有两条型号为
的 条,最高工作频率 ,峰值带宽 ,
可根据需求选择配置一个或两个 !"#$!%%&$,相关参数及意义在 !"'()$*+!",-. 中均
有说明;/- 文件为约束文件,在配置阶段需要加载该文件用于指定具体管脚位置;
0012参照文件夹“ 核配置00下的说明。00 板卡是定制板卡,
有三条 条插槽,具体型号用户可自行选择,文件夹“--$-*#*3&&#下中列出
了不同型号的内存条的具体参数。45( !"#$!%%&$/- 约束文件中包含单个 !"#$!%%&$
的管脚配置信息;45( !"#$!%%&$/- 约束文件中包含了三个 !"#$!%%&$ 的管脚配置信
息。
2. 修改仿真文件
生成后的 核包含以下几个文件夹,其中“)&$6-&5("文件夹包含了所有的设计文件,
在仿真和综合过程中不做改动;“&/*4,%&6-&5("文件夹包含了所有的仿真文件,需要修
改的文件包括:
7 $#%&/*4,%&6#!,892在该文件中实例化要仿真的逻辑模块。原 &/*4,%&6#!,8 实例化了
#$*: 6(&" 模块 ,可用于验证 核是 否正常工作(仿真结束 提示 ,*&-2!$
.*5%&-);验证之后,可将 #$*: 6(&" 模块替换为自己的逻辑进行后续的仿真;
7 54--$64!-&%892在 --$64!-&% 模块中定义了一个 4&4!$< 数组(数组宽度最大为
=5#),用于模拟 > 的访存行为。如果 核的数据接口为 =5#,则需要实例
化 个 --$64!-&% 模块来完成模拟。改动后的 --$64!-&%8 在“仿真文件改动”目录下,
主要修改的地方包括以下几个方面:
模块实例化参数 ,*$*4&#&$25"5#6")4=&$2?2@%5"&27,用于指导不同的 --$64!-&%
模块加载不同的初始化数据文件;
初始化数据文件和地址文件@%5"&22A2%5"&27,后面会详细讨论 --$ 的数据格式
和访存地址;
初始化数据长度 4&4!$<6)&-@%5"&22B2%5"&27,将该变量赋值为初始化数据长
度,如:初始化文件中包含 行数据(与地址划分无关),则将该变量赋值为
。
7 54--$64!-&%6,*$*4&#&$8392--$64!-&%8 的头文件,主要关注 06 参数,在
--$64!-&%8 中 , 该 参 数 决 定 了 4&4!$< 数 组 的 最 大 深 度 , 060 2 ?