#! /home/hlocal/bin/vvp
:ivl_version "0.9.4 " "(v0_9_4)";
:vpi_time_precision - 12;
:vpi_module "system";
:vpi_module "v2005_math";
:vpi_module "va_math";
S_0x1d5a100 .scope module, "test" "test" 2 6;
 .timescale -9 -12;
P_0x1d06aa8 .param/l "STEP" 2 7, +C4<01010>;
v0x1d93a00_0 .var "clk", 0 0;
v0x1d93a80_0 .var "count", 10 0;
v0x1d93b00_0 .net "daddr", 31 0, L_0x1d9c060; 1 drivers
v0x1d93b80_0 .net "ecall_op", 0 0, L_0x1d978f0; 1 drivers
v0x1d93c00_0 .var "hit", 10 0;
v0x1d93c80_0 .net "iaddr", 31 0, v0x1d90520_0; 1 drivers
v0x1d93d00 .array "imem", 65535 0, 31 0;
v0x1d93d80_0 .net "instr", 31 0, L_0x1d4f640; 1 drivers
v0x1d93e50_0 .net "mdata", 31 0, L_0x1da41e0; 1 drivers
v0x1d93ed0_0 .net "mem_rdy", 0 0, v0x1d7bc40_0; 1 drivers
v0x1d93fb0_0 .net "mem_req", 0 0, L_0x1da2dd0; 1 drivers
v0x1d94080_0 .var "miss", 10 0;
v0x1d94170_0 .net "odata", 31 0, L_0x1da3e10; 1 drivers
v0x1d94240_0 .net "rdy", 0 0, L_0x1da3250; 1 drivers
v0x1d94390_0 .net "req", 0 0, L_0x1d55d30; 1 drivers
v0x1d94460_0 .var "rst_n", 0 0;
v0x1d942c0_0 .var "wcount", 10 0;
v0x1d94570_0 .net "wdata", 31 0, L_0x1d4d2c0; 1 drivers
v0x1d946e0_0 .net "we", 0 0, L_0x1d98660; 1 drivers
E_0x1d1e0c0 .event negedge, v0x1d7b890_0;
L_0x1d7ff20 .part v0x1d90520_0, 2, 16;
L_0x1da3ec0 .part L_0x1d9c060, 2, 10;
L_0x1da4320 .part L_0x1d9c060, 2, 10;
S_0x1d87e00 .scope module, "imem_1" "imem" 2 19, 3 2, S_0x1d5a100;
 .timescale -9 -12;
L_0x1d4f640 .functor BUFZ 32, L_0x1d874a0, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>;
v0x1d93800_0 .net *"_s0", 31 0, L_0x1d874a0; 1 drivers
v0x1d93880_0 .net "a", 15 0, L_0x1d7ff20; 1 drivers
v0x1d93900 .array "mem", 65535 0, 31 0;
v0x1d93980_0 .alias "rd", 31 0, v0x1d93d80_0;
L_0x1d874a0 .array/port v0x1d93900, L_0x1d7ff20;
S_0x1d7d5e0 .scope module, "rv32i_1" "rv32i" 2 21, 4 2, S_0x1d5a100;
 .timescale -9 -12;
