新手~一段很简单的代码~

[复制链接]
2707|12
 楼主| 里昻_Lyon 发表于 2011-11-21 18:19 | 显示全部楼层 |阅读模式
虽然很简单,但是我找不出问题。。。纯粹新手。。。

设计要求:三人表决器嘛,main说不通过就不通过了,result为0,main说通过还得a或者b通过才行。

模块:
module biaojueqi(main,a,b,result);
input main,a,b;
output result;
reg result;
reg temp;
[email=always@(main]always@(main[/email] or a or b)
          begin
             and and1(temp,a,b); //////////////编译说这里出问题了
             or or1(result,temp,main);
          end
endmodule

测试模块:
module test;
reg main,a,b;
wire result;
initial
begin
    #10 main=0;a=0;b=0;
    #10 b=1;
    #10 a=1;b=0;
    #10 b=1;
    #10 main=1;a=0;b=0;
    #10 b=1;
    #10 a=1;b=0;
    #10 b=1;
end   
biaojueqi test(main,a,b,result);
endmodule

编译之后and那里出问题了,我找不出错来。。。
求指教。
 楼主| 里昻_Lyon 发表于 2011-11-21 18:27 | 显示全部楼层
不是乱贴代码,实在找不出错,才开始接触。。。
 楼主| 里昻_Lyon 发表于 2011-11-21 18:45 | 显示全部楼层
我把and那句话删了还是报错,报的错还是and那里出问题。。。这时怎么一回事啊。。。
userwjp 发表于 2011-11-22 10:51 | 显示全部楼层
[email=always@(main]always@(main[/email] or a or b)
说实话,小弟太菜,这句没看懂。
不过以我浅薄的知识来看,总觉得括号有点问题。请你检查下。
XLDZZ 发表于 2011-11-23 07:34 | 显示全部楼层
好像是类型错误
main a b 好像是wire类型

而有些用的是reg reg只能用于输出 不能用于输入吧
yxftr2010 发表于 2011-11-23 15:51 | 显示全部楼层
[email=always@(main]always@(main[/email] or a or b)
这句太难懂!
侬本多情3 发表于 2011-11-23 17:03 | 显示全部楼层
result 用output reg
userwjp 发表于 2011-11-29 09:28 | 显示全部楼层
email=always@(main]always@(main[/email] or a or b)
这句太难懂!
yxftr2010 发表于 2011-11-23 15:51

有没有达人愿意出来解释下这句啊。谢谢~
utopiaworld 发表于 2011-11-29 19:00 | 显示全部楼层
没有看懂 就这样不久行了吗?
assign result = main &(a | b)
 楼主| 里昻_Lyon 发表于 2011-12-3 09:33 | 显示全部楼层
额。。。乱码了。。。不好意思。。。
sxhhhjicbb 发表于 2011-12-3 10:34 | 显示全部楼层
always是时序设计,and调用的系统的组合与逻辑赋值.系统不支持这种操作.
l3086 发表于 2011-12-3 14:05 | 显示全部楼层
module biaojueqi(main,a,b,result);
input main,a,b;
output result;

assign result = main &(a | b);   

endmodule

三人表决器 编译没问题 逻辑也没问题
Windmill_CN 发表于 2011-12-3 21:41 | 显示全部楼层
呵呵 LS
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:我只知道自己一无所知。

0

主题

90

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部