博客
什么是Setup 和Holdup时间?什么是竞争与冒险现象?解决办法?如何解决亚稳态?说说静态、动态时序模拟的优缺点、用VERILOG写一段代码,实现消除一个glitch。
ADC和DAC是FPGA与外部信号的接口,从数据接口类型的角度划分,有低速的串行接口和高速的并行接口。FPGA经常用来采集中高频信号,因此使用并行ADC和DAC居多。本文将介绍如何使用FPGA驱动并行ADC和并行DAC芯片。
本系列文章主要说明基于 Xilinx FPGA 的实时图像处理。虽然 FPGA 开发用的 HDL 语言与 Intel FPGA(前身 Altera)通用,但是比较开发工具软件差异的话,还是 Xilinx 开发效率更高。
任何学FPGA的人都跑不掉的一个问题就是进行静态时序分析。静态时序分析的公式,老实说很晦涩,而且总能看到不同的版本,内容又不那么一致,为了彻底解决这个问题,我研究了一天,终于找到了一种很简单的解读办法,可以看透它的本质,而且不需要再记复杂的公式了。
SPI总线传输只需要4根线就能完成——SCK(Serial Clock):SCK是串行时钟线,作用是Master向Slave传输时钟信号,控制数据交换的时机和速率;MOSI(Master Out Slave in):在SPI Master上也被称为Tx-channel,作用是SPI主机给SPI从机发送数据......
建立zcu102的Vivado工程,新建Block Design,并且添加zynq模块;运行Run Block Automation,双击打开zynq模块配置查看SD接口配置。
Verilog-2001中新增了语句generate,通过generate循环,可以产生一个对象(比如一个元件或者是一个模块)的多次例化,为可变尺度的设计提供了方便,generate语句一般在循环和条件语句中使用,为此,Verilog-2001增加了四个关键字generate,endgenerate, genvar, localparam。
本文将介绍如何利用Vivado和petalinux开发Zynq7000系列芯片的SPI外设接口。开发环境:Vivado 2015.4、Petalinux 2015.4
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触发器或锁存器。
由于本人习惯在Windows环境下做FPGA开发,因此将PetaLinux安装在Linux虚拟机中,开发环境如下:Windows 10;Vivado 2018.2.1;VMware Workstation 14 Pro;Ubuntu 16.04.5 desktop amd64;Petalinux 2018.2。
Zynq中的UART支持轮询和中断驱动两种模式。本文给出使用中断驱动模式的例子,完成与26篇中轮询模式下相同的功能,即UART收到8字节数据后执行某项操作。对比之下,体会中断驱动模式的特点。