L_0x1d4d2c0 .functor BUFZ 32, L_0x1da1a80, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>;
L_0x1d55d30 .functor OR 1, L_0x1d93f50, L_0x1d56c30, C4<0>, C4<0>;
L_0x1d56400 .functor BUFZ 32, L_0x1d4f640, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>;
L_0x1d93f50 .functor AND 1, L_0x1d95bb0, L_0x1d95cf0, C4<1>, C4<1>;
L_0x1d56c30 .functor AND 1, L_0x1d96010, L_0x1d96140, C4<1>, C4<1>;
L_0x1d58350 .functor AND 1, L_0x1d96a60, L_0x1d96ca0, C4<1>, C4<1>;
L_0x1cf6aa0 .functor AND 1, L_0x1d96220, L_0x1d96ee0, C4<1>, C4<1>;
L_0x1d972c0 .functor AND 1, L_0x1d96220, L_0x1d971d0, C4<1>, C4<1>;
L_0x1d975e0 .functor AND 1, L_0x1d96220, L_0x1d973c0, C4<1>, C4<1>;
L_0x1d97840 .functor AND 1, L_0x1d96220, L_0x1d97720, C4<1>, C4<1>;
L_0x1d97ba0 .functor AND 1, L_0x1d96220, L_0x1d97990, C4<1>, C4<1>;
L_0x1d97d10 .functor AND 1, L_0x1d96220, L_0x1d97680, C4<1>, C4<1>;
L_0x1d978f0 .functor AND 1, L_0x1d97e00, L_0x1d98080, C4<1>, C4<1>;
L_0x1d98490 .functor AND 1, L_0x1d96440, L_0x1d98290, C4<1>, C4<1>;
L_0x1d98660 .functor BUFZ 1, L_0x1d93f50, C4<0>, C4<0>, C4<0>;
L_0x1d98710 .functor OR 1, L_0x1d964e0, L_0x1d56c30, C4<0>, C4<0>;
L_0x1d98850 .functor OR 1, L_0x1d98710, L_0x1d58350, C4<0>, C4<0>;
L_0x1d99c00 .functor OR 1, L_0x1d96220, L_0x1d96700, C4<0>, C4<0>;
L_0x1d99df0 .functor OR 1, L_0x1d96700, L_0x1d58350, C4<0>, C4<0>;
L_0x1d9afc0 .functor OR 1, L_0x1d56c30, L_0x1d93f50, C4<0>, C4<0>;
L_0x1d9b0d0 .functor OR 1, L_0x1d9afc0, L_0x1d96220, C4<0>, C4<0>;
L_0x1d9b180 .functor OR 1, L_0x1d9b0d0, L_0x1d96700, C4<0>, C4<0>;
L_0x1d9b020 .functor OR 1, L_0x1d9b180, L_0x1d58350, C4<0>, C4<0>;
L_0x1d9b3d0 .functor OR 1, L_0x1d56c30, L_0x1d96440, C4<0>, C4<0>;
L_0x1d9b500 .functor OR 1, L_0x1d9b3d0, L_0x1d964e0, C4<0>, C4<0>;
L_0x1d9b560 .functor OR 1, L_0x1d9b500, L_0x1d96700, C4<0>, C4<0>;
L_0x1d9b6f0 .functor OR 1, L_0x1d9b560, L_0x1d58350, C4<0>, C4<0>;
L_0x1d9b7a0 .functor OR 1, L_0x1d9b6f0, L_0x1d96930, C4<0>, C4<0>;
v0x1d86800_0 .net *"_s101", 2 0, C4<000>; 1 drivers
v0x1d868c0_0 .net *"_s103", 0 0, L_0x1d96ee0; 1 drivers
v0x1d86960_0 .net *"_s107", 2 0, C4<001>; 1 drivers
v0x1d86a00_0 .net *"_s109", 0 0, L_0x1d971d0; 1 drivers
v0x1d86ab0_0 .net *"_s113", 2 0, C4<100>; 1 drivers
v0x1d86b50_0 .net *"_s115", 0 0, L_0x1d973c0; 1 drivers
v0x1d86bf0_0 .net *"_s119", 2 0, C4<101>; 1 drivers
v0x1d86c90_0 .net *"_s12", 31 0, L_0x1d56400; 1 drivers
v0x1d86d80_0 .net *"_s121", 0 0, L_0x1d97720; 1 drivers
v0x1d86e20_0 .net *"_s125", 2 0, C4<110>; 1 drivers
v0x1d86ec0_0 .net *"_s127", 0 0, L_0x1d97990; 1 drivers
v0x1d86f60_0 .net *"_s131", 2 0, C4<111>; 1 drivers
v0x1d87070_0 .net *"_s133", 0 0, L_0x1d97680; 1 drivers
v0x1d87110_0 .net *"_s137", 6 0, C4<1110011>; 1 drivers
v0x1d87230_0 .net *"_s139", 0 0, L_0x1d97e00; 1 drivers
v0x1d872d0_0 .net *"_s14", 0 0, L_0x1d94c10; 1 drivers
v0x1d87190_0 .net *"_s141", 2 0, C4<000>; 1 drivers
v0x1d87420_0 .net *"_s143", 0 0, L_0x1d98080; 1 drivers
v0x1d87560_0 .net *"_s148", 0 0, L_0x1d98290; 1 drivers
v0x1d87600_0 .net *"_s153", 0 0, L_0x1d98710; 1 drivers
v0x1d87750_0 .net *"_s155", 0 0, L_0x1d98850; 1 drivers
v0x1d877f0_0 .net *"_s157", 31 0, L_0x1d98950; 1 drivers
v0x1d876a0_0 .net *"_s160", 18 0, L_0x1d98a90; 1 drivers
v0x1d87950_0 .net *"_s161", 31 0, L_0x1d98ca0; 1 drivers
v0x1d87ac0_0 .net *"_s163", 31 0, L_0x1d98de0; 1 drivers
v0x1d87b60_0 .net *"_s166", 10 0, L_0x1d99050; 1 drivers
v0x1d87ce0_0 .net *"_s167", 31 0, L_0x1d990f0; 1 drivers
v0x1d87d80_0 .net *"_s169", 31 0, L_0x1d99370; 1 drivers
v0x1d87c00_0 .net *"_s171", 31 0, L_0x1d99460; 1 drivers
v0x1d87ef0_0 .net *"_s173", 31 0, L_0x1d99780; 1 drivers
v0x1d88070_0 .net *"_s177", 0 0, L_0x1d99c00; 1 drivers
v0x1d88110_0 .net *"_s181", 0 0, L_0x1d99df0; 1 drivers
v0x1d882c0_0 .net *"_s183", 32 0, L_0x1d99e50; 1 drivers
v0x1d88360_0 .net *"_s186", 0 0, C4<0>; 1 drivers
v0x1d88520_0 .net *"_s187", 11 0, C4<000000000000>; 1 drivers
v0x1d885c0_0 .net *"_s189", 32 0, L_0x1d9a130; 1 drivers
v0x1d88790_0 .net *"_s191", 32 0, L_0x1d9a270; 1 drivers
v0x1d88830_0 .net *"_s194", 0 0, C4<0>; 1 drivers
v0x1d88a10_0 .net *"_s195", 32 0, L_0x1d9a570; 1 drivers
v0x1d88ab0_0 .net *"_s198", 0 0, C4<0>; 1 drivers
v0x1d88ca0_0 .net *"_s199", 32 0, L_0x1d9a6a0; 1 drivers
v0x1d88d40_0 .net *"_s201", 32 0, L_0x1d9a970; 1 drivers
v0x1d88f40_0 .net *"_s203", 32 0, L_0x1d9ab00; 1 drivers
v0x1d88fe0_0 .net *"_s207", 0 0, L_0x1d9afc0; 1 drivers
v0x1d891f0_0 .net *"_s209", 0 0, L_0x1d9b0d0; 1 drivers
v0x1d89290_0 .net *"_s211", 0 0, L_0x1d9b180; 1 drivers
v0x1d894b0_0 .net *"_s215", 0 0, L_0x1d9b3d0; 1 drivers
v0x1d89550_0 .net *"_s217", 0 0, L_0x1d9b500; 1 drivers
v0x1d89780_0 .net *"_s219", 0 0, L_0x1d9b560; 1 drivers
v0x1d89820_0 .net *"_s22", 0 0, L_0x1d94ee0; 1 drivers
v0x1d89a60_0 .net *"_s221", 0 0, L_0x1d9b6f0; 1 drivers
v0x1d89b00_0 .net *"_s225", 32 0, L_0x1da1c20; 1 drivers
v0x1d89d50_0 .net *"_s228", 0 0, C4<0>; 1 drivers
v0x1d89df0_0 .net *"_s229", 32 0, C4<000000000000000000000000000000100>; 1 drivers
v0x1d8a050_0 .net *"_s231", 32 0, L_0x1da1fd0; 1 drivers
v0x1d8a0f0_0 .net *"_s24", 0 0, L_0x1d94f80; 1 drivers
v0x1d8a360_0 .net *"_s26", 5 0, L_0x1d95020; 1 drivers
v0x1d8a400_0 .net *"_s28", 3 0, L_0x1d950c0; 1 drivers
v0x1d8a680_0 .net *"_s29", 0 0, C4<0>; 1 drivers
v0x1d8a720_0 .net *"_s34", 0 0, L_0x1d95320; 1 drivers
v0x1d8a9b0_0 .net *"_s36", 7 0, L_0x1d95450; 1 drivers
v0x1d8aa50_0 .net *"_s38", 0 0, L_0x1d954f0; 1 drivers
v0x1d8acf0_0 .net *"_s40", 9 0, L_0x1d95630; 1 drivers
v0x1d8ad90_0 .net *"_s41", 0 0, C4<0>; 1 drivers
v0x1d8b040_0 .net *"_s46", 19 0, L_0x1d95590; 1 drivers
v0x1d8b0e0_0 .net *"_s50", 0 0, C4<0>; 1 drivers
v0x1d8b3a0_0 .net *"_s51", 6 0, C4<0100011>; 1 drivers
v0x1d8b440_0 .net *"_s53", 0 0, L_0x1d95bb0; 1 drivers
v0x1d8b710_0 .net *"_s55", 2 0, C4<010>; 1 drivers
v0x1d8b7b0_0 .net *"_s57", 0 0, L_0x1d95cf0; 1 drivers
v0x1d8ba90_0 .net *"_s61", 6 0, C4<0000011>; 1 drivers
v0x1d8bb30_0 .net *"_s63", 0 0, L_0x1d96010; 1 drivers
v0x1d8be20_0 .net *"_s65", 2 0, C4<010>; 1 drivers
v0x1d8bec0_0 .net *"_s67", 0 0, L_0x1d96140; 1 drivers
v0x1d8c1c0_0 .net *"_s71", 6 0, C4<0110011>; 1 drivers
v0x1d8c260_0 .net *"_s75", 6 0, C4<0010011>; 1 drivers
v0x1d8c570_0 .net *"_s79", 6 0, C4<1100011>; 1 drivers
v0x1d8c610_0 .net *"_s83", 6 0, C4<1101111>; 1 drivers
v0x1d8c930_0 .net *"_s87", 6 0, C4<0110111>; 1 drivers
v0x1d8c9d0_0 .net *"_s91", 6 0, C4<1100111>; 1 drivers
v0x1d8cd00_0 .net *"_s93", 0 0, L_0x1d96a60; 1 drivers
v0x1d8cda0_0 .net *"_s95", 2 0, C4<000>; 1 drivers
v0x1d8ca70_0 .net *"_s97", 0 0, L_0x1d96ca0; 1 drivers
v0x1d8cb10_0 .net "addcom", 0 0, L_0x1d9b020; 1 drivers
v0x1d8cb90_0 .net "alu_op", 0 0, L_0x1d96440; 1 drivers
v0x1d8cc10_0 .alias "aluresult", 31 0, v0x1d93b00_0;
v0x1d8d0e0_0 .net "beq_op", 0 0, L_0x1cf6aa0; 1 drivers
v0x1d8d160_0 .net "bge_op", 0 0, L_0x1d97840; 1 drivers
v0x1d8d4b0_0 .net "bgeu_op", 0 0, L_0x1d97d10; 1 drivers
v0x1d8d530_0 .net "blt_op", 0 0, L_0x1d975e0; 1 drivers
v0x1d8d8b0_0 .net "bltu_op", 0 0, L_0x1d97ba0; 1 drivers
v0x1d8d950_0 .net "bne_op", 0 0, L_0x1d972c0; 1 drivers
v0x1d8dce0_0 .net "bra_op", 0 0, L_0x1d96220; 1 drivers
v0x1d8dd80_0 .net "clk", 0 0, v0x1d93a00_0; 1 drivers
v0x1d8e100_0 .alias "ecall_op", 0 0, v0x1d93b80_0;
v0x1d8e1a0_0 .net "ext", 0 0, L_0x1d98490; 1 drivers
v0x1d8e560_0 .net "funct3", 2 0, L_0x1d949e0; 1 drivers
v0x1d8e610_0 .net "funct7", 6 0, L_0x1d7ed20; 1 drivers
v0x1d8e9b0_0 .net "imm_b", 12 0, L_0x1d951e0; 1 drivers
v0x1d8ea30_0 .net "imm_i", 11 0, L_0x1d94da0; 1 drivers
v0x1d8ee00_0 .net "imm_j", 20 0, L_0x1d956d0; 1 drivers
v0x1d8eea0_0 .net "imm_op", 0 0, L_0x1d964e0; 1 drivers
v0x1d8f280_0 .net "imm_s", 11 0, L_0x1d94e40; 1 drivers
v0x1d8f320_0 .net "imm_u", 20 0, L_0x1d959b0; 1 drivers
v0x1d8f710_0 .alias "instr", 31 0, v0x1d93d80_0;
v0x1d8f7b0_0 .net "jal_op", 0 0, L_0x1d96700; 1 drivers
v0x1d8fbb0_0 .net "jalr_op", 0 0, L_0x1d58350; 1 drivers
v0x1d8fc50_0 .net "lui_op", 0 0, L_0x1d96930; 1 drivers
v0x1d90060_0 .net "lw_op", 0 0, L_0x1d56c30; 1 drivers
v0x1d90100_0 .net "opcode", 6 0, L_0x1d94b70; 1 drivers
v0x1d90520_0 .var "pc", 31 0;
v0x1d905c0_0 .net "pcplus4", 31 0, L_0x1da2110; 1 drivers
v0x1d909f0_0 .net "rd", 4 0, L_0x1d94ad0; 1 drivers
v0x1d90aa0_0 .alias "rdy", 0 0, v0x1d94240_0;
v0x1d90ef0_0 .alias "readdata", 31 0, v0x1d94170_0;
v0x1d90fa0_0 .net "reg1", 31 0, L_0x1da13f0; 1 drivers
v0x1d91400_0 .net "reg2", 31 0, L_0x1da1a80; 1 drivers
v0x1d914b0_0 .alias "req", 0 0, v0x1d94390_0;
v0x1d91920_0 .net "result", 31 0, L_0x1d9ae80; 1 drivers
v0x1d919d0_0 .net "rs1", 4 0, L_0x1d948f0; 1 drivers
v0x1d91e50_0 .net "rs2", 4 0, L_0x1d7cd40; 1 drivers
v0x1d91f00_0 .net "rst_n", 0 0, v0x1d94460_0; 1 drivers
v0x1d92360_0 .net "rwe", 0 0, L_0x1d9b7a0; 1 drivers
v0x1d923e0_0 .net "sext", 19 0, L_0x1d94cb0; 1 drivers
v0x1d92850_0 .net "srca", 31 0, L_0x1d99d00; 1 drivers
v0x1d928d0_0 .net "srcb", 31 0, L_0x1d998c0; 1 drivers
v0x1d92d50_0 .alias/s "sreg1", 31 0, v0x1d90fa0_0;
v0x1d92dd0_0 .alias/s "sreg2", 31 0, v0x1d91400_0;
v0x1d93260_0 .net "sw_op", 0 0, L_0x1d93f50; 1 drivers
v0x1d932e0_0 .alias "we", 0 0, v0x1d946e0_0;
v0x1d93780_0 .alias "writedata", 31 0, v0x1d94570_0;
L_0x1d7ed20 .part L_0x1d56400, 25, 7;
L_0x1d7cd40 .part L_0x1d56400, 20, 5;
L_0x1d948f0 .part L_0x1d56400, 15, 5;
L_0x1d949e0 .part L_0x1d56400, 12, 3;
L_0x1d94ad0 .part L_0x1d56400, 7, 5;
L_0x1d94b70 .part L_0x1d56400, 0, 7;
L_0x1d94c10 .part L_0x1d4f640, 31, 1;
LS_0x1d94cb0_0_0 .concat [ 1 1 1 1], L_0x1d94c10, L_0x1d94c10, L_0x1d94c10, L_0x1d94c10;
LS_0x1d94cb0_0_4 .concat [ 1 1 1 1], L_0x1d94c10, L_0x1d94c10, L_0x1d94c10, L_0x1d94c10;
LS_0x1d94cb0_0_8 .concat [ 1 1 1 1], L_0x1d94c10, L_0x1d94c10, L_0x1d94c10, L_0x1d94c10;
LS_0x1d94cb0_0_12 .concat [ 1 1 1 1], L_0x1d94c10, L_0x1d94c10, L_0x1d94c10, L_0x1d94c10;
LS_0x1d94cb0_0_16 .concat [ 1 1 1 1], L_0x1d94c10, L_0x1d94c10, L_0x1d94c10, L_0x1d94c10;
LS_0x1d94cb0_1_0 .concat [ 4 4 4 4], LS_0x1d94cb0_0_0, LS_0x1d94cb0_0_4, LS_0x1d94cb0_0_8, LS_0x1d94cb0_0_12;
LS_0x1d94cb0_1_4 .concat [ 4 0 0 0], LS_0x1d94cb0_0_16;
L_0x1d94cb0 .concat [ 16 4 0 0], LS_0x1d94cb0_1_0, LS_0x1d94cb0_1_4;
L_0x1d94da0 .concat [ 5 7 0 0], L_0x1d7cd40, L_0x1d7ed20;
L_0x1d94e40 .concat [ 5 7 0 0], L_0x1d94ad0, L_0x1d7ed20;
L_0x1d94ee0 .part L_0x1d7ed20, 6, 1;
L_0x1d94f80 .part L_0x1d94ad0, 0, 1;
L_0x1d95020 .part L_0x1d7ed20, 0, 6;
L_0x1d950c0 .part L_0x1d94ad0, 1, 4;
LS_0x1d951e0_0_0 .concat [ 1 4 6 1], C4<0>, L_0x1d950c0, L_0x1d95020, L_0x1d94f80;
LS_0x1d951e0_0_4 .concat [ 1 0 0 0], L_0x1d94ee0;
L_0x1d951e0 .concat [ 12 1 0 0], LS_0x1d951e0_0_0, LS_0x1d951e0_0_4;
L_0x1d95320 .part L_0x1d4f640, 31, 1;
L_0x1d95450 .part L_0x1d4f640, 12, 8;
L_0x1d954f0 .part L_0x1d4f640, 20, 1;
L_0x1d95630 .part L_0x1d4f640, 21, 10;
LS_0x1d956d0_0_0 .concat [ 1 10 1 8], C4<0>, L_0x1d95630, L_0x1d954f0, L_0x1d95450;
LS_0x1d956d0_0_4 .concat [ 1 0 0 0], L_0x1d95320;
L_0x1d956d0 .concat [ 20 1 0 0], LS_0x1d956d0_0_0, LS_0x1d956d0_0_4;
L_0x1d95590 .part L_0x1d4f640, 12, 20;
L_0x1d959b0 .concat [ 20 1 0 0], L_0x1d95590, C4<0>;
L_0x1d95bb0 .cmp/eq 7, L_0x1d94b70, C4<0100011>;
L_0x1d95cf0 .cmp/eq 3, L_0x1d949e0, C4<010>;
L_0x1d96010 .cmp/eq 7, L_0x1d94b70, C4<0000011>;
L_0x1d96140 .cmp/eq 3, L_0x1d949e0, C4<010>;
L_0x1d96440 .cmp/eq 7, L_0x1d94b70, C4<0110011>;
L_0x1d964e0 .cmp/eq 7, L_0x1d94b70, C4<0010011>;
L_0x1d96220 .cmp/eq 7, L_0x1d94b70, C4<1100011>;
L_0x1d96700 .cmp/eq 7, L_0x1d94b70, C4<1101111>;
L_0x1d96930 .cmp/eq 7, L_0x1d94b70, C4<0110111>;
L_0x1d96a60 .cmp/eq 7, L_0x1d94b70, C4<1100111>;
L_0x1d96ca0 .cmp/eq 3, L_0x1d949e0, C4<000>;
L_0x1d96ee0 .cmp/eq 3, L_0x1d949e0, C4<000>;
L_0x1d971d0 .cmp/eq 3, L_0x1d949e0, C4<001>;
L_0x1d973c0 .cmp/eq 3, L_0x1d949e0, C4<100>;
L_0x1d97720 .cmp/eq 3, L_0x1d949e0, C4<101>;
L_0x1d97990 .cmp/eq 3, L_0x1d949e0, C4<110>;
L_0x1d97680 .cmp/eq 3, L_0x1d949e0, C4<111>;
L_0x1d97e00 .cmp/eq 7, L_0x1d94b70, C4<1110011>;
L_0x1d98080 .cmp/eq 3, L_0x1d949e0, C4<000>;
L_0x1d98290 .part L_0x1d7ed20, 5, 1;
L_0x1d98950 .concat [ 12 20 0 0], L_0x1d94da0, L_0x1d94cb0;
L_0x1d98a90 .part L_0x1d94cb0, 0, 19;
L_0x1d98ca0 .concat [ 13 19 0 0], L_0x1d951e0, L_0x1d98a90;
L_0x1d98de0 .concat [ 12 20 0 0], L_0x1d94e40, L_0x1d94cb0;
L_0x1d99050 .part L_0x1d94cb0, 0, 11;
L_0x1d990f0 .concat [ 21 11 0 0], L_0x1d956d0, L_0x1d99050;
L_0x1d99370 .functor MUXZ 32, L_0x1da1a80, L_0x1d990f0, L_0x1d96700, C4<>;
L_0x1d99460 .functor MUXZ 32, L_0x1d99370, L_0x1d98de0, L_0x1d93f50, C4<>;
L_0x1d99780 .functor MUXZ 32, L_0x1d99460, L_0x1d98ca0, L_0x1d96220, C4<>;
L_0x1d998c0 .functor MUXZ 32, L_0x1d99780, L_0x1d98950, L_0x1d98850, C4<>;
L_0x1d99d00 .functor MUXZ 32, L_0x1da13f0, v0x1d90520_0, L_0x1d99c00, C4<>;
L_0x1d99e50 .concat [ 32 1 0 0], L_0x1da2110, C4<0>;
L_0x1d9a130 .concat [ 12 21 0 0], C4<000000000000>, L_0x1d959b0;
L_0x1d9a270 .concat [ 32 1 0 0], L_0x1da3e10, C4<0>;
L_0x1d9a570 .concat [ 32 1 0 0], L_0x1d9c060, C4<0>;
L_0x1d9a6a0 .functor MUXZ 33, L_0x1d9a570, L_0x1d9a270, L_0x1d56c30, C4<>;
L_0x1d9a970 .functor MUXZ 33, L_0x1d9a6a0, L_0x1d9a130, L_0x1d96930, C4<>;
L_0x1d9ab00 .functor MUXZ 33, L_0x1d9a970, L_0x1d99e50, L_0x1d99df0, C4<>;
L_0x1d9ae80 .part L_0x1d9ab00, 0, 32;
L_0x1da1c20 .concat [ 32 1 0 0], v0x1d90520_0, C4<0>;
L_0x1da1fd0 .arith/sum 33, L_0x1da1c20, C4<000000000000000000000000000000100>;
L_0x1da2110 .part L_0x1da1fd0, 0, 32;
S_0x1d7f190 .scope module, "alu_1" "alu" 4 85, 5 3, S_0x1d7d5e0;
 .timescale -9 -12;
