ZYNQ分为PS和PL两部分,PS端即ARM,PL即FPGA。在使用ZYNQ的时候不免需要PS和PL端进行通信。大多是情况下PS作为主端,PL作为从端,通过AXI总线实现PS-PL端的通信。本文主要介绍PL(即FPGA)如何配置的。 Block Design创建 1.点击Create Block Design,添加ZYNQ7 Processing System IP 2.双击打开ZYNQ7 Processing System,...
接下来配置一下中断 这里会出现中断的接口 接下来添加一个引脚 连起来 重新生成一下顶层文件 打开顶层文件,加一个非门(因为PS这边貌似只支持上升沿中断和高电平中断) 在约束文件里面添加触发IRQ的引脚(这里用的是KEY4,HDMI座子旁边的那个按键) 执行生成位文件 结束之后将原来的SDK目录删掉 重新导入硬件和位文件之后打...
一、ZYNQ中断框图 PL到PS部分的中断经过ICD控制器分发器后同时进入CPU1 和CPU0。从下面的表格中可以看到中断向量的具体值。PL到PS部分一共有20个中断可以使用。其中4个是快速中断。剩余的16个是本章中涉及了,可以任意定义。如下表所示。 二、ZYNQ中断分类 1.软件中断(SGI
(* X_INTERFACE_INFO = "xilinx.com:display_processing_system7:fixedio:1.0 FIXED_IO PS_PORB" *) inout FIXED_IO_ps_porb; (* X_INTERFACE_INFO = "xilinx.com:display_processing_system7:fixedio:1.0 FIXED_IO PS_SRSTB" *) inout FIXED_IO_ps_srstb; wire [0:0]VIO_PL_probe_out0; wire...
上图为 zynq 中断分布框图。可以看到部分 PL 到 PS 部分的中断,经过中断控制分配器(ICD), 同时进入 CPU1 和 CPU0。查询下面表格,可以看到 PL 到 PS 部分一共有 20 个中断可以使用。4 个快速中断(PPI),即 IRQF2P[19:16];16 个共享中断(SPI),即 IRQF2P[7:0]、IRQF2P[15:8]。
第一步:PL部分 第二步:PS部分 2. PL写入BRAM数据,PS读出BRAM数据 第一步:修改Block Design 第二步:修改顶层文件与BRAM 读写Verilog程序 第三步:生成bit文件,并重新生成SDK 第四步:修改PS端代码 3. 开始测试: (1)通过PL对BRAM进行数据写入 (2)PS触发中断读出数据 ...
实际上,Zynq就是两大功能块:双核Arm的SoC和FPGA。根据Xilinx提供的手册,PS: 处理系统 (Processing System) , 就是与FPGA无关的ARM的SOC的部分。PL: 可编程逻辑 (Progarmmable Logic), 就是FPGA部分。这有点像xilinx以前推出的powerPC+FPGA平台。下图为官方文档中介绍的ZYNQ内部结构。
学会Zynq(8)PL中断示例(SPI) PL中断 双核Zynq中共有20个PL到PS的中断。IRQF[15:0]是16个共享外设中断(SPI),可配选择上升沿触发或高电平触发,中断号为61-68和84-91。 另外还有4个私有外设中断(PPI)IRQF2P[19:16],每个CPU都有一个来自PL的FIQ(快速中断)和IRQ,其中断敏感类型固定。
【xilinx ZYNQ7000系列 PS、PL、PS-PL 、AXI 、启动流程 基本概念】 原创作者:紫枫术河 这篇文章记录《xilinx ZYNQ7000 》 系列的基本概念(我用的芯片是ZYNQ7020 软件Vivado 2017.4) 一、ZYNQ基本结构 ZYNQ7000系列分为 Artix-7 Kintex-7 Virtex-7,各个型号区别参考下面的博文 ...
ZYNQ中虽然包含PS端和PL端,但是整个设计是以ARM处理器为中心的,PS端的ARM内核可以独立于PL端运行;虽然PL端也可以独立于PS端运行,但是PL的配置是由PS端完成的,所以不能采用传统的固化FLASH的方式固化PL端程序。 PS端和PL端通信是通过AXI接口协议连接,这个协议是AMBA的一部分,是一种高性能、高带宽、低延迟的片内...