草庐IT

Xilinx-FPGA

全部标签

基于Vivado下FPGA的固化以及擦除

程序的固化为什么网表下载后还要再进行固化呢?当你把下载网表的开发板断电后再重新上电发现之前的功能已经不存在了,也就是说下载后的网表消失了。为什么会这样子呢,很多人不禁问道,其实我们使用的这款FPGA芯片是基于SRAM的结构,即下载后的网表存储在FPGA内部的SRAM中,我们也知道SRAM有掉电易失的特性,这也就是我们为什么掉电后功能就消失的原因。所以我们要想使网表重新上电后仍然存在就需要将网表存储到片外的flash中,flash芯片型号为N25Q256,存储容量为256Mbit(32M字节),采用SPI协议和FPGA进行通信,可做为FPGA的配置芯片,以保证FPGA在重新上电后仍能继续工作。具

FPGA功耗评估

在不能下板的情况下,想要对当前基于FPGA的设计进行功耗评估。分别采用了如下的一些方法:Vivado综合实现后的功耗报告该方法是Vivado两种功耗估计模式之一,非向量模式,提供简单参数、根据设计粗略评估。在综合和实现步骤后,Vivado会生成相应的一份功耗评估报告,但估计结果不够准确,功耗报告种也会显示置信度低(low)。Vivado综合实现后的仿真结果校验功耗该方法为Vivado的另一种功耗评估模式,向量模式。主要是通过综合或实现后的仿真结果,生成SAIF(SwitchingActivityInterchangeFormat)文件,该文件能根据仿真结果提供内部信号和对外输入输出端口信号的一

FPGA功耗评估

在不能下板的情况下,想要对当前基于FPGA的设计进行功耗评估。分别采用了如下的一些方法:Vivado综合实现后的功耗报告该方法是Vivado两种功耗估计模式之一,非向量模式,提供简单参数、根据设计粗略评估。在综合和实现步骤后,Vivado会生成相应的一份功耗评估报告,但估计结果不够准确,功耗报告种也会显示置信度低(low)。Vivado综合实现后的仿真结果校验功耗该方法为Vivado的另一种功耗评估模式,向量模式。主要是通过综合或实现后的仿真结果,生成SAIF(SwitchingActivityInterchangeFormat)文件,该文件能根据仿真结果提供内部信号和对外输入输出端口信号的一

FPGA学习笔记—UART,RS485串口通信(verilog)

目录一、串口通信基础知识1、什么是串口?2、同步通信和异步通信3、串行通信的传输方向4、常见的串口通信接口二、UART串口通信UART基础知识1、协议层:通信协议(包括数据格式,传输速率等)(1)数据格式(2)传输速率2、物理层:接口类型,电平标准等UART串口通信实验1、程序设计(1)程序框图(2)时序框图(3)接收模块(4)发送模块(5)环回模块(6)顶层模块(7)TRL级原理图三、RS485串口通信RS485基础知识1、单端传输与差分传输RS485串口通信实验1、程序框图2、程序设计(1)按键消抖模块(2)LED灯控制模块(3)接收模块(4)发送模块(5)顶层模块(6)RTL级原理图一、

FPGA学习笔记—UART,RS485串口通信(verilog)

目录一、串口通信基础知识1、什么是串口?2、同步通信和异步通信3、串行通信的传输方向4、常见的串口通信接口二、UART串口通信UART基础知识1、协议层:通信协议(包括数据格式,传输速率等)(1)数据格式(2)传输速率2、物理层:接口类型,电平标准等UART串口通信实验1、程序设计(1)程序框图(2)时序框图(3)接收模块(4)发送模块(5)环回模块(6)顶层模块(7)TRL级原理图三、RS485串口通信RS485基础知识1、单端传输与差分传输RS485串口通信实验1、程序框图2、程序设计(1)按键消抖模块(2)LED灯控制模块(3)接收模块(4)发送模块(5)顶层模块(6)RTL级原理图一、

FPGA开发之SRIO接口

FPGA开发之SRIO接口回环测试一、接口部分s_axis_ireq:发送接口m_axis_treq:接收接口m_axis_iresp:接收应答接口s_axis_tresp:发送应答接口tvalid:表示数据有效tdata:有效数据,要有HELLO包头tready:IP核输出,表示可以向其发送数据tlast:标志最后一个数据tuser:ID号,仅tvalid的第一个时钟周期内有效tkeep:固定为8’hFF二、HELLO包头见官方手册《PG007》P.76HELLO格式的包中Size域的值等于传输的字节的总数减1,Size域的有效值范围为0~255字节RapidIO协议定义了七种事务类型,每种

FPGA开发之SRIO接口

FPGA开发之SRIO接口回环测试一、接口部分s_axis_ireq:发送接口m_axis_treq:接收接口m_axis_iresp:接收应答接口s_axis_tresp:发送应答接口tvalid:表示数据有效tdata:有效数据,要有HELLO包头tready:IP核输出,表示可以向其发送数据tlast:标志最后一个数据tuser:ID号,仅tvalid的第一个时钟周期内有效tkeep:固定为8’hFF二、HELLO包头见官方手册《PG007》P.76HELLO格式的包中Size域的值等于传输的字节的总数减1,Size域的有效值范围为0~255字节RapidIO协议定义了七种事务类型,每种

从底层结构开始学习FPGA(4)----MUX多路选择器(Multiplexer)

文章目录        系列目录与传送门        一、什么是MUX        二、FPGA内部的MUX        三、总结系列目录与传送门        《从底层结构开始学习FPGA》目录与传送门一、什么是MUX        多路选择器MUX是一个多输入、单输出的组合逻辑电路,一个n输入的多路选择器就是一个n路的数字开关,可以根据通道选择控制信号的不同,从n个输入中选取一个输出到公共的输出端。        4选1的多路开关电路模型如下所示:        其真值表如下:二、FPGA内部的MUX        在FPGA底层,MUX也是作为一种基本的逻辑单元而存在。下图是FPG

从底层结构开始学习FPGA(4)----MUX多路选择器(Multiplexer)

文章目录        系列目录与传送门        一、什么是MUX        二、FPGA内部的MUX        三、总结系列目录与传送门        《从底层结构开始学习FPGA》目录与传送门一、什么是MUX        多路选择器MUX是一个多输入、单输出的组合逻辑电路,一个n输入的多路选择器就是一个n路的数字开关,可以根据通道选择控制信号的不同,从n个输入中选取一个输出到公共的输出端。        4选1的多路开关电路模型如下所示:        其真值表如下:二、FPGA内部的MUX        在FPGA底层,MUX也是作为一种基本的逻辑单元而存在。下图是FPG

FPGA开发(3)——fifo获得3×3数据矩阵

一、3×3矩阵的获取方式查阅了一些FPGA图像处理的资料,总结出了获得3×3图像矩阵的方法主要有下面这几种。(1)用移位寄存器IP核;(2)用2个或者3个ram实现;(3)用2个或者3个fifo实现。我这边是使用vivado作为开发环境,quartus中有专门的IP核可以实现图像数据的缓存,但是vivado中的移位寄存器只可以缓存一行,而且最多缓存1088个,如下图所示。而且缓存数据很多时,会出现缓存数量不准确的现象,大家可以自己去试试。因此在vivado中推荐使用fifo或者ram来实现。二、基于fifo提取3×3矩阵的时序图利用时序图软件绘制了用fifo实现的移位寄存器的时序图,这边大致介