L_0x1d9c2d0 .functor AND 1, L_0x1d9c1e0, L_0x1d98490, C4<1>, C4<1>;
L_0x1d9c420 .functor NOT 1, L_0x1d98490, C4<0>, C4<0>, C4<0>;
L_0x1d9ca80 .functor AND 1, L_0x1d9c990, L_0x1d9c420, C4<1>, C4<1>;
L_0x1d9d410 .functor XOR 34, L_0x1d9d110, L_0x1d9d2e0, C4<0000000000000000000000000000000000>, C4<0000000000000000000000000000000000>;
L_0x1d9d8e0 .functor OR 34, L_0x1d9d1b0, L_0x1d9d780, C4<0000000000000000000000000000000000>, C4<0000000000000000000000000000000000>;
L_0x1d9dea0 .functor AND 34, L_0x1d9db10, L_0x1d9dd40, C4<1111111111111111111111111111111111>, C4<1111111111111111111111111111111111>;
L_0x1d9ecc0 .functor NOT 1, L_0x1d98490, C4<0>, C4<0>, C4<0>;
L_0x1d9ed20 .functor AND 1, L_0x1d9eba0, L_0x1d9ecc0, C4<1>, C4<1>;
L_0x1d9f3e0 .functor AND 1, L_0x1d9f1e0, L_0x1d98490, C4<1>, C4<1>;
v0x1d7f280_0 .net *"_s100", 2 0, C4<010>; 1 drivers
v0x1d7f340_0 .net *"_s102", 0 0, L_0x1d9dfe0; 1 drivers
v0x1d7f3e0_0 .net *"_s104", 33 0, L_0x1d9e160; 1 drivers
v0x1d7f480_0 .net *"_s107", 1 0, C4<00>; 1 drivers
v0x1d7f530_0 .net *"_s108", 2 0, C4<011>; 1 drivers
v0x1d7f5d0_0 .net *"_s110", 0 0, L_0x1d9e320; 1 drivers
v0x1d7f670_0 .net *"_s112", 33 0, L_0x1d9e080; 1 drivers
v0x1d7f710_0 .net *"_s115", 1 0, C4<00>; 1 drivers
v0x1d7f800_0 .net *"_s116", 2 0, C4<001>; 1 drivers
v0x1d7f8a0_0 .net *"_s118", 0 0, L_0x1d9e5e0; 1 drivers
v0x1d7f940_0 .net *"_s12", 0 0, L_0x1d9bcd0; 1 drivers
v0x1d7f9e0_0 .net *"_s120", 33 0, L_0x1d9e800; 1 drivers
v0x1d7faf0_0 .net *"_s123", 1 0, C4<00>; 1 drivers
v0x1d7fb90_0 .net *"_s124", 33 0, L_0x1d9e960; 1 drivers
v0x1d7fcb0_0 .net *"_s126", 2 0, C4<101>; 1 drivers
v0x1d7fd50_0 .net *"_s128", 0 0, L_0x1d9eba0; 1 drivers
v0x1d7fc10_0 .net *"_s130", 0 0, L_0x1d9ecc0; 1 drivers
v0x1d7fea0_0 .net *"_s132", 0 0, L_0x1d9ed20; 1 drivers
v0x1d7ffe0_0 .net *"_s134", 33 0, L_0x1d9eea0; 1 drivers
v0x1d80080_0 .net *"_s137", 1 0, C4<00>; 1 drivers
v0x1d801d0_0 .net *"_s138", 33 0, L_0x1d9f0b0; 1 drivers
v0x1d80270_0 .net/s *"_s14", 31 0, C4<00000000000000000000000000000001>; 1 drivers
v0x1d80120_0 .net *"_s140", 2 0, C4<101>; 1 drivers
v0x1d803d0_0 .net *"_s142", 0 0, L_0x1d9f1e0; 1 drivers
v0x1d80540_0 .net *"_s144", 0 0, L_0x1d9f3e0; 1 drivers
v0x1d805e0_0 .net/s *"_s146", 33 0, L_0x1d9f490; 1 drivers
v0x1d80760_0 .net/s *"_s148", 33 0, C4<0000000000000000000000000000000000>; 1 drivers
v0x1d80800_0 .net *"_s150", 33 0, L_0x1d9f5f0; 1 drivers
v0x1d80680_0 .net *"_s152", 33 0, L_0x1d9f8f0; 1 drivers
v0x1d80970_0 .net *"_s154", 33 0, L_0x1d9fa80; 1 drivers
v0x1d80af0_0 .net *"_s156", 33 0, L_0x1d9fd60; 1 drivers
v0x1d80b90_0 .net *"_s158", 33 0, L_0x1d9fef0; 1 drivers
v0x1d80d40_0 .net/s *"_s16", 31 0, C4<00000000000000000000000000000000>; 1 drivers
v0x1d80de0_0 .net *"_s160", 33 0, L_0x1da01e0; 1 drivers
v0x1d80fa0_0 .net *"_s162", 33 0, L_0x1da0370; 1 drivers
v0x1d81040_0 .net *"_s164", 33 0, L_0x1da0670; 1 drivers
v0x1d81210_0 .net *"_s166", 33 0, L_0x1da0800; 1 drivers
v0x1d812b0_0 .net *"_s168", 33 0, L_0x1da0b10; 1 drivers
v0x1d81490_0 .net *"_s20", 31 0, L_0x1d9bfc0; 1 drivers
v0x1d81530_0 .net *"_s24", 2 0, C4<000>; 1 drivers
v0x1d81720_0 .net *"_s26", 0 0, L_0x1d9c1e0; 1 drivers
v0x1d817c0_0 .net *"_s28", 0 0, L_0x1d9c2d0; 1 drivers
v0x1d819c0_0 .net *"_s30", 33 0, L_0x1d9c380; 1 drivers
v0x1d81a60_0 .net *"_s33", 1 0, C4<00>; 1 drivers
v0x1d81c70_0 .net *"_s34", 33 0, L_0x1d9c5d0; 1 drivers
v0x1d81d10_0 .net *"_s37", 1 0, C4<00>; 1 drivers
v0x1d81f30_0 .net *"_s38", 33 0, L_0x1d9c810; 1 drivers
v0x1d81fd0_0 .net *"_s4", 0 0, L_0x1d9bb50; 1 drivers
v0x1d82200_0 .net *"_s40", 2 0, C4<000>; 1 drivers
v0x1d822a0_0 .net *"_s42", 0 0, L_0x1d9c990; 1 drivers
v0x1d824e0_0 .net *"_s44", 0 0, L_0x1d9c420; 1 drivers
v0x1d82580_0 .net *"_s46", 0 0, L_0x1d9ca80; 1 drivers
v0x1d827d0_0 .net *"_s48", 33 0, L_0x1d9cb30; 1 drivers
v0x1d82870_0 .net *"_s51", 1 0, C4<00>; 1 drivers
v0x1d82ad0_0 .net *"_s52", 33 0, L_0x1d9cce0; 1 drivers
v0x1d82b70_0 .net *"_s55", 1 0, C4<00>; 1 drivers
v0x1d82de0_0 .net *"_s56", 33 0, L_0x1d9ce10; 1 drivers
v0x1d82e80_0 .net *"_s58", 2 0, C4<100>; 1 drivers
v0x1d83100_0 .net/s *"_s6", 31 0, C4<00000000000000000000000000000001>; 1 drivers
v0x1d831a0_0 .net *"_s60", 0 0, L_0x1d9d020; 1 drivers
v0x1d83430_0 .net *"_s62", 33 0, L_0x1d9d110; 1 drivers
v0x1d834d0_0 .net *"_s65", 1 0, C4<00>; 1 drivers
v0x1d83770_0 .net *"_s66", 33 0, L_0x1d9d2e0; 1 drivers
v0x1d83810_0 .net *"_s69", 1 0, C4<00>; 1 drivers
v0x1d83ac0_0 .net *"_s70", 33 0, L_0x1d9d410; 1 drivers
v0x1d83b60_0 .net *"_s72", 2 0, C4<110>; 1 drivers
v0x1d83e20_0 .net *"_s74", 0 0, L_0x1d9d550; 1 drivers
v0x1d83ec0_0 .net *"_s76", 33 0, L_0x1d9d1b0; 1 drivers
v0x1d84190_0 .net *"_s79", 1 0, C4<00>; 1 drivers
v0x1d84230_0 .net/s *"_s8", 31 0, C4<00000000000000000000000000000000>; 1 drivers
v0x1d84510_0 .net *"_s80", 33 0, L_0x1d9d780; 1 drivers
v0x1d845b0_0 .net *"_s83", 1 0, C4<00>; 1 drivers
v0x1d848a0_0 .net *"_s84", 33 0, L_0x1d9d8e0; 1 drivers
v0x1d84940_0 .net *"_s86", 2 0, C4<111>; 1 drivers
v0x1d84c40_0 .net *"_s88", 0 0, L_0x1d9da20; 1 drivers
v0x1d84ce0_0 .net *"_s90", 33 0, L_0x1d9db10; 1 drivers
v0x1d84ff0_0 .net *"_s93", 1 0, C4<00>; 1 drivers
v0x1d85090_0 .net *"_s94", 33 0, L_0x1d9dd40; 1 drivers
v0x1d853b0_0 .net *"_s97", 1 0, C4<00>; 1 drivers
v0x1d85450_0 .net *"_s98", 33 0, L_0x1d9dea0; 1 drivers
v0x1d85780_0 .alias "a", 31 0, v0x1d92850_0;
v0x1d85820_0 .alias "addcom", 0 0, v0x1d8cb10_0;
v0x1d854f0_0 .alias "b", 31 0, v0x1d928d0_0;
v0x1d85590_0 .alias "ext", 0 0, v0x1d8e1a0_0;
v0x1d85630_0 .alias "s", 2 0, v0x1d8e560_0;
v0x1d856d0_0 .alias/s "sa", 31 0, v0x1d92850_0;
v0x1d85b60_0 .alias/s "sb", 31 0, v0x1d928d0_0;
v0x1d85be0_0 .net "shamt", 4 0, L_0x1d99c60; 1 drivers
v0x1d85f30_0 .net/s "slt", 31 0, L_0x1d9bdf0; 1 drivers
v0x1d85fb0_0 .net "sltu", 31 0, L_0x1d4b650; 1 drivers
v0x1d86330_0 .net/s "sy", 31 0, L_0x1d9ba20; 1 drivers
v0x1d863d0_0 .alias "y", 31 0, v0x1d93b00_0;
v0x1d86760_0 .net "yy", 31 0, L_0x1da0ca0; 1 drivers
L_0x1d99c60 .part L_0x1d998c0, 0, 5;
L_0x1d9ba20 .shift/rs 32, L_0x1d99d00, L_0x1d99c60;
L_0x1d9bb50 .cmp/gt 32, L_0x1d998c0, L_0x1d99d00;
L_0x1d4b650 .functor MUXZ 32, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000001>, L_0x1d9bb50, C4<>;
L_0x1d9bcd0 .cmp/gt.s 32, L_0x1d998c0, L_0x1d99d00;
L_0x1d9bdf0 .functor MUXZ 32, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000001>, L_0x1d9bcd0, C4<>;
L_0x1d9bfc0 .arith/sum 32, L_0x1d99d00, L_0x1d998c0;
L_0x1d9c060 .functor MUXZ 32, L_0x1da0ca0, L_0x1d9bfc0, L_0x1d9b020, C4<>;
L_0x1d9c1e0 .cmp/eq 3, L_0x1d949e0, C4<000>;
L_0x1d9c380 .concat [ 32 2 0 0], L_0x1d99d00, C4<00>;
L_0x1d9c5d0 .concat [ 32 2 0 0], L_0x1d998c0, C4<00>;
L_0x1d9c810 .arith/sub 34, L_0x1d9c380, L_0x1d9c5d0;
L_0x1d9c990 .cmp/eq 3, L_0x1d949e0, C4<000>;
L_0x1d9cb30 .concat [ 32 2 0 0], L_0x1d99d00, C4<00>;
L_0x1d9cce0 .concat [ 32 2 0 0], L_0x1d998c0, C4<00>;
L_0x1d9ce10 .arith/sum 34, L_0x1d9cb30, L_0x1d9cce0;
L_0x1d9d020 .cmp/eq 3, L_0x1d949e0, C4<100>;
L_0x1d9d110 .concat [ 32 2 0 0], L_0x1d99d00, C4<00>;
L_0x1d9d2e0 .concat [ 32 2 0 0], L_0x1d998c0, C4<00>;
L_0x1d9d550 .cmp/eq 3, L_0x1d949e0, C4<110>;
L_0x1d9d1b0 .concat [ 32 2 0 0], L_0x1d99d00, C4<00>;
L_0x1d9d780 .concat [ 32 2 0 0], L_0x1d998c0, C4<00>;
L_0x1d9da20 .cmp/eq 3, L_0x1d949e0, C4<111>;
L_0x1d9db10 .concat [ 32 2 0 0], L_0x1d99d00, C4<00>;
L_0x1d9dd40 .concat [ 32 2 0 0], L_0x1d998c0, C4<00>;
L_0x1d9dfe0 .cmp/eq 3, L_0x1d949e0, C4<010>;
L_0x1d9e160 .concat [ 32 2 0 0], L_0x1d9bdf0, C4<00>;
L_0x1d9e320 .cmp/eq 3, L_0x1d949e0, C4<011>;
L_0x1d9e080 .concat [ 32 2 0 0], L_0x1d4b650, C4<00>;
L_0x1d9e5e0 .cmp/eq 3, L_0x1d949e0, C4<001>;
L_0x1d9e800 .concat [ 32 2 0 0], L_0x1d99d00, C4<00>;
L_0x1d9e960 .shift/l 34, L_0x1d9e800, L_0x1d99c60;
L_0x1d9eba0 .cmp/eq 3, L_0x1d949e0, C4<101>;
L_0x1d9eea0 .concat [ 32 2 0 0], L_0x1d99d00, C4<00>;
L_0x1d9f0b0 .shift/r 34, L_0x1d9eea0, L_0x1d99c60;
L_0x1d9f1e0 .cmp/eq 3, L_0x1d949e0, C4<101>;
L_0x1d9f490 .extend/s 34, L_0x1d9ba20;
L_0x1d9f5f0 .functor MUXZ 34, C4<0000000000000000000000000000000000>, L_0x1d9f490, L_0x1d9f3e0, C4<>;
L_0x1d9f8f0 .functor MUXZ 34, L_0x1d9f5f0, L_0x1d9f0b0, L_0x1d9ed20, C4<>;
L_0x1d9fa80 .functor MUXZ 34, L_0x1d9f8f0, L_0x1d9e960, L_0x1d9e5e0, C4<>;
L_0x1d9fd60 .functor MUXZ 34, L_0x1d9fa80, L_0x1d9e080, L_0x1d9e320, C4<>;
L_0x1d9fef0 .functor MUXZ 34, L_0x1d9fd60, L_0x1d9e160, L_0x1d9dfe0, C4<>;
L_0x1da01e0 .functor MUXZ 34, L_0x1d9fef0, L_0x1d9dea0, L_0x1d9da20, C4<>;
L_0x1da0370 .functor MUXZ 34, L_0x1da01e0, L_0x1d9d8e0, L_0x1d9d550, C4<>;
L_0x1da0670 .functor MUXZ 34, L_0x1da0370, L_0x1d9d410, L_0x1d9d020, C4<>;
L_0x1da0800 .functor MUXZ 34, L_0x1da0670, L_0x1d9ce10, L_0x1d9ca80, C4<>;
L_0x1da0b10 .functor MUXZ 34, L_0x1da0800, L_0x1d9c810, L_0x1d9c2d0, C4<>;
L_0x1da0ca0 .part L_0x1da0b10, 0, 32;
S_0x1d7df30 .scope module, "rfile_1" "rfile" 4 87, 6 2, S_0x1d7d5e0;
 .timescale -9 -12;
