电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

verilog奇偶分频VIP免费

verilog奇偶分频_第1页
1/7
verilog奇偶分频_第2页
2/7
verilog奇偶分频_第3页
3/7
奇偶分频电路的设计 在数字逻辑电路中,分频器是一种常用电路,通常用来对某个给定的频率进行分频,以得到所需的频率。 1 .1 、 偶数分频电路 偶数倍分频是最简单的一种分频模式,完全可以通过计数器计数实现,如果要进行N 倍(N 为偶数)偶数分频,可由待分频的时钟触发计数器计数,当计数器从0 计数到N/2—1 时,输出时钟进行翻转,并给计数器一个复位信号,使得下一个时钟从零开始计数,以此循环下去。这种方法可以实现任意的偶数分频。下面的程序给出的是一个16 分频电路,其他倍数的分频电路可以通过修改计数器的上限值得到。 用Verilog 实现一个16 分频电路,其源程序如下。 module clk_div16(clk_in,reset,clk_out); input clk_in; input reset; output clk_out; reg clk_out; reg[2:0] cnt; always@(posedge clk_in) begin if(!reset) begin cnt<=0; clk_out<=0; end else if(cnt==7) begin clk_out<=~clk_out; cnt<=0; end else begin cnt<=cnt+1; //clk_out<=clk_out; end end endmodule 测试激励程序如下: module clk_div16_tb; reg clk_in; reg reset; wire clk_out; clk_div16 uut ( .clk_in(clk_in), .reset(reset), .clk_out(clk_out) ); initial begin // Initialize Inputs clk_in = 0; reset = 0; #10 reset=1; end always #2 clk_in=~clk_in; endmodule 上述程序经过Synplify Pro 综合后,其RTL 级结构如下图所示 在ModelSim6.5 中完成仿真,结果如图所示。 总结:如果要实现任意 N(偶数)分频电路。其程序如下 module clk_divN(clk_in,reset,clk_out); input clk_in; input reset; output clk_out; reg clk_out; reg[2:0] cnt; parameter N=8;//只需修改N 的值即可 always@(posedge clk_in) begin if(!reset) begin cnt<=0; clk_out<=0; end else if(cnt==(N/2-1)) begin clk_out<=~clk_out; cnt<=0; end else begin cnt<=cnt+1; clk_out<=clk_out; end end endmodule 1 .2 、 奇数分频电路 奇数分频电路有多种实现方式,下面介绍常用的错位“异或”法的原理。如果要进行3 分频,通过待分频时钟上升沿触发计数器进行模3 计数,当计数器计到邻近值时进行两次翻转。比如在计数器计计数到1 时,输出时钟进行翻转;计数到2 时,再次翻转,即在邻近的1 和2 时刻进行两次翻转,在0 时...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

verilog奇偶分频

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部