Verilog 任意(奇数/偶数)分频器
参加过一次笔试,让实现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 任意(奇数/偶数)分频器的更多相关文章
- 基于Verilog的奇数偶数小数分频器设计
今天呢,由泡泡鱼工作室发布的微信公共号“硬件为王”(微信号:king_hardware)正式上线啦,关注有惊喜哦.在这个普天同庆的美好日子里,小编脑洞大开,决定写一首诗赞美一下我们背后伟大的团队,虽然 ...
- [Verilog]随意整数(奇数,偶数)分频器设计, 50%占空比
module div_clk(clk_in, divisor, clk_out); input clk_in; input divisor; output clk_out; reg clk_out = ...
- vijos 2035 奇数偶数与绚丽多彩的数
描述 Q先生是一个热爱学习的男孩子. 他认为一个 n 位的正整数 x 若能被称作是绚丽多彩的,一定要满足对于{1,3,5,7,9} 中任意一个奇数或者没有在 x 中出现,或者在 x 中出现了恰好奇数次 ...
- 输出1-100 , 奇数偶数分别添加标识(for循环语句嵌套if-else语句)
package com.summer.cn; /** * @author Summer * 输出1-100 , 奇数偶数分别添加标识 */ public class Test041518 { publ ...
- C 语言实例 - 判断奇数/偶数
C 语言实例 - 判断奇数/偶数 C 语言实例 C 语言实例 以下实例判断用户输入的整数是奇数还是偶数. 实例 #include <stdio.h> int main() { int nu ...
- 手写面试编程题- 数组去重 深拷贝 获取文本节点 设置奇数偶数背景色 JS中检测变量为string类型的方法 第6题闭包 将两个数组合并为一个数组 怎样添加、移除、移动、复制、创建和查找节点? 继承 对一个数组实现随机排序 让元素水平 垂直居中的三种方式 通过jQuery的extend方法实现深拷贝
第1题==>实现数组去重 通过 new Set(数组名) // var arr = [12, 12, 3, 4, 5, 4, 5, 6, 6]; // var newarr1 = new Set ...
- verilog实现奇数倍分频
在学习FPGA的过程中,最简单最基本的实验应该就是分频器了, 同时分频器也是FPGA设计中使用频率非常高的基本设计之一, 尽管在芯片厂家提供的IDE中集成了锁相环IP, 如altera 的PLL,Xi ...
- 关于for循环的几个小练习,例如奇数偶数,阶乘,求和等
1 .100以内的奇数和偶数 var js = ""; var os = ""; for(var i=1;i<101;i++) { if(i%2 == 0 ...
- CodeForces 710CMagic Odd Square(经典-奇数个奇数&偶数个偶数)
题目链接:http://codeforces.com/problemset/problem/710/C 题目大意:输入一个奇数n,则生成n*n矩阵,要求矩阵的行.列还有斜着,所有元素之和为奇数. 解题 ...
随机推荐
- 多个项目MyEclipse中启动出现OutOfMemoryError: PermGen space如何解决
在MyEclipse中启动程序运行,报错java.lang.OutOfMemoryError: PermGen space应该怎么办?这是eclipse 内存不够的原因. PermGen space的 ...
- thinkphp5.0学习笔记(三)获取信息,变量,绑定参数
1.构造函数: 控制器类必须继承了\think\Controller类,才能使用: 方法_initialize 代码: <?php namespace app\lian\controller; ...
- Web 前端代码规范
Web 前端代码规范 最后更新时间:2017-06-25 原始文章链接:https://github.com/bxm0927/web-code-standards 此项目用于记录规范的.高可维护性的前 ...
- EL表达式拼接字符串
EL表达式拼接字符串<c:set var="types" value="${','}${resMap['vo'].lineType }${','}" &g ...
- iOS获取WIFI的IP、子网掩码,以及域名转IP
获取WIFI需要的头文件: #import "GetCurrentIP.h" #import <ifaddrs.h> #import <arpa/inet.h&g ...
- IE11中navigator.userAgent的变化
在原来判断浏览器是否是ie时,我们可以根据navigator.userAgent中时候有MSIE,但是IE11进行变革,userAgent中不在包含MSIE字段, 在实际项目中,入到类似的在控制台报错 ...
- java中的选择排序之降序排列
import java.util.Arrays;//必须加载 class Demo{ public static void main(String []args){ int[] arr={3,54,4 ...
- fiddler4手机抓包
- Selenium chrome配置代理Python版
环境: windows 7 + Python 3.5.2 + Selenium 3.4.2 + Chrome Driver 2.29 + Chrome 58.0.3029.110 (64-bit) S ...
- Example008关闭IE窗口时,不弹出询问对话框
<!-- 实例008关闭IE主窗口时,不弹出询问对话框 --> <meta charset="UTF-8"> <a href="#" ...