《vivado mig IP配置研究》由会员分享,可在线阅读,更多相关《vivado mig IP配置研究(14页珍藏版)》请在金锄头文库上搜索。
1、.专业整理.Vivado mig IP配置一、 开发环境项目是在如下环境下运行:Vivado2017.4Win10二、 MIG IP配置图1 查找mig IP图2通过图2页面可查看自己的芯片型号,封装类型,速度等级图3在” mig output options”页面当初次创建工程需选择“”creat design:创建空白工程verify pin chanes and updata design:导入已经完成的XDCnumber of controllers:DDR的控制数量AXI4 interface:使能AXI4接口,当使用verilog对DDR进行控制的时候可以使用图4Pin compa
2、tiable FPGAs:列表中的选项与所选的芯片型号兼容(一般用不到)。图5MIG IP能控制DDR3与DDR2芯片图6Clock period该选项的值决定输入DDR3控制器的时钟频率,大小由DDR和FPGA芯片频率决定。PHY to contreller clock该选项的选取决定用户(fpga)的时钟频率(use_clk),4:1则表示use_clk = Clock period/4。(结论参考xilixn官方手册 UG586 P119 Internal (FPGA) Logic Clock)图7 FPGA CLKMemory part 选择DDR3型号,此点需要注意的是DDR3型号的
3、数据宽度与DATA_WIDTH的值应对应(MT41J256M16XX-125)DATA WIDTHDDR3 数据总线宽度(需要注意的是,该配置项的值应该根据实际电路来确定,例如当电路中将两个DDR3进行并联(位扩展)的时候,DATA WIDTH为2*16)图8AXI总线配置(暂时没用到,以后补充)图9Input clock period Input clock period选项的值决定了mig 输入时钟的值的大小(sys_clk_i),网上的很多博主大都选择200MHZ(选择200MHZ的原因是方便参考时钟的选择)。建议选项:当硬件时钟不等于200MHZ,并且有专用的system clock,
4、Input clock period选实际输入时钟值(值的选择要根据实际的硬件电路)输入时钟周期,当选择5000ps时,后面选择参考时钟时,才会出现system clock。Read burst type and length7系列的MIG控制器只支持8突发(表示怀疑,后期需要通过编程验证)(ug586 p39),突发类型有顺序突发和交叉突发两种(待探究)图10 7系列只有8突发图11System clock 系统时钟:系统时钟的类型也就是输入时钟的类型可选,Single-Ended, Differential, No Buffer当选择NO BUFFER时候,该时钟不会被接入全局时钟网络,也
5、不会为sys_clk_i分配引脚。选择NO BUFFER,sys_clk_i信号需要连接到一个内部时钟。(参考:ug586 p41)图12 系统时钟介绍Reference clock第一, 该选项可选择Single-Ended, Differential, No Buffer, or Use System Clock第二, 该值必须为200MHZ第三, 当选择 No Buffer和system clock 时不会为参考时钟分配引脚,当选择NO BUFFER时需要将参考时钟(clk_ref_i)接入内部时钟(pll)第四, 当input clk period 为200MHZ选择Use Syste
6、m Clock要点:系统时钟与参考时钟在原理上没有任何关系,因为参考时钟必须为200MHZ,当系统输入时钟为200MHZ,参考时钟可以选择系统时钟作为输入而已后续略:MIG IP配置过程中存在的时钟关系图1 Mig的MicroBlaze系统中存在的时钟关系首先DDR3的工作输入时钟需要由MIG IP提供400MHZ(本设计中DDR3的最高频率400MHZ),ddr3_clk来源于PLL,PLL的作用为将输入的系统时钟(开发板的晶振频率为50MHZ,不知为何当,选择PLL的输入时钟为50MHZ时,参考时钟的选项中没有use system clock这一选项),倍频或者分频出一个ui_clk和一个
7、ddr3_clk(ui_clk和ddr3_clk的大小关系要看“PHY to controller clock ratio和Clock period的选择”)。举例,Clock period等于400M、HZPHY to controller clock ratio为4:1、input clock ceroid为200MHZ。则ddr3_clk = 400MHZ、ui_clk = 100MHZ、sys_clk = 200MHZDDR3带宽计算方法:例如:DDR3 CK = 400MHZ、数据宽度16bit则DDR3带宽为800MHZ*16bitMIG带宽为100MHZ*(8*16)bit .学习帮手.