codersnote
这个作者很懒,什么都没留下…
展开
-
【FPGA笔记系列16】秒表电路之计数模块
对于秒表计数器来讲, 最小的计时单位为 0.1s 信号, 0.1s 的计数值 sec_div 就是一个独立的 10 进制计数器, 且计数时钟周期为 0.1s。因此, 可以将 0.1s 的计数值 sec_div 写在一个单独的 always 语句块内。第二段always 语句块同样以 50MHz 的时钟信号 clk 为驱动信号, 将() 的判断结果作为时钟允许信号, 描述周期为 10 的 0.1s 的秒表计数值。由于 cn_div 的计数周期为 0.1s,每次(原创 2023-04-11 05:00:00 · 293 阅读 · 0 评论 -
【FPGA笔记系列15】秒表电路之按键消抖模块
按键抖动示意图如图所示(图中的按键信号默认为低电平, 按下为高电平。如按键信号默认为高电平, 按下为低电平, 则按键信号的前沿为下降沿, 后沿为上升沿)。抖动时间的长短由按键的机械特性决定, 一般为 5ms~20ms。这是一个很重要的时间参数, 在很多场合都要用到。根据按键产生的实际信号特性, 可以采用下面的思路实现消抖功能。根据上述设计思路, 每检测到一次按键动作, 前沿计数器和后沿计数器均会有一次从 0持续计数至 20ms 的过程。原创 2023-04-10 05:00:00 · 276 阅读 · 0 评论 -
【FPGA笔记系列14】秒表电路之数码管显示部分
根据秒表电路的功能需求, 考虑硬件电路原理, 可以将程序分为两个子模块: 秒表计数模块(watch_counter) 及数码管显示模块(seg_disp)。两个模块的连接关系如图 8-2 所示。其中 dec2seg、 keyshape 分别为两个功能相对独立的子模块, dec2seg 用于完成段码的编码,keyshape 用于完成按键消抖功能。原创 2023-04-09 12:37:47 · 781 阅读 · 0 评论 -
【FPGA笔记系列13】呼吸灯电路设计
常规的 LED 灯只有亮(高电平) 及暗(低电平) 两种状态。如果产生一个周期性的脉冲信号用于驱动 LED 灯, 则 LED 灯会出现闪烁状态。如果脉冲信号的频率足够高(大于人眼的分辨频率 24Hz),则由于人眼的分辨率问题, 看起来 LED 灯仍然是恒亮的。此时, 只要控制脉冲信号的占空比(一个周期内高电平持续的时间占整个周期的比值),相当于控制了通过 LED 灯的平均电流大小, 就可以控制 LED 灯的亮度。原创 2023-04-08 19:27:22 · 1791 阅读 · 0 评论 -
【FPGA笔记系列12】流水灯的核心之计数器
首先,做一个计数器生成clk_light时钟,再用clk_light时钟驱动一个8进制(有8个灯)的计数器,根据8进制计数器的状态控制灯。50MHz的时钟,即5000_0000,那么8000_0000的计数器就是1.6s。灯每0.2s更换一次,如何更方便地更改灯改变的频率?原创 2023-03-14 05:00:00 · 164 阅读 · 0 评论 -
【FPGA笔记系列11】秒信号灯的设计
系统的时钟为50MHz,设置一个50M的计数器,让信号灯在计数器每达到25M的时候状态改变。原创 2023-03-13 18:39:25 · 119 阅读 · 0 评论 -
【FPGA笔记系列10】计数器的各种写法
激励文件,仿真结果,原理图原创 2023-02-07 05:00:00 · 185 阅读 · 0 评论 -
【FPGA笔记系列9】再谈阻塞(=)与非阻塞(<=)赋值
always中,同一个信号不同时使用=、原创 2023-02-06 12:30:49 · 985 阅读 · 0 评论 -
【FPGA笔记系列8】边沿检测和序列检测器
上升沿检测思路:前一时刻(信号经过D出发器后即延时的输出)为低电平,当前时刻为高电平。下降沿检测思路:前一时刻(信号经过D出发器后即延时的输出)为高电平,当前时刻为低电平。双沿:前一时刻和当前时刻状态不一样即可!原创 2023-02-02 22:19:53 · 203 阅读 · 0 评论 -
【FPGA笔记系列7】时序逻辑电路基础D触发器
与非门RS锁存器的缺陷:当SR从00变到11时,状态不稳定!电路中小圈圈表示低电平有效!原创 2023-02-01 05:00:00 · 848 阅读 · 0 评论 -
【FPGA笔记系列6】数码管静态显示电路Verilog设计
CGD100 开发板上配置有 4 个共阳级八段数码管, 本实例需要通过 4 个按键控制( KEY1~ KEY4) , 在 4 个数码管上显示字符 0~F。另外一个独立按键 KEY8 控制小数点段码的状态。本实例仅实现数码管的静态显示, 后续章节再讨论采用动态扫描的方式实现多个数码管显示不同字符的电路设计。开发板包含了 4 个共阳级 8 段数码管, 其电路原理图如图所示。4 个 共阳级。原创 2023-01-22 05:00:00 · 1855 阅读 · 0 评论 -
【FPGA笔记系列5】典型编码器电路
功能表十个按键 S[9:0], 对应十进制数 0~9。采用 4 位二进制数 Y[3:0]]对其进行编码, Y[3]的权值为 8, Y[2]的权值为 4, Y[1]的权值为 2, Y[0]的权值为 1, 因此称做 8421BCD 码。该编码器输入低电平有效;在按下 S[0]~S[9]中任意键时, 代表有信号输入, G 为 1;没有按键按下时, G 为 0。原创 2023-01-19 05:00:00 · 377 阅读 · 0 评论 -
【FPGA笔记系列4】ifelse描述五人投票电路及42编码器的ModelSim仿真
ifelse一定写在always下面,组合逻辑电路敏感列表使用。用File==>Open操作打开一次即可正常打开!ledt作为投票是否通过的中间变量。原创 2023-01-18 05:00:00 · 398 阅读 · 0 评论 -
【FPGA笔记系列3】assign语句和if-esle语句
前面几节中采用的方法称为结构化建模。本节 assign语法,always语法,阻塞与非阻塞区别,位宽概念等等原创 2023-01-15 05:00:00 · 1463 阅读 · 0 评论 -
【FPGA笔记系列2】三人投票电路
查看原理图:其它几个常用的门电路分别为: 与门(and) 、 或非门(nor) 、 或门(or)、异或门(xor) 、 异或非门(xnor) 、 非门(not)。在调用门电路时,。原创 2023-01-13 20:32:18 · 1086 阅读 · 0 评论 -
【FPGA笔记系列1】LED流水灯
LED流水灯原创 2023-01-13 19:51:15 · 187 阅读 · 0 评论