FPGA基础设计
文章平均质量分 89
搞懂FPGA基础设计
帅杰的芯路之旅
越努力越幸运
展开
-
FPGA基础设计(八):串口访问ROM
将ROM中的数据读取出来,通过串口发送到上位机。原创 2023-12-03 17:59:40 · 1346 阅读 · 1 评论 -
FPGA基础设计(八):串口收发之RAM存储
实现上位机通过串口发送数据到FPGA,FPGA接收到数据后将其存储在RAM的一段连续空间中,然后通过按键触发读出RAM数据,再通过串口发送到上位机。原创 2023-12-03 17:50:41 · 1929 阅读 · 1 评论 -
FPGA基础设计(八):串口收发模块设计
串口接收的往往是外部环境中数据,在工业环境存在强电干扰,导致通信线上的电平发送变化,对于数据的接收进行处理保证通信稳定。方法一对接收的每位数据只在中间位置采样一次作为该数据的电平状态,如上图,产生波特率时钟BPS_CLK,计数到中间位置时,采样当前的电平。其中BPS_CLK产生原理与串口接收模块相同,只不过每次计数方法二方法一只采样一次很可能恰好采样到被干扰的信号,导致出错。那就多采样几次求概率的方式进行状态判定!原创 2023-11-26 11:41:27 · 1060 阅读 · 1 评论 -
FPGA基础设计(七):数码管驱动
数码管显示分为静态显示和动态显示;静态显示:一个数码管共8段,每个数码管段选接入8位的数据线来显示字符,送入一个字符永久保持,直到送入一个新的字符;每个数码管驱动需要独立的数据线,硬件电路比较复杂,成本高,一般不用。动态显示:每个数码管段选并联到8位数据线上,利用位选选择哪一个数码管显示,轮流的进行位选送入相应的字符。循环扫描所有数码管,利用人视觉暂留作用,使人感觉数码管都在同时显示。1、芯片引脚2、引脚功能简介DS:串行数据输入SHCP:移位寄存器时钟输入,工作时钟12.5MHzSTCP。原创 2023-11-23 07:00:00 · 890 阅读 · 0 评论 -
FPGA基础设计(六):按键消抖
抖动:两个金属触点随着触点的断开闭合便产生了多个信号。消抖的作用就是确保每次断开或闭合触点时只输出一个确定信号。特别地,时序逻辑电路容易受到触点的影响,会产生亚稳态、竞争等问题。1、使用状态机可以有效替换大量的if else语句,当逻辑流程非常复杂且包含大量的状态转换时,状态机模型具有明确的状态转换路径,可清晰的描述逻辑,具有良好的维护性和可扩展性,重构和修改代码比if else 更加容易。只要第一次检测到下降沿就开始计数,然后计数30ms后,按键电平就是稳定的;原创 2023-11-18 22:23:26 · 1012 阅读 · 1 评论 -
FPGA基础设计(五):BCD计数器
由于计数器是基于D触发器构成,D触发器是一种锁存器,其输出值只能在时钟上升沿时被捕获,这样导致每一级的BCD计数器的进位输出信号均延迟了一个时钟周期,最终导致顶层进位输出Cout延迟了三个时钟周期。1、计数到12’h999时,当上升沿来临,本应该产生顶层进位输出,但是滞后3个时钟周期才有进位输出;如8421码:b3位权为 2^3 = 8、b2位权为2^2 =4、b1位权为2、b0位权为1。5421码:b3位权为5、b2位权为4、b1位权为2、b0位权为1。如:8421码、5421码、2421码。原创 2023-11-13 20:58:11 · 1285 阅读 · 0 评论 -
FPGA基础设计(四):计数器设计与验证
计数器设计与验证原创 2023-11-13 11:06:22 · 95 阅读 · 0 评论 -
FPGA基础设计(三):状态机(FSM)
有限状态机前言引入分类Mealy型Moore型状态编码为什么编码常见编码方式特别说明编码方式的选择状态机转移图输入输出状态状态机描述方式一段式二段式三段式前言有限状态机表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。引入时序电路中可以有输入也可以没有输入,当没有输入时用自身的电路状态作为组合电路的输入–>状态转移图时序电路包括组合电路(完成运算)和存储电路(完成存储),组合电路的输出状态反馈到组合电路的输入端,与输入信号一起共同决定组合电路的输出。X:输入;Y:输出;Z:存原创 2022-03-03 14:27:26 · 3242 阅读 · 0 评论 -
FPGA基础设计(二):任意分频器(奇数,偶数,小数)
分频器前言分频原理偶数分频 6分频 代码 tb 仿真波形奇数分频 仿真波形 代码 tb 小数分频 说明 半整数分频:N+0.5 仿真波形 代码 tb 小数分频 5.3分频前言FPGA开发板上一般只有一个晶振,即一种时钟频率。数字系统设计中,时间的计算都要以时钟作为基本单元,对基准时钟进行不同倍数的分频而得到各模块所需时钟频率,可通过Verilog代码实现;倍频可通过锁相环【PLL】实现。分频原理把输入信号的频率变成成倍的低于输入频率的输出信号;每经历几个单位原创 2022-02-27 19:32:55 · 7501 阅读 · 3 评论 -
FPGA基础设计(—):边沿检测电路
简介边沿检测指的是检测一个信号的上升沿或者下降沿,如果发现上升沿或者下降沿,则给出一个信号指示出来。边沿检测电路分为:上升沿检测电路,下降沿检测电路,双沿检测电路。实现方法直接上图分析,例:上升沿检测电路检测信号data的上升沿,即data_posedge。把信号data寄存一拍,得到data_delay,然后取反在与data相与得到data_posedge:assign D_posedge = Data & (~data1);//检测上升沿同理:assign D_negedg原创 2022-02-18 23:12:15 · 1668 阅读 · 0 评论