一、占空比50%的奇数分频

1、实现思路

  实现奇数(N)分频,分别用上升沿计数到(N-1)/2,再计数到N-1;用下降沿计数到(N-1)/2,再计数到N-1,得到两个波形,然后把它们相或即可得到N分频。

2、代码

 module fp_odd(clk_in,rst_n,cnt_p,cnt_n,clk_p,clk_n,clk_out);
parameter N=;
input clk_in;
input rst_n;
output[:] cnt_p;
output[:] cnt_n;
output clk_p;
output clk_n;
output clk_out; reg[:] cnt_p;
reg[:] cnt_n;
reg clk_p;
reg clk_n; always @(posedge clk_in or negedge rst_n)
begin
if(!rst_n) cnt_p <= ;
else
begin
if(cnt_p == N-) cnt_p <= ;
else cnt_p <= cnt_p + 'b1;
end
end always @(posedge clk_in or negedge rst_n)
begin
if(!rst_n) clk_p <= ;
else
begin
if(cnt_p == (N-)/) clk_p <= !clk_p;
else if(cnt_p == N-) clk_p <= !clk_p;
else clk_p <= clk_p;
end
end always @(negedge clk_in or negedge rst_n)
begin
if(!rst_n) cnt_n <= ;
else
begin
if(cnt_n == N-) cnt_n <= ;
else cnt_n <= cnt_n + 'b1;
end
end always @(negedge clk_in or negedge rst_n)
begin
if(!rst_n) clk_n <= ;
else
begin
if(cnt_n == (N-)/) clk_n <= !clk_n;
else if(cnt_n == N-) clk_n <= !clk_n;
else clk_n <= clk_n;
end
end assign clk_out = clk_p | clk_n; endmodule

3、仿真波形

分频器的Verilog实现的更多相关文章

  1. 分频器的verilog设计

    笔者最近由于实验室老师的任务安排重新又看了一下分频器的verilog实现,现总结如下,待以后查看之用(重点是查看计数器计到哪个值clk_out进行状态翻转) 1.偶数分频占空比为50% 其实质还是一个 ...

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

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

  3. Verilog设计分频器(面试必看)

    分频器是指使输出信号频率为输入信号频率整数分之一的电子电路.在许多电子设备中如电子钟.频率合成器等,需要各种不同频率的信号协同工作,常用的方法是以稳定度高的晶体振荡器为主振源,通过变换得到所需要的各种 ...

  4. 基于verilog的分频器设计(奇偶分频原理及其电路实现:上)

    在一个数字系统中往往需要多种频率的时钟脉冲作为驱动源,这样就需要对FPGA的系统时钟(频率太高)进行分频.分频器主要分为奇数分频,偶数分频,半整数分频和小数分频,在对时钟要求不是很严格的FPGA系统中 ...

  5. 基于Verilog的偶数、奇数、半整数分频以及任意分频器设计

    在FPGA的学习过程中,最简单最基本的实验应该就是分频器了.由于FPGA的晶振频率都是固定值,只能产生固定频率的时序信号,但是实际工程中我们需要各种各样不同频率的信号,这时候就需要对晶振产生的频率进行 ...

  6. FGPA 中的计数器Verilog语言(时钟分频器)

    在quartusII8.0中为ALTERAFPGA设置一个分频器(计数器) 输入时钟48Mhz 输出时钟9600HZ /* 实验名称: 计数器 ** 程序功能: 将48Mhz的时钟分频为9600Hz ...

  7. Verilog分频器

    verilog设计进阶 时间:2014年5月6日星期二 主要收获: 1.自己动手写了第一个verilog程序. 题目: 利用10M的时钟,设计一个单周期形状例如以下的周期波形. 思考: 最開始的想法是 ...

  8. 基于verilog的分频器设计(半整数分频,小数分频:下)

    第二种方法:对进行奇数倍n分频时钟,首先进行n/2分频(带小数,即等于(n-1)/2+0.5),然后再进行二分频得到.得到占空比为50%的奇数倍分频.下面讲讲进行小数分频的设计方法. 小数分频:首先讲 ...

  9. Verilog HDL学习_1:分频器/PWM的实现

    (一)参考学习资料 (二)实际操作 1. 相关变量计算:   First Initial Second Initial Upper case H X ASCII (Dec) 72 88 Lengths ...

随机推荐

  1. 远程连接bat

    @Echo offSet SERVER=10.40.61.101Set USERNAME=AdministratorSet PASSWORD=Marvin2008 Cmdkey /generic:TE ...

  2. cmd命令行结果保存到txt里,屏幕显示一行就保存一行到txt

    #coding:utf-8 """ 1.重定向print 2.python与cmd命令 """ import sys import os i ...

  3. 3.4 自动测试初步《精通ASP.NET MVC 5》

    概述 ASP.NET MVC 框架已被设计成易于建立自动测试,并易于采用诸如测试驱动开发(TDD)等的开发方法学.ASP.NET MVC 为自动化测试提供了一个理想平台. 从广义上讲,当今的 Web ...

  4. [cf contest697] D - Puzzles

    [cf contest697] D - Puzzles time limit per test 1 second memory limit per test 256 megabytes input s ...

  5. JeasyUI,导出Excel

    这个是客户端表格导出伪Excel文档. 不知道为啥,超过200条,不能导出,显示网络错误 $.extend($.fn.datagrid.methods, { //超过200条,不能导出,显示网络错误? ...

  6. Kubernetes 实践指南之Kubernetes 的命令行工具详解

    kubectl作为客户端CLI工具,可以让用户通过命令行的方式对Kubernetes集群进行管理.本节内容将对kubectl的子命令和用法进行详细描述. 一.kubectl 用法概述 kubectl语 ...

  7. colormap中的内嵌彩色模块和调用方式

    内嵌彩色模块代码: import numpy as npimport matplotlib.pyplot as plt # Have colormaps separated into categori ...

  8. Win10系列:C#应用控件进阶5

    多线形 多线形和多边形类似,不同点在于多线形中最后一个点和第一个点不会默认被连接.在多线形的点集中,可以存在同一个开始点和终结点因而会定义成闭合图形.下面将演示如何使用Polyline控件绘制一个多线 ...

  9. day_44_Django

    day44 1.内容回顾 12月18号开班 python基础语法 网络编程 并发编程 前端(HTML.css.js) 数据库(mysql) 2.今日概要 1.了解web应用程序的本质 2.Django ...

  10. 版本管理工具小乌龟TortoiseGit的安装和使用(1)

    1.软件的安装:1.1 安装 Git使用软件管理工具搜索 Git: