参加过一次笔试,让实现3分频,楼主当时是懵逼的,脑子里只知道同时利用上升沿和下降沿,本来写对了,慌张面试,脑子不管用了,(因为是手写,只能用脑子仿真)后来又给改错了,捂脸。。。

还是逻辑不清晰,现在自己写一个,贴在这里给大家参考。

 module Top#(

 )
 (
     input clkin,
     output clkout
     );
     wire clkin;
     wire clkout;
     reg  clkoutr;
     function integer clogb2;
       :] divNum;
       integer i;
       begin
       clogb2 = ;
       ; **i < divNum; i = i + )
           clogb2 = i + ;
       end
     endfunction
     parameter cntbits = clogb2(divNum);
     ] cnt;
     initial begin
         clkoutr <= ;
         cnt <= ;
     end
     always@(posedge clkin or negedge clkin)begin
         ))begin
             cnt <= ;
             clkoutr <= ~clkoutr;
         end
         else begin
             cnt <= cnt +  ;
         end
     end
     assign clkout = clkoutr;

现在说我那段改错的代码,当时就想着得用异或,反而弄麻烦了,以下纯粹个人弥补遗憾之举,可以略过。

偶数分频容易,奇数分频不好弄,拿三分频举例,如果先六分频后再二倍频,拿俩个相差90的六分频时钟异或则得到3分频。

难就难在相差90上了,楼主坦白讲,下面这代码是试出来的(捂脸)。。。。。。哈哈哈

直接上代码,示例代码为7分频,保准好用,这个逻辑完全是脱裤子发屁的感觉,头一眼看还挺迷惑,看懂了就知道楼主是个笨蛋,哈哈哈,有兴趣的读者自己分析吧,欢迎指正

 module Top#(

 )
 (
     input clkin,
     output clkout
     );
     wire clkin;
     reg  clkout1;
     reg  clkout2;
     wire  clkout;

     function integer clogb2;
     :] divNum;
     integer i;
     begin
     clogb2 = ;
     ; **i < divNum; i = i + )
         clogb2 = i + ;
     end
     endfunction
     parameter cntbits = clogb2(divNum);
     ] cnt;

     initial begin
         clkout1 <= ;
         clkout2 <= ;
         cnt <= ;
     end
     always@(posedge clkin)begin
         ))begin
             cnt <= ;
             clkout1 <= ~clkout1;
         end
         else begin
             cnt <= cnt +  ;
         end
     end
     always@(negedge clkin)begin
         ))begin
                 cnt <= ;
                 clkout2 <= ~clkout2;
             end
             else begin
                 cnt <= cnt +  ;
             end
     end
     assign clkout = clkout1 ^ clkout2;
 endmodule