v0x1d7e020_0 .net *"_s1", 0 0, L_0x1da0f70; 1 drivers
v0x1d7e0a0_0 .net *"_s10", 31 0, C4<00000000000000000000000000000000>; 1 drivers
v0x1d7e140_0 .net *"_s12", 31 0, L_0x1da1350; 1 drivers
v0x1d7e1e0_0 .net *"_s17", 0 0, L_0x1da1570; 1 drivers
v0x1d7e290_0 .net *"_s18", 1 0, L_0x1da16e0; 1 drivers
v0x1d7e330_0 .net *"_s2", 1 0, L_0x1da1010; 1 drivers
v0x1d7e410_0 .net *"_s21", 0 0, C4<0>; 1 drivers
v0x1d7e4b0_0 .net *"_s22", 1 0, C4<00>; 1 drivers
v0x1d7e5a0_0 .net *"_s24", 0 0, L_0x1da1850; 1 drivers
v0x1d7e640_0 .net *"_s26", 31 0, C4<00000000000000000000000000000000>; 1 drivers
v0x1d7e740_0 .net *"_s28", 31 0, L_0x1da19e0; 1 drivers
v0x1d7e7e0_0 .net *"_s5", 0 0, C4<0>; 1 drivers
v0x1d7e8f0_0 .net *"_s6", 1 0, C4<00>; 1 drivers
v0x1d7e990_0 .net *"_s8", 0 0, L_0x1da11d0; 1 drivers
v0x1d7eab0_0 .alias "a1", 4 0, v0x1d919d0_0;
v0x1d7eb50_0 .alias "a2", 4 0, v0x1d91e50_0;
v0x1d7ea10_0 .alias "a3", 4 0, v0x1d909f0_0;
v0x1d7eca0_0 .alias "clk", 0 0, v0x1d8dd80_0;
v0x1d7edc0_0 .alias "rd1", 31 0, v0x1d90fa0_0;
v0x1d7ee60_0 .alias "rd2", 31 0, v0x1d91400_0;
v0x1d7efb0 .array "rf", 31 0, 31 0;
v0x1d7f030_0 .alias "wd3", 31 0, v0x1d91920_0;
v0x1d7ef00_0 .alias "we3", 0 0, v0x1d92360_0;
L_0x1da0f70 .reduce/or L_0x1d948f0;
L_0x1da1010 .concat [ 1 1 0 0], L_0x1da0f70, C4<0>;
L_0x1da11d0 .cmp/eq 2, L_0x1da1010, C4<00>;
L_0x1da1350 .array/port v0x1d7efb0, L_0x1d948f0;
L_0x1da13f0 .functor MUXZ 32, L_0x1da1350, C4<00000000000000000000000000000000>, L_0x1da11d0, C4<>;
L_0x1da1570 .reduce/or L_0x1d7cd40;
L_0x1da16e0 .concat [ 1 1 0 0], L_0x1da1570, C4<0>;
L_0x1da1850 .cmp/eq 2, L_0x1da16e0, C4<00>;
L_0x1da19e0 .array/port v0x1d7efb0, L_0x1d7cd40;
L_0x1da1a80 .functor MUXZ 32, L_0x1da19e0, C4<00000000000000000000000000000000>, L_0x1da1850, C4<>;
S_0x1d7bfb0 .scope module, "cache_1" "cache" 2 25, 7 8, S_0x1d5a100;
 .timescale -9 -12;
