自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 AXXI4总线协议 ------ AXI_FULL协议

4.最后将rd_data_fifo_out截取16位给到用户端口,同步数据有效,rd_data_fifo_last计数最后一个移位数据给到用户端口。rd_data_fifo_out :在data_rden一次性读取位宽128的数据,然后在rd_data_flag进行数据的移位。rd_data_fifo_last:通过data_dout[64]判断是否为1,持续最后一个128位宽数据时间。//axi_aw_req_en 和axi_aw_ready同时为高,开启一次AXI4写传输。

2025-05-18 00:29:41 794

原创 AXI4总线协议 ------ AXI_LITE协议

1.复位信号进行跨时钟域同步(用户时钟/AXI4时钟)2.仅当user_wr_ready为高时,用户的写通道是有效的3.例化两个fifo分别存储用户端传来的地址以及数据用户时钟写入,并通过AXI时钟读出4.控制AXI_LITE(状态机)接口信号是在AXI时钟下进行 (控制cmd_rden/data_rden并输出对应的相关接口数据)// Description: AXI_lite写通道。

2025-05-16 01:30:59 356

原创 FPGA学习知识(汇总)

1. wire与reg理解,阻塞与非阻塞2. 时序取值,时钟触发沿向左看3. ip核/setup debug 添加 ila设计复位设计,尽量使用尽管该方法仍然对毛刺敏感,但原本的毛刺复位信号也是一个不定态,无法得知该毛刺是否对工程产生负面影响,那么针对该毛刺,放大了之后更好便于处理问题。

2025-05-15 00:37:53 389

原创 FPGA图像处理(六)------ 图像腐蚀and图像膨胀

/ Description: 图像膨胀 (前景色是黑色,背景色是白色 只要覆盖区域有前景色则膨胀黑色)//常量声明//窗口大小//结构系数模版为{1,1,1,1,1,1,1,1,1}//变量声明//中心点位置,为cur_line_data_d1endend//模板窗口范围内判断,前景色是黑色,背景色是白色,膨胀处理就是前景色黑色扩张//简单理解也就是,3*3窗口中所有像素值都是255(白)时,才能将当前像素值为255输出end。

2025-05-13 21:42:31 568

原创 FPGA图像处理(五)------ 图片水平镜像

wr_flag 表明 buffer0写 还是 buffer1写 rd_flag 表明 buffer0读 还是 buffer1读。通过写入逻辑控制(结合wr_finish) 写哪个buffer;写地址 进而控制ip的写使能。通过读取逻辑(结合rd_finish) 读哪个buffer;最后通过时序控制,调整输出数据及数据有效对齐。通过状态缓存来跳转buffer的写和读。

2025-05-09 00:47:15 626

原创 FPGA图像处理(四)------ 图像裁剪

【代码】FPGA图像处理(四)------ 图像裁剪。

2025-05-08 16:28:17 395

原创 FPGA图像处理(三)------ 彩色图像二值化

【代码】FPGA图像处理(三)------ 彩色图像二值化。

2025-05-08 00:03:38 213

原创 FPGA图像处理(二)-----彩色图像灰度化

彩色图像灰色化

2025-05-07 20:26:37 549

原创 FPGA图像处理(一) ----- 仿真测试工程(读写BMP图片)

图像处理仿真工程

2025-05-06 03:53:27 259

原创 FPGA实时图像采集与显示(二)----- HDMI显示

早期基于FPGA的开发板上,实现HDMI一般使用的是HDMI发送芯片,典型的例如ADV7513sil9022CH7301,使用这些芯片实现HDMI发送,本质上还是将FPGA输出的 24位像素数据+3位的控制信号(HSYNCVSYNCDE)接入这些芯片,然后由这些芯片完成数据的编码和串行发送。例如DE10_NANO_SOC 开发板上使用 ADV7513 实现的 HDMI发送电路,可以看到,除去用于音频传输的 I2S 相关信号,仅与视频数据传输相关的信号就高达 28 个。

2024-08-10 19:14:53 5580

原创 FPGA串口通信----uart(二)

一、多字节发送(Tx_bytes)在UART(一)中主要解决的是单字节的发送和接受但是单字节的应用场景相对较小。在大多数场景下,串口都是用于连续多字节的收发工作。因此,本篇文章将基于已有的单字节串口收发模块,结合上一章学习的状态机,完成多字节串口发送模块和多字节串口接收模块的设计,并通过仿真和板级测试对设计进行验证,完成多字节串口收发的验证。一、多字节发送(Tx_bytes)

2024-08-08 23:25:45 1380 1

原创 状态机(一)

1、第一个进程,同步时序always模块,格式化描述次态寄存器迁移到现态寄存器,即描述状态转移2、第二个进程,组合逻辑always模块,描述判断状态转移条件,描述状态转移规律3、第三个进程,同步时序always模块,格式化描述次态寄存器输出,其它always(个数与输出信号个数有关)使用同步时序电路设计每一个状态的输出。

