一、占空比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. vue引用ionic4

    现在的Ionic4已经开始支持VUE和REACT了.个人之前开发用IONIC.现在用VUE开发还是想用IONIC.刚好 也是支持VUE了. 在vue的项目里安装ionic依赖 npm install ...

  2. vue-cli3.0怎么修改端口?

    在根目录新建 vue.config.js 文件 module.exports = { devServer: { port: 8888, // 端口 }, lintOnSave: false // 取消 ...

  3. Java集合框架相关知识整理

    1.常见的集合有哪些? Collection接口和Map接口是所有集合框架的父接口    Collection接口的子接口包括:Set接口和List接口    Map接口的实现类主要有:HashMap ...

  4. Android proguard混淆签名打包出现"android proguard failed to export application"解决方案

    刚刚接触安卓,不是很熟悉.发现之前可以正常打包的项目出现添加混淆再进行打包签名的APK之后提示"android proguard failed to export application&q ...

  5. php Warning: require(): open_basedir restriction in effect File(/www/wwwroot/default/

    解决方案如下: 一.找到修改fastcgi的配置文件 (/usr/local/nginx/conf/fastcgi.conf) 二.vi进行编辑(保存退出) 三.对虚拟主机配置进行重写在Nginx低版 ...

  6. AutoLayout的坑

    本文投稿文章,作者:MangoMade(简书) AutoLayout非常强大也非常易用,可读性也很强,加上各种第三方AutoLayout库,让你布起局来犹如绷掉链子的狗!根本停不下来!以前的 1 la ...

  7. css布局:左边固定宽度,右边自适应;右边固定宽度,左边自适应

    左边固定宽度,右边自适应 浮动布局的方法 <section class="container homeSection" id="mainSection"& ...

  8. 1.moocs

    “三巨头”:Coursera.edX和Udacity Coursera:http://www.coursera.org 目前发展最大的MOOCs平台,拥有相近500门来自世界各地大学的课程,门类丰富, ...

  9. CSS3绘制特殊图形

  10. vi编辑器和系统分区

    作业一:1) 将用户信息数据库文件和组信息数据库文件纵向合并为一个文件/1.txt(覆盖) cat /etc/passwd /etc/group > /1.txt2) 将用户信息数据库文件和用户 ...