想用过程连续赋值语句,结果报错,不支持连续赋值语句。
module top_module (
input ring,
input vibrate_mode,
output ringer, // Make sound
output motor // Vibrate
);
always
begin
ringer = 0;
motor = 0;
end
always@(ring,vibrate_mode)
begin
if(ring)
begin
if(vibrate_mode)
assign motor = 'b1;
else
assign ringer = 'b1;
end
else
begin
deassign motor;
deassign ringer;
end
end
endmodule
error:
Error (10043): Verilog HDL unsupported feature error at top_module.v(18): Procedural Continuous Assignment to register is not supported File: /home/h/work/hdlbits.11049470/top_module.v Line: 1
题目描述 仅使用assign语句--确定输入(ring,vibratemode),确定输出(ringer,motor),列出真值表,确定表达式
ring | vibrate | ringer | motor |
1 | 1 | 0 | 1 |
0 | 1 | 0 | 0 |
1 | 0 | 1 | 0 |
0 | 0 | 0 | 0 |
module top_module (
input ring,
input vibrate_mode,
output ringer, // Make sound
output motor // Vibrate
);
assign ringer = ring&~vibrate_mode;
assign motor = ring&vibrate_mode;
endmodule