- 博客(20)
- 收藏
- 关注
原创 20-VGA控制器
定义:VGA即视频图形陈列,具有高分辨率、显示速率快、颜色丰富等特点,VGA接口广泛应用于CRT和LCD液晶显示设备,具有广泛的应用范围////////CLK_33M,Reset_n,Data_in,h_count, //行扫描位置v_count, //场扫描位置VGA_CLK,VGA_BLK, //行数据输出有效数据VGA_HS, //VGA行同步信号VGA_VS, //VGA场同步信号VGA_DATA //输出RGB颜色//端口定义//参数定义。
2025-12-23 08:59:45
693
原创 19-IP核-DDS数据合成器
DDS数据合成器是一种新型的频率合成技术,具有相对带宽大,频率转换时间短,分辨率高和相位连续性好等优点。较容易进行时间频率,相位以及幅度的数控调制,广泛应用于通信领域。
2025-12-23 08:59:24
379
原创 18-IP核-clock时钟管理单元
通过FPGA内部逻辑可实现时钟,但是出来的时钟信号较差时钟管理单元CMT优化时钟质量支持频率合成,通过PLL/MMCM硬件电路实现精准时钟生成与相位同步每个芯片的MMCM的硬件资源是有限的,例如xc7a35tfgg484-2,MMCN资源为5个reg rst;reg clk_in;rst = 1'b0;#201;rst = 1'b1;#20000;$stop;
2025-12-18 09:44:38
347
原创 17-IP核-FIFO先进先出
FIFO(First In First Out),也就是先进先出。FPGA或者ASIC中使用到的FIFO一般指的是对数据的存储具有先进先出特性的一个缓存器,常被用于数据的缓存或者高速异步数据的交互。reg srst;reg wr_en;reg rd_en;wire full;wire empty;wire valid;#21;//写操作,从0到255,共256个数据#1;end。
2025-12-18 09:44:11
962
原创 16-IP核-RAM随机存取存储器
RAM(Random Access Memory,随机获取存储器,可读可写存储器)是一种临时存储器,用于存储计算机正在运行的程序和数据。它具有快速的读写速度和随机访问的特点,其读写速度由时钟频率决定。数据存储位宽16位最接近的RAM资源配置为2k*18,一共有50个RAM块,计算可得最大容量为100k*18reg clka;reg ena;reg wea;reg clkb;reg enb;ena = 0;wea = 0;addra = 0;dina = 0;
2025-12-17 09:01:54
586
原创 14-基于SPI的DAC芯片驱动
Digital-to-Analog Converter,数字模拟转换器。是指将离散的数字信号转换为连续变量的模拟信号的器件,这些模拟信号通常以电流、电压或电荷的形式输出。常见的数字模拟转换器通常用来将一定比例电压值的数字信号转换为模拟信号。
2025-12-16 08:54:04
334
原创 12-74HC595驱动数码管
FPGA的IO直接驱动数码管需要16个引脚资源,为了节约FPGA管脚资源,介绍另外一种数码驱动方式,如下图所示:通过74HC595芯片,将16位控制信号转换为三根信号线,驱动数码管,这种并转串方式直接节约13个FPGA管脚资源,但需要额外芯片和并转串逻辑资源一、74HC595芯片简介74HC595芯片是八位串行移位寄存器,用于将串行数据转换为并行数据以四位移位寄存器为例:四个D触发器串联,每个clk时钟上升沿,数据逐位存储并输出经过一个时钟周期,DFF0存储值为1;
2025-12-15 09:13:52
340
原创 9-亚稳态原理危害及解决方法
在D触发器中,数据在时钟上升沿前Tsu时间和上升沿之后的Th时间内发生变化导致输出不能快速稳定(由于元器件本身所决定),最终稳定下来的状态是随机的,有可能是0,有可能是1。信号的发送方和信号的接收方不是由同一个时钟信号驱动的,输入信号发生变化的时刻是未知的,有一定概率在D触发器数据窗口发生变化。D端口的数据在时钟上升沿前Tsu时间和上升沿之后的Th时间内必须保持稳定。在时钟信号的上升沿时刻,D触发器将D端口的数据存储并输出在Q端口。亚稳态可以在D触发器之间传播,影响其他逻辑对信号值的判断,导致结果错乱。
2025-12-12 08:49:37
228
原创 7-串口通信-发送
设计一个串口发送模块,发送用户输入的数据给电脑,要求:波特率为9600,8位数据位,1位停止位,无效验位,无流控功能,每1s发送一次当前8位拨码开关的值,每次发送完成后将LED的状态翻转。思路:设计一个1s计数器,不断计数,当计数到1s时,让串口发送一次数据思路:防止发送数据过程中8位拨码开关的值被改变,导致发送错误,使用8位D触发器进行数据缓存封装一个通用串口发送模块实例化调用封装好的串口模块。
2025-12-11 08:52:59
618
原创 6-从计数器到可控线性序列机
让LED灯按照亮0.25秒,灭0.75秒的状态循环亮灭让LED灯按照亮0.25秒,灭0.5秒,亮0.75秒,灭1秒的状态循环亮灭让LED灯按照指定的亮灭模式亮灭,亮灭模式未知,由用户随机指定。以0.25秒为一个变化周期,8个变化状态为一个循环。让LED灯按照指定的亮灭模式亮灭,亮灭模式未知,由用户随机指定。8个变化状态为 一个循环,每个变化状态的时间值可以根据不同的应用场景选择。让多个LED灯按照设置的模式各自在一个变化循环内独立亮灭变化。
2025-12-10 12:57:44
388
原创 5-跑马灯(不同频率循环点亮)
8个Led灯分别以不同频率循环闪烁,led[0]0.1ms亮一次;led[1]0.2ms亮一次;led[2]0.3ms亮一次依次类推2 、代码编写2.1 设计文件。
2025-12-10 12:57:23
366
原创 3-计数器-LED闪烁
设计一个计数器,使开发板上的 LED 状态每 500ms 翻转一次。开发板的时钟频率为50MHz,在 50MHz 的时钟频率下,计算到 500ms 需要的计数值步骤如下:时钟周期。
2025-12-09 08:50:58
212
原创 2-三八译码器
译码器(Decoder)是一种多输入多输出的组合逻辑电路,负责将二进制代码翻译为特定的对象(如逻辑电平等),功能与编码器相反。译码器一般分为通用译码器和数字显示译码器两大类。本设计的是通用译码器。三八译码器,即是 3 种输入状态翻译成 8 种输出状态。在always块内被赋值的信号,都要声明为reg类型。
2025-12-08 14:03:40
206
原创 1-Vivoda基本开发流程(以2选1多路器为例)
将 Vivado 实现产生的网表文件转化为比特流文件,并且将比特流文件下载到 FPGA 芯片中。project_name.runs:编译与综合结果,.\impl_1 文件夹中的.bin 和 .bit 即为编译生成的可执行文件。sl为控制信号,a,b为两个输入信号,out为输出信号。当sl为低电平时,输出out=a,当sl为高电平时,输出out=b。project_name.ip_user_files:用户关于 IP 的文件。project_name.srcs:所有用户编写的源码、仿真文件与约束文件。
2025-12-08 13:56:23
944
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