`timescale 1ns/1ps
module Top_test(
    );
    wire clkout_P;
    reg  clkin_P;
    Top Top(
    .clkin(clkin_P),
    .clkout(clkout_P)
    );
    initial begin
        clkin_P <= ;
    end
    always@(*)begin
      # clkin_P <= ~clkin_P;
    end
endmodule

Verilog 任意(奇数/偶数)分频器的更多相关文章

  1. 基于Verilog的奇数偶数小数分频器设计

    今天呢,由泡泡鱼工作室发布的微信公共号“硬件为王”(微信号:king_hardware)正式上线啦,关注有惊喜哦.在这个普天同庆的美好日子里,小编脑洞大开,决定写一首诗赞美一下我们背后伟大的团队,虽然 ...

  2. [Verilog]随意整数(奇数,偶数)分频器设计, 50%占空比

    module div_clk(clk_in, divisor, clk_out); input clk_in; input divisor; output clk_out; reg clk_out = ...

  3. vijos 2035 奇数偶数与绚丽多彩的数

    描述 Q先生是一个热爱学习的男孩子. 他认为一个 n 位的正整数 x 若能被称作是绚丽多彩的,一定要满足对于{1,3,5,7,9} 中任意一个奇数或者没有在 x 中出现,或者在 x 中出现了恰好奇数次 ...

  4. 输出1-100 , 奇数偶数分别添加标识(for循环语句嵌套if-else语句)

    package com.summer.cn; /** * @author Summer * 输出1-100 , 奇数偶数分别添加标识 */ public class Test041518 { publ ...

  5. C 语言实例 - 判断奇数/偶数

    C 语言实例 - 判断奇数/偶数 C 语言实例 C 语言实例 以下实例判断用户输入的整数是奇数还是偶数. 实例 #include <stdio.h> int main() { int nu ...

  6. 手写面试编程题- 数组去重 深拷贝 获取文本节点 设置奇数偶数背景色 JS中检测变量为string类型的方法 第6题闭包 将两个数组合并为一个数组 怎样添加、移除、移动、复制、创建和查找节点? 继承 对一个数组实现随机排序 让元素水平 垂直居中的三种方式 通过jQuery的extend方法实现深拷贝

    第1题==>实现数组去重 通过 new Set(数组名) // var arr = [12, 12, 3, 4, 5, 4, 5, 6, 6]; // var newarr1 = new Set ...

  7. verilog实现奇数倍分频

    在学习FPGA的过程中,最简单最基本的实验应该就是分频器了, 同时分频器也是FPGA设计中使用频率非常高的基本设计之一, 尽管在芯片厂家提供的IDE中集成了锁相环IP, 如altera 的PLL,Xi ...

  8. 关于for循环的几个小练习,例如奇数偶数,阶乘,求和等

    1 .100以内的奇数和偶数 var js = ""; var os = ""; for(var i=1;i<101;i++) { if(i%2 == 0 ...

  9. CodeForces 710CMagic Odd Square(经典-奇数个奇数&偶数个偶数)

    题目链接:http://codeforces.com/problemset/problem/710/C 题目大意:输入一个奇数n,则生成n*n矩阵,要求矩阵的行.列还有斜着,所有元素之和为奇数. 解题 ...

随机推荐

  1. 高性能队列Disruptor系列2--浅析Disruptor

    1. Disruptor简单介绍 Disruptor是一个由LMAX开源的Java并发框架.LMAX是一种新型零售金融交易平台,这个系统是建立在 JVM 平台上,核心是一个业务逻辑处理器,它能够在一个 ...

  2. centos ios镜像文件 安装详细

    1.挂载iOS镜像(先打开VM 选择虚拟机---->设置-->CD ---->使用ISO镜像文件 用浏览打开) 2.开始界面选择 3出现下面的界面 这是提示你是否扫描文件的完整性 我 ...

  3. Vulkan Tutorial 21 Staging buffer

    操作系统:Windows8.1 显卡:Nivida GTX965M 开发工具:Visual Studio 2017 Introduction 顶点缓冲区现在已经可以正常工作,但相比于显卡内部读取数据, ...

  4. SCI论文写作中的注意事项

    SCI论文一般都是英文的格式,其中有很多原则和细节需要我们注意,在我完成第一篇SCI论文的过程中,做些记录,同时和大家分享一下这些经验.同时也稍微改变一下园子里的人口比例,都是攻城狮,程序猿什么的也过 ...

  5. 深入理解YYCache

    前言 本篇文章将带来YYCache的解读,YYCache支持内存和本地两种方式的数据存储.我们先抛出两个问题: YYCache是如何把数据写入内存之中的?又是如何实现的高效读取? YYCache采用了 ...

  6. 基于Angularjs实现图片上传和下载

    根据ng-file-uoload实现文件上传和下载实现 网上down下来ng-file-uoload.js,在项目中记得引入服务哦. 示例代码: FileUploaderCtrl.$inject = ...

  7. 持续集成篇-- SonarQube代码质量管理平台的安装

    视频教程:http://www.roncoo.com/course/view/85d6008fe77c4199b0cdd2885eaeee53 IP:192.168.4.221 环境:CentOS 6 ...

  8. linux环境下创建和删除软链接

    ln -s /home/zhenwx/htccode-v1/ /home/zhenwx/htccode 建立/home/zhenwx/htccode-v1 的软连接 linux下的软链接类似于wind ...

  9. [leetcode-623-Add One Row to Tree]

    Given the root of a binary tree, then value v and depth d, you need to add a row of nodes with value ...

  10. eclipse在多modules项目结构下避免模块间依赖引用的场景

    这个在单一classLoader时,不会有问题.如果多classloader下会有问题. 假设工程有两个模块,module2 依赖module1 当我们执行mvc eclipse:eclipse后,然 ...