L_0x1da2bd0 .functor AND 1, L_0x1da2a40, L_0x1da2ae0, C4<1>, C4<1>;
L_0x1da2cd0 .functor OR 1, L_0x1da2910, L_0x1da2bd0, C4<0>, C4<0>;
L_0x1da2dd0 .functor AND 1, L_0x1d55d30, L_0x1da2cd0, C4<1>, C4<1>;
L_0x1da2ff0 .functor AND 1, L_0x1da2ec0, L_0x1da3140, C4<1>, C4<1>;
L_0x1da31a0 .functor OR 1, L_0x1da2ff0, L_0x1da30a0, C4<0>, C4<0>;
L_0x1da3250 .functor AND 1, L_0x1d55d30, L_0x1da31a0, C4<1>, C4<1>;
L_0x1da3140 .functor AND 1, L_0x1da3540, L_0x1da3aa0, C4<1>, C4<1>;
L_0x1da3e10 .functor BUFZ 32, L_0x1da3d20, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>;
v0x1d7c0a0_0 .net *"_s1", 0 0, L_0x1da2460; 1 drivers
v0x1d7c160_0 .net *"_s11", 0 0, L_0x1da2910; 1 drivers
v0x1d7c200_0 .net *"_s13", 0 0, L_0x1da2a40; 1 drivers
v0x1d7c2a0_0 .net *"_s15", 0 0, L_0x1da2ae0; 1 drivers
v0x1d7c350_0 .net *"_s16", 0 0, L_0x1da2bd0; 1 drivers
v0x1d7c3f0_0 .net *"_s18", 0 0, L_0x1da2cd0; 1 drivers
v0x1d7c490_0 .net *"_s23", 0 0, L_0x1da2ec0; 1 drivers
v0x1d7c530_0 .net *"_s24", 0 0, L_0x1da2ff0; 1 drivers
v0x1d7c620_0 .net *"_s27", 0 0, L_0x1da30a0; 1 drivers
v0x1d7c6c0_0 .net *"_s28", 0 0, L_0x1da31a0; 1 drivers
v0x1d7c760_0 .net *"_s3", 2 0, L_0x1da2500; 1 drivers
v0x1d7c800_0 .net *"_s32", 5 0, L_0x1da3340; 1 drivers
v0x1d7c910_0 .net *"_s35", 2 0, L_0x1da33e0; 1 drivers
v0x1d7c9b0_0 .net *"_s37", 0 0, L_0x1da3540; 1 drivers
v0x1d7cad0_0 .net *"_s38", 5 0, L_0x1da3630; 1 drivers
v0x1d7cb70_0 .net *"_s4", 5 0, L_0x1da25a0; 1 drivers
v0x1d7ca30_0 .net *"_s41", 2 0, L_0x1da3750; 1 drivers
v0x1d7ccc0_0 .net *"_s43", 3 0, L_0x1da38d0; 1 drivers
v0x1d7ce00_0 .net *"_s45", 3 0, L_0x1da3a00; 1 drivers
v0x1d7cea0_0 .net *"_s46", 0 0, L_0x1da3aa0; 1 drivers
v0x1d7cff0_0 .net *"_s50", 31 0, L_0x1da3d20; 1 drivers
v0x1d7d070_0 .net *"_s7", 5 0, L_0x1da2690; 1 drivers
v0x1d7cf20_0 .net "addr", 9 0, L_0x1da3ec0; 1 drivers
v0x1d7d1b0_0 .net "caddr", 5 0, L_0x1da2780; 1 drivers
v0x1d7d300_0 .alias "clk", 0 0, v0x1d8dd80_0;
v0x1d7d380 .array "cmem", 63 0, 31 0;
v0x1d7d4e0_0 .var "count", 2 0;
v0x1d7d560_0 .net "hit", 0 0, L_0x1da3140; 1 drivers
v0x1d7d400_0 .alias "mdata", 31 0, v0x1d93e50_0;
v0x1d7d6d0_0 .alias "mem_rdy", 0 0, v0x1d93ed0_0;
v0x1d7d850_0 .alias "mem_req", 0 0, v0x1d93fb0_0;
v0x1d7d8d0_0 .alias "odata", 31 0, v0x1d94170_0;
v0x1d7da60_0 .alias "rdy", 0 0, v0x1d94240_0;
v0x1d7dae0_0 .alias "req", 0 0, v0x1d94390_0;
v0x1d7dc80_0 .alias "rst_n", 0 0, v0x1d91f00_0;
v0x1d7dd00_0 .var "stat", 2 0;
v0x1d7deb0 .array "tag", 7 0, 5 0;
L_0x1da2460 .part v0x1d7dd00_0, 1, 1;
L_0x1da2500 .part L_0x1da3ec0, 3, 3;
L_0x1da25a0 .concat [ 3 3 0 0], v0x1d7d4e0_0, L_0x1da2500;
L_0x1da2690 .part L_0x1da3ec0, 0, 6;
L_0x1da2780 .functor MUXZ 6, L_0x1da2690, L_0x1da25a0, L_0x1da2460, C4<>;
L_0x1da2910 .part v0x1d7dd00_0, 1, 1;
L_0x1da2a40 .part v0x1d7dd00_0, 0, 1;
L_0x1da2ae0 .reduce/nor L_0x1da3140;
L_0x1da2ec0 .part v0x1d7dd00_0, 0, 1;
L_0x1da30a0 .part v0x1d7dd00_0, 2, 1;
L_0x1da3340 .array/port v0x1d7deb0, L_0x1da33e0;
L_0x1da33e0 .part L_0x1da3ec0, 3, 3;
L_0x1da3540 .part L_0x1da3340, 0, 1;
L_0x1da3630 .array/port v0x1d7deb0, L_0x1da3750;
L_0x1da3750 .part L_0x1da3ec0, 3, 3;
L_0x1da38d0 .part L_0x1da3630, 2, 4;
L_0x1da3a00 .part L_0x1da3ec0, 6, 4;
L_0x1da3aa0 .cmp/eq 4, L_0x1da38d0, L_0x1da3a00;
L_0x1da3d20 .array/port v0x1d7d380, L_0x1da2780;
S_0x1d23850 .scope module, "mmem_1" "mmem" 2 28, 8 1, S_0x1d5a100;
 .timescale -9 -12;
