Всем привет. Есть данный код для симуляции работы дешифратора (само описание дешифратора и тестбенч).
сам дешифратор:
module Test(x0, x1, x2, x3, F0, F1, F2, F3, F4, F5, F6, F7, F8, F9,
F10, F11, F12, F13, F14, F15);
input x0, x1, x2, x3;
output F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14, F15;
assign F0=!x0&&!x1&&!x2&&!x3;
assign F1=!x0&&!x1&&!x2&&x3;
assign F2=!x0&&!x1&&x2&&!x3;
assign F3=!x0&&!x1&&x2&&x3;
assign F4=!x0&&x1&&!x2&&!x3;
assign F5=!x0&&x1&&!x2&&x3;
assign F6=!x0&&x1&&x2&&!x3;
assign F7=!x0&&x1&&x2&&x3;
assign F8=x0&&!x1&&!x2&&!x3;
assign F9=x0&&!x1&&!x2&&x3;
assign F10=x0&&!x1&&x2&&!x3;
assign F11=x0&&!x1&&x2&&x3;
assign F12=x0&&x1&&!x2&&!x3;
assign F13=x0&&x1&&!x2&&x3;
assign F14=x0&&x1&&x2&&!x3;
assign F15=x0&&x1&&x2&&x3;
endmodule
testbench:
`timescale 1 ns / 1 ns
module testbench;
localparam t = 20;
reg x0, x1, x2, x3;
reg F0, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14, F15;
initial
begin
x0 <= 0;
x1 <= 0;
x2 <= 0;
x3 <= 0;
#20
x0 <= 0;
x1 <= 0;
x2 <= 0;
x3 <= 1;
#20
x0 <= 0;
x1 <= 0;
x2 <= 1;
x3 <= 0;
#20
x0 <= 0;
x1 <= 0;
x2 <= 1;
x3 <= 1;
#20
x0 <= 0;
x1 <= 1;
x2 <= 0;
x3 <= 0;
#20
x0 <= 0;
x1 <= 1;
x2 <= 0;
x3 <= 1;
#20
x0 <= 0;
x1 <= 1;
x2 <= 1;
x3 <= 0;
#20
x0 <= 0;
x1 <= 1;
x2 <= 1;
x3 <= 1;
#20
x0 <= 1;
x1 <= 0;
x2 <= 0;
x3 <= 0;
#20
x0 <= 1;
x1 <= 0;
x2 <= 0;
x3 <= 1;
#20
x0 <= 1;
x1 <= 0;
x2 <= 1;
x3 <= 0;
#20
x0 <= 1;
x1 <= 0;
x2 <= 1;
x3 <= 1;
#20
x0 <= 1;
x1 <= 1;
x2 <= 0;
x3 <= 0;
#20
x0 <= 1;
x1 <= 1;
x2 <= 0;
x3 <= 1;
#20
x0 <= 1;
x1 <= 1;
x2 <= 1;
x3 <= 0;
#20
x0 <= 1;
x1 <= 1;
x2 <= 1;
x3 <= 1;
end
Test dut
(
.x0(x0),
.x1(x1),
.x2(x2),
.x3(x3),
.F0(F0),
.F1(F1),
.F2(F2),
.F3(F3),
.F4(F4),
.F5(F5),
.F6(F6),
.F7(F7),
.F8(F8),
.F9(F9),
.F10(F10),
.F11(F11),
.F12(F12),
.F13(F13),
.F14(F14),
.F15(F15)
);
initial
begin
#300;
$finish();
end
endmodule
Необходимо оптимизировать код. Как это можно сделать? Подскажите, пожалуйста