博客
在网上看了很多的介绍,基本都是一样的,但是根据这些博客,自己验证了下发现结果和matlab中不一样。
1.配置IP核
用vivado17.2 IP版本为9.0,配置首先配置最大长度为64,时钟为100MHz,将长度可以改变选中,如下图所示:
<center><img src="http://xilinx.eetrend.com/files/2019-01/%E5%8D%9A%E5%AE%A2/100017412-58…; alt=""></center>
<strong>VGA硬件接口</strong>
到zedboard官方给出的原理图中查看:
<center><img src="http://xilinx.eetrend.com/files/2019-01/%E5%8D%9A%E5%AE%A2/100017393-58…; alt=""></center>
zynq 的内嵌了 XADC,可以用来采集电压;
Temp:芯片温度
VCCINT: 内部PL核心电压
VCCAUX: 辅助PL电压
VCCBram: PL BRAM电压
VCCPInt: PS内部核心电压
VCCPAux: PS辅助电压
VCCDDR: DDR RAM的工作电压
VREFP: XADC正参考电压
VREFN: XADC负参考电压
ZCU102实时YUV码流输出方案:将摄像头采集的数据,输出YUV的码流数据!功能:将实时YUV码流在ZCU102BSP上编码H265,通过RTP传输协议将H265视频数据打包发送到客服端,客服端上设置H265相关参数(IP、端口号、时钟频率等)在sdp文件中,使用VLC播放实时的H265码流
在透过 Vivado 去建立新的项目的时候,开发板没有 UltraZed-EG PCIe Carrier Card 的选项可以选,因此我们就必须自己去设定关于其开发板的信息。
最近入手了 UltraZed-EG PCIe Carrier Card ,这是一款基于 UltraZed-EG 核心板进行延伸的开发板,和 Zybo Board 类似,是一款同时具有 Xilinx FPGA 并且包含了 ARM CPU 的开发平台。为了了解这块开发板,我做了一些整理,让我们一样从硬件以及外围开始吧~
FPGA(现场可编程门阵列)是半导体器件,通过设计实现具有可编程互连的逻辑块阵列。与“硬化”设备(即CPU / GPU)不同,FPGA可以编程为实现用户所需的特定硬件设计。在设计硬件系统之后,必须使用二进制文件对FPGA进行编程。此过程通常称为配置。此外,在具有固定功能和动态功能的用例中,可以部分地重新配置FPGA
网上有一些文章描述modelsim与vivado的联合仿真方法,一般都是在vivado的tool工具中选择编译仿真模型,然后选择器件进行编译,最后用生成的modelsim.ini去替换modelsim目录下的相同文件
ug948中提供的官方例程为图像的中值滤波,该设计将一副256*256大小的RGB图像,添加噪声后提取出其中的Y通道,使用C++语言完成中值滤波。该设计将在Simulink环境下进行仿真。本次设计的流程是利用Vivado HLS建立C/C++代码,Export RTL–>System Generator–>Vivado
前面的中断学习中我们学了按键,GPIO,Timer,是时候把它们整合到一起了。今天我们混合使用PS/PL部分的资源,建立一个比较大的系统
Zynq7000 系列芯片有 54 个 MIO(multiuse I/O), 它们分配在 GPIO 的 Bank0 和Bank1 隶属于 PS 部分, 这些 IO 与 PS 直接相连。 不需要添加引脚约束, MIO 信号对 PL部分是透明的。 所以对 MIO 的操作可以看作是纯PS 的操作
Zynq最核心的设计理念就是软件加硬件,即PS+PL。通过软硬件协同设计,结合了FPGA与双arm9内核,对于嵌入式拥有极大的优势。整个片上系统主要使用资源:ZYNQ系列FPGA XC7Z020、2片DDR、串口芯片(USB转UART)。Zedboard板子自带了这些资源,不需要另外添加模块。
System Generator是Xilinx公司进行数字信号处理开发的一种设计工具,它通过将Xilinx开发的一些模块嵌入到Simulink的库中,可以在Simulink中进行定点仿真,可以设置定点信号的类型,这样就可以比较定点仿真与浮点仿真的区别。并且可以生成HDL文件,或者网表,可以在ISE中进行调用。或者直接生成比特流下载文件。能够加快DSP系统的开发进度。
一、Black Box调用HDL代码
1、简介
System Generator提供了一个特性:可以通过black box这个block将其它HDL文件以黑盒的形式封装到System Generator设计中,在仿真时使用Simulink+Vivado Simulator(或ModelSim)协同仿真的方法,在Simulink环境中完成设计的仿真测试。
<strong>一、用HLS生成一个定制IP(加速器)</strong>
(1)首先打开vivado hls,本人的版本是2017.2,点击创建一个新工程。
<center><img src="http://xilinx.eetrend.com/files/2019-01/%E5%8D%9A%E5%AE%A2/100016903-56…; alt="" width="670"></center>
前面我们介绍了按键中断,其实我们稍作修改就可以用按键控制LED了。做个小实验,两个按键分别控制两个led亮灭。
板子:zc702。
硬件部分
添加zynq核:
FPGA设计中经常用到一些控制逻辑,如有限状态机(FSM),如果用各种block搭建一个FSM比较麻烦。System Generator支持调用MATLAB代码,通常可以编写MATLAB代码来实现FSM等控制逻辑,通过MCode block调用到System Generator设计中。
1. 首先要在Ubuntu下安装Petalinux 2017.2
2. 设置Petalinux 环境变量
source /<your-petalinux-install-dir>/settings.sh
3. 新建目录~/projets/fpga-drive-aximm-pcie
4. 把Windows下的Vivado工程复制到~/projets/fpga-drive-aximm-pcie下
5. 新建Petalinux工程
petalinux-create --type project --template zynq --name petalinux_prj
6. 切换到petalinux_prj目录
cd petalinux_prj/
文件系统用的Koheron提供的ubuntu16.04,将镜像文件解压后可以直接使用文件系统,具体使用命令的命令是fdisk 和mount
Simulink中的仿真模型为连续时间系统,数据格式多种多样;而FPGA中为离散时间系统,数据必须用一定的位数进行量化。两者之间必须要进行从连续到离散的转换、数据格式的转换,否则无法进行正确的FPGA设计