Vivado下MIG核仿真指导手册_第1页
Vivado下MIG核仿真指导手册_第2页
Vivado下MIG核仿真指导手册_第3页
Vivado下MIG核仿真指导手册_第4页
Vivado下MIG核仿真指导手册_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、vivado下mig核仿真手册刘志强1. ip-core 生成根据所选芯片的不同,参照说明文档生成对应的mig核: vc709-vx690t,参照文件夹"mig核配置-vc709"下的说明。vc709板卡上有两条型号为 mt8ktf51264hz-1g9 的 sodimm 条,授高工作频率 932.84mhz,峰值带宽 14.9gb/s, 吋根据需求选择配置一个或两个controller,相关参数及意义在configuration.pdf中均有 说明;.xdc文件为约束文件,在配置阶段需要加载该文件用于指定具体管脚位置; ees256-vx485t,参照文件夹"m

2、ig核配3sees256"下的说明。ees256板卡是定制板卡,有 三条sodimm条插槽,具体型号用户可白行选择,文件夹"ddr3-datasheetw下中列出了 不同型号的内存条的具体参数omig7-lcontroller.xdc约束文件中包含单个controller的管 脚配置信息;mig7-3controller.xdc约束文件中包含了三个controller的管脚配置信息。2. 修改仿真文件生成后的mig核包含以下儿个文件夹,其小"user_design/"文件夹包含了所有的设计文件, 在仿真和综合过程中不做改动;"example_d

3、esign/"文件夹包含了所有的仿真文件,需要修改 的文件包括:1) rtl/example_top.v:在该文件屮实例化要仿真的逻辑模块。原example_top.v实例化了 traffic_gen模块,可用于验证mig核是否正常匸作(仿真结束捉示test passed or failed); 验证z后,可将traffic_gen模块替换为自己的逻辑进行后续的仿真;2) sim/ddr3_model.v:在ddr3_model模块屮定义了一个memory数组(数组宽度最人为 64bits),用于模拟ddr3的访存行为。如果mig核的数据接口为512bits,则需要实例 化8个ddr

4、3_model模块来完成模拟。改动后的ddr3_model.v在"仿真文件改动"冃录下, 主要修改的地方包括以下儿个方面: 模块实例化参数parameter init_number = 0(line 86),用于指导不同的ddr3_model模 块加载不同的初始化数据文件;初始化数据文件和地址文件(line 403 - line 416),后面会详细讨论ddr3的数据格式 和访存地址; 初始化数据氏度memory_used(line 400 & line 1904),将该变量赋值为初始化数据长 度,如:初始化文件中包含1000行数据(与地址划分无关),则将该变量赋值

5、为1000 o3) sim/ddr3_model_parameters.vh: ddr3_model.v 的头文件,主要关注 mem_bits 参数,在 ddr3_model.v 中,该参数决定 了 memory 数组的最大深度,mem_size = (1«mem_bits), 因此要根据仿真过程屮可能用到的最人数组深度来调整该参数,避免出现数纟h越界的情 况;4) sim/sim_tb_top.v:在实例化ddr3_model模块部分,增加了实例化参数的赋值,参照"仿 真文件改动"目录下的sim_tb_top_modified_part.v的内容作对应的修改即可

6、。说明:example_top.v和sim_tb_top.v屮,涉及到mig核的所有配置参数,因此在源文件屮修改对应的部分;ddr3_model.v以及ddr3_model_parameters.vh可盲接覆盖原来的文件。docsjpar1example.designrtluse:design1sim1 datasheet.txt1synthmig.prjlog.txt理prj文件图1 mig核目录(左)和example_design 录(右)3. ddr3_model.v 初始化3.1数据组织方式1)单个ddr3_model.v的情况mig核的数据访存位宽不超过64bits时,只会实例化一个

7、ddr3_model模块,从初始化数据 文件中读取数据完成初始化,ddr3中的数据组织方式与初始化数据文件中的内容是一致的;2)多个ddr3_model.v的情况mig核的数据访存位宽超过64bits时,会实例化多个ddr3_model模块。如访存位宽为512bits 时,会实例化8个ddr3_model模块。需要注意的是,ddr3中的访存数据并不是多个初始化 数据文件的简单拼接。一个简单的例了如下:(从0到31)ddr3 访存数据:0x0000000100020003000400050006000700080009000a.001c001d001e001f初始化文件应为:文件名ddr3 mo

8、del 编号文件内容mem7ddr3 model70x000000000000000064bitsmem6ddr3 model60x0004080cl014181cmem5ddr3 model50x0000000000000000mem4ddr3 model40x0105090dlll5191dmem3ddr3 model30x0000000000000000mem2ddr3 model20x02060a0el2161alememlddr3 modell0x0000000000000000memoddr3 model00x03070b0fl3171blf说明:初始化数据可以参照memoryjn

