以下代码已经在VIVADO 2019版本运行成功。
设计代码
`timescale 1ns / 1ps
module Test1025(a,b,sel,dout);
input [7:0] a,b;
input [1:0] sel;
output [7:0] dout;
reg [7:0] dout;
always @(sel)
case(sel)
0:dout=a+b;
1:dout=a-b;
2:dout=a*b;
3:dout=a/b;
default: dout=0;
endcase
endmodule
测试代码
`timescale 1ns / 1ps
module Test1100;
reg [7:0] a,b;
reg [1:0] sel;
wire [7:0] dout;
initial begin
sel=0;
a=0;
b=0;
#100;
a=12;
b=3;
#50 sel=1;
#50 sel=0;
#50 sel=1;
#50 sel=2;
#50 sel=3;
#50 sel=4;
end
Test1025 s1(.a (a ),
.b (b ),
.sel (sel ),
.dout (dout ));
endmodule
本人也在学习Verilog代码中,欢迎前辈指点。