FPGA开发——奇数分频器的设计

一、概论

在我们进行FPGA分频器的学习当中,我们通常会学习怎样完成任意分频器的设计,其中就包括偶数分频最为常见。在实现的分频器的同时我们也会不定时的要求同时设置对应的占空比。今天我们就来看看怎样同时设置奇数分频器和其对应50%的占空比。

二、实现原理

我们在进行偶数分频时可以很轻松的就可以实现对应的分频器和其占空比,因为就是简单实现高低电平反转就行。而在奇数分频中要实现50占空比就需要一种特定的思想。

1、设计源码

这里我使用的是先进行n分频器的设计,然后利用两个n分频的相位延迟一个周期的方法对于实现n分频的50%占空比。特别需要注意的是两个子分频逻辑只能用组合逻辑,否则使用时序逻辑的话会自动忽略低电平。在下面的代码中n=3。

module divider(input  clk,input  rst_n,output reg clk_out
);
parameter TIME = 3;
reg [2:0]cnt;
reg [2:0] cnt1;
reg [2:0] cnt2;
reg  clk_out1;
reg  clk_out2;//子分频器1
always @(posedge clk or negedge rst_n)beginif(!rst_n)cnt1<=0;else if(cnt1==(TIME-1))cnt1<=0;else cnt1<=cnt1+1;
end //子分频器2
always @(negedge clk or negedge rst_n)beginif(!rst_n)cnt2<=0;else if(cnt2==(TIME-1))cnt2<=0;elsecnt2<=cnt2+1;
end //子分频器1频率分布
always @(posedge clk or negedge rst_n)begin if(!rst_n)clk_out1<=0;else if(cnt1<(TIME>>1))clk_out1<=0;else clk_out1<=1;
end //子分频器2频率分布
always @(negedge clk or negedge rst_n)begin if(!rst_n)clk_out2<=0;else if(cnt0<(TIME>>1))clk_out2<=0;else clk_out2<=1;
end assign clk_out=clk_out1 &&clk_out2;

2、仿真文件

