FPGA
文章平均质量分 87
1
Bunny9__
我是小曹
展开
-
基于Sobel算法的边沿检测设计与实现
基于Sobel算法的边沿检测设计与实现1. 边缘检测2. 实战演练2.1. matlab进行灰度图像生成2.2. sobel_ctrl控制模块1. 边缘检测边缘检测,针对的是灰度图像,顾名思义,检测图像的边缘,是针对图像像素点的一种计算,目的是标识数据图像中灰度变化明显的点,图像的边缘检测,在保留了图像的重要结构信息的同时,剔除了可以认为不相关的信息,大幅度减少了数据量,便于图像的传输和处理边缘检测的实现方式:基于查找的方式、零穿越Sobel算法属于基于查找的方式2. 实战演练将图像用软件转原创 2021-10-14 18:49:23 · 1744 阅读 · 1 评论 -
FPGA 乒乓操作
FPGA 乒乓操作乒乓操作是一个主要用于数据流控制的处理技巧,典型的乒乓操作如下图所示外部输入数据流通过“输入数据选择控制”模块送入两个数据缓冲区,数据缓冲模块可以为任何存储模块,比较常用的存储单元为双口RAM(Dual RAM)、SRAM、SDRAM、FIFO等在第一个数据缓冲周期,写“数据缓冲1”模块在第二个数据缓冲周期,读“数据缓冲1”模块,写“数据缓冲2”模块在第三个数据缓冲周期,写“数据缓冲1”模块,读“数据缓冲2”模块. . . . .这里就用到了乒乓操作完成数据的无缝缓冲和处理原创 2021-09-17 12:15:33 · 4657 阅读 · 0 评论 -
基于RS232的VGA图像显示
基于RS232的VGA图像显示1. matlab工具使用2. 实验目标3. 代码实现4. 遇到的问题基于ROM的VGA图像显示方式,需要提前将图片数据转换成.coe文件,然后初始化ROM-IP,其实还是占用FPGA内部的RAM存储资源,能够显示的图像数据大小是有限的,并且每次只能显示一张图片,想要显示不同的图片就得重新用.coe文件初始化ROM-IP改进一下,把串口RS232也加上,通过串口发送图像数据到FPGA内部,然后再用VGA显示出来,想要显示不同的图片,就只需要通过串口发送不同的图像数据就可以了原创 2021-09-09 14:24:27 · 1675 阅读 · 1 评论 -
串口RS485
串口RS485串口简介实验目的串口简介RS232属于UART串口的一种常用的通信协议,RS485也是RS485是双向、半双工通信协议,信号采用差分传输方式,允许多个驱动器和接收器挂在总线上,其中每个驱动器都能够脱离总线差分信号,赋值相同,相位相反根据电压差值的大小判断逻辑1/0差分信号有更好的抗干扰能力,如果碰到了干扰信号,对两路差分信号的影响是相同的,根据电位差,判断干扰部分的逻辑值为0RS232支持全双工,RS485支持半双工RS485和232使用相同的通信协议,数据帧结构相同(起始位原创 2021-09-05 19:32:24 · 2168 阅读 · 0 评论 -
基于ROM的VGA图像显示
前面已经实现了VGA等宽颜色彩条、VGA字符显示,显示的色彩信息都是通过代码生成的,这一篇博客实现显示已存在的图片VGA显示器驱动设计与验证VGA显示器字符显示基于ROM的VGA图像显示1. 实验目的2. 代码实现锁相环IPvga控制模块vga图像数据生成模块rom_picvga_pic顶层模块测试验证1. 实验目的在等宽彩条背景上,显示存储在ROM中100*100大小的图显示在VGA显示640 * 480 @60最中间位置ROM其实用的还是FPGA内部的RAM存储资源2. 代码实现锁相环原创 2021-09-04 17:47:35 · 5885 阅读 · 2 评论 -
串口RS232
串口RS2321. 串口简介2. 串口RS232接口3. 代码实现UART接收模块UART发送模块顶层模块1. 串口简介通用异步收发传输器,英文全称Universal Asynchronous Receiver/Transmitter,简称UARTUARTUART是一种通用的数据通信协议,也是异步串行通信口(串口)的总称,它在发送数据时将并行数据转换成串行数据来传输,在接收数据时将接收到的数据转换成并行数据UART是异步串行通信口,SPI是同步的,双方约定好使用频率一致的时钟,主机发送时钟UAR原创 2021-09-01 19:36:55 · 5235 阅读 · 0 评论 -
vivado时序分析 实例
vivado时序分析实例建立余量保持余量建立余量保持余量原创 2021-08-29 17:14:30 · 11704 阅读 · 6 评论 -
FIFO深度计算
FIFO有多大??case1:fA > fB 读写之间没有空闲周期solcase2:fA > fB 读写之间存在周期延迟solcase3:fA > fB 读写之间存在空闲周期solcase4:fA > fB 给定wr_enb和rd_enb占空比solcase5:fA < fB 读写之间没有空闲周期solcase6:fA < fB 给定wr_enb和rd_enb占空比solcase7:fA = fB 读写之间没有空闲周期solcase8:fA = fB 给定wr_enb和r原创 2021-08-24 21:05:02 · 1501 阅读 · 0 评论 -
亚稳态消除——异步复位 同步释放
常用对亚稳态消除有三种方式:对异步信号进行同步处理采用FIFO对跨时钟域数据通信尽心缓冲设计对复位电路采用异步复位、同步释放方式处理对于复位情况下的亚稳态,常常是由于恢复时间和移除时间不满足造成的,因此,最常用的处理方法是采用异步复位、同步释放。采用第二级寄存器输出作为全局复位信号输出异步信号进行module asyn_reset ( input wire clk , input wire rst_n , output wir原创 2021-08-17 17:28:18 · 1097 阅读 · 0 评论 -
四输入乘法器的优化
四输入乘法器的优化版本一版本二版本三版本四流水线设计,将组合逻辑按时序拆分,是优化时序的一种方法版本一一、功能要求内容:实现一个四输入的乘法器,实现电路结构s = a * b * c * d要求:a. 可以连续计算(即每个时钟都可以输入数据,运算的结果也能连续输出)b. 只有输出才用到D触发器二、端口和波形图module mul4 ( input wire clk , input wire rst_n , input wire vld_in , inp原创 2021-08-16 18:34:55 · 807 阅读 · 2 评论 -
AXI4总线学习
AXI4总线学习AXI总线介绍时钟和复位AXI的五组独立通道Write Address Channel 写地址通道Write Data Channel 写数据通道Write Response Channel 写响应信号Read Address Channel 读地址信号Read Data Channel 读数据信号读写传输握手机制通道顺序数据通道的传输举例IP核选择:AXI BRAM ControllerIP文档:pg078AXI总线介绍ARM AMBA(Advance Microcontrolle原创 2021-07-23 19:47:01 · 3282 阅读 · 3 评论 -
HDMI显示器驱动设计与验证
HDMI显示器驱动设计与验证HDMI简介HDMI显示原理TMDS传输原理模块设计encode模块代码par_to_ser模块代码HDMI简介HDMI,英文全称“High Definition Multimedia Interface”,高清多媒体接口VGA接口成本低,结构简单,应用灵活,但是传输的是模拟信号,就容易受到外界干扰源的影响,受到影响会导致信号畸变,传输的图像就会出现问题,VGA接口体积大,不利于便携设备的使用。后来出现了DVI接口,DVIA(只传输模拟信号)、DVID(只传输数字信号)、D原创 2021-07-20 14:52:20 · 2075 阅读 · 1 评论 -
VGA显示器字符显示
VGA显示器字符显示实验目标字符取模模块设计vga_pic模块以及测试下板总结实验目标在640 * 480 @60模式下显示汉字,与彩条显示是一样的,点阵大小是64 * 64,字符大小56 * 56字符取模平时我们在广告屏、LED显示屏上看到的字符本质都是点阵,点阵看作是纸,点阵中的字符就是笔顺,将点阵和字符分别设置两种颜色,这样的色差就能实现字符的显示,点阵的大小决定着显示区域的大小,也决定着字符的大小和清晰度,一般使用01组合描述点阵点阵中的每一个数据都表示一个像素点,如果用单比特,那么点阵原创 2021-07-18 17:35:14 · 3612 阅读 · 2 评论 -
VGA显示器驱动设计与验证
VGA显示器驱动设计与验证VGA简介VGA接口及引脚定义VGA显示原理VGA时序标准VGA显示模式及相关参数模块设计vga_ctrl模块以及测试vga_pic模块及测试顶层模块总结VGA简介VGA,Video Graphics Array,即视频图形阵列,是一种使用模拟信号进行视频传输的标准协议VGA接口及引脚定义引脚定义引脚定义1红基色(RED)9保留2绿基色(GREEN)10数字地(GND)3蓝基色(BLUE)11地址码0(ID BIT0原创 2021-07-17 21:35:20 · 1891 阅读 · 1 评论 -
跨时钟域问题(CDC)
跨时钟域问题(CDC)slow to fast边沿检测同步器脉冲同步器fast to slow脉冲同步器展宽跨时钟域问题分为单比特和数据流两种情况,数据流也就是多比特问题,采用异步FIFO来实现链接:同步和异步FIFO的实现.这里讲一下单比特脉冲信号的跨时钟域slow to fast边沿检测同步器快时钟一定能采样到慢时钟,慢时钟的信号至少会在快时钟下保持一个时钟周期。这里用了两个寄存器对输入的ina信号,在clk_b下打两拍,然后根据reg1和reg2的关系,检测reg1信号的上升沿,原创 2021-05-19 17:23:52 · 1090 阅读 · 0 评论 -
同步和异步FIFO的实现
FIFO1. FIFO介绍2. 同步FIFO模块实现下板验证3. 异步FIFO模块实现1. FIFO介绍FIFO-IP调用.2. 同步FIFO读写用的是一个是时钟模块实现模块框图端口介绍:sys_clk:50MHz系统时钟sys_rst_n:系统复位,低有效wr_en:写使能信号,高有效rd_en:读使能信号,高有效data_in:写入数据data_out:读出数据full:FIFO满信号,高有效empty:FIFO空信号,高有效count:FIFO数据计数器,当读写指针原创 2021-05-18 18:24:59 · 1371 阅读 · 1 评论 -
vivado常用IP调用配置——FIFO
vivado常用IP调用配置——FIFOFIFO-IP核介绍SCFIFO-IP核的配置和验证DCFIFO-IP核的配置和验证FIFO-IP核介绍FIFO(First In First Out, 即先入先出),是一种数据缓冲器,用来实现数据先入先出的读写方式。FIFO存储器主要是作为缓存,应用在同步时钟系统核异步时钟系统中,在很多设计中都会用到,如:多比特数据做跨时钟域处理、前后带宽不同步等都用到了FIFO根据读写时钟可以分为:同步FIFO(SCFIFO)、异步FIFO(DCFIFO)SCFIF原创 2021-04-29 22:59:21 · 10957 阅读 · 0 评论 -
vivado常用IP调用配置——PLL、ROM、RAM
PLL锁相环介绍以及IP调用1. PLL锁相环介绍2. IP调用3. 仿真1. PLL锁相环介绍PPL(Phase Locked Loop),能够对输入的周期信号进行任意分频、倍频、相位调整、占空比调整,从而输出期望时钟。也可以对不进行分频倍频的时钟信号进行优化,使输出的时钟信号比输入的时钟信号在抖动方面性能更好。模拟锁相环:输出的信号稳定性更高,相位连续可调,延时连续可调。温度过高或电磁辐射过强会导致失锁。基本工作原理:反馈系统ref_clk:参考时钟FD/PD:鉴频鉴相器。比较参考时钟和原创 2021-04-23 21:58:36 · 6513 阅读 · 0 评论 -
SPI通信协议
SPI通信协议1. SPI介绍2. 实现模式0下的SPI协议2.1 top顶层模块2.2 master模块2.2.1 control控制模块2.2.2 tx发送模块2.2.3 rx接收模块2.3 slave模块2.4 测试3. 问题分析与总结4. 参考1. SPI介绍SPI(Serial Peripheral Interface,串行外围设备接口)通信协议,同步串行接口技术,是一种高速、全双工、同步通信总线,在芯片中只占用四根管脚用来控制及数据传输。应用:EEPROM、Flash、RTC、ADC、D原创 2021-04-08 22:53:54 · 751 阅读 · 1 评论 -
UART简单实现
UART简单实现1. 各级模块调用关系2. 接收模块3. 发送模块4. 顶层模块5. 测试6. 问题分析与总结6.1. 测试延时#1005600计算6.2. 扩展“100MHz 9600bps”6.3. 补充6.4. 参考1. 各级模块调用关系以“50MHz 9600bps”为例2. 接收模块// 串行接收模块`timescale 1ns / 1psmodule uart_recv ( output reg [7:0] uart_data, output reg原创 2021-03-30 23:05:36 · 1139 阅读 · 2 评论 -
状态机按键消抖电路设计
按键消抖电路设计1. 什么是按键抖动2. 消抖电路设计思路3. 代码实现4. 仿真测试4.1. initial语句块赋值4.2. 调用task任务封装赋值并调用$random函数1. 什么是按键抖动实际的拨动开关和按键都是机械式的设备,在状态改变时可能会出现来回抖动多次导致状态不稳定的情况,通常抖动的持续时间不超过20ms。消抖电路的目的就是滤去这段时间内的抖动信号。2. 消抖电路设计思路使用有限状态机的思想,当输入信号稳定20ms后才改变抖动以后的输出值。假定使用的系统时钟频率为50HMz,原创 2021-03-24 23:07:21 · 3143 阅读 · 0 评论 -
Wishbone总线
Wishbone总线1. 点对点连接方式的接口说明2. 单次读操作3. 单次写操作4. 补充4.1. SEL字节选择信号的说明4.2. wishbone_bus总线接口的实现1. 点对点连接方式的接口说明在点对点连接方式方式中,分别只有一个主设备和一个从设备。所有信号都是高电平有效。CLK_I:时钟信号,由外部输入RST_I:复位信号,由外部输入DAT_O / DAT_O:数据总线,一对主从设备间最多存在两条数据总线ADR_O / ADR_O:地址总线,地址由主设备传送给从设备WE_O原创 2021-03-16 19:40:51 · 5724 阅读 · 1 评论