晶振分频【FPGA】

news/2025/2/19 8:43:07/

所有数据对齐晶振。

6分频:【1】

module divider_six // 6分频 【0~2】
( input wire sys_clk , //系统时钟 50MHz input wire sys_rst_n , //全局复位 output reg clk_out //对系统时钟 6 分频后的信号 
);reg [1:0] cnt; //用于计数的寄存器 //cnt:计数器从 0 到 2 循环计数 
always@(posedge sys_clk or negedge sys_rst_n) 
if(sys_rst_n == 1'b0) cnt <= 2'b0; 
else if(cnt == 2'd2)  // 计数 到 2  cnt <= 2'b0; 
else cnt <= cnt + 1'b1; //clk_out:6 分频 50%占空比输出 
always@(posedge sys_clk or negedge sys_rst_n) 
if(sys_rst_n == 1'b0) clk_out <= 1'b0; 
else if(cnt == 2'd2) clk_out <= ~clk_out; 

6分频:【2】

module divider_six 
( input wire sys_clk , //系统时钟 50MHz input wire sys_rst_n , //全局复位 output reg clk_flag //指示系统时钟 6 分频后的脉冲标志信号 
); reg [2:0] cnt; //用于计数的寄存器 
//cnt:计数器从 0 到 5 循环计数 
always@(posedge sys_clk or negedge sys_rst_n) 
if(sys_rst_n == 1'b0) cnt <= 3'b0; 
else if(cnt == 3'd5) // 【5】清零cnt <= 3'b0; 
else cnt <= cnt + 1'b1; //clk_flag:脉冲信号指示 6 分频
always@(posedge sys_clk or negedge sys_rst_n) 
if(sys_rst_n == 1'b0) clk_flag <= 1'b0; 
else if(cnt == 3'd4)  // 【等于4】下周期_拉高clk_flag <= 1'b1; 
else clk_flag <= 1'b0; 
endmodule 

5分频:

从第一个晶振开始:【3+2】

        2.5晶振高电平,2.5晶振低电平

clk1是 3+2

clk2是2+3

需要 clk2下降沿【拉低】clk1上升沿【拉高】 

逻辑上看,可以是clk1和clk2都是高电平时,输出高电平

clk_out = clk1 & clk2;

推荐5分频:

原因是:所有数据对齐晶振。


http://www.ppmy.cn/news/1207595.html

相关文章

【STM32】STM32的Cube和HAL生态

1.单片机软件开发的时代变化 1.单片机的演进过程 (1)第1代&#xff1a;4004、8008、Zilog那个年代&#xff08;大约1980年代之前&#xff09; (2)第2代&#xff1a;51、PIC8/16、AVR那个年代&#xff08;大约2005年前&#xff09; (3)第3代&#xff1a;51、PIC32、Cortex-M0、…

EMQX服务器的API接口使用介绍_完成上位机开发

一、前言 在前面的两篇文章里分别介绍了再Windows和Ubuntu下利用EMQX搭建自己的私有MQTT服务器,实现设备上云。 这篇文章介绍如何利用EMQX提供的API接口,开发用户使用的上位机(我这里分别采用python 和 Qt 进行开发测试),完成对应的功能开发。凭证获取,主题发布、消息获取…

DVWA - 2

文章目录 SQL Injectionlowmediumhigh SQL Injection low 输入 1&#xff0c;可以展示 id 1 的人员信息&#xff1a;输入 1’&#xff0c;有报错信息。可以看出是mysql数据库&#xff0c;‘‘1’’’ 去除两边的引号&#xff0c;再去除1两端的引号&#xff0c;可以看出闭合符…

linux 操作系统

先讲一下叭&#xff0c;自己学这的原因&#xff0c;是因为我在做项目的时候使用到啦Redis&#xff0c;其实在windows系统上我其实也装啦Redis上&#xff0c;但是我觉得后期在做其他的项目的时候可能也会用到这个然后就想着要不先学学redis&#xff0c;然后在后面也不至于什么都…

安卓NDK开发

1、jni&#xff1a;java native interface 作用&#xff1a;用于java代码和C、c代码的交互&#xff08;代码混编&#xff09;&#xff1b; 分类使用&#xff1a;Jni静态注册、jni动态注册 2、静态注册 1&#xff09;.绑定java方法和C/C方法的方式之一&#xff1b; …

定制 ElementPlus 主题

目录 一、安装sass二、准备定制化的样式文件三、自动导入配置 一、安装sass 基于 vite 的项目默认不支持 css 预处理器&#xff0c;需要开发者单独安装 npm i sass -D二、准备定制化的样式文件 必须在 styles/element/index.scss 文件夹下面创建 /* 只需要重写你需要的即可 */ …

uni-app前端H5页面底部内容被tabbar遮挡

问题&#xff1a; 在用uniapp写小程序的时候&#xff0c;底部有一部分内容没显示出来&#xff0c;被底部的tabbar遮挡住了 解决&#xff1a; 给最外部的view设置样式padding-bottom: var(--window-bottom)&#xff0c;如下 参考&#xff1a; 参考1 参考2 使用 uni-app 框…

使用matlab实现图像信号的色彩空间转换

利用matlab对图像信号进行读取&#xff0c;并对RGB空间进行转换&#xff0c;如转换到HSI空间等。 下面的这个代码是在使用了rgb2hsi()方法失败后&#xff0c;进行修改的。 rgb2hsi(img)这个方法可以将RGB图像转换为HIS图像&#xff1b;但是爆出了 Untitled5(line 5)hsi rgb2h…