2024-08-06 23:39:55 244

原创 FPGA串口通信----uart(一)

通过PLL锁相环IP的使用,可以输入时钟进行分频,倍频,也可以产生多路时钟输出信号。外部提供晶振的原因:①Fpga电路大多数需要时序分析②晶振在Fpga内部占空间大,所以放置于外部PCB板上Uart异步传输速率不能很快的原因:考虑到工程实际问题,假如时钟周期大(传输速率慢的话),采取到数据电平变化的边沿时刻的概率会小很多,这样数据也很准确,通常uart适用于2M.

2024-08-05 17:57:59 697

原创 FPGA实时图像采集与显示(一)---- VGA控制与显示

使用 FPGA驱动VGA 虽然不适合用来显示复杂多变的图像内容,但是却常用于显示实时图像内容,例如显示图像传感器实时采集到的图像。此种方式数据流由图像传感器实时提供,FPGA只需要控制好图像数据流的存储和传输即可,无需主动生成需要绘制的图像数据,所以实现相对简单。图像的采集和显示系统设计,我们首先解决VGA部分的理解与代码设计。

2024-07-27 19:06:47 540

原创 异步FIFO理解及设计

由图可见,异步FIFO的核心部件就是一个 Simple Dual Port RAM;左右两边的长条矩形是地址控制器,负责控制地址自增、将二进制地址转为格雷码以及解格雷码;下面的两对D触发器 sync_r2w 和 sync_w2r 是同步器,负责将写地址同步至读时钟域、将读地址同步至写时钟域。

2024-07-26 14:52:04 2321

原创 同步FIFO理解及设计

读/写存储阵列FIFO 从读写时钟上来分有两类结构:同步 FIFO和异步FIFO。同步 FIFO 具有一个时钟(读写共用一个时钟)输入,因此所有输入信号的读取都是在这个时钟的上升沿进行的,所有输出信号的变化也是在这个时钟信号的上升沿的控制下进行的,即单时钟 FIFO的所有输入输出信号都是同步这个时钟信号的。而在异步FIFO结构中,写端口和读端口分别有独立的时钟,所有与写相关的信号都是同步于写时钟 wr_clk,所有与读相关的信号都是同步于读时钟 rd_clk。

2024-07-24 16:49:06 920

原创 亚稳态及跨时钟域处理

数据传输中不满足触发器的Tsu(建立时间)和Th(保持时间),或者复位过程中复位信号的释放相对于有效时钟沿的恢复时间(recovery time)不满足,就可能产生亚稳态。情形一(不满足建立时间和保持时间)情形二(复位信号释放实际不满足)在同源时钟下,时钟驱动寄存器的信号改变在保持时间之后;在同源时钟下,时钟判断、检测寄存器的数值都是在刚开始建立时间时。

2024-07-22 21:20:51 1484

原创 FPGA ------ SDRAM控制器(一)

