FPGA 多路分频器实现

devtools/2024/9/22 18:25:59/
FPGA 中,时钟分频是经常用到的。本节实现 2 分频、 3 分频、 4 分频和 8 分频的 Verilog 实现,以及仿真调试。
仿真步骤不是必须的,但是仿真可以发现很多我们设计的错误或者隐患问题,进而对设计进行调整。
FPGA 输入全局时钟 100MHZ ,定义合适的分频计数器,得到对应的时钟。通过 chipscope 来抓取 2 分频、 3 分 频、4 分频和 8 分频结果,通过板子上的 LED 灯,来显示 2HZ 的时钟。设计总体框图如下所示
① 定义寄存器 div2_o_r ,检测输入时钟上升沿,每次上升沿寄存器 div2_o_r 反转一次,实现 2 分频。
② 定义寄存器 pos_cnt[1:0] neg[1:0] ,分别检测 div2_o_r 的上升沿和下降沿,检测到上升沿和下降沿时,两
个寄存器分别累加。计数到 2’d2 时,寄存器清零。另定义两个 div3_o_r0 div3_o_r1 ,当两个计数器小于 2’d1
,div3_o_r0 div3_o_r1 均赋值为 1 ,其他情况赋值为 0 。由 div3_o_r0 div3_o_r1 组合逻辑相或即为 div2_o_r
一步进行 3 分频所得的结果。
③ 定义位宽为 2 的寄存器 div_cnt[1:0] ,检测输入时钟上升沿, div_cnt==2’b00 2’b01 4 分频输出寄存器
div4_o_r 反转, div_cnt==2’b00 ,8 分频输出寄存器 div8_o_r 反转。
④ 由于输入时钟 100MHZ ,为得到 2HZ 的时钟,需要定义计数器至少 100000000/1=100000000 。在此定义一
个 26 位位宽的 div2hz_cnt 计数器。检测输入时钟上升沿, div2hz_cnt==26’d24_999999 div2hz_cnt==26’d49_999999
时, 2HZ 输出寄存器 div2hz_o_r 反转。

http://www.ppmy.cn/devtools/20101.html

相关文章

大语言模型在研究领域的应用——信息检索中的大语言模型

信息检索中的大语言模型 大语言模型提升信息检索任务利用大语言模型进行信息检索大语言模型增强的信息检索模型. 检索增强的大语言模型输入优化策略.指令微调策略.预训练策略. 总结应用建议未来方向 大语言模型对于传统信息检索技术与应用范式带来了重要影响。这两者在技术路径…

巴西游戏市场海外营销洞察

巴西作为南美洲最大的国家,近年来在游戏产业领域取得了显著的发展,2023年巴西整体移动游戏市场收入规模超60亿元,显示出强劲的市场活力。巴西游戏市场以其庞大的用户基础,不断增长的消费能力以及日益完善的产业环境,吸…

LeetCode93:复原IP地址

题目描述 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 ‘.’ 分隔。 例如:“0.1.2.201” 和 “192.168.1.1” 是 有效 IP 地址,但是 “0.011.255.245”、“…

PDF加密了无法编辑?解密方法来了!

一下午都在捣鼓各种格式问题,首先是需要合并几个 PDF,然而有一个文件加密了无法操作,碰到加密不能编辑就很头痛,终于让我找到一个可行的方法了, 首先就这个加密文件右键选择打开方式-Google Chrome>>打开>>…

(救命)Kali Linux或者其他linux系统的触控板右键按下没反应,失效的解决办法

我每次安装kali的时候都会选择gnome桌面,每次安装好右键都是禁用的,按下和左键效果一样,每次都得去调鼠标右键,原来就不好找到那个选项,这次踏马居然连那个选项都没了,如果你去网上找教程你会发现网上根本没…

汽车新四化,会发生什么?

北京国际汽车展览会正如火如荼地进行中,作为国内外汽车行业瞩目的盛会,众多车企纷纷亮出了自家的“杀手锏”。 这场汽车的盛宴不仅集中展示了众多汽车品牌的最新技术和产品,更深刻体现了汽车新四化的发展趋势。汽车新四化,即电动化、网联化、…

代码随想录算法训练营day38

题目:509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯 参考链接:代码随想录 理论基础 DP就是一个状态由上一个子状态推导出来的问题,区别贪心主要由一个状态推导的过程。 解题五部曲: 确定dp数组(dp table…

@Value

Value 注解是 Spring 框架中的一个注解,用于从属性文件、环境变量、Java 系统属性等地方读取值,并将这些值注入到 Spring 管理的 Bean 中。 Component public class MyBean {Value("${my.property}")private String myProperty;// Getter and…