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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4450|回复: 10

大家帮我看看我的verilog代码错在那里啊?

[复制链接]
发表于 2007-7-16 17:18:01 | 显示全部楼层 |阅读模式

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

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

x
module fdivision( in_clk,control,out_clk );
    input in_clk;
    input[3:0] control;
    output out_clk;
   
    reg[3:0] j;
    reg out_clk;
   
    parameter code=4'd0;
   
if(control==code)
    out_clk=in_clk;
else
    always@( posedge in_clk )
        if ( j==control )
           begin
               j<=4'd1;
               out_clk<=~out_clk;
           end
        else
           j<=j+1;
endmodule
  我是一个verilog菜鸟,这是我编写的第一个程序。  

基本的功能是这样的:当输入控制字是0000是,输出时钟和输入时钟的频率相同;当输入控制字不是0000是,输出时钟频率是输入时钟频率的控制字的二倍的分频数。
例如:控制字是0001,则输出时钟的频率是输入频率的二分之一。

我的程序总是编译不过去 提示  out_clk=in_clk;付值错误,请教高手我这个错在那里啊,应该如何改啊,不胜感激!
发表于 2007-7-16 17:35:22 | 显示全部楼层
, gou cai!
 楼主| 发表于 2007-7-16 18:13:33 | 显示全部楼层
你能告诉我菜在哪里吗?应该如何修改?谢谢
发表于 2007-7-16 21:18:19 | 显示全部楼层
嗯 那个语法 看书先吧
发表于 2007-7-16 23:29:17 | 显示全部楼层
if(control==code)
    out_clk=in_clk;
else
    always@( posedge in_clk )


这是什么呀??
厉害
发表于 2007-7-17 16:08:24 | 显示全部楼层
if(control==code)
    out_clk=in_clk;
这段像是组合逻辑电路,



always@( posedge in_clk )
        if ( j==control )
           begin
               j<=4'd1;
               out_clk<=~out_clk;
           end
        else
           j<=j+1;

这段明显的时序逻辑电路
发表于 2007-7-17 17:44:58 | 显示全部楼层
好好看看书先
发表于 2007-7-17 21:07:04 | 显示全部楼层
改成这样试试看

module fdivision( in_clk,control,out_clk,Reset );
    input in_clk,Reset;
    input[3:0] control;
    output out_clk;
   
    reg[3:0] j;
    reg out_clk,out_clk1;
   
    parameter code=4'd0;

    always @ ( posedge in_clk)
        begin if(!Reset) begin out_clk1<=0;j<=0; end
         else  if (j==control) begin j<=0;out_clk1<=!out_clk1;end
                       else j<=j+1;
         end
      
    always @ (in_clk or Reset or out_clk)
        begin if (!Reset) out_clk<=0;
      else if (control==code) out_clk<=in_clk;
      else out_clk<=out_clk1;
    end
endmodule
发表于 2007-7-17 21:10:38 | 显示全部楼层
主要都是语法错误。另外就是对verilog的语句格式理解不够,基本上所有的语句都必须包含在always的块结构当中。
发表于 2007-8-13 20:39:47 | 显示全部楼层
^_^,真够菜,不过继续努力
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-25 13:56 , Processed in 0.046923 second(s), 9 queries , Gzip On, Redis On.

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