v0x1d60710_0 .net *"_s0", 31 0, L_0x1da3f60; 1 drivers
v0x1d7b520_0 .net *"_s3", 6 0, L_0x1da4000; 1 drivers
v0x1d7b5c0_0 .net *"_s4", 9 0, L_0x1da40a0; 1 drivers
v0x1d7b660_0 .net *"_s6", 31 0, C4<00000000000000000000000000000000>; 1 drivers
v0x1d7b710_0 .net "addr", 9 0, L_0x1da4320; 1 drivers
v0x1d7b7b0_0 .net "block", 0 0, C4<1>; 1 drivers
v0x1d7b890_0 .alias "clk", 0 0, v0x1d8dd80_0;
v0x1d7b930_0 .var "count", 2 0;
v0x1d7ba20_0 .alias "datain", 31 0, v0x1d94570_0;
v0x1d7bac0_0 .alias "dataout", 31 0, v0x1d93e50_0;
v0x1d7bbc0 .array "mem", 1023 0, 31 0;
v0x1d7bc40_0 .var "rdy", 0 0;
v0x1d7bd50_0 .alias "req", 0 0, v0x1d93fb0_0;
v0x1d7bdf0_0 .alias "rst_n", 0 0, v0x1d91f00_0;
v0x1d7bf10_0 .net "we", 0 0, C4<0>; 1 drivers
E_0x1d23100 .event posedge, v0x1d7b890_0;
E_0x1d56620/0 .event negedge, v0x1d7bdf0_0;
E_0x1d56620/1 .event posedge, v0x1d7b890_0;
E_0x1d56620 .event/or E_0x1d56620/0, E_0x1d56620/1;
L_0x1da3f60 .array/port v0x1d7bbc0, L_0x1da40a0;
L_0x1da4000 .part L_0x1da4320, 3, 7;
L_0x1da40a0 .concat [ 3 7 0 0], v0x1d7b930_0, L_0x1da4000;
L_0x1da41e0 .functor MUXZ 32, C4<00000000000000000000000000000000>, L_0x1da3f60, v0x1d7bc40_0, C4<>;
    .scope S_0x1d87e00;
T_0 ;
    %vpi_call 3 12 "$readmemh", "imem.dat", v0x1d93900;
    %end;
    .thread T_0;
    .scope S_0x1d7df30;
T_1 ;
    %wait E_0x1d23100;
    %load/v 8, v0x1d7ef00_0, 1;
    %jmp/0xz  T_1.0, 8;
    %load/v 8, v0x1d7f030_0, 32;
    %ix/getv 3, v0x1d7ea10_0;
    %jmp/1 t_0, 4;
    %ix/load 0, 32, 0; word width
    %ix/load 1, 0, 0; part off
    %assign/av v0x1d7efb0, 0, 8;
t_0 ;
T_1.0 ;
    %jmp T_1;
    .thread T_1;
    .scope S_0x1d7d5e0;
