到网上查了一下,zedboard的资料好多,也看了好多,但还是不知道从哪入手。。。一步一步试着做好了,错了再纠正。
首先,我想先做PL实现读写DDR3.
参见:@超群天晴 http://www.cnblogs.com/surpassal/ 使用自带外设IP让ARM PS访问FPGA,我是想实现FPGA访问DDR3.都是使用自带外设IP进行通信,应该差不多。所以试着做,如下:(将步骤写在下面,犯的错误也容易发现)
1. 创建硬件工程:按照一步一步学zedboard & zynq(三)
启动XPS,用BSB Wizard 创建工程。因为DDR3和FPGA连接是采用AXI4接口,因而选择内部互联类型(Interconnect Type) 为AXI.
选择设计平台zynq zc702
到外设配置界面,系统会默认有GPIO_SW 和 LEDs_4bits 这两个外设,我们不需要,remove。
2、添加DDR外设
工程建立后,在IP Catalog中,找到Memory and Memory controller,找到 AXI7 Series memory cotroller(DDR2/DDR3),双击添加到系统中。
下面就进入Memory Interface Generator,这里面有user guide,但是有很多不一样或者没有,我也不是很清楚怎么做,下面就按照ug586试着做:
然后选DDR3 SDRAM。
zedboard_HW_UG_v2_2.pdf 中指出早期DDR3是MT41J128M16HA-15E,2012年8月之后用的是MT41K128M16JT-125.我不清楚我的板子上是哪种,而且我只有前面DDR型号。所以选择这个,继续
设置数据宽度为32,算法中有double类型。
我还不是很清楚bank,row 和column之间的关系。就记得之前做的时候 有提示bank33,34,35在一个column中,具体他们之间的结构不是很清楚,但知道这里要选ban+row+column。
下面选择fixed pin out 可以选择已有的ucf文件,或者手动生成ucf文件。
这一步是我发愁的,我不清楚bank,T 和pin怎么选,只能按照数据和数据控制信号一个bank,地址和地址信号一个bank 再配合规则修改的。pin口的选择是随便选的,因为我没有找到对应的说明。这里暂时这样做:validate 可以通过 保存ucf文件
然后finish,报错。。。
请教达人之后明白,Pin selection这一步做错了。。。
不是随便选的pin口,要去查资料:ZedBoard_RevC.1_Schematic_130129.pdf 里面有对应的引脚说明,也有每个bank里面有哪些引脚,
所以重新做这一步。(这里有个问题 做完关掉之后 我不知道从哪里打开修改,只会重新添加一个IP,不知道之前生成错误的还有没有。。。)
但是!!!文档当中的引脚在Memory Interface generator中的 pin number找不到。。。当初好像就是因为找不到所以随便选的,循环了。。。
不知道怎么做了呀。。。。今天先到这里吧。。。╮(╯▽╰)╭
小白初学zedboard 1 (遇到问题求教),布布扣,bubuko.com
原文:http://www.cnblogs.com/ly323/p/3704000.html