FPGA面试 --- 2

1 设计一个占空比为 50 % 的五分频时钟

设计5分频时钟时,由于属于奇数分频,故需要添加两种计数器和时钟进行逻辑组合操作。

首先设计时钟上升沿有效的计数器进行计数,计数到 5 (要进行分频的个数)
置零。
时钟 clk1 是上升沿有效,初始为 高,计数到 大于 5/2 (奇数计数的一半)时拉低,计数器为0时在拉高。
另一个计数器设置时钟下降沿有效,同理计数到 5 置零 。
时钟 clk2 为下降沿有效,逻辑同时钟 clk1 。

此处 时钟 clk1 和 clk2 占空比都为 40% 。二者不同为时钟 clk2 相比于 clk1 要晚半个时钟才会改变值,所以最终时钟 clk_out 将 clk1 和 clk2 进行或逻辑就能得到最终的占空比为 50% 的5分频时钟。
verilog 设计代码如下图所示 :
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

TB 代码如下图所示 :

在这里插入图片描述

在这里插入图片描述

仿真波形图如图所示 :

在这里插入图片描述
图中蓝色信号为最终的占空比为50%的5分频时钟,可以看到,从 510ns开始复位拉高,之后为有效信号。从 510 ns 到 610 ns 为 clk_out 的一个时钟周期,等于输入时钟 clk 的五个时钟周期,同时 clk_out 的占空比为 50%。

2 设计一个占空比为 50 % 的六分频时钟

设计一个占空比为 50 % 的偶数分频时钟比设计奇数分频时钟要简单。只需要设计一个计数器和一个时钟即可。(二者都是靠时钟上升沿触发的,无需下降沿)

具体 前端 verilog 代码如图所示 :

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

tb 文件和 1 中类似,不过多叙述 。

仿真波形图如下图所示 :

在这里插入图片描述

延伸

若想设计其他任意的奇数偶数分频器,则只需要将计数逻辑和时钟逻辑中的判定数改成需要进行分频的数即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wiggle coin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值