T_2 ;
    %wait E_0x1d56620;
    %load/v 8, v0x1d91f00_0, 1;
    %inv 8, 1;
    %jmp/0xz  T_2.0, 8;
    %ix/load 0, 32, 0;
    %assign/v0 v0x1d90520_0, 0, 0;
    %jmp T_2.1;
T_2.0 ;
    %load/v 8, v0x1d8f7b0_0, 1;
    %load/v 9, v0x1d8d0e0_0, 1;
    %load/v 10, v0x1d90fa0_0, 32;
    %load/v 42, v0x1d91400_0, 32;
    %cmp/u 10, 42, 32;
    %mov 10, 4, 1;
    %and 9, 10, 1;
    %load/v 10, v0x1d8d950_0, 1;
    %load/v 11, v0x1d90fa0_0, 32;
    %load/v 43, v0x1d91400_0, 32;
    %cmp/u 11, 43, 32;
    %inv 4, 1;
    %mov 11, 4, 1;
    %and 10, 11, 1;
    %or 9, 10, 1;
    %load/v 10, v0x1d8d530_0, 1;
    %load/v 11, v0x1d92d50_0, 32;
    %load/v 43, v0x1d92dd0_0, 32;
    %cmp/s 11, 43, 32;
    %mov 11, 5, 1;
    %and 10, 11, 1;
    %or 9, 10, 1;
    %load/v 10, v0x1d8d160_0, 1;
    %load/v 11, v0x1d92dd0_0, 32;
    %load/v 43, v0x1d92d50_0, 32;
    %cmp/s 11, 43, 32;
    %or 5, 4, 1;
    %mov 11, 5, 1;
    %and 10, 11, 1;
    %or 9, 10, 1;
    %load/v 10, v0x1d8d8b0_0, 1;
    %load/v 11, v0x1d90fa0_0, 32;
    %load/v 43, v0x1d91400_0, 32;
    %cmp/u 11, 43, 32;
    %mov 11, 5, 1;
    %and 10, 11, 1;
    %or 9, 10, 1;
    %load/v 10, v0x1d8d4b0_0, 1;
    %load/v 11, v0x1d91400_0, 32;
    %load/v 43, v0x1d90fa0_0, 32;
    %cmp/u 11, 43, 32;
    %or 5, 4, 1;
    %mov 11, 5, 1;
    %and 10, 11, 1;
    %or 9, 10, 1;
    %or 8, 9, 1;
    %jmp/0xz  T_2.2, 8;
    %load/v 8, v0x1d8cc10_0, 32;
    %ix/load 0, 32, 0;
    %assign/v0 v0x1d90520_0, 0, 8;
    %jmp T_2.3;
T_2.2 ;
    %load/v 8, v0x1d8fbb0_0, 1;
    %jmp/0xz  T_2.4, 8;
    %mov 8, 0, 1;
    %ix/load 1, 1, 0;
    %mov 4, 0, 1;
    %jmp/1 T_2.6, 4;
    %load/x1p 40, v0x1d8cc10_0, 31;
    %jmp T_2.7;
T_2.6 ;
    %mov 40, 2, 31;
T_2.7 ;
    %mov 9, 40, 31; Move signal select into place
    %ix/load 0, 32, 0;
    %assign/v0 v0x1d90520_0, 0, 8;
    %jmp T_2.5;
T_2.4 ;
    %load/v 8, v0x1d914b0_0, 1;
    %load/v 9, v0x1d90aa0_0, 1;
    %inv 9, 1;
    %and 8, 9, 1;
    %inv 8, 1;
    %jmp/0xz  T_2.8, 8;
    %load/v 8, v0x1d905c0_0, 32;
    %ix/load 0, 32, 0;
    %assign/v0 v0x1d90520_0, 0, 8;
T_2.8 ;
T_2.5 ;
T_2.3 ;
T_2.1 ;
    %jmp T_2;
    .thread T_2;
    .scope S_0x1d7bfb0;
T_3 ;
    %wait E_0x1d56620;
    %load/v 8, v0x1d7dc80_0, 1;
    %inv 8, 1;
    %jmp/0xz  T_3.0, 8;
    %movi 8, 1, 3;
    %ix/load 0, 3, 0;
    %assign/v0 v0x1d7dd00_0, 0, 8;
    %jmp T_3.1;
T_3.0 ;
    %load/v 8, v0x1d7dd00_0, 3;
    %cmpi/u 8, 1, 3;
    %jmp/1 T_3.2, 6;
    %cmpi/u 8, 2, 3;
    %jmp/1 T_3.3, 6;
    %cmpi/u 8, 4, 3;
    %jmp/1 T_3.4, 6;
    %jmp T_3.5;
T_3.2 ;
    %load/v 8, v0x1d7dae0_0, 1;
    %load/v 9, v0x1d7d560_0, 1;
    %inv 9, 1;
    %and 8, 9, 1;
    %jmp/0xz  T_3.6, 8;
    %movi 8, 2, 3;
    %ix/load 0, 3, 0;
    %assign/v0 v0x1d7dd00_0, 0, 8;
    %ix/load 0, 3, 0;
    %assign/v0 v0x1d7d4e0_0, 0, 0;
T_3.6 ;
    %jmp T_3.5;
T_3.3 ;
    %load/v 8, v0x1d7d6d0_0, 1;
    %jmp/0xz  T_3.8, 8;
    %load/v 8, v0x1d7d4e0_0, 3;
    %mov 11, 0, 29;
    %addi 8, 1, 32;
    %ix/load 0, 3, 0;
    %assign/v0 v0x1d7d4e0_0, 0, 8;
    %load/v 8, v0x1d7d4e0_0, 3;
    %cmpi/u 8, 7, 3;
    %jmp/0xz  T_3.10, 4;
    %movi 8, 4, 3;
    %ix/load 0, 3, 0;
    %assign/v0 v0x1d7dd00_0, 0, 8;
T_3.10 ;
T_3.8 ;
    %jmp T_3.5;
T_3.4 ;
    %movi 8, 1, 3;
    %ix/load 0, 3, 0;
    %assign/v0 v0x1d7dd00_0, 0, 8;
    %jmp T_3.5;
T_3.5 ;
T_3.1 ;
    %jmp T_3;
    .thread T_3;
    .scope S_0x1d7bfb0;
T_4 ;
    %wait E_0x1d23100;
    %ix/load 1, 1, 0;
    %mov 4, 0, 1;
    %jmp/1 T_4.0, 4;
    %load/x1p 8, v0x1d7dd00_0, 1;
    %jmp T_4.1;
T_4.0 ;
    %mov 8, 2, 1;
T_4.1 ;
; Save base=8 wid=1 in lookaside.
    %load/v 9, v0x1d7d6d0_0, 1;
    %and 8, 9, 1;
    %jmp/0xz  T_4.2, 8;
    %load/v 8, v0x1d7d400_0, 32;
    %ix/getv 3, v0x1d7d1b0_0;
    %jmp/1 t_1, 4;
    %ix/load 0, 32, 0; word width
    %ix/load 1, 0, 0; part off
    %assign/av v0x1d7d380, 0, 8;
t_1 ;
T_4.2 ;
    %jmp T_4;
    .thread T_4;
    .scope S_0x1d7bfb0;
T_5 ;
    %wait E_0x1d23100;
    %ix/load 1, 1, 0;
    %mov 4, 0, 1;
    %jmp/1 T_5.0, 4;
    %load/x1p 8, v0x1d7dd00_0, 1;
    %jmp T_5.1;
T_5.0 ;
    %mov 8, 2, 1;
T_5.1 ;
; Save base=8 wid=1 in lookaside.
    %load/v 9, v0x1d7d4e0_0, 3;
    %cmpi/u 9, 7, 3;
    %mov 9, 4, 1;
    %and 8, 9, 1;
    %jmp/0xz  T_5.2, 8;
    %movi 14, 1, 2;
    %mov 8, 14, 2;
    %ix/load 1, 6, 0;
    %mov 4, 0, 1;
    %jmp/1 T_5.4, 4;
    %load/x1p 16, v0x1d7cf20_0, 4;
    %jmp T_5.5;
T_5.4 ;
    %mov 16, 2, 4;
T_5.5 ;
    %mov 10, 16, 4; Move signal select into place
    %ix/load 1, 3, 0;
    %mov 4, 0, 1;
    %jmp/1 T_5.6, 4;
    %load/x1p 16, v0x1d7cf20_0, 3;
    %jmp T_5.7;
T_5.6 ;
    %mov 16, 2, 3;
T_5.7 ;
; Save base=16 wid=3 in lookaside.
    %ix/get 3, 16, 3;
    %jmp/1 t_2, 4;
    %ix/load 0, 6, 0; word width
    %ix/load 1, 0, 0; part off
    %assign/av v0x1d7deb0, 0, 8;
t_2 ;
T_5.2 ;
    %jmp T_5;
    .thread T_5;
    .scope S_0x1d23850;
T_6 ;
    %wait E_0x1d56620;
    %load/v 8, v0x1d7bdf0_0, 1;
    %inv 8, 1;
    %jmp/0xz  T_6.0, 8;
    %ix/load 0, 1, 0;
    %assign/v0 v0x1d7bc40_0, 0, 0;
    %jmp T_6.1;
T_6.0 ;
    %load/v 8, v0x1d7bd50_0, 1;
    %ix/load 0, 1, 0;
    %assign/v0 v0x1d7bc40_0, 0, 8;
