在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3082|回复: 9

我设计的3分频电路,大家提宝贵意见

[复制链接]
发表于 2006-12-21 16:29:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
module counter(reset,clk,out);
input reset,clk;
output [2:0]out;
reg [2:0]out;
[email=always@(posedge]always@(posedge[/email] clk or posedge reset)
if (reset)
  out<=0;
else
  begin
   if (out==2) out<=0;
   else out<=out+1;
  end

endmodule
 楼主| 发表于 2006-12-21 16:32:04 | 显示全部楼层
module counter(reset,clk,out);

input reset,clk;
output [2:0]out;
reg [2:0]out;

always@(posedge clk or posedge reset)
        if (reset)
                out<=0;
        else
                begin
                        if (out==2) out<=0;
                        else out<=out+1;

                end


endmodule
 楼主| 发表于 2006-12-21 16:33:28 | 显示全部楼层
如果需要n分频,只要将2换成n-1
发表于 2006-12-22 00:25:31 | 显示全部楼层
你用的什么语言啊?不是VHDL吧?
 楼主| 发表于 2006-12-22 04:11:26 | 显示全部楼层

回复 #4 gzglad200 的帖子

verilog
发表于 2006-12-30 00:29:04 | 显示全部楼层
这哪有分频啊?我分明看到的只有一个3进制计数器。

如果不考虑占空比,可以这样:
module counter(reset,clk,out);

input reset,clk;
output out;
reg out;
reg [1:0]  temp;

always@(posedge clk or posedge reset)
        if (reset)
                begin out<=0;temp<=0;end
        else
                begin
                       temp<=temp+1;
                        if (temp==2'b11) out<=~out;                  
                end
endmodule
 楼主| 发表于 2006-12-30 13:43:24 | 显示全部楼层

回复 #6 visonwong 的帖子

楼上仁兄,计数器的输出本身就是经三分频的信号输出,所以觉得不必再另定义寄存器
发表于 2006-12-30 15:44:17 | 显示全部楼层
灌水贴
鉴定完毕
发表于 2006-12-30 22:53:50 | 显示全部楼层
呵呵,天才真多啊
发表于 2007-1-1 13:56:49 | 显示全部楼层
也可以用assign语句最后赋值。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-19 06:41 , Processed in 0.087357 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表