FPGA
文章平均质量分 60
Living_Amethyst
每天都该保持前进
展开
-
【FPGA】verilog基础语法与应用:位操作 / 模块调用——流水灯(跑马灯)
今天的实验是计数器实验的升级,设计让8个LED灯以每个0.5s的速率循环闪烁。在led_run2的文件中例化3-8译码器的文件。从结果我们可以看出,与之前的一样,证明我们成功了。每个LED灯代表一位,共8位,亮为1,灭为0。第一个状态需满足最低位为1,然后每次左移1个。,现在我们改进一下,使用。如何实现这样的逻辑呢?原创 2022-11-12 19:28:54 · 4265 阅读 · 13 评论 -
【FPGA】时序逻辑电路——基于计数器实现一个以1秒频率闪烁的LED灯
D从高电平变化成低电平,但是此时CK未来到上升沿,所以Q不随着D变化(虽然D变了,Q仍保持刚刚的状态——存储功能)由于500ms亮和灭,所以我们需要计数器计数 500ms/20ns = 25000000次。当CK来到上升沿,Q需要根据D发生变化,由于D是高电平,所以Q要从低电平变化成高电平。当D处于高电平时,CK未处于上升沿时,Q仍处于低电平。CK来到上升沿,此时D又恢复了高电平,所以Q不变。这样就能实现 每一个时序上升沿,计数器结果都加1。每到一个上升沿,计数器的值加一次。我们就需要一个计数器,原创 2022-11-12 15:55:50 · 2823 阅读 · 2 评论 -
【FPGA】组合逻辑 3-8译码器实现
(img-s2A2GWLh-1668239237075)](img-z5WKxPTl-1668239237075)]3位的信号的值是n,8位输出信号的第n位上数字就为1。根据功能仿真,我们可以发现,程序能满足我们的需求。将三位的输入信号译码得到一个8位的输出信号。图中为abc=101 (5) 第5位亮。,程序能满足我们的需求。什么是3-8译码器?原创 2022-11-12 15:48:58 · 1728 阅读 · 3 评论 -
你的第一个基于Vivado的FPGA开发流程实践——二选一多路器
我们还能看到毛刺,原理是(a、b、sel都在变,只要某一次变化中,其中一个的变化优先于另外两个,就会有毛刺)通过时序仿真我们可以看到 out的变化滞后于信号的变化,这说明out的变化是有一定延迟的,这是合理的。图中展示的为 sel = 1 ,a = 1的情况 (out = a = 1 灯亮)然后refresh device 再 program device。我们可以根据左边的这些值 判断功能是否能达成。首先我们需要用一张图说明仿真测试的原理/意义。现在开始编写仿真代码,我们首先要知道的是。原创 2022-11-12 01:18:24 · 1265 阅读 · 5 评论