FPGA_BD Block Design学习(一)

PS端开发流程详细步骤

1.第一步:打开Vivado软件,创建或打开一个工程。

2.第二步:在Block Design中添加arm核心,并将其配置为IP核。

3.第三步:配置arm核心的外设信息,如DDR接口、时钟频率、UART接口等。

4.第四步:完成Block Design中的模块互联,生成PL端的比特流。 5.第五步:导出PS端的硬件信息,包括arm IP核的外设、速度、引脚和地址等信息。

BD的设计

1创建bd

 

 2 资源介绍

 

 

 2.1 最小系统 

需要有ddr以及uart和时钟

配置外设io口,这里就是zynq的管脚规定好的,根据原理图用哪个个勾选哪一个。

 对外设uart的配置可以看到配置好的

 时钟的配置

ddr是双倍的

 ddr的配置

如果一片是16位有两片的话那么位宽就选32

 保存zyaqip

 打包Generate output products 然后Create HDL wrapper

 

 

 打包好后,以及自动分配好约束文件生成bit文件即可

Alinx7020 是基于 Xilinx Zynq-7000 系列 SoC 的开发板,广泛用于嵌入式系统、FPGA 开发和软硬件协同设计。其模块化设计支持多种应用场景,包括工业控制、图像处理、通信接口等。 在模块设计方面,Alinx7020 的核心架构通常包括以下部分: - **Zynq-7000 AP SoC**:集成了双核 ARM Cortex-A9 处理器与可编程逻辑(PL),实现高性能计算与灵活的硬件加速能力[^1]。 - **DDR3 存储控制器**:提供外部 DDR3 SDRAM 接口,用于存储程序和数据,满足高速缓存需求[^1]。 - **时钟管理单元**:包含 PLL(锁相环)模块,为系统提供稳定的时钟源,并支持动态频率调节[^1]。 - **外设接口模块**:如 UART、SPI、I²C、GPIO、以太网 MAC、SD 卡控制器等,便于连接外部设备和传感器[^1]。 在开发流程中,通常使用 Vivado 工具进行 Block Design 设计,构建硬件系统。以下是个典型的 Block Design 流程示例: 1. 创建 Zynq Processing System(PS)模块并配置其参数,例如 CPU 频率、DDR 控制器设置等。 2. 添加 AXI GPIO、AXI UART、AXI SPI 等 IP 核,连接至 PS 的相应接口。 3. 利用 AXI Interconnect 或 SmartConnect 模块实现多个外设与处理器之间的高效通信。 4. 完成设计后生成比特流文件(.bit),并通过 SDK 或 Petalinux 编写运行在 ARM 上的应用程序。 此外,开发指南通常建议: - 使用约束文件(XDC 文件)定义引脚分配和时序要求,确保设计符合物理封装限制。 - 在硬件设计完成后,通过仿真验证功能正确性。 - 结合 SDK 或 Vitis 工具链编写裸机程序或运行 Linux 操作系统。 以下是个简单的 Block Design 示例代码片段(Tcl 脚本): ```tcl # 创建 Block Design create_bd_design "design_1" # 添加 Zynq Processing System startgroup create_bd_cell -type ip -vlnv xilinx.com:ip:processing_system7:5.5 processing_system7_0 endgroup # 配置 PS 参数 apply_board_connection -board_part em.avnet.com:zed:part0:1.1 set_property -dict [list CONFIG.PCW_USE_M_AXI_GP0 {1}] [get_bd_cells processing_system7_0] # 添加 AXI GPIO startgroup create_bd_cell -type ip -vlnv xilinx.com:ip:axi_gpio:2.0 axi_gpio_0 set_property -dict [list CONFIG.C_ALL_OUTPUTS {1}] [get_bd_cells axi_gpio_0] endgroup # 连接 AXI GPIO 到 PS connect_bd_intf_net [get_bd_intf_pins processing_system7_0/M_AXI_GP0] [get_bd_intf_pins axi_gpio_0/S_AXI] connect_bd_net [get_bd_pins processing_system7_0/FCLK_CLK0] [get_bd_pins axi_gpio_0/s_axi_aclk] # 保存并生成 save_bd_design generate_target {synthesis implementation} [get_files *.bd] ``` 该脚本可用于快速搭建个基本的嵌入式系统,适用于 Alinx7020 开发环境中的硬件设计阶段。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值