【发布时间】:2016-05-06 17:01:44
【问题描述】:
我这个学期刚开始学习 Verilog,我刚刚被困在一个任务上,即创建一个 Verilog 模块,该模块使用多路复用对 2 个 8 位输入执行不同的操作。以下是我编写的 Verilog 代码,我收到了几个我不明白的错误。请帮忙!
module eightbit_palu( input[7:0] a, input[7:0] b, input[1:0] sel, output[7:0] f, output ovf );
reg f, ovf;
always @ (a , b, sel)
case (sel)
0 : f = a + b;
ovf = f[8]^f[7];
1 : f[0] = ~b[0];
f[1] = ~b[1];
f[2] = ~b[2];
f[3] = ~b[3];
f[4] = ~b[4];
f[5] = ~b[5];
f[6] = ~b[6];
f[7] = ~b[7];
2 : f[0] = a[0]&b[0]; f[1] = a[1]&b[1]; f[2] = a[2]&b[2]; f[3] = a[3]&b[3]; f[4] = a[4]&b[4];
f[5] = a[5]&b[5]; f[6] = a[6]&b[6]; f[7] = a[7]&b[7];
3 : f[0] = a[0]|b[0]; f[1] = a[1]|b[1]; f[2] = a[2]|b[2]; f[3] = a[3]|b[3]; f[4] = a[4]|b[4];
f[5] = a[5]|b[5]; f[6] = a[6]|b[6]; f[7] = a[7]|b[7];
endcase
endmodule
模拟器显示的错误是:
8:语法错误
10:错误:无法理解的大小写表达式。
11:语法错误
19:错误:无法理解的大小写表达式。
19:语法错误
22:错误:无法理解的大小写表达式。
22:语法错误
【问题讨论】:
-
请同时提供错误信息。
-
终端输出 8:语法错误 10:错误:无法理解的大小写表达式。 11:语法错误 19:错误:无法理解的大小写表达式。 19:语法错误 22:错误:无法理解的大小写表达式。 22: 语法错误
-
请编辑您的问题以包含此内容。我不知道 Verilog,但是您收到的错误消息相当清楚。语法错误意味着代码编写不正确,查看你在做什么,看看你是否能发现差异。难以理解的 case 表达式意味着 Verilog 期望您的代码的方式也不正确。我打赌删除冒号前的空格,
1 :变为1:。 -
我已经尝试过了,当我将“1:”更改为“1:”时,它似乎没有任何区别。 @ToothlessRebel
标签: verilog