找回密码
 立即注册

QQ登录

只需一步,快速开始

帖子
查看: 2545|回复: 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

仿真结果:




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

举报

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

本版积分规则

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

Powered by 单片机教程网

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