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矩阵,要求矩阵的行.列还有斜着,所有元素之和为奇数. 解题 ...
随机推荐
- DW3 消息推送
1.新建项目 参见:http://www.cnblogs.com/yysbolg/p/yys_Blogs_java.html 2.添加jar包: commons-fileupload-1.2.jar ...
- python 标准库 -- signal
signal 的核心是 : 设置信号处理函数. 预定义信号 signal.SIG_DFL signal.SIGBUS signal.SIGFPE signal.SIGIO signal.SIGPOLL ...
- H.264格式,iOS硬编解码 以及 iOS 11对HEVC硬编解码的支持
H.264格式,iOS硬编解码 以及 iOS 11对HEVC硬编解码的支持 1,H.264格式 网络表示层NAL,如图H.264流由一帧一帧的NALU组成: SPS:序列参数集,作用于一系列连续的编码 ...
- Linux配置浮动IP实现WEB高可用
在高可用集群环境中,一般都需要使用浮动IP来实现web高可用(High Availability). 浮动IP的概念以及为什么需要浮动IP请参考:浮动IP(FLOAT IP) 本篇文章主要讲实际操作步 ...
- flask笔记一
最近学习flask,由于web开发方面接触的并不是很多,所以看官方文档有点焦头烂额,好多的概念不理解. <Flask web 开发>比较基础,先用这本书做个入门. 1.Flask实例化对象 ...
- cordova.js的坑
最近在使用cordova开发app,一开始只引用了cordova.js,cordova通过function exec(){}来链接本地和H5,之前代码被下载到了本地,在苹果和android上都能实现功 ...
- 搭建phabricator代码审核工具
phabricator 依赖环境 系统centos,mysql,php,nginx 1.下载安装脚本 https://secure.phabricator.com/source/phabricator ...
- Python爬虫小白---(二)爬虫基础--Selenium PhantomJS
一.前言 前段时间尝试爬取了网易云音乐的歌曲,这次打算爬取QQ音乐的歌曲信息.网易云音乐歌曲列表是通过iframe展示的,可以借助Selenium获取到iframe的页面元素, 而QQ音乐采用的是 ...
- ORA-01157,记一次Oracle故障恢复过程
生产环境中有两台部署PowerCenter的ETL业务机,近期发现无法通过客户端连接到ETL服务. 初步怀疑是PowerCenter挂掉了,或者资料库出现了故障. 登陆设备后发现PowerCenter ...
- 解决CentOS7中文乱码(包括Tomcat日志乱码)问题
Linux系统中文语言乱码,是很多小伙伴在开始接触Linux时经常遇到的问题,而且当我们将已在Wndows部署好的项目搬到Linux上运行,Tomcat的输出日志中文全为乱码(在Windows上正常) ...