//定义时间尺度
`timescale 1ns/1ns
module divider_tb ;//输入信号定义
reg  clk;
reg rst_n;wire  clk_out;
//模块例化
divider div (/*input */  .clk       (clk    ),/*input */  .rst_n     (rst_n  ),/*output*/  .clk_out   (clk_out      )
);
//激励信号产生
parameter CLK_CYC = 20;
//时钟
initial clk=1;
always #(CLK_CYC/2)clk=~clk;//复位
initial beginrst_n= 1'b0;#(CLK_CYC*3);#5;//复位结束避开时钟上升沿rst_n= 1'b1;
end//激励endmodule

这里的测试文件和上一篇偶数分频器的测试文件一样,可以拿来直接用。

四、仿真波形图

通过仿真波形图我们可以看到:计数器1和计数器2的两个子分频的相位是相差一个周期的,而且通过观察clk_out我们可以看到实现了3分频的50%占空比。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3266650.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

LabVIEW操作系列1

系列文章目录 我的记录&#xff1a; LabVIEW操作系列 文章目录 系列文章目录前言五、特殊用法5.1 取值范围表示5.2 对输入值取值范围进行限定5.3 控制多个While循环停止运行。5.4 获取按钮上的文本5.5 获取按钮上的文本【进阶】 六、使用步骤1.引入库2.读入数据 七、其余功能7.…

机器学习笔记——决策树

定义 决策树是一种可以用来解决回归和分类的问题的算法 决策树使用树形结构&#xff0c;通过叶子节点上的条件层层推理&#xff0c;得到最终的结果 例如&#xff1a;通过上面的简单决策&#xff0c;我们可以通过形状这一条件决策出水果属于哪一类。 决策树的学习结果和取什么规…

RK3588+MIPI+GMSL+AI摄像机:自动车载4/8通道GMSL采集/边缘计算盒解决方案

RK3588作为目前市面能买到的最强国产SOC&#xff0c;有强大的硬件配置。在智能汽车飞速发展&#xff0c;对图像数据矿场要求越来越多的环境下&#xff0c;如何高效采集数据&#xff0c;或者运行AI应用&#xff0c;成为刚需。 推出的4/8通道GMSL采集/边缘计算盒产品满足这些需求…

鸿蒙(HarmonyOS)自定义Dialog实现时间选择控件

一、操作环境 操作系统: Windows 11 专业版、IDE:DevEco Studio 3.1.1 Release、SDK:HarmonyOS 3.1.0&#xff08;API 9&#xff09; 二、效果图 三、代码 SelectedDateDialog.ets文件/*** 时间选择*/ CustomDialog export struct SelectedDateDialog {State selectedDate:…

解开基于大模型的Text2SQL的神秘面纱

你好&#xff0c;我是 shengjk1&#xff0c;多年大厂经验&#xff0c;努力构建 通俗易懂的、好玩的编程语言教程。 欢迎关注&#xff01;你会有如下收益&#xff1a; 了解大厂经验拥有和大厂相匹配的技术等 希望看什么&#xff0c;评论或者私信告诉我&#xff01; 文章目录 一…

环境搭建-Windows系统搭建Docker

Windows系统搭建Docker 一、系统虚拟化1.1 启用虚拟化2.2 启用Hyper-v并开启虚拟任务 三、安装WSL3.1 检验安装3.2 安装WSL 四、Docker安装4.1 Docker安装包下载4.2 Docker安装4.3 运行docker Desktop 五、Docker配置5.1 打开Docker配置中心5.2 配置Docker国内镜像 六、使用 一…

提高爬虫稳定性:解决代理IP频繁掉线的完整指南

当代理IP在爬虫中频繁掉线时&#xff0c;我们先要了解出现问题的可能原因&#xff0c;这不仅限于技术性因素&#xff0c;还涉及操作策略和环境因素。只有在找到具体原因后&#xff0c;才能针对问题类型从源头解决IP掉线问题。 一、问题原因&#xff1a; 1. 代理IP质量问题导致…

vue3前端开发-小兔鲜项目-form表单的统一校验

vue3前端开发-小兔鲜项目-form表单的统一校验&#xff01;实际上&#xff0c;为了安全起见&#xff0c;用户输入的表单信息&#xff0c;要满足我们的业务需求&#xff0c;参数类型等种种标准之后&#xff0c;才会允许用户向服务器发送登录请求。为此&#xff0c;有必要进行一次…

通过限制访问,实现纯私有Docker镜像

怎么会不过审呢?没有敏感信息呀。 For obvious reasons,Many Docker image repositories are inaccessible,The official warehouse has also been filtered by the firewall,So write about how to build a self use Docker image using CloudFlares Workers and Pages. …

【第二天】计算机网络 HTTP请求报文和响应报文是什么样的 HTTP请求方式有哪些 GET请求和POST请求的区别

HTTP请求报文和响应报文是什么样的&#xff1f; 我去&#xff0c;以前都没怎么研究过这个。 客户端发送一个请求给服务器&#xff0c;服务器根据请求报文中的信息进行处理&#xff0c;并将处理结果放到响应报文中返回给客户端。 URL HTTP使用URL (Uniform Resource Locator&…

vscode 连接WSL子系统方法

1、在应用商店中安装wsl子系统&#xff1a;Ubuntu22.04 2、安装WSL扩展 3、打开vscode命令面板(左下角设置中)&#xff1b;输入wsl&#xff0c; 选择&#xff1a;Remote Explorer: Focus on WSL目标 view 这样就连接上了。。。。。 有时这个会没有这个链接箭头&#xff0c;可…

SSIS_SQLITE

1.安装 SQLite ODBC 驱动程序 2.添加SQLite数据源 在“用户DSN”或“系统DSN”选项卡中&#xff0c;点击“添加”。选择“SQLite3 ODBC Driver”&#xff0c;然后点击“完成”。在弹出的配置窗口中&#xff0c;设置数据源名称&#xff08;DSN&#xff09;&#xff0c;并指定S…

React Native在移动端落地实践

在移动互联网产品迅猛发展的今天&#xff0c;技术的不断创新使得企业越来越注重降低成本、提升效率。为了在有限的开发资源下迅速推出高质量、用户体验好的产品&#xff0c;以实现公司发展&#xff0c;业界催生了许多移动端跨平台解决方案。这些方案不仅简化了开发流程&#xf…

使用AI大模型统计英语四六级试题高频词汇

引子 前些年我做过商品搜索&#xff0c;当时为了优化一些搜索词和搜索关联提示&#xff0c;接触到一点NLP的知识。所以后来有一场非全日制的研究生考试&#xff0c;为了高效的复习英语单词&#xff0c;我爬取了往年的历史真题数据&#xff0c;以及其他模拟等各种试题的数据。然…

【零基础必看的前端教程】——JavaScript(八)函数

欢迎大家打开前端的新篇章——JavaScript&#xff0c;JavaScript与HTML、CSS合称为前端三大件&#xff0c;JavaScript是前端的重中之重&#xff0c;小洪将继续以零基础视角&#xff0c;带你循序渐进学习前端知识&#xff0c;一看就懂&#xff0c;小白也能转行做前端&#xff01…

【PyTorch】基于YOLO的多目标检测项目(二)

【PyTorch】基于YOLO的多目标检测项目&#xff08;一&#xff09; 【PyTorch】基于YOLO的多目标检测项目&#xff08;二&#xff09; YOLO-v3网络由跨距为2的卷积层、跳跃连接层和上采样层组成&#xff0c;没有池化层。网络接收一幅416 * 416的图像作为输入&#xff0c;并提供三…

nacos2.x作为配置中心和服务注册和发现以及springcloud使用

目录 一、nacos是什么 二、windows下安装配置nacos 1、准备 2、安装nacos 3、配置nacos 4、启动并且访问nacos 三、springcloud使用nacos作为配置中心 四、springcloud使用nacos进行服务注册与发现 五、springcloud使用nacos进行服务消费 六、nacos的一些高级配置 1…

pytorch-梯度下降

梯度下降 y x 2 ∗ s i n ( x ) y ′ 2 x s i n x x 2 c o s x x 1 x − Δ y ′ ( x ) 其中 Δ 表示学习率&#xff0c; y ′ ( x ) 代表 y 在 x 点处关于 x 的梯度。 y x^2 * sin(x) \\ y 2xsinxx^2cosx \\ x_1 x - \Delta y(x) \\ 其中 \Delta 表示学习率&#xff0c…

nginx 启动 ssl 模块

文章目录 前言nginx 启动 ssl 模块1. 下载2. 启动 ssl 模块 步骤3. 验证前言 如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^ _ ^。   而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来啊!!! nginx 启动 ssl 模块 1. 下载 下载…

土耳其云手机提升TikTok电商效率

在数字化飞速发展的今天&#xff0c;TikTok不仅是一个社交平台&#xff0c;更是一个巨大的电商市场。随着TikTok电商功能在全球范围内的扩展&#xff0c;土耳其的商家和内容创作者正面临着前所未有的机遇。本文将详细介绍土耳其云手机怎样帮助商家抓住机遇&#xff0c;实现业务…