找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2572|回复: 0
收起左侧

HDL 4.5倍分频

[复制链接]
ID:105323 发表于 2016-2-23 01:15 | 显示全部楼层 |阅读模式
Verilog实现的4.5倍分频
代码如下:

module div_4_5(clk,rst,clkout);
input clk,rst;
output clkout;

reg [3:0] cnt_p;
reg [3:0] cnt_n;

reg clk_p,clk_n;

assign clkout=clk_p || clk_n;

always @ (posedge clk or negedge rst)
begin
if(!rst)
  cnt_p<=4'd0;
else if(cnt_p==4'd8)
  cnt_p<=4'd0;
else
  cnt_p<=cnt_p+4'd1;
end

always @ (posedge clk or negedge rst)
begin
if(!rst)
  clk_p<=1'd0;
else if(cnt_p==4'd1 || cnt_p==4'd2 || cnt_p==4'd6 || cnt_p==4'd7)
  clk_p<=1'd1;
else
  clk_p<=1'd0;
end

always @ (negedge clk or negedge rst)
begin
if(!rst)
  cnt_n<=4'd0;
else if(cnt_p==3'd1)
  cnt_n<=4'd1;
else if(cnt_n==4'd8)
  cnt_n<=4'd0;
else if(cnt_n==4'd0)
  cnt_n<=4'd0;
else
  cnt_n<=cnt_n+4'd1;
end

always @ (negedge clk or negedge rst)
begin
if(!rst)
  clk_n<=1'd0;
else if(cnt_n==4'd1 || cnt_n==4'd2 || cnt_n==4'd6 || cnt_n==4'd5)
  clk_n<=1'd1;
else
  clk_n<=1'd0;
end

endmodule

仿真结果:




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表