博客

FPGA图像处理(2)基础功能:数据类型转换

图像处理算法在 sysgen 中实现,大多使用定点整数计算,并且为了与图像算法原理一致,定点整数也仅限于无符号整数。

总结五个面试中经常会遇到的FPGA基本概念

什么是Setup 和Holdup时间?什么是竞争与冒险现象?解决办法?如何解决亚稳态?说说静态、动态时序模拟的优缺点、用VERILOG写一段代码,实现消除一个glitch。

FPGA基础设计:使用DAC的Interleaved模式

本文介绍DAC芯片的Interleaved模式的使用,或者叫交错模式。

FPGA图像处理(1)基础功能:像素点行列坐标生成

虽然在图像数据流水线中已包含行列坐标,但是一些算法由于其本身的设计必须由行有效信号 lv 重新生成行列坐标。

FPGA基础设计:并行ADC与DAC

ADC和DAC是FPGA与外部信号的接口,从数据接口类型的角度划分,有低速的串行接口和高速的并行接口。FPGA经常用来采集中高频信号,因此使用并行ADC和DAC居多。本文将介绍如何使用FPGA驱动并行ADC和并行DAC芯片。

FPGA图像处理(0)概述及设计原则

本系列文章主要说明基于 Xilinx FPGA 的实时图像处理。虽然 FPGA 开发用的 HDL 语言与 Intel FPGA(前身 Altera)通用,但是比较开发工具软件差异的话,还是 Xilinx 开发效率更高。

如何提高vivado的编译速度

当RTL代码修改较少时,使用增量编译功能可以提高工程的编译速度。

深入理解STA(静态时序分析)

任何学FPGA的人都跑不掉的一个问题就是进行静态时序分析。静态时序分析的公式,老实说很晦涩,而且总能看到不同的版本,内容又不那么一致,为了彻底解决这个问题,我研究了一天,终于找到了一种很简单的解读办法,可以看透它的本质,而且不需要再记复杂的公式了。

关于 AXI协议的学习解释说明

AXI 有5个通道:1、写地址通道信号;2、写数据通道信号;3、写响应通道;4、读地址通道;5、读数据通道。

学会Zynq(29)SPI协议的理解与初步使用

之前介绍了Zynq中的SPI控制器。本文再系统总结下对SPI协议的理解,加强对其认识。最后再说明Zynq中如果配置和使用SPI控制器。

几种触发器的Verliog语言描述

几种触发器的Verliog语言描述:D触发器;RS触发器;JK触发器;T 触发器。

SPI总线verilog hdl实现

SPI总线传输只需要4根线就能完成——SCK(Serial Clock):SCK是串行时钟线,作用是Master向Slave传输时钟信号,控制数据交换的时机和速率;MOSI(Master Out Slave in):在SPI Master上也被称为Tx-channel,作用是SPI主机给SPI从机发送数据......

zcu102(10)Standalone读写SD卡文件

建立zcu102的Vivado工程,新建Block Design,并且添加zynq模块;运行Run Block Automation,双击打开zynq模块配置查看SD接口配置。

学会Zynq(28)SPI控制器简介

本文简单介绍Zynq中的SPI控制器。本文将“master”称为“主机”;将“slave”称为“从机”;将“slave slect”从机选择简称为SS。

Verilog中generate语句的用法

Verilog-2001中新增了语句generate,通过generate循环,可以产生一个对象(比如一个元件或者是一个模块)的多次例化,为可变尺度的设计提供了方便,generate语句一般在循环和条件语句中使用,为此,Verilog-2001增加了四个关键字generate,endgenerate, genvar, localparam。

ZYNQ7000 芯片Linux下的SPI接口与驱动配置

本文将介绍如何利用Vivado和petalinux开发Zynq7000系列芯片的SPI外设接口。开发环境:Vivado 2015.4、Petalinux 2015.4

xilinx 7系列FPGA之slice篇简介

Xilinx的官方文档在介绍FPGA的逻辑资源时通常是按照CLB(Configurable Logic Block)来介绍,把CLB作为FPGA里的最小逻辑单元。但是CLB是由2个slice构成,因此平时大家都把slice挂嘴边,称为最小的逻辑单元,很少提起CLB。因此本篇咱们就简要聊一聊slice的功能。对于大部分应用,咱们不必深入了解slice,写好代码后FPGA的开发软件会自动帮助咱们布局布线,所以本篇以了解为主,当然如果您是高级用户,是大佬级FPGA专家,就另当别论。

7系列FPGA的slice包含4个部分:

(1)逻辑功能产生器,也就是咱们常说的查找表,1个slice里包含4个6输入的查找表。

(2)存储单元,也就是常说的触发器,1个slice里包含8个触发器。每4个触发器为一组,可配置成D触发器或锁存器。

zynq开发软件操作整体流程

网上关于vivado开发zynq的资料很多,总结以下操作流程,以SD模式为例。

zcu102(9)hello_petalinux

由于本人习惯在Windows环境下做FPGA开发,因此将PetaLinux安装在Linux虚拟机中,开发环境如下:Windows 10;Vivado 2018.2.1;VMware Workstation 14 Pro;Ubuntu 16.04.5 desktop amd64;Petalinux 2018.2。

学会Zynq(27)UART中断驱动模式示例

Zynq中的UART支持轮询和中断驱动两种模式。本文给出使用中断驱动模式的例子,完成与26篇中轮询模式下相同的功能,即UART收到8字节数据后执行某项操作。对比之下,体会中断驱动模式的特点。