9、it_example.m程序。在该示例中,初始化地址采用了 25 位二进制,位宽取决于 ddr3_model.v 屮 max_bits=(ba_bits+row_bits+col_bits-bl_bits) 的貝-体值;另,在仿真过程中,ddr3_model模块中memory的前五行数据会被写入数据, 因此初始化数据时前八行填充无效数据,避免冇效数据被覆盖的情况;初始化数据的格式可 为浮点或定点,示例屮展示了写入double类型数据的过程。3.2字节地址& burst地址& memory地址字节地址:以字节为计量单位,与实际的物理地址对应。如一个容屋为2gb的sodimm条,

10、其地址空间为oxoooo_oooo-0x7fff_ffff,这里的地址空间对应的就是字节地址;burst地址:以burst为计量单位,在ddr3中,一个burst的长度为64bits,即8个字节。mig核用户接口中的地址是以burst地址作为计量单位的。访存数据位宽为64bits时,连续 访存时地址每次增加1;访存数据位宽为512bits时,连续访存地址每次增加8。如果地址没 有对齐,读出的数据会发生错乱。memory地fek: memory地址以行作为计量单位,一行对应着初始化数据文件中的一行数据, 用在初始化地址文件中 o ddr3_model.v 中,addr = bank, row,

11、col / bl_max,其中bank, row, col对应的是burst地址,访存数据位宽为64bits时,bl_max=1;访存数据位宽为512bits 时,bl_max=8o在初始化数据吋,-般会根据所选的sodimm条的容量,进行数据的地址划分。如访存数 据位宽为512bits时的一个数据划分的例了:数据字节地址(dec)burst 地址(dec)memory 地址(dec)无效起始地址000终止地址511567a起始地址512648终止地址6655824103b起始地址128001600200终止地址2559931923994. phy_ddr.v接口说明出于两个方面的考虑,phy

12、_ddr模块在mig核的应用接口上做了一层封装:一是时钟分离, phy_ddr模块中的界步时钟fifo实现了将用八工作吋钟与ddr3工作时蚀分隔开;二是简化 接口,并支持批虽的数据访存。(mig核访存位宽为512bits,其它位宽的需求可参照修改)。migd d r 3内部逻辑d d r 3应用接口glk_ddrclk_cldi:'app_rdy:app_en.app_cmd2:01app addr31:01app_rd_data_val id - appd_data511:0. appd data cnd »fifo_cmdusr clk:pe enpe cmdwpe ad

13、dr31:0.pe size“ pe rdy recvfifo_rdfr pe wdfldata"pe wdcvalidpcdy pc_rd_data_valid ped dataapp_wdlrdy app_wdflwren app_wdldata511:0 app_wd cma sk63:0 app wdflendfifo_wdf图 2 phy_ddr 接 口phy_ddr模块的端口说明: usr_clk:用户逻辑工作时钟; pe_en:命令使能,用户逻辑提交读或写命令时须将该使能信号置高; pe_cmd:命令内容,沿用了 mig核中的规定,3000表示写数据,3,b001表示读

14、数据; pe_addr:读写命令的起始地址,并且是burst地址; pe_size:连续读写的数据个数,一个数据的人小为512bits pe_rdy_recv:用户逻辑准备好了接收读取的数据,只有在该信号拉高的情况下, phy_ddr才会向用八逻辑发送读回的数据及对应的有效信号;该信号实现了反压机制, 避免出现用户逻辑处理速度慢造成的数据覆盖或者溢出的情况。 pe_wdf_data:用户逻辑提交的写冋ddr3的数据; pe_wdf_valid:用户逻辑提交的写回ddr3的数据的冇效标志,拉高表示数据冇效; pe.rdy:该信号表示phy.ddr接口准备好了接收来口用户逻辑提交的命令或者写回数

15、据,对应的是fifo_cmd和fifo_wdf未满的情况。只冇该信号拉高时,川户逻辑才允许提 交访存命令或者写回数据; ped_data_valid:从ddr3读回的数据的有效标志,拉髙表示该数据有效; pe_rd_data:从ddr3读回的数据。001() 20 uoqnsn £p*§pueq010004 2average bandw一2rh (gb/s)o1 8 6 4 2806040200400600800number of consecutive access图3 ddr3访存性能曲线ddr3在做连续的地址访存时能够更好的发挥带宽性能。图3展示利用该phy_ddr接口做连 续地址访存时的性能曲线,当连续读取32个数据时,平均带宽为& 11gb/s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论