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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2658|回复: 6

verilog语言

[复制链接]
发表于 2012-5-20 19:52:50 | 显示全部楼层 |阅读模式

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

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

x
求助



小弟乃verilog新手,以下这个程序不知道错误在哪,仿真就是不正确呢,表现为q的值始终为0,求各位大仙多多指教!
module zdws(q,clk,clr,plus,minus);
input clk,clr,plus,minus;
output[7:0]q;
reg[7:0]q;
always@(posedge clk or negedge clr)
                begin
                        if(!clr) q<=8'h00;
                        else
                                case({plus,minus})
                                        2'b10:begin  //递增
                                                        if(q[3:0]==4'd9)
                                                                begin
                                                                        q[3:0]<=4'd0;
                                                                if(q[7:4]==9)q[7:4]=4'd0;
                                                                        else q[7:4]<=q[7:4]+1'b1;
                                                                end
                                                                else q[3:0]<=q[3:0]+1'b1;
                                                        end
                                        2'b01:begin   //递减
                                                        if(q[3:0]==4'd0)
                                                                begin
                                                                        q[3:0]<=4'd9;
                                                                        if(q[7:4]==0)q[7:4]=4'd9;
                                                                        else q[7:4]<=q[7:4]-1'b1;
                                                                end
                                                        else q[3:0]<=q[3:0]-1'b1;
                                                        end
                                        2'b11:q<=q;  //暂停
                                        default:q<=4'bx;
                                endcase
                end
endmodule
发表于 2012-5-21 08:41:50 | 显示全部楼层
你的testbench中{plus,minus}是不是始终等于2'b11
发表于 2012-5-21 10:24:25 | 显示全部楼层
这个要看你的仿真程序了。
发表于 2012-5-21 10:43:11 | 显示全部楼层
是啊,要看你的testbench了
 楼主| 发表于 2012-5-21 11:42:04 | 显示全部楼层
回复 2# hnulht789


    我用的是波形仿真,设置的值是plus始终为1,minus值始终为0.这个时候仿真结果q的值始终为0,怎么回事啊?
 楼主| 发表于 2012-5-21 11:45:34 | 显示全部楼层
回复 3# leehowal


    我用的是波形仿真,q 的值始终是0,怎么回事?
发表于 2012-5-21 12:45:47 | 显示全部楼层
看看clean是多少。 另外看看逻辑关系对么。 看你的begin end块总觉得怪怪
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-4-23 23:22 , Processed in 0.035039 second(s), 8 queries , Gzip On, Redis On.

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