原创 ZYNQ学习笔记之First Project

2019-6-20 16:34 2420 20 5 分类: FPGA/CPLD 文集: 技术学习
做了第一个Project
该工程功能:
PS内部定时器开启定时,PL端GPIO连接按键和LED,通过按键按下产生从PL到PS的中断,
中断服务程序是控制LED灯做流水灯闪烁,间隔时间为来自于定时器的1s。
同时,PS通过串口向PC发送信息并打印出来。
较为简单,但是具有两点意义:一是流程完整,作为记忆;二是用到的功能常用,以后其他工程可裁剪使用。
STEP
1,打开Vivado并建立新的工程system。
2,创建新的Block Design,添加ZYNQ7 PS 这一IP核,双击进入定制界面。

完成UART的配置,选择板子对应的MIO口,并配置电压。完成DDR的配置,选择正确的对应的DDR材料类型。时钟则输入33.33M,CPU比例选择6:2:1。

打开中断选型,勾选PL到PS的中断名IRQ_F2P[15:0]。

3,回到Block Design界面,添加axi-gpio模块,双击设置位宽,是否使能等。axi-gpio就是实现PS到PL的IO信号传输及使用。

4,完成后手动连线并再点击自动布线,Block Design基本创建完成。可以自己修改GPIO端口名称,方便记忆

5,然后点击 Sources 选顷卡,右键选择 sysetm, 在弹出框中选择 Generate Output Products,生成了Block Design的HDL文件。

     讲白了就是把IP核设计编程HDL代码,即例化IP核的代码。

6, 右键选择sysetm, 在弹出框中选择Create HDL Wrapper,创建顶层HDL文件。

7,加入约束。这里用到了PL端的IO口,所以需要对IO约束,添加XDC约束文件。

8,综合、实现、编译生成bit流文件 。

9,硬件导入到SDK中,选择菜单 File->Export->Export Hardware,弹出的框中勾选上 Include bitstream

10,Launch SDK。

11,SDK 软件编程,会有模板参考。

主程序,需要用到的axi-gpio,timer,uart等在其他子程序中。

12 ,编译无错后,先在SDK菜单栏点击Program FPGA,再编译SDK 工程,右键工程名,选择Run As,选择Launch on Hardware,完成下载。

作者: 狂野的牛哥, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-3867932.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

py二 2019-6-21 10:57

博主ZYNQ学习笔记可以开个小专栏了
相关推荐阅读
狂野的牛哥 2020-06-12 10:24
DC是怎样综合RTL级设计的?
学习书籍《数字IC设计-方法、技巧与实践》笔记对于软件DC(Design Compiler)而言,综合=翻译+优化+映射。翻译:是将RTL级描述转换成DC常用的布尔表达,优化是根据设计目标优化电路结构...
狂野的牛哥 2019-10-29 11:08
秋招整理
签订三方结束秋招已经快一周了,想着回忆整理一下自己的秋招经历,留作纪念,也希望能帮助需要的人。坐标hf,目的城市hf或者wh,所以找工作的重点其实还是放在wh,hf和长三角区域,诸如北京,珠三角以及其...
狂野的牛哥 2019-08-16 20:55
步进电机驱动芯片TMC260使用经验
项目需要使用步进电机的驱动芯片,几经比较,选用了德国的TMC260,非常好用,工作起来稳健。芯片有两个完整的H桥,所以可用来控制两个直流电机或者一个二相四线步进电机。具体参数查看datasheet,大...
狂野的牛哥 2019-07-25 10:53
时序约束之偏移(OFFSET)约束
笔记本上整理记载了时序约束中的偏移约束,上传图片保存,以备日后查阅使用。...
狂野的牛哥 2019-06-20 15:30
ZYNQ学习笔记之时钟相关
通常模式下,锁相环PLL是启动的,PS-CLK提供时钟信号,经过三路PLL,分别是:ARM PLL,产生时钟用于CPU和互联;IO PLL,产生时钟用于IO外围设备;DDR PLL,产生时钟用于DDR...
EE直播间
更多
我要评论
1
20
关闭 站长推荐上一条 /3 下一条