FPGA奇数分频
在FPGA设计中,分频是很常用的一个基本功能,一般来说,如果需要偶数分频即2次幂的整数倍,这个就很简单了,如2、4、8、16、32、64等这些以2的整数倍的。
这里说的是奇数倍分频,如时钟是100MHz,需要一个20MHz的输出频率,那么就需要5次分频,那么问题来了,安装2分频的方法:100/2=50,50/2=25,只能等到一个25MHz的频率,显然这种方法是不可行的,那么就需要奇数分频了。
1、做个模为5的计数器,
2、做两个个信号a,b。在模1的计数下,前2个周期信号a为高电平,后3个周期信号a为低电平。
3、用时钟的下降沿将信号a延时一个节拍,得到信号b。
4、信号a或b运算输出时钟,即得到占空比为1:1的5分频20MHz时钟频率。
程序中a为clk_20mhz_r1,b为clk_20mhz_r2。
module system_clk
(
input isys_clk,
input ireset,
output oclk_20mhz
);
reg [2:0] cnt_20mhz;
reg clk_20mhz_r1;
reg clk_20mhz_r2;
always @(posedge isys_clk or negedge ireset)
begin
if(!ireset)
cnt_20mhz <= 3'd0;
else if( cnt_20mhz >= 3'd4)
cnt_20mhz <= 3'd0;
else
cnt_20mhz <= cnt_20mhz + 1'b1;
end
always @(posedge isys_clk )
begin
if( cnt_20mhz < 3'd2)
clk_20mhz_r1 <= 1'b1;
else
clk_20mhz_r1 <= 1'b0;
end
always @(negedge isys_clk)
begin
clk_20mhz_r2 <= clk_20mhz_r1;
end
assign oclk_20mhz = clk_20mhz_r1 | clk_20mhz_r2;
endmodule
FPGA奇数分频的更多相关文章
- FPGA三分频,五分频,奇数分频
我们在做FPGA设计时,有时会用到时钟频率奇数分频的频率,例如笔者FPGA的晶振为50M,当我们需要10M的时钟时,一种方式可以使用DCM或PLL获取,系统会内部分频到10M,但其实VERILOG内部 ...
- FPGA时钟分频(转)
http://www.cnblogs.com/fpga/archive/2009/10/24/1589318.html 占空比为50%的分频 偶数分频比较简单 比如N分频,那么计数到N/2-1,然后时 ...
- verilog 奇数分频设计
module tw(clk,k_or,k1,k2); input clk; output k_or,k1,k2; reg [2:0] c1,c2; reg m1,m2; initial begin c ...
- Verilog 奇数分频
代码: module odd_div( ); ; //分频系数,3即3分频 ; reg clk, rstn, clk_div_pos, clk_div_neg; wire clk_div_out; : ...
- [原创][FPGA]时钟分频之奇分频(5分频)
0. 简介 有时在基本模块的设计中常常会使用到时钟分频,时钟的偶分频相对与奇分频比较简单,但是奇分频的理念想透彻后也是十分简单的,这里就把奇分频做一个记录. 1. 奇分频 其实现很简单,主要为使用两个 ...
- verilog实现奇数倍分频
在学习FPGA的过程中,最简单最基本的实验应该就是分频器了, 同时分频器也是FPGA设计中使用频率非常高的基本设计之一, 尽管在芯片厂家提供的IDE中集成了锁相环IP, 如altera 的PLL,Xi ...
- FPGA分频与倍频的简单总结(涉及自己设计,调用时钟IP核,调用MMCM原语模块)
原理介绍 1.分频 FPGA设计中时钟分频是重要的基础知识,对于分频通常是利用计数器来实现想要的时钟频率,由此可知分频后的频率周期更大.一般而言实现偶数系数的分频在程序设计上较为容易,而奇数分频则相对 ...
- 【Verilog】verilog实现奇数次分频
实现占空比为50%的N倍奇数分频:首先进行上升沿触发进行模N计数,计数到某一个值时进行输出时钟翻转,然后经过(N-1)/2再次进行翻转得到一个占空比非50%的奇数n分频时钟.再者 同时进行下降沿触发的 ...
- 基于verilog的分频器设计(奇偶分频原理及其电路实现:上)
在一个数字系统中往往需要多种频率的时钟脉冲作为驱动源,这样就需要对FPGA的系统时钟(频率太高)进行分频.分频器主要分为奇数分频,偶数分频,半整数分频和小数分频,在对时钟要求不是很严格的FPGA系统中 ...
随机推荐
- 【61测试】【dp】【二分】【前缀和】【树剖】
不要问我为什么昨天考的今天才贴解题报告.. 第一题: 给定3个字符串,求它们的最长公共子序列. 解: 考试时知道肯定是LCS的二维再加一维,用三维,可天堂有路你不走,地狱无门你偏来...灵机一动想出来 ...
- easyui 之ComboTree 用法Demo
实现效果如下: HTML部分: <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="ser ...
- C#深度拷贝和浅度拷贝方法
C#浅度拷贝多用于值类型的复制,即 int a=1;int b=a; 设置b=2后不会影响a的值. 但如果对于引用类型class a=new class(); class b=a; 设置b.name= ...
- SQLSTATE[HY000] [2003] Cant connect to MySQL server
今天要连远程数据库,结果PHP报错 Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2003 ...
- Jmeter—2 http请求—简单的get请求
发送一个简单的get http请求 1 启动Jmeter,在测试计划上点击鼠标右键>添加>Threads(Users)>线程组 2 线程组界面.可设置线程数,几秒启动所有线程,循环次 ...
- CSS3 里添加自定义字体
添加自定义字体是从 CSS3 开始的,下载到的字体可以在网页中使用. 下载字体 在网上找字体下载,文件后缀名有 ttf.otf 等. 在 CSS 里加载字体 @font-face { font-fam ...
- maven 基本常识以及命令
Maven库: http://repo2.maven.org/maven2/ Maven依赖查询: http://mvnrepository.com/ Maven常用命令: 1. 创建Maven的普通 ...
- vi 编辑器命令 (share)
转自:http://man.ddvip.com/soft/vieditor/vi.html 一.Unix编辑器概述 编辑器是使用计算机的重要工具之一,在各种操作系统中,编辑器都是必不可少的部件.Uni ...
- YMMI001-采购单审批
************************************************************************ Report : YMMI1 ** Applicati ...
- 公钥与私钥,HTTPS详解
1.公钥与私钥原理1)鲍勃有两把钥匙,一把是公钥,另一把是私钥2)鲍勃把公钥送给他的朋友们----帕蒂.道格.苏珊----每人一把.3)苏珊要给鲍勃写一封保密的信.她写完后用鲍勃的公钥加密,就可以达到 ...