[an error occurred while processing this directive]
|
Монтажное ИЛИ. Нет смысла так изголяться. Тем более только xilinx поддерживает буфер с третьим состоянием внутри кристалла. Альтера преобразует его в мультиплексор. Есть оператор case.
module case_z
(
input [7:0] a,
input [7:0] b,
input [7:0] c,
input [7:0] d,
input [11:0] sel,
output [7:0] dout
);
reg [7:0] o;
reg enable;
always @ (sel or a or b or c or d)
case (sel)
12'b1000_0000_0000: {o, enable} = {a, 1'b1};
12'b0100_0000_0000: {o, enable} = {b, 1'b1};
12'b0010_0000_0000: {o, enable} = {c, 1'b1};
12'b0001_0000_0000: {o, enable} = {d, 1'b1};
default : {o, enable} = {8'd0, 1'b0};
endcase
assign dout = enable ? o : 8'hzz;
endmodule
E-mail: info@telesys.ru