首页 D触发器实现分频电路

D触发器实现分频电路

举报
开通vip

D触发器实现分频电路D触发器实现分频电路 一D触发器实现2的幂次方分频如4分频 触发器模块代码 module D_flip_flop( input clk, input d, output reg q=0, output qb ); assign qb=~q; always @(posedge clk)begin q<=d; end endmodule 二 任意奇数分频模块 module div_odd(clkin,reset_n,clkout_p,clkout_n,clkout,count_p,count...

D触发器实现分频电路
D触发器实现分频电路 一D触发器实现2的幂次方分频如4分频 触发器模块代码 module D_flip_flop( input clk, input d, output reg q=0, output qb ); assign qb=~q; always @(posedge clk)begin q<=d; end endmodule 二 任意奇数分频模块 module div_odd(clkin,reset_n,clkout_p,clkout_n,clkout,count_p,count_n); input clkin; input reset_n; output reg clkout_p; output reg clkout_n; output reg [2:0]count_p; output reg [2:0]count_n; output clkout; parameter cnt_1=2,cnt_2=4;//此处设定的是5分频的 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 ; always@(posedge clkin or negedge reset_n) //由正跳变沿触发产生中间时钟clkout_p; begin if(!reset_n) clkout_p<=0; else if(count_p==cnt_1) clkout_p<=~clkout_p; else if(count_p==cnt_2) clkout_p<=~clkout_p; else clkout_p<=clkout_p; end always@(posedge clkin or negedge reset_n) //对输入时钟的正跳变沿计数; begin if(!reset_n) count_p<=0; else if(count_p==cnt_2) count_p<=0; else count_p<=count_p+1; end always@(negedge clkin or negedge reset_n) //由负跳变沿触发产生中间时钟clkout_n; begin if(!reset_n) clkout_n<=0; else if(count_n==cnt_1) clkout_n<=~clkout_n; else if(count_n==cnt_2) clkout_n<=~clkout_n; else clkout_n<=clkout_n; end always@(negedge clkin or negedge reset_n) //对输入时钟的负跳变沿计数; begin if(!reset_n) count_n<=0; else if(count_n==cnt_2) count_n<=0; else count_n<=count_n+1; end assign clkout=clkout_p||clkout_n; //将两个中间时钟相或产生输出时钟; endmodule 三 编写一顶层模块分别实现2分频,4分频,两种方式5分频 module job_test_top( input clk, input reset_n, output clk_4div, output clk_odd_div, output clk_5div ); wire clk_2div; wire qb1; wire qb2; wire q3; wire q4; wire q5; D_flip_flop D_flip_flop_1 ( .clk(clk), .d(qb1), .q(clk_2div), .qb(qb1) ); D_flip_flop D_flip_flop_2 ( .clk(clk_2div), .d(qb2), .q(clk_4div), .qb(qb2) ); //用计数的方式实现5分频 div_odd div_odd ( .clkin(clk), .reset_n(reset_n), .clkout_p(clkout_p), .clkout_n(clkout_n), .clkout(clk_odd_div), .count_p(count_p), .count_n(count_n) ); //用D触发器D触发器+组合逻辑实现5分频 D_flip_flop D_flip_flop_3 ( .clk(clk), .d( (!q3)&&(!q4)&&q5 ), .q(q3), .qb() ); D_flip_flop D_flip_flop_4 ( .clk(clk), .d( (!q3)&&(!q5) ), .q(q4), .qb() ); D_flip_flop D_flip_flop_5 ( .clk(clk), .d(q4), .q(q5), .qb() ); assign clk_5div=(q3||clk_5div)&&(clk||(!q4)); endmodule 用d触发器实现5分频的逻辑图如下
本文档为【D触发器实现分频电路】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_219945
暂无简介~
格式:doc
大小:29KB
软件:Word
页数:0
分类:其他高等教育
上传时间:2017-10-17
浏览量:60