basic alu & simple fixes

This commit is contained in:
2024-12-15 03:51:29 +03:00
parent cbf97501ea
commit 0f57860554
10 changed files with 3366 additions and 92 deletions

View File

@ -7,114 +7,114 @@
:vpi_module "/usr/lib/x86_64-linux-gnu/ivl/vhdl_textio.vpi";
:vpi_module "/usr/lib/x86_64-linux-gnu/ivl/v2005_math.vpi";
:vpi_module "/usr/lib/x86_64-linux-gnu/ivl/va_math.vpi";
S_0x5595e35f5aa0 .scope module, "opCodeTB" "opCodeTB" 2 1;
S_0x5607c3854aa0 .scope module, "opCodeTB" "opCodeTB" 2 1;
.timescale 0 0;
v0x5595e360d6f0_0 .var "A", 0 0;
v0x5595e360d7b0_0 .var "B", 0 0;
v0x5595e360d880_0 .var "C", 0 0;
v0x5595e360d980_0 .net "opCode", 7 0, L_0x5595e360e5f0; 1 drivers
S_0x5595e35f5c30 .scope module, "uut" "opCode" 2 6, 3 1 0, S_0x5595e35f5aa0;
v0x5607c386c6f0_0 .var "A", 0 0;
v0x5607c386c7b0_0 .var "B", 0 0;
v0x5607c386c880_0 .var "C", 0 0;
v0x5607c386c980_0 .net "opCode", 7 0, L_0x5607c386d5f0; 1 drivers
S_0x5607c3854c30 .scope module, "uut" "opCode" 2 6, 3 1 0, S_0x5607c3854aa0;
.timescale 0 0;
.port_info 0 /INPUT 1 "A";
.port_info 1 /INPUT 1 "B";
.port_info 2 /INPUT 1 "C";
.port_info 3 /OUTPUT 8 "opCode";
L_0x5595e360da50 .functor NOT 1, v0x5595e360d6f0_0, C4<0>, C4<0>, C4<0>;
L_0x5595e360daf0 .functor NOT 1, v0x5595e360d7b0_0, C4<0>, C4<0>, C4<0>;
L_0x5595e360dbb0 .functor NOT 1, v0x5595e360d880_0, C4<0>, C4<0>, C4<0>;
L_0x5595e360dc70 .functor AND 1, v0x5595e360d6f0_0, v0x5595e360d7b0_0, C4<1>, C4<1>;
L_0x5595e360dd10 .functor AND 1, L_0x5595e360da50, v0x5595e360d7b0_0, C4<1>, C4<1>;
L_0x5595e360de00 .functor AND 1, v0x5595e360d6f0_0, L_0x5595e360daf0, C4<1>, C4<1>;
L_0x5595e360deb0 .functor AND 1, L_0x5595e360da50, L_0x5595e360daf0, C4<1>, C4<1>;
L_0x5595e360df20 .functor AND 1, L_0x5595e360deb0, L_0x5595e360dbb0, C4<1>, C4<1>;
L_0x5595e360e030 .functor AND 1, L_0x5595e360deb0, v0x5595e360d880_0, C4<1>, C4<1>;
L_0x5595e360e0a0 .functor AND 1, L_0x5595e360dd10, L_0x5595e360dbb0, C4<1>, C4<1>;
L_0x5595e360e1c0 .functor AND 1, L_0x5595e360dd10, v0x5595e360d880_0, C4<1>, C4<1>;
L_0x5595e360e2c0 .functor AND 1, L_0x5595e360de00, L_0x5595e360dbb0, C4<1>, C4<1>;
L_0x5595e360e460 .functor AND 1, L_0x5595e360de00, v0x5595e360d880_0, C4<1>, C4<1>;
L_0x5595e360e4d0 .functor AND 1, L_0x5595e360dc70, L_0x5595e360dbb0, C4<1>, C4<1>;
L_0x5595e360e3f0 .functor AND 1, L_0x5595e360dc70, v0x5595e360d880_0, C4<1>, C4<1>;
v0x5595e35e0f30_0 .net "A", 0 0, v0x5595e360d6f0_0; 1 drivers
v0x5595e35e0ae0_0 .net "B", 0 0, v0x5595e360d7b0_0; 1 drivers
v0x5595e35e0690_0 .net "C", 0 0, v0x5595e360d880_0; 1 drivers
v0x5595e35e0240_0 .net *"_ivl_0", 0 0, L_0x5595e360df20; 1 drivers
v0x5595e35dfdf0_0 .net *"_ivl_10", 0 0, L_0x5595e360e460; 1 drivers
v0x5595e35df970_0 .net *"_ivl_12", 0 0, L_0x5595e360e4d0; 1 drivers
v0x5595e360cbf0_0 .net *"_ivl_14", 0 0, L_0x5595e360e3f0; 1 drivers
v0x5595e360ccd0_0 .net *"_ivl_2", 0 0, L_0x5595e360e030; 1 drivers
v0x5595e360cdb0_0 .net *"_ivl_4", 0 0, L_0x5595e360e0a0; 1 drivers
v0x5595e360ce90_0 .net *"_ivl_6", 0 0, L_0x5595e360e1c0; 1 drivers
v0x5595e360cf70_0 .net *"_ivl_8", 0 0, L_0x5595e360e2c0; 1 drivers
v0x5595e360d050_0 .net "and1", 0 0, L_0x5595e360dc70; 1 drivers
v0x5595e360d110_0 .net "and2", 0 0, L_0x5595e360dd10; 1 drivers
v0x5595e360d1d0_0 .net "and3", 0 0, L_0x5595e360de00; 1 drivers
v0x5595e360d290_0 .net "and4", 0 0, L_0x5595e360deb0; 1 drivers
v0x5595e360d350_0 .net "notA", 0 0, L_0x5595e360da50; 1 drivers
v0x5595e360d410_0 .net "notB", 0 0, L_0x5595e360daf0; 1 drivers
v0x5595e360d4d0_0 .net "notC", 0 0, L_0x5595e360dbb0; 1 drivers
v0x5595e360d590_0 .net "opCode", 7 0, L_0x5595e360e5f0; alias, 1 drivers
LS_0x5595e360e5f0_0_0 .concat8 [ 1 1 1 1], L_0x5595e360df20, L_0x5595e360e030, L_0x5595e360e0a0, L_0x5595e360e1c0;
LS_0x5595e360e5f0_0_4 .concat8 [ 1 1 1 1], L_0x5595e360e2c0, L_0x5595e360e460, L_0x5595e360e4d0, L_0x5595e360e3f0;
L_0x5595e360e5f0 .concat8 [ 4 4 0 0], LS_0x5595e360e5f0_0_0, LS_0x5595e360e5f0_0_4;
.scope S_0x5595e35f5aa0;
L_0x5607c386ca50 .functor NOT 1, v0x5607c386c6f0_0, C4<0>, C4<0>, C4<0>;
L_0x5607c386caf0 .functor NOT 1, v0x5607c386c7b0_0, C4<0>, C4<0>, C4<0>;
L_0x5607c386cbb0 .functor NOT 1, v0x5607c386c880_0, C4<0>, C4<0>, C4<0>;
L_0x5607c386cc70 .functor AND 1, v0x5607c386c6f0_0, v0x5607c386c7b0_0, C4<1>, C4<1>;
L_0x5607c386cd10 .functor AND 1, L_0x5607c386ca50, v0x5607c386c7b0_0, C4<1>, C4<1>;
L_0x5607c386ce00 .functor AND 1, v0x5607c386c6f0_0, L_0x5607c386caf0, C4<1>, C4<1>;
L_0x5607c386ceb0 .functor AND 1, L_0x5607c386ca50, L_0x5607c386caf0, C4<1>, C4<1>;
L_0x5607c386cf20 .functor AND 1, L_0x5607c386ceb0, L_0x5607c386cbb0, C4<1>, C4<1>;
L_0x5607c386d030 .functor AND 1, L_0x5607c386ceb0, v0x5607c386c880_0, C4<1>, C4<1>;
L_0x5607c386d0a0 .functor AND 1, L_0x5607c386cd10, L_0x5607c386cbb0, C4<1>, C4<1>;
L_0x5607c386d1c0 .functor AND 1, L_0x5607c386cd10, v0x5607c386c880_0, C4<1>, C4<1>;
L_0x5607c386d2c0 .functor AND 1, L_0x5607c386ce00, L_0x5607c386cbb0, C4<1>, C4<1>;
L_0x5607c386d460 .functor AND 1, L_0x5607c386ce00, v0x5607c386c880_0, C4<1>, C4<1>;
L_0x5607c386d4d0 .functor AND 1, L_0x5607c386cc70, L_0x5607c386cbb0, C4<1>, C4<1>;
L_0x5607c386d3f0 .functor AND 1, L_0x5607c386cc70, v0x5607c386c880_0, C4<1>, C4<1>;
v0x5607c383ff30_0 .net "A", 0 0, v0x5607c386c6f0_0; 1 drivers
v0x5607c383fae0_0 .net "B", 0 0, v0x5607c386c7b0_0; 1 drivers
v0x5607c383f690_0 .net "C", 0 0, v0x5607c386c880_0; 1 drivers
v0x5607c383f240_0 .net *"_ivl_0", 0 0, L_0x5607c386cf20; 1 drivers
v0x5607c383edf0_0 .net *"_ivl_10", 0 0, L_0x5607c386d460; 1 drivers
v0x5607c383e970_0 .net *"_ivl_12", 0 0, L_0x5607c386d4d0; 1 drivers
v0x5607c386bbf0_0 .net *"_ivl_14", 0 0, L_0x5607c386d3f0; 1 drivers
v0x5607c386bcd0_0 .net *"_ivl_2", 0 0, L_0x5607c386d030; 1 drivers
v0x5607c386bdb0_0 .net *"_ivl_4", 0 0, L_0x5607c386d0a0; 1 drivers
v0x5607c386be90_0 .net *"_ivl_6", 0 0, L_0x5607c386d1c0; 1 drivers
v0x5607c386bf70_0 .net *"_ivl_8", 0 0, L_0x5607c386d2c0; 1 drivers
v0x5607c386c050_0 .net "and1", 0 0, L_0x5607c386cc70; 1 drivers
v0x5607c386c110_0 .net "and2", 0 0, L_0x5607c386cd10; 1 drivers
v0x5607c386c1d0_0 .net "and3", 0 0, L_0x5607c386ce00; 1 drivers
v0x5607c386c290_0 .net "and4", 0 0, L_0x5607c386ceb0; 1 drivers
v0x5607c386c350_0 .net "notA", 0 0, L_0x5607c386ca50; 1 drivers
v0x5607c386c410_0 .net "notB", 0 0, L_0x5607c386caf0; 1 drivers
v0x5607c386c4d0_0 .net "notC", 0 0, L_0x5607c386cbb0; 1 drivers
v0x5607c386c590_0 .net "opCode", 7 0, L_0x5607c386d5f0; alias, 1 drivers
LS_0x5607c386d5f0_0_0 .concat8 [ 1 1 1 1], L_0x5607c386cf20, L_0x5607c386d030, L_0x5607c386d0a0, L_0x5607c386d1c0;
LS_0x5607c386d5f0_0_4 .concat8 [ 1 1 1 1], L_0x5607c386d2c0, L_0x5607c386d460, L_0x5607c386d4d0, L_0x5607c386d3f0;
L_0x5607c386d5f0 .concat8 [ 4 4 0 0], LS_0x5607c386d5f0_0_0, LS_0x5607c386d5f0_0_4;
.scope S_0x5607c3854aa0;
T_0 ;
%vpi_call 2 14 "$dumpfile", "opCode.vcd" {0 0 0};
%vpi_call 2 15 "$dumpvars" {0 0 0};
%pushi/vec4 0, 0, 1;
%store/vec4 v0x5595e360d6f0_0, 0, 1;
%store/vec4 v0x5607c386c6f0_0, 0, 1;
%pushi/vec4 0, 0, 1;
%store/vec4 v0x5595e360d7b0_0, 0, 1;
%store/vec4 v0x5607c386c7b0_0, 0, 1;
%pushi/vec4 0, 0, 1;
%store/vec4 v0x5595e360d880_0, 0, 1;
%store/vec4 v0x5607c386c880_0, 0, 1;
%delay 3, 0;
%pushi/vec4 0, 0, 1;
%store/vec4 v0x5595e360d6f0_0, 0, 1;
%store/vec4 v0x5607c386c6f0_0, 0, 1;
%pushi/vec4 0, 0, 1;
%store/vec4 v0x5595e360d7b0_0, 0, 1;
%store/vec4 v0x5607c386c7b0_0, 0, 1;
%pushi/vec4 1, 0, 1;
%store/vec4 v0x5595e360d880_0, 0, 1;
%store/vec4 v0x5607c386c880_0, 0, 1;
%delay 3, 0;
%pushi/vec4 0, 0, 1;
%store/vec4 v0x5595e360d6f0_0, 0, 1;
%store/vec4 v0x5607c386c6f0_0, 0, 1;
%pushi/vec4 1, 0, 1;
%store/vec4 v0x5595e360d7b0_0, 0, 1;
%store/vec4 v0x5607c386c7b0_0, 0, 1;
%pushi/vec4 0, 0, 1;
%store/vec4 v0x5595e360d880_0, 0, 1;
%store/vec4 v0x5607c386c880_0, 0, 1;
%delay 3, 0;
%pushi/vec4 0, 0, 1;
%store/vec4 v0x5595e360d6f0_0, 0, 1;
%store/vec4 v0x5607c386c6f0_0, 0, 1;
%pushi/vec4 1, 0, 1;
%store/vec4 v0x5595e360d7b0_0, 0, 1;
%store/vec4 v0x5607c386c7b0_0, 0, 1;
%pushi/vec4 1, 0, 1;
%store/vec4 v0x5595e360d880_0, 0, 1;
%store/vec4 v0x5607c386c880_0, 0, 1;
%delay 3, 0;
%pushi/vec4 1, 0, 1;
%store/vec4 v0x5595e360d6f0_0, 0, 1;
%store/vec4 v0x5607c386c6f0_0, 0, 1;
%pushi/vec4 0, 0, 1;
%store/vec4 v0x5595e360d7b0_0, 0, 1;
%store/vec4 v0x5607c386c7b0_0, 0, 1;
%pushi/vec4 0, 0, 1;
%store/vec4 v0x5595e360d880_0, 0, 1;
%store/vec4 v0x5607c386c880_0, 0, 1;
%delay 3, 0;
%pushi/vec4 1, 0, 1;
%store/vec4 v0x5595e360d6f0_0, 0, 1;
%store/vec4 v0x5607c386c6f0_0, 0, 1;
%pushi/vec4 0, 0, 1;
%store/vec4 v0x5595e360d7b0_0, 0, 1;
%store/vec4 v0x5607c386c7b0_0, 0, 1;
%pushi/vec4 1, 0, 1;
%store/vec4 v0x5595e360d880_0, 0, 1;
%store/vec4 v0x5607c386c880_0, 0, 1;
%delay 3, 0;
%pushi/vec4 1, 0, 1;
%store/vec4 v0x5595e360d6f0_0, 0, 1;
%store/vec4 v0x5607c386c6f0_0, 0, 1;
%pushi/vec4 1, 0, 1;
%store/vec4 v0x5595e360d7b0_0, 0, 1;
%store/vec4 v0x5607c386c7b0_0, 0, 1;
%pushi/vec4 0, 0, 1;
%store/vec4 v0x5595e360d880_0, 0, 1;
%store/vec4 v0x5607c386c880_0, 0, 1;
%delay 3, 0;
%pushi/vec4 1, 0, 1;
%store/vec4 v0x5595e360d6f0_0, 0, 1;
%store/vec4 v0x5607c386c6f0_0, 0, 1;
%pushi/vec4 1, 0, 1;
%store/vec4 v0x5595e360d7b0_0, 0, 1;
%store/vec4 v0x5607c386c7b0_0, 0, 1;
%pushi/vec4 1, 0, 1;
%store/vec4 v0x5595e360d880_0, 0, 1;
%store/vec4 v0x5607c386c880_0, 0, 1;
%delay 3, 0;
%vpi_call 2 24 "$finish" {0 0 0};
%end;