作业帮 > 综合 > 作业

懂verilog HDL语言的来

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/14 12:02:20
懂verilog HDL语言的来
大家帮我看看这个三八译码器的程序,帮我找找哪里错了~
module 38(A,B);
input [2:0] A;
output [7:0] B;
reg [7:0] B;
always@(B)
begin
case (a)
3'b000:B = 8'b00000001;
3'b001:B = 8'b00000010;
3'b010:B = 8'b00000100;
3'b011:B = 8'b00001000;
3'b100:B = 8'b00010000;
3'b101:B = 8'b00100000;
3'b110:B = 8'b01000000;
3'b111:B = 8'b10000000;
endcase
end
endmodule
module my_38(A,B);
input [2:0] A;
output [7:0] B;
reg [7:0] B;
always@(A)
begin
case (A)
3'b000:B = 8'b00000001;
3'b001:B = 8'b00000010;
3'b010:B = 8'b00000100;
3'b011:B = 8'b00001000;
3'b100:B = 8'b00010000;
3'b101:B = 8'b00100000;
3'b110:B = 8'b01000000;
3'b111:B = 8'b10000000;
endcase
end
endmodule
该成这样就OK了,原因是模块明必须以字母开头,你要做的是38译码所以always的敏感列表要该成A,case中的a是没用定义的变量Verilog是大小写敏感的也就是大写和小写是不同的变量你这里只有A所以把a改成A.