博客

FPGA vivado系统集成操作

发表于:04/03/2019 , 关键词: FPGA, Vivado
本文档系列是我在实践将简单的神经网络LeNet-5实现到Xilinx 的zynq-7z035的FPGA上遇到的问题和解决方法。本文档重点探讨vivado软件的使用。

学会Zynq(2)Zynq-7000处理器的配置详解

发表于:04/02/2019 , 关键词: Zynq, Zynq-7000
上篇中介绍了Xilinx FPGA嵌入式开发的基本概念和软件特性,并以Hello World为例给出了一个操作流程,熟悉该流程相当重要。上一篇中只是简单说明了每一步应该执行哪些操作,本文将详细介绍每一步的具体含义和涉及到的相关概念。

Xilinx SRL16E 使用详解

发表于:03/29/2019 , 关键词: SRL16E
在做FPGA的开发过程中经常会使用到移位寄存器,一般我们使用移位寄存器的目的都是为了将某个信号进行打拍,使得时序符合我们的需求。最常见的一种打拍方法就是在process过程语句中对信号进行移位。但是这里我给大家介绍一下SRL6E

学会Zynq(1)搭建Zynq-7000 AP SoC处理器

发表于:03/29/2019 , 关键词: Zynq, Zynq-7000
本系列将讲述如何使用Vivado完成基于Zynq平台的嵌入式系统设计。一个完整的嵌入式系统设计要考虑硬件、软件、FPGA设计三个部分。Xilinx为了尽量简化设计流程,提供如下两个主要设计工具

ZynqNet解析(八)对IPcore的HLS

发表于:03/28/2019 , 关键词: ZynqNet, HLS
背景:zynqNet运用HLS来实现相应的IPcore。相关HLS过程的信息会打印到console之中。目的:读懂HLS对IPcore代码的HLS过程,具体硬件如何实现。将报告信息存下来用于参考。

时钟信号的几种设计方法

发表于:03/26/2019 , 关键词: 时钟信号
时钟信号是FPGA时序逻辑设计中必不可少的条件,一般情况下在FPGA始终资源充裕的情况下通常采用FPGA内部自带的内核生成时钟信号,例如DLL/MMC,但是一旦出现资源不够的情况,就只能另寻他法了

Vivado使用技巧(31):时钟的约束方法

发表于:03/25/2019 , 关键词: Vivado, 时钟约束
Xilinx FPGA器件内部有专用的硬件资源,支持大量设计时钟的使用。通常板子上有一个外部组件(如有源晶振)产生时钟信号,通过输入端口进入器件内部。外部时钟可以通过MMCM、PLL、BUFR等特殊原语生成其它时钟,也可以由LUT、寄存器等常规单元进行转换(通常称作门控时钟)。本文将讲述如何根据应用情况定义时钟

ZYNQ SOC 入门基础(三)EMIO 实验

发表于:03/22/2019 , 关键词: EMIO
在ZYNQ SOC 入门基础(二)MIO 实验中讲解了MIO的使用,本节就来讲一下EMIO的使用。在实上一章中对ZYNQ的GPIO做了简单的介绍,ZYNQ的GPIO有(multiuse I/O)MIO和(extendable multiuse I/O) EMIO。

ZynqNet解析(七)实现于BRAM上的Cache

发表于:03/21/2019 , 关键词: ZynqNet, BRAM
背景:我们需要仿照ZynqNet的模式构造卷积的IPcore用于FPGA的优化。 目的:搞懂zynqNet的cache的实现。

FPGA实践教程(八)PS与PL共享DDR

发表于:03/20/2019 , 关键词: FPGA实践教程, DDR
很多时候需要PS与PL共享DDR作为global memory,例如卷积之中,PS将weight in与feature写入DDR,然后PL调用DDR进行运算,再将结果写入DDR进行下一次迭代。

Vivado使用技巧(30):使用时序约束向导

发表于:03/19/2019 , 关键词: Vivado, 时序约束
利用该向导可以快速地完成时序约束。时序约束向导会分析网表、时钟网络的连接和已存在的时序约束,给出一些缺少的时序约束的建议。时序约束向导的前11页按照3个目录给出不同种类的时序约束,下表给出一个大致介绍

ZYNQ SOC 入门基础(二)MIO 实验

发表于:03/18/2019 , 关键词: Zynq, GPIO
ZYNQ7000 系列芯片有54个MIO(multiuse I/O),它们分配在GPIO的Bank0和NBank1 隶属于PS的部分,这些IO与PS直接相连。不需要添加引脚约束,MIO信号对PL部分是透明的,不可见。所以对MIO的操作可以看是对纯PS的操作

FPGA实践教程(七)运用IPcore调用DDR

发表于:03/15/2019 , 关键词: FPGA实践教程, DDR
目的:直接运用IPcore调用DDR

Vivado使用技巧(29):约束功能概述

发表于:03/12/2019 , 关键词: Vivado, XDC, 设计约束
设计约束就是定义编译过程中必须满足的需求,只有这样才能保证在板子上工作时功能正确。但不是全部约束在所有过程中都会使用,比如物理约束只用在布局和布线过程中。Vivado工具的综合和实现算法时时序驱动型的,因此必须创建合适的时序约束。我们必须根据应用需求选择合理的约束,过度约束或约束不足都会造成问题

ZYNQ SOC 入门基础(一):Hello World 实验

发表于:03/11/2019 , 关键词: Zynq, Hello-World
ZYNQ是一款SOC芯片,其最突出的功能就是其内部包含了一个双核的Cortex_A9内核。从本节开始,进行ZYNQ的SOC学习。