FPGA
文章平均质量分 78
FPGA小白教学
EPCCcc
这个作者很懒,什么都没留下…
展开
-
Vivado关联Vscode,解决Vscode自动保存和卡顿问题
vivado关联vscode原创 2022-09-01 22:56:00 · 7044 阅读 · 9 评论 -
【FPGA】Verilog实现奇偶分频
文章目录一、奇分频一、代码部分二、仿真部分二、偶分频一、代码部分二、仿真部分三、D触发器二分频一、代码部分二、仿真部分四、总结一、奇分频一、代码部分// 奇分频module odd_div( input clk, input rst_n, output clk_odd_div );// 7分频parameter DIV_NUM = 7;// 分频计数器reg [2:0] c原创 2022-02-28 19:06:45 · 876 阅读 · 0 评论 -
【FPGA】FPGA lcd彩条的实现
文章目录一、LCD二、看TM043NDH02-40--LCD手册1.描述2.信号接口3.LCD模块图4.LCD时序5.LCD原理图三、代码部分1.==lcd_driver.v==2.==lcd_show.v==3.==top.v==四、仿真验证五、上板验证六、总结一、LCDLCD ( Liquid Crystal Display 的简称)液晶显示器。LCD 的构造是在两片平行的玻璃基板当中放置液晶盒,下基板玻璃上设置TFT(薄膜晶体管),上基板玻璃上设置彩色滤光片,通过TFT上的信号与电压改变来控制液晶原创 2022-02-21 22:13:41 · 1341 阅读 · 1 评论 -
【FPGA】FPGA sdram读写实现
文章目录一、状态机设计二、代码部分1.==sdram_interface.v==2.==sdram_control==3.==top.v==3.其他模块三、仿真验证四、上板验证五、总结想看我之前关于sdram的看我之前的博客【FPGA】sdram接口实现一、状态机设计控制模块的状态机也就idle,read,write,done这几个基本的状态我发现现在写这些模块,没有状态机不舒服二、代码部分1.sdram_interface.v【FPGA】sdram接口实现2.sdram_con原创 2022-02-19 13:43:44 · 2478 阅读 · 2 评论 -
【FPGA】FPGA sdram接口实现
文章目录一、sdram二、看sdram手册找关键1.描述2.接口信号3.关键的时间4.模式寄存器设置5.各个状态不同的数据6.手册里的状态机7.读时序8.电源启动9.初始化的刷新三、状态机设计1.sdram接口状态机四、代码实现sdram接口1.==sdram_interface.v==五、仿真验证六、quartus调用ip核实现sdram接口七、总结一、sdram同步动态随机存取内存(synchronous dynamic random-access memory,简称SDRAM)是有一个同步接口的动原创 2022-02-17 11:18:12 · 7093 阅读 · 7 评论 -
【FPGA】FPGA基于spi的flash读写
文章目录一、SPI二、看spi--flash手册找关键1.描述2.flash接口信号3.SPI模式选择4.高字节MSB5.指令6. 写使能时序7.读ID时序8.读寄存器时序(我没用到)9.读数据时序10.页编程11.扇区擦除12.重要的时间三、状态机设计1.i2c接口状态机2.flash读状态机3.flash写状态机四、代码部分1.==spi_interface.v==2.==spi_read_ctrl.v==3.==spi_write_ctrl.v==4.==spi_control.v==5.==top.原创 2022-02-14 15:32:51 · 13240 阅读 · 3 评论 -
【FPGA】FPGA基于i2c的eeprom读写
文章目录一、i2c协议二、看i2c--eeprom手册找关键1.设别型号选择2.描述3.总线时序图4.总线开始和停止5.数据在总线上传输6.设备地址(控制命令)7.写操作8.读操作三、状态机设计1.i2c协议接口的状态图2.eeprom读写的状态图四、代码部分1.==i2c_interface.v==2.==master_ctrl.v==3.==top.v==4.其他模块五、仿真验证六、上板验证七、总结一、i2c协议I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即原创 2022-02-12 12:54:17 · 9581 阅读 · 3 评论 -
【FPGA】ds18b20温度传感器
文章目录一、ds18b20温度传感器二、看ds18b20手册找关键1.引脚说明2.最高位字节和最低位字节数据3.ds18b20暂存器数据4.需要的命令5.主状态机6.从状态机7.初始化时序8.写时隙9.读时隙10.关键时间参数11.低字节先发三、状态机设计1.主状态机1.初始化阶段2.发送命令阶段3.读取数据阶段2.从状态机3.状态图四、代码部分1.==ds18b20_driver.v==2.==ds18b20_ctrl.v==3.==top.v==4.==seg_driver==五、仿真验证六、上板验证七原创 2022-02-10 17:02:23 · 11391 阅读 · 7 评论 -
【FPGA】串口通信UART
文章目录一、UART串口通信一、基本概念二、串口数据三级目录一、UART串口通信一、基本概念串口是串行接口(serial port)的简称,也称为串行通信接口或COM接口。串口通信是指采用串行通信协议(serial communication)在一条信号线上将数据一个比特一个比特地逐位进行传输的通信模式。串口按电气标准及协议来划分,包括RS-232-C、RS-422、RS485等。RS-232-C、RS-422、RS485的区别二、串口数据起始位:0数据位:6/7/8位数据奇偶校原创 2022-01-17 20:50:31 · 2064 阅读 · 1 评论 -
【FPGA】状态机写电子时钟
这里写目录标题一、设计思路状态转移图二、代码部分三、仿真验证一、设计思路这个状态机很ez的,就三个状态1.IDLE(常规初始化状态)2.SET_T(设置时间状态)3.SET_A(设置闹钟时间状态)状态转移图状态转移条件assign idle2st = (state_c == IDLE) && (key_out[0]);// 按下设置时钟键assign idle2sa = (state_c == IDLE) && (key_out[1]);// 按下原创 2021-12-08 09:02:20 · 847 阅读 · 2 评论 -
【FPGA】数码管动态显示之电子时钟
文章目录一、数码管动态显示的原理二、设计思路三级目录一、数码管动态显示的原理数码管动态显示其实就是数码管静态显示的升级版,给的段选信号是一样的,就是显示哪个字,但是不一样的是取决于给哪个位选信号,就是显示哪个数码管,给一个计数器,计数器结束就换下一个位选,以达到肉眼看不到闪烁的效果,就觉得数码管全部都在亮,其实就有个动态扫描的过程的。二、设计思路任务要求设计一个时钟这里的任务就比之前的数码管静态显示的任务要求高一点了,但学会了动态显示的原理,就不那么难了思路如下:设计一个时钟无非就是解决原创 2021-11-29 20:51:11 · 6041 阅读 · 1 评论 -
【FPGA】实战之数码管静态显示
文章目录一、数码管静态显示的原理二、设计思路三、代码部分五、总结一、数码管静态显示的原理数码管其实就是由8个led集成在一起的,我们这里是FPGA,是共阳极数码管,给低电平就是点亮,数码管显示有静态和动态显示。那啥叫静态显示,我们这里补充一个知识点,就是数码管的驱动方式有两种,一种是静态驱动,就是一个数码管的片选(哪个)和段选(显示哪个段)各自都接一个接口,所需的接口就是片选×段选的个数,所以需要的接口特别特别的多,这种就是数码管的静态显示,第二种就是动态驱动,动态驱动就是动态显示。二、设计思原创 2021-11-26 20:06:39 · 3565 阅读 · 3 评论 -
【FPGA】状态机写按键消抖
文章目录一、状态机原理二级目录三级目录一、状态机原理状态(FSM),又称有限状态机,一段式状态机一段式状态机似乎是一锅端,把所有逻辑(包括输入,输出,状态)都在一个always里解决了,这种写法看上去好像很简洁,但是往往不利于维护,这种写法不太推荐,但是在一些简单的状态机中还是可以使用的。两段式状态机是一种常用的写法,他把时序逻辑和组合逻辑划分开来,时序逻辑里进行当前逻辑和下一逻辑的切换,组合逻辑里实现各个输入输出及状态判断,这种写法相对容易维护,不过组合逻辑输出较容易出现毛刺等常见问题。三段式原创 2021-12-07 09:54:22 · 736 阅读 · 0 评论 -
【FPGA】实战之按键消抖
文章目录一、按键消抖的原理二、按键消抖的设计思路三、代码部分四、仿真验证五、总结一、按键消抖的原理一般开发板上的按键都是机械按键,所以在按下的时候,会产生回弹的时刻,称为机械的弹性开关,这导致你按键按下但不一定真的按下了,按键弹起来了但不一定真的弹起来了,所以我们常常能看到这样的两幅图片1.第一幅图是实际波形图,产生这样的毛刺2.第二幅图是理想中的毛刺图当然专业的术语还是的得看专业的,我这里只是笼统地讲一讲。二、按键消抖的设计思路按键消抖,顾名思义,就是当按键不再抖动的时候,整体的设计思路原创 2021-11-25 19:58:10 · 8071 阅读 · 2 评论 -
【FPGA】实战之呼吸灯
文章目录一、呼吸灯的原理二、设计思路三、代码部分四、仿真验证五、上板烧录验证一、呼吸灯的原理呼吸灯,顾名思义,就是跟人的呼吸一样,是有一个过程的,由暗到亮,再由亮到暗的过程。关于呼吸灯的原理就是利用PWM(脉冲宽度调制)的原理,不了解PWM没关系,用一句通俗易懂的话,来说,就是调节led灯的亮和灭在一定时间内的占比,一般一个led的正常亮灭的占比是各50%,但如果我调节亮灭占比,比如我给亮占比20%,给灭占比80%,就是比正常的led暗一点,反之就是比正常的亮一点,所以我们设计的思路就是控制这个占空比原创 2021-11-25 12:39:29 · 4751 阅读 · 2 评论 -
【FPGA】实战之创建项目
这里写目录标题一级目录二级目录三级目录一级目录二级目录三级目录module follow_led(input clk,input rst_n,output reg [3:0] led);//50_000_000ms/1000ms=50_000 500ms=50_000*500=25_000_000parameter CNT_TIME = 2500_0000;//500m原创 2021-11-24 19:39:28 · 1080 阅读 · 0 评论