Zedboard自定义AXI总线IP详解(多图)

首先启动PlanAhead,选择Create New Project


中间省略一万字。。。。。。(跟前一篇HelloWorld步骤差不多,直到添加IP部分)

 

1、点击Hardware进入CIP向导


2


3


4


5


6


7、选择SW寄存器(其实相当于一个中间变量,用来控制IP,这里我们选择两个,一个用来读取SW

一个用来写入LED


8IPIC(系统已经帮你弄好了的AXI总线与IP之间的连接,这里选择默认)


9Next完之后,IP创建完成。工程目录下会生成 drivers文件夹(里面有IP的驱动模板程序,主要看那个***.h

pcores文件夹(里面是所创建IP的所有信息)



10、进入如下devl目录,打开ISE工程文件,修改自定义IP,如定义用户逻辑,IP接口等。


 


11、打开USER_LOGIC文件,做一下修改

修改1


修改2


修改3


 

修改4


 

修改5:(不屏蔽的话会报错--multipy drivers,再两个Always块中分别连接了不同的FF


 

12、修改VHL接口文件


修改1


修改2


修改3


13、修改完后,保存,综合一下,没错则退出。


 

14、回到XPS中,修改IPMPD文件,添加PORT


15、修改完后,更新一下Rescan User Repositories


16、之后添加IPXPS工程中,弹窗选默认


 


17、之后可以在图形设计界面看到IP核加了进来


 


 

 

18、之后再Ports窗口,把IP的端口映射到External Ports


19、再生成一下地址,那么硬件设计就差不多完成了。


 

20、关闭XPS,回到PlanAhead。为工程生成顶层HDL


21、添加ucf约束文件。


 


22、点击综合-----------》综合后,Open Synthesis Design------------》打开IO Port窗口


 


 


23、如下图修改引脚映射,Ctrl+S保存,会提示你覆盖到创建的ucf中。


24、之后点击Implementation实现-----------》产生位流bitgen


24、导出到SDK中,编辑软件



25、在SDK中创建ApplicationProject,并利用Hello World模板


 


 


26、成功打开后,SDK主界面如下


27、修改HelloWorld.c文件,首先将之前系统生成的IP驱动文件拖进SDK工程中


之后会发现.h文件报错,这里是由于工程无法找到xbasic_types头文件


28、在下图位置,添加Include文件路径,重新编译


29、在添加进来的H文件中可以看到,系统帮你封装好的AXI总线函数


这里的BaseAddress可以在xml文件中看到


30、修改Helloworld文件,为了功能测试,代码有点简单


31、下载位流


 


32、修改Debug Configuration,一般默认就行,如果用到printf函数可以设置STDIO Connection


Run As。。。中Run


33、这样开发板中SWLED就搞上了。然后,就没有然后了。ENJOY IT

 

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值