SDRAM的全称即同步动态随机存储器(这里的同步是指其时钟频率与对应控制器(CPU/FPGA)的系统时钟频率相同,并且内部命令的发送与数据传输都是以该时钟为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机指数据的读取和写入可以随机指定地址,而不是必须按照严格的线性次序变化。sdram存储容量 = 数据位宽 * 存储单元数量(Bank数 * 行地址 * 列地址)

2024-06-20 17:31:23 1412

原创 使用Uart串口控制LED灯闪烁

通过串口调试助手,使用串口发送电脑指令到fpga开发板,来控制led灯的工作状态。通过三个模块来实现 串口控制led闪烁:1.uart的数据接收模块:将用户数据通过串口调试助手发到fpga2.串口命令模块:将uart接受模块的数据通过该模块,通过一个自定义协议来发送led灯所需的控制信号3.led工作状态的控制模块:闪烁时间和闪烁状态由用户指定(Time,Ctrl[on/off])自定义协议如下:类似于起始位和停止位的判定,通过数据的移位和比较。

2024-04-09 21:53:37 1693 2

原创 FPGA串口通信之Uart接收

PS:由于实际工程的问题,1_000_000_000/115200 = 8680这边的计算舍去了小数,因此经过这么多位的数据传输,每一位都比实际问题少了20ns,所以不能用理想的@(posedge rx_done)去接受,所以tb文件的编写#90000必须将延时拉到后面。(在接收单个bit时,将其分为16段,分别取每一个bit的中间段,在通过比较其七小段所加之和与4的大小,来判断接受数据为0或者1)答:通过检测起始位的下降沿,一旦检测到下降沿的产生,即为数据的接受开始。ps:需要检测边沿的理解。

2024-04-08 22:23:21 360

原创 FPGA串口通信之Uart发送(基础及应用)

PS: 1.在编写代码是,counter1从1开始传输起始位,是为了避免ounter1==0时与空闲状态重合。2.baud_counter == 1是为了缩小起始位的到达时间,这样就可以很快的进入到counter1== 1 的状态,从而实现起始位的传输。

2024-04-08 13:13:10 1036

原创 从计数器到可控线性序列机——LED灯实验六部曲

设计定义:让LED灯按照指定的亮灭模式亮灭,亮灭模式未知,由用户随机指定,8个变化状态为一个循环,每个变化状态的时间值可以根据不同场景来选择而非固定的0.25s。

2023-10-18 20:33:33 175 1

原创 从计数器到可控线性序列机——LED灯实验六部曲

设计定义:让LED灯按照指定的亮灭模式亮灭,亮灭模式未知,由用户随机指定,以0.25秒为一个变化周期,8个变化状态为一个循环。

2023-10-17 16:38:38 113

原创 从计数器到可控线性序列机——LED灯实验六部曲

设计定义:让LED灯按照亮0.25s,灭0.5s,亮0.75s,灭1s的状态循环。

2023-10-17 15:39:29 115

原创 从计数器到可控线性序列机——LED灯实验六部曲

设计定义:1.让LED灯按照亮0.25s,灭0.75的状态循环亮灭。

2023-10-17 14:56:05 116

原创 Verilog学习----4个LED的闪烁

设计定义:LED0以1HZ的频率闪烁,时间间隔为500ms;LED1以2HZ的频率闪烁,时间间隔为250ms;LED2以4HZ的频率闪烁,时间间隔为125ms;LED3以10HZ的频率闪烁,时间间隔为50ms。

2023-10-17 13:38:07 653

原创 Verilog学习——三八译码器实现跑马灯

【代码】Verilog学习——三八译码器实现跑马灯。

2023-10-17 11:18:04 411

原创 Verilog学习——跑马灯

仿真时间为:0.5*9=4.5s.

2023-10-17 10:53:14 1266

原创 Verilog学习——led闪烁

如上:给予时钟周期20ns,总共运行仿真2s=2000_000_000ns.

2023-10-17 00:01:26 1883

原创 Verilog学习——三八译码器

【代码】Verilog学习——三八译码器。

2023-10-16 19:08:42 4312 1

原创 Verilog学习——二选一数据选择器

a : b;endmodule。

2023-10-16 18:31:02 4366 1

FPGA技术AXI4总线协议详解:端口信号、突发传输、写读时序及4K边界处理方法

内容概要:本文档主要介绍了AXI4总线的学习方法、端口信号、写读时序及4K边界的处理等内容。学习AXI4总线分为三个阶段:熟悉端口信号与握手机制;掌握写读过程及时序、4K边界问题;能够写出或扩展AXI4 Master模块。端口信号包括突发传输(如FIXED、INCR、WARP类型)、SIZE、LENGTH等,明确了响应通道的作用在于确认数据接收情况,以及ID信号用于区分多通道数据并表示优先级。AXI4写读时序可通过ARM官方数据手册或VIVADO软件学习,而4K边界限制了每次突发传输的地址偏移量,需要采取措施避免跨越4K边界,如固定突发长度使地址偏移量可被4096整除或给每次突发分配4K地址区间。此外,还提到了outstanding机制允许连续进行突发传输而无需等待上一次完成。; 适合人群:对FPGA开发有一定了解,希望深入学习AXI4总线协议的工程师或研究人员。; 使用场景及目标:①帮助读者理解AXI4总线的基本概念和工作机制;②为实际项目中AXI4总线的设计提供理论支持和技术指导。; 其他说明:文档提供了小白FPGA/开源分享群:874346944,方便读者交流学习经验。

2025-05-17

FPGA技术AXI-LITE协议详解:ZYNQ PS与PL交互中的读写过程及端口信号功能说明

内容概要:本文档主要介绍了AXI4协议下的AXI_LITE子协议的基础知识,包括AXI4的概述、AXI_LITE的特性以及具体的读写操作流程。AXI4是由ARM公司提出的一种高性能、高带宽、低延迟的片内总线协议,分为AXI4_FULL、AXI4_LITE和AXI4_STREAM三种类型,其中AXI_LITE适用于小数据量传输。文档详细解释了AXI_LITE的读写分离机制、握手协议、端口信号及其功能,特别是32位数据宽度的支持和WSTRB信号的作用。此外,还具体阐述了写过程和读过程中主机与从机之间的交互顺序。 适合人群:对FPGA开发有一定了解,尤其是关注ZYNQ PS与PL交互的技术人员或学生。 使用场景及目标:①帮助开发者理解AXI4协议体系中的AXI_LITE协议,掌握其基本概念和工作原理;②为从事FPGA设计或嵌入式系统开发的专业人士提供理论基础和技术指导,以便更好地进行实际项目开发。 其他说明:文档来自B站“小白FPGA”的教程系列,适合希望深入了解AXI_LITE协议及其应用的学习者参考。建议读者结合实际案例和相关工具进行实践操作,加深理解。

2025-05-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除