小白初学zedboard 1 (遇到问题求教)

到网上查了一下,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

时间: 2024-10-09 18:10:36

小白初学zedboard 1 (遇到问题求教)的相关文章

小白初学zedboard 2

继续之前的问题.. 查了一些资料,其中zhaoyongke的博客http://www.openhw.org/zhaoyongke/blog/13-04/293202_a1698.htmlAXI总线学习中 提到: ARM将用户自定义IP编入某一地址进行访问,读写时就像在读写自己的片内RAM,编程也很方便,开发难度较低.代价就是资源占用过多,需要额外的读地址线.写地址线.读数据线.写数据线.写应答线这些信号线,而且传输速度受限(主要是因为采用AXI-GP物理接口,带宽很低). 我这种应用 用AXI4

小白初学python

楼主无只小白,初学python.本来想着用sublime去学习的,但是无奈不怎么懂得解决sublime环境问题,转用pycharm,直接去pycharm下载免费开源的软件之后,新建project, ,之后新建一个python file 便开始了我的python的学习之旅. 原文地址:https://www.cnblogs.com/sharkchen/p/8431029.html

小白初学Java的一点点收获

作为刚刚学习Java没有几天的小白,我想把我我在学习过程中,所遇到的疑惑,知识,和掌握的小技巧和大家一起分享分享.在这个过程中,希望大家可以有所收获,有什么不对的地方,希望大家指出并且私信我. 首先说说第一次记事本开发的Java三个步骤,以HelloWorld为例. 1:使用记事本编辑源程序,以.Java后缀名保存:              2:使用Javac命令编译.java,生成.class文件: 3:使用Java命令运行.class输出程序结果. 注意事项: 1:文件名于类名完全一样,首

小白初学 MBR 扇区损坏 及还原

虚拟机内模拟MBR扇区损坏,及如何还原. 首先在虚拟内添加一块硬盘,大小20G就OK. 开机.......... 漫长的等待中,终于卡机了  输入用户名: root 密码:******* 首先我们先检查下磁盘 然后将磁盘进行分区 格式化硬盘 mkfs.ext3 /dev/sdb1 格式完以后呢,创建一个挂载的目录 mkdir /date 然后将硬盘sdb1挂载到 /date 下 mount /dev/sdb1 /date 查看是否挂载成功. 然后呢就是讲MBR的512字节的数据备份到sdb1上

小白初学搭建 配置本地yum

挂载ISO 到 /media 首先检查光盘是否安装好. 卸载 umount /dev/cdrom 挂载 mount /dev/cdrom /media 查看是否挂载成功 mount | tail -n 1 查看验证  ls /media 搭建成功以后  cd /etc/yum.repos.d 查看  ls rhel-debuginfo.repo   /这是一个模板 8. 将这个模板文件重新拷贝一份,重新命名. cp rhel-debuginfo.repo  rh-server5.9.repo 9

小白初学ABP框架,着实累啊

这几天在学习ABP相关的知识AutoMapper ,AngularJS,Less,DI(dependencyInjection),EntityFramework code first以及相关NuGet包管理控制台,castle windsor (容器注入),接触Dto,Repository(仓储) 和 SPA(singlePageApplication),弄了三四天终于可以弄起一个完整的ABP简单项目了,实在不容易啊,之前还什么是IOC都不知道的,现在感觉又进步了不少,虽然这几天挺累的,但是想想

小白初学Ioc、DI、Castle Windsor依赖注入,大神勿入(不适)

过了几天,我又来了.上一篇中有博友提到要分享下属于我们abp初学者的历程,今天抽出点时间写写吧.起初,我是直接去看阳光铭睿的博客,看了一遍下来,感觉好多东西没接触过,接着我又去下了github 里面下了几个例子来看,看起来还是有点吃力,毕竟我只用过MVC3和asp.net4.0以及EntityFramework3.5 ,突然感觉自己好像跟世界脱轨了,什么IOC只是听老师提过,当时不知道有什么用就没怎么听,AutoMapper,AngularJS,Less什么的没听过.没办法,只好先去一个一个把他

小白初学Vue之 组件与实例的关系 初试篇

内容:组件和实例 一.组件和实例的关系 先看下之前的代码,来看下整体的架构 1 <!DOCTYPE html> 2 <html> 3 4 <head> 5 <meta charset="UTF-8"> 6 <title>拆分组件</title> 7 <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue.js"

java小白 初学单例模式之饿汉模式(望各位大佬多多指点)

单例模式的作用 就是只能创建一个对象 步骤 第一步 创建一个用私有的,静态的当前类的对象,代码如下 private static Dog dog = new Dog();(注意这里首先创建了一个Dog类的对象) 第二步 创建一个私有的,无参的构造方法,代码如下 private Dog(){} 第三步 写一个静态的,参数为当前类的一个get方法,其实就是调用这个方法创建对象,代码如下 public static  Dog  getDog(){ return  Dog; } 原文地址:https:/