verilog分频电路
二分频电路:
module div2(
input clk,
input rst_n,
output reg clk_o
);always@(posedge clk or negedge rst_n) begin
if(rst_n)clk_o <= 1'b0;
elseclk_o <= ~clk;
endendmodule
八分频电路:
module div4(
input clk,
input rst_n,
output reg clk_o
);reg [2:0] cnt;always@(posedge clk or negedge rst_n) begin
if(!rst_n)cnt <= 3'b0;
else if(cnt == 7)cnt <= 3'b0;
elsecnt <= cnt + 1;
endalways@(posedge clk or negedge rst_n) begin
if (!rst_n)clk_o <= 'b0;
else if(cnt < 4)clk_o <= 'b0;
elseclk_o <= 'b1;
endendmodule
50%占空比七分频电路:
module div7(
input clk,
input rst_n,
output reg clk_o
);reg [2:0] cnt_p, cnt_n;
reg clk_p, clk_n;always@(posedge clk or negedge rst_n) begin
if(!rst_n)cnt_p <= 'b0;
else if(cnt_p == 6)cnt_p <= 'b0;
elsecnt_p <= cnt_p + 1;
endalways@(posedge clk or negedge rst_n) begin
if(!rst_n)clk_p <= 'b1;
else if(cnt_p < 3)clk_p <= 'b1;
elseclk_p <= 'b0;
endalways@(negedeg clk or negedge rst_n) begin
if(!rst_n)cnt_n <= 'b0;
else if(cnt_n == 6)cnt_n <= 'b0;
elsecnt_n <= cnt_n + 1;
endalways@(negedeg clk or negedge rst_n) begin
if(!rst_n)clk_n <= 'b1;
else if(cnt_n < 3)clk_n <= 'b1;
elseclk_n <= 'b0;
endassign clk_o = clk_p | clk_n;endmodule
任意N(奇偶)分频电路:
module(
input clk,
input rst_n,
ouyput reg clk_o
);parameter N = 6;
parameter WIDTH = 3;reg [WIDTH-1:0] cnt_p, cnt_n;
reg clk_p,clk_n;assign clk_o = (N==1) ? clk : N[0] ? (clk_p | clk_o) : clk_p;/******* clk_p *******/
always@(posedge clk or negedge rst_n) begin
if(!rst_n)cnt_p<= 'b0;
else if(cnt_p == N-1)cnt_p <= 'b0;
elsecnt_p <= cnt_p + 1;
endalways@(posedge clk or negedge rst_n) begin
if(!rst_n)clk_p <= 'b1;
else if(cnt_p < (N>>1))clk_p <= 'b1;
elseclk_p <= 'b0;
end/******* clk_n *******/
always@(negedge clk or negedge rst_n) begin
if(!rst_n)cnt_n<= 'b0;
else if(cnt_n == N-1)cnt_n<= 'b0;
elsecnt_n<= cnt_n+ 1;
endalways@(negedge clk or negedge rst_n) begin
if(!rst_n)clk_n <= 'b1;
else if(cnt_n < (N>>1))clk_n <= 'b1;
elseclk_n <= 'b0;
endendmoduule
verilog分频电路相关推荐
- 【Verilog HDL 训练】第 11 天(分频电路)
设计一个占空比50%的三分频电路. 针对这个分频器,博文的末尾会给出一个反面教材,这是我上次写的一个分频器,看起来很好,其实是不能综合的.针对其中的错误,我令立博文记录之:[ Verilog ]alw ...
- 题目:用Verilog实现三分频电路,要求输出50%占空比。
题目:用Verilog实现三分频电路,要求输出50%占空比. module Div_three(input clk,input rst_n,output div_three ); reg [1:0] ...
- 一、verilog编写三分频电路
1.目标:使用verilog编写三分频电路,要求占空比大小为50%. 2.方法:分别使用上升沿和下降沿计数cnt_p以及cnt_n,并且计数从0到N-1(N为分频的次数,此时为3):分别对clk_p以 ...
- Verilog实现25分频电路代码
可以使用一个计数器实现 25 分频电路.可以设置计数器的计数范围为 0 到 24,每次计数器增加 1.在计数器的值为 24 时,将其设置为 0 并触发输出信号.这样就能实现 25 分频.以下是一个简单 ...
- Verilog实现之任意分频电路
一.行波时钟 任意分频电路,相信很多人都听说过这个专业名词,好多视频上都说不建议使用计数器产生的分频时钟.其实在FPGA领域当中,由寄存器分频产生的时钟还有一个学名叫做,行波时钟.是由时序逻辑产生比如 ...
- 奇数分频电路—5分频(verilog实现)
文章目录 前言 占空比不为50%的奇数分频 占空比为50%的5分频电路 扩展 前言 前文我们讲到,可以通过计数器的方法实现偶数分频,实现方式可以参考4分频电路实现 那么对于奇数分频电路应该如何实现呢? ...
- 【4分频电路 -verilog】
分频器介绍 分频器是指使输出信号频率为输入信号频率整数分之一的电子电路.在许多电子设备中如电子钟.频率合成器等,需要各种不同频率的信号协同工作,常用的方法是以稳定度高的晶体振荡器为主振源,通过变换得到 ...
- 分频电路的verilog实现
偶数2分频 由偶数二分频波形可知,每次在时钟的上升沿,输出寄存器的状态进行翻转,就能得到二分频后的时钟. 代码如下: module div2_clk ( input clk, input rst,ou ...
- IC/FPGA校招笔试题分析(二)任意切换的时钟分频电路
今天的笔试题是某芸科技的现场笔试题,数字前端的笔试题,要求很简单,就是现场写出代码实现: 任意切换1-8分频,且无论奇分频还是偶分频,占空比均为50%,我至今仍然认为,在那种紧张且时间有限的情况下(本 ...
最新文章
- php分布式cache,thinkPHP实现MemCache分布式缓存功能
- html中怎样引入外部字体文件路径,CSS引入外部字体
- jmeter 压测duobbo接口,施压客户端自己把自己压死了
- JVM第一讲:为什么需要 JVM?它处在什么位置?
- 2018热度上升最快的编程工具是什么?TensorFlow只排第11
- Koding VM 配置nginx 小记
- python数据分析与应用第四章_《利用python进行数据分析》读书笔记--第四章 numpy基础:数组和矢量计算...
- 120个常用货源网站,赶紧收藏!
- 基于matlab人脸识别论文,基于MATLAB的人脸识别系统的设计
- oracle查询asm的绝对路径,查找ASM 1号文件位置
- 宋维刚老师词霸天下38000词汇思维导图
- C语言中side的用法,side的用法总结大全
- ORACLE获取当天所在月份的所有日期和周几(每月类似台历显示)
- 扇贝编程python学习笔记-基础篇4
- 蓝牙耳机哪个品牌比较好?盘点四款好用的蓝牙耳机
- php调用翻译,PHP调用有道词典翻译API实现翻译功能及代码
- IOS版aplayer使用教程_Y Y的使用教程视频版/图片版(手机版。电脑版。楚恒上课必用软件)...
- Qt下实现XML、INI、JSON的文件读写示例开发
- hilink互联技术_华为隐藏够深,HiLink技术颠覆互联模式!
- Creo 9.0二维草图的诊断:着色封闭环