#! /eda/oss-cad-suite/bin/vvp :ivl_version "13.0 (devel)" "(s20250103-25-g99580cd05)"; :ivl_delay_selection "TYPICAL"; :vpi_time_precision + 0; :vpi_module "/eda/oss-cad-suite/lib/ivl/system.vpi"; :vpi_module "/eda/oss-cad-suite/lib/ivl/vhdl_sys.vpi"; :vpi_module "/eda/oss-cad-suite/lib/ivl/vhdl_textio.vpi"; :vpi_module "/eda/oss-cad-suite/lib/ivl/v2005_math.vpi"; :vpi_module "/eda/oss-cad-suite/lib/ivl/va_math.vpi"; S_0x555594bc8e80 .scope module, "RISCV" "RISCV" 2 7; .timescale 0 0; .port_info 0 /INPUT 1 "clk"; .port_info 1 /INPUT 1 "reset"; .port_info 2 /INPUT 32 "dataIn"; .port_info 3 /OUTPUT 32 "dataOut"; .port_info 4 /OUTPUT 32 "address"; .port_info 5 /OUTPUT 1 "writeEnable"; L_0x555594c3e080 .functor BUFZ 32, v0x555594b41a80_0, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>, C4<00000000000000000000000000000000>; L_0x7f2e15f5b018 .functor BUFT 1, C4<00>, C4<0>, C4<0>, C4<0>; v0x555594c21f30_0 .net/2u *"_ivl_10", 1 0, L_0x7f2e15f5b018; 1 drivers v0x555594c22030_0 .net *"_ivl_100", 0 0, L_0x555594c40f60; 1 drivers v0x555594c220f0_0 .net *"_ivl_103", 0 0, L_0x555594c41180; 1 drivers v0x555594c221e0_0 .net *"_ivl_105", 10 0, L_0x555594c41430; 1 drivers v0x555594c222c0_0 .net *"_ivl_107", 0 0, L_0x555594c41050; 1 drivers v0x555594c223a0_0 .net *"_ivl_109", 7 0, L_0x555594c41660; 1 drivers v0x555594c22480_0 .net *"_ivl_111", 0 0, L_0x555594c41850; 1 drivers v0x555594c22560_0 .net *"_ivl_113", 9 0, L_0x555594c418f0; 1 drivers L_0x7f2e15f5bde0 .functor BUFT 1, C4<0>, C4<0>, C4<0>, C4<0>; v0x555594c22640_0 .net/2u *"_ivl_114", 0 0, L_0x7f2e15f5bde0; 1 drivers v0x555594c22720_0 .net *"_ivl_116", 31 0, L_0x555594c41af0; 1 drivers L_0x7f2e15f5be28 .functor BUFT 1, C4<010>, C4<0>, C4<0>, C4<0>; v0x555594c22800_0 .net/2u *"_ivl_118", 2 0, L_0x7f2e15f5be28; 1 drivers v0x555594c228e0_0 .net *"_ivl_12", 0 0, L_0x555594c27e70; 1 drivers v0x555594c229a0_0 .net *"_ivl_120", 0 0, L_0x555594c41d20; 1 drivers v0x555594c22a60_0 .net *"_ivl_123", 0 0, L_0x555594c41f80; 1 drivers v0x555594c22b40_0 .net *"_ivl_125", 19 0, L_0x555594c42020; 1 drivers v0x555594c22c20_0 .net *"_ivl_127", 6 0, L_0x555594c42290; 1 drivers v0x555594c22d00_0 .net *"_ivl_129", 4 0, L_0x555594c42330; 1 drivers v0x555594c22ef0_0 .net *"_ivl_130", 31 0, L_0x555594c42560; 1 drivers L_0x7f2e15f5be70 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>; v0x555594c22fd0_0 .net/2u *"_ivl_132", 31 0, L_0x7f2e15f5be70; 1 drivers v0x555594c230b0_0 .net *"_ivl_134", 31 0, L_0x555594c426f0; 1 drivers v0x555594c23190_0 .net *"_ivl_136", 31 0, L_0x555594c42a20; 1 drivers v0x555594c23270_0 .net *"_ivl_138", 31 0, L_0x555594c42bb0; 1 drivers L_0x7f2e15f5b060 .functor BUFT 1, C4<01>, C4<0>, C4<0>, C4<0>; v0x555594c23350_0 .net/2u *"_ivl_14", 1 0, L_0x7f2e15f5b060; 1 drivers v0x555594c23430_0 .net *"_ivl_140", 31 0, L_0x555594c42ef0; 1 drivers v0x555594c23510_0 .net *"_ivl_142", 31 0, L_0x555594c43080; 1 drivers v0x555594c235f0_0 .net *"_ivl_16", 0 0, L_0x555594c27ff0; 1 drivers L_0x7f2e15f5b0a8 .functor BUFT 1, C4<10>, C4<0>, C4<0>, C4<0>; v0x555594c236b0_0 .net/2u *"_ivl_18", 1 0, L_0x7f2e15f5b0a8; 1 drivers v0x555594c23790_0 .net *"_ivl_20", 0 0, L_0x555594c280e0; 1 drivers L_0x7f2e15f5b0f0 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>; v0x555594c23850_0 .net/2u *"_ivl_22", 31 0, L_0x7f2e15f5b0f0; 1 drivers v0x555594c23930_0 .net *"_ivl_24", 31 0, L_0x555594c382a0; 1 drivers v0x555594c23a10_0 .net *"_ivl_26", 31 0, L_0x555594c38410; 1 drivers L_0x7f2e15f5bac8 .functor BUFT 1, C4<00>, C4<0>, C4<0>, C4<0>; v0x555594c23af0_0 .net/2u *"_ivl_32", 1 0, L_0x7f2e15f5bac8; 1 drivers v0x555594c23bd0_0 .net *"_ivl_34", 0 0, L_0x555594c3f000; 1 drivers L_0x7f2e15f5bb10 .functor BUFT 1, C4<01>, C4<0>, C4<0>, C4<0>; v0x555594c23ea0_0 .net/2u *"_ivl_36", 1 0, L_0x7f2e15f5bb10; 1 drivers v0x555594c23f80_0 .net *"_ivl_38", 0 0, L_0x555594c3f0f0; 1 drivers L_0x7f2e15f5bb58 .functor BUFT 1, C4<10>, C4<0>, C4<0>, C4<0>; v0x555594c24040_0 .net/2u *"_ivl_40", 1 0, L_0x7f2e15f5bb58; 1 drivers v0x555594c24120_0 .net *"_ivl_42", 0 0, L_0x555594c3f260; 1 drivers L_0x7f2e15f5bba0 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>; v0x555594c241e0_0 .net/2u *"_ivl_44", 31 0, L_0x7f2e15f5bba0; 1 drivers v0x555594c242c0_0 .net *"_ivl_46", 31 0, L_0x555594c3f390; 1 drivers v0x555594c243a0_0 .net *"_ivl_48", 31 0, L_0x555594c3f5b0; 1 drivers L_0x7f2e15f5bbe8 .functor BUFT 1, C4<000>, C4<0>, C4<0>, C4<0>; v0x555594c24480_0 .net/2u *"_ivl_52", 2 0, L_0x7f2e15f5bbe8; 1 drivers v0x555594c24560_0 .net *"_ivl_54", 0 0, L_0x555594c3f920; 1 drivers L_0x7f2e15f5bc30 .functor BUFT 1, C4<100>, C4<0>, C4<0>, C4<0>; v0x555594c24620_0 .net/2u *"_ivl_56", 2 0, L_0x7f2e15f5bc30; 1 drivers v0x555594c24700_0 .net *"_ivl_58", 0 0, L_0x555594c3fa60; 1 drivers v0x555594c247c0_0 .net *"_ivl_61", 19 0, L_0x555594c3f790; 1 drivers L_0x7f2e15f5bc78 .functor BUFT 1, C4<000000000000>, C4<0>, C4<0>, C4<0>; v0x555594c248a0_0 .net/2u *"_ivl_62", 11 0, L_0x7f2e15f5bc78; 1 drivers v0x555594c24980_0 .net *"_ivl_64", 31 0, L_0x555594c3fc00; 1 drivers L_0x7f2e15f5bcc0 .functor BUFT 1, C4<001>, C4<0>, C4<0>, C4<0>; v0x555594c24a60_0 .net/2u *"_ivl_66", 2 0, L_0x7f2e15f5bcc0; 1 drivers v0x555594c24b40_0 .net *"_ivl_68", 0 0, L_0x555594c3fe00; 1 drivers v0x555594c24c00_0 .net *"_ivl_71", 0 0, L_0x555594c3fea0; 1 drivers v0x555594c24ce0_0 .net *"_ivl_73", 19 0, L_0x555594c40010; 1 drivers v0x555594c24dc0_0 .net *"_ivl_75", 11 0, L_0x555594c40100; 1 drivers v0x555594c24ea0_0 .net *"_ivl_76", 31 0, L_0x555594c40280; 1 drivers L_0x7f2e15f5bd08 .functor BUFT 1, C4<011>, C4<0>, C4<0>, C4<0>; v0x555594c24f80_0 .net/2u *"_ivl_78", 2 0, L_0x7f2e15f5bd08; 1 drivers v0x555594c25060_0 .net *"_ivl_80", 0 0, L_0x555594c403c0; 1 drivers v0x555594c25120_0 .net *"_ivl_83", 0 0, L_0x555594c405a0; 1 drivers v0x555594c25200_0 .net *"_ivl_85", 18 0, L_0x555594c40640; 1 drivers v0x555594c252e0_0 .net *"_ivl_87", 0 0, L_0x555594c40830; 1 drivers v0x555594c253c0_0 .net *"_ivl_89", 0 0, L_0x555594c408d0; 1 drivers v0x555594c254a0_0 .net *"_ivl_91", 5 0, L_0x555594c40a80; 1 drivers v0x555594c25580_0 .net *"_ivl_93", 3 0, L_0x555594c40b20; 1 drivers L_0x7f2e15f5bd50 .functor BUFT 1, C4<0>, C4<0>, C4<0>, C4<0>; v0x555594c25660_0 .net/2u *"_ivl_94", 0 0, L_0x7f2e15f5bd50; 1 drivers v0x555594c25740_0 .net *"_ivl_96", 31 0, L_0x555594c40ce0; 1 drivers L_0x7f2e15f5bd98 .functor BUFT 1, C4<101>, C4<0>, C4<0>, C4<0>; v0x555594c25820_0 .net/2u *"_ivl_98", 2 0, L_0x7f2e15f5bd98; 1 drivers v0x555594c25900_0 .net "address", 31 0, L_0x555594c276d0; 1 drivers v0x555594c25df0_0 .net "addressIsPc", 0 0, v0x555594c16700_0; 1 drivers v0x555594c25e90_0 .net "aluInputA", 31 0, L_0x555594c3f6f0; 1 drivers v0x555594c25f60_0 .net "aluInputB", 31 0, L_0x555594c433d0; 1 drivers v0x555594c26030_0 .net "aluOperation", 3 0, v0x555594c168a0_0; 1 drivers v0x555594c260d0_0 .net "aluResult", 31 0, v0x555594b41a80_0; 1 drivers v0x555594c261e0_0 .net "aluSrcA", 1 0, v0x555594c16940_0; 1 drivers v0x555594c262a0_0 .net "aluSrcB", 2 0, v0x555594c16a00_0; 1 drivers o0x7f2e15fa42b8 .functor BUFZ 1, c4; HiZ drive v0x555594c26340_0 .net "clk", 0 0, o0x7f2e15fa42b8; 0 drivers v0x555594c263e0_0 .net "dataAddress", 31 0, L_0x555594c3e080; 1 drivers o0x7f2e15fa4dc8 .functor BUFZ 32, c4; HiZ drive v0x555594c264a0_0 .net "dataIn", 31 0, o0x7f2e15fa4dc8; 0 drivers v0x555594c26560_0 .net "dataOut", 31 0, L_0x555594c3b250; 1 drivers v0x555594c26650_0 .net "incrementPc", 0 0, v0x555594c16fe0_0; 1 drivers v0x555594c26740_0 .var "ir", 31 0; v0x555594c267e0_0 .net "irWriteEnable", 0 0, v0x555594c17180_0; 1 drivers v0x555594c268b0_0 .net "lsReadDataOut", 31 0, L_0x555594c3de00; 1 drivers v0x555594c269a0_0 .net "pcAddress", 31 0, v0x555594c20030_0; 1 drivers v0x555594c26a40_0 .net "pcPrevAddress", 31 0, v0x555594c200d0_0; 1 drivers v0x555594c26b10_0 .net "pcWriteEnable", 0 0, v0x555594c17320_0; 1 drivers v0x555594c26c00_0 .net "readLen", 1 0, v0x555594c173e0_0; 1 drivers v0x555594c26cf0_0 .net "readSignExtend", 0 0, v0x555594c174c0_0; 1 drivers v0x555594c26d90_0 .net "regDataIn", 31 0, L_0x555594c38560; 1 drivers v0x555594c26e50_0 .net "regDataSrc", 1 0, v0x555594c17690_0; 1 drivers v0x555594c26ef0_0 .net "regRd", 4 0, L_0x555594c27d80; 1 drivers v0x555594c26fc0_0 .net "regRs1", 4 0, L_0x555594c27bc0; 1 drivers v0x555594c27090_0 .net "regRs2", 4 0, L_0x555594c27c60; 1 drivers v0x555594c27160_0 .net "regWriteEnable", 0 0, v0x555594c17770_0; 1 drivers o0x7f2e15fa4528 .functor BUFZ 1, c4; HiZ drive v0x555594c27200_0 .net "reset", 0 0, o0x7f2e15fa4528; 0 drivers v0x555594c272f0_0 .net "rs1", 31 0, L_0x555594c3e750; 1 drivers v0x555594c27390_0 .net "rs2", 31 0, L_0x555594c3edd0; 1 drivers v0x555594c27480_0 .net "writeEnable", 0 0, v0x555594c179d0_0; 1 drivers v0x555594c27520_0 .net "writeLen", 1 0, v0x555594c17a90_0; 1 drivers L_0x555594c276d0 .functor MUXZ 32, L_0x555594c3e080, v0x555594c20030_0, v0x555594c16700_0, C4<>; L_0x555594c27af0 .part v0x555594b41a80_0, 0, 1; L_0x555594c27bc0 .part v0x555594c26740_0, 15, 5; L_0x555594c27c60 .part v0x555594c26740_0, 20, 5; L_0x555594c27d80 .part v0x555594c26740_0, 7, 5; L_0x555594c27e70 .cmp/eq 2, v0x555594c17690_0, L_0x7f2e15f5b018; L_0x555594c27ff0 .cmp/eq 2, v0x555594c17690_0, L_0x7f2e15f5b060; L_0x555594c280e0 .cmp/eq 2, v0x555594c17690_0, L_0x7f2e15f5b0a8; L_0x555594c382a0 .functor MUXZ 32, L_0x7f2e15f5b0f0, v0x555594c20030_0, L_0x555594c280e0, C4<>; L_0x555594c38410 .functor MUXZ 32, L_0x555594c382a0, L_0x555594c3de00, L_0x555594c27ff0, C4<>; L_0x555594c38560 .functor MUXZ 32, L_0x555594c38410, v0x555594b41a80_0, L_0x555594c27e70, C4<>; L_0x555594c3df90 .part L_0x555594c276d0, 0, 2; L_0x555594c3f000 .cmp/eq 2, v0x555594c16940_0, L_0x7f2e15f5bac8; L_0x555594c3f0f0 .cmp/eq 2, v0x555594c16940_0, L_0x7f2e15f5bb10; L_0x555594c3f260 .cmp/eq 2, v0x555594c16940_0, L_0x7f2e15f5bb58; L_0x555594c3f390 .functor MUXZ 32, L_0x7f2e15f5bba0, v0x555594c200d0_0, L_0x555594c3f260, C4<>; L_0x555594c3f5b0 .functor MUXZ 32, L_0x555594c3f390, v0x555594c20030_0, L_0x555594c3f0f0, C4<>; L_0x555594c3f6f0 .functor MUXZ 32, L_0x555594c3f5b0, L_0x555594c3e750, L_0x555594c3f000, C4<>; L_0x555594c3f920 .cmp/eq 3, v0x555594c16a00_0, L_0x7f2e15f5bbe8; L_0x555594c3fa60 .cmp/eq 3, v0x555594c16a00_0, L_0x7f2e15f5bc30; L_0x555594c3f790 .part v0x555594c26740_0, 12, 20; L_0x555594c3fc00 .concat [ 12 20 0 0], L_0x7f2e15f5bc78, L_0x555594c3f790; L_0x555594c3fe00 .cmp/eq 3, v0x555594c16a00_0, L_0x7f2e15f5bcc0; L_0x555594c3fea0 .part v0x555594c26740_0, 31, 1; L_0x555594c40010 .repeat 20, 20, L_0x555594c3fea0; L_0x555594c40100 .part v0x555594c26740_0, 20, 12; L_0x555594c40280 .concat [ 12 20 0 0], L_0x555594c40100, L_0x555594c40010; L_0x555594c403c0 .cmp/eq 3, v0x555594c16a00_0, L_0x7f2e15f5bd08; L_0x555594c405a0 .part v0x555594c26740_0, 31, 1; L_0x555594c40640 .repeat 19, 19, L_0x555594c405a0; L_0x555594c40830 .part v0x555594c26740_0, 31, 1; L_0x555594c408d0 .part v0x555594c26740_0, 7, 1; L_0x555594c40a80 .part v0x555594c26740_0, 25, 6; L_0x555594c40b20 .part v0x555594c26740_0, 8, 4; LS_0x555594c40ce0_0_0 .concat [ 1 4 6 1], L_0x7f2e15f5bd50, L_0x555594c40b20, L_0x555594c40a80, L_0x555594c408d0; LS_0x555594c40ce0_0_4 .concat [ 1 19 0 0], L_0x555594c40830, L_0x555594c40640; L_0x555594c40ce0 .concat [ 12 20 0 0], LS_0x555594c40ce0_0_0, LS_0x555594c40ce0_0_4; L_0x555594c40f60 .cmp/eq 3, v0x555594c16a00_0, L_0x7f2e15f5bd98; L_0x555594c41180 .part v0x555594c26740_0, 31, 1; L_0x555594c41430 .repeat 11, 11, L_0x555594c41180; L_0x555594c41050 .part v0x555594c26740_0, 31, 1; L_0x555594c41660 .part v0x555594c26740_0, 12, 8; L_0x555594c41850 .part v0x555594c26740_0, 20, 1; L_0x555594c418f0 .part v0x555594c26740_0, 21, 10; LS_0x555594c41af0_0_0 .concat [ 1 10 1 8], L_0x7f2e15f5bde0, L_0x555594c418f0, L_0x555594c41850, L_0x555594c41660; LS_0x555594c41af0_0_4 .concat [ 1 11 0 0], L_0x555594c41050, L_0x555594c41430; L_0x555594c41af0 .concat [ 20 12 0 0], LS_0x555594c41af0_0_0, LS_0x555594c41af0_0_4; L_0x555594c41d20 .cmp/eq 3, v0x555594c16a00_0, L_0x7f2e15f5be28; L_0x555594c41f80 .part v0x555594c26740_0, 31, 1; L_0x555594c42020 .repeat 20, 20, L_0x555594c41f80; L_0x555594c42290 .part v0x555594c26740_0, 25, 7; L_0x555594c42330 .part v0x555594c26740_0, 7, 5; L_0x555594c42560 .concat [ 5 7 20 0], L_0x555594c42330, L_0x555594c42290, L_0x555594c42020; L_0x555594c426f0 .functor MUXZ 32, L_0x7f2e15f5be70, L_0x555594c42560, L_0x555594c41d20, C4<>; L_0x555594c42a20 .functor MUXZ 32, L_0x555594c426f0, L_0x555594c41af0, L_0x555594c40f60, C4<>; L_0x555594c42bb0 .functor MUXZ 32, L_0x555594c42a20, L_0x555594c40ce0, L_0x555594c403c0, C4<>; L_0x555594c42ef0 .functor MUXZ 32, L_0x555594c42bb0, L_0x555594c40280, L_0x555594c3fe00, C4<>; L_0x555594c43080 .functor MUXZ 32, L_0x555594c42ef0, L_0x555594c3fc00, L_0x555594c3fa60, C4<>; L_0x555594c433d0 .functor MUXZ 32, L_0x555594c43080, L_0x555594c3edd0, L_0x555594c3f920, C4<>; S_0x555594beea80 .scope module, "alu" "ALU" 2 137, 3 7 0, S_0x555594bc8e80; .timescale 0 0; .port_info 0 /INPUT 32 "a"; .port_info 1 /INPUT 32 "b"; .port_info 2 /INPUT 4 "operation"; .port_info 3 /OUTPUT 32 "result"; v0x555594bfea20_0 .net "a", 31 0, L_0x555594c3f6f0; alias, 1 drivers v0x555594beb280_0 .net "b", 31 0, L_0x555594c433d0; alias, 1 drivers v0x555594bec3d0_0 .net "operation", 3 0, v0x555594c168a0_0; alias, 1 drivers v0x555594b41a80_0 .var "res", 31 0; v0x555594c15d80_0 .net "result", 31 0, v0x555594b41a80_0; alias, 1 drivers E_0x555594b67720 .event anyedge, v0x555594bec3d0_0, v0x555594bfea20_0, v0x555594beb280_0; S_0x555594c15ee0 .scope module, "ctrlUnit" "ControlUnit" 2 48, 4 7 0, S_0x555594bc8e80; .timescale 0 0; .port_info 0 /INPUT 1 "clk"; .port_info 1 /INPUT 1 "reset"; .port_info 2 /INPUT 32 "dataIn"; .port_info 3 /INPUT 32 "ir"; .port_info 4 /INPUT 1 "aluFlag"; .port_info 5 /OUTPUT 1 "writeEnable"; .port_info 6 /OUTPUT 1 "irWriteEnable"; .port_info 7 /OUTPUT 1 "addressIsPc"; .port_info 8 /OUTPUT 1 "incrementPc"; .port_info 9 /OUTPUT 2 "regDataSrc"; .port_info 10 /OUTPUT 1 "regWriteEnable"; .port_info 11 /OUTPUT 1 "pcWriteEnable"; .port_info 12 /OUTPUT 2 "aluSrcA"; .port_info 13 /OUTPUT 3 "aluSrcB"; .port_info 14 /OUTPUT 4 "aluOperation"; .port_info 15 /OUTPUT 2 "readLen"; .port_info 16 /OUTPUT 2 "writeLen"; .port_info 17 /OUTPUT 1 "readSignExtend"; P_0x555594b3fd30 .param/l "DECODE" 0 4 29, C4<010>; P_0x555594b3fd70 .param/l "EX1" 0 4 30, C4<011>; P_0x555594b3fdb0 .param/l "EX2" 0 4 31, C4<100>; P_0x555594b3fdf0 .param/l "EX3" 0 4 32, C4<101>; P_0x555594b3fe30 .param/l "EX4" 0 4 33, C4<110>; P_0x555594b3fe70 .param/l "FETCH0" 0 4 27, C4<000>; P_0x555594b3feb0 .param/l "FETCH1" 0 4 28, C4<001>; v0x555594c16700_0 .var "addressIsPc", 0 0; v0x555594c167e0_0 .net "aluFlag", 0 0, L_0x555594c27af0; 1 drivers v0x555594c168a0_0 .var "aluOperation", 3 0; v0x555594c16940_0 .var "aluSrcA", 1 0; v0x555594c16a00_0 .var "aluSrcB", 2 0; v0x555594c16b30_0 .var "branchTestTrue", 0 0; v0x555594c16bf0_0 .net "clk", 0 0, o0x7f2e15fa42b8; alias, 0 drivers v0x555594c16cb0_0 .net "dataIn", 31 0, L_0x555594c3de00; alias, 1 drivers v0x555594c16d90_0 .net "funct3", 2 0, L_0x555594c27830; 1 drivers v0x555594c16f00_0 .net "funct7", 6 0, L_0x555594c27920; 1 drivers v0x555594c16fe0_0 .var "incrementPc", 0 0; v0x555594c170a0_0 .net "ir", 31 0, v0x555594c26740_0; 1 drivers v0x555594c17180_0 .var "irWriteEnable", 0 0; v0x555594c17240_0 .net "opcode", 6 0, L_0x555594c279c0; 1 drivers v0x555594c17320_0 .var "pcWriteEnable", 0 0; v0x555594c173e0_0 .var "readLen", 1 0; v0x555594c174c0_0 .var "readSignExtend", 0 0; v0x555594c17690_0 .var "regDataSrc", 1 0; v0x555594c17770_0 .var "regWriteEnable", 0 0; v0x555594c17830_0 .net "reset", 0 0, o0x7f2e15fa4528; alias, 0 drivers v0x555594c178f0_0 .var "state", 2 0; v0x555594c179d0_0 .var "writeEnable", 0 0; v0x555594c17a90_0 .var "writeLen", 1 0; E_0x555594b67320 .event posedge, v0x555594c16bf0_0; L_0x555594c27830 .part v0x555594c26740_0, 12, 3; L_0x555594c27920 .part v0x555594c26740_0, 25, 7; L_0x555594c279c0 .part v0x555594c26740_0, 0, 7; S_0x555594c17e50 .scope module, "ls" "LoadStore" 2 84, 5 60 0, S_0x555594bc8e80; .timescale 0 0; .port_info 0 /INPUT 32 "dataIn"; .port_info 1 /INPUT 2 "offset"; .port_info 2 /INPUT 2 "readLen"; .port_info 3 /INPUT 1 "readSignExtend"; .port_info 4 /OUTPUT 32 "readDataOut"; .port_info 5 /INPUT 2 "writeLen"; .port_info 6 /INPUT 32 "writeDataIn"; .port_info 7 /OUTPUT 32 "writeDataOut"; v0x555594c1e5c0_0 .net *"_ivl_10", 0 0, L_0x555594c3b080; 1 drivers v0x555594c1e6a0_0 .net *"_ivl_12", 31 0, L_0x555594c3b1b0; 1 drivers L_0x7f2e15f5b7f8 .functor BUFT 1, C4<00>, C4<0>, C4<0>, C4<0>; v0x555594c1e780_0 .net/2u *"_ivl_16", 1 0, L_0x7f2e15f5b7f8; 1 drivers v0x555594c1e840_0 .net *"_ivl_18", 0 0, L_0x555594c3daa0; 1 drivers L_0x7f2e15f5b840 .functor BUFT 1, C4<01>, C4<0>, C4<0>, C4<0>; v0x555594c1e900_0 .net/2u *"_ivl_20", 1 0, L_0x7f2e15f5b840; 1 drivers v0x555594c1e9e0_0 .net *"_ivl_22", 0 0, L_0x555594c3db90; 1 drivers v0x555594c1eaa0_0 .net *"_ivl_24", 31 0, L_0x555594c3dd10; 1 drivers L_0x7f2e15f5b408 .functor BUFT 1, C4<00>, C4<0>, C4<0>, C4<0>; v0x555594c1eb80_0 .net/2u *"_ivl_4", 1 0, L_0x7f2e15f5b408; 1 drivers v0x555594c1ec60_0 .net *"_ivl_6", 0 0, L_0x555594c3afe0; 1 drivers L_0x7f2e15f5b450 .functor BUFT 1, C4<01>, C4<0>, C4<0>, C4<0>; v0x555594c1ed20_0 .net/2u *"_ivl_8", 1 0, L_0x7f2e15f5b450; 1 drivers v0x555594c1ee00_0 .net "byteReadOut", 31 0, L_0x555594c3c880; 1 drivers v0x555594c1eec0_0 .net "byteWriteOut", 31 0, L_0x555594c39ce0; 1 drivers v0x555594c1ef60_0 .net "dataIn", 31 0, o0x7f2e15fa4dc8; alias, 0 drivers v0x555594c1f090_0 .net "halfReadOut", 31 0, L_0x555594c3d890; 1 drivers v0x555594c1f150_0 .net "halfWriteOut", 31 0, L_0x555594c3ad60; 1 drivers v0x555594c1f220_0 .net "offset", 1 0, L_0x555594c3df90; 1 drivers v0x555594c1f350_0 .net "readDataOut", 31 0, L_0x555594c3de00; alias, 1 drivers v0x555594c1f550_0 .net "readLen", 1 0, v0x555594c173e0_0; alias, 1 drivers v0x555594c1f620_0 .net "readSignExtend", 0 0, v0x555594c174c0_0; alias, 1 drivers v0x555594c1f6c0_0 .net "writeDataIn", 31 0, L_0x555594c3edd0; alias, 1 drivers v0x555594c1f780_0 .net "writeDataOut", 31 0, L_0x555594c3b250; alias, 1 drivers v0x555594c1f860_0 .net "writeLen", 1 0, v0x555594c17a90_0; alias, 1 drivers L_0x555594c39ec0 .part L_0x555594c3edd0, 0, 8; L_0x555594c3af40 .part L_0x555594c3edd0, 0, 16; L_0x555594c3afe0 .cmp/eq 2, v0x555594c17a90_0, L_0x7f2e15f5b408; L_0x555594c3b080 .cmp/eq 2, v0x555594c17a90_0, L_0x7f2e15f5b450; L_0x555594c3b1b0 .functor MUXZ 32, L_0x555594c3edd0, L_0x555594c3ad60, L_0x555594c3b080, C4<>; L_0x555594c3b250 .functor MUXZ 32, L_0x555594c3b1b0, L_0x555594c39ce0, L_0x555594c3afe0, C4<>; L_0x555594c3daa0 .cmp/eq 2, v0x555594c173e0_0, L_0x7f2e15f5b7f8; L_0x555594c3db90 .cmp/eq 2, v0x555594c173e0_0, L_0x7f2e15f5b840; L_0x555594c3dd10 .functor MUXZ 32, o0x7f2e15fa4dc8, L_0x555594c3d890, L_0x555594c3db90, C4<>; L_0x555594c3de00 .functor MUXZ 32, L_0x555594c3dd10, L_0x555594c3c880, L_0x555594c3daa0, C4<>; S_0x555594c18140 .scope module, "br" "ByteReader" 5 95, 5 8 0, S_0x555594c17e50; .timescale 0 0; .port_info 0 /INPUT 2 "offset"; .port_info 1 /INPUT 1 "signExtend"; .port_info 2 /INPUT 32 "dataIn"; .port_info 3 /OUTPUT 32 "dataOut"; v0x555594c163f0_0 .net *"_ivl_0", 31 0, L_0x555594c3b420; 1 drivers v0x555594c18380_0 .net *"_ivl_10", 31 0, L_0x555594c3b800; 1 drivers L_0x7f2e15f5b528 .functor BUFT 1, C4<000000000000000000000000000000>, C4<0>, C4<0>, C4<0>; v0x555594c18460_0 .net *"_ivl_13", 29 0, L_0x7f2e15f5b528; 1 drivers L_0x7f2e15f5b570 .functor BUFT 1, C4<00000000000000000000000000000001>, C4<0>, C4<0>, C4<0>; v0x555594c18520_0 .net/2u *"_ivl_14", 31 0, L_0x7f2e15f5b570; 1 drivers v0x555594c18600_0 .net *"_ivl_16", 0 0, L_0x555594c3b8f0; 1 drivers v0x555594c18710_0 .net *"_ivl_19", 7 0, L_0x555594c3ba30; 1 drivers v0x555594c187f0_0 .net *"_ivl_20", 31 0, L_0x555594c3bb10; 1 drivers L_0x7f2e15f5b5b8 .functor BUFT 1, C4<000000000000000000000000000000>, C4<0>, C4<0>, C4<0>; v0x555594c188d0_0 .net *"_ivl_23", 29 0, L_0x7f2e15f5b5b8; 1 drivers L_0x7f2e15f5b600 .functor BUFT 1, C4<00000000000000000000000000000010>, C4<0>, C4<0>, C4<0>; v0x555594c189b0_0 .net/2u *"_ivl_24", 31 0, L_0x7f2e15f5b600; 1 drivers v0x555594c18b20_0 .net *"_ivl_26", 0 0, L_0x555594c3bc00; 1 drivers v0x555594c18be0_0 .net *"_ivl_29", 7 0, L_0x555594c3bd90; 1 drivers L_0x7f2e15f5b498 .functor BUFT 1, C4<000000000000000000000000000000>, C4<0>, C4<0>, C4<0>; v0x555594c18cc0_0 .net *"_ivl_3", 29 0, L_0x7f2e15f5b498; 1 drivers v0x555594c18da0_0 .net *"_ivl_31", 7 0, L_0x555594c3be30; 1 drivers v0x555594c18e80_0 .net *"_ivl_32", 7 0, L_0x555594c3bf30; 1 drivers v0x555594c18f60_0 .net *"_ivl_34", 7 0, L_0x555594c3c070; 1 drivers v0x555594c19040_0 .net *"_ivl_39", 0 0, L_0x555594c3c400; 1 drivers L_0x7f2e15f5b4e0 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>; v0x555594c19120_0 .net/2u *"_ivl_4", 31 0, L_0x7f2e15f5b4e0; 1 drivers v0x555594c19310_0 .net *"_ivl_41", 23 0, L_0x555594c3c570; 1 drivers v0x555594c193f0_0 .net *"_ivl_42", 31 0, L_0x555594c3c660; 1 drivers L_0x7f2e15f5b648 .functor BUFT 1, C4<000000000000000000000000>, C4<0>, C4<0>, C4<0>; v0x555594c194d0_0 .net/2u *"_ivl_44", 23 0, L_0x7f2e15f5b648; 1 drivers v0x555594c195b0_0 .net *"_ivl_46", 31 0, L_0x555594c3c7e0; 1 drivers v0x555594c19690_0 .net *"_ivl_6", 0 0, L_0x555594c3b620; 1 drivers v0x555594c19750_0 .net *"_ivl_9", 7 0, L_0x555594c3b760; 1 drivers v0x555594c19830_0 .net "byte", 7 0, L_0x555594c3c270; 1 drivers v0x555594c19910_0 .net "dataIn", 31 0, o0x7f2e15fa4dc8; alias, 0 drivers v0x555594c199f0_0 .net "dataOut", 31 0, L_0x555594c3c880; alias, 1 drivers v0x555594c19ad0_0 .net "offset", 1 0, L_0x555594c3df90; alias, 1 drivers v0x555594c19bb0_0 .net "signExtend", 0 0, v0x555594c174c0_0; alias, 1 drivers L_0x555594c3b420 .concat [ 2 30 0 0], L_0x555594c3df90, L_0x7f2e15f5b498; L_0x555594c3b620 .cmp/eq 32, L_0x555594c3b420, L_0x7f2e15f5b4e0; L_0x555594c3b760 .part o0x7f2e15fa4dc8, 0, 8; L_0x555594c3b800 .concat [ 2 30 0 0], L_0x555594c3df90, L_0x7f2e15f5b528; L_0x555594c3b8f0 .cmp/eq 32, L_0x555594c3b800, L_0x7f2e15f5b570; L_0x555594c3ba30 .part o0x7f2e15fa4dc8, 8, 8; L_0x555594c3bb10 .concat [ 2 30 0 0], L_0x555594c3df90, L_0x7f2e15f5b5b8; L_0x555594c3bc00 .cmp/eq 32, L_0x555594c3bb10, L_0x7f2e15f5b600; L_0x555594c3bd90 .part o0x7f2e15fa4dc8, 16, 8; L_0x555594c3be30 .part o0x7f2e15fa4dc8, 24, 8; L_0x555594c3bf30 .functor MUXZ 8, L_0x555594c3be30, L_0x555594c3bd90, L_0x555594c3bc00, C4<>; L_0x555594c3c070 .functor MUXZ 8, L_0x555594c3bf30, L_0x555594c3ba30, L_0x555594c3b8f0, C4<>; L_0x555594c3c270 .functor MUXZ 8, L_0x555594c3c070, L_0x555594c3b760, L_0x555594c3b620, C4<>; L_0x555594c3c400 .part L_0x555594c3c270, 7, 1; L_0x555594c3c570 .repeat 24, 24, L_0x555594c3c400; L_0x555594c3c660 .concat [ 8 24 0 0], L_0x555594c3c270, L_0x555594c3c570; L_0x555594c3c7e0 .concat [ 8 24 0 0], L_0x555594c3c270, L_0x7f2e15f5b648; L_0x555594c3c880 .functor MUXZ 32, L_0x555594c3c7e0, L_0x555594c3c660, v0x555594c174c0_0, C4<>; S_0x555594c19ce0 .scope module, "bw" "ByteWriter" 5 73, 5 35 0, S_0x555594c17e50; .timescale 0 0; .port_info 0 /INPUT 2 "offset"; .port_info 1 /INPUT 8 "writeData"; .port_info 2 /INPUT 32 "dataIn"; .port_info 3 /OUTPUT 32 "dataOut"; v0x555594c19e90_0 .net *"_ivl_0", 31 0, L_0x555594c38780; 1 drivers v0x555594c19f70_0 .net *"_ivl_10", 31 0, L_0x555594c38a50; 1 drivers v0x555594c1a050_0 .net *"_ivl_12", 31 0, L_0x555594c38b70; 1 drivers L_0x7f2e15f5b1c8 .functor BUFT 1, C4<000000000000000000000000000000>, C4<0>, C4<0>, C4<0>; v0x555594c1a140_0 .net *"_ivl_15", 29 0, L_0x7f2e15f5b1c8; 1 drivers L_0x7f2e15f5b210 .functor BUFT 1, C4<00000000000000000000000000000001>, C4<0>, C4<0>, C4<0>; v0x555594c1a220_0 .net/2u *"_ivl_16", 31 0, L_0x7f2e15f5b210; 1 drivers v0x555594c1a350_0 .net *"_ivl_18", 0 0, L_0x555594c38c60; 1 drivers v0x555594c1a410_0 .net *"_ivl_21", 15 0, L_0x555594c38de0; 1 drivers v0x555594c1a4f0_0 .net *"_ivl_23", 7 0, L_0x555594c38e80; 1 drivers v0x555594c1a5d0_0 .net *"_ivl_24", 31 0, L_0x555594c38f70; 1 drivers v0x555594c1a740_0 .net *"_ivl_26", 31 0, L_0x555594c39100; 1 drivers L_0x7f2e15f5b258 .functor BUFT 1, C4<000000000000000000000000000000>, C4<0>, C4<0>, C4<0>; v0x555594c1a820_0 .net *"_ivl_29", 29 0, L_0x7f2e15f5b258; 1 drivers L_0x7f2e15f5b138 .functor BUFT 1, C4<000000000000000000000000000000>, C4<0>, C4<0>, C4<0>; v0x555594c1a900_0 .net *"_ivl_3", 29 0, L_0x7f2e15f5b138; 1 drivers L_0x7f2e15f5b2a0 .functor BUFT 1, C4<00000000000000000000000000000010>, C4<0>, C4<0>, C4<0>; v0x555594c1a9e0_0 .net/2u *"_ivl_30", 31 0, L_0x7f2e15f5b2a0; 1 drivers v0x555594c1aac0_0 .net *"_ivl_32", 0 0, L_0x555594c39200; 1 drivers v0x555594c1ab80_0 .net *"_ivl_35", 7 0, L_0x555594c392f0; 1 drivers v0x555594c1ac60_0 .net *"_ivl_37", 15 0, L_0x555594c39400; 1 drivers v0x555594c1ad40_0 .net *"_ivl_38", 31 0, L_0x555594c394a0; 1 drivers L_0x7f2e15f5b180 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>; v0x555594c1af30_0 .net/2u *"_ivl_4", 31 0, L_0x7f2e15f5b180; 1 drivers v0x555594c1b010_0 .net *"_ivl_41", 23 0, L_0x555594c396c0; 1 drivers v0x555594c1b0f0_0 .net *"_ivl_42", 31 0, L_0x555594c39760; 1 drivers v0x555594c1b1d0_0 .net *"_ivl_44", 31 0, L_0x555594c39970; 1 drivers v0x555594c1b2b0_0 .net *"_ivl_46", 31 0, L_0x555594c39ab0; 1 drivers v0x555594c1b390_0 .net *"_ivl_6", 0 0, L_0x555594c38870; 1 drivers v0x555594c1b450_0 .net *"_ivl_9", 23 0, L_0x555594c389b0; 1 drivers v0x555594c1b530_0 .net "dataIn", 31 0, o0x7f2e15fa4dc8; alias, 0 drivers v0x555594c1b5f0_0 .net "dataOut", 31 0, L_0x555594c39ce0; alias, 1 drivers v0x555594c1b6b0_0 .net "offset", 1 0, L_0x555594c3df90; alias, 1 drivers v0x555594c1b7a0_0 .net "writeData", 7 0, L_0x555594c39ec0; 1 drivers L_0x555594c38780 .concat [ 2 30 0 0], L_0x555594c3df90, L_0x7f2e15f5b138; L_0x555594c38870 .cmp/eq 32, L_0x555594c38780, L_0x7f2e15f5b180; L_0x555594c389b0 .part o0x7f2e15fa4dc8, 8, 24; L_0x555594c38a50 .concat [ 8 24 0 0], L_0x555594c39ec0, L_0x555594c389b0; L_0x555594c38b70 .concat [ 2 30 0 0], L_0x555594c3df90, L_0x7f2e15f5b1c8; L_0x555594c38c60 .cmp/eq 32, L_0x555594c38b70, L_0x7f2e15f5b210; L_0x555594c38de0 .part o0x7f2e15fa4dc8, 16, 16; L_0x555594c38e80 .part o0x7f2e15fa4dc8, 0, 8; L_0x555594c38f70 .concat [ 8 8 16 0], L_0x555594c38e80, L_0x555594c39ec0, L_0x555594c38de0; L_0x555594c39100 .concat [ 2 30 0 0], L_0x555594c3df90, L_0x7f2e15f5b258; L_0x555594c39200 .cmp/eq 32, L_0x555594c39100, L_0x7f2e15f5b2a0; L_0x555594c392f0 .part o0x7f2e15fa4dc8, 24, 8; L_0x555594c39400 .part o0x7f2e15fa4dc8, 0, 16; L_0x555594c394a0 .concat [ 16 8 8 0], L_0x555594c39400, L_0x555594c39ec0, L_0x555594c392f0; L_0x555594c396c0 .part o0x7f2e15fa4dc8, 0, 24; L_0x555594c39760 .concat [ 24 8 0 0], L_0x555594c396c0, L_0x555594c39ec0; L_0x555594c39970 .functor MUXZ 32, L_0x555594c39760, L_0x555594c394a0, L_0x555594c39200, C4<>; L_0x555594c39ab0 .functor MUXZ 32, L_0x555594c39970, L_0x555594c38f70, L_0x555594c38c60, C4<>; L_0x555594c39ce0 .functor MUXZ 32, L_0x555594c39ab0, L_0x555594c38a50, L_0x555594c38870, C4<>; S_0x555594c1b910 .scope module, "hr" "HalfReader" 5 103, 5 22 0, S_0x555594c17e50; .timescale 0 0; .port_info 0 /INPUT 2 "offset"; .port_info 1 /INPUT 1 "signExtend"; .port_info 2 /INPUT 32 "dataIn"; .port_info 3 /OUTPUT 32 "dataOut"; v0x555594c1bad0_0 .net *"_ivl_0", 31 0, L_0x555594c3cab0; 1 drivers v0x555594c1bbb0_0 .net *"_ivl_10", 31 0, L_0x555594c3cd80; 1 drivers L_0x7f2e15f5b720 .functor BUFT 1, C4<000000000000000000000000000000>, C4<0>, C4<0>, C4<0>; v0x555594c1bc90_0 .net *"_ivl_13", 29 0, L_0x7f2e15f5b720; 1 drivers L_0x7f2e15f5b768 .functor BUFT 1, C4<00000000000000000000000000000001>, C4<0>, C4<0>, C4<0>; v0x555594c1bd80_0 .net/2u *"_ivl_14", 31 0, L_0x7f2e15f5b768; 1 drivers v0x555594c1be60_0 .net *"_ivl_16", 0 0, L_0x555594c3ce70; 1 drivers v0x555594c1bf70_0 .net *"_ivl_19", 15 0, L_0x555594c3cfb0; 1 drivers v0x555594c1c050_0 .net *"_ivl_21", 15 0, L_0x555594c3d090; 1 drivers v0x555594c1c130_0 .net *"_ivl_22", 15 0, L_0x555594c3d130; 1 drivers v0x555594c1c210_0 .net *"_ivl_27", 0 0, L_0x555594c3d4a0; 1 drivers v0x555594c1c380_0 .net *"_ivl_29", 15 0, L_0x555594c3d5f0; 1 drivers L_0x7f2e15f5b690 .functor BUFT 1, C4<000000000000000000000000000000>, C4<0>, C4<0>, C4<0>; v0x555594c1c460_0 .net *"_ivl_3", 29 0, L_0x7f2e15f5b690; 1 drivers v0x555594c1c540_0 .net *"_ivl_30", 31 0, L_0x555594c3d690; 1 drivers L_0x7f2e15f5b7b0 .functor BUFT 1, C4<0000000000000000>, C4<0>, C4<0>, C4<0>; v0x555594c1c620_0 .net/2u *"_ivl_32", 15 0, L_0x7f2e15f5b7b0; 1 drivers v0x555594c1c700_0 .net *"_ivl_34", 31 0, L_0x555594c3d7f0; 1 drivers L_0x7f2e15f5b6d8 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>; v0x555594c1c7e0_0 .net/2u *"_ivl_4", 31 0, L_0x7f2e15f5b6d8; 1 drivers v0x555594c1c8c0_0 .net *"_ivl_6", 0 0, L_0x555594c3cba0; 1 drivers v0x555594c1c980_0 .net *"_ivl_9", 15 0, L_0x555594c3cce0; 1 drivers v0x555594c1cb70_0 .net "dataIn", 31 0, o0x7f2e15fa4dc8; alias, 0 drivers v0x555594c1cc30_0 .net "dataOut", 31 0, L_0x555594c3d890; alias, 1 drivers v0x555594c1cd10_0 .net "half", 15 0, L_0x555594c3d310; 1 drivers v0x555594c1cdf0_0 .net "offset", 1 0, L_0x555594c3df90; alias, 1 drivers v0x555594c1cf00_0 .net "signExtend", 0 0, v0x555594c174c0_0; alias, 1 drivers L_0x555594c3cab0 .concat [ 2 30 0 0], L_0x555594c3df90, L_0x7f2e15f5b690; L_0x555594c3cba0 .cmp/eq 32, L_0x555594c3cab0, L_0x7f2e15f5b6d8; L_0x555594c3cce0 .part o0x7f2e15fa4dc8, 0, 16; L_0x555594c3cd80 .concat [ 2 30 0 0], L_0x555594c3df90, L_0x7f2e15f5b720; L_0x555594c3ce70 .cmp/eq 32, L_0x555594c3cd80, L_0x7f2e15f5b768; L_0x555594c3cfb0 .part o0x7f2e15fa4dc8, 8, 16; L_0x555594c3d090 .part o0x7f2e15fa4dc8, 16, 16; L_0x555594c3d130 .functor MUXZ 16, L_0x555594c3d090, L_0x555594c3cfb0, L_0x555594c3ce70, C4<>; L_0x555594c3d310 .functor MUXZ 16, L_0x555594c3d130, L_0x555594c3cce0, L_0x555594c3cba0, C4<>; L_0x555594c3d4a0 .part L_0x555594c3d310, 15, 1; L_0x555594c3d5f0 .repeat 16, 16, L_0x555594c3d4a0; L_0x555594c3d690 .concat [ 16 16 0 0], L_0x555594c3d310, L_0x555594c3d5f0; L_0x555594c3d7f0 .concat [ 16 16 0 0], L_0x555594c3d310, L_0x7f2e15f5b7b0; L_0x555594c3d890 .functor MUXZ 32, L_0x555594c3d7f0, L_0x555594c3d690, v0x555594c174c0_0, C4<>; S_0x555594c1d070 .scope module, "hw" "HalfWriter" 5 81, 5 47 0, S_0x555594c17e50; .timescale 0 0; .port_info 0 /INPUT 2 "offset"; .port_info 1 /INPUT 16 "writeData"; .port_info 2 /INPUT 32 "dataIn"; .port_info 3 /OUTPUT 32 "dataOut"; v0x555594c1d250_0 .net *"_ivl_0", 31 0, L_0x555594c39f60; 1 drivers v0x555594c1d350_0 .net *"_ivl_10", 31 0, L_0x555594c3a340; 1 drivers v0x555594c1d430_0 .net *"_ivl_12", 31 0, L_0x555594c3a430; 1 drivers L_0x7f2e15f5b378 .functor BUFT 1, C4<000000000000000000000000000000>, C4<0>, C4<0>, C4<0>; v0x555594c1d4f0_0 .net *"_ivl_15", 29 0, L_0x7f2e15f5b378; 1 drivers L_0x7f2e15f5b3c0 .functor BUFT 1, C4<00000000000000000000000000000001>, C4<0>, C4<0>, C4<0>; v0x555594c1d5d0_0 .net/2u *"_ivl_16", 31 0, L_0x7f2e15f5b3c0; 1 drivers v0x555594c1d700_0 .net *"_ivl_18", 0 0, L_0x555594c3a520; 1 drivers v0x555594c1d7c0_0 .net *"_ivl_21", 7 0, L_0x555594c3a6a0; 1 drivers v0x555594c1d8a0_0 .net *"_ivl_23", 7 0, L_0x555594c3a740; 1 drivers v0x555594c1d980_0 .net *"_ivl_24", 31 0, L_0x555594c3a830; 1 drivers v0x555594c1daf0_0 .net *"_ivl_27", 15 0, L_0x555594c3a9c0; 1 drivers v0x555594c1dbd0_0 .net *"_ivl_28", 31 0, L_0x555594c3aac0; 1 drivers L_0x7f2e15f5b2e8 .functor BUFT 1, C4<000000000000000000000000000000>, C4<0>, C4<0>, C4<0>; v0x555594c1dcb0_0 .net *"_ivl_3", 29 0, L_0x7f2e15f5b2e8; 1 drivers v0x555594c1dd90_0 .net *"_ivl_30", 31 0, L_0x555594c3ab60; 1 drivers L_0x7f2e15f5b330 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>; v0x555594c1de70_0 .net/2u *"_ivl_4", 31 0, L_0x7f2e15f5b330; 1 drivers v0x555594c1df50_0 .net *"_ivl_6", 0 0, L_0x555594c3a160; 1 drivers v0x555594c1e010_0 .net *"_ivl_9", 15 0, L_0x555594c3a2a0; 1 drivers v0x555594c1e0f0_0 .net "dataIn", 31 0, o0x7f2e15fa4dc8; alias, 0 drivers v0x555594c1e2c0_0 .net "dataOut", 31 0, L_0x555594c3ad60; alias, 1 drivers v0x555594c1e3a0_0 .net "offset", 1 0, L_0x555594c3df90; alias, 1 drivers v0x555594c1e460_0 .net "writeData", 15 0, L_0x555594c3af40; 1 drivers L_0x555594c39f60 .concat [ 2 30 0 0], L_0x555594c3df90, L_0x7f2e15f5b2e8; L_0x555594c3a160 .cmp/eq 32, L_0x555594c39f60, L_0x7f2e15f5b330; L_0x555594c3a2a0 .part o0x7f2e15fa4dc8, 16, 16; L_0x555594c3a340 .concat [ 16 16 0 0], L_0x555594c3af40, L_0x555594c3a2a0; L_0x555594c3a430 .concat [ 2 30 0 0], L_0x555594c3df90, L_0x7f2e15f5b378; L_0x555594c3a520 .cmp/eq 32, L_0x555594c3a430, L_0x7f2e15f5b3c0; L_0x555594c3a6a0 .part o0x7f2e15fa4dc8, 24, 8; L_0x555594c3a740 .part o0x7f2e15fa4dc8, 0, 8; L_0x555594c3a830 .concat [ 8 16 8 0], L_0x555594c3a740, L_0x555594c3af40, L_0x555594c3a6a0; L_0x555594c3a9c0 .part o0x7f2e15fa4dc8, 0, 16; L_0x555594c3aac0 .concat [ 16 16 0 0], L_0x555594c3a9c0, L_0x555594c3af40; L_0x555594c3ab60 .functor MUXZ 32, L_0x555594c3aac0, L_0x555594c3a830, L_0x555594c3a520, C4<>; L_0x555594c3ad60 .functor MUXZ 32, L_0x555594c3ab60, L_0x555594c3a340, L_0x555594c3a160, C4<>; S_0x555594c1fa30 .scope module, "pc" "ProgramCounter" 2 108, 6 5 0, S_0x555594bc8e80; .timescale 0 0; .port_info 0 /INPUT 1 "clk"; .port_info 1 /INPUT 1 "reset"; .port_info 2 /INPUT 32 "dataIn"; .port_info 3 /INPUT 1 "writeEnable"; .port_info 4 /INPUT 1 "increment"; .port_info 5 /OUTPUT 32 "currentPc"; .port_info 6 /OUTPUT 32 "prevPc"; v0x555594c1fcb0_0 .net "clk", 0 0, o0x7f2e15fa42b8; alias, 0 drivers v0x555594c1fda0_0 .net "currentPc", 31 0, v0x555594c20030_0; alias, 1 drivers v0x555594c1fe60_0 .net "dataIn", 31 0, v0x555594b41a80_0; alias, 1 drivers v0x555594c1ff60_0 .net "increment", 0 0, v0x555594c16fe0_0; alias, 1 drivers v0x555594c20030_0 .var "pc", 31 0; v0x555594c200d0_0 .var "prevPc", 31 0; v0x555594c201b0_0 .net "reset", 0 0, o0x7f2e15fa4528; alias, 0 drivers v0x555594c20250_0 .net "writeEnable", 0 0, v0x555594c17320_0; alias, 1 drivers S_0x555594c203c0 .scope module, "registerFile" "RegisterFile" 2 97, 7 5 0, S_0x555594bc8e80; .timescale 0 0; .port_info 0 /INPUT 1 "clk"; .port_info 1 /INPUT 5 "ia"; .port_info 2 /INPUT 5 "ib"; .port_info 3 /INPUT 5 "dst"; .port_info 4 /INPUT 32 "dataIn"; .port_info 5 /INPUT 1 "writeEnable"; .port_info 6 /OUTPUT 32 "oa"; .port_info 7 /OUTPUT 32 "ob"; v0x555594c20700_0 .net *"_ivl_0", 31 0, L_0x555594c3e0f0; 1 drivers v0x555594c20800_0 .net *"_ivl_10", 31 0, L_0x555594c3e530; 1 drivers v0x555594c208e0_0 .net *"_ivl_12", 6 0, L_0x555594c3e5d0; 1 drivers L_0x7f2e15f5b960 .functor BUFT 1, C4<00>, C4<0>, C4<0>, C4<0>; v0x555594c209a0_0 .net *"_ivl_15", 1 0, L_0x7f2e15f5b960; 1 drivers v0x555594c20a80_0 .net *"_ivl_18", 31 0, L_0x555594c3e930; 1 drivers L_0x7f2e15f5b9a8 .functor BUFT 1, C4<000000000000000000000000000>, C4<0>, C4<0>, C4<0>; v0x555594c20bb0_0 .net *"_ivl_21", 26 0, L_0x7f2e15f5b9a8; 1 drivers L_0x7f2e15f5b9f0 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>; v0x555594c20c90_0 .net/2u *"_ivl_22", 31 0, L_0x7f2e15f5b9f0; 1 drivers v0x555594c20d70_0 .net *"_ivl_24", 0 0, L_0x555594c3ea20; 1 drivers L_0x7f2e15f5ba38 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>; v0x555594c20e30_0 .net/2u *"_ivl_26", 31 0, L_0x7f2e15f5ba38; 1 drivers v0x555594c20f10_0 .net *"_ivl_28", 31 0, L_0x555594c3eb60; 1 drivers L_0x7f2e15f5b888 .functor BUFT 1, C4<000000000000000000000000000>, C4<0>, C4<0>, C4<0>; v0x555594c20ff0_0 .net *"_ivl_3", 26 0, L_0x7f2e15f5b888; 1 drivers v0x555594c210d0_0 .net *"_ivl_30", 6 0, L_0x555594c3ec50; 1 drivers L_0x7f2e15f5ba80 .functor BUFT 1, C4<00>, C4<0>, C4<0>, C4<0>; v0x555594c211b0_0 .net *"_ivl_33", 1 0, L_0x7f2e15f5ba80; 1 drivers L_0x7f2e15f5b8d0 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>; v0x555594c21290_0 .net/2u *"_ivl_4", 31 0, L_0x7f2e15f5b8d0; 1 drivers v0x555594c21370_0 .net *"_ivl_6", 0 0, L_0x555594c3e1e0; 1 drivers L_0x7f2e15f5b918 .functor BUFT 1, C4<00000000000000000000000000000000>, C4<0>, C4<0>, C4<0>; v0x555594c21430_0 .net/2u *"_ivl_8", 31 0, L_0x7f2e15f5b918; 1 drivers v0x555594c21510_0 .net "clk", 0 0, o0x7f2e15fa42b8; alias, 0 drivers v0x555594c216c0_0 .net "dataIn", 31 0, L_0x555594c38560; alias, 1 drivers v0x555594c217a0_0 .net "dst", 4 0, L_0x555594c27d80; alias, 1 drivers v0x555594c21880_0 .var/i "i", 31 0; v0x555594c21960_0 .net "ia", 4 0, L_0x555594c27bc0; alias, 1 drivers v0x555594c21a40_0 .net "ib", 4 0, L_0x555594c27c60; alias, 1 drivers v0x555594c21b20_0 .net "oa", 31 0, L_0x555594c3e750; alias, 1 drivers v0x555594c21c00_0 .net "ob", 31 0, L_0x555594c3edd0; alias, 1 drivers v0x555594c21cc0 .array "registers", 31 0, 31 0; v0x555594c21d60_0 .net "writeEnable", 0 0, v0x555594c17770_0; alias, 1 drivers L_0x555594c3e0f0 .concat [ 5 27 0 0], L_0x555594c27bc0, L_0x7f2e15f5b888; L_0x555594c3e1e0 .cmp/eq 32, L_0x555594c3e0f0, L_0x7f2e15f5b8d0; L_0x555594c3e530 .array/port v0x555594c21cc0, L_0x555594c3e5d0; L_0x555594c3e5d0 .concat [ 5 2 0 0], L_0x555594c27bc0, L_0x7f2e15f5b960; L_0x555594c3e750 .functor MUXZ 32, L_0x555594c3e530, L_0x7f2e15f5b918, L_0x555594c3e1e0, C4<>; L_0x555594c3e930 .concat [ 5 27 0 0], L_0x555594c27c60, L_0x7f2e15f5b9a8; L_0x555594c3ea20 .cmp/eq 32, L_0x555594c3e930, L_0x7f2e15f5b9f0; L_0x555594c3eb60 .array/port v0x555594c21cc0, L_0x555594c3ec50; L_0x555594c3ec50 .concat [ 5 2 0 0], L_0x555594c27c60, L_0x7f2e15f5ba80; L_0x555594c3edd0 .functor MUXZ 32, L_0x555594c3eb60, L_0x7f2e15f5ba38, L_0x555594c3ea20, C4<>; .scope S_0x555594c15ee0; T_0 ; %pushi/vec4 0, 0, 1; %store/vec4 v0x555594c16b30_0, 0, 1; %end; .thread T_0; .scope S_0x555594c15ee0; T_1 ; %wait E_0x555594b67320; %load/vec4 v0x555594c17830_0; %flag_set/vec4 8; %jmp/0xz T_1.0, 8; %pushi/vec4 0, 0, 3; %assign/vec4 v0x555594c178f0_0, 0; %pushi/vec4 0, 0, 1; %assign/vec4 v0x555594c179d0_0, 0; %pushi/vec4 0, 0, 1; %assign/vec4 v0x555594c17770_0, 0; %pushi/vec4 0, 0, 1; %assign/vec4 v0x555594c16fe0_0, 0; %pushi/vec4 1, 0, 1; %assign/vec4 v0x555594c16700_0, 0; %pushi/vec4 0, 0, 2; %assign/vec4 v0x555594c16940_0, 0; %pushi/vec4 0, 0, 3; %assign/vec4 v0x555594c16a00_0, 0; %pushi/vec4 0, 0, 1; %assign/vec4 v0x555594c17320_0, 0; %pushi/vec4 2, 0, 2; %assign/vec4 v0x555594c173e0_0, 0; %pushi/vec4 2, 0, 2; %assign/vec4 v0x555594c17a90_0, 0; %pushi/vec4 0, 0, 1; %assign/vec4 v0x555594c174c0_0, 0; %jmp T_1.1; T_1.0 ; %load/vec4 v0x555594c178f0_0; %cmpi/e 0, 0, 3; %jmp/0xz T_1.2, 4; %vpi_call 4 63 "$display", "FETCH0" {0 0 0}; %pushi/vec4 0, 0, 1; %assign/vec4 v0x555594c179d0_0, 0; %pushi/vec4 1, 0, 3; %assign/vec4 v0x555594c178f0_0, 0; %pushi/vec4 1, 0, 1; %assign/vec4 v0x555594c17180_0, 0; %pushi/vec4 1, 0, 1; %assign/vec4 v0x555594c16700_0, 0; %pushi/vec4 1, 0, 1; %assign/vec4 v0x555594c16fe0_0, 0; %pushi/vec4 0, 0, 1; %assign/vec4 v0x555594c17770_0, 0; %pushi/vec4 0, 0, 2; %assign/vec4 v0x555594c17690_0, 0; %pushi/vec4 0, 0, 2; %assign/vec4 v0x555594c16940_0, 0; %pushi/vec4 0, 0, 3; %assign/vec4 v0x555594c16a00_0, 0; %pushi/vec4 9, 0, 4; %assign/vec4 v0x555594c168a0_0, 0; %pushi/vec4 0, 0, 1; %assign/vec4 v0x555594c17320_0, 0; %pushi/vec4 0, 0, 1; %assign/vec4 v0x555594c16b30_0, 0; %pushi/vec4 2, 0, 2; %assign/vec4 v0x555594c17a90_0, 0; %pushi/vec4 2, 0, 2; %assign/vec4 v0x555594c173e0_0, 0; %pushi/vec4 0, 0, 1; %assign/vec4 v0x555594c174c0_0, 0; %jmp T_1.3; T_1.2 ; %load/vec4 v0x555594c178f0_0; %cmpi/e 1, 0, 3; %jmp/0xz T_1.4, 4; %vpi_call 4 83 "$display", "FETCH1" {0 0 0}; %pushi/vec4 2, 0, 3; %assign/vec4 v0x555594c178f0_0, 0; %pushi/vec4 0, 0, 1; %assign/vec4 v0x555594c17180_0, 0; %pushi/vec4 0, 0, 1; %assign/vec4 v0x555594c16fe0_0, 0; %jmp T_1.5; T_1.4 ; %vpi_call 4 90 "$display", "Execute %x", v0x555594c170a0_0 {0 0 0}; %load/vec4 v0x555594c17240_0; %cmpi/e 55, 0, 7; %jmp/0xz T_1.6, 4; %vpi_call 4 94 "$display", "LUI" {0 0 0}; %pushi/vec4 4, 0, 3; %assign/vec4 v0x555594c16a00_0, 0; %pushi/vec4 10, 0, 4; %assign/vec4 v0x555594c168a0_0, 0; %pushi/vec4 1, 0, 1; %assign/vec4 v0x555594c17770_0, 0; %pushi/vec4 0, 0, 3; %assign/vec4 v0x555594c178f0_0, 0; %jmp T_1.7; T_1.6 ; %load/vec4 v0x555594c17240_0; %cmpi/e 23, 0, 7; %jmp/0xz T_1.8, 4; %vpi_call 4 104 "$display", "AUIPC" {0 0 0}; %pushi/vec4 2, 0, 2; %assign/vec4 v0x555594c16940_0, 0; %pushi/vec4 4, 0, 3; %assign/vec4 v0x555594c16a00_0, 0; %pushi/vec4 0, 0, 4; %assign/vec4 v0x555594c168a0_0, 0; %pushi/vec4 1, 0, 1; %assign/vec4 v0x555594c17770_0, 0; %pushi/vec4 1, 0, 1; %assign/vec4 v0x555594c17320_0, 0; %pushi/vec4 0, 0, 3; %assign/vec4 v0x555594c178f0_0, 0; %jmp T_1.9; T_1.8 ; %load/vec4 v0x555594c17240_0; %cmpi/e 19, 0, 7; %jmp/0xz T_1.10, 4; %vpi_call 4 116 "$display", "I-TYPE" {0 0 0}; %load/vec4 v0x555594c16d90_0; %dup/vec4; %pushi/vec4 0, 0, 3; %cmp/u; %jmp/1 T_1.12, 6; %dup/vec4; %pushi/vec4 1, 0, 3; %cmp/u; %jmp/1 T_1.13, 6; %dup/vec4; %pushi/vec4 2, 0, 3; %cmp/u; %jmp/1 T_1.14, 6; %dup/vec4; %pushi/vec4 3, 0, 3; %cmp/u; %jmp/1 T_1.15, 6; %dup/vec4; %pushi/vec4 4, 0, 3; %cmp/u; %jmp/1 T_1.16, 6; %dup/vec4; %pushi/vec4 5, 0, 3; %cmp/u; %jmp/1 T_1.17, 6; %dup/vec4; %pushi/vec4 6, 0, 3; %cmp/u; %jmp/1 T_1.18, 6; %dup/vec4; %pushi/vec4 7, 0, 3; %cmp/u; %jmp/1 T_1.19, 6; %jmp T_1.20; T_1.12 ; %pushi/vec4 0, 0, 4; %assign/vec4 v0x555594c168a0_0, 0; %jmp T_1.20; T_1.13 ; %pushi/vec4 1, 0, 4; %assign/vec4 v0x555594c168a0_0, 0; %jmp T_1.20; T_1.14 ; %pushi/vec4 2, 0, 4; %assign/vec4 v0x555594c168a0_0, 0; %jmp T_1.20; T_1.15 ; %pushi/vec4 3, 0, 4; %assign/vec4 v0x555594c168a0_0, 0; %jmp T_1.20; T_1.16 ; %pushi/vec4 4, 0, 4; %assign/vec4 v0x555594c168a0_0, 0; %jmp T_1.20; T_1.17 ; %load/vec4 v0x555594c16f00_0; %cmpi/e 32, 0, 7; %flag_mov 8, 4; %jmp/0 T_1.21, 8; %pushi/vec4 13, 0, 4; %jmp/1 T_1.22, 8; T_1.21 ; End of true expr. %pushi/vec4 5, 0, 4; %jmp/0 T_1.22, 8; ; End of false expr. %blend; T_1.22; %assign/vec4 v0x555594c168a0_0, 0; %jmp T_1.20; T_1.18 ; %pushi/vec4 6, 0, 4; %assign/vec4 v0x555594c168a0_0, 0; %jmp T_1.20; T_1.19 ; %pushi/vec4 7, 0, 4; %assign/vec4 v0x555594c168a0_0, 0; %jmp T_1.20; T_1.20 ; %pop/vec4 1; %pushi/vec4 1, 0, 1; %assign/vec4 v0x555594c17770_0, 0; %pushi/vec4 1, 0, 3; %assign/vec4 v0x555594c16a00_0, 0; %pushi/vec4 0, 0, 3; %assign/vec4 v0x555594c178f0_0, 0; %jmp T_1.11; T_1.10 ; %load/vec4 v0x555594c17240_0; %cmpi/e 51, 0, 7; %jmp/0xz T_1.23, 4; %vpi_call 4 135 "$display", "R-TYPE" {0 0 0}; %load/vec4 v0x555594c16d90_0; %dup/vec4; %pushi/vec4 0, 0, 3; %cmp/u; %jmp/1 T_1.25, 6; %dup/vec4; %pushi/vec4 1, 0, 3; %cmp/u; %jmp/1 T_1.26, 6; %dup/vec4; %pushi/vec4 2, 0, 3; %cmp/u; %jmp/1 T_1.27, 6; %dup/vec4; %pushi/vec4 3, 0, 3; %cmp/u; %jmp/1 T_1.28, 6; %dup/vec4; %pushi/vec4 4, 0, 3; %cmp/u; %jmp/1 T_1.29, 6; %dup/vec4; %pushi/vec4 5, 0, 3; %cmp/u; %jmp/1 T_1.30, 6; %dup/vec4; %pushi/vec4 6, 0, 3; %cmp/u; %jmp/1 T_1.31, 6; %dup/vec4; %pushi/vec4 7, 0, 3; %cmp/u; %jmp/1 T_1.32, 6; %jmp T_1.33; T_1.25 ; %load/vec4 v0x555594c16f00_0; %cmpi/e 32, 0, 7; %flag_mov 8, 4; %jmp/0 T_1.34, 8; %pushi/vec4 8, 0, 4; %jmp/1 T_1.35, 8; T_1.34 ; End of true expr. %pushi/vec4 0, 0, 4; %jmp/0 T_1.35, 8; ; End of false expr. %blend; T_1.35; %assign/vec4 v0x555594c168a0_0, 0; %jmp T_1.33; T_1.26 ; %pushi/vec4 1, 0, 4; %assign/vec4 v0x555594c168a0_0, 0; %jmp T_1.33; T_1.27 ; %pushi/vec4 2, 0, 4; %assign/vec4 v0x555594c168a0_0, 0; %jmp T_1.33; T_1.28 ; %pushi/vec4 3, 0, 4; %assign/vec4 v0x555594c168a0_0, 0; %jmp T_1.33; T_1.29 ; %pushi/vec4 4, 0, 4; %assign/vec4 v0x555594c168a0_0, 0; %jmp T_1.33; T_1.30 ; %load/vec4 v0x555594c16f00_0; %cmpi/e 32, 0, 7; %flag_mov 8, 4; %jmp/0 T_1.36, 8; %pushi/vec4 13, 0, 4; %jmp/1 T_1.37, 8; T_1.36 ; End of true expr. %pushi/vec4 5, 0, 4; %jmp/0 T_1.37, 8; ; End of false expr. %blend; T_1.37; %assign/vec4 v0x555594c168a0_0, 0; %jmp T_1.33; T_1.31 ; %pushi/vec4 6, 0, 4; %assign/vec4 v0x555594c168a0_0, 0; %jmp T_1.33; T_1.32 ; %pushi/vec4 7, 0, 4; %assign/vec4 v0x555594c168a0_0, 0; %jmp T_1.33; T_1.33 ; %pop/vec4 1; %pushi/vec4 1, 0, 1; %assign/vec4 v0x555594c17770_0, 0; %pushi/vec4 0, 0, 3; %assign/vec4 v0x555594c16a00_0, 0; %pushi/vec4 0, 0, 3; %assign/vec4 v0x555594c178f0_0, 0; %jmp T_1.24; T_1.23 ; %load/vec4 v0x555594c17240_0; %cmpi/e 99, 0, 7; %jmp/0xz T_1.38, 4; %vpi_call 4 154 "$display", "B-TYPE" {0 0 0}; %load/vec4 v0x555594c178f0_0; %cmpi/e 2, 0, 3; %jmp/0xz T_1.40, 4; %load/vec4 v0x555594c16d90_0; %dup/vec4; %pushi/vec4 0, 0, 3; %cmp/u; %jmp/1 T_1.42, 6; %dup/vec4; %pushi/vec4 1, 0, 3; %cmp/u; %jmp/1 T_1.43, 6; %dup/vec4; %pushi/vec4 4, 0, 3; %cmp/u; %jmp/1 T_1.44, 6; %dup/vec4; %pushi/vec4 5, 0, 3; %cmp/u; %jmp/1 T_1.45, 6; %dup/vec4; %pushi/vec4 6, 0, 3; %cmp/u; %jmp/1 T_1.46, 6; %dup/vec4; %pushi/vec4 7, 0, 3; %cmp/u; %jmp/1 T_1.47, 6; %pushi/vec4 12, 0, 4; %assign/vec4 v0x555594c168a0_0, 0; %jmp T_1.49; T_1.42 ; %pushi/vec4 12, 0, 4; %assign/vec4 v0x555594c168a0_0, 0; %pushi/vec4 1, 0, 1; %assign/vec4 v0x555594c16b30_0, 0; %jmp T_1.49; T_1.43 ; %pushi/vec4 12, 0, 4; %assign/vec4 v0x555594c168a0_0, 0; %jmp T_1.49; T_1.44 ; %pushi/vec4 2, 0, 4; %assign/vec4 v0x555594c168a0_0, 0; %pushi/vec4 1, 0, 1; %assign/vec4 v0x555594c16b30_0, 0; %jmp T_1.49; T_1.45 ; %pushi/vec4 2, 0, 4; %assign/vec4 v0x555594c168a0_0, 0; %jmp T_1.49; T_1.46 ; %pushi/vec4 3, 0, 4; %assign/vec4 v0x555594c168a0_0, 0; %pushi/vec4 1, 0, 1; %assign/vec4 v0x555594c16b30_0, 0; %jmp T_1.49; T_1.47 ; %pushi/vec4 3, 0, 4; %assign/vec4 v0x555594c168a0_0, 0; %jmp T_1.49; T_1.49 ; %pop/vec4 1; %pushi/vec4 3, 0, 3; %assign/vec4 v0x555594c178f0_0, 0; %jmp T_1.41; T_1.40 ; %load/vec4 v0x555594c178f0_0; %cmpi/e 3, 0, 3; %jmp/0xz T_1.50, 4; %pushi/vec4 2, 0, 2; %assign/vec4 v0x555594c16940_0, 0; %pushi/vec4 3, 0, 3; %assign/vec4 v0x555594c16a00_0, 0; %pushi/vec4 0, 0, 4; %assign/vec4 v0x555594c168a0_0, 0; %load/vec4 v0x555594c16b30_0; %load/vec4 v0x555594c167e0_0; %and; %load/vec4 v0x555594c16b30_0; %inv; %load/vec4 v0x555594c167e0_0; %inv; %and; %or; %flag_set/vec4 8; %jmp/0xz T_1.52, 8; %pushi/vec4 1, 0, 1; %assign/vec4 v0x555594c17320_0, 0; %pushi/vec4 4, 0, 3; %assign/vec4 v0x555594c178f0_0, 0; %jmp T_1.53; T_1.52 ; %pushi/vec4 0, 0, 3; %assign/vec4 v0x555594c178f0_0, 0; T_1.53 ; %jmp T_1.51; T_1.50 ; %load/vec4 v0x555594c178f0_0; %cmpi/e 4, 0, 3; %jmp/0xz T_1.54, 4; %pushi/vec4 0, 0, 1; %assign/vec4 v0x555594c17320_0, 0; %pushi/vec4 0, 0, 3; %assign/vec4 v0x555594c178f0_0, 0; T_1.54 ; T_1.51 ; T_1.41 ; %jmp T_1.39; T_1.38 ; %load/vec4 v0x555594c17240_0; %cmpi/e 111, 0, 7; %jmp/0xz T_1.56, 4; %vpi_call 4 198 "$display", "JAL" {0 0 0}; %load/vec4 v0x555594c178f0_0; %cmpi/e 2, 0, 3; %jmp/0xz T_1.58, 4; %pushi/vec4 2, 0, 2; %assign/vec4 v0x555594c16940_0, 0; %pushi/vec4 5, 0, 3; %assign/vec4 v0x555594c16a00_0, 0; %pushi/vec4 0, 0, 4; %assign/vec4 v0x555594c168a0_0, 0; %pushi/vec4 2, 0, 2; %assign/vec4 v0x555594c17690_0, 0; %pushi/vec4 1, 0, 1; %assign/vec4 v0x555594c17320_0, 0; %pushi/vec4 1, 0, 1; %assign/vec4 v0x555594c17770_0, 0; %pushi/vec4 3, 0, 3; %assign/vec4 v0x555594c178f0_0, 0; %jmp T_1.59; T_1.58 ; %pushi/vec4 0, 0, 1; %assign/vec4 v0x555594c17320_0, 0; %pushi/vec4 0, 0, 1; %assign/vec4 v0x555594c17770_0, 0; %pushi/vec4 0, 0, 3; %assign/vec4 v0x555594c178f0_0, 0; T_1.59 ; %jmp T_1.57; T_1.56 ; %load/vec4 v0x555594c17240_0; %cmpi/e 103, 0, 7; %jmp/0xz T_1.60, 4; %vpi_call 4 221 "$display", "JALR" {0 0 0}; %load/vec4 v0x555594c178f0_0; %cmpi/e 2, 0, 3; %jmp/0xz T_1.62, 4; %pushi/vec4 0, 0, 2; %assign/vec4 v0x555594c16940_0, 0; %pushi/vec4 1, 0, 3; %assign/vec4 v0x555594c16a00_0, 0; %pushi/vec4 0, 0, 4; %assign/vec4 v0x555594c168a0_0, 0; %pushi/vec4 2, 0, 2; %assign/vec4 v0x555594c17690_0, 0; %pushi/vec4 1, 0, 1; %assign/vec4 v0x555594c17320_0, 0; %pushi/vec4 1, 0, 1; %assign/vec4 v0x555594c17770_0, 0; %pushi/vec4 3, 0, 3; %assign/vec4 v0x555594c178f0_0, 0; %jmp T_1.63; T_1.62 ; %pushi/vec4 0, 0, 1; %assign/vec4 v0x555594c17320_0, 0; %pushi/vec4 0, 0, 1; %assign/vec4 v0x555594c17770_0, 0; %pushi/vec4 0, 0, 3; %assign/vec4 v0x555594c178f0_0, 0; T_1.63 ; %jmp T_1.61; T_1.60 ; %load/vec4 v0x555594c17240_0; %cmpi/e 3, 0, 7; %jmp/0xz T_1.64, 4; %load/vec4 v0x555594c178f0_0; %cmpi/e 2, 0, 3; %jmp/0xz T_1.66, 4; %pushi/vec4 0, 0, 2; %assign/vec4 v0x555594c16940_0, 0; %pushi/vec4 1, 0, 3; %assign/vec4 v0x555594c16a00_0, 0; %pushi/vec4 0, 0, 4; %assign/vec4 v0x555594c168a0_0, 0; %pushi/vec4 1, 0, 2; %assign/vec4 v0x555594c17690_0, 0; %pushi/vec4 0, 0, 1; %assign/vec4 v0x555594c16700_0, 0; %pushi/vec4 3, 0, 3; %assign/vec4 v0x555594c178f0_0, 0; %jmp T_1.67; T_1.66 ; %load/vec4 v0x555594c178f0_0; %cmpi/e 3, 0, 3; %jmp/0xz T_1.68, 4; %load/vec4 v0x555594c16d90_0; %dup/vec4; %pushi/vec4 0, 0, 3; %cmp/u; %jmp/1 T_1.70, 6; %dup/vec4; %pushi/vec4 1, 0, 3; %cmp/u; %jmp/1 T_1.71, 6; %dup/vec4; %pushi/vec4 2, 0, 3; %cmp/u; %jmp/1 T_1.72, 6; %dup/vec4; %pushi/vec4 4, 0, 3; %cmp/u; %jmp/1 T_1.73, 6; %dup/vec4; %pushi/vec4 5, 0, 3; %cmp/u; %jmp/1 T_1.74, 6; %jmp T_1.75; T_1.70 ; %pushi/vec4 0, 0, 2; %assign/vec4 v0x555594c173e0_0, 0; %pushi/vec4 1, 0, 1; %assign/vec4 v0x555594c174c0_0, 0; %jmp T_1.75; T_1.71 ; %pushi/vec4 1, 0, 2; %assign/vec4 v0x555594c173e0_0, 0; %pushi/vec4 1, 0, 1; %assign/vec4 v0x555594c174c0_0, 0; %jmp T_1.75; T_1.72 ; %pushi/vec4 2, 0, 2; %assign/vec4 v0x555594c173e0_0, 0; %jmp T_1.75; T_1.73 ; %pushi/vec4 0, 0, 2; %assign/vec4 v0x555594c173e0_0, 0; %jmp T_1.75; T_1.74 ; %pushi/vec4 1, 0, 2; %assign/vec4 v0x555594c173e0_0, 0; %jmp T_1.75; T_1.75 ; %pop/vec4 1; %pushi/vec4 1, 0, 1; %assign/vec4 v0x555594c17770_0, 0; %pushi/vec4 4, 0, 3; %assign/vec4 v0x555594c178f0_0, 0; %jmp T_1.69; T_1.68 ; %load/vec4 v0x555594c178f0_0; %cmpi/e 4, 0, 3; %jmp/0xz T_1.76, 4; %pushi/vec4 0, 0, 1; %assign/vec4 v0x555594c17770_0, 0; %pushi/vec4 1, 0, 1; %assign/vec4 v0x555594c16700_0, 0; %pushi/vec4 0, 0, 3; %assign/vec4 v0x555594c178f0_0, 0; T_1.76 ; T_1.69 ; T_1.67 ; %jmp T_1.65; T_1.64 ; %load/vec4 v0x555594c17240_0; %cmpi/e 35, 0, 7; %jmp/0xz T_1.78, 4; %load/vec4 v0x555594c178f0_0; %cmpi/e 2, 0, 3; %jmp/0xz T_1.80, 4; %pushi/vec4 0, 0, 2; %assign/vec4 v0x555594c16940_0, 0; %pushi/vec4 2, 0, 3; %assign/vec4 v0x555594c16a00_0, 0; %pushi/vec4 0, 0, 4; %assign/vec4 v0x555594c168a0_0, 0; %pushi/vec4 1, 0, 2; %assign/vec4 v0x555594c17690_0, 0; %pushi/vec4 2, 0, 2; %assign/vec4 v0x555594c173e0_0, 0; %pushi/vec4 0, 0, 1; %assign/vec4 v0x555594c174c0_0, 0; %pushi/vec4 0, 0, 1; %assign/vec4 v0x555594c16700_0, 0; %pushi/vec4 3, 0, 3; %assign/vec4 v0x555594c178f0_0, 0; %jmp T_1.81; T_1.80 ; %load/vec4 v0x555594c178f0_0; %cmpi/e 3, 0, 3; %jmp/0xz T_1.82, 4; %pushi/vec4 4, 0, 3; %assign/vec4 v0x555594c178f0_0, 0; %jmp T_1.83; T_1.82 ; %load/vec4 v0x555594c178f0_0; %cmpi/e 4, 0, 3; %jmp/0xz T_1.84, 4; %load/vec4 v0x555594c16d90_0; %dup/vec4; %pushi/vec4 0, 0, 3; %cmp/u; %jmp/1 T_1.86, 6; %dup/vec4; %pushi/vec4 1, 0, 3; %cmp/u; %jmp/1 T_1.87, 6; %dup/vec4; %pushi/vec4 2, 0, 3; %cmp/u; %jmp/1 T_1.88, 6; %jmp T_1.89; T_1.86 ; %pushi/vec4 0, 0, 2; %assign/vec4 v0x555594c17a90_0, 0; %jmp T_1.89; T_1.87 ; %pushi/vec4 1, 0, 2; %assign/vec4 v0x555594c17a90_0, 0; %jmp T_1.89; T_1.88 ; %pushi/vec4 2, 0, 2; %assign/vec4 v0x555594c17a90_0, 0; %jmp T_1.89; T_1.89 ; %pop/vec4 1; %pushi/vec4 1, 0, 1; %assign/vec4 v0x555594c179d0_0, 0; %pushi/vec4 5, 0, 3; %assign/vec4 v0x555594c178f0_0, 0; %jmp T_1.85; T_1.84 ; %load/vec4 v0x555594c178f0_0; %cmpi/e 5, 0, 3; %jmp/0xz T_1.90, 4; %pushi/vec4 1, 0, 1; %assign/vec4 v0x555594c16700_0, 0; %pushi/vec4 0, 0, 1; %assign/vec4 v0x555594c179d0_0, 0; %pushi/vec4 0, 0, 3; %assign/vec4 v0x555594c178f0_0, 0; T_1.90 ; T_1.85 ; T_1.83 ; T_1.81 ; %jmp T_1.79; T_1.78 ; %vpi_call 4 317 "$display", "Error %x [%x]", v0x555594c170a0_0, v0x555594c17240_0 {0 0 0}; %pushi/vec4 0, 0, 3; %assign/vec4 v0x555594c178f0_0, 0; T_1.79 ; T_1.65 ; T_1.61 ; T_1.57 ; T_1.39 ; T_1.24 ; T_1.11 ; T_1.9 ; T_1.7 ; T_1.5 ; T_1.3 ; T_1.1 ; %jmp T_1; .thread T_1; .scope S_0x555594c203c0; T_2 ; %pushi/vec4 0, 0, 32; %store/vec4 v0x555594c21880_0, 0, 32; T_2.0 ; Top of for-loop %load/vec4 v0x555594c21880_0; %cmpi/s 32, 0, 32; %jmp/0xz T_2.1, 5; %pushi/vec4 0, 0, 32; %ix/getv/s 4, v0x555594c21880_0; %store/vec4a v0x555594c21cc0, 4, 0; T_2.2 ; for-loop step statement %load/vec4 v0x555594c21880_0; %addi 1, 0, 32; %store/vec4 v0x555594c21880_0, 0, 32; %jmp T_2.0; T_2.1 ; for-loop exit label %end; .thread T_2; .scope S_0x555594c203c0; T_3 ; %wait E_0x555594b67320; %load/vec4 v0x555594c21d60_0; %flag_set/vec4 9; %flag_get/vec4 9; %jmp/0 T_3.2, 9; %load/vec4 v0x555594c217a0_0; %pad/u 32; %pushi/vec4 0, 0, 32; %cmp/ne; %flag_get/vec4 4; %and; T_3.2; %flag_set/vec4 8; %jmp/0xz T_3.0, 8; %load/vec4 v0x555594c216c0_0; %load/vec4 v0x555594c217a0_0; %pad/u 7; %ix/vec4 3; %ix/load 4, 0, 0; Constant delay %assign/vec4/a/d v0x555594c21cc0, 0, 4; T_3.0 ; %jmp T_3; .thread T_3; .scope S_0x555594c1fa30; T_4 ; %pushi/vec4 0, 0, 32; %store/vec4 v0x555594c20030_0, 0, 32; %end; .thread T_4; .scope S_0x555594c1fa30; T_5 ; %wait E_0x555594b67320; %load/vec4 v0x555594c201b0_0; %flag_set/vec4 8; %jmp/0xz T_5.0, 8; %pushi/vec4 0, 0, 32; %assign/vec4 v0x555594c20030_0, 0; %jmp T_5.1; T_5.0 ; %load/vec4 v0x555594c20250_0; %flag_set/vec4 8; %jmp/0xz T_5.2, 8; %load/vec4 v0x555594c1fe60_0; %assign/vec4 v0x555594c20030_0, 0; %load/vec4 v0x555594c20030_0; %assign/vec4 v0x555594c200d0_0, 0; %jmp T_5.3; T_5.2 ; %load/vec4 v0x555594c1ff60_0; %flag_set/vec4 8; %jmp/0xz T_5.4, 8; %load/vec4 v0x555594c20030_0; %addi 4, 0, 32; %assign/vec4 v0x555594c20030_0, 0; %load/vec4 v0x555594c20030_0; %assign/vec4 v0x555594c200d0_0, 0; T_5.4 ; T_5.3 ; T_5.1 ; %jmp T_5; .thread T_5; .scope S_0x555594beea80; T_6 ; %wait E_0x555594b67720; %load/vec4 v0x555594bec3d0_0; %dup/vec4; %pushi/vec4 0, 0, 4; %cmp/u; %jmp/1 T_6.0, 6; %dup/vec4; %pushi/vec4 1, 0, 4; %cmp/u; %jmp/1 T_6.1, 6; %dup/vec4; %pushi/vec4 2, 0, 4; %cmp/u; %jmp/1 T_6.2, 6; %dup/vec4; %pushi/vec4 3, 0, 4; %cmp/u; %jmp/1 T_6.3, 6; %dup/vec4; %pushi/vec4 4, 0, 4; %cmp/u; %jmp/1 T_6.4, 6; %dup/vec4; %pushi/vec4 5, 0, 4; %cmp/u; %jmp/1 T_6.5, 6; %dup/vec4; %pushi/vec4 6, 0, 4; %cmp/u; %jmp/1 T_6.6, 6; %dup/vec4; %pushi/vec4 7, 0, 4; %cmp/u; %jmp/1 T_6.7, 6; %dup/vec4; %pushi/vec4 8, 0, 4; %cmp/u; %jmp/1 T_6.8, 6; %dup/vec4; %pushi/vec4 13, 0, 4; %cmp/u; %jmp/1 T_6.9, 6; %dup/vec4; %pushi/vec4 9, 0, 4; %cmp/u; %jmp/1 T_6.10, 6; %dup/vec4; %pushi/vec4 10, 0, 4; %cmp/u; %jmp/1 T_6.11, 6; %dup/vec4; %pushi/vec4 12, 0, 4; %cmp/u; %jmp/1 T_6.12, 6; %load/vec4 v0x555594bfea20_0; %store/vec4 v0x555594b41a80_0, 0, 32; %jmp T_6.14; T_6.0 ; %load/vec4 v0x555594bfea20_0; %load/vec4 v0x555594beb280_0; %add; %store/vec4 v0x555594b41a80_0, 0, 32; %jmp T_6.14; T_6.1 ; %load/vec4 v0x555594bfea20_0; %load/vec4 v0x555594beb280_0; %parti/s 5, 0, 2; %ix/vec4 4; %shiftl 4; %store/vec4 v0x555594b41a80_0, 0, 32; %jmp T_6.14; T_6.2 ; %load/vec4 v0x555594bfea20_0; %load/vec4 v0x555594beb280_0; %cmp/s; %flag_mov 8, 5; %jmp/0 T_6.15, 8; %pushi/vec4 1, 0, 32; %jmp/1 T_6.16, 8; T_6.15 ; End of true expr. %pushi/vec4 0, 0, 32; %jmp/0 T_6.16, 8; ; End of false expr. %blend; T_6.16; %store/vec4 v0x555594b41a80_0, 0, 32; %jmp T_6.14; T_6.3 ; %load/vec4 v0x555594bfea20_0; %load/vec4 v0x555594beb280_0; %cmp/u; %flag_mov 8, 5; %jmp/0 T_6.17, 8; %pushi/vec4 1, 0, 32; %jmp/1 T_6.18, 8; T_6.17 ; End of true expr. %pushi/vec4 0, 0, 32; %jmp/0 T_6.18, 8; ; End of false expr. %blend; T_6.18; %store/vec4 v0x555594b41a80_0, 0, 32; %jmp T_6.14; T_6.4 ; %load/vec4 v0x555594bfea20_0; %load/vec4 v0x555594beb280_0; %xor; %store/vec4 v0x555594b41a80_0, 0, 32; %jmp T_6.14; T_6.5 ; %load/vec4 v0x555594bfea20_0; %load/vec4 v0x555594beb280_0; %parti/s 5, 0, 2; %ix/vec4 4; %shiftr 4; %store/vec4 v0x555594b41a80_0, 0, 32; %jmp T_6.14; T_6.6 ; %load/vec4 v0x555594bfea20_0; %load/vec4 v0x555594beb280_0; %or; %store/vec4 v0x555594b41a80_0, 0, 32; %jmp T_6.14; T_6.7 ; %load/vec4 v0x555594bfea20_0; %load/vec4 v0x555594beb280_0; %and; %store/vec4 v0x555594b41a80_0, 0, 32; %jmp T_6.14; T_6.8 ; %load/vec4 v0x555594bfea20_0; %load/vec4 v0x555594beb280_0; %sub; %store/vec4 v0x555594b41a80_0, 0, 32; %jmp T_6.14; T_6.9 ; %load/vec4 v0x555594bfea20_0; %load/vec4 v0x555594beb280_0; %parti/s 5, 0, 2; %ix/vec4 4; %shiftr/s 4; %store/vec4 v0x555594b41a80_0, 0, 32; %jmp T_6.14; T_6.10 ; %load/vec4 v0x555594bfea20_0; %store/vec4 v0x555594b41a80_0, 0, 32; %jmp T_6.14; T_6.11 ; %load/vec4 v0x555594beb280_0; %store/vec4 v0x555594b41a80_0, 0, 32; %jmp T_6.14; T_6.12 ; %load/vec4 v0x555594bfea20_0; %load/vec4 v0x555594beb280_0; %cmp/e; %flag_mov 8, 4; %jmp/0 T_6.19, 8; %pushi/vec4 1, 0, 32; %jmp/1 T_6.20, 8; T_6.19 ; End of true expr. %pushi/vec4 0, 0, 32; %jmp/0 T_6.20, 8; ; End of false expr. %blend; T_6.20; %store/vec4 v0x555594b41a80_0, 0, 32; %jmp T_6.14; T_6.14 ; %pop/vec4 1; %jmp T_6; .thread T_6, $push; .scope S_0x555594bc8e80; T_7 ; %pushi/vec4 0, 0, 32; %store/vec4 v0x555594c26740_0, 0, 32; %end; .thread T_7; .scope S_0x555594bc8e80; T_8 ; %wait E_0x555594b67320; %load/vec4 v0x555594c267e0_0; %flag_set/vec4 8; %jmp/0xz T_8.0, 8; %load/vec4 v0x555594c268b0_0; %assign/vec4 v0x555594c26740_0, 0; T_8.0 ; %jmp T_8; .thread T_8; # The file index is used to find the file name in the following table. :file_names 8; "N/A"; ""; "riscv.v"; "alu.v"; "control_unit.v"; "load_store.v"; "program_counter.v"; "register_file.v";