zynq-PS知识点(一)修改PS IP核、生成HDF和helloworld小系统

zynq-PS知识点一 修改PS. IP核、生成HDF和helloworld小系统)

  • 1 概述
    • 最小系统
    • 创建block design
    • ZYNQ7 Prosscessing System
    • DDR存储器配置
    • UART外设添加
    • UART电压检查
    • BANK电压检查
    • 配置PS时钟
    • 验证设计
    • 生成顶层(.HDF)硬件描述文件
    • Vivado SDK工具使用
    • Vivado hello world
    • 下载工程代码

1 概述

嵌入式开发流程
在这里插入图片描述

最小系统

在这里插入图片描述

只有PS部分

创建vivado工程
在这里插入图片描述

并修改工程名称、路径
在这里插入图片描述

选择RTL工程
在这里插入图片描述

7010核心板 选择Zynq型号 XC7Z010CLG400-1
在这里插入图片描述

查看summary部分内容
在这里插入图片描述

创建block design

即创建一个模块化设计
在这里插入图片描述

查看,system.bd
在这里插入图片描述

右键添加IP
在这里插入图片描述

搜索关键词ZYNQ, 双击打开
在这里插入图片描述

查看PS模块示意图
在这里插入图片描述

ZYNQ7 Prosscessing System

DDR
Fixed_IO
M_AXI_GP0
FCLK_CLK0 (是PS给PL提供的时钟信号)
FCLK_RESET0_N
M_AXI_GP0_ACLK (是M_AXI_GP0的时钟信号)
外设并未在上面的图片展示。

双击PS模块之后,可以查看到内部结构:
在这里插入图片描述

在这里插入图片描述

DDR存储器配置

在这里插入图片描述

选择一个与自己DDR兼容的型号!
在这里插入图片描述

MT41256M16-RE125
解析:
MT 美光
16 数据位宽16bit
容量256M * 16 = 4096M = 4Gbit
如果用来2块ddr3,则4G*2 = 8Gbit
因为用了2块16bit数据位宽的DDR,所以一下有效数据位宽选择32bit
在这里插入图片描述

以上DDR就配置ok了。

UART外设添加

在这里插入图片描述

根据硬件原理图查找io对应关系
PS_MIO14 RX
PS_MIO15 TX
在这里插入图片描述

选择相应MIO
在这里插入图片描述

MIO选择也可以在MIO Configuration中选择,
在这里插入图片描述

配置uart0的波特率
在这里插入图片描述

UART电压检查

在这里插入图片描述

BANK电压检查

Bank500是3.3V
Bank501是1.8V

在这里插入图片描述在这里插入图片描述

最终配置如下
在这里插入图片描述

配置完成后点击ok
在这里插入图片描述

如果不需要M_AXI_GP0,则取消如下选项
在这里插入图片描述

配置PS时钟

查看原理图,查找 输入(源时钟)PS_CLK_500时钟频率:33.333333Mhz

在这里插入图片描述

CPU时钟
DDR时钟
在这里插入图片描述

如果不需要PL,则取消勾 选FCLK_CLK0
在这里插入图片描述

如果不需要PS对PL的复位信号,则取消勾 选FCLK_RESET0_N

在这里插入图片描述

最终得到最小系统如下:

点击RUN BLOCK AUTOMATION,自动创建模块端口。
在这里插入图片描述

创建完成,如下:

在这里插入图片描述

验证设计

如下:
在这里插入图片描述

生成输出结果,如下:

在这里插入图片描述

选择默认选项,IP核独立进行输出;

在这里插入图片描述

生成结果:
综合
实现
仿真
在这里插入图片描述

管脚分配约束如下:
在这里插入图片描述

生成顶层(.HDF)硬件描述文件

在这里插入图片描述

选择默认选项,如下:
在这里插入图片描述

生成system_wrapper, 内容是顶层fpga代码
在这里插入图片描述

导出硬件描述文件
在这里插入图片描述

是否包含PL bit,如果需要选择上
在这里插入图片描述

生成文件目录

在这里插入图片描述在这里插入图片描述

可以用解压缩文件,解压查看
在这里插入图片描述

Vivado SDK工具使用

启动软件开发工具
在这里插入图片描述

保持为当前工程路径
在这里插入图片描述

启动sdk

在这里插入图片描述

创建sdk工程
在这里插入图片描述

设置工程名称
在这里插入图片描述

选择空的工程模板
在这里插入图片描述

Vivado hello world

创建生成的代码, 如下
第一个是软件应用,
第二个是bsp是硬件和软件应用中间的支持包.

在这里插入图片描述在这里插入图片描述

创建main函数
在这里插入图片描述

串口打印添加
在这里插入图片描述

在这里插入图片描述

下载工程代码

在这里插入图片描述

下载验证,如下:
在这里插入图片描述

感谢阅读,祝君成功!
-by aiziyou

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Zynq-7000是由Xilinx公司生产的一款集成了ARM处理器和可编程逻辑(PL)的片上系统(SoC)。它的可编程逻辑部分可以通过重新配置(Reconfigure)来进行定制和优化。 Zynq-7000的可编程逻辑部分由一系列可编程逻辑单元(PLU)组成,可以通过Vivado开发环境进行配置和定制。重配置PL意味着可以改变PL中的逻辑电路,以满足不同的需求。 重配置PL的过程大致分为三个步骤。首先,需要使用Vivado开发环境创建和配置逻辑电路。这可以通过使用硬件描述语言(如Verilog或VHDL)来实现,也可以通过使用硬件抽象层次语言(如C、C++或OpenCL)来实现。 其次,需要将配置好的逻辑电路编译成比特流(Bitstream)。比特流是一种描述逻辑电路的中间文件,可以被FPGA芯片理解和加载。 最后,将生成的比特流加载到Zynq-7000的可编程逻辑部分。这可以通过JTAG接口或SD卡等方式实现。一旦比特流被加载,Zynq-7000的可编程逻辑部分就被重新配置为新的逻辑电路。 通过重配置PL,可以实现许多应用场景,例如加速计算、优化算法、嵌入式系统的定制等。它提供了一种便捷的方式来优化和个性化Zynq-7000的使用。 总的来说,Zynq-7000的可编程逻辑部分可以通过Vivado开发环境进行重新配置,以满足不同的需求。这种重配置的过程包括创建和配置逻辑电路、生成比特流、加载比特流到Zynq-7000,并可以应用于各种应用场景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jack.Jia

感谢打赏!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值