跳转到主要内容

博客

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

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

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

背景:我们需要仿照ZynqNet的模式构造卷积的IPcore用于FPGA的优化。
目的:搞懂zynqNet的cache的实现。

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

很多时候需要PS与PL共享DDR作为global memory,例如卷积之中,PS将weight in与feature写入DDR,然后PL调用DDR进行运算,再将结果写入DDR进行下一次迭代。

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

目的:直接运用IPcore调用DDR

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

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

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

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

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

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

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

ZYNQ是一款SOC芯片,其最突出的功能就是其内部包含了一个双核的Cortex_A9内核。从本节开始,进行ZYNQ的SOC学习。

基于FPGA的数字表示

在FPGA系统中有两个基本准则非常重要,分别为:数字表示法和代数运算的实现。本博文主要介绍数字表示。

赛灵思的功耗预算

对于设计前的功耗预算:对于方案初始芯片选型时,如果方案对于功耗有很大要求,那么第一步就是要进行芯片的功耗进行预估和评价,从而判断该片是否符合方案要求,当然选型时不光看功耗,也要看资源

Vivado使用技巧(28):支持的Verilog语法

复杂的电路设计通常使用自顶向下的设计方法,设计过程中的不同阶段需要不同的设计规格。比如架构设计阶段,需要模块框图或算法状态机(ASM)图表这方面的设计说明。一个框图或算法的实现与寄存器(reg)和连线(wire)息息相关。Verilog便具有将ASM图表和电路框图用计算机语言表达的能力,本文将讲述Vivado综合支持的Verilog硬件描述语言

ZynqNet解析(六)内存的实现

在zynqNet项目之中,程序到底如何分配DRAM上的地址作为global Memory。以及如何分配相应程序的内存。

Xilinx MIG 控制器使用详解(三)

本教程的目的只是教会大家如何使用MIG控制器,大家一定不要觉得MIG控制器有多难,其实很简单的,跟着我在心里默念“MIG就像BRAM一样简单”。确实哈,当你回过头来看,MIG控制器的使用基本和BRAM的使用方法很像

Vivado使用技巧(27):RAM编写技巧

Vivado综合可以理解多种多样的RAM编写方式,将其映射到分布式RAM或块RAM中。两种实现方法在向RAM写入数据时都是采取同步方式,区别在于从RAM读取数据时,分布式RAM采用异步方式,块RAM采用同步方式。使用RAM_STYLE属性可以强制规定使用哪种方法实现RAM。

Vivado BOOT.bin 文件生成

Vivado BOOT.bin 文件生成

FPGA实践教程(二)连接片上ARM

本文档系列是我在实践将神经网络实现到Xilinx 的zynq-7z035的FPGA上遇到的问题和解决方法。本文档重点探讨如何与片上ARM进行连接通讯和控制。

ZynqNet解析(五)具体硬件实现

背景:ZynqNet能在xilinx的FPGA上实现deep compression。
目的:读懂zynqNet的代码中关于硬件实现的部分。

Xilinx MIG 控制器使用详解(二)

关于DDR3的基本知识在这里我就不详细说了,只有在相关的地方会提上一嘴。本教程的目的只是教会大家如何使用MIG控制器,大家一定不要觉得MIG控制器有多难,其实很简单的,跟着我在心里默念“MIG就像BRAM一样简单”。确实哈,当你回过头来看,MIG控制器的使用基本和BRAM的使用方法很像

Xilinx MIG 控制器使用详解(一)

想要自己学习MIG控制器已经很久了,刚开始学习的时候也是在网上到处搜索MIG控制器的资料,深知学习过程的不容易。因此本系列的教程一定会详细的写出关于MIG控制器的相关知识,方便大家一起学习。有问题的朋友可以在下方留言,一起学习和讨论。

Vivado使用技巧(26):HDL编写技巧

在Vivado中进行HDL代码设计,不仅需要描述数字逻辑电路中的常用功能,还要考虑如何发挥Xilinx器件的架构优势。目前常用的HDL语言有三种