首页 > 其他分享 >任意整数分频

任意整数分频

时间:2023-12-22 15:24:16浏览次数:26  
标签:分频 cnt wire clk pos 整数 rst 任意

//**************************************************************************
              任意整数分频,占空比为 1:2
//**************************************************************************

module div_clk
//========================< 参数 >==========================================
#(
parameter DIV               = 2                   //分频系数(奇偶任意)
)
//========================< 端口 >==========================================
(
input   wire                clk                 , //时钟,50Mhz
input   wire                rst_n               , //复位,低电平有效
output  wire                div_clk               //分频时钟
);
//========================< 信号 >==========================================
reg   [31:0]                pos_cnt             ;
wire                        pos_clk             ;
reg   [31:0]                neg_cnt             ;
wire                        neg_clk             ;
//==========================================================================
//==    clk上升沿分频
//==========================================================================
always @(posedge clk or negedge rst_n) begin
    if(!rst_n)
        pos_cnt <= 0;
    else if(pos_cnt == DIV - 1)
        pos_cnt <= 0;
    else
        pos_cnt <= pos_cnt + 1;
end

assign pos_clk = (pos_cnt < DIV/2) ? 0 : 1;
//==========================================================================
//==    clk下降沿分频
//==========================================================================
always @(negedge clk or negedge rst_n) begin
    if(!rst_n)
        neg_cnt <= 0;
    else if(neg_cnt == DIV - 1)
        neg_cnt <= 0;
    else
        neg_cnt <= neg_cnt + 1;
end

assign neg_clk = (neg_cnt < DIV/2) ? 0 : 1;
//==========================================================================
//==    奇偶判断后,输出正确的分频
//==========================================================================
assign div_clk = DIV[0] ? (pos_clk & neg_clk) : pos_clk;


endmodule

 

对应RTL:

 

参考:咸鱼IC

 

标签:分频,cnt,wire,clk,pos,整数,rst,任意
From: https://www.cnblogs.com/DOVI666/p/17921659.html

相关文章

  • 任意多点按某一方向排序
    List<PointF>SortPoints(PointF[]points){List<PointF>result=newList<PointF>();PointFcenter=GetGravityPoint(points.ToList());PointFx=newPointF(center.X+1,center.Y);PointFOX=newPointF(1,......
  • WPF中通过附加属性实现任意控件拖动调整大小
    publicclassResizeBehavior{//附加属性用于标识控件是否可调整大小publicstaticreadonlyDependencyPropertyIsResizableProperty=DependencyProperty.RegisterAttached("IsResizable",typeof(bool),typeof(ResizeBehavior),newP......
  • 使用汇编和反汇编引擎写一个x86任意地址hook
    最简单的Hook刚开始学的时候,用的hook都是最基础的5字节hook,也不会使用hook框架,hook流程如下:构建一个jmp指令跳转到你的函数(函数需定义为裸函数)保存被hook地址的至少5字节机器码,然后写入构建的jmp指令接着在你的代码里做你想要的操作以内联汇编的形式执行被hook地址5字节机......
  • input 控制输入整数的几种方法
    有以下几种方法: 1.大于0的正整数    <el-input  oninput="value=value.replace(/^0(0+|\d+)|[^\d]+/g,'')"></el-input> 2.大于500会置成500(500以内的整数)<el-inputplaceholder="请输入数量"v-model="formLabelAlign.pageSize"typ......
  • 1346. 检查整数及其两倍数是否存在
    1346.检查整数及其两倍数是否存在给你一个整数数组arr,请你检查是否存在两个整数N和M,满足N是M的两倍(即,N=2*M)。更正式地,检查是否存在两个下标i和j满足:i!=j0<=i,j<arr.lengtharr[i]==2*arr[j]二分还算简单的二分,两个错点:1.原数组无序,要先排(sort)......
  • 3力扣-罗马数字转整数
    力扣刷题,今天做这题,一开始就想到了使用字典来存储罗马数字,但是想不到怎么解决小的在左减,小的在右加,后面只好借助题解,看完题解顿时灵光乍现,但是题解里面有个num+dicts[s[i]]-2*last的一开始想不明白,后面画表就明白了。题目罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。例如,罗......
  • 机器学习项目精选 第一期:超完整数据科学资料合集
    大噶吼,不说废话,分享一波我最近看过并觉得非常硬核的资源,包括Python、机器学习、深度学习、大模型等等。1、超完整数据科学资料合集地址:https://github.com/krishnaik06/The-Grand-Complete-Data-Science-MaterialsPython数据分析和数据科学完整播放列表数据分析和数据科学的......
  • 苹果微信换图标方法!教你微信快速改任意图标教程(附图标)
    微信作为如今的社交大哥,使用人数早已突破了十亿人次,可见其用户体量之多堪称第一!用户量越多大家的需求也就越多,就像苹果微信想要实现安卓微信的各种功能,因为iOS系统的限制很多都是实现不了的。就比如更换微信图标这件事,安卓只需要更换一个喜欢的系统主题足以,但对于iPhone来说......
  • 两个整数的最大公因数
    #define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>intAB(inta,intb){ while(b!=0) { inttemp=a%b; a=b; b=temp; } returna;}intmain(){ inta,b; printf("请输入两个整数:>\n"); scanf("%d%d",&a,&......
  • 2023-12-16:用go语言,给定整数数组arr,求删除任一元素后, 新数组中长度为k的子数组累加和
    2023-12-16:用go语言,给定整数数组arr,求删除任一元素后,新数组中长度为k的子数组累加和的最大值。来自字节。答案2023-12-16:来自左程云。灵捷3.5大体步骤如下:算法maxSum1分析:1.计算输入数组arr的长度n。2.如果n<=k,则返回0。3.初始化ans为int类型的最小值(math......