Verilog hdl 宏定义编译报错

1、今天使用quartus 9.1 编译文本文件使用宏定义时编译器报错,不使用则正确。原因不明。

如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//`define add 3'd0;
//`define minus 3'd1;
//`define band 3'd2;
//`define bor 3'd3;
//`define bnot 3'd4;注释掉这些宏定义 ,则没有问题了。
module alu(out,opcode,a,b);
output[7:0] out;
reg[7:0] out;
input [2:0] opcode;
input[7:0]a,b;
always@(opcode or a or b)
begin
case (opcode)
3 'd0: out=a+b;//这里直接使用,而不是用宏定义。原:' add:out=a+b;报错。改为add:....未定义明确的报错。
3'd1: out=a-b;
3'd2: out=a&b;
3'd3: out=a|b;
3'd4: out=~a;
default : out=8'hx;
endcase
end
endmodule

wKiom1mhgCGS_oRJAABmJK-kUYs845.png时序仿真,有延迟如图所示结果。



本文转自 lillian_trip 51CTO博客,原文链接:http://blog.51cto.com/xiaoqiaoya/1959606,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值