打印

求救,verilog初学者问题,急急急

[复制链接]
4465|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mapo365|  楼主 | 2007-6-3 22:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
写了一个四选一数据选择器,结果在quatus中一编译就出现这样的错误,不知道为什么,请前辈们帮们分析一下,关系到我学习它的信心啊,帮忙!!!

Error (10170): Verilog HDL syntax error at gete4_1.v(5) near text "case";  expecting an identifier ("case" is a reserved keyword ), or "endmodule", or a parallel statement

Error (10112): Ignored design unit "gate4_1" at gete4_1.v(1) due to previous errors

源程序:
module gate4_1 (a,b,c,d,sel,f);
input a,b,c,d;
input [1:0]sel;
output f;
case(sel)
0:f=a;
1:f=b;
2:f=c;
3:f=d;
endcase
endmodule

相关帖子

沙发
mapo365|  楼主 | 2007-6-4 13:57 | 只看该作者

每人帮忙啊!自己顶起

每人帮忙啊!自己顶起

使用特权

评论回复
板凳
yccsoo| | 2007-6-5 00:01 | 只看该作者

呵呵,这不是C语言!

需要把Case放入always语句里面,OK?

使用特权

评论回复
地板
mapo365|  楼主 | 2007-6-6 10:27 | 只看该作者

非常感谢!有没有别的办法呢?

我看到有的地方把case放到function中,这样对吗?
还有可不可以放到initial里?

还有请问为什么input a,b,c,d,[1:0]sel;这句不正确,为什么必须写成
input a,b,c,d;
input [1:0]sel;

使用特权

评论回复
5
yccsoo| | 2007-6-6 22:47 | 只看该作者

哦,还是多看看书去吧!

北航有几本还可以看的书,你这些问题都说的很清楚了。

使用特权

评论回复
6
szj112022| | 2007-6-16 20:19 | 只看该作者

解决方案

应该改为
aways @(a or b or c or d)
   case(sel)
0:f=a;
1:f=b;
2:f=c;
3:f=d;
endcase

使用特权

评论回复
7
fxwang| | 2007-6-17 11:40 | 只看该作者

szj112022

在你的解决方案里,SEL也是输入信号,是否也应该放到always的事件中去

使用特权

评论回复
8
jyguo| | 2007-7-21 23:04 | 只看该作者

同意

同意楼上的观点,当a,b,c,d,sel任意一个信号发生变化后,always语句都应该重新赋值才对

使用特权

评论回复
9
西岳使者| | 2007-10-13 20:18 | 只看该作者

楼上的讨论的很激烈,新手学了点东西

楼上的讨论的很激烈,新手学了点东西

使用特权

评论回复
10
端木| | 2007-10-13 21:44 | 只看该作者

应该多看看书

   

   开始可以先找着书上的例子敲,
            多写一些,修改。。。

使用特权

评论回复
11
xzhiguo| | 2007-10-16 09:28 | 只看该作者

语句格式

应该加function 或 always 语句.

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

6

帖子

1

粉丝