T_6.1 ;
    %jmp T_6;
    .thread T_6;
    .scope S_0x1d23850;
T_7 ;
    %wait E_0x1d56620;
    %load/v 8, v0x1d7bdf0_0, 1;
    %inv 8, 1;
    %jmp/0xz  T_7.0, 8;
    %ix/load 0, 3, 0;
    %assign/v0 v0x1d7b930_0, 0, 0;
    %jmp T_7.1;
T_7.0 ;
    %load/v 8, v0x1d7bd50_0, 1;
    %inv 8, 1;
    %jmp/0xz  T_7.2, 8;
    %ix/load 0, 3, 0;
    %assign/v0 v0x1d7b930_0, 0, 0;
    %jmp T_7.3;
T_7.2 ;
    %load/v 8, v0x1d7bc40_0, 1;
    %load/v 9, v0x1d7b7b0_0, 1;
    %and 8, 9, 1;
    %load/v 9, v0x1d7b930_0, 3;
    %cmpi/u 9, 7, 3;
    %inv 4, 1;
    %mov 9, 4, 1;
    %and 8, 9, 1;
    %jmp/0xz  T_7.4, 8;
    %load/v 8, v0x1d7b930_0, 3;
    %mov 11, 0, 29;
    %addi 8, 1, 32;
    %ix/load 0, 3, 0;
    %assign/v0 v0x1d7b930_0, 0, 8;
T_7.4 ;
T_7.3 ;
T_7.1 ;
    %jmp T_7;
    .thread T_7;
    .scope S_0x1d23850;
T_8 ;
    %wait E_0x1d23100;
    %load/v 8, v0x1d7b7b0_0, 1;
    %load/v 9, v0x1d7bc40_0, 1;
    %and 8, 9, 1;
    %load/v 9, v0x1d7bf10_0, 1;
    %and 8, 9, 1;
    %jmp/0xz  T_8.0, 8;
    %load/v 8, v0x1d7ba20_0, 32;
    %load/v 40, v0x1d7b930_0, 3;
    %ix/load 1, 3, 0;
    %mov 4, 0, 1;
    %jmp/1 T_8.2, 4;
    %load/x1p 50, v0x1d7b710_0, 7;
    %jmp T_8.3;
T_8.2 ;
    %mov 50, 2, 7;
T_8.3 ;
    %mov 43, 50, 7; Move signal select into place
    %ix/get 3, 40, 10;
    %jmp/1 t_3, 4;
    %ix/load 0, 32, 0; word width
    %ix/load 1, 0, 0; part off
    %assign/av v0x1d7bbc0, 0, 8;
t_3 ;
    %jmp T_8.1;
T_8.0 ;
    %load/v 8, v0x1d7b7b0_0, 1;
    %inv 8, 1;
    %load/v 9, v0x1d7bc40_0, 1;
    %and 8, 9, 1;
    %load/v 9, v0x1d7bf10_0, 1;
    %and 8, 9, 1;
    %jmp/0xz  T_8.4, 8;
    %load/v 8, v0x1d7ba20_0, 32;
    %ix/getv 3, v0x1d7b710_0;
    %jmp/1 t_4, 4;
    %ix/load 0, 32, 0; word width
    %ix/load 1, 0, 0; part off
    %assign/av v0x1d7bbc0, 0, 8;
t_4 ;
T_8.4 ;
T_8.1 ;
    %jmp T_8;
    .thread T_8;
    .scope S_0x1d5a100;
T_9 ;
    %delay 5000, 0;
    %load/v 8, v0x1d93a00_0, 1;
    %inv 8, 1;
    %ix/load 0, 1, 0;
    %assign/v0 v0x1d93a00_0, 0, 8;
    %jmp T_9;
    .thread T_9;
    .scope S_0x1d5a100;
T_10 ;
    %vpi_call 2 33 "$dumpfile", "rv32i.vcd";
    %vpi_call 2 34 "$dumpvars", 1'sb0, S_0x1d5a100;
    %vpi_call 2 35 "$readmemh", "imem.dat", v0x1d93d00;
    %vpi_call 2 36 "$readmemb", "tmem.dat", v0x1d7deb0;
    %vpi_call 2 37 "$readmemh", "dmem.dat", v0x1d7bbc0;
    %ix/load 0, 11, 0;
    %assign/v0 v0x1d93a80_0, 0, 0;
    %ix/load 0, 11, 0;
    %assign/v0 v0x1d942c0_0, 0, 0;
    %ix/load 0, 11, 0;
    %assign/v0 v0x1d93c00_0, 0, 0;
    %ix/load 0, 11, 0;
    %assign/v0 v0x1d94080_0, 0, 0;
    %ix/load 0, 1, 0;
    %assign/v0 v0x1d93a00_0, 0, 0;
    %ix/load 0, 1, 0;
    %assign/v0 v0x1d94460_0, 0, 0;
    %delay 2000, 0;
    %delay 10000, 0;
    %ix/load 0, 1, 0;
    %assign/v0 v0x1d94460_0, 0, 1;
    %delay 4000000, 0;
    %vpi_call 2 48 "$finish";
    %end;
    .thread T_10;
    .scope S_0x1d5a100;
T_11 ;
    %wait E_0x1d1e0c0;
    %load/v 8, v0x1d93a80_0, 11;
    %mov 19, 0, 21;
    %addi 8, 1, 32;
    %ix/load 0, 11, 0;
    %assign/v0 v0x1d93a80_0, 0, 8;
    %vpi_call 2 53 "$display", "count:%d pc:%h idatain:%h ", v0x1d93a80_0, v0x1d90520_0, v0x1d8f710_0;
    %vpi_call 2 54 "$display", "reg:%h %h %h %h %h %h %h | %h", &A<v0x1d7efb0, 1>, &A<v0x1d7efb0, 2>, &A<v0x1d7efb0, 3>, &A<v0x1d7efb0, 4>, &A<v0x1d7efb0, 5>, &A<v0x1d7efb0, 6>, &A<v0x1d7efb0, 7>, &A<v0x1d7efb0, 31>;
    %vpi_call 2 58 "$display", "cmem0-7:%h %h %h %h %h %h %h %h", &A<v0x1d7d380, 0>, &A<v0x1d7d380, 1>, &A<v0x1d7d380, 2>, &A<v0x1d7d380, 3>, &A<v0x1d7d380, 4>, &A<v0x1d7d380, 5>, &A<v0x1d7d380, 6>, &A<v0x1d7d380, 7>;
    %load/v 8, v0x1d94390_0, 1;
    %jmp/0xz  T_11.0, 8;
    %load/v 8, v0x1d7d560_0, 1;
    %jmp/0xz  T_11.2, 8;
    %vpi_call 2 64 "$display", "Dmem read %h: cache hit", v0x1d93b00_0;
    %load/v 8, v0x1d93c00_0, 11;
    %mov 19, 0, 21;
    %addi 8, 1, 32;
    %ix/load 0, 11, 0;
    %assign/v0 v0x1d93c00_0, 0, 8;
    %jmp T_11.3;
T_11.2 ;
    %load/v 8, v0x1d7bc40_0, 1;
    %inv 8, 1;
    %jmp/0xz  T_11.4, 8;
    %vpi_call 2 66 "$display", "cache miss wait";
    %load/v 8, v0x1d942c0_0, 11;
    %mov 19, 0, 21;
    %addi 8, 1, 32;
    %ix/load 0, 11, 0;
    %assign/v0 v0x1d942c0_0, 0, 8;
    %load/v 8, v0x1d94080_0, 11;
    %mov 19, 0, 21;
    %addi 8, 1, 32;
    %ix/load 0, 11, 0;
    %assign/v0 v0x1d94080_0, 0, 8;
    %jmp T_11.5;
T_11.4 ;
    %vpi_call 2 68 "$display", "Dmem read %h: cache miss", v0x1d93b00_0;
    %load/v 8, v0x1d942c0_0, 11;
    %mov 19, 0, 21;
    %addi 8, 1, 32;
    %ix/load 0, 11, 0;
    %assign/v0 v0x1d942c0_0, 0, 8;
T_11.5 ;
T_11.3 ;
T_11.0 ;
    %ix/load 1, 2, 0;
    %mov 4, 0, 1;
    %jmp/1 T_11.6, 4;
    %load/x1p 8, v0x1d7dd00_0, 1;
    %jmp T_11.7;
T_11.6 ;
    %mov 8, 2, 1;
T_11.7 ;
; Save base=8 wid=1 in lookaside.
    %jmp/0xz  T_11.8, 8;
    %vpi_call 2 69 "$display", "Cache fill";
T_11.8 ;
    %load/v 8, v0x1d93b80_0, 1;
    %jmp/0xz  T_11.10, 8;
    %vpi_call 2 71 "$display", "ecall detected: count=%d", v0x1d93a80_0;
    %vpi_call 2 72 "$display", "Clock Count: %d Wait Count: %d Hit:%d Miss:%d", v0x1d93a80_0, v0x1d942c0_0, v0x1d93c00_0, v0x1d94080_0;
    %vpi_call 2 73 "$finish";
T_11.10 ;
    %jmp T_11;
    .thread T_11;
# The file index is used to find the file name in the following table.
:file_names 9;
    "N/A";
    "<interactive>";
    "test_rv32i.v";
    "imem.v";
    "rv32i.v";
    "alu.v";
    "rfile.v";
    "cache.v";
    "mmem.v";
