参加过一次笔试,让实现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. 轻松Angularjs实现表格按指定列排序

    angular表格点击序号进行升序,再次点击进行降序排序,在输入框输入信息,出现相对应数据的那一行. html: <input type="text" ng-model=&q ...

  2. C#中==运算符

    在这篇博客中,我们将介绍如下内容: ==运算符与基元类型 ==运算符与引用类型 ==运算符与String类型 ==运算符与值类型 ==运算符与泛型 ==运算符与基元类型 我们分别用两种方式比较两个整数 ...

  3. TCP札记

    协议对于通信就像算法对于计算一样.算法允许人们在不必知道特定的CPU指令集的情况下指定或理解具体的计算形式.同样地,通信协议允许人们不依赖特定厂家的网络硬件来指定或理解数据通信. 网络协议通常分不同层 ...

  4. EntityFramework连接SQLite

    EF很强大,可惜对于SQLite不支持CodeFirst模式(需要提前先设计好数据库表结构),不过对SQLite的数据操作还是很好用的. 先用SQLiteManager随便创建一个数据库和一张表:

  5. 并发编程(四):ThreadLocal从源码分析总结到内存泄漏

    一.目录      1.ThreadLocal是什么?有什么用?      2.ThreadLocal源码简要总结?      3.ThreadLocal为什么会导致内存泄漏? 二.ThreadLoc ...

  6. Android 音乐播放

    android简单音乐播放控制代码 这个几个月业余时间一直在做一个android项目,里面涉及到了音乐播放功能.很简单那种,播放.暂停.上一曲.下一曲.音量调节等. 音乐播放主要使用的对象是Media ...

  7. php隔行换色输出表格

    <?php header("Content-type:text/html;charset=utf-8"); $str=''; $str.='<table border= ...

  8. iOS 输入限制之 InputKit

    前言 最近接手了两个 O2O 的老项目,其中的 Bug 也不言而喻,单看项目中的布局就有 n 种不同的方式,有用纯代码的,有用 Masonry 的,有用 VFL 的,也有用 Xib 的,更有用代码约束 ...

  9. Mac用ssh登录Ubuntu14.04

    在Ubuntu上配置ssh-server sudo apt-get install openssh-server  然后确认ssh-server是否启动  ps -e | grep ssh 如果存在s ...

  10. python迭代器生成器(三)

    扩展的列表解析语法 今天接着昨天的继续写. 列表解析可以变得更加复杂---例如,它可以包含嵌套的循环,也可能被编写为一系列的for子句.(这里只是简单介绍一下,以后再说这个语法的问题) 例如:构建一个 ...