MIG与DDR
0-:app接口就是native接口,还有一种是axi4接口。(就两类接口,默认mig就是native接口,axi4需要配置,配置方式如下)[28:0] app_addr 具体占多少位宽要根据下图3绿色标识处。0:结构简图512M*16容量计算=2^16*2^3*2^10*16bit=8Gb=1GB(16bit位宽,一共有8个BANK)1.DDR3为了保证CPU正常工作,必须一次传输完CPU 在一个传输周期内所需要的数据。而CPU在一个传输周期能接受的数据容量就是CPU数据总线的位宽,单位是bit(位)。一般是64bit,所以我们的板子加了4片DDR3=4X16bit=64bit.2.根据Part Number 中的“-125”我们就可以找到图中的tCK = 1.25ns,就可以算出芯片支持的最大IO时钟频率:1/1.25ns = 800Mhz;此处的IO时钟频率也就是DDR3的频率3.当一个FPGA上挂多个DDR,如4片ddr3,位宽则会相应增大;16*4 = 64bit,再乘以DDR3的突发长度BL=8;那么程序设计里DDR3的读写(app读写信号位宽)位宽就变成了16*4*8=512bit; (这里留个印象,再后文IP例化及程序设计部分还会讲到,到时候对应起来看更容易理解)——Read Burst Type and Length:突发类型选择,突发类型有顺序突发和交叉突发两种,本次选择顺序突发(Sequential),其突发长度固定为 8。4.由于是DDR方式传输数据(上升和下降沿都传输),所以芯片的一根数据线上的传输速率= 2*800Mhz = 1600MT/s(1Kb=1000bit)。其实就是1600Mbit/s;带宽就是16根数据线同时传输的数据速率 = 1600Mbit/s x 16 = 25600Mbit/s = 3200Mbyte/s = 3.125GByte/s(25Gbit/s)k7系列的FPGA所支持的DDR3传输速率高达1866MT/s,这里需要跟硬件工程师具体了解了解,实际使用最高还是1600MT/s,对应频率= 1600M/2= 800Mhz;5.Clock Period:(上图已讲解如何查看器件所支持的最大频率)6.术语部分核心频率:核心频率就是DDR物理层(PHY)IO时钟频率,对应到MIG就是第一个配置的“CLOCK PERIOD”,上文我们选择的是800Mhz工作频率:核心频率* 2 (上下沿)= 1600M核心频率* 2 = 1600M传输速率:核心频率* 2 = 1600MT/s带宽:传输速率*位宽 = 1600M * 16 = 25600Mbit/s = 3200Mbyte/s = 3.125GByte/s7.选择DDR3的类型,Components指的是DDR3的型号是元件类颗粒,笔记本那种的插条类是SODIMMs。8.是否使用XADC,会输出器件的温度,如果其他模块要用XADC,那么这里就不使能。9.利用MIG核(上图红色部分)可以核DDR3芯片进行通信,我们只管USER FPGA logic部分就可以了。注意:ui_clk_sync_rst是高有效与系统复位区分开来
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2430193.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!