自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 verilog流水灯实现

/ 计数器最大值,可根据实际时钟频率调整。使用一个计数器来控制流水灯的切换速度,同时使用一个状态机来控制 LED 灯的点亮顺序。// 复位时,第一个LED灯点亮。input wire rst_n, // 复位信号,低电平有效。output reg [3:0] led // 4个LED灯输出。input wire clk, // 时钟信号。// 定义计数器和计数器最大值。

2025-04-28 19:11:02 292

原创 vivado乘法器和累加器的实现

在 Vivado 中,乘法器和累加器可以使用 Verilog 或 VHDL 等硬件描述语言来实现。下面分别给出使用 Verilog 实现乘法器和累加器的示例代码。

2025-04-28 19:07:46 408

原创 Vivado 跨时钟处理全攻略

当数据从一个时钟域传输到另一个时钟域时,如果目标时钟域的采样时刻与源时钟域的数据变化时刻不匹配,就可能导致触发器采样到处于不确定状态(亚稳态)的数据。例如,在一个包含高速数据处理模块和低速控制模块的系统中,高速模块产生的数据以较快的时钟速率变化,而低速控制模块以较慢的时钟速率采样这些数据,此时就容易出现跨时钟域问题。对于单比特信号的跨时钟域传输,简单同步器是一种常用的方法。它通过在两个时钟域之间建立一个数据缓存区,将数据从源时钟域写入 FIFO,再从目标时钟域读出,从而避免了跨时钟域的数据直接传输。

2025-04-28 10:52:41 830

原创 Vivado 引脚约束全解析:从基础到实践

在 Vivado 设计流程中,引脚约束的核心目的是建立硬件描述语言(HDL)代码中定义的逻辑端口与实际 FPGA 芯片引脚之间的映射关系,并对这些引脚的电气特性、时序等进行精确设定。例如,当我们在 Verilog 或 VHDL 代码中定义了一个时钟输入端口 “clk”,通过引脚约束,我们可以指定该端口连接到 FPGA 芯片的具体物理引脚,如 “P10”,同时设定该引脚的电气标准,如 “LVCMOS18”,以确保与外部时钟源的电平匹配。以下是一个简单的 XDC 文件示例,展示了如何对时钟引脚进行约束:​。

2025-04-28 10:47:17 952

原创 深入解析串口协议:原理、类型与应用

例如,当设置 1 位停止位时,接收端在接收到数据位后,会检测到一个逻辑高电平的停止位,此时接收端会根据这个停止位的时间长度来微调自己的时钟,然后等待下一个起始位的到来。通常情况下,停止位的位数越多,对时钟同步的容忍度越高,但同时也会降低数据传输的效率,因为每个数据字节都需要额外传输更多的停止位。奇偶校验位虽然不能检测出所有的数据错误(例如,如果数据位中同时发生两位错误,奇偶校验可能无法检测到),但在一些对数据准确性要求不是极高、通信环境相对较好的场景中,能够起到一定的错误检测作用,提高数据传输的可靠性。

2025-04-27 16:50:16 1004

原创 vivado如何生成正弦波

在FPGA设计中生成正弦波是数字信号处理(DSP)的基础操作,广泛应用于通信系统、音频处理、测试设备等领域。本文将详细介绍如何使用Xilinx Vivado工具通过多种方法在FPGA上生成正弦波。

2025-04-27 16:27:43 871

原创 时序违例分析

在数字电路设计中,时序违例(Timing Violation)是指电路在实际运行时无法满足设计要求的时序约束条件。当时序违例发生时,电路可能会出现功能错误或不稳定的状态。Verilog设计中的时序违例分析是确保设计可靠性的关键环节。

2025-04-27 15:57:08 852

原创 ila资源占比分析

1.FPGA资源占比分析以xc7k325tffg676-2 芯片为例。

2025-04-27 15:33:49 967

原创 使用FPGA通过hi-3220接收arinc429下发的消息

芯片手册提供了三种spi的通讯方式,一般是通过写命令+地址+数据或者读命令+地址对寄存器进行操作,常用的方式就是寄存器直接寻址写命令(11011AAA AAAA0000,A表示地址的低七位)读命令(1110AAAA AAAA0000,A表示寄存器地址),除以上命令,芯片还提供了通过map对寄存器进行操作,map是用于配置标签查找表以及中断查找表的方式。仅针对hi-3220芯片来说,芯片不区分ssm,只区分标签与SDI。SDI:表示数据目的地,更常用于标识起源地。label:八进制,用于区分数据类型。

2025-04-27 11:24:19 362 1

空空如也

空空如也

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

TA关注的人

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