From 5694a8808bd724b820caca2f5f1176b8c1e3f40d Mon Sep 17 00:00:00 2001 From: azidar Date: Thu, 20 Aug 2015 15:35:43 -0700 Subject: Added tests, cleaned up repo --- test/errors/gender/ReadOutput.fir | 12 + test/errors/type/Primop.fir | 2 +- test/features/InitAccessor.fir | 10 + test/passes/expand-connect-indexed/init-vecs.fir | 16 + test/refchip/BTB.fir | 4156 -- test/refchip/Top.fir | 64516 --------------------- 6 files changed, 39 insertions(+), 68673 deletions(-) create mode 100644 test/errors/gender/ReadOutput.fir create mode 100644 test/features/InitAccessor.fir create mode 100644 test/passes/expand-connect-indexed/init-vecs.fir delete mode 100644 test/refchip/BTB.fir delete mode 100644 test/refchip/Top.fir (limited to 'test') diff --git a/test/errors/gender/ReadOutput.fir b/test/errors/gender/ReadOutput.fir new file mode 100644 index 00000000..14ac75c1 --- /dev/null +++ b/test/errors/gender/ReadOutput.fir @@ -0,0 +1,12 @@ +; RUN: firrtl -i %s -o %s.v -X verilog -p c 2>&1 | tee %s.out | FileCheck %s +; CHECK: Expression out$y is used as a sink but can only be used as a source. + +circuit BTB : + module BTB : + output out : {x : UInt<1>, flip y : UInt<1>} + + wire w : {x : UInt<1>, flip y : UInt<1>} + w.x := UInt(1) + w.y := UInt(1) + out.x := UInt(1) + w <> out diff --git a/test/errors/type/Primop.fir b/test/errors/type/Primop.fir index b721881e..cb75521a 100644 --- a/test/errors/type/Primop.fir +++ b/test/errors/type/Primop.fir @@ -1,7 +1,7 @@ ; RUN: firrtl -i %s -o %s.flo -X flo -p c | tee %s.out | FileCheck %s ; CHECK: Primop mux requires all operands to have the same type. ; CHECK: Primop add cannot operate on non-ground types. -; CHECK: Primop mux requires argument SInt("h00000001") to be a UInt type. +; CHECK: Primop mux requires argument SInt("h1") to be a UInt type. circuit Top : module Top : diff --git a/test/features/InitAccessor.fir b/test/features/InitAccessor.fir new file mode 100644 index 00000000..983cbd94 --- /dev/null +++ b/test/features/InitAccessor.fir @@ -0,0 +1,10 @@ +; RUN: firrtl -i %s -o %s.flo -X flo -p c 2>&1 | tee %s.out | FileCheck %s +;CHECK: Done! +circuit Top : + module Top : + input in : UInt<1> + wire b : UInt<1>[3] + node c = UInt(1) + infer accessor a = b[c] + when in : + a := UInt(1) diff --git a/test/passes/expand-connect-indexed/init-vecs.fir b/test/passes/expand-connect-indexed/init-vecs.fir new file mode 100644 index 00000000..7d64a117 --- /dev/null +++ b/test/passes/expand-connect-indexed/init-vecs.fir @@ -0,0 +1,16 @@ +; RUN: firrtl -i %s -o %s.v -X verilog -p c 2>&1 | tee %s.out | FileCheck %s +; XFAIL: * + +; CHECK: Expand Indexed Connects +circuit top : + module top : + wire outs : UInt<32>[2][1] + outs[0][0] := UInt(1) + outs[0][1] := UInt(1) + + write accessor out = outs[UInt(0)] + out[0] := UInt(1) + +; CHECK: Done! + + diff --git a/test/refchip/BTB.fir b/test/refchip/BTB.fir deleted file mode 100644 index d31f95ca..00000000 --- a/test/refchip/BTB.fir +++ /dev/null @@ -1,4156 +0,0 @@ -circuit BTB : - module BTB : - input clk : Clock - input reset : UInt<1> - input req : {valid : UInt<1>, bits : {addr : UInt<39>}} - output resp : {valid : UInt<1>, bits : {taken : UInt<1>, mask : UInt<1>, bridx : UInt<1>, target : UInt<39>, entry : UInt<6>, bht : {history : UInt<7>, value : UInt<2>}}} - input btb_update : {valid : UInt<1>, bits : {prediction : {valid : UInt<1>, bits : {taken : UInt<1>, mask : UInt<1>, bridx : UInt<1>, target : UInt<39>, entry : UInt<6>, bht : {history : UInt<7>, value : UInt<2>}}}, pc : UInt<39>, target : UInt<39>, taken : UInt<1>, isJump : UInt<1>, isReturn : UInt<1>, br_pc : UInt<39>}} - input bht_update : {valid : UInt<1>, bits : {prediction : {valid : UInt<1>, bits : {taken : UInt<1>, mask : UInt<1>, bridx : UInt<1>, target : UInt<39>, entry : UInt<6>, bht : {history : UInt<7>, value : UInt<2>}}}, pc : UInt<39>, taken : UInt<1>, mispredict : UInt<1>}} - input ras_update : {valid : UInt<1>, bits : {isCall : UInt<1>, isReturn : UInt<1>, returnAddr : UInt<39>, prediction : {valid : UInt<1>, bits : {taken : UInt<1>, mask : UInt<1>, bridx : UInt<1>, target : UInt<39>, entry : UInt<6>, bht : {history : UInt<7>, value : UInt<2>}}}}} - input invalidate : UInt<1> - - reg idxValid : UInt<1>[62], clk, reset - cmem idxs : UInt<12>[62], clk - cmem idxPages : UInt<3>[62], clk - cmem tgts : UInt<12>[62], clk - cmem tgtPages : UInt<3>[62], clk - cmem pages : UInt<27>[6], clk - reg pageValid : UInt<6>, clk, reset - onreset pageValid := UInt<6>(0) - infer accessor T_180670 = idxPages[UInt<1>(0)] - node T_180671 = dshl(UInt<1>(1), T_180670) - node T_180672 = bits(T_180671, 5, 0) - infer accessor T_180673 = idxPages[UInt<1>(1)] - node T_180674 = dshl(UInt<1>(1), T_180673) - node T_180675 = bits(T_180674, 5, 0) - infer accessor T_180676 = idxPages[UInt<2>(2)] - node T_180677 = dshl(UInt<1>(1), T_180676) - node T_180678 = bits(T_180677, 5, 0) - infer accessor T_180679 = idxPages[UInt<2>(3)] - node T_180680 = dshl(UInt<1>(1), T_180679) - node T_180681 = bits(T_180680, 5, 0) - infer accessor T_180682 = idxPages[UInt<3>(4)] - node T_180683 = dshl(UInt<1>(1), T_180682) - node T_180684 = bits(T_180683, 5, 0) - infer accessor T_180685 = idxPages[UInt<3>(5)] - node T_180686 = dshl(UInt<1>(1), T_180685) - node T_180687 = bits(T_180686, 5, 0) - infer accessor T_180688 = idxPages[UInt<3>(6)] - node T_180689 = dshl(UInt<1>(1), T_180688) - node T_180690 = bits(T_180689, 5, 0) - infer accessor T_180691 = idxPages[UInt<3>(7)] - node T_180692 = dshl(UInt<1>(1), T_180691) - node T_180693 = bits(T_180692, 5, 0) - infer accessor T_180694 = idxPages[UInt<4>(8)] - node T_180695 = dshl(UInt<1>(1), T_180694) - node T_180696 = bits(T_180695, 5, 0) - infer accessor T_180697 = idxPages[UInt<4>(9)] - node T_180698 = dshl(UInt<1>(1), T_180697) - node T_180699 = bits(T_180698, 5, 0) - infer accessor T_180700 = idxPages[UInt<4>(10)] - node T_180701 = dshl(UInt<1>(1), T_180700) - node T_180702 = bits(T_180701, 5, 0) - infer accessor T_180703 = idxPages[UInt<4>(11)] - node T_180704 = dshl(UInt<1>(1), T_180703) - node T_180705 = bits(T_180704, 5, 0) - infer accessor T_180706 = idxPages[UInt<4>(12)] - node T_180707 = dshl(UInt<1>(1), T_180706) - node T_180708 = bits(T_180707, 5, 0) - infer accessor T_180709 = idxPages[UInt<4>(13)] - node T_180710 = dshl(UInt<1>(1), T_180709) - node T_180711 = bits(T_180710, 5, 0) - infer accessor T_180712 = idxPages[UInt<4>(14)] - node T_180713 = dshl(UInt<1>(1), T_180712) - node T_180714 = bits(T_180713, 5, 0) - infer accessor T_180715 = idxPages[UInt<4>(15)] - node T_180716 = dshl(UInt<1>(1), T_180715) - node T_180717 = bits(T_180716, 5, 0) - infer accessor T_180718 = idxPages[UInt<5>(16)] - node T_180719 = dshl(UInt<1>(1), T_180718) - node T_180720 = bits(T_180719, 5, 0) - infer accessor T_180721 = idxPages[UInt<5>(17)] - node T_180722 = dshl(UInt<1>(1), T_180721) - node T_180723 = bits(T_180722, 5, 0) - infer accessor T_180724 = idxPages[UInt<5>(18)] - node T_180725 = dshl(UInt<1>(1), T_180724) - node T_180726 = bits(T_180725, 5, 0) - infer accessor T_180727 = idxPages[UInt<5>(19)] - node T_180728 = dshl(UInt<1>(1), T_180727) - node T_180729 = bits(T_180728, 5, 0) - infer accessor T_180730 = idxPages[UInt<5>(20)] - node T_180731 = dshl(UInt<1>(1), T_180730) - node T_180732 = bits(T_180731, 5, 0) - infer accessor T_180733 = idxPages[UInt<5>(21)] - node T_180734 = dshl(UInt<1>(1), T_180733) - node T_180735 = bits(T_180734, 5, 0) - infer accessor T_180736 = idxPages[UInt<5>(22)] - node T_180737 = dshl(UInt<1>(1), T_180736) - node T_180738 = bits(T_180737, 5, 0) - infer accessor T_180739 = idxPages[UInt<5>(23)] - node T_180740 = dshl(UInt<1>(1), T_180739) - node T_180741 = bits(T_180740, 5, 0) - infer accessor T_180742 = idxPages[UInt<5>(24)] - node T_180743 = dshl(UInt<1>(1), T_180742) - node T_180744 = bits(T_180743, 5, 0) - infer accessor T_180745 = idxPages[UInt<5>(25)] - node T_180746 = dshl(UInt<1>(1), T_180745) - node T_180747 = bits(T_180746, 5, 0) - infer accessor T_180748 = idxPages[UInt<5>(26)] - node T_180749 = dshl(UInt<1>(1), T_180748) - node T_180750 = bits(T_180749, 5, 0) - infer accessor T_180751 = idxPages[UInt<5>(27)] - node T_180752 = dshl(UInt<1>(1), T_180751) - node T_180753 = bits(T_180752, 5, 0) - infer accessor T_180754 = idxPages[UInt<5>(28)] - node T_180755 = dshl(UInt<1>(1), T_180754) - node T_180756 = bits(T_180755, 5, 0) - infer accessor T_180757 = idxPages[UInt<5>(29)] - node T_180758 = dshl(UInt<1>(1), T_180757) - node T_180759 = bits(T_180758, 5, 0) - infer accessor T_180760 = idxPages[UInt<5>(30)] - node T_180761 = dshl(UInt<1>(1), T_180760) - node T_180762 = bits(T_180761, 5, 0) - infer accessor T_180763 = idxPages[UInt<5>(31)] - node T_180764 = dshl(UInt<1>(1), T_180763) - node T_180765 = bits(T_180764, 5, 0) - infer accessor T_180766 = idxPages[UInt<6>(32)] - node T_180767 = dshl(UInt<1>(1), T_180766) - node T_180768 = bits(T_180767, 5, 0) - infer accessor T_180769 = idxPages[UInt<6>(33)] - node T_180770 = dshl(UInt<1>(1), T_180769) - node T_180771 = bits(T_180770, 5, 0) - infer accessor T_180772 = idxPages[UInt<6>(34)] - node T_180773 = dshl(UInt<1>(1), T_180772) - node T_180774 = bits(T_180773, 5, 0) - infer accessor T_180775 = idxPages[UInt<6>(35)] - node T_180776 = dshl(UInt<1>(1), T_180775) - node T_180777 = bits(T_180776, 5, 0) - infer accessor T_180778 = idxPages[UInt<6>(36)] - node T_180779 = dshl(UInt<1>(1), T_180778) - node T_180780 = bits(T_180779, 5, 0) - infer accessor T_180781 = idxPages[UInt<6>(37)] - node T_180782 = dshl(UInt<1>(1), T_180781) - node T_180783 = bits(T_180782, 5, 0) - infer accessor T_180784 = idxPages[UInt<6>(38)] - node T_180785 = dshl(UInt<1>(1), T_180784) - node T_180786 = bits(T_180785, 5, 0) - infer accessor T_180787 = idxPages[UInt<6>(39)] - node T_180788 = dshl(UInt<1>(1), T_180787) - node T_180789 = bits(T_180788, 5, 0) - infer accessor T_180790 = idxPages[UInt<6>(40)] - node T_180791 = dshl(UInt<1>(1), T_180790) - node T_180792 = bits(T_180791, 5, 0) - infer accessor T_180793 = idxPages[UInt<6>(41)] - node T_180794 = dshl(UInt<1>(1), T_180793) - node T_180795 = bits(T_180794, 5, 0) - infer accessor T_180796 = idxPages[UInt<6>(42)] - node T_180797 = dshl(UInt<1>(1), T_180796) - node T_180798 = bits(T_180797, 5, 0) - infer accessor T_180799 = idxPages[UInt<6>(43)] - node T_180800 = dshl(UInt<1>(1), T_180799) - node T_180801 = bits(T_180800, 5, 0) - infer accessor T_180802 = idxPages[UInt<6>(44)] - node T_180803 = dshl(UInt<1>(1), T_180802) - node T_180804 = bits(T_180803, 5, 0) - infer accessor T_180805 = idxPages[UInt<6>(45)] - node T_180806 = dshl(UInt<1>(1), T_180805) - node T_180807 = bits(T_180806, 5, 0) - infer accessor T_180808 = idxPages[UInt<6>(46)] - node T_180809 = dshl(UInt<1>(1), T_180808) - node T_180810 = bits(T_180809, 5, 0) - infer accessor T_180811 = idxPages[UInt<6>(47)] - node T_180812 = dshl(UInt<1>(1), T_180811) - node T_180813 = bits(T_180812, 5, 0) - infer accessor T_180814 = idxPages[UInt<6>(48)] - node T_180815 = dshl(UInt<1>(1), T_180814) - node T_180816 = bits(T_180815, 5, 0) - infer accessor T_180817 = idxPages[UInt<6>(49)] - node T_180818 = dshl(UInt<1>(1), T_180817) - node T_180819 = bits(T_180818, 5, 0) - infer accessor T_180820 = idxPages[UInt<6>(50)] - node T_180821 = dshl(UInt<1>(1), T_180820) - node T_180822 = bits(T_180821, 5, 0) - infer accessor T_180823 = idxPages[UInt<6>(51)] - node T_180824 = dshl(UInt<1>(1), T_180823) - node T_180825 = bits(T_180824, 5, 0) - infer accessor T_180826 = idxPages[UInt<6>(52)] - node T_180827 = dshl(UInt<1>(1), T_180826) - node T_180828 = bits(T_180827, 5, 0) - infer accessor T_180829 = idxPages[UInt<6>(53)] - node T_180830 = dshl(UInt<1>(1), T_180829) - node T_180831 = bits(T_180830, 5, 0) - infer accessor T_180832 = idxPages[UInt<6>(54)] - node T_180833 = dshl(UInt<1>(1), T_180832) - node T_180834 = bits(T_180833, 5, 0) - infer accessor T_180835 = idxPages[UInt<6>(55)] - node T_180836 = dshl(UInt<1>(1), T_180835) - node T_180837 = bits(T_180836, 5, 0) - infer accessor T_180838 = idxPages[UInt<6>(56)] - node T_180839 = dshl(UInt<1>(1), T_180838) - node T_180840 = bits(T_180839, 5, 0) - infer accessor T_180841 = idxPages[UInt<6>(57)] - node T_180842 = dshl(UInt<1>(1), T_180841) - node T_180843 = bits(T_180842, 5, 0) - infer accessor T_180844 = idxPages[UInt<6>(58)] - node T_180845 = dshl(UInt<1>(1), T_180844) - node T_180846 = bits(T_180845, 5, 0) - infer accessor T_180847 = idxPages[UInt<6>(59)] - node T_180848 = dshl(UInt<1>(1), T_180847) - node T_180849 = bits(T_180848, 5, 0) - infer accessor T_180850 = idxPages[UInt<6>(60)] - node T_180851 = dshl(UInt<1>(1), T_180850) - node T_180852 = bits(T_180851, 5, 0) - infer accessor T_180853 = idxPages[UInt<6>(61)] - node T_180854 = dshl(UInt<1>(1), T_180853) - node T_180855 = bits(T_180854, 5, 0) - infer accessor T_180856 = tgtPages[UInt<1>(0)] - node T_180857 = dshl(UInt<1>(1), T_180856) - node T_180858 = bits(T_180857, 5, 0) - infer accessor T_180859 = tgtPages[UInt<1>(1)] - node T_180860 = dshl(UInt<1>(1), T_180859) - node T_180861 = bits(T_180860, 5, 0) - infer accessor T_180862 = tgtPages[UInt<2>(2)] - node T_180863 = dshl(UInt<1>(1), T_180862) - node T_180864 = bits(T_180863, 5, 0) - infer accessor T_180865 = tgtPages[UInt<2>(3)] - node T_180866 = dshl(UInt<1>(1), T_180865) - node T_180867 = bits(T_180866, 5, 0) - infer accessor T_180868 = tgtPages[UInt<3>(4)] - node T_180869 = dshl(UInt<1>(1), T_180868) - node T_180870 = bits(T_180869, 5, 0) - infer accessor T_180871 = tgtPages[UInt<3>(5)] - node T_180872 = dshl(UInt<1>(1), T_180871) - node T_180873 = bits(T_180872, 5, 0) - infer accessor T_180874 = tgtPages[UInt<3>(6)] - node T_180875 = dshl(UInt<1>(1), T_180874) - node T_180876 = bits(T_180875, 5, 0) - infer accessor T_180877 = tgtPages[UInt<3>(7)] - node T_180878 = dshl(UInt<1>(1), T_180877) - node T_180879 = bits(T_180878, 5, 0) - infer accessor T_180880 = tgtPages[UInt<4>(8)] - node T_180881 = dshl(UInt<1>(1), T_180880) - node T_180882 = bits(T_180881, 5, 0) - infer accessor T_180883 = tgtPages[UInt<4>(9)] - node T_180884 = dshl(UInt<1>(1), T_180883) - node T_180885 = bits(T_180884, 5, 0) - infer accessor T_180886 = tgtPages[UInt<4>(10)] - node T_180887 = dshl(UInt<1>(1), T_180886) - node T_180888 = bits(T_180887, 5, 0) - infer accessor T_180889 = tgtPages[UInt<4>(11)] - node T_180890 = dshl(UInt<1>(1), T_180889) - node T_180891 = bits(T_180890, 5, 0) - infer accessor T_180892 = tgtPages[UInt<4>(12)] - node T_180893 = dshl(UInt<1>(1), T_180892) - node T_180894 = bits(T_180893, 5, 0) - infer accessor T_180895 = tgtPages[UInt<4>(13)] - node T_180896 = dshl(UInt<1>(1), T_180895) - node T_180897 = bits(T_180896, 5, 0) - infer accessor T_180898 = tgtPages[UInt<4>(14)] - node T_180899 = dshl(UInt<1>(1), T_180898) - node T_180900 = bits(T_180899, 5, 0) - infer accessor T_180901 = tgtPages[UInt<4>(15)] - node T_180902 = dshl(UInt<1>(1), T_180901) - node T_180903 = bits(T_180902, 5, 0) - infer accessor T_180904 = tgtPages[UInt<5>(16)] - node T_180905 = dshl(UInt<1>(1), T_180904) - node T_180906 = bits(T_180905, 5, 0) - infer accessor T_180907 = tgtPages[UInt<5>(17)] - node T_180908 = dshl(UInt<1>(1), T_180907) - node T_180909 = bits(T_180908, 5, 0) - infer accessor T_180910 = tgtPages[UInt<5>(18)] - node T_180911 = dshl(UInt<1>(1), T_180910) - node T_180912 = bits(T_180911, 5, 0) - infer accessor T_180913 = tgtPages[UInt<5>(19)] - node T_180914 = dshl(UInt<1>(1), T_180913) - node T_180915 = bits(T_180914, 5, 0) - infer accessor T_180916 = tgtPages[UInt<5>(20)] - node T_180917 = dshl(UInt<1>(1), T_180916) - node T_180918 = bits(T_180917, 5, 0) - infer accessor T_180919 = tgtPages[UInt<5>(21)] - node T_180920 = dshl(UInt<1>(1), T_180919) - node T_180921 = bits(T_180920, 5, 0) - infer accessor T_180922 = tgtPages[UInt<5>(22)] - node T_180923 = dshl(UInt<1>(1), T_180922) - node T_180924 = bits(T_180923, 5, 0) - infer accessor T_180925 = tgtPages[UInt<5>(23)] - node T_180926 = dshl(UInt<1>(1), T_180925) - node T_180927 = bits(T_180926, 5, 0) - infer accessor T_180928 = tgtPages[UInt<5>(24)] - node T_180929 = dshl(UInt<1>(1), T_180928) - node T_180930 = bits(T_180929, 5, 0) - infer accessor T_180931 = tgtPages[UInt<5>(25)] - node T_180932 = dshl(UInt<1>(1), T_180931) - node T_180933 = bits(T_180932, 5, 0) - infer accessor T_180934 = tgtPages[UInt<5>(26)] - node T_180935 = dshl(UInt<1>(1), T_180934) - node T_180936 = bits(T_180935, 5, 0) - infer accessor T_180937 = tgtPages[UInt<5>(27)] - node T_180938 = dshl(UInt<1>(1), T_180937) - node T_180939 = bits(T_180938, 5, 0) - infer accessor T_180940 = tgtPages[UInt<5>(28)] - node T_180941 = dshl(UInt<1>(1), T_180940) - node T_180942 = bits(T_180941, 5, 0) - infer accessor T_180943 = tgtPages[UInt<5>(29)] - node T_180944 = dshl(UInt<1>(1), T_180943) - node T_180945 = bits(T_180944, 5, 0) - infer accessor T_180946 = tgtPages[UInt<5>(30)] - node T_180947 = dshl(UInt<1>(1), T_180946) - node T_180948 = bits(T_180947, 5, 0) - infer accessor T_180949 = tgtPages[UInt<5>(31)] - node T_180950 = dshl(UInt<1>(1), T_180949) - node T_180951 = bits(T_180950, 5, 0) - infer accessor T_180952 = tgtPages[UInt<6>(32)] - node T_180953 = dshl(UInt<1>(1), T_180952) - node T_180954 = bits(T_180953, 5, 0) - infer accessor T_180955 = tgtPages[UInt<6>(33)] - node T_180956 = dshl(UInt<1>(1), T_180955) - node T_180957 = bits(T_180956, 5, 0) - infer accessor T_180958 = tgtPages[UInt<6>(34)] - node T_180959 = dshl(UInt<1>(1), T_180958) - node T_180960 = bits(T_180959, 5, 0) - infer accessor T_180961 = tgtPages[UInt<6>(35)] - node T_180962 = dshl(UInt<1>(1), T_180961) - node T_180963 = bits(T_180962, 5, 0) - infer accessor T_180964 = tgtPages[UInt<6>(36)] - node T_180965 = dshl(UInt<1>(1), T_180964) - node T_180966 = bits(T_180965, 5, 0) - infer accessor T_180967 = tgtPages[UInt<6>(37)] - node T_180968 = dshl(UInt<1>(1), T_180967) - node T_180969 = bits(T_180968, 5, 0) - infer accessor T_180970 = tgtPages[UInt<6>(38)] - node T_180971 = dshl(UInt<1>(1), T_180970) - node T_180972 = bits(T_180971, 5, 0) - infer accessor T_180973 = tgtPages[UInt<6>(39)] - node T_180974 = dshl(UInt<1>(1), T_180973) - node T_180975 = bits(T_180974, 5, 0) - infer accessor T_180976 = tgtPages[UInt<6>(40)] - node T_180977 = dshl(UInt<1>(1), T_180976) - node T_180978 = bits(T_180977, 5, 0) - infer accessor T_180979 = tgtPages[UInt<6>(41)] - node T_180980 = dshl(UInt<1>(1), T_180979) - node T_180981 = bits(T_180980, 5, 0) - infer accessor T_180982 = tgtPages[UInt<6>(42)] - node T_180983 = dshl(UInt<1>(1), T_180982) - node T_180984 = bits(T_180983, 5, 0) - infer accessor T_180985 = tgtPages[UInt<6>(43)] - node T_180986 = dshl(UInt<1>(1), T_180985) - node T_180987 = bits(T_180986, 5, 0) - infer accessor T_180988 = tgtPages[UInt<6>(44)] - node T_180989 = dshl(UInt<1>(1), T_180988) - node T_180990 = bits(T_180989, 5, 0) - infer accessor T_180991 = tgtPages[UInt<6>(45)] - node T_180992 = dshl(UInt<1>(1), T_180991) - node T_180993 = bits(T_180992, 5, 0) - infer accessor T_180994 = tgtPages[UInt<6>(46)] - node T_180995 = dshl(UInt<1>(1), T_180994) - node T_180996 = bits(T_180995, 5, 0) - infer accessor T_180997 = tgtPages[UInt<6>(47)] - node T_180998 = dshl(UInt<1>(1), T_180997) - node T_180999 = bits(T_180998, 5, 0) - infer accessor T_181000 = tgtPages[UInt<6>(48)] - node T_181001 = dshl(UInt<1>(1), T_181000) - node T_181002 = bits(T_181001, 5, 0) - infer accessor T_181003 = tgtPages[UInt<6>(49)] - node T_181004 = dshl(UInt<1>(1), T_181003) - node T_181005 = bits(T_181004, 5, 0) - infer accessor T_181006 = tgtPages[UInt<6>(50)] - node T_181007 = dshl(UInt<1>(1), T_181006) - node T_181008 = bits(T_181007, 5, 0) - infer accessor T_181009 = tgtPages[UInt<6>(51)] - node T_181010 = dshl(UInt<1>(1), T_181009) - node T_181011 = bits(T_181010, 5, 0) - infer accessor T_181012 = tgtPages[UInt<6>(52)] - node T_181013 = dshl(UInt<1>(1), T_181012) - node T_181014 = bits(T_181013, 5, 0) - infer accessor T_181015 = tgtPages[UInt<6>(53)] - node T_181016 = dshl(UInt<1>(1), T_181015) - node T_181017 = bits(T_181016, 5, 0) - infer accessor T_181018 = tgtPages[UInt<6>(54)] - node T_181019 = dshl(UInt<1>(1), T_181018) - node T_181020 = bits(T_181019, 5, 0) - infer accessor T_181021 = tgtPages[UInt<6>(55)] - node T_181022 = dshl(UInt<1>(1), T_181021) - node T_181023 = bits(T_181022, 5, 0) - infer accessor T_181024 = tgtPages[UInt<6>(56)] - node T_181025 = dshl(UInt<1>(1), T_181024) - node T_181026 = bits(T_181025, 5, 0) - infer accessor T_181027 = tgtPages[UInt<6>(57)] - node T_181028 = dshl(UInt<1>(1), T_181027) - node T_181029 = bits(T_181028, 5, 0) - infer accessor T_181030 = tgtPages[UInt<6>(58)] - node T_181031 = dshl(UInt<1>(1), T_181030) - node T_181032 = bits(T_181031, 5, 0) - infer accessor T_181033 = tgtPages[UInt<6>(59)] - node T_181034 = dshl(UInt<1>(1), T_181033) - node T_181035 = bits(T_181034, 5, 0) - infer accessor T_181036 = tgtPages[UInt<6>(60)] - node T_181037 = dshl(UInt<1>(1), T_181036) - node T_181038 = bits(T_181037, 5, 0) - infer accessor T_181039 = tgtPages[UInt<6>(61)] - node T_181040 = dshl(UInt<1>(1), T_181039) - node T_181041 = bits(T_181040, 5, 0) - reg useRAS : UInt<1>[62], clk, reset - reg isJump : UInt<1>[62], clk, reset - cmem brIdx : UInt<1>[62], clk - reg T_181042 : UInt<1>, clk, reset - onreset T_181042 := UInt<1>(0) - T_181042 := btb_update.valid - reg T_181043 : {prediction : {valid : UInt<1>, bits : {taken : UInt<1>, mask : UInt<1>, bridx : UInt<1>, target : UInt<39>, entry : UInt<6>, bht : {history : UInt<7>, value : UInt<2>}}}, pc : UInt<39>, target : UInt<39>, taken : UInt<1>, isJump : UInt<1>, isReturn : UInt<1>, br_pc : UInt<39>}, clk, reset - when btb_update.valid : T_181043 := btb_update.bits - r_btb_update.valid <> T_181042 - r_btb_update.bits <> T_181043 - node T_181044 = shr(req.bits.addr, 12) - infer accessor T_181045 = pages[UInt<1>(0)] - node T_181046 = eq(T_181045, T_181044) - infer accessor T_181047 = pages[UInt<1>(1)] - node T_181048 = eq(T_181047, T_181044) - infer accessor T_181049 = pages[UInt<2>(2)] - node T_181050 = eq(T_181049, T_181044) - infer accessor T_181051 = pages[UInt<2>(3)] - node T_181052 = eq(T_181051, T_181044) - infer accessor T_181053 = pages[UInt<3>(4)] - node T_181054 = eq(T_181053, T_181044) - infer accessor T_181055 = pages[UInt<3>(5)] - node T_181056 = eq(T_181055, T_181044) - wire T_181057 : UInt<1>[6] - T_181057[0] := T_181046 - T_181057[1] := T_181048 - T_181057[2] := T_181050 - T_181057[3] := T_181052 - T_181057[4] := T_181054 - T_181057[5] := T_181056 - node T_181058 = cat(T_181057[4], T_181057[3]) - node T_181059 = cat(T_181057[5], T_181058) - node T_181060 = cat(T_181057[1], T_181057[0]) - node T_181061 = cat(T_181057[2], T_181060) - node T_181062 = cat(T_181059, T_181061) - node pageHit = and(T_181062, pageValid) - node T_181063 = bits(req.bits.addr, 11, 0) - infer accessor T_181064 = idxs[UInt<1>(0)] - node T_181065 = eq(T_181064, T_181063) - infer accessor T_181066 = idxs[UInt<1>(1)] - node T_181067 = eq(T_181066, T_181063) - infer accessor T_181068 = idxs[UInt<2>(2)] - node T_181069 = eq(T_181068, T_181063) - infer accessor T_181070 = idxs[UInt<2>(3)] - node T_181071 = eq(T_181070, T_181063) - infer accessor T_181072 = idxs[UInt<3>(4)] - node T_181073 = eq(T_181072, T_181063) - infer accessor T_181074 = idxs[UInt<3>(5)] - node T_181075 = eq(T_181074, T_181063) - infer accessor T_181076 = idxs[UInt<3>(6)] - node T_181077 = eq(T_181076, T_181063) - infer accessor T_181078 = idxs[UInt<3>(7)] - node T_181079 = eq(T_181078, T_181063) - infer accessor T_181080 = idxs[UInt<4>(8)] - node T_181081 = eq(T_181080, T_181063) - infer accessor T_181082 = idxs[UInt<4>(9)] - node T_181083 = eq(T_181082, T_181063) - infer accessor T_181084 = idxs[UInt<4>(10)] - node T_181085 = eq(T_181084, T_181063) - infer accessor T_181086 = idxs[UInt<4>(11)] - node T_181087 = eq(T_181086, T_181063) - infer accessor T_181088 = idxs[UInt<4>(12)] - node T_181089 = eq(T_181088, T_181063) - infer accessor T_181090 = idxs[UInt<4>(13)] - node T_181091 = eq(T_181090, T_181063) - infer accessor T_181092 = idxs[UInt<4>(14)] - node T_181093 = eq(T_181092, T_181063) - infer accessor T_181094 = idxs[UInt<4>(15)] - node T_181095 = eq(T_181094, T_181063) - infer accessor T_181096 = idxs[UInt<5>(16)] - node T_181097 = eq(T_181096, T_181063) - infer accessor T_181098 = idxs[UInt<5>(17)] - node T_181099 = eq(T_181098, T_181063) - infer accessor T_181100 = idxs[UInt<5>(18)] - node T_181101 = eq(T_181100, T_181063) - infer accessor T_181102 = idxs[UInt<5>(19)] - node T_181103 = eq(T_181102, T_181063) - infer accessor T_181104 = idxs[UInt<5>(20)] - node T_181105 = eq(T_181104, T_181063) - infer accessor T_181106 = idxs[UInt<5>(21)] - node T_181107 = eq(T_181106, T_181063) - infer accessor T_181108 = idxs[UInt<5>(22)] - node T_181109 = eq(T_181108, T_181063) - infer accessor T_181110 = idxs[UInt<5>(23)] - node T_181111 = eq(T_181110, T_181063) - infer accessor T_181112 = idxs[UInt<5>(24)] - node T_181113 = eq(T_181112, T_181063) - infer accessor T_181114 = idxs[UInt<5>(25)] - node T_181115 = eq(T_181114, T_181063) - infer accessor T_181116 = idxs[UInt<5>(26)] - node T_181117 = eq(T_181116, T_181063) - infer accessor T_181118 = idxs[UInt<5>(27)] - node T_181119 = eq(T_181118, T_181063) - infer accessor T_181120 = idxs[UInt<5>(28)] - node T_181121 = eq(T_181120, T_181063) - infer accessor T_181122 = idxs[UInt<5>(29)] - node T_181123 = eq(T_181122, T_181063) - infer accessor T_181124 = idxs[UInt<5>(30)] - node T_181125 = eq(T_181124, T_181063) - infer accessor T_181126 = idxs[UInt<5>(31)] - node T_181127 = eq(T_181126, T_181063) - infer accessor T_181128 = idxs[UInt<6>(32)] - node T_181129 = eq(T_181128, T_181063) - infer accessor T_181130 = idxs[UInt<6>(33)] - node T_181131 = eq(T_181130, T_181063) - infer accessor T_181132 = idxs[UInt<6>(34)] - node T_181133 = eq(T_181132, T_181063) - infer accessor T_181134 = idxs[UInt<6>(35)] - node T_181135 = eq(T_181134, T_181063) - infer accessor T_181136 = idxs[UInt<6>(36)] - node T_181137 = eq(T_181136, T_181063) - infer accessor T_181138 = idxs[UInt<6>(37)] - node T_181139 = eq(T_181138, T_181063) - infer accessor T_181140 = idxs[UInt<6>(38)] - node T_181141 = eq(T_181140, T_181063) - infer accessor T_181142 = idxs[UInt<6>(39)] - node T_181143 = eq(T_181142, T_181063) - infer accessor T_181144 = idxs[UInt<6>(40)] - node T_181145 = eq(T_181144, T_181063) - infer accessor T_181146 = idxs[UInt<6>(41)] - node T_181147 = eq(T_181146, T_181063) - infer accessor T_181148 = idxs[UInt<6>(42)] - node T_181149 = eq(T_181148, T_181063) - infer accessor T_181150 = idxs[UInt<6>(43)] - node T_181151 = eq(T_181150, T_181063) - infer accessor T_181152 = idxs[UInt<6>(44)] - node T_181153 = eq(T_181152, T_181063) - infer accessor T_181154 = idxs[UInt<6>(45)] - node T_181155 = eq(T_181154, T_181063) - infer accessor T_181156 = idxs[UInt<6>(46)] - node T_181157 = eq(T_181156, T_181063) - infer accessor T_181158 = idxs[UInt<6>(47)] - node T_181159 = eq(T_181158, T_181063) - infer accessor T_181160 = idxs[UInt<6>(48)] - node T_181161 = eq(T_181160, T_181063) - infer accessor T_181162 = idxs[UInt<6>(49)] - node T_181163 = eq(T_181162, T_181063) - infer accessor T_181164 = idxs[UInt<6>(50)] - node T_181165 = eq(T_181164, T_181063) - infer accessor T_181166 = idxs[UInt<6>(51)] - node T_181167 = eq(T_181166, T_181063) - infer accessor T_181168 = idxs[UInt<6>(52)] - node T_181169 = eq(T_181168, T_181063) - infer accessor T_181170 = idxs[UInt<6>(53)] - node T_181171 = eq(T_181170, T_181063) - infer accessor T_181172 = idxs[UInt<6>(54)] - node T_181173 = eq(T_181172, T_181063) - infer accessor T_181174 = idxs[UInt<6>(55)] - node T_181175 = eq(T_181174, T_181063) - infer accessor T_181176 = idxs[UInt<6>(56)] - node T_181177 = eq(T_181176, T_181063) - infer accessor T_181178 = idxs[UInt<6>(57)] - node T_181179 = eq(T_181178, T_181063) - infer accessor T_181180 = idxs[UInt<6>(58)] - node T_181181 = eq(T_181180, T_181063) - infer accessor T_181182 = idxs[UInt<6>(59)] - node T_181183 = eq(T_181182, T_181063) - infer accessor T_181184 = idxs[UInt<6>(60)] - node T_181185 = eq(T_181184, T_181063) - infer accessor T_181186 = idxs[UInt<6>(61)] - node T_181187 = eq(T_181186, T_181063) - wire T_181188 : UInt<1>[62] - T_181188[0] := T_181065 - T_181188[1] := T_181067 - T_181188[2] := T_181069 - T_181188[3] := T_181071 - T_181188[4] := T_181073 - T_181188[5] := T_181075 - T_181188[6] := T_181077 - T_181188[7] := T_181079 - T_181188[8] := T_181081 - T_181188[9] := T_181083 - T_181188[10] := T_181085 - T_181188[11] := T_181087 - T_181188[12] := T_181089 - T_181188[13] := T_181091 - T_181188[14] := T_181093 - T_181188[15] := T_181095 - T_181188[16] := T_181097 - T_181188[17] := T_181099 - T_181188[18] := T_181101 - T_181188[19] := T_181103 - T_181188[20] := T_181105 - T_181188[21] := T_181107 - T_181188[22] := T_181109 - T_181188[23] := T_181111 - T_181188[24] := T_181113 - T_181188[25] := T_181115 - T_181188[26] := T_181117 - T_181188[27] := T_181119 - T_181188[28] := T_181121 - T_181188[29] := T_181123 - T_181188[30] := T_181125 - T_181188[31] := T_181127 - T_181188[32] := T_181129 - T_181188[33] := T_181131 - T_181188[34] := T_181133 - T_181188[35] := T_181135 - T_181188[36] := T_181137 - T_181188[37] := T_181139 - T_181188[38] := T_181141 - T_181188[39] := T_181143 - T_181188[40] := T_181145 - T_181188[41] := T_181147 - T_181188[42] := T_181149 - T_181188[43] := T_181151 - T_181188[44] := T_181153 - T_181188[45] := T_181155 - T_181188[46] := T_181157 - T_181188[47] := T_181159 - T_181188[48] := T_181161 - T_181188[49] := T_181163 - T_181188[50] := T_181165 - T_181188[51] := T_181167 - T_181188[52] := T_181169 - T_181188[53] := T_181171 - T_181188[54] := T_181173 - T_181188[55] := T_181175 - T_181188[56] := T_181177 - T_181188[57] := T_181179 - T_181188[58] := T_181181 - T_181188[59] := T_181183 - T_181188[60] := T_181185 - T_181188[61] := T_181187 - node T_181189 = cat(T_181188[60], T_181188[59]) - node T_181190 = cat(T_181188[61], T_181189) - node T_181191 = cat(T_181188[58], T_181188[57]) - node T_181192 = cat(T_181188[56], T_181188[55]) - node T_181193 = cat(T_181191, T_181192) - node T_181194 = cat(T_181190, T_181193) - node T_181195 = cat(T_181188[54], T_181188[53]) - node T_181196 = cat(T_181188[52], T_181188[51]) - node T_181197 = cat(T_181195, T_181196) - node T_181198 = cat(T_181188[50], T_181188[49]) - node T_181199 = cat(T_181188[48], T_181188[47]) - node T_181200 = cat(T_181198, T_181199) - node T_181201 = cat(T_181197, T_181200) - node T_181202 = cat(T_181194, T_181201) - node T_181203 = cat(T_181188[46], T_181188[45]) - node T_181204 = cat(T_181188[44], T_181188[43]) - node T_181205 = cat(T_181203, T_181204) - node T_181206 = cat(T_181188[42], T_181188[41]) - node T_181207 = cat(T_181188[40], T_181188[39]) - node T_181208 = cat(T_181206, T_181207) - node T_181209 = cat(T_181205, T_181208) - node T_181210 = cat(T_181188[38], T_181188[37]) - node T_181211 = cat(T_181188[36], T_181188[35]) - node T_181212 = cat(T_181210, T_181211) - node T_181213 = cat(T_181188[34], T_181188[33]) - node T_181214 = cat(T_181188[32], T_181188[31]) - node T_181215 = cat(T_181213, T_181214) - node T_181216 = cat(T_181212, T_181215) - node T_181217 = cat(T_181209, T_181216) - node T_181218 = cat(T_181202, T_181217) - node T_181219 = cat(T_181188[29], T_181188[28]) - node T_181220 = cat(T_181188[30], T_181219) - node T_181221 = cat(T_181188[27], T_181188[26]) - node T_181222 = cat(T_181188[25], T_181188[24]) - node T_181223 = cat(T_181221, T_181222) - node T_181224 = cat(T_181220, T_181223) - node T_181225 = cat(T_181188[23], T_181188[22]) - node T_181226 = cat(T_181188[21], T_181188[20]) - node T_181227 = cat(T_181225, T_181226) - node T_181228 = cat(T_181188[19], T_181188[18]) - node T_181229 = cat(T_181188[17], T_181188[16]) - node T_181230 = cat(T_181228, T_181229) - node T_181231 = cat(T_181227, T_181230) - node T_181232 = cat(T_181224, T_181231) - node T_181233 = cat(T_181188[15], T_181188[14]) - node T_181234 = cat(T_181188[13], T_181188[12]) - node T_181235 = cat(T_181233, T_181234) - node T_181236 = cat(T_181188[11], T_181188[10]) - node T_181237 = cat(T_181188[9], T_181188[8]) - node T_181238 = cat(T_181236, T_181237) - node T_181239 = cat(T_181235, T_181238) - node T_181240 = cat(T_181188[7], T_181188[6]) - node T_181241 = cat(T_181188[5], T_181188[4]) - node T_181242 = cat(T_181240, T_181241) - node T_181243 = cat(T_181188[3], T_181188[2]) - node T_181244 = cat(T_181188[1], T_181188[0]) - node T_181245 = cat(T_181243, T_181244) - node T_181246 = cat(T_181242, T_181245) - node T_181247 = cat(T_181239, T_181246) - node T_181248 = cat(T_181232, T_181247) - node T_181249 = cat(T_181218, T_181248) - node T_181250 = and(T_180672, pageHit) - node T_181251 = and(T_180675, pageHit) - node T_181252 = and(T_180678, pageHit) - node T_181253 = and(T_180681, pageHit) - node T_181254 = and(T_180684, pageHit) - node T_181255 = and(T_180687, pageHit) - node T_181256 = and(T_180690, pageHit) - node T_181257 = and(T_180693, pageHit) - node T_181258 = and(T_180696, pageHit) - node T_181259 = and(T_180699, pageHit) - node T_181260 = and(T_180702, pageHit) - node T_181261 = and(T_180705, pageHit) - node T_181262 = and(T_180708, pageHit) - node T_181263 = and(T_180711, pageHit) - node T_181264 = and(T_180714, pageHit) - node T_181265 = and(T_180717, pageHit) - node T_181266 = and(T_180720, pageHit) - node T_181267 = and(T_180723, pageHit) - node T_181268 = and(T_180726, pageHit) - node T_181269 = and(T_180729, pageHit) - node T_181270 = and(T_180732, pageHit) - node T_181271 = and(T_180735, pageHit) - node T_181272 = and(T_180738, pageHit) - node T_181273 = and(T_180741, pageHit) - node T_181274 = and(T_180744, pageHit) - node T_181275 = and(T_180747, pageHit) - node T_181276 = and(T_180750, pageHit) - node T_181277 = and(T_180753, pageHit) - node T_181278 = and(T_180756, pageHit) - node T_181279 = and(T_180759, pageHit) - node T_181280 = and(T_180762, pageHit) - node T_181281 = and(T_180765, pageHit) - node T_181282 = and(T_180768, pageHit) - node T_181283 = and(T_180771, pageHit) - node T_181284 = and(T_180774, pageHit) - node T_181285 = and(T_180777, pageHit) - node T_181286 = and(T_180780, pageHit) - node T_181287 = and(T_180783, pageHit) - node T_181288 = and(T_180786, pageHit) - node T_181289 = and(T_180789, pageHit) - node T_181290 = and(T_180792, pageHit) - node T_181291 = and(T_180795, pageHit) - node T_181292 = and(T_180798, pageHit) - node T_181293 = and(T_180801, pageHit) - node T_181294 = and(T_180804, pageHit) - node T_181295 = and(T_180807, pageHit) - node T_181296 = and(T_180810, pageHit) - node T_181297 = and(T_180813, pageHit) - node T_181298 = and(T_180816, pageHit) - node T_181299 = and(T_180819, pageHit) - node T_181300 = and(T_180822, pageHit) - node T_181301 = and(T_180825, pageHit) - node T_181302 = and(T_180828, pageHit) - node T_181303 = and(T_180831, pageHit) - node T_181304 = and(T_180834, pageHit) - node T_181305 = and(T_180837, pageHit) - node T_181306 = and(T_180840, pageHit) - node T_181307 = and(T_180843, pageHit) - node T_181308 = and(T_180846, pageHit) - node T_181309 = and(T_180849, pageHit) - node T_181310 = and(T_180852, pageHit) - node T_181311 = and(T_180855, pageHit) - node T_181312 = eq(T_181250, UInt<1>(0)) - node T_181313 = eq(T_181312, UInt<1>(0)) - node T_181314 = eq(T_181251, UInt<1>(0)) - node T_181315 = eq(T_181314, UInt<1>(0)) - node T_181316 = eq(T_181252, UInt<1>(0)) - node T_181317 = eq(T_181316, UInt<1>(0)) - node T_181318 = eq(T_181253, UInt<1>(0)) - node T_181319 = eq(T_181318, UInt<1>(0)) - node T_181320 = eq(T_181254, UInt<1>(0)) - node T_181321 = eq(T_181320, UInt<1>(0)) - node T_181322 = eq(T_181255, UInt<1>(0)) - node T_181323 = eq(T_181322, UInt<1>(0)) - node T_181324 = eq(T_181256, UInt<1>(0)) - node T_181325 = eq(T_181324, UInt<1>(0)) - node T_181326 = eq(T_181257, UInt<1>(0)) - node T_181327 = eq(T_181326, UInt<1>(0)) - node T_181328 = eq(T_181258, UInt<1>(0)) - node T_181329 = eq(T_181328, UInt<1>(0)) - node T_181330 = eq(T_181259, UInt<1>(0)) - node T_181331 = eq(T_181330, UInt<1>(0)) - node T_181332 = eq(T_181260, UInt<1>(0)) - node T_181333 = eq(T_181332, UInt<1>(0)) - node T_181334 = eq(T_181261, UInt<1>(0)) - node T_181335 = eq(T_181334, UInt<1>(0)) - node T_181336 = eq(T_181262, UInt<1>(0)) - node T_181337 = eq(T_181336, UInt<1>(0)) - node T_181338 = eq(T_181263, UInt<1>(0)) - node T_181339 = eq(T_181338, UInt<1>(0)) - node T_181340 = eq(T_181264, UInt<1>(0)) - node T_181341 = eq(T_181340, UInt<1>(0)) - node T_181342 = eq(T_181265, UInt<1>(0)) - node T_181343 = eq(T_181342, UInt<1>(0)) - node T_181344 = eq(T_181266, UInt<1>(0)) - node T_181345 = eq(T_181344, UInt<1>(0)) - node T_181346 = eq(T_181267, UInt<1>(0)) - node T_181347 = eq(T_181346, UInt<1>(0)) - node T_181348 = eq(T_181268, UInt<1>(0)) - node T_181349 = eq(T_181348, UInt<1>(0)) - node T_181350 = eq(T_181269, UInt<1>(0)) - node T_181351 = eq(T_181350, UInt<1>(0)) - node T_181352 = eq(T_181270, UInt<1>(0)) - node T_181353 = eq(T_181352, UInt<1>(0)) - node T_181354 = eq(T_181271, UInt<1>(0)) - node T_181355 = eq(T_181354, UInt<1>(0)) - node T_181356 = eq(T_181272, UInt<1>(0)) - node T_181357 = eq(T_181356, UInt<1>(0)) - node T_181358 = eq(T_181273, UInt<1>(0)) - node T_181359 = eq(T_181358, UInt<1>(0)) - node T_181360 = eq(T_181274, UInt<1>(0)) - node T_181361 = eq(T_181360, UInt<1>(0)) - node T_181362 = eq(T_181275, UInt<1>(0)) - node T_181363 = eq(T_181362, UInt<1>(0)) - node T_181364 = eq(T_181276, UInt<1>(0)) - node T_181365 = eq(T_181364, UInt<1>(0)) - node T_181366 = eq(T_181277, UInt<1>(0)) - node T_181367 = eq(T_181366, UInt<1>(0)) - node T_181368 = eq(T_181278, UInt<1>(0)) - node T_181369 = eq(T_181368, UInt<1>(0)) - node T_181370 = eq(T_181279, UInt<1>(0)) - node T_181371 = eq(T_181370, UInt<1>(0)) - node T_181372 = eq(T_181280, UInt<1>(0)) - node T_181373 = eq(T_181372, UInt<1>(0)) - node T_181374 = eq(T_181281, UInt<1>(0)) - node T_181375 = eq(T_181374, UInt<1>(0)) - node T_181376 = eq(T_181282, UInt<1>(0)) - node T_181377 = eq(T_181376, UInt<1>(0)) - node T_181378 = eq(T_181283, UInt<1>(0)) - node T_181379 = eq(T_181378, UInt<1>(0)) - node T_181380 = eq(T_181284, UInt<1>(0)) - node T_181381 = eq(T_181380, UInt<1>(0)) - node T_181382 = eq(T_181285, UInt<1>(0)) - node T_181383 = eq(T_181382, UInt<1>(0)) - node T_181384 = eq(T_181286, UInt<1>(0)) - node T_181385 = eq(T_181384, UInt<1>(0)) - node T_181386 = eq(T_181287, UInt<1>(0)) - node T_181387 = eq(T_181386, UInt<1>(0)) - node T_181388 = eq(T_181288, UInt<1>(0)) - node T_181389 = eq(T_181388, UInt<1>(0)) - node T_181390 = eq(T_181289, UInt<1>(0)) - node T_181391 = eq(T_181390, UInt<1>(0)) - node T_181392 = eq(T_181290, UInt<1>(0)) - node T_181393 = eq(T_181392, UInt<1>(0)) - node T_181394 = eq(T_181291, UInt<1>(0)) - node T_181395 = eq(T_181394, UInt<1>(0)) - node T_181396 = eq(T_181292, UInt<1>(0)) - node T_181397 = eq(T_181396, UInt<1>(0)) - node T_181398 = eq(T_181293, UInt<1>(0)) - node T_181399 = eq(T_181398, UInt<1>(0)) - node T_181400 = eq(T_181294, UInt<1>(0)) - node T_181401 = eq(T_181400, UInt<1>(0)) - node T_181402 = eq(T_181295, UInt<1>(0)) - node T_181403 = eq(T_181402, UInt<1>(0)) - node T_181404 = eq(T_181296, UInt<1>(0)) - node T_181405 = eq(T_181404, UInt<1>(0)) - node T_181406 = eq(T_181297, UInt<1>(0)) - node T_181407 = eq(T_181406, UInt<1>(0)) - node T_181408 = eq(T_181298, UInt<1>(0)) - node T_181409 = eq(T_181408, UInt<1>(0)) - node T_181410 = eq(T_181299, UInt<1>(0)) - node T_181411 = eq(T_181410, UInt<1>(0)) - node T_181412 = eq(T_181300, UInt<1>(0)) - node T_181413 = eq(T_181412, UInt<1>(0)) - node T_181414 = eq(T_181301, UInt<1>(0)) - node T_181415 = eq(T_181414, UInt<1>(0)) - node T_181416 = eq(T_181302, UInt<1>(0)) - node T_181417 = eq(T_181416, UInt<1>(0)) - node T_181418 = eq(T_181303, UInt<1>(0)) - node T_181419 = eq(T_181418, UInt<1>(0)) - node T_181420 = eq(T_181304, UInt<1>(0)) - node T_181421 = eq(T_181420, UInt<1>(0)) - node T_181422 = eq(T_181305, UInt<1>(0)) - node T_181423 = eq(T_181422, UInt<1>(0)) - node T_181424 = eq(T_181306, UInt<1>(0)) - node T_181425 = eq(T_181424, UInt<1>(0)) - node T_181426 = eq(T_181307, UInt<1>(0)) - node T_181427 = eq(T_181426, UInt<1>(0)) - node T_181428 = eq(T_181308, UInt<1>(0)) - node T_181429 = eq(T_181428, UInt<1>(0)) - node T_181430 = eq(T_181309, UInt<1>(0)) - node T_181431 = eq(T_181430, UInt<1>(0)) - node T_181432 = eq(T_181310, UInt<1>(0)) - node T_181433 = eq(T_181432, UInt<1>(0)) - node T_181434 = eq(T_181311, UInt<1>(0)) - node T_181435 = eq(T_181434, UInt<1>(0)) - wire T_181436 : UInt<1>[62] - T_181436[0] := T_181313 - T_181436[1] := T_181315 - T_181436[2] := T_181317 - T_181436[3] := T_181319 - T_181436[4] := T_181321 - T_181436[5] := T_181323 - T_181436[6] := T_181325 - T_181436[7] := T_181327 - T_181436[8] := T_181329 - T_181436[9] := T_181331 - T_181436[10] := T_181333 - T_181436[11] := T_181335 - T_181436[12] := T_181337 - T_181436[13] := T_181339 - T_181436[14] := T_181341 - T_181436[15] := T_181343 - T_181436[16] := T_181345 - T_181436[17] := T_181347 - T_181436[18] := T_181349 - T_181436[19] := T_181351 - T_181436[20] := T_181353 - T_181436[21] := T_181355 - T_181436[22] := T_181357 - T_181436[23] := T_181359 - T_181436[24] := T_181361 - T_181436[25] := T_181363 - T_181436[26] := T_181365 - T_181436[27] := T_181367 - T_181436[28] := T_181369 - T_181436[29] := T_181371 - T_181436[30] := T_181373 - T_181436[31] := T_181375 - T_181436[32] := T_181377 - T_181436[33] := T_181379 - T_181436[34] := T_181381 - T_181436[35] := T_181383 - T_181436[36] := T_181385 - T_181436[37] := T_181387 - T_181436[38] := T_181389 - T_181436[39] := T_181391 - T_181436[40] := T_181393 - T_181436[41] := T_181395 - T_181436[42] := T_181397 - T_181436[43] := T_181399 - T_181436[44] := T_181401 - T_181436[45] := T_181403 - T_181436[46] := T_181405 - T_181436[47] := T_181407 - T_181436[48] := T_181409 - T_181436[49] := T_181411 - T_181436[50] := T_181413 - T_181436[51] := T_181415 - T_181436[52] := T_181417 - T_181436[53] := T_181419 - T_181436[54] := T_181421 - T_181436[55] := T_181423 - T_181436[56] := T_181425 - T_181436[57] := T_181427 - T_181436[58] := T_181429 - T_181436[59] := T_181431 - T_181436[60] := T_181433 - T_181436[61] := T_181435 - node T_181437 = cat(T_181436[60], T_181436[59]) - node T_181438 = cat(T_181436[61], T_181437) - node T_181439 = cat(T_181436[58], T_181436[57]) - node T_181440 = cat(T_181436[56], T_181436[55]) - node T_181441 = cat(T_181439, T_181440) - node T_181442 = cat(T_181438, T_181441) - node T_181443 = cat(T_181436[54], T_181436[53]) - node T_181444 = cat(T_181436[52], T_181436[51]) - node T_181445 = cat(T_181443, T_181444) - node T_181446 = cat(T_181436[50], T_181436[49]) - node T_181447 = cat(T_181436[48], T_181436[47]) - node T_181448 = cat(T_181446, T_181447) - node T_181449 = cat(T_181445, T_181448) - node T_181450 = cat(T_181442, T_181449) - node T_181451 = cat(T_181436[46], T_181436[45]) - node T_181452 = cat(T_181436[44], T_181436[43]) - node T_181453 = cat(T_181451, T_181452) - node T_181454 = cat(T_181436[42], T_181436[41]) - node T_181455 = cat(T_181436[40], T_181436[39]) - node T_181456 = cat(T_181454, T_181455) - node T_181457 = cat(T_181453, T_181456) - node T_181458 = cat(T_181436[38], T_181436[37]) - node T_181459 = cat(T_181436[36], T_181436[35]) - node T_181460 = cat(T_181458, T_181459) - node T_181461 = cat(T_181436[34], T_181436[33]) - node T_181462 = cat(T_181436[32], T_181436[31]) - node T_181463 = cat(T_181461, T_181462) - node T_181464 = cat(T_181460, T_181463) - node T_181465 = cat(T_181457, T_181464) - node T_181466 = cat(T_181450, T_181465) - node T_181467 = cat(T_181436[29], T_181436[28]) - node T_181468 = cat(T_181436[30], T_181467) - node T_181469 = cat(T_181436[27], T_181436[26]) - node T_181470 = cat(T_181436[25], T_181436[24]) - node T_181471 = cat(T_181469, T_181470) - node T_181472 = cat(T_181468, T_181471) - node T_181473 = cat(T_181436[23], T_181436[22]) - node T_181474 = cat(T_181436[21], T_181436[20]) - node T_181475 = cat(T_181473, T_181474) - node T_181476 = cat(T_181436[19], T_181436[18]) - node T_181477 = cat(T_181436[17], T_181436[16]) - node T_181478 = cat(T_181476, T_181477) - node T_181479 = cat(T_181475, T_181478) - node T_181480 = cat(T_181472, T_181479) - node T_181481 = cat(T_181436[15], T_181436[14]) - node T_181482 = cat(T_181436[13], T_181436[12]) - node T_181483 = cat(T_181481, T_181482) - node T_181484 = cat(T_181436[11], T_181436[10]) - node T_181485 = cat(T_181436[9], T_181436[8]) - node T_181486 = cat(T_181484, T_181485) - node T_181487 = cat(T_181483, T_181486) - node T_181488 = cat(T_181436[7], T_181436[6]) - node T_181489 = cat(T_181436[5], T_181436[4]) - node T_181490 = cat(T_181488, T_181489) - node T_181491 = cat(T_181436[3], T_181436[2]) - node T_181492 = cat(T_181436[1], T_181436[0]) - node T_181493 = cat(T_181491, T_181492) - node T_181494 = cat(T_181490, T_181493) - node T_181495 = cat(T_181487, T_181494) - node T_181496 = cat(T_181480, T_181495) - node T_181497 = cat(T_181466, T_181496) - node T_181498 = bit(T_181249, 0) - node T_181499 = and(idxValid[0], T_181498) - node T_181500 = bit(T_181497, 0) - node T_181501 = and(T_181499, T_181500) - node T_181502 = bit(T_181249, 1) - node T_181503 = and(idxValid[1], T_181502) - node T_181504 = bit(T_181497, 1) - node T_181505 = and(T_181503, T_181504) - node T_181506 = bit(T_181249, 2) - node T_181507 = and(idxValid[2], T_181506) - node T_181508 = bit(T_181497, 2) - node T_181509 = and(T_181507, T_181508) - node T_181510 = bit(T_181249, 3) - node T_181511 = and(idxValid[3], T_181510) - node T_181512 = bit(T_181497, 3) - node T_181513 = and(T_181511, T_181512) - node T_181514 = bit(T_181249, 4) - node T_181515 = and(idxValid[4], T_181514) - node T_181516 = bit(T_181497, 4) - node T_181517 = and(T_181515, T_181516) - node T_181518 = bit(T_181249, 5) - node T_181519 = and(idxValid[5], T_181518) - node T_181520 = bit(T_181497, 5) - node T_181521 = and(T_181519, T_181520) - node T_181522 = bit(T_181249, 6) - node T_181523 = and(idxValid[6], T_181522) - node T_181524 = bit(T_181497, 6) - node T_181525 = and(T_181523, T_181524) - node T_181526 = bit(T_181249, 7) - node T_181527 = and(idxValid[7], T_181526) - node T_181528 = bit(T_181497, 7) - node T_181529 = and(T_181527, T_181528) - node T_181530 = bit(T_181249, 8) - node T_181531 = and(idxValid[8], T_181530) - node T_181532 = bit(T_181497, 8) - node T_181533 = and(T_181531, T_181532) - node T_181534 = bit(T_181249, 9) - node T_181535 = and(idxValid[9], T_181534) - node T_181536 = bit(T_181497, 9) - node T_181537 = and(T_181535, T_181536) - node T_181538 = bit(T_181249, 10) - node T_181539 = and(idxValid[10], T_181538) - node T_181540 = bit(T_181497, 10) - node T_181541 = and(T_181539, T_181540) - node T_181542 = bit(T_181249, 11) - node T_181543 = and(idxValid[11], T_181542) - node T_181544 = bit(T_181497, 11) - node T_181545 = and(T_181543, T_181544) - node T_181546 = bit(T_181249, 12) - node T_181547 = and(idxValid[12], T_181546) - node T_181548 = bit(T_181497, 12) - node T_181549 = and(T_181547, T_181548) - node T_181550 = bit(T_181249, 13) - node T_181551 = and(idxValid[13], T_181550) - node T_181552 = bit(T_181497, 13) - node T_181553 = and(T_181551, T_181552) - node T_181554 = bit(T_181249, 14) - node T_181555 = and(idxValid[14], T_181554) - node T_181556 = bit(T_181497, 14) - node T_181557 = and(T_181555, T_181556) - node T_181558 = bit(T_181249, 15) - node T_181559 = and(idxValid[15], T_181558) - node T_181560 = bit(T_181497, 15) - node T_181561 = and(T_181559, T_181560) - node T_181562 = bit(T_181249, 16) - node T_181563 = and(idxValid[16], T_181562) - node T_181564 = bit(T_181497, 16) - node T_181565 = and(T_181563, T_181564) - node T_181566 = bit(T_181249, 17) - node T_181567 = and(idxValid[17], T_181566) - node T_181568 = bit(T_181497, 17) - node T_181569 = and(T_181567, T_181568) - node T_181570 = bit(T_181249, 18) - node T_181571 = and(idxValid[18], T_181570) - node T_181572 = bit(T_181497, 18) - node T_181573 = and(T_181571, T_181572) - node T_181574 = bit(T_181249, 19) - node T_181575 = and(idxValid[19], T_181574) - node T_181576 = bit(T_181497, 19) - node T_181577 = and(T_181575, T_181576) - node T_181578 = bit(T_181249, 20) - node T_181579 = and(idxValid[20], T_181578) - node T_181580 = bit(T_181497, 20) - node T_181581 = and(T_181579, T_181580) - node T_181582 = bit(T_181249, 21) - node T_181583 = and(idxValid[21], T_181582) - node T_181584 = bit(T_181497, 21) - node T_181585 = and(T_181583, T_181584) - node T_181586 = bit(T_181249, 22) - node T_181587 = and(idxValid[22], T_181586) - node T_181588 = bit(T_181497, 22) - node T_181589 = and(T_181587, T_181588) - node T_181590 = bit(T_181249, 23) - node T_181591 = and(idxValid[23], T_181590) - node T_181592 = bit(T_181497, 23) - node T_181593 = and(T_181591, T_181592) - node T_181594 = bit(T_181249, 24) - node T_181595 = and(idxValid[24], T_181594) - node T_181596 = bit(T_181497, 24) - node T_181597 = and(T_181595, T_181596) - node T_181598 = bit(T_181249, 25) - node T_181599 = and(idxValid[25], T_181598) - node T_181600 = bit(T_181497, 25) - node T_181601 = and(T_181599, T_181600) - node T_181602 = bit(T_181249, 26) - node T_181603 = and(idxValid[26], T_181602) - node T_181604 = bit(T_181497, 26) - node T_181605 = and(T_181603, T_181604) - node T_181606 = bit(T_181249, 27) - node T_181607 = and(idxValid[27], T_181606) - node T_181608 = bit(T_181497, 27) - node T_181609 = and(T_181607, T_181608) - node T_181610 = bit(T_181249, 28) - node T_181611 = and(idxValid[28], T_181610) - node T_181612 = bit(T_181497, 28) - node T_181613 = and(T_181611, T_181612) - node T_181614 = bit(T_181249, 29) - node T_181615 = and(idxValid[29], T_181614) - node T_181616 = bit(T_181497, 29) - node T_181617 = and(T_181615, T_181616) - node T_181618 = bit(T_181249, 30) - node T_181619 = and(idxValid[30], T_181618) - node T_181620 = bit(T_181497, 30) - node T_181621 = and(T_181619, T_181620) - node T_181622 = bit(T_181249, 31) - node T_181623 = and(idxValid[31], T_181622) - node T_181624 = bit(T_181497, 31) - node T_181625 = and(T_181623, T_181624) - node T_181626 = bit(T_181249, 32) - node T_181627 = and(idxValid[32], T_181626) - node T_181628 = bit(T_181497, 32) - node T_181629 = and(T_181627, T_181628) - node T_181630 = bit(T_181249, 33) - node T_181631 = and(idxValid[33], T_181630) - node T_181632 = bit(T_181497, 33) - node T_181633 = and(T_181631, T_181632) - node T_181634 = bit(T_181249, 34) - node T_181635 = and(idxValid[34], T_181634) - node T_181636 = bit(T_181497, 34) - node T_181637 = and(T_181635, T_181636) - node T_181638 = bit(T_181249, 35) - node T_181639 = and(idxValid[35], T_181638) - node T_181640 = bit(T_181497, 35) - node T_181641 = and(T_181639, T_181640) - node T_181642 = bit(T_181249, 36) - node T_181643 = and(idxValid[36], T_181642) - node T_181644 = bit(T_181497, 36) - node T_181645 = and(T_181643, T_181644) - node T_181646 = bit(T_181249, 37) - node T_181647 = and(idxValid[37], T_181646) - node T_181648 = bit(T_181497, 37) - node T_181649 = and(T_181647, T_181648) - node T_181650 = bit(T_181249, 38) - node T_181651 = and(idxValid[38], T_181650) - node T_181652 = bit(T_181497, 38) - node T_181653 = and(T_181651, T_181652) - node T_181654 = bit(T_181249, 39) - node T_181655 = and(idxValid[39], T_181654) - node T_181656 = bit(T_181497, 39) - node T_181657 = and(T_181655, T_181656) - node T_181658 = bit(T_181249, 40) - node T_181659 = and(idxValid[40], T_181658) - node T_181660 = bit(T_181497, 40) - node T_181661 = and(T_181659, T_181660) - node T_181662 = bit(T_181249, 41) - node T_181663 = and(idxValid[41], T_181662) - node T_181664 = bit(T_181497, 41) - node T_181665 = and(T_181663, T_181664) - node T_181666 = bit(T_181249, 42) - node T_181667 = and(idxValid[42], T_181666) - node T_181668 = bit(T_181497, 42) - node T_181669 = and(T_181667, T_181668) - node T_181670 = bit(T_181249, 43) - node T_181671 = and(idxValid[43], T_181670) - node T_181672 = bit(T_181497, 43) - node T_181673 = and(T_181671, T_181672) - node T_181674 = bit(T_181249, 44) - node T_181675 = and(idxValid[44], T_181674) - node T_181676 = bit(T_181497, 44) - node T_181677 = and(T_181675, T_181676) - node T_181678 = bit(T_181249, 45) - node T_181679 = and(idxValid[45], T_181678) - node T_181680 = bit(T_181497, 45) - node T_181681 = and(T_181679, T_181680) - node T_181682 = bit(T_181249, 46) - node T_181683 = and(idxValid[46], T_181682) - node T_181684 = bit(T_181497, 46) - node T_181685 = and(T_181683, T_181684) - node T_181686 = bit(T_181249, 47) - node T_181687 = and(idxValid[47], T_181686) - node T_181688 = bit(T_181497, 47) - node T_181689 = and(T_181687, T_181688) - node T_181690 = bit(T_181249, 48) - node T_181691 = and(idxValid[48], T_181690) - node T_181692 = bit(T_181497, 48) - node T_181693 = and(T_181691, T_181692) - node T_181694 = bit(T_181249, 49) - node T_181695 = and(idxValid[49], T_181694) - node T_181696 = bit(T_181497, 49) - node T_181697 = and(T_181695, T_181696) - node T_181698 = bit(T_181249, 50) - node T_181699 = and(idxValid[50], T_181698) - node T_181700 = bit(T_181497, 50) - node T_181701 = and(T_181699, T_181700) - node T_181702 = bit(T_181249, 51) - node T_181703 = and(idxValid[51], T_181702) - node T_181704 = bit(T_181497, 51) - node T_181705 = and(T_181703, T_181704) - node T_181706 = bit(T_181249, 52) - node T_181707 = and(idxValid[52], T_181706) - node T_181708 = bit(T_181497, 52) - node T_181709 = and(T_181707, T_181708) - node T_181710 = bit(T_181249, 53) - node T_181711 = and(idxValid[53], T_181710) - node T_181712 = bit(T_181497, 53) - node T_181713 = and(T_181711, T_181712) - node T_181714 = bit(T_181249, 54) - node T_181715 = and(idxValid[54], T_181714) - node T_181716 = bit(T_181497, 54) - node T_181717 = and(T_181715, T_181716) - node T_181718 = bit(T_181249, 55) - node T_181719 = and(idxValid[55], T_181718) - node T_181720 = bit(T_181497, 55) - node T_181721 = and(T_181719, T_181720) - node T_181722 = bit(T_181249, 56) - node T_181723 = and(idxValid[56], T_181722) - node T_181724 = bit(T_181497, 56) - node T_181725 = and(T_181723, T_181724) - node T_181726 = bit(T_181249, 57) - node T_181727 = and(idxValid[57], T_181726) - node T_181728 = bit(T_181497, 57) - node T_181729 = and(T_181727, T_181728) - node T_181730 = bit(T_181249, 58) - node T_181731 = and(idxValid[58], T_181730) - node T_181732 = bit(T_181497, 58) - node T_181733 = and(T_181731, T_181732) - node T_181734 = bit(T_181249, 59) - node T_181735 = and(idxValid[59], T_181734) - node T_181736 = bit(T_181497, 59) - node T_181737 = and(T_181735, T_181736) - node T_181738 = bit(T_181249, 60) - node T_181739 = and(idxValid[60], T_181738) - node T_181740 = bit(T_181497, 60) - node T_181741 = and(T_181739, T_181740) - node T_181742 = bit(T_181249, 61) - node T_181743 = and(idxValid[61], T_181742) - node T_181744 = bit(T_181497, 61) - node T_181745 = and(T_181743, T_181744) - wire hits : UInt<1>[62] - hits[0] := T_181501 - hits[1] := T_181505 - hits[2] := T_181509 - hits[3] := T_181513 - hits[4] := T_181517 - hits[5] := T_181521 - hits[6] := T_181525 - hits[7] := T_181529 - hits[8] := T_181533 - hits[9] := T_181537 - hits[10] := T_181541 - hits[11] := T_181545 - hits[12] := T_181549 - hits[13] := T_181553 - hits[14] := T_181557 - hits[15] := T_181561 - hits[16] := T_181565 - hits[17] := T_181569 - hits[18] := T_181573 - hits[19] := T_181577 - hits[20] := T_181581 - hits[21] := T_181585 - hits[22] := T_181589 - hits[23] := T_181593 - hits[24] := T_181597 - hits[25] := T_181601 - hits[26] := T_181605 - hits[27] := T_181609 - hits[28] := T_181613 - hits[29] := T_181617 - hits[30] := T_181621 - hits[31] := T_181625 - hits[32] := T_181629 - hits[33] := T_181633 - hits[34] := T_181637 - hits[35] := T_181641 - hits[36] := T_181645 - hits[37] := T_181649 - hits[38] := T_181653 - hits[39] := T_181657 - hits[40] := T_181661 - hits[41] := T_181665 - hits[42] := T_181669 - hits[43] := T_181673 - hits[44] := T_181677 - hits[45] := T_181681 - hits[46] := T_181685 - hits[47] := T_181689 - hits[48] := T_181693 - hits[49] := T_181697 - hits[50] := T_181701 - hits[51] := T_181705 - hits[52] := T_181709 - hits[53] := T_181713 - hits[54] := T_181717 - hits[55] := T_181721 - hits[56] := T_181725 - hits[57] := T_181729 - hits[58] := T_181733 - hits[59] := T_181737 - hits[60] := T_181741 - hits[61] := T_181745 - node T_181746 = shr(r_btb_update.bits.pc, 12) - infer accessor T_181747 = pages[UInt<1>(0)] - node T_181748 = eq(T_181747, T_181746) - infer accessor T_181749 = pages[UInt<1>(1)] - node T_181750 = eq(T_181749, T_181746) - infer accessor T_181751 = pages[UInt<2>(2)] - node T_181752 = eq(T_181751, T_181746) - infer accessor T_181753 = pages[UInt<2>(3)] - node T_181754 = eq(T_181753, T_181746) - infer accessor T_181755 = pages[UInt<3>(4)] - node T_181756 = eq(T_181755, T_181746) - infer accessor T_181757 = pages[UInt<3>(5)] - node T_181758 = eq(T_181757, T_181746) - wire T_181759 : UInt<1>[6] - T_181759[0] := T_181748 - T_181759[1] := T_181750 - T_181759[2] := T_181752 - T_181759[3] := T_181754 - T_181759[4] := T_181756 - T_181759[5] := T_181758 - node T_181760 = cat(T_181759[4], T_181759[3]) - node T_181761 = cat(T_181759[5], T_181760) - node T_181762 = cat(T_181759[1], T_181759[0]) - node T_181763 = cat(T_181759[2], T_181762) - node T_181764 = cat(T_181761, T_181763) - node updatePageHit = and(T_181764, pageValid) - node T_181765 = bits(r_btb_update.bits.pc, 11, 0) - infer accessor T_181766 = idxs[UInt<1>(0)] - node T_181767 = eq(T_181766, T_181765) - infer accessor T_181768 = idxs[UInt<1>(1)] - node T_181769 = eq(T_181768, T_181765) - infer accessor T_181770 = idxs[UInt<2>(2)] - node T_181771 = eq(T_181770, T_181765) - infer accessor T_181772 = idxs[UInt<2>(3)] - node T_181773 = eq(T_181772, T_181765) - infer accessor T_181774 = idxs[UInt<3>(4)] - node T_181775 = eq(T_181774, T_181765) - infer accessor T_181776 = idxs[UInt<3>(5)] - node T_181777 = eq(T_181776, T_181765) - infer accessor T_181778 = idxs[UInt<3>(6)] - node T_181779 = eq(T_181778, T_181765) - infer accessor T_181780 = idxs[UInt<3>(7)] - node T_181781 = eq(T_181780, T_181765) - infer accessor T_181782 = idxs[UInt<4>(8)] - node T_181783 = eq(T_181782, T_181765) - infer accessor T_181784 = idxs[UInt<4>(9)] - node T_181785 = eq(T_181784, T_181765) - infer accessor T_181786 = idxs[UInt<4>(10)] - node T_181787 = eq(T_181786, T_181765) - infer accessor T_181788 = idxs[UInt<4>(11)] - node T_181789 = eq(T_181788, T_181765) - infer accessor T_181790 = idxs[UInt<4>(12)] - node T_181791 = eq(T_181790, T_181765) - infer accessor T_181792 = idxs[UInt<4>(13)] - node T_181793 = eq(T_181792, T_181765) - infer accessor T_181794 = idxs[UInt<4>(14)] - node T_181795 = eq(T_181794, T_181765) - infer accessor T_181796 = idxs[UInt<4>(15)] - node T_181797 = eq(T_181796, T_181765) - infer accessor T_181798 = idxs[UInt<5>(16)] - node T_181799 = eq(T_181798, T_181765) - infer accessor T_181800 = idxs[UInt<5>(17)] - node T_181801 = eq(T_181800, T_181765) - infer accessor T_181802 = idxs[UInt<5>(18)] - node T_181803 = eq(T_181802, T_181765) - infer accessor T_181804 = idxs[UInt<5>(19)] - node T_181805 = eq(T_181804, T_181765) - infer accessor T_181806 = idxs[UInt<5>(20)] - node T_181807 = eq(T_181806, T_181765) - infer accessor T_181808 = idxs[UInt<5>(21)] - node T_181809 = eq(T_181808, T_181765) - infer accessor T_181810 = idxs[UInt<5>(22)] - node T_181811 = eq(T_181810, T_181765) - infer accessor T_181812 = idxs[UInt<5>(23)] - node T_181813 = eq(T_181812, T_181765) - infer accessor T_181814 = idxs[UInt<5>(24)] - node T_181815 = eq(T_181814, T_181765) - infer accessor T_181816 = idxs[UInt<5>(25)] - node T_181817 = eq(T_181816, T_181765) - infer accessor T_181818 = idxs[UInt<5>(26)] - node T_181819 = eq(T_181818, T_181765) - infer accessor T_181820 = idxs[UInt<5>(27)] - node T_181821 = eq(T_181820, T_181765) - infer accessor T_181822 = idxs[UInt<5>(28)] - node T_181823 = eq(T_181822, T_181765) - infer accessor T_181824 = idxs[UInt<5>(29)] - node T_181825 = eq(T_181824, T_181765) - infer accessor T_181826 = idxs[UInt<5>(30)] - node T_181827 = eq(T_181826, T_181765) - infer accessor T_181828 = idxs[UInt<5>(31)] - node T_181829 = eq(T_181828, T_181765) - infer accessor T_181830 = idxs[UInt<6>(32)] - node T_181831 = eq(T_181830, T_181765) - infer accessor T_181832 = idxs[UInt<6>(33)] - node T_181833 = eq(T_181832, T_181765) - infer accessor T_181834 = idxs[UInt<6>(34)] - node T_181835 = eq(T_181834, T_181765) - infer accessor T_181836 = idxs[UInt<6>(35)] - node T_181837 = eq(T_181836, T_181765) - infer accessor T_181838 = idxs[UInt<6>(36)] - node T_181839 = eq(T_181838, T_181765) - infer accessor T_181840 = idxs[UInt<6>(37)] - node T_181841 = eq(T_181840, T_181765) - infer accessor T_181842 = idxs[UInt<6>(38)] - node T_181843 = eq(T_181842, T_181765) - infer accessor T_181844 = idxs[UInt<6>(39)] - node T_181845 = eq(T_181844, T_181765) - infer accessor T_181846 = idxs[UInt<6>(40)] - node T_181847 = eq(T_181846, T_181765) - infer accessor T_181848 = idxs[UInt<6>(41)] - node T_181849 = eq(T_181848, T_181765) - infer accessor T_181850 = idxs[UInt<6>(42)] - node T_181851 = eq(T_181850, T_181765) - infer accessor T_181852 = idxs[UInt<6>(43)] - node T_181853 = eq(T_181852, T_181765) - infer accessor T_181854 = idxs[UInt<6>(44)] - node T_181855 = eq(T_181854, T_181765) - infer accessor T_181856 = idxs[UInt<6>(45)] - node T_181857 = eq(T_181856, T_181765) - infer accessor T_181858 = idxs[UInt<6>(46)] - node T_181859 = eq(T_181858, T_181765) - infer accessor T_181860 = idxs[UInt<6>(47)] - node T_181861 = eq(T_181860, T_181765) - infer accessor T_181862 = idxs[UInt<6>(48)] - node T_181863 = eq(T_181862, T_181765) - infer accessor T_181864 = idxs[UInt<6>(49)] - node T_181865 = eq(T_181864, T_181765) - infer accessor T_181866 = idxs[UInt<6>(50)] - node T_181867 = eq(T_181866, T_181765) - infer accessor T_181868 = idxs[UInt<6>(51)] - node T_181869 = eq(T_181868, T_181765) - infer accessor T_181870 = idxs[UInt<6>(52)] - node T_181871 = eq(T_181870, T_181765) - infer accessor T_181872 = idxs[UInt<6>(53)] - node T_181873 = eq(T_181872, T_181765) - infer accessor T_181874 = idxs[UInt<6>(54)] - node T_181875 = eq(T_181874, T_181765) - infer accessor T_181876 = idxs[UInt<6>(55)] - node T_181877 = eq(T_181876, T_181765) - infer accessor T_181878 = idxs[UInt<6>(56)] - node T_181879 = eq(T_181878, T_181765) - infer accessor T_181880 = idxs[UInt<6>(57)] - node T_181881 = eq(T_181880, T_181765) - infer accessor T_181882 = idxs[UInt<6>(58)] - node T_181883 = eq(T_181882, T_181765) - infer accessor T_181884 = idxs[UInt<6>(59)] - node T_181885 = eq(T_181884, T_181765) - infer accessor T_181886 = idxs[UInt<6>(60)] - node T_181887 = eq(T_181886, T_181765) - infer accessor T_181888 = idxs[UInt<6>(61)] - node T_181889 = eq(T_181888, T_181765) - wire T_181890 : UInt<1>[62] - T_181890[0] := T_181767 - T_181890[1] := T_181769 - T_181890[2] := T_181771 - T_181890[3] := T_181773 - T_181890[4] := T_181775 - T_181890[5] := T_181777 - T_181890[6] := T_181779 - T_181890[7] := T_181781 - T_181890[8] := T_181783 - T_181890[9] := T_181785 - T_181890[10] := T_181787 - T_181890[11] := T_181789 - T_181890[12] := T_181791 - T_181890[13] := T_181793 - T_181890[14] := T_181795 - T_181890[15] := T_181797 - T_181890[16] := T_181799 - T_181890[17] := T_181801 - T_181890[18] := T_181803 - T_181890[19] := T_181805 - T_181890[20] := T_181807 - T_181890[21] := T_181809 - T_181890[22] := T_181811 - T_181890[23] := T_181813 - T_181890[24] := T_181815 - T_181890[25] := T_181817 - T_181890[26] := T_181819 - T_181890[27] := T_181821 - T_181890[28] := T_181823 - T_181890[29] := T_181825 - T_181890[30] := T_181827 - T_181890[31] := T_181829 - T_181890[32] := T_181831 - T_181890[33] := T_181833 - T_181890[34] := T_181835 - T_181890[35] := T_181837 - T_181890[36] := T_181839 - T_181890[37] := T_181841 - T_181890[38] := T_181843 - T_181890[39] := T_181845 - T_181890[40] := T_181847 - T_181890[41] := T_181849 - T_181890[42] := T_181851 - T_181890[43] := T_181853 - T_181890[44] := T_181855 - T_181890[45] := T_181857 - T_181890[46] := T_181859 - T_181890[47] := T_181861 - T_181890[48] := T_181863 - T_181890[49] := T_181865 - T_181890[50] := T_181867 - T_181890[51] := T_181869 - T_181890[52] := T_181871 - T_181890[53] := T_181873 - T_181890[54] := T_181875 - T_181890[55] := T_181877 - T_181890[56] := T_181879 - T_181890[57] := T_181881 - T_181890[58] := T_181883 - T_181890[59] := T_181885 - T_181890[60] := T_181887 - T_181890[61] := T_181889 - node T_181891 = cat(T_181890[60], T_181890[59]) - node T_181892 = cat(T_181890[61], T_181891) - node T_181893 = cat(T_181890[58], T_181890[57]) - node T_181894 = cat(T_181890[56], T_181890[55]) - node T_181895 = cat(T_181893, T_181894) - node T_181896 = cat(T_181892, T_181895) - node T_181897 = cat(T_181890[54], T_181890[53]) - node T_181898 = cat(T_181890[52], T_181890[51]) - node T_181899 = cat(T_181897, T_181898) - node T_181900 = cat(T_181890[50], T_181890[49]) - node T_181901 = cat(T_181890[48], T_181890[47]) - node T_181902 = cat(T_181900, T_181901) - node T_181903 = cat(T_181899, T_181902) - node T_181904 = cat(T_181896, T_181903) - node T_181905 = cat(T_181890[46], T_181890[45]) - node T_181906 = cat(T_181890[44], T_181890[43]) - node T_181907 = cat(T_181905, T_181906) - node T_181908 = cat(T_181890[42], T_181890[41]) - node T_181909 = cat(T_181890[40], T_181890[39]) - node T_181910 = cat(T_181908, T_181909) - node T_181911 = cat(T_181907, T_181910) - node T_181912 = cat(T_181890[38], T_181890[37]) - node T_181913 = cat(T_181890[36], T_181890[35]) - node T_181914 = cat(T_181912, T_181913) - node T_181915 = cat(T_181890[34], T_181890[33]) - node T_181916 = cat(T_181890[32], T_181890[31]) - node T_181917 = cat(T_181915, T_181916) - node T_181918 = cat(T_181914, T_181917) - node T_181919 = cat(T_181911, T_181918) - node T_181920 = cat(T_181904, T_181919) - node T_181921 = cat(T_181890[29], T_181890[28]) - node T_181922 = cat(T_181890[30], T_181921) - node T_181923 = cat(T_181890[27], T_181890[26]) - node T_181924 = cat(T_181890[25], T_181890[24]) - node T_181925 = cat(T_181923, T_181924) - node T_181926 = cat(T_181922, T_181925) - node T_181927 = cat(T_181890[23], T_181890[22]) - node T_181928 = cat(T_181890[21], T_181890[20]) - node T_181929 = cat(T_181927, T_181928) - node T_181930 = cat(T_181890[19], T_181890[18]) - node T_181931 = cat(T_181890[17], T_181890[16]) - node T_181932 = cat(T_181930, T_181931) - node T_181933 = cat(T_181929, T_181932) - node T_181934 = cat(T_181926, T_181933) - node T_181935 = cat(T_181890[15], T_181890[14]) - node T_181936 = cat(T_181890[13], T_181890[12]) - node T_181937 = cat(T_181935, T_181936) - node T_181938 = cat(T_181890[11], T_181890[10]) - node T_181939 = cat(T_181890[9], T_181890[8]) - node T_181940 = cat(T_181938, T_181939) - node T_181941 = cat(T_181937, T_181940) - node T_181942 = cat(T_181890[7], T_181890[6]) - node T_181943 = cat(T_181890[5], T_181890[4]) - node T_181944 = cat(T_181942, T_181943) - node T_181945 = cat(T_181890[3], T_181890[2]) - node T_181946 = cat(T_181890[1], T_181890[0]) - node T_181947 = cat(T_181945, T_181946) - node T_181948 = cat(T_181944, T_181947) - node T_181949 = cat(T_181941, T_181948) - node T_181950 = cat(T_181934, T_181949) - node T_181951 = cat(T_181920, T_181950) - node T_181952 = and(T_180672, updatePageHit) - node T_181953 = and(T_180675, updatePageHit) - node T_181954 = and(T_180678, updatePageHit) - node T_181955 = and(T_180681, updatePageHit) - node T_181956 = and(T_180684, updatePageHit) - node T_181957 = and(T_180687, updatePageHit) - node T_181958 = and(T_180690, updatePageHit) - node T_181959 = and(T_180693, updatePageHit) - node T_181960 = and(T_180696, updatePageHit) - node T_181961 = and(T_180699, updatePageHit) - node T_181962 = and(T_180702, updatePageHit) - node T_181963 = and(T_180705, updatePageHit) - node T_181964 = and(T_180708, updatePageHit) - node T_181965 = and(T_180711, updatePageHit) - node T_181966 = and(T_180714, updatePageHit) - node T_181967 = and(T_180717, updatePageHit) - node T_181968 = and(T_180720, updatePageHit) - node T_181969 = and(T_180723, updatePageHit) - node T_181970 = and(T_180726, updatePageHit) - node T_181971 = and(T_180729, updatePageHit) - node T_181972 = and(T_180732, updatePageHit) - node T_181973 = and(T_180735, updatePageHit) - node T_181974 = and(T_180738, updatePageHit) - node T_181975 = and(T_180741, updatePageHit) - node T_181976 = and(T_180744, updatePageHit) - node T_181977 = and(T_180747, updatePageHit) - node T_181978 = and(T_180750, updatePageHit) - node T_181979 = and(T_180753, updatePageHit) - node T_181980 = and(T_180756, updatePageHit) - node T_181981 = and(T_180759, updatePageHit) - node T_181982 = and(T_180762, updatePageHit) - node T_181983 = and(T_180765, updatePageHit) - node T_181984 = and(T_180768, updatePageHit) - node T_181985 = and(T_180771, updatePageHit) - node T_181986 = and(T_180774, updatePageHit) - node T_181987 = and(T_180777, updatePageHit) - node T_181988 = and(T_180780, updatePageHit) - node T_181989 = and(T_180783, updatePageHit) - node T_181990 = and(T_180786, updatePageHit) - node T_181991 = and(T_180789, updatePageHit) - node T_181992 = and(T_180792, updatePageHit) - node T_181993 = and(T_180795, updatePageHit) - node T_181994 = and(T_180798, updatePageHit) - node T_181995 = and(T_180801, updatePageHit) - node T_181996 = and(T_180804, updatePageHit) - node T_181997 = and(T_180807, updatePageHit) - node T_181998 = and(T_180810, updatePageHit) - node T_181999 = and(T_180813, updatePageHit) - node T_182000 = and(T_180816, updatePageHit) - node T_182001 = and(T_180819, updatePageHit) - node T_182002 = and(T_180822, updatePageHit) - node T_182003 = and(T_180825, updatePageHit) - node T_182004 = and(T_180828, updatePageHit) - node T_182005 = and(T_180831, updatePageHit) - node T_182006 = and(T_180834, updatePageHit) - node T_182007 = and(T_180837, updatePageHit) - node T_182008 = and(T_180840, updatePageHit) - node T_182009 = and(T_180843, updatePageHit) - node T_182010 = and(T_180846, updatePageHit) - node T_182011 = and(T_180849, updatePageHit) - node T_182012 = and(T_180852, updatePageHit) - node T_182013 = and(T_180855, updatePageHit) - node T_182014 = eq(T_181952, UInt<1>(0)) - node T_182015 = eq(T_182014, UInt<1>(0)) - node T_182016 = eq(T_181953, UInt<1>(0)) - node T_182017 = eq(T_182016, UInt<1>(0)) - node T_182018 = eq(T_181954, UInt<1>(0)) - node T_182019 = eq(T_182018, UInt<1>(0)) - node T_182020 = eq(T_181955, UInt<1>(0)) - node T_182021 = eq(T_182020, UInt<1>(0)) - node T_182022 = eq(T_181956, UInt<1>(0)) - node T_182023 = eq(T_182022, UInt<1>(0)) - node T_182024 = eq(T_181957, UInt<1>(0)) - node T_182025 = eq(T_182024, UInt<1>(0)) - node T_182026 = eq(T_181958, UInt<1>(0)) - node T_182027 = eq(T_182026, UInt<1>(0)) - node T_182028 = eq(T_181959, UInt<1>(0)) - node T_182029 = eq(T_182028, UInt<1>(0)) - node T_182030 = eq(T_181960, UInt<1>(0)) - node T_182031 = eq(T_182030, UInt<1>(0)) - node T_182032 = eq(T_181961, UInt<1>(0)) - node T_182033 = eq(T_182032, UInt<1>(0)) - node T_182034 = eq(T_181962, UInt<1>(0)) - node T_182035 = eq(T_182034, UInt<1>(0)) - node T_182036 = eq(T_181963, UInt<1>(0)) - node T_182037 = eq(T_182036, UInt<1>(0)) - node T_182038 = eq(T_181964, UInt<1>(0)) - node T_182039 = eq(T_182038, UInt<1>(0)) - node T_182040 = eq(T_181965, UInt<1>(0)) - node T_182041 = eq(T_182040, UInt<1>(0)) - node T_182042 = eq(T_181966, UInt<1>(0)) - node T_182043 = eq(T_182042, UInt<1>(0)) - node T_182044 = eq(T_181967, UInt<1>(0)) - node T_182045 = eq(T_182044, UInt<1>(0)) - node T_182046 = eq(T_181968, UInt<1>(0)) - node T_182047 = eq(T_182046, UInt<1>(0)) - node T_182048 = eq(T_181969, UInt<1>(0)) - node T_182049 = eq(T_182048, UInt<1>(0)) - node T_182050 = eq(T_181970, UInt<1>(0)) - node T_182051 = eq(T_182050, UInt<1>(0)) - node T_182052 = eq(T_181971, UInt<1>(0)) - node T_182053 = eq(T_182052, UInt<1>(0)) - node T_182054 = eq(T_181972, UInt<1>(0)) - node T_182055 = eq(T_182054, UInt<1>(0)) - node T_182056 = eq(T_181973, UInt<1>(0)) - node T_182057 = eq(T_182056, UInt<1>(0)) - node T_182058 = eq(T_181974, UInt<1>(0)) - node T_182059 = eq(T_182058, UInt<1>(0)) - node T_182060 = eq(T_181975, UInt<1>(0)) - node T_182061 = eq(T_182060, UInt<1>(0)) - node T_182062 = eq(T_181976, UInt<1>(0)) - node T_182063 = eq(T_182062, UInt<1>(0)) - node T_182064 = eq(T_181977, UInt<1>(0)) - node T_182065 = eq(T_182064, UInt<1>(0)) - node T_182066 = eq(T_181978, UInt<1>(0)) - node T_182067 = eq(T_182066, UInt<1>(0)) - node T_182068 = eq(T_181979, UInt<1>(0)) - node T_182069 = eq(T_182068, UInt<1>(0)) - node T_182070 = eq(T_181980, UInt<1>(0)) - node T_182071 = eq(T_182070, UInt<1>(0)) - node T_182072 = eq(T_181981, UInt<1>(0)) - node T_182073 = eq(T_182072, UInt<1>(0)) - node T_182074 = eq(T_181982, UInt<1>(0)) - node T_182075 = eq(T_182074, UInt<1>(0)) - node T_182076 = eq(T_181983, UInt<1>(0)) - node T_182077 = eq(T_182076, UInt<1>(0)) - node T_182078 = eq(T_181984, UInt<1>(0)) - node T_182079 = eq(T_182078, UInt<1>(0)) - node T_182080 = eq(T_181985, UInt<1>(0)) - node T_182081 = eq(T_182080, UInt<1>(0)) - node T_182082 = eq(T_181986, UInt<1>(0)) - node T_182083 = eq(T_182082, UInt<1>(0)) - node T_182084 = eq(T_181987, UInt<1>(0)) - node T_182085 = eq(T_182084, UInt<1>(0)) - node T_182086 = eq(T_181988, UInt<1>(0)) - node T_182087 = eq(T_182086, UInt<1>(0)) - node T_182088 = eq(T_181989, UInt<1>(0)) - node T_182089 = eq(T_182088, UInt<1>(0)) - node T_182090 = eq(T_181990, UInt<1>(0)) - node T_182091 = eq(T_182090, UInt<1>(0)) - node T_182092 = eq(T_181991, UInt<1>(0)) - node T_182093 = eq(T_182092, UInt<1>(0)) - node T_182094 = eq(T_181992, UInt<1>(0)) - node T_182095 = eq(T_182094, UInt<1>(0)) - node T_182096 = eq(T_181993, UInt<1>(0)) - node T_182097 = eq(T_182096, UInt<1>(0)) - node T_182098 = eq(T_181994, UInt<1>(0)) - node T_182099 = eq(T_182098, UInt<1>(0)) - node T_182100 = eq(T_181995, UInt<1>(0)) - node T_182101 = eq(T_182100, UInt<1>(0)) - node T_182102 = eq(T_181996, UInt<1>(0)) - node T_182103 = eq(T_182102, UInt<1>(0)) - node T_182104 = eq(T_181997, UInt<1>(0)) - node T_182105 = eq(T_182104, UInt<1>(0)) - node T_182106 = eq(T_181998, UInt<1>(0)) - node T_182107 = eq(T_182106, UInt<1>(0)) - node T_182108 = eq(T_181999, UInt<1>(0)) - node T_182109 = eq(T_182108, UInt<1>(0)) - node T_182110 = eq(T_182000, UInt<1>(0)) - node T_182111 = eq(T_182110, UInt<1>(0)) - node T_182112 = eq(T_182001, UInt<1>(0)) - node T_182113 = eq(T_182112, UInt<1>(0)) - node T_182114 = eq(T_182002, UInt<1>(0)) - node T_182115 = eq(T_182114, UInt<1>(0)) - node T_182116 = eq(T_182003, UInt<1>(0)) - node T_182117 = eq(T_182116, UInt<1>(0)) - node T_182118 = eq(T_182004, UInt<1>(0)) - node T_182119 = eq(T_182118, UInt<1>(0)) - node T_182120 = eq(T_182005, UInt<1>(0)) - node T_182121 = eq(T_182120, UInt<1>(0)) - node T_182122 = eq(T_182006, UInt<1>(0)) - node T_182123 = eq(T_182122, UInt<1>(0)) - node T_182124 = eq(T_182007, UInt<1>(0)) - node T_182125 = eq(T_182124, UInt<1>(0)) - node T_182126 = eq(T_182008, UInt<1>(0)) - node T_182127 = eq(T_182126, UInt<1>(0)) - node T_182128 = eq(T_182009, UInt<1>(0)) - node T_182129 = eq(T_182128, UInt<1>(0)) - node T_182130 = eq(T_182010, UInt<1>(0)) - node T_182131 = eq(T_182130, UInt<1>(0)) - node T_182132 = eq(T_182011, UInt<1>(0)) - node T_182133 = eq(T_182132, UInt<1>(0)) - node T_182134 = eq(T_182012, UInt<1>(0)) - node T_182135 = eq(T_182134, UInt<1>(0)) - node T_182136 = eq(T_182013, UInt<1>(0)) - node T_182137 = eq(T_182136, UInt<1>(0)) - wire T_182138 : UInt<1>[62] - T_182138[0] := T_182015 - T_182138[1] := T_182017 - T_182138[2] := T_182019 - T_182138[3] := T_182021 - T_182138[4] := T_182023 - T_182138[5] := T_182025 - T_182138[6] := T_182027 - T_182138[7] := T_182029 - T_182138[8] := T_182031 - T_182138[9] := T_182033 - T_182138[10] := T_182035 - T_182138[11] := T_182037 - T_182138[12] := T_182039 - T_182138[13] := T_182041 - T_182138[14] := T_182043 - T_182138[15] := T_182045 - T_182138[16] := T_182047 - T_182138[17] := T_182049 - T_182138[18] := T_182051 - T_182138[19] := T_182053 - T_182138[20] := T_182055 - T_182138[21] := T_182057 - T_182138[22] := T_182059 - T_182138[23] := T_182061 - T_182138[24] := T_182063 - T_182138[25] := T_182065 - T_182138[26] := T_182067 - T_182138[27] := T_182069 - T_182138[28] := T_182071 - T_182138[29] := T_182073 - T_182138[30] := T_182075 - T_182138[31] := T_182077 - T_182138[32] := T_182079 - T_182138[33] := T_182081 - T_182138[34] := T_182083 - T_182138[35] := T_182085 - T_182138[36] := T_182087 - T_182138[37] := T_182089 - T_182138[38] := T_182091 - T_182138[39] := T_182093 - T_182138[40] := T_182095 - T_182138[41] := T_182097 - T_182138[42] := T_182099 - T_182138[43] := T_182101 - T_182138[44] := T_182103 - T_182138[45] := T_182105 - T_182138[46] := T_182107 - T_182138[47] := T_182109 - T_182138[48] := T_182111 - T_182138[49] := T_182113 - T_182138[50] := T_182115 - T_182138[51] := T_182117 - T_182138[52] := T_182119 - T_182138[53] := T_182121 - T_182138[54] := T_182123 - T_182138[55] := T_182125 - T_182138[56] := T_182127 - T_182138[57] := T_182129 - T_182138[58] := T_182131 - T_182138[59] := T_182133 - T_182138[60] := T_182135 - T_182138[61] := T_182137 - node T_182139 = cat(T_182138[60], T_182138[59]) - node T_182140 = cat(T_182138[61], T_182139) - node T_182141 = cat(T_182138[58], T_182138[57]) - node T_182142 = cat(T_182138[56], T_182138[55]) - node T_182143 = cat(T_182141, T_182142) - node T_182144 = cat(T_182140, T_182143) - node T_182145 = cat(T_182138[54], T_182138[53]) - node T_182146 = cat(T_182138[52], T_182138[51]) - node T_182147 = cat(T_182145, T_182146) - node T_182148 = cat(T_182138[50], T_182138[49]) - node T_182149 = cat(T_182138[48], T_182138[47]) - node T_182150 = cat(T_182148, T_182149) - node T_182151 = cat(T_182147, T_182150) - node T_182152 = cat(T_182144, T_182151) - node T_182153 = cat(T_182138[46], T_182138[45]) - node T_182154 = cat(T_182138[44], T_182138[43]) - node T_182155 = cat(T_182153, T_182154) - node T_182156 = cat(T_182138[42], T_182138[41]) - node T_182157 = cat(T_182138[40], T_182138[39]) - node T_182158 = cat(T_182156, T_182157) - node T_182159 = cat(T_182155, T_182158) - node T_182160 = cat(T_182138[38], T_182138[37]) - node T_182161 = cat(T_182138[36], T_182138[35]) - node T_182162 = cat(T_182160, T_182161) - node T_182163 = cat(T_182138[34], T_182138[33]) - node T_182164 = cat(T_182138[32], T_182138[31]) - node T_182165 = cat(T_182163, T_182164) - node T_182166 = cat(T_182162, T_182165) - node T_182167 = cat(T_182159, T_182166) - node T_182168 = cat(T_182152, T_182167) - node T_182169 = cat(T_182138[29], T_182138[28]) - node T_182170 = cat(T_182138[30], T_182169) - node T_182171 = cat(T_182138[27], T_182138[26]) - node T_182172 = cat(T_182138[25], T_182138[24]) - node T_182173 = cat(T_182171, T_182172) - node T_182174 = cat(T_182170, T_182173) - node T_182175 = cat(T_182138[23], T_182138[22]) - node T_182176 = cat(T_182138[21], T_182138[20]) - node T_182177 = cat(T_182175, T_182176) - node T_182178 = cat(T_182138[19], T_182138[18]) - node T_182179 = cat(T_182138[17], T_182138[16]) - node T_182180 = cat(T_182178, T_182179) - node T_182181 = cat(T_182177, T_182180) - node T_182182 = cat(T_182174, T_182181) - node T_182183 = cat(T_182138[15], T_182138[14]) - node T_182184 = cat(T_182138[13], T_182138[12]) - node T_182185 = cat(T_182183, T_182184) - node T_182186 = cat(T_182138[11], T_182138[10]) - node T_182187 = cat(T_182138[9], T_182138[8]) - node T_182188 = cat(T_182186, T_182187) - node T_182189 = cat(T_182185, T_182188) - node T_182190 = cat(T_182138[7], T_182138[6]) - node T_182191 = cat(T_182138[5], T_182138[4]) - node T_182192 = cat(T_182190, T_182191) - node T_182193 = cat(T_182138[3], T_182138[2]) - node T_182194 = cat(T_182138[1], T_182138[0]) - node T_182195 = cat(T_182193, T_182194) - node T_182196 = cat(T_182192, T_182195) - node T_182197 = cat(T_182189, T_182196) - node T_182198 = cat(T_182182, T_182197) - node T_182199 = cat(T_182168, T_182198) - node T_182200 = bit(T_181951, 0) - node T_182201 = and(idxValid[0], T_182200) - node T_182202 = bit(T_182199, 0) - node T_182203 = and(T_182201, T_182202) - node T_182204 = bit(T_181951, 1) - node T_182205 = and(idxValid[1], T_182204) - node T_182206 = bit(T_182199, 1) - node T_182207 = and(T_182205, T_182206) - node T_182208 = bit(T_181951, 2) - node T_182209 = and(idxValid[2], T_182208) - node T_182210 = bit(T_182199, 2) - node T_182211 = and(T_182209, T_182210) - node T_182212 = bit(T_181951, 3) - node T_182213 = and(idxValid[3], T_182212) - node T_182214 = bit(T_182199, 3) - node T_182215 = and(T_182213, T_182214) - node T_182216 = bit(T_181951, 4) - node T_182217 = and(idxValid[4], T_182216) - node T_182218 = bit(T_182199, 4) - node T_182219 = and(T_182217, T_182218) - node T_182220 = bit(T_181951, 5) - node T_182221 = and(idxValid[5], T_182220) - node T_182222 = bit(T_182199, 5) - node T_182223 = and(T_182221, T_182222) - node T_182224 = bit(T_181951, 6) - node T_182225 = and(idxValid[6], T_182224) - node T_182226 = bit(T_182199, 6) - node T_182227 = and(T_182225, T_182226) - node T_182228 = bit(T_181951, 7) - node T_182229 = and(idxValid[7], T_182228) - node T_182230 = bit(T_182199, 7) - node T_182231 = and(T_182229, T_182230) - node T_182232 = bit(T_181951, 8) - node T_182233 = and(idxValid[8], T_182232) - node T_182234 = bit(T_182199, 8) - node T_182235 = and(T_182233, T_182234) - node T_182236 = bit(T_181951, 9) - node T_182237 = and(idxValid[9], T_182236) - node T_182238 = bit(T_182199, 9) - node T_182239 = and(T_182237, T_182238) - node T_182240 = bit(T_181951, 10) - node T_182241 = and(idxValid[10], T_182240) - node T_182242 = bit(T_182199, 10) - node T_182243 = and(T_182241, T_182242) - node T_182244 = bit(T_181951, 11) - node T_182245 = and(idxValid[11], T_182244) - node T_182246 = bit(T_182199, 11) - node T_182247 = and(T_182245, T_182246) - node T_182248 = bit(T_181951, 12) - node T_182249 = and(idxValid[12], T_182248) - node T_182250 = bit(T_182199, 12) - node T_182251 = and(T_182249, T_182250) - node T_182252 = bit(T_181951, 13) - node T_182253 = and(idxValid[13], T_182252) - node T_182254 = bit(T_182199, 13) - node T_182255 = and(T_182253, T_182254) - node T_182256 = bit(T_181951, 14) - node T_182257 = and(idxValid[14], T_182256) - node T_182258 = bit(T_182199, 14) - node T_182259 = and(T_182257, T_182258) - node T_182260 = bit(T_181951, 15) - node T_182261 = and(idxValid[15], T_182260) - node T_182262 = bit(T_182199, 15) - node T_182263 = and(T_182261, T_182262) - node T_182264 = bit(T_181951, 16) - node T_182265 = and(idxValid[16], T_182264) - node T_182266 = bit(T_182199, 16) - node T_182267 = and(T_182265, T_182266) - node T_182268 = bit(T_181951, 17) - node T_182269 = and(idxValid[17], T_182268) - node T_182270 = bit(T_182199, 17) - node T_182271 = and(T_182269, T_182270) - node T_182272 = bit(T_181951, 18) - node T_182273 = and(idxValid[18], T_182272) - node T_182274 = bit(T_182199, 18) - node T_182275 = and(T_182273, T_182274) - node T_182276 = bit(T_181951, 19) - node T_182277 = and(idxValid[19], T_182276) - node T_182278 = bit(T_182199, 19) - node T_182279 = and(T_182277, T_182278) - node T_182280 = bit(T_181951, 20) - node T_182281 = and(idxValid[20], T_182280) - node T_182282 = bit(T_182199, 20) - node T_182283 = and(T_182281, T_182282) - node T_182284 = bit(T_181951, 21) - node T_182285 = and(idxValid[21], T_182284) - node T_182286 = bit(T_182199, 21) - node T_182287 = and(T_182285, T_182286) - node T_182288 = bit(T_181951, 22) - node T_182289 = and(idxValid[22], T_182288) - node T_182290 = bit(T_182199, 22) - node T_182291 = and(T_182289, T_182290) - node T_182292 = bit(T_181951, 23) - node T_182293 = and(idxValid[23], T_182292) - node T_182294 = bit(T_182199, 23) - node T_182295 = and(T_182293, T_182294) - node T_182296 = bit(T_181951, 24) - node T_182297 = and(idxValid[24], T_182296) - node T_182298 = bit(T_182199, 24) - node T_182299 = and(T_182297, T_182298) - node T_182300 = bit(T_181951, 25) - node T_182301 = and(idxValid[25], T_182300) - node T_182302 = bit(T_182199, 25) - node T_182303 = and(T_182301, T_182302) - node T_182304 = bit(T_181951, 26) - node T_182305 = and(idxValid[26], T_182304) - node T_182306 = bit(T_182199, 26) - node T_182307 = and(T_182305, T_182306) - node T_182308 = bit(T_181951, 27) - node T_182309 = and(idxValid[27], T_182308) - node T_182310 = bit(T_182199, 27) - node T_182311 = and(T_182309, T_182310) - node T_182312 = bit(T_181951, 28) - node T_182313 = and(idxValid[28], T_182312) - node T_182314 = bit(T_182199, 28) - node T_182315 = and(T_182313, T_182314) - node T_182316 = bit(T_181951, 29) - node T_182317 = and(idxValid[29], T_182316) - node T_182318 = bit(T_182199, 29) - node T_182319 = and(T_182317, T_182318) - node T_182320 = bit(T_181951, 30) - node T_182321 = and(idxValid[30], T_182320) - node T_182322 = bit(T_182199, 30) - node T_182323 = and(T_182321, T_182322) - node T_182324 = bit(T_181951, 31) - node T_182325 = and(idxValid[31], T_182324) - node T_182326 = bit(T_182199, 31) - node T_182327 = and(T_182325, T_182326) - node T_182328 = bit(T_181951, 32) - node T_182329 = and(idxValid[32], T_182328) - node T_182330 = bit(T_182199, 32) - node T_182331 = and(T_182329, T_182330) - node T_182332 = bit(T_181951, 33) - node T_182333 = and(idxValid[33], T_182332) - node T_182334 = bit(T_182199, 33) - node T_182335 = and(T_182333, T_182334) - node T_182336 = bit(T_181951, 34) - node T_182337 = and(idxValid[34], T_182336) - node T_182338 = bit(T_182199, 34) - node T_182339 = and(T_182337, T_182338) - node T_182340 = bit(T_181951, 35) - node T_182341 = and(idxValid[35], T_182340) - node T_182342 = bit(T_182199, 35) - node T_182343 = and(T_182341, T_182342) - node T_182344 = bit(T_181951, 36) - node T_182345 = and(idxValid[36], T_182344) - node T_182346 = bit(T_182199, 36) - node T_182347 = and(T_182345, T_182346) - node T_182348 = bit(T_181951, 37) - node T_182349 = and(idxValid[37], T_182348) - node T_182350 = bit(T_182199, 37) - node T_182351 = and(T_182349, T_182350) - node T_182352 = bit(T_181951, 38) - node T_182353 = and(idxValid[38], T_182352) - node T_182354 = bit(T_182199, 38) - node T_182355 = and(T_182353, T_182354) - node T_182356 = bit(T_181951, 39) - node T_182357 = and(idxValid[39], T_182356) - node T_182358 = bit(T_182199, 39) - node T_182359 = and(T_182357, T_182358) - node T_182360 = bit(T_181951, 40) - node T_182361 = and(idxValid[40], T_182360) - node T_182362 = bit(T_182199, 40) - node T_182363 = and(T_182361, T_182362) - node T_182364 = bit(T_181951, 41) - node T_182365 = and(idxValid[41], T_182364) - node T_182366 = bit(T_182199, 41) - node T_182367 = and(T_182365, T_182366) - node T_182368 = bit(T_181951, 42) - node T_182369 = and(idxValid[42], T_182368) - node T_182370 = bit(T_182199, 42) - node T_182371 = and(T_182369, T_182370) - node T_182372 = bit(T_181951, 43) - node T_182373 = and(idxValid[43], T_182372) - node T_182374 = bit(T_182199, 43) - node T_182375 = and(T_182373, T_182374) - node T_182376 = bit(T_181951, 44) - node T_182377 = and(idxValid[44], T_182376) - node T_182378 = bit(T_182199, 44) - node T_182379 = and(T_182377, T_182378) - node T_182380 = bit(T_181951, 45) - node T_182381 = and(idxValid[45], T_182380) - node T_182382 = bit(T_182199, 45) - node T_182383 = and(T_182381, T_182382) - node T_182384 = bit(T_181951, 46) - node T_182385 = and(idxValid[46], T_182384) - node T_182386 = bit(T_182199, 46) - node T_182387 = and(T_182385, T_182386) - node T_182388 = bit(T_181951, 47) - node T_182389 = and(idxValid[47], T_182388) - node T_182390 = bit(T_182199, 47) - node T_182391 = and(T_182389, T_182390) - node T_182392 = bit(T_181951, 48) - node T_182393 = and(idxValid[48], T_182392) - node T_182394 = bit(T_182199, 48) - node T_182395 = and(T_182393, T_182394) - node T_182396 = bit(T_181951, 49) - node T_182397 = and(idxValid[49], T_182396) - node T_182398 = bit(T_182199, 49) - node T_182399 = and(T_182397, T_182398) - node T_182400 = bit(T_181951, 50) - node T_182401 = and(idxValid[50], T_182400) - node T_182402 = bit(T_182199, 50) - node T_182403 = and(T_182401, T_182402) - node T_182404 = bit(T_181951, 51) - node T_182405 = and(idxValid[51], T_182404) - node T_182406 = bit(T_182199, 51) - node T_182407 = and(T_182405, T_182406) - node T_182408 = bit(T_181951, 52) - node T_182409 = and(idxValid[52], T_182408) - node T_182410 = bit(T_182199, 52) - node T_182411 = and(T_182409, T_182410) - node T_182412 = bit(T_181951, 53) - node T_182413 = and(idxValid[53], T_182412) - node T_182414 = bit(T_182199, 53) - node T_182415 = and(T_182413, T_182414) - node T_182416 = bit(T_181951, 54) - node T_182417 = and(idxValid[54], T_182416) - node T_182418 = bit(T_182199, 54) - node T_182419 = and(T_182417, T_182418) - node T_182420 = bit(T_181951, 55) - node T_182421 = and(idxValid[55], T_182420) - node T_182422 = bit(T_182199, 55) - node T_182423 = and(T_182421, T_182422) - node T_182424 = bit(T_181951, 56) - node T_182425 = and(idxValid[56], T_182424) - node T_182426 = bit(T_182199, 56) - node T_182427 = and(T_182425, T_182426) - node T_182428 = bit(T_181951, 57) - node T_182429 = and(idxValid[57], T_182428) - node T_182430 = bit(T_182199, 57) - node T_182431 = and(T_182429, T_182430) - node T_182432 = bit(T_181951, 58) - node T_182433 = and(idxValid[58], T_182432) - node T_182434 = bit(T_182199, 58) - node T_182435 = and(T_182433, T_182434) - node T_182436 = bit(T_181951, 59) - node T_182437 = and(idxValid[59], T_182436) - node T_182438 = bit(T_182199, 59) - node T_182439 = and(T_182437, T_182438) - node T_182440 = bit(T_181951, 60) - node T_182441 = and(idxValid[60], T_182440) - node T_182442 = bit(T_182199, 60) - node T_182443 = and(T_182441, T_182442) - node T_182444 = bit(T_181951, 61) - node T_182445 = and(idxValid[61], T_182444) - node T_182446 = bit(T_182199, 61) - node T_182447 = and(T_182445, T_182446) - wire updateHits : UInt<1>[62] - updateHits[0] := T_182203 - updateHits[1] := T_182207 - updateHits[2] := T_182211 - updateHits[3] := T_182215 - updateHits[4] := T_182219 - updateHits[5] := T_182223 - updateHits[6] := T_182227 - updateHits[7] := T_182231 - updateHits[8] := T_182235 - updateHits[9] := T_182239 - updateHits[10] := T_182243 - updateHits[11] := T_182247 - updateHits[12] := T_182251 - updateHits[13] := T_182255 - updateHits[14] := T_182259 - updateHits[15] := T_182263 - updateHits[16] := T_182267 - updateHits[17] := T_182271 - updateHits[18] := T_182275 - updateHits[19] := T_182279 - updateHits[20] := T_182283 - updateHits[21] := T_182287 - updateHits[22] := T_182291 - updateHits[23] := T_182295 - updateHits[24] := T_182299 - updateHits[25] := T_182303 - updateHits[26] := T_182307 - updateHits[27] := T_182311 - updateHits[28] := T_182315 - updateHits[29] := T_182319 - updateHits[30] := T_182323 - updateHits[31] := T_182327 - updateHits[32] := T_182331 - updateHits[33] := T_182335 - updateHits[34] := T_182339 - updateHits[35] := T_182343 - updateHits[36] := T_182347 - updateHits[37] := T_182351 - updateHits[38] := T_182355 - updateHits[39] := T_182359 - updateHits[40] := T_182363 - updateHits[41] := T_182367 - updateHits[42] := T_182371 - updateHits[43] := T_182375 - updateHits[44] := T_182379 - updateHits[45] := T_182383 - updateHits[46] := T_182387 - updateHits[47] := T_182391 - updateHits[48] := T_182395 - updateHits[49] := T_182399 - updateHits[50] := T_182403 - updateHits[51] := T_182407 - updateHits[52] := T_182411 - updateHits[53] := T_182415 - updateHits[54] := T_182419 - updateHits[55] := T_182423 - updateHits[56] := T_182427 - updateHits[57] := T_182431 - updateHits[58] := T_182435 - updateHits[59] := T_182439 - updateHits[60] := T_182443 - updateHits[61] := T_182447 - reg T_182448 : UInt<16>, clk, reset - onreset T_182448 := UInt<16>(1) - when r_btb_update.valid : - node T_182449 = bit(T_182448, 0) - node T_182450 = bit(T_182448, 2) - node T_182451 = xor(T_182449, T_182450) - node T_182452 = bit(T_182448, 3) - node T_182453 = xor(T_182451, T_182452) - node T_182454 = bit(T_182448, 5) - node T_182455 = xor(T_182453, T_182454) - node T_182456 = bits(T_182448, 15, 1) - node T_182457 = cat(T_182455, T_182456) - T_182448 := T_182457 - node T_182458 = eq(updatePageHit, UInt<1>(0)) - node useUpdatePageHit = eq(T_182458, UInt<1>(0)) - node doIdxPageRepl = eq(useUpdatePageHit, UInt<1>(0)) - wire idxPageRepl : UInt - wire idxPageUpdateOH : UInt - idxPageUpdateOH := idxPageRepl - when useUpdatePageHit : idxPageUpdateOH := updatePageHit - wire idxPageReplEn : UInt<1> - idxPageReplEn := UInt<1>(0) - when doIdxPageRepl : idxPageReplEn := idxPageRepl - node T_182459 = shr(r_btb_update.bits.pc, 12) - node T_182460 = shr(req.bits.addr, 12) - node samePage = eq(T_182459, T_182460) - node T_182461 = not(idxPageReplEn) - node T_182462 = and(pageHit, T_182461) - node T_182463 = eq(T_182462, UInt<1>(0)) - node usePageHit = eq(T_182463, UInt<1>(0)) - node T_182464 = eq(samePage, UInt<1>(0)) - node T_182465 = eq(usePageHit, UInt<1>(0)) - node doTgtPageRepl = and(T_182464, T_182465) - node T_182466 = bits(idxPageUpdateOH, 4, 0) - node T_182467 = shl(T_182466, 1) - node T_182468 = bit(idxPageUpdateOH, 5) - node T_182469 = or(T_182467, T_182468) - wire tgtPageRepl : UInt<6> - tgtPageRepl := T_182469 - when samePage : tgtPageRepl := idxPageUpdateOH - wire T_182470 : UInt<6> - T_182470 := tgtPageRepl - when usePageHit : T_182470 := pageHit - node T_182471 = bits(T_182470, 5, 4) - node T_182472 = bits(T_182470, 3, 0) - node T_182473 = eq(T_182471, UInt<1>(0)) - node T_182474 = eq(T_182473, UInt<1>(0)) - node T_182475 = or(T_182471, T_182472) - node T_182476 = bits(T_182475, 3, 2) - node T_182477 = bits(T_182475, 1, 0) - node T_182478 = eq(T_182476, UInt<1>(0)) - node T_182479 = eq(T_182478, UInt<1>(0)) - node T_182480 = or(T_182476, T_182477) - node T_182481 = bit(T_182480, 1) - node T_182482 = cat(T_182479, T_182481) - node tgtPageUpdate = cat(T_182474, T_182482) - wire tgtPageReplEn : UInt<1> - tgtPageReplEn := UInt<1>(0) - when doTgtPageRepl : tgtPageReplEn := tgtPageRepl - node doPageRepl = or(doIdxPageRepl, doTgtPageRepl) - node pageReplEn = or(idxPageReplEn, tgtPageReplEn) - node T_182483 = and(r_btb_update.valid, doPageRepl) - reg T_182484 : UInt<3>, clk, reset - onreset T_182484 := UInt<3>(0) - when T_182483 : - node T_182485 = eq(T_182484, UInt<3>(5)) - node T_182486 = and(UInt<1>(1), T_182485) - node T_182487 = addw(T_182484, UInt<1>(1)) - wire T_182488 : UInt<3> - T_182488 := T_182487 - when T_182486 : T_182488 := UInt<1>(0) - T_182484 := T_182488 - node T_182489 = and(T_182483, T_182485) - node T_182490 = dshl(UInt<1>(1), T_182484) - idxPageRepl := T_182490 - when r_btb_update.valid : - node T_182491 = eq(req.bits.addr, r_btb_update.bits.target) - node T_182492 = eq(r_btb_update.bits.prediction.valid, UInt<1>(0)) - reg T_182493 : UInt<6>, clk, reset - onreset T_182493 := UInt<6>(0) - when T_182492 : - node T_182494 = eq(T_182493, UInt<6>(61)) - node T_182495 = and(UInt<1>(1), T_182494) - node T_182496 = addw(T_182493, UInt<1>(1)) - wire T_182497 : UInt<6> - T_182497 := T_182496 - when T_182495 : T_182497 := UInt<1>(0) - T_182493 := T_182497 - node T_182498 = and(T_182492, T_182494) - wire T_182499 : UInt<6> - T_182499 := T_182493 - when r_btb_update.bits.prediction.valid : T_182499 := r_btb_update.bits.prediction.bits.entry - - - node T_182500 = or(T_180672, T_180858) - node T_182501 = and(pageReplEn, T_182500) - node T_182502 = eq(T_182501, UInt<1>(0)) - node T_182503 = eq(T_182502, UInt<1>(0)) - when T_182503 : idxValid[0] := UInt<1>(0) - - - node T_182504 = or(T_180675, T_180861) - node T_182505 = and(pageReplEn, T_182504) - node T_182506 = eq(T_182505, UInt<1>(0)) - node T_182507 = eq(T_182506, UInt<1>(0)) - when T_182507 : idxValid[1] := UInt<1>(0) - - - node T_182508 = or(T_180678, T_180864) - node T_182509 = and(pageReplEn, T_182508) - node T_182510 = eq(T_182509, UInt<1>(0)) - node T_182511 = eq(T_182510, UInt<1>(0)) - when T_182511 : idxValid[2] := UInt<1>(0) - - - node T_182512 = or(T_180681, T_180867) - node T_182513 = and(pageReplEn, T_182512) - node T_182514 = eq(T_182513, UInt<1>(0)) - node T_182515 = eq(T_182514, UInt<1>(0)) - when T_182515 : idxValid[3] := UInt<1>(0) - - - node T_182516 = or(T_180684, T_180870) - node T_182517 = and(pageReplEn, T_182516) - node T_182518 = eq(T_182517, UInt<1>(0)) - node T_182519 = eq(T_182518, UInt<1>(0)) - when T_182519 : idxValid[4] := UInt<1>(0) - - - node T_182520 = or(T_180687, T_180873) - node T_182521 = and(pageReplEn, T_182520) - node T_182522 = eq(T_182521, UInt<1>(0)) - node T_182523 = eq(T_182522, UInt<1>(0)) - when T_182523 : idxValid[5] := UInt<1>(0) - - - node T_182524 = or(T_180690, T_180876) - node T_182525 = and(pageReplEn, T_182524) - node T_182526 = eq(T_182525, UInt<1>(0)) - node T_182527 = eq(T_182526, UInt<1>(0)) - when T_182527 : idxValid[6] := UInt<1>(0) - - - node T_182528 = or(T_180693, T_180879) - node T_182529 = and(pageReplEn, T_182528) - node T_182530 = eq(T_182529, UInt<1>(0)) - node T_182531 = eq(T_182530, UInt<1>(0)) - when T_182531 : idxValid[7] := UInt<1>(0) - - - node T_182532 = or(T_180696, T_180882) - node T_182533 = and(pageReplEn, T_182532) - node T_182534 = eq(T_182533, UInt<1>(0)) - node T_182535 = eq(T_182534, UInt<1>(0)) - when T_182535 : idxValid[8] := UInt<1>(0) - - - node T_182536 = or(T_180699, T_180885) - node T_182537 = and(pageReplEn, T_182536) - node T_182538 = eq(T_182537, UInt<1>(0)) - node T_182539 = eq(T_182538, UInt<1>(0)) - when T_182539 : idxValid[9] := UInt<1>(0) - - - node T_182540 = or(T_180702, T_180888) - node T_182541 = and(pageReplEn, T_182540) - node T_182542 = eq(T_182541, UInt<1>(0)) - node T_182543 = eq(T_182542, UInt<1>(0)) - when T_182543 : idxValid[10] := UInt<1>(0) - - - node T_182544 = or(T_180705, T_180891) - node T_182545 = and(pageReplEn, T_182544) - node T_182546 = eq(T_182545, UInt<1>(0)) - node T_182547 = eq(T_182546, UInt<1>(0)) - when T_182547 : idxValid[11] := UInt<1>(0) - - - node T_182548 = or(T_180708, T_180894) - node T_182549 = and(pageReplEn, T_182548) - node T_182550 = eq(T_182549, UInt<1>(0)) - node T_182551 = eq(T_182550, UInt<1>(0)) - when T_182551 : idxValid[12] := UInt<1>(0) - - - node T_182552 = or(T_180711, T_180897) - node T_182553 = and(pageReplEn, T_182552) - node T_182554 = eq(T_182553, UInt<1>(0)) - node T_182555 = eq(T_182554, UInt<1>(0)) - when T_182555 : idxValid[13] := UInt<1>(0) - - - node T_182556 = or(T_180714, T_180900) - node T_182557 = and(pageReplEn, T_182556) - node T_182558 = eq(T_182557, UInt<1>(0)) - node T_182559 = eq(T_182558, UInt<1>(0)) - when T_182559 : idxValid[14] := UInt<1>(0) - - - node T_182560 = or(T_180717, T_180903) - node T_182561 = and(pageReplEn, T_182560) - node T_182562 = eq(T_182561, UInt<1>(0)) - node T_182563 = eq(T_182562, UInt<1>(0)) - when T_182563 : idxValid[15] := UInt<1>(0) - - - node T_182564 = or(T_180720, T_180906) - node T_182565 = and(pageReplEn, T_182564) - node T_182566 = eq(T_182565, UInt<1>(0)) - node T_182567 = eq(T_182566, UInt<1>(0)) - when T_182567 : idxValid[16] := UInt<1>(0) - - - node T_182568 = or(T_180723, T_180909) - node T_182569 = and(pageReplEn, T_182568) - node T_182570 = eq(T_182569, UInt<1>(0)) - node T_182571 = eq(T_182570, UInt<1>(0)) - when T_182571 : idxValid[17] := UInt<1>(0) - - - node T_182572 = or(T_180726, T_180912) - node T_182573 = and(pageReplEn, T_182572) - node T_182574 = eq(T_182573, UInt<1>(0)) - node T_182575 = eq(T_182574, UInt<1>(0)) - when T_182575 : idxValid[18] := UInt<1>(0) - - - node T_182576 = or(T_180729, T_180915) - node T_182577 = and(pageReplEn, T_182576) - node T_182578 = eq(T_182577, UInt<1>(0)) - node T_182579 = eq(T_182578, UInt<1>(0)) - when T_182579 : idxValid[19] := UInt<1>(0) - - - node T_182580 = or(T_180732, T_180918) - node T_182581 = and(pageReplEn, T_182580) - node T_182582 = eq(T_182581, UInt<1>(0)) - node T_182583 = eq(T_182582, UInt<1>(0)) - when T_182583 : idxValid[20] := UInt<1>(0) - - - node T_182584 = or(T_180735, T_180921) - node T_182585 = and(pageReplEn, T_182584) - node T_182586 = eq(T_182585, UInt<1>(0)) - node T_182587 = eq(T_182586, UInt<1>(0)) - when T_182587 : idxValid[21] := UInt<1>(0) - - - node T_182588 = or(T_180738, T_180924) - node T_182589 = and(pageReplEn, T_182588) - node T_182590 = eq(T_182589, UInt<1>(0)) - node T_182591 = eq(T_182590, UInt<1>(0)) - when T_182591 : idxValid[22] := UInt<1>(0) - - - node T_182592 = or(T_180741, T_180927) - node T_182593 = and(pageReplEn, T_182592) - node T_182594 = eq(T_182593, UInt<1>(0)) - node T_182595 = eq(T_182594, UInt<1>(0)) - when T_182595 : idxValid[23] := UInt<1>(0) - - - node T_182596 = or(T_180744, T_180930) - node T_182597 = and(pageReplEn, T_182596) - node T_182598 = eq(T_182597, UInt<1>(0)) - node T_182599 = eq(T_182598, UInt<1>(0)) - when T_182599 : idxValid[24] := UInt<1>(0) - - - node T_182600 = or(T_180747, T_180933) - node T_182601 = and(pageReplEn, T_182600) - node T_182602 = eq(T_182601, UInt<1>(0)) - node T_182603 = eq(T_182602, UInt<1>(0)) - when T_182603 : idxValid[25] := UInt<1>(0) - - - node T_182604 = or(T_180750, T_180936) - node T_182605 = and(pageReplEn, T_182604) - node T_182606 = eq(T_182605, UInt<1>(0)) - node T_182607 = eq(T_182606, UInt<1>(0)) - when T_182607 : idxValid[26] := UInt<1>(0) - - - node T_182608 = or(T_180753, T_180939) - node T_182609 = and(pageReplEn, T_182608) - node T_182610 = eq(T_182609, UInt<1>(0)) - node T_182611 = eq(T_182610, UInt<1>(0)) - when T_182611 : idxValid[27] := UInt<1>(0) - - - node T_182612 = or(T_180756, T_180942) - node T_182613 = and(pageReplEn, T_182612) - node T_182614 = eq(T_182613, UInt<1>(0)) - node T_182615 = eq(T_182614, UInt<1>(0)) - when T_182615 : idxValid[28] := UInt<1>(0) - - - node T_182616 = or(T_180759, T_180945) - node T_182617 = and(pageReplEn, T_182616) - node T_182618 = eq(T_182617, UInt<1>(0)) - node T_182619 = eq(T_182618, UInt<1>(0)) - when T_182619 : idxValid[29] := UInt<1>(0) - - - node T_182620 = or(T_180762, T_180948) - node T_182621 = and(pageReplEn, T_182620) - node T_182622 = eq(T_182621, UInt<1>(0)) - node T_182623 = eq(T_182622, UInt<1>(0)) - when T_182623 : idxValid[30] := UInt<1>(0) - - - node T_182624 = or(T_180765, T_180951) - node T_182625 = and(pageReplEn, T_182624) - node T_182626 = eq(T_182625, UInt<1>(0)) - node T_182627 = eq(T_182626, UInt<1>(0)) - when T_182627 : idxValid[31] := UInt<1>(0) - - - node T_182628 = or(T_180768, T_180954) - node T_182629 = and(pageReplEn, T_182628) - node T_182630 = eq(T_182629, UInt<1>(0)) - node T_182631 = eq(T_182630, UInt<1>(0)) - when T_182631 : idxValid[32] := UInt<1>(0) - - - node T_182632 = or(T_180771, T_180957) - node T_182633 = and(pageReplEn, T_182632) - node T_182634 = eq(T_182633, UInt<1>(0)) - node T_182635 = eq(T_182634, UInt<1>(0)) - when T_182635 : idxValid[33] := UInt<1>(0) - - - node T_182636 = or(T_180774, T_180960) - node T_182637 = and(pageReplEn, T_182636) - node T_182638 = eq(T_182637, UInt<1>(0)) - node T_182639 = eq(T_182638, UInt<1>(0)) - when T_182639 : idxValid[34] := UInt<1>(0) - - - node T_182640 = or(T_180777, T_180963) - node T_182641 = and(pageReplEn, T_182640) - node T_182642 = eq(T_182641, UInt<1>(0)) - node T_182643 = eq(T_182642, UInt<1>(0)) - when T_182643 : idxValid[35] := UInt<1>(0) - - - node T_182644 = or(T_180780, T_180966) - node T_182645 = and(pageReplEn, T_182644) - node T_182646 = eq(T_182645, UInt<1>(0)) - node T_182647 = eq(T_182646, UInt<1>(0)) - when T_182647 : idxValid[36] := UInt<1>(0) - - - node T_182648 = or(T_180783, T_180969) - node T_182649 = and(pageReplEn, T_182648) - node T_182650 = eq(T_182649, UInt<1>(0)) - node T_182651 = eq(T_182650, UInt<1>(0)) - when T_182651 : idxValid[37] := UInt<1>(0) - - - node T_182652 = or(T_180786, T_180972) - node T_182653 = and(pageReplEn, T_182652) - node T_182654 = eq(T_182653, UInt<1>(0)) - node T_182655 = eq(T_182654, UInt<1>(0)) - when T_182655 : idxValid[38] := UInt<1>(0) - - - node T_182656 = or(T_180789, T_180975) - node T_182657 = and(pageReplEn, T_182656) - node T_182658 = eq(T_182657, UInt<1>(0)) - node T_182659 = eq(T_182658, UInt<1>(0)) - when T_182659 : idxValid[39] := UInt<1>(0) - - - node T_182660 = or(T_180792, T_180978) - node T_182661 = and(pageReplEn, T_182660) - node T_182662 = eq(T_182661, UInt<1>(0)) - node T_182663 = eq(T_182662, UInt<1>(0)) - when T_182663 : idxValid[40] := UInt<1>(0) - - - node T_182664 = or(T_180795, T_180981) - node T_182665 = and(pageReplEn, T_182664) - node T_182666 = eq(T_182665, UInt<1>(0)) - node T_182667 = eq(T_182666, UInt<1>(0)) - when T_182667 : idxValid[41] := UInt<1>(0) - - - node T_182668 = or(T_180798, T_180984) - node T_182669 = and(pageReplEn, T_182668) - node T_182670 = eq(T_182669, UInt<1>(0)) - node T_182671 = eq(T_182670, UInt<1>(0)) - when T_182671 : idxValid[42] := UInt<1>(0) - - - node T_182672 = or(T_180801, T_180987) - node T_182673 = and(pageReplEn, T_182672) - node T_182674 = eq(T_182673, UInt<1>(0)) - node T_182675 = eq(T_182674, UInt<1>(0)) - when T_182675 : idxValid[43] := UInt<1>(0) - - - node T_182676 = or(T_180804, T_180990) - node T_182677 = and(pageReplEn, T_182676) - node T_182678 = eq(T_182677, UInt<1>(0)) - node T_182679 = eq(T_182678, UInt<1>(0)) - when T_182679 : idxValid[44] := UInt<1>(0) - - - node T_182680 = or(T_180807, T_180993) - node T_182681 = and(pageReplEn, T_182680) - node T_182682 = eq(T_182681, UInt<1>(0)) - node T_182683 = eq(T_182682, UInt<1>(0)) - when T_182683 : idxValid[45] := UInt<1>(0) - - - node T_182684 = or(T_180810, T_180996) - node T_182685 = and(pageReplEn, T_182684) - node T_182686 = eq(T_182685, UInt<1>(0)) - node T_182687 = eq(T_182686, UInt<1>(0)) - when T_182687 : idxValid[46] := UInt<1>(0) - - - node T_182688 = or(T_180813, T_180999) - node T_182689 = and(pageReplEn, T_182688) - node T_182690 = eq(T_182689, UInt<1>(0)) - node T_182691 = eq(T_182690, UInt<1>(0)) - when T_182691 : idxValid[47] := UInt<1>(0) - - - node T_182692 = or(T_180816, T_181002) - node T_182693 = and(pageReplEn, T_182692) - node T_182694 = eq(T_182693, UInt<1>(0)) - node T_182695 = eq(T_182694, UInt<1>(0)) - when T_182695 : idxValid[48] := UInt<1>(0) - - - node T_182696 = or(T_180819, T_181005) - node T_182697 = and(pageReplEn, T_182696) - node T_182698 = eq(T_182697, UInt<1>(0)) - node T_182699 = eq(T_182698, UInt<1>(0)) - when T_182699 : idxValid[49] := UInt<1>(0) - - - node T_182700 = or(T_180822, T_181008) - node T_182701 = and(pageReplEn, T_182700) - node T_182702 = eq(T_182701, UInt<1>(0)) - node T_182703 = eq(T_182702, UInt<1>(0)) - when T_182703 : idxValid[50] := UInt<1>(0) - - - node T_182704 = or(T_180825, T_181011) - node T_182705 = and(pageReplEn, T_182704) - node T_182706 = eq(T_182705, UInt<1>(0)) - node T_182707 = eq(T_182706, UInt<1>(0)) - when T_182707 : idxValid[51] := UInt<1>(0) - - - node T_182708 = or(T_180828, T_181014) - node T_182709 = and(pageReplEn, T_182708) - node T_182710 = eq(T_182709, UInt<1>(0)) - node T_182711 = eq(T_182710, UInt<1>(0)) - when T_182711 : idxValid[52] := UInt<1>(0) - - - node T_182712 = or(T_180831, T_181017) - node T_182713 = and(pageReplEn, T_182712) - node T_182714 = eq(T_182713, UInt<1>(0)) - node T_182715 = eq(T_182714, UInt<1>(0)) - when T_182715 : idxValid[53] := UInt<1>(0) - - - node T_182716 = or(T_180834, T_181020) - node T_182717 = and(pageReplEn, T_182716) - node T_182718 = eq(T_182717, UInt<1>(0)) - node T_182719 = eq(T_182718, UInt<1>(0)) - when T_182719 : idxValid[54] := UInt<1>(0) - - - node T_182720 = or(T_180837, T_181023) - node T_182721 = and(pageReplEn, T_182720) - node T_182722 = eq(T_182721, UInt<1>(0)) - node T_182723 = eq(T_182722, UInt<1>(0)) - when T_182723 : idxValid[55] := UInt<1>(0) - - - node T_182724 = or(T_180840, T_181026) - node T_182725 = and(pageReplEn, T_182724) - node T_182726 = eq(T_182725, UInt<1>(0)) - node T_182727 = eq(T_182726, UInt<1>(0)) - when T_182727 : idxValid[56] := UInt<1>(0) - - - node T_182728 = or(T_180843, T_181029) - node T_182729 = and(pageReplEn, T_182728) - node T_182730 = eq(T_182729, UInt<1>(0)) - node T_182731 = eq(T_182730, UInt<1>(0)) - when T_182731 : idxValid[57] := UInt<1>(0) - - - node T_182732 = or(T_180846, T_181032) - node T_182733 = and(pageReplEn, T_182732) - node T_182734 = eq(T_182733, UInt<1>(0)) - node T_182735 = eq(T_182734, UInt<1>(0)) - when T_182735 : idxValid[58] := UInt<1>(0) - - - node T_182736 = or(T_180849, T_181035) - node T_182737 = and(pageReplEn, T_182736) - node T_182738 = eq(T_182737, UInt<1>(0)) - node T_182739 = eq(T_182738, UInt<1>(0)) - when T_182739 : idxValid[59] := UInt<1>(0) - - - node T_182740 = or(T_180852, T_181038) - node T_182741 = and(pageReplEn, T_182740) - node T_182742 = eq(T_182741, UInt<1>(0)) - node T_182743 = eq(T_182742, UInt<1>(0)) - when T_182743 : idxValid[60] := UInt<1>(0) - - - node T_182744 = or(T_180855, T_181041) - node T_182745 = and(pageReplEn, T_182744) - node T_182746 = eq(T_182745, UInt<1>(0)) - node T_182747 = eq(T_182746, UInt<1>(0)) - when T_182747 : idxValid[61] := UInt<1>(0) - infer accessor T_182748 = idxValid[T_182499] - T_182748 := UInt<1>(1) - infer accessor T_182749 = idxs[T_182499] - T_182749 := r_btb_update.bits.pc - infer accessor T_182750 = tgts[T_182499] - T_182750 := req.bits.addr - infer accessor T_182751 = idxPages[T_182499] - T_182751 := UInt<1>(0) - infer accessor T_182752 = tgtPages[T_182499] - T_182752 := tgtPageUpdate - infer accessor T_182753 = useRAS[T_182499] - T_182753 := r_btb_update.bits.isReturn - infer accessor T_182754 = isJump[T_182499] - T_182754 := r_btb_update.bits.isJump - infer accessor T_182755 = brIdx[T_182499] - T_182755 := UInt<1>(0) - node T_182756 = and(idxPageUpdateOH, UInt<6>(21)) - node T_182757 = eq(T_182756, UInt<1>(0)) - node T_182758 = eq(T_182757, UInt<1>(0)) - wire T_182759 : UInt<1> - T_182759 := doTgtPageRepl - when T_182758 : T_182759 := doIdxPageRepl - node T_182760 = shr(r_btb_update.bits.pc, 12) - node T_182761 = shr(req.bits.addr, 12) - wire T_182762 : UInt<27> - T_182762 := T_182761 - when T_182758 : T_182762 := T_182760 - - - node T_182763 = bit(pageReplEn, 0) - node T_182764 = and(T_182759, T_182763) - when T_182764 : - infer accessor T_182765 = pages[UInt<1>(0)] - T_182765 := T_182762 - - - node T_182766 = bit(pageReplEn, 2) - node T_182767 = and(T_182759, T_182766) - when T_182767 : - infer accessor T_182768 = pages[UInt<2>(2)] - T_182768 := T_182762 - - - node T_182769 = bit(pageReplEn, 4) - node T_182770 = and(T_182759, T_182769) - when T_182770 : - infer accessor T_182771 = pages[UInt<3>(4)] - T_182771 := T_182762 - wire T_182772 : UInt<1> - T_182772 := doIdxPageRepl - when T_182758 : T_182772 := doTgtPageRepl - node T_182773 = shr(req.bits.addr, 12) - node T_182774 = shr(r_btb_update.bits.pc, 12) - wire T_182775 : UInt<27> - T_182775 := T_182774 - when T_182758 : T_182775 := T_182773 - - - node T_182776 = bit(pageReplEn, 1) - node T_182777 = and(T_182772, T_182776) - when T_182777 : - infer accessor T_182778 = pages[UInt<1>(1)] - T_182778 := T_182775 - - - node T_182779 = bit(pageReplEn, 3) - node T_182780 = and(T_182772, T_182779) - when T_182780 : - infer accessor T_182781 = pages[UInt<2>(3)] - T_182781 := T_182775 - - - node T_182782 = bit(pageReplEn, 5) - node T_182783 = and(T_182772, T_182782) - when T_182783 : - infer accessor T_182784 = pages[UInt<3>(5)] - T_182784 := T_182775 - when doPageRepl : - node T_182785 = or(pageValid, pageReplEn) - pageValid := T_182785 - when invalidate : - idxValid := UInt<1>(0) - pageValid := UInt<1>(0) - node T_182786 = or(hits[0], hits[1]) - node T_182787 = or(T_182786, hits[2]) - node T_182788 = or(T_182787, hits[3]) - node T_182789 = or(T_182788, hits[4]) - node T_182790 = or(T_182789, hits[5]) - node T_182791 = or(T_182790, hits[6]) - node T_182792 = or(T_182791, hits[7]) - node T_182793 = or(T_182792, hits[8]) - node T_182794 = or(T_182793, hits[9]) - node T_182795 = or(T_182794, hits[10]) - node T_182796 = or(T_182795, hits[11]) - node T_182797 = or(T_182796, hits[12]) - node T_182798 = or(T_182797, hits[13]) - node T_182799 = or(T_182798, hits[14]) - node T_182800 = or(T_182799, hits[15]) - node T_182801 = or(T_182800, hits[16]) - node T_182802 = or(T_182801, hits[17]) - node T_182803 = or(T_182802, hits[18]) - node T_182804 = or(T_182803, hits[19]) - node T_182805 = or(T_182804, hits[20]) - node T_182806 = or(T_182805, hits[21]) - node T_182807 = or(T_182806, hits[22]) - node T_182808 = or(T_182807, hits[23]) - node T_182809 = or(T_182808, hits[24]) - node T_182810 = or(T_182809, hits[25]) - node T_182811 = or(T_182810, hits[26]) - node T_182812 = or(T_182811, hits[27]) - node T_182813 = or(T_182812, hits[28]) - node T_182814 = or(T_182813, hits[29]) - node T_182815 = or(T_182814, hits[30]) - node T_182816 = or(T_182815, hits[31]) - node T_182817 = or(T_182816, hits[32]) - node T_182818 = or(T_182817, hits[33]) - node T_182819 = or(T_182818, hits[34]) - node T_182820 = or(T_182819, hits[35]) - node T_182821 = or(T_182820, hits[36]) - node T_182822 = or(T_182821, hits[37]) - node T_182823 = or(T_182822, hits[38]) - node T_182824 = or(T_182823, hits[39]) - node T_182825 = or(T_182824, hits[40]) - node T_182826 = or(T_182825, hits[41]) - node T_182827 = or(T_182826, hits[42]) - node T_182828 = or(T_182827, hits[43]) - node T_182829 = or(T_182828, hits[44]) - node T_182830 = or(T_182829, hits[45]) - node T_182831 = or(T_182830, hits[46]) - node T_182832 = or(T_182831, hits[47]) - node T_182833 = or(T_182832, hits[48]) - node T_182834 = or(T_182833, hits[49]) - node T_182835 = or(T_182834, hits[50]) - node T_182836 = or(T_182835, hits[51]) - node T_182837 = or(T_182836, hits[52]) - node T_182838 = or(T_182837, hits[53]) - node T_182839 = or(T_182838, hits[54]) - node T_182840 = or(T_182839, hits[55]) - node T_182841 = or(T_182840, hits[56]) - node T_182842 = or(T_182841, hits[57]) - node T_182843 = or(T_182842, hits[58]) - node T_182844 = or(T_182843, hits[59]) - node T_182845 = or(T_182844, hits[60]) - node T_182846 = or(T_182845, hits[61]) - resp.valid := T_182846 - resp.bits.taken := resp.valid - wire T_182847 : UInt<1> - T_182847 := UInt<1>(0) - when hits[0] : T_182847 := T_180858 - wire T_182848 : UInt<1> - T_182848 := UInt<1>(0) - when hits[1] : T_182848 := T_180861 - wire T_182849 : UInt<1> - T_182849 := UInt<1>(0) - when hits[2] : T_182849 := T_180864 - wire T_182850 : UInt<1> - T_182850 := UInt<1>(0) - when hits[3] : T_182850 := T_180867 - wire T_182851 : UInt<1> - T_182851 := UInt<1>(0) - when hits[4] : T_182851 := T_180870 - wire T_182852 : UInt<1> - T_182852 := UInt<1>(0) - when hits[5] : T_182852 := T_180873 - wire T_182853 : UInt<1> - T_182853 := UInt<1>(0) - when hits[6] : T_182853 := T_180876 - wire T_182854 : UInt<1> - T_182854 := UInt<1>(0) - when hits[7] : T_182854 := T_180879 - wire T_182855 : UInt<1> - T_182855 := UInt<1>(0) - when hits[8] : T_182855 := T_180882 - wire T_182856 : UInt<1> - T_182856 := UInt<1>(0) - when hits[9] : T_182856 := T_180885 - wire T_182857 : UInt<1> - T_182857 := UInt<1>(0) - when hits[10] : T_182857 := T_180888 - wire T_182858 : UInt<1> - T_182858 := UInt<1>(0) - when hits[11] : T_182858 := T_180891 - wire T_182859 : UInt<1> - T_182859 := UInt<1>(0) - when hits[12] : T_182859 := T_180894 - wire T_182860 : UInt<1> - T_182860 := UInt<1>(0) - when hits[13] : T_182860 := T_180897 - wire T_182861 : UInt<1> - T_182861 := UInt<1>(0) - when hits[14] : T_182861 := T_180900 - wire T_182862 : UInt<1> - T_182862 := UInt<1>(0) - when hits[15] : T_182862 := T_180903 - wire T_182863 : UInt<1> - T_182863 := UInt<1>(0) - when hits[16] : T_182863 := T_180906 - wire T_182864 : UInt<1> - T_182864 := UInt<1>(0) - when hits[17] : T_182864 := T_180909 - wire T_182865 : UInt<1> - T_182865 := UInt<1>(0) - when hits[18] : T_182865 := T_180912 - wire T_182866 : UInt<1> - T_182866 := UInt<1>(0) - when hits[19] : T_182866 := T_180915 - wire T_182867 : UInt<1> - T_182867 := UInt<1>(0) - when hits[20] : T_182867 := T_180918 - wire T_182868 : UInt<1> - T_182868 := UInt<1>(0) - when hits[21] : T_182868 := T_180921 - wire T_182869 : UInt<1> - T_182869 := UInt<1>(0) - when hits[22] : T_182869 := T_180924 - wire T_182870 : UInt<1> - T_182870 := UInt<1>(0) - when hits[23] : T_182870 := T_180927 - wire T_182871 : UInt<1> - T_182871 := UInt<1>(0) - when hits[24] : T_182871 := T_180930 - wire T_182872 : UInt<1> - T_182872 := UInt<1>(0) - when hits[25] : T_182872 := T_180933 - wire T_182873 : UInt<1> - T_182873 := UInt<1>(0) - when hits[26] : T_182873 := T_180936 - wire T_182874 : UInt<1> - T_182874 := UInt<1>(0) - when hits[27] : T_182874 := T_180939 - wire T_182875 : UInt<1> - T_182875 := UInt<1>(0) - when hits[28] : T_182875 := T_180942 - wire T_182876 : UInt<1> - T_182876 := UInt<1>(0) - when hits[29] : T_182876 := T_180945 - wire T_182877 : UInt<1> - T_182877 := UInt<1>(0) - when hits[30] : T_182877 := T_180948 - wire T_182878 : UInt<1> - T_182878 := UInt<1>(0) - when hits[31] : T_182878 := T_180951 - wire T_182879 : UInt<1> - T_182879 := UInt<1>(0) - when hits[32] : T_182879 := T_180954 - wire T_182880 : UInt<1> - T_182880 := UInt<1>(0) - when hits[33] : T_182880 := T_180957 - wire T_182881 : UInt<1> - T_182881 := UInt<1>(0) - when hits[34] : T_182881 := T_180960 - wire T_182882 : UInt<1> - T_182882 := UInt<1>(0) - when hits[35] : T_182882 := T_180963 - wire T_182883 : UInt<1> - T_182883 := UInt<1>(0) - when hits[36] : T_182883 := T_180966 - wire T_182884 : UInt<1> - T_182884 := UInt<1>(0) - when hits[37] : T_182884 := T_180969 - wire T_182885 : UInt<1> - T_182885 := UInt<1>(0) - when hits[38] : T_182885 := T_180972 - wire T_182886 : UInt<1> - T_182886 := UInt<1>(0) - when hits[39] : T_182886 := T_180975 - wire T_182887 : UInt<1> - T_182887 := UInt<1>(0) - when hits[40] : T_182887 := T_180978 - wire T_182888 : UInt<1> - T_182888 := UInt<1>(0) - when hits[41] : T_182888 := T_180981 - wire T_182889 : UInt<1> - T_182889 := UInt<1>(0) - when hits[42] : T_182889 := T_180984 - wire T_182890 : UInt<1> - T_182890 := UInt<1>(0) - when hits[43] : T_182890 := T_180987 - wire T_182891 : UInt<1> - T_182891 := UInt<1>(0) - when hits[44] : T_182891 := T_180990 - wire T_182892 : UInt<1> - T_182892 := UInt<1>(0) - when hits[45] : T_182892 := T_180993 - wire T_182893 : UInt<1> - T_182893 := UInt<1>(0) - when hits[46] : T_182893 := T_180996 - wire T_182894 : UInt<1> - T_182894 := UInt<1>(0) - when hits[47] : T_182894 := T_180999 - wire T_182895 : UInt<1> - T_182895 := UInt<1>(0) - when hits[48] : T_182895 := T_181002 - wire T_182896 : UInt<1> - T_182896 := UInt<1>(0) - when hits[49] : T_182896 := T_181005 - wire T_182897 : UInt<1> - T_182897 := UInt<1>(0) - when hits[50] : T_182897 := T_181008 - wire T_182898 : UInt<1> - T_182898 := UInt<1>(0) - when hits[51] : T_182898 := T_181011 - wire T_182899 : UInt<1> - T_182899 := UInt<1>(0) - when hits[52] : T_182899 := T_181014 - wire T_182900 : UInt<1> - T_182900 := UInt<1>(0) - when hits[53] : T_182900 := T_181017 - wire T_182901 : UInt<1> - T_182901 := UInt<1>(0) - when hits[54] : T_182901 := T_181020 - wire T_182902 : UInt<1> - T_182902 := UInt<1>(0) - when hits[55] : T_182902 := T_181023 - wire T_182903 : UInt<1> - T_182903 := UInt<1>(0) - when hits[56] : T_182903 := T_181026 - wire T_182904 : UInt<1> - T_182904 := UInt<1>(0) - when hits[57] : T_182904 := T_181029 - wire T_182905 : UInt<1> - T_182905 := UInt<1>(0) - when hits[58] : T_182905 := T_181032 - wire T_182906 : UInt<1> - T_182906 := UInt<1>(0) - when hits[59] : T_182906 := T_181035 - wire T_182907 : UInt<1> - T_182907 := UInt<1>(0) - when hits[60] : T_182907 := T_181038 - wire T_182908 : UInt<1> - T_182908 := UInt<1>(0) - when hits[61] : T_182908 := T_181041 - node T_182909 = or(T_182847, T_182848) - node T_182910 = or(T_182909, T_182849) - node T_182911 = or(T_182910, T_182850) - node T_182912 = or(T_182911, T_182851) - node T_182913 = or(T_182912, T_182852) - node T_182914 = or(T_182913, T_182853) - node T_182915 = or(T_182914, T_182854) - node T_182916 = or(T_182915, T_182855) - node T_182917 = or(T_182916, T_182856) - node T_182918 = or(T_182917, T_182857) - node T_182919 = or(T_182918, T_182858) - node T_182920 = or(T_182919, T_182859) - node T_182921 = or(T_182920, T_182860) - node T_182922 = or(T_182921, T_182861) - node T_182923 = or(T_182922, T_182862) - node T_182924 = or(T_182923, T_182863) - node T_182925 = or(T_182924, T_182864) - node T_182926 = or(T_182925, T_182865) - node T_182927 = or(T_182926, T_182866) - node T_182928 = or(T_182927, T_182867) - node T_182929 = or(T_182928, T_182868) - node T_182930 = or(T_182929, T_182869) - node T_182931 = or(T_182930, T_182870) - node T_182932 = or(T_182931, T_182871) - node T_182933 = or(T_182932, T_182872) - node T_182934 = or(T_182933, T_182873) - node T_182935 = or(T_182934, T_182874) - node T_182936 = or(T_182935, T_182875) - node T_182937 = or(T_182936, T_182876) - node T_182938 = or(T_182937, T_182877) - node T_182939 = or(T_182938, T_182878) - node T_182940 = or(T_182939, T_182879) - node T_182941 = or(T_182940, T_182880) - node T_182942 = or(T_182941, T_182881) - node T_182943 = or(T_182942, T_182882) - node T_182944 = or(T_182943, T_182883) - node T_182945 = or(T_182944, T_182884) - node T_182946 = or(T_182945, T_182885) - node T_182947 = or(T_182946, T_182886) - node T_182948 = or(T_182947, T_182887) - node T_182949 = or(T_182948, T_182888) - node T_182950 = or(T_182949, T_182889) - node T_182951 = or(T_182950, T_182890) - node T_182952 = or(T_182951, T_182891) - node T_182953 = or(T_182952, T_182892) - node T_182954 = or(T_182953, T_182893) - node T_182955 = or(T_182954, T_182894) - node T_182956 = or(T_182955, T_182895) - node T_182957 = or(T_182956, T_182896) - node T_182958 = or(T_182957, T_182897) - node T_182959 = or(T_182958, T_182898) - node T_182960 = or(T_182959, T_182899) - node T_182961 = or(T_182960, T_182900) - node T_182962 = or(T_182961, T_182901) - node T_182963 = or(T_182962, T_182902) - node T_182964 = or(T_182963, T_182903) - node T_182965 = or(T_182964, T_182904) - node T_182966 = or(T_182965, T_182905) - node T_182967 = or(T_182966, T_182906) - node T_182968 = or(T_182967, T_182907) - node T_182969 = or(T_182968, T_182908) - wire T_182970 : UInt<6> - node T_182971 = bits(T_182969, 5, 0) - T_182970 := T_182971 - node T_182972 = bit(T_182970, 0) - node T_182973 = bit(T_182970, 1) - node T_182974 = bit(T_182970, 2) - node T_182975 = bit(T_182970, 3) - node T_182976 = bit(T_182970, 4) - node T_182977 = bit(T_182970, 5) - infer accessor T_182978 = pages[UInt<1>(0)] - infer accessor T_182979 = pages[UInt<1>(1)] - infer accessor T_182980 = pages[UInt<2>(2)] - infer accessor T_182981 = pages[UInt<2>(3)] - infer accessor T_182982 = pages[UInt<3>(4)] - infer accessor T_182983 = pages[UInt<3>(5)] - wire T_182984 : UInt<1> - T_182984 := UInt<1>(0) - when T_182972 : T_182984 := T_182978 - wire T_182985 : UInt<1> - T_182985 := UInt<1>(0) - when T_182973 : T_182985 := T_182979 - wire T_182986 : UInt<1> - T_182986 := UInt<1>(0) - when T_182974 : T_182986 := T_182980 - wire T_182987 : UInt<1> - T_182987 := UInt<1>(0) - when T_182975 : T_182987 := T_182981 - wire T_182988 : UInt<1> - T_182988 := UInt<1>(0) - when T_182976 : T_182988 := T_182982 - wire T_182989 : UInt<1> - T_182989 := UInt<1>(0) - when T_182977 : T_182989 := T_182983 - node T_182990 = or(T_182984, T_182985) - node T_182991 = or(T_182990, T_182986) - node T_182992 = or(T_182991, T_182987) - node T_182993 = or(T_182992, T_182988) - node T_182994 = or(T_182993, T_182989) - wire T_182995 : UInt<27> - node T_182996 = bits(T_182994, 26, 0) - T_182995 := T_182996 - infer accessor T_182997 = tgts[UInt<1>(0)] - infer accessor T_182998 = tgts[UInt<1>(1)] - infer accessor T_182999 = tgts[UInt<2>(2)] - infer accessor T_183000 = tgts[UInt<2>(3)] - infer accessor T_183001 = tgts[UInt<3>(4)] - infer accessor T_183002 = tgts[UInt<3>(5)] - infer accessor T_183003 = tgts[UInt<3>(6)] - infer accessor T_183004 = tgts[UInt<3>(7)] - infer accessor T_183005 = tgts[UInt<4>(8)] - infer accessor T_183006 = tgts[UInt<4>(9)] - infer accessor T_183007 = tgts[UInt<4>(10)] - infer accessor T_183008 = tgts[UInt<4>(11)] - infer accessor T_183009 = tgts[UInt<4>(12)] - infer accessor T_183010 = tgts[UInt<4>(13)] - infer accessor T_183011 = tgts[UInt<4>(14)] - infer accessor T_183012 = tgts[UInt<4>(15)] - infer accessor T_183013 = tgts[UInt<5>(16)] - infer accessor T_183014 = tgts[UInt<5>(17)] - infer accessor T_183015 = tgts[UInt<5>(18)] - infer accessor T_183016 = tgts[UInt<5>(19)] - infer accessor T_183017 = tgts[UInt<5>(20)] - infer accessor T_183018 = tgts[UInt<5>(21)] - infer accessor T_183019 = tgts[UInt<5>(22)] - infer accessor T_183020 = tgts[UInt<5>(23)] - infer accessor T_183021 = tgts[UInt<5>(24)] - infer accessor T_183022 = tgts[UInt<5>(25)] - infer accessor T_183023 = tgts[UInt<5>(26)] - infer accessor T_183024 = tgts[UInt<5>(27)] - infer accessor T_183025 = tgts[UInt<5>(28)] - infer accessor T_183026 = tgts[UInt<5>(29)] - infer accessor T_183027 = tgts[UInt<5>(30)] - infer accessor T_183028 = tgts[UInt<5>(31)] - infer accessor T_183029 = tgts[UInt<6>(32)] - infer accessor T_183030 = tgts[UInt<6>(33)] - infer accessor T_183031 = tgts[UInt<6>(34)] - infer accessor T_183032 = tgts[UInt<6>(35)] - infer accessor T_183033 = tgts[UInt<6>(36)] - infer accessor T_183034 = tgts[UInt<6>(37)] - infer accessor T_183035 = tgts[UInt<6>(38)] - infer accessor T_183036 = tgts[UInt<6>(39)] - infer accessor T_183037 = tgts[UInt<6>(40)] - infer accessor T_183038 = tgts[UInt<6>(41)] - infer accessor T_183039 = tgts[UInt<6>(42)] - infer accessor T_183040 = tgts[UInt<6>(43)] - infer accessor T_183041 = tgts[UInt<6>(44)] - infer accessor T_183042 = tgts[UInt<6>(45)] - infer accessor T_183043 = tgts[UInt<6>(46)] - infer accessor T_183044 = tgts[UInt<6>(47)] - infer accessor T_183045 = tgts[UInt<6>(48)] - infer accessor T_183046 = tgts[UInt<6>(49)] - infer accessor T_183047 = tgts[UInt<6>(50)] - infer accessor T_183048 = tgts[UInt<6>(51)] - infer accessor T_183049 = tgts[UInt<6>(52)] - infer accessor T_183050 = tgts[UInt<6>(53)] - infer accessor T_183051 = tgts[UInt<6>(54)] - infer accessor T_183052 = tgts[UInt<6>(55)] - infer accessor T_183053 = tgts[UInt<6>(56)] - infer accessor T_183054 = tgts[UInt<6>(57)] - infer accessor T_183055 = tgts[UInt<6>(58)] - infer accessor T_183056 = tgts[UInt<6>(59)] - infer accessor T_183057 = tgts[UInt<6>(60)] - infer accessor T_183058 = tgts[UInt<6>(61)] - wire T_183059 : UInt<1> - T_183059 := UInt<1>(0) - when hits[0] : T_183059 := T_182997 - wire T_183060 : UInt<1> - T_183060 := UInt<1>(0) - when hits[1] : T_183060 := T_182998 - wire T_183061 : UInt<1> - T_183061 := UInt<1>(0) - when hits[2] : T_183061 := T_182999 - wire T_183062 : UInt<1> - T_183062 := UInt<1>(0) - when hits[3] : T_183062 := T_183000 - wire T_183063 : UInt<1> - T_183063 := UInt<1>(0) - when hits[4] : T_183063 := T_183001 - wire T_183064 : UInt<1> - T_183064 := UInt<1>(0) - when hits[5] : T_183064 := T_183002 - wire T_183065 : UInt<1> - T_183065 := UInt<1>(0) - when hits[6] : T_183065 := T_183003 - wire T_183066 : UInt<1> - T_183066 := UInt<1>(0) - when hits[7] : T_183066 := T_183004 - wire T_183067 : UInt<1> - T_183067 := UInt<1>(0) - when hits[8] : T_183067 := T_183005 - wire T_183068 : UInt<1> - T_183068 := UInt<1>(0) - when hits[9] : T_183068 := T_183006 - wire T_183069 : UInt<1> - T_183069 := UInt<1>(0) - when hits[10] : T_183069 := T_183007 - wire T_183070 : UInt<1> - T_183070 := UInt<1>(0) - when hits[11] : T_183070 := T_183008 - wire T_183071 : UInt<1> - T_183071 := UInt<1>(0) - when hits[12] : T_183071 := T_183009 - wire T_183072 : UInt<1> - T_183072 := UInt<1>(0) - when hits[13] : T_183072 := T_183010 - wire T_183073 : UInt<1> - T_183073 := UInt<1>(0) - when hits[14] : T_183073 := T_183011 - wire T_183074 : UInt<1> - T_183074 := UInt<1>(0) - when hits[15] : T_183074 := T_183012 - wire T_183075 : UInt<1> - T_183075 := UInt<1>(0) - when hits[16] : T_183075 := T_183013 - wire T_183076 : UInt<1> - T_183076 := UInt<1>(0) - when hits[17] : T_183076 := T_183014 - wire T_183077 : UInt<1> - T_183077 := UInt<1>(0) - when hits[18] : T_183077 := T_183015 - wire T_183078 : UInt<1> - T_183078 := UInt<1>(0) - when hits[19] : T_183078 := T_183016 - wire T_183079 : UInt<1> - T_183079 := UInt<1>(0) - when hits[20] : T_183079 := T_183017 - wire T_183080 : UInt<1> - T_183080 := UInt<1>(0) - when hits[21] : T_183080 := T_183018 - wire T_183081 : UInt<1> - T_183081 := UInt<1>(0) - when hits[22] : T_183081 := T_183019 - wire T_183082 : UInt<1> - T_183082 := UInt<1>(0) - when hits[23] : T_183082 := T_183020 - wire T_183083 : UInt<1> - T_183083 := UInt<1>(0) - when hits[24] : T_183083 := T_183021 - wire T_183084 : UInt<1> - T_183084 := UInt<1>(0) - when hits[25] : T_183084 := T_183022 - wire T_183085 : UInt<1> - T_183085 := UInt<1>(0) - when hits[26] : T_183085 := T_183023 - wire T_183086 : UInt<1> - T_183086 := UInt<1>(0) - when hits[27] : T_183086 := T_183024 - wire T_183087 : UInt<1> - T_183087 := UInt<1>(0) - when hits[28] : T_183087 := T_183025 - wire T_183088 : UInt<1> - T_183088 := UInt<1>(0) - when hits[29] : T_183088 := T_183026 - wire T_183089 : UInt<1> - T_183089 := UInt<1>(0) - when hits[30] : T_183089 := T_183027 - wire T_183090 : UInt<1> - T_183090 := UInt<1>(0) - when hits[31] : T_183090 := T_183028 - wire T_183091 : UInt<1> - T_183091 := UInt<1>(0) - when hits[32] : T_183091 := T_183029 - wire T_183092 : UInt<1> - T_183092 := UInt<1>(0) - when hits[33] : T_183092 := T_183030 - wire T_183093 : UInt<1> - T_183093 := UInt<1>(0) - when hits[34] : T_183093 := T_183031 - wire T_183094 : UInt<1> - T_183094 := UInt<1>(0) - when hits[35] : T_183094 := T_183032 - wire T_183095 : UInt<1> - T_183095 := UInt<1>(0) - when hits[36] : T_183095 := T_183033 - wire T_183096 : UInt<1> - T_183096 := UInt<1>(0) - when hits[37] : T_183096 := T_183034 - wire T_183097 : UInt<1> - T_183097 := UInt<1>(0) - when hits[38] : T_183097 := T_183035 - wire T_183098 : UInt<1> - T_183098 := UInt<1>(0) - when hits[39] : T_183098 := T_183036 - wire T_183099 : UInt<1> - T_183099 := UInt<1>(0) - when hits[40] : T_183099 := T_183037 - wire T_183100 : UInt<1> - T_183100 := UInt<1>(0) - when hits[41] : T_183100 := T_183038 - wire T_183101 : UInt<1> - T_183101 := UInt<1>(0) - when hits[42] : T_183101 := T_183039 - wire T_183102 : UInt<1> - T_183102 := UInt<1>(0) - when hits[43] : T_183102 := T_183040 - wire T_183103 : UInt<1> - T_183103 := UInt<1>(0) - when hits[44] : T_183103 := T_183041 - wire T_183104 : UInt<1> - T_183104 := UInt<1>(0) - when hits[45] : T_183104 := T_183042 - wire T_183105 : UInt<1> - T_183105 := UInt<1>(0) - when hits[46] : T_183105 := T_183043 - wire T_183106 : UInt<1> - T_183106 := UInt<1>(0) - when hits[47] : T_183106 := T_183044 - wire T_183107 : UInt<1> - T_183107 := UInt<1>(0) - when hits[48] : T_183107 := T_183045 - wire T_183108 : UInt<1> - T_183108 := UInt<1>(0) - when hits[49] : T_183108 := T_183046 - wire T_183109 : UInt<1> - T_183109 := UInt<1>(0) - when hits[50] : T_183109 := T_183047 - wire T_183110 : UInt<1> - T_183110 := UInt<1>(0) - when hits[51] : T_183110 := T_183048 - wire T_183111 : UInt<1> - T_183111 := UInt<1>(0) - when hits[52] : T_183111 := T_183049 - wire T_183112 : UInt<1> - T_183112 := UInt<1>(0) - when hits[53] : T_183112 := T_183050 - wire T_183113 : UInt<1> - T_183113 := UInt<1>(0) - when hits[54] : T_183113 := T_183051 - wire T_183114 : UInt<1> - T_183114 := UInt<1>(0) - when hits[55] : T_183114 := T_183052 - wire T_183115 : UInt<1> - T_183115 := UInt<1>(0) - when hits[56] : T_183115 := T_183053 - wire T_183116 : UInt<1> - T_183116 := UInt<1>(0) - when hits[57] : T_183116 := T_183054 - wire T_183117 : UInt<1> - T_183117 := UInt<1>(0) - when hits[58] : T_183117 := T_183055 - wire T_183118 : UInt<1> - T_183118 := UInt<1>(0) - when hits[59] : T_183118 := T_183056 - wire T_183119 : UInt<1> - T_183119 := UInt<1>(0) - when hits[60] : T_183119 := T_183057 - wire T_183120 : UInt<1> - T_183120 := UInt<1>(0) - when hits[61] : T_183120 := T_183058 - node T_183121 = or(T_183059, T_183060) - node T_183122 = or(T_183121, T_183061) - node T_183123 = or(T_183122, T_183062) - node T_183124 = or(T_183123, T_183063) - node T_183125 = or(T_183124, T_183064) - node T_183126 = or(T_183125, T_183065) - node T_183127 = or(T_183126, T_183066) - node T_183128 = or(T_183127, T_183067) - node T_183129 = or(T_183128, T_183068) - node T_183130 = or(T_183129, T_183069) - node T_183131 = or(T_183130, T_183070) - node T_183132 = or(T_183131, T_183071) - node T_183133 = or(T_183132, T_183072) - node T_183134 = or(T_183133, T_183073) - node T_183135 = or(T_183134, T_183074) - node T_183136 = or(T_183135, T_183075) - node T_183137 = or(T_183136, T_183076) - node T_183138 = or(T_183137, T_183077) - node T_183139 = or(T_183138, T_183078) - node T_183140 = or(T_183139, T_183079) - node T_183141 = or(T_183140, T_183080) - node T_183142 = or(T_183141, T_183081) - node T_183143 = or(T_183142, T_183082) - node T_183144 = or(T_183143, T_183083) - node T_183145 = or(T_183144, T_183084) - node T_183146 = or(T_183145, T_183085) - node T_183147 = or(T_183146, T_183086) - node T_183148 = or(T_183147, T_183087) - node T_183149 = or(T_183148, T_183088) - node T_183150 = or(T_183149, T_183089) - node T_183151 = or(T_183150, T_183090) - node T_183152 = or(T_183151, T_183091) - node T_183153 = or(T_183152, T_183092) - node T_183154 = or(T_183153, T_183093) - node T_183155 = or(T_183154, T_183094) - node T_183156 = or(T_183155, T_183095) - node T_183157 = or(T_183156, T_183096) - node T_183158 = or(T_183157, T_183097) - node T_183159 = or(T_183158, T_183098) - node T_183160 = or(T_183159, T_183099) - node T_183161 = or(T_183160, T_183100) - node T_183162 = or(T_183161, T_183101) - node T_183163 = or(T_183162, T_183102) - node T_183164 = or(T_183163, T_183103) - node T_183165 = or(T_183164, T_183104) - node T_183166 = or(T_183165, T_183105) - node T_183167 = or(T_183166, T_183106) - node T_183168 = or(T_183167, T_183107) - node T_183169 = or(T_183168, T_183108) - node T_183170 = or(T_183169, T_183109) - node T_183171 = or(T_183170, T_183110) - node T_183172 = or(T_183171, T_183111) - node T_183173 = or(T_183172, T_183112) - node T_183174 = or(T_183173, T_183113) - node T_183175 = or(T_183174, T_183114) - node T_183176 = or(T_183175, T_183115) - node T_183177 = or(T_183176, T_183116) - node T_183178 = or(T_183177, T_183117) - node T_183179 = or(T_183178, T_183118) - node T_183180 = or(T_183179, T_183119) - node T_183181 = or(T_183180, T_183120) - wire T_183182 : UInt<12> - node T_183183 = bits(T_183181, 11, 0) - T_183182 := T_183183 - node T_183184 = cat(T_182995, T_183182) - resp.bits.target := T_183184 - node T_183185 = cat(hits[60], hits[59]) - node T_183186 = cat(hits[61], T_183185) - node T_183187 = cat(hits[58], hits[57]) - node T_183188 = cat(hits[56], hits[55]) - node T_183189 = cat(T_183187, T_183188) - node T_183190 = cat(T_183186, T_183189) - node T_183191 = cat(hits[54], hits[53]) - node T_183192 = cat(hits[52], hits[51]) - node T_183193 = cat(T_183191, T_183192) - node T_183194 = cat(hits[50], hits[49]) - node T_183195 = cat(hits[48], hits[47]) - node T_183196 = cat(T_183194, T_183195) - node T_183197 = cat(T_183193, T_183196) - node T_183198 = cat(T_183190, T_183197) - node T_183199 = cat(hits[46], hits[45]) - node T_183200 = cat(hits[44], hits[43]) - node T_183201 = cat(T_183199, T_183200) - node T_183202 = cat(hits[42], hits[41]) - node T_183203 = cat(hits[40], hits[39]) - node T_183204 = cat(T_183202, T_183203) - node T_183205 = cat(T_183201, T_183204) - node T_183206 = cat(hits[38], hits[37]) - node T_183207 = cat(hits[36], hits[35]) - node T_183208 = cat(T_183206, T_183207) - node T_183209 = cat(hits[34], hits[33]) - node T_183210 = cat(hits[32], hits[31]) - node T_183211 = cat(T_183209, T_183210) - node T_183212 = cat(T_183208, T_183211) - node T_183213 = cat(T_183205, T_183212) - node T_183214 = cat(T_183198, T_183213) - node T_183215 = cat(hits[29], hits[28]) - node T_183216 = cat(hits[30], T_183215) - node T_183217 = cat(hits[27], hits[26]) - node T_183218 = cat(hits[25], hits[24]) - node T_183219 = cat(T_183217, T_183218) - node T_183220 = cat(T_183216, T_183219) - node T_183221 = cat(hits[23], hits[22]) - node T_183222 = cat(hits[21], hits[20]) - node T_183223 = cat(T_183221, T_183222) - node T_183224 = cat(hits[19], hits[18]) - node T_183225 = cat(hits[17], hits[16]) - node T_183226 = cat(T_183224, T_183225) - node T_183227 = cat(T_183223, T_183226) - node T_183228 = cat(T_183220, T_183227) - node T_183229 = cat(hits[15], hits[14]) - node T_183230 = cat(hits[13], hits[12]) - node T_183231 = cat(T_183229, T_183230) - node T_183232 = cat(hits[11], hits[10]) - node T_183233 = cat(hits[9], hits[8]) - node T_183234 = cat(T_183232, T_183233) - node T_183235 = cat(T_183231, T_183234) - node T_183236 = cat(hits[7], hits[6]) - node T_183237 = cat(hits[5], hits[4]) - node T_183238 = cat(T_183236, T_183237) - node T_183239 = cat(hits[3], hits[2]) - node T_183240 = cat(hits[1], hits[0]) - node T_183241 = cat(T_183239, T_183240) - node T_183242 = cat(T_183238, T_183241) - node T_183243 = cat(T_183235, T_183242) - node T_183244 = cat(T_183228, T_183243) - node T_183245 = cat(T_183214, T_183244) - node T_183246 = bits(T_183245, 61, 32) - node T_183247 = bits(T_183245, 31, 0) - node T_183248 = eq(T_183246, UInt<1>(0)) - node T_183249 = eq(T_183248, UInt<1>(0)) - node T_183250 = or(T_183246, T_183247) - node T_183251 = bits(T_183250, 31, 16) - node T_183252 = bits(T_183250, 15, 0) - node T_183253 = eq(T_183251, UInt<1>(0)) - node T_183254 = eq(T_183253, UInt<1>(0)) - node T_183255 = or(T_183251, T_183252) - node T_183256 = bits(T_183255, 15, 8) - node T_183257 = bits(T_183255, 7, 0) - node T_183258 = eq(T_183256, UInt<1>(0)) - node T_183259 = eq(T_183258, UInt<1>(0)) - node T_183260 = or(T_183256, T_183257) - node T_183261 = bits(T_183260, 7, 4) - node T_183262 = bits(T_183260, 3, 0) - node T_183263 = eq(T_183261, UInt<1>(0)) - node T_183264 = eq(T_183263, UInt<1>(0)) - node T_183265 = or(T_183261, T_183262) - node T_183266 = bits(T_183265, 3, 2) - node T_183267 = bits(T_183265, 1, 0) - node T_183268 = eq(T_183266, UInt<1>(0)) - node T_183269 = eq(T_183268, UInt<1>(0)) - node T_183270 = or(T_183266, T_183267) - node T_183271 = bit(T_183270, 1) - node T_183272 = cat(T_183269, T_183271) - node T_183273 = cat(T_183264, T_183272) - node T_183274 = cat(T_183259, T_183273) - node T_183275 = cat(T_183254, T_183274) - node T_183276 = cat(T_183249, T_183275) - resp.bits.entry := T_183276 - infer accessor T_183277 = brIdx[resp.bits.entry] - resp.bits.bridx := T_183277 - resp.bits.mask := UInt<1>(1) - cmem T_183278 : UInt<2>[128], clk - reg T_183279 : UInt<7>, clk, reset - wire T_183280 : UInt<1> - T_183280 := UInt<1>(0) - when hits[0] : T_183280 := isJump[0] - wire T_183281 : UInt<1> - T_183281 := UInt<1>(0) - when hits[1] : T_183281 := isJump[1] - wire T_183282 : UInt<1> - T_183282 := UInt<1>(0) - when hits[2] : T_183282 := isJump[2] - wire T_183283 : UInt<1> - T_183283 := UInt<1>(0) - when hits[3] : T_183283 := isJump[3] - wire T_183284 : UInt<1> - T_183284 := UInt<1>(0) - when hits[4] : T_183284 := isJump[4] - wire T_183285 : UInt<1> - T_183285 := UInt<1>(0) - when hits[5] : T_183285 := isJump[5] - wire T_183286 : UInt<1> - T_183286 := UInt<1>(0) - when hits[6] : T_183286 := isJump[6] - wire T_183287 : UInt<1> - T_183287 := UInt<1>(0) - when hits[7] : T_183287 := isJump[7] - wire T_183288 : UInt<1> - T_183288 := UInt<1>(0) - when hits[8] : T_183288 := isJump[8] - wire T_183289 : UInt<1> - T_183289 := UInt<1>(0) - when hits[9] : T_183289 := isJump[9] - wire T_183290 : UInt<1> - T_183290 := UInt<1>(0) - when hits[10] : T_183290 := isJump[10] - wire T_183291 : UInt<1> - T_183291 := UInt<1>(0) - when hits[11] : T_183291 := isJump[11] - wire T_183292 : UInt<1> - T_183292 := UInt<1>(0) - when hits[12] : T_183292 := isJump[12] - wire T_183293 : UInt<1> - T_183293 := UInt<1>(0) - when hits[13] : T_183293 := isJump[13] - wire T_183294 : UInt<1> - T_183294 := UInt<1>(0) - when hits[14] : T_183294 := isJump[14] - wire T_183295 : UInt<1> - T_183295 := UInt<1>(0) - when hits[15] : T_183295 := isJump[15] - wire T_183296 : UInt<1> - T_183296 := UInt<1>(0) - when hits[16] : T_183296 := isJump[16] - wire T_183297 : UInt<1> - T_183297 := UInt<1>(0) - when hits[17] : T_183297 := isJump[17] - wire T_183298 : UInt<1> - T_183298 := UInt<1>(0) - when hits[18] : T_183298 := isJump[18] - wire T_183299 : UInt<1> - T_183299 := UInt<1>(0) - when hits[19] : T_183299 := isJump[19] - wire T_183300 : UInt<1> - T_183300 := UInt<1>(0) - when hits[20] : T_183300 := isJump[20] - wire T_183301 : UInt<1> - T_183301 := UInt<1>(0) - when hits[21] : T_183301 := isJump[21] - wire T_183302 : UInt<1> - T_183302 := UInt<1>(0) - when hits[22] : T_183302 := isJump[22] - wire T_183303 : UInt<1> - T_183303 := UInt<1>(0) - when hits[23] : T_183303 := isJump[23] - wire T_183304 : UInt<1> - T_183304 := UInt<1>(0) - when hits[24] : T_183304 := isJump[24] - wire T_183305 : UInt<1> - T_183305 := UInt<1>(0) - when hits[25] : T_183305 := isJump[25] - wire T_183306 : UInt<1> - T_183306 := UInt<1>(0) - when hits[26] : T_183306 := isJump[26] - wire T_183307 : UInt<1> - T_183307 := UInt<1>(0) - when hits[27] : T_183307 := isJump[27] - wire T_183308 : UInt<1> - T_183308 := UInt<1>(0) - when hits[28] : T_183308 := isJump[28] - wire T_183309 : UInt<1> - T_183309 := UInt<1>(0) - when hits[29] : T_183309 := isJump[29] - wire T_183310 : UInt<1> - T_183310 := UInt<1>(0) - when hits[30] : T_183310 := isJump[30] - wire T_183311 : UInt<1> - T_183311 := UInt<1>(0) - when hits[31] : T_183311 := isJump[31] - wire T_183312 : UInt<1> - T_183312 := UInt<1>(0) - when hits[32] : T_183312 := isJump[32] - wire T_183313 : UInt<1> - T_183313 := UInt<1>(0) - when hits[33] : T_183313 := isJump[33] - wire T_183314 : UInt<1> - T_183314 := UInt<1>(0) - when hits[34] : T_183314 := isJump[34] - wire T_183315 : UInt<1> - T_183315 := UInt<1>(0) - when hits[35] : T_183315 := isJump[35] - wire T_183316 : UInt<1> - T_183316 := UInt<1>(0) - when hits[36] : T_183316 := isJump[36] - wire T_183317 : UInt<1> - T_183317 := UInt<1>(0) - when hits[37] : T_183317 := isJump[37] - wire T_183318 : UInt<1> - T_183318 := UInt<1>(0) - when hits[38] : T_183318 := isJump[38] - wire T_183319 : UInt<1> - T_183319 := UInt<1>(0) - when hits[39] : T_183319 := isJump[39] - wire T_183320 : UInt<1> - T_183320 := UInt<1>(0) - when hits[40] : T_183320 := isJump[40] - wire T_183321 : UInt<1> - T_183321 := UInt<1>(0) - when hits[41] : T_183321 := isJump[41] - wire T_183322 : UInt<1> - T_183322 := UInt<1>(0) - when hits[42] : T_183322 := isJump[42] - wire T_183323 : UInt<1> - T_183323 := UInt<1>(0) - when hits[43] : T_183323 := isJump[43] - wire T_183324 : UInt<1> - T_183324 := UInt<1>(0) - when hits[44] : T_183324 := isJump[44] - wire T_183325 : UInt<1> - T_183325 := UInt<1>(0) - when hits[45] : T_183325 := isJump[45] - wire T_183326 : UInt<1> - T_183326 := UInt<1>(0) - when hits[46] : T_183326 := isJump[46] - wire T_183327 : UInt<1> - T_183327 := UInt<1>(0) - when hits[47] : T_183327 := isJump[47] - wire T_183328 : UInt<1> - T_183328 := UInt<1>(0) - when hits[48] : T_183328 := isJump[48] - wire T_183329 : UInt<1> - T_183329 := UInt<1>(0) - when hits[49] : T_183329 := isJump[49] - wire T_183330 : UInt<1> - T_183330 := UInt<1>(0) - when hits[50] : T_183330 := isJump[50] - wire T_183331 : UInt<1> - T_183331 := UInt<1>(0) - when hits[51] : T_183331 := isJump[51] - wire T_183332 : UInt<1> - T_183332 := UInt<1>(0) - when hits[52] : T_183332 := isJump[52] - wire T_183333 : UInt<1> - T_183333 := UInt<1>(0) - when hits[53] : T_183333 := isJump[53] - wire T_183334 : UInt<1> - T_183334 := UInt<1>(0) - when hits[54] : T_183334 := isJump[54] - wire T_183335 : UInt<1> - T_183335 := UInt<1>(0) - when hits[55] : T_183335 := isJump[55] - wire T_183336 : UInt<1> - T_183336 := UInt<1>(0) - when hits[56] : T_183336 := isJump[56] - wire T_183337 : UInt<1> - T_183337 := UInt<1>(0) - when hits[57] : T_183337 := isJump[57] - wire T_183338 : UInt<1> - T_183338 := UInt<1>(0) - when hits[58] : T_183338 := isJump[58] - wire T_183339 : UInt<1> - T_183339 := UInt<1>(0) - when hits[59] : T_183339 := isJump[59] - wire T_183340 : UInt<1> - T_183340 := UInt<1>(0) - when hits[60] : T_183340 := isJump[60] - wire T_183341 : UInt<1> - T_183341 := UInt<1>(0) - when hits[61] : T_183341 := isJump[61] - node T_183342 = or(T_183280, T_183281) - node T_183343 = or(T_183342, T_183282) - node T_183344 = or(T_183343, T_183283) - node T_183345 = or(T_183344, T_183284) - node T_183346 = or(T_183345, T_183285) - node T_183347 = or(T_183346, T_183286) - node T_183348 = or(T_183347, T_183287) - node T_183349 = or(T_183348, T_183288) - node T_183350 = or(T_183349, T_183289) - node T_183351 = or(T_183350, T_183290) - node T_183352 = or(T_183351, T_183291) - node T_183353 = or(T_183352, T_183292) - node T_183354 = or(T_183353, T_183293) - node T_183355 = or(T_183354, T_183294) - node T_183356 = or(T_183355, T_183295) - node T_183357 = or(T_183356, T_183296) - node T_183358 = or(T_183357, T_183297) - node T_183359 = or(T_183358, T_183298) - node T_183360 = or(T_183359, T_183299) - node T_183361 = or(T_183360, T_183300) - node T_183362 = or(T_183361, T_183301) - node T_183363 = or(T_183362, T_183302) - node T_183364 = or(T_183363, T_183303) - node T_183365 = or(T_183364, T_183304) - node T_183366 = or(T_183365, T_183305) - node T_183367 = or(T_183366, T_183306) - node T_183368 = or(T_183367, T_183307) - node T_183369 = or(T_183368, T_183308) - node T_183370 = or(T_183369, T_183309) - node T_183371 = or(T_183370, T_183310) - node T_183372 = or(T_183371, T_183311) - node T_183373 = or(T_183372, T_183312) - node T_183374 = or(T_183373, T_183313) - node T_183375 = or(T_183374, T_183314) - node T_183376 = or(T_183375, T_183315) - node T_183377 = or(T_183376, T_183316) - node T_183378 = or(T_183377, T_183317) - node T_183379 = or(T_183378, T_183318) - node T_183380 = or(T_183379, T_183319) - node T_183381 = or(T_183380, T_183320) - node T_183382 = or(T_183381, T_183321) - node T_183383 = or(T_183382, T_183322) - node T_183384 = or(T_183383, T_183323) - node T_183385 = or(T_183384, T_183324) - node T_183386 = or(T_183385, T_183325) - node T_183387 = or(T_183386, T_183326) - node T_183388 = or(T_183387, T_183327) - node T_183389 = or(T_183388, T_183328) - node T_183390 = or(T_183389, T_183329) - node T_183391 = or(T_183390, T_183330) - node T_183392 = or(T_183391, T_183331) - node T_183393 = or(T_183392, T_183332) - node T_183394 = or(T_183393, T_183333) - node T_183395 = or(T_183394, T_183334) - node T_183396 = or(T_183395, T_183335) - node T_183397 = or(T_183396, T_183336) - node T_183398 = or(T_183397, T_183337) - node T_183399 = or(T_183398, T_183338) - node T_183400 = or(T_183399, T_183339) - node T_183401 = or(T_183400, T_183340) - node T_183402 = or(T_183401, T_183341) - wire T_183403 : UInt<1> - node T_183404 = bits(T_183402, 0, 0) - T_183403 := T_183404 - node T_183405 = eq(T_183403, UInt<1>(0)) - node T_183406 = and(req.valid, resp.valid) - node T_183407 = and(T_183406, T_183405) - wire T_183408 : {history : UInt<7>, value : UInt<2>} - node T_183409 = bits(req.bits.addr, 8, 2) - node T_183410 = xor(T_183409, T_183279) - infer accessor T_183411 = T_183278[T_183410] - T_183408.value := T_183411 - T_183408.history := T_183279 - node T_183412 = bit(T_183408.value, 0) - when T_183407 : - node T_183413 = bits(T_183279, 6, 1) - node T_183414 = cat(T_183412, T_183413) - T_183279 := T_183414 - - node T_183415 = and(bht_update.valid, bht_update.bits.prediction.valid) - when T_183415 : - node T_183416 = bits(bht_update.bits.pc, 8, 2) - node T_183417 = xor(T_183416, bht_update.bits.prediction.bits.bht.history) - infer accessor T_183418 = T_183278[T_183417] - node T_183419 = bit(bht_update.bits.prediction.bits.bht.value, 1) - node T_183420 = bit(bht_update.bits.prediction.bits.bht.value, 0) - node T_183421 = and(T_183419, T_183420) - node T_183422 = bit(bht_update.bits.prediction.bits.bht.value, 1) - node T_183423 = bit(bht_update.bits.prediction.bits.bht.value, 0) - node T_183424 = or(T_183422, T_183423) - node T_183425 = and(T_183424, bht_update.bits.taken) - node T_183426 = or(T_183421, T_183425) - node T_183427 = cat(bht_update.bits.taken, T_183426) - T_183418 := T_183427 - when bht_update.bits.mispredict : - node T_183428 = bits(bht_update.bits.prediction.bits.bht.history, 6, 1) - node T_183429 = cat(bht_update.bits.taken, T_183428) - T_183279 := T_183429 - - - node T_183430 = bit(T_183408.value, 0) - node T_183431 = eq(T_183430, UInt<1>(0)) - node T_183432 = and(T_183431, T_183405) - when T_183432 : resp.bits.taken := UInt<1>(0) - resp.bits.bht := T_183408 - reg T_183433 : UInt<2>, clk, reset - onreset T_183433 := UInt<2>(0) - reg T_183434 : UInt<1>, clk, reset - onreset T_183434 := UInt<1>(0) - wire T_183435 : UInt[2] - T_183435[0] := T_183436 - T_183435[1] := T_183437 - reg T_183438 : UInt[2], clk, reset - wire T_183439 : UInt<1> - T_183439 := UInt<1>(0) - when hits[0] : T_183439 := useRAS[0] - wire T_183440 : UInt<1> - T_183440 := UInt<1>(0) - when hits[1] : T_183440 := useRAS[1] - wire T_183441 : UInt<1> - T_183441 := UInt<1>(0) - when hits[2] : T_183441 := useRAS[2] - wire T_183442 : UInt<1> - T_183442 := UInt<1>(0) - when hits[3] : T_183442 := useRAS[3] - wire T_183443 : UInt<1> - T_183443 := UInt<1>(0) - when hits[4] : T_183443 := useRAS[4] - wire T_183444 : UInt<1> - T_183444 := UInt<1>(0) - when hits[5] : T_183444 := useRAS[5] - wire T_183445 : UInt<1> - T_183445 := UInt<1>(0) - when hits[6] : T_183445 := useRAS[6] - wire T_183446 : UInt<1> - T_183446 := UInt<1>(0) - when hits[7] : T_183446 := useRAS[7] - wire T_183447 : UInt<1> - T_183447 := UInt<1>(0) - when hits[8] : T_183447 := useRAS[8] - wire T_183448 : UInt<1> - T_183448 := UInt<1>(0) - when hits[9] : T_183448 := useRAS[9] - wire T_183449 : UInt<1> - T_183449 := UInt<1>(0) - when hits[10] : T_183449 := useRAS[10] - wire T_183450 : UInt<1> - T_183450 := UInt<1>(0) - when hits[11] : T_183450 := useRAS[11] - wire T_183451 : UInt<1> - T_183451 := UInt<1>(0) - when hits[12] : T_183451 := useRAS[12] - wire T_183452 : UInt<1> - T_183452 := UInt<1>(0) - when hits[13] : T_183452 := useRAS[13] - wire T_183453 : UInt<1> - T_183453 := UInt<1>(0) - when hits[14] : T_183453 := useRAS[14] - wire T_183454 : UInt<1> - T_183454 := UInt<1>(0) - when hits[15] : T_183454 := useRAS[15] - wire T_183455 : UInt<1> - T_183455 := UInt<1>(0) - when hits[16] : T_183455 := useRAS[16] - wire T_183456 : UInt<1> - T_183456 := UInt<1>(0) - when hits[17] : T_183456 := useRAS[17] - wire T_183457 : UInt<1> - T_183457 := UInt<1>(0) - when hits[18] : T_183457 := useRAS[18] - wire T_183458 : UInt<1> - T_183458 := UInt<1>(0) - when hits[19] : T_183458 := useRAS[19] - wire T_183459 : UInt<1> - T_183459 := UInt<1>(0) - when hits[20] : T_183459 := useRAS[20] - wire T_183460 : UInt<1> - T_183460 := UInt<1>(0) - when hits[21] : T_183460 := useRAS[21] - wire T_183461 : UInt<1> - T_183461 := UInt<1>(0) - when hits[22] : T_183461 := useRAS[22] - wire T_183462 : UInt<1> - T_183462 := UInt<1>(0) - when hits[23] : T_183462 := useRAS[23] - wire T_183463 : UInt<1> - T_183463 := UInt<1>(0) - when hits[24] : T_183463 := useRAS[24] - wire T_183464 : UInt<1> - T_183464 := UInt<1>(0) - when hits[25] : T_183464 := useRAS[25] - wire T_183465 : UInt<1> - T_183465 := UInt<1>(0) - when hits[26] : T_183465 := useRAS[26] - wire T_183466 : UInt<1> - T_183466 := UInt<1>(0) - when hits[27] : T_183466 := useRAS[27] - wire T_183467 : UInt<1> - T_183467 := UInt<1>(0) - when hits[28] : T_183467 := useRAS[28] - wire T_183468 : UInt<1> - T_183468 := UInt<1>(0) - when hits[29] : T_183468 := useRAS[29] - wire T_183469 : UInt<1> - T_183469 := UInt<1>(0) - when hits[30] : T_183469 := useRAS[30] - wire T_183470 : UInt<1> - T_183470 := UInt<1>(0) - when hits[31] : T_183470 := useRAS[31] - wire T_183471 : UInt<1> - T_183471 := UInt<1>(0) - when hits[32] : T_183471 := useRAS[32] - wire T_183472 : UInt<1> - T_183472 := UInt<1>(0) - when hits[33] : T_183472 := useRAS[33] - wire T_183473 : UInt<1> - T_183473 := UInt<1>(0) - when hits[34] : T_183473 := useRAS[34] - wire T_183474 : UInt<1> - T_183474 := UInt<1>(0) - when hits[35] : T_183474 := useRAS[35] - wire T_183475 : UInt<1> - T_183475 := UInt<1>(0) - when hits[36] : T_183475 := useRAS[36] - wire T_183476 : UInt<1> - T_183476 := UInt<1>(0) - when hits[37] : T_183476 := useRAS[37] - wire T_183477 : UInt<1> - T_183477 := UInt<1>(0) - when hits[38] : T_183477 := useRAS[38] - wire T_183478 : UInt<1> - T_183478 := UInt<1>(0) - when hits[39] : T_183478 := useRAS[39] - wire T_183479 : UInt<1> - T_183479 := UInt<1>(0) - when hits[40] : T_183479 := useRAS[40] - wire T_183480 : UInt<1> - T_183480 := UInt<1>(0) - when hits[41] : T_183480 := useRAS[41] - wire T_183481 : UInt<1> - T_183481 := UInt<1>(0) - when hits[42] : T_183481 := useRAS[42] - wire T_183482 : UInt<1> - T_183482 := UInt<1>(0) - when hits[43] : T_183482 := useRAS[43] - wire T_183483 : UInt<1> - T_183483 := UInt<1>(0) - when hits[44] : T_183483 := useRAS[44] - wire T_183484 : UInt<1> - T_183484 := UInt<1>(0) - when hits[45] : T_183484 := useRAS[45] - wire T_183485 : UInt<1> - T_183485 := UInt<1>(0) - when hits[46] : T_183485 := useRAS[46] - wire T_183486 : UInt<1> - T_183486 := UInt<1>(0) - when hits[47] : T_183486 := useRAS[47] - wire T_183487 : UInt<1> - T_183487 := UInt<1>(0) - when hits[48] : T_183487 := useRAS[48] - wire T_183488 : UInt<1> - T_183488 := UInt<1>(0) - when hits[49] : T_183488 := useRAS[49] - wire T_183489 : UInt<1> - T_183489 := UInt<1>(0) - when hits[50] : T_183489 := useRAS[50] - wire T_183490 : UInt<1> - T_183490 := UInt<1>(0) - when hits[51] : T_183490 := useRAS[51] - wire T_183491 : UInt<1> - T_183491 := UInt<1>(0) - when hits[52] : T_183491 := useRAS[52] - wire T_183492 : UInt<1> - T_183492 := UInt<1>(0) - when hits[53] : T_183492 := useRAS[53] - wire T_183493 : UInt<1> - T_183493 := UInt<1>(0) - when hits[54] : T_183493 := useRAS[54] - wire T_183494 : UInt<1> - T_183494 := UInt<1>(0) - when hits[55] : T_183494 := useRAS[55] - wire T_183495 : UInt<1> - T_183495 := UInt<1>(0) - when hits[56] : T_183495 := useRAS[56] - wire T_183496 : UInt<1> - T_183496 := UInt<1>(0) - when hits[57] : T_183496 := useRAS[57] - wire T_183497 : UInt<1> - T_183497 := UInt<1>(0) - when hits[58] : T_183497 := useRAS[58] - wire T_183498 : UInt<1> - T_183498 := UInt<1>(0) - when hits[59] : T_183498 := useRAS[59] - wire T_183499 : UInt<1> - T_183499 := UInt<1>(0) - when hits[60] : T_183499 := useRAS[60] - wire T_183500 : UInt<1> - T_183500 := UInt<1>(0) - when hits[61] : T_183500 := useRAS[61] - node T_183501 = or(T_183439, T_183440) - node T_183502 = or(T_183501, T_183441) - node T_183503 = or(T_183502, T_183442) - node T_183504 = or(T_183503, T_183443) - node T_183505 = or(T_183504, T_183444) - node T_183506 = or(T_183505, T_183445) - node T_183507 = or(T_183506, T_183446) - node T_183508 = or(T_183507, T_183447) - node T_183509 = or(T_183508, T_183448) - node T_183510 = or(T_183509, T_183449) - node T_183511 = or(T_183510, T_183450) - node T_183512 = or(T_183511, T_183451) - node T_183513 = or(T_183512, T_183452) - node T_183514 = or(T_183513, T_183453) - node T_183515 = or(T_183514, T_183454) - node T_183516 = or(T_183515, T_183455) - node T_183517 = or(T_183516, T_183456) - node T_183518 = or(T_183517, T_183457) - node T_183519 = or(T_183518, T_183458) - node T_183520 = or(T_183519, T_183459) - node T_183521 = or(T_183520, T_183460) - node T_183522 = or(T_183521, T_183461) - node T_183523 = or(T_183522, T_183462) - node T_183524 = or(T_183523, T_183463) - node T_183525 = or(T_183524, T_183464) - node T_183526 = or(T_183525, T_183465) - node T_183527 = or(T_183526, T_183466) - node T_183528 = or(T_183527, T_183467) - node T_183529 = or(T_183528, T_183468) - node T_183530 = or(T_183529, T_183469) - node T_183531 = or(T_183530, T_183470) - node T_183532 = or(T_183531, T_183471) - node T_183533 = or(T_183532, T_183472) - node T_183534 = or(T_183533, T_183473) - node T_183535 = or(T_183534, T_183474) - node T_183536 = or(T_183535, T_183475) - node T_183537 = or(T_183536, T_183476) - node T_183538 = or(T_183537, T_183477) - node T_183539 = or(T_183538, T_183478) - node T_183540 = or(T_183539, T_183479) - node T_183541 = or(T_183540, T_183480) - node T_183542 = or(T_183541, T_183481) - node T_183543 = or(T_183542, T_183482) - node T_183544 = or(T_183543, T_183483) - node T_183545 = or(T_183544, T_183484) - node T_183546 = or(T_183545, T_183485) - node T_183547 = or(T_183546, T_183486) - node T_183548 = or(T_183547, T_183487) - node T_183549 = or(T_183548, T_183488) - node T_183550 = or(T_183549, T_183489) - node T_183551 = or(T_183550, T_183490) - node T_183552 = or(T_183551, T_183491) - node T_183553 = or(T_183552, T_183492) - node T_183554 = or(T_183553, T_183493) - node T_183555 = or(T_183554, T_183494) - node T_183556 = or(T_183555, T_183495) - node T_183557 = or(T_183556, T_183496) - node T_183558 = or(T_183557, T_183497) - node T_183559 = or(T_183558, T_183498) - node T_183560 = or(T_183559, T_183499) - node T_183561 = or(T_183560, T_183500) - wire T_183562 : UInt<1> - node T_183563 = bits(T_183561, 0, 0) - T_183562 := T_183563 - - - node T_183564 = eq(T_183433, UInt<1>(0)) - node T_183565 = eq(T_183564, UInt<1>(0)) - node T_183566 = and(T_183565, T_183562) - when T_183566 : - infer accessor T_183567 = T_183438[T_183434] - resp.bits.target := T_183567 - when ras_update.valid : when ras_update.bits.isCall : - - node T_183576 = lt(T_183433, UInt<2>(2)) - when T_183576 : - node T_183577 = addw(T_183433, UInt<1>(1)) - T_183433 := T_183577 - node T_183578 = lt(T_183434, UInt<1>(1)) - node T_183579 = or(UInt<1>(1), T_183578) - node T_183580 = addw(T_183434, UInt<1>(1)) - wire T_183581 : UInt<1> - T_183581 := UInt<1>(0) - when T_183579 : T_183581 := T_183580 - infer accessor T_183582 = T_183438[T_183581] - T_183582 := ras_update.bits.returnAddr - T_183434 := T_183581 - when T_183562 : resp.bits.target := ras_update.bits.returnAddr - else : - - node T_183568 = and(ras_update.bits.isReturn, ras_update.bits.prediction.valid) - when T_183568 : - - node T_183569 = eq(T_183433, UInt<1>(0)) - node T_183570 = eq(T_183569, UInt<1>(0)) - when T_183570 : - node T_183571 = subw(T_183433, UInt<1>(1)) - T_183433 := T_183571 - node T_183572 = gt(T_183434, UInt<1>(0)) - node T_183573 = or(UInt<1>(1), T_183572) - node T_183574 = subw(T_183434, UInt<1>(1)) - wire T_183575 : UInt<1> - T_183575 := UInt<1>(1) - when T_183573 : T_183575 := T_183574 - T_183434 := T_183575 - when invalidate : T_183433 := UInt<1>(0) diff --git a/test/refchip/Top.fir b/test/refchip/Top.fir deleted file mode 100644 index 843755ba..00000000 --- a/test/refchip/Top.fir +++ /dev/null @@ -1,64516 +0,0 @@ -; RUN: firrtl -i %s -o %s.v -X verilog -p c | tee %s.out | FileCheck %s -;CHECK: Done! - -circuit Top : - module HTIF : - output host : {clk : UInt<1>, clk_edge : UInt<1>, flip in : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<16>}, out : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<16>}, debug_stats_pcr : UInt<1>} - input cpu : {flip reset : UInt<1>, flip id : UInt<1>, flip pcr_req : {flip ready : UInt<1>, valid : UInt<1>, bits : {rw : UInt<1>, addr : UInt<12>, data : UInt<64>}}, pcr_rep : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<64>}, ipi_req : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<1>}, flip ipi_rep : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<1>}, debug_stats_pcr : UInt<1>}[1] - output mem__ : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}} - output scr : {flip rdata : UInt<64>[64], wen : UInt<1>, waddr : UInt<6>, wdata : UInt<64>} - - wire cpu : {flip reset : UInt<1>, flip id : UInt<1>, flip pcr_req : {flip ready : UInt<1>, valid : UInt<1>, bits : {rw : UInt<1>, addr : UInt<12>, data : UInt<64>}}, pcr_rep : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<64>}, ipi_req : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<1>}, flip ipi_rep : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<1>}, debug_stats_pcr : UInt<1>}[1] - cpu[0] := T_165479 - wire T_165480 : UInt<3>[3] - T_165480[0] := UInt<3>(0) - T_165480[1] := UInt<3>(1) - T_165480[2] := UInt<3>(2) - wire T_165481 : UInt<2>[2] - T_165481[0] := UInt<2>(0) - T_165481[1] := UInt<2>(1) - wire T_165482 : UInt<2>[3] - T_165482[0] := UInt<2>(1) - T_165482[1] := UInt<2>(2) - T_165482[2] := UInt<2>(3) - wire T_165483 : UInt<2>[2] - T_165483[0] := UInt<2>(2) - T_165483[1] := UInt<2>(3) - wire T_165484 : UInt<2>[1] - T_165484[0] := UInt<2>(3) - wire T_165485 : UInt<3>[3] - T_165485[0] := UInt<3>(0) - T_165485[1] := UInt<3>(1) - T_165485[2] := UInt<3>(2) - wire T_165486 : UInt<2>[2] - T_165486[0] := UInt<2>(0) - T_165486[1] := UInt<2>(1) - wire T_165487 : UInt<2>[3] - T_165487[0] := UInt<2>(1) - T_165487[1] := UInt<2>(2) - T_165487[2] := UInt<2>(3) - wire T_165488 : UInt<2>[2] - T_165488[0] := UInt<2>(2) - T_165488[1] := UInt<2>(3) - wire T_165489 : UInt<2>[1] - T_165489[0] := UInt<2>(3) - wire T_165490 : UInt<3>[3] - T_165490[0] := UInt<3>(0) - T_165490[1] := UInt<3>(1) - T_165490[2] := UInt<3>(2) - wire T_165491 : UInt<2>[2] - T_165491[0] := UInt<2>(0) - T_165491[1] := UInt<2>(1) - wire T_165492 : UInt<2>[3] - T_165492[0] := UInt<2>(1) - T_165492[1] := UInt<2>(2) - T_165492[2] := UInt<2>(3) - wire T_165493 : UInt<2>[2] - T_165493[0] := UInt<2>(2) - T_165493[1] := UInt<2>(3) - wire T_165494 : UInt<2>[1] - T_165494[0] := UInt<2>(3) - wire T_165495 : UInt<3>[3] - T_165495[0] := UInt<3>(0) - T_165495[1] := UInt<3>(1) - T_165495[2] := UInt<3>(2) - wire T_165496 : UInt<2>[2] - T_165496[0] := UInt<2>(0) - T_165496[1] := UInt<2>(1) - wire T_165497 : UInt<2>[3] - T_165497[0] := UInt<2>(1) - T_165497[1] := UInt<2>(2) - T_165497[2] := UInt<2>(3) - wire T_165498 : UInt<2>[2] - T_165498[0] := UInt<2>(2) - T_165498[1] := UInt<2>(3) - wire T_165499 : UInt<2>[1] - T_165499[0] := UInt<2>(3) - wire T_165500 : UInt<3>[3] - T_165500[0] := UInt<3>(0) - T_165500[1] := UInt<3>(1) - T_165500[2] := UInt<3>(2) - wire T_165501 : UInt<2>[2] - T_165501[0] := UInt<2>(0) - T_165501[1] := UInt<2>(1) - wire T_165502 : UInt<2>[3] - T_165502[0] := UInt<2>(1) - T_165502[1] := UInt<2>(2) - T_165502[2] := UInt<2>(3) - wire T_165503 : UInt<2>[2] - T_165503[0] := UInt<2>(2) - T_165503[1] := UInt<2>(3) - wire T_165504 : UInt<2>[1] - T_165504[0] := UInt<2>(3) - wire rdata : UInt<64>[64] - scr.rdata[0] := T_165505 - scr.rdata[1] := T_165506 - scr.rdata[2] := T_165507 - scr.rdata[3] := T_165508 - scr.rdata[4] := T_165509 - scr.rdata[5] := T_165510 - scr.rdata[6] := T_165511 - scr.rdata[7] := T_165512 - scr.rdata[8] := T_165513 - scr.rdata[9] := T_165514 - scr.rdata[10] := T_165515 - scr.rdata[11] := T_165516 - scr.rdata[12] := T_165517 - scr.rdata[13] := T_165518 - scr.rdata[14] := T_165519 - scr.rdata[15] := T_165520 - scr.rdata[16] := T_165521 - scr.rdata[17] := T_165522 - scr.rdata[18] := T_165523 - scr.rdata[19] := T_165524 - scr.rdata[20] := T_165525 - scr.rdata[21] := T_165526 - scr.rdata[22] := T_165527 - scr.rdata[23] := T_165528 - scr.rdata[24] := T_165529 - scr.rdata[25] := T_165530 - scr.rdata[26] := T_165531 - scr.rdata[27] := T_165532 - scr.rdata[28] := T_165533 - scr.rdata[29] := T_165534 - scr.rdata[30] := T_165535 - scr.rdata[31] := T_165536 - scr.rdata[32] := T_165537 - scr.rdata[33] := T_165538 - scr.rdata[34] := T_165539 - scr.rdata[35] := T_165540 - scr.rdata[36] := T_165541 - scr.rdata[37] := T_165542 - scr.rdata[38] := T_165543 - scr.rdata[39] := T_165544 - scr.rdata[40] := T_165545 - scr.rdata[41] := T_165546 - scr.rdata[42] := T_165547 - scr.rdata[43] := T_165548 - scr.rdata[44] := T_165549 - scr.rdata[45] := T_165550 - scr.rdata[46] := T_165551 - scr.rdata[47] := T_165552 - scr.rdata[48] := T_165553 - scr.rdata[49] := T_165554 - scr.rdata[50] := T_165555 - scr.rdata[51] := T_165556 - scr.rdata[52] := T_165557 - scr.rdata[53] := T_165558 - scr.rdata[54] := T_165559 - scr.rdata[55] := T_165560 - scr.rdata[56] := T_165561 - scr.rdata[57] := T_165562 - scr.rdata[58] := T_165563 - scr.rdata[59] := T_165564 - scr.rdata[60] := T_165565 - scr.rdata[61] := T_165566 - scr.rdata[62] := T_165567 - scr.rdata[63] := T_165568 - host.debug_stats_pcr := cpu[0].debug_stats_pcr - reg rx_count : UInt<15> - onreset rx_count := UInt<15>(0) - reg rx_shifter : UInt<64> - node T_165569 = bits(rx_shifter, 63, 16) - node rx_shifter_in = cat(host.in.bits, T_165569) - node next_cmd = bits(rx_shifter_in, 3, 0) - reg cmd : UInt - reg size : UInt - reg pos : UInt - reg seqno : UInt - reg addr : UInt - - node T_165570 = and(host.in.valid, host.in.ready) - when T_165570 : - rx_shifter := rx_shifter_in - node T_165571 = addw(rx_count, UInt<1>(1)) - rx_count := T_165571 - - node T_165572 = eq(rx_count, UInt<2>(3)) - when T_165572 : - cmd := next_cmd - node T_165573 = bits(rx_shifter_in, 15, 4) - size := T_165573 - node T_165574 = bits(rx_shifter_in, 15, 7) - pos := T_165574 - node T_165575 = bits(rx_shifter_in, 23, 16) - seqno := T_165575 - node T_165576 = bits(rx_shifter_in, 63, 24) - addr := T_165576 - node rx_word_count = dshr(rx_count, UInt<2>(2)) - node T_165577 = bits(rx_count, 1, 0) - node T_165578 = eq(T_165577, UInt<1>(-1)) - node rx_word_done = and(host.in.valid, T_165578) - cmem packet_ram : UInt<64>[8] - - node T_165579 = and(rx_word_done, host.in.ready) - when T_165579 : - node T_165580 = bits(rx_word_count, 2, 0) - node T_165581 = subw(T_165580, UInt<1>(1)) - accessor T_165582 = packet_ram[T_165581] - T_165582 := rx_shifter_in - node pcr_addr = bits(addr, 11, 0) - node pcr_coreid = bits(addr, 21, 20) - accessor pcr_wdata = packet_ram[UInt<1>(0)] - node T_165583 = bits(size, 2, 0) - node T_165584 = eq(T_165583, UInt<1>(0)) - node T_165585 = eq(T_165584, UInt<1>(0)) - node T_165586 = bits(addr, 2, 0) - node T_165587 = eq(T_165586, UInt<1>(0)) - node T_165588 = eq(T_165587, UInt<1>(0)) - node bad_mem_packet = or(T_165585, T_165588) - node T_165589 = eq(cmd, UInt<3>(0)) - node T_165590 = eq(cmd, UInt<3>(1)) - node T_165591 = or(T_165589, T_165590) - node T_165592 = eq(cmd, UInt<3>(2)) - node T_165593 = eq(cmd, UInt<3>(3)) - node T_165594 = or(T_165592, T_165593) - node T_165595 = neq(size, UInt<1>(1)) - wire T_165596 : UInt<1> - T_165596 := UInt<1>(1) - when T_165594 : T_165596 := T_165595 - wire nack : UInt<1> - nack := T_165596 - when T_165591 : nack := bad_mem_packet - reg tx_count : UInt<15> - onreset tx_count := UInt<15>(0) - node tx_subword_count = bits(tx_count, 1, 0) - node tx_word_count = bits(tx_count, 14, 2) - node T_165597 = bits(tx_word_count, 2, 0) - node packet_ram_raddr = subw(T_165597, UInt<1>(1)) - - node T_165598 = and(host.out.valid, host.out.ready) - when T_165598 : - node T_165599 = addw(tx_count, UInt<1>(1)) - tx_count := T_165599 - node T_165600 = eq(rx_word_count, UInt<1>(0)) - node T_165601 = neq(next_cmd, UInt<3>(1)) - node T_165602 = neq(next_cmd, UInt<3>(3)) - node T_165603 = and(T_165601, T_165602) - node T_165604 = eq(rx_word_count, size) - node T_165605 = bits(rx_word_count, 2, 0) - node T_165606 = eq(T_165605, UInt<1>(0)) - node T_165607 = or(T_165604, T_165606) - wire T_165608 : UInt<1> - T_165608 := T_165607 - when T_165600 : T_165608 := T_165603 - node rx_done = and(rx_word_done, T_165608) - node T_165609 = eq(nack, UInt<1>(0)) - node T_165610 = eq(cmd, UInt<3>(0)) - node T_165611 = eq(cmd, UInt<3>(2)) - node T_165612 = or(T_165610, T_165611) - node T_165613 = eq(cmd, UInt<3>(3)) - node T_165614 = or(T_165612, T_165613) - node T_165615 = and(T_165609, T_165614) - wire tx_size : UInt<1> - tx_size := UInt<1>(0) - when T_165615 : tx_size := size - node T_165616 = eq(tx_subword_count, UInt<1>(-1)) - node T_165617 = and(host.out.ready, T_165616) - node T_165618 = eq(tx_word_count, tx_size) - node T_165619 = gt(tx_word_count, UInt<1>(0)) - node T_165620 = eq(packet_ram_raddr, UInt<1>(-1)) - node T_165621 = and(T_165619, T_165620) - node T_165622 = or(T_165618, T_165621) - node tx_done = and(T_165617, T_165622) - reg state : UInt<3> - onreset state := UInt<3>(0) - node T_165623 = eq(state, UInt<3>(4)) - node T_165624 = and(T_165623, mem__.acquire.ready) - node T_165625 = eq(state, UInt<3>(5)) - node T_165626 = and(T_165625, mem__.grant.valid) - node T_165627 = or(T_165624, T_165626) - reg cnt : UInt<2> - onreset cnt := UInt<2>(0) - when T_165627 : - node T_165628 = eq(cnt, UInt<2>(3)) - node T_165629 = and(UInt<1>(0), T_165628) - node T_165630 = addw(cnt, UInt<1>(1)) - wire T_165631 : UInt<2> - T_165631 := T_165630 - when T_165629 : T_165631 := UInt<1>(0) - cnt := T_165631 - node cnt_done = and(T_165627, T_165628) - node T_165632 = eq(rx_word_count, UInt<1>(0)) - wire rx_cmd : UInt - rx_cmd := cmd - when T_165632 : rx_cmd := next_cmd - - - node T_165633 = eq(state, UInt<3>(0)) - node T_165634 = and(T_165633, rx_done) - when T_165634 : - node T_165635 = eq(rx_cmd, UInt<3>(0)) - node T_165636 = eq(rx_cmd, UInt<3>(1)) - node T_165637 = eq(rx_cmd, UInt<3>(2)) - node T_165638 = eq(rx_cmd, UInt<3>(3)) - node T_165639 = or(T_165637, T_165638) - wire T_165640 : UInt<3> - T_165640 := UInt<3>(7) - when T_165639 : T_165640 := UInt<3>(1) - wire T_165641 : UInt<3> - T_165641 := T_165640 - when T_165636 : T_165641 := UInt<3>(4) - wire T_165642 : UInt<3> - T_165642 := T_165641 - when T_165635 : T_165642 := UInt<3>(3) - state := T_165642 - - node T_165643 = eq(state, UInt<3>(4)) - when T_165643 : when cnt_done : state := UInt<3>(6) - - node T_165644 = eq(state, UInt<3>(3)) - when T_165644 : when mem__.acquire.ready : state := UInt<3>(5) - - - node T_165645 = eq(state, UInt<3>(6)) - node T_165646 = and(T_165645, mem__.grant.valid) - when T_165646 : - node T_165647 = eq(cmd, UInt<3>(0)) - node T_165648 = eq(pos, UInt<1>(1)) - node T_165649 = or(T_165647, T_165648) - wire T_165650 : UInt<3> - T_165650 := UInt<3>(0) - when T_165649 : T_165650 := UInt<3>(7) - state := T_165650 - node T_165651 = subw(pos, UInt<1>(1)) - pos := T_165651 - node T_165652 = addw(addr, UInt<4>(8)) - addr := T_165652 - - - node T_165653 = eq(state, UInt<3>(5)) - node T_165654 = and(T_165653, cnt_done) - when T_165654 : - node T_165655 = eq(cmd, UInt<3>(0)) - node T_165656 = eq(pos, UInt<1>(1)) - node T_165657 = or(T_165655, T_165656) - wire T_165658 : UInt<3> - T_165658 := UInt<3>(0) - when T_165657 : T_165658 := UInt<3>(7) - state := T_165658 - node T_165659 = subw(pos, UInt<1>(1)) - pos := T_165659 - node T_165660 = addw(addr, UInt<4>(8)) - addr := T_165660 - - - node T_165661 = eq(state, UInt<3>(7)) - node T_165662 = and(T_165661, tx_done) - when T_165662 : - - node T_165663 = eq(tx_word_count, tx_size) - when T_165663 : - rx_count := UInt<1>(0) - tx_count := UInt<1>(0) - node T_165664 = eq(cmd, UInt<3>(0)) - node T_165665 = neq(pos, UInt<1>(0)) - node T_165666 = and(T_165664, T_165665) - wire T_165667 : UInt<3> - T_165667 := UInt<3>(0) - when T_165666 : T_165667 := UInt<3>(3) - state := T_165667 - - - node T_165668 = eq(state, UInt<3>(5)) - node T_165669 = and(T_165668, mem__.grant.valid) - when T_165669 : - node T_165670 = cat(mem__.grant.bits.addr_beat, UInt<1>(0)) - accessor T_165671 = packet_ram[T_165670] - node T_165672 = bits(mem__.grant.bits.data, 63, 0) - T_165671 := T_165672 - node T_165673 = cat(cnt, UInt<1>(0)) - accessor T_165674 = packet_ram[T_165673] - - - node T_165675 = eq(state, UInt<3>(5)) - node T_165676 = and(T_165675, mem__.grant.valid) - when T_165676 : - node T_165677 = cat(mem__.grant.bits.addr_beat, UInt<1>(1)) - accessor T_165678 = packet_ram[T_165677] - node T_165679 = bits(mem__.grant.bits.data, 127, 64) - T_165678 := T_165679 - node T_165680 = cat(cnt, UInt<1>(1)) - accessor T_165681 = packet_ram[T_165680] - node mem_req_data = cat(T_165681, T_165674) - node init_addr = dshr(addr, UInt<2>(3)) - node T_165682 = eq(state, UInt<3>(3)) - node T_165683 = eq(state, UInt<3>(4)) - node T_165684 = or(T_165682, T_165683) - mem__.acquire.valid := T_165684 - node T_165685 = eq(cmd, UInt<3>(1)) - wire T_165686 : UInt<3>[3] - T_165686[0] := UInt<3>(0) - T_165686[1] := UInt<3>(1) - T_165686[2] := UInt<3>(2) - wire T_165687 : UInt<2>[2] - T_165687[0] := UInt<2>(0) - T_165687[1] := UInt<2>(1) - wire T_165688 : UInt<2>[3] - T_165688[0] := UInt<2>(1) - T_165688[1] := UInt<2>(2) - T_165688[2] := UInt<2>(3) - wire T_165689 : UInt<2>[2] - T_165689[0] := UInt<2>(2) - T_165689[1] := UInt<2>(3) - wire T_165690 : UInt<2>[1] - T_165690[0] := UInt<2>(3) - node T_165691 = asUInt(SInt<16>(-1)) - node T_165692 = cat(T_165691, UInt<1>(1)) - wire T_165693 : UInt<3>[3] - T_165693[0] := UInt<3>(0) - T_165693[1] := UInt<3>(1) - T_165693[2] := UInt<3>(2) - wire T_165694 : UInt<2>[2] - T_165694[0] := UInt<2>(0) - T_165694[1] := UInt<2>(1) - wire T_165695 : UInt<2>[3] - T_165695[0] := UInt<2>(1) - T_165695[1] := UInt<2>(2) - T_165695[2] := UInt<2>(3) - wire T_165696 : UInt<2>[2] - T_165696[0] := UInt<2>(2) - T_165696[1] := UInt<2>(3) - wire T_165697 : UInt<2>[1] - T_165697[0] := UInt<2>(3) - wire T_165698 : UInt<3>[3] - T_165698[0] := UInt<3>(0) - T_165698[1] := UInt<3>(1) - T_165698[2] := UInt<3>(2) - wire T_165699 : UInt<2>[2] - T_165699[0] := UInt<2>(0) - T_165699[1] := UInt<2>(1) - wire T_165700 : UInt<2>[3] - T_165700[0] := UInt<2>(1) - T_165700[1] := UInt<2>(2) - T_165700[2] := UInt<2>(3) - wire T_165701 : UInt<2>[2] - T_165701[0] := UInt<2>(2) - T_165701[1] := UInt<2>(3) - wire T_165702 : UInt<2>[1] - T_165702[0] := UInt<2>(3) - wire T_165703 : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>} - T_165703.is_builtin_type := UInt<1>(1) - T_165703.a_type := UInt<3>(3) - T_165703.client_xact_id := UInt<1>(0) - T_165703.addr_block := init_addr - T_165703.addr_beat := cnt - T_165703.data := mem_req_data - T_165703.union := T_165692 - wire T_165704 : UInt<3>[3] - T_165704[0] := UInt<3>(0) - T_165704[1] := UInt<3>(1) - T_165704[2] := UInt<3>(2) - wire T_165705 : UInt<2>[2] - T_165705[0] := UInt<2>(0) - T_165705[1] := UInt<2>(1) - wire T_165706 : UInt<2>[3] - T_165706[0] := UInt<2>(1) - T_165706[1] := UInt<2>(2) - T_165706[2] := UInt<2>(3) - wire T_165707 : UInt<2>[2] - T_165707[0] := UInt<2>(2) - T_165707[1] := UInt<2>(3) - wire T_165708 : UInt<2>[1] - T_165708[0] := UInt<2>(3) - wire T_165709 : UInt<3>[3] - T_165709[0] := UInt<3>(0) - T_165709[1] := UInt<3>(1) - T_165709[2] := UInt<3>(2) - wire T_165710 : UInt<2>[2] - T_165710[0] := UInt<2>(0) - T_165710[1] := UInt<2>(1) - wire T_165711 : UInt<2>[3] - T_165711[0] := UInt<2>(1) - T_165711[1] := UInt<2>(2) - T_165711[2] := UInt<2>(3) - wire T_165712 : UInt<2>[2] - T_165712[0] := UInt<2>(2) - T_165712[1] := UInt<2>(3) - wire T_165713 : UInt<2>[1] - T_165713[0] := UInt<2>(3) - wire T_165714 : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>} - T_165714.is_builtin_type := UInt<1>(1) - T_165714.a_type := UInt<3>(1) - T_165714.client_xact_id := UInt<1>(0) - T_165714.addr_block := init_addr - T_165714.addr_beat := UInt<1>(0) - T_165714.data := UInt<1>(0) - T_165714.union := UInt<9>(449) - wire T_165715 : UInt<3>[3] - T_165715[0] := UInt<3>(0) - T_165715[1] := UInt<3>(1) - T_165715[2] := UInt<3>(2) - wire T_165716 : UInt<2>[2] - T_165716[0] := UInt<2>(0) - T_165716[1] := UInt<2>(1) - wire T_165717 : UInt<2>[3] - T_165717[0] := UInt<2>(1) - T_165717[1] := UInt<2>(2) - T_165717[2] := UInt<2>(3) - wire T_165718 : UInt<2>[2] - T_165718[0] := UInt<2>(2) - T_165718[1] := UInt<2>(3) - wire T_165719 : UInt<2>[1] - T_165719[0] := UInt<2>(3) - wire T_165720 : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>} - T_165720 := T_165714 - when T_165685 : T_165720 := T_165703 - mem__.acquire.bits := T_165720 - mem__.grant.ready := UInt<1>(1) - reg rtc : UInt<64> - onreset rtc := UInt<64>(0) - reg T_165721 : UInt<7> - onreset T_165721 := UInt<7>(0) - node rtc_tick = eq(T_165721, UInt<7>(99)) - node T_165722 = and(UInt<1>(1), rtc_tick) - node T_165723 = addw(T_165721, UInt<1>(1)) - wire T_165724 : UInt<7> - T_165724 := T_165723 - when T_165722 : T_165724 := UInt<1>(0) - T_165721 := T_165724 - when rtc_tick : - node T_165725 = addw(rtc, UInt<1>(1)) - rtc := T_165725 - reg pcrReadData : UInt<64> - reg T_165726 : UInt<1> - onreset T_165726 := UInt<1>(1) - reg T_165727 : UInt<1> - onreset T_165727 := UInt<1>(0) - node T_165728 = eq(pcr_coreid, UInt<1>(0)) - node T_165729 = eq(state, UInt<3>(1)) - node T_165730 = and(T_165729, T_165728) - node T_165731 = neq(pcr_addr, UInt<11>(1922)) - node T_165732 = and(T_165730, T_165731) - cpu[0].pcr_req.valid := T_165732 - node T_165733 = eq(cmd, UInt<3>(3)) - cpu[0].pcr_req.bits.rw := T_165733 - cpu[0].pcr_req.bits.addr := pcr_addr - cpu[0].pcr_req.bits.data := pcr_wdata - cpu[0].reset := T_165726 - reg T_165734 : UInt<1> - onreset T_165734 := UInt<1>(0) - reg T_165735 : UInt<1> - onreset T_165735 := UInt<1>(0) - when rtc_tick : T_165734 := UInt<1>(0) - when cpu[0].pcr_rep.valid : T_165735 := UInt<1>(0) - when T_165735 : cpu[0].pcr_req.valid := UInt<1>(0) - - - node T_165736 = neq(state, UInt<3>(1)) - node T_165737 = neq(state, UInt<3>(2)) - node T_165738 = and(T_165736, T_165737) - node T_165739 = eq(T_165734, UInt<1>(0)) - node T_165740 = and(T_165738, T_165739) - node T_165741 = eq(T_165735, UInt<1>(0)) - node T_165742 = and(T_165740, T_165741) - when T_165742 : - cpu[0].pcr_req.valid := UInt<1>(1) - cpu[0].pcr_req.bits.rw := UInt<1>(1) - cpu[0].pcr_req.bits.addr := UInt<11>(1922) - cpu[0].pcr_req.bits.data := rtc - T_165734 := cpu[0].pcr_req.ready - T_165735 := cpu[0].pcr_req.ready - when cpu[0].ipi_rep.ready : T_165727 := UInt<1>(0) - cpu[0].ipi_rep.valid := T_165727 - cpu[0].ipi_req.ready := UInt<1>(1) - - - node T_165743 = eq(cpu[0].ipi_req.bits, UInt<1>(0)) - node T_165744 = and(cpu[0].ipi_req.valid, T_165743) - when T_165744 : T_165727 := UInt<1>(1) - - - node T_165745 = eq(state, UInt<3>(1)) - node T_165746 = and(cpu[0].pcr_req.ready, cpu[0].pcr_req.valid) - node T_165747 = and(T_165745, T_165746) - when T_165747 : state := UInt<3>(2) - - - node T_165748 = eq(state, UInt<3>(1)) - node T_165749 = and(T_165748, T_165728) - node T_165750 = eq(pcr_addr, UInt<11>(1922)) - node T_165751 = and(T_165749, T_165750) - when T_165751 : - - node T_165752 = eq(cmd, UInt<3>(3)) - when T_165752 : - node T_165753 = bit(pcr_wdata, 0) - T_165726 := T_165753 - pcrReadData := T_165726 - state := UInt<3>(7) - cpu[0].pcr_rep.ready := UInt<1>(1) - - - node T_165754 = eq(state, UInt<3>(2)) - node T_165755 = and(T_165754, cpu[0].pcr_rep.valid) - when T_165755 : - pcrReadData := cpu[0].pcr_rep.bits - state := UInt<3>(7) - node scr_addr = bits(addr, 5, 0) - wire scr_rdata : UInt<64>[64] - scr_rdata[0] := scr.rdata[0] - scr_rdata[1] := scr.rdata[1] - scr_rdata[2] := scr.rdata[2] - scr_rdata[3] := scr.rdata[3] - scr_rdata[4] := scr.rdata[4] - scr_rdata[5] := scr.rdata[5] - scr_rdata[6] := scr.rdata[6] - scr_rdata[7] := scr.rdata[7] - scr_rdata[8] := scr.rdata[8] - scr_rdata[9] := scr.rdata[9] - scr_rdata[10] := scr.rdata[10] - scr_rdata[11] := scr.rdata[11] - scr_rdata[12] := scr.rdata[12] - scr_rdata[13] := scr.rdata[13] - scr_rdata[14] := scr.rdata[14] - scr_rdata[15] := scr.rdata[15] - scr_rdata[16] := scr.rdata[16] - scr_rdata[17] := scr.rdata[17] - scr_rdata[18] := scr.rdata[18] - scr_rdata[19] := scr.rdata[19] - scr_rdata[20] := scr.rdata[20] - scr_rdata[21] := scr.rdata[21] - scr_rdata[22] := scr.rdata[22] - scr_rdata[23] := scr.rdata[23] - scr_rdata[24] := scr.rdata[24] - scr_rdata[25] := scr.rdata[25] - scr_rdata[26] := scr.rdata[26] - scr_rdata[27] := scr.rdata[27] - scr_rdata[28] := scr.rdata[28] - scr_rdata[29] := scr.rdata[29] - scr_rdata[30] := scr.rdata[30] - scr_rdata[31] := scr.rdata[31] - scr_rdata[32] := scr.rdata[32] - scr_rdata[33] := scr.rdata[33] - scr_rdata[34] := scr.rdata[34] - scr_rdata[35] := scr.rdata[35] - scr_rdata[36] := scr.rdata[36] - scr_rdata[37] := scr.rdata[37] - scr_rdata[38] := scr.rdata[38] - scr_rdata[39] := scr.rdata[39] - scr_rdata[40] := scr.rdata[40] - scr_rdata[41] := scr.rdata[41] - scr_rdata[42] := scr.rdata[42] - scr_rdata[43] := scr.rdata[43] - scr_rdata[44] := scr.rdata[44] - scr_rdata[45] := scr.rdata[45] - scr_rdata[46] := scr.rdata[46] - scr_rdata[47] := scr.rdata[47] - scr_rdata[48] := scr.rdata[48] - scr_rdata[49] := scr.rdata[49] - scr_rdata[50] := scr.rdata[50] - scr_rdata[51] := scr.rdata[51] - scr_rdata[52] := scr.rdata[52] - scr_rdata[53] := scr.rdata[53] - scr_rdata[54] := scr.rdata[54] - scr_rdata[55] := scr.rdata[55] - scr_rdata[56] := scr.rdata[56] - scr_rdata[57] := scr.rdata[57] - scr_rdata[58] := scr.rdata[58] - scr_rdata[59] := scr.rdata[59] - scr_rdata[60] := scr.rdata[60] - scr_rdata[61] := scr.rdata[61] - scr_rdata[62] := scr.rdata[62] - scr_rdata[63] := scr.rdata[63] - scr_rdata[0] := UInt<1>(1) - scr_rdata[1] := UInt<13>(4096) - scr.wen := UInt<1>(0) - scr.wdata := pcr_wdata - scr.waddr := scr_addr - - - node T_165756 = eq(state, UInt<3>(1)) - node T_165757 = eq(pcr_coreid, SInt<1>(-1)) - node T_165758 = and(T_165756, T_165757) - when T_165758 : - node T_165759 = eq(cmd, UInt<3>(3)) - scr.wen := T_165759 - accessor T_165760 = scr_rdata[scr_addr] - pcrReadData := T_165760 - state := UInt<3>(7) - wire tx_cmd : UInt<3> - tx_cmd := UInt<3>(4) - when nack : tx_cmd := UInt<3>(5) - node tx_cmd_ext = cat(UInt<1>(0), tx_cmd) - node T_165761 = cat(addr, seqno) - node T_165762 = cat(tx_size, tx_cmd_ext) - node tx_header = cat(T_165761, T_165762) - node T_165763 = eq(tx_word_count, UInt<1>(0)) - node T_165764 = eq(cmd, UInt<3>(2)) - node T_165765 = eq(cmd, UInt<3>(3)) - node T_165766 = or(T_165764, T_165765) - accessor T_165767 = packet_ram[packet_ram_raddr] - wire T_165768 : UInt<64> - T_165768 := T_165767 - when T_165766 : T_165768 := pcrReadData - wire tx_data : UInt<64> - tx_data := T_165768 - when T_165763 : tx_data := tx_header - node T_165769 = eq(state, UInt<3>(0)) - host.in.ready := T_165769 - node T_165770 = eq(state, UInt<3>(7)) - host.out.valid := T_165770 - node T_165771 = bits(tx_count, 1, 0) - node T_165772 = cat(T_165771, UInt<4>(0)) - node T_165773 = dshr(tx_data, T_165772) - host.out.bits := T_165773 - module ClientTileLinkIOWrapper : - input in : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}} - output out : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}, flip probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>}}, release : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}} - - wire T_165774 : UInt<3>[3] - T_165774[0] := UInt<3>(0) - T_165774[1] := UInt<3>(1) - T_165774[2] := UInt<3>(2) - wire T_165775 : UInt<2>[2] - T_165775[0] := UInt<2>(0) - T_165775[1] := UInt<2>(1) - wire T_165776 : UInt<2>[3] - T_165776[0] := UInt<2>(1) - T_165776[1] := UInt<2>(2) - T_165776[2] := UInt<2>(3) - wire T_165777 : UInt<2>[2] - T_165777[0] := UInt<2>(2) - T_165777[1] := UInt<2>(3) - wire T_165778 : UInt<2>[1] - T_165778[0] := UInt<2>(3) - wire T_165779 : UInt<3>[3] - T_165779[0] := UInt<3>(0) - T_165779[1] := UInt<3>(1) - T_165779[2] := UInt<3>(2) - wire T_165780 : UInt<2>[2] - T_165780[0] := UInt<2>(0) - T_165780[1] := UInt<2>(1) - wire T_165781 : UInt<2>[3] - T_165781[0] := UInt<2>(1) - T_165781[1] := UInt<2>(2) - T_165781[2] := UInt<2>(3) - wire T_165782 : UInt<2>[2] - T_165782[0] := UInt<2>(2) - T_165782[1] := UInt<2>(3) - wire T_165783 : UInt<2>[1] - T_165783[0] := UInt<2>(3) - wire T_165784 : UInt<3>[3] - T_165784[0] := UInt<3>(0) - T_165784[1] := UInt<3>(1) - T_165784[2] := UInt<3>(2) - wire T_165785 : UInt<2>[2] - T_165785[0] := UInt<2>(0) - T_165785[1] := UInt<2>(1) - wire T_165786 : UInt<2>[3] - T_165786[0] := UInt<2>(1) - T_165786[1] := UInt<2>(2) - T_165786[2] := UInt<2>(3) - wire T_165787 : UInt<2>[2] - T_165787[0] := UInt<2>(2) - T_165787[1] := UInt<2>(3) - wire T_165788 : UInt<2>[1] - T_165788[0] := UInt<2>(3) - wire T_165789 : UInt<3>[3] - T_165789[0] := UInt<3>(0) - T_165789[1] := UInt<3>(1) - T_165789[2] := UInt<3>(2) - wire T_165790 : UInt<2>[2] - T_165790[0] := UInt<2>(0) - T_165790[1] := UInt<2>(1) - wire T_165791 : UInt<2>[3] - T_165791[0] := UInt<2>(1) - T_165791[1] := UInt<2>(2) - T_165791[2] := UInt<2>(3) - wire T_165792 : UInt<2>[2] - T_165792[0] := UInt<2>(2) - T_165792[1] := UInt<2>(3) - wire T_165793 : UInt<2>[1] - T_165793[0] := UInt<2>(3) - wire T_165794 : UInt<3>[3] - T_165794[0] := UInt<3>(0) - T_165794[1] := UInt<3>(1) - T_165794[2] := UInt<3>(2) - wire T_165795 : UInt<2>[2] - T_165795[0] := UInt<2>(0) - T_165795[1] := UInt<2>(1) - wire T_165796 : UInt<2>[3] - T_165796[0] := UInt<2>(1) - T_165796[1] := UInt<2>(2) - T_165796[2] := UInt<2>(3) - wire T_165797 : UInt<2>[2] - T_165797[0] := UInt<2>(2) - T_165797[1] := UInt<2>(3) - wire T_165798 : UInt<2>[1] - T_165798[0] := UInt<2>(3) - wire T_165799 : UInt<3>[3] - T_165799[0] := UInt<3>(0) - T_165799[1] := UInt<3>(1) - T_165799[2] := UInt<3>(2) - wire T_165800 : UInt<2>[2] - T_165800[0] := UInt<2>(0) - T_165800[1] := UInt<2>(1) - wire T_165801 : UInt<2>[3] - T_165801[0] := UInt<2>(1) - T_165801[1] := UInt<2>(2) - T_165801[2] := UInt<2>(3) - wire T_165802 : UInt<2>[2] - T_165802[0] := UInt<2>(2) - T_165802[1] := UInt<2>(3) - wire T_165803 : UInt<2>[1] - T_165803[0] := UInt<2>(3) - wire T_165804 : UInt<3>[3] - T_165804[0] := UInt<3>(0) - T_165804[1] := UInt<3>(1) - T_165804[2] := UInt<3>(2) - wire T_165805 : UInt<2>[2] - T_165805[0] := UInt<2>(0) - T_165805[1] := UInt<2>(1) - wire T_165806 : UInt<2>[3] - T_165806[0] := UInt<2>(1) - T_165806[1] := UInt<2>(2) - T_165806[2] := UInt<2>(3) - wire T_165807 : UInt<2>[2] - T_165807[0] := UInt<2>(2) - T_165807[1] := UInt<2>(3) - wire T_165808 : UInt<2>[1] - T_165808[0] := UInt<2>(3) - wire T_165809 : UInt<3>[3] - T_165809[0] := UInt<3>(0) - T_165809[1] := UInt<3>(1) - T_165809[2] := UInt<3>(2) - wire T_165810 : UInt<2>[2] - T_165810[0] := UInt<2>(0) - T_165810[1] := UInt<2>(1) - wire T_165811 : UInt<2>[3] - T_165811[0] := UInt<2>(1) - T_165811[1] := UInt<2>(2) - T_165811[2] := UInt<2>(3) - wire T_165812 : UInt<2>[2] - T_165812[0] := UInt<2>(2) - T_165812[1] := UInt<2>(3) - wire T_165813 : UInt<2>[1] - T_165813[0] := UInt<2>(3) - wire T_165814 : UInt<3>[3] - T_165814[0] := UInt<3>(0) - T_165814[1] := UInt<3>(1) - T_165814[2] := UInt<3>(2) - wire T_165815 : UInt<2>[2] - T_165815[0] := UInt<2>(0) - T_165815[1] := UInt<2>(1) - wire T_165816 : UInt<2>[3] - T_165816[0] := UInt<2>(1) - T_165816[1] := UInt<2>(2) - T_165816[2] := UInt<2>(3) - wire T_165817 : UInt<2>[2] - T_165817[0] := UInt<2>(2) - T_165817[1] := UInt<2>(3) - wire T_165818 : UInt<2>[1] - T_165818[0] := UInt<2>(3) - wire T_165819 : UInt<3>[3] - T_165819[0] := UInt<3>(0) - T_165819[1] := UInt<3>(1) - T_165819[2] := UInt<3>(2) - wire T_165820 : UInt<2>[2] - T_165820[0] := UInt<2>(0) - T_165820[1] := UInt<2>(1) - wire T_165821 : UInt<2>[3] - T_165821[0] := UInt<2>(1) - T_165821[1] := UInt<2>(2) - T_165821[2] := UInt<2>(3) - wire T_165822 : UInt<2>[2] - T_165822[0] := UInt<2>(2) - T_165822[1] := UInt<2>(3) - wire T_165823 : UInt<2>[1] - T_165823[0] := UInt<2>(3) - wire T_165824 : UInt<3>[3] - T_165824[0] := UInt<3>(0) - T_165824[1] := UInt<3>(1) - T_165824[2] := UInt<3>(2) - wire T_165825 : UInt<2>[2] - T_165825[0] := UInt<2>(0) - T_165825[1] := UInt<2>(1) - wire T_165826 : UInt<2>[3] - T_165826[0] := UInt<2>(1) - T_165826[1] := UInt<2>(2) - T_165826[2] := UInt<2>(3) - wire T_165827 : UInt<2>[2] - T_165827[0] := UInt<2>(2) - T_165827[1] := UInt<2>(3) - wire T_165828 : UInt<2>[1] - T_165828[0] := UInt<2>(3) - wire T_165829 : UInt<3>[3] - T_165829[0] := UInt<3>(0) - T_165829[1] := UInt<3>(1) - T_165829[2] := UInt<3>(2) - wire T_165830 : UInt<2>[2] - T_165830[0] := UInt<2>(0) - T_165830[1] := UInt<2>(1) - wire T_165831 : UInt<2>[3] - T_165831[0] := UInt<2>(1) - T_165831[1] := UInt<2>(2) - T_165831[2] := UInt<2>(3) - wire T_165832 : UInt<2>[2] - T_165832[0] := UInt<2>(2) - T_165832[1] := UInt<2>(3) - wire T_165833 : UInt<2>[1] - T_165833[0] := UInt<2>(3) - wire T_165834 : UInt<3>[3] - T_165834[0] := UInt<3>(0) - T_165834[1] := UInt<3>(1) - T_165834[2] := UInt<3>(2) - wire T_165835 : UInt<2>[2] - T_165835[0] := UInt<2>(0) - T_165835[1] := UInt<2>(1) - wire T_165836 : UInt<2>[3] - T_165836[0] := UInt<2>(1) - T_165836[1] := UInt<2>(2) - T_165836[2] := UInt<2>(3) - wire T_165837 : UInt<2>[2] - T_165837[0] := UInt<2>(2) - T_165837[1] := UInt<2>(3) - wire T_165838 : UInt<2>[1] - T_165838[0] := UInt<2>(3) - wire T_165839 : UInt<3>[3] - T_165839[0] := UInt<3>(0) - T_165839[1] := UInt<3>(1) - T_165839[2] := UInt<3>(2) - wire T_165840 : UInt<2>[2] - T_165840[0] := UInt<2>(0) - T_165840[1] := UInt<2>(1) - wire T_165841 : UInt<2>[3] - T_165841[0] := UInt<2>(1) - T_165841[1] := UInt<2>(2) - T_165841[2] := UInt<2>(3) - wire T_165842 : UInt<2>[2] - T_165842[0] := UInt<2>(2) - T_165842[1] := UInt<2>(3) - wire T_165843 : UInt<2>[1] - T_165843[0] := UInt<2>(3) - wire T_165844 : UInt<3>[3] - T_165844[0] := UInt<3>(0) - T_165844[1] := UInt<3>(1) - T_165844[2] := UInt<3>(2) - wire T_165845 : UInt<2>[2] - T_165845[0] := UInt<2>(0) - T_165845[1] := UInt<2>(1) - wire T_165846 : UInt<2>[3] - T_165846[0] := UInt<2>(1) - T_165846[1] := UInt<2>(2) - T_165846[2] := UInt<2>(3) - wire T_165847 : UInt<2>[2] - T_165847[0] := UInt<2>(2) - T_165847[1] := UInt<2>(3) - wire T_165848 : UInt<2>[1] - T_165848[0] := UInt<2>(3) - out.acquire <> in.acquire - out.grant <> in.grant - out.probe.ready := UInt<1>(1) - out.release.valid := UInt<1>(0) - module ClientTileLinkIOWrapper_7600 : - input in : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}} - output out : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}, flip probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>}}, release : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}} - - wire T_165849 : UInt<3>[3] - T_165849[0] := UInt<3>(0) - T_165849[1] := UInt<3>(1) - T_165849[2] := UInt<3>(2) - wire T_165850 : UInt<2>[2] - T_165850[0] := UInt<2>(0) - T_165850[1] := UInt<2>(1) - wire T_165851 : UInt<2>[3] - T_165851[0] := UInt<2>(1) - T_165851[1] := UInt<2>(2) - T_165851[2] := UInt<2>(3) - wire T_165852 : UInt<2>[2] - T_165852[0] := UInt<2>(2) - T_165852[1] := UInt<2>(3) - wire T_165853 : UInt<2>[1] - T_165853[0] := UInt<2>(3) - wire T_165854 : UInt<3>[3] - T_165854[0] := UInt<3>(0) - T_165854[1] := UInt<3>(1) - T_165854[2] := UInt<3>(2) - wire T_165855 : UInt<2>[2] - T_165855[0] := UInt<2>(0) - T_165855[1] := UInt<2>(1) - wire T_165856 : UInt<2>[3] - T_165856[0] := UInt<2>(1) - T_165856[1] := UInt<2>(2) - T_165856[2] := UInt<2>(3) - wire T_165857 : UInt<2>[2] - T_165857[0] := UInt<2>(2) - T_165857[1] := UInt<2>(3) - wire T_165858 : UInt<2>[1] - T_165858[0] := UInt<2>(3) - wire T_165859 : UInt<3>[3] - T_165859[0] := UInt<3>(0) - T_165859[1] := UInt<3>(1) - T_165859[2] := UInt<3>(2) - wire T_165860 : UInt<2>[2] - T_165860[0] := UInt<2>(0) - T_165860[1] := UInt<2>(1) - wire T_165861 : UInt<2>[3] - T_165861[0] := UInt<2>(1) - T_165861[1] := UInt<2>(2) - T_165861[2] := UInt<2>(3) - wire T_165862 : UInt<2>[2] - T_165862[0] := UInt<2>(2) - T_165862[1] := UInt<2>(3) - wire T_165863 : UInt<2>[1] - T_165863[0] := UInt<2>(3) - wire T_165864 : UInt<3>[3] - T_165864[0] := UInt<3>(0) - T_165864[1] := UInt<3>(1) - T_165864[2] := UInt<3>(2) - wire T_165865 : UInt<2>[2] - T_165865[0] := UInt<2>(0) - T_165865[1] := UInt<2>(1) - wire T_165866 : UInt<2>[3] - T_165866[0] := UInt<2>(1) - T_165866[1] := UInt<2>(2) - T_165866[2] := UInt<2>(3) - wire T_165867 : UInt<2>[2] - T_165867[0] := UInt<2>(2) - T_165867[1] := UInt<2>(3) - wire T_165868 : UInt<2>[1] - T_165868[0] := UInt<2>(3) - wire T_165869 : UInt<3>[3] - T_165869[0] := UInt<3>(0) - T_165869[1] := UInt<3>(1) - T_165869[2] := UInt<3>(2) - wire T_165870 : UInt<2>[2] - T_165870[0] := UInt<2>(0) - T_165870[1] := UInt<2>(1) - wire T_165871 : UInt<2>[3] - T_165871[0] := UInt<2>(1) - T_165871[1] := UInt<2>(2) - T_165871[2] := UInt<2>(3) - wire T_165872 : UInt<2>[2] - T_165872[0] := UInt<2>(2) - T_165872[1] := UInt<2>(3) - wire T_165873 : UInt<2>[1] - T_165873[0] := UInt<2>(3) - wire T_165874 : UInt<3>[3] - T_165874[0] := UInt<3>(0) - T_165874[1] := UInt<3>(1) - T_165874[2] := UInt<3>(2) - wire T_165875 : UInt<2>[2] - T_165875[0] := UInt<2>(0) - T_165875[1] := UInt<2>(1) - wire T_165876 : UInt<2>[3] - T_165876[0] := UInt<2>(1) - T_165876[1] := UInt<2>(2) - T_165876[2] := UInt<2>(3) - wire T_165877 : UInt<2>[2] - T_165877[0] := UInt<2>(2) - T_165877[1] := UInt<2>(3) - wire T_165878 : UInt<2>[1] - T_165878[0] := UInt<2>(3) - wire T_165879 : UInt<3>[3] - T_165879[0] := UInt<3>(0) - T_165879[1] := UInt<3>(1) - T_165879[2] := UInt<3>(2) - wire T_165880 : UInt<2>[2] - T_165880[0] := UInt<2>(0) - T_165880[1] := UInt<2>(1) - wire T_165881 : UInt<2>[3] - T_165881[0] := UInt<2>(1) - T_165881[1] := UInt<2>(2) - T_165881[2] := UInt<2>(3) - wire T_165882 : UInt<2>[2] - T_165882[0] := UInt<2>(2) - T_165882[1] := UInt<2>(3) - wire T_165883 : UInt<2>[1] - T_165883[0] := UInt<2>(3) - wire T_165884 : UInt<3>[3] - T_165884[0] := UInt<3>(0) - T_165884[1] := UInt<3>(1) - T_165884[2] := UInt<3>(2) - wire T_165885 : UInt<2>[2] - T_165885[0] := UInt<2>(0) - T_165885[1] := UInt<2>(1) - wire T_165886 : UInt<2>[3] - T_165886[0] := UInt<2>(1) - T_165886[1] := UInt<2>(2) - T_165886[2] := UInt<2>(3) - wire T_165887 : UInt<2>[2] - T_165887[0] := UInt<2>(2) - T_165887[1] := UInt<2>(3) - wire T_165888 : UInt<2>[1] - T_165888[0] := UInt<2>(3) - wire T_165889 : UInt<3>[3] - T_165889[0] := UInt<3>(0) - T_165889[1] := UInt<3>(1) - T_165889[2] := UInt<3>(2) - wire T_165890 : UInt<2>[2] - T_165890[0] := UInt<2>(0) - T_165890[1] := UInt<2>(1) - wire T_165891 : UInt<2>[3] - T_165891[0] := UInt<2>(1) - T_165891[1] := UInt<2>(2) - T_165891[2] := UInt<2>(3) - wire T_165892 : UInt<2>[2] - T_165892[0] := UInt<2>(2) - T_165892[1] := UInt<2>(3) - wire T_165893 : UInt<2>[1] - T_165893[0] := UInt<2>(3) - wire T_165894 : UInt<3>[3] - T_165894[0] := UInt<3>(0) - T_165894[1] := UInt<3>(1) - T_165894[2] := UInt<3>(2) - wire T_165895 : UInt<2>[2] - T_165895[0] := UInt<2>(0) - T_165895[1] := UInt<2>(1) - wire T_165896 : UInt<2>[3] - T_165896[0] := UInt<2>(1) - T_165896[1] := UInt<2>(2) - T_165896[2] := UInt<2>(3) - wire T_165897 : UInt<2>[2] - T_165897[0] := UInt<2>(2) - T_165897[1] := UInt<2>(3) - wire T_165898 : UInt<2>[1] - T_165898[0] := UInt<2>(3) - wire T_165899 : UInt<3>[3] - T_165899[0] := UInt<3>(0) - T_165899[1] := UInt<3>(1) - T_165899[2] := UInt<3>(2) - wire T_165900 : UInt<2>[2] - T_165900[0] := UInt<2>(0) - T_165900[1] := UInt<2>(1) - wire T_165901 : UInt<2>[3] - T_165901[0] := UInt<2>(1) - T_165901[1] := UInt<2>(2) - T_165901[2] := UInt<2>(3) - wire T_165902 : UInt<2>[2] - T_165902[0] := UInt<2>(2) - T_165902[1] := UInt<2>(3) - wire T_165903 : UInt<2>[1] - T_165903[0] := UInt<2>(3) - wire T_165904 : UInt<3>[3] - T_165904[0] := UInt<3>(0) - T_165904[1] := UInt<3>(1) - T_165904[2] := UInt<3>(2) - wire T_165905 : UInt<2>[2] - T_165905[0] := UInt<2>(0) - T_165905[1] := UInt<2>(1) - wire T_165906 : UInt<2>[3] - T_165906[0] := UInt<2>(1) - T_165906[1] := UInt<2>(2) - T_165906[2] := UInt<2>(3) - wire T_165907 : UInt<2>[2] - T_165907[0] := UInt<2>(2) - T_165907[1] := UInt<2>(3) - wire T_165908 : UInt<2>[1] - T_165908[0] := UInt<2>(3) - wire T_165909 : UInt<3>[3] - T_165909[0] := UInt<3>(0) - T_165909[1] := UInt<3>(1) - T_165909[2] := UInt<3>(2) - wire T_165910 : UInt<2>[2] - T_165910[0] := UInt<2>(0) - T_165910[1] := UInt<2>(1) - wire T_165911 : UInt<2>[3] - T_165911[0] := UInt<2>(1) - T_165911[1] := UInt<2>(2) - T_165911[2] := UInt<2>(3) - wire T_165912 : UInt<2>[2] - T_165912[0] := UInt<2>(2) - T_165912[1] := UInt<2>(3) - wire T_165913 : UInt<2>[1] - T_165913[0] := UInt<2>(3) - wire T_165914 : UInt<3>[3] - T_165914[0] := UInt<3>(0) - T_165914[1] := UInt<3>(1) - T_165914[2] := UInt<3>(2) - wire T_165915 : UInt<2>[2] - T_165915[0] := UInt<2>(0) - T_165915[1] := UInt<2>(1) - wire T_165916 : UInt<2>[3] - T_165916[0] := UInt<2>(1) - T_165916[1] := UInt<2>(2) - T_165916[2] := UInt<2>(3) - wire T_165917 : UInt<2>[2] - T_165917[0] := UInt<2>(2) - T_165917[1] := UInt<2>(3) - wire T_165918 : UInt<2>[1] - T_165918[0] := UInt<2>(3) - wire T_165919 : UInt<3>[3] - T_165919[0] := UInt<3>(0) - T_165919[1] := UInt<3>(1) - T_165919[2] := UInt<3>(2) - wire T_165920 : UInt<2>[2] - T_165920[0] := UInt<2>(0) - T_165920[1] := UInt<2>(1) - wire T_165921 : UInt<2>[3] - T_165921[0] := UInt<2>(1) - T_165921[1] := UInt<2>(2) - T_165921[2] := UInt<2>(3) - wire T_165922 : UInt<2>[2] - T_165922[0] := UInt<2>(2) - T_165922[1] := UInt<2>(3) - wire T_165923 : UInt<2>[1] - T_165923[0] := UInt<2>(3) - out.acquire <> in.acquire - out.grant <> in.grant - out.probe.ready := UInt<1>(1) - out.release.valid := UInt<1>(0) - module FinishQueue : - input enq : {flip ready : UInt<1>, valid : UInt<1>, bits : {fin : {manager_xact_id : UInt<2>}, dst : UInt<2>}} - output deq : {flip ready : UInt<1>, valid : UInt<1>, bits : {fin : {manager_xact_id : UInt<2>}, dst : UInt<2>}} - output count : UInt<2> - - wire T_165924 : UInt<3>[3] - T_165924[0] := UInt<3>(0) - T_165924[1] := UInt<3>(1) - T_165924[2] := UInt<3>(2) - wire T_165925 : UInt<2>[2] - T_165925[0] := UInt<2>(0) - T_165925[1] := UInt<2>(1) - wire T_165926 : UInt<2>[3] - T_165926[0] := UInt<2>(1) - T_165926[1] := UInt<2>(2) - T_165926[2] := UInt<2>(3) - wire T_165927 : UInt<2>[2] - T_165927[0] := UInt<2>(2) - T_165927[1] := UInt<2>(3) - wire T_165928 : UInt<2>[1] - T_165928[0] := UInt<2>(3) - wire T_165929 : UInt<3>[3] - T_165929[0] := UInt<3>(0) - T_165929[1] := UInt<3>(1) - T_165929[2] := UInt<3>(2) - wire T_165930 : UInt<2>[2] - T_165930[0] := UInt<2>(0) - T_165930[1] := UInt<2>(1) - wire T_165931 : UInt<2>[3] - T_165931[0] := UInt<2>(1) - T_165931[1] := UInt<2>(2) - T_165931[2] := UInt<2>(3) - wire T_165932 : UInt<2>[2] - T_165932[0] := UInt<2>(2) - T_165932[1] := UInt<2>(3) - wire T_165933 : UInt<2>[1] - T_165933[0] := UInt<2>(3) - wire T_165934 : UInt<3>[3] - T_165934[0] := UInt<3>(0) - T_165934[1] := UInt<3>(1) - T_165934[2] := UInt<3>(2) - wire T_165935 : UInt<2>[2] - T_165935[0] := UInt<2>(0) - T_165935[1] := UInt<2>(1) - wire T_165936 : UInt<2>[3] - T_165936[0] := UInt<2>(1) - T_165936[1] := UInt<2>(2) - T_165936[2] := UInt<2>(3) - wire T_165937 : UInt<2>[2] - T_165937[0] := UInt<2>(2) - T_165937[1] := UInt<2>(3) - wire T_165938 : UInt<2>[1] - T_165938[0] := UInt<2>(3) - wire T_165939 : UInt<3>[3] - T_165939[0] := UInt<3>(0) - T_165939[1] := UInt<3>(1) - T_165939[2] := UInt<3>(2) - wire T_165940 : UInt<2>[2] - T_165940[0] := UInt<2>(0) - T_165940[1] := UInt<2>(1) - wire T_165941 : UInt<2>[3] - T_165941[0] := UInt<2>(1) - T_165941[1] := UInt<2>(2) - T_165941[2] := UInt<2>(3) - wire T_165942 : UInt<2>[2] - T_165942[0] := UInt<2>(2) - T_165942[1] := UInt<2>(3) - wire T_165943 : UInt<2>[1] - T_165943[0] := UInt<2>(3) - wire T_165944 : UInt<3>[3] - T_165944[0] := UInt<3>(0) - T_165944[1] := UInt<3>(1) - T_165944[2] := UInt<3>(2) - wire T_165945 : UInt<2>[2] - T_165945[0] := UInt<2>(0) - T_165945[1] := UInt<2>(1) - wire T_165946 : UInt<2>[3] - T_165946[0] := UInt<2>(1) - T_165946[1] := UInt<2>(2) - T_165946[2] := UInt<2>(3) - wire T_165947 : UInt<2>[2] - T_165947[0] := UInt<2>(2) - T_165947[1] := UInt<2>(3) - wire T_165948 : UInt<2>[1] - T_165948[0] := UInt<2>(3) - wire T_165949 : UInt<3>[3] - T_165949[0] := UInt<3>(0) - T_165949[1] := UInt<3>(1) - T_165949[2] := UInt<3>(2) - wire T_165950 : UInt<2>[2] - T_165950[0] := UInt<2>(0) - T_165950[1] := UInt<2>(1) - wire T_165951 : UInt<2>[3] - T_165951[0] := UInt<2>(1) - T_165951[1] := UInt<2>(2) - T_165951[2] := UInt<2>(3) - wire T_165952 : UInt<2>[2] - T_165952[0] := UInt<2>(2) - T_165952[1] := UInt<2>(3) - wire T_165953 : UInt<2>[1] - T_165953[0] := UInt<2>(3) - wire T_165954 : UInt<3>[3] - T_165954[0] := UInt<3>(0) - T_165954[1] := UInt<3>(1) - T_165954[2] := UInt<3>(2) - wire T_165955 : UInt<2>[2] - T_165955[0] := UInt<2>(0) - T_165955[1] := UInt<2>(1) - wire T_165956 : UInt<2>[3] - T_165956[0] := UInt<2>(1) - T_165956[1] := UInt<2>(2) - T_165956[2] := UInt<2>(3) - wire T_165957 : UInt<2>[2] - T_165957[0] := UInt<2>(2) - T_165957[1] := UInt<2>(3) - wire T_165958 : UInt<2>[1] - T_165958[0] := UInt<2>(3) - wire T_165959 : UInt<3>[3] - T_165959[0] := UInt<3>(0) - T_165959[1] := UInt<3>(1) - T_165959[2] := UInt<3>(2) - wire T_165960 : UInt<2>[2] - T_165960[0] := UInt<2>(0) - T_165960[1] := UInt<2>(1) - wire T_165961 : UInt<2>[3] - T_165961[0] := UInt<2>(1) - T_165961[1] := UInt<2>(2) - T_165961[2] := UInt<2>(3) - wire T_165962 : UInt<2>[2] - T_165962[0] := UInt<2>(2) - T_165962[1] := UInt<2>(3) - wire T_165963 : UInt<2>[1] - T_165963[0] := UInt<2>(3) - wire T_165964 : UInt<3>[3] - T_165964[0] := UInt<3>(0) - T_165964[1] := UInt<3>(1) - T_165964[2] := UInt<3>(2) - wire T_165965 : UInt<2>[2] - T_165965[0] := UInt<2>(0) - T_165965[1] := UInt<2>(1) - wire T_165966 : UInt<2>[3] - T_165966[0] := UInt<2>(1) - T_165966[1] := UInt<2>(2) - T_165966[2] := UInt<2>(3) - wire T_165967 : UInt<2>[2] - T_165967[0] := UInt<2>(2) - T_165967[1] := UInt<2>(3) - wire T_165968 : UInt<2>[1] - T_165968[0] := UInt<2>(3) - wire T_165969 : UInt<3>[3] - T_165969[0] := UInt<3>(0) - T_165969[1] := UInt<3>(1) - T_165969[2] := UInt<3>(2) - wire T_165970 : UInt<2>[2] - T_165970[0] := UInt<2>(0) - T_165970[1] := UInt<2>(1) - wire T_165971 : UInt<2>[3] - T_165971[0] := UInt<2>(1) - T_165971[1] := UInt<2>(2) - T_165971[2] := UInt<2>(3) - wire T_165972 : UInt<2>[2] - T_165972[0] := UInt<2>(2) - T_165972[1] := UInt<2>(3) - wire T_165973 : UInt<2>[1] - T_165973[0] := UInt<2>(3) - cmem T_165974 : {fin : {manager_xact_id : UInt<2>}, dst : UInt<2>}[2] - reg T_165975 : UInt<1> - onreset T_165975 := UInt<1>(0) - reg T_165976 : UInt<1> - onreset T_165976 := UInt<1>(0) - reg T_165977 : UInt<1> - onreset T_165977 := UInt<1>(0) - node T_165978 = eq(T_165975, T_165976) - node T_165979 = eq(T_165977, UInt<1>(0)) - node T_165980 = and(T_165978, T_165979) - node T_165981 = and(T_165978, T_165977) - node T_165982 = and(UInt<1>(0), T_165980) - node T_165983 = and(T_165982, deq.ready) - node T_165984 = and(enq.ready, enq.valid) - node T_165985 = eq(T_165983, UInt<1>(0)) - node T_165986 = and(T_165984, T_165985) - node T_165987 = and(deq.ready, deq.valid) - node T_165988 = eq(T_165983, UInt<1>(0)) - node T_165989 = and(T_165987, T_165988) - when T_165986 : - wire T_165990 : UInt<3>[3] - T_165990[0] := UInt<3>(0) - T_165990[1] := UInt<3>(1) - T_165990[2] := UInt<3>(2) - wire T_165991 : UInt<2>[2] - T_165991[0] := UInt<2>(0) - T_165991[1] := UInt<2>(1) - wire T_165992 : UInt<2>[3] - T_165992[0] := UInt<2>(1) - T_165992[1] := UInt<2>(2) - T_165992[2] := UInt<2>(3) - wire T_165993 : UInt<2>[2] - T_165993[0] := UInt<2>(2) - T_165993[1] := UInt<2>(3) - wire T_165994 : UInt<2>[1] - T_165994[0] := UInt<2>(3) - wire T_165995 : UInt<3>[3] - T_165995[0] := UInt<3>(0) - T_165995[1] := UInt<3>(1) - T_165995[2] := UInt<3>(2) - wire T_165996 : UInt<2>[2] - T_165996[0] := UInt<2>(0) - T_165996[1] := UInt<2>(1) - wire T_165997 : UInt<2>[3] - T_165997[0] := UInt<2>(1) - T_165997[1] := UInt<2>(2) - T_165997[2] := UInt<2>(3) - wire T_165998 : UInt<2>[2] - T_165998[0] := UInt<2>(2) - T_165998[1] := UInt<2>(3) - wire T_165999 : UInt<2>[1] - T_165999[0] := UInt<2>(3) - accessor T_166000 = T_165974[T_165975] - T_166000 := enq.bits - node T_166001 = eq(T_165975, UInt<1>(1)) - node T_166002 = and(UInt<1>(0), T_166001) - node T_166003 = addw(T_165975, UInt<1>(1)) - wire T_166004 : UInt<1> - T_166004 := T_166003 - when T_166002 : T_166004 := UInt<1>(0) - T_165975 := T_166004 - when T_165989 : - node T_166005 = eq(T_165976, UInt<1>(1)) - node T_166006 = and(UInt<1>(0), T_166005) - node T_166007 = addw(T_165976, UInt<1>(1)) - wire T_166008 : UInt<1> - T_166008 := T_166007 - when T_166006 : T_166008 := UInt<1>(0) - T_165976 := T_166008 - - node T_166009 = neq(T_165986, T_165989) - when T_166009 : T_165977 := T_165986 - node T_166010 = eq(T_165980, UInt<1>(0)) - node T_166011 = and(UInt<1>(0), enq.valid) - node T_166012 = or(T_166010, T_166011) - deq.valid := T_166012 - node T_166013 = eq(T_165981, UInt<1>(0)) - node T_166014 = and(UInt<1>(0), deq.ready) - node T_166015 = or(T_166013, T_166014) - enq.ready := T_166015 - wire T_166016 : UInt<3>[3] - T_166016[0] := UInt<3>(0) - T_166016[1] := UInt<3>(1) - T_166016[2] := UInt<3>(2) - wire T_166017 : UInt<2>[2] - T_166017[0] := UInt<2>(0) - T_166017[1] := UInt<2>(1) - wire T_166018 : UInt<2>[3] - T_166018[0] := UInt<2>(1) - T_166018[1] := UInt<2>(2) - T_166018[2] := UInt<2>(3) - wire T_166019 : UInt<2>[2] - T_166019[0] := UInt<2>(2) - T_166019[1] := UInt<2>(3) - wire T_166020 : UInt<2>[1] - T_166020[0] := UInt<2>(3) - wire T_166021 : UInt<3>[3] - T_166021[0] := UInt<3>(0) - T_166021[1] := UInt<3>(1) - T_166021[2] := UInt<3>(2) - wire T_166022 : UInt<2>[2] - T_166022[0] := UInt<2>(0) - T_166022[1] := UInt<2>(1) - wire T_166023 : UInt<2>[3] - T_166023[0] := UInt<2>(1) - T_166023[1] := UInt<2>(2) - T_166023[2] := UInt<2>(3) - wire T_166024 : UInt<2>[2] - T_166024[0] := UInt<2>(2) - T_166024[1] := UInt<2>(3) - wire T_166025 : UInt<2>[1] - T_166025[0] := UInt<2>(3) - accessor T_166026 = T_165974[T_165976] - wire T_166027 : UInt<3>[3] - T_166027[0] := UInt<3>(0) - T_166027[1] := UInt<3>(1) - T_166027[2] := UInt<3>(2) - wire T_166028 : UInt<2>[2] - T_166028[0] := UInt<2>(0) - T_166028[1] := UInt<2>(1) - wire T_166029 : UInt<2>[3] - T_166029[0] := UInt<2>(1) - T_166029[1] := UInt<2>(2) - T_166029[2] := UInt<2>(3) - wire T_166030 : UInt<2>[2] - T_166030[0] := UInt<2>(2) - T_166030[1] := UInt<2>(3) - wire T_166031 : UInt<2>[1] - T_166031[0] := UInt<2>(3) - wire T_166032 : UInt<3>[3] - T_166032[0] := UInt<3>(0) - T_166032[1] := UInt<3>(1) - T_166032[2] := UInt<3>(2) - wire T_166033 : UInt<2>[2] - T_166033[0] := UInt<2>(0) - T_166033[1] := UInt<2>(1) - wire T_166034 : UInt<2>[3] - T_166034[0] := UInt<2>(1) - T_166034[1] := UInt<2>(2) - T_166034[2] := UInt<2>(3) - wire T_166035 : UInt<2>[2] - T_166035[0] := UInt<2>(2) - T_166035[1] := UInt<2>(3) - wire T_166036 : UInt<2>[1] - T_166036[0] := UInt<2>(3) - wire T_166037 : {fin : {manager_xact_id : UInt<2>}, dst : UInt<2>} - T_166037 := T_166026 - when T_165982 : T_166037 := enq.bits - deq.bits := T_166037 - node T_166038 = subw(T_165975, T_165976) - node T_166039 = and(T_165977, T_165978) - node T_166040 = cat(T_166039, T_166038) - count := T_166040 - module FinishUnit : - input grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}} - output refill : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}} - output finish : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {manager_xact_id : UInt<2>}}} - output ready : UInt<1> - - wire T_166041 : UInt<3>[3] - T_166041[0] := UInt<3>(0) - T_166041[1] := UInt<3>(1) - T_166041[2] := UInt<3>(2) - wire T_166042 : UInt<2>[2] - T_166042[0] := UInt<2>(0) - T_166042[1] := UInt<2>(1) - wire T_166043 : UInt<2>[3] - T_166043[0] := UInt<2>(1) - T_166043[1] := UInt<2>(2) - T_166043[2] := UInt<2>(3) - wire T_166044 : UInt<2>[2] - T_166044[0] := UInt<2>(2) - T_166044[1] := UInt<2>(3) - wire T_166045 : UInt<2>[1] - T_166045[0] := UInt<2>(3) - wire T_166046 : UInt<3>[3] - T_166046[0] := UInt<3>(0) - T_166046[1] := UInt<3>(1) - T_166046[2] := UInt<3>(2) - wire T_166047 : UInt<2>[2] - T_166047[0] := UInt<2>(0) - T_166047[1] := UInt<2>(1) - wire T_166048 : UInt<2>[3] - T_166048[0] := UInt<2>(1) - T_166048[1] := UInt<2>(2) - T_166048[2] := UInt<2>(3) - wire T_166049 : UInt<2>[2] - T_166049[0] := UInt<2>(2) - T_166049[1] := UInt<2>(3) - wire T_166050 : UInt<2>[1] - T_166050[0] := UInt<2>(3) - wire T_166051 : UInt<3>[3] - T_166051[0] := UInt<3>(0) - T_166051[1] := UInt<3>(1) - T_166051[2] := UInt<3>(2) - wire T_166052 : UInt<2>[2] - T_166052[0] := UInt<2>(0) - T_166052[1] := UInt<2>(1) - wire T_166053 : UInt<2>[3] - T_166053[0] := UInt<2>(1) - T_166053[1] := UInt<2>(2) - T_166053[2] := UInt<2>(3) - wire T_166054 : UInt<2>[2] - T_166054[0] := UInt<2>(2) - T_166054[1] := UInt<2>(3) - wire T_166055 : UInt<2>[1] - T_166055[0] := UInt<2>(3) - wire T_166056 : UInt<3>[3] - T_166056[0] := UInt<3>(0) - T_166056[1] := UInt<3>(1) - T_166056[2] := UInt<3>(2) - wire T_166057 : UInt<2>[2] - T_166057[0] := UInt<2>(0) - T_166057[1] := UInt<2>(1) - wire T_166058 : UInt<2>[3] - T_166058[0] := UInt<2>(1) - T_166058[1] := UInt<2>(2) - T_166058[2] := UInt<2>(3) - wire T_166059 : UInt<2>[2] - T_166059[0] := UInt<2>(2) - T_166059[1] := UInt<2>(3) - wire T_166060 : UInt<2>[1] - T_166060[0] := UInt<2>(3) - wire T_166061 : UInt<3>[3] - T_166061[0] := UInt<3>(0) - T_166061[1] := UInt<3>(1) - T_166061[2] := UInt<3>(2) - wire T_166062 : UInt<2>[2] - T_166062[0] := UInt<2>(0) - T_166062[1] := UInt<2>(1) - wire T_166063 : UInt<2>[3] - T_166063[0] := UInt<2>(1) - T_166063[1] := UInt<2>(2) - T_166063[2] := UInt<2>(3) - wire T_166064 : UInt<2>[2] - T_166064[0] := UInt<2>(2) - T_166064[1] := UInt<2>(3) - wire T_166065 : UInt<2>[1] - T_166065[0] := UInt<2>(3) - wire T_166066 : UInt<3>[3] - T_166066[0] := UInt<3>(0) - T_166066[1] := UInt<3>(1) - T_166066[2] := UInt<3>(2) - wire T_166067 : UInt<2>[2] - T_166067[0] := UInt<2>(0) - T_166067[1] := UInt<2>(1) - wire T_166068 : UInt<2>[3] - T_166068[0] := UInt<2>(1) - T_166068[1] := UInt<2>(2) - T_166068[2] := UInt<2>(3) - wire T_166069 : UInt<2>[2] - T_166069[0] := UInt<2>(2) - T_166069[1] := UInt<2>(3) - wire T_166070 : UInt<2>[1] - T_166070[0] := UInt<2>(3) - wire T_166071 : UInt<3>[3] - T_166071[0] := UInt<3>(0) - T_166071[1] := UInt<3>(1) - T_166071[2] := UInt<3>(2) - wire T_166072 : UInt<2>[2] - T_166072[0] := UInt<2>(0) - T_166072[1] := UInt<2>(1) - wire T_166073 : UInt<2>[3] - T_166073[0] := UInt<2>(1) - T_166073[1] := UInt<2>(2) - T_166073[2] := UInt<2>(3) - wire T_166074 : UInt<2>[2] - T_166074[0] := UInt<2>(2) - T_166074[1] := UInt<2>(3) - wire T_166075 : UInt<2>[1] - T_166075[0] := UInt<2>(3) - wire T_166076 : UInt<3>[3] - T_166076[0] := UInt<3>(0) - T_166076[1] := UInt<3>(1) - T_166076[2] := UInt<3>(2) - wire T_166077 : UInt<2>[2] - T_166077[0] := UInt<2>(0) - T_166077[1] := UInt<2>(1) - wire T_166078 : UInt<2>[3] - T_166078[0] := UInt<2>(1) - T_166078[1] := UInt<2>(2) - T_166078[2] := UInt<2>(3) - wire T_166079 : UInt<2>[2] - T_166079[0] := UInt<2>(2) - T_166079[1] := UInt<2>(3) - wire T_166080 : UInt<2>[1] - T_166080[0] := UInt<2>(3) - wire T_166081 : UInt<3>[3] - T_166081[0] := UInt<3>(0) - T_166081[1] := UInt<3>(1) - T_166081[2] := UInt<3>(2) - wire T_166082 : UInt<2>[2] - T_166082[0] := UInt<2>(0) - T_166082[1] := UInt<2>(1) - wire T_166083 : UInt<2>[3] - T_166083[0] := UInt<2>(1) - T_166083[1] := UInt<2>(2) - T_166083[2] := UInt<2>(3) - wire T_166084 : UInt<2>[2] - T_166084[0] := UInt<2>(2) - T_166084[1] := UInt<2>(3) - wire T_166085 : UInt<2>[1] - T_166085[0] := UInt<2>(3) - node T_166086 = and(grant.ready, grant.valid) - wire T_166087 : UInt<3>[1] - T_166087[0] := UInt<3>(5) - node T_166088 = eq(T_166087[0], grant.bits.payload.g_type) - node T_166089 = or(UInt<1>(0), T_166088) - node T_166090 = eq(T_166057[0], grant.bits.payload.g_type) - node T_166091 = eq(T_166057[1], grant.bits.payload.g_type) - node T_166092 = or(UInt<1>(0), T_166090) - node T_166093 = or(T_166092, T_166091) - wire T_166094 : UInt<1> - T_166094 := T_166093 - when grant.bits.payload.is_builtin_type : T_166094 := T_166089 - node T_166095 = and(UInt<1>(1), T_166094) - node T_166096 = and(T_166086, T_166095) - reg T_166097 : UInt<2> - onreset T_166097 := UInt<2>(0) - when T_166096 : - node T_166098 = eq(T_166097, UInt<2>(3)) - node T_166099 = and(UInt<1>(0), T_166098) - node T_166100 = addw(T_166097, UInt<1>(1)) - wire T_166101 : UInt<2> - T_166101 := T_166100 - when T_166099 : T_166101 := UInt<1>(0) - T_166097 := T_166101 - node T_166102 = and(T_166096, T_166098) - wire T_166103 : UInt<1> - T_166103 := UInt<1>(0) - when T_166095 : T_166103 := T_166097 - wire T_166104 : UInt<1> - T_166104 := T_166086 - when T_166095 : T_166104 := T_166102 - wire T_166105 : UInt<3>[3] - T_166105[0] := UInt<3>(0) - T_166105[1] := UInt<3>(1) - T_166105[2] := UInt<3>(2) - wire T_166106 : UInt<2>[2] - T_166106[0] := UInt<2>(0) - T_166106[1] := UInt<2>(1) - wire T_166107 : UInt<2>[3] - T_166107[0] := UInt<2>(1) - T_166107[1] := UInt<2>(2) - T_166107[2] := UInt<2>(3) - wire T_166108 : UInt<2>[2] - T_166108[0] := UInt<2>(2) - T_166108[1] := UInt<2>(3) - wire T_166109 : UInt<2>[1] - T_166109[0] := UInt<2>(3) - wire T_166110 : UInt<3>[3] - T_166110[0] := UInt<3>(0) - T_166110[1] := UInt<3>(1) - T_166110[2] := UInt<3>(2) - wire T_166111 : UInt<2>[2] - T_166111[0] := UInt<2>(0) - T_166111[1] := UInt<2>(1) - wire T_166112 : UInt<2>[3] - T_166112[0] := UInt<2>(1) - T_166112[1] := UInt<2>(2) - T_166112[2] := UInt<2>(3) - wire T_166113 : UInt<2>[2] - T_166113[0] := UInt<2>(2) - T_166113[1] := UInt<2>(3) - wire T_166114 : UInt<2>[1] - T_166114[0] := UInt<2>(3) - inst T_166115 of FinishQueue - node T_166116 = and(grant.ready, grant.valid) - node T_166117 = eq(UInt<1>(0), UInt<1>(0)) - node T_166118 = eq(grant.bits.payload.g_type, UInt<3>(0)) - node T_166119 = and(grant.bits.payload.is_builtin_type, T_166118) - node T_166120 = eq(T_166119, UInt<1>(0)) - node T_166121 = and(T_166117, T_166120) - node T_166122 = and(T_166116, T_166121) - wire T_166123 : UInt<3>[1] - T_166123[0] := UInt<3>(5) - node T_166124 = eq(T_166123[0], grant.bits.payload.g_type) - node T_166125 = or(UInt<1>(0), T_166124) - node T_166126 = eq(T_166057[0], grant.bits.payload.g_type) - node T_166127 = eq(T_166057[1], grant.bits.payload.g_type) - node T_166128 = or(UInt<1>(0), T_166126) - node T_166129 = or(T_166128, T_166127) - wire T_166130 : UInt<1> - T_166130 := T_166129 - when grant.bits.payload.is_builtin_type : T_166130 := T_166125 - node T_166131 = and(UInt<1>(1), T_166130) - node T_166132 = eq(T_166131, UInt<1>(0)) - node T_166133 = or(T_166132, T_166104) - node T_166134 = and(T_166122, T_166133) - T_166115.enq.valid := T_166134 - wire T_166135 : UInt<3>[3] - T_166135[0] := UInt<3>(0) - T_166135[1] := UInt<3>(1) - T_166135[2] := UInt<3>(2) - wire T_166136 : UInt<2>[2] - T_166136[0] := UInt<2>(0) - T_166136[1] := UInt<2>(1) - wire T_166137 : UInt<2>[3] - T_166137[0] := UInt<2>(1) - T_166137[1] := UInt<2>(2) - T_166137[2] := UInt<2>(3) - wire T_166138 : UInt<2>[2] - T_166138[0] := UInt<2>(2) - T_166138[1] := UInt<2>(3) - wire T_166139 : UInt<2>[1] - T_166139[0] := UInt<2>(3) - wire T_166140 : UInt<3>[3] - T_166140[0] := UInt<3>(0) - T_166140[1] := UInt<3>(1) - T_166140[2] := UInt<3>(2) - wire T_166141 : UInt<2>[2] - T_166141[0] := UInt<2>(0) - T_166141[1] := UInt<2>(1) - wire T_166142 : UInt<2>[3] - T_166142[0] := UInt<2>(1) - T_166142[1] := UInt<2>(2) - T_166142[2] := UInt<2>(3) - wire T_166143 : UInt<2>[2] - T_166143[0] := UInt<2>(2) - T_166143[1] := UInt<2>(3) - wire T_166144 : UInt<2>[1] - T_166144[0] := UInt<2>(3) - wire T_166145 : {manager_xact_id : UInt<2>} - T_166145.manager_xact_id := grant.bits.payload.manager_xact_id - T_166115.enq.bits.fin := T_166145 - T_166115.enq.bits.dst := grant.bits.header.src - finish.bits.header.src := UInt<1>(0) - finish.bits.header.dst := T_166115.deq.bits.dst - finish.bits.payload := T_166115.deq.bits.fin - finish.valid := T_166115.deq.valid - T_166115.deq.ready := finish.ready - refill.valid := grant.valid - refill.bits := grant.bits.payload - node T_166146 = eq(UInt<1>(0), UInt<1>(0)) - node T_166147 = eq(grant.bits.payload.g_type, UInt<3>(0)) - node T_166148 = and(grant.bits.payload.is_builtin_type, T_166147) - node T_166149 = eq(T_166148, UInt<1>(0)) - node T_166150 = and(T_166146, T_166149) - node T_166151 = eq(T_166150, UInt<1>(0)) - node T_166152 = or(T_166115.enq.ready, T_166151) - node T_166153 = and(T_166152, refill.ready) - grant.ready := T_166153 - ready := T_166115.enq.ready - module ClientTileLinkNetworkPort : - input client : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}, flip probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>}}, release : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}} - output network : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}}, finish : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {manager_xact_id : UInt<2>}}}, flip probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, p_type : UInt<2>}}}, release : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}}} - - wire T_166154 : UInt<3>[3] - T_166154[0] := UInt<3>(0) - T_166154[1] := UInt<3>(1) - T_166154[2] := UInt<3>(2) - wire T_166155 : UInt<2>[2] - T_166155[0] := UInt<2>(0) - T_166155[1] := UInt<2>(1) - wire T_166156 : UInt<2>[3] - T_166156[0] := UInt<2>(1) - T_166156[1] := UInt<2>(2) - T_166156[2] := UInt<2>(3) - wire T_166157 : UInt<2>[2] - T_166157[0] := UInt<2>(2) - T_166157[1] := UInt<2>(3) - wire T_166158 : UInt<2>[1] - T_166158[0] := UInt<2>(3) - wire T_166159 : UInt<3>[3] - T_166159[0] := UInt<3>(0) - T_166159[1] := UInt<3>(1) - T_166159[2] := UInt<3>(2) - wire T_166160 : UInt<2>[2] - T_166160[0] := UInt<2>(0) - T_166160[1] := UInt<2>(1) - wire T_166161 : UInt<2>[3] - T_166161[0] := UInt<2>(1) - T_166161[1] := UInt<2>(2) - T_166161[2] := UInt<2>(3) - wire T_166162 : UInt<2>[2] - T_166162[0] := UInt<2>(2) - T_166162[1] := UInt<2>(3) - wire T_166163 : UInt<2>[1] - T_166163[0] := UInt<2>(3) - wire T_166164 : UInt<3>[3] - T_166164[0] := UInt<3>(0) - T_166164[1] := UInt<3>(1) - T_166164[2] := UInt<3>(2) - wire T_166165 : UInt<2>[2] - T_166165[0] := UInt<2>(0) - T_166165[1] := UInt<2>(1) - wire T_166166 : UInt<2>[3] - T_166166[0] := UInt<2>(1) - T_166166[1] := UInt<2>(2) - T_166166[2] := UInt<2>(3) - wire T_166167 : UInt<2>[2] - T_166167[0] := UInt<2>(2) - T_166167[1] := UInt<2>(3) - wire T_166168 : UInt<2>[1] - T_166168[0] := UInt<2>(3) - wire T_166169 : UInt<3>[3] - T_166169[0] := UInt<3>(0) - T_166169[1] := UInt<3>(1) - T_166169[2] := UInt<3>(2) - wire T_166170 : UInt<2>[2] - T_166170[0] := UInt<2>(0) - T_166170[1] := UInt<2>(1) - wire T_166171 : UInt<2>[3] - T_166171[0] := UInt<2>(1) - T_166171[1] := UInt<2>(2) - T_166171[2] := UInt<2>(3) - wire T_166172 : UInt<2>[2] - T_166172[0] := UInt<2>(2) - T_166172[1] := UInt<2>(3) - wire T_166173 : UInt<2>[1] - T_166173[0] := UInt<2>(3) - wire T_166174 : UInt<3>[3] - T_166174[0] := UInt<3>(0) - T_166174[1] := UInt<3>(1) - T_166174[2] := UInt<3>(2) - wire T_166175 : UInt<2>[2] - T_166175[0] := UInt<2>(0) - T_166175[1] := UInt<2>(1) - wire T_166176 : UInt<2>[3] - T_166176[0] := UInt<2>(1) - T_166176[1] := UInt<2>(2) - T_166176[2] := UInt<2>(3) - wire T_166177 : UInt<2>[2] - T_166177[0] := UInt<2>(2) - T_166177[1] := UInt<2>(3) - wire T_166178 : UInt<2>[1] - T_166178[0] := UInt<2>(3) - wire T_166179 : UInt<3>[3] - T_166179[0] := UInt<3>(0) - T_166179[1] := UInt<3>(1) - T_166179[2] := UInt<3>(2) - wire T_166180 : UInt<2>[2] - T_166180[0] := UInt<2>(0) - T_166180[1] := UInt<2>(1) - wire T_166181 : UInt<2>[3] - T_166181[0] := UInt<2>(1) - T_166181[1] := UInt<2>(2) - T_166181[2] := UInt<2>(3) - wire T_166182 : UInt<2>[2] - T_166182[0] := UInt<2>(2) - T_166182[1] := UInt<2>(3) - wire T_166183 : UInt<2>[1] - T_166183[0] := UInt<2>(3) - wire T_166184 : UInt<3>[3] - T_166184[0] := UInt<3>(0) - T_166184[1] := UInt<3>(1) - T_166184[2] := UInt<3>(2) - wire T_166185 : UInt<2>[2] - T_166185[0] := UInt<2>(0) - T_166185[1] := UInt<2>(1) - wire T_166186 : UInt<2>[3] - T_166186[0] := UInt<2>(1) - T_166186[1] := UInt<2>(2) - T_166186[2] := UInt<2>(3) - wire T_166187 : UInt<2>[2] - T_166187[0] := UInt<2>(2) - T_166187[1] := UInt<2>(3) - wire T_166188 : UInt<2>[1] - T_166188[0] := UInt<2>(3) - wire T_166189 : UInt<3>[3] - T_166189[0] := UInt<3>(0) - T_166189[1] := UInt<3>(1) - T_166189[2] := UInt<3>(2) - wire T_166190 : UInt<2>[2] - T_166190[0] := UInt<2>(0) - T_166190[1] := UInt<2>(1) - wire T_166191 : UInt<2>[3] - T_166191[0] := UInt<2>(1) - T_166191[1] := UInt<2>(2) - T_166191[2] := UInt<2>(3) - wire T_166192 : UInt<2>[2] - T_166192[0] := UInt<2>(2) - T_166192[1] := UInt<2>(3) - wire T_166193 : UInt<2>[1] - T_166193[0] := UInt<2>(3) - wire T_166194 : UInt<3>[3] - T_166194[0] := UInt<3>(0) - T_166194[1] := UInt<3>(1) - T_166194[2] := UInt<3>(2) - wire T_166195 : UInt<2>[2] - T_166195[0] := UInt<2>(0) - T_166195[1] := UInt<2>(1) - wire T_166196 : UInt<2>[3] - T_166196[0] := UInt<2>(1) - T_166196[1] := UInt<2>(2) - T_166196[2] := UInt<2>(3) - wire T_166197 : UInt<2>[2] - T_166197[0] := UInt<2>(2) - T_166197[1] := UInt<2>(3) - wire T_166198 : UInt<2>[1] - T_166198[0] := UInt<2>(3) - wire T_166199 : UInt<3>[3] - T_166199[0] := UInt<3>(0) - T_166199[1] := UInt<3>(1) - T_166199[2] := UInt<3>(2) - wire T_166200 : UInt<2>[2] - T_166200[0] := UInt<2>(0) - T_166200[1] := UInt<2>(1) - wire T_166201 : UInt<2>[3] - T_166201[0] := UInt<2>(1) - T_166201[1] := UInt<2>(2) - T_166201[2] := UInt<2>(3) - wire T_166202 : UInt<2>[2] - T_166202[0] := UInt<2>(2) - T_166202[1] := UInt<2>(3) - wire T_166203 : UInt<2>[1] - T_166203[0] := UInt<2>(3) - wire T_166204 : UInt<3>[3] - T_166204[0] := UInt<3>(0) - T_166204[1] := UInt<3>(1) - T_166204[2] := UInt<3>(2) - wire T_166205 : UInt<2>[2] - T_166205[0] := UInt<2>(0) - T_166205[1] := UInt<2>(1) - wire T_166206 : UInt<2>[3] - T_166206[0] := UInt<2>(1) - T_166206[1] := UInt<2>(2) - T_166206[2] := UInt<2>(3) - wire T_166207 : UInt<2>[2] - T_166207[0] := UInt<2>(2) - T_166207[1] := UInt<2>(3) - wire T_166208 : UInt<2>[1] - T_166208[0] := UInt<2>(3) - wire T_166209 : UInt<3>[3] - T_166209[0] := UInt<3>(0) - T_166209[1] := UInt<3>(1) - T_166209[2] := UInt<3>(2) - wire T_166210 : UInt<2>[2] - T_166210[0] := UInt<2>(0) - T_166210[1] := UInt<2>(1) - wire T_166211 : UInt<2>[3] - T_166211[0] := UInt<2>(1) - T_166211[1] := UInt<2>(2) - T_166211[2] := UInt<2>(3) - wire T_166212 : UInt<2>[2] - T_166212[0] := UInt<2>(2) - T_166212[1] := UInt<2>(3) - wire T_166213 : UInt<2>[1] - T_166213[0] := UInt<2>(3) - wire T_166214 : UInt<3>[3] - T_166214[0] := UInt<3>(0) - T_166214[1] := UInt<3>(1) - T_166214[2] := UInt<3>(2) - wire T_166215 : UInt<2>[2] - T_166215[0] := UInt<2>(0) - T_166215[1] := UInt<2>(1) - wire T_166216 : UInt<2>[3] - T_166216[0] := UInt<2>(1) - T_166216[1] := UInt<2>(2) - T_166216[2] := UInt<2>(3) - wire T_166217 : UInt<2>[2] - T_166217[0] := UInt<2>(2) - T_166217[1] := UInt<2>(3) - wire T_166218 : UInt<2>[1] - T_166218[0] := UInt<2>(3) - wire T_166219 : UInt<3>[3] - T_166219[0] := UInt<3>(0) - T_166219[1] := UInt<3>(1) - T_166219[2] := UInt<3>(2) - wire T_166220 : UInt<2>[2] - T_166220[0] := UInt<2>(0) - T_166220[1] := UInt<2>(1) - wire T_166221 : UInt<2>[3] - T_166221[0] := UInt<2>(1) - T_166221[1] := UInt<2>(2) - T_166221[2] := UInt<2>(3) - wire T_166222 : UInt<2>[2] - T_166222[0] := UInt<2>(2) - T_166222[1] := UInt<2>(3) - wire T_166223 : UInt<2>[1] - T_166223[0] := UInt<2>(3) - wire T_166224 : UInt<3>[3] - T_166224[0] := UInt<3>(0) - T_166224[1] := UInt<3>(1) - T_166224[2] := UInt<3>(2) - wire T_166225 : UInt<2>[2] - T_166225[0] := UInt<2>(0) - T_166225[1] := UInt<2>(1) - wire T_166226 : UInt<2>[3] - T_166226[0] := UInt<2>(1) - T_166226[1] := UInt<2>(2) - T_166226[2] := UInt<2>(3) - wire T_166227 : UInt<2>[2] - T_166227[0] := UInt<2>(2) - T_166227[1] := UInt<2>(3) - wire T_166228 : UInt<2>[1] - T_166228[0] := UInt<2>(3) - wire T_166229 : UInt<3>[3] - T_166229[0] := UInt<3>(0) - T_166229[1] := UInt<3>(1) - T_166229[2] := UInt<3>(2) - wire T_166230 : UInt<2>[2] - T_166230[0] := UInt<2>(0) - T_166230[1] := UInt<2>(1) - wire T_166231 : UInt<2>[3] - T_166231[0] := UInt<2>(1) - T_166231[1] := UInt<2>(2) - T_166231[2] := UInt<2>(3) - wire T_166232 : UInt<2>[2] - T_166232[0] := UInt<2>(2) - T_166232[1] := UInt<2>(3) - wire T_166233 : UInt<2>[1] - T_166233[0] := UInt<2>(3) - wire T_166234 : UInt<3>[3] - T_166234[0] := UInt<3>(0) - T_166234[1] := UInt<3>(1) - T_166234[2] := UInt<3>(2) - wire T_166235 : UInt<2>[2] - T_166235[0] := UInt<2>(0) - T_166235[1] := UInt<2>(1) - wire T_166236 : UInt<2>[3] - T_166236[0] := UInt<2>(1) - T_166236[1] := UInt<2>(2) - T_166236[2] := UInt<2>(3) - wire T_166237 : UInt<2>[2] - T_166237[0] := UInt<2>(2) - T_166237[1] := UInt<2>(3) - wire T_166238 : UInt<2>[1] - T_166238[0] := UInt<2>(3) - wire T_166239 : UInt<3>[3] - T_166239[0] := UInt<3>(0) - T_166239[1] := UInt<3>(1) - T_166239[2] := UInt<3>(2) - wire T_166240 : UInt<2>[2] - T_166240[0] := UInt<2>(0) - T_166240[1] := UInt<2>(1) - wire T_166241 : UInt<2>[3] - T_166241[0] := UInt<2>(1) - T_166241[1] := UInt<2>(2) - T_166241[2] := UInt<2>(3) - wire T_166242 : UInt<2>[2] - T_166242[0] := UInt<2>(2) - T_166242[1] := UInt<2>(3) - wire T_166243 : UInt<2>[1] - T_166243[0] := UInt<2>(3) - wire T_166244 : UInt<3>[3] - T_166244[0] := UInt<3>(0) - T_166244[1] := UInt<3>(1) - T_166244[2] := UInt<3>(2) - wire T_166245 : UInt<2>[2] - T_166245[0] := UInt<2>(0) - T_166245[1] := UInt<2>(1) - wire T_166246 : UInt<2>[3] - T_166246[0] := UInt<2>(1) - T_166246[1] := UInt<2>(2) - T_166246[2] := UInt<2>(3) - wire T_166247 : UInt<2>[2] - T_166247[0] := UInt<2>(2) - T_166247[1] := UInt<2>(3) - wire T_166248 : UInt<2>[1] - T_166248[0] := UInt<2>(3) - wire T_166249 : UInt<3>[3] - T_166249[0] := UInt<3>(0) - T_166249[1] := UInt<3>(1) - T_166249[2] := UInt<3>(2) - wire T_166250 : UInt<2>[2] - T_166250[0] := UInt<2>(0) - T_166250[1] := UInt<2>(1) - wire T_166251 : UInt<2>[3] - T_166251[0] := UInt<2>(1) - T_166251[1] := UInt<2>(2) - T_166251[2] := UInt<2>(3) - wire T_166252 : UInt<2>[2] - T_166252[0] := UInt<2>(2) - T_166252[1] := UInt<2>(3) - wire T_166253 : UInt<2>[1] - T_166253[0] := UInt<2>(3) - wire T_166254 : UInt<3>[3] - T_166254[0] := UInt<3>(0) - T_166254[1] := UInt<3>(1) - T_166254[2] := UInt<3>(2) - wire T_166255 : UInt<2>[2] - T_166255[0] := UInt<2>(0) - T_166255[1] := UInt<2>(1) - wire T_166256 : UInt<2>[3] - T_166256[0] := UInt<2>(1) - T_166256[1] := UInt<2>(2) - T_166256[2] := UInt<2>(3) - wire T_166257 : UInt<2>[2] - T_166257[0] := UInt<2>(2) - T_166257[1] := UInt<2>(3) - wire T_166258 : UInt<2>[1] - T_166258[0] := UInt<2>(3) - wire T_166259 : UInt<3>[3] - T_166259[0] := UInt<3>(0) - T_166259[1] := UInt<3>(1) - T_166259[2] := UInt<3>(2) - wire T_166260 : UInt<2>[2] - T_166260[0] := UInt<2>(0) - T_166260[1] := UInt<2>(1) - wire T_166261 : UInt<2>[3] - T_166261[0] := UInt<2>(1) - T_166261[1] := UInt<2>(2) - T_166261[2] := UInt<2>(3) - wire T_166262 : UInt<2>[2] - T_166262[0] := UInt<2>(2) - T_166262[1] := UInt<2>(3) - wire T_166263 : UInt<2>[1] - T_166263[0] := UInt<2>(3) - wire T_166264 : UInt<3>[3] - T_166264[0] := UInt<3>(0) - T_166264[1] := UInt<3>(1) - T_166264[2] := UInt<3>(2) - wire T_166265 : UInt<2>[2] - T_166265[0] := UInt<2>(0) - T_166265[1] := UInt<2>(1) - wire T_166266 : UInt<2>[3] - T_166266[0] := UInt<2>(1) - T_166266[1] := UInt<2>(2) - T_166266[2] := UInt<2>(3) - wire T_166267 : UInt<2>[2] - T_166267[0] := UInt<2>(2) - T_166267[1] := UInt<2>(3) - wire T_166268 : UInt<2>[1] - T_166268[0] := UInt<2>(3) - wire T_166269 : UInt<3>[3] - T_166269[0] := UInt<3>(0) - T_166269[1] := UInt<3>(1) - T_166269[2] := UInt<3>(2) - wire T_166270 : UInt<2>[2] - T_166270[0] := UInt<2>(0) - T_166270[1] := UInt<2>(1) - wire T_166271 : UInt<2>[3] - T_166271[0] := UInt<2>(1) - T_166271[1] := UInt<2>(2) - T_166271[2] := UInt<2>(3) - wire T_166272 : UInt<2>[2] - T_166272[0] := UInt<2>(2) - T_166272[1] := UInt<2>(3) - wire T_166273 : UInt<2>[1] - T_166273[0] := UInt<2>(3) - wire T_166274 : UInt<3>[3] - T_166274[0] := UInt<3>(0) - T_166274[1] := UInt<3>(1) - T_166274[2] := UInt<3>(2) - wire T_166275 : UInt<2>[2] - T_166275[0] := UInt<2>(0) - T_166275[1] := UInt<2>(1) - wire T_166276 : UInt<2>[3] - T_166276[0] := UInt<2>(1) - T_166276[1] := UInt<2>(2) - T_166276[2] := UInt<2>(3) - wire T_166277 : UInt<2>[2] - T_166277[0] := UInt<2>(2) - T_166277[1] := UInt<2>(3) - wire T_166278 : UInt<2>[1] - T_166278[0] := UInt<2>(3) - wire T_166279 : UInt<3>[3] - T_166279[0] := UInt<3>(0) - T_166279[1] := UInt<3>(1) - T_166279[2] := UInt<3>(2) - wire T_166280 : UInt<2>[2] - T_166280[0] := UInt<2>(0) - T_166280[1] := UInt<2>(1) - wire T_166281 : UInt<2>[3] - T_166281[0] := UInt<2>(1) - T_166281[1] := UInt<2>(2) - T_166281[2] := UInt<2>(3) - wire T_166282 : UInt<2>[2] - T_166282[0] := UInt<2>(2) - T_166282[1] := UInt<2>(3) - wire T_166283 : UInt<2>[1] - T_166283[0] := UInt<2>(3) - inst finisher of FinishUnit - finisher.grant <> network.grant - network.finish <> finisher.finish - wire T_166284 : UInt<3>[3] - T_166284[0] := UInt<3>(0) - T_166284[1] := UInt<3>(1) - T_166284[2] := UInt<3>(2) - wire T_166285 : UInt<2>[2] - T_166285[0] := UInt<2>(0) - T_166285[1] := UInt<2>(1) - wire T_166286 : UInt<2>[3] - T_166286[0] := UInt<2>(1) - T_166286[1] := UInt<2>(2) - T_166286[2] := UInt<2>(3) - wire T_166287 : UInt<2>[2] - T_166287[0] := UInt<2>(2) - T_166287[1] := UInt<2>(3) - wire T_166288 : UInt<2>[1] - T_166288[0] := UInt<2>(3) - wire T_166289 : UInt<3>[3] - T_166289[0] := UInt<3>(0) - T_166289[1] := UInt<3>(1) - T_166289[2] := UInt<3>(2) - wire T_166290 : UInt<2>[2] - T_166290[0] := UInt<2>(0) - T_166290[1] := UInt<2>(1) - wire T_166291 : UInt<2>[3] - T_166291[0] := UInt<2>(1) - T_166291[1] := UInt<2>(2) - T_166291[2] := UInt<2>(3) - wire T_166292 : UInt<2>[2] - T_166292[0] := UInt<2>(2) - T_166292[1] := UInt<2>(3) - wire T_166293 : UInt<2>[1] - T_166293[0] := UInt<2>(3) - wire T_166294 : UInt<3>[3] - T_166294[0] := UInt<3>(0) - T_166294[1] := UInt<3>(1) - T_166294[2] := UInt<3>(2) - wire T_166295 : UInt<2>[2] - T_166295[0] := UInt<2>(0) - T_166295[1] := UInt<2>(1) - wire T_166296 : UInt<2>[3] - T_166296[0] := UInt<2>(1) - T_166296[1] := UInt<2>(2) - T_166296[2] := UInt<2>(3) - wire T_166297 : UInt<2>[2] - T_166297[0] := UInt<2>(2) - T_166297[1] := UInt<2>(3) - wire T_166298 : UInt<2>[1] - T_166298[0] := UInt<2>(3) - wire acq_with_header : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}} - acq_with_header.bits.payload := client.acquire.bits - acq_with_header.bits.header.src := UInt<1>(0) - acq_with_header.bits.header.dst := UInt<1>(0) - acq_with_header.valid := client.acquire.valid - client.acquire.ready := acq_with_header.ready - wire T_166299 : UInt<3>[3] - T_166299[0] := UInt<3>(0) - T_166299[1] := UInt<3>(1) - T_166299[2] := UInt<3>(2) - wire T_166300 : UInt<2>[2] - T_166300[0] := UInt<2>(0) - T_166300[1] := UInt<2>(1) - wire T_166301 : UInt<2>[3] - T_166301[0] := UInt<2>(1) - T_166301[1] := UInt<2>(2) - T_166301[2] := UInt<2>(3) - wire T_166302 : UInt<2>[2] - T_166302[0] := UInt<2>(2) - T_166302[1] := UInt<2>(3) - wire T_166303 : UInt<2>[1] - T_166303[0] := UInt<2>(3) - wire T_166304 : UInt<3>[3] - T_166304[0] := UInt<3>(0) - T_166304[1] := UInt<3>(1) - T_166304[2] := UInt<3>(2) - wire T_166305 : UInt<2>[2] - T_166305[0] := UInt<2>(0) - T_166305[1] := UInt<2>(1) - wire T_166306 : UInt<2>[3] - T_166306[0] := UInt<2>(1) - T_166306[1] := UInt<2>(2) - T_166306[2] := UInt<2>(3) - wire T_166307 : UInt<2>[2] - T_166307[0] := UInt<2>(2) - T_166307[1] := UInt<2>(3) - wire T_166308 : UInt<2>[1] - T_166308[0] := UInt<2>(3) - wire T_166309 : UInt<3>[3] - T_166309[0] := UInt<3>(0) - T_166309[1] := UInt<3>(1) - T_166309[2] := UInt<3>(2) - wire T_166310 : UInt<2>[2] - T_166310[0] := UInt<2>(0) - T_166310[1] := UInt<2>(1) - wire T_166311 : UInt<2>[3] - T_166311[0] := UInt<2>(1) - T_166311[1] := UInt<2>(2) - T_166311[2] := UInt<2>(3) - wire T_166312 : UInt<2>[2] - T_166312[0] := UInt<2>(2) - T_166312[1] := UInt<2>(3) - wire T_166313 : UInt<2>[1] - T_166313[0] := UInt<2>(3) - wire rel_with_header : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}} - rel_with_header.bits.payload := client.release.bits - rel_with_header.bits.header.src := UInt<1>(0) - rel_with_header.bits.header.dst := UInt<1>(0) - rel_with_header.valid := client.release.valid - client.release.ready := rel_with_header.ready - wire T_166314 : UInt<3>[3] - T_166314[0] := UInt<3>(0) - T_166314[1] := UInt<3>(1) - T_166314[2] := UInt<3>(2) - wire T_166315 : UInt<2>[2] - T_166315[0] := UInt<2>(0) - T_166315[1] := UInt<2>(1) - wire T_166316 : UInt<2>[3] - T_166316[0] := UInt<2>(1) - T_166316[1] := UInt<2>(2) - T_166316[2] := UInt<2>(3) - wire T_166317 : UInt<2>[2] - T_166317[0] := UInt<2>(2) - T_166317[1] := UInt<2>(3) - wire T_166318 : UInt<2>[1] - T_166318[0] := UInt<2>(3) - wire T_166319 : UInt<3>[3] - T_166319[0] := UInt<3>(0) - T_166319[1] := UInt<3>(1) - T_166319[2] := UInt<3>(2) - wire T_166320 : UInt<2>[2] - T_166320[0] := UInt<2>(0) - T_166320[1] := UInt<2>(1) - wire T_166321 : UInt<2>[3] - T_166321[0] := UInt<2>(1) - T_166321[1] := UInt<2>(2) - T_166321[2] := UInt<2>(3) - wire T_166322 : UInt<2>[2] - T_166322[0] := UInt<2>(2) - T_166322[1] := UInt<2>(3) - wire T_166323 : UInt<2>[1] - T_166323[0] := UInt<2>(3) - wire prb_without_header : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>}} - prb_without_header.valid := network.probe.valid - prb_without_header.bits := network.probe.bits.payload - network.probe.ready := prb_without_header.ready - network.acquire.bits := acq_with_header.bits - node T_166324 = and(acq_with_header.valid, finisher.ready) - network.acquire.valid := T_166324 - node T_166325 = and(network.acquire.ready, finisher.ready) - acq_with_header.ready := T_166325 - network.release <> rel_with_header - client.probe <> prb_without_header - client.grant <> finisher.refill - module Queue : - input enq : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}} - output deq : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}} - output count : UInt<2> - - wire T_166326 : UInt<3>[3] - T_166326[0] := UInt<3>(0) - T_166326[1] := UInt<3>(1) - T_166326[2] := UInt<3>(2) - wire T_166327 : UInt<2>[2] - T_166327[0] := UInt<2>(0) - T_166327[1] := UInt<2>(1) - wire T_166328 : UInt<2>[3] - T_166328[0] := UInt<2>(1) - T_166328[1] := UInt<2>(2) - T_166328[2] := UInt<2>(3) - wire T_166329 : UInt<2>[2] - T_166329[0] := UInt<2>(2) - T_166329[1] := UInt<2>(3) - wire T_166330 : UInt<2>[1] - T_166330[0] := UInt<2>(3) - wire T_166331 : UInt<3>[3] - T_166331[0] := UInt<3>(0) - T_166331[1] := UInt<3>(1) - T_166331[2] := UInt<3>(2) - wire T_166332 : UInt<2>[2] - T_166332[0] := UInt<2>(0) - T_166332[1] := UInt<2>(1) - wire T_166333 : UInt<2>[3] - T_166333[0] := UInt<2>(1) - T_166333[1] := UInt<2>(2) - T_166333[2] := UInt<2>(3) - wire T_166334 : UInt<2>[2] - T_166334[0] := UInt<2>(2) - T_166334[1] := UInt<2>(3) - wire T_166335 : UInt<2>[1] - T_166335[0] := UInt<2>(3) - wire T_166336 : UInt<3>[3] - T_166336[0] := UInt<3>(0) - T_166336[1] := UInt<3>(1) - T_166336[2] := UInt<3>(2) - wire T_166337 : UInt<2>[2] - T_166337[0] := UInt<2>(0) - T_166337[1] := UInt<2>(1) - wire T_166338 : UInt<2>[3] - T_166338[0] := UInt<2>(1) - T_166338[1] := UInt<2>(2) - T_166338[2] := UInt<2>(3) - wire T_166339 : UInt<2>[2] - T_166339[0] := UInt<2>(2) - T_166339[1] := UInt<2>(3) - wire T_166340 : UInt<2>[1] - T_166340[0] := UInt<2>(3) - wire T_166341 : UInt<3>[3] - T_166341[0] := UInt<3>(0) - T_166341[1] := UInt<3>(1) - T_166341[2] := UInt<3>(2) - wire T_166342 : UInt<2>[2] - T_166342[0] := UInt<2>(0) - T_166342[1] := UInt<2>(1) - wire T_166343 : UInt<2>[3] - T_166343[0] := UInt<2>(1) - T_166343[1] := UInt<2>(2) - T_166343[2] := UInt<2>(3) - wire T_166344 : UInt<2>[2] - T_166344[0] := UInt<2>(2) - T_166344[1] := UInt<2>(3) - wire T_166345 : UInt<2>[1] - T_166345[0] := UInt<2>(3) - wire T_166346 : UInt<3>[3] - T_166346[0] := UInt<3>(0) - T_166346[1] := UInt<3>(1) - T_166346[2] := UInt<3>(2) - wire T_166347 : UInt<2>[2] - T_166347[0] := UInt<2>(0) - T_166347[1] := UInt<2>(1) - wire T_166348 : UInt<2>[3] - T_166348[0] := UInt<2>(1) - T_166348[1] := UInt<2>(2) - T_166348[2] := UInt<2>(3) - wire T_166349 : UInt<2>[2] - T_166349[0] := UInt<2>(2) - T_166349[1] := UInt<2>(3) - wire T_166350 : UInt<2>[1] - T_166350[0] := UInt<2>(3) - cmem ram : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}[2] - reg T_166351 : UInt<1> - onreset T_166351 := UInt<1>(0) - reg T_166352 : UInt<1> - onreset T_166352 := UInt<1>(0) - reg maybe_full : UInt<1> - onreset maybe_full := UInt<1>(0) - node ptr_match = eq(T_166351, T_166352) - node T_166353 = eq(maybe_full, UInt<1>(0)) - node empty = and(ptr_match, T_166353) - node full = and(ptr_match, maybe_full) - node maybe_flow = and(UInt<1>(0), empty) - node do_flow = and(maybe_flow, deq.ready) - node T_166354 = and(enq.ready, enq.valid) - node T_166355 = eq(do_flow, UInt<1>(0)) - node do_enq = and(T_166354, T_166355) - node T_166356 = and(deq.ready, deq.valid) - node T_166357 = eq(do_flow, UInt<1>(0)) - node do_deq = and(T_166356, T_166357) - when do_enq : - wire T_166358 : UInt<3>[3] - T_166358[0] := UInt<3>(0) - T_166358[1] := UInt<3>(1) - T_166358[2] := UInt<3>(2) - wire T_166359 : UInt<2>[2] - T_166359[0] := UInt<2>(0) - T_166359[1] := UInt<2>(1) - wire T_166360 : UInt<2>[3] - T_166360[0] := UInt<2>(1) - T_166360[1] := UInt<2>(2) - T_166360[2] := UInt<2>(3) - wire T_166361 : UInt<2>[2] - T_166361[0] := UInt<2>(2) - T_166361[1] := UInt<2>(3) - wire T_166362 : UInt<2>[1] - T_166362[0] := UInt<2>(3) - accessor T_166363 = ram[T_166351] - T_166363 := enq.bits - node T_166364 = eq(T_166351, UInt<1>(1)) - node T_166365 = and(UInt<1>(0), T_166364) - node T_166366 = addw(T_166351, UInt<1>(1)) - wire T_166367 : UInt<1> - T_166367 := T_166366 - when T_166365 : T_166367 := UInt<1>(0) - T_166351 := T_166367 - when do_deq : - node T_166368 = eq(T_166352, UInt<1>(1)) - node T_166369 = and(UInt<1>(0), T_166368) - node T_166370 = addw(T_166352, UInt<1>(1)) - wire T_166371 : UInt<1> - T_166371 := T_166370 - when T_166369 : T_166371 := UInt<1>(0) - T_166352 := T_166371 - - node T_166372 = neq(do_enq, do_deq) - when T_166372 : maybe_full := do_enq - node T_166373 = eq(empty, UInt<1>(0)) - node T_166374 = and(UInt<1>(0), enq.valid) - node T_166375 = or(T_166373, T_166374) - deq.valid := T_166375 - node T_166376 = eq(full, UInt<1>(0)) - node T_166377 = and(UInt<1>(0), deq.ready) - node T_166378 = or(T_166376, T_166377) - enq.ready := T_166378 - wire T_166379 : UInt<3>[3] - T_166379[0] := UInt<3>(0) - T_166379[1] := UInt<3>(1) - T_166379[2] := UInt<3>(2) - wire T_166380 : UInt<2>[2] - T_166380[0] := UInt<2>(0) - T_166380[1] := UInt<2>(1) - wire T_166381 : UInt<2>[3] - T_166381[0] := UInt<2>(1) - T_166381[1] := UInt<2>(2) - T_166381[2] := UInt<2>(3) - wire T_166382 : UInt<2>[2] - T_166382[0] := UInt<2>(2) - T_166382[1] := UInt<2>(3) - wire T_166383 : UInt<2>[1] - T_166383[0] := UInt<2>(3) - accessor T_166384 = ram[T_166352] - wire T_166385 : UInt<3>[3] - T_166385[0] := UInt<3>(0) - T_166385[1] := UInt<3>(1) - T_166385[2] := UInt<3>(2) - wire T_166386 : UInt<2>[2] - T_166386[0] := UInt<2>(0) - T_166386[1] := UInt<2>(1) - wire T_166387 : UInt<2>[3] - T_166387[0] := UInt<2>(1) - T_166387[1] := UInt<2>(2) - T_166387[2] := UInt<2>(3) - wire T_166388 : UInt<2>[2] - T_166388[0] := UInt<2>(2) - T_166388[1] := UInt<2>(3) - wire T_166389 : UInt<2>[1] - T_166389[0] := UInt<2>(3) - wire T_166390 : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}} - T_166390 := T_166384 - when maybe_flow : T_166390 := enq.bits - deq.bits := T_166390 - node ptr_diff = subw(T_166351, T_166352) - node T_166391 = and(maybe_full, ptr_match) - node T_166392 = cat(T_166391, ptr_diff) - count := T_166392 - module Queue_20089 : - input enq : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, p_type : UInt<2>}}} - output deq : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, p_type : UInt<2>}}} - output count : UInt<2> - - wire T_166393 : UInt<3>[3] - T_166393[0] := UInt<3>(0) - T_166393[1] := UInt<3>(1) - T_166393[2] := UInt<3>(2) - wire T_166394 : UInt<2>[2] - T_166394[0] := UInt<2>(0) - T_166394[1] := UInt<2>(1) - wire T_166395 : UInt<2>[3] - T_166395[0] := UInt<2>(1) - T_166395[1] := UInt<2>(2) - T_166395[2] := UInt<2>(3) - wire T_166396 : UInt<2>[2] - T_166396[0] := UInt<2>(2) - T_166396[1] := UInt<2>(3) - wire T_166397 : UInt<2>[1] - T_166397[0] := UInt<2>(3) - wire T_166398 : UInt<3>[3] - T_166398[0] := UInt<3>(0) - T_166398[1] := UInt<3>(1) - T_166398[2] := UInt<3>(2) - wire T_166399 : UInt<2>[2] - T_166399[0] := UInt<2>(0) - T_166399[1] := UInt<2>(1) - wire T_166400 : UInt<2>[3] - T_166400[0] := UInt<2>(1) - T_166400[1] := UInt<2>(2) - T_166400[2] := UInt<2>(3) - wire T_166401 : UInt<2>[2] - T_166401[0] := UInt<2>(2) - T_166401[1] := UInt<2>(3) - wire T_166402 : UInt<2>[1] - T_166402[0] := UInt<2>(3) - wire T_166403 : UInt<3>[3] - T_166403[0] := UInt<3>(0) - T_166403[1] := UInt<3>(1) - T_166403[2] := UInt<3>(2) - wire T_166404 : UInt<2>[2] - T_166404[0] := UInt<2>(0) - T_166404[1] := UInt<2>(1) - wire T_166405 : UInt<2>[3] - T_166405[0] := UInt<2>(1) - T_166405[1] := UInt<2>(2) - T_166405[2] := UInt<2>(3) - wire T_166406 : UInt<2>[2] - T_166406[0] := UInt<2>(2) - T_166406[1] := UInt<2>(3) - wire T_166407 : UInt<2>[1] - T_166407[0] := UInt<2>(3) - wire T_166408 : UInt<3>[3] - T_166408[0] := UInt<3>(0) - T_166408[1] := UInt<3>(1) - T_166408[2] := UInt<3>(2) - wire T_166409 : UInt<2>[2] - T_166409[0] := UInt<2>(0) - T_166409[1] := UInt<2>(1) - wire T_166410 : UInt<2>[3] - T_166410[0] := UInt<2>(1) - T_166410[1] := UInt<2>(2) - T_166410[2] := UInt<2>(3) - wire T_166411 : UInt<2>[2] - T_166411[0] := UInt<2>(2) - T_166411[1] := UInt<2>(3) - wire T_166412 : UInt<2>[1] - T_166412[0] := UInt<2>(3) - wire T_166413 : UInt<3>[3] - T_166413[0] := UInt<3>(0) - T_166413[1] := UInt<3>(1) - T_166413[2] := UInt<3>(2) - wire T_166414 : UInt<2>[2] - T_166414[0] := UInt<2>(0) - T_166414[1] := UInt<2>(1) - wire T_166415 : UInt<2>[3] - T_166415[0] := UInt<2>(1) - T_166415[1] := UInt<2>(2) - T_166415[2] := UInt<2>(3) - wire T_166416 : UInt<2>[2] - T_166416[0] := UInt<2>(2) - T_166416[1] := UInt<2>(3) - wire T_166417 : UInt<2>[1] - T_166417[0] := UInt<2>(3) - cmem ram : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, p_type : UInt<2>}}[2] - reg T_166418 : UInt<1> - onreset T_166418 := UInt<1>(0) - reg T_166419 : UInt<1> - onreset T_166419 := UInt<1>(0) - reg maybe_full : UInt<1> - onreset maybe_full := UInt<1>(0) - node ptr_match = eq(T_166418, T_166419) - node T_166420 = eq(maybe_full, UInt<1>(0)) - node empty = and(ptr_match, T_166420) - node full = and(ptr_match, maybe_full) - node maybe_flow = and(UInt<1>(0), empty) - node do_flow = and(maybe_flow, deq.ready) - node T_166421 = and(enq.ready, enq.valid) - node T_166422 = eq(do_flow, UInt<1>(0)) - node do_enq = and(T_166421, T_166422) - node T_166423 = and(deq.ready, deq.valid) - node T_166424 = eq(do_flow, UInt<1>(0)) - node do_deq = and(T_166423, T_166424) - when do_enq : - wire T_166425 : UInt<3>[3] - T_166425[0] := UInt<3>(0) - T_166425[1] := UInt<3>(1) - T_166425[2] := UInt<3>(2) - wire T_166426 : UInt<2>[2] - T_166426[0] := UInt<2>(0) - T_166426[1] := UInt<2>(1) - wire T_166427 : UInt<2>[3] - T_166427[0] := UInt<2>(1) - T_166427[1] := UInt<2>(2) - T_166427[2] := UInt<2>(3) - wire T_166428 : UInt<2>[2] - T_166428[0] := UInt<2>(2) - T_166428[1] := UInt<2>(3) - wire T_166429 : UInt<2>[1] - T_166429[0] := UInt<2>(3) - accessor T_166430 = ram[T_166418] - T_166430 := enq.bits - node T_166431 = eq(T_166418, UInt<1>(1)) - node T_166432 = and(UInt<1>(0), T_166431) - node T_166433 = addw(T_166418, UInt<1>(1)) - wire T_166434 : UInt<1> - T_166434 := T_166433 - when T_166432 : T_166434 := UInt<1>(0) - T_166418 := T_166434 - when do_deq : - node T_166435 = eq(T_166419, UInt<1>(1)) - node T_166436 = and(UInt<1>(0), T_166435) - node T_166437 = addw(T_166419, UInt<1>(1)) - wire T_166438 : UInt<1> - T_166438 := T_166437 - when T_166436 : T_166438 := UInt<1>(0) - T_166419 := T_166438 - - node T_166439 = neq(do_enq, do_deq) - when T_166439 : maybe_full := do_enq - node T_166440 = eq(empty, UInt<1>(0)) - node T_166441 = and(UInt<1>(0), enq.valid) - node T_166442 = or(T_166440, T_166441) - deq.valid := T_166442 - node T_166443 = eq(full, UInt<1>(0)) - node T_166444 = and(UInt<1>(0), deq.ready) - node T_166445 = or(T_166443, T_166444) - enq.ready := T_166445 - wire T_166446 : UInt<3>[3] - T_166446[0] := UInt<3>(0) - T_166446[1] := UInt<3>(1) - T_166446[2] := UInt<3>(2) - wire T_166447 : UInt<2>[2] - T_166447[0] := UInt<2>(0) - T_166447[1] := UInt<2>(1) - wire T_166448 : UInt<2>[3] - T_166448[0] := UInt<2>(1) - T_166448[1] := UInt<2>(2) - T_166448[2] := UInt<2>(3) - wire T_166449 : UInt<2>[2] - T_166449[0] := UInt<2>(2) - T_166449[1] := UInt<2>(3) - wire T_166450 : UInt<2>[1] - T_166450[0] := UInt<2>(3) - accessor T_166451 = ram[T_166419] - wire T_166452 : UInt<3>[3] - T_166452[0] := UInt<3>(0) - T_166452[1] := UInt<3>(1) - T_166452[2] := UInt<3>(2) - wire T_166453 : UInt<2>[2] - T_166453[0] := UInt<2>(0) - T_166453[1] := UInt<2>(1) - wire T_166454 : UInt<2>[3] - T_166454[0] := UInt<2>(1) - T_166454[1] := UInt<2>(2) - T_166454[2] := UInt<2>(3) - wire T_166455 : UInt<2>[2] - T_166455[0] := UInt<2>(2) - T_166455[1] := UInt<2>(3) - wire T_166456 : UInt<2>[1] - T_166456[0] := UInt<2>(3) - wire T_166457 : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, p_type : UInt<2>}} - T_166457 := T_166451 - when maybe_flow : T_166457 := enq.bits - deq.bits := T_166457 - node ptr_diff = subw(T_166418, T_166419) - node T_166458 = and(maybe_full, ptr_match) - node T_166459 = cat(T_166458, ptr_diff) - count := T_166459 - module Queue_20764 : - input enq : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}} - output deq : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}} - output count : UInt<2> - - wire T_166460 : UInt<3>[3] - T_166460[0] := UInt<3>(0) - T_166460[1] := UInt<3>(1) - T_166460[2] := UInt<3>(2) - wire T_166461 : UInt<2>[2] - T_166461[0] := UInt<2>(0) - T_166461[1] := UInt<2>(1) - wire T_166462 : UInt<2>[3] - T_166462[0] := UInt<2>(1) - T_166462[1] := UInt<2>(2) - T_166462[2] := UInt<2>(3) - wire T_166463 : UInt<2>[2] - T_166463[0] := UInt<2>(2) - T_166463[1] := UInt<2>(3) - wire T_166464 : UInt<2>[1] - T_166464[0] := UInt<2>(3) - wire T_166465 : UInt<3>[3] - T_166465[0] := UInt<3>(0) - T_166465[1] := UInt<3>(1) - T_166465[2] := UInt<3>(2) - wire T_166466 : UInt<2>[2] - T_166466[0] := UInt<2>(0) - T_166466[1] := UInt<2>(1) - wire T_166467 : UInt<2>[3] - T_166467[0] := UInt<2>(1) - T_166467[1] := UInt<2>(2) - T_166467[2] := UInt<2>(3) - wire T_166468 : UInt<2>[2] - T_166468[0] := UInt<2>(2) - T_166468[1] := UInt<2>(3) - wire T_166469 : UInt<2>[1] - T_166469[0] := UInt<2>(3) - wire T_166470 : UInt<3>[3] - T_166470[0] := UInt<3>(0) - T_166470[1] := UInt<3>(1) - T_166470[2] := UInt<3>(2) - wire T_166471 : UInt<2>[2] - T_166471[0] := UInt<2>(0) - T_166471[1] := UInt<2>(1) - wire T_166472 : UInt<2>[3] - T_166472[0] := UInt<2>(1) - T_166472[1] := UInt<2>(2) - T_166472[2] := UInt<2>(3) - wire T_166473 : UInt<2>[2] - T_166473[0] := UInt<2>(2) - T_166473[1] := UInt<2>(3) - wire T_166474 : UInt<2>[1] - T_166474[0] := UInt<2>(3) - wire T_166475 : UInt<3>[3] - T_166475[0] := UInt<3>(0) - T_166475[1] := UInt<3>(1) - T_166475[2] := UInt<3>(2) - wire T_166476 : UInt<2>[2] - T_166476[0] := UInt<2>(0) - T_166476[1] := UInt<2>(1) - wire T_166477 : UInt<2>[3] - T_166477[0] := UInt<2>(1) - T_166477[1] := UInt<2>(2) - T_166477[2] := UInt<2>(3) - wire T_166478 : UInt<2>[2] - T_166478[0] := UInt<2>(2) - T_166478[1] := UInt<2>(3) - wire T_166479 : UInt<2>[1] - T_166479[0] := UInt<2>(3) - wire T_166480 : UInt<3>[3] - T_166480[0] := UInt<3>(0) - T_166480[1] := UInt<3>(1) - T_166480[2] := UInt<3>(2) - wire T_166481 : UInt<2>[2] - T_166481[0] := UInt<2>(0) - T_166481[1] := UInt<2>(1) - wire T_166482 : UInt<2>[3] - T_166482[0] := UInt<2>(1) - T_166482[1] := UInt<2>(2) - T_166482[2] := UInt<2>(3) - wire T_166483 : UInt<2>[2] - T_166483[0] := UInt<2>(2) - T_166483[1] := UInt<2>(3) - wire T_166484 : UInt<2>[1] - T_166484[0] := UInt<2>(3) - cmem ram : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}[2] - reg T_166485 : UInt<1> - onreset T_166485 := UInt<1>(0) - reg T_166486 : UInt<1> - onreset T_166486 := UInt<1>(0) - reg maybe_full : UInt<1> - onreset maybe_full := UInt<1>(0) - node ptr_match = eq(T_166485, T_166486) - node T_166487 = eq(maybe_full, UInt<1>(0)) - node empty = and(ptr_match, T_166487) - node full = and(ptr_match, maybe_full) - node maybe_flow = and(UInt<1>(0), empty) - node do_flow = and(maybe_flow, deq.ready) - node T_166488 = and(enq.ready, enq.valid) - node T_166489 = eq(do_flow, UInt<1>(0)) - node do_enq = and(T_166488, T_166489) - node T_166490 = and(deq.ready, deq.valid) - node T_166491 = eq(do_flow, UInt<1>(0)) - node do_deq = and(T_166490, T_166491) - when do_enq : - wire T_166492 : UInt<3>[3] - T_166492[0] := UInt<3>(0) - T_166492[1] := UInt<3>(1) - T_166492[2] := UInt<3>(2) - wire T_166493 : UInt<2>[2] - T_166493[0] := UInt<2>(0) - T_166493[1] := UInt<2>(1) - wire T_166494 : UInt<2>[3] - T_166494[0] := UInt<2>(1) - T_166494[1] := UInt<2>(2) - T_166494[2] := UInt<2>(3) - wire T_166495 : UInt<2>[2] - T_166495[0] := UInt<2>(2) - T_166495[1] := UInt<2>(3) - wire T_166496 : UInt<2>[1] - T_166496[0] := UInt<2>(3) - accessor T_166497 = ram[T_166485] - T_166497 := enq.bits - node T_166498 = eq(T_166485, UInt<1>(1)) - node T_166499 = and(UInt<1>(0), T_166498) - node T_166500 = addw(T_166485, UInt<1>(1)) - wire T_166501 : UInt<1> - T_166501 := T_166500 - when T_166499 : T_166501 := UInt<1>(0) - T_166485 := T_166501 - when do_deq : - node T_166502 = eq(T_166486, UInt<1>(1)) - node T_166503 = and(UInt<1>(0), T_166502) - node T_166504 = addw(T_166486, UInt<1>(1)) - wire T_166505 : UInt<1> - T_166505 := T_166504 - when T_166503 : T_166505 := UInt<1>(0) - T_166486 := T_166505 - - node T_166506 = neq(do_enq, do_deq) - when T_166506 : maybe_full := do_enq - node T_166507 = eq(empty, UInt<1>(0)) - node T_166508 = and(UInt<1>(0), enq.valid) - node T_166509 = or(T_166507, T_166508) - deq.valid := T_166509 - node T_166510 = eq(full, UInt<1>(0)) - node T_166511 = and(UInt<1>(0), deq.ready) - node T_166512 = or(T_166510, T_166511) - enq.ready := T_166512 - wire T_166513 : UInt<3>[3] - T_166513[0] := UInt<3>(0) - T_166513[1] := UInt<3>(1) - T_166513[2] := UInt<3>(2) - wire T_166514 : UInt<2>[2] - T_166514[0] := UInt<2>(0) - T_166514[1] := UInt<2>(1) - wire T_166515 : UInt<2>[3] - T_166515[0] := UInt<2>(1) - T_166515[1] := UInt<2>(2) - T_166515[2] := UInt<2>(3) - wire T_166516 : UInt<2>[2] - T_166516[0] := UInt<2>(2) - T_166516[1] := UInt<2>(3) - wire T_166517 : UInt<2>[1] - T_166517[0] := UInt<2>(3) - accessor T_166518 = ram[T_166486] - wire T_166519 : UInt<3>[3] - T_166519[0] := UInt<3>(0) - T_166519[1] := UInt<3>(1) - T_166519[2] := UInt<3>(2) - wire T_166520 : UInt<2>[2] - T_166520[0] := UInt<2>(0) - T_166520[1] := UInt<2>(1) - wire T_166521 : UInt<2>[3] - T_166521[0] := UInt<2>(1) - T_166521[1] := UInt<2>(2) - T_166521[2] := UInt<2>(3) - wire T_166522 : UInt<2>[2] - T_166522[0] := UInt<2>(2) - T_166522[1] := UInt<2>(3) - wire T_166523 : UInt<2>[1] - T_166523[0] := UInt<2>(3) - wire T_166524 : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}} - T_166524 := T_166518 - when maybe_flow : T_166524 := enq.bits - deq.bits := T_166524 - node ptr_diff = subw(T_166485, T_166486) - node T_166525 = and(maybe_full, ptr_match) - node T_166526 = cat(T_166525, ptr_diff) - count := T_166526 - module Queue_21439 : - input enq : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}} - output deq : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}} - output count : UInt<2> - - wire T_166527 : UInt<3>[3] - T_166527[0] := UInt<3>(0) - T_166527[1] := UInt<3>(1) - T_166527[2] := UInt<3>(2) - wire T_166528 : UInt<2>[2] - T_166528[0] := UInt<2>(0) - T_166528[1] := UInt<2>(1) - wire T_166529 : UInt<2>[3] - T_166529[0] := UInt<2>(1) - T_166529[1] := UInt<2>(2) - T_166529[2] := UInt<2>(3) - wire T_166530 : UInt<2>[2] - T_166530[0] := UInt<2>(2) - T_166530[1] := UInt<2>(3) - wire T_166531 : UInt<2>[1] - T_166531[0] := UInt<2>(3) - wire T_166532 : UInt<3>[3] - T_166532[0] := UInt<3>(0) - T_166532[1] := UInt<3>(1) - T_166532[2] := UInt<3>(2) - wire T_166533 : UInt<2>[2] - T_166533[0] := UInt<2>(0) - T_166533[1] := UInt<2>(1) - wire T_166534 : UInt<2>[3] - T_166534[0] := UInt<2>(1) - T_166534[1] := UInt<2>(2) - T_166534[2] := UInt<2>(3) - wire T_166535 : UInt<2>[2] - T_166535[0] := UInt<2>(2) - T_166535[1] := UInt<2>(3) - wire T_166536 : UInt<2>[1] - T_166536[0] := UInt<2>(3) - wire T_166537 : UInt<3>[3] - T_166537[0] := UInt<3>(0) - T_166537[1] := UInt<3>(1) - T_166537[2] := UInt<3>(2) - wire T_166538 : UInt<2>[2] - T_166538[0] := UInt<2>(0) - T_166538[1] := UInt<2>(1) - wire T_166539 : UInt<2>[3] - T_166539[0] := UInt<2>(1) - T_166539[1] := UInt<2>(2) - T_166539[2] := UInt<2>(3) - wire T_166540 : UInt<2>[2] - T_166540[0] := UInt<2>(2) - T_166540[1] := UInt<2>(3) - wire T_166541 : UInt<2>[1] - T_166541[0] := UInt<2>(3) - wire T_166542 : UInt<3>[3] - T_166542[0] := UInt<3>(0) - T_166542[1] := UInt<3>(1) - T_166542[2] := UInt<3>(2) - wire T_166543 : UInt<2>[2] - T_166543[0] := UInt<2>(0) - T_166543[1] := UInt<2>(1) - wire T_166544 : UInt<2>[3] - T_166544[0] := UInt<2>(1) - T_166544[1] := UInt<2>(2) - T_166544[2] := UInt<2>(3) - wire T_166545 : UInt<2>[2] - T_166545[0] := UInt<2>(2) - T_166545[1] := UInt<2>(3) - wire T_166546 : UInt<2>[1] - T_166546[0] := UInt<2>(3) - wire T_166547 : UInt<3>[3] - T_166547[0] := UInt<3>(0) - T_166547[1] := UInt<3>(1) - T_166547[2] := UInt<3>(2) - wire T_166548 : UInt<2>[2] - T_166548[0] := UInt<2>(0) - T_166548[1] := UInt<2>(1) - wire T_166549 : UInt<2>[3] - T_166549[0] := UInt<2>(1) - T_166549[1] := UInt<2>(2) - T_166549[2] := UInt<2>(3) - wire T_166550 : UInt<2>[2] - T_166550[0] := UInt<2>(2) - T_166550[1] := UInt<2>(3) - wire T_166551 : UInt<2>[1] - T_166551[0] := UInt<2>(3) - cmem ram : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}[2] - reg T_166552 : UInt<1> - onreset T_166552 := UInt<1>(0) - reg T_166553 : UInt<1> - onreset T_166553 := UInt<1>(0) - reg maybe_full : UInt<1> - onreset maybe_full := UInt<1>(0) - node ptr_match = eq(T_166552, T_166553) - node T_166554 = eq(maybe_full, UInt<1>(0)) - node empty = and(ptr_match, T_166554) - node full = and(ptr_match, maybe_full) - node maybe_flow = and(UInt<1>(0), empty) - node do_flow = and(maybe_flow, deq.ready) - node T_166555 = and(enq.ready, enq.valid) - node T_166556 = eq(do_flow, UInt<1>(0)) - node do_enq = and(T_166555, T_166556) - node T_166557 = and(deq.ready, deq.valid) - node T_166558 = eq(do_flow, UInt<1>(0)) - node do_deq = and(T_166557, T_166558) - when do_enq : - wire T_166559 : UInt<3>[3] - T_166559[0] := UInt<3>(0) - T_166559[1] := UInt<3>(1) - T_166559[2] := UInt<3>(2) - wire T_166560 : UInt<2>[2] - T_166560[0] := UInt<2>(0) - T_166560[1] := UInt<2>(1) - wire T_166561 : UInt<2>[3] - T_166561[0] := UInt<2>(1) - T_166561[1] := UInt<2>(2) - T_166561[2] := UInt<2>(3) - wire T_166562 : UInt<2>[2] - T_166562[0] := UInt<2>(2) - T_166562[1] := UInt<2>(3) - wire T_166563 : UInt<2>[1] - T_166563[0] := UInt<2>(3) - accessor T_166564 = ram[T_166552] - T_166564 := enq.bits - node T_166565 = eq(T_166552, UInt<1>(1)) - node T_166566 = and(UInt<1>(0), T_166565) - node T_166567 = addw(T_166552, UInt<1>(1)) - wire T_166568 : UInt<1> - T_166568 := T_166567 - when T_166566 : T_166568 := UInt<1>(0) - T_166552 := T_166568 - when do_deq : - node T_166569 = eq(T_166553, UInt<1>(1)) - node T_166570 = and(UInt<1>(0), T_166569) - node T_166571 = addw(T_166553, UInt<1>(1)) - wire T_166572 : UInt<1> - T_166572 := T_166571 - when T_166570 : T_166572 := UInt<1>(0) - T_166553 := T_166572 - - node T_166573 = neq(do_enq, do_deq) - when T_166573 : maybe_full := do_enq - node T_166574 = eq(empty, UInt<1>(0)) - node T_166575 = and(UInt<1>(0), enq.valid) - node T_166576 = or(T_166574, T_166575) - deq.valid := T_166576 - node T_166577 = eq(full, UInt<1>(0)) - node T_166578 = and(UInt<1>(0), deq.ready) - node T_166579 = or(T_166577, T_166578) - enq.ready := T_166579 - wire T_166580 : UInt<3>[3] - T_166580[0] := UInt<3>(0) - T_166580[1] := UInt<3>(1) - T_166580[2] := UInt<3>(2) - wire T_166581 : UInt<2>[2] - T_166581[0] := UInt<2>(0) - T_166581[1] := UInt<2>(1) - wire T_166582 : UInt<2>[3] - T_166582[0] := UInt<2>(1) - T_166582[1] := UInt<2>(2) - T_166582[2] := UInt<2>(3) - wire T_166583 : UInt<2>[2] - T_166583[0] := UInt<2>(2) - T_166583[1] := UInt<2>(3) - wire T_166584 : UInt<2>[1] - T_166584[0] := UInt<2>(3) - accessor T_166585 = ram[T_166553] - wire T_166586 : UInt<3>[3] - T_166586[0] := UInt<3>(0) - T_166586[1] := UInt<3>(1) - T_166586[2] := UInt<3>(2) - wire T_166587 : UInt<2>[2] - T_166587[0] := UInt<2>(0) - T_166587[1] := UInt<2>(1) - wire T_166588 : UInt<2>[3] - T_166588[0] := UInt<2>(1) - T_166588[1] := UInt<2>(2) - T_166588[2] := UInt<2>(3) - wire T_166589 : UInt<2>[2] - T_166589[0] := UInt<2>(2) - T_166589[1] := UInt<2>(3) - wire T_166590 : UInt<2>[1] - T_166590[0] := UInt<2>(3) - wire T_166591 : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}} - T_166591 := T_166585 - when maybe_flow : T_166591 := enq.bits - deq.bits := T_166591 - node ptr_diff = subw(T_166552, T_166553) - node T_166592 = and(maybe_full, ptr_match) - node T_166593 = cat(T_166592, ptr_diff) - count := T_166593 - module Queue_22069 : - input enq : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {manager_xact_id : UInt<2>}}} - output deq : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {manager_xact_id : UInt<2>}}} - output count : UInt<2> - - wire T_166594 : UInt<3>[3] - T_166594[0] := UInt<3>(0) - T_166594[1] := UInt<3>(1) - T_166594[2] := UInt<3>(2) - wire T_166595 : UInt<2>[2] - T_166595[0] := UInt<2>(0) - T_166595[1] := UInt<2>(1) - wire T_166596 : UInt<2>[3] - T_166596[0] := UInt<2>(1) - T_166596[1] := UInt<2>(2) - T_166596[2] := UInt<2>(3) - wire T_166597 : UInt<2>[2] - T_166597[0] := UInt<2>(2) - T_166597[1] := UInt<2>(3) - wire T_166598 : UInt<2>[1] - T_166598[0] := UInt<2>(3) - wire T_166599 : UInt<3>[3] - T_166599[0] := UInt<3>(0) - T_166599[1] := UInt<3>(1) - T_166599[2] := UInt<3>(2) - wire T_166600 : UInt<2>[2] - T_166600[0] := UInt<2>(0) - T_166600[1] := UInt<2>(1) - wire T_166601 : UInt<2>[3] - T_166601[0] := UInt<2>(1) - T_166601[1] := UInt<2>(2) - T_166601[2] := UInt<2>(3) - wire T_166602 : UInt<2>[2] - T_166602[0] := UInt<2>(2) - T_166602[1] := UInt<2>(3) - wire T_166603 : UInt<2>[1] - T_166603[0] := UInt<2>(3) - wire T_166604 : UInt<3>[3] - T_166604[0] := UInt<3>(0) - T_166604[1] := UInt<3>(1) - T_166604[2] := UInt<3>(2) - wire T_166605 : UInt<2>[2] - T_166605[0] := UInt<2>(0) - T_166605[1] := UInt<2>(1) - wire T_166606 : UInt<2>[3] - T_166606[0] := UInt<2>(1) - T_166606[1] := UInt<2>(2) - T_166606[2] := UInt<2>(3) - wire T_166607 : UInt<2>[2] - T_166607[0] := UInt<2>(2) - T_166607[1] := UInt<2>(3) - wire T_166608 : UInt<2>[1] - T_166608[0] := UInt<2>(3) - wire T_166609 : UInt<3>[3] - T_166609[0] := UInt<3>(0) - T_166609[1] := UInt<3>(1) - T_166609[2] := UInt<3>(2) - wire T_166610 : UInt<2>[2] - T_166610[0] := UInt<2>(0) - T_166610[1] := UInt<2>(1) - wire T_166611 : UInt<2>[3] - T_166611[0] := UInt<2>(1) - T_166611[1] := UInt<2>(2) - T_166611[2] := UInt<2>(3) - wire T_166612 : UInt<2>[2] - T_166612[0] := UInt<2>(2) - T_166612[1] := UInt<2>(3) - wire T_166613 : UInt<2>[1] - T_166613[0] := UInt<2>(3) - wire T_166614 : UInt<3>[3] - T_166614[0] := UInt<3>(0) - T_166614[1] := UInt<3>(1) - T_166614[2] := UInt<3>(2) - wire T_166615 : UInt<2>[2] - T_166615[0] := UInt<2>(0) - T_166615[1] := UInt<2>(1) - wire T_166616 : UInt<2>[3] - T_166616[0] := UInt<2>(1) - T_166616[1] := UInt<2>(2) - T_166616[2] := UInt<2>(3) - wire T_166617 : UInt<2>[2] - T_166617[0] := UInt<2>(2) - T_166617[1] := UInt<2>(3) - wire T_166618 : UInt<2>[1] - T_166618[0] := UInt<2>(3) - cmem ram : {header : {src : UInt<2>, dst : UInt<2>}, payload : {manager_xact_id : UInt<2>}}[2] - reg T_166619 : UInt<1> - onreset T_166619 := UInt<1>(0) - reg T_166620 : UInt<1> - onreset T_166620 := UInt<1>(0) - reg maybe_full : UInt<1> - onreset maybe_full := UInt<1>(0) - node ptr_match = eq(T_166619, T_166620) - node T_166621 = eq(maybe_full, UInt<1>(0)) - node empty = and(ptr_match, T_166621) - node full = and(ptr_match, maybe_full) - node maybe_flow = and(UInt<1>(0), empty) - node do_flow = and(maybe_flow, deq.ready) - node T_166622 = and(enq.ready, enq.valid) - node T_166623 = eq(do_flow, UInt<1>(0)) - node do_enq = and(T_166622, T_166623) - node T_166624 = and(deq.ready, deq.valid) - node T_166625 = eq(do_flow, UInt<1>(0)) - node do_deq = and(T_166624, T_166625) - when do_enq : - wire T_166626 : UInt<3>[3] - T_166626[0] := UInt<3>(0) - T_166626[1] := UInt<3>(1) - T_166626[2] := UInt<3>(2) - wire T_166627 : UInt<2>[2] - T_166627[0] := UInt<2>(0) - T_166627[1] := UInt<2>(1) - wire T_166628 : UInt<2>[3] - T_166628[0] := UInt<2>(1) - T_166628[1] := UInt<2>(2) - T_166628[2] := UInt<2>(3) - wire T_166629 : UInt<2>[2] - T_166629[0] := UInt<2>(2) - T_166629[1] := UInt<2>(3) - wire T_166630 : UInt<2>[1] - T_166630[0] := UInt<2>(3) - accessor T_166631 = ram[T_166619] - T_166631 := enq.bits - node T_166632 = eq(T_166619, UInt<1>(1)) - node T_166633 = and(UInt<1>(0), T_166632) - node T_166634 = addw(T_166619, UInt<1>(1)) - wire T_166635 : UInt<1> - T_166635 := T_166634 - when T_166633 : T_166635 := UInt<1>(0) - T_166619 := T_166635 - when do_deq : - node T_166636 = eq(T_166620, UInt<1>(1)) - node T_166637 = and(UInt<1>(0), T_166636) - node T_166638 = addw(T_166620, UInt<1>(1)) - wire T_166639 : UInt<1> - T_166639 := T_166638 - when T_166637 : T_166639 := UInt<1>(0) - T_166620 := T_166639 - - node T_166640 = neq(do_enq, do_deq) - when T_166640 : maybe_full := do_enq - node T_166641 = eq(empty, UInt<1>(0)) - node T_166642 = and(UInt<1>(0), enq.valid) - node T_166643 = or(T_166641, T_166642) - deq.valid := T_166643 - node T_166644 = eq(full, UInt<1>(0)) - node T_166645 = and(UInt<1>(0), deq.ready) - node T_166646 = or(T_166644, T_166645) - enq.ready := T_166646 - wire T_166647 : UInt<3>[3] - T_166647[0] := UInt<3>(0) - T_166647[1] := UInt<3>(1) - T_166647[2] := UInt<3>(2) - wire T_166648 : UInt<2>[2] - T_166648[0] := UInt<2>(0) - T_166648[1] := UInt<2>(1) - wire T_166649 : UInt<2>[3] - T_166649[0] := UInt<2>(1) - T_166649[1] := UInt<2>(2) - T_166649[2] := UInt<2>(3) - wire T_166650 : UInt<2>[2] - T_166650[0] := UInt<2>(2) - T_166650[1] := UInt<2>(3) - wire T_166651 : UInt<2>[1] - T_166651[0] := UInt<2>(3) - accessor T_166652 = ram[T_166620] - wire T_166653 : UInt<3>[3] - T_166653[0] := UInt<3>(0) - T_166653[1] := UInt<3>(1) - T_166653[2] := UInt<3>(2) - wire T_166654 : UInt<2>[2] - T_166654[0] := UInt<2>(0) - T_166654[1] := UInt<2>(1) - wire T_166655 : UInt<2>[3] - T_166655[0] := UInt<2>(1) - T_166655[1] := UInt<2>(2) - T_166655[2] := UInt<2>(3) - wire T_166656 : UInt<2>[2] - T_166656[0] := UInt<2>(2) - T_166656[1] := UInt<2>(3) - wire T_166657 : UInt<2>[1] - T_166657[0] := UInt<2>(3) - wire T_166658 : {header : {src : UInt<2>, dst : UInt<2>}, payload : {manager_xact_id : UInt<2>}} - T_166658 := T_166652 - when maybe_flow : T_166658 := enq.bits - deq.bits := T_166658 - node ptr_diff = subw(T_166619, T_166620) - node T_166659 = and(maybe_full, ptr_match) - node T_166660 = cat(T_166659, ptr_diff) - count := T_166660 - module TileLinkEnqueuer : - input client : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}}, finish : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {manager_xact_id : UInt<2>}}}, flip probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, p_type : UInt<2>}}}, release : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}}} - output manager : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}}, finish : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {manager_xact_id : UInt<2>}}}, flip probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, p_type : UInt<2>}}}, release : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}}} - - wire T_166661 : UInt<3>[3] - T_166661[0] := UInt<3>(0) - T_166661[1] := UInt<3>(1) - T_166661[2] := UInt<3>(2) - wire T_166662 : UInt<2>[2] - T_166662[0] := UInt<2>(0) - T_166662[1] := UInt<2>(1) - wire T_166663 : UInt<2>[3] - T_166663[0] := UInt<2>(1) - T_166663[1] := UInt<2>(2) - T_166663[2] := UInt<2>(3) - wire T_166664 : UInt<2>[2] - T_166664[0] := UInt<2>(2) - T_166664[1] := UInt<2>(3) - wire T_166665 : UInt<2>[1] - T_166665[0] := UInt<2>(3) - wire T_166666 : UInt<3>[3] - T_166666[0] := UInt<3>(0) - T_166666[1] := UInt<3>(1) - T_166666[2] := UInt<3>(2) - wire T_166667 : UInt<2>[2] - T_166667[0] := UInt<2>(0) - T_166667[1] := UInt<2>(1) - wire T_166668 : UInt<2>[3] - T_166668[0] := UInt<2>(1) - T_166668[1] := UInt<2>(2) - T_166668[2] := UInt<2>(3) - wire T_166669 : UInt<2>[2] - T_166669[0] := UInt<2>(2) - T_166669[1] := UInt<2>(3) - wire T_166670 : UInt<2>[1] - T_166670[0] := UInt<2>(3) - wire T_166671 : UInt<3>[3] - T_166671[0] := UInt<3>(0) - T_166671[1] := UInt<3>(1) - T_166671[2] := UInt<3>(2) - wire T_166672 : UInt<2>[2] - T_166672[0] := UInt<2>(0) - T_166672[1] := UInt<2>(1) - wire T_166673 : UInt<2>[3] - T_166673[0] := UInt<2>(1) - T_166673[1] := UInt<2>(2) - T_166673[2] := UInt<2>(3) - wire T_166674 : UInt<2>[2] - T_166674[0] := UInt<2>(2) - T_166674[1] := UInt<2>(3) - wire T_166675 : UInt<2>[1] - T_166675[0] := UInt<2>(3) - wire T_166676 : UInt<3>[3] - T_166676[0] := UInt<3>(0) - T_166676[1] := UInt<3>(1) - T_166676[2] := UInt<3>(2) - wire T_166677 : UInt<2>[2] - T_166677[0] := UInt<2>(0) - T_166677[1] := UInt<2>(1) - wire T_166678 : UInt<2>[3] - T_166678[0] := UInt<2>(1) - T_166678[1] := UInt<2>(2) - T_166678[2] := UInt<2>(3) - wire T_166679 : UInt<2>[2] - T_166679[0] := UInt<2>(2) - T_166679[1] := UInt<2>(3) - wire T_166680 : UInt<2>[1] - T_166680[0] := UInt<2>(3) - wire T_166681 : UInt<3>[3] - T_166681[0] := UInt<3>(0) - T_166681[1] := UInt<3>(1) - T_166681[2] := UInt<3>(2) - wire T_166682 : UInt<2>[2] - T_166682[0] := UInt<2>(0) - T_166682[1] := UInt<2>(1) - wire T_166683 : UInt<2>[3] - T_166683[0] := UInt<2>(1) - T_166683[1] := UInt<2>(2) - T_166683[2] := UInt<2>(3) - wire T_166684 : UInt<2>[2] - T_166684[0] := UInt<2>(2) - T_166684[1] := UInt<2>(3) - wire T_166685 : UInt<2>[1] - T_166685[0] := UInt<2>(3) - wire T_166686 : UInt<3>[3] - T_166686[0] := UInt<3>(0) - T_166686[1] := UInt<3>(1) - T_166686[2] := UInt<3>(2) - wire T_166687 : UInt<2>[2] - T_166687[0] := UInt<2>(0) - T_166687[1] := UInt<2>(1) - wire T_166688 : UInt<2>[3] - T_166688[0] := UInt<2>(1) - T_166688[1] := UInt<2>(2) - T_166688[2] := UInt<2>(3) - wire T_166689 : UInt<2>[2] - T_166689[0] := UInt<2>(2) - T_166689[1] := UInt<2>(3) - wire T_166690 : UInt<2>[1] - T_166690[0] := UInt<2>(3) - wire T_166691 : UInt<3>[3] - T_166691[0] := UInt<3>(0) - T_166691[1] := UInt<3>(1) - T_166691[2] := UInt<3>(2) - wire T_166692 : UInt<2>[2] - T_166692[0] := UInt<2>(0) - T_166692[1] := UInt<2>(1) - wire T_166693 : UInt<2>[3] - T_166693[0] := UInt<2>(1) - T_166693[1] := UInt<2>(2) - T_166693[2] := UInt<2>(3) - wire T_166694 : UInt<2>[2] - T_166694[0] := UInt<2>(2) - T_166694[1] := UInt<2>(3) - wire T_166695 : UInt<2>[1] - T_166695[0] := UInt<2>(3) - wire T_166696 : UInt<3>[3] - T_166696[0] := UInt<3>(0) - T_166696[1] := UInt<3>(1) - T_166696[2] := UInt<3>(2) - wire T_166697 : UInt<2>[2] - T_166697[0] := UInt<2>(0) - T_166697[1] := UInt<2>(1) - wire T_166698 : UInt<2>[3] - T_166698[0] := UInt<2>(1) - T_166698[1] := UInt<2>(2) - T_166698[2] := UInt<2>(3) - wire T_166699 : UInt<2>[2] - T_166699[0] := UInt<2>(2) - T_166699[1] := UInt<2>(3) - wire T_166700 : UInt<2>[1] - T_166700[0] := UInt<2>(3) - wire T_166701 : UInt<3>[3] - T_166701[0] := UInt<3>(0) - T_166701[1] := UInt<3>(1) - T_166701[2] := UInt<3>(2) - wire T_166702 : UInt<2>[2] - T_166702[0] := UInt<2>(0) - T_166702[1] := UInt<2>(1) - wire T_166703 : UInt<2>[3] - T_166703[0] := UInt<2>(1) - T_166703[1] := UInt<2>(2) - T_166703[2] := UInt<2>(3) - wire T_166704 : UInt<2>[2] - T_166704[0] := UInt<2>(2) - T_166704[1] := UInt<2>(3) - wire T_166705 : UInt<2>[1] - T_166705[0] := UInt<2>(3) - wire T_166706 : UInt<3>[3] - T_166706[0] := UInt<3>(0) - T_166706[1] := UInt<3>(1) - T_166706[2] := UInt<3>(2) - wire T_166707 : UInt<2>[2] - T_166707[0] := UInt<2>(0) - T_166707[1] := UInt<2>(1) - wire T_166708 : UInt<2>[3] - T_166708[0] := UInt<2>(1) - T_166708[1] := UInt<2>(2) - T_166708[2] := UInt<2>(3) - wire T_166709 : UInt<2>[2] - T_166709[0] := UInt<2>(2) - T_166709[1] := UInt<2>(3) - wire T_166710 : UInt<2>[1] - T_166710[0] := UInt<2>(3) - wire T_166711 : UInt<3>[3] - T_166711[0] := UInt<3>(0) - T_166711[1] := UInt<3>(1) - T_166711[2] := UInt<3>(2) - wire T_166712 : UInt<2>[2] - T_166712[0] := UInt<2>(0) - T_166712[1] := UInt<2>(1) - wire T_166713 : UInt<2>[3] - T_166713[0] := UInt<2>(1) - T_166713[1] := UInt<2>(2) - T_166713[2] := UInt<2>(3) - wire T_166714 : UInt<2>[2] - T_166714[0] := UInt<2>(2) - T_166714[1] := UInt<2>(3) - wire T_166715 : UInt<2>[1] - T_166715[0] := UInt<2>(3) - wire T_166716 : UInt<3>[3] - T_166716[0] := UInt<3>(0) - T_166716[1] := UInt<3>(1) - T_166716[2] := UInt<3>(2) - wire T_166717 : UInt<2>[2] - T_166717[0] := UInt<2>(0) - T_166717[1] := UInt<2>(1) - wire T_166718 : UInt<2>[3] - T_166718[0] := UInt<2>(1) - T_166718[1] := UInt<2>(2) - T_166718[2] := UInt<2>(3) - wire T_166719 : UInt<2>[2] - T_166719[0] := UInt<2>(2) - T_166719[1] := UInt<2>(3) - wire T_166720 : UInt<2>[1] - T_166720[0] := UInt<2>(3) - wire T_166721 : UInt<3>[3] - T_166721[0] := UInt<3>(0) - T_166721[1] := UInt<3>(1) - T_166721[2] := UInt<3>(2) - wire T_166722 : UInt<2>[2] - T_166722[0] := UInt<2>(0) - T_166722[1] := UInt<2>(1) - wire T_166723 : UInt<2>[3] - T_166723[0] := UInt<2>(1) - T_166723[1] := UInt<2>(2) - T_166723[2] := UInt<2>(3) - wire T_166724 : UInt<2>[2] - T_166724[0] := UInt<2>(2) - T_166724[1] := UInt<2>(3) - wire T_166725 : UInt<2>[1] - T_166725[0] := UInt<2>(3) - wire T_166726 : UInt<3>[3] - T_166726[0] := UInt<3>(0) - T_166726[1] := UInt<3>(1) - T_166726[2] := UInt<3>(2) - wire T_166727 : UInt<2>[2] - T_166727[0] := UInt<2>(0) - T_166727[1] := UInt<2>(1) - wire T_166728 : UInt<2>[3] - T_166728[0] := UInt<2>(1) - T_166728[1] := UInt<2>(2) - T_166728[2] := UInt<2>(3) - wire T_166729 : UInt<2>[2] - T_166729[0] := UInt<2>(2) - T_166729[1] := UInt<2>(3) - wire T_166730 : UInt<2>[1] - T_166730[0] := UInt<2>(3) - wire T_166731 : UInt<3>[3] - T_166731[0] := UInt<3>(0) - T_166731[1] := UInt<3>(1) - T_166731[2] := UInt<3>(2) - wire T_166732 : UInt<2>[2] - T_166732[0] := UInt<2>(0) - T_166732[1] := UInt<2>(1) - wire T_166733 : UInt<2>[3] - T_166733[0] := UInt<2>(1) - T_166733[1] := UInt<2>(2) - T_166733[2] := UInt<2>(3) - wire T_166734 : UInt<2>[2] - T_166734[0] := UInt<2>(2) - T_166734[1] := UInt<2>(3) - wire T_166735 : UInt<2>[1] - T_166735[0] := UInt<2>(3) - wire T_166736 : UInt<3>[3] - T_166736[0] := UInt<3>(0) - T_166736[1] := UInt<3>(1) - T_166736[2] := UInt<3>(2) - wire T_166737 : UInt<2>[2] - T_166737[0] := UInt<2>(0) - T_166737[1] := UInt<2>(1) - wire T_166738 : UInt<2>[3] - T_166738[0] := UInt<2>(1) - T_166738[1] := UInt<2>(2) - T_166738[2] := UInt<2>(3) - wire T_166739 : UInt<2>[2] - T_166739[0] := UInt<2>(2) - T_166739[1] := UInt<2>(3) - wire T_166740 : UInt<2>[1] - T_166740[0] := UInt<2>(3) - wire T_166741 : UInt<3>[3] - T_166741[0] := UInt<3>(0) - T_166741[1] := UInt<3>(1) - T_166741[2] := UInt<3>(2) - wire T_166742 : UInt<2>[2] - T_166742[0] := UInt<2>(0) - T_166742[1] := UInt<2>(1) - wire T_166743 : UInt<2>[3] - T_166743[0] := UInt<2>(1) - T_166743[1] := UInt<2>(2) - T_166743[2] := UInt<2>(3) - wire T_166744 : UInt<2>[2] - T_166744[0] := UInt<2>(2) - T_166744[1] := UInt<2>(3) - wire T_166745 : UInt<2>[1] - T_166745[0] := UInt<2>(3) - wire T_166746 : UInt<3>[3] - T_166746[0] := UInt<3>(0) - T_166746[1] := UInt<3>(1) - T_166746[2] := UInt<3>(2) - wire T_166747 : UInt<2>[2] - T_166747[0] := UInt<2>(0) - T_166747[1] := UInt<2>(1) - wire T_166748 : UInt<2>[3] - T_166748[0] := UInt<2>(1) - T_166748[1] := UInt<2>(2) - T_166748[2] := UInt<2>(3) - wire T_166749 : UInt<2>[2] - T_166749[0] := UInt<2>(2) - T_166749[1] := UInt<2>(3) - wire T_166750 : UInt<2>[1] - T_166750[0] := UInt<2>(3) - wire T_166751 : UInt<3>[3] - T_166751[0] := UInt<3>(0) - T_166751[1] := UInt<3>(1) - T_166751[2] := UInt<3>(2) - wire T_166752 : UInt<2>[2] - T_166752[0] := UInt<2>(0) - T_166752[1] := UInt<2>(1) - wire T_166753 : UInt<2>[3] - T_166753[0] := UInt<2>(1) - T_166753[1] := UInt<2>(2) - T_166753[2] := UInt<2>(3) - wire T_166754 : UInt<2>[2] - T_166754[0] := UInt<2>(2) - T_166754[1] := UInt<2>(3) - wire T_166755 : UInt<2>[1] - T_166755[0] := UInt<2>(3) - wire T_166756 : UInt<3>[3] - T_166756[0] := UInt<3>(0) - T_166756[1] := UInt<3>(1) - T_166756[2] := UInt<3>(2) - wire T_166757 : UInt<2>[2] - T_166757[0] := UInt<2>(0) - T_166757[1] := UInt<2>(1) - wire T_166758 : UInt<2>[3] - T_166758[0] := UInt<2>(1) - T_166758[1] := UInt<2>(2) - T_166758[2] := UInt<2>(3) - wire T_166759 : UInt<2>[2] - T_166759[0] := UInt<2>(2) - T_166759[1] := UInt<2>(3) - wire T_166760 : UInt<2>[1] - T_166760[0] := UInt<2>(3) - wire T_166761 : UInt<3>[3] - T_166761[0] := UInt<3>(0) - T_166761[1] := UInt<3>(1) - T_166761[2] := UInt<3>(2) - wire T_166762 : UInt<2>[2] - T_166762[0] := UInt<2>(0) - T_166762[1] := UInt<2>(1) - wire T_166763 : UInt<2>[3] - T_166763[0] := UInt<2>(1) - T_166763[1] := UInt<2>(2) - T_166763[2] := UInt<2>(3) - wire T_166764 : UInt<2>[2] - T_166764[0] := UInt<2>(2) - T_166764[1] := UInt<2>(3) - wire T_166765 : UInt<2>[1] - T_166765[0] := UInt<2>(3) - wire T_166766 : UInt<3>[3] - T_166766[0] := UInt<3>(0) - T_166766[1] := UInt<3>(1) - T_166766[2] := UInt<3>(2) - wire T_166767 : UInt<2>[2] - T_166767[0] := UInt<2>(0) - T_166767[1] := UInt<2>(1) - wire T_166768 : UInt<2>[3] - T_166768[0] := UInt<2>(1) - T_166768[1] := UInt<2>(2) - T_166768[2] := UInt<2>(3) - wire T_166769 : UInt<2>[2] - T_166769[0] := UInt<2>(2) - T_166769[1] := UInt<2>(3) - wire T_166770 : UInt<2>[1] - T_166770[0] := UInt<2>(3) - wire T_166771 : UInt<3>[3] - T_166771[0] := UInt<3>(0) - T_166771[1] := UInt<3>(1) - T_166771[2] := UInt<3>(2) - wire T_166772 : UInt<2>[2] - T_166772[0] := UInt<2>(0) - T_166772[1] := UInt<2>(1) - wire T_166773 : UInt<2>[3] - T_166773[0] := UInt<2>(1) - T_166773[1] := UInt<2>(2) - T_166773[2] := UInt<2>(3) - wire T_166774 : UInt<2>[2] - T_166774[0] := UInt<2>(2) - T_166774[1] := UInt<2>(3) - wire T_166775 : UInt<2>[1] - T_166775[0] := UInt<2>(3) - wire T_166776 : UInt<3>[3] - T_166776[0] := UInt<3>(0) - T_166776[1] := UInt<3>(1) - T_166776[2] := UInt<3>(2) - wire T_166777 : UInt<2>[2] - T_166777[0] := UInt<2>(0) - T_166777[1] := UInt<2>(1) - wire T_166778 : UInt<2>[3] - T_166778[0] := UInt<2>(1) - T_166778[1] := UInt<2>(2) - T_166778[2] := UInt<2>(3) - wire T_166779 : UInt<2>[2] - T_166779[0] := UInt<2>(2) - T_166779[1] := UInt<2>(3) - wire T_166780 : UInt<2>[1] - T_166780[0] := UInt<2>(3) - wire T_166781 : UInt<3>[3] - T_166781[0] := UInt<3>(0) - T_166781[1] := UInt<3>(1) - T_166781[2] := UInt<3>(2) - wire T_166782 : UInt<2>[2] - T_166782[0] := UInt<2>(0) - T_166782[1] := UInt<2>(1) - wire T_166783 : UInt<2>[3] - T_166783[0] := UInt<2>(1) - T_166783[1] := UInt<2>(2) - T_166783[2] := UInt<2>(3) - wire T_166784 : UInt<2>[2] - T_166784[0] := UInt<2>(2) - T_166784[1] := UInt<2>(3) - wire T_166785 : UInt<2>[1] - T_166785[0] := UInt<2>(3) - wire T_166786 : UInt<3>[3] - T_166786[0] := UInt<3>(0) - T_166786[1] := UInt<3>(1) - T_166786[2] := UInt<3>(2) - wire T_166787 : UInt<2>[2] - T_166787[0] := UInt<2>(0) - T_166787[1] := UInt<2>(1) - wire T_166788 : UInt<2>[3] - T_166788[0] := UInt<2>(1) - T_166788[1] := UInt<2>(2) - T_166788[2] := UInt<2>(3) - wire T_166789 : UInt<2>[2] - T_166789[0] := UInt<2>(2) - T_166789[1] := UInt<2>(3) - wire T_166790 : UInt<2>[1] - T_166790[0] := UInt<2>(3) - wire T_166791 : UInt<3>[3] - T_166791[0] := UInt<3>(0) - T_166791[1] := UInt<3>(1) - T_166791[2] := UInt<3>(2) - wire T_166792 : UInt<2>[2] - T_166792[0] := UInt<2>(0) - T_166792[1] := UInt<2>(1) - wire T_166793 : UInt<2>[3] - T_166793[0] := UInt<2>(1) - T_166793[1] := UInt<2>(2) - T_166793[2] := UInt<2>(3) - wire T_166794 : UInt<2>[2] - T_166794[0] := UInt<2>(2) - T_166794[1] := UInt<2>(3) - wire T_166795 : UInt<2>[1] - T_166795[0] := UInt<2>(3) - wire T_166796 : UInt<3>[3] - T_166796[0] := UInt<3>(0) - T_166796[1] := UInt<3>(1) - T_166796[2] := UInt<3>(2) - wire T_166797 : UInt<2>[2] - T_166797[0] := UInt<2>(0) - T_166797[1] := UInt<2>(1) - wire T_166798 : UInt<2>[3] - T_166798[0] := UInt<2>(1) - T_166798[1] := UInt<2>(2) - T_166798[2] := UInt<2>(3) - wire T_166799 : UInt<2>[2] - T_166799[0] := UInt<2>(2) - T_166799[1] := UInt<2>(3) - wire T_166800 : UInt<2>[1] - T_166800[0] := UInt<2>(3) - wire T_166801 : UInt<3>[3] - T_166801[0] := UInt<3>(0) - T_166801[1] := UInt<3>(1) - T_166801[2] := UInt<3>(2) - wire T_166802 : UInt<2>[2] - T_166802[0] := UInt<2>(0) - T_166802[1] := UInt<2>(1) - wire T_166803 : UInt<2>[3] - T_166803[0] := UInt<2>(1) - T_166803[1] := UInt<2>(2) - T_166803[2] := UInt<2>(3) - wire T_166804 : UInt<2>[2] - T_166804[0] := UInt<2>(2) - T_166804[1] := UInt<2>(3) - wire T_166805 : UInt<2>[1] - T_166805[0] := UInt<2>(3) - wire T_166806 : UInt<3>[3] - T_166806[0] := UInt<3>(0) - T_166806[1] := UInt<3>(1) - T_166806[2] := UInt<3>(2) - wire T_166807 : UInt<2>[2] - T_166807[0] := UInt<2>(0) - T_166807[1] := UInt<2>(1) - wire T_166808 : UInt<2>[3] - T_166808[0] := UInt<2>(1) - T_166808[1] := UInt<2>(2) - T_166808[2] := UInt<2>(3) - wire T_166809 : UInt<2>[2] - T_166809[0] := UInt<2>(2) - T_166809[1] := UInt<2>(3) - wire T_166810 : UInt<2>[1] - T_166810[0] := UInt<2>(3) - wire T_166811 : UInt<3>[3] - T_166811[0] := UInt<3>(0) - T_166811[1] := UInt<3>(1) - T_166811[2] := UInt<3>(2) - wire T_166812 : UInt<2>[2] - T_166812[0] := UInt<2>(0) - T_166812[1] := UInt<2>(1) - wire T_166813 : UInt<2>[3] - T_166813[0] := UInt<2>(1) - T_166813[1] := UInt<2>(2) - T_166813[2] := UInt<2>(3) - wire T_166814 : UInt<2>[2] - T_166814[0] := UInt<2>(2) - T_166814[1] := UInt<2>(3) - wire T_166815 : UInt<2>[1] - T_166815[0] := UInt<2>(3) - wire T_166816 : UInt<3>[3] - T_166816[0] := UInt<3>(0) - T_166816[1] := UInt<3>(1) - T_166816[2] := UInt<3>(2) - wire T_166817 : UInt<2>[2] - T_166817[0] := UInt<2>(0) - T_166817[1] := UInt<2>(1) - wire T_166818 : UInt<2>[3] - T_166818[0] := UInt<2>(1) - T_166818[1] := UInt<2>(2) - T_166818[2] := UInt<2>(3) - wire T_166819 : UInt<2>[2] - T_166819[0] := UInt<2>(2) - T_166819[1] := UInt<2>(3) - wire T_166820 : UInt<2>[1] - T_166820[0] := UInt<2>(3) - wire T_166821 : UInt<3>[3] - T_166821[0] := UInt<3>(0) - T_166821[1] := UInt<3>(1) - T_166821[2] := UInt<3>(2) - wire T_166822 : UInt<2>[2] - T_166822[0] := UInt<2>(0) - T_166822[1] := UInt<2>(1) - wire T_166823 : UInt<2>[3] - T_166823[0] := UInt<2>(1) - T_166823[1] := UInt<2>(2) - T_166823[2] := UInt<2>(3) - wire T_166824 : UInt<2>[2] - T_166824[0] := UInt<2>(2) - T_166824[1] := UInt<2>(3) - wire T_166825 : UInt<2>[1] - T_166825[0] := UInt<2>(3) - inst T_166826 of Queue - T_166826.enq.valid := client.acquire.valid - T_166826.enq.bits := client.acquire.bits - client.acquire.ready := T_166826.enq.ready - manager.acquire <> T_166826.deq - wire T_166827 : UInt<3>[3] - T_166827[0] := UInt<3>(0) - T_166827[1] := UInt<3>(1) - T_166827[2] := UInt<3>(2) - wire T_166828 : UInt<2>[2] - T_166828[0] := UInt<2>(0) - T_166828[1] := UInt<2>(1) - wire T_166829 : UInt<2>[3] - T_166829[0] := UInt<2>(1) - T_166829[1] := UInt<2>(2) - T_166829[2] := UInt<2>(3) - wire T_166830 : UInt<2>[2] - T_166830[0] := UInt<2>(2) - T_166830[1] := UInt<2>(3) - wire T_166831 : UInt<2>[1] - T_166831[0] := UInt<2>(3) - inst T_166832 of Queue_20089 - T_166832.enq.valid := manager.probe.valid - T_166832.enq.bits := manager.probe.bits - manager.probe.ready := T_166832.enq.ready - client.probe <> T_166832.deq - wire T_166833 : UInt<3>[3] - T_166833[0] := UInt<3>(0) - T_166833[1] := UInt<3>(1) - T_166833[2] := UInt<3>(2) - wire T_166834 : UInt<2>[2] - T_166834[0] := UInt<2>(0) - T_166834[1] := UInt<2>(1) - wire T_166835 : UInt<2>[3] - T_166835[0] := UInt<2>(1) - T_166835[1] := UInt<2>(2) - T_166835[2] := UInt<2>(3) - wire T_166836 : UInt<2>[2] - T_166836[0] := UInt<2>(2) - T_166836[1] := UInt<2>(3) - wire T_166837 : UInt<2>[1] - T_166837[0] := UInt<2>(3) - inst T_166838 of Queue_20764 - T_166838.enq.valid := client.release.valid - T_166838.enq.bits := client.release.bits - client.release.ready := T_166838.enq.ready - manager.release <> T_166838.deq - wire T_166839 : UInt<3>[3] - T_166839[0] := UInt<3>(0) - T_166839[1] := UInt<3>(1) - T_166839[2] := UInt<3>(2) - wire T_166840 : UInt<2>[2] - T_166840[0] := UInt<2>(0) - T_166840[1] := UInt<2>(1) - wire T_166841 : UInt<2>[3] - T_166841[0] := UInt<2>(1) - T_166841[1] := UInt<2>(2) - T_166841[2] := UInt<2>(3) - wire T_166842 : UInt<2>[2] - T_166842[0] := UInt<2>(2) - T_166842[1] := UInt<2>(3) - wire T_166843 : UInt<2>[1] - T_166843[0] := UInt<2>(3) - inst T_166844 of Queue_21439 - T_166844.enq.valid := manager.grant.valid - T_166844.enq.bits := manager.grant.bits - manager.grant.ready := T_166844.enq.ready - client.grant <> T_166844.deq - wire T_166845 : UInt<3>[3] - T_166845[0] := UInt<3>(0) - T_166845[1] := UInt<3>(1) - T_166845[2] := UInt<3>(2) - wire T_166846 : UInt<2>[2] - T_166846[0] := UInt<2>(0) - T_166846[1] := UInt<2>(1) - wire T_166847 : UInt<2>[3] - T_166847[0] := UInt<2>(1) - T_166847[1] := UInt<2>(2) - T_166847[2] := UInt<2>(3) - wire T_166848 : UInt<2>[2] - T_166848[0] := UInt<2>(2) - T_166848[1] := UInt<2>(3) - wire T_166849 : UInt<2>[1] - T_166849[0] := UInt<2>(3) - inst T_166850 of Queue_22069 - T_166850.enq.valid := client.finish.valid - T_166850.enq.bits := client.finish.bits - client.finish.ready := T_166850.enq.ready - manager.finish <> T_166850.deq - module FinishQueue_25492 : - input enq : {flip ready : UInt<1>, valid : UInt<1>, bits : {fin : {manager_xact_id : UInt<2>}, dst : UInt<2>}} - output deq : {flip ready : UInt<1>, valid : UInt<1>, bits : {fin : {manager_xact_id : UInt<2>}, dst : UInt<2>}} - output count : UInt<2> - - wire T_166851 : UInt<3>[3] - T_166851[0] := UInt<3>(0) - T_166851[1] := UInt<3>(1) - T_166851[2] := UInt<3>(2) - wire T_166852 : UInt<2>[2] - T_166852[0] := UInt<2>(0) - T_166852[1] := UInt<2>(1) - wire T_166853 : UInt<2>[3] - T_166853[0] := UInt<2>(1) - T_166853[1] := UInt<2>(2) - T_166853[2] := UInt<2>(3) - wire T_166854 : UInt<2>[2] - T_166854[0] := UInt<2>(2) - T_166854[1] := UInt<2>(3) - wire T_166855 : UInt<2>[1] - T_166855[0] := UInt<2>(3) - wire T_166856 : UInt<3>[3] - T_166856[0] := UInt<3>(0) - T_166856[1] := UInt<3>(1) - T_166856[2] := UInt<3>(2) - wire T_166857 : UInt<2>[2] - T_166857[0] := UInt<2>(0) - T_166857[1] := UInt<2>(1) - wire T_166858 : UInt<2>[3] - T_166858[0] := UInt<2>(1) - T_166858[1] := UInt<2>(2) - T_166858[2] := UInt<2>(3) - wire T_166859 : UInt<2>[2] - T_166859[0] := UInt<2>(2) - T_166859[1] := UInt<2>(3) - wire T_166860 : UInt<2>[1] - T_166860[0] := UInt<2>(3) - wire T_166861 : UInt<3>[3] - T_166861[0] := UInt<3>(0) - T_166861[1] := UInt<3>(1) - T_166861[2] := UInt<3>(2) - wire T_166862 : UInt<2>[2] - T_166862[0] := UInt<2>(0) - T_166862[1] := UInt<2>(1) - wire T_166863 : UInt<2>[3] - T_166863[0] := UInt<2>(1) - T_166863[1] := UInt<2>(2) - T_166863[2] := UInt<2>(3) - wire T_166864 : UInt<2>[2] - T_166864[0] := UInt<2>(2) - T_166864[1] := UInt<2>(3) - wire T_166865 : UInt<2>[1] - T_166865[0] := UInt<2>(3) - wire T_166866 : UInt<3>[3] - T_166866[0] := UInt<3>(0) - T_166866[1] := UInt<3>(1) - T_166866[2] := UInt<3>(2) - wire T_166867 : UInt<2>[2] - T_166867[0] := UInt<2>(0) - T_166867[1] := UInt<2>(1) - wire T_166868 : UInt<2>[3] - T_166868[0] := UInt<2>(1) - T_166868[1] := UInt<2>(2) - T_166868[2] := UInt<2>(3) - wire T_166869 : UInt<2>[2] - T_166869[0] := UInt<2>(2) - T_166869[1] := UInt<2>(3) - wire T_166870 : UInt<2>[1] - T_166870[0] := UInt<2>(3) - wire T_166871 : UInt<3>[3] - T_166871[0] := UInt<3>(0) - T_166871[1] := UInt<3>(1) - T_166871[2] := UInt<3>(2) - wire T_166872 : UInt<2>[2] - T_166872[0] := UInt<2>(0) - T_166872[1] := UInt<2>(1) - wire T_166873 : UInt<2>[3] - T_166873[0] := UInt<2>(1) - T_166873[1] := UInt<2>(2) - T_166873[2] := UInt<2>(3) - wire T_166874 : UInt<2>[2] - T_166874[0] := UInt<2>(2) - T_166874[1] := UInt<2>(3) - wire T_166875 : UInt<2>[1] - T_166875[0] := UInt<2>(3) - wire T_166876 : UInt<3>[3] - T_166876[0] := UInt<3>(0) - T_166876[1] := UInt<3>(1) - T_166876[2] := UInt<3>(2) - wire T_166877 : UInt<2>[2] - T_166877[0] := UInt<2>(0) - T_166877[1] := UInt<2>(1) - wire T_166878 : UInt<2>[3] - T_166878[0] := UInt<2>(1) - T_166878[1] := UInt<2>(2) - T_166878[2] := UInt<2>(3) - wire T_166879 : UInt<2>[2] - T_166879[0] := UInt<2>(2) - T_166879[1] := UInt<2>(3) - wire T_166880 : UInt<2>[1] - T_166880[0] := UInt<2>(3) - wire T_166881 : UInt<3>[3] - T_166881[0] := UInt<3>(0) - T_166881[1] := UInt<3>(1) - T_166881[2] := UInt<3>(2) - wire T_166882 : UInt<2>[2] - T_166882[0] := UInt<2>(0) - T_166882[1] := UInt<2>(1) - wire T_166883 : UInt<2>[3] - T_166883[0] := UInt<2>(1) - T_166883[1] := UInt<2>(2) - T_166883[2] := UInt<2>(3) - wire T_166884 : UInt<2>[2] - T_166884[0] := UInt<2>(2) - T_166884[1] := UInt<2>(3) - wire T_166885 : UInt<2>[1] - T_166885[0] := UInt<2>(3) - wire T_166886 : UInt<3>[3] - T_166886[0] := UInt<3>(0) - T_166886[1] := UInt<3>(1) - T_166886[2] := UInt<3>(2) - wire T_166887 : UInt<2>[2] - T_166887[0] := UInt<2>(0) - T_166887[1] := UInt<2>(1) - wire T_166888 : UInt<2>[3] - T_166888[0] := UInt<2>(1) - T_166888[1] := UInt<2>(2) - T_166888[2] := UInt<2>(3) - wire T_166889 : UInt<2>[2] - T_166889[0] := UInt<2>(2) - T_166889[1] := UInt<2>(3) - wire T_166890 : UInt<2>[1] - T_166890[0] := UInt<2>(3) - wire T_166891 : UInt<3>[3] - T_166891[0] := UInt<3>(0) - T_166891[1] := UInt<3>(1) - T_166891[2] := UInt<3>(2) - wire T_166892 : UInt<2>[2] - T_166892[0] := UInt<2>(0) - T_166892[1] := UInt<2>(1) - wire T_166893 : UInt<2>[3] - T_166893[0] := UInt<2>(1) - T_166893[1] := UInt<2>(2) - T_166893[2] := UInt<2>(3) - wire T_166894 : UInt<2>[2] - T_166894[0] := UInt<2>(2) - T_166894[1] := UInt<2>(3) - wire T_166895 : UInt<2>[1] - T_166895[0] := UInt<2>(3) - wire T_166896 : UInt<3>[3] - T_166896[0] := UInt<3>(0) - T_166896[1] := UInt<3>(1) - T_166896[2] := UInt<3>(2) - wire T_166897 : UInt<2>[2] - T_166897[0] := UInt<2>(0) - T_166897[1] := UInt<2>(1) - wire T_166898 : UInt<2>[3] - T_166898[0] := UInt<2>(1) - T_166898[1] := UInt<2>(2) - T_166898[2] := UInt<2>(3) - wire T_166899 : UInt<2>[2] - T_166899[0] := UInt<2>(2) - T_166899[1] := UInt<2>(3) - wire T_166900 : UInt<2>[1] - T_166900[0] := UInt<2>(3) - cmem T_166901 : {fin : {manager_xact_id : UInt<2>}, dst : UInt<2>}[2] - reg T_166902 : UInt<1> - onreset T_166902 := UInt<1>(0) - reg T_166903 : UInt<1> - onreset T_166903 := UInt<1>(0) - reg T_166904 : UInt<1> - onreset T_166904 := UInt<1>(0) - node T_166905 = eq(T_166902, T_166903) - node T_166906 = eq(T_166904, UInt<1>(0)) - node T_166907 = and(T_166905, T_166906) - node T_166908 = and(T_166905, T_166904) - node T_166909 = and(UInt<1>(0), T_166907) - node T_166910 = and(T_166909, deq.ready) - node T_166911 = and(enq.ready, enq.valid) - node T_166912 = eq(T_166910, UInt<1>(0)) - node T_166913 = and(T_166911, T_166912) - node T_166914 = and(deq.ready, deq.valid) - node T_166915 = eq(T_166910, UInt<1>(0)) - node T_166916 = and(T_166914, T_166915) - when T_166913 : - wire T_166917 : UInt<3>[3] - T_166917[0] := UInt<3>(0) - T_166917[1] := UInt<3>(1) - T_166917[2] := UInt<3>(2) - wire T_166918 : UInt<2>[2] - T_166918[0] := UInt<2>(0) - T_166918[1] := UInt<2>(1) - wire T_166919 : UInt<2>[3] - T_166919[0] := UInt<2>(1) - T_166919[1] := UInt<2>(2) - T_166919[2] := UInt<2>(3) - wire T_166920 : UInt<2>[2] - T_166920[0] := UInt<2>(2) - T_166920[1] := UInt<2>(3) - wire T_166921 : UInt<2>[1] - T_166921[0] := UInt<2>(3) - wire T_166922 : UInt<3>[3] - T_166922[0] := UInt<3>(0) - T_166922[1] := UInt<3>(1) - T_166922[2] := UInt<3>(2) - wire T_166923 : UInt<2>[2] - T_166923[0] := UInt<2>(0) - T_166923[1] := UInt<2>(1) - wire T_166924 : UInt<2>[3] - T_166924[0] := UInt<2>(1) - T_166924[1] := UInt<2>(2) - T_166924[2] := UInt<2>(3) - wire T_166925 : UInt<2>[2] - T_166925[0] := UInt<2>(2) - T_166925[1] := UInt<2>(3) - wire T_166926 : UInt<2>[1] - T_166926[0] := UInt<2>(3) - accessor T_166927 = T_166901[T_166902] - T_166927 := enq.bits - node T_166928 = eq(T_166902, UInt<1>(1)) - node T_166929 = and(UInt<1>(0), T_166928) - node T_166930 = addw(T_166902, UInt<1>(1)) - wire T_166931 : UInt<1> - T_166931 := T_166930 - when T_166929 : T_166931 := UInt<1>(0) - T_166902 := T_166931 - when T_166916 : - node T_166932 = eq(T_166903, UInt<1>(1)) - node T_166933 = and(UInt<1>(0), T_166932) - node T_166934 = addw(T_166903, UInt<1>(1)) - wire T_166935 : UInt<1> - T_166935 := T_166934 - when T_166933 : T_166935 := UInt<1>(0) - T_166903 := T_166935 - - node T_166936 = neq(T_166913, T_166916) - when T_166936 : T_166904 := T_166913 - node T_166937 = eq(T_166907, UInt<1>(0)) - node T_166938 = and(UInt<1>(0), enq.valid) - node T_166939 = or(T_166937, T_166938) - deq.valid := T_166939 - node T_166940 = eq(T_166908, UInt<1>(0)) - node T_166941 = and(UInt<1>(0), deq.ready) - node T_166942 = or(T_166940, T_166941) - enq.ready := T_166942 - wire T_166943 : UInt<3>[3] - T_166943[0] := UInt<3>(0) - T_166943[1] := UInt<3>(1) - T_166943[2] := UInt<3>(2) - wire T_166944 : UInt<2>[2] - T_166944[0] := UInt<2>(0) - T_166944[1] := UInt<2>(1) - wire T_166945 : UInt<2>[3] - T_166945[0] := UInt<2>(1) - T_166945[1] := UInt<2>(2) - T_166945[2] := UInt<2>(3) - wire T_166946 : UInt<2>[2] - T_166946[0] := UInt<2>(2) - T_166946[1] := UInt<2>(3) - wire T_166947 : UInt<2>[1] - T_166947[0] := UInt<2>(3) - wire T_166948 : UInt<3>[3] - T_166948[0] := UInt<3>(0) - T_166948[1] := UInt<3>(1) - T_166948[2] := UInt<3>(2) - wire T_166949 : UInt<2>[2] - T_166949[0] := UInt<2>(0) - T_166949[1] := UInt<2>(1) - wire T_166950 : UInt<2>[3] - T_166950[0] := UInt<2>(1) - T_166950[1] := UInt<2>(2) - T_166950[2] := UInt<2>(3) - wire T_166951 : UInt<2>[2] - T_166951[0] := UInt<2>(2) - T_166951[1] := UInt<2>(3) - wire T_166952 : UInt<2>[1] - T_166952[0] := UInt<2>(3) - accessor T_166953 = T_166901[T_166903] - wire T_166954 : UInt<3>[3] - T_166954[0] := UInt<3>(0) - T_166954[1] := UInt<3>(1) - T_166954[2] := UInt<3>(2) - wire T_166955 : UInt<2>[2] - T_166955[0] := UInt<2>(0) - T_166955[1] := UInt<2>(1) - wire T_166956 : UInt<2>[3] - T_166956[0] := UInt<2>(1) - T_166956[1] := UInt<2>(2) - T_166956[2] := UInt<2>(3) - wire T_166957 : UInt<2>[2] - T_166957[0] := UInt<2>(2) - T_166957[1] := UInt<2>(3) - wire T_166958 : UInt<2>[1] - T_166958[0] := UInt<2>(3) - wire T_166959 : UInt<3>[3] - T_166959[0] := UInt<3>(0) - T_166959[1] := UInt<3>(1) - T_166959[2] := UInt<3>(2) - wire T_166960 : UInt<2>[2] - T_166960[0] := UInt<2>(0) - T_166960[1] := UInt<2>(1) - wire T_166961 : UInt<2>[3] - T_166961[0] := UInt<2>(1) - T_166961[1] := UInt<2>(2) - T_166961[2] := UInt<2>(3) - wire T_166962 : UInt<2>[2] - T_166962[0] := UInt<2>(2) - T_166962[1] := UInt<2>(3) - wire T_166963 : UInt<2>[1] - T_166963[0] := UInt<2>(3) - wire T_166964 : {fin : {manager_xact_id : UInt<2>}, dst : UInt<2>} - T_166964 := T_166953 - when T_166909 : T_166964 := enq.bits - deq.bits := T_166964 - node T_166965 = subw(T_166902, T_166903) - node T_166966 = and(T_166904, T_166905) - node T_166967 = cat(T_166966, T_166965) - count := T_166967 - module FinishUnit_25654 : - input grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}} - output refill : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}} - output finish : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {manager_xact_id : UInt<2>}}} - output ready : UInt<1> - - wire T_166968 : UInt<3>[3] - T_166968[0] := UInt<3>(0) - T_166968[1] := UInt<3>(1) - T_166968[2] := UInt<3>(2) - wire T_166969 : UInt<2>[2] - T_166969[0] := UInt<2>(0) - T_166969[1] := UInt<2>(1) - wire T_166970 : UInt<2>[3] - T_166970[0] := UInt<2>(1) - T_166970[1] := UInt<2>(2) - T_166970[2] := UInt<2>(3) - wire T_166971 : UInt<2>[2] - T_166971[0] := UInt<2>(2) - T_166971[1] := UInt<2>(3) - wire T_166972 : UInt<2>[1] - T_166972[0] := UInt<2>(3) - wire T_166973 : UInt<3>[3] - T_166973[0] := UInt<3>(0) - T_166973[1] := UInt<3>(1) - T_166973[2] := UInt<3>(2) - wire T_166974 : UInt<2>[2] - T_166974[0] := UInt<2>(0) - T_166974[1] := UInt<2>(1) - wire T_166975 : UInt<2>[3] - T_166975[0] := UInt<2>(1) - T_166975[1] := UInt<2>(2) - T_166975[2] := UInt<2>(3) - wire T_166976 : UInt<2>[2] - T_166976[0] := UInt<2>(2) - T_166976[1] := UInt<2>(3) - wire T_166977 : UInt<2>[1] - T_166977[0] := UInt<2>(3) - wire T_166978 : UInt<3>[3] - T_166978[0] := UInt<3>(0) - T_166978[1] := UInt<3>(1) - T_166978[2] := UInt<3>(2) - wire T_166979 : UInt<2>[2] - T_166979[0] := UInt<2>(0) - T_166979[1] := UInt<2>(1) - wire T_166980 : UInt<2>[3] - T_166980[0] := UInt<2>(1) - T_166980[1] := UInt<2>(2) - T_166980[2] := UInt<2>(3) - wire T_166981 : UInt<2>[2] - T_166981[0] := UInt<2>(2) - T_166981[1] := UInt<2>(3) - wire T_166982 : UInt<2>[1] - T_166982[0] := UInt<2>(3) - wire T_166983 : UInt<3>[3] - T_166983[0] := UInt<3>(0) - T_166983[1] := UInt<3>(1) - T_166983[2] := UInt<3>(2) - wire T_166984 : UInt<2>[2] - T_166984[0] := UInt<2>(0) - T_166984[1] := UInt<2>(1) - wire T_166985 : UInt<2>[3] - T_166985[0] := UInt<2>(1) - T_166985[1] := UInt<2>(2) - T_166985[2] := UInt<2>(3) - wire T_166986 : UInt<2>[2] - T_166986[0] := UInt<2>(2) - T_166986[1] := UInt<2>(3) - wire T_166987 : UInt<2>[1] - T_166987[0] := UInt<2>(3) - wire T_166988 : UInt<3>[3] - T_166988[0] := UInt<3>(0) - T_166988[1] := UInt<3>(1) - T_166988[2] := UInt<3>(2) - wire T_166989 : UInt<2>[2] - T_166989[0] := UInt<2>(0) - T_166989[1] := UInt<2>(1) - wire T_166990 : UInt<2>[3] - T_166990[0] := UInt<2>(1) - T_166990[1] := UInt<2>(2) - T_166990[2] := UInt<2>(3) - wire T_166991 : UInt<2>[2] - T_166991[0] := UInt<2>(2) - T_166991[1] := UInt<2>(3) - wire T_166992 : UInt<2>[1] - T_166992[0] := UInt<2>(3) - wire T_166993 : UInt<3>[3] - T_166993[0] := UInt<3>(0) - T_166993[1] := UInt<3>(1) - T_166993[2] := UInt<3>(2) - wire T_166994 : UInt<2>[2] - T_166994[0] := UInt<2>(0) - T_166994[1] := UInt<2>(1) - wire T_166995 : UInt<2>[3] - T_166995[0] := UInt<2>(1) - T_166995[1] := UInt<2>(2) - T_166995[2] := UInt<2>(3) - wire T_166996 : UInt<2>[2] - T_166996[0] := UInt<2>(2) - T_166996[1] := UInt<2>(3) - wire T_166997 : UInt<2>[1] - T_166997[0] := UInt<2>(3) - wire T_166998 : UInt<3>[3] - T_166998[0] := UInt<3>(0) - T_166998[1] := UInt<3>(1) - T_166998[2] := UInt<3>(2) - wire T_166999 : UInt<2>[2] - T_166999[0] := UInt<2>(0) - T_166999[1] := UInt<2>(1) - wire T_167000 : UInt<2>[3] - T_167000[0] := UInt<2>(1) - T_167000[1] := UInt<2>(2) - T_167000[2] := UInt<2>(3) - wire T_167001 : UInt<2>[2] - T_167001[0] := UInt<2>(2) - T_167001[1] := UInt<2>(3) - wire T_167002 : UInt<2>[1] - T_167002[0] := UInt<2>(3) - wire T_167003 : UInt<3>[3] - T_167003[0] := UInt<3>(0) - T_167003[1] := UInt<3>(1) - T_167003[2] := UInt<3>(2) - wire T_167004 : UInt<2>[2] - T_167004[0] := UInt<2>(0) - T_167004[1] := UInt<2>(1) - wire T_167005 : UInt<2>[3] - T_167005[0] := UInt<2>(1) - T_167005[1] := UInt<2>(2) - T_167005[2] := UInt<2>(3) - wire T_167006 : UInt<2>[2] - T_167006[0] := UInt<2>(2) - T_167006[1] := UInt<2>(3) - wire T_167007 : UInt<2>[1] - T_167007[0] := UInt<2>(3) - wire T_167008 : UInt<3>[3] - T_167008[0] := UInt<3>(0) - T_167008[1] := UInt<3>(1) - T_167008[2] := UInt<3>(2) - wire T_167009 : UInt<2>[2] - T_167009[0] := UInt<2>(0) - T_167009[1] := UInt<2>(1) - wire T_167010 : UInt<2>[3] - T_167010[0] := UInt<2>(1) - T_167010[1] := UInt<2>(2) - T_167010[2] := UInt<2>(3) - wire T_167011 : UInt<2>[2] - T_167011[0] := UInt<2>(2) - T_167011[1] := UInt<2>(3) - wire T_167012 : UInt<2>[1] - T_167012[0] := UInt<2>(3) - node T_167013 = and(grant.ready, grant.valid) - wire T_167014 : UInt<3>[1] - T_167014[0] := UInt<3>(5) - node T_167015 = eq(T_167014[0], grant.bits.payload.g_type) - node T_167016 = or(UInt<1>(0), T_167015) - node T_167017 = eq(T_166984[0], grant.bits.payload.g_type) - node T_167018 = eq(T_166984[1], grant.bits.payload.g_type) - node T_167019 = or(UInt<1>(0), T_167017) - node T_167020 = or(T_167019, T_167018) - wire T_167021 : UInt<1> - T_167021 := T_167020 - when grant.bits.payload.is_builtin_type : T_167021 := T_167016 - node T_167022 = and(UInt<1>(1), T_167021) - node T_167023 = and(T_167013, T_167022) - reg T_167024 : UInt<2> - onreset T_167024 := UInt<2>(0) - when T_167023 : - node T_167025 = eq(T_167024, UInt<2>(3)) - node T_167026 = and(UInt<1>(0), T_167025) - node T_167027 = addw(T_167024, UInt<1>(1)) - wire T_167028 : UInt<2> - T_167028 := T_167027 - when T_167026 : T_167028 := UInt<1>(0) - T_167024 := T_167028 - node T_167029 = and(T_167023, T_167025) - wire T_167030 : UInt<1> - T_167030 := UInt<1>(0) - when T_167022 : T_167030 := T_167024 - wire T_167031 : UInt<1> - T_167031 := T_167013 - when T_167022 : T_167031 := T_167029 - wire T_167032 : UInt<3>[3] - T_167032[0] := UInt<3>(0) - T_167032[1] := UInt<3>(1) - T_167032[2] := UInt<3>(2) - wire T_167033 : UInt<2>[2] - T_167033[0] := UInt<2>(0) - T_167033[1] := UInt<2>(1) - wire T_167034 : UInt<2>[3] - T_167034[0] := UInt<2>(1) - T_167034[1] := UInt<2>(2) - T_167034[2] := UInt<2>(3) - wire T_167035 : UInt<2>[2] - T_167035[0] := UInt<2>(2) - T_167035[1] := UInt<2>(3) - wire T_167036 : UInt<2>[1] - T_167036[0] := UInt<2>(3) - wire T_167037 : UInt<3>[3] - T_167037[0] := UInt<3>(0) - T_167037[1] := UInt<3>(1) - T_167037[2] := UInt<3>(2) - wire T_167038 : UInt<2>[2] - T_167038[0] := UInt<2>(0) - T_167038[1] := UInt<2>(1) - wire T_167039 : UInt<2>[3] - T_167039[0] := UInt<2>(1) - T_167039[1] := UInt<2>(2) - T_167039[2] := UInt<2>(3) - wire T_167040 : UInt<2>[2] - T_167040[0] := UInt<2>(2) - T_167040[1] := UInt<2>(3) - wire T_167041 : UInt<2>[1] - T_167041[0] := UInt<2>(3) - inst T_167042 of FinishQueue_25492 - node T_167043 = and(grant.ready, grant.valid) - node T_167044 = eq(UInt<1>(0), UInt<1>(0)) - node T_167045 = eq(grant.bits.payload.g_type, UInt<3>(0)) - node T_167046 = and(grant.bits.payload.is_builtin_type, T_167045) - node T_167047 = eq(T_167046, UInt<1>(0)) - node T_167048 = and(T_167044, T_167047) - node T_167049 = and(T_167043, T_167048) - wire T_167050 : UInt<3>[1] - T_167050[0] := UInt<3>(5) - node T_167051 = eq(T_167050[0], grant.bits.payload.g_type) - node T_167052 = or(UInt<1>(0), T_167051) - node T_167053 = eq(T_166984[0], grant.bits.payload.g_type) - node T_167054 = eq(T_166984[1], grant.bits.payload.g_type) - node T_167055 = or(UInt<1>(0), T_167053) - node T_167056 = or(T_167055, T_167054) - wire T_167057 : UInt<1> - T_167057 := T_167056 - when grant.bits.payload.is_builtin_type : T_167057 := T_167052 - node T_167058 = and(UInt<1>(1), T_167057) - node T_167059 = eq(T_167058, UInt<1>(0)) - node T_167060 = or(T_167059, T_167031) - node T_167061 = and(T_167049, T_167060) - T_167042.enq.valid := T_167061 - wire T_167062 : UInt<3>[3] - T_167062[0] := UInt<3>(0) - T_167062[1] := UInt<3>(1) - T_167062[2] := UInt<3>(2) - wire T_167063 : UInt<2>[2] - T_167063[0] := UInt<2>(0) - T_167063[1] := UInt<2>(1) - wire T_167064 : UInt<2>[3] - T_167064[0] := UInt<2>(1) - T_167064[1] := UInt<2>(2) - T_167064[2] := UInt<2>(3) - wire T_167065 : UInt<2>[2] - T_167065[0] := UInt<2>(2) - T_167065[1] := UInt<2>(3) - wire T_167066 : UInt<2>[1] - T_167066[0] := UInt<2>(3) - wire T_167067 : UInt<3>[3] - T_167067[0] := UInt<3>(0) - T_167067[1] := UInt<3>(1) - T_167067[2] := UInt<3>(2) - wire T_167068 : UInt<2>[2] - T_167068[0] := UInt<2>(0) - T_167068[1] := UInt<2>(1) - wire T_167069 : UInt<2>[3] - T_167069[0] := UInt<2>(1) - T_167069[1] := UInt<2>(2) - T_167069[2] := UInt<2>(3) - wire T_167070 : UInt<2>[2] - T_167070[0] := UInt<2>(2) - T_167070[1] := UInt<2>(3) - wire T_167071 : UInt<2>[1] - T_167071[0] := UInt<2>(3) - wire T_167072 : {manager_xact_id : UInt<2>} - T_167072.manager_xact_id := grant.bits.payload.manager_xact_id - T_167042.enq.bits.fin := T_167072 - T_167042.enq.bits.dst := grant.bits.header.src - finish.bits.header.src := UInt<1>(1) - finish.bits.header.dst := T_167042.deq.bits.dst - finish.bits.payload := T_167042.deq.bits.fin - finish.valid := T_167042.deq.valid - T_167042.deq.ready := finish.ready - refill.valid := grant.valid - refill.bits := grant.bits.payload - node T_167073 = eq(UInt<1>(0), UInt<1>(0)) - node T_167074 = eq(grant.bits.payload.g_type, UInt<3>(0)) - node T_167075 = and(grant.bits.payload.is_builtin_type, T_167074) - node T_167076 = eq(T_167075, UInt<1>(0)) - node T_167077 = and(T_167073, T_167076) - node T_167078 = eq(T_167077, UInt<1>(0)) - node T_167079 = or(T_167042.enq.ready, T_167078) - node T_167080 = and(T_167079, refill.ready) - grant.ready := T_167080 - ready := T_167042.enq.ready - module ClientTileLinkNetworkPort_26210 : - input client : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}, flip probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>}}, release : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}} - output network : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}}, finish : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {manager_xact_id : UInt<2>}}}, flip probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, p_type : UInt<2>}}}, release : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}}} - - wire T_167081 : UInt<3>[3] - T_167081[0] := UInt<3>(0) - T_167081[1] := UInt<3>(1) - T_167081[2] := UInt<3>(2) - wire T_167082 : UInt<2>[2] - T_167082[0] := UInt<2>(0) - T_167082[1] := UInt<2>(1) - wire T_167083 : UInt<2>[3] - T_167083[0] := UInt<2>(1) - T_167083[1] := UInt<2>(2) - T_167083[2] := UInt<2>(3) - wire T_167084 : UInt<2>[2] - T_167084[0] := UInt<2>(2) - T_167084[1] := UInt<2>(3) - wire T_167085 : UInt<2>[1] - T_167085[0] := UInt<2>(3) - wire T_167086 : UInt<3>[3] - T_167086[0] := UInt<3>(0) - T_167086[1] := UInt<3>(1) - T_167086[2] := UInt<3>(2) - wire T_167087 : UInt<2>[2] - T_167087[0] := UInt<2>(0) - T_167087[1] := UInt<2>(1) - wire T_167088 : UInt<2>[3] - T_167088[0] := UInt<2>(1) - T_167088[1] := UInt<2>(2) - T_167088[2] := UInt<2>(3) - wire T_167089 : UInt<2>[2] - T_167089[0] := UInt<2>(2) - T_167089[1] := UInt<2>(3) - wire T_167090 : UInt<2>[1] - T_167090[0] := UInt<2>(3) - wire T_167091 : UInt<3>[3] - T_167091[0] := UInt<3>(0) - T_167091[1] := UInt<3>(1) - T_167091[2] := UInt<3>(2) - wire T_167092 : UInt<2>[2] - T_167092[0] := UInt<2>(0) - T_167092[1] := UInt<2>(1) - wire T_167093 : UInt<2>[3] - T_167093[0] := UInt<2>(1) - T_167093[1] := UInt<2>(2) - T_167093[2] := UInt<2>(3) - wire T_167094 : UInt<2>[2] - T_167094[0] := UInt<2>(2) - T_167094[1] := UInt<2>(3) - wire T_167095 : UInt<2>[1] - T_167095[0] := UInt<2>(3) - wire T_167096 : UInt<3>[3] - T_167096[0] := UInt<3>(0) - T_167096[1] := UInt<3>(1) - T_167096[2] := UInt<3>(2) - wire T_167097 : UInt<2>[2] - T_167097[0] := UInt<2>(0) - T_167097[1] := UInt<2>(1) - wire T_167098 : UInt<2>[3] - T_167098[0] := UInt<2>(1) - T_167098[1] := UInt<2>(2) - T_167098[2] := UInt<2>(3) - wire T_167099 : UInt<2>[2] - T_167099[0] := UInt<2>(2) - T_167099[1] := UInt<2>(3) - wire T_167100 : UInt<2>[1] - T_167100[0] := UInt<2>(3) - wire T_167101 : UInt<3>[3] - T_167101[0] := UInt<3>(0) - T_167101[1] := UInt<3>(1) - T_167101[2] := UInt<3>(2) - wire T_167102 : UInt<2>[2] - T_167102[0] := UInt<2>(0) - T_167102[1] := UInt<2>(1) - wire T_167103 : UInt<2>[3] - T_167103[0] := UInt<2>(1) - T_167103[1] := UInt<2>(2) - T_167103[2] := UInt<2>(3) - wire T_167104 : UInt<2>[2] - T_167104[0] := UInt<2>(2) - T_167104[1] := UInt<2>(3) - wire T_167105 : UInt<2>[1] - T_167105[0] := UInt<2>(3) - wire T_167106 : UInt<3>[3] - T_167106[0] := UInt<3>(0) - T_167106[1] := UInt<3>(1) - T_167106[2] := UInt<3>(2) - wire T_167107 : UInt<2>[2] - T_167107[0] := UInt<2>(0) - T_167107[1] := UInt<2>(1) - wire T_167108 : UInt<2>[3] - T_167108[0] := UInt<2>(1) - T_167108[1] := UInt<2>(2) - T_167108[2] := UInt<2>(3) - wire T_167109 : UInt<2>[2] - T_167109[0] := UInt<2>(2) - T_167109[1] := UInt<2>(3) - wire T_167110 : UInt<2>[1] - T_167110[0] := UInt<2>(3) - wire T_167111 : UInt<3>[3] - T_167111[0] := UInt<3>(0) - T_167111[1] := UInt<3>(1) - T_167111[2] := UInt<3>(2) - wire T_167112 : UInt<2>[2] - T_167112[0] := UInt<2>(0) - T_167112[1] := UInt<2>(1) - wire T_167113 : UInt<2>[3] - T_167113[0] := UInt<2>(1) - T_167113[1] := UInt<2>(2) - T_167113[2] := UInt<2>(3) - wire T_167114 : UInt<2>[2] - T_167114[0] := UInt<2>(2) - T_167114[1] := UInt<2>(3) - wire T_167115 : UInt<2>[1] - T_167115[0] := UInt<2>(3) - wire T_167116 : UInt<3>[3] - T_167116[0] := UInt<3>(0) - T_167116[1] := UInt<3>(1) - T_167116[2] := UInt<3>(2) - wire T_167117 : UInt<2>[2] - T_167117[0] := UInt<2>(0) - T_167117[1] := UInt<2>(1) - wire T_167118 : UInt<2>[3] - T_167118[0] := UInt<2>(1) - T_167118[1] := UInt<2>(2) - T_167118[2] := UInt<2>(3) - wire T_167119 : UInt<2>[2] - T_167119[0] := UInt<2>(2) - T_167119[1] := UInt<2>(3) - wire T_167120 : UInt<2>[1] - T_167120[0] := UInt<2>(3) - wire T_167121 : UInt<3>[3] - T_167121[0] := UInt<3>(0) - T_167121[1] := UInt<3>(1) - T_167121[2] := UInt<3>(2) - wire T_167122 : UInt<2>[2] - T_167122[0] := UInt<2>(0) - T_167122[1] := UInt<2>(1) - wire T_167123 : UInt<2>[3] - T_167123[0] := UInt<2>(1) - T_167123[1] := UInt<2>(2) - T_167123[2] := UInt<2>(3) - wire T_167124 : UInt<2>[2] - T_167124[0] := UInt<2>(2) - T_167124[1] := UInt<2>(3) - wire T_167125 : UInt<2>[1] - T_167125[0] := UInt<2>(3) - wire T_167126 : UInt<3>[3] - T_167126[0] := UInt<3>(0) - T_167126[1] := UInt<3>(1) - T_167126[2] := UInt<3>(2) - wire T_167127 : UInt<2>[2] - T_167127[0] := UInt<2>(0) - T_167127[1] := UInt<2>(1) - wire T_167128 : UInt<2>[3] - T_167128[0] := UInt<2>(1) - T_167128[1] := UInt<2>(2) - T_167128[2] := UInt<2>(3) - wire T_167129 : UInt<2>[2] - T_167129[0] := UInt<2>(2) - T_167129[1] := UInt<2>(3) - wire T_167130 : UInt<2>[1] - T_167130[0] := UInt<2>(3) - wire T_167131 : UInt<3>[3] - T_167131[0] := UInt<3>(0) - T_167131[1] := UInt<3>(1) - T_167131[2] := UInt<3>(2) - wire T_167132 : UInt<2>[2] - T_167132[0] := UInt<2>(0) - T_167132[1] := UInt<2>(1) - wire T_167133 : UInt<2>[3] - T_167133[0] := UInt<2>(1) - T_167133[1] := UInt<2>(2) - T_167133[2] := UInt<2>(3) - wire T_167134 : UInt<2>[2] - T_167134[0] := UInt<2>(2) - T_167134[1] := UInt<2>(3) - wire T_167135 : UInt<2>[1] - T_167135[0] := UInt<2>(3) - wire T_167136 : UInt<3>[3] - T_167136[0] := UInt<3>(0) - T_167136[1] := UInt<3>(1) - T_167136[2] := UInt<3>(2) - wire T_167137 : UInt<2>[2] - T_167137[0] := UInt<2>(0) - T_167137[1] := UInt<2>(1) - wire T_167138 : UInt<2>[3] - T_167138[0] := UInt<2>(1) - T_167138[1] := UInt<2>(2) - T_167138[2] := UInt<2>(3) - wire T_167139 : UInt<2>[2] - T_167139[0] := UInt<2>(2) - T_167139[1] := UInt<2>(3) - wire T_167140 : UInt<2>[1] - T_167140[0] := UInt<2>(3) - wire T_167141 : UInt<3>[3] - T_167141[0] := UInt<3>(0) - T_167141[1] := UInt<3>(1) - T_167141[2] := UInt<3>(2) - wire T_167142 : UInt<2>[2] - T_167142[0] := UInt<2>(0) - T_167142[1] := UInt<2>(1) - wire T_167143 : UInt<2>[3] - T_167143[0] := UInt<2>(1) - T_167143[1] := UInt<2>(2) - T_167143[2] := UInt<2>(3) - wire T_167144 : UInt<2>[2] - T_167144[0] := UInt<2>(2) - T_167144[1] := UInt<2>(3) - wire T_167145 : UInt<2>[1] - T_167145[0] := UInt<2>(3) - wire T_167146 : UInt<3>[3] - T_167146[0] := UInt<3>(0) - T_167146[1] := UInt<3>(1) - T_167146[2] := UInt<3>(2) - wire T_167147 : UInt<2>[2] - T_167147[0] := UInt<2>(0) - T_167147[1] := UInt<2>(1) - wire T_167148 : UInt<2>[3] - T_167148[0] := UInt<2>(1) - T_167148[1] := UInt<2>(2) - T_167148[2] := UInt<2>(3) - wire T_167149 : UInt<2>[2] - T_167149[0] := UInt<2>(2) - T_167149[1] := UInt<2>(3) - wire T_167150 : UInt<2>[1] - T_167150[0] := UInt<2>(3) - wire T_167151 : UInt<3>[3] - T_167151[0] := UInt<3>(0) - T_167151[1] := UInt<3>(1) - T_167151[2] := UInt<3>(2) - wire T_167152 : UInt<2>[2] - T_167152[0] := UInt<2>(0) - T_167152[1] := UInt<2>(1) - wire T_167153 : UInt<2>[3] - T_167153[0] := UInt<2>(1) - T_167153[1] := UInt<2>(2) - T_167153[2] := UInt<2>(3) - wire T_167154 : UInt<2>[2] - T_167154[0] := UInt<2>(2) - T_167154[1] := UInt<2>(3) - wire T_167155 : UInt<2>[1] - T_167155[0] := UInt<2>(3) - wire T_167156 : UInt<3>[3] - T_167156[0] := UInt<3>(0) - T_167156[1] := UInt<3>(1) - T_167156[2] := UInt<3>(2) - wire T_167157 : UInt<2>[2] - T_167157[0] := UInt<2>(0) - T_167157[1] := UInt<2>(1) - wire T_167158 : UInt<2>[3] - T_167158[0] := UInt<2>(1) - T_167158[1] := UInt<2>(2) - T_167158[2] := UInt<2>(3) - wire T_167159 : UInt<2>[2] - T_167159[0] := UInt<2>(2) - T_167159[1] := UInt<2>(3) - wire T_167160 : UInt<2>[1] - T_167160[0] := UInt<2>(3) - wire T_167161 : UInt<3>[3] - T_167161[0] := UInt<3>(0) - T_167161[1] := UInt<3>(1) - T_167161[2] := UInt<3>(2) - wire T_167162 : UInt<2>[2] - T_167162[0] := UInt<2>(0) - T_167162[1] := UInt<2>(1) - wire T_167163 : UInt<2>[3] - T_167163[0] := UInt<2>(1) - T_167163[1] := UInt<2>(2) - T_167163[2] := UInt<2>(3) - wire T_167164 : UInt<2>[2] - T_167164[0] := UInt<2>(2) - T_167164[1] := UInt<2>(3) - wire T_167165 : UInt<2>[1] - T_167165[0] := UInt<2>(3) - wire T_167166 : UInt<3>[3] - T_167166[0] := UInt<3>(0) - T_167166[1] := UInt<3>(1) - T_167166[2] := UInt<3>(2) - wire T_167167 : UInt<2>[2] - T_167167[0] := UInt<2>(0) - T_167167[1] := UInt<2>(1) - wire T_167168 : UInt<2>[3] - T_167168[0] := UInt<2>(1) - T_167168[1] := UInt<2>(2) - T_167168[2] := UInt<2>(3) - wire T_167169 : UInt<2>[2] - T_167169[0] := UInt<2>(2) - T_167169[1] := UInt<2>(3) - wire T_167170 : UInt<2>[1] - T_167170[0] := UInt<2>(3) - wire T_167171 : UInt<3>[3] - T_167171[0] := UInt<3>(0) - T_167171[1] := UInt<3>(1) - T_167171[2] := UInt<3>(2) - wire T_167172 : UInt<2>[2] - T_167172[0] := UInt<2>(0) - T_167172[1] := UInt<2>(1) - wire T_167173 : UInt<2>[3] - T_167173[0] := UInt<2>(1) - T_167173[1] := UInt<2>(2) - T_167173[2] := UInt<2>(3) - wire T_167174 : UInt<2>[2] - T_167174[0] := UInt<2>(2) - T_167174[1] := UInt<2>(3) - wire T_167175 : UInt<2>[1] - T_167175[0] := UInt<2>(3) - wire T_167176 : UInt<3>[3] - T_167176[0] := UInt<3>(0) - T_167176[1] := UInt<3>(1) - T_167176[2] := UInt<3>(2) - wire T_167177 : UInt<2>[2] - T_167177[0] := UInt<2>(0) - T_167177[1] := UInt<2>(1) - wire T_167178 : UInt<2>[3] - T_167178[0] := UInt<2>(1) - T_167178[1] := UInt<2>(2) - T_167178[2] := UInt<2>(3) - wire T_167179 : UInt<2>[2] - T_167179[0] := UInt<2>(2) - T_167179[1] := UInt<2>(3) - wire T_167180 : UInt<2>[1] - T_167180[0] := UInt<2>(3) - wire T_167181 : UInt<3>[3] - T_167181[0] := UInt<3>(0) - T_167181[1] := UInt<3>(1) - T_167181[2] := UInt<3>(2) - wire T_167182 : UInt<2>[2] - T_167182[0] := UInt<2>(0) - T_167182[1] := UInt<2>(1) - wire T_167183 : UInt<2>[3] - T_167183[0] := UInt<2>(1) - T_167183[1] := UInt<2>(2) - T_167183[2] := UInt<2>(3) - wire T_167184 : UInt<2>[2] - T_167184[0] := UInt<2>(2) - T_167184[1] := UInt<2>(3) - wire T_167185 : UInt<2>[1] - T_167185[0] := UInt<2>(3) - wire T_167186 : UInt<3>[3] - T_167186[0] := UInt<3>(0) - T_167186[1] := UInt<3>(1) - T_167186[2] := UInt<3>(2) - wire T_167187 : UInt<2>[2] - T_167187[0] := UInt<2>(0) - T_167187[1] := UInt<2>(1) - wire T_167188 : UInt<2>[3] - T_167188[0] := UInt<2>(1) - T_167188[1] := UInt<2>(2) - T_167188[2] := UInt<2>(3) - wire T_167189 : UInt<2>[2] - T_167189[0] := UInt<2>(2) - T_167189[1] := UInt<2>(3) - wire T_167190 : UInt<2>[1] - T_167190[0] := UInt<2>(3) - wire T_167191 : UInt<3>[3] - T_167191[0] := UInt<3>(0) - T_167191[1] := UInt<3>(1) - T_167191[2] := UInt<3>(2) - wire T_167192 : UInt<2>[2] - T_167192[0] := UInt<2>(0) - T_167192[1] := UInt<2>(1) - wire T_167193 : UInt<2>[3] - T_167193[0] := UInt<2>(1) - T_167193[1] := UInt<2>(2) - T_167193[2] := UInt<2>(3) - wire T_167194 : UInt<2>[2] - T_167194[0] := UInt<2>(2) - T_167194[1] := UInt<2>(3) - wire T_167195 : UInt<2>[1] - T_167195[0] := UInt<2>(3) - wire T_167196 : UInt<3>[3] - T_167196[0] := UInt<3>(0) - T_167196[1] := UInt<3>(1) - T_167196[2] := UInt<3>(2) - wire T_167197 : UInt<2>[2] - T_167197[0] := UInt<2>(0) - T_167197[1] := UInt<2>(1) - wire T_167198 : UInt<2>[3] - T_167198[0] := UInt<2>(1) - T_167198[1] := UInt<2>(2) - T_167198[2] := UInt<2>(3) - wire T_167199 : UInt<2>[2] - T_167199[0] := UInt<2>(2) - T_167199[1] := UInt<2>(3) - wire T_167200 : UInt<2>[1] - T_167200[0] := UInt<2>(3) - wire T_167201 : UInt<3>[3] - T_167201[0] := UInt<3>(0) - T_167201[1] := UInt<3>(1) - T_167201[2] := UInt<3>(2) - wire T_167202 : UInt<2>[2] - T_167202[0] := UInt<2>(0) - T_167202[1] := UInt<2>(1) - wire T_167203 : UInt<2>[3] - T_167203[0] := UInt<2>(1) - T_167203[1] := UInt<2>(2) - T_167203[2] := UInt<2>(3) - wire T_167204 : UInt<2>[2] - T_167204[0] := UInt<2>(2) - T_167204[1] := UInt<2>(3) - wire T_167205 : UInt<2>[1] - T_167205[0] := UInt<2>(3) - wire T_167206 : UInt<3>[3] - T_167206[0] := UInt<3>(0) - T_167206[1] := UInt<3>(1) - T_167206[2] := UInt<3>(2) - wire T_167207 : UInt<2>[2] - T_167207[0] := UInt<2>(0) - T_167207[1] := UInt<2>(1) - wire T_167208 : UInt<2>[3] - T_167208[0] := UInt<2>(1) - T_167208[1] := UInt<2>(2) - T_167208[2] := UInt<2>(3) - wire T_167209 : UInt<2>[2] - T_167209[0] := UInt<2>(2) - T_167209[1] := UInt<2>(3) - wire T_167210 : UInt<2>[1] - T_167210[0] := UInt<2>(3) - inst finisher of FinishUnit_25654 - finisher.grant <> network.grant - network.finish <> finisher.finish - wire T_167211 : UInt<3>[3] - T_167211[0] := UInt<3>(0) - T_167211[1] := UInt<3>(1) - T_167211[2] := UInt<3>(2) - wire T_167212 : UInt<2>[2] - T_167212[0] := UInt<2>(0) - T_167212[1] := UInt<2>(1) - wire T_167213 : UInt<2>[3] - T_167213[0] := UInt<2>(1) - T_167213[1] := UInt<2>(2) - T_167213[2] := UInt<2>(3) - wire T_167214 : UInt<2>[2] - T_167214[0] := UInt<2>(2) - T_167214[1] := UInt<2>(3) - wire T_167215 : UInt<2>[1] - T_167215[0] := UInt<2>(3) - wire T_167216 : UInt<3>[3] - T_167216[0] := UInt<3>(0) - T_167216[1] := UInt<3>(1) - T_167216[2] := UInt<3>(2) - wire T_167217 : UInt<2>[2] - T_167217[0] := UInt<2>(0) - T_167217[1] := UInt<2>(1) - wire T_167218 : UInt<2>[3] - T_167218[0] := UInt<2>(1) - T_167218[1] := UInt<2>(2) - T_167218[2] := UInt<2>(3) - wire T_167219 : UInt<2>[2] - T_167219[0] := UInt<2>(2) - T_167219[1] := UInt<2>(3) - wire T_167220 : UInt<2>[1] - T_167220[0] := UInt<2>(3) - wire T_167221 : UInt<3>[3] - T_167221[0] := UInt<3>(0) - T_167221[1] := UInt<3>(1) - T_167221[2] := UInt<3>(2) - wire T_167222 : UInt<2>[2] - T_167222[0] := UInt<2>(0) - T_167222[1] := UInt<2>(1) - wire T_167223 : UInt<2>[3] - T_167223[0] := UInt<2>(1) - T_167223[1] := UInt<2>(2) - T_167223[2] := UInt<2>(3) - wire T_167224 : UInt<2>[2] - T_167224[0] := UInt<2>(2) - T_167224[1] := UInt<2>(3) - wire T_167225 : UInt<2>[1] - T_167225[0] := UInt<2>(3) - wire acq_with_header : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}} - acq_with_header.bits.payload := client.acquire.bits - acq_with_header.bits.header.src := UInt<1>(1) - acq_with_header.bits.header.dst := UInt<1>(0) - acq_with_header.valid := client.acquire.valid - client.acquire.ready := acq_with_header.ready - wire T_167226 : UInt<3>[3] - T_167226[0] := UInt<3>(0) - T_167226[1] := UInt<3>(1) - T_167226[2] := UInt<3>(2) - wire T_167227 : UInt<2>[2] - T_167227[0] := UInt<2>(0) - T_167227[1] := UInt<2>(1) - wire T_167228 : UInt<2>[3] - T_167228[0] := UInt<2>(1) - T_167228[1] := UInt<2>(2) - T_167228[2] := UInt<2>(3) - wire T_167229 : UInt<2>[2] - T_167229[0] := UInt<2>(2) - T_167229[1] := UInt<2>(3) - wire T_167230 : UInt<2>[1] - T_167230[0] := UInt<2>(3) - wire T_167231 : UInt<3>[3] - T_167231[0] := UInt<3>(0) - T_167231[1] := UInt<3>(1) - T_167231[2] := UInt<3>(2) - wire T_167232 : UInt<2>[2] - T_167232[0] := UInt<2>(0) - T_167232[1] := UInt<2>(1) - wire T_167233 : UInt<2>[3] - T_167233[0] := UInt<2>(1) - T_167233[1] := UInt<2>(2) - T_167233[2] := UInt<2>(3) - wire T_167234 : UInt<2>[2] - T_167234[0] := UInt<2>(2) - T_167234[1] := UInt<2>(3) - wire T_167235 : UInt<2>[1] - T_167235[0] := UInt<2>(3) - wire T_167236 : UInt<3>[3] - T_167236[0] := UInt<3>(0) - T_167236[1] := UInt<3>(1) - T_167236[2] := UInt<3>(2) - wire T_167237 : UInt<2>[2] - T_167237[0] := UInt<2>(0) - T_167237[1] := UInt<2>(1) - wire T_167238 : UInt<2>[3] - T_167238[0] := UInt<2>(1) - T_167238[1] := UInt<2>(2) - T_167238[2] := UInt<2>(3) - wire T_167239 : UInt<2>[2] - T_167239[0] := UInt<2>(2) - T_167239[1] := UInt<2>(3) - wire T_167240 : UInt<2>[1] - T_167240[0] := UInt<2>(3) - wire rel_with_header : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}} - rel_with_header.bits.payload := client.release.bits - rel_with_header.bits.header.src := UInt<1>(1) - rel_with_header.bits.header.dst := UInt<1>(0) - rel_with_header.valid := client.release.valid - client.release.ready := rel_with_header.ready - wire T_167241 : UInt<3>[3] - T_167241[0] := UInt<3>(0) - T_167241[1] := UInt<3>(1) - T_167241[2] := UInt<3>(2) - wire T_167242 : UInt<2>[2] - T_167242[0] := UInt<2>(0) - T_167242[1] := UInt<2>(1) - wire T_167243 : UInt<2>[3] - T_167243[0] := UInt<2>(1) - T_167243[1] := UInt<2>(2) - T_167243[2] := UInt<2>(3) - wire T_167244 : UInt<2>[2] - T_167244[0] := UInt<2>(2) - T_167244[1] := UInt<2>(3) - wire T_167245 : UInt<2>[1] - T_167245[0] := UInt<2>(3) - wire T_167246 : UInt<3>[3] - T_167246[0] := UInt<3>(0) - T_167246[1] := UInt<3>(1) - T_167246[2] := UInt<3>(2) - wire T_167247 : UInt<2>[2] - T_167247[0] := UInt<2>(0) - T_167247[1] := UInt<2>(1) - wire T_167248 : UInt<2>[3] - T_167248[0] := UInt<2>(1) - T_167248[1] := UInt<2>(2) - T_167248[2] := UInt<2>(3) - wire T_167249 : UInt<2>[2] - T_167249[0] := UInt<2>(2) - T_167249[1] := UInt<2>(3) - wire T_167250 : UInt<2>[1] - T_167250[0] := UInt<2>(3) - wire prb_without_header : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>}} - prb_without_header.valid := network.probe.valid - prb_without_header.bits := network.probe.bits.payload - network.probe.ready := prb_without_header.ready - network.acquire.bits := acq_with_header.bits - node T_167251 = and(acq_with_header.valid, finisher.ready) - network.acquire.valid := T_167251 - node T_167252 = and(network.acquire.ready, finisher.ready) - acq_with_header.ready := T_167252 - network.release <> rel_with_header - client.probe <> prb_without_header - client.grant <> finisher.refill - module Queue_28995 : - input enq : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}} - output deq : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}} - output count : UInt<2> - - wire T_167253 : UInt<3>[3] - T_167253[0] := UInt<3>(0) - T_167253[1] := UInt<3>(1) - T_167253[2] := UInt<3>(2) - wire T_167254 : UInt<2>[2] - T_167254[0] := UInt<2>(0) - T_167254[1] := UInt<2>(1) - wire T_167255 : UInt<2>[3] - T_167255[0] := UInt<2>(1) - T_167255[1] := UInt<2>(2) - T_167255[2] := UInt<2>(3) - wire T_167256 : UInt<2>[2] - T_167256[0] := UInt<2>(2) - T_167256[1] := UInt<2>(3) - wire T_167257 : UInt<2>[1] - T_167257[0] := UInt<2>(3) - wire T_167258 : UInt<3>[3] - T_167258[0] := UInt<3>(0) - T_167258[1] := UInt<3>(1) - T_167258[2] := UInt<3>(2) - wire T_167259 : UInt<2>[2] - T_167259[0] := UInt<2>(0) - T_167259[1] := UInt<2>(1) - wire T_167260 : UInt<2>[3] - T_167260[0] := UInt<2>(1) - T_167260[1] := UInt<2>(2) - T_167260[2] := UInt<2>(3) - wire T_167261 : UInt<2>[2] - T_167261[0] := UInt<2>(2) - T_167261[1] := UInt<2>(3) - wire T_167262 : UInt<2>[1] - T_167262[0] := UInt<2>(3) - wire T_167263 : UInt<3>[3] - T_167263[0] := UInt<3>(0) - T_167263[1] := UInt<3>(1) - T_167263[2] := UInt<3>(2) - wire T_167264 : UInt<2>[2] - T_167264[0] := UInt<2>(0) - T_167264[1] := UInt<2>(1) - wire T_167265 : UInt<2>[3] - T_167265[0] := UInt<2>(1) - T_167265[1] := UInt<2>(2) - T_167265[2] := UInt<2>(3) - wire T_167266 : UInt<2>[2] - T_167266[0] := UInt<2>(2) - T_167266[1] := UInt<2>(3) - wire T_167267 : UInt<2>[1] - T_167267[0] := UInt<2>(3) - wire T_167268 : UInt<3>[3] - T_167268[0] := UInt<3>(0) - T_167268[1] := UInt<3>(1) - T_167268[2] := UInt<3>(2) - wire T_167269 : UInt<2>[2] - T_167269[0] := UInt<2>(0) - T_167269[1] := UInt<2>(1) - wire T_167270 : UInt<2>[3] - T_167270[0] := UInt<2>(1) - T_167270[1] := UInt<2>(2) - T_167270[2] := UInt<2>(3) - wire T_167271 : UInt<2>[2] - T_167271[0] := UInt<2>(2) - T_167271[1] := UInt<2>(3) - wire T_167272 : UInt<2>[1] - T_167272[0] := UInt<2>(3) - wire T_167273 : UInt<3>[3] - T_167273[0] := UInt<3>(0) - T_167273[1] := UInt<3>(1) - T_167273[2] := UInt<3>(2) - wire T_167274 : UInt<2>[2] - T_167274[0] := UInt<2>(0) - T_167274[1] := UInt<2>(1) - wire T_167275 : UInt<2>[3] - T_167275[0] := UInt<2>(1) - T_167275[1] := UInt<2>(2) - T_167275[2] := UInt<2>(3) - wire T_167276 : UInt<2>[2] - T_167276[0] := UInt<2>(2) - T_167276[1] := UInt<2>(3) - wire T_167277 : UInt<2>[1] - T_167277[0] := UInt<2>(3) - cmem ram : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}[2] - reg T_167278 : UInt<1> - onreset T_167278 := UInt<1>(0) - reg T_167279 : UInt<1> - onreset T_167279 := UInt<1>(0) - reg maybe_full : UInt<1> - onreset maybe_full := UInt<1>(0) - node ptr_match = eq(T_167278, T_167279) - node T_167280 = eq(maybe_full, UInt<1>(0)) - node empty = and(ptr_match, T_167280) - node full = and(ptr_match, maybe_full) - node maybe_flow = and(UInt<1>(0), empty) - node do_flow = and(maybe_flow, deq.ready) - node T_167281 = and(enq.ready, enq.valid) - node T_167282 = eq(do_flow, UInt<1>(0)) - node do_enq = and(T_167281, T_167282) - node T_167283 = and(deq.ready, deq.valid) - node T_167284 = eq(do_flow, UInt<1>(0)) - node do_deq = and(T_167283, T_167284) - when do_enq : - wire T_167285 : UInt<3>[3] - T_167285[0] := UInt<3>(0) - T_167285[1] := UInt<3>(1) - T_167285[2] := UInt<3>(2) - wire T_167286 : UInt<2>[2] - T_167286[0] := UInt<2>(0) - T_167286[1] := UInt<2>(1) - wire T_167287 : UInt<2>[3] - T_167287[0] := UInt<2>(1) - T_167287[1] := UInt<2>(2) - T_167287[2] := UInt<2>(3) - wire T_167288 : UInt<2>[2] - T_167288[0] := UInt<2>(2) - T_167288[1] := UInt<2>(3) - wire T_167289 : UInt<2>[1] - T_167289[0] := UInt<2>(3) - accessor T_167290 = ram[T_167278] - T_167290 := enq.bits - node T_167291 = eq(T_167278, UInt<1>(1)) - node T_167292 = and(UInt<1>(0), T_167291) - node T_167293 = addw(T_167278, UInt<1>(1)) - wire T_167294 : UInt<1> - T_167294 := T_167293 - when T_167292 : T_167294 := UInt<1>(0) - T_167278 := T_167294 - when do_deq : - node T_167295 = eq(T_167279, UInt<1>(1)) - node T_167296 = and(UInt<1>(0), T_167295) - node T_167297 = addw(T_167279, UInt<1>(1)) - wire T_167298 : UInt<1> - T_167298 := T_167297 - when T_167296 : T_167298 := UInt<1>(0) - T_167279 := T_167298 - - node T_167299 = neq(do_enq, do_deq) - when T_167299 : maybe_full := do_enq - node T_167300 = eq(empty, UInt<1>(0)) - node T_167301 = and(UInt<1>(0), enq.valid) - node T_167302 = or(T_167300, T_167301) - deq.valid := T_167302 - node T_167303 = eq(full, UInt<1>(0)) - node T_167304 = and(UInt<1>(0), deq.ready) - node T_167305 = or(T_167303, T_167304) - enq.ready := T_167305 - wire T_167306 : UInt<3>[3] - T_167306[0] := UInt<3>(0) - T_167306[1] := UInt<3>(1) - T_167306[2] := UInt<3>(2) - wire T_167307 : UInt<2>[2] - T_167307[0] := UInt<2>(0) - T_167307[1] := UInt<2>(1) - wire T_167308 : UInt<2>[3] - T_167308[0] := UInt<2>(1) - T_167308[1] := UInt<2>(2) - T_167308[2] := UInt<2>(3) - wire T_167309 : UInt<2>[2] - T_167309[0] := UInt<2>(2) - T_167309[1] := UInt<2>(3) - wire T_167310 : UInt<2>[1] - T_167310[0] := UInt<2>(3) - accessor T_167311 = ram[T_167279] - wire T_167312 : UInt<3>[3] - T_167312[0] := UInt<3>(0) - T_167312[1] := UInt<3>(1) - T_167312[2] := UInt<3>(2) - wire T_167313 : UInt<2>[2] - T_167313[0] := UInt<2>(0) - T_167313[1] := UInt<2>(1) - wire T_167314 : UInt<2>[3] - T_167314[0] := UInt<2>(1) - T_167314[1] := UInt<2>(2) - T_167314[2] := UInt<2>(3) - wire T_167315 : UInt<2>[2] - T_167315[0] := UInt<2>(2) - T_167315[1] := UInt<2>(3) - wire T_167316 : UInt<2>[1] - T_167316[0] := UInt<2>(3) - wire T_167317 : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}} - T_167317 := T_167311 - when maybe_flow : T_167317 := enq.bits - deq.bits := T_167317 - node ptr_diff = subw(T_167278, T_167279) - node T_167318 = and(maybe_full, ptr_match) - node T_167319 = cat(T_167318, ptr_diff) - count := T_167319 - module Queue_29634 : - input enq : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, p_type : UInt<2>}}} - output deq : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, p_type : UInt<2>}}} - output count : UInt<2> - - wire T_167320 : UInt<3>[3] - T_167320[0] := UInt<3>(0) - T_167320[1] := UInt<3>(1) - T_167320[2] := UInt<3>(2) - wire T_167321 : UInt<2>[2] - T_167321[0] := UInt<2>(0) - T_167321[1] := UInt<2>(1) - wire T_167322 : UInt<2>[3] - T_167322[0] := UInt<2>(1) - T_167322[1] := UInt<2>(2) - T_167322[2] := UInt<2>(3) - wire T_167323 : UInt<2>[2] - T_167323[0] := UInt<2>(2) - T_167323[1] := UInt<2>(3) - wire T_167324 : UInt<2>[1] - T_167324[0] := UInt<2>(3) - wire T_167325 : UInt<3>[3] - T_167325[0] := UInt<3>(0) - T_167325[1] := UInt<3>(1) - T_167325[2] := UInt<3>(2) - wire T_167326 : UInt<2>[2] - T_167326[0] := UInt<2>(0) - T_167326[1] := UInt<2>(1) - wire T_167327 : UInt<2>[3] - T_167327[0] := UInt<2>(1) - T_167327[1] := UInt<2>(2) - T_167327[2] := UInt<2>(3) - wire T_167328 : UInt<2>[2] - T_167328[0] := UInt<2>(2) - T_167328[1] := UInt<2>(3) - wire T_167329 : UInt<2>[1] - T_167329[0] := UInt<2>(3) - wire T_167330 : UInt<3>[3] - T_167330[0] := UInt<3>(0) - T_167330[1] := UInt<3>(1) - T_167330[2] := UInt<3>(2) - wire T_167331 : UInt<2>[2] - T_167331[0] := UInt<2>(0) - T_167331[1] := UInt<2>(1) - wire T_167332 : UInt<2>[3] - T_167332[0] := UInt<2>(1) - T_167332[1] := UInt<2>(2) - T_167332[2] := UInt<2>(3) - wire T_167333 : UInt<2>[2] - T_167333[0] := UInt<2>(2) - T_167333[1] := UInt<2>(3) - wire T_167334 : UInt<2>[1] - T_167334[0] := UInt<2>(3) - wire T_167335 : UInt<3>[3] - T_167335[0] := UInt<3>(0) - T_167335[1] := UInt<3>(1) - T_167335[2] := UInt<3>(2) - wire T_167336 : UInt<2>[2] - T_167336[0] := UInt<2>(0) - T_167336[1] := UInt<2>(1) - wire T_167337 : UInt<2>[3] - T_167337[0] := UInt<2>(1) - T_167337[1] := UInt<2>(2) - T_167337[2] := UInt<2>(3) - wire T_167338 : UInt<2>[2] - T_167338[0] := UInt<2>(2) - T_167338[1] := UInt<2>(3) - wire T_167339 : UInt<2>[1] - T_167339[0] := UInt<2>(3) - wire T_167340 : UInt<3>[3] - T_167340[0] := UInt<3>(0) - T_167340[1] := UInt<3>(1) - T_167340[2] := UInt<3>(2) - wire T_167341 : UInt<2>[2] - T_167341[0] := UInt<2>(0) - T_167341[1] := UInt<2>(1) - wire T_167342 : UInt<2>[3] - T_167342[0] := UInt<2>(1) - T_167342[1] := UInt<2>(2) - T_167342[2] := UInt<2>(3) - wire T_167343 : UInt<2>[2] - T_167343[0] := UInt<2>(2) - T_167343[1] := UInt<2>(3) - wire T_167344 : UInt<2>[1] - T_167344[0] := UInt<2>(3) - cmem ram : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, p_type : UInt<2>}}[2] - reg T_167345 : UInt<1> - onreset T_167345 := UInt<1>(0) - reg T_167346 : UInt<1> - onreset T_167346 := UInt<1>(0) - reg maybe_full : UInt<1> - onreset maybe_full := UInt<1>(0) - node ptr_match = eq(T_167345, T_167346) - node T_167347 = eq(maybe_full, UInt<1>(0)) - node empty = and(ptr_match, T_167347) - node full = and(ptr_match, maybe_full) - node maybe_flow = and(UInt<1>(0), empty) - node do_flow = and(maybe_flow, deq.ready) - node T_167348 = and(enq.ready, enq.valid) - node T_167349 = eq(do_flow, UInt<1>(0)) - node do_enq = and(T_167348, T_167349) - node T_167350 = and(deq.ready, deq.valid) - node T_167351 = eq(do_flow, UInt<1>(0)) - node do_deq = and(T_167350, T_167351) - when do_enq : - wire T_167352 : UInt<3>[3] - T_167352[0] := UInt<3>(0) - T_167352[1] := UInt<3>(1) - T_167352[2] := UInt<3>(2) - wire T_167353 : UInt<2>[2] - T_167353[0] := UInt<2>(0) - T_167353[1] := UInt<2>(1) - wire T_167354 : UInt<2>[3] - T_167354[0] := UInt<2>(1) - T_167354[1] := UInt<2>(2) - T_167354[2] := UInt<2>(3) - wire T_167355 : UInt<2>[2] - T_167355[0] := UInt<2>(2) - T_167355[1] := UInt<2>(3) - wire T_167356 : UInt<2>[1] - T_167356[0] := UInt<2>(3) - accessor T_167357 = ram[T_167345] - T_167357 := enq.bits - node T_167358 = eq(T_167345, UInt<1>(1)) - node T_167359 = and(UInt<1>(0), T_167358) - node T_167360 = addw(T_167345, UInt<1>(1)) - wire T_167361 : UInt<1> - T_167361 := T_167360 - when T_167359 : T_167361 := UInt<1>(0) - T_167345 := T_167361 - when do_deq : - node T_167362 = eq(T_167346, UInt<1>(1)) - node T_167363 = and(UInt<1>(0), T_167362) - node T_167364 = addw(T_167346, UInt<1>(1)) - wire T_167365 : UInt<1> - T_167365 := T_167364 - when T_167363 : T_167365 := UInt<1>(0) - T_167346 := T_167365 - - node T_167366 = neq(do_enq, do_deq) - when T_167366 : maybe_full := do_enq - node T_167367 = eq(empty, UInt<1>(0)) - node T_167368 = and(UInt<1>(0), enq.valid) - node T_167369 = or(T_167367, T_167368) - deq.valid := T_167369 - node T_167370 = eq(full, UInt<1>(0)) - node T_167371 = and(UInt<1>(0), deq.ready) - node T_167372 = or(T_167370, T_167371) - enq.ready := T_167372 - wire T_167373 : UInt<3>[3] - T_167373[0] := UInt<3>(0) - T_167373[1] := UInt<3>(1) - T_167373[2] := UInt<3>(2) - wire T_167374 : UInt<2>[2] - T_167374[0] := UInt<2>(0) - T_167374[1] := UInt<2>(1) - wire T_167375 : UInt<2>[3] - T_167375[0] := UInt<2>(1) - T_167375[1] := UInt<2>(2) - T_167375[2] := UInt<2>(3) - wire T_167376 : UInt<2>[2] - T_167376[0] := UInt<2>(2) - T_167376[1] := UInt<2>(3) - wire T_167377 : UInt<2>[1] - T_167377[0] := UInt<2>(3) - accessor T_167378 = ram[T_167346] - wire T_167379 : UInt<3>[3] - T_167379[0] := UInt<3>(0) - T_167379[1] := UInt<3>(1) - T_167379[2] := UInt<3>(2) - wire T_167380 : UInt<2>[2] - T_167380[0] := UInt<2>(0) - T_167380[1] := UInt<2>(1) - wire T_167381 : UInt<2>[3] - T_167381[0] := UInt<2>(1) - T_167381[1] := UInt<2>(2) - T_167381[2] := UInt<2>(3) - wire T_167382 : UInt<2>[2] - T_167382[0] := UInt<2>(2) - T_167382[1] := UInt<2>(3) - wire T_167383 : UInt<2>[1] - T_167383[0] := UInt<2>(3) - wire T_167384 : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, p_type : UInt<2>}} - T_167384 := T_167378 - when maybe_flow : T_167384 := enq.bits - deq.bits := T_167384 - node ptr_diff = subw(T_167345, T_167346) - node T_167385 = and(maybe_full, ptr_match) - node T_167386 = cat(T_167385, ptr_diff) - count := T_167386 - module Queue_30309 : - input enq : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}} - output deq : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}} - output count : UInt<2> - - wire T_167387 : UInt<3>[3] - T_167387[0] := UInt<3>(0) - T_167387[1] := UInt<3>(1) - T_167387[2] := UInt<3>(2) - wire T_167388 : UInt<2>[2] - T_167388[0] := UInt<2>(0) - T_167388[1] := UInt<2>(1) - wire T_167389 : UInt<2>[3] - T_167389[0] := UInt<2>(1) - T_167389[1] := UInt<2>(2) - T_167389[2] := UInt<2>(3) - wire T_167390 : UInt<2>[2] - T_167390[0] := UInt<2>(2) - T_167390[1] := UInt<2>(3) - wire T_167391 : UInt<2>[1] - T_167391[0] := UInt<2>(3) - wire T_167392 : UInt<3>[3] - T_167392[0] := UInt<3>(0) - T_167392[1] := UInt<3>(1) - T_167392[2] := UInt<3>(2) - wire T_167393 : UInt<2>[2] - T_167393[0] := UInt<2>(0) - T_167393[1] := UInt<2>(1) - wire T_167394 : UInt<2>[3] - T_167394[0] := UInt<2>(1) - T_167394[1] := UInt<2>(2) - T_167394[2] := UInt<2>(3) - wire T_167395 : UInt<2>[2] - T_167395[0] := UInt<2>(2) - T_167395[1] := UInt<2>(3) - wire T_167396 : UInt<2>[1] - T_167396[0] := UInt<2>(3) - wire T_167397 : UInt<3>[3] - T_167397[0] := UInt<3>(0) - T_167397[1] := UInt<3>(1) - T_167397[2] := UInt<3>(2) - wire T_167398 : UInt<2>[2] - T_167398[0] := UInt<2>(0) - T_167398[1] := UInt<2>(1) - wire T_167399 : UInt<2>[3] - T_167399[0] := UInt<2>(1) - T_167399[1] := UInt<2>(2) - T_167399[2] := UInt<2>(3) - wire T_167400 : UInt<2>[2] - T_167400[0] := UInt<2>(2) - T_167400[1] := UInt<2>(3) - wire T_167401 : UInt<2>[1] - T_167401[0] := UInt<2>(3) - wire T_167402 : UInt<3>[3] - T_167402[0] := UInt<3>(0) - T_167402[1] := UInt<3>(1) - T_167402[2] := UInt<3>(2) - wire T_167403 : UInt<2>[2] - T_167403[0] := UInt<2>(0) - T_167403[1] := UInt<2>(1) - wire T_167404 : UInt<2>[3] - T_167404[0] := UInt<2>(1) - T_167404[1] := UInt<2>(2) - T_167404[2] := UInt<2>(3) - wire T_167405 : UInt<2>[2] - T_167405[0] := UInt<2>(2) - T_167405[1] := UInt<2>(3) - wire T_167406 : UInt<2>[1] - T_167406[0] := UInt<2>(3) - wire T_167407 : UInt<3>[3] - T_167407[0] := UInt<3>(0) - T_167407[1] := UInt<3>(1) - T_167407[2] := UInt<3>(2) - wire T_167408 : UInt<2>[2] - T_167408[0] := UInt<2>(0) - T_167408[1] := UInt<2>(1) - wire T_167409 : UInt<2>[3] - T_167409[0] := UInt<2>(1) - T_167409[1] := UInt<2>(2) - T_167409[2] := UInt<2>(3) - wire T_167410 : UInt<2>[2] - T_167410[0] := UInt<2>(2) - T_167410[1] := UInt<2>(3) - wire T_167411 : UInt<2>[1] - T_167411[0] := UInt<2>(3) - cmem ram : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}[2] - reg T_167412 : UInt<1> - onreset T_167412 := UInt<1>(0) - reg T_167413 : UInt<1> - onreset T_167413 := UInt<1>(0) - reg maybe_full : UInt<1> - onreset maybe_full := UInt<1>(0) - node ptr_match = eq(T_167412, T_167413) - node T_167414 = eq(maybe_full, UInt<1>(0)) - node empty = and(ptr_match, T_167414) - node full = and(ptr_match, maybe_full) - node maybe_flow = and(UInt<1>(0), empty) - node do_flow = and(maybe_flow, deq.ready) - node T_167415 = and(enq.ready, enq.valid) - node T_167416 = eq(do_flow, UInt<1>(0)) - node do_enq = and(T_167415, T_167416) - node T_167417 = and(deq.ready, deq.valid) - node T_167418 = eq(do_flow, UInt<1>(0)) - node do_deq = and(T_167417, T_167418) - when do_enq : - wire T_167419 : UInt<3>[3] - T_167419[0] := UInt<3>(0) - T_167419[1] := UInt<3>(1) - T_167419[2] := UInt<3>(2) - wire T_167420 : UInt<2>[2] - T_167420[0] := UInt<2>(0) - T_167420[1] := UInt<2>(1) - wire T_167421 : UInt<2>[3] - T_167421[0] := UInt<2>(1) - T_167421[1] := UInt<2>(2) - T_167421[2] := UInt<2>(3) - wire T_167422 : UInt<2>[2] - T_167422[0] := UInt<2>(2) - T_167422[1] := UInt<2>(3) - wire T_167423 : UInt<2>[1] - T_167423[0] := UInt<2>(3) - accessor T_167424 = ram[T_167412] - T_167424 := enq.bits - node T_167425 = eq(T_167412, UInt<1>(1)) - node T_167426 = and(UInt<1>(0), T_167425) - node T_167427 = addw(T_167412, UInt<1>(1)) - wire T_167428 : UInt<1> - T_167428 := T_167427 - when T_167426 : T_167428 := UInt<1>(0) - T_167412 := T_167428 - when do_deq : - node T_167429 = eq(T_167413, UInt<1>(1)) - node T_167430 = and(UInt<1>(0), T_167429) - node T_167431 = addw(T_167413, UInt<1>(1)) - wire T_167432 : UInt<1> - T_167432 := T_167431 - when T_167430 : T_167432 := UInt<1>(0) - T_167413 := T_167432 - - node T_167433 = neq(do_enq, do_deq) - when T_167433 : maybe_full := do_enq - node T_167434 = eq(empty, UInt<1>(0)) - node T_167435 = and(UInt<1>(0), enq.valid) - node T_167436 = or(T_167434, T_167435) - deq.valid := T_167436 - node T_167437 = eq(full, UInt<1>(0)) - node T_167438 = and(UInt<1>(0), deq.ready) - node T_167439 = or(T_167437, T_167438) - enq.ready := T_167439 - wire T_167440 : UInt<3>[3] - T_167440[0] := UInt<3>(0) - T_167440[1] := UInt<3>(1) - T_167440[2] := UInt<3>(2) - wire T_167441 : UInt<2>[2] - T_167441[0] := UInt<2>(0) - T_167441[1] := UInt<2>(1) - wire T_167442 : UInt<2>[3] - T_167442[0] := UInt<2>(1) - T_167442[1] := UInt<2>(2) - T_167442[2] := UInt<2>(3) - wire T_167443 : UInt<2>[2] - T_167443[0] := UInt<2>(2) - T_167443[1] := UInt<2>(3) - wire T_167444 : UInt<2>[1] - T_167444[0] := UInt<2>(3) - accessor T_167445 = ram[T_167413] - wire T_167446 : UInt<3>[3] - T_167446[0] := UInt<3>(0) - T_167446[1] := UInt<3>(1) - T_167446[2] := UInt<3>(2) - wire T_167447 : UInt<2>[2] - T_167447[0] := UInt<2>(0) - T_167447[1] := UInt<2>(1) - wire T_167448 : UInt<2>[3] - T_167448[0] := UInt<2>(1) - T_167448[1] := UInt<2>(2) - T_167448[2] := UInt<2>(3) - wire T_167449 : UInt<2>[2] - T_167449[0] := UInt<2>(2) - T_167449[1] := UInt<2>(3) - wire T_167450 : UInt<2>[1] - T_167450[0] := UInt<2>(3) - wire T_167451 : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}} - T_167451 := T_167445 - when maybe_flow : T_167451 := enq.bits - deq.bits := T_167451 - node ptr_diff = subw(T_167412, T_167413) - node T_167452 = and(maybe_full, ptr_match) - node T_167453 = cat(T_167452, ptr_diff) - count := T_167453 - module Queue_30984 : - input enq : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}} - output deq : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}} - output count : UInt<2> - - wire T_167454 : UInt<3>[3] - T_167454[0] := UInt<3>(0) - T_167454[1] := UInt<3>(1) - T_167454[2] := UInt<3>(2) - wire T_167455 : UInt<2>[2] - T_167455[0] := UInt<2>(0) - T_167455[1] := UInt<2>(1) - wire T_167456 : UInt<2>[3] - T_167456[0] := UInt<2>(1) - T_167456[1] := UInt<2>(2) - T_167456[2] := UInt<2>(3) - wire T_167457 : UInt<2>[2] - T_167457[0] := UInt<2>(2) - T_167457[1] := UInt<2>(3) - wire T_167458 : UInt<2>[1] - T_167458[0] := UInt<2>(3) - wire T_167459 : UInt<3>[3] - T_167459[0] := UInt<3>(0) - T_167459[1] := UInt<3>(1) - T_167459[2] := UInt<3>(2) - wire T_167460 : UInt<2>[2] - T_167460[0] := UInt<2>(0) - T_167460[1] := UInt<2>(1) - wire T_167461 : UInt<2>[3] - T_167461[0] := UInt<2>(1) - T_167461[1] := UInt<2>(2) - T_167461[2] := UInt<2>(3) - wire T_167462 : UInt<2>[2] - T_167462[0] := UInt<2>(2) - T_167462[1] := UInt<2>(3) - wire T_167463 : UInt<2>[1] - T_167463[0] := UInt<2>(3) - wire T_167464 : UInt<3>[3] - T_167464[0] := UInt<3>(0) - T_167464[1] := UInt<3>(1) - T_167464[2] := UInt<3>(2) - wire T_167465 : UInt<2>[2] - T_167465[0] := UInt<2>(0) - T_167465[1] := UInt<2>(1) - wire T_167466 : UInt<2>[3] - T_167466[0] := UInt<2>(1) - T_167466[1] := UInt<2>(2) - T_167466[2] := UInt<2>(3) - wire T_167467 : UInt<2>[2] - T_167467[0] := UInt<2>(2) - T_167467[1] := UInt<2>(3) - wire T_167468 : UInt<2>[1] - T_167468[0] := UInt<2>(3) - wire T_167469 : UInt<3>[3] - T_167469[0] := UInt<3>(0) - T_167469[1] := UInt<3>(1) - T_167469[2] := UInt<3>(2) - wire T_167470 : UInt<2>[2] - T_167470[0] := UInt<2>(0) - T_167470[1] := UInt<2>(1) - wire T_167471 : UInt<2>[3] - T_167471[0] := UInt<2>(1) - T_167471[1] := UInt<2>(2) - T_167471[2] := UInt<2>(3) - wire T_167472 : UInt<2>[2] - T_167472[0] := UInt<2>(2) - T_167472[1] := UInt<2>(3) - wire T_167473 : UInt<2>[1] - T_167473[0] := UInt<2>(3) - wire T_167474 : UInt<3>[3] - T_167474[0] := UInt<3>(0) - T_167474[1] := UInt<3>(1) - T_167474[2] := UInt<3>(2) - wire T_167475 : UInt<2>[2] - T_167475[0] := UInt<2>(0) - T_167475[1] := UInt<2>(1) - wire T_167476 : UInt<2>[3] - T_167476[0] := UInt<2>(1) - T_167476[1] := UInt<2>(2) - T_167476[2] := UInt<2>(3) - wire T_167477 : UInt<2>[2] - T_167477[0] := UInt<2>(2) - T_167477[1] := UInt<2>(3) - wire T_167478 : UInt<2>[1] - T_167478[0] := UInt<2>(3) - cmem ram : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}[2] - reg T_167479 : UInt<1> - onreset T_167479 := UInt<1>(0) - reg T_167480 : UInt<1> - onreset T_167480 := UInt<1>(0) - reg maybe_full : UInt<1> - onreset maybe_full := UInt<1>(0) - node ptr_match = eq(T_167479, T_167480) - node T_167481 = eq(maybe_full, UInt<1>(0)) - node empty = and(ptr_match, T_167481) - node full = and(ptr_match, maybe_full) - node maybe_flow = and(UInt<1>(0), empty) - node do_flow = and(maybe_flow, deq.ready) - node T_167482 = and(enq.ready, enq.valid) - node T_167483 = eq(do_flow, UInt<1>(0)) - node do_enq = and(T_167482, T_167483) - node T_167484 = and(deq.ready, deq.valid) - node T_167485 = eq(do_flow, UInt<1>(0)) - node do_deq = and(T_167484, T_167485) - when do_enq : - wire T_167486 : UInt<3>[3] - T_167486[0] := UInt<3>(0) - T_167486[1] := UInt<3>(1) - T_167486[2] := UInt<3>(2) - wire T_167487 : UInt<2>[2] - T_167487[0] := UInt<2>(0) - T_167487[1] := UInt<2>(1) - wire T_167488 : UInt<2>[3] - T_167488[0] := UInt<2>(1) - T_167488[1] := UInt<2>(2) - T_167488[2] := UInt<2>(3) - wire T_167489 : UInt<2>[2] - T_167489[0] := UInt<2>(2) - T_167489[1] := UInt<2>(3) - wire T_167490 : UInt<2>[1] - T_167490[0] := UInt<2>(3) - accessor T_167491 = ram[T_167479] - T_167491 := enq.bits - node T_167492 = eq(T_167479, UInt<1>(1)) - node T_167493 = and(UInt<1>(0), T_167492) - node T_167494 = addw(T_167479, UInt<1>(1)) - wire T_167495 : UInt<1> - T_167495 := T_167494 - when T_167493 : T_167495 := UInt<1>(0) - T_167479 := T_167495 - when do_deq : - node T_167496 = eq(T_167480, UInt<1>(1)) - node T_167497 = and(UInt<1>(0), T_167496) - node T_167498 = addw(T_167480, UInt<1>(1)) - wire T_167499 : UInt<1> - T_167499 := T_167498 - when T_167497 : T_167499 := UInt<1>(0) - T_167480 := T_167499 - - node T_167500 = neq(do_enq, do_deq) - when T_167500 : maybe_full := do_enq - node T_167501 = eq(empty, UInt<1>(0)) - node T_167502 = and(UInt<1>(0), enq.valid) - node T_167503 = or(T_167501, T_167502) - deq.valid := T_167503 - node T_167504 = eq(full, UInt<1>(0)) - node T_167505 = and(UInt<1>(0), deq.ready) - node T_167506 = or(T_167504, T_167505) - enq.ready := T_167506 - wire T_167507 : UInt<3>[3] - T_167507[0] := UInt<3>(0) - T_167507[1] := UInt<3>(1) - T_167507[2] := UInt<3>(2) - wire T_167508 : UInt<2>[2] - T_167508[0] := UInt<2>(0) - T_167508[1] := UInt<2>(1) - wire T_167509 : UInt<2>[3] - T_167509[0] := UInt<2>(1) - T_167509[1] := UInt<2>(2) - T_167509[2] := UInt<2>(3) - wire T_167510 : UInt<2>[2] - T_167510[0] := UInt<2>(2) - T_167510[1] := UInt<2>(3) - wire T_167511 : UInt<2>[1] - T_167511[0] := UInt<2>(3) - accessor T_167512 = ram[T_167480] - wire T_167513 : UInt<3>[3] - T_167513[0] := UInt<3>(0) - T_167513[1] := UInt<3>(1) - T_167513[2] := UInt<3>(2) - wire T_167514 : UInt<2>[2] - T_167514[0] := UInt<2>(0) - T_167514[1] := UInt<2>(1) - wire T_167515 : UInt<2>[3] - T_167515[0] := UInt<2>(1) - T_167515[1] := UInt<2>(2) - T_167515[2] := UInt<2>(3) - wire T_167516 : UInt<2>[2] - T_167516[0] := UInt<2>(2) - T_167516[1] := UInt<2>(3) - wire T_167517 : UInt<2>[1] - T_167517[0] := UInt<2>(3) - wire T_167518 : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}} - T_167518 := T_167512 - when maybe_flow : T_167518 := enq.bits - deq.bits := T_167518 - node ptr_diff = subw(T_167479, T_167480) - node T_167519 = and(maybe_full, ptr_match) - node T_167520 = cat(T_167519, ptr_diff) - count := T_167520 - module Queue_31614 : - input enq : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {manager_xact_id : UInt<2>}}} - output deq : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {manager_xact_id : UInt<2>}}} - output count : UInt<2> - - wire T_167521 : UInt<3>[3] - T_167521[0] := UInt<3>(0) - T_167521[1] := UInt<3>(1) - T_167521[2] := UInt<3>(2) - wire T_167522 : UInt<2>[2] - T_167522[0] := UInt<2>(0) - T_167522[1] := UInt<2>(1) - wire T_167523 : UInt<2>[3] - T_167523[0] := UInt<2>(1) - T_167523[1] := UInt<2>(2) - T_167523[2] := UInt<2>(3) - wire T_167524 : UInt<2>[2] - T_167524[0] := UInt<2>(2) - T_167524[1] := UInt<2>(3) - wire T_167525 : UInt<2>[1] - T_167525[0] := UInt<2>(3) - wire T_167526 : UInt<3>[3] - T_167526[0] := UInt<3>(0) - T_167526[1] := UInt<3>(1) - T_167526[2] := UInt<3>(2) - wire T_167527 : UInt<2>[2] - T_167527[0] := UInt<2>(0) - T_167527[1] := UInt<2>(1) - wire T_167528 : UInt<2>[3] - T_167528[0] := UInt<2>(1) - T_167528[1] := UInt<2>(2) - T_167528[2] := UInt<2>(3) - wire T_167529 : UInt<2>[2] - T_167529[0] := UInt<2>(2) - T_167529[1] := UInt<2>(3) - wire T_167530 : UInt<2>[1] - T_167530[0] := UInt<2>(3) - wire T_167531 : UInt<3>[3] - T_167531[0] := UInt<3>(0) - T_167531[1] := UInt<3>(1) - T_167531[2] := UInt<3>(2) - wire T_167532 : UInt<2>[2] - T_167532[0] := UInt<2>(0) - T_167532[1] := UInt<2>(1) - wire T_167533 : UInt<2>[3] - T_167533[0] := UInt<2>(1) - T_167533[1] := UInt<2>(2) - T_167533[2] := UInt<2>(3) - wire T_167534 : UInt<2>[2] - T_167534[0] := UInt<2>(2) - T_167534[1] := UInt<2>(3) - wire T_167535 : UInt<2>[1] - T_167535[0] := UInt<2>(3) - wire T_167536 : UInt<3>[3] - T_167536[0] := UInt<3>(0) - T_167536[1] := UInt<3>(1) - T_167536[2] := UInt<3>(2) - wire T_167537 : UInt<2>[2] - T_167537[0] := UInt<2>(0) - T_167537[1] := UInt<2>(1) - wire T_167538 : UInt<2>[3] - T_167538[0] := UInt<2>(1) - T_167538[1] := UInt<2>(2) - T_167538[2] := UInt<2>(3) - wire T_167539 : UInt<2>[2] - T_167539[0] := UInt<2>(2) - T_167539[1] := UInt<2>(3) - wire T_167540 : UInt<2>[1] - T_167540[0] := UInt<2>(3) - wire T_167541 : UInt<3>[3] - T_167541[0] := UInt<3>(0) - T_167541[1] := UInt<3>(1) - T_167541[2] := UInt<3>(2) - wire T_167542 : UInt<2>[2] - T_167542[0] := UInt<2>(0) - T_167542[1] := UInt<2>(1) - wire T_167543 : UInt<2>[3] - T_167543[0] := UInt<2>(1) - T_167543[1] := UInt<2>(2) - T_167543[2] := UInt<2>(3) - wire T_167544 : UInt<2>[2] - T_167544[0] := UInt<2>(2) - T_167544[1] := UInt<2>(3) - wire T_167545 : UInt<2>[1] - T_167545[0] := UInt<2>(3) - cmem ram : {header : {src : UInt<2>, dst : UInt<2>}, payload : {manager_xact_id : UInt<2>}}[2] - reg T_167546 : UInt<1> - onreset T_167546 := UInt<1>(0) - reg T_167547 : UInt<1> - onreset T_167547 := UInt<1>(0) - reg maybe_full : UInt<1> - onreset maybe_full := UInt<1>(0) - node ptr_match = eq(T_167546, T_167547) - node T_167548 = eq(maybe_full, UInt<1>(0)) - node empty = and(ptr_match, T_167548) - node full = and(ptr_match, maybe_full) - node maybe_flow = and(UInt<1>(0), empty) - node do_flow = and(maybe_flow, deq.ready) - node T_167549 = and(enq.ready, enq.valid) - node T_167550 = eq(do_flow, UInt<1>(0)) - node do_enq = and(T_167549, T_167550) - node T_167551 = and(deq.ready, deq.valid) - node T_167552 = eq(do_flow, UInt<1>(0)) - node do_deq = and(T_167551, T_167552) - when do_enq : - wire T_167553 : UInt<3>[3] - T_167553[0] := UInt<3>(0) - T_167553[1] := UInt<3>(1) - T_167553[2] := UInt<3>(2) - wire T_167554 : UInt<2>[2] - T_167554[0] := UInt<2>(0) - T_167554[1] := UInt<2>(1) - wire T_167555 : UInt<2>[3] - T_167555[0] := UInt<2>(1) - T_167555[1] := UInt<2>(2) - T_167555[2] := UInt<2>(3) - wire T_167556 : UInt<2>[2] - T_167556[0] := UInt<2>(2) - T_167556[1] := UInt<2>(3) - wire T_167557 : UInt<2>[1] - T_167557[0] := UInt<2>(3) - accessor T_167558 = ram[T_167546] - T_167558 := enq.bits - node T_167559 = eq(T_167546, UInt<1>(1)) - node T_167560 = and(UInt<1>(0), T_167559) - node T_167561 = addw(T_167546, UInt<1>(1)) - wire T_167562 : UInt<1> - T_167562 := T_167561 - when T_167560 : T_167562 := UInt<1>(0) - T_167546 := T_167562 - when do_deq : - node T_167563 = eq(T_167547, UInt<1>(1)) - node T_167564 = and(UInt<1>(0), T_167563) - node T_167565 = addw(T_167547, UInt<1>(1)) - wire T_167566 : UInt<1> - T_167566 := T_167565 - when T_167564 : T_167566 := UInt<1>(0) - T_167547 := T_167566 - - node T_167567 = neq(do_enq, do_deq) - when T_167567 : maybe_full := do_enq - node T_167568 = eq(empty, UInt<1>(0)) - node T_167569 = and(UInt<1>(0), enq.valid) - node T_167570 = or(T_167568, T_167569) - deq.valid := T_167570 - node T_167571 = eq(full, UInt<1>(0)) - node T_167572 = and(UInt<1>(0), deq.ready) - node T_167573 = or(T_167571, T_167572) - enq.ready := T_167573 - wire T_167574 : UInt<3>[3] - T_167574[0] := UInt<3>(0) - T_167574[1] := UInt<3>(1) - T_167574[2] := UInt<3>(2) - wire T_167575 : UInt<2>[2] - T_167575[0] := UInt<2>(0) - T_167575[1] := UInt<2>(1) - wire T_167576 : UInt<2>[3] - T_167576[0] := UInt<2>(1) - T_167576[1] := UInt<2>(2) - T_167576[2] := UInt<2>(3) - wire T_167577 : UInt<2>[2] - T_167577[0] := UInt<2>(2) - T_167577[1] := UInt<2>(3) - wire T_167578 : UInt<2>[1] - T_167578[0] := UInt<2>(3) - accessor T_167579 = ram[T_167547] - wire T_167580 : UInt<3>[3] - T_167580[0] := UInt<3>(0) - T_167580[1] := UInt<3>(1) - T_167580[2] := UInt<3>(2) - wire T_167581 : UInt<2>[2] - T_167581[0] := UInt<2>(0) - T_167581[1] := UInt<2>(1) - wire T_167582 : UInt<2>[3] - T_167582[0] := UInt<2>(1) - T_167582[1] := UInt<2>(2) - T_167582[2] := UInt<2>(3) - wire T_167583 : UInt<2>[2] - T_167583[0] := UInt<2>(2) - T_167583[1] := UInt<2>(3) - wire T_167584 : UInt<2>[1] - T_167584[0] := UInt<2>(3) - wire T_167585 : {header : {src : UInt<2>, dst : UInt<2>}, payload : {manager_xact_id : UInt<2>}} - T_167585 := T_167579 - when maybe_flow : T_167585 := enq.bits - deq.bits := T_167585 - node ptr_diff = subw(T_167546, T_167547) - node T_167586 = and(maybe_full, ptr_match) - node T_167587 = cat(T_167586, ptr_diff) - count := T_167587 - module TileLinkEnqueuer_31615 : - input client : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}}, finish : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {manager_xact_id : UInt<2>}}}, flip probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, p_type : UInt<2>}}}, release : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}}} - output manager : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}}, finish : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {manager_xact_id : UInt<2>}}}, flip probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, p_type : UInt<2>}}}, release : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}}} - - wire T_167588 : UInt<3>[3] - T_167588[0] := UInt<3>(0) - T_167588[1] := UInt<3>(1) - T_167588[2] := UInt<3>(2) - wire T_167589 : UInt<2>[2] - T_167589[0] := UInt<2>(0) - T_167589[1] := UInt<2>(1) - wire T_167590 : UInt<2>[3] - T_167590[0] := UInt<2>(1) - T_167590[1] := UInt<2>(2) - T_167590[2] := UInt<2>(3) - wire T_167591 : UInt<2>[2] - T_167591[0] := UInt<2>(2) - T_167591[1] := UInt<2>(3) - wire T_167592 : UInt<2>[1] - T_167592[0] := UInt<2>(3) - wire T_167593 : UInt<3>[3] - T_167593[0] := UInt<3>(0) - T_167593[1] := UInt<3>(1) - T_167593[2] := UInt<3>(2) - wire T_167594 : UInt<2>[2] - T_167594[0] := UInt<2>(0) - T_167594[1] := UInt<2>(1) - wire T_167595 : UInt<2>[3] - T_167595[0] := UInt<2>(1) - T_167595[1] := UInt<2>(2) - T_167595[2] := UInt<2>(3) - wire T_167596 : UInt<2>[2] - T_167596[0] := UInt<2>(2) - T_167596[1] := UInt<2>(3) - wire T_167597 : UInt<2>[1] - T_167597[0] := UInt<2>(3) - wire T_167598 : UInt<3>[3] - T_167598[0] := UInt<3>(0) - T_167598[1] := UInt<3>(1) - T_167598[2] := UInt<3>(2) - wire T_167599 : UInt<2>[2] - T_167599[0] := UInt<2>(0) - T_167599[1] := UInt<2>(1) - wire T_167600 : UInt<2>[3] - T_167600[0] := UInt<2>(1) - T_167600[1] := UInt<2>(2) - T_167600[2] := UInt<2>(3) - wire T_167601 : UInt<2>[2] - T_167601[0] := UInt<2>(2) - T_167601[1] := UInt<2>(3) - wire T_167602 : UInt<2>[1] - T_167602[0] := UInt<2>(3) - wire T_167603 : UInt<3>[3] - T_167603[0] := UInt<3>(0) - T_167603[1] := UInt<3>(1) - T_167603[2] := UInt<3>(2) - wire T_167604 : UInt<2>[2] - T_167604[0] := UInt<2>(0) - T_167604[1] := UInt<2>(1) - wire T_167605 : UInt<2>[3] - T_167605[0] := UInt<2>(1) - T_167605[1] := UInt<2>(2) - T_167605[2] := UInt<2>(3) - wire T_167606 : UInt<2>[2] - T_167606[0] := UInt<2>(2) - T_167606[1] := UInt<2>(3) - wire T_167607 : UInt<2>[1] - T_167607[0] := UInt<2>(3) - wire T_167608 : UInt<3>[3] - T_167608[0] := UInt<3>(0) - T_167608[1] := UInt<3>(1) - T_167608[2] := UInt<3>(2) - wire T_167609 : UInt<2>[2] - T_167609[0] := UInt<2>(0) - T_167609[1] := UInt<2>(1) - wire T_167610 : UInt<2>[3] - T_167610[0] := UInt<2>(1) - T_167610[1] := UInt<2>(2) - T_167610[2] := UInt<2>(3) - wire T_167611 : UInt<2>[2] - T_167611[0] := UInt<2>(2) - T_167611[1] := UInt<2>(3) - wire T_167612 : UInt<2>[1] - T_167612[0] := UInt<2>(3) - wire T_167613 : UInt<3>[3] - T_167613[0] := UInt<3>(0) - T_167613[1] := UInt<3>(1) - T_167613[2] := UInt<3>(2) - wire T_167614 : UInt<2>[2] - T_167614[0] := UInt<2>(0) - T_167614[1] := UInt<2>(1) - wire T_167615 : UInt<2>[3] - T_167615[0] := UInt<2>(1) - T_167615[1] := UInt<2>(2) - T_167615[2] := UInt<2>(3) - wire T_167616 : UInt<2>[2] - T_167616[0] := UInt<2>(2) - T_167616[1] := UInt<2>(3) - wire T_167617 : UInt<2>[1] - T_167617[0] := UInt<2>(3) - wire T_167618 : UInt<3>[3] - T_167618[0] := UInt<3>(0) - T_167618[1] := UInt<3>(1) - T_167618[2] := UInt<3>(2) - wire T_167619 : UInt<2>[2] - T_167619[0] := UInt<2>(0) - T_167619[1] := UInt<2>(1) - wire T_167620 : UInt<2>[3] - T_167620[0] := UInt<2>(1) - T_167620[1] := UInt<2>(2) - T_167620[2] := UInt<2>(3) - wire T_167621 : UInt<2>[2] - T_167621[0] := UInt<2>(2) - T_167621[1] := UInt<2>(3) - wire T_167622 : UInt<2>[1] - T_167622[0] := UInt<2>(3) - wire T_167623 : UInt<3>[3] - T_167623[0] := UInt<3>(0) - T_167623[1] := UInt<3>(1) - T_167623[2] := UInt<3>(2) - wire T_167624 : UInt<2>[2] - T_167624[0] := UInt<2>(0) - T_167624[1] := UInt<2>(1) - wire T_167625 : UInt<2>[3] - T_167625[0] := UInt<2>(1) - T_167625[1] := UInt<2>(2) - T_167625[2] := UInt<2>(3) - wire T_167626 : UInt<2>[2] - T_167626[0] := UInt<2>(2) - T_167626[1] := UInt<2>(3) - wire T_167627 : UInt<2>[1] - T_167627[0] := UInt<2>(3) - wire T_167628 : UInt<3>[3] - T_167628[0] := UInt<3>(0) - T_167628[1] := UInt<3>(1) - T_167628[2] := UInt<3>(2) - wire T_167629 : UInt<2>[2] - T_167629[0] := UInt<2>(0) - T_167629[1] := UInt<2>(1) - wire T_167630 : UInt<2>[3] - T_167630[0] := UInt<2>(1) - T_167630[1] := UInt<2>(2) - T_167630[2] := UInt<2>(3) - wire T_167631 : UInt<2>[2] - T_167631[0] := UInt<2>(2) - T_167631[1] := UInt<2>(3) - wire T_167632 : UInt<2>[1] - T_167632[0] := UInt<2>(3) - wire T_167633 : UInt<3>[3] - T_167633[0] := UInt<3>(0) - T_167633[1] := UInt<3>(1) - T_167633[2] := UInt<3>(2) - wire T_167634 : UInt<2>[2] - T_167634[0] := UInt<2>(0) - T_167634[1] := UInt<2>(1) - wire T_167635 : UInt<2>[3] - T_167635[0] := UInt<2>(1) - T_167635[1] := UInt<2>(2) - T_167635[2] := UInt<2>(3) - wire T_167636 : UInt<2>[2] - T_167636[0] := UInt<2>(2) - T_167636[1] := UInt<2>(3) - wire T_167637 : UInt<2>[1] - T_167637[0] := UInt<2>(3) - wire T_167638 : UInt<3>[3] - T_167638[0] := UInt<3>(0) - T_167638[1] := UInt<3>(1) - T_167638[2] := UInt<3>(2) - wire T_167639 : UInt<2>[2] - T_167639[0] := UInt<2>(0) - T_167639[1] := UInt<2>(1) - wire T_167640 : UInt<2>[3] - T_167640[0] := UInt<2>(1) - T_167640[1] := UInt<2>(2) - T_167640[2] := UInt<2>(3) - wire T_167641 : UInt<2>[2] - T_167641[0] := UInt<2>(2) - T_167641[1] := UInt<2>(3) - wire T_167642 : UInt<2>[1] - T_167642[0] := UInt<2>(3) - wire T_167643 : UInt<3>[3] - T_167643[0] := UInt<3>(0) - T_167643[1] := UInt<3>(1) - T_167643[2] := UInt<3>(2) - wire T_167644 : UInt<2>[2] - T_167644[0] := UInt<2>(0) - T_167644[1] := UInt<2>(1) - wire T_167645 : UInt<2>[3] - T_167645[0] := UInt<2>(1) - T_167645[1] := UInt<2>(2) - T_167645[2] := UInt<2>(3) - wire T_167646 : UInt<2>[2] - T_167646[0] := UInt<2>(2) - T_167646[1] := UInt<2>(3) - wire T_167647 : UInt<2>[1] - T_167647[0] := UInt<2>(3) - wire T_167648 : UInt<3>[3] - T_167648[0] := UInt<3>(0) - T_167648[1] := UInt<3>(1) - T_167648[2] := UInt<3>(2) - wire T_167649 : UInt<2>[2] - T_167649[0] := UInt<2>(0) - T_167649[1] := UInt<2>(1) - wire T_167650 : UInt<2>[3] - T_167650[0] := UInt<2>(1) - T_167650[1] := UInt<2>(2) - T_167650[2] := UInt<2>(3) - wire T_167651 : UInt<2>[2] - T_167651[0] := UInt<2>(2) - T_167651[1] := UInt<2>(3) - wire T_167652 : UInt<2>[1] - T_167652[0] := UInt<2>(3) - wire T_167653 : UInt<3>[3] - T_167653[0] := UInt<3>(0) - T_167653[1] := UInt<3>(1) - T_167653[2] := UInt<3>(2) - wire T_167654 : UInt<2>[2] - T_167654[0] := UInt<2>(0) - T_167654[1] := UInt<2>(1) - wire T_167655 : UInt<2>[3] - T_167655[0] := UInt<2>(1) - T_167655[1] := UInt<2>(2) - T_167655[2] := UInt<2>(3) - wire T_167656 : UInt<2>[2] - T_167656[0] := UInt<2>(2) - T_167656[1] := UInt<2>(3) - wire T_167657 : UInt<2>[1] - T_167657[0] := UInt<2>(3) - wire T_167658 : UInt<3>[3] - T_167658[0] := UInt<3>(0) - T_167658[1] := UInt<3>(1) - T_167658[2] := UInt<3>(2) - wire T_167659 : UInt<2>[2] - T_167659[0] := UInt<2>(0) - T_167659[1] := UInt<2>(1) - wire T_167660 : UInt<2>[3] - T_167660[0] := UInt<2>(1) - T_167660[1] := UInt<2>(2) - T_167660[2] := UInt<2>(3) - wire T_167661 : UInt<2>[2] - T_167661[0] := UInt<2>(2) - T_167661[1] := UInt<2>(3) - wire T_167662 : UInt<2>[1] - T_167662[0] := UInt<2>(3) - wire T_167663 : UInt<3>[3] - T_167663[0] := UInt<3>(0) - T_167663[1] := UInt<3>(1) - T_167663[2] := UInt<3>(2) - wire T_167664 : UInt<2>[2] - T_167664[0] := UInt<2>(0) - T_167664[1] := UInt<2>(1) - wire T_167665 : UInt<2>[3] - T_167665[0] := UInt<2>(1) - T_167665[1] := UInt<2>(2) - T_167665[2] := UInt<2>(3) - wire T_167666 : UInt<2>[2] - T_167666[0] := UInt<2>(2) - T_167666[1] := UInt<2>(3) - wire T_167667 : UInt<2>[1] - T_167667[0] := UInt<2>(3) - wire T_167668 : UInt<3>[3] - T_167668[0] := UInt<3>(0) - T_167668[1] := UInt<3>(1) - T_167668[2] := UInt<3>(2) - wire T_167669 : UInt<2>[2] - T_167669[0] := UInt<2>(0) - T_167669[1] := UInt<2>(1) - wire T_167670 : UInt<2>[3] - T_167670[0] := UInt<2>(1) - T_167670[1] := UInt<2>(2) - T_167670[2] := UInt<2>(3) - wire T_167671 : UInt<2>[2] - T_167671[0] := UInt<2>(2) - T_167671[1] := UInt<2>(3) - wire T_167672 : UInt<2>[1] - T_167672[0] := UInt<2>(3) - wire T_167673 : UInt<3>[3] - T_167673[0] := UInt<3>(0) - T_167673[1] := UInt<3>(1) - T_167673[2] := UInt<3>(2) - wire T_167674 : UInt<2>[2] - T_167674[0] := UInt<2>(0) - T_167674[1] := UInt<2>(1) - wire T_167675 : UInt<2>[3] - T_167675[0] := UInt<2>(1) - T_167675[1] := UInt<2>(2) - T_167675[2] := UInt<2>(3) - wire T_167676 : UInt<2>[2] - T_167676[0] := UInt<2>(2) - T_167676[1] := UInt<2>(3) - wire T_167677 : UInt<2>[1] - T_167677[0] := UInt<2>(3) - wire T_167678 : UInt<3>[3] - T_167678[0] := UInt<3>(0) - T_167678[1] := UInt<3>(1) - T_167678[2] := UInt<3>(2) - wire T_167679 : UInt<2>[2] - T_167679[0] := UInt<2>(0) - T_167679[1] := UInt<2>(1) - wire T_167680 : UInt<2>[3] - T_167680[0] := UInt<2>(1) - T_167680[1] := UInt<2>(2) - T_167680[2] := UInt<2>(3) - wire T_167681 : UInt<2>[2] - T_167681[0] := UInt<2>(2) - T_167681[1] := UInt<2>(3) - wire T_167682 : UInt<2>[1] - T_167682[0] := UInt<2>(3) - wire T_167683 : UInt<3>[3] - T_167683[0] := UInt<3>(0) - T_167683[1] := UInt<3>(1) - T_167683[2] := UInt<3>(2) - wire T_167684 : UInt<2>[2] - T_167684[0] := UInt<2>(0) - T_167684[1] := UInt<2>(1) - wire T_167685 : UInt<2>[3] - T_167685[0] := UInt<2>(1) - T_167685[1] := UInt<2>(2) - T_167685[2] := UInt<2>(3) - wire T_167686 : UInt<2>[2] - T_167686[0] := UInt<2>(2) - T_167686[1] := UInt<2>(3) - wire T_167687 : UInt<2>[1] - T_167687[0] := UInt<2>(3) - wire T_167688 : UInt<3>[3] - T_167688[0] := UInt<3>(0) - T_167688[1] := UInt<3>(1) - T_167688[2] := UInt<3>(2) - wire T_167689 : UInt<2>[2] - T_167689[0] := UInt<2>(0) - T_167689[1] := UInt<2>(1) - wire T_167690 : UInt<2>[3] - T_167690[0] := UInt<2>(1) - T_167690[1] := UInt<2>(2) - T_167690[2] := UInt<2>(3) - wire T_167691 : UInt<2>[2] - T_167691[0] := UInt<2>(2) - T_167691[1] := UInt<2>(3) - wire T_167692 : UInt<2>[1] - T_167692[0] := UInt<2>(3) - wire T_167693 : UInt<3>[3] - T_167693[0] := UInt<3>(0) - T_167693[1] := UInt<3>(1) - T_167693[2] := UInt<3>(2) - wire T_167694 : UInt<2>[2] - T_167694[0] := UInt<2>(0) - T_167694[1] := UInt<2>(1) - wire T_167695 : UInt<2>[3] - T_167695[0] := UInt<2>(1) - T_167695[1] := UInt<2>(2) - T_167695[2] := UInt<2>(3) - wire T_167696 : UInt<2>[2] - T_167696[0] := UInt<2>(2) - T_167696[1] := UInt<2>(3) - wire T_167697 : UInt<2>[1] - T_167697[0] := UInt<2>(3) - wire T_167698 : UInt<3>[3] - T_167698[0] := UInt<3>(0) - T_167698[1] := UInt<3>(1) - T_167698[2] := UInt<3>(2) - wire T_167699 : UInt<2>[2] - T_167699[0] := UInt<2>(0) - T_167699[1] := UInt<2>(1) - wire T_167700 : UInt<2>[3] - T_167700[0] := UInt<2>(1) - T_167700[1] := UInt<2>(2) - T_167700[2] := UInt<2>(3) - wire T_167701 : UInt<2>[2] - T_167701[0] := UInt<2>(2) - T_167701[1] := UInt<2>(3) - wire T_167702 : UInt<2>[1] - T_167702[0] := UInt<2>(3) - wire T_167703 : UInt<3>[3] - T_167703[0] := UInt<3>(0) - T_167703[1] := UInt<3>(1) - T_167703[2] := UInt<3>(2) - wire T_167704 : UInt<2>[2] - T_167704[0] := UInt<2>(0) - T_167704[1] := UInt<2>(1) - wire T_167705 : UInt<2>[3] - T_167705[0] := UInt<2>(1) - T_167705[1] := UInt<2>(2) - T_167705[2] := UInt<2>(3) - wire T_167706 : UInt<2>[2] - T_167706[0] := UInt<2>(2) - T_167706[1] := UInt<2>(3) - wire T_167707 : UInt<2>[1] - T_167707[0] := UInt<2>(3) - wire T_167708 : UInt<3>[3] - T_167708[0] := UInt<3>(0) - T_167708[1] := UInt<3>(1) - T_167708[2] := UInt<3>(2) - wire T_167709 : UInt<2>[2] - T_167709[0] := UInt<2>(0) - T_167709[1] := UInt<2>(1) - wire T_167710 : UInt<2>[3] - T_167710[0] := UInt<2>(1) - T_167710[1] := UInt<2>(2) - T_167710[2] := UInt<2>(3) - wire T_167711 : UInt<2>[2] - T_167711[0] := UInt<2>(2) - T_167711[1] := UInt<2>(3) - wire T_167712 : UInt<2>[1] - T_167712[0] := UInt<2>(3) - wire T_167713 : UInt<3>[3] - T_167713[0] := UInt<3>(0) - T_167713[1] := UInt<3>(1) - T_167713[2] := UInt<3>(2) - wire T_167714 : UInt<2>[2] - T_167714[0] := UInt<2>(0) - T_167714[1] := UInt<2>(1) - wire T_167715 : UInt<2>[3] - T_167715[0] := UInt<2>(1) - T_167715[1] := UInt<2>(2) - T_167715[2] := UInt<2>(3) - wire T_167716 : UInt<2>[2] - T_167716[0] := UInt<2>(2) - T_167716[1] := UInt<2>(3) - wire T_167717 : UInt<2>[1] - T_167717[0] := UInt<2>(3) - wire T_167718 : UInt<3>[3] - T_167718[0] := UInt<3>(0) - T_167718[1] := UInt<3>(1) - T_167718[2] := UInt<3>(2) - wire T_167719 : UInt<2>[2] - T_167719[0] := UInt<2>(0) - T_167719[1] := UInt<2>(1) - wire T_167720 : UInt<2>[3] - T_167720[0] := UInt<2>(1) - T_167720[1] := UInt<2>(2) - T_167720[2] := UInt<2>(3) - wire T_167721 : UInt<2>[2] - T_167721[0] := UInt<2>(2) - T_167721[1] := UInt<2>(3) - wire T_167722 : UInt<2>[1] - T_167722[0] := UInt<2>(3) - wire T_167723 : UInt<3>[3] - T_167723[0] := UInt<3>(0) - T_167723[1] := UInt<3>(1) - T_167723[2] := UInt<3>(2) - wire T_167724 : UInt<2>[2] - T_167724[0] := UInt<2>(0) - T_167724[1] := UInt<2>(1) - wire T_167725 : UInt<2>[3] - T_167725[0] := UInt<2>(1) - T_167725[1] := UInt<2>(2) - T_167725[2] := UInt<2>(3) - wire T_167726 : UInt<2>[2] - T_167726[0] := UInt<2>(2) - T_167726[1] := UInt<2>(3) - wire T_167727 : UInt<2>[1] - T_167727[0] := UInt<2>(3) - wire T_167728 : UInt<3>[3] - T_167728[0] := UInt<3>(0) - T_167728[1] := UInt<3>(1) - T_167728[2] := UInt<3>(2) - wire T_167729 : UInt<2>[2] - T_167729[0] := UInt<2>(0) - T_167729[1] := UInt<2>(1) - wire T_167730 : UInt<2>[3] - T_167730[0] := UInt<2>(1) - T_167730[1] := UInt<2>(2) - T_167730[2] := UInt<2>(3) - wire T_167731 : UInt<2>[2] - T_167731[0] := UInt<2>(2) - T_167731[1] := UInt<2>(3) - wire T_167732 : UInt<2>[1] - T_167732[0] := UInt<2>(3) - wire T_167733 : UInt<3>[3] - T_167733[0] := UInt<3>(0) - T_167733[1] := UInt<3>(1) - T_167733[2] := UInt<3>(2) - wire T_167734 : UInt<2>[2] - T_167734[0] := UInt<2>(0) - T_167734[1] := UInt<2>(1) - wire T_167735 : UInt<2>[3] - T_167735[0] := UInt<2>(1) - T_167735[1] := UInt<2>(2) - T_167735[2] := UInt<2>(3) - wire T_167736 : UInt<2>[2] - T_167736[0] := UInt<2>(2) - T_167736[1] := UInt<2>(3) - wire T_167737 : UInt<2>[1] - T_167737[0] := UInt<2>(3) - wire T_167738 : UInt<3>[3] - T_167738[0] := UInt<3>(0) - T_167738[1] := UInt<3>(1) - T_167738[2] := UInt<3>(2) - wire T_167739 : UInt<2>[2] - T_167739[0] := UInt<2>(0) - T_167739[1] := UInt<2>(1) - wire T_167740 : UInt<2>[3] - T_167740[0] := UInt<2>(1) - T_167740[1] := UInt<2>(2) - T_167740[2] := UInt<2>(3) - wire T_167741 : UInt<2>[2] - T_167741[0] := UInt<2>(2) - T_167741[1] := UInt<2>(3) - wire T_167742 : UInt<2>[1] - T_167742[0] := UInt<2>(3) - wire T_167743 : UInt<3>[3] - T_167743[0] := UInt<3>(0) - T_167743[1] := UInt<3>(1) - T_167743[2] := UInt<3>(2) - wire T_167744 : UInt<2>[2] - T_167744[0] := UInt<2>(0) - T_167744[1] := UInt<2>(1) - wire T_167745 : UInt<2>[3] - T_167745[0] := UInt<2>(1) - T_167745[1] := UInt<2>(2) - T_167745[2] := UInt<2>(3) - wire T_167746 : UInt<2>[2] - T_167746[0] := UInt<2>(2) - T_167746[1] := UInt<2>(3) - wire T_167747 : UInt<2>[1] - T_167747[0] := UInt<2>(3) - wire T_167748 : UInt<3>[3] - T_167748[0] := UInt<3>(0) - T_167748[1] := UInt<3>(1) - T_167748[2] := UInt<3>(2) - wire T_167749 : UInt<2>[2] - T_167749[0] := UInt<2>(0) - T_167749[1] := UInt<2>(1) - wire T_167750 : UInt<2>[3] - T_167750[0] := UInt<2>(1) - T_167750[1] := UInt<2>(2) - T_167750[2] := UInt<2>(3) - wire T_167751 : UInt<2>[2] - T_167751[0] := UInt<2>(2) - T_167751[1] := UInt<2>(3) - wire T_167752 : UInt<2>[1] - T_167752[0] := UInt<2>(3) - inst T_167753 of Queue_28995 - T_167753.enq.valid := client.acquire.valid - T_167753.enq.bits := client.acquire.bits - client.acquire.ready := T_167753.enq.ready - manager.acquire <> T_167753.deq - wire T_167754 : UInt<3>[3] - T_167754[0] := UInt<3>(0) - T_167754[1] := UInt<3>(1) - T_167754[2] := UInt<3>(2) - wire T_167755 : UInt<2>[2] - T_167755[0] := UInt<2>(0) - T_167755[1] := UInt<2>(1) - wire T_167756 : UInt<2>[3] - T_167756[0] := UInt<2>(1) - T_167756[1] := UInt<2>(2) - T_167756[2] := UInt<2>(3) - wire T_167757 : UInt<2>[2] - T_167757[0] := UInt<2>(2) - T_167757[1] := UInt<2>(3) - wire T_167758 : UInt<2>[1] - T_167758[0] := UInt<2>(3) - inst T_167759 of Queue_29634 - T_167759.enq.valid := manager.probe.valid - T_167759.enq.bits := manager.probe.bits - manager.probe.ready := T_167759.enq.ready - client.probe <> T_167759.deq - wire T_167760 : UInt<3>[3] - T_167760[0] := UInt<3>(0) - T_167760[1] := UInt<3>(1) - T_167760[2] := UInt<3>(2) - wire T_167761 : UInt<2>[2] - T_167761[0] := UInt<2>(0) - T_167761[1] := UInt<2>(1) - wire T_167762 : UInt<2>[3] - T_167762[0] := UInt<2>(1) - T_167762[1] := UInt<2>(2) - T_167762[2] := UInt<2>(3) - wire T_167763 : UInt<2>[2] - T_167763[0] := UInt<2>(2) - T_167763[1] := UInt<2>(3) - wire T_167764 : UInt<2>[1] - T_167764[0] := UInt<2>(3) - inst T_167765 of Queue_30309 - T_167765.enq.valid := client.release.valid - T_167765.enq.bits := client.release.bits - client.release.ready := T_167765.enq.ready - manager.release <> T_167765.deq - wire T_167766 : UInt<3>[3] - T_167766[0] := UInt<3>(0) - T_167766[1] := UInt<3>(1) - T_167766[2] := UInt<3>(2) - wire T_167767 : UInt<2>[2] - T_167767[0] := UInt<2>(0) - T_167767[1] := UInt<2>(1) - wire T_167768 : UInt<2>[3] - T_167768[0] := UInt<2>(1) - T_167768[1] := UInt<2>(2) - T_167768[2] := UInt<2>(3) - wire T_167769 : UInt<2>[2] - T_167769[0] := UInt<2>(2) - T_167769[1] := UInt<2>(3) - wire T_167770 : UInt<2>[1] - T_167770[0] := UInt<2>(3) - inst T_167771 of Queue_30984 - T_167771.enq.valid := manager.grant.valid - T_167771.enq.bits := manager.grant.bits - manager.grant.ready := T_167771.enq.ready - client.grant <> T_167771.deq - wire T_167772 : UInt<3>[3] - T_167772[0] := UInt<3>(0) - T_167772[1] := UInt<3>(1) - T_167772[2] := UInt<3>(2) - wire T_167773 : UInt<2>[2] - T_167773[0] := UInt<2>(0) - T_167773[1] := UInt<2>(1) - wire T_167774 : UInt<2>[3] - T_167774[0] := UInt<2>(1) - T_167774[1] := UInt<2>(2) - T_167774[2] := UInt<2>(3) - wire T_167775 : UInt<2>[2] - T_167775[0] := UInt<2>(2) - T_167775[1] := UInt<2>(3) - wire T_167776 : UInt<2>[1] - T_167776[0] := UInt<2>(3) - inst T_167777 of Queue_31614 - T_167777.enq.valid := client.finish.valid - T_167777.enq.bits := client.finish.bits - client.finish.ready := T_167777.enq.ready - manager.finish <> T_167777.deq - module FinishQueue_35038 : - input enq : {flip ready : UInt<1>, valid : UInt<1>, bits : {fin : {manager_xact_id : UInt<2>}, dst : UInt<2>}} - output deq : {flip ready : UInt<1>, valid : UInt<1>, bits : {fin : {manager_xact_id : UInt<2>}, dst : UInt<2>}} - output count : UInt<2> - - wire T_167778 : UInt<3>[3] - T_167778[0] := UInt<3>(0) - T_167778[1] := UInt<3>(1) - T_167778[2] := UInt<3>(2) - wire T_167779 : UInt<2>[2] - T_167779[0] := UInt<2>(0) - T_167779[1] := UInt<2>(1) - wire T_167780 : UInt<2>[3] - T_167780[0] := UInt<2>(1) - T_167780[1] := UInt<2>(2) - T_167780[2] := UInt<2>(3) - wire T_167781 : UInt<2>[2] - T_167781[0] := UInt<2>(2) - T_167781[1] := UInt<2>(3) - wire T_167782 : UInt<2>[1] - T_167782[0] := UInt<2>(3) - wire T_167783 : UInt<3>[3] - T_167783[0] := UInt<3>(0) - T_167783[1] := UInt<3>(1) - T_167783[2] := UInt<3>(2) - wire T_167784 : UInt<2>[2] - T_167784[0] := UInt<2>(0) - T_167784[1] := UInt<2>(1) - wire T_167785 : UInt<2>[3] - T_167785[0] := UInt<2>(1) - T_167785[1] := UInt<2>(2) - T_167785[2] := UInt<2>(3) - wire T_167786 : UInt<2>[2] - T_167786[0] := UInt<2>(2) - T_167786[1] := UInt<2>(3) - wire T_167787 : UInt<2>[1] - T_167787[0] := UInt<2>(3) - wire T_167788 : UInt<3>[3] - T_167788[0] := UInt<3>(0) - T_167788[1] := UInt<3>(1) - T_167788[2] := UInt<3>(2) - wire T_167789 : UInt<2>[2] - T_167789[0] := UInt<2>(0) - T_167789[1] := UInt<2>(1) - wire T_167790 : UInt<2>[3] - T_167790[0] := UInt<2>(1) - T_167790[1] := UInt<2>(2) - T_167790[2] := UInt<2>(3) - wire T_167791 : UInt<2>[2] - T_167791[0] := UInt<2>(2) - T_167791[1] := UInt<2>(3) - wire T_167792 : UInt<2>[1] - T_167792[0] := UInt<2>(3) - wire T_167793 : UInt<3>[3] - T_167793[0] := UInt<3>(0) - T_167793[1] := UInt<3>(1) - T_167793[2] := UInt<3>(2) - wire T_167794 : UInt<2>[2] - T_167794[0] := UInt<2>(0) - T_167794[1] := UInt<2>(1) - wire T_167795 : UInt<2>[3] - T_167795[0] := UInt<2>(1) - T_167795[1] := UInt<2>(2) - T_167795[2] := UInt<2>(3) - wire T_167796 : UInt<2>[2] - T_167796[0] := UInt<2>(2) - T_167796[1] := UInt<2>(3) - wire T_167797 : UInt<2>[1] - T_167797[0] := UInt<2>(3) - wire T_167798 : UInt<3>[3] - T_167798[0] := UInt<3>(0) - T_167798[1] := UInt<3>(1) - T_167798[2] := UInt<3>(2) - wire T_167799 : UInt<2>[2] - T_167799[0] := UInt<2>(0) - T_167799[1] := UInt<2>(1) - wire T_167800 : UInt<2>[3] - T_167800[0] := UInt<2>(1) - T_167800[1] := UInt<2>(2) - T_167800[2] := UInt<2>(3) - wire T_167801 : UInt<2>[2] - T_167801[0] := UInt<2>(2) - T_167801[1] := UInt<2>(3) - wire T_167802 : UInt<2>[1] - T_167802[0] := UInt<2>(3) - wire T_167803 : UInt<3>[3] - T_167803[0] := UInt<3>(0) - T_167803[1] := UInt<3>(1) - T_167803[2] := UInt<3>(2) - wire T_167804 : UInt<2>[2] - T_167804[0] := UInt<2>(0) - T_167804[1] := UInt<2>(1) - wire T_167805 : UInt<2>[3] - T_167805[0] := UInt<2>(1) - T_167805[1] := UInt<2>(2) - T_167805[2] := UInt<2>(3) - wire T_167806 : UInt<2>[2] - T_167806[0] := UInt<2>(2) - T_167806[1] := UInt<2>(3) - wire T_167807 : UInt<2>[1] - T_167807[0] := UInt<2>(3) - wire T_167808 : UInt<3>[3] - T_167808[0] := UInt<3>(0) - T_167808[1] := UInt<3>(1) - T_167808[2] := UInt<3>(2) - wire T_167809 : UInt<2>[2] - T_167809[0] := UInt<2>(0) - T_167809[1] := UInt<2>(1) - wire T_167810 : UInt<2>[3] - T_167810[0] := UInt<2>(1) - T_167810[1] := UInt<2>(2) - T_167810[2] := UInt<2>(3) - wire T_167811 : UInt<2>[2] - T_167811[0] := UInt<2>(2) - T_167811[1] := UInt<2>(3) - wire T_167812 : UInt<2>[1] - T_167812[0] := UInt<2>(3) - wire T_167813 : UInt<3>[3] - T_167813[0] := UInt<3>(0) - T_167813[1] := UInt<3>(1) - T_167813[2] := UInt<3>(2) - wire T_167814 : UInt<2>[2] - T_167814[0] := UInt<2>(0) - T_167814[1] := UInt<2>(1) - wire T_167815 : UInt<2>[3] - T_167815[0] := UInt<2>(1) - T_167815[1] := UInt<2>(2) - T_167815[2] := UInt<2>(3) - wire T_167816 : UInt<2>[2] - T_167816[0] := UInt<2>(2) - T_167816[1] := UInt<2>(3) - wire T_167817 : UInt<2>[1] - T_167817[0] := UInt<2>(3) - wire T_167818 : UInt<3>[3] - T_167818[0] := UInt<3>(0) - T_167818[1] := UInt<3>(1) - T_167818[2] := UInt<3>(2) - wire T_167819 : UInt<2>[2] - T_167819[0] := UInt<2>(0) - T_167819[1] := UInt<2>(1) - wire T_167820 : UInt<2>[3] - T_167820[0] := UInt<2>(1) - T_167820[1] := UInt<2>(2) - T_167820[2] := UInt<2>(3) - wire T_167821 : UInt<2>[2] - T_167821[0] := UInt<2>(2) - T_167821[1] := UInt<2>(3) - wire T_167822 : UInt<2>[1] - T_167822[0] := UInt<2>(3) - wire T_167823 : UInt<3>[3] - T_167823[0] := UInt<3>(0) - T_167823[1] := UInt<3>(1) - T_167823[2] := UInt<3>(2) - wire T_167824 : UInt<2>[2] - T_167824[0] := UInt<2>(0) - T_167824[1] := UInt<2>(1) - wire T_167825 : UInt<2>[3] - T_167825[0] := UInt<2>(1) - T_167825[1] := UInt<2>(2) - T_167825[2] := UInt<2>(3) - wire T_167826 : UInt<2>[2] - T_167826[0] := UInt<2>(2) - T_167826[1] := UInt<2>(3) - wire T_167827 : UInt<2>[1] - T_167827[0] := UInt<2>(3) - cmem T_167828 : {fin : {manager_xact_id : UInt<2>}, dst : UInt<2>}[2] - reg T_167829 : UInt<1> - onreset T_167829 := UInt<1>(0) - reg T_167830 : UInt<1> - onreset T_167830 := UInt<1>(0) - reg T_167831 : UInt<1> - onreset T_167831 := UInt<1>(0) - node T_167832 = eq(T_167829, T_167830) - node T_167833 = eq(T_167831, UInt<1>(0)) - node T_167834 = and(T_167832, T_167833) - node T_167835 = and(T_167832, T_167831) - node T_167836 = and(UInt<1>(0), T_167834) - node T_167837 = and(T_167836, deq.ready) - node T_167838 = and(enq.ready, enq.valid) - node T_167839 = eq(T_167837, UInt<1>(0)) - node T_167840 = and(T_167838, T_167839) - node T_167841 = and(deq.ready, deq.valid) - node T_167842 = eq(T_167837, UInt<1>(0)) - node T_167843 = and(T_167841, T_167842) - when T_167840 : - wire T_167844 : UInt<3>[3] - T_167844[0] := UInt<3>(0) - T_167844[1] := UInt<3>(1) - T_167844[2] := UInt<3>(2) - wire T_167845 : UInt<2>[2] - T_167845[0] := UInt<2>(0) - T_167845[1] := UInt<2>(1) - wire T_167846 : UInt<2>[3] - T_167846[0] := UInt<2>(1) - T_167846[1] := UInt<2>(2) - T_167846[2] := UInt<2>(3) - wire T_167847 : UInt<2>[2] - T_167847[0] := UInt<2>(2) - T_167847[1] := UInt<2>(3) - wire T_167848 : UInt<2>[1] - T_167848[0] := UInt<2>(3) - wire T_167849 : UInt<3>[3] - T_167849[0] := UInt<3>(0) - T_167849[1] := UInt<3>(1) - T_167849[2] := UInt<3>(2) - wire T_167850 : UInt<2>[2] - T_167850[0] := UInt<2>(0) - T_167850[1] := UInt<2>(1) - wire T_167851 : UInt<2>[3] - T_167851[0] := UInt<2>(1) - T_167851[1] := UInt<2>(2) - T_167851[2] := UInt<2>(3) - wire T_167852 : UInt<2>[2] - T_167852[0] := UInt<2>(2) - T_167852[1] := UInt<2>(3) - wire T_167853 : UInt<2>[1] - T_167853[0] := UInt<2>(3) - accessor T_167854 = T_167828[T_167829] - T_167854 := enq.bits - node T_167855 = eq(T_167829, UInt<1>(1)) - node T_167856 = and(UInt<1>(0), T_167855) - node T_167857 = addw(T_167829, UInt<1>(1)) - wire T_167858 : UInt<1> - T_167858 := T_167857 - when T_167856 : T_167858 := UInt<1>(0) - T_167829 := T_167858 - when T_167843 : - node T_167859 = eq(T_167830, UInt<1>(1)) - node T_167860 = and(UInt<1>(0), T_167859) - node T_167861 = addw(T_167830, UInt<1>(1)) - wire T_167862 : UInt<1> - T_167862 := T_167861 - when T_167860 : T_167862 := UInt<1>(0) - T_167830 := T_167862 - - node T_167863 = neq(T_167840, T_167843) - when T_167863 : T_167831 := T_167840 - node T_167864 = eq(T_167834, UInt<1>(0)) - node T_167865 = and(UInt<1>(0), enq.valid) - node T_167866 = or(T_167864, T_167865) - deq.valid := T_167866 - node T_167867 = eq(T_167835, UInt<1>(0)) - node T_167868 = and(UInt<1>(0), deq.ready) - node T_167869 = or(T_167867, T_167868) - enq.ready := T_167869 - wire T_167870 : UInt<3>[3] - T_167870[0] := UInt<3>(0) - T_167870[1] := UInt<3>(1) - T_167870[2] := UInt<3>(2) - wire T_167871 : UInt<2>[2] - T_167871[0] := UInt<2>(0) - T_167871[1] := UInt<2>(1) - wire T_167872 : UInt<2>[3] - T_167872[0] := UInt<2>(1) - T_167872[1] := UInt<2>(2) - T_167872[2] := UInt<2>(3) - wire T_167873 : UInt<2>[2] - T_167873[0] := UInt<2>(2) - T_167873[1] := UInt<2>(3) - wire T_167874 : UInt<2>[1] - T_167874[0] := UInt<2>(3) - wire T_167875 : UInt<3>[3] - T_167875[0] := UInt<3>(0) - T_167875[1] := UInt<3>(1) - T_167875[2] := UInt<3>(2) - wire T_167876 : UInt<2>[2] - T_167876[0] := UInt<2>(0) - T_167876[1] := UInt<2>(1) - wire T_167877 : UInt<2>[3] - T_167877[0] := UInt<2>(1) - T_167877[1] := UInt<2>(2) - T_167877[2] := UInt<2>(3) - wire T_167878 : UInt<2>[2] - T_167878[0] := UInt<2>(2) - T_167878[1] := UInt<2>(3) - wire T_167879 : UInt<2>[1] - T_167879[0] := UInt<2>(3) - accessor T_167880 = T_167828[T_167830] - wire T_167881 : UInt<3>[3] - T_167881[0] := UInt<3>(0) - T_167881[1] := UInt<3>(1) - T_167881[2] := UInt<3>(2) - wire T_167882 : UInt<2>[2] - T_167882[0] := UInt<2>(0) - T_167882[1] := UInt<2>(1) - wire T_167883 : UInt<2>[3] - T_167883[0] := UInt<2>(1) - T_167883[1] := UInt<2>(2) - T_167883[2] := UInt<2>(3) - wire T_167884 : UInt<2>[2] - T_167884[0] := UInt<2>(2) - T_167884[1] := UInt<2>(3) - wire T_167885 : UInt<2>[1] - T_167885[0] := UInt<2>(3) - wire T_167886 : UInt<3>[3] - T_167886[0] := UInt<3>(0) - T_167886[1] := UInt<3>(1) - T_167886[2] := UInt<3>(2) - wire T_167887 : UInt<2>[2] - T_167887[0] := UInt<2>(0) - T_167887[1] := UInt<2>(1) - wire T_167888 : UInt<2>[3] - T_167888[0] := UInt<2>(1) - T_167888[1] := UInt<2>(2) - T_167888[2] := UInt<2>(3) - wire T_167889 : UInt<2>[2] - T_167889[0] := UInt<2>(2) - T_167889[1] := UInt<2>(3) - wire T_167890 : UInt<2>[1] - T_167890[0] := UInt<2>(3) - wire T_167891 : {fin : {manager_xact_id : UInt<2>}, dst : UInt<2>} - T_167891 := T_167880 - when T_167836 : T_167891 := enq.bits - deq.bits := T_167891 - node T_167892 = subw(T_167829, T_167830) - node T_167893 = and(T_167831, T_167832) - node T_167894 = cat(T_167893, T_167892) - count := T_167894 - module FinishUnit_35200 : - input grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}} - output refill : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}} - output finish : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {manager_xact_id : UInt<2>}}} - output ready : UInt<1> - - wire T_167895 : UInt<3>[3] - T_167895[0] := UInt<3>(0) - T_167895[1] := UInt<3>(1) - T_167895[2] := UInt<3>(2) - wire T_167896 : UInt<2>[2] - T_167896[0] := UInt<2>(0) - T_167896[1] := UInt<2>(1) - wire T_167897 : UInt<2>[3] - T_167897[0] := UInt<2>(1) - T_167897[1] := UInt<2>(2) - T_167897[2] := UInt<2>(3) - wire T_167898 : UInt<2>[2] - T_167898[0] := UInt<2>(2) - T_167898[1] := UInt<2>(3) - wire T_167899 : UInt<2>[1] - T_167899[0] := UInt<2>(3) - wire T_167900 : UInt<3>[3] - T_167900[0] := UInt<3>(0) - T_167900[1] := UInt<3>(1) - T_167900[2] := UInt<3>(2) - wire T_167901 : UInt<2>[2] - T_167901[0] := UInt<2>(0) - T_167901[1] := UInt<2>(1) - wire T_167902 : UInt<2>[3] - T_167902[0] := UInt<2>(1) - T_167902[1] := UInt<2>(2) - T_167902[2] := UInt<2>(3) - wire T_167903 : UInt<2>[2] - T_167903[0] := UInt<2>(2) - T_167903[1] := UInt<2>(3) - wire T_167904 : UInt<2>[1] - T_167904[0] := UInt<2>(3) - wire T_167905 : UInt<3>[3] - T_167905[0] := UInt<3>(0) - T_167905[1] := UInt<3>(1) - T_167905[2] := UInt<3>(2) - wire T_167906 : UInt<2>[2] - T_167906[0] := UInt<2>(0) - T_167906[1] := UInt<2>(1) - wire T_167907 : UInt<2>[3] - T_167907[0] := UInt<2>(1) - T_167907[1] := UInt<2>(2) - T_167907[2] := UInt<2>(3) - wire T_167908 : UInt<2>[2] - T_167908[0] := UInt<2>(2) - T_167908[1] := UInt<2>(3) - wire T_167909 : UInt<2>[1] - T_167909[0] := UInt<2>(3) - wire T_167910 : UInt<3>[3] - T_167910[0] := UInt<3>(0) - T_167910[1] := UInt<3>(1) - T_167910[2] := UInt<3>(2) - wire T_167911 : UInt<2>[2] - T_167911[0] := UInt<2>(0) - T_167911[1] := UInt<2>(1) - wire T_167912 : UInt<2>[3] - T_167912[0] := UInt<2>(1) - T_167912[1] := UInt<2>(2) - T_167912[2] := UInt<2>(3) - wire T_167913 : UInt<2>[2] - T_167913[0] := UInt<2>(2) - T_167913[1] := UInt<2>(3) - wire T_167914 : UInt<2>[1] - T_167914[0] := UInt<2>(3) - wire T_167915 : UInt<3>[3] - T_167915[0] := UInt<3>(0) - T_167915[1] := UInt<3>(1) - T_167915[2] := UInt<3>(2) - wire T_167916 : UInt<2>[2] - T_167916[0] := UInt<2>(0) - T_167916[1] := UInt<2>(1) - wire T_167917 : UInt<2>[3] - T_167917[0] := UInt<2>(1) - T_167917[1] := UInt<2>(2) - T_167917[2] := UInt<2>(3) - wire T_167918 : UInt<2>[2] - T_167918[0] := UInt<2>(2) - T_167918[1] := UInt<2>(3) - wire T_167919 : UInt<2>[1] - T_167919[0] := UInt<2>(3) - wire T_167920 : UInt<3>[3] - T_167920[0] := UInt<3>(0) - T_167920[1] := UInt<3>(1) - T_167920[2] := UInt<3>(2) - wire T_167921 : UInt<2>[2] - T_167921[0] := UInt<2>(0) - T_167921[1] := UInt<2>(1) - wire T_167922 : UInt<2>[3] - T_167922[0] := UInt<2>(1) - T_167922[1] := UInt<2>(2) - T_167922[2] := UInt<2>(3) - wire T_167923 : UInt<2>[2] - T_167923[0] := UInt<2>(2) - T_167923[1] := UInt<2>(3) - wire T_167924 : UInt<2>[1] - T_167924[0] := UInt<2>(3) - wire T_167925 : UInt<3>[3] - T_167925[0] := UInt<3>(0) - T_167925[1] := UInt<3>(1) - T_167925[2] := UInt<3>(2) - wire T_167926 : UInt<2>[2] - T_167926[0] := UInt<2>(0) - T_167926[1] := UInt<2>(1) - wire T_167927 : UInt<2>[3] - T_167927[0] := UInt<2>(1) - T_167927[1] := UInt<2>(2) - T_167927[2] := UInt<2>(3) - wire T_167928 : UInt<2>[2] - T_167928[0] := UInt<2>(2) - T_167928[1] := UInt<2>(3) - wire T_167929 : UInt<2>[1] - T_167929[0] := UInt<2>(3) - wire T_167930 : UInt<3>[3] - T_167930[0] := UInt<3>(0) - T_167930[1] := UInt<3>(1) - T_167930[2] := UInt<3>(2) - wire T_167931 : UInt<2>[2] - T_167931[0] := UInt<2>(0) - T_167931[1] := UInt<2>(1) - wire T_167932 : UInt<2>[3] - T_167932[0] := UInt<2>(1) - T_167932[1] := UInt<2>(2) - T_167932[2] := UInt<2>(3) - wire T_167933 : UInt<2>[2] - T_167933[0] := UInt<2>(2) - T_167933[1] := UInt<2>(3) - wire T_167934 : UInt<2>[1] - T_167934[0] := UInt<2>(3) - wire T_167935 : UInt<3>[3] - T_167935[0] := UInt<3>(0) - T_167935[1] := UInt<3>(1) - T_167935[2] := UInt<3>(2) - wire T_167936 : UInt<2>[2] - T_167936[0] := UInt<2>(0) - T_167936[1] := UInt<2>(1) - wire T_167937 : UInt<2>[3] - T_167937[0] := UInt<2>(1) - T_167937[1] := UInt<2>(2) - T_167937[2] := UInt<2>(3) - wire T_167938 : UInt<2>[2] - T_167938[0] := UInt<2>(2) - T_167938[1] := UInt<2>(3) - wire T_167939 : UInt<2>[1] - T_167939[0] := UInt<2>(3) - node T_167940 = and(grant.ready, grant.valid) - wire T_167941 : UInt<3>[1] - T_167941[0] := UInt<3>(5) - node T_167942 = eq(T_167941[0], grant.bits.payload.g_type) - node T_167943 = or(UInt<1>(0), T_167942) - node T_167944 = eq(T_167911[0], grant.bits.payload.g_type) - node T_167945 = eq(T_167911[1], grant.bits.payload.g_type) - node T_167946 = or(UInt<1>(0), T_167944) - node T_167947 = or(T_167946, T_167945) - wire T_167948 : UInt<1> - T_167948 := T_167947 - when grant.bits.payload.is_builtin_type : T_167948 := T_167943 - node T_167949 = and(UInt<1>(1), T_167948) - node T_167950 = and(T_167940, T_167949) - reg T_167951 : UInt<2> - onreset T_167951 := UInt<2>(0) - when T_167950 : - node T_167952 = eq(T_167951, UInt<2>(3)) - node T_167953 = and(UInt<1>(0), T_167952) - node T_167954 = addw(T_167951, UInt<1>(1)) - wire T_167955 : UInt<2> - T_167955 := T_167954 - when T_167953 : T_167955 := UInt<1>(0) - T_167951 := T_167955 - node T_167956 = and(T_167950, T_167952) - wire T_167957 : UInt<1> - T_167957 := UInt<1>(0) - when T_167949 : T_167957 := T_167951 - wire T_167958 : UInt<1> - T_167958 := T_167940 - when T_167949 : T_167958 := T_167956 - wire T_167959 : UInt<3>[3] - T_167959[0] := UInt<3>(0) - T_167959[1] := UInt<3>(1) - T_167959[2] := UInt<3>(2) - wire T_167960 : UInt<2>[2] - T_167960[0] := UInt<2>(0) - T_167960[1] := UInt<2>(1) - wire T_167961 : UInt<2>[3] - T_167961[0] := UInt<2>(1) - T_167961[1] := UInt<2>(2) - T_167961[2] := UInt<2>(3) - wire T_167962 : UInt<2>[2] - T_167962[0] := UInt<2>(2) - T_167962[1] := UInt<2>(3) - wire T_167963 : UInt<2>[1] - T_167963[0] := UInt<2>(3) - wire T_167964 : UInt<3>[3] - T_167964[0] := UInt<3>(0) - T_167964[1] := UInt<3>(1) - T_167964[2] := UInt<3>(2) - wire T_167965 : UInt<2>[2] - T_167965[0] := UInt<2>(0) - T_167965[1] := UInt<2>(1) - wire T_167966 : UInt<2>[3] - T_167966[0] := UInt<2>(1) - T_167966[1] := UInt<2>(2) - T_167966[2] := UInt<2>(3) - wire T_167967 : UInt<2>[2] - T_167967[0] := UInt<2>(2) - T_167967[1] := UInt<2>(3) - wire T_167968 : UInt<2>[1] - T_167968[0] := UInt<2>(3) - inst T_167969 of FinishQueue_35038 - node T_167970 = and(grant.ready, grant.valid) - node T_167971 = eq(UInt<1>(0), UInt<1>(0)) - node T_167972 = eq(grant.bits.payload.g_type, UInt<3>(0)) - node T_167973 = and(grant.bits.payload.is_builtin_type, T_167972) - node T_167974 = eq(T_167973, UInt<1>(0)) - node T_167975 = and(T_167971, T_167974) - node T_167976 = and(T_167970, T_167975) - wire T_167977 : UInt<3>[1] - T_167977[0] := UInt<3>(5) - node T_167978 = eq(T_167977[0], grant.bits.payload.g_type) - node T_167979 = or(UInt<1>(0), T_167978) - node T_167980 = eq(T_167911[0], grant.bits.payload.g_type) - node T_167981 = eq(T_167911[1], grant.bits.payload.g_type) - node T_167982 = or(UInt<1>(0), T_167980) - node T_167983 = or(T_167982, T_167981) - wire T_167984 : UInt<1> - T_167984 := T_167983 - when grant.bits.payload.is_builtin_type : T_167984 := T_167979 - node T_167985 = and(UInt<1>(1), T_167984) - node T_167986 = eq(T_167985, UInt<1>(0)) - node T_167987 = or(T_167986, T_167958) - node T_167988 = and(T_167976, T_167987) - T_167969.enq.valid := T_167988 - wire T_167989 : UInt<3>[3] - T_167989[0] := UInt<3>(0) - T_167989[1] := UInt<3>(1) - T_167989[2] := UInt<3>(2) - wire T_167990 : UInt<2>[2] - T_167990[0] := UInt<2>(0) - T_167990[1] := UInt<2>(1) - wire T_167991 : UInt<2>[3] - T_167991[0] := UInt<2>(1) - T_167991[1] := UInt<2>(2) - T_167991[2] := UInt<2>(3) - wire T_167992 : UInt<2>[2] - T_167992[0] := UInt<2>(2) - T_167992[1] := UInt<2>(3) - wire T_167993 : UInt<2>[1] - T_167993[0] := UInt<2>(3) - wire T_167994 : UInt<3>[3] - T_167994[0] := UInt<3>(0) - T_167994[1] := UInt<3>(1) - T_167994[2] := UInt<3>(2) - wire T_167995 : UInt<2>[2] - T_167995[0] := UInt<2>(0) - T_167995[1] := UInt<2>(1) - wire T_167996 : UInt<2>[3] - T_167996[0] := UInt<2>(1) - T_167996[1] := UInt<2>(2) - T_167996[2] := UInt<2>(3) - wire T_167997 : UInt<2>[2] - T_167997[0] := UInt<2>(2) - T_167997[1] := UInt<2>(3) - wire T_167998 : UInt<2>[1] - T_167998[0] := UInt<2>(3) - wire T_167999 : {manager_xact_id : UInt<2>} - T_167999.manager_xact_id := grant.bits.payload.manager_xact_id - T_167969.enq.bits.fin := T_167999 - T_167969.enq.bits.dst := grant.bits.header.src - finish.bits.header.src := UInt<2>(2) - finish.bits.header.dst := T_167969.deq.bits.dst - finish.bits.payload := T_167969.deq.bits.fin - finish.valid := T_167969.deq.valid - T_167969.deq.ready := finish.ready - refill.valid := grant.valid - refill.bits := grant.bits.payload - node T_168000 = eq(UInt<1>(0), UInt<1>(0)) - node T_168001 = eq(grant.bits.payload.g_type, UInt<3>(0)) - node T_168002 = and(grant.bits.payload.is_builtin_type, T_168001) - node T_168003 = eq(T_168002, UInt<1>(0)) - node T_168004 = and(T_168000, T_168003) - node T_168005 = eq(T_168004, UInt<1>(0)) - node T_168006 = or(T_167969.enq.ready, T_168005) - node T_168007 = and(T_168006, refill.ready) - grant.ready := T_168007 - ready := T_167969.enq.ready - module ClientTileLinkNetworkPort_35756 : - input client : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}, flip probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>}}, release : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}} - output network : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}}, finish : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {manager_xact_id : UInt<2>}}}, flip probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, p_type : UInt<2>}}}, release : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}}} - - wire T_168008 : UInt<3>[3] - T_168008[0] := UInt<3>(0) - T_168008[1] := UInt<3>(1) - T_168008[2] := UInt<3>(2) - wire T_168009 : UInt<2>[2] - T_168009[0] := UInt<2>(0) - T_168009[1] := UInt<2>(1) - wire T_168010 : UInt<2>[3] - T_168010[0] := UInt<2>(1) - T_168010[1] := UInt<2>(2) - T_168010[2] := UInt<2>(3) - wire T_168011 : UInt<2>[2] - T_168011[0] := UInt<2>(2) - T_168011[1] := UInt<2>(3) - wire T_168012 : UInt<2>[1] - T_168012[0] := UInt<2>(3) - wire T_168013 : UInt<3>[3] - T_168013[0] := UInt<3>(0) - T_168013[1] := UInt<3>(1) - T_168013[2] := UInt<3>(2) - wire T_168014 : UInt<2>[2] - T_168014[0] := UInt<2>(0) - T_168014[1] := UInt<2>(1) - wire T_168015 : UInt<2>[3] - T_168015[0] := UInt<2>(1) - T_168015[1] := UInt<2>(2) - T_168015[2] := UInt<2>(3) - wire T_168016 : UInt<2>[2] - T_168016[0] := UInt<2>(2) - T_168016[1] := UInt<2>(3) - wire T_168017 : UInt<2>[1] - T_168017[0] := UInt<2>(3) - wire T_168018 : UInt<3>[3] - T_168018[0] := UInt<3>(0) - T_168018[1] := UInt<3>(1) - T_168018[2] := UInt<3>(2) - wire T_168019 : UInt<2>[2] - T_168019[0] := UInt<2>(0) - T_168019[1] := UInt<2>(1) - wire T_168020 : UInt<2>[3] - T_168020[0] := UInt<2>(1) - T_168020[1] := UInt<2>(2) - T_168020[2] := UInt<2>(3) - wire T_168021 : UInt<2>[2] - T_168021[0] := UInt<2>(2) - T_168021[1] := UInt<2>(3) - wire T_168022 : UInt<2>[1] - T_168022[0] := UInt<2>(3) - wire T_168023 : UInt<3>[3] - T_168023[0] := UInt<3>(0) - T_168023[1] := UInt<3>(1) - T_168023[2] := UInt<3>(2) - wire T_168024 : UInt<2>[2] - T_168024[0] := UInt<2>(0) - T_168024[1] := UInt<2>(1) - wire T_168025 : UInt<2>[3] - T_168025[0] := UInt<2>(1) - T_168025[1] := UInt<2>(2) - T_168025[2] := UInt<2>(3) - wire T_168026 : UInt<2>[2] - T_168026[0] := UInt<2>(2) - T_168026[1] := UInt<2>(3) - wire T_168027 : UInt<2>[1] - T_168027[0] := UInt<2>(3) - wire T_168028 : UInt<3>[3] - T_168028[0] := UInt<3>(0) - T_168028[1] := UInt<3>(1) - T_168028[2] := UInt<3>(2) - wire T_168029 : UInt<2>[2] - T_168029[0] := UInt<2>(0) - T_168029[1] := UInt<2>(1) - wire T_168030 : UInt<2>[3] - T_168030[0] := UInt<2>(1) - T_168030[1] := UInt<2>(2) - T_168030[2] := UInt<2>(3) - wire T_168031 : UInt<2>[2] - T_168031[0] := UInt<2>(2) - T_168031[1] := UInt<2>(3) - wire T_168032 : UInt<2>[1] - T_168032[0] := UInt<2>(3) - wire T_168033 : UInt<3>[3] - T_168033[0] := UInt<3>(0) - T_168033[1] := UInt<3>(1) - T_168033[2] := UInt<3>(2) - wire T_168034 : UInt<2>[2] - T_168034[0] := UInt<2>(0) - T_168034[1] := UInt<2>(1) - wire T_168035 : UInt<2>[3] - T_168035[0] := UInt<2>(1) - T_168035[1] := UInt<2>(2) - T_168035[2] := UInt<2>(3) - wire T_168036 : UInt<2>[2] - T_168036[0] := UInt<2>(2) - T_168036[1] := UInt<2>(3) - wire T_168037 : UInt<2>[1] - T_168037[0] := UInt<2>(3) - wire T_168038 : UInt<3>[3] - T_168038[0] := UInt<3>(0) - T_168038[1] := UInt<3>(1) - T_168038[2] := UInt<3>(2) - wire T_168039 : UInt<2>[2] - T_168039[0] := UInt<2>(0) - T_168039[1] := UInt<2>(1) - wire T_168040 : UInt<2>[3] - T_168040[0] := UInt<2>(1) - T_168040[1] := UInt<2>(2) - T_168040[2] := UInt<2>(3) - wire T_168041 : UInt<2>[2] - T_168041[0] := UInt<2>(2) - T_168041[1] := UInt<2>(3) - wire T_168042 : UInt<2>[1] - T_168042[0] := UInt<2>(3) - wire T_168043 : UInt<3>[3] - T_168043[0] := UInt<3>(0) - T_168043[1] := UInt<3>(1) - T_168043[2] := UInt<3>(2) - wire T_168044 : UInt<2>[2] - T_168044[0] := UInt<2>(0) - T_168044[1] := UInt<2>(1) - wire T_168045 : UInt<2>[3] - T_168045[0] := UInt<2>(1) - T_168045[1] := UInt<2>(2) - T_168045[2] := UInt<2>(3) - wire T_168046 : UInt<2>[2] - T_168046[0] := UInt<2>(2) - T_168046[1] := UInt<2>(3) - wire T_168047 : UInt<2>[1] - T_168047[0] := UInt<2>(3) - wire T_168048 : UInt<3>[3] - T_168048[0] := UInt<3>(0) - T_168048[1] := UInt<3>(1) - T_168048[2] := UInt<3>(2) - wire T_168049 : UInt<2>[2] - T_168049[0] := UInt<2>(0) - T_168049[1] := UInt<2>(1) - wire T_168050 : UInt<2>[3] - T_168050[0] := UInt<2>(1) - T_168050[1] := UInt<2>(2) - T_168050[2] := UInt<2>(3) - wire T_168051 : UInt<2>[2] - T_168051[0] := UInt<2>(2) - T_168051[1] := UInt<2>(3) - wire T_168052 : UInt<2>[1] - T_168052[0] := UInt<2>(3) - wire T_168053 : UInt<3>[3] - T_168053[0] := UInt<3>(0) - T_168053[1] := UInt<3>(1) - T_168053[2] := UInt<3>(2) - wire T_168054 : UInt<2>[2] - T_168054[0] := UInt<2>(0) - T_168054[1] := UInt<2>(1) - wire T_168055 : UInt<2>[3] - T_168055[0] := UInt<2>(1) - T_168055[1] := UInt<2>(2) - T_168055[2] := UInt<2>(3) - wire T_168056 : UInt<2>[2] - T_168056[0] := UInt<2>(2) - T_168056[1] := UInt<2>(3) - wire T_168057 : UInt<2>[1] - T_168057[0] := UInt<2>(3) - wire T_168058 : UInt<3>[3] - T_168058[0] := UInt<3>(0) - T_168058[1] := UInt<3>(1) - T_168058[2] := UInt<3>(2) - wire T_168059 : UInt<2>[2] - T_168059[0] := UInt<2>(0) - T_168059[1] := UInt<2>(1) - wire T_168060 : UInt<2>[3] - T_168060[0] := UInt<2>(1) - T_168060[1] := UInt<2>(2) - T_168060[2] := UInt<2>(3) - wire T_168061 : UInt<2>[2] - T_168061[0] := UInt<2>(2) - T_168061[1] := UInt<2>(3) - wire T_168062 : UInt<2>[1] - T_168062[0] := UInt<2>(3) - wire T_168063 : UInt<3>[3] - T_168063[0] := UInt<3>(0) - T_168063[1] := UInt<3>(1) - T_168063[2] := UInt<3>(2) - wire T_168064 : UInt<2>[2] - T_168064[0] := UInt<2>(0) - T_168064[1] := UInt<2>(1) - wire T_168065 : UInt<2>[3] - T_168065[0] := UInt<2>(1) - T_168065[1] := UInt<2>(2) - T_168065[2] := UInt<2>(3) - wire T_168066 : UInt<2>[2] - T_168066[0] := UInt<2>(2) - T_168066[1] := UInt<2>(3) - wire T_168067 : UInt<2>[1] - T_168067[0] := UInt<2>(3) - wire T_168068 : UInt<3>[3] - T_168068[0] := UInt<3>(0) - T_168068[1] := UInt<3>(1) - T_168068[2] := UInt<3>(2) - wire T_168069 : UInt<2>[2] - T_168069[0] := UInt<2>(0) - T_168069[1] := UInt<2>(1) - wire T_168070 : UInt<2>[3] - T_168070[0] := UInt<2>(1) - T_168070[1] := UInt<2>(2) - T_168070[2] := UInt<2>(3) - wire T_168071 : UInt<2>[2] - T_168071[0] := UInt<2>(2) - T_168071[1] := UInt<2>(3) - wire T_168072 : UInt<2>[1] - T_168072[0] := UInt<2>(3) - wire T_168073 : UInt<3>[3] - T_168073[0] := UInt<3>(0) - T_168073[1] := UInt<3>(1) - T_168073[2] := UInt<3>(2) - wire T_168074 : UInt<2>[2] - T_168074[0] := UInt<2>(0) - T_168074[1] := UInt<2>(1) - wire T_168075 : UInt<2>[3] - T_168075[0] := UInt<2>(1) - T_168075[1] := UInt<2>(2) - T_168075[2] := UInt<2>(3) - wire T_168076 : UInt<2>[2] - T_168076[0] := UInt<2>(2) - T_168076[1] := UInt<2>(3) - wire T_168077 : UInt<2>[1] - T_168077[0] := UInt<2>(3) - wire T_168078 : UInt<3>[3] - T_168078[0] := UInt<3>(0) - T_168078[1] := UInt<3>(1) - T_168078[2] := UInt<3>(2) - wire T_168079 : UInt<2>[2] - T_168079[0] := UInt<2>(0) - T_168079[1] := UInt<2>(1) - wire T_168080 : UInt<2>[3] - T_168080[0] := UInt<2>(1) - T_168080[1] := UInt<2>(2) - T_168080[2] := UInt<2>(3) - wire T_168081 : UInt<2>[2] - T_168081[0] := UInt<2>(2) - T_168081[1] := UInt<2>(3) - wire T_168082 : UInt<2>[1] - T_168082[0] := UInt<2>(3) - wire T_168083 : UInt<3>[3] - T_168083[0] := UInt<3>(0) - T_168083[1] := UInt<3>(1) - T_168083[2] := UInt<3>(2) - wire T_168084 : UInt<2>[2] - T_168084[0] := UInt<2>(0) - T_168084[1] := UInt<2>(1) - wire T_168085 : UInt<2>[3] - T_168085[0] := UInt<2>(1) - T_168085[1] := UInt<2>(2) - T_168085[2] := UInt<2>(3) - wire T_168086 : UInt<2>[2] - T_168086[0] := UInt<2>(2) - T_168086[1] := UInt<2>(3) - wire T_168087 : UInt<2>[1] - T_168087[0] := UInt<2>(3) - wire T_168088 : UInt<3>[3] - T_168088[0] := UInt<3>(0) - T_168088[1] := UInt<3>(1) - T_168088[2] := UInt<3>(2) - wire T_168089 : UInt<2>[2] - T_168089[0] := UInt<2>(0) - T_168089[1] := UInt<2>(1) - wire T_168090 : UInt<2>[3] - T_168090[0] := UInt<2>(1) - T_168090[1] := UInt<2>(2) - T_168090[2] := UInt<2>(3) - wire T_168091 : UInt<2>[2] - T_168091[0] := UInt<2>(2) - T_168091[1] := UInt<2>(3) - wire T_168092 : UInt<2>[1] - T_168092[0] := UInt<2>(3) - wire T_168093 : UInt<3>[3] - T_168093[0] := UInt<3>(0) - T_168093[1] := UInt<3>(1) - T_168093[2] := UInt<3>(2) - wire T_168094 : UInt<2>[2] - T_168094[0] := UInt<2>(0) - T_168094[1] := UInt<2>(1) - wire T_168095 : UInt<2>[3] - T_168095[0] := UInt<2>(1) - T_168095[1] := UInt<2>(2) - T_168095[2] := UInt<2>(3) - wire T_168096 : UInt<2>[2] - T_168096[0] := UInt<2>(2) - T_168096[1] := UInt<2>(3) - wire T_168097 : UInt<2>[1] - T_168097[0] := UInt<2>(3) - wire T_168098 : UInt<3>[3] - T_168098[0] := UInt<3>(0) - T_168098[1] := UInt<3>(1) - T_168098[2] := UInt<3>(2) - wire T_168099 : UInt<2>[2] - T_168099[0] := UInt<2>(0) - T_168099[1] := UInt<2>(1) - wire T_168100 : UInt<2>[3] - T_168100[0] := UInt<2>(1) - T_168100[1] := UInt<2>(2) - T_168100[2] := UInt<2>(3) - wire T_168101 : UInt<2>[2] - T_168101[0] := UInt<2>(2) - T_168101[1] := UInt<2>(3) - wire T_168102 : UInt<2>[1] - T_168102[0] := UInt<2>(3) - wire T_168103 : UInt<3>[3] - T_168103[0] := UInt<3>(0) - T_168103[1] := UInt<3>(1) - T_168103[2] := UInt<3>(2) - wire T_168104 : UInt<2>[2] - T_168104[0] := UInt<2>(0) - T_168104[1] := UInt<2>(1) - wire T_168105 : UInt<2>[3] - T_168105[0] := UInt<2>(1) - T_168105[1] := UInt<2>(2) - T_168105[2] := UInt<2>(3) - wire T_168106 : UInt<2>[2] - T_168106[0] := UInt<2>(2) - T_168106[1] := UInt<2>(3) - wire T_168107 : UInt<2>[1] - T_168107[0] := UInt<2>(3) - wire T_168108 : UInt<3>[3] - T_168108[0] := UInt<3>(0) - T_168108[1] := UInt<3>(1) - T_168108[2] := UInt<3>(2) - wire T_168109 : UInt<2>[2] - T_168109[0] := UInt<2>(0) - T_168109[1] := UInt<2>(1) - wire T_168110 : UInt<2>[3] - T_168110[0] := UInt<2>(1) - T_168110[1] := UInt<2>(2) - T_168110[2] := UInt<2>(3) - wire T_168111 : UInt<2>[2] - T_168111[0] := UInt<2>(2) - T_168111[1] := UInt<2>(3) - wire T_168112 : UInt<2>[1] - T_168112[0] := UInt<2>(3) - wire T_168113 : UInt<3>[3] - T_168113[0] := UInt<3>(0) - T_168113[1] := UInt<3>(1) - T_168113[2] := UInt<3>(2) - wire T_168114 : UInt<2>[2] - T_168114[0] := UInt<2>(0) - T_168114[1] := UInt<2>(1) - wire T_168115 : UInt<2>[3] - T_168115[0] := UInt<2>(1) - T_168115[1] := UInt<2>(2) - T_168115[2] := UInt<2>(3) - wire T_168116 : UInt<2>[2] - T_168116[0] := UInt<2>(2) - T_168116[1] := UInt<2>(3) - wire T_168117 : UInt<2>[1] - T_168117[0] := UInt<2>(3) - wire T_168118 : UInt<3>[3] - T_168118[0] := UInt<3>(0) - T_168118[1] := UInt<3>(1) - T_168118[2] := UInt<3>(2) - wire T_168119 : UInt<2>[2] - T_168119[0] := UInt<2>(0) - T_168119[1] := UInt<2>(1) - wire T_168120 : UInt<2>[3] - T_168120[0] := UInt<2>(1) - T_168120[1] := UInt<2>(2) - T_168120[2] := UInt<2>(3) - wire T_168121 : UInt<2>[2] - T_168121[0] := UInt<2>(2) - T_168121[1] := UInt<2>(3) - wire T_168122 : UInt<2>[1] - T_168122[0] := UInt<2>(3) - wire T_168123 : UInt<3>[3] - T_168123[0] := UInt<3>(0) - T_168123[1] := UInt<3>(1) - T_168123[2] := UInt<3>(2) - wire T_168124 : UInt<2>[2] - T_168124[0] := UInt<2>(0) - T_168124[1] := UInt<2>(1) - wire T_168125 : UInt<2>[3] - T_168125[0] := UInt<2>(1) - T_168125[1] := UInt<2>(2) - T_168125[2] := UInt<2>(3) - wire T_168126 : UInt<2>[2] - T_168126[0] := UInt<2>(2) - T_168126[1] := UInt<2>(3) - wire T_168127 : UInt<2>[1] - T_168127[0] := UInt<2>(3) - wire T_168128 : UInt<3>[3] - T_168128[0] := UInt<3>(0) - T_168128[1] := UInt<3>(1) - T_168128[2] := UInt<3>(2) - wire T_168129 : UInt<2>[2] - T_168129[0] := UInt<2>(0) - T_168129[1] := UInt<2>(1) - wire T_168130 : UInt<2>[3] - T_168130[0] := UInt<2>(1) - T_168130[1] := UInt<2>(2) - T_168130[2] := UInt<2>(3) - wire T_168131 : UInt<2>[2] - T_168131[0] := UInt<2>(2) - T_168131[1] := UInt<2>(3) - wire T_168132 : UInt<2>[1] - T_168132[0] := UInt<2>(3) - wire T_168133 : UInt<3>[3] - T_168133[0] := UInt<3>(0) - T_168133[1] := UInt<3>(1) - T_168133[2] := UInt<3>(2) - wire T_168134 : UInt<2>[2] - T_168134[0] := UInt<2>(0) - T_168134[1] := UInt<2>(1) - wire T_168135 : UInt<2>[3] - T_168135[0] := UInt<2>(1) - T_168135[1] := UInt<2>(2) - T_168135[2] := UInt<2>(3) - wire T_168136 : UInt<2>[2] - T_168136[0] := UInt<2>(2) - T_168136[1] := UInt<2>(3) - wire T_168137 : UInt<2>[1] - T_168137[0] := UInt<2>(3) - inst finisher of FinishUnit_35200 - finisher.grant <> network.grant - network.finish <> finisher.finish - wire T_168138 : UInt<3>[3] - T_168138[0] := UInt<3>(0) - T_168138[1] := UInt<3>(1) - T_168138[2] := UInt<3>(2) - wire T_168139 : UInt<2>[2] - T_168139[0] := UInt<2>(0) - T_168139[1] := UInt<2>(1) - wire T_168140 : UInt<2>[3] - T_168140[0] := UInt<2>(1) - T_168140[1] := UInt<2>(2) - T_168140[2] := UInt<2>(3) - wire T_168141 : UInt<2>[2] - T_168141[0] := UInt<2>(2) - T_168141[1] := UInt<2>(3) - wire T_168142 : UInt<2>[1] - T_168142[0] := UInt<2>(3) - wire T_168143 : UInt<3>[3] - T_168143[0] := UInt<3>(0) - T_168143[1] := UInt<3>(1) - T_168143[2] := UInt<3>(2) - wire T_168144 : UInt<2>[2] - T_168144[0] := UInt<2>(0) - T_168144[1] := UInt<2>(1) - wire T_168145 : UInt<2>[3] - T_168145[0] := UInt<2>(1) - T_168145[1] := UInt<2>(2) - T_168145[2] := UInt<2>(3) - wire T_168146 : UInt<2>[2] - T_168146[0] := UInt<2>(2) - T_168146[1] := UInt<2>(3) - wire T_168147 : UInt<2>[1] - T_168147[0] := UInt<2>(3) - wire T_168148 : UInt<3>[3] - T_168148[0] := UInt<3>(0) - T_168148[1] := UInt<3>(1) - T_168148[2] := UInt<3>(2) - wire T_168149 : UInt<2>[2] - T_168149[0] := UInt<2>(0) - T_168149[1] := UInt<2>(1) - wire T_168150 : UInt<2>[3] - T_168150[0] := UInt<2>(1) - T_168150[1] := UInt<2>(2) - T_168150[2] := UInt<2>(3) - wire T_168151 : UInt<2>[2] - T_168151[0] := UInt<2>(2) - T_168151[1] := UInt<2>(3) - wire T_168152 : UInt<2>[1] - T_168152[0] := UInt<2>(3) - wire acq_with_header : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}} - acq_with_header.bits.payload := client.acquire.bits - acq_with_header.bits.header.src := UInt<2>(2) - acq_with_header.bits.header.dst := UInt<1>(0) - acq_with_header.valid := client.acquire.valid - client.acquire.ready := acq_with_header.ready - wire T_168153 : UInt<3>[3] - T_168153[0] := UInt<3>(0) - T_168153[1] := UInt<3>(1) - T_168153[2] := UInt<3>(2) - wire T_168154 : UInt<2>[2] - T_168154[0] := UInt<2>(0) - T_168154[1] := UInt<2>(1) - wire T_168155 : UInt<2>[3] - T_168155[0] := UInt<2>(1) - T_168155[1] := UInt<2>(2) - T_168155[2] := UInt<2>(3) - wire T_168156 : UInt<2>[2] - T_168156[0] := UInt<2>(2) - T_168156[1] := UInt<2>(3) - wire T_168157 : UInt<2>[1] - T_168157[0] := UInt<2>(3) - wire T_168158 : UInt<3>[3] - T_168158[0] := UInt<3>(0) - T_168158[1] := UInt<3>(1) - T_168158[2] := UInt<3>(2) - wire T_168159 : UInt<2>[2] - T_168159[0] := UInt<2>(0) - T_168159[1] := UInt<2>(1) - wire T_168160 : UInt<2>[3] - T_168160[0] := UInt<2>(1) - T_168160[1] := UInt<2>(2) - T_168160[2] := UInt<2>(3) - wire T_168161 : UInt<2>[2] - T_168161[0] := UInt<2>(2) - T_168161[1] := UInt<2>(3) - wire T_168162 : UInt<2>[1] - T_168162[0] := UInt<2>(3) - wire T_168163 : UInt<3>[3] - T_168163[0] := UInt<3>(0) - T_168163[1] := UInt<3>(1) - T_168163[2] := UInt<3>(2) - wire T_168164 : UInt<2>[2] - T_168164[0] := UInt<2>(0) - T_168164[1] := UInt<2>(1) - wire T_168165 : UInt<2>[3] - T_168165[0] := UInt<2>(1) - T_168165[1] := UInt<2>(2) - T_168165[2] := UInt<2>(3) - wire T_168166 : UInt<2>[2] - T_168166[0] := UInt<2>(2) - T_168166[1] := UInt<2>(3) - wire T_168167 : UInt<2>[1] - T_168167[0] := UInt<2>(3) - wire rel_with_header : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}} - rel_with_header.bits.payload := client.release.bits - rel_with_header.bits.header.src := UInt<2>(2) - rel_with_header.bits.header.dst := UInt<1>(0) - rel_with_header.valid := client.release.valid - client.release.ready := rel_with_header.ready - wire T_168168 : UInt<3>[3] - T_168168[0] := UInt<3>(0) - T_168168[1] := UInt<3>(1) - T_168168[2] := UInt<3>(2) - wire T_168169 : UInt<2>[2] - T_168169[0] := UInt<2>(0) - T_168169[1] := UInt<2>(1) - wire T_168170 : UInt<2>[3] - T_168170[0] := UInt<2>(1) - T_168170[1] := UInt<2>(2) - T_168170[2] := UInt<2>(3) - wire T_168171 : UInt<2>[2] - T_168171[0] := UInt<2>(2) - T_168171[1] := UInt<2>(3) - wire T_168172 : UInt<2>[1] - T_168172[0] := UInt<2>(3) - wire T_168173 : UInt<3>[3] - T_168173[0] := UInt<3>(0) - T_168173[1] := UInt<3>(1) - T_168173[2] := UInt<3>(2) - wire T_168174 : UInt<2>[2] - T_168174[0] := UInt<2>(0) - T_168174[1] := UInt<2>(1) - wire T_168175 : UInt<2>[3] - T_168175[0] := UInt<2>(1) - T_168175[1] := UInt<2>(2) - T_168175[2] := UInt<2>(3) - wire T_168176 : UInt<2>[2] - T_168176[0] := UInt<2>(2) - T_168176[1] := UInt<2>(3) - wire T_168177 : UInt<2>[1] - T_168177[0] := UInt<2>(3) - wire prb_without_header : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>}} - prb_without_header.valid := network.probe.valid - prb_without_header.bits := network.probe.bits.payload - network.probe.ready := prb_without_header.ready - network.acquire.bits := acq_with_header.bits - node T_168178 = and(acq_with_header.valid, finisher.ready) - network.acquire.valid := T_168178 - node T_168179 = and(network.acquire.ready, finisher.ready) - acq_with_header.ready := T_168179 - network.release <> rel_with_header - client.probe <> prb_without_header - client.grant <> finisher.refill - module Queue_38541 : - input enq : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}} - output deq : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}} - output count : UInt<2> - - wire T_168180 : UInt<3>[3] - T_168180[0] := UInt<3>(0) - T_168180[1] := UInt<3>(1) - T_168180[2] := UInt<3>(2) - wire T_168181 : UInt<2>[2] - T_168181[0] := UInt<2>(0) - T_168181[1] := UInt<2>(1) - wire T_168182 : UInt<2>[3] - T_168182[0] := UInt<2>(1) - T_168182[1] := UInt<2>(2) - T_168182[2] := UInt<2>(3) - wire T_168183 : UInt<2>[2] - T_168183[0] := UInt<2>(2) - T_168183[1] := UInt<2>(3) - wire T_168184 : UInt<2>[1] - T_168184[0] := UInt<2>(3) - wire T_168185 : UInt<3>[3] - T_168185[0] := UInt<3>(0) - T_168185[1] := UInt<3>(1) - T_168185[2] := UInt<3>(2) - wire T_168186 : UInt<2>[2] - T_168186[0] := UInt<2>(0) - T_168186[1] := UInt<2>(1) - wire T_168187 : UInt<2>[3] - T_168187[0] := UInt<2>(1) - T_168187[1] := UInt<2>(2) - T_168187[2] := UInt<2>(3) - wire T_168188 : UInt<2>[2] - T_168188[0] := UInt<2>(2) - T_168188[1] := UInt<2>(3) - wire T_168189 : UInt<2>[1] - T_168189[0] := UInt<2>(3) - wire T_168190 : UInt<3>[3] - T_168190[0] := UInt<3>(0) - T_168190[1] := UInt<3>(1) - T_168190[2] := UInt<3>(2) - wire T_168191 : UInt<2>[2] - T_168191[0] := UInt<2>(0) - T_168191[1] := UInt<2>(1) - wire T_168192 : UInt<2>[3] - T_168192[0] := UInt<2>(1) - T_168192[1] := UInt<2>(2) - T_168192[2] := UInt<2>(3) - wire T_168193 : UInt<2>[2] - T_168193[0] := UInt<2>(2) - T_168193[1] := UInt<2>(3) - wire T_168194 : UInt<2>[1] - T_168194[0] := UInt<2>(3) - wire T_168195 : UInt<3>[3] - T_168195[0] := UInt<3>(0) - T_168195[1] := UInt<3>(1) - T_168195[2] := UInt<3>(2) - wire T_168196 : UInt<2>[2] - T_168196[0] := UInt<2>(0) - T_168196[1] := UInt<2>(1) - wire T_168197 : UInt<2>[3] - T_168197[0] := UInt<2>(1) - T_168197[1] := UInt<2>(2) - T_168197[2] := UInt<2>(3) - wire T_168198 : UInt<2>[2] - T_168198[0] := UInt<2>(2) - T_168198[1] := UInt<2>(3) - wire T_168199 : UInt<2>[1] - T_168199[0] := UInt<2>(3) - wire T_168200 : UInt<3>[3] - T_168200[0] := UInt<3>(0) - T_168200[1] := UInt<3>(1) - T_168200[2] := UInt<3>(2) - wire T_168201 : UInt<2>[2] - T_168201[0] := UInt<2>(0) - T_168201[1] := UInt<2>(1) - wire T_168202 : UInt<2>[3] - T_168202[0] := UInt<2>(1) - T_168202[1] := UInt<2>(2) - T_168202[2] := UInt<2>(3) - wire T_168203 : UInt<2>[2] - T_168203[0] := UInt<2>(2) - T_168203[1] := UInt<2>(3) - wire T_168204 : UInt<2>[1] - T_168204[0] := UInt<2>(3) - cmem ram : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}[2] - reg T_168205 : UInt<1> - onreset T_168205 := UInt<1>(0) - reg T_168206 : UInt<1> - onreset T_168206 := UInt<1>(0) - reg maybe_full : UInt<1> - onreset maybe_full := UInt<1>(0) - node ptr_match = eq(T_168205, T_168206) - node T_168207 = eq(maybe_full, UInt<1>(0)) - node empty = and(ptr_match, T_168207) - node full = and(ptr_match, maybe_full) - node maybe_flow = and(UInt<1>(0), empty) - node do_flow = and(maybe_flow, deq.ready) - node T_168208 = and(enq.ready, enq.valid) - node T_168209 = eq(do_flow, UInt<1>(0)) - node do_enq = and(T_168208, T_168209) - node T_168210 = and(deq.ready, deq.valid) - node T_168211 = eq(do_flow, UInt<1>(0)) - node do_deq = and(T_168210, T_168211) - when do_enq : - wire T_168212 : UInt<3>[3] - T_168212[0] := UInt<3>(0) - T_168212[1] := UInt<3>(1) - T_168212[2] := UInt<3>(2) - wire T_168213 : UInt<2>[2] - T_168213[0] := UInt<2>(0) - T_168213[1] := UInt<2>(1) - wire T_168214 : UInt<2>[3] - T_168214[0] := UInt<2>(1) - T_168214[1] := UInt<2>(2) - T_168214[2] := UInt<2>(3) - wire T_168215 : UInt<2>[2] - T_168215[0] := UInt<2>(2) - T_168215[1] := UInt<2>(3) - wire T_168216 : UInt<2>[1] - T_168216[0] := UInt<2>(3) - accessor T_168217 = ram[T_168205] - T_168217 := enq.bits - node T_168218 = eq(T_168205, UInt<1>(1)) - node T_168219 = and(UInt<1>(0), T_168218) - node T_168220 = addw(T_168205, UInt<1>(1)) - wire T_168221 : UInt<1> - T_168221 := T_168220 - when T_168219 : T_168221 := UInt<1>(0) - T_168205 := T_168221 - when do_deq : - node T_168222 = eq(T_168206, UInt<1>(1)) - node T_168223 = and(UInt<1>(0), T_168222) - node T_168224 = addw(T_168206, UInt<1>(1)) - wire T_168225 : UInt<1> - T_168225 := T_168224 - when T_168223 : T_168225 := UInt<1>(0) - T_168206 := T_168225 - - node T_168226 = neq(do_enq, do_deq) - when T_168226 : maybe_full := do_enq - node T_168227 = eq(empty, UInt<1>(0)) - node T_168228 = and(UInt<1>(0), enq.valid) - node T_168229 = or(T_168227, T_168228) - deq.valid := T_168229 - node T_168230 = eq(full, UInt<1>(0)) - node T_168231 = and(UInt<1>(0), deq.ready) - node T_168232 = or(T_168230, T_168231) - enq.ready := T_168232 - wire T_168233 : UInt<3>[3] - T_168233[0] := UInt<3>(0) - T_168233[1] := UInt<3>(1) - T_168233[2] := UInt<3>(2) - wire T_168234 : UInt<2>[2] - T_168234[0] := UInt<2>(0) - T_168234[1] := UInt<2>(1) - wire T_168235 : UInt<2>[3] - T_168235[0] := UInt<2>(1) - T_168235[1] := UInt<2>(2) - T_168235[2] := UInt<2>(3) - wire T_168236 : UInt<2>[2] - T_168236[0] := UInt<2>(2) - T_168236[1] := UInt<2>(3) - wire T_168237 : UInt<2>[1] - T_168237[0] := UInt<2>(3) - accessor T_168238 = ram[T_168206] - wire T_168239 : UInt<3>[3] - T_168239[0] := UInt<3>(0) - T_168239[1] := UInt<3>(1) - T_168239[2] := UInt<3>(2) - wire T_168240 : UInt<2>[2] - T_168240[0] := UInt<2>(0) - T_168240[1] := UInt<2>(1) - wire T_168241 : UInt<2>[3] - T_168241[0] := UInt<2>(1) - T_168241[1] := UInt<2>(2) - T_168241[2] := UInt<2>(3) - wire T_168242 : UInt<2>[2] - T_168242[0] := UInt<2>(2) - T_168242[1] := UInt<2>(3) - wire T_168243 : UInt<2>[1] - T_168243[0] := UInt<2>(3) - wire T_168244 : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}} - T_168244 := T_168238 - when maybe_flow : T_168244 := enq.bits - deq.bits := T_168244 - node ptr_diff = subw(T_168205, T_168206) - node T_168245 = and(maybe_full, ptr_match) - node T_168246 = cat(T_168245, ptr_diff) - count := T_168246 - module Queue_39180 : - input enq : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, p_type : UInt<2>}}} - output deq : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, p_type : UInt<2>}}} - output count : UInt<2> - - wire T_168247 : UInt<3>[3] - T_168247[0] := UInt<3>(0) - T_168247[1] := UInt<3>(1) - T_168247[2] := UInt<3>(2) - wire T_168248 : UInt<2>[2] - T_168248[0] := UInt<2>(0) - T_168248[1] := UInt<2>(1) - wire T_168249 : UInt<2>[3] - T_168249[0] := UInt<2>(1) - T_168249[1] := UInt<2>(2) - T_168249[2] := UInt<2>(3) - wire T_168250 : UInt<2>[2] - T_168250[0] := UInt<2>(2) - T_168250[1] := UInt<2>(3) - wire T_168251 : UInt<2>[1] - T_168251[0] := UInt<2>(3) - wire T_168252 : UInt<3>[3] - T_168252[0] := UInt<3>(0) - T_168252[1] := UInt<3>(1) - T_168252[2] := UInt<3>(2) - wire T_168253 : UInt<2>[2] - T_168253[0] := UInt<2>(0) - T_168253[1] := UInt<2>(1) - wire T_168254 : UInt<2>[3] - T_168254[0] := UInt<2>(1) - T_168254[1] := UInt<2>(2) - T_168254[2] := UInt<2>(3) - wire T_168255 : UInt<2>[2] - T_168255[0] := UInt<2>(2) - T_168255[1] := UInt<2>(3) - wire T_168256 : UInt<2>[1] - T_168256[0] := UInt<2>(3) - wire T_168257 : UInt<3>[3] - T_168257[0] := UInt<3>(0) - T_168257[1] := UInt<3>(1) - T_168257[2] := UInt<3>(2) - wire T_168258 : UInt<2>[2] - T_168258[0] := UInt<2>(0) - T_168258[1] := UInt<2>(1) - wire T_168259 : UInt<2>[3] - T_168259[0] := UInt<2>(1) - T_168259[1] := UInt<2>(2) - T_168259[2] := UInt<2>(3) - wire T_168260 : UInt<2>[2] - T_168260[0] := UInt<2>(2) - T_168260[1] := UInt<2>(3) - wire T_168261 : UInt<2>[1] - T_168261[0] := UInt<2>(3) - wire T_168262 : UInt<3>[3] - T_168262[0] := UInt<3>(0) - T_168262[1] := UInt<3>(1) - T_168262[2] := UInt<3>(2) - wire T_168263 : UInt<2>[2] - T_168263[0] := UInt<2>(0) - T_168263[1] := UInt<2>(1) - wire T_168264 : UInt<2>[3] - T_168264[0] := UInt<2>(1) - T_168264[1] := UInt<2>(2) - T_168264[2] := UInt<2>(3) - wire T_168265 : UInt<2>[2] - T_168265[0] := UInt<2>(2) - T_168265[1] := UInt<2>(3) - wire T_168266 : UInt<2>[1] - T_168266[0] := UInt<2>(3) - wire T_168267 : UInt<3>[3] - T_168267[0] := UInt<3>(0) - T_168267[1] := UInt<3>(1) - T_168267[2] := UInt<3>(2) - wire T_168268 : UInt<2>[2] - T_168268[0] := UInt<2>(0) - T_168268[1] := UInt<2>(1) - wire T_168269 : UInt<2>[3] - T_168269[0] := UInt<2>(1) - T_168269[1] := UInt<2>(2) - T_168269[2] := UInt<2>(3) - wire T_168270 : UInt<2>[2] - T_168270[0] := UInt<2>(2) - T_168270[1] := UInt<2>(3) - wire T_168271 : UInt<2>[1] - T_168271[0] := UInt<2>(3) - cmem ram : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, p_type : UInt<2>}}[2] - reg T_168272 : UInt<1> - onreset T_168272 := UInt<1>(0) - reg T_168273 : UInt<1> - onreset T_168273 := UInt<1>(0) - reg maybe_full : UInt<1> - onreset maybe_full := UInt<1>(0) - node ptr_match = eq(T_168272, T_168273) - node T_168274 = eq(maybe_full, UInt<1>(0)) - node empty = and(ptr_match, T_168274) - node full = and(ptr_match, maybe_full) - node maybe_flow = and(UInt<1>(0), empty) - node do_flow = and(maybe_flow, deq.ready) - node T_168275 = and(enq.ready, enq.valid) - node T_168276 = eq(do_flow, UInt<1>(0)) - node do_enq = and(T_168275, T_168276) - node T_168277 = and(deq.ready, deq.valid) - node T_168278 = eq(do_flow, UInt<1>(0)) - node do_deq = and(T_168277, T_168278) - when do_enq : - wire T_168279 : UInt<3>[3] - T_168279[0] := UInt<3>(0) - T_168279[1] := UInt<3>(1) - T_168279[2] := UInt<3>(2) - wire T_168280 : UInt<2>[2] - T_168280[0] := UInt<2>(0) - T_168280[1] := UInt<2>(1) - wire T_168281 : UInt<2>[3] - T_168281[0] := UInt<2>(1) - T_168281[1] := UInt<2>(2) - T_168281[2] := UInt<2>(3) - wire T_168282 : UInt<2>[2] - T_168282[0] := UInt<2>(2) - T_168282[1] := UInt<2>(3) - wire T_168283 : UInt<2>[1] - T_168283[0] := UInt<2>(3) - accessor T_168284 = ram[T_168272] - T_168284 := enq.bits - node T_168285 = eq(T_168272, UInt<1>(1)) - node T_168286 = and(UInt<1>(0), T_168285) - node T_168287 = addw(T_168272, UInt<1>(1)) - wire T_168288 : UInt<1> - T_168288 := T_168287 - when T_168286 : T_168288 := UInt<1>(0) - T_168272 := T_168288 - when do_deq : - node T_168289 = eq(T_168273, UInt<1>(1)) - node T_168290 = and(UInt<1>(0), T_168289) - node T_168291 = addw(T_168273, UInt<1>(1)) - wire T_168292 : UInt<1> - T_168292 := T_168291 - when T_168290 : T_168292 := UInt<1>(0) - T_168273 := T_168292 - - node T_168293 = neq(do_enq, do_deq) - when T_168293 : maybe_full := do_enq - node T_168294 = eq(empty, UInt<1>(0)) - node T_168295 = and(UInt<1>(0), enq.valid) - node T_168296 = or(T_168294, T_168295) - deq.valid := T_168296 - node T_168297 = eq(full, UInt<1>(0)) - node T_168298 = and(UInt<1>(0), deq.ready) - node T_168299 = or(T_168297, T_168298) - enq.ready := T_168299 - wire T_168300 : UInt<3>[3] - T_168300[0] := UInt<3>(0) - T_168300[1] := UInt<3>(1) - T_168300[2] := UInt<3>(2) - wire T_168301 : UInt<2>[2] - T_168301[0] := UInt<2>(0) - T_168301[1] := UInt<2>(1) - wire T_168302 : UInt<2>[3] - T_168302[0] := UInt<2>(1) - T_168302[1] := UInt<2>(2) - T_168302[2] := UInt<2>(3) - wire T_168303 : UInt<2>[2] - T_168303[0] := UInt<2>(2) - T_168303[1] := UInt<2>(3) - wire T_168304 : UInt<2>[1] - T_168304[0] := UInt<2>(3) - accessor T_168305 = ram[T_168273] - wire T_168306 : UInt<3>[3] - T_168306[0] := UInt<3>(0) - T_168306[1] := UInt<3>(1) - T_168306[2] := UInt<3>(2) - wire T_168307 : UInt<2>[2] - T_168307[0] := UInt<2>(0) - T_168307[1] := UInt<2>(1) - wire T_168308 : UInt<2>[3] - T_168308[0] := UInt<2>(1) - T_168308[1] := UInt<2>(2) - T_168308[2] := UInt<2>(3) - wire T_168309 : UInt<2>[2] - T_168309[0] := UInt<2>(2) - T_168309[1] := UInt<2>(3) - wire T_168310 : UInt<2>[1] - T_168310[0] := UInt<2>(3) - wire T_168311 : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, p_type : UInt<2>}} - T_168311 := T_168305 - when maybe_flow : T_168311 := enq.bits - deq.bits := T_168311 - node ptr_diff = subw(T_168272, T_168273) - node T_168312 = and(maybe_full, ptr_match) - node T_168313 = cat(T_168312, ptr_diff) - count := T_168313 - module Queue_39855 : - input enq : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}} - output deq : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}} - output count : UInt<2> - - wire T_168314 : UInt<3>[3] - T_168314[0] := UInt<3>(0) - T_168314[1] := UInt<3>(1) - T_168314[2] := UInt<3>(2) - wire T_168315 : UInt<2>[2] - T_168315[0] := UInt<2>(0) - T_168315[1] := UInt<2>(1) - wire T_168316 : UInt<2>[3] - T_168316[0] := UInt<2>(1) - T_168316[1] := UInt<2>(2) - T_168316[2] := UInt<2>(3) - wire T_168317 : UInt<2>[2] - T_168317[0] := UInt<2>(2) - T_168317[1] := UInt<2>(3) - wire T_168318 : UInt<2>[1] - T_168318[0] := UInt<2>(3) - wire T_168319 : UInt<3>[3] - T_168319[0] := UInt<3>(0) - T_168319[1] := UInt<3>(1) - T_168319[2] := UInt<3>(2) - wire T_168320 : UInt<2>[2] - T_168320[0] := UInt<2>(0) - T_168320[1] := UInt<2>(1) - wire T_168321 : UInt<2>[3] - T_168321[0] := UInt<2>(1) - T_168321[1] := UInt<2>(2) - T_168321[2] := UInt<2>(3) - wire T_168322 : UInt<2>[2] - T_168322[0] := UInt<2>(2) - T_168322[1] := UInt<2>(3) - wire T_168323 : UInt<2>[1] - T_168323[0] := UInt<2>(3) - wire T_168324 : UInt<3>[3] - T_168324[0] := UInt<3>(0) - T_168324[1] := UInt<3>(1) - T_168324[2] := UInt<3>(2) - wire T_168325 : UInt<2>[2] - T_168325[0] := UInt<2>(0) - T_168325[1] := UInt<2>(1) - wire T_168326 : UInt<2>[3] - T_168326[0] := UInt<2>(1) - T_168326[1] := UInt<2>(2) - T_168326[2] := UInt<2>(3) - wire T_168327 : UInt<2>[2] - T_168327[0] := UInt<2>(2) - T_168327[1] := UInt<2>(3) - wire T_168328 : UInt<2>[1] - T_168328[0] := UInt<2>(3) - wire T_168329 : UInt<3>[3] - T_168329[0] := UInt<3>(0) - T_168329[1] := UInt<3>(1) - T_168329[2] := UInt<3>(2) - wire T_168330 : UInt<2>[2] - T_168330[0] := UInt<2>(0) - T_168330[1] := UInt<2>(1) - wire T_168331 : UInt<2>[3] - T_168331[0] := UInt<2>(1) - T_168331[1] := UInt<2>(2) - T_168331[2] := UInt<2>(3) - wire T_168332 : UInt<2>[2] - T_168332[0] := UInt<2>(2) - T_168332[1] := UInt<2>(3) - wire T_168333 : UInt<2>[1] - T_168333[0] := UInt<2>(3) - wire T_168334 : UInt<3>[3] - T_168334[0] := UInt<3>(0) - T_168334[1] := UInt<3>(1) - T_168334[2] := UInt<3>(2) - wire T_168335 : UInt<2>[2] - T_168335[0] := UInt<2>(0) - T_168335[1] := UInt<2>(1) - wire T_168336 : UInt<2>[3] - T_168336[0] := UInt<2>(1) - T_168336[1] := UInt<2>(2) - T_168336[2] := UInt<2>(3) - wire T_168337 : UInt<2>[2] - T_168337[0] := UInt<2>(2) - T_168337[1] := UInt<2>(3) - wire T_168338 : UInt<2>[1] - T_168338[0] := UInt<2>(3) - cmem ram : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}[2] - reg T_168339 : UInt<1> - onreset T_168339 := UInt<1>(0) - reg T_168340 : UInt<1> - onreset T_168340 := UInt<1>(0) - reg maybe_full : UInt<1> - onreset maybe_full := UInt<1>(0) - node ptr_match = eq(T_168339, T_168340) - node T_168341 = eq(maybe_full, UInt<1>(0)) - node empty = and(ptr_match, T_168341) - node full = and(ptr_match, maybe_full) - node maybe_flow = and(UInt<1>(0), empty) - node do_flow = and(maybe_flow, deq.ready) - node T_168342 = and(enq.ready, enq.valid) - node T_168343 = eq(do_flow, UInt<1>(0)) - node do_enq = and(T_168342, T_168343) - node T_168344 = and(deq.ready, deq.valid) - node T_168345 = eq(do_flow, UInt<1>(0)) - node do_deq = and(T_168344, T_168345) - when do_enq : - wire T_168346 : UInt<3>[3] - T_168346[0] := UInt<3>(0) - T_168346[1] := UInt<3>(1) - T_168346[2] := UInt<3>(2) - wire T_168347 : UInt<2>[2] - T_168347[0] := UInt<2>(0) - T_168347[1] := UInt<2>(1) - wire T_168348 : UInt<2>[3] - T_168348[0] := UInt<2>(1) - T_168348[1] := UInt<2>(2) - T_168348[2] := UInt<2>(3) - wire T_168349 : UInt<2>[2] - T_168349[0] := UInt<2>(2) - T_168349[1] := UInt<2>(3) - wire T_168350 : UInt<2>[1] - T_168350[0] := UInt<2>(3) - accessor T_168351 = ram[T_168339] - T_168351 := enq.bits - node T_168352 = eq(T_168339, UInt<1>(1)) - node T_168353 = and(UInt<1>(0), T_168352) - node T_168354 = addw(T_168339, UInt<1>(1)) - wire T_168355 : UInt<1> - T_168355 := T_168354 - when T_168353 : T_168355 := UInt<1>(0) - T_168339 := T_168355 - when do_deq : - node T_168356 = eq(T_168340, UInt<1>(1)) - node T_168357 = and(UInt<1>(0), T_168356) - node T_168358 = addw(T_168340, UInt<1>(1)) - wire T_168359 : UInt<1> - T_168359 := T_168358 - when T_168357 : T_168359 := UInt<1>(0) - T_168340 := T_168359 - - node T_168360 = neq(do_enq, do_deq) - when T_168360 : maybe_full := do_enq - node T_168361 = eq(empty, UInt<1>(0)) - node T_168362 = and(UInt<1>(0), enq.valid) - node T_168363 = or(T_168361, T_168362) - deq.valid := T_168363 - node T_168364 = eq(full, UInt<1>(0)) - node T_168365 = and(UInt<1>(0), deq.ready) - node T_168366 = or(T_168364, T_168365) - enq.ready := T_168366 - wire T_168367 : UInt<3>[3] - T_168367[0] := UInt<3>(0) - T_168367[1] := UInt<3>(1) - T_168367[2] := UInt<3>(2) - wire T_168368 : UInt<2>[2] - T_168368[0] := UInt<2>(0) - T_168368[1] := UInt<2>(1) - wire T_168369 : UInt<2>[3] - T_168369[0] := UInt<2>(1) - T_168369[1] := UInt<2>(2) - T_168369[2] := UInt<2>(3) - wire T_168370 : UInt<2>[2] - T_168370[0] := UInt<2>(2) - T_168370[1] := UInt<2>(3) - wire T_168371 : UInt<2>[1] - T_168371[0] := UInt<2>(3) - accessor T_168372 = ram[T_168340] - wire T_168373 : UInt<3>[3] - T_168373[0] := UInt<3>(0) - T_168373[1] := UInt<3>(1) - T_168373[2] := UInt<3>(2) - wire T_168374 : UInt<2>[2] - T_168374[0] := UInt<2>(0) - T_168374[1] := UInt<2>(1) - wire T_168375 : UInt<2>[3] - T_168375[0] := UInt<2>(1) - T_168375[1] := UInt<2>(2) - T_168375[2] := UInt<2>(3) - wire T_168376 : UInt<2>[2] - T_168376[0] := UInt<2>(2) - T_168376[1] := UInt<2>(3) - wire T_168377 : UInt<2>[1] - T_168377[0] := UInt<2>(3) - wire T_168378 : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}} - T_168378 := T_168372 - when maybe_flow : T_168378 := enq.bits - deq.bits := T_168378 - node ptr_diff = subw(T_168339, T_168340) - node T_168379 = and(maybe_full, ptr_match) - node T_168380 = cat(T_168379, ptr_diff) - count := T_168380 - module Queue_40530 : - input enq : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}} - output deq : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}} - output count : UInt<2> - - wire T_168381 : UInt<3>[3] - T_168381[0] := UInt<3>(0) - T_168381[1] := UInt<3>(1) - T_168381[2] := UInt<3>(2) - wire T_168382 : UInt<2>[2] - T_168382[0] := UInt<2>(0) - T_168382[1] := UInt<2>(1) - wire T_168383 : UInt<2>[3] - T_168383[0] := UInt<2>(1) - T_168383[1] := UInt<2>(2) - T_168383[2] := UInt<2>(3) - wire T_168384 : UInt<2>[2] - T_168384[0] := UInt<2>(2) - T_168384[1] := UInt<2>(3) - wire T_168385 : UInt<2>[1] - T_168385[0] := UInt<2>(3) - wire T_168386 : UInt<3>[3] - T_168386[0] := UInt<3>(0) - T_168386[1] := UInt<3>(1) - T_168386[2] := UInt<3>(2) - wire T_168387 : UInt<2>[2] - T_168387[0] := UInt<2>(0) - T_168387[1] := UInt<2>(1) - wire T_168388 : UInt<2>[3] - T_168388[0] := UInt<2>(1) - T_168388[1] := UInt<2>(2) - T_168388[2] := UInt<2>(3) - wire T_168389 : UInt<2>[2] - T_168389[0] := UInt<2>(2) - T_168389[1] := UInt<2>(3) - wire T_168390 : UInt<2>[1] - T_168390[0] := UInt<2>(3) - wire T_168391 : UInt<3>[3] - T_168391[0] := UInt<3>(0) - T_168391[1] := UInt<3>(1) - T_168391[2] := UInt<3>(2) - wire T_168392 : UInt<2>[2] - T_168392[0] := UInt<2>(0) - T_168392[1] := UInt<2>(1) - wire T_168393 : UInt<2>[3] - T_168393[0] := UInt<2>(1) - T_168393[1] := UInt<2>(2) - T_168393[2] := UInt<2>(3) - wire T_168394 : UInt<2>[2] - T_168394[0] := UInt<2>(2) - T_168394[1] := UInt<2>(3) - wire T_168395 : UInt<2>[1] - T_168395[0] := UInt<2>(3) - wire T_168396 : UInt<3>[3] - T_168396[0] := UInt<3>(0) - T_168396[1] := UInt<3>(1) - T_168396[2] := UInt<3>(2) - wire T_168397 : UInt<2>[2] - T_168397[0] := UInt<2>(0) - T_168397[1] := UInt<2>(1) - wire T_168398 : UInt<2>[3] - T_168398[0] := UInt<2>(1) - T_168398[1] := UInt<2>(2) - T_168398[2] := UInt<2>(3) - wire T_168399 : UInt<2>[2] - T_168399[0] := UInt<2>(2) - T_168399[1] := UInt<2>(3) - wire T_168400 : UInt<2>[1] - T_168400[0] := UInt<2>(3) - wire T_168401 : UInt<3>[3] - T_168401[0] := UInt<3>(0) - T_168401[1] := UInt<3>(1) - T_168401[2] := UInt<3>(2) - wire T_168402 : UInt<2>[2] - T_168402[0] := UInt<2>(0) - T_168402[1] := UInt<2>(1) - wire T_168403 : UInt<2>[3] - T_168403[0] := UInt<2>(1) - T_168403[1] := UInt<2>(2) - T_168403[2] := UInt<2>(3) - wire T_168404 : UInt<2>[2] - T_168404[0] := UInt<2>(2) - T_168404[1] := UInt<2>(3) - wire T_168405 : UInt<2>[1] - T_168405[0] := UInt<2>(3) - cmem ram : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}[2] - reg T_168406 : UInt<1> - onreset T_168406 := UInt<1>(0) - reg T_168407 : UInt<1> - onreset T_168407 := UInt<1>(0) - reg maybe_full : UInt<1> - onreset maybe_full := UInt<1>(0) - node ptr_match = eq(T_168406, T_168407) - node T_168408 = eq(maybe_full, UInt<1>(0)) - node empty = and(ptr_match, T_168408) - node full = and(ptr_match, maybe_full) - node maybe_flow = and(UInt<1>(0), empty) - node do_flow = and(maybe_flow, deq.ready) - node T_168409 = and(enq.ready, enq.valid) - node T_168410 = eq(do_flow, UInt<1>(0)) - node do_enq = and(T_168409, T_168410) - node T_168411 = and(deq.ready, deq.valid) - node T_168412 = eq(do_flow, UInt<1>(0)) - node do_deq = and(T_168411, T_168412) - when do_enq : - wire T_168413 : UInt<3>[3] - T_168413[0] := UInt<3>(0) - T_168413[1] := UInt<3>(1) - T_168413[2] := UInt<3>(2) - wire T_168414 : UInt<2>[2] - T_168414[0] := UInt<2>(0) - T_168414[1] := UInt<2>(1) - wire T_168415 : UInt<2>[3] - T_168415[0] := UInt<2>(1) - T_168415[1] := UInt<2>(2) - T_168415[2] := UInt<2>(3) - wire T_168416 : UInt<2>[2] - T_168416[0] := UInt<2>(2) - T_168416[1] := UInt<2>(3) - wire T_168417 : UInt<2>[1] - T_168417[0] := UInt<2>(3) - accessor T_168418 = ram[T_168406] - T_168418 := enq.bits - node T_168419 = eq(T_168406, UInt<1>(1)) - node T_168420 = and(UInt<1>(0), T_168419) - node T_168421 = addw(T_168406, UInt<1>(1)) - wire T_168422 : UInt<1> - T_168422 := T_168421 - when T_168420 : T_168422 := UInt<1>(0) - T_168406 := T_168422 - when do_deq : - node T_168423 = eq(T_168407, UInt<1>(1)) - node T_168424 = and(UInt<1>(0), T_168423) - node T_168425 = addw(T_168407, UInt<1>(1)) - wire T_168426 : UInt<1> - T_168426 := T_168425 - when T_168424 : T_168426 := UInt<1>(0) - T_168407 := T_168426 - - node T_168427 = neq(do_enq, do_deq) - when T_168427 : maybe_full := do_enq - node T_168428 = eq(empty, UInt<1>(0)) - node T_168429 = and(UInt<1>(0), enq.valid) - node T_168430 = or(T_168428, T_168429) - deq.valid := T_168430 - node T_168431 = eq(full, UInt<1>(0)) - node T_168432 = and(UInt<1>(0), deq.ready) - node T_168433 = or(T_168431, T_168432) - enq.ready := T_168433 - wire T_168434 : UInt<3>[3] - T_168434[0] := UInt<3>(0) - T_168434[1] := UInt<3>(1) - T_168434[2] := UInt<3>(2) - wire T_168435 : UInt<2>[2] - T_168435[0] := UInt<2>(0) - T_168435[1] := UInt<2>(1) - wire T_168436 : UInt<2>[3] - T_168436[0] := UInt<2>(1) - T_168436[1] := UInt<2>(2) - T_168436[2] := UInt<2>(3) - wire T_168437 : UInt<2>[2] - T_168437[0] := UInt<2>(2) - T_168437[1] := UInt<2>(3) - wire T_168438 : UInt<2>[1] - T_168438[0] := UInt<2>(3) - accessor T_168439 = ram[T_168407] - wire T_168440 : UInt<3>[3] - T_168440[0] := UInt<3>(0) - T_168440[1] := UInt<3>(1) - T_168440[2] := UInt<3>(2) - wire T_168441 : UInt<2>[2] - T_168441[0] := UInt<2>(0) - T_168441[1] := UInt<2>(1) - wire T_168442 : UInt<2>[3] - T_168442[0] := UInt<2>(1) - T_168442[1] := UInt<2>(2) - T_168442[2] := UInt<2>(3) - wire T_168443 : UInt<2>[2] - T_168443[0] := UInt<2>(2) - T_168443[1] := UInt<2>(3) - wire T_168444 : UInt<2>[1] - T_168444[0] := UInt<2>(3) - wire T_168445 : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}} - T_168445 := T_168439 - when maybe_flow : T_168445 := enq.bits - deq.bits := T_168445 - node ptr_diff = subw(T_168406, T_168407) - node T_168446 = and(maybe_full, ptr_match) - node T_168447 = cat(T_168446, ptr_diff) - count := T_168447 - module Queue_41160 : - input enq : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {manager_xact_id : UInt<2>}}} - output deq : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {manager_xact_id : UInt<2>}}} - output count : UInt<2> - - wire T_168448 : UInt<3>[3] - T_168448[0] := UInt<3>(0) - T_168448[1] := UInt<3>(1) - T_168448[2] := UInt<3>(2) - wire T_168449 : UInt<2>[2] - T_168449[0] := UInt<2>(0) - T_168449[1] := UInt<2>(1) - wire T_168450 : UInt<2>[3] - T_168450[0] := UInt<2>(1) - T_168450[1] := UInt<2>(2) - T_168450[2] := UInt<2>(3) - wire T_168451 : UInt<2>[2] - T_168451[0] := UInt<2>(2) - T_168451[1] := UInt<2>(3) - wire T_168452 : UInt<2>[1] - T_168452[0] := UInt<2>(3) - wire T_168453 : UInt<3>[3] - T_168453[0] := UInt<3>(0) - T_168453[1] := UInt<3>(1) - T_168453[2] := UInt<3>(2) - wire T_168454 : UInt<2>[2] - T_168454[0] := UInt<2>(0) - T_168454[1] := UInt<2>(1) - wire T_168455 : UInt<2>[3] - T_168455[0] := UInt<2>(1) - T_168455[1] := UInt<2>(2) - T_168455[2] := UInt<2>(3) - wire T_168456 : UInt<2>[2] - T_168456[0] := UInt<2>(2) - T_168456[1] := UInt<2>(3) - wire T_168457 : UInt<2>[1] - T_168457[0] := UInt<2>(3) - wire T_168458 : UInt<3>[3] - T_168458[0] := UInt<3>(0) - T_168458[1] := UInt<3>(1) - T_168458[2] := UInt<3>(2) - wire T_168459 : UInt<2>[2] - T_168459[0] := UInt<2>(0) - T_168459[1] := UInt<2>(1) - wire T_168460 : UInt<2>[3] - T_168460[0] := UInt<2>(1) - T_168460[1] := UInt<2>(2) - T_168460[2] := UInt<2>(3) - wire T_168461 : UInt<2>[2] - T_168461[0] := UInt<2>(2) - T_168461[1] := UInt<2>(3) - wire T_168462 : UInt<2>[1] - T_168462[0] := UInt<2>(3) - wire T_168463 : UInt<3>[3] - T_168463[0] := UInt<3>(0) - T_168463[1] := UInt<3>(1) - T_168463[2] := UInt<3>(2) - wire T_168464 : UInt<2>[2] - T_168464[0] := UInt<2>(0) - T_168464[1] := UInt<2>(1) - wire T_168465 : UInt<2>[3] - T_168465[0] := UInt<2>(1) - T_168465[1] := UInt<2>(2) - T_168465[2] := UInt<2>(3) - wire T_168466 : UInt<2>[2] - T_168466[0] := UInt<2>(2) - T_168466[1] := UInt<2>(3) - wire T_168467 : UInt<2>[1] - T_168467[0] := UInt<2>(3) - wire T_168468 : UInt<3>[3] - T_168468[0] := UInt<3>(0) - T_168468[1] := UInt<3>(1) - T_168468[2] := UInt<3>(2) - wire T_168469 : UInt<2>[2] - T_168469[0] := UInt<2>(0) - T_168469[1] := UInt<2>(1) - wire T_168470 : UInt<2>[3] - T_168470[0] := UInt<2>(1) - T_168470[1] := UInt<2>(2) - T_168470[2] := UInt<2>(3) - wire T_168471 : UInt<2>[2] - T_168471[0] := UInt<2>(2) - T_168471[1] := UInt<2>(3) - wire T_168472 : UInt<2>[1] - T_168472[0] := UInt<2>(3) - cmem ram : {header : {src : UInt<2>, dst : UInt<2>}, payload : {manager_xact_id : UInt<2>}}[2] - reg T_168473 : UInt<1> - onreset T_168473 := UInt<1>(0) - reg T_168474 : UInt<1> - onreset T_168474 := UInt<1>(0) - reg maybe_full : UInt<1> - onreset maybe_full := UInt<1>(0) - node ptr_match = eq(T_168473, T_168474) - node T_168475 = eq(maybe_full, UInt<1>(0)) - node empty = and(ptr_match, T_168475) - node full = and(ptr_match, maybe_full) - node maybe_flow = and(UInt<1>(0), empty) - node do_flow = and(maybe_flow, deq.ready) - node T_168476 = and(enq.ready, enq.valid) - node T_168477 = eq(do_flow, UInt<1>(0)) - node do_enq = and(T_168476, T_168477) - node T_168478 = and(deq.ready, deq.valid) - node T_168479 = eq(do_flow, UInt<1>(0)) - node do_deq = and(T_168478, T_168479) - when do_enq : - wire T_168480 : UInt<3>[3] - T_168480[0] := UInt<3>(0) - T_168480[1] := UInt<3>(1) - T_168480[2] := UInt<3>(2) - wire T_168481 : UInt<2>[2] - T_168481[0] := UInt<2>(0) - T_168481[1] := UInt<2>(1) - wire T_168482 : UInt<2>[3] - T_168482[0] := UInt<2>(1) - T_168482[1] := UInt<2>(2) - T_168482[2] := UInt<2>(3) - wire T_168483 : UInt<2>[2] - T_168483[0] := UInt<2>(2) - T_168483[1] := UInt<2>(3) - wire T_168484 : UInt<2>[1] - T_168484[0] := UInt<2>(3) - accessor T_168485 = ram[T_168473] - T_168485 := enq.bits - node T_168486 = eq(T_168473, UInt<1>(1)) - node T_168487 = and(UInt<1>(0), T_168486) - node T_168488 = addw(T_168473, UInt<1>(1)) - wire T_168489 : UInt<1> - T_168489 := T_168488 - when T_168487 : T_168489 := UInt<1>(0) - T_168473 := T_168489 - when do_deq : - node T_168490 = eq(T_168474, UInt<1>(1)) - node T_168491 = and(UInt<1>(0), T_168490) - node T_168492 = addw(T_168474, UInt<1>(1)) - wire T_168493 : UInt<1> - T_168493 := T_168492 - when T_168491 : T_168493 := UInt<1>(0) - T_168474 := T_168493 - - node T_168494 = neq(do_enq, do_deq) - when T_168494 : maybe_full := do_enq - node T_168495 = eq(empty, UInt<1>(0)) - node T_168496 = and(UInt<1>(0), enq.valid) - node T_168497 = or(T_168495, T_168496) - deq.valid := T_168497 - node T_168498 = eq(full, UInt<1>(0)) - node T_168499 = and(UInt<1>(0), deq.ready) - node T_168500 = or(T_168498, T_168499) - enq.ready := T_168500 - wire T_168501 : UInt<3>[3] - T_168501[0] := UInt<3>(0) - T_168501[1] := UInt<3>(1) - T_168501[2] := UInt<3>(2) - wire T_168502 : UInt<2>[2] - T_168502[0] := UInt<2>(0) - T_168502[1] := UInt<2>(1) - wire T_168503 : UInt<2>[3] - T_168503[0] := UInt<2>(1) - T_168503[1] := UInt<2>(2) - T_168503[2] := UInt<2>(3) - wire T_168504 : UInt<2>[2] - T_168504[0] := UInt<2>(2) - T_168504[1] := UInt<2>(3) - wire T_168505 : UInt<2>[1] - T_168505[0] := UInt<2>(3) - accessor T_168506 = ram[T_168474] - wire T_168507 : UInt<3>[3] - T_168507[0] := UInt<3>(0) - T_168507[1] := UInt<3>(1) - T_168507[2] := UInt<3>(2) - wire T_168508 : UInt<2>[2] - T_168508[0] := UInt<2>(0) - T_168508[1] := UInt<2>(1) - wire T_168509 : UInt<2>[3] - T_168509[0] := UInt<2>(1) - T_168509[1] := UInt<2>(2) - T_168509[2] := UInt<2>(3) - wire T_168510 : UInt<2>[2] - T_168510[0] := UInt<2>(2) - T_168510[1] := UInt<2>(3) - wire T_168511 : UInt<2>[1] - T_168511[0] := UInt<2>(3) - wire T_168512 : {header : {src : UInt<2>, dst : UInt<2>}, payload : {manager_xact_id : UInt<2>}} - T_168512 := T_168506 - when maybe_flow : T_168512 := enq.bits - deq.bits := T_168512 - node ptr_diff = subw(T_168473, T_168474) - node T_168513 = and(maybe_full, ptr_match) - node T_168514 = cat(T_168513, ptr_diff) - count := T_168514 - module TileLinkEnqueuer_41161 : - input client : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}}, finish : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {manager_xact_id : UInt<2>}}}, flip probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, p_type : UInt<2>}}}, release : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}}} - output manager : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}}, finish : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {manager_xact_id : UInt<2>}}}, flip probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, p_type : UInt<2>}}}, release : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}}} - - wire T_168515 : UInt<3>[3] - T_168515[0] := UInt<3>(0) - T_168515[1] := UInt<3>(1) - T_168515[2] := UInt<3>(2) - wire T_168516 : UInt<2>[2] - T_168516[0] := UInt<2>(0) - T_168516[1] := UInt<2>(1) - wire T_168517 : UInt<2>[3] - T_168517[0] := UInt<2>(1) - T_168517[1] := UInt<2>(2) - T_168517[2] := UInt<2>(3) - wire T_168518 : UInt<2>[2] - T_168518[0] := UInt<2>(2) - T_168518[1] := UInt<2>(3) - wire T_168519 : UInt<2>[1] - T_168519[0] := UInt<2>(3) - wire T_168520 : UInt<3>[3] - T_168520[0] := UInt<3>(0) - T_168520[1] := UInt<3>(1) - T_168520[2] := UInt<3>(2) - wire T_168521 : UInt<2>[2] - T_168521[0] := UInt<2>(0) - T_168521[1] := UInt<2>(1) - wire T_168522 : UInt<2>[3] - T_168522[0] := UInt<2>(1) - T_168522[1] := UInt<2>(2) - T_168522[2] := UInt<2>(3) - wire T_168523 : UInt<2>[2] - T_168523[0] := UInt<2>(2) - T_168523[1] := UInt<2>(3) - wire T_168524 : UInt<2>[1] - T_168524[0] := UInt<2>(3) - wire T_168525 : UInt<3>[3] - T_168525[0] := UInt<3>(0) - T_168525[1] := UInt<3>(1) - T_168525[2] := UInt<3>(2) - wire T_168526 : UInt<2>[2] - T_168526[0] := UInt<2>(0) - T_168526[1] := UInt<2>(1) - wire T_168527 : UInt<2>[3] - T_168527[0] := UInt<2>(1) - T_168527[1] := UInt<2>(2) - T_168527[2] := UInt<2>(3) - wire T_168528 : UInt<2>[2] - T_168528[0] := UInt<2>(2) - T_168528[1] := UInt<2>(3) - wire T_168529 : UInt<2>[1] - T_168529[0] := UInt<2>(3) - wire T_168530 : UInt<3>[3] - T_168530[0] := UInt<3>(0) - T_168530[1] := UInt<3>(1) - T_168530[2] := UInt<3>(2) - wire T_168531 : UInt<2>[2] - T_168531[0] := UInt<2>(0) - T_168531[1] := UInt<2>(1) - wire T_168532 : UInt<2>[3] - T_168532[0] := UInt<2>(1) - T_168532[1] := UInt<2>(2) - T_168532[2] := UInt<2>(3) - wire T_168533 : UInt<2>[2] - T_168533[0] := UInt<2>(2) - T_168533[1] := UInt<2>(3) - wire T_168534 : UInt<2>[1] - T_168534[0] := UInt<2>(3) - wire T_168535 : UInt<3>[3] - T_168535[0] := UInt<3>(0) - T_168535[1] := UInt<3>(1) - T_168535[2] := UInt<3>(2) - wire T_168536 : UInt<2>[2] - T_168536[0] := UInt<2>(0) - T_168536[1] := UInt<2>(1) - wire T_168537 : UInt<2>[3] - T_168537[0] := UInt<2>(1) - T_168537[1] := UInt<2>(2) - T_168537[2] := UInt<2>(3) - wire T_168538 : UInt<2>[2] - T_168538[0] := UInt<2>(2) - T_168538[1] := UInt<2>(3) - wire T_168539 : UInt<2>[1] - T_168539[0] := UInt<2>(3) - wire T_168540 : UInt<3>[3] - T_168540[0] := UInt<3>(0) - T_168540[1] := UInt<3>(1) - T_168540[2] := UInt<3>(2) - wire T_168541 : UInt<2>[2] - T_168541[0] := UInt<2>(0) - T_168541[1] := UInt<2>(1) - wire T_168542 : UInt<2>[3] - T_168542[0] := UInt<2>(1) - T_168542[1] := UInt<2>(2) - T_168542[2] := UInt<2>(3) - wire T_168543 : UInt<2>[2] - T_168543[0] := UInt<2>(2) - T_168543[1] := UInt<2>(3) - wire T_168544 : UInt<2>[1] - T_168544[0] := UInt<2>(3) - wire T_168545 : UInt<3>[3] - T_168545[0] := UInt<3>(0) - T_168545[1] := UInt<3>(1) - T_168545[2] := UInt<3>(2) - wire T_168546 : UInt<2>[2] - T_168546[0] := UInt<2>(0) - T_168546[1] := UInt<2>(1) - wire T_168547 : UInt<2>[3] - T_168547[0] := UInt<2>(1) - T_168547[1] := UInt<2>(2) - T_168547[2] := UInt<2>(3) - wire T_168548 : UInt<2>[2] - T_168548[0] := UInt<2>(2) - T_168548[1] := UInt<2>(3) - wire T_168549 : UInt<2>[1] - T_168549[0] := UInt<2>(3) - wire T_168550 : UInt<3>[3] - T_168550[0] := UInt<3>(0) - T_168550[1] := UInt<3>(1) - T_168550[2] := UInt<3>(2) - wire T_168551 : UInt<2>[2] - T_168551[0] := UInt<2>(0) - T_168551[1] := UInt<2>(1) - wire T_168552 : UInt<2>[3] - T_168552[0] := UInt<2>(1) - T_168552[1] := UInt<2>(2) - T_168552[2] := UInt<2>(3) - wire T_168553 : UInt<2>[2] - T_168553[0] := UInt<2>(2) - T_168553[1] := UInt<2>(3) - wire T_168554 : UInt<2>[1] - T_168554[0] := UInt<2>(3) - wire T_168555 : UInt<3>[3] - T_168555[0] := UInt<3>(0) - T_168555[1] := UInt<3>(1) - T_168555[2] := UInt<3>(2) - wire T_168556 : UInt<2>[2] - T_168556[0] := UInt<2>(0) - T_168556[1] := UInt<2>(1) - wire T_168557 : UInt<2>[3] - T_168557[0] := UInt<2>(1) - T_168557[1] := UInt<2>(2) - T_168557[2] := UInt<2>(3) - wire T_168558 : UInt<2>[2] - T_168558[0] := UInt<2>(2) - T_168558[1] := UInt<2>(3) - wire T_168559 : UInt<2>[1] - T_168559[0] := UInt<2>(3) - wire T_168560 : UInt<3>[3] - T_168560[0] := UInt<3>(0) - T_168560[1] := UInt<3>(1) - T_168560[2] := UInt<3>(2) - wire T_168561 : UInt<2>[2] - T_168561[0] := UInt<2>(0) - T_168561[1] := UInt<2>(1) - wire T_168562 : UInt<2>[3] - T_168562[0] := UInt<2>(1) - T_168562[1] := UInt<2>(2) - T_168562[2] := UInt<2>(3) - wire T_168563 : UInt<2>[2] - T_168563[0] := UInt<2>(2) - T_168563[1] := UInt<2>(3) - wire T_168564 : UInt<2>[1] - T_168564[0] := UInt<2>(3) - wire T_168565 : UInt<3>[3] - T_168565[0] := UInt<3>(0) - T_168565[1] := UInt<3>(1) - T_168565[2] := UInt<3>(2) - wire T_168566 : UInt<2>[2] - T_168566[0] := UInt<2>(0) - T_168566[1] := UInt<2>(1) - wire T_168567 : UInt<2>[3] - T_168567[0] := UInt<2>(1) - T_168567[1] := UInt<2>(2) - T_168567[2] := UInt<2>(3) - wire T_168568 : UInt<2>[2] - T_168568[0] := UInt<2>(2) - T_168568[1] := UInt<2>(3) - wire T_168569 : UInt<2>[1] - T_168569[0] := UInt<2>(3) - wire T_168570 : UInt<3>[3] - T_168570[0] := UInt<3>(0) - T_168570[1] := UInt<3>(1) - T_168570[2] := UInt<3>(2) - wire T_168571 : UInt<2>[2] - T_168571[0] := UInt<2>(0) - T_168571[1] := UInt<2>(1) - wire T_168572 : UInt<2>[3] - T_168572[0] := UInt<2>(1) - T_168572[1] := UInt<2>(2) - T_168572[2] := UInt<2>(3) - wire T_168573 : UInt<2>[2] - T_168573[0] := UInt<2>(2) - T_168573[1] := UInt<2>(3) - wire T_168574 : UInt<2>[1] - T_168574[0] := UInt<2>(3) - wire T_168575 : UInt<3>[3] - T_168575[0] := UInt<3>(0) - T_168575[1] := UInt<3>(1) - T_168575[2] := UInt<3>(2) - wire T_168576 : UInt<2>[2] - T_168576[0] := UInt<2>(0) - T_168576[1] := UInt<2>(1) - wire T_168577 : UInt<2>[3] - T_168577[0] := UInt<2>(1) - T_168577[1] := UInt<2>(2) - T_168577[2] := UInt<2>(3) - wire T_168578 : UInt<2>[2] - T_168578[0] := UInt<2>(2) - T_168578[1] := UInt<2>(3) - wire T_168579 : UInt<2>[1] - T_168579[0] := UInt<2>(3) - wire T_168580 : UInt<3>[3] - T_168580[0] := UInt<3>(0) - T_168580[1] := UInt<3>(1) - T_168580[2] := UInt<3>(2) - wire T_168581 : UInt<2>[2] - T_168581[0] := UInt<2>(0) - T_168581[1] := UInt<2>(1) - wire T_168582 : UInt<2>[3] - T_168582[0] := UInt<2>(1) - T_168582[1] := UInt<2>(2) - T_168582[2] := UInt<2>(3) - wire T_168583 : UInt<2>[2] - T_168583[0] := UInt<2>(2) - T_168583[1] := UInt<2>(3) - wire T_168584 : UInt<2>[1] - T_168584[0] := UInt<2>(3) - wire T_168585 : UInt<3>[3] - T_168585[0] := UInt<3>(0) - T_168585[1] := UInt<3>(1) - T_168585[2] := UInt<3>(2) - wire T_168586 : UInt<2>[2] - T_168586[0] := UInt<2>(0) - T_168586[1] := UInt<2>(1) - wire T_168587 : UInt<2>[3] - T_168587[0] := UInt<2>(1) - T_168587[1] := UInt<2>(2) - T_168587[2] := UInt<2>(3) - wire T_168588 : UInt<2>[2] - T_168588[0] := UInt<2>(2) - T_168588[1] := UInt<2>(3) - wire T_168589 : UInt<2>[1] - T_168589[0] := UInt<2>(3) - wire T_168590 : UInt<3>[3] - T_168590[0] := UInt<3>(0) - T_168590[1] := UInt<3>(1) - T_168590[2] := UInt<3>(2) - wire T_168591 : UInt<2>[2] - T_168591[0] := UInt<2>(0) - T_168591[1] := UInt<2>(1) - wire T_168592 : UInt<2>[3] - T_168592[0] := UInt<2>(1) - T_168592[1] := UInt<2>(2) - T_168592[2] := UInt<2>(3) - wire T_168593 : UInt<2>[2] - T_168593[0] := UInt<2>(2) - T_168593[1] := UInt<2>(3) - wire T_168594 : UInt<2>[1] - T_168594[0] := UInt<2>(3) - wire T_168595 : UInt<3>[3] - T_168595[0] := UInt<3>(0) - T_168595[1] := UInt<3>(1) - T_168595[2] := UInt<3>(2) - wire T_168596 : UInt<2>[2] - T_168596[0] := UInt<2>(0) - T_168596[1] := UInt<2>(1) - wire T_168597 : UInt<2>[3] - T_168597[0] := UInt<2>(1) - T_168597[1] := UInt<2>(2) - T_168597[2] := UInt<2>(3) - wire T_168598 : UInt<2>[2] - T_168598[0] := UInt<2>(2) - T_168598[1] := UInt<2>(3) - wire T_168599 : UInt<2>[1] - T_168599[0] := UInt<2>(3) - wire T_168600 : UInt<3>[3] - T_168600[0] := UInt<3>(0) - T_168600[1] := UInt<3>(1) - T_168600[2] := UInt<3>(2) - wire T_168601 : UInt<2>[2] - T_168601[0] := UInt<2>(0) - T_168601[1] := UInt<2>(1) - wire T_168602 : UInt<2>[3] - T_168602[0] := UInt<2>(1) - T_168602[1] := UInt<2>(2) - T_168602[2] := UInt<2>(3) - wire T_168603 : UInt<2>[2] - T_168603[0] := UInt<2>(2) - T_168603[1] := UInt<2>(3) - wire T_168604 : UInt<2>[1] - T_168604[0] := UInt<2>(3) - wire T_168605 : UInt<3>[3] - T_168605[0] := UInt<3>(0) - T_168605[1] := UInt<3>(1) - T_168605[2] := UInt<3>(2) - wire T_168606 : UInt<2>[2] - T_168606[0] := UInt<2>(0) - T_168606[1] := UInt<2>(1) - wire T_168607 : UInt<2>[3] - T_168607[0] := UInt<2>(1) - T_168607[1] := UInt<2>(2) - T_168607[2] := UInt<2>(3) - wire T_168608 : UInt<2>[2] - T_168608[0] := UInt<2>(2) - T_168608[1] := UInt<2>(3) - wire T_168609 : UInt<2>[1] - T_168609[0] := UInt<2>(3) - wire T_168610 : UInt<3>[3] - T_168610[0] := UInt<3>(0) - T_168610[1] := UInt<3>(1) - T_168610[2] := UInt<3>(2) - wire T_168611 : UInt<2>[2] - T_168611[0] := UInt<2>(0) - T_168611[1] := UInt<2>(1) - wire T_168612 : UInt<2>[3] - T_168612[0] := UInt<2>(1) - T_168612[1] := UInt<2>(2) - T_168612[2] := UInt<2>(3) - wire T_168613 : UInt<2>[2] - T_168613[0] := UInt<2>(2) - T_168613[1] := UInt<2>(3) - wire T_168614 : UInt<2>[1] - T_168614[0] := UInt<2>(3) - wire T_168615 : UInt<3>[3] - T_168615[0] := UInt<3>(0) - T_168615[1] := UInt<3>(1) - T_168615[2] := UInt<3>(2) - wire T_168616 : UInt<2>[2] - T_168616[0] := UInt<2>(0) - T_168616[1] := UInt<2>(1) - wire T_168617 : UInt<2>[3] - T_168617[0] := UInt<2>(1) - T_168617[1] := UInt<2>(2) - T_168617[2] := UInt<2>(3) - wire T_168618 : UInt<2>[2] - T_168618[0] := UInt<2>(2) - T_168618[1] := UInt<2>(3) - wire T_168619 : UInt<2>[1] - T_168619[0] := UInt<2>(3) - wire T_168620 : UInt<3>[3] - T_168620[0] := UInt<3>(0) - T_168620[1] := UInt<3>(1) - T_168620[2] := UInt<3>(2) - wire T_168621 : UInt<2>[2] - T_168621[0] := UInt<2>(0) - T_168621[1] := UInt<2>(1) - wire T_168622 : UInt<2>[3] - T_168622[0] := UInt<2>(1) - T_168622[1] := UInt<2>(2) - T_168622[2] := UInt<2>(3) - wire T_168623 : UInt<2>[2] - T_168623[0] := UInt<2>(2) - T_168623[1] := UInt<2>(3) - wire T_168624 : UInt<2>[1] - T_168624[0] := UInt<2>(3) - wire T_168625 : UInt<3>[3] - T_168625[0] := UInt<3>(0) - T_168625[1] := UInt<3>(1) - T_168625[2] := UInt<3>(2) - wire T_168626 : UInt<2>[2] - T_168626[0] := UInt<2>(0) - T_168626[1] := UInt<2>(1) - wire T_168627 : UInt<2>[3] - T_168627[0] := UInt<2>(1) - T_168627[1] := UInt<2>(2) - T_168627[2] := UInt<2>(3) - wire T_168628 : UInt<2>[2] - T_168628[0] := UInt<2>(2) - T_168628[1] := UInt<2>(3) - wire T_168629 : UInt<2>[1] - T_168629[0] := UInt<2>(3) - wire T_168630 : UInt<3>[3] - T_168630[0] := UInt<3>(0) - T_168630[1] := UInt<3>(1) - T_168630[2] := UInt<3>(2) - wire T_168631 : UInt<2>[2] - T_168631[0] := UInt<2>(0) - T_168631[1] := UInt<2>(1) - wire T_168632 : UInt<2>[3] - T_168632[0] := UInt<2>(1) - T_168632[1] := UInt<2>(2) - T_168632[2] := UInt<2>(3) - wire T_168633 : UInt<2>[2] - T_168633[0] := UInt<2>(2) - T_168633[1] := UInt<2>(3) - wire T_168634 : UInt<2>[1] - T_168634[0] := UInt<2>(3) - wire T_168635 : UInt<3>[3] - T_168635[0] := UInt<3>(0) - T_168635[1] := UInt<3>(1) - T_168635[2] := UInt<3>(2) - wire T_168636 : UInt<2>[2] - T_168636[0] := UInt<2>(0) - T_168636[1] := UInt<2>(1) - wire T_168637 : UInt<2>[3] - T_168637[0] := UInt<2>(1) - T_168637[1] := UInt<2>(2) - T_168637[2] := UInt<2>(3) - wire T_168638 : UInt<2>[2] - T_168638[0] := UInt<2>(2) - T_168638[1] := UInt<2>(3) - wire T_168639 : UInt<2>[1] - T_168639[0] := UInt<2>(3) - wire T_168640 : UInt<3>[3] - T_168640[0] := UInt<3>(0) - T_168640[1] := UInt<3>(1) - T_168640[2] := UInt<3>(2) - wire T_168641 : UInt<2>[2] - T_168641[0] := UInt<2>(0) - T_168641[1] := UInt<2>(1) - wire T_168642 : UInt<2>[3] - T_168642[0] := UInt<2>(1) - T_168642[1] := UInt<2>(2) - T_168642[2] := UInt<2>(3) - wire T_168643 : UInt<2>[2] - T_168643[0] := UInt<2>(2) - T_168643[1] := UInt<2>(3) - wire T_168644 : UInt<2>[1] - T_168644[0] := UInt<2>(3) - wire T_168645 : UInt<3>[3] - T_168645[0] := UInt<3>(0) - T_168645[1] := UInt<3>(1) - T_168645[2] := UInt<3>(2) - wire T_168646 : UInt<2>[2] - T_168646[0] := UInt<2>(0) - T_168646[1] := UInt<2>(1) - wire T_168647 : UInt<2>[3] - T_168647[0] := UInt<2>(1) - T_168647[1] := UInt<2>(2) - T_168647[2] := UInt<2>(3) - wire T_168648 : UInt<2>[2] - T_168648[0] := UInt<2>(2) - T_168648[1] := UInt<2>(3) - wire T_168649 : UInt<2>[1] - T_168649[0] := UInt<2>(3) - wire T_168650 : UInt<3>[3] - T_168650[0] := UInt<3>(0) - T_168650[1] := UInt<3>(1) - T_168650[2] := UInt<3>(2) - wire T_168651 : UInt<2>[2] - T_168651[0] := UInt<2>(0) - T_168651[1] := UInt<2>(1) - wire T_168652 : UInt<2>[3] - T_168652[0] := UInt<2>(1) - T_168652[1] := UInt<2>(2) - T_168652[2] := UInt<2>(3) - wire T_168653 : UInt<2>[2] - T_168653[0] := UInt<2>(2) - T_168653[1] := UInt<2>(3) - wire T_168654 : UInt<2>[1] - T_168654[0] := UInt<2>(3) - wire T_168655 : UInt<3>[3] - T_168655[0] := UInt<3>(0) - T_168655[1] := UInt<3>(1) - T_168655[2] := UInt<3>(2) - wire T_168656 : UInt<2>[2] - T_168656[0] := UInt<2>(0) - T_168656[1] := UInt<2>(1) - wire T_168657 : UInt<2>[3] - T_168657[0] := UInt<2>(1) - T_168657[1] := UInt<2>(2) - T_168657[2] := UInt<2>(3) - wire T_168658 : UInt<2>[2] - T_168658[0] := UInt<2>(2) - T_168658[1] := UInt<2>(3) - wire T_168659 : UInt<2>[1] - T_168659[0] := UInt<2>(3) - wire T_168660 : UInt<3>[3] - T_168660[0] := UInt<3>(0) - T_168660[1] := UInt<3>(1) - T_168660[2] := UInt<3>(2) - wire T_168661 : UInt<2>[2] - T_168661[0] := UInt<2>(0) - T_168661[1] := UInt<2>(1) - wire T_168662 : UInt<2>[3] - T_168662[0] := UInt<2>(1) - T_168662[1] := UInt<2>(2) - T_168662[2] := UInt<2>(3) - wire T_168663 : UInt<2>[2] - T_168663[0] := UInt<2>(2) - T_168663[1] := UInt<2>(3) - wire T_168664 : UInt<2>[1] - T_168664[0] := UInt<2>(3) - wire T_168665 : UInt<3>[3] - T_168665[0] := UInt<3>(0) - T_168665[1] := UInt<3>(1) - T_168665[2] := UInt<3>(2) - wire T_168666 : UInt<2>[2] - T_168666[0] := UInt<2>(0) - T_168666[1] := UInt<2>(1) - wire T_168667 : UInt<2>[3] - T_168667[0] := UInt<2>(1) - T_168667[1] := UInt<2>(2) - T_168667[2] := UInt<2>(3) - wire T_168668 : UInt<2>[2] - T_168668[0] := UInt<2>(2) - T_168668[1] := UInt<2>(3) - wire T_168669 : UInt<2>[1] - T_168669[0] := UInt<2>(3) - wire T_168670 : UInt<3>[3] - T_168670[0] := UInt<3>(0) - T_168670[1] := UInt<3>(1) - T_168670[2] := UInt<3>(2) - wire T_168671 : UInt<2>[2] - T_168671[0] := UInt<2>(0) - T_168671[1] := UInt<2>(1) - wire T_168672 : UInt<2>[3] - T_168672[0] := UInt<2>(1) - T_168672[1] := UInt<2>(2) - T_168672[2] := UInt<2>(3) - wire T_168673 : UInt<2>[2] - T_168673[0] := UInt<2>(2) - T_168673[1] := UInt<2>(3) - wire T_168674 : UInt<2>[1] - T_168674[0] := UInt<2>(3) - wire T_168675 : UInt<3>[3] - T_168675[0] := UInt<3>(0) - T_168675[1] := UInt<3>(1) - T_168675[2] := UInt<3>(2) - wire T_168676 : UInt<2>[2] - T_168676[0] := UInt<2>(0) - T_168676[1] := UInt<2>(1) - wire T_168677 : UInt<2>[3] - T_168677[0] := UInt<2>(1) - T_168677[1] := UInt<2>(2) - T_168677[2] := UInt<2>(3) - wire T_168678 : UInt<2>[2] - T_168678[0] := UInt<2>(2) - T_168678[1] := UInt<2>(3) - wire T_168679 : UInt<2>[1] - T_168679[0] := UInt<2>(3) - inst T_168680 of Queue_38541 - T_168680.enq.valid := client.acquire.valid - T_168680.enq.bits := client.acquire.bits - client.acquire.ready := T_168680.enq.ready - manager.acquire <> T_168680.deq - wire T_168681 : UInt<3>[3] - T_168681[0] := UInt<3>(0) - T_168681[1] := UInt<3>(1) - T_168681[2] := UInt<3>(2) - wire T_168682 : UInt<2>[2] - T_168682[0] := UInt<2>(0) - T_168682[1] := UInt<2>(1) - wire T_168683 : UInt<2>[3] - T_168683[0] := UInt<2>(1) - T_168683[1] := UInt<2>(2) - T_168683[2] := UInt<2>(3) - wire T_168684 : UInt<2>[2] - T_168684[0] := UInt<2>(2) - T_168684[1] := UInt<2>(3) - wire T_168685 : UInt<2>[1] - T_168685[0] := UInt<2>(3) - inst T_168686 of Queue_39180 - T_168686.enq.valid := manager.probe.valid - T_168686.enq.bits := manager.probe.bits - manager.probe.ready := T_168686.enq.ready - client.probe <> T_168686.deq - wire T_168687 : UInt<3>[3] - T_168687[0] := UInt<3>(0) - T_168687[1] := UInt<3>(1) - T_168687[2] := UInt<3>(2) - wire T_168688 : UInt<2>[2] - T_168688[0] := UInt<2>(0) - T_168688[1] := UInt<2>(1) - wire T_168689 : UInt<2>[3] - T_168689[0] := UInt<2>(1) - T_168689[1] := UInt<2>(2) - T_168689[2] := UInt<2>(3) - wire T_168690 : UInt<2>[2] - T_168690[0] := UInt<2>(2) - T_168690[1] := UInt<2>(3) - wire T_168691 : UInt<2>[1] - T_168691[0] := UInt<2>(3) - inst T_168692 of Queue_39855 - T_168692.enq.valid := client.release.valid - T_168692.enq.bits := client.release.bits - client.release.ready := T_168692.enq.ready - manager.release <> T_168692.deq - wire T_168693 : UInt<3>[3] - T_168693[0] := UInt<3>(0) - T_168693[1] := UInt<3>(1) - T_168693[2] := UInt<3>(2) - wire T_168694 : UInt<2>[2] - T_168694[0] := UInt<2>(0) - T_168694[1] := UInt<2>(1) - wire T_168695 : UInt<2>[3] - T_168695[0] := UInt<2>(1) - T_168695[1] := UInt<2>(2) - T_168695[2] := UInt<2>(3) - wire T_168696 : UInt<2>[2] - T_168696[0] := UInt<2>(2) - T_168696[1] := UInt<2>(3) - wire T_168697 : UInt<2>[1] - T_168697[0] := UInt<2>(3) - inst T_168698 of Queue_40530 - T_168698.enq.valid := manager.grant.valid - T_168698.enq.bits := manager.grant.bits - manager.grant.ready := T_168698.enq.ready - client.grant <> T_168698.deq - wire T_168699 : UInt<3>[3] - T_168699[0] := UInt<3>(0) - T_168699[1] := UInt<3>(1) - T_168699[2] := UInt<3>(2) - wire T_168700 : UInt<2>[2] - T_168700[0] := UInt<2>(0) - T_168700[1] := UInt<2>(1) - wire T_168701 : UInt<2>[3] - T_168701[0] := UInt<2>(1) - T_168701[1] := UInt<2>(2) - T_168701[2] := UInt<2>(3) - wire T_168702 : UInt<2>[2] - T_168702[0] := UInt<2>(2) - T_168702[1] := UInt<2>(3) - wire T_168703 : UInt<2>[1] - T_168703[0] := UInt<2>(3) - inst T_168704 of Queue_41160 - T_168704.enq.valid := client.finish.valid - T_168704.enq.bits := client.finish.bits - client.finish.ready := T_168704.enq.ready - manager.finish <> T_168704.deq - module ManagerTileLinkNetworkPort : - input manager : {flip acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>, client_id : UInt<2>}}, grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>, client_id : UInt<2>}}, flip finish : {flip ready : UInt<1>, valid : UInt<1>, bits : {manager_xact_id : UInt<2>}}, probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>, client_id : UInt<2>}}, flip release : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>, client_id : UInt<2>}}} - input network : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}}, finish : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {manager_xact_id : UInt<2>}}}, flip probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, p_type : UInt<2>}}}, release : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}}} - - wire T_168705 : UInt<3>[3] - T_168705[0] := UInt<3>(0) - T_168705[1] := UInt<3>(1) - T_168705[2] := UInt<3>(2) - wire T_168706 : UInt<2>[2] - T_168706[0] := UInt<2>(0) - T_168706[1] := UInt<2>(1) - wire T_168707 : UInt<2>[3] - T_168707[0] := UInt<2>(1) - T_168707[1] := UInt<2>(2) - T_168707[2] := UInt<2>(3) - wire T_168708 : UInt<2>[2] - T_168708[0] := UInt<2>(2) - T_168708[1] := UInt<2>(3) - wire T_168709 : UInt<2>[1] - T_168709[0] := UInt<2>(3) - wire T_168710 : UInt<3>[3] - T_168710[0] := UInt<3>(0) - T_168710[1] := UInt<3>(1) - T_168710[2] := UInt<3>(2) - wire T_168711 : UInt<2>[2] - T_168711[0] := UInt<2>(0) - T_168711[1] := UInt<2>(1) - wire T_168712 : UInt<2>[3] - T_168712[0] := UInt<2>(1) - T_168712[1] := UInt<2>(2) - T_168712[2] := UInt<2>(3) - wire T_168713 : UInt<2>[2] - T_168713[0] := UInt<2>(2) - T_168713[1] := UInt<2>(3) - wire T_168714 : UInt<2>[1] - T_168714[0] := UInt<2>(3) - wire T_168715 : UInt<3>[3] - T_168715[0] := UInt<3>(0) - T_168715[1] := UInt<3>(1) - T_168715[2] := UInt<3>(2) - wire T_168716 : UInt<2>[2] - T_168716[0] := UInt<2>(0) - T_168716[1] := UInt<2>(1) - wire T_168717 : UInt<2>[3] - T_168717[0] := UInt<2>(1) - T_168717[1] := UInt<2>(2) - T_168717[2] := UInt<2>(3) - wire T_168718 : UInt<2>[2] - T_168718[0] := UInt<2>(2) - T_168718[1] := UInt<2>(3) - wire T_168719 : UInt<2>[1] - T_168719[0] := UInt<2>(3) - wire T_168720 : UInt<3>[3] - T_168720[0] := UInt<3>(0) - T_168720[1] := UInt<3>(1) - T_168720[2] := UInt<3>(2) - wire T_168721 : UInt<2>[2] - T_168721[0] := UInt<2>(0) - T_168721[1] := UInt<2>(1) - wire T_168722 : UInt<2>[3] - T_168722[0] := UInt<2>(1) - T_168722[1] := UInt<2>(2) - T_168722[2] := UInt<2>(3) - wire T_168723 : UInt<2>[2] - T_168723[0] := UInt<2>(2) - T_168723[1] := UInt<2>(3) - wire T_168724 : UInt<2>[1] - T_168724[0] := UInt<2>(3) - wire T_168725 : UInt<3>[3] - T_168725[0] := UInt<3>(0) - T_168725[1] := UInt<3>(1) - T_168725[2] := UInt<3>(2) - wire T_168726 : UInt<2>[2] - T_168726[0] := UInt<2>(0) - T_168726[1] := UInt<2>(1) - wire T_168727 : UInt<2>[3] - T_168727[0] := UInt<2>(1) - T_168727[1] := UInt<2>(2) - T_168727[2] := UInt<2>(3) - wire T_168728 : UInt<2>[2] - T_168728[0] := UInt<2>(2) - T_168728[1] := UInt<2>(3) - wire T_168729 : UInt<2>[1] - T_168729[0] := UInt<2>(3) - wire T_168730 : UInt<3>[3] - T_168730[0] := UInt<3>(0) - T_168730[1] := UInt<3>(1) - T_168730[2] := UInt<3>(2) - wire T_168731 : UInt<2>[2] - T_168731[0] := UInt<2>(0) - T_168731[1] := UInt<2>(1) - wire T_168732 : UInt<2>[3] - T_168732[0] := UInt<2>(1) - T_168732[1] := UInt<2>(2) - T_168732[2] := UInt<2>(3) - wire T_168733 : UInt<2>[2] - T_168733[0] := UInt<2>(2) - T_168733[1] := UInt<2>(3) - wire T_168734 : UInt<2>[1] - T_168734[0] := UInt<2>(3) - wire T_168735 : UInt<3>[3] - T_168735[0] := UInt<3>(0) - T_168735[1] := UInt<3>(1) - T_168735[2] := UInt<3>(2) - wire T_168736 : UInt<2>[2] - T_168736[0] := UInt<2>(0) - T_168736[1] := UInt<2>(1) - wire T_168737 : UInt<2>[3] - T_168737[0] := UInt<2>(1) - T_168737[1] := UInt<2>(2) - T_168737[2] := UInt<2>(3) - wire T_168738 : UInt<2>[2] - T_168738[0] := UInt<2>(2) - T_168738[1] := UInt<2>(3) - wire T_168739 : UInt<2>[1] - T_168739[0] := UInt<2>(3) - wire T_168740 : UInt<3>[3] - T_168740[0] := UInt<3>(0) - T_168740[1] := UInt<3>(1) - T_168740[2] := UInt<3>(2) - wire T_168741 : UInt<2>[2] - T_168741[0] := UInt<2>(0) - T_168741[1] := UInt<2>(1) - wire T_168742 : UInt<2>[3] - T_168742[0] := UInt<2>(1) - T_168742[1] := UInt<2>(2) - T_168742[2] := UInt<2>(3) - wire T_168743 : UInt<2>[2] - T_168743[0] := UInt<2>(2) - T_168743[1] := UInt<2>(3) - wire T_168744 : UInt<2>[1] - T_168744[0] := UInt<2>(3) - wire T_168745 : UInt<3>[3] - T_168745[0] := UInt<3>(0) - T_168745[1] := UInt<3>(1) - T_168745[2] := UInt<3>(2) - wire T_168746 : UInt<2>[2] - T_168746[0] := UInt<2>(0) - T_168746[1] := UInt<2>(1) - wire T_168747 : UInt<2>[3] - T_168747[0] := UInt<2>(1) - T_168747[1] := UInt<2>(2) - T_168747[2] := UInt<2>(3) - wire T_168748 : UInt<2>[2] - T_168748[0] := UInt<2>(2) - T_168748[1] := UInt<2>(3) - wire T_168749 : UInt<2>[1] - T_168749[0] := UInt<2>(3) - wire T_168750 : UInt<3>[3] - T_168750[0] := UInt<3>(0) - T_168750[1] := UInt<3>(1) - T_168750[2] := UInt<3>(2) - wire T_168751 : UInt<2>[2] - T_168751[0] := UInt<2>(0) - T_168751[1] := UInt<2>(1) - wire T_168752 : UInt<2>[3] - T_168752[0] := UInt<2>(1) - T_168752[1] := UInt<2>(2) - T_168752[2] := UInt<2>(3) - wire T_168753 : UInt<2>[2] - T_168753[0] := UInt<2>(2) - T_168753[1] := UInt<2>(3) - wire T_168754 : UInt<2>[1] - T_168754[0] := UInt<2>(3) - wire T_168755 : UInt<3>[3] - T_168755[0] := UInt<3>(0) - T_168755[1] := UInt<3>(1) - T_168755[2] := UInt<3>(2) - wire T_168756 : UInt<2>[2] - T_168756[0] := UInt<2>(0) - T_168756[1] := UInt<2>(1) - wire T_168757 : UInt<2>[3] - T_168757[0] := UInt<2>(1) - T_168757[1] := UInt<2>(2) - T_168757[2] := UInt<2>(3) - wire T_168758 : UInt<2>[2] - T_168758[0] := UInt<2>(2) - T_168758[1] := UInt<2>(3) - wire T_168759 : UInt<2>[1] - T_168759[0] := UInt<2>(3) - wire T_168760 : UInt<3>[3] - T_168760[0] := UInt<3>(0) - T_168760[1] := UInt<3>(1) - T_168760[2] := UInt<3>(2) - wire T_168761 : UInt<2>[2] - T_168761[0] := UInt<2>(0) - T_168761[1] := UInt<2>(1) - wire T_168762 : UInt<2>[3] - T_168762[0] := UInt<2>(1) - T_168762[1] := UInt<2>(2) - T_168762[2] := UInt<2>(3) - wire T_168763 : UInt<2>[2] - T_168763[0] := UInt<2>(2) - T_168763[1] := UInt<2>(3) - wire T_168764 : UInt<2>[1] - T_168764[0] := UInt<2>(3) - wire T_168765 : UInt<3>[3] - T_168765[0] := UInt<3>(0) - T_168765[1] := UInt<3>(1) - T_168765[2] := UInt<3>(2) - wire T_168766 : UInt<2>[2] - T_168766[0] := UInt<2>(0) - T_168766[1] := UInt<2>(1) - wire T_168767 : UInt<2>[3] - T_168767[0] := UInt<2>(1) - T_168767[1] := UInt<2>(2) - T_168767[2] := UInt<2>(3) - wire T_168768 : UInt<2>[2] - T_168768[0] := UInt<2>(2) - T_168768[1] := UInt<2>(3) - wire T_168769 : UInt<2>[1] - T_168769[0] := UInt<2>(3) - wire T_168770 : UInt<3>[3] - T_168770[0] := UInt<3>(0) - T_168770[1] := UInt<3>(1) - T_168770[2] := UInt<3>(2) - wire T_168771 : UInt<2>[2] - T_168771[0] := UInt<2>(0) - T_168771[1] := UInt<2>(1) - wire T_168772 : UInt<2>[3] - T_168772[0] := UInt<2>(1) - T_168772[1] := UInt<2>(2) - T_168772[2] := UInt<2>(3) - wire T_168773 : UInt<2>[2] - T_168773[0] := UInt<2>(2) - T_168773[1] := UInt<2>(3) - wire T_168774 : UInt<2>[1] - T_168774[0] := UInt<2>(3) - wire T_168775 : UInt<3>[3] - T_168775[0] := UInt<3>(0) - T_168775[1] := UInt<3>(1) - T_168775[2] := UInt<3>(2) - wire T_168776 : UInt<2>[2] - T_168776[0] := UInt<2>(0) - T_168776[1] := UInt<2>(1) - wire T_168777 : UInt<2>[3] - T_168777[0] := UInt<2>(1) - T_168777[1] := UInt<2>(2) - T_168777[2] := UInt<2>(3) - wire T_168778 : UInt<2>[2] - T_168778[0] := UInt<2>(2) - T_168778[1] := UInt<2>(3) - wire T_168779 : UInt<2>[1] - T_168779[0] := UInt<2>(3) - wire T_168780 : UInt<3>[3] - T_168780[0] := UInt<3>(0) - T_168780[1] := UInt<3>(1) - T_168780[2] := UInt<3>(2) - wire T_168781 : UInt<2>[2] - T_168781[0] := UInt<2>(0) - T_168781[1] := UInt<2>(1) - wire T_168782 : UInt<2>[3] - T_168782[0] := UInt<2>(1) - T_168782[1] := UInt<2>(2) - T_168782[2] := UInt<2>(3) - wire T_168783 : UInt<2>[2] - T_168783[0] := UInt<2>(2) - T_168783[1] := UInt<2>(3) - wire T_168784 : UInt<2>[1] - T_168784[0] := UInt<2>(3) - wire T_168785 : UInt<3>[3] - T_168785[0] := UInt<3>(0) - T_168785[1] := UInt<3>(1) - T_168785[2] := UInt<3>(2) - wire T_168786 : UInt<2>[2] - T_168786[0] := UInt<2>(0) - T_168786[1] := UInt<2>(1) - wire T_168787 : UInt<2>[3] - T_168787[0] := UInt<2>(1) - T_168787[1] := UInt<2>(2) - T_168787[2] := UInt<2>(3) - wire T_168788 : UInt<2>[2] - T_168788[0] := UInt<2>(2) - T_168788[1] := UInt<2>(3) - wire T_168789 : UInt<2>[1] - T_168789[0] := UInt<2>(3) - wire T_168790 : UInt<3>[3] - T_168790[0] := UInt<3>(0) - T_168790[1] := UInt<3>(1) - T_168790[2] := UInt<3>(2) - wire T_168791 : UInt<2>[2] - T_168791[0] := UInt<2>(0) - T_168791[1] := UInt<2>(1) - wire T_168792 : UInt<2>[3] - T_168792[0] := UInt<2>(1) - T_168792[1] := UInt<2>(2) - T_168792[2] := UInt<2>(3) - wire T_168793 : UInt<2>[2] - T_168793[0] := UInt<2>(2) - T_168793[1] := UInt<2>(3) - wire T_168794 : UInt<2>[1] - T_168794[0] := UInt<2>(3) - wire T_168795 : UInt<3>[3] - T_168795[0] := UInt<3>(0) - T_168795[1] := UInt<3>(1) - T_168795[2] := UInt<3>(2) - wire T_168796 : UInt<2>[2] - T_168796[0] := UInt<2>(0) - T_168796[1] := UInt<2>(1) - wire T_168797 : UInt<2>[3] - T_168797[0] := UInt<2>(1) - T_168797[1] := UInt<2>(2) - T_168797[2] := UInt<2>(3) - wire T_168798 : UInt<2>[2] - T_168798[0] := UInt<2>(2) - T_168798[1] := UInt<2>(3) - wire T_168799 : UInt<2>[1] - T_168799[0] := UInt<2>(3) - wire T_168800 : UInt<3>[3] - T_168800[0] := UInt<3>(0) - T_168800[1] := UInt<3>(1) - T_168800[2] := UInt<3>(2) - wire T_168801 : UInt<2>[2] - T_168801[0] := UInt<2>(0) - T_168801[1] := UInt<2>(1) - wire T_168802 : UInt<2>[3] - T_168802[0] := UInt<2>(1) - T_168802[1] := UInt<2>(2) - T_168802[2] := UInt<2>(3) - wire T_168803 : UInt<2>[2] - T_168803[0] := UInt<2>(2) - T_168803[1] := UInt<2>(3) - wire T_168804 : UInt<2>[1] - T_168804[0] := UInt<2>(3) - wire T_168805 : UInt<3>[3] - T_168805[0] := UInt<3>(0) - T_168805[1] := UInt<3>(1) - T_168805[2] := UInt<3>(2) - wire T_168806 : UInt<2>[2] - T_168806[0] := UInt<2>(0) - T_168806[1] := UInt<2>(1) - wire T_168807 : UInt<2>[3] - T_168807[0] := UInt<2>(1) - T_168807[1] := UInt<2>(2) - T_168807[2] := UInt<2>(3) - wire T_168808 : UInt<2>[2] - T_168808[0] := UInt<2>(2) - T_168808[1] := UInt<2>(3) - wire T_168809 : UInt<2>[1] - T_168809[0] := UInt<2>(3) - wire T_168810 : UInt<3>[3] - T_168810[0] := UInt<3>(0) - T_168810[1] := UInt<3>(1) - T_168810[2] := UInt<3>(2) - wire T_168811 : UInt<2>[2] - T_168811[0] := UInt<2>(0) - T_168811[1] := UInt<2>(1) - wire T_168812 : UInt<2>[3] - T_168812[0] := UInt<2>(1) - T_168812[1] := UInt<2>(2) - T_168812[2] := UInt<2>(3) - wire T_168813 : UInt<2>[2] - T_168813[0] := UInt<2>(2) - T_168813[1] := UInt<2>(3) - wire T_168814 : UInt<2>[1] - T_168814[0] := UInt<2>(3) - wire T_168815 : UInt<3>[3] - T_168815[0] := UInt<3>(0) - T_168815[1] := UInt<3>(1) - T_168815[2] := UInt<3>(2) - wire T_168816 : UInt<2>[2] - T_168816[0] := UInt<2>(0) - T_168816[1] := UInt<2>(1) - wire T_168817 : UInt<2>[3] - T_168817[0] := UInt<2>(1) - T_168817[1] := UInt<2>(2) - T_168817[2] := UInt<2>(3) - wire T_168818 : UInt<2>[2] - T_168818[0] := UInt<2>(2) - T_168818[1] := UInt<2>(3) - wire T_168819 : UInt<2>[1] - T_168819[0] := UInt<2>(3) - wire T_168820 : UInt<3>[3] - T_168820[0] := UInt<3>(0) - T_168820[1] := UInt<3>(1) - T_168820[2] := UInt<3>(2) - wire T_168821 : UInt<2>[2] - T_168821[0] := UInt<2>(0) - T_168821[1] := UInt<2>(1) - wire T_168822 : UInt<2>[3] - T_168822[0] := UInt<2>(1) - T_168822[1] := UInt<2>(2) - T_168822[2] := UInt<2>(3) - wire T_168823 : UInt<2>[2] - T_168823[0] := UInt<2>(2) - T_168823[1] := UInt<2>(3) - wire T_168824 : UInt<2>[1] - T_168824[0] := UInt<2>(3) - wire T_168825 : UInt<3>[3] - T_168825[0] := UInt<3>(0) - T_168825[1] := UInt<3>(1) - T_168825[2] := UInt<3>(2) - wire T_168826 : UInt<2>[2] - T_168826[0] := UInt<2>(0) - T_168826[1] := UInt<2>(1) - wire T_168827 : UInt<2>[3] - T_168827[0] := UInt<2>(1) - T_168827[1] := UInt<2>(2) - T_168827[2] := UInt<2>(3) - wire T_168828 : UInt<2>[2] - T_168828[0] := UInt<2>(2) - T_168828[1] := UInt<2>(3) - wire T_168829 : UInt<2>[1] - T_168829[0] := UInt<2>(3) - wire T_168830 : UInt<3>[3] - T_168830[0] := UInt<3>(0) - T_168830[1] := UInt<3>(1) - T_168830[2] := UInt<3>(2) - wire T_168831 : UInt<2>[2] - T_168831[0] := UInt<2>(0) - T_168831[1] := UInt<2>(1) - wire T_168832 : UInt<2>[3] - T_168832[0] := UInt<2>(1) - T_168832[1] := UInt<2>(2) - T_168832[2] := UInt<2>(3) - wire T_168833 : UInt<2>[2] - T_168833[0] := UInt<2>(2) - T_168833[1] := UInt<2>(3) - wire T_168834 : UInt<2>[1] - T_168834[0] := UInt<2>(3) - wire T_168835 : UInt<3>[3] - T_168835[0] := UInt<3>(0) - T_168835[1] := UInt<3>(1) - T_168835[2] := UInt<3>(2) - wire T_168836 : UInt<2>[2] - T_168836[0] := UInt<2>(0) - T_168836[1] := UInt<2>(1) - wire T_168837 : UInt<2>[3] - T_168837[0] := UInt<2>(1) - T_168837[1] := UInt<2>(2) - T_168837[2] := UInt<2>(3) - wire T_168838 : UInt<2>[2] - T_168838[0] := UInt<2>(2) - T_168838[1] := UInt<2>(3) - wire T_168839 : UInt<2>[1] - T_168839[0] := UInt<2>(3) - wire T_168840 : UInt<3>[3] - T_168840[0] := UInt<3>(0) - T_168840[1] := UInt<3>(1) - T_168840[2] := UInt<3>(2) - wire T_168841 : UInt<2>[2] - T_168841[0] := UInt<2>(0) - T_168841[1] := UInt<2>(1) - wire T_168842 : UInt<2>[3] - T_168842[0] := UInt<2>(1) - T_168842[1] := UInt<2>(2) - T_168842[2] := UInt<2>(3) - wire T_168843 : UInt<2>[2] - T_168843[0] := UInt<2>(2) - T_168843[1] := UInt<2>(3) - wire T_168844 : UInt<2>[1] - T_168844[0] := UInt<2>(3) - wire T_168845 : UInt<3>[3] - T_168845[0] := UInt<3>(0) - T_168845[1] := UInt<3>(1) - T_168845[2] := UInt<3>(2) - wire T_168846 : UInt<2>[2] - T_168846[0] := UInt<2>(0) - T_168846[1] := UInt<2>(1) - wire T_168847 : UInt<2>[3] - T_168847[0] := UInt<2>(1) - T_168847[1] := UInt<2>(2) - T_168847[2] := UInt<2>(3) - wire T_168848 : UInt<2>[2] - T_168848[0] := UInt<2>(2) - T_168848[1] := UInt<2>(3) - wire T_168849 : UInt<2>[1] - T_168849[0] := UInt<2>(3) - wire T_168850 : UInt<3>[3] - T_168850[0] := UInt<3>(0) - T_168850[1] := UInt<3>(1) - T_168850[2] := UInt<3>(2) - wire T_168851 : UInt<2>[2] - T_168851[0] := UInt<2>(0) - T_168851[1] := UInt<2>(1) - wire T_168852 : UInt<2>[3] - T_168852[0] := UInt<2>(1) - T_168852[1] := UInt<2>(2) - T_168852[2] := UInt<2>(3) - wire T_168853 : UInt<2>[2] - T_168853[0] := UInt<2>(2) - T_168853[1] := UInt<2>(3) - wire T_168854 : UInt<2>[1] - T_168854[0] := UInt<2>(3) - wire T_168855 : UInt<3>[3] - T_168855[0] := UInt<3>(0) - T_168855[1] := UInt<3>(1) - T_168855[2] := UInt<3>(2) - wire T_168856 : UInt<2>[2] - T_168856[0] := UInt<2>(0) - T_168856[1] := UInt<2>(1) - wire T_168857 : UInt<2>[3] - T_168857[0] := UInt<2>(1) - T_168857[1] := UInt<2>(2) - T_168857[2] := UInt<2>(3) - wire T_168858 : UInt<2>[2] - T_168858[0] := UInt<2>(2) - T_168858[1] := UInt<2>(3) - wire T_168859 : UInt<2>[1] - T_168859[0] := UInt<2>(3) - wire T_168860 : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>, client_id : UInt<2>}}} - T_168860.bits.payload := manager.grant.bits - T_168860.bits.header.src := UInt<1>(0) - T_168860.bits.header.dst := manager.grant.bits.client_id - T_168860.valid := manager.grant.valid - manager.grant.ready := T_168860.ready - network.grant <> T_168860 - wire T_168861 : UInt<3>[3] - T_168861[0] := UInt<3>(0) - T_168861[1] := UInt<3>(1) - T_168861[2] := UInt<3>(2) - wire T_168862 : UInt<2>[2] - T_168862[0] := UInt<2>(0) - T_168862[1] := UInt<2>(1) - wire T_168863 : UInt<2>[3] - T_168863[0] := UInt<2>(1) - T_168863[1] := UInt<2>(2) - T_168863[2] := UInt<2>(3) - wire T_168864 : UInt<2>[2] - T_168864[0] := UInt<2>(2) - T_168864[1] := UInt<2>(3) - wire T_168865 : UInt<2>[1] - T_168865[0] := UInt<2>(3) - wire T_168866 : UInt<3>[3] - T_168866[0] := UInt<3>(0) - T_168866[1] := UInt<3>(1) - T_168866[2] := UInt<3>(2) - wire T_168867 : UInt<2>[2] - T_168867[0] := UInt<2>(0) - T_168867[1] := UInt<2>(1) - wire T_168868 : UInt<2>[3] - T_168868[0] := UInt<2>(1) - T_168868[1] := UInt<2>(2) - T_168868[2] := UInt<2>(3) - wire T_168869 : UInt<2>[2] - T_168869[0] := UInt<2>(2) - T_168869[1] := UInt<2>(3) - wire T_168870 : UInt<2>[1] - T_168870[0] := UInt<2>(3) - wire T_168871 : UInt<3>[3] - T_168871[0] := UInt<3>(0) - T_168871[1] := UInt<3>(1) - T_168871[2] := UInt<3>(2) - wire T_168872 : UInt<2>[2] - T_168872[0] := UInt<2>(0) - T_168872[1] := UInt<2>(1) - wire T_168873 : UInt<2>[3] - T_168873[0] := UInt<2>(1) - T_168873[1] := UInt<2>(2) - T_168873[2] := UInt<2>(3) - wire T_168874 : UInt<2>[2] - T_168874[0] := UInt<2>(2) - T_168874[1] := UInt<2>(3) - wire T_168875 : UInt<2>[1] - T_168875[0] := UInt<2>(3) - wire T_168876 : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, p_type : UInt<2>, client_id : UInt<2>}}} - T_168876.bits.payload := manager.probe.bits - T_168876.bits.header.src := UInt<1>(0) - T_168876.bits.header.dst := manager.probe.bits.client_id - T_168876.valid := manager.probe.valid - manager.probe.ready := T_168876.ready - network.probe <> T_168876 - manager.acquire.bits.client_id := network.acquire.bits.header.src - wire T_168877 : UInt<3>[3] - T_168877[0] := UInt<3>(0) - T_168877[1] := UInt<3>(1) - T_168877[2] := UInt<3>(2) - wire T_168878 : UInt<2>[2] - T_168878[0] := UInt<2>(0) - T_168878[1] := UInt<2>(1) - wire T_168879 : UInt<2>[3] - T_168879[0] := UInt<2>(1) - T_168879[1] := UInt<2>(2) - T_168879[2] := UInt<2>(3) - wire T_168880 : UInt<2>[2] - T_168880[0] := UInt<2>(2) - T_168880[1] := UInt<2>(3) - wire T_168881 : UInt<2>[1] - T_168881[0] := UInt<2>(3) - wire T_168882 : UInt<3>[3] - T_168882[0] := UInt<3>(0) - T_168882[1] := UInt<3>(1) - T_168882[2] := UInt<3>(2) - wire T_168883 : UInt<2>[2] - T_168883[0] := UInt<2>(0) - T_168883[1] := UInt<2>(1) - wire T_168884 : UInt<2>[3] - T_168884[0] := UInt<2>(1) - T_168884[1] := UInt<2>(2) - T_168884[2] := UInt<2>(3) - wire T_168885 : UInt<2>[2] - T_168885[0] := UInt<2>(2) - T_168885[1] := UInt<2>(3) - wire T_168886 : UInt<2>[1] - T_168886[0] := UInt<2>(3) - wire T_168887 : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}} - T_168887.valid := network.acquire.valid - T_168887.bits := network.acquire.bits.payload - network.acquire.ready := T_168887.ready - manager.acquire <> T_168887 - manager.release.bits.client_id := network.release.bits.header.src - wire T_168888 : UInt<3>[3] - T_168888[0] := UInt<3>(0) - T_168888[1] := UInt<3>(1) - T_168888[2] := UInt<3>(2) - wire T_168889 : UInt<2>[2] - T_168889[0] := UInt<2>(0) - T_168889[1] := UInt<2>(1) - wire T_168890 : UInt<2>[3] - T_168890[0] := UInt<2>(1) - T_168890[1] := UInt<2>(2) - T_168890[2] := UInt<2>(3) - wire T_168891 : UInt<2>[2] - T_168891[0] := UInt<2>(2) - T_168891[1] := UInt<2>(3) - wire T_168892 : UInt<2>[1] - T_168892[0] := UInt<2>(3) - wire T_168893 : UInt<3>[3] - T_168893[0] := UInt<3>(0) - T_168893[1] := UInt<3>(1) - T_168893[2] := UInt<3>(2) - wire T_168894 : UInt<2>[2] - T_168894[0] := UInt<2>(0) - T_168894[1] := UInt<2>(1) - wire T_168895 : UInt<2>[3] - T_168895[0] := UInt<2>(1) - T_168895[1] := UInt<2>(2) - T_168895[2] := UInt<2>(3) - wire T_168896 : UInt<2>[2] - T_168896[0] := UInt<2>(2) - T_168896[1] := UInt<2>(3) - wire T_168897 : UInt<2>[1] - T_168897[0] := UInt<2>(3) - wire T_168898 : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}} - T_168898.valid := network.release.valid - T_168898.bits := network.release.bits.payload - network.release.ready := T_168898.ready - manager.release <> T_168898 - wire T_168899 : UInt<3>[3] - T_168899[0] := UInt<3>(0) - T_168899[1] := UInt<3>(1) - T_168899[2] := UInt<3>(2) - wire T_168900 : UInt<2>[2] - T_168900[0] := UInt<2>(0) - T_168900[1] := UInt<2>(1) - wire T_168901 : UInt<2>[3] - T_168901[0] := UInt<2>(1) - T_168901[1] := UInt<2>(2) - T_168901[2] := UInt<2>(3) - wire T_168902 : UInt<2>[2] - T_168902[0] := UInt<2>(2) - T_168902[1] := UInt<2>(3) - wire T_168903 : UInt<2>[1] - T_168903[0] := UInt<2>(3) - wire T_168904 : UInt<3>[3] - T_168904[0] := UInt<3>(0) - T_168904[1] := UInt<3>(1) - T_168904[2] := UInt<3>(2) - wire T_168905 : UInt<2>[2] - T_168905[0] := UInt<2>(0) - T_168905[1] := UInt<2>(1) - wire T_168906 : UInt<2>[3] - T_168906[0] := UInt<2>(1) - T_168906[1] := UInt<2>(2) - T_168906[2] := UInt<2>(3) - wire T_168907 : UInt<2>[2] - T_168907[0] := UInt<2>(2) - T_168907[1] := UInt<2>(3) - wire T_168908 : UInt<2>[1] - T_168908[0] := UInt<2>(3) - wire T_168909 : {flip ready : UInt<1>, valid : UInt<1>, bits : {manager_xact_id : UInt<2>}} - T_168909.valid := network.finish.valid - T_168909.bits := network.finish.bits.payload - network.finish.ready := T_168909.ready - manager.finish <> T_168909 - module Queue_46545 : - input enq : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}} - output deq : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}} - output count : UInt<1> - - wire T_168910 : UInt<3>[3] - T_168910[0] := UInt<3>(0) - T_168910[1] := UInt<3>(1) - T_168910[2] := UInt<3>(2) - wire T_168911 : UInt<2>[2] - T_168911[0] := UInt<2>(0) - T_168911[1] := UInt<2>(1) - wire T_168912 : UInt<2>[3] - T_168912[0] := UInt<2>(1) - T_168912[1] := UInt<2>(2) - T_168912[2] := UInt<2>(3) - wire T_168913 : UInt<2>[2] - T_168913[0] := UInt<2>(2) - T_168913[1] := UInt<2>(3) - wire T_168914 : UInt<2>[1] - T_168914[0] := UInt<2>(3) - wire T_168915 : UInt<3>[3] - T_168915[0] := UInt<3>(0) - T_168915[1] := UInt<3>(1) - T_168915[2] := UInt<3>(2) - wire T_168916 : UInt<2>[2] - T_168916[0] := UInt<2>(0) - T_168916[1] := UInt<2>(1) - wire T_168917 : UInt<2>[3] - T_168917[0] := UInt<2>(1) - T_168917[1] := UInt<2>(2) - T_168917[2] := UInt<2>(3) - wire T_168918 : UInt<2>[2] - T_168918[0] := UInt<2>(2) - T_168918[1] := UInt<2>(3) - wire T_168919 : UInt<2>[1] - T_168919[0] := UInt<2>(3) - wire T_168920 : UInt<3>[3] - T_168920[0] := UInt<3>(0) - T_168920[1] := UInt<3>(1) - T_168920[2] := UInt<3>(2) - wire T_168921 : UInt<2>[2] - T_168921[0] := UInt<2>(0) - T_168921[1] := UInt<2>(1) - wire T_168922 : UInt<2>[3] - T_168922[0] := UInt<2>(1) - T_168922[1] := UInt<2>(2) - T_168922[2] := UInt<2>(3) - wire T_168923 : UInt<2>[2] - T_168923[0] := UInt<2>(2) - T_168923[1] := UInt<2>(3) - wire T_168924 : UInt<2>[1] - T_168924[0] := UInt<2>(3) - wire T_168925 : UInt<3>[3] - T_168925[0] := UInt<3>(0) - T_168925[1] := UInt<3>(1) - T_168925[2] := UInt<3>(2) - wire T_168926 : UInt<2>[2] - T_168926[0] := UInt<2>(0) - T_168926[1] := UInt<2>(1) - wire T_168927 : UInt<2>[3] - T_168927[0] := UInt<2>(1) - T_168927[1] := UInt<2>(2) - T_168927[2] := UInt<2>(3) - wire T_168928 : UInt<2>[2] - T_168928[0] := UInt<2>(2) - T_168928[1] := UInt<2>(3) - wire T_168929 : UInt<2>[1] - T_168929[0] := UInt<2>(3) - wire T_168930 : UInt<3>[3] - T_168930[0] := UInt<3>(0) - T_168930[1] := UInt<3>(1) - T_168930[2] := UInt<3>(2) - wire T_168931 : UInt<2>[2] - T_168931[0] := UInt<2>(0) - T_168931[1] := UInt<2>(1) - wire T_168932 : UInt<2>[3] - T_168932[0] := UInt<2>(1) - T_168932[1] := UInt<2>(2) - T_168932[2] := UInt<2>(3) - wire T_168933 : UInt<2>[2] - T_168933[0] := UInt<2>(2) - T_168933[1] := UInt<2>(3) - wire T_168934 : UInt<2>[1] - T_168934[0] := UInt<2>(3) - cmem ram : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}[1] - reg maybe_full : UInt<1> - onreset maybe_full := UInt<1>(0) - node ptr_match = eq(UInt<1>(0), UInt<1>(0)) - node T_168935 = eq(maybe_full, UInt<1>(0)) - node empty = and(ptr_match, T_168935) - node full = and(ptr_match, maybe_full) - node maybe_flow = and(UInt<1>(0), empty) - node do_flow = and(maybe_flow, deq.ready) - node T_168936 = and(enq.ready, enq.valid) - node T_168937 = eq(do_flow, UInt<1>(0)) - node do_enq = and(T_168936, T_168937) - node T_168938 = and(deq.ready, deq.valid) - node T_168939 = eq(do_flow, UInt<1>(0)) - node do_deq = and(T_168938, T_168939) - when do_enq : - wire T_168940 : UInt<3>[3] - T_168940[0] := UInt<3>(0) - T_168940[1] := UInt<3>(1) - T_168940[2] := UInt<3>(2) - wire T_168941 : UInt<2>[2] - T_168941[0] := UInt<2>(0) - T_168941[1] := UInt<2>(1) - wire T_168942 : UInt<2>[3] - T_168942[0] := UInt<2>(1) - T_168942[1] := UInt<2>(2) - T_168942[2] := UInt<2>(3) - wire T_168943 : UInt<2>[2] - T_168943[0] := UInt<2>(2) - T_168943[1] := UInt<2>(3) - wire T_168944 : UInt<2>[1] - T_168944[0] := UInt<2>(3) - accessor T_168945 = ram[UInt<1>(0)] - T_168945 := enq.bits - when do_deq : skip - - node T_168946 = neq(do_enq, do_deq) - when T_168946 : maybe_full := do_enq - node T_168947 = eq(empty, UInt<1>(0)) - node T_168948 = and(UInt<1>(0), enq.valid) - node T_168949 = or(T_168947, T_168948) - deq.valid := T_168949 - node T_168950 = eq(full, UInt<1>(0)) - node T_168951 = and(UInt<1>(0), deq.ready) - node T_168952 = or(T_168950, T_168951) - enq.ready := T_168952 - wire T_168953 : UInt<3>[3] - T_168953[0] := UInt<3>(0) - T_168953[1] := UInt<3>(1) - T_168953[2] := UInt<3>(2) - wire T_168954 : UInt<2>[2] - T_168954[0] := UInt<2>(0) - T_168954[1] := UInt<2>(1) - wire T_168955 : UInt<2>[3] - T_168955[0] := UInt<2>(1) - T_168955[1] := UInt<2>(2) - T_168955[2] := UInt<2>(3) - wire T_168956 : UInt<2>[2] - T_168956[0] := UInt<2>(2) - T_168956[1] := UInt<2>(3) - wire T_168957 : UInt<2>[1] - T_168957[0] := UInt<2>(3) - accessor T_168958 = ram[UInt<1>(0)] - wire T_168959 : UInt<3>[3] - T_168959[0] := UInt<3>(0) - T_168959[1] := UInt<3>(1) - T_168959[2] := UInt<3>(2) - wire T_168960 : UInt<2>[2] - T_168960[0] := UInt<2>(0) - T_168960[1] := UInt<2>(1) - wire T_168961 : UInt<2>[3] - T_168961[0] := UInt<2>(1) - T_168961[1] := UInt<2>(2) - T_168961[2] := UInt<2>(3) - wire T_168962 : UInt<2>[2] - T_168962[0] := UInt<2>(2) - T_168962[1] := UInt<2>(3) - wire T_168963 : UInt<2>[1] - T_168963[0] := UInt<2>(3) - wire T_168964 : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}} - T_168964 := T_168958 - when maybe_flow : T_168964 := enq.bits - deq.bits := T_168964 - node ptr_diff = subw(UInt<1>(0), UInt<1>(0)) - node T_168965 = and(maybe_full, ptr_match) - node T_168966 = cat(T_168965, ptr_diff) - count := T_168966 - module TileLinkEnqueuer_46546 : - input client : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}}, finish : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {manager_xact_id : UInt<2>}}}, flip probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, p_type : UInt<2>}}}, release : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}}} - output manager : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}}, finish : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {manager_xact_id : UInt<2>}}}, flip probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, p_type : UInt<2>}}}, release : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}}} - - wire T_168967 : UInt<3>[3] - T_168967[0] := UInt<3>(0) - T_168967[1] := UInt<3>(1) - T_168967[2] := UInt<3>(2) - wire T_168968 : UInt<2>[2] - T_168968[0] := UInt<2>(0) - T_168968[1] := UInt<2>(1) - wire T_168969 : UInt<2>[3] - T_168969[0] := UInt<2>(1) - T_168969[1] := UInt<2>(2) - T_168969[2] := UInt<2>(3) - wire T_168970 : UInt<2>[2] - T_168970[0] := UInt<2>(2) - T_168970[1] := UInt<2>(3) - wire T_168971 : UInt<2>[1] - T_168971[0] := UInt<2>(3) - wire T_168972 : UInt<3>[3] - T_168972[0] := UInt<3>(0) - T_168972[1] := UInt<3>(1) - T_168972[2] := UInt<3>(2) - wire T_168973 : UInt<2>[2] - T_168973[0] := UInt<2>(0) - T_168973[1] := UInt<2>(1) - wire T_168974 : UInt<2>[3] - T_168974[0] := UInt<2>(1) - T_168974[1] := UInt<2>(2) - T_168974[2] := UInt<2>(3) - wire T_168975 : UInt<2>[2] - T_168975[0] := UInt<2>(2) - T_168975[1] := UInt<2>(3) - wire T_168976 : UInt<2>[1] - T_168976[0] := UInt<2>(3) - wire T_168977 : UInt<3>[3] - T_168977[0] := UInt<3>(0) - T_168977[1] := UInt<3>(1) - T_168977[2] := UInt<3>(2) - wire T_168978 : UInt<2>[2] - T_168978[0] := UInt<2>(0) - T_168978[1] := UInt<2>(1) - wire T_168979 : UInt<2>[3] - T_168979[0] := UInt<2>(1) - T_168979[1] := UInt<2>(2) - T_168979[2] := UInt<2>(3) - wire T_168980 : UInt<2>[2] - T_168980[0] := UInt<2>(2) - T_168980[1] := UInt<2>(3) - wire T_168981 : UInt<2>[1] - T_168981[0] := UInt<2>(3) - wire T_168982 : UInt<3>[3] - T_168982[0] := UInt<3>(0) - T_168982[1] := UInt<3>(1) - T_168982[2] := UInt<3>(2) - wire T_168983 : UInt<2>[2] - T_168983[0] := UInt<2>(0) - T_168983[1] := UInt<2>(1) - wire T_168984 : UInt<2>[3] - T_168984[0] := UInt<2>(1) - T_168984[1] := UInt<2>(2) - T_168984[2] := UInt<2>(3) - wire T_168985 : UInt<2>[2] - T_168985[0] := UInt<2>(2) - T_168985[1] := UInt<2>(3) - wire T_168986 : UInt<2>[1] - T_168986[0] := UInt<2>(3) - wire T_168987 : UInt<3>[3] - T_168987[0] := UInt<3>(0) - T_168987[1] := UInt<3>(1) - T_168987[2] := UInt<3>(2) - wire T_168988 : UInt<2>[2] - T_168988[0] := UInt<2>(0) - T_168988[1] := UInt<2>(1) - wire T_168989 : UInt<2>[3] - T_168989[0] := UInt<2>(1) - T_168989[1] := UInt<2>(2) - T_168989[2] := UInt<2>(3) - wire T_168990 : UInt<2>[2] - T_168990[0] := UInt<2>(2) - T_168990[1] := UInt<2>(3) - wire T_168991 : UInt<2>[1] - T_168991[0] := UInt<2>(3) - wire T_168992 : UInt<3>[3] - T_168992[0] := UInt<3>(0) - T_168992[1] := UInt<3>(1) - T_168992[2] := UInt<3>(2) - wire T_168993 : UInt<2>[2] - T_168993[0] := UInt<2>(0) - T_168993[1] := UInt<2>(1) - wire T_168994 : UInt<2>[3] - T_168994[0] := UInt<2>(1) - T_168994[1] := UInt<2>(2) - T_168994[2] := UInt<2>(3) - wire T_168995 : UInt<2>[2] - T_168995[0] := UInt<2>(2) - T_168995[1] := UInt<2>(3) - wire T_168996 : UInt<2>[1] - T_168996[0] := UInt<2>(3) - wire T_168997 : UInt<3>[3] - T_168997[0] := UInt<3>(0) - T_168997[1] := UInt<3>(1) - T_168997[2] := UInt<3>(2) - wire T_168998 : UInt<2>[2] - T_168998[0] := UInt<2>(0) - T_168998[1] := UInt<2>(1) - wire T_168999 : UInt<2>[3] - T_168999[0] := UInt<2>(1) - T_168999[1] := UInt<2>(2) - T_168999[2] := UInt<2>(3) - wire T_169000 : UInt<2>[2] - T_169000[0] := UInt<2>(2) - T_169000[1] := UInt<2>(3) - wire T_169001 : UInt<2>[1] - T_169001[0] := UInt<2>(3) - wire T_169002 : UInt<3>[3] - T_169002[0] := UInt<3>(0) - T_169002[1] := UInt<3>(1) - T_169002[2] := UInt<3>(2) - wire T_169003 : UInt<2>[2] - T_169003[0] := UInt<2>(0) - T_169003[1] := UInt<2>(1) - wire T_169004 : UInt<2>[3] - T_169004[0] := UInt<2>(1) - T_169004[1] := UInt<2>(2) - T_169004[2] := UInt<2>(3) - wire T_169005 : UInt<2>[2] - T_169005[0] := UInt<2>(2) - T_169005[1] := UInt<2>(3) - wire T_169006 : UInt<2>[1] - T_169006[0] := UInt<2>(3) - wire T_169007 : UInt<3>[3] - T_169007[0] := UInt<3>(0) - T_169007[1] := UInt<3>(1) - T_169007[2] := UInt<3>(2) - wire T_169008 : UInt<2>[2] - T_169008[0] := UInt<2>(0) - T_169008[1] := UInt<2>(1) - wire T_169009 : UInt<2>[3] - T_169009[0] := UInt<2>(1) - T_169009[1] := UInt<2>(2) - T_169009[2] := UInt<2>(3) - wire T_169010 : UInt<2>[2] - T_169010[0] := UInt<2>(2) - T_169010[1] := UInt<2>(3) - wire T_169011 : UInt<2>[1] - T_169011[0] := UInt<2>(3) - wire T_169012 : UInt<3>[3] - T_169012[0] := UInt<3>(0) - T_169012[1] := UInt<3>(1) - T_169012[2] := UInt<3>(2) - wire T_169013 : UInt<2>[2] - T_169013[0] := UInt<2>(0) - T_169013[1] := UInt<2>(1) - wire T_169014 : UInt<2>[3] - T_169014[0] := UInt<2>(1) - T_169014[1] := UInt<2>(2) - T_169014[2] := UInt<2>(3) - wire T_169015 : UInt<2>[2] - T_169015[0] := UInt<2>(2) - T_169015[1] := UInt<2>(3) - wire T_169016 : UInt<2>[1] - T_169016[0] := UInt<2>(3) - wire T_169017 : UInt<3>[3] - T_169017[0] := UInt<3>(0) - T_169017[1] := UInt<3>(1) - T_169017[2] := UInt<3>(2) - wire T_169018 : UInt<2>[2] - T_169018[0] := UInt<2>(0) - T_169018[1] := UInt<2>(1) - wire T_169019 : UInt<2>[3] - T_169019[0] := UInt<2>(1) - T_169019[1] := UInt<2>(2) - T_169019[2] := UInt<2>(3) - wire T_169020 : UInt<2>[2] - T_169020[0] := UInt<2>(2) - T_169020[1] := UInt<2>(3) - wire T_169021 : UInt<2>[1] - T_169021[0] := UInt<2>(3) - wire T_169022 : UInt<3>[3] - T_169022[0] := UInt<3>(0) - T_169022[1] := UInt<3>(1) - T_169022[2] := UInt<3>(2) - wire T_169023 : UInt<2>[2] - T_169023[0] := UInt<2>(0) - T_169023[1] := UInt<2>(1) - wire T_169024 : UInt<2>[3] - T_169024[0] := UInt<2>(1) - T_169024[1] := UInt<2>(2) - T_169024[2] := UInt<2>(3) - wire T_169025 : UInt<2>[2] - T_169025[0] := UInt<2>(2) - T_169025[1] := UInt<2>(3) - wire T_169026 : UInt<2>[1] - T_169026[0] := UInt<2>(3) - wire T_169027 : UInt<3>[3] - T_169027[0] := UInt<3>(0) - T_169027[1] := UInt<3>(1) - T_169027[2] := UInt<3>(2) - wire T_169028 : UInt<2>[2] - T_169028[0] := UInt<2>(0) - T_169028[1] := UInt<2>(1) - wire T_169029 : UInt<2>[3] - T_169029[0] := UInt<2>(1) - T_169029[1] := UInt<2>(2) - T_169029[2] := UInt<2>(3) - wire T_169030 : UInt<2>[2] - T_169030[0] := UInt<2>(2) - T_169030[1] := UInt<2>(3) - wire T_169031 : UInt<2>[1] - T_169031[0] := UInt<2>(3) - wire T_169032 : UInt<3>[3] - T_169032[0] := UInt<3>(0) - T_169032[1] := UInt<3>(1) - T_169032[2] := UInt<3>(2) - wire T_169033 : UInt<2>[2] - T_169033[0] := UInt<2>(0) - T_169033[1] := UInt<2>(1) - wire T_169034 : UInt<2>[3] - T_169034[0] := UInt<2>(1) - T_169034[1] := UInt<2>(2) - T_169034[2] := UInt<2>(3) - wire T_169035 : UInt<2>[2] - T_169035[0] := UInt<2>(2) - T_169035[1] := UInt<2>(3) - wire T_169036 : UInt<2>[1] - T_169036[0] := UInt<2>(3) - wire T_169037 : UInt<3>[3] - T_169037[0] := UInt<3>(0) - T_169037[1] := UInt<3>(1) - T_169037[2] := UInt<3>(2) - wire T_169038 : UInt<2>[2] - T_169038[0] := UInt<2>(0) - T_169038[1] := UInt<2>(1) - wire T_169039 : UInt<2>[3] - T_169039[0] := UInt<2>(1) - T_169039[1] := UInt<2>(2) - T_169039[2] := UInt<2>(3) - wire T_169040 : UInt<2>[2] - T_169040[0] := UInt<2>(2) - T_169040[1] := UInt<2>(3) - wire T_169041 : UInt<2>[1] - T_169041[0] := UInt<2>(3) - wire T_169042 : UInt<3>[3] - T_169042[0] := UInt<3>(0) - T_169042[1] := UInt<3>(1) - T_169042[2] := UInt<3>(2) - wire T_169043 : UInt<2>[2] - T_169043[0] := UInt<2>(0) - T_169043[1] := UInt<2>(1) - wire T_169044 : UInt<2>[3] - T_169044[0] := UInt<2>(1) - T_169044[1] := UInt<2>(2) - T_169044[2] := UInt<2>(3) - wire T_169045 : UInt<2>[2] - T_169045[0] := UInt<2>(2) - T_169045[1] := UInt<2>(3) - wire T_169046 : UInt<2>[1] - T_169046[0] := UInt<2>(3) - wire T_169047 : UInt<3>[3] - T_169047[0] := UInt<3>(0) - T_169047[1] := UInt<3>(1) - T_169047[2] := UInt<3>(2) - wire T_169048 : UInt<2>[2] - T_169048[0] := UInt<2>(0) - T_169048[1] := UInt<2>(1) - wire T_169049 : UInt<2>[3] - T_169049[0] := UInt<2>(1) - T_169049[1] := UInt<2>(2) - T_169049[2] := UInt<2>(3) - wire T_169050 : UInt<2>[2] - T_169050[0] := UInt<2>(2) - T_169050[1] := UInt<2>(3) - wire T_169051 : UInt<2>[1] - T_169051[0] := UInt<2>(3) - wire T_169052 : UInt<3>[3] - T_169052[0] := UInt<3>(0) - T_169052[1] := UInt<3>(1) - T_169052[2] := UInt<3>(2) - wire T_169053 : UInt<2>[2] - T_169053[0] := UInt<2>(0) - T_169053[1] := UInt<2>(1) - wire T_169054 : UInt<2>[3] - T_169054[0] := UInt<2>(1) - T_169054[1] := UInt<2>(2) - T_169054[2] := UInt<2>(3) - wire T_169055 : UInt<2>[2] - T_169055[0] := UInt<2>(2) - T_169055[1] := UInt<2>(3) - wire T_169056 : UInt<2>[1] - T_169056[0] := UInt<2>(3) - wire T_169057 : UInt<3>[3] - T_169057[0] := UInt<3>(0) - T_169057[1] := UInt<3>(1) - T_169057[2] := UInt<3>(2) - wire T_169058 : UInt<2>[2] - T_169058[0] := UInt<2>(0) - T_169058[1] := UInt<2>(1) - wire T_169059 : UInt<2>[3] - T_169059[0] := UInt<2>(1) - T_169059[1] := UInt<2>(2) - T_169059[2] := UInt<2>(3) - wire T_169060 : UInt<2>[2] - T_169060[0] := UInt<2>(2) - T_169060[1] := UInt<2>(3) - wire T_169061 : UInt<2>[1] - T_169061[0] := UInt<2>(3) - wire T_169062 : UInt<3>[3] - T_169062[0] := UInt<3>(0) - T_169062[1] := UInt<3>(1) - T_169062[2] := UInt<3>(2) - wire T_169063 : UInt<2>[2] - T_169063[0] := UInt<2>(0) - T_169063[1] := UInt<2>(1) - wire T_169064 : UInt<2>[3] - T_169064[0] := UInt<2>(1) - T_169064[1] := UInt<2>(2) - T_169064[2] := UInt<2>(3) - wire T_169065 : UInt<2>[2] - T_169065[0] := UInt<2>(2) - T_169065[1] := UInt<2>(3) - wire T_169066 : UInt<2>[1] - T_169066[0] := UInt<2>(3) - wire T_169067 : UInt<3>[3] - T_169067[0] := UInt<3>(0) - T_169067[1] := UInt<3>(1) - T_169067[2] := UInt<3>(2) - wire T_169068 : UInt<2>[2] - T_169068[0] := UInt<2>(0) - T_169068[1] := UInt<2>(1) - wire T_169069 : UInt<2>[3] - T_169069[0] := UInt<2>(1) - T_169069[1] := UInt<2>(2) - T_169069[2] := UInt<2>(3) - wire T_169070 : UInt<2>[2] - T_169070[0] := UInt<2>(2) - T_169070[1] := UInt<2>(3) - wire T_169071 : UInt<2>[1] - T_169071[0] := UInt<2>(3) - wire T_169072 : UInt<3>[3] - T_169072[0] := UInt<3>(0) - T_169072[1] := UInt<3>(1) - T_169072[2] := UInt<3>(2) - wire T_169073 : UInt<2>[2] - T_169073[0] := UInt<2>(0) - T_169073[1] := UInt<2>(1) - wire T_169074 : UInt<2>[3] - T_169074[0] := UInt<2>(1) - T_169074[1] := UInt<2>(2) - T_169074[2] := UInt<2>(3) - wire T_169075 : UInt<2>[2] - T_169075[0] := UInt<2>(2) - T_169075[1] := UInt<2>(3) - wire T_169076 : UInt<2>[1] - T_169076[0] := UInt<2>(3) - wire T_169077 : UInt<3>[3] - T_169077[0] := UInt<3>(0) - T_169077[1] := UInt<3>(1) - T_169077[2] := UInt<3>(2) - wire T_169078 : UInt<2>[2] - T_169078[0] := UInt<2>(0) - T_169078[1] := UInt<2>(1) - wire T_169079 : UInt<2>[3] - T_169079[0] := UInt<2>(1) - T_169079[1] := UInt<2>(2) - T_169079[2] := UInt<2>(3) - wire T_169080 : UInt<2>[2] - T_169080[0] := UInt<2>(2) - T_169080[1] := UInt<2>(3) - wire T_169081 : UInt<2>[1] - T_169081[0] := UInt<2>(3) - wire T_169082 : UInt<3>[3] - T_169082[0] := UInt<3>(0) - T_169082[1] := UInt<3>(1) - T_169082[2] := UInt<3>(2) - wire T_169083 : UInt<2>[2] - T_169083[0] := UInt<2>(0) - T_169083[1] := UInt<2>(1) - wire T_169084 : UInt<2>[3] - T_169084[0] := UInt<2>(1) - T_169084[1] := UInt<2>(2) - T_169084[2] := UInt<2>(3) - wire T_169085 : UInt<2>[2] - T_169085[0] := UInt<2>(2) - T_169085[1] := UInt<2>(3) - wire T_169086 : UInt<2>[1] - T_169086[0] := UInt<2>(3) - wire T_169087 : UInt<3>[3] - T_169087[0] := UInt<3>(0) - T_169087[1] := UInt<3>(1) - T_169087[2] := UInt<3>(2) - wire T_169088 : UInt<2>[2] - T_169088[0] := UInt<2>(0) - T_169088[1] := UInt<2>(1) - wire T_169089 : UInt<2>[3] - T_169089[0] := UInt<2>(1) - T_169089[1] := UInt<2>(2) - T_169089[2] := UInt<2>(3) - wire T_169090 : UInt<2>[2] - T_169090[0] := UInt<2>(2) - T_169090[1] := UInt<2>(3) - wire T_169091 : UInt<2>[1] - T_169091[0] := UInt<2>(3) - wire T_169092 : UInt<3>[3] - T_169092[0] := UInt<3>(0) - T_169092[1] := UInt<3>(1) - T_169092[2] := UInt<3>(2) - wire T_169093 : UInt<2>[2] - T_169093[0] := UInt<2>(0) - T_169093[1] := UInt<2>(1) - wire T_169094 : UInt<2>[3] - T_169094[0] := UInt<2>(1) - T_169094[1] := UInt<2>(2) - T_169094[2] := UInt<2>(3) - wire T_169095 : UInt<2>[2] - T_169095[0] := UInt<2>(2) - T_169095[1] := UInt<2>(3) - wire T_169096 : UInt<2>[1] - T_169096[0] := UInt<2>(3) - wire T_169097 : UInt<3>[3] - T_169097[0] := UInt<3>(0) - T_169097[1] := UInt<3>(1) - T_169097[2] := UInt<3>(2) - wire T_169098 : UInt<2>[2] - T_169098[0] := UInt<2>(0) - T_169098[1] := UInt<2>(1) - wire T_169099 : UInt<2>[3] - T_169099[0] := UInt<2>(1) - T_169099[1] := UInt<2>(2) - T_169099[2] := UInt<2>(3) - wire T_169100 : UInt<2>[2] - T_169100[0] := UInt<2>(2) - T_169100[1] := UInt<2>(3) - wire T_169101 : UInt<2>[1] - T_169101[0] := UInt<2>(3) - wire T_169102 : UInt<3>[3] - T_169102[0] := UInt<3>(0) - T_169102[1] := UInt<3>(1) - T_169102[2] := UInt<3>(2) - wire T_169103 : UInt<2>[2] - T_169103[0] := UInt<2>(0) - T_169103[1] := UInt<2>(1) - wire T_169104 : UInt<2>[3] - T_169104[0] := UInt<2>(1) - T_169104[1] := UInt<2>(2) - T_169104[2] := UInt<2>(3) - wire T_169105 : UInt<2>[2] - T_169105[0] := UInt<2>(2) - T_169105[1] := UInt<2>(3) - wire T_169106 : UInt<2>[1] - T_169106[0] := UInt<2>(3) - wire T_169107 : UInt<3>[3] - T_169107[0] := UInt<3>(0) - T_169107[1] := UInt<3>(1) - T_169107[2] := UInt<3>(2) - wire T_169108 : UInt<2>[2] - T_169108[0] := UInt<2>(0) - T_169108[1] := UInt<2>(1) - wire T_169109 : UInt<2>[3] - T_169109[0] := UInt<2>(1) - T_169109[1] := UInt<2>(2) - T_169109[2] := UInt<2>(3) - wire T_169110 : UInt<2>[2] - T_169110[0] := UInt<2>(2) - T_169110[1] := UInt<2>(3) - wire T_169111 : UInt<2>[1] - T_169111[0] := UInt<2>(3) - wire T_169112 : UInt<3>[3] - T_169112[0] := UInt<3>(0) - T_169112[1] := UInt<3>(1) - T_169112[2] := UInt<3>(2) - wire T_169113 : UInt<2>[2] - T_169113[0] := UInt<2>(0) - T_169113[1] := UInt<2>(1) - wire T_169114 : UInt<2>[3] - T_169114[0] := UInt<2>(1) - T_169114[1] := UInt<2>(2) - T_169114[2] := UInt<2>(3) - wire T_169115 : UInt<2>[2] - T_169115[0] := UInt<2>(2) - T_169115[1] := UInt<2>(3) - wire T_169116 : UInt<2>[1] - T_169116[0] := UInt<2>(3) - wire T_169117 : UInt<3>[3] - T_169117[0] := UInt<3>(0) - T_169117[1] := UInt<3>(1) - T_169117[2] := UInt<3>(2) - wire T_169118 : UInt<2>[2] - T_169118[0] := UInt<2>(0) - T_169118[1] := UInt<2>(1) - wire T_169119 : UInt<2>[3] - T_169119[0] := UInt<2>(1) - T_169119[1] := UInt<2>(2) - T_169119[2] := UInt<2>(3) - wire T_169120 : UInt<2>[2] - T_169120[0] := UInt<2>(2) - T_169120[1] := UInt<2>(3) - wire T_169121 : UInt<2>[1] - T_169121[0] := UInt<2>(3) - wire T_169122 : UInt<3>[3] - T_169122[0] := UInt<3>(0) - T_169122[1] := UInt<3>(1) - T_169122[2] := UInt<3>(2) - wire T_169123 : UInt<2>[2] - T_169123[0] := UInt<2>(0) - T_169123[1] := UInt<2>(1) - wire T_169124 : UInt<2>[3] - T_169124[0] := UInt<2>(1) - T_169124[1] := UInt<2>(2) - T_169124[2] := UInt<2>(3) - wire T_169125 : UInt<2>[2] - T_169125[0] := UInt<2>(2) - T_169125[1] := UInt<2>(3) - wire T_169126 : UInt<2>[1] - T_169126[0] := UInt<2>(3) - manager.acquire <> client.acquire - client.probe <> manager.probe - wire T_169127 : UInt<3>[3] - T_169127[0] := UInt<3>(0) - T_169127[1] := UInt<3>(1) - T_169127[2] := UInt<3>(2) - wire T_169128 : UInt<2>[2] - T_169128[0] := UInt<2>(0) - T_169128[1] := UInt<2>(1) - wire T_169129 : UInt<2>[3] - T_169129[0] := UInt<2>(1) - T_169129[1] := UInt<2>(2) - T_169129[2] := UInt<2>(3) - wire T_169130 : UInt<2>[2] - T_169130[0] := UInt<2>(2) - T_169130[1] := UInt<2>(3) - wire T_169131 : UInt<2>[1] - T_169131[0] := UInt<2>(3) - inst T_169132 of Queue_46545 - T_169132.enq.valid := client.release.valid - T_169132.enq.bits := client.release.bits - client.release.ready := T_169132.enq.ready - manager.release <> T_169132.deq - client.grant <> manager.grant - manager.finish <> client.finish - module LockingRRArbiter : - input in : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}}[3] - output out : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}} - output chosen : UInt<2> - - wire T_169133 : UInt<3>[3] - T_169133[0] := UInt<3>(0) - T_169133[1] := UInt<3>(1) - T_169133[2] := UInt<3>(2) - wire T_169134 : UInt<2>[2] - T_169134[0] := UInt<2>(0) - T_169134[1] := UInt<2>(1) - wire T_169135 : UInt<2>[3] - T_169135[0] := UInt<2>(1) - T_169135[1] := UInt<2>(2) - T_169135[2] := UInt<2>(3) - wire T_169136 : UInt<2>[2] - T_169136[0] := UInt<2>(2) - T_169136[1] := UInt<2>(3) - wire T_169137 : UInt<2>[1] - T_169137[0] := UInt<2>(3) - wire T_169138 : UInt<3>[3] - T_169138[0] := UInt<3>(0) - T_169138[1] := UInt<3>(1) - T_169138[2] := UInt<3>(2) - wire T_169139 : UInt<2>[2] - T_169139[0] := UInt<2>(0) - T_169139[1] := UInt<2>(1) - wire T_169140 : UInt<2>[3] - T_169140[0] := UInt<2>(1) - T_169140[1] := UInt<2>(2) - T_169140[2] := UInt<2>(3) - wire T_169141 : UInt<2>[2] - T_169141[0] := UInt<2>(2) - T_169141[1] := UInt<2>(3) - wire T_169142 : UInt<2>[1] - T_169142[0] := UInt<2>(3) - wire T_169143 : UInt<3>[3] - T_169143[0] := UInt<3>(0) - T_169143[1] := UInt<3>(1) - T_169143[2] := UInt<3>(2) - wire T_169144 : UInt<2>[2] - T_169144[0] := UInt<2>(0) - T_169144[1] := UInt<2>(1) - wire T_169145 : UInt<2>[3] - T_169145[0] := UInt<2>(1) - T_169145[1] := UInt<2>(2) - T_169145[2] := UInt<2>(3) - wire T_169146 : UInt<2>[2] - T_169146[0] := UInt<2>(2) - T_169146[1] := UInt<2>(3) - wire T_169147 : UInt<2>[1] - T_169147[0] := UInt<2>(3) - wire T_169148 : UInt<3>[3] - T_169148[0] := UInt<3>(0) - T_169148[1] := UInt<3>(1) - T_169148[2] := UInt<3>(2) - wire T_169149 : UInt<2>[2] - T_169149[0] := UInt<2>(0) - T_169149[1] := UInt<2>(1) - wire T_169150 : UInt<2>[3] - T_169150[0] := UInt<2>(1) - T_169150[1] := UInt<2>(2) - T_169150[2] := UInt<2>(3) - wire T_169151 : UInt<2>[2] - T_169151[0] := UInt<2>(2) - T_169151[1] := UInt<2>(3) - wire T_169152 : UInt<2>[1] - T_169152[0] := UInt<2>(3) - wire T_169153 : UInt<3>[3] - T_169153[0] := UInt<3>(0) - T_169153[1] := UInt<3>(1) - T_169153[2] := UInt<3>(2) - wire T_169154 : UInt<2>[2] - T_169154[0] := UInt<2>(0) - T_169154[1] := UInt<2>(1) - wire T_169155 : UInt<2>[3] - T_169155[0] := UInt<2>(1) - T_169155[1] := UInt<2>(2) - T_169155[2] := UInt<2>(3) - wire T_169156 : UInt<2>[2] - T_169156[0] := UInt<2>(2) - T_169156[1] := UInt<2>(3) - wire T_169157 : UInt<2>[1] - T_169157[0] := UInt<2>(3) - reg T_169158 : UInt<1> - onreset T_169158 := UInt<1>(0) - reg T_169159 : UInt<2> - onreset T_169159 := UInt<2>(2) - wire T_169160 : UInt<2> - reg last_grant : UInt<2> - onreset last_grant := UInt<2>(0) - node T_169161 = gt(UInt<1>(0), last_grant) - node T_169162 = and(in[0].valid, T_169161) - node T_169163 = gt(UInt<1>(1), last_grant) - node T_169164 = and(in[1].valid, T_169163) - node T_169165 = gt(UInt<2>(2), last_grant) - node T_169166 = and(in[2].valid, T_169165) - node T_169167 = or(UInt<1>(0), T_169162) - node T_169168 = eq(T_169167, UInt<1>(0)) - node T_169169 = or(UInt<1>(0), T_169162) - node T_169170 = or(T_169169, T_169164) - node T_169171 = eq(T_169170, UInt<1>(0)) - node T_169172 = or(UInt<1>(0), T_169162) - node T_169173 = or(T_169172, T_169164) - node T_169174 = or(T_169173, T_169166) - node T_169175 = eq(T_169174, UInt<1>(0)) - node T_169176 = or(UInt<1>(0), T_169162) - node T_169177 = or(T_169176, T_169164) - node T_169178 = or(T_169177, T_169166) - node T_169179 = or(T_169178, in[0].valid) - node T_169180 = eq(T_169179, UInt<1>(0)) - node T_169181 = or(UInt<1>(0), T_169162) - node T_169182 = or(T_169181, T_169164) - node T_169183 = or(T_169182, T_169166) - node T_169184 = or(T_169183, in[0].valid) - node T_169185 = or(T_169184, in[1].valid) - node T_169186 = eq(T_169185, UInt<1>(0)) - node T_169187 = gt(UInt<1>(0), last_grant) - node T_169188 = and(UInt<1>(1), T_169187) - node T_169189 = or(T_169188, T_169175) - node T_169190 = gt(UInt<1>(1), last_grant) - node T_169191 = and(T_169168, T_169190) - node T_169192 = or(T_169191, T_169180) - node T_169193 = gt(UInt<2>(2), last_grant) - node T_169194 = and(T_169171, T_169193) - node T_169195 = or(T_169194, T_169186) - node T_169196 = eq(T_169159, UInt<1>(0)) - wire T_169197 : UInt<1> - T_169197 := T_169189 - when T_169158 : T_169197 := T_169196 - node T_169198 = and(T_169197, out.ready) - in[0].ready := T_169198 - node T_169199 = eq(T_169159, UInt<1>(1)) - wire T_169200 : UInt<1> - T_169200 := T_169192 - when T_169158 : T_169200 := T_169199 - node T_169201 = and(T_169200, out.ready) - in[1].ready := T_169201 - node T_169202 = eq(T_169159, UInt<2>(2)) - wire T_169203 : UInt<1> - T_169203 := T_169195 - when T_169158 : T_169203 := T_169202 - node T_169204 = and(T_169203, out.ready) - in[2].ready := T_169204 - wire T_169205 : UInt<3>[3] - T_169205[0] := UInt<3>(0) - T_169205[1] := UInt<3>(1) - T_169205[2] := UInt<3>(2) - wire T_169206 : UInt<2>[2] - T_169206[0] := UInt<2>(0) - T_169206[1] := UInt<2>(1) - wire T_169207 : UInt<2>[3] - T_169207[0] := UInt<2>(1) - T_169207[1] := UInt<2>(2) - T_169207[2] := UInt<2>(3) - wire T_169208 : UInt<2>[2] - T_169208[0] := UInt<2>(2) - T_169208[1] := UInt<2>(3) - wire T_169209 : UInt<2>[1] - T_169209[0] := UInt<2>(3) - accessor T_169210 = in[T_169160] - out.valid := T_169210.valid - wire T_169211 : UInt<3>[3] - T_169211[0] := UInt<3>(0) - T_169211[1] := UInt<3>(1) - T_169211[2] := UInt<3>(2) - wire T_169212 : UInt<2>[2] - T_169212[0] := UInt<2>(0) - T_169212[1] := UInt<2>(1) - wire T_169213 : UInt<2>[3] - T_169213[0] := UInt<2>(1) - T_169213[1] := UInt<2>(2) - T_169213[2] := UInt<2>(3) - wire T_169214 : UInt<2>[2] - T_169214[0] := UInt<2>(2) - T_169214[1] := UInt<2>(3) - wire T_169215 : UInt<2>[1] - T_169215[0] := UInt<2>(3) - accessor T_169216 = in[T_169160] - out.bits := T_169216.bits - chosen := T_169160 - reg T_169217 : UInt<2> - onreset T_169217 := UInt<2>(0) - node T_169218 = addw(T_169217, UInt<1>(1)) - - node T_169219 = and(out.ready, out.valid) - when T_169219 : - - - node T_169220 = and(UInt<1>(1), out.bits.payload.is_builtin_type) - wire T_169221 : UInt<3>[1] - T_169221[0] := UInt<3>(3) - node T_169222 = eq(T_169221[0], out.bits.payload.a_type) - node T_169223 = or(UInt<1>(0), T_169222) - node T_169224 = and(T_169220, T_169223) - when T_169224 : - T_169217 := T_169218 - - node T_169225 = eq(T_169158, UInt<1>(0)) - when T_169225 : - T_169158 := UInt<1>(1) - node T_169226 = and(in[0].ready, in[0].valid) - node T_169227 = and(in[1].ready, in[1].valid) - node T_169228 = and(in[2].ready, in[2].valid) - wire T_169229 : UInt<1>[3] - T_169229[0] := T_169226 - T_169229[1] := T_169227 - T_169229[2] := T_169228 - wire T_169230 : UInt<2> - T_169230 := UInt<2>(2) - when T_169229[1] : T_169230 := UInt<1>(1) - wire T_169231 : UInt<2> - T_169231 := T_169230 - when T_169229[0] : T_169231 := UInt<1>(0) - T_169159 := T_169231 - - node T_169232 = eq(T_169218, UInt<1>(0)) - when T_169232 : T_169158 := UInt<1>(0) - wire T_169233 : UInt<2> - T_169233 := UInt<2>(2) - when in[1].valid : T_169233 := UInt<1>(1) - wire T_169234 : UInt<2> - T_169234 := T_169233 - when in[0].valid : T_169234 := UInt<1>(0) - node T_169235 = gt(UInt<2>(2), last_grant) - node T_169236 = and(in[2].valid, T_169235) - wire T_169237 : UInt<2> - T_169237 := T_169234 - when T_169236 : T_169237 := UInt<2>(2) - node T_169238 = gt(UInt<1>(1), last_grant) - node T_169239 = and(in[1].valid, T_169238) - wire choose : UInt<2> - choose := T_169237 - when T_169239 : choose := UInt<1>(1) - wire T_169240 : UInt<2> - T_169240 := choose - when T_169158 : T_169240 := T_169159 - T_169160 := T_169240 - - node T_169241 = and(out.ready, out.valid) - when T_169241 : last_grant := T_169160 - module LockingRRArbiter_47800 : - input in : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}}[3] - output out : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}} - output chosen : UInt<2> - - wire T_169242 : UInt<3>[3] - T_169242[0] := UInt<3>(0) - T_169242[1] := UInt<3>(1) - T_169242[2] := UInt<3>(2) - wire T_169243 : UInt<2>[2] - T_169243[0] := UInt<2>(0) - T_169243[1] := UInt<2>(1) - wire T_169244 : UInt<2>[3] - T_169244[0] := UInt<2>(1) - T_169244[1] := UInt<2>(2) - T_169244[2] := UInt<2>(3) - wire T_169245 : UInt<2>[2] - T_169245[0] := UInt<2>(2) - T_169245[1] := UInt<2>(3) - wire T_169246 : UInt<2>[1] - T_169246[0] := UInt<2>(3) - wire T_169247 : UInt<3>[3] - T_169247[0] := UInt<3>(0) - T_169247[1] := UInt<3>(1) - T_169247[2] := UInt<3>(2) - wire T_169248 : UInt<2>[2] - T_169248[0] := UInt<2>(0) - T_169248[1] := UInt<2>(1) - wire T_169249 : UInt<2>[3] - T_169249[0] := UInt<2>(1) - T_169249[1] := UInt<2>(2) - T_169249[2] := UInt<2>(3) - wire T_169250 : UInt<2>[2] - T_169250[0] := UInt<2>(2) - T_169250[1] := UInt<2>(3) - wire T_169251 : UInt<2>[1] - T_169251[0] := UInt<2>(3) - wire T_169252 : UInt<3>[3] - T_169252[0] := UInt<3>(0) - T_169252[1] := UInt<3>(1) - T_169252[2] := UInt<3>(2) - wire T_169253 : UInt<2>[2] - T_169253[0] := UInt<2>(0) - T_169253[1] := UInt<2>(1) - wire T_169254 : UInt<2>[3] - T_169254[0] := UInt<2>(1) - T_169254[1] := UInt<2>(2) - T_169254[2] := UInt<2>(3) - wire T_169255 : UInt<2>[2] - T_169255[0] := UInt<2>(2) - T_169255[1] := UInt<2>(3) - wire T_169256 : UInt<2>[1] - T_169256[0] := UInt<2>(3) - wire T_169257 : UInt<3>[3] - T_169257[0] := UInt<3>(0) - T_169257[1] := UInt<3>(1) - T_169257[2] := UInt<3>(2) - wire T_169258 : UInt<2>[2] - T_169258[0] := UInt<2>(0) - T_169258[1] := UInt<2>(1) - wire T_169259 : UInt<2>[3] - T_169259[0] := UInt<2>(1) - T_169259[1] := UInt<2>(2) - T_169259[2] := UInt<2>(3) - wire T_169260 : UInt<2>[2] - T_169260[0] := UInt<2>(2) - T_169260[1] := UInt<2>(3) - wire T_169261 : UInt<2>[1] - T_169261[0] := UInt<2>(3) - wire T_169262 : UInt<3>[3] - T_169262[0] := UInt<3>(0) - T_169262[1] := UInt<3>(1) - T_169262[2] := UInt<3>(2) - wire T_169263 : UInt<2>[2] - T_169263[0] := UInt<2>(0) - T_169263[1] := UInt<2>(1) - wire T_169264 : UInt<2>[3] - T_169264[0] := UInt<2>(1) - T_169264[1] := UInt<2>(2) - T_169264[2] := UInt<2>(3) - wire T_169265 : UInt<2>[2] - T_169265[0] := UInt<2>(2) - T_169265[1] := UInt<2>(3) - wire T_169266 : UInt<2>[1] - T_169266[0] := UInt<2>(3) - reg T_169267 : UInt<1> - onreset T_169267 := UInt<1>(0) - reg T_169268 : UInt<2> - onreset T_169268 := UInt<2>(2) - wire T_169269 : UInt<2> - reg last_grant : UInt<2> - onreset last_grant := UInt<2>(0) - node T_169270 = gt(UInt<1>(0), last_grant) - node T_169271 = and(in[0].valid, T_169270) - node T_169272 = gt(UInt<1>(1), last_grant) - node T_169273 = and(in[1].valid, T_169272) - node T_169274 = gt(UInt<2>(2), last_grant) - node T_169275 = and(in[2].valid, T_169274) - node T_169276 = or(UInt<1>(0), T_169271) - node T_169277 = eq(T_169276, UInt<1>(0)) - node T_169278 = or(UInt<1>(0), T_169271) - node T_169279 = or(T_169278, T_169273) - node T_169280 = eq(T_169279, UInt<1>(0)) - node T_169281 = or(UInt<1>(0), T_169271) - node T_169282 = or(T_169281, T_169273) - node T_169283 = or(T_169282, T_169275) - node T_169284 = eq(T_169283, UInt<1>(0)) - node T_169285 = or(UInt<1>(0), T_169271) - node T_169286 = or(T_169285, T_169273) - node T_169287 = or(T_169286, T_169275) - node T_169288 = or(T_169287, in[0].valid) - node T_169289 = eq(T_169288, UInt<1>(0)) - node T_169290 = or(UInt<1>(0), T_169271) - node T_169291 = or(T_169290, T_169273) - node T_169292 = or(T_169291, T_169275) - node T_169293 = or(T_169292, in[0].valid) - node T_169294 = or(T_169293, in[1].valid) - node T_169295 = eq(T_169294, UInt<1>(0)) - node T_169296 = gt(UInt<1>(0), last_grant) - node T_169297 = and(UInt<1>(1), T_169296) - node T_169298 = or(T_169297, T_169284) - node T_169299 = gt(UInt<1>(1), last_grant) - node T_169300 = and(T_169277, T_169299) - node T_169301 = or(T_169300, T_169289) - node T_169302 = gt(UInt<2>(2), last_grant) - node T_169303 = and(T_169280, T_169302) - node T_169304 = or(T_169303, T_169295) - node T_169305 = eq(T_169268, UInt<1>(0)) - wire T_169306 : UInt<1> - T_169306 := T_169298 - when T_169267 : T_169306 := T_169305 - node T_169307 = and(T_169306, out.ready) - in[0].ready := T_169307 - node T_169308 = eq(T_169268, UInt<1>(1)) - wire T_169309 : UInt<1> - T_169309 := T_169301 - when T_169267 : T_169309 := T_169308 - node T_169310 = and(T_169309, out.ready) - in[1].ready := T_169310 - node T_169311 = eq(T_169268, UInt<2>(2)) - wire T_169312 : UInt<1> - T_169312 := T_169304 - when T_169267 : T_169312 := T_169311 - node T_169313 = and(T_169312, out.ready) - in[2].ready := T_169313 - wire T_169314 : UInt<3>[3] - T_169314[0] := UInt<3>(0) - T_169314[1] := UInt<3>(1) - T_169314[2] := UInt<3>(2) - wire T_169315 : UInt<2>[2] - T_169315[0] := UInt<2>(0) - T_169315[1] := UInt<2>(1) - wire T_169316 : UInt<2>[3] - T_169316[0] := UInt<2>(1) - T_169316[1] := UInt<2>(2) - T_169316[2] := UInt<2>(3) - wire T_169317 : UInt<2>[2] - T_169317[0] := UInt<2>(2) - T_169317[1] := UInt<2>(3) - wire T_169318 : UInt<2>[1] - T_169318[0] := UInt<2>(3) - accessor T_169319 = in[T_169269] - out.valid := T_169319.valid - wire T_169320 : UInt<3>[3] - T_169320[0] := UInt<3>(0) - T_169320[1] := UInt<3>(1) - T_169320[2] := UInt<3>(2) - wire T_169321 : UInt<2>[2] - T_169321[0] := UInt<2>(0) - T_169321[1] := UInt<2>(1) - wire T_169322 : UInt<2>[3] - T_169322[0] := UInt<2>(1) - T_169322[1] := UInt<2>(2) - T_169322[2] := UInt<2>(3) - wire T_169323 : UInt<2>[2] - T_169323[0] := UInt<2>(2) - T_169323[1] := UInt<2>(3) - wire T_169324 : UInt<2>[1] - T_169324[0] := UInt<2>(3) - accessor T_169325 = in[T_169269] - out.bits := T_169325.bits - chosen := T_169269 - reg T_169326 : UInt<2> - onreset T_169326 := UInt<2>(0) - node T_169327 = addw(T_169326, UInt<1>(1)) - - node T_169328 = and(out.ready, out.valid) - when T_169328 : - - - node T_169329 = eq(T_169262[0], out.bits.payload.r_type) - node T_169330 = eq(T_169262[1], out.bits.payload.r_type) - node T_169331 = eq(T_169262[2], out.bits.payload.r_type) - node T_169332 = or(UInt<1>(0), T_169329) - node T_169333 = or(T_169332, T_169330) - node T_169334 = or(T_169333, T_169331) - node T_169335 = and(UInt<1>(1), T_169334) - when T_169335 : - T_169326 := T_169327 - - node T_169336 = eq(T_169267, UInt<1>(0)) - when T_169336 : - T_169267 := UInt<1>(1) - node T_169337 = and(in[0].ready, in[0].valid) - node T_169338 = and(in[1].ready, in[1].valid) - node T_169339 = and(in[2].ready, in[2].valid) - wire T_169340 : UInt<1>[3] - T_169340[0] := T_169337 - T_169340[1] := T_169338 - T_169340[2] := T_169339 - wire T_169341 : UInt<2> - T_169341 := UInt<2>(2) - when T_169340[1] : T_169341 := UInt<1>(1) - wire T_169342 : UInt<2> - T_169342 := T_169341 - when T_169340[0] : T_169342 := UInt<1>(0) - T_169268 := T_169342 - - node T_169343 = eq(T_169327, UInt<1>(0)) - when T_169343 : T_169267 := UInt<1>(0) - wire T_169344 : UInt<2> - T_169344 := UInt<2>(2) - when in[1].valid : T_169344 := UInt<1>(1) - wire T_169345 : UInt<2> - T_169345 := T_169344 - when in[0].valid : T_169345 := UInt<1>(0) - node T_169346 = gt(UInt<2>(2), last_grant) - node T_169347 = and(in[2].valid, T_169346) - wire T_169348 : UInt<2> - T_169348 := T_169345 - when T_169347 : T_169348 := UInt<2>(2) - node T_169349 = gt(UInt<1>(1), last_grant) - node T_169350 = and(in[1].valid, T_169349) - wire choose : UInt<2> - choose := T_169348 - when T_169350 : choose := UInt<1>(1) - wire T_169351 : UInt<2> - T_169351 := choose - when T_169267 : T_169351 := T_169268 - T_169269 := T_169351 - - node T_169352 = and(out.ready, out.valid) - when T_169352 : last_grant := T_169269 - module RRArbiter : - input in : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {manager_xact_id : UInt<2>}}}[3] - output out : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<2>, dst : UInt<2>}, payload : {manager_xact_id : UInt<2>}}} - output chosen : UInt<2> - - wire T_169353 : UInt<3>[3] - T_169353[0] := UInt<3>(0) - T_169353[1] := UInt<3>(1) - T_169353[2] := UInt<3>(2) - wire T_169354 : UInt<2>[2] - T_169354[0] := UInt<2>(0) - T_169354[1] := UInt<2>(1) - wire T_169355 : UInt<2>[3] - T_169355[0] := UInt<2>(1) - T_169355[1] := UInt<2>(2) - T_169355[2] := UInt<2>(3) - wire T_169356 : UInt<2>[2] - T_169356[0] := UInt<2>(2) - T_169356[1] := UInt<2>(3) - wire T_169357 : UInt<2>[1] - T_169357[0] := UInt<2>(3) - wire T_169358 : UInt<3>[3] - T_169358[0] := UInt<3>(0) - T_169358[1] := UInt<3>(1) - T_169358[2] := UInt<3>(2) - wire T_169359 : UInt<2>[2] - T_169359[0] := UInt<2>(0) - T_169359[1] := UInt<2>(1) - wire T_169360 : UInt<2>[3] - T_169360[0] := UInt<2>(1) - T_169360[1] := UInt<2>(2) - T_169360[2] := UInt<2>(3) - wire T_169361 : UInt<2>[2] - T_169361[0] := UInt<2>(2) - T_169361[1] := UInt<2>(3) - wire T_169362 : UInt<2>[1] - T_169362[0] := UInt<2>(3) - wire T_169363 : UInt<3>[3] - T_169363[0] := UInt<3>(0) - T_169363[1] := UInt<3>(1) - T_169363[2] := UInt<3>(2) - wire T_169364 : UInt<2>[2] - T_169364[0] := UInt<2>(0) - T_169364[1] := UInt<2>(1) - wire T_169365 : UInt<2>[3] - T_169365[0] := UInt<2>(1) - T_169365[1] := UInt<2>(2) - T_169365[2] := UInt<2>(3) - wire T_169366 : UInt<2>[2] - T_169366[0] := UInt<2>(2) - T_169366[1] := UInt<2>(3) - wire T_169367 : UInt<2>[1] - T_169367[0] := UInt<2>(3) - wire T_169368 : UInt<3>[3] - T_169368[0] := UInt<3>(0) - T_169368[1] := UInt<3>(1) - T_169368[2] := UInt<3>(2) - wire T_169369 : UInt<2>[2] - T_169369[0] := UInt<2>(0) - T_169369[1] := UInt<2>(1) - wire T_169370 : UInt<2>[3] - T_169370[0] := UInt<2>(1) - T_169370[1] := UInt<2>(2) - T_169370[2] := UInt<2>(3) - wire T_169371 : UInt<2>[2] - T_169371[0] := UInt<2>(2) - T_169371[1] := UInt<2>(3) - wire T_169372 : UInt<2>[1] - T_169372[0] := UInt<2>(3) - wire T_169373 : UInt<3>[3] - T_169373[0] := UInt<3>(0) - T_169373[1] := UInt<3>(1) - T_169373[2] := UInt<3>(2) - wire T_169374 : UInt<2>[2] - T_169374[0] := UInt<2>(0) - T_169374[1] := UInt<2>(1) - wire T_169375 : UInt<2>[3] - T_169375[0] := UInt<2>(1) - T_169375[1] := UInt<2>(2) - T_169375[2] := UInt<2>(3) - wire T_169376 : UInt<2>[2] - T_169376[0] := UInt<2>(2) - T_169376[1] := UInt<2>(3) - wire T_169377 : UInt<2>[1] - T_169377[0] := UInt<2>(3) - wire T_169378 : UInt<2> - reg T_169379 : UInt<2> - onreset T_169379 := UInt<2>(0) - node T_169380 = gt(UInt<1>(0), T_169379) - node T_169381 = and(in[0].valid, T_169380) - node T_169382 = gt(UInt<1>(1), T_169379) - node T_169383 = and(in[1].valid, T_169382) - node T_169384 = gt(UInt<2>(2), T_169379) - node T_169385 = and(in[2].valid, T_169384) - node T_169386 = or(UInt<1>(0), T_169381) - node T_169387 = eq(T_169386, UInt<1>(0)) - node T_169388 = or(UInt<1>(0), T_169381) - node T_169389 = or(T_169388, T_169383) - node T_169390 = eq(T_169389, UInt<1>(0)) - node T_169391 = or(UInt<1>(0), T_169381) - node T_169392 = or(T_169391, T_169383) - node T_169393 = or(T_169392, T_169385) - node T_169394 = eq(T_169393, UInt<1>(0)) - node T_169395 = or(UInt<1>(0), T_169381) - node T_169396 = or(T_169395, T_169383) - node T_169397 = or(T_169396, T_169385) - node T_169398 = or(T_169397, in[0].valid) - node T_169399 = eq(T_169398, UInt<1>(0)) - node T_169400 = or(UInt<1>(0), T_169381) - node T_169401 = or(T_169400, T_169383) - node T_169402 = or(T_169401, T_169385) - node T_169403 = or(T_169402, in[0].valid) - node T_169404 = or(T_169403, in[1].valid) - node T_169405 = eq(T_169404, UInt<1>(0)) - node T_169406 = gt(UInt<1>(0), T_169379) - node T_169407 = and(UInt<1>(1), T_169406) - node T_169408 = or(T_169407, T_169394) - node T_169409 = gt(UInt<1>(1), T_169379) - node T_169410 = and(T_169387, T_169409) - node T_169411 = or(T_169410, T_169399) - node T_169412 = gt(UInt<2>(2), T_169379) - node T_169413 = and(T_169390, T_169412) - node T_169414 = or(T_169413, T_169405) - node T_169415 = eq(UInt<2>(2), UInt<1>(0)) - wire T_169416 : UInt<1> - T_169416 := T_169408 - when UInt<1>(0) : T_169416 := T_169415 - node T_169417 = and(T_169416, out.ready) - in[0].ready := T_169417 - node T_169418 = eq(UInt<2>(2), UInt<1>(1)) - wire T_169419 : UInt<1> - T_169419 := T_169411 - when UInt<1>(0) : T_169419 := T_169418 - node T_169420 = and(T_169419, out.ready) - in[1].ready := T_169420 - node T_169421 = eq(UInt<2>(2), UInt<2>(2)) - wire T_169422 : UInt<1> - T_169422 := T_169414 - when UInt<1>(0) : T_169422 := T_169421 - node T_169423 = and(T_169422, out.ready) - in[2].ready := T_169423 - wire T_169424 : UInt<3>[3] - T_169424[0] := UInt<3>(0) - T_169424[1] := UInt<3>(1) - T_169424[2] := UInt<3>(2) - wire T_169425 : UInt<2>[2] - T_169425[0] := UInt<2>(0) - T_169425[1] := UInt<2>(1) - wire T_169426 : UInt<2>[3] - T_169426[0] := UInt<2>(1) - T_169426[1] := UInt<2>(2) - T_169426[2] := UInt<2>(3) - wire T_169427 : UInt<2>[2] - T_169427[0] := UInt<2>(2) - T_169427[1] := UInt<2>(3) - wire T_169428 : UInt<2>[1] - T_169428[0] := UInt<2>(3) - accessor T_169429 = in[T_169378] - out.valid := T_169429.valid - wire T_169430 : UInt<3>[3] - T_169430[0] := UInt<3>(0) - T_169430[1] := UInt<3>(1) - T_169430[2] := UInt<3>(2) - wire T_169431 : UInt<2>[2] - T_169431[0] := UInt<2>(0) - T_169431[1] := UInt<2>(1) - wire T_169432 : UInt<2>[3] - T_169432[0] := UInt<2>(1) - T_169432[1] := UInt<2>(2) - T_169432[2] := UInt<2>(3) - wire T_169433 : UInt<2>[2] - T_169433[0] := UInt<2>(2) - T_169433[1] := UInt<2>(3) - wire T_169434 : UInt<2>[1] - T_169434[0] := UInt<2>(3) - accessor T_169435 = in[T_169378] - out.bits := T_169435.bits - chosen := T_169378 - wire T_169436 : UInt<2> - T_169436 := UInt<2>(2) - when in[1].valid : T_169436 := UInt<1>(1) - wire T_169437 : UInt<2> - T_169437 := T_169436 - when in[0].valid : T_169437 := UInt<1>(0) - node T_169438 = gt(UInt<2>(2), T_169379) - node T_169439 = and(in[2].valid, T_169438) - wire T_169440 : UInt<2> - T_169440 := T_169437 - when T_169439 : T_169440 := UInt<2>(2) - node T_169441 = gt(UInt<1>(1), T_169379) - node T_169442 = and(in[1].valid, T_169441) - wire T_169443 : UInt<2> - T_169443 := T_169440 - when T_169442 : T_169443 := UInt<1>(1) - wire T_169444 : UInt<2> - T_169444 := T_169443 - when UInt<1>(0) : T_169444 := UInt<2>(2) - T_169378 := T_169444 - - node T_169445 = and(out.ready, out.valid) - when T_169445 : T_169379 := T_169378 - module RocketChipTileLinkArbiter : - input clients : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}, flip probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>}}, release : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}}[3] - input managers : {flip acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>, client_id : UInt<2>}}, grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>, client_id : UInt<2>}}, flip finish : {flip ready : UInt<1>, valid : UInt<1>, bits : {manager_xact_id : UInt<2>}}, probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>, client_id : UInt<2>}}, flip release : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>, client_id : UInt<2>}}}[1] - - wire T_169446 : UInt<3>[3] - T_169446[0] := UInt<3>(0) - T_169446[1] := UInt<3>(1) - T_169446[2] := UInt<3>(2) - wire T_169447 : UInt<2>[2] - T_169447[0] := UInt<2>(0) - T_169447[1] := UInt<2>(1) - wire T_169448 : UInt<2>[3] - T_169448[0] := UInt<2>(1) - T_169448[1] := UInt<2>(2) - T_169448[2] := UInt<2>(3) - wire T_169449 : UInt<2>[2] - T_169449[0] := UInt<2>(2) - T_169449[1] := UInt<2>(3) - wire T_169450 : UInt<2>[1] - T_169450[0] := UInt<2>(3) - wire T_169451 : UInt<3>[3] - T_169451[0] := UInt<3>(0) - T_169451[1] := UInt<3>(1) - T_169451[2] := UInt<3>(2) - wire T_169452 : UInt<2>[2] - T_169452[0] := UInt<2>(0) - T_169452[1] := UInt<2>(1) - wire T_169453 : UInt<2>[3] - T_169453[0] := UInt<2>(1) - T_169453[1] := UInt<2>(2) - T_169453[2] := UInt<2>(3) - wire T_169454 : UInt<2>[2] - T_169454[0] := UInt<2>(2) - T_169454[1] := UInt<2>(3) - wire T_169455 : UInt<2>[1] - T_169455[0] := UInt<2>(3) - wire T_169456 : UInt<3>[3] - T_169456[0] := UInt<3>(0) - T_169456[1] := UInt<3>(1) - T_169456[2] := UInt<3>(2) - wire T_169457 : UInt<2>[2] - T_169457[0] := UInt<2>(0) - T_169457[1] := UInt<2>(1) - wire T_169458 : UInt<2>[3] - T_169458[0] := UInt<2>(1) - T_169458[1] := UInt<2>(2) - T_169458[2] := UInt<2>(3) - wire T_169459 : UInt<2>[2] - T_169459[0] := UInt<2>(2) - T_169459[1] := UInt<2>(3) - wire T_169460 : UInt<2>[1] - T_169460[0] := UInt<2>(3) - wire T_169461 : UInt<3>[3] - T_169461[0] := UInt<3>(0) - T_169461[1] := UInt<3>(1) - T_169461[2] := UInt<3>(2) - wire T_169462 : UInt<2>[2] - T_169462[0] := UInt<2>(0) - T_169462[1] := UInt<2>(1) - wire T_169463 : UInt<2>[3] - T_169463[0] := UInt<2>(1) - T_169463[1] := UInt<2>(2) - T_169463[2] := UInt<2>(3) - wire T_169464 : UInt<2>[2] - T_169464[0] := UInt<2>(2) - T_169464[1] := UInt<2>(3) - wire T_169465 : UInt<2>[1] - T_169465[0] := UInt<2>(3) - wire T_169466 : UInt<3>[3] - T_169466[0] := UInt<3>(0) - T_169466[1] := UInt<3>(1) - T_169466[2] := UInt<3>(2) - wire T_169467 : UInt<2>[2] - T_169467[0] := UInt<2>(0) - T_169467[1] := UInt<2>(1) - wire T_169468 : UInt<2>[3] - T_169468[0] := UInt<2>(1) - T_169468[1] := UInt<2>(2) - T_169468[2] := UInt<2>(3) - wire T_169469 : UInt<2>[2] - T_169469[0] := UInt<2>(2) - T_169469[1] := UInt<2>(3) - wire T_169470 : UInt<2>[1] - T_169470[0] := UInt<2>(3) - wire T_169471 : UInt<3>[3] - T_169471[0] := UInt<3>(0) - T_169471[1] := UInt<3>(1) - T_169471[2] := UInt<3>(2) - wire T_169472 : UInt<2>[2] - T_169472[0] := UInt<2>(0) - T_169472[1] := UInt<2>(1) - wire T_169473 : UInt<2>[3] - T_169473[0] := UInt<2>(1) - T_169473[1] := UInt<2>(2) - T_169473[2] := UInt<2>(3) - wire T_169474 : UInt<2>[2] - T_169474[0] := UInt<2>(2) - T_169474[1] := UInt<2>(3) - wire T_169475 : UInt<2>[1] - T_169475[0] := UInt<2>(3) - wire T_169476 : UInt<3>[3] - T_169476[0] := UInt<3>(0) - T_169476[1] := UInt<3>(1) - T_169476[2] := UInt<3>(2) - wire T_169477 : UInt<2>[2] - T_169477[0] := UInt<2>(0) - T_169477[1] := UInt<2>(1) - wire T_169478 : UInt<2>[3] - T_169478[0] := UInt<2>(1) - T_169478[1] := UInt<2>(2) - T_169478[2] := UInt<2>(3) - wire T_169479 : UInt<2>[2] - T_169479[0] := UInt<2>(2) - T_169479[1] := UInt<2>(3) - wire T_169480 : UInt<2>[1] - T_169480[0] := UInt<2>(3) - wire T_169481 : UInt<3>[3] - T_169481[0] := UInt<3>(0) - T_169481[1] := UInt<3>(1) - T_169481[2] := UInt<3>(2) - wire T_169482 : UInt<2>[2] - T_169482[0] := UInt<2>(0) - T_169482[1] := UInt<2>(1) - wire T_169483 : UInt<2>[3] - T_169483[0] := UInt<2>(1) - T_169483[1] := UInt<2>(2) - T_169483[2] := UInt<2>(3) - wire T_169484 : UInt<2>[2] - T_169484[0] := UInt<2>(2) - T_169484[1] := UInt<2>(3) - wire T_169485 : UInt<2>[1] - T_169485[0] := UInt<2>(3) - wire T_169486 : UInt<3>[3] - T_169486[0] := UInt<3>(0) - T_169486[1] := UInt<3>(1) - T_169486[2] := UInt<3>(2) - wire T_169487 : UInt<2>[2] - T_169487[0] := UInt<2>(0) - T_169487[1] := UInt<2>(1) - wire T_169488 : UInt<2>[3] - T_169488[0] := UInt<2>(1) - T_169488[1] := UInt<2>(2) - T_169488[2] := UInt<2>(3) - wire T_169489 : UInt<2>[2] - T_169489[0] := UInt<2>(2) - T_169489[1] := UInt<2>(3) - wire T_169490 : UInt<2>[1] - T_169490[0] := UInt<2>(3) - wire T_169491 : UInt<3>[3] - T_169491[0] := UInt<3>(0) - T_169491[1] := UInt<3>(1) - T_169491[2] := UInt<3>(2) - wire T_169492 : UInt<2>[2] - T_169492[0] := UInt<2>(0) - T_169492[1] := UInt<2>(1) - wire T_169493 : UInt<2>[3] - T_169493[0] := UInt<2>(1) - T_169493[1] := UInt<2>(2) - T_169493[2] := UInt<2>(3) - wire T_169494 : UInt<2>[2] - T_169494[0] := UInt<2>(2) - T_169494[1] := UInt<2>(3) - wire T_169495 : UInt<2>[1] - T_169495[0] := UInt<2>(3) - wire T_169496 : UInt<3>[3] - T_169496[0] := UInt<3>(0) - T_169496[1] := UInt<3>(1) - T_169496[2] := UInt<3>(2) - wire T_169497 : UInt<2>[2] - T_169497[0] := UInt<2>(0) - T_169497[1] := UInt<2>(1) - wire T_169498 : UInt<2>[3] - T_169498[0] := UInt<2>(1) - T_169498[1] := UInt<2>(2) - T_169498[2] := UInt<2>(3) - wire T_169499 : UInt<2>[2] - T_169499[0] := UInt<2>(2) - T_169499[1] := UInt<2>(3) - wire T_169500 : UInt<2>[1] - T_169500[0] := UInt<2>(3) - wire T_169501 : UInt<3>[3] - T_169501[0] := UInt<3>(0) - T_169501[1] := UInt<3>(1) - T_169501[2] := UInt<3>(2) - wire T_169502 : UInt<2>[2] - T_169502[0] := UInt<2>(0) - T_169502[1] := UInt<2>(1) - wire T_169503 : UInt<2>[3] - T_169503[0] := UInt<2>(1) - T_169503[1] := UInt<2>(2) - T_169503[2] := UInt<2>(3) - wire T_169504 : UInt<2>[2] - T_169504[0] := UInt<2>(2) - T_169504[1] := UInt<2>(3) - wire T_169505 : UInt<2>[1] - T_169505[0] := UInt<2>(3) - wire T_169506 : UInt<3>[3] - T_169506[0] := UInt<3>(0) - T_169506[1] := UInt<3>(1) - T_169506[2] := UInt<3>(2) - wire T_169507 : UInt<2>[2] - T_169507[0] := UInt<2>(0) - T_169507[1] := UInt<2>(1) - wire T_169508 : UInt<2>[3] - T_169508[0] := UInt<2>(1) - T_169508[1] := UInt<2>(2) - T_169508[2] := UInt<2>(3) - wire T_169509 : UInt<2>[2] - T_169509[0] := UInt<2>(2) - T_169509[1] := UInt<2>(3) - wire T_169510 : UInt<2>[1] - T_169510[0] := UInt<2>(3) - wire T_169511 : UInt<3>[3] - T_169511[0] := UInt<3>(0) - T_169511[1] := UInt<3>(1) - T_169511[2] := UInt<3>(2) - wire T_169512 : UInt<2>[2] - T_169512[0] := UInt<2>(0) - T_169512[1] := UInt<2>(1) - wire T_169513 : UInt<2>[3] - T_169513[0] := UInt<2>(1) - T_169513[1] := UInt<2>(2) - T_169513[2] := UInt<2>(3) - wire T_169514 : UInt<2>[2] - T_169514[0] := UInt<2>(2) - T_169514[1] := UInt<2>(3) - wire T_169515 : UInt<2>[1] - T_169515[0] := UInt<2>(3) - wire T_169516 : UInt<3>[3] - T_169516[0] := UInt<3>(0) - T_169516[1] := UInt<3>(1) - T_169516[2] := UInt<3>(2) - wire T_169517 : UInt<2>[2] - T_169517[0] := UInt<2>(0) - T_169517[1] := UInt<2>(1) - wire T_169518 : UInt<2>[3] - T_169518[0] := UInt<2>(1) - T_169518[1] := UInt<2>(2) - T_169518[2] := UInt<2>(3) - wire T_169519 : UInt<2>[2] - T_169519[0] := UInt<2>(2) - T_169519[1] := UInt<2>(3) - wire T_169520 : UInt<2>[1] - T_169520[0] := UInt<2>(3) - wire T_169521 : UInt<3>[3] - T_169521[0] := UInt<3>(0) - T_169521[1] := UInt<3>(1) - T_169521[2] := UInt<3>(2) - wire T_169522 : UInt<2>[2] - T_169522[0] := UInt<2>(0) - T_169522[1] := UInt<2>(1) - wire T_169523 : UInt<2>[3] - T_169523[0] := UInt<2>(1) - T_169523[1] := UInt<2>(2) - T_169523[2] := UInt<2>(3) - wire T_169524 : UInt<2>[2] - T_169524[0] := UInt<2>(2) - T_169524[1] := UInt<2>(3) - wire T_169525 : UInt<2>[1] - T_169525[0] := UInt<2>(3) - wire T_169526 : UInt<3>[3] - T_169526[0] := UInt<3>(0) - T_169526[1] := UInt<3>(1) - T_169526[2] := UInt<3>(2) - wire T_169527 : UInt<2>[2] - T_169527[0] := UInt<2>(0) - T_169527[1] := UInt<2>(1) - wire T_169528 : UInt<2>[3] - T_169528[0] := UInt<2>(1) - T_169528[1] := UInt<2>(2) - T_169528[2] := UInt<2>(3) - wire T_169529 : UInt<2>[2] - T_169529[0] := UInt<2>(2) - T_169529[1] := UInt<2>(3) - wire T_169530 : UInt<2>[1] - T_169530[0] := UInt<2>(3) - wire T_169531 : UInt<3>[3] - T_169531[0] := UInt<3>(0) - T_169531[1] := UInt<3>(1) - T_169531[2] := UInt<3>(2) - wire T_169532 : UInt<2>[2] - T_169532[0] := UInt<2>(0) - T_169532[1] := UInt<2>(1) - wire T_169533 : UInt<2>[3] - T_169533[0] := UInt<2>(1) - T_169533[1] := UInt<2>(2) - T_169533[2] := UInt<2>(3) - wire T_169534 : UInt<2>[2] - T_169534[0] := UInt<2>(2) - T_169534[1] := UInt<2>(3) - wire T_169535 : UInt<2>[1] - T_169535[0] := UInt<2>(3) - wire T_169536 : UInt<3>[3] - T_169536[0] := UInt<3>(0) - T_169536[1] := UInt<3>(1) - T_169536[2] := UInt<3>(2) - wire T_169537 : UInt<2>[2] - T_169537[0] := UInt<2>(0) - T_169537[1] := UInt<2>(1) - wire T_169538 : UInt<2>[3] - T_169538[0] := UInt<2>(1) - T_169538[1] := UInt<2>(2) - T_169538[2] := UInt<2>(3) - wire T_169539 : UInt<2>[2] - T_169539[0] := UInt<2>(2) - T_169539[1] := UInt<2>(3) - wire T_169540 : UInt<2>[1] - T_169540[0] := UInt<2>(3) - wire T_169541 : UInt<3>[3] - T_169541[0] := UInt<3>(0) - T_169541[1] := UInt<3>(1) - T_169541[2] := UInt<3>(2) - wire T_169542 : UInt<2>[2] - T_169542[0] := UInt<2>(0) - T_169542[1] := UInt<2>(1) - wire T_169543 : UInt<2>[3] - T_169543[0] := UInt<2>(1) - T_169543[1] := UInt<2>(2) - T_169543[2] := UInt<2>(3) - wire T_169544 : UInt<2>[2] - T_169544[0] := UInt<2>(2) - T_169544[1] := UInt<2>(3) - wire T_169545 : UInt<2>[1] - T_169545[0] := UInt<2>(3) - wire T_169546 : UInt<3>[3] - T_169546[0] := UInt<3>(0) - T_169546[1] := UInt<3>(1) - T_169546[2] := UInt<3>(2) - wire T_169547 : UInt<2>[2] - T_169547[0] := UInt<2>(0) - T_169547[1] := UInt<2>(1) - wire T_169548 : UInt<2>[3] - T_169548[0] := UInt<2>(1) - T_169548[1] := UInt<2>(2) - T_169548[2] := UInt<2>(3) - wire T_169549 : UInt<2>[2] - T_169549[0] := UInt<2>(2) - T_169549[1] := UInt<2>(3) - wire T_169550 : UInt<2>[1] - T_169550[0] := UInt<2>(3) - wire T_169551 : UInt<3>[3] - T_169551[0] := UInt<3>(0) - T_169551[1] := UInt<3>(1) - T_169551[2] := UInt<3>(2) - wire T_169552 : UInt<2>[2] - T_169552[0] := UInt<2>(0) - T_169552[1] := UInt<2>(1) - wire T_169553 : UInt<2>[3] - T_169553[0] := UInt<2>(1) - T_169553[1] := UInt<2>(2) - T_169553[2] := UInt<2>(3) - wire T_169554 : UInt<2>[2] - T_169554[0] := UInt<2>(2) - T_169554[1] := UInt<2>(3) - wire T_169555 : UInt<2>[1] - T_169555[0] := UInt<2>(3) - wire T_169556 : UInt<3>[3] - T_169556[0] := UInt<3>(0) - T_169556[1] := UInt<3>(1) - T_169556[2] := UInt<3>(2) - wire T_169557 : UInt<2>[2] - T_169557[0] := UInt<2>(0) - T_169557[1] := UInt<2>(1) - wire T_169558 : UInt<2>[3] - T_169558[0] := UInt<2>(1) - T_169558[1] := UInt<2>(2) - T_169558[2] := UInt<2>(3) - wire T_169559 : UInt<2>[2] - T_169559[0] := UInt<2>(2) - T_169559[1] := UInt<2>(3) - wire T_169560 : UInt<2>[1] - T_169560[0] := UInt<2>(3) - wire T_169561 : UInt<3>[3] - T_169561[0] := UInt<3>(0) - T_169561[1] := UInt<3>(1) - T_169561[2] := UInt<3>(2) - wire T_169562 : UInt<2>[2] - T_169562[0] := UInt<2>(0) - T_169562[1] := UInt<2>(1) - wire T_169563 : UInt<2>[3] - T_169563[0] := UInt<2>(1) - T_169563[1] := UInt<2>(2) - T_169563[2] := UInt<2>(3) - wire T_169564 : UInt<2>[2] - T_169564[0] := UInt<2>(2) - T_169564[1] := UInt<2>(3) - wire T_169565 : UInt<2>[1] - T_169565[0] := UInt<2>(3) - wire T_169566 : UInt<3>[3] - T_169566[0] := UInt<3>(0) - T_169566[1] := UInt<3>(1) - T_169566[2] := UInt<3>(2) - wire T_169567 : UInt<2>[2] - T_169567[0] := UInt<2>(0) - T_169567[1] := UInt<2>(1) - wire T_169568 : UInt<2>[3] - T_169568[0] := UInt<2>(1) - T_169568[1] := UInt<2>(2) - T_169568[2] := UInt<2>(3) - wire T_169569 : UInt<2>[2] - T_169569[0] := UInt<2>(2) - T_169569[1] := UInt<2>(3) - wire T_169570 : UInt<2>[1] - T_169570[0] := UInt<2>(3) - wire T_169571 : UInt<3>[3] - T_169571[0] := UInt<3>(0) - T_169571[1] := UInt<3>(1) - T_169571[2] := UInt<3>(2) - wire T_169572 : UInt<2>[2] - T_169572[0] := UInt<2>(0) - T_169572[1] := UInt<2>(1) - wire T_169573 : UInt<2>[3] - T_169573[0] := UInt<2>(1) - T_169573[1] := UInt<2>(2) - T_169573[2] := UInt<2>(3) - wire T_169574 : UInt<2>[2] - T_169574[0] := UInt<2>(2) - T_169574[1] := UInt<2>(3) - wire T_169575 : UInt<2>[1] - T_169575[0] := UInt<2>(3) - wire T_169576 : UInt<3>[3] - T_169576[0] := UInt<3>(0) - T_169576[1] := UInt<3>(1) - T_169576[2] := UInt<3>(2) - wire T_169577 : UInt<2>[2] - T_169577[0] := UInt<2>(0) - T_169577[1] := UInt<2>(1) - wire T_169578 : UInt<2>[3] - T_169578[0] := UInt<2>(1) - T_169578[1] := UInt<2>(2) - T_169578[2] := UInt<2>(3) - wire T_169579 : UInt<2>[2] - T_169579[0] := UInt<2>(2) - T_169579[1] := UInt<2>(3) - wire T_169580 : UInt<2>[1] - T_169580[0] := UInt<2>(3) - wire T_169581 : UInt<3>[3] - T_169581[0] := UInt<3>(0) - T_169581[1] := UInt<3>(1) - T_169581[2] := UInt<3>(2) - wire T_169582 : UInt<2>[2] - T_169582[0] := UInt<2>(0) - T_169582[1] := UInt<2>(1) - wire T_169583 : UInt<2>[3] - T_169583[0] := UInt<2>(1) - T_169583[1] := UInt<2>(2) - T_169583[2] := UInt<2>(3) - wire T_169584 : UInt<2>[2] - T_169584[0] := UInt<2>(2) - T_169584[1] := UInt<2>(3) - wire T_169585 : UInt<2>[1] - T_169585[0] := UInt<2>(3) - wire T_169586 : UInt<3>[3] - T_169586[0] := UInt<3>(0) - T_169586[1] := UInt<3>(1) - T_169586[2] := UInt<3>(2) - wire T_169587 : UInt<2>[2] - T_169587[0] := UInt<2>(0) - T_169587[1] := UInt<2>(1) - wire T_169588 : UInt<2>[3] - T_169588[0] := UInt<2>(1) - T_169588[1] := UInt<2>(2) - T_169588[2] := UInt<2>(3) - wire T_169589 : UInt<2>[2] - T_169589[0] := UInt<2>(2) - T_169589[1] := UInt<2>(3) - wire T_169590 : UInt<2>[1] - T_169590[0] := UInt<2>(3) - wire T_169591 : UInt<3>[3] - T_169591[0] := UInt<3>(0) - T_169591[1] := UInt<3>(1) - T_169591[2] := UInt<3>(2) - wire T_169592 : UInt<2>[2] - T_169592[0] := UInt<2>(0) - T_169592[1] := UInt<2>(1) - wire T_169593 : UInt<2>[3] - T_169593[0] := UInt<2>(1) - T_169593[1] := UInt<2>(2) - T_169593[2] := UInt<2>(3) - wire T_169594 : UInt<2>[2] - T_169594[0] := UInt<2>(2) - T_169594[1] := UInt<2>(3) - wire T_169595 : UInt<2>[1] - T_169595[0] := UInt<2>(3) - wire T_169596 : UInt<3>[3] - T_169596[0] := UInt<3>(0) - T_169596[1] := UInt<3>(1) - T_169596[2] := UInt<3>(2) - wire T_169597 : UInt<2>[2] - T_169597[0] := UInt<2>(0) - T_169597[1] := UInt<2>(1) - wire T_169598 : UInt<2>[3] - T_169598[0] := UInt<2>(1) - T_169598[1] := UInt<2>(2) - T_169598[2] := UInt<2>(3) - wire T_169599 : UInt<2>[2] - T_169599[0] := UInt<2>(2) - T_169599[1] := UInt<2>(3) - wire T_169600 : UInt<2>[1] - T_169600[0] := UInt<2>(3) - wire T_169601 : UInt<3>[3] - T_169601[0] := UInt<3>(0) - T_169601[1] := UInt<3>(1) - T_169601[2] := UInt<3>(2) - wire T_169602 : UInt<2>[2] - T_169602[0] := UInt<2>(0) - T_169602[1] := UInt<2>(1) - wire T_169603 : UInt<2>[3] - T_169603[0] := UInt<2>(1) - T_169603[1] := UInt<2>(2) - T_169603[2] := UInt<2>(3) - wire T_169604 : UInt<2>[2] - T_169604[0] := UInt<2>(2) - T_169604[1] := UInt<2>(3) - wire T_169605 : UInt<2>[1] - T_169605[0] := UInt<2>(3) - wire T_169606 : UInt<3>[3] - T_169606[0] := UInt<3>(0) - T_169606[1] := UInt<3>(1) - T_169606[2] := UInt<3>(2) - wire T_169607 : UInt<2>[2] - T_169607[0] := UInt<2>(0) - T_169607[1] := UInt<2>(1) - wire T_169608 : UInt<2>[3] - T_169608[0] := UInt<2>(1) - T_169608[1] := UInt<2>(2) - T_169608[2] := UInt<2>(3) - wire T_169609 : UInt<2>[2] - T_169609[0] := UInt<2>(2) - T_169609[1] := UInt<2>(3) - wire T_169610 : UInt<2>[1] - T_169610[0] := UInt<2>(3) - wire T_169611 : UInt<3>[3] - T_169611[0] := UInt<3>(0) - T_169611[1] := UInt<3>(1) - T_169611[2] := UInt<3>(2) - wire T_169612 : UInt<2>[2] - T_169612[0] := UInt<2>(0) - T_169612[1] := UInt<2>(1) - wire T_169613 : UInt<2>[3] - T_169613[0] := UInt<2>(1) - T_169613[1] := UInt<2>(2) - T_169613[2] := UInt<2>(3) - wire T_169614 : UInt<2>[2] - T_169614[0] := UInt<2>(2) - T_169614[1] := UInt<2>(3) - wire T_169615 : UInt<2>[1] - T_169615[0] := UInt<2>(3) - wire T_169616 : UInt<3>[3] - T_169616[0] := UInt<3>(0) - T_169616[1] := UInt<3>(1) - T_169616[2] := UInt<3>(2) - wire T_169617 : UInt<2>[2] - T_169617[0] := UInt<2>(0) - T_169617[1] := UInt<2>(1) - wire T_169618 : UInt<2>[3] - T_169618[0] := UInt<2>(1) - T_169618[1] := UInt<2>(2) - T_169618[2] := UInt<2>(3) - wire T_169619 : UInt<2>[2] - T_169619[0] := UInt<2>(2) - T_169619[1] := UInt<2>(3) - wire T_169620 : UInt<2>[1] - T_169620[0] := UInt<2>(3) - wire T_169621 : UInt<3>[3] - T_169621[0] := UInt<3>(0) - T_169621[1] := UInt<3>(1) - T_169621[2] := UInt<3>(2) - wire T_169622 : UInt<2>[2] - T_169622[0] := UInt<2>(0) - T_169622[1] := UInt<2>(1) - wire T_169623 : UInt<2>[3] - T_169623[0] := UInt<2>(1) - T_169623[1] := UInt<2>(2) - T_169623[2] := UInt<2>(3) - wire T_169624 : UInt<2>[2] - T_169624[0] := UInt<2>(2) - T_169624[1] := UInt<2>(3) - wire T_169625 : UInt<2>[1] - T_169625[0] := UInt<2>(3) - wire T_169626 : UInt<3>[3] - T_169626[0] := UInt<3>(0) - T_169626[1] := UInt<3>(1) - T_169626[2] := UInt<3>(2) - wire T_169627 : UInt<2>[2] - T_169627[0] := UInt<2>(0) - T_169627[1] := UInt<2>(1) - wire T_169628 : UInt<2>[3] - T_169628[0] := UInt<2>(1) - T_169628[1] := UInt<2>(2) - T_169628[2] := UInt<2>(3) - wire T_169629 : UInt<2>[2] - T_169629[0] := UInt<2>(2) - T_169629[1] := UInt<2>(3) - wire T_169630 : UInt<2>[1] - T_169630[0] := UInt<2>(3) - wire T_169631 : UInt<3>[3] - T_169631[0] := UInt<3>(0) - T_169631[1] := UInt<3>(1) - T_169631[2] := UInt<3>(2) - wire T_169632 : UInt<2>[2] - T_169632[0] := UInt<2>(0) - T_169632[1] := UInt<2>(1) - wire T_169633 : UInt<2>[3] - T_169633[0] := UInt<2>(1) - T_169633[1] := UInt<2>(2) - T_169633[2] := UInt<2>(3) - wire T_169634 : UInt<2>[2] - T_169634[0] := UInt<2>(2) - T_169634[1] := UInt<2>(3) - wire T_169635 : UInt<2>[1] - T_169635[0] := UInt<2>(3) - wire T_169636 : UInt<3>[3] - T_169636[0] := UInt<3>(0) - T_169636[1] := UInt<3>(1) - T_169636[2] := UInt<3>(2) - wire T_169637 : UInt<2>[2] - T_169637[0] := UInt<2>(0) - T_169637[1] := UInt<2>(1) - wire T_169638 : UInt<2>[3] - T_169638[0] := UInt<2>(1) - T_169638[1] := UInt<2>(2) - T_169638[2] := UInt<2>(3) - wire T_169639 : UInt<2>[2] - T_169639[0] := UInt<2>(2) - T_169639[1] := UInt<2>(3) - wire T_169640 : UInt<2>[1] - T_169640[0] := UInt<2>(3) - wire T_169641 : UInt<3>[3] - T_169641[0] := UInt<3>(0) - T_169641[1] := UInt<3>(1) - T_169641[2] := UInt<3>(2) - wire T_169642 : UInt<2>[2] - T_169642[0] := UInt<2>(0) - T_169642[1] := UInt<2>(1) - wire T_169643 : UInt<2>[3] - T_169643[0] := UInt<2>(1) - T_169643[1] := UInt<2>(2) - T_169643[2] := UInt<2>(3) - wire T_169644 : UInt<2>[2] - T_169644[0] := UInt<2>(2) - T_169644[1] := UInt<2>(3) - wire T_169645 : UInt<2>[1] - T_169645[0] := UInt<2>(3) - wire T_169646 : UInt<3>[3] - T_169646[0] := UInt<3>(0) - T_169646[1] := UInt<3>(1) - T_169646[2] := UInt<3>(2) - wire T_169647 : UInt<2>[2] - T_169647[0] := UInt<2>(0) - T_169647[1] := UInt<2>(1) - wire T_169648 : UInt<2>[3] - T_169648[0] := UInt<2>(1) - T_169648[1] := UInt<2>(2) - T_169648[2] := UInt<2>(3) - wire T_169649 : UInt<2>[2] - T_169649[0] := UInt<2>(2) - T_169649[1] := UInt<2>(3) - wire T_169650 : UInt<2>[1] - T_169650[0] := UInt<2>(3) - wire T_169651 : UInt<3>[3] - T_169651[0] := UInt<3>(0) - T_169651[1] := UInt<3>(1) - T_169651[2] := UInt<3>(2) - wire T_169652 : UInt<2>[2] - T_169652[0] := UInt<2>(0) - T_169652[1] := UInt<2>(1) - wire T_169653 : UInt<2>[3] - T_169653[0] := UInt<2>(1) - T_169653[1] := UInt<2>(2) - T_169653[2] := UInt<2>(3) - wire T_169654 : UInt<2>[2] - T_169654[0] := UInt<2>(2) - T_169654[1] := UInt<2>(3) - wire T_169655 : UInt<2>[1] - T_169655[0] := UInt<2>(3) - wire T_169656 : UInt<3>[3] - T_169656[0] := UInt<3>(0) - T_169656[1] := UInt<3>(1) - T_169656[2] := UInt<3>(2) - wire T_169657 : UInt<2>[2] - T_169657[0] := UInt<2>(0) - T_169657[1] := UInt<2>(1) - wire T_169658 : UInt<2>[3] - T_169658[0] := UInt<2>(1) - T_169658[1] := UInt<2>(2) - T_169658[2] := UInt<2>(3) - wire T_169659 : UInt<2>[2] - T_169659[0] := UInt<2>(2) - T_169659[1] := UInt<2>(3) - wire T_169660 : UInt<2>[1] - T_169660[0] := UInt<2>(3) - wire T_169661 : UInt<3>[3] - T_169661[0] := UInt<3>(0) - T_169661[1] := UInt<3>(1) - T_169661[2] := UInt<3>(2) - wire T_169662 : UInt<2>[2] - T_169662[0] := UInt<2>(0) - T_169662[1] := UInt<2>(1) - wire T_169663 : UInt<2>[3] - T_169663[0] := UInt<2>(1) - T_169663[1] := UInt<2>(2) - T_169663[2] := UInt<2>(3) - wire T_169664 : UInt<2>[2] - T_169664[0] := UInt<2>(2) - T_169664[1] := UInt<2>(3) - wire T_169665 : UInt<2>[1] - T_169665[0] := UInt<2>(3) - wire T_169666 : UInt<3>[3] - T_169666[0] := UInt<3>(0) - T_169666[1] := UInt<3>(1) - T_169666[2] := UInt<3>(2) - wire T_169667 : UInt<2>[2] - T_169667[0] := UInt<2>(0) - T_169667[1] := UInt<2>(1) - wire T_169668 : UInt<2>[3] - T_169668[0] := UInt<2>(1) - T_169668[1] := UInt<2>(2) - T_169668[2] := UInt<2>(3) - wire T_169669 : UInt<2>[2] - T_169669[0] := UInt<2>(2) - T_169669[1] := UInt<2>(3) - wire T_169670 : UInt<2>[1] - T_169670[0] := UInt<2>(3) - wire T_169671 : UInt<3>[3] - T_169671[0] := UInt<3>(0) - T_169671[1] := UInt<3>(1) - T_169671[2] := UInt<3>(2) - wire T_169672 : UInt<2>[2] - T_169672[0] := UInt<2>(0) - T_169672[1] := UInt<2>(1) - wire T_169673 : UInt<2>[3] - T_169673[0] := UInt<2>(1) - T_169673[1] := UInt<2>(2) - T_169673[2] := UInt<2>(3) - wire T_169674 : UInt<2>[2] - T_169674[0] := UInt<2>(2) - T_169674[1] := UInt<2>(3) - wire T_169675 : UInt<2>[1] - T_169675[0] := UInt<2>(3) - wire T_169676 : UInt<3>[3] - T_169676[0] := UInt<3>(0) - T_169676[1] := UInt<3>(1) - T_169676[2] := UInt<3>(2) - wire T_169677 : UInt<2>[2] - T_169677[0] := UInt<2>(0) - T_169677[1] := UInt<2>(1) - wire T_169678 : UInt<2>[3] - T_169678[0] := UInt<2>(1) - T_169678[1] := UInt<2>(2) - T_169678[2] := UInt<2>(3) - wire T_169679 : UInt<2>[2] - T_169679[0] := UInt<2>(2) - T_169679[1] := UInt<2>(3) - wire T_169680 : UInt<2>[1] - T_169680[0] := UInt<2>(3) - wire T_169681 : UInt<3>[3] - T_169681[0] := UInt<3>(0) - T_169681[1] := UInt<3>(1) - T_169681[2] := UInt<3>(2) - wire T_169682 : UInt<2>[2] - T_169682[0] := UInt<2>(0) - T_169682[1] := UInt<2>(1) - wire T_169683 : UInt<2>[3] - T_169683[0] := UInt<2>(1) - T_169683[1] := UInt<2>(2) - T_169683[2] := UInt<2>(3) - wire T_169684 : UInt<2>[2] - T_169684[0] := UInt<2>(2) - T_169684[1] := UInt<2>(3) - wire T_169685 : UInt<2>[1] - T_169685[0] := UInt<2>(3) - wire T_169686 : UInt<3>[3] - T_169686[0] := UInt<3>(0) - T_169686[1] := UInt<3>(1) - T_169686[2] := UInt<3>(2) - wire T_169687 : UInt<2>[2] - T_169687[0] := UInt<2>(0) - T_169687[1] := UInt<2>(1) - wire T_169688 : UInt<2>[3] - T_169688[0] := UInt<2>(1) - T_169688[1] := UInt<2>(2) - T_169688[2] := UInt<2>(3) - wire T_169689 : UInt<2>[2] - T_169689[0] := UInt<2>(2) - T_169689[1] := UInt<2>(3) - wire T_169690 : UInt<2>[1] - T_169690[0] := UInt<2>(3) - wire T_169691 : UInt<3>[3] - T_169691[0] := UInt<3>(0) - T_169691[1] := UInt<3>(1) - T_169691[2] := UInt<3>(2) - wire T_169692 : UInt<2>[2] - T_169692[0] := UInt<2>(0) - T_169692[1] := UInt<2>(1) - wire T_169693 : UInt<2>[3] - T_169693[0] := UInt<2>(1) - T_169693[1] := UInt<2>(2) - T_169693[2] := UInt<2>(3) - wire T_169694 : UInt<2>[2] - T_169694[0] := UInt<2>(2) - T_169694[1] := UInt<2>(3) - wire T_169695 : UInt<2>[1] - T_169695[0] := UInt<2>(3) - wire T_169696 : UInt<3>[3] - T_169696[0] := UInt<3>(0) - T_169696[1] := UInt<3>(1) - T_169696[2] := UInt<3>(2) - wire T_169697 : UInt<2>[2] - T_169697[0] := UInt<2>(0) - T_169697[1] := UInt<2>(1) - wire T_169698 : UInt<2>[3] - T_169698[0] := UInt<2>(1) - T_169698[1] := UInt<2>(2) - T_169698[2] := UInt<2>(3) - wire T_169699 : UInt<2>[2] - T_169699[0] := UInt<2>(2) - T_169699[1] := UInt<2>(3) - wire T_169700 : UInt<2>[1] - T_169700[0] := UInt<2>(3) - wire T_169701 : UInt<3>[3] - T_169701[0] := UInt<3>(0) - T_169701[1] := UInt<3>(1) - T_169701[2] := UInt<3>(2) - wire T_169702 : UInt<2>[2] - T_169702[0] := UInt<2>(0) - T_169702[1] := UInt<2>(1) - wire T_169703 : UInt<2>[3] - T_169703[0] := UInt<2>(1) - T_169703[1] := UInt<2>(2) - T_169703[2] := UInt<2>(3) - wire T_169704 : UInt<2>[2] - T_169704[0] := UInt<2>(2) - T_169704[1] := UInt<2>(3) - wire T_169705 : UInt<2>[1] - T_169705[0] := UInt<2>(3) - wire T_169706 : UInt<3>[3] - T_169706[0] := UInt<3>(0) - T_169706[1] := UInt<3>(1) - T_169706[2] := UInt<3>(2) - wire T_169707 : UInt<2>[2] - T_169707[0] := UInt<2>(0) - T_169707[1] := UInt<2>(1) - wire T_169708 : UInt<2>[3] - T_169708[0] := UInt<2>(1) - T_169708[1] := UInt<2>(2) - T_169708[2] := UInt<2>(3) - wire T_169709 : UInt<2>[2] - T_169709[0] := UInt<2>(2) - T_169709[1] := UInt<2>(3) - wire T_169710 : UInt<2>[1] - T_169710[0] := UInt<2>(3) - wire T_169711 : UInt<3>[3] - T_169711[0] := UInt<3>(0) - T_169711[1] := UInt<3>(1) - T_169711[2] := UInt<3>(2) - wire T_169712 : UInt<2>[2] - T_169712[0] := UInt<2>(0) - T_169712[1] := UInt<2>(1) - wire T_169713 : UInt<2>[3] - T_169713[0] := UInt<2>(1) - T_169713[1] := UInt<2>(2) - T_169713[2] := UInt<2>(3) - wire T_169714 : UInt<2>[2] - T_169714[0] := UInt<2>(2) - T_169714[1] := UInt<2>(3) - wire T_169715 : UInt<2>[1] - T_169715[0] := UInt<2>(3) - wire T_169716 : UInt<3>[3] - T_169716[0] := UInt<3>(0) - T_169716[1] := UInt<3>(1) - T_169716[2] := UInt<3>(2) - wire T_169717 : UInt<2>[2] - T_169717[0] := UInt<2>(0) - T_169717[1] := UInt<2>(1) - wire T_169718 : UInt<2>[3] - T_169718[0] := UInt<2>(1) - T_169718[1] := UInt<2>(2) - T_169718[2] := UInt<2>(3) - wire T_169719 : UInt<2>[2] - T_169719[0] := UInt<2>(2) - T_169719[1] := UInt<2>(3) - wire T_169720 : UInt<2>[1] - T_169720[0] := UInt<2>(3) - wire clients : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}, flip probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>}}, release : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}}[3] - clients[0] := T_169721 - clients[1] := T_169722 - clients[2] := T_169723 - wire T_169724 : UInt<3>[3] - T_169724[0] := UInt<3>(0) - T_169724[1] := UInt<3>(1) - T_169724[2] := UInt<3>(2) - wire T_169725 : UInt<2>[2] - T_169725[0] := UInt<2>(0) - T_169725[1] := UInt<2>(1) - wire T_169726 : UInt<2>[3] - T_169726[0] := UInt<2>(1) - T_169726[1] := UInt<2>(2) - T_169726[2] := UInt<2>(3) - wire T_169727 : UInt<2>[2] - T_169727[0] := UInt<2>(2) - T_169727[1] := UInt<2>(3) - wire T_169728 : UInt<2>[1] - T_169728[0] := UInt<2>(3) - wire T_169729 : UInt<3>[3] - T_169729[0] := UInt<3>(0) - T_169729[1] := UInt<3>(1) - T_169729[2] := UInt<3>(2) - wire T_169730 : UInt<2>[2] - T_169730[0] := UInt<2>(0) - T_169730[1] := UInt<2>(1) - wire T_169731 : UInt<2>[3] - T_169731[0] := UInt<2>(1) - T_169731[1] := UInt<2>(2) - T_169731[2] := UInt<2>(3) - wire T_169732 : UInt<2>[2] - T_169732[0] := UInt<2>(2) - T_169732[1] := UInt<2>(3) - wire T_169733 : UInt<2>[1] - T_169733[0] := UInt<2>(3) - wire T_169734 : UInt<3>[3] - T_169734[0] := UInt<3>(0) - T_169734[1] := UInt<3>(1) - T_169734[2] := UInt<3>(2) - wire T_169735 : UInt<2>[2] - T_169735[0] := UInt<2>(0) - T_169735[1] := UInt<2>(1) - wire T_169736 : UInt<2>[3] - T_169736[0] := UInt<2>(1) - T_169736[1] := UInt<2>(2) - T_169736[2] := UInt<2>(3) - wire T_169737 : UInt<2>[2] - T_169737[0] := UInt<2>(2) - T_169737[1] := UInt<2>(3) - wire T_169738 : UInt<2>[1] - T_169738[0] := UInt<2>(3) - wire T_169739 : UInt<3>[3] - T_169739[0] := UInt<3>(0) - T_169739[1] := UInt<3>(1) - T_169739[2] := UInt<3>(2) - wire T_169740 : UInt<2>[2] - T_169740[0] := UInt<2>(0) - T_169740[1] := UInt<2>(1) - wire T_169741 : UInt<2>[3] - T_169741[0] := UInt<2>(1) - T_169741[1] := UInt<2>(2) - T_169741[2] := UInt<2>(3) - wire T_169742 : UInt<2>[2] - T_169742[0] := UInt<2>(2) - T_169742[1] := UInt<2>(3) - wire T_169743 : UInt<2>[1] - T_169743[0] := UInt<2>(3) - wire T_169744 : UInt<3>[3] - T_169744[0] := UInt<3>(0) - T_169744[1] := UInt<3>(1) - T_169744[2] := UInt<3>(2) - wire T_169745 : UInt<2>[2] - T_169745[0] := UInt<2>(0) - T_169745[1] := UInt<2>(1) - wire T_169746 : UInt<2>[3] - T_169746[0] := UInt<2>(1) - T_169746[1] := UInt<2>(2) - T_169746[2] := UInt<2>(3) - wire T_169747 : UInt<2>[2] - T_169747[0] := UInt<2>(2) - T_169747[1] := UInt<2>(3) - wire T_169748 : UInt<2>[1] - T_169748[0] := UInt<2>(3) - wire T_169749 : UInt<3>[3] - T_169749[0] := UInt<3>(0) - T_169749[1] := UInt<3>(1) - T_169749[2] := UInt<3>(2) - wire T_169750 : UInt<2>[2] - T_169750[0] := UInt<2>(0) - T_169750[1] := UInt<2>(1) - wire T_169751 : UInt<2>[3] - T_169751[0] := UInt<2>(1) - T_169751[1] := UInt<2>(2) - T_169751[2] := UInt<2>(3) - wire T_169752 : UInt<2>[2] - T_169752[0] := UInt<2>(2) - T_169752[1] := UInt<2>(3) - wire T_169753 : UInt<2>[1] - T_169753[0] := UInt<2>(3) - wire T_169754 : UInt<3>[3] - T_169754[0] := UInt<3>(0) - T_169754[1] := UInt<3>(1) - T_169754[2] := UInt<3>(2) - wire T_169755 : UInt<2>[2] - T_169755[0] := UInt<2>(0) - T_169755[1] := UInt<2>(1) - wire T_169756 : UInt<2>[3] - T_169756[0] := UInt<2>(1) - T_169756[1] := UInt<2>(2) - T_169756[2] := UInt<2>(3) - wire T_169757 : UInt<2>[2] - T_169757[0] := UInt<2>(2) - T_169757[1] := UInt<2>(3) - wire T_169758 : UInt<2>[1] - T_169758[0] := UInt<2>(3) - wire T_169759 : UInt<3>[3] - T_169759[0] := UInt<3>(0) - T_169759[1] := UInt<3>(1) - T_169759[2] := UInt<3>(2) - wire T_169760 : UInt<2>[2] - T_169760[0] := UInt<2>(0) - T_169760[1] := UInt<2>(1) - wire T_169761 : UInt<2>[3] - T_169761[0] := UInt<2>(1) - T_169761[1] := UInt<2>(2) - T_169761[2] := UInt<2>(3) - wire T_169762 : UInt<2>[2] - T_169762[0] := UInt<2>(2) - T_169762[1] := UInt<2>(3) - wire T_169763 : UInt<2>[1] - T_169763[0] := UInt<2>(3) - wire T_169764 : UInt<3>[3] - T_169764[0] := UInt<3>(0) - T_169764[1] := UInt<3>(1) - T_169764[2] := UInt<3>(2) - wire T_169765 : UInt<2>[2] - T_169765[0] := UInt<2>(0) - T_169765[1] := UInt<2>(1) - wire T_169766 : UInt<2>[3] - T_169766[0] := UInt<2>(1) - T_169766[1] := UInt<2>(2) - T_169766[2] := UInt<2>(3) - wire T_169767 : UInt<2>[2] - T_169767[0] := UInt<2>(2) - T_169767[1] := UInt<2>(3) - wire T_169768 : UInt<2>[1] - T_169768[0] := UInt<2>(3) - wire T_169769 : UInt<3>[3] - T_169769[0] := UInt<3>(0) - T_169769[1] := UInt<3>(1) - T_169769[2] := UInt<3>(2) - wire T_169770 : UInt<2>[2] - T_169770[0] := UInt<2>(0) - T_169770[1] := UInt<2>(1) - wire T_169771 : UInt<2>[3] - T_169771[0] := UInt<2>(1) - T_169771[1] := UInt<2>(2) - T_169771[2] := UInt<2>(3) - wire T_169772 : UInt<2>[2] - T_169772[0] := UInt<2>(2) - T_169772[1] := UInt<2>(3) - wire T_169773 : UInt<2>[1] - T_169773[0] := UInt<2>(3) - wire T_169774 : UInt<3>[3] - T_169774[0] := UInt<3>(0) - T_169774[1] := UInt<3>(1) - T_169774[2] := UInt<3>(2) - wire T_169775 : UInt<2>[2] - T_169775[0] := UInt<2>(0) - T_169775[1] := UInt<2>(1) - wire T_169776 : UInt<2>[3] - T_169776[0] := UInt<2>(1) - T_169776[1] := UInt<2>(2) - T_169776[2] := UInt<2>(3) - wire T_169777 : UInt<2>[2] - T_169777[0] := UInt<2>(2) - T_169777[1] := UInt<2>(3) - wire T_169778 : UInt<2>[1] - T_169778[0] := UInt<2>(3) - wire T_169779 : UInt<3>[3] - T_169779[0] := UInt<3>(0) - T_169779[1] := UInt<3>(1) - T_169779[2] := UInt<3>(2) - wire T_169780 : UInt<2>[2] - T_169780[0] := UInt<2>(0) - T_169780[1] := UInt<2>(1) - wire T_169781 : UInt<2>[3] - T_169781[0] := UInt<2>(1) - T_169781[1] := UInt<2>(2) - T_169781[2] := UInt<2>(3) - wire T_169782 : UInt<2>[2] - T_169782[0] := UInt<2>(2) - T_169782[1] := UInt<2>(3) - wire T_169783 : UInt<2>[1] - T_169783[0] := UInt<2>(3) - wire T_169784 : UInt<3>[3] - T_169784[0] := UInt<3>(0) - T_169784[1] := UInt<3>(1) - T_169784[2] := UInt<3>(2) - wire T_169785 : UInt<2>[2] - T_169785[0] := UInt<2>(0) - T_169785[1] := UInt<2>(1) - wire T_169786 : UInt<2>[3] - T_169786[0] := UInt<2>(1) - T_169786[1] := UInt<2>(2) - T_169786[2] := UInt<2>(3) - wire T_169787 : UInt<2>[2] - T_169787[0] := UInt<2>(2) - T_169787[1] := UInt<2>(3) - wire T_169788 : UInt<2>[1] - T_169788[0] := UInt<2>(3) - wire T_169789 : UInt<3>[3] - T_169789[0] := UInt<3>(0) - T_169789[1] := UInt<3>(1) - T_169789[2] := UInt<3>(2) - wire T_169790 : UInt<2>[2] - T_169790[0] := UInt<2>(0) - T_169790[1] := UInt<2>(1) - wire T_169791 : UInt<2>[3] - T_169791[0] := UInt<2>(1) - T_169791[1] := UInt<2>(2) - T_169791[2] := UInt<2>(3) - wire T_169792 : UInt<2>[2] - T_169792[0] := UInt<2>(2) - T_169792[1] := UInt<2>(3) - wire T_169793 : UInt<2>[1] - T_169793[0] := UInt<2>(3) - wire T_169794 : UInt<3>[3] - T_169794[0] := UInt<3>(0) - T_169794[1] := UInt<3>(1) - T_169794[2] := UInt<3>(2) - wire T_169795 : UInt<2>[2] - T_169795[0] := UInt<2>(0) - T_169795[1] := UInt<2>(1) - wire T_169796 : UInt<2>[3] - T_169796[0] := UInt<2>(1) - T_169796[1] := UInt<2>(2) - T_169796[2] := UInt<2>(3) - wire T_169797 : UInt<2>[2] - T_169797[0] := UInt<2>(2) - T_169797[1] := UInt<2>(3) - wire T_169798 : UInt<2>[1] - T_169798[0] := UInt<2>(3) - wire T_169799 : UInt<3>[3] - T_169799[0] := UInt<3>(0) - T_169799[1] := UInt<3>(1) - T_169799[2] := UInt<3>(2) - wire T_169800 : UInt<2>[2] - T_169800[0] := UInt<2>(0) - T_169800[1] := UInt<2>(1) - wire T_169801 : UInt<2>[3] - T_169801[0] := UInt<2>(1) - T_169801[1] := UInt<2>(2) - T_169801[2] := UInt<2>(3) - wire T_169802 : UInt<2>[2] - T_169802[0] := UInt<2>(2) - T_169802[1] := UInt<2>(3) - wire T_169803 : UInt<2>[1] - T_169803[0] := UInt<2>(3) - wire T_169804 : UInt<3>[3] - T_169804[0] := UInt<3>(0) - T_169804[1] := UInt<3>(1) - T_169804[2] := UInt<3>(2) - wire T_169805 : UInt<2>[2] - T_169805[0] := UInt<2>(0) - T_169805[1] := UInt<2>(1) - wire T_169806 : UInt<2>[3] - T_169806[0] := UInt<2>(1) - T_169806[1] := UInt<2>(2) - T_169806[2] := UInt<2>(3) - wire T_169807 : UInt<2>[2] - T_169807[0] := UInt<2>(2) - T_169807[1] := UInt<2>(3) - wire T_169808 : UInt<2>[1] - T_169808[0] := UInt<2>(3) - wire T_169809 : UInt<3>[3] - T_169809[0] := UInt<3>(0) - T_169809[1] := UInt<3>(1) - T_169809[2] := UInt<3>(2) - wire T_169810 : UInt<2>[2] - T_169810[0] := UInt<2>(0) - T_169810[1] := UInt<2>(1) - wire T_169811 : UInt<2>[3] - T_169811[0] := UInt<2>(1) - T_169811[1] := UInt<2>(2) - T_169811[2] := UInt<2>(3) - wire T_169812 : UInt<2>[2] - T_169812[0] := UInt<2>(2) - T_169812[1] := UInt<2>(3) - wire T_169813 : UInt<2>[1] - T_169813[0] := UInt<2>(3) - wire T_169814 : UInt<3>[3] - T_169814[0] := UInt<3>(0) - T_169814[1] := UInt<3>(1) - T_169814[2] := UInt<3>(2) - wire T_169815 : UInt<2>[2] - T_169815[0] := UInt<2>(0) - T_169815[1] := UInt<2>(1) - wire T_169816 : UInt<2>[3] - T_169816[0] := UInt<2>(1) - T_169816[1] := UInt<2>(2) - T_169816[2] := UInt<2>(3) - wire T_169817 : UInt<2>[2] - T_169817[0] := UInt<2>(2) - T_169817[1] := UInt<2>(3) - wire T_169818 : UInt<2>[1] - T_169818[0] := UInt<2>(3) - wire T_169819 : UInt<3>[3] - T_169819[0] := UInt<3>(0) - T_169819[1] := UInt<3>(1) - T_169819[2] := UInt<3>(2) - wire T_169820 : UInt<2>[2] - T_169820[0] := UInt<2>(0) - T_169820[1] := UInt<2>(1) - wire T_169821 : UInt<2>[3] - T_169821[0] := UInt<2>(1) - T_169821[1] := UInt<2>(2) - T_169821[2] := UInt<2>(3) - wire T_169822 : UInt<2>[2] - T_169822[0] := UInt<2>(2) - T_169822[1] := UInt<2>(3) - wire T_169823 : UInt<2>[1] - T_169823[0] := UInt<2>(3) - wire T_169824 : UInt<3>[3] - T_169824[0] := UInt<3>(0) - T_169824[1] := UInt<3>(1) - T_169824[2] := UInt<3>(2) - wire T_169825 : UInt<2>[2] - T_169825[0] := UInt<2>(0) - T_169825[1] := UInt<2>(1) - wire T_169826 : UInt<2>[3] - T_169826[0] := UInt<2>(1) - T_169826[1] := UInt<2>(2) - T_169826[2] := UInt<2>(3) - wire T_169827 : UInt<2>[2] - T_169827[0] := UInt<2>(2) - T_169827[1] := UInt<2>(3) - wire T_169828 : UInt<2>[1] - T_169828[0] := UInt<2>(3) - wire T_169829 : UInt<3>[3] - T_169829[0] := UInt<3>(0) - T_169829[1] := UInt<3>(1) - T_169829[2] := UInt<3>(2) - wire T_169830 : UInt<2>[2] - T_169830[0] := UInt<2>(0) - T_169830[1] := UInt<2>(1) - wire T_169831 : UInt<2>[3] - T_169831[0] := UInt<2>(1) - T_169831[1] := UInt<2>(2) - T_169831[2] := UInt<2>(3) - wire T_169832 : UInt<2>[2] - T_169832[0] := UInt<2>(2) - T_169832[1] := UInt<2>(3) - wire T_169833 : UInt<2>[1] - T_169833[0] := UInt<2>(3) - wire managers : {flip acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>, client_id : UInt<2>}}, grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>, client_id : UInt<2>}}, flip finish : {flip ready : UInt<1>, valid : UInt<1>, bits : {manager_xact_id : UInt<2>}}, probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>, client_id : UInt<2>}}, flip release : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>, client_id : UInt<2>}}}[1] - managers[0] := T_169834 - inst T_169835 of ClientTileLinkNetworkPort - inst T_169836 of TileLinkEnqueuer - T_169835.client <> clients[0] - T_169836.client <> T_169835.network - inst T_169837 of ClientTileLinkNetworkPort_26210 - inst T_169838 of TileLinkEnqueuer_31615 - T_169837.client <> clients[1] - T_169838.client <> T_169837.network - inst T_169839 of ClientTileLinkNetworkPort_35756 - inst T_169840 of TileLinkEnqueuer_41161 - T_169839.client <> clients[2] - T_169840.client <> T_169839.network - inst T_169841 of ManagerTileLinkNetworkPort - inst T_169842 of TileLinkEnqueuer_46546 - managers[0] <> T_169841.manager - T_169841.network <> T_169842.manager - inst T_169843 of LockingRRArbiter - T_169843.in[0].valid := T_169836.manager.acquire.valid - T_169843.in[0].bits := T_169836.manager.acquire.bits - T_169843.in[0].bits.payload.client_xact_id := T_169836.manager.acquire.bits.payload.client_xact_id - T_169836.manager.acquire.ready := T_169843.in[0].ready - T_169843.in[1].valid := T_169838.manager.acquire.valid - T_169843.in[1].bits := T_169838.manager.acquire.bits - T_169843.in[1].bits.payload.client_xact_id := T_169838.manager.acquire.bits.payload.client_xact_id - T_169838.manager.acquire.ready := T_169843.in[1].ready - T_169843.in[2].valid := T_169840.manager.acquire.valid - T_169843.in[2].bits := T_169840.manager.acquire.bits - T_169843.in[2].bits.payload.client_xact_id := T_169840.manager.acquire.bits.payload.client_xact_id - T_169840.manager.acquire.ready := T_169843.in[2].ready - T_169843.out <> T_169842.client.acquire - inst T_169844 of LockingRRArbiter_47800 - T_169844.in[0].valid := T_169836.manager.release.valid - T_169844.in[0].bits := T_169836.manager.release.bits - T_169844.in[0].bits.payload.client_xact_id := T_169836.manager.release.bits.payload.client_xact_id - T_169836.manager.release.ready := T_169844.in[0].ready - T_169844.in[1].valid := T_169838.manager.release.valid - T_169844.in[1].bits := T_169838.manager.release.bits - T_169844.in[1].bits.payload.client_xact_id := T_169838.manager.release.bits.payload.client_xact_id - T_169838.manager.release.ready := T_169844.in[1].ready - T_169844.in[2].valid := T_169840.manager.release.valid - T_169844.in[2].bits := T_169840.manager.release.bits - T_169844.in[2].bits.payload.client_xact_id := T_169840.manager.release.bits.payload.client_xact_id - T_169840.manager.release.ready := T_169844.in[2].ready - T_169844.out <> T_169842.client.release - inst T_169845 of RRArbiter - T_169845.in[0] <> T_169836.manager.finish - T_169845.in[1] <> T_169838.manager.finish - T_169845.in[2] <> T_169840.manager.finish - T_169845.out <> T_169842.client.finish - T_169842.client.probe.ready := UInt<1>(0) - T_169836.manager.probe.valid := UInt<1>(0) - - node T_169846 = eq(T_169842.client.probe.bits.header.dst, UInt<1>(0)) - when T_169846 : - T_169836.manager.probe.valid := T_169842.client.probe.valid - T_169842.client.probe.ready := T_169836.manager.probe.ready - T_169836.manager.probe.bits := T_169842.client.probe.bits - T_169838.manager.probe.valid := UInt<1>(0) - - node T_169847 = eq(T_169842.client.probe.bits.header.dst, UInt<1>(1)) - when T_169847 : - T_169838.manager.probe.valid := T_169842.client.probe.valid - T_169842.client.probe.ready := T_169838.manager.probe.ready - T_169838.manager.probe.bits := T_169842.client.probe.bits - T_169840.manager.probe.valid := UInt<1>(0) - - node T_169848 = eq(T_169842.client.probe.bits.header.dst, UInt<2>(2)) - when T_169848 : - T_169840.manager.probe.valid := T_169842.client.probe.valid - T_169842.client.probe.ready := T_169840.manager.probe.ready - T_169840.manager.probe.bits := T_169842.client.probe.bits - T_169842.client.grant.ready := UInt<1>(0) - T_169836.manager.grant.valid := UInt<1>(0) - - node T_169849 = eq(T_169842.client.grant.bits.header.dst, UInt<1>(0)) - when T_169849 : - T_169836.manager.grant.valid := T_169842.client.grant.valid - T_169842.client.grant.ready := T_169836.manager.grant.ready - T_169836.manager.grant.bits := T_169842.client.grant.bits - T_169838.manager.grant.valid := UInt<1>(0) - - node T_169850 = eq(T_169842.client.grant.bits.header.dst, UInt<1>(1)) - when T_169850 : - T_169838.manager.grant.valid := T_169842.client.grant.valid - T_169842.client.grant.ready := T_169838.manager.grant.ready - T_169838.manager.grant.bits := T_169842.client.grant.bits - T_169840.manager.grant.valid := UInt<1>(0) - - node T_169851 = eq(T_169842.client.grant.bits.header.dst, UInt<2>(2)) - when T_169851 : - T_169840.manager.grant.valid := T_169842.client.grant.valid - T_169842.client.grant.ready := T_169840.manager.grant.ready - T_169840.manager.grant.bits := T_169842.client.grant.bits - module MetadataArray : - input read : {flip ready : UInt<1>, valid : UInt<1>, bits : {idx : UInt<12>}} - input write : {flip ready : UInt<1>, valid : UInt<1>, bits : {idx : UInt<12>, way_en : UInt<8>, data : {tag : UInt<14>, coh : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}}}} - output resp : {tag : UInt<14>, coh : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}}[8] - - wire T_169852 : UInt<3>[3] - T_169852[0] := UInt<3>(0) - T_169852[1] := UInt<3>(1) - T_169852[2] := UInt<3>(2) - wire T_169853 : UInt<2>[2] - T_169853[0] := UInt<2>(0) - T_169853[1] := UInt<2>(1) - wire T_169854 : UInt<2>[3] - T_169854[0] := UInt<2>(1) - T_169854[1] := UInt<2>(2) - T_169854[2] := UInt<2>(3) - wire T_169855 : UInt<2>[2] - T_169855[0] := UInt<2>(2) - T_169855[1] := UInt<2>(3) - wire T_169856 : UInt<2>[1] - T_169856[0] := UInt<2>(3) - wire T_169857 : UInt<3>[3] - T_169857[0] := UInt<3>(0) - T_169857[1] := UInt<3>(1) - T_169857[2] := UInt<3>(2) - wire T_169858 : UInt<2>[2] - T_169858[0] := UInt<2>(0) - T_169858[1] := UInt<2>(1) - wire T_169859 : UInt<2>[3] - T_169859[0] := UInt<2>(1) - T_169859[1] := UInt<2>(2) - T_169859[2] := UInt<2>(3) - wire T_169860 : UInt<2>[2] - T_169860[0] := UInt<2>(2) - T_169860[1] := UInt<2>(3) - wire T_169861 : UInt<2>[1] - T_169861[0] := UInt<2>(3) - wire T_169862 : UInt<3>[3] - T_169862[0] := UInt<3>(0) - T_169862[1] := UInt<3>(1) - T_169862[2] := UInt<3>(2) - wire T_169863 : UInt<2>[2] - T_169863[0] := UInt<2>(0) - T_169863[1] := UInt<2>(1) - wire T_169864 : UInt<2>[3] - T_169864[0] := UInt<2>(1) - T_169864[1] := UInt<2>(2) - T_169864[2] := UInt<2>(3) - wire T_169865 : UInt<2>[2] - T_169865[0] := UInt<2>(2) - T_169865[1] := UInt<2>(3) - wire T_169866 : UInt<2>[1] - T_169866[0] := UInt<2>(3) - wire T_169867 : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>} - T_169867.sharers := UInt<1>(0) - wire T_169868 : UInt<3>[3] - T_169868[0] := UInt<3>(0) - T_169868[1] := UInt<3>(1) - T_169868[2] := UInt<3>(2) - wire T_169869 : UInt<2>[2] - T_169869[0] := UInt<2>(0) - T_169869[1] := UInt<2>(1) - wire T_169870 : UInt<2>[3] - T_169870[0] := UInt<2>(1) - T_169870[1] := UInt<2>(2) - T_169870[2] := UInt<2>(3) - wire T_169871 : UInt<2>[2] - T_169871[0] := UInt<2>(2) - T_169871[1] := UInt<2>(3) - wire T_169872 : UInt<2>[1] - T_169872[0] := UInt<2>(3) - wire T_169873 : UInt<3>[3] - T_169873[0] := UInt<3>(0) - T_169873[1] := UInt<3>(1) - T_169873[2] := UInt<3>(2) - wire T_169874 : UInt<2>[2] - T_169874[0] := UInt<2>(0) - T_169874[1] := UInt<2>(1) - wire T_169875 : UInt<2>[3] - T_169875[0] := UInt<2>(1) - T_169875[1] := UInt<2>(2) - T_169875[2] := UInt<2>(3) - wire T_169876 : UInt<2>[2] - T_169876[0] := UInt<2>(2) - T_169876[1] := UInt<2>(3) - wire T_169877 : UInt<2>[1] - T_169877[0] := UInt<2>(3) - wire T_169878 : UInt<3>[3] - T_169878[0] := UInt<3>(0) - T_169878[1] := UInt<3>(1) - T_169878[2] := UInt<3>(2) - wire T_169879 : UInt<2>[2] - T_169879[0] := UInt<2>(0) - T_169879[1] := UInt<2>(1) - wire T_169880 : UInt<2>[3] - T_169880[0] := UInt<2>(1) - T_169880[1] := UInt<2>(2) - T_169880[2] := UInt<2>(3) - wire T_169881 : UInt<2>[2] - T_169881[0] := UInt<2>(2) - T_169881[1] := UInt<2>(3) - wire T_169882 : UInt<2>[1] - T_169882[0] := UInt<2>(3) - wire T_169883 : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>} - T_169883.state := UInt<2>(0) - wire T_169884 : UInt<3>[3] - T_169884[0] := UInt<3>(0) - T_169884[1] := UInt<3>(1) - T_169884[2] := UInt<3>(2) - wire T_169885 : UInt<2>[2] - T_169885[0] := UInt<2>(0) - T_169885[1] := UInt<2>(1) - wire T_169886 : UInt<2>[3] - T_169886[0] := UInt<2>(1) - T_169886[1] := UInt<2>(2) - T_169886[2] := UInt<2>(3) - wire T_169887 : UInt<2>[2] - T_169887[0] := UInt<2>(2) - T_169887[1] := UInt<2>(3) - wire T_169888 : UInt<2>[1] - T_169888[0] := UInt<2>(3) - wire T_169889 : UInt<3>[3] - T_169889[0] := UInt<3>(0) - T_169889[1] := UInt<3>(1) - T_169889[2] := UInt<3>(2) - wire T_169890 : UInt<2>[2] - T_169890[0] := UInt<2>(0) - T_169890[1] := UInt<2>(1) - wire T_169891 : UInt<2>[3] - T_169891[0] := UInt<2>(1) - T_169891[1] := UInt<2>(2) - T_169891[2] := UInt<2>(3) - wire T_169892 : UInt<2>[2] - T_169892[0] := UInt<2>(2) - T_169892[1] := UInt<2>(3) - wire T_169893 : UInt<2>[1] - T_169893[0] := UInt<2>(3) - wire T_169894 : UInt<3>[3] - T_169894[0] := UInt<3>(0) - T_169894[1] := UInt<3>(1) - T_169894[2] := UInt<3>(2) - wire T_169895 : UInt<0>[1] - T_169895[0] := UInt<0>(0) - wire T_169896 : UInt<2>[2] - T_169896[0] := UInt<2>(1) - T_169896[1] := UInt<2>(2) - wire T_169897 : UInt<2>[2] - T_169897[0] := UInt<2>(1) - T_169897[1] := UInt<2>(2) - wire T_169898 : UInt<2>[1] - T_169898[0] := UInt<2>(2) - wire T_169899 : UInt<3>[3] - T_169899[0] := UInt<3>(0) - T_169899[1] := UInt<3>(1) - T_169899[2] := UInt<3>(2) - wire T_169900 : UInt<2>[2] - T_169900[0] := UInt<2>(0) - T_169900[1] := UInt<2>(1) - wire T_169901 : UInt<2>[3] - T_169901[0] := UInt<2>(1) - T_169901[1] := UInt<2>(2) - T_169901[2] := UInt<2>(3) - wire T_169902 : UInt<2>[2] - T_169902[0] := UInt<2>(2) - T_169902[1] := UInt<2>(3) - wire T_169903 : UInt<2>[1] - T_169903[0] := UInt<2>(3) - wire T_169904 : UInt<3>[3] - T_169904[0] := UInt<3>(0) - T_169904[1] := UInt<3>(1) - T_169904[2] := UInt<3>(2) - wire T_169905 : UInt<2>[2] - T_169905[0] := UInt<2>(0) - T_169905[1] := UInt<2>(1) - wire T_169906 : UInt<2>[3] - T_169906[0] := UInt<2>(1) - T_169906[1] := UInt<2>(2) - T_169906[2] := UInt<2>(3) - wire T_169907 : UInt<2>[2] - T_169907[0] := UInt<2>(2) - T_169907[1] := UInt<2>(3) - wire T_169908 : UInt<2>[1] - T_169908[0] := UInt<2>(3) - wire T_169909 : UInt<3>[3] - T_169909[0] := UInt<3>(0) - T_169909[1] := UInt<3>(1) - T_169909[2] := UInt<3>(2) - wire T_169910 : UInt<0>[1] - T_169910[0] := UInt<0>(0) - wire T_169911 : UInt<2>[2] - T_169911[0] := UInt<2>(1) - T_169911[1] := UInt<2>(2) - wire T_169912 : UInt<2>[2] - T_169912[0] := UInt<2>(1) - T_169912[1] := UInt<2>(2) - wire T_169913 : UInt<2>[1] - T_169913[0] := UInt<2>(2) - wire T_169914 : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}} - T_169914.inner := T_169867 - T_169914.outer := T_169883 - wire T_169915 : UInt<3>[3] - T_169915[0] := UInt<3>(0) - T_169915[1] := UInt<3>(1) - T_169915[2] := UInt<3>(2) - wire T_169916 : UInt<2>[2] - T_169916[0] := UInt<2>(0) - T_169916[1] := UInt<2>(1) - wire T_169917 : UInt<2>[3] - T_169917[0] := UInt<2>(1) - T_169917[1] := UInt<2>(2) - T_169917[2] := UInt<2>(3) - wire T_169918 : UInt<2>[2] - T_169918[0] := UInt<2>(2) - T_169918[1] := UInt<2>(3) - wire T_169919 : UInt<2>[1] - T_169919[0] := UInt<2>(3) - wire T_169920 : UInt<3>[3] - T_169920[0] := UInt<3>(0) - T_169920[1] := UInt<3>(1) - T_169920[2] := UInt<3>(2) - wire T_169921 : UInt<2>[2] - T_169921[0] := UInt<2>(0) - T_169921[1] := UInt<2>(1) - wire T_169922 : UInt<2>[3] - T_169922[0] := UInt<2>(1) - T_169922[1] := UInt<2>(2) - T_169922[2] := UInt<2>(3) - wire T_169923 : UInt<2>[2] - T_169923[0] := UInt<2>(2) - T_169923[1] := UInt<2>(3) - wire T_169924 : UInt<2>[1] - T_169924[0] := UInt<2>(3) - wire T_169925 : UInt<3>[3] - T_169925[0] := UInt<3>(0) - T_169925[1] := UInt<3>(1) - T_169925[2] := UInt<3>(2) - wire T_169926 : UInt<0>[1] - T_169926[0] := UInt<0>(0) - wire T_169927 : UInt<2>[2] - T_169927[0] := UInt<2>(1) - T_169927[1] := UInt<2>(2) - wire T_169928 : UInt<2>[2] - T_169928[0] := UInt<2>(1) - T_169928[1] := UInt<2>(2) - wire T_169929 : UInt<2>[1] - T_169929[0] := UInt<2>(2) - wire T_169930 : UInt<3>[3] - T_169930[0] := UInt<3>(0) - T_169930[1] := UInt<3>(1) - T_169930[2] := UInt<3>(2) - wire T_169931 : UInt<2>[2] - T_169931[0] := UInt<2>(0) - T_169931[1] := UInt<2>(1) - wire T_169932 : UInt<2>[3] - T_169932[0] := UInt<2>(1) - T_169932[1] := UInt<2>(2) - T_169932[2] := UInt<2>(3) - wire T_169933 : UInt<2>[2] - T_169933[0] := UInt<2>(2) - T_169933[1] := UInt<2>(3) - wire T_169934 : UInt<2>[1] - T_169934[0] := UInt<2>(3) - wire T_169935 : UInt<3>[3] - T_169935[0] := UInt<3>(0) - T_169935[1] := UInt<3>(1) - T_169935[2] := UInt<3>(2) - wire T_169936 : UInt<2>[2] - T_169936[0] := UInt<2>(0) - T_169936[1] := UInt<2>(1) - wire T_169937 : UInt<2>[3] - T_169937[0] := UInt<2>(1) - T_169937[1] := UInt<2>(2) - T_169937[2] := UInt<2>(3) - wire T_169938 : UInt<2>[2] - T_169938[0] := UInt<2>(2) - T_169938[1] := UInt<2>(3) - wire T_169939 : UInt<2>[1] - T_169939[0] := UInt<2>(3) - wire T_169940 : UInt<3>[3] - T_169940[0] := UInt<3>(0) - T_169940[1] := UInt<3>(1) - T_169940[2] := UInt<3>(2) - wire T_169941 : UInt<0>[1] - T_169941[0] := UInt<0>(0) - wire T_169942 : UInt<2>[2] - T_169942[0] := UInt<2>(1) - T_169942[1] := UInt<2>(2) - wire T_169943 : UInt<2>[2] - T_169943[0] := UInt<2>(1) - T_169943[1] := UInt<2>(2) - wire T_169944 : UInt<2>[1] - T_169944[0] := UInt<2>(2) - wire rstVal : {tag : UInt<14>, coh : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}} - rstVal.tag := UInt<1>(0) - rstVal.coh := T_169914 - wire T_169945 : UInt<3>[3] - T_169945[0] := UInt<3>(0) - T_169945[1] := UInt<3>(1) - T_169945[2] := UInt<3>(2) - wire T_169946 : UInt<2>[2] - T_169946[0] := UInt<2>(0) - T_169946[1] := UInt<2>(1) - wire T_169947 : UInt<2>[3] - T_169947[0] := UInt<2>(1) - T_169947[1] := UInt<2>(2) - T_169947[2] := UInt<2>(3) - wire T_169948 : UInt<2>[2] - T_169948[0] := UInt<2>(2) - T_169948[1] := UInt<2>(3) - wire T_169949 : UInt<2>[1] - T_169949[0] := UInt<2>(3) - wire T_169950 : UInt<3>[3] - T_169950[0] := UInt<3>(0) - T_169950[1] := UInt<3>(1) - T_169950[2] := UInt<3>(2) - wire T_169951 : UInt<2>[2] - T_169951[0] := UInt<2>(0) - T_169951[1] := UInt<2>(1) - wire T_169952 : UInt<2>[3] - T_169952[0] := UInt<2>(1) - T_169952[1] := UInt<2>(2) - T_169952[2] := UInt<2>(3) - wire T_169953 : UInt<2>[2] - T_169953[0] := UInt<2>(2) - T_169953[1] := UInt<2>(3) - wire T_169954 : UInt<2>[1] - T_169954[0] := UInt<2>(3) - wire T_169955 : UInt<3>[3] - T_169955[0] := UInt<3>(0) - T_169955[1] := UInt<3>(1) - T_169955[2] := UInt<3>(2) - wire T_169956 : UInt<0>[1] - T_169956[0] := UInt<0>(0) - wire T_169957 : UInt<2>[2] - T_169957[0] := UInt<2>(1) - T_169957[1] := UInt<2>(2) - wire T_169958 : UInt<2>[2] - T_169958[0] := UInt<2>(1) - T_169958[1] := UInt<2>(2) - wire T_169959 : UInt<2>[1] - T_169959[0] := UInt<2>(2) - wire T_169960 : UInt<3>[3] - T_169960[0] := UInt<3>(0) - T_169960[1] := UInt<3>(1) - T_169960[2] := UInt<3>(2) - wire T_169961 : UInt<2>[2] - T_169961[0] := UInt<2>(0) - T_169961[1] := UInt<2>(1) - wire T_169962 : UInt<2>[3] - T_169962[0] := UInt<2>(1) - T_169962[1] := UInt<2>(2) - T_169962[2] := UInt<2>(3) - wire T_169963 : UInt<2>[2] - T_169963[0] := UInt<2>(2) - T_169963[1] := UInt<2>(3) - wire T_169964 : UInt<2>[1] - T_169964[0] := UInt<2>(3) - wire T_169965 : UInt<3>[3] - T_169965[0] := UInt<3>(0) - T_169965[1] := UInt<3>(1) - T_169965[2] := UInt<3>(2) - wire T_169966 : UInt<2>[2] - T_169966[0] := UInt<2>(0) - T_169966[1] := UInt<2>(1) - wire T_169967 : UInt<2>[3] - T_169967[0] := UInt<2>(1) - T_169967[1] := UInt<2>(2) - T_169967[2] := UInt<2>(3) - wire T_169968 : UInt<2>[2] - T_169968[0] := UInt<2>(2) - T_169968[1] := UInt<2>(3) - wire T_169969 : UInt<2>[1] - T_169969[0] := UInt<2>(3) - wire T_169970 : UInt<3>[3] - T_169970[0] := UInt<3>(0) - T_169970[1] := UInt<3>(1) - T_169970[2] := UInt<3>(2) - wire T_169971 : UInt<0>[1] - T_169971[0] := UInt<0>(0) - wire T_169972 : UInt<2>[2] - T_169972[0] := UInt<2>(1) - T_169972[1] := UInt<2>(2) - wire T_169973 : UInt<2>[2] - T_169973[0] := UInt<2>(1) - T_169973[1] := UInt<2>(2) - wire T_169974 : UInt<2>[1] - T_169974[0] := UInt<2>(2) - wire T_169975 : UInt<3>[3] - T_169975[0] := UInt<3>(0) - T_169975[1] := UInt<3>(1) - T_169975[2] := UInt<3>(2) - wire T_169976 : UInt<2>[2] - T_169976[0] := UInt<2>(0) - T_169976[1] := UInt<2>(1) - wire T_169977 : UInt<2>[3] - T_169977[0] := UInt<2>(1) - T_169977[1] := UInt<2>(2) - T_169977[2] := UInt<2>(3) - wire T_169978 : UInt<2>[2] - T_169978[0] := UInt<2>(2) - T_169978[1] := UInt<2>(3) - wire T_169979 : UInt<2>[1] - T_169979[0] := UInt<2>(3) - wire T_169980 : UInt<3>[3] - T_169980[0] := UInt<3>(0) - T_169980[1] := UInt<3>(1) - T_169980[2] := UInt<3>(2) - wire T_169981 : UInt<2>[2] - T_169981[0] := UInt<2>(0) - T_169981[1] := UInt<2>(1) - wire T_169982 : UInt<2>[3] - T_169982[0] := UInt<2>(1) - T_169982[1] := UInt<2>(2) - T_169982[2] := UInt<2>(3) - wire T_169983 : UInt<2>[2] - T_169983[0] := UInt<2>(2) - T_169983[1] := UInt<2>(3) - wire T_169984 : UInt<2>[1] - T_169984[0] := UInt<2>(3) - wire T_169985 : UInt<3>[3] - T_169985[0] := UInt<3>(0) - T_169985[1] := UInt<3>(1) - T_169985[2] := UInt<3>(2) - wire T_169986 : UInt<0>[1] - T_169986[0] := UInt<0>(0) - wire T_169987 : UInt<2>[2] - T_169987[0] := UInt<2>(1) - T_169987[1] := UInt<2>(2) - wire T_169988 : UInt<2>[2] - T_169988[0] := UInt<2>(1) - T_169988[1] := UInt<2>(2) - wire T_169989 : UInt<2>[1] - T_169989[0] := UInt<2>(2) - wire T_169990 : UInt<3>[3] - T_169990[0] := UInt<3>(0) - T_169990[1] := UInt<3>(1) - T_169990[2] := UInt<3>(2) - wire T_169991 : UInt<2>[2] - T_169991[0] := UInt<2>(0) - T_169991[1] := UInt<2>(1) - wire T_169992 : UInt<2>[3] - T_169992[0] := UInt<2>(1) - T_169992[1] := UInt<2>(2) - T_169992[2] := UInt<2>(3) - wire T_169993 : UInt<2>[2] - T_169993[0] := UInt<2>(2) - T_169993[1] := UInt<2>(3) - wire T_169994 : UInt<2>[1] - T_169994[0] := UInt<2>(3) - wire T_169995 : UInt<3>[3] - T_169995[0] := UInt<3>(0) - T_169995[1] := UInt<3>(1) - T_169995[2] := UInt<3>(2) - wire T_169996 : UInt<2>[2] - T_169996[0] := UInt<2>(0) - T_169996[1] := UInt<2>(1) - wire T_169997 : UInt<2>[3] - T_169997[0] := UInt<2>(1) - T_169997[1] := UInt<2>(2) - T_169997[2] := UInt<2>(3) - wire T_169998 : UInt<2>[2] - T_169998[0] := UInt<2>(2) - T_169998[1] := UInt<2>(3) - wire T_169999 : UInt<2>[1] - T_169999[0] := UInt<2>(3) - wire T_170000 : UInt<3>[3] - T_170000[0] := UInt<3>(0) - T_170000[1] := UInt<3>(1) - T_170000[2] := UInt<3>(2) - wire T_170001 : UInt<0>[1] - T_170001[0] := UInt<0>(0) - wire T_170002 : UInt<2>[2] - T_170002[0] := UInt<2>(1) - T_170002[1] := UInt<2>(2) - wire T_170003 : UInt<2>[2] - T_170003[0] := UInt<2>(1) - T_170003[1] := UInt<2>(2) - wire T_170004 : UInt<2>[1] - T_170004[0] := UInt<2>(2) - wire T_170005 : UInt<3>[3] - T_170005[0] := UInt<3>(0) - T_170005[1] := UInt<3>(1) - T_170005[2] := UInt<3>(2) - wire T_170006 : UInt<2>[2] - T_170006[0] := UInt<2>(0) - T_170006[1] := UInt<2>(1) - wire T_170007 : UInt<2>[3] - T_170007[0] := UInt<2>(1) - T_170007[1] := UInt<2>(2) - T_170007[2] := UInt<2>(3) - wire T_170008 : UInt<2>[2] - T_170008[0] := UInt<2>(2) - T_170008[1] := UInt<2>(3) - wire T_170009 : UInt<2>[1] - T_170009[0] := UInt<2>(3) - wire T_170010 : UInt<3>[3] - T_170010[0] := UInt<3>(0) - T_170010[1] := UInt<3>(1) - T_170010[2] := UInt<3>(2) - wire T_170011 : UInt<2>[2] - T_170011[0] := UInt<2>(0) - T_170011[1] := UInt<2>(1) - wire T_170012 : UInt<2>[3] - T_170012[0] := UInt<2>(1) - T_170012[1] := UInt<2>(2) - T_170012[2] := UInt<2>(3) - wire T_170013 : UInt<2>[2] - T_170013[0] := UInt<2>(2) - T_170013[1] := UInt<2>(3) - wire T_170014 : UInt<2>[1] - T_170014[0] := UInt<2>(3) - wire T_170015 : UInt<3>[3] - T_170015[0] := UInt<3>(0) - T_170015[1] := UInt<3>(1) - T_170015[2] := UInt<3>(2) - wire T_170016 : UInt<0>[1] - T_170016[0] := UInt<0>(0) - wire T_170017 : UInt<2>[2] - T_170017[0] := UInt<2>(1) - T_170017[1] := UInt<2>(2) - wire T_170018 : UInt<2>[2] - T_170018[0] := UInt<2>(1) - T_170018[1] := UInt<2>(2) - wire T_170019 : UInt<2>[1] - T_170019[0] := UInt<2>(2) - wire T_170020 : UInt<3>[3] - T_170020[0] := UInt<3>(0) - T_170020[1] := UInt<3>(1) - T_170020[2] := UInt<3>(2) - wire T_170021 : UInt<2>[2] - T_170021[0] := UInt<2>(0) - T_170021[1] := UInt<2>(1) - wire T_170022 : UInt<2>[3] - T_170022[0] := UInt<2>(1) - T_170022[1] := UInt<2>(2) - T_170022[2] := UInt<2>(3) - wire T_170023 : UInt<2>[2] - T_170023[0] := UInt<2>(2) - T_170023[1] := UInt<2>(3) - wire T_170024 : UInt<2>[1] - T_170024[0] := UInt<2>(3) - wire T_170025 : UInt<3>[3] - T_170025[0] := UInt<3>(0) - T_170025[1] := UInt<3>(1) - T_170025[2] := UInt<3>(2) - wire T_170026 : UInt<2>[2] - T_170026[0] := UInt<2>(0) - T_170026[1] := UInt<2>(1) - wire T_170027 : UInt<2>[3] - T_170027[0] := UInt<2>(1) - T_170027[1] := UInt<2>(2) - T_170027[2] := UInt<2>(3) - wire T_170028 : UInt<2>[2] - T_170028[0] := UInt<2>(2) - T_170028[1] := UInt<2>(3) - wire T_170029 : UInt<2>[1] - T_170029[0] := UInt<2>(3) - wire T_170030 : UInt<3>[3] - T_170030[0] := UInt<3>(0) - T_170030[1] := UInt<3>(1) - T_170030[2] := UInt<3>(2) - wire T_170031 : UInt<0>[1] - T_170031[0] := UInt<0>(0) - wire T_170032 : UInt<2>[2] - T_170032[0] := UInt<2>(1) - T_170032[1] := UInt<2>(2) - wire T_170033 : UInt<2>[2] - T_170033[0] := UInt<2>(1) - T_170033[1] := UInt<2>(2) - wire T_170034 : UInt<2>[1] - T_170034[0] := UInt<2>(2) - wire T_170035 : UInt<3>[3] - T_170035[0] := UInt<3>(0) - T_170035[1] := UInt<3>(1) - T_170035[2] := UInt<3>(2) - wire T_170036 : UInt<2>[2] - T_170036[0] := UInt<2>(0) - T_170036[1] := UInt<2>(1) - wire T_170037 : UInt<2>[3] - T_170037[0] := UInt<2>(1) - T_170037[1] := UInt<2>(2) - T_170037[2] := UInt<2>(3) - wire T_170038 : UInt<2>[2] - T_170038[0] := UInt<2>(2) - T_170038[1] := UInt<2>(3) - wire T_170039 : UInt<2>[1] - T_170039[0] := UInt<2>(3) - wire T_170040 : UInt<3>[3] - T_170040[0] := UInt<3>(0) - T_170040[1] := UInt<3>(1) - T_170040[2] := UInt<3>(2) - wire T_170041 : UInt<2>[2] - T_170041[0] := UInt<2>(0) - T_170041[1] := UInt<2>(1) - wire T_170042 : UInt<2>[3] - T_170042[0] := UInt<2>(1) - T_170042[1] := UInt<2>(2) - T_170042[2] := UInt<2>(3) - wire T_170043 : UInt<2>[2] - T_170043[0] := UInt<2>(2) - T_170043[1] := UInt<2>(3) - wire T_170044 : UInt<2>[1] - T_170044[0] := UInt<2>(3) - wire T_170045 : UInt<3>[3] - T_170045[0] := UInt<3>(0) - T_170045[1] := UInt<3>(1) - T_170045[2] := UInt<3>(2) - wire T_170046 : UInt<0>[1] - T_170046[0] := UInt<0>(0) - wire T_170047 : UInt<2>[2] - T_170047[0] := UInt<2>(1) - T_170047[1] := UInt<2>(2) - wire T_170048 : UInt<2>[2] - T_170048[0] := UInt<2>(1) - T_170048[1] := UInt<2>(2) - wire T_170049 : UInt<2>[1] - T_170049[0] := UInt<2>(2) - wire T_170050 : UInt<3>[3] - T_170050[0] := UInt<3>(0) - T_170050[1] := UInt<3>(1) - T_170050[2] := UInt<3>(2) - wire T_170051 : UInt<2>[2] - T_170051[0] := UInt<2>(0) - T_170051[1] := UInt<2>(1) - wire T_170052 : UInt<2>[3] - T_170052[0] := UInt<2>(1) - T_170052[1] := UInt<2>(2) - T_170052[2] := UInt<2>(3) - wire T_170053 : UInt<2>[2] - T_170053[0] := UInt<2>(2) - T_170053[1] := UInt<2>(3) - wire T_170054 : UInt<2>[1] - T_170054[0] := UInt<2>(3) - wire T_170055 : UInt<3>[3] - T_170055[0] := UInt<3>(0) - T_170055[1] := UInt<3>(1) - T_170055[2] := UInt<3>(2) - wire T_170056 : UInt<2>[2] - T_170056[0] := UInt<2>(0) - T_170056[1] := UInt<2>(1) - wire T_170057 : UInt<2>[3] - T_170057[0] := UInt<2>(1) - T_170057[1] := UInt<2>(2) - T_170057[2] := UInt<2>(3) - wire T_170058 : UInt<2>[2] - T_170058[0] := UInt<2>(2) - T_170058[1] := UInt<2>(3) - wire T_170059 : UInt<2>[1] - T_170059[0] := UInt<2>(3) - wire T_170060 : UInt<3>[3] - T_170060[0] := UInt<3>(0) - T_170060[1] := UInt<3>(1) - T_170060[2] := UInt<3>(2) - wire T_170061 : UInt<0>[1] - T_170061[0] := UInt<0>(0) - wire T_170062 : UInt<2>[2] - T_170062[0] := UInt<2>(1) - T_170062[1] := UInt<2>(2) - wire T_170063 : UInt<2>[2] - T_170063[0] := UInt<2>(1) - T_170063[1] := UInt<2>(2) - wire T_170064 : UInt<2>[1] - T_170064[0] := UInt<2>(2) - wire T_170065 : UInt<3>[3] - T_170065[0] := UInt<3>(0) - T_170065[1] := UInt<3>(1) - T_170065[2] := UInt<3>(2) - wire T_170066 : UInt<2>[2] - T_170066[0] := UInt<2>(0) - T_170066[1] := UInt<2>(1) - wire T_170067 : UInt<2>[3] - T_170067[0] := UInt<2>(1) - T_170067[1] := UInt<2>(2) - T_170067[2] := UInt<2>(3) - wire T_170068 : UInt<2>[2] - T_170068[0] := UInt<2>(2) - T_170068[1] := UInt<2>(3) - wire T_170069 : UInt<2>[1] - T_170069[0] := UInt<2>(3) - wire T_170070 : UInt<3>[3] - T_170070[0] := UInt<3>(0) - T_170070[1] := UInt<3>(1) - T_170070[2] := UInt<3>(2) - wire T_170071 : UInt<2>[2] - T_170071[0] := UInt<2>(0) - T_170071[1] := UInt<2>(1) - wire T_170072 : UInt<2>[3] - T_170072[0] := UInt<2>(1) - T_170072[1] := UInt<2>(2) - T_170072[2] := UInt<2>(3) - wire T_170073 : UInt<2>[2] - T_170073[0] := UInt<2>(2) - T_170073[1] := UInt<2>(3) - wire T_170074 : UInt<2>[1] - T_170074[0] := UInt<2>(3) - wire T_170075 : UInt<3>[3] - T_170075[0] := UInt<3>(0) - T_170075[1] := UInt<3>(1) - T_170075[2] := UInt<3>(2) - wire T_170076 : UInt<0>[1] - T_170076[0] := UInt<0>(0) - wire T_170077 : UInt<2>[2] - T_170077[0] := UInt<2>(1) - T_170077[1] := UInt<2>(2) - wire T_170078 : UInt<2>[2] - T_170078[0] := UInt<2>(1) - T_170078[1] := UInt<2>(2) - wire T_170079 : UInt<2>[1] - T_170079[0] := UInt<2>(2) - wire T_170080 : UInt<3>[3] - T_170080[0] := UInt<3>(0) - T_170080[1] := UInt<3>(1) - T_170080[2] := UInt<3>(2) - wire T_170081 : UInt<2>[2] - T_170081[0] := UInt<2>(0) - T_170081[1] := UInt<2>(1) - wire T_170082 : UInt<2>[3] - T_170082[0] := UInt<2>(1) - T_170082[1] := UInt<2>(2) - T_170082[2] := UInt<2>(3) - wire T_170083 : UInt<2>[2] - T_170083[0] := UInt<2>(2) - T_170083[1] := UInt<2>(3) - wire T_170084 : UInt<2>[1] - T_170084[0] := UInt<2>(3) - wire T_170085 : UInt<3>[3] - T_170085[0] := UInt<3>(0) - T_170085[1] := UInt<3>(1) - T_170085[2] := UInt<3>(2) - wire T_170086 : UInt<2>[2] - T_170086[0] := UInt<2>(0) - T_170086[1] := UInt<2>(1) - wire T_170087 : UInt<2>[3] - T_170087[0] := UInt<2>(1) - T_170087[1] := UInt<2>(2) - T_170087[2] := UInt<2>(3) - wire T_170088 : UInt<2>[2] - T_170088[0] := UInt<2>(2) - T_170088[1] := UInt<2>(3) - wire T_170089 : UInt<2>[1] - T_170089[0] := UInt<2>(3) - wire T_170090 : UInt<3>[3] - T_170090[0] := UInt<3>(0) - T_170090[1] := UInt<3>(1) - T_170090[2] := UInt<3>(2) - wire T_170091 : UInt<0>[1] - T_170091[0] := UInt<0>(0) - wire T_170092 : UInt<2>[2] - T_170092[0] := UInt<2>(1) - T_170092[1] := UInt<2>(2) - wire T_170093 : UInt<2>[2] - T_170093[0] := UInt<2>(1) - T_170093[1] := UInt<2>(2) - wire T_170094 : UInt<2>[1] - T_170094[0] := UInt<2>(2) - wire T_170095 : UInt<3>[3] - T_170095[0] := UInt<3>(0) - T_170095[1] := UInt<3>(1) - T_170095[2] := UInt<3>(2) - wire T_170096 : UInt<2>[2] - T_170096[0] := UInt<2>(0) - T_170096[1] := UInt<2>(1) - wire T_170097 : UInt<2>[3] - T_170097[0] := UInt<2>(1) - T_170097[1] := UInt<2>(2) - T_170097[2] := UInt<2>(3) - wire T_170098 : UInt<2>[2] - T_170098[0] := UInt<2>(2) - T_170098[1] := UInt<2>(3) - wire T_170099 : UInt<2>[1] - T_170099[0] := UInt<2>(3) - wire T_170100 : UInt<3>[3] - T_170100[0] := UInt<3>(0) - T_170100[1] := UInt<3>(1) - T_170100[2] := UInt<3>(2) - wire T_170101 : UInt<2>[2] - T_170101[0] := UInt<2>(0) - T_170101[1] := UInt<2>(1) - wire T_170102 : UInt<2>[3] - T_170102[0] := UInt<2>(1) - T_170102[1] := UInt<2>(2) - T_170102[2] := UInt<2>(3) - wire T_170103 : UInt<2>[2] - T_170103[0] := UInt<2>(2) - T_170103[1] := UInt<2>(3) - wire T_170104 : UInt<2>[1] - T_170104[0] := UInt<2>(3) - wire T_170105 : UInt<3>[3] - T_170105[0] := UInt<3>(0) - T_170105[1] := UInt<3>(1) - T_170105[2] := UInt<3>(2) - wire T_170106 : UInt<0>[1] - T_170106[0] := UInt<0>(0) - wire T_170107 : UInt<2>[2] - T_170107[0] := UInt<2>(1) - T_170107[1] := UInt<2>(2) - wire T_170108 : UInt<2>[2] - T_170108[0] := UInt<2>(1) - T_170108[1] := UInt<2>(2) - wire T_170109 : UInt<2>[1] - T_170109[0] := UInt<2>(2) - wire T_170110 : UInt<3>[3] - T_170110[0] := UInt<3>(0) - T_170110[1] := UInt<3>(1) - T_170110[2] := UInt<3>(2) - wire T_170111 : UInt<2>[2] - T_170111[0] := UInt<2>(0) - T_170111[1] := UInt<2>(1) - wire T_170112 : UInt<2>[3] - T_170112[0] := UInt<2>(1) - T_170112[1] := UInt<2>(2) - T_170112[2] := UInt<2>(3) - wire T_170113 : UInt<2>[2] - T_170113[0] := UInt<2>(2) - T_170113[1] := UInt<2>(3) - wire T_170114 : UInt<2>[1] - T_170114[0] := UInt<2>(3) - wire T_170115 : UInt<3>[3] - T_170115[0] := UInt<3>(0) - T_170115[1] := UInt<3>(1) - T_170115[2] := UInt<3>(2) - wire T_170116 : UInt<2>[2] - T_170116[0] := UInt<2>(0) - T_170116[1] := UInt<2>(1) - wire T_170117 : UInt<2>[3] - T_170117[0] := UInt<2>(1) - T_170117[1] := UInt<2>(2) - T_170117[2] := UInt<2>(3) - wire T_170118 : UInt<2>[2] - T_170118[0] := UInt<2>(2) - T_170118[1] := UInt<2>(3) - wire T_170119 : UInt<2>[1] - T_170119[0] := UInt<2>(3) - wire T_170120 : UInt<3>[3] - T_170120[0] := UInt<3>(0) - T_170120[1] := UInt<3>(1) - T_170120[2] := UInt<3>(2) - wire T_170121 : UInt<0>[1] - T_170121[0] := UInt<0>(0) - wire T_170122 : UInt<2>[2] - T_170122[0] := UInt<2>(1) - T_170122[1] := UInt<2>(2) - wire T_170123 : UInt<2>[2] - T_170123[0] := UInt<2>(1) - T_170123[1] := UInt<2>(2) - wire T_170124 : UInt<2>[1] - T_170124[0] := UInt<2>(2) - wire T_170125 : UInt<3>[3] - T_170125[0] := UInt<3>(0) - T_170125[1] := UInt<3>(1) - T_170125[2] := UInt<3>(2) - wire T_170126 : UInt<2>[2] - T_170126[0] := UInt<2>(0) - T_170126[1] := UInt<2>(1) - wire T_170127 : UInt<2>[3] - T_170127[0] := UInt<2>(1) - T_170127[1] := UInt<2>(2) - T_170127[2] := UInt<2>(3) - wire T_170128 : UInt<2>[2] - T_170128[0] := UInt<2>(2) - T_170128[1] := UInt<2>(3) - wire T_170129 : UInt<2>[1] - T_170129[0] := UInt<2>(3) - wire T_170130 : UInt<3>[3] - T_170130[0] := UInt<3>(0) - T_170130[1] := UInt<3>(1) - T_170130[2] := UInt<3>(2) - wire T_170131 : UInt<2>[2] - T_170131[0] := UInt<2>(0) - T_170131[1] := UInt<2>(1) - wire T_170132 : UInt<2>[3] - T_170132[0] := UInt<2>(1) - T_170132[1] := UInt<2>(2) - T_170132[2] := UInt<2>(3) - wire T_170133 : UInt<2>[2] - T_170133[0] := UInt<2>(2) - T_170133[1] := UInt<2>(3) - wire T_170134 : UInt<2>[1] - T_170134[0] := UInt<2>(3) - wire T_170135 : UInt<3>[3] - T_170135[0] := UInt<3>(0) - T_170135[1] := UInt<3>(1) - T_170135[2] := UInt<3>(2) - wire T_170136 : UInt<0>[1] - T_170136[0] := UInt<0>(0) - wire T_170137 : UInt<2>[2] - T_170137[0] := UInt<2>(1) - T_170137[1] := UInt<2>(2) - wire T_170138 : UInt<2>[2] - T_170138[0] := UInt<2>(1) - T_170138[1] := UInt<2>(2) - wire T_170139 : UInt<2>[1] - T_170139[0] := UInt<2>(2) - wire T_170140 : UInt<3>[3] - T_170140[0] := UInt<3>(0) - T_170140[1] := UInt<3>(1) - T_170140[2] := UInt<3>(2) - wire T_170141 : UInt<2>[2] - T_170141[0] := UInt<2>(0) - T_170141[1] := UInt<2>(1) - wire T_170142 : UInt<2>[3] - T_170142[0] := UInt<2>(1) - T_170142[1] := UInt<2>(2) - T_170142[2] := UInt<2>(3) - wire T_170143 : UInt<2>[2] - T_170143[0] := UInt<2>(2) - T_170143[1] := UInt<2>(3) - wire T_170144 : UInt<2>[1] - T_170144[0] := UInt<2>(3) - wire T_170145 : UInt<3>[3] - T_170145[0] := UInt<3>(0) - T_170145[1] := UInt<3>(1) - T_170145[2] := UInt<3>(2) - wire T_170146 : UInt<2>[2] - T_170146[0] := UInt<2>(0) - T_170146[1] := UInt<2>(1) - wire T_170147 : UInt<2>[3] - T_170147[0] := UInt<2>(1) - T_170147[1] := UInt<2>(2) - T_170147[2] := UInt<2>(3) - wire T_170148 : UInt<2>[2] - T_170148[0] := UInt<2>(2) - T_170148[1] := UInt<2>(3) - wire T_170149 : UInt<2>[1] - T_170149[0] := UInt<2>(3) - wire T_170150 : UInt<3>[3] - T_170150[0] := UInt<3>(0) - T_170150[1] := UInt<3>(1) - T_170150[2] := UInt<3>(2) - wire T_170151 : UInt<0>[1] - T_170151[0] := UInt<0>(0) - wire T_170152 : UInt<2>[2] - T_170152[0] := UInt<2>(1) - T_170152[1] := UInt<2>(2) - wire T_170153 : UInt<2>[2] - T_170153[0] := UInt<2>(1) - T_170153[1] := UInt<2>(2) - wire T_170154 : UInt<2>[1] - T_170154[0] := UInt<2>(2) - wire T_170155 : UInt<3>[3] - T_170155[0] := UInt<3>(0) - T_170155[1] := UInt<3>(1) - T_170155[2] := UInt<3>(2) - wire T_170156 : UInt<2>[2] - T_170156[0] := UInt<2>(0) - T_170156[1] := UInt<2>(1) - wire T_170157 : UInt<2>[3] - T_170157[0] := UInt<2>(1) - T_170157[1] := UInt<2>(2) - T_170157[2] := UInt<2>(3) - wire T_170158 : UInt<2>[2] - T_170158[0] := UInt<2>(2) - T_170158[1] := UInt<2>(3) - wire T_170159 : UInt<2>[1] - T_170159[0] := UInt<2>(3) - wire T_170160 : UInt<3>[3] - T_170160[0] := UInt<3>(0) - T_170160[1] := UInt<3>(1) - T_170160[2] := UInt<3>(2) - wire T_170161 : UInt<2>[2] - T_170161[0] := UInt<2>(0) - T_170161[1] := UInt<2>(1) - wire T_170162 : UInt<2>[3] - T_170162[0] := UInt<2>(1) - T_170162[1] := UInt<2>(2) - T_170162[2] := UInt<2>(3) - wire T_170163 : UInt<2>[2] - T_170163[0] := UInt<2>(2) - T_170163[1] := UInt<2>(3) - wire T_170164 : UInt<2>[1] - T_170164[0] := UInt<2>(3) - wire T_170165 : UInt<3>[3] - T_170165[0] := UInt<3>(0) - T_170165[1] := UInt<3>(1) - T_170165[2] := UInt<3>(2) - wire T_170166 : UInt<0>[1] - T_170166[0] := UInt<0>(0) - wire T_170167 : UInt<2>[2] - T_170167[0] := UInt<2>(1) - T_170167[1] := UInt<2>(2) - wire T_170168 : UInt<2>[2] - T_170168[0] := UInt<2>(1) - T_170168[1] := UInt<2>(2) - wire T_170169 : UInt<2>[1] - T_170169[0] := UInt<2>(2) - wire T_170170 : UInt<3>[3] - T_170170[0] := UInt<3>(0) - T_170170[1] := UInt<3>(1) - T_170170[2] := UInt<3>(2) - wire T_170171 : UInt<2>[2] - T_170171[0] := UInt<2>(0) - T_170171[1] := UInt<2>(1) - wire T_170172 : UInt<2>[3] - T_170172[0] := UInt<2>(1) - T_170172[1] := UInt<2>(2) - T_170172[2] := UInt<2>(3) - wire T_170173 : UInt<2>[2] - T_170173[0] := UInt<2>(2) - T_170173[1] := UInt<2>(3) - wire T_170174 : UInt<2>[1] - T_170174[0] := UInt<2>(3) - wire T_170175 : UInt<3>[3] - T_170175[0] := UInt<3>(0) - T_170175[1] := UInt<3>(1) - T_170175[2] := UInt<3>(2) - wire T_170176 : UInt<2>[2] - T_170176[0] := UInt<2>(0) - T_170176[1] := UInt<2>(1) - wire T_170177 : UInt<2>[3] - T_170177[0] := UInt<2>(1) - T_170177[1] := UInt<2>(2) - T_170177[2] := UInt<2>(3) - wire T_170178 : UInt<2>[2] - T_170178[0] := UInt<2>(2) - T_170178[1] := UInt<2>(3) - wire T_170179 : UInt<2>[1] - T_170179[0] := UInt<2>(3) - wire T_170180 : UInt<3>[3] - T_170180[0] := UInt<3>(0) - T_170180[1] := UInt<3>(1) - T_170180[2] := UInt<3>(2) - wire T_170181 : UInt<0>[1] - T_170181[0] := UInt<0>(0) - wire T_170182 : UInt<2>[2] - T_170182[0] := UInt<2>(1) - T_170182[1] := UInt<2>(2) - wire T_170183 : UInt<2>[2] - T_170183[0] := UInt<2>(1) - T_170183[1] := UInt<2>(2) - wire T_170184 : UInt<2>[1] - T_170184[0] := UInt<2>(2) - wire T_170185 : UInt<3>[3] - T_170185[0] := UInt<3>(0) - T_170185[1] := UInt<3>(1) - T_170185[2] := UInt<3>(2) - wire T_170186 : UInt<2>[2] - T_170186[0] := UInt<2>(0) - T_170186[1] := UInt<2>(1) - wire T_170187 : UInt<2>[3] - T_170187[0] := UInt<2>(1) - T_170187[1] := UInt<2>(2) - T_170187[2] := UInt<2>(3) - wire T_170188 : UInt<2>[2] - T_170188[0] := UInt<2>(2) - T_170188[1] := UInt<2>(3) - wire T_170189 : UInt<2>[1] - T_170189[0] := UInt<2>(3) - wire T_170190 : UInt<3>[3] - T_170190[0] := UInt<3>(0) - T_170190[1] := UInt<3>(1) - T_170190[2] := UInt<3>(2) - wire T_170191 : UInt<2>[2] - T_170191[0] := UInt<2>(0) - T_170191[1] := UInt<2>(1) - wire T_170192 : UInt<2>[3] - T_170192[0] := UInt<2>(1) - T_170192[1] := UInt<2>(2) - T_170192[2] := UInt<2>(3) - wire T_170193 : UInt<2>[2] - T_170193[0] := UInt<2>(2) - T_170193[1] := UInt<2>(3) - wire T_170194 : UInt<2>[1] - T_170194[0] := UInt<2>(3) - wire T_170195 : UInt<3>[3] - T_170195[0] := UInt<3>(0) - T_170195[1] := UInt<3>(1) - T_170195[2] := UInt<3>(2) - wire T_170196 : UInt<0>[1] - T_170196[0] := UInt<0>(0) - wire T_170197 : UInt<2>[2] - T_170197[0] := UInt<2>(1) - T_170197[1] := UInt<2>(2) - wire T_170198 : UInt<2>[2] - T_170198[0] := UInt<2>(1) - T_170198[1] := UInt<2>(2) - wire T_170199 : UInt<2>[1] - T_170199[0] := UInt<2>(2) - wire T_170200 : UInt<3>[3] - T_170200[0] := UInt<3>(0) - T_170200[1] := UInt<3>(1) - T_170200[2] := UInt<3>(2) - wire T_170201 : UInt<2>[2] - T_170201[0] := UInt<2>(0) - T_170201[1] := UInt<2>(1) - wire T_170202 : UInt<2>[3] - T_170202[0] := UInt<2>(1) - T_170202[1] := UInt<2>(2) - T_170202[2] := UInt<2>(3) - wire T_170203 : UInt<2>[2] - T_170203[0] := UInt<2>(2) - T_170203[1] := UInt<2>(3) - wire T_170204 : UInt<2>[1] - T_170204[0] := UInt<2>(3) - wire T_170205 : UInt<3>[3] - T_170205[0] := UInt<3>(0) - T_170205[1] := UInt<3>(1) - T_170205[2] := UInt<3>(2) - wire T_170206 : UInt<2>[2] - T_170206[0] := UInt<2>(0) - T_170206[1] := UInt<2>(1) - wire T_170207 : UInt<2>[3] - T_170207[0] := UInt<2>(1) - T_170207[1] := UInt<2>(2) - T_170207[2] := UInt<2>(3) - wire T_170208 : UInt<2>[2] - T_170208[0] := UInt<2>(2) - T_170208[1] := UInt<2>(3) - wire T_170209 : UInt<2>[1] - T_170209[0] := UInt<2>(3) - wire T_170210 : UInt<3>[3] - T_170210[0] := UInt<3>(0) - T_170210[1] := UInt<3>(1) - T_170210[2] := UInt<3>(2) - wire T_170211 : UInt<0>[1] - T_170211[0] := UInt<0>(0) - wire T_170212 : UInt<2>[2] - T_170212[0] := UInt<2>(1) - T_170212[1] := UInt<2>(2) - wire T_170213 : UInt<2>[2] - T_170213[0] := UInt<2>(1) - T_170213[1] := UInt<2>(2) - wire T_170214 : UInt<2>[1] - T_170214[0] := UInt<2>(2) - wire resp : {tag : UInt<14>, coh : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}}[8] - resp[0] := T_170215 - resp[1] := T_170216 - resp[2] := T_170217 - resp[3] := T_170218 - resp[4] := T_170219 - resp[5] := T_170220 - resp[6] := T_170221 - resp[7] := T_170222 - reg rst_cnt : UInt<13> - onreset rst_cnt := UInt<13>(0) - node rst = lt(rst_cnt, UInt<13>(4096)) - wire waddr : UInt<12> - waddr := write.bits.idx - when rst : waddr := rst_cnt - wire T_170223 : UInt<3>[3] - T_170223[0] := UInt<3>(0) - T_170223[1] := UInt<3>(1) - T_170223[2] := UInt<3>(2) - wire T_170224 : UInt<2>[2] - T_170224[0] := UInt<2>(0) - T_170224[1] := UInt<2>(1) - wire T_170225 : UInt<2>[3] - T_170225[0] := UInt<2>(1) - T_170225[1] := UInt<2>(2) - T_170225[2] := UInt<2>(3) - wire T_170226 : UInt<2>[2] - T_170226[0] := UInt<2>(2) - T_170226[1] := UInt<2>(3) - wire T_170227 : UInt<2>[1] - T_170227[0] := UInt<2>(3) - wire T_170228 : UInt<3>[3] - T_170228[0] := UInt<3>(0) - T_170228[1] := UInt<3>(1) - T_170228[2] := UInt<3>(2) - wire T_170229 : UInt<2>[2] - T_170229[0] := UInt<2>(0) - T_170229[1] := UInt<2>(1) - wire T_170230 : UInt<2>[3] - T_170230[0] := UInt<2>(1) - T_170230[1] := UInt<2>(2) - T_170230[2] := UInt<2>(3) - wire T_170231 : UInt<2>[2] - T_170231[0] := UInt<2>(2) - T_170231[1] := UInt<2>(3) - wire T_170232 : UInt<2>[1] - T_170232[0] := UInt<2>(3) - wire T_170233 : UInt<3>[3] - T_170233[0] := UInt<3>(0) - T_170233[1] := UInt<3>(1) - T_170233[2] := UInt<3>(2) - wire T_170234 : UInt<0>[1] - T_170234[0] := UInt<0>(0) - wire T_170235 : UInt<2>[2] - T_170235[0] := UInt<2>(1) - T_170235[1] := UInt<2>(2) - wire T_170236 : UInt<2>[2] - T_170236[0] := UInt<2>(1) - T_170236[1] := UInt<2>(2) - wire T_170237 : UInt<2>[1] - T_170237[0] := UInt<2>(2) - wire T_170238 : {tag : UInt<14>, coh : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}} - T_170238 := write.bits.data - when rst : T_170238 := rstVal - node T_170239 = cat(T_170238.tag, T_170238.coh.inner.sharers) - node T_170240 = cat(UInt<1>(0), T_170238.coh.outer.state) - node T_170241 = cat(UInt<1>(0), T_170240) - node T_170242 = cat(T_170239, T_170241) - node T_170243 = cat(T_170242, UInt<5>(0)) - node T_170244 = cat(UInt<1>(0), T_170238.coh.inner.sharers) - node T_170245 = cat(UInt<1>(0), T_170238.coh.outer.state) - node T_170246 = cat(UInt<1>(0), T_170245) - node T_170247 = cat(T_170244, T_170246) - node T_170248 = cat(T_170247, UInt<6>(0)) - node wdata = cat(T_170243, T_170248) - node T_170249 = asSInt(write.bits.way_en) - wire T_170250 : SInt<8> - T_170250 := T_170249 - when rst : T_170250 := SInt<1>(-1) - node wmask = asUInt(T_170250) - when rst : - node T_170251 = addw(rst_cnt, UInt<1>(1)) - rst_cnt := T_170251 - cmem T_170252 : UInt<288>[4096] - - node T_170253 = or(rst, write.valid) - when T_170253 : - node T_170254 = cat(wdata, wdata) - node T_170255 = cat(T_170254, T_170254) - node T_170256 = cat(T_170255, T_170255) - node T_170257 = bit(wmask, 0) - node T_170258 = bit(wmask, 1) - node T_170259 = bit(wmask, 2) - node T_170260 = bit(wmask, 3) - node T_170261 = bit(wmask, 4) - node T_170262 = bit(wmask, 5) - node T_170263 = bit(wmask, 6) - node T_170264 = bit(wmask, 7) - wire T_170265 : UInt<1>[8] - T_170265[0] := T_170257 - T_170265[1] := T_170258 - T_170265[2] := T_170259 - T_170265[3] := T_170260 - T_170265[4] := T_170261 - T_170265[5] := T_170262 - T_170265[6] := T_170263 - T_170265[7] := T_170264 - node T_170266 = subw(UInt<36>(0), UInt<6>(36)) - node T_170267 = subw(UInt<36>(0), UInt<6>(36)) - node T_170268 = subw(UInt<36>(0), UInt<6>(36)) - node T_170269 = subw(UInt<36>(0), UInt<6>(36)) - node T_170270 = subw(UInt<36>(0), UInt<6>(36)) - node T_170271 = subw(UInt<36>(0), UInt<6>(36)) - node T_170272 = subw(UInt<36>(0), UInt<6>(36)) - node T_170273 = subw(UInt<36>(0), UInt<6>(36)) - wire T_170274 : UInt<36>[8] - T_170274[0] := T_170266 - T_170274[1] := T_170267 - T_170274[2] := T_170268 - T_170274[3] := T_170269 - T_170274[4] := T_170270 - T_170274[5] := T_170271 - T_170274[6] := T_170272 - T_170274[7] := T_170273 - node T_170275 = cat(T_170274[7], T_170274[6]) - node T_170276 = cat(T_170274[5], T_170274[4]) - node T_170277 = cat(T_170275, T_170276) - node T_170278 = cat(T_170274[3], T_170274[2]) - node T_170279 = cat(T_170274[1], T_170274[0]) - node T_170280 = cat(T_170278, T_170279) - node T_170281 = cat(T_170277, T_170280) - accessor T_170282 = T_170252[waddr] - node T_170283 = not(T_170281) - node T_170284 = and(T_170282, T_170283) - node T_170285 = and(T_170256, T_170281) - node T_170286 = or(T_170284, T_170285) - wire T_170287 : UInt<288> - node T_170288 = bits(T_170286, 287, 0) - T_170287 := T_170288 - accessor T_170289 = T_170252[waddr] - T_170289 := T_170287 - reg T_170290 : UInt<12> - when read.valid : T_170290 := read.bits.idx - accessor tags = T_170252[T_170290] - wire T_170291 : UInt<3>[3] - T_170291[0] := UInt<3>(0) - T_170291[1] := UInt<3>(1) - T_170291[2] := UInt<3>(2) - wire T_170292 : UInt<2>[2] - T_170292[0] := UInt<2>(0) - T_170292[1] := UInt<2>(1) - wire T_170293 : UInt<2>[3] - T_170293[0] := UInt<2>(1) - T_170293[1] := UInt<2>(2) - T_170293[2] := UInt<2>(3) - wire T_170294 : UInt<2>[2] - T_170294[0] := UInt<2>(2) - T_170294[1] := UInt<2>(3) - wire T_170295 : UInt<2>[1] - T_170295[0] := UInt<2>(3) - wire T_170296 : UInt<3>[3] - T_170296[0] := UInt<3>(0) - T_170296[1] := UInt<3>(1) - T_170296[2] := UInt<3>(2) - wire T_170297 : UInt<2>[2] - T_170297[0] := UInt<2>(0) - T_170297[1] := UInt<2>(1) - wire T_170298 : UInt<2>[3] - T_170298[0] := UInt<2>(1) - T_170298[1] := UInt<2>(2) - T_170298[2] := UInt<2>(3) - wire T_170299 : UInt<2>[2] - T_170299[0] := UInt<2>(2) - T_170299[1] := UInt<2>(3) - wire T_170300 : UInt<2>[1] - T_170300[0] := UInt<2>(3) - wire T_170301 : UInt<3>[3] - T_170301[0] := UInt<3>(0) - T_170301[1] := UInt<3>(1) - T_170301[2] := UInt<3>(2) - wire T_170302 : UInt<0>[1] - T_170302[0] := UInt<0>(0) - wire T_170303 : UInt<2>[2] - T_170303[0] := UInt<2>(1) - T_170303[1] := UInt<2>(2) - wire T_170304 : UInt<2>[2] - T_170304[0] := UInt<2>(1) - T_170304[1] := UInt<2>(2) - wire T_170305 : UInt<2>[1] - T_170305[0] := UInt<2>(2) - wire T_170306 : UInt<3>[3] - T_170306[0] := UInt<3>(0) - T_170306[1] := UInt<3>(1) - T_170306[2] := UInt<3>(2) - wire T_170307 : UInt<2>[2] - T_170307[0] := UInt<2>(0) - T_170307[1] := UInt<2>(1) - wire T_170308 : UInt<2>[3] - T_170308[0] := UInt<2>(1) - T_170308[1] := UInt<2>(2) - T_170308[2] := UInt<2>(3) - wire T_170309 : UInt<2>[2] - T_170309[0] := UInt<2>(2) - T_170309[1] := UInt<2>(3) - wire T_170310 : UInt<2>[1] - T_170310[0] := UInt<2>(3) - wire T_170311 : UInt<3>[3] - T_170311[0] := UInt<3>(0) - T_170311[1] := UInt<3>(1) - T_170311[2] := UInt<3>(2) - wire T_170312 : UInt<2>[2] - T_170312[0] := UInt<2>(0) - T_170312[1] := UInt<2>(1) - wire T_170313 : UInt<2>[3] - T_170313[0] := UInt<2>(1) - T_170313[1] := UInt<2>(2) - T_170313[2] := UInt<2>(3) - wire T_170314 : UInt<2>[2] - T_170314[0] := UInt<2>(2) - T_170314[1] := UInt<2>(3) - wire T_170315 : UInt<2>[1] - T_170315[0] := UInt<2>(3) - wire T_170316 : UInt<3>[3] - T_170316[0] := UInt<3>(0) - T_170316[1] := UInt<3>(1) - T_170316[2] := UInt<3>(2) - wire T_170317 : UInt<0>[1] - T_170317[0] := UInt<0>(0) - wire T_170318 : UInt<2>[2] - T_170318[0] := UInt<2>(1) - T_170318[1] := UInt<2>(2) - wire T_170319 : UInt<2>[2] - T_170319[0] := UInt<2>(1) - T_170319[1] := UInt<2>(2) - wire T_170320 : UInt<2>[1] - T_170320[0] := UInt<2>(2) - wire T_170321 : UInt<3>[3] - T_170321[0] := UInt<3>(0) - T_170321[1] := UInt<3>(1) - T_170321[2] := UInt<3>(2) - wire T_170322 : UInt<2>[2] - T_170322[0] := UInt<2>(0) - T_170322[1] := UInt<2>(1) - wire T_170323 : UInt<2>[3] - T_170323[0] := UInt<2>(1) - T_170323[1] := UInt<2>(2) - T_170323[2] := UInt<2>(3) - wire T_170324 : UInt<2>[2] - T_170324[0] := UInt<2>(2) - T_170324[1] := UInt<2>(3) - wire T_170325 : UInt<2>[1] - T_170325[0] := UInt<2>(3) - wire T_170326 : UInt<3>[3] - T_170326[0] := UInt<3>(0) - T_170326[1] := UInt<3>(1) - T_170326[2] := UInt<3>(2) - wire T_170327 : UInt<2>[2] - T_170327[0] := UInt<2>(0) - T_170327[1] := UInt<2>(1) - wire T_170328 : UInt<2>[3] - T_170328[0] := UInt<2>(1) - T_170328[1] := UInt<2>(2) - T_170328[2] := UInt<2>(3) - wire T_170329 : UInt<2>[2] - T_170329[0] := UInt<2>(2) - T_170329[1] := UInt<2>(3) - wire T_170330 : UInt<2>[1] - T_170330[0] := UInt<2>(3) - wire T_170331 : UInt<3>[3] - T_170331[0] := UInt<3>(0) - T_170331[1] := UInt<3>(1) - T_170331[2] := UInt<3>(2) - wire T_170332 : UInt<0>[1] - T_170332[0] := UInt<0>(0) - wire T_170333 : UInt<2>[2] - T_170333[0] := UInt<2>(1) - T_170333[1] := UInt<2>(2) - wire T_170334 : UInt<2>[2] - T_170334[0] := UInt<2>(1) - T_170334[1] := UInt<2>(2) - wire T_170335 : UInt<2>[1] - T_170335[0] := UInt<2>(2) - wire T_170336 : UInt<3>[3] - T_170336[0] := UInt<3>(0) - T_170336[1] := UInt<3>(1) - T_170336[2] := UInt<3>(2) - wire T_170337 : UInt<2>[2] - T_170337[0] := UInt<2>(0) - T_170337[1] := UInt<2>(1) - wire T_170338 : UInt<2>[3] - T_170338[0] := UInt<2>(1) - T_170338[1] := UInt<2>(2) - T_170338[2] := UInt<2>(3) - wire T_170339 : UInt<2>[2] - T_170339[0] := UInt<2>(2) - T_170339[1] := UInt<2>(3) - wire T_170340 : UInt<2>[1] - T_170340[0] := UInt<2>(3) - wire T_170341 : UInt<3>[3] - T_170341[0] := UInt<3>(0) - T_170341[1] := UInt<3>(1) - T_170341[2] := UInt<3>(2) - wire T_170342 : UInt<2>[2] - T_170342[0] := UInt<2>(0) - T_170342[1] := UInt<2>(1) - wire T_170343 : UInt<2>[3] - T_170343[0] := UInt<2>(1) - T_170343[1] := UInt<2>(2) - T_170343[2] := UInt<2>(3) - wire T_170344 : UInt<2>[2] - T_170344[0] := UInt<2>(2) - T_170344[1] := UInt<2>(3) - wire T_170345 : UInt<2>[1] - T_170345[0] := UInt<2>(3) - wire T_170346 : UInt<3>[3] - T_170346[0] := UInt<3>(0) - T_170346[1] := UInt<3>(1) - T_170346[2] := UInt<3>(2) - wire T_170347 : UInt<0>[1] - T_170347[0] := UInt<0>(0) - wire T_170348 : UInt<2>[2] - T_170348[0] := UInt<2>(1) - T_170348[1] := UInt<2>(2) - wire T_170349 : UInt<2>[2] - T_170349[0] := UInt<2>(1) - T_170349[1] := UInt<2>(2) - wire T_170350 : UInt<2>[1] - T_170350[0] := UInt<2>(2) - wire T_170351 : UInt<3>[3] - T_170351[0] := UInt<3>(0) - T_170351[1] := UInt<3>(1) - T_170351[2] := UInt<3>(2) - wire T_170352 : UInt<2>[2] - T_170352[0] := UInt<2>(0) - T_170352[1] := UInt<2>(1) - wire T_170353 : UInt<2>[3] - T_170353[0] := UInt<2>(1) - T_170353[1] := UInt<2>(2) - T_170353[2] := UInt<2>(3) - wire T_170354 : UInt<2>[2] - T_170354[0] := UInt<2>(2) - T_170354[1] := UInt<2>(3) - wire T_170355 : UInt<2>[1] - T_170355[0] := UInt<2>(3) - wire T_170356 : UInt<3>[3] - T_170356[0] := UInt<3>(0) - T_170356[1] := UInt<3>(1) - T_170356[2] := UInt<3>(2) - wire T_170357 : UInt<2>[2] - T_170357[0] := UInt<2>(0) - T_170357[1] := UInt<2>(1) - wire T_170358 : UInt<2>[3] - T_170358[0] := UInt<2>(1) - T_170358[1] := UInt<2>(2) - T_170358[2] := UInt<2>(3) - wire T_170359 : UInt<2>[2] - T_170359[0] := UInt<2>(2) - T_170359[1] := UInt<2>(3) - wire T_170360 : UInt<2>[1] - T_170360[0] := UInt<2>(3) - wire T_170361 : UInt<3>[3] - T_170361[0] := UInt<3>(0) - T_170361[1] := UInt<3>(1) - T_170361[2] := UInt<3>(2) - wire T_170362 : UInt<0>[1] - T_170362[0] := UInt<0>(0) - wire T_170363 : UInt<2>[2] - T_170363[0] := UInt<2>(1) - T_170363[1] := UInt<2>(2) - wire T_170364 : UInt<2>[2] - T_170364[0] := UInt<2>(1) - T_170364[1] := UInt<2>(2) - wire T_170365 : UInt<2>[1] - T_170365[0] := UInt<2>(2) - wire T_170366 : UInt<3>[3] - T_170366[0] := UInt<3>(0) - T_170366[1] := UInt<3>(1) - T_170366[2] := UInt<3>(2) - wire T_170367 : UInt<2>[2] - T_170367[0] := UInt<2>(0) - T_170367[1] := UInt<2>(1) - wire T_170368 : UInt<2>[3] - T_170368[0] := UInt<2>(1) - T_170368[1] := UInt<2>(2) - T_170368[2] := UInt<2>(3) - wire T_170369 : UInt<2>[2] - T_170369[0] := UInt<2>(2) - T_170369[1] := UInt<2>(3) - wire T_170370 : UInt<2>[1] - T_170370[0] := UInt<2>(3) - wire T_170371 : UInt<3>[3] - T_170371[0] := UInt<3>(0) - T_170371[1] := UInt<3>(1) - T_170371[2] := UInt<3>(2) - wire T_170372 : UInt<2>[2] - T_170372[0] := UInt<2>(0) - T_170372[1] := UInt<2>(1) - wire T_170373 : UInt<2>[3] - T_170373[0] := UInt<2>(1) - T_170373[1] := UInt<2>(2) - T_170373[2] := UInt<2>(3) - wire T_170374 : UInt<2>[2] - T_170374[0] := UInt<2>(2) - T_170374[1] := UInt<2>(3) - wire T_170375 : UInt<2>[1] - T_170375[0] := UInt<2>(3) - wire T_170376 : UInt<3>[3] - T_170376[0] := UInt<3>(0) - T_170376[1] := UInt<3>(1) - T_170376[2] := UInt<3>(2) - wire T_170377 : UInt<0>[1] - T_170377[0] := UInt<0>(0) - wire T_170378 : UInt<2>[2] - T_170378[0] := UInt<2>(1) - T_170378[1] := UInt<2>(2) - wire T_170379 : UInt<2>[2] - T_170379[0] := UInt<2>(1) - T_170379[1] := UInt<2>(2) - wire T_170380 : UInt<2>[1] - T_170380[0] := UInt<2>(2) - wire T_170381 : UInt<3>[3] - T_170381[0] := UInt<3>(0) - T_170381[1] := UInt<3>(1) - T_170381[2] := UInt<3>(2) - wire T_170382 : UInt<2>[2] - T_170382[0] := UInt<2>(0) - T_170382[1] := UInt<2>(1) - wire T_170383 : UInt<2>[3] - T_170383[0] := UInt<2>(1) - T_170383[1] := UInt<2>(2) - T_170383[2] := UInt<2>(3) - wire T_170384 : UInt<2>[2] - T_170384[0] := UInt<2>(2) - T_170384[1] := UInt<2>(3) - wire T_170385 : UInt<2>[1] - T_170385[0] := UInt<2>(3) - wire T_170386 : UInt<3>[3] - T_170386[0] := UInt<3>(0) - T_170386[1] := UInt<3>(1) - T_170386[2] := UInt<3>(2) - wire T_170387 : UInt<2>[2] - T_170387[0] := UInt<2>(0) - T_170387[1] := UInt<2>(1) - wire T_170388 : UInt<2>[3] - T_170388[0] := UInt<2>(1) - T_170388[1] := UInt<2>(2) - T_170388[2] := UInt<2>(3) - wire T_170389 : UInt<2>[2] - T_170389[0] := UInt<2>(2) - T_170389[1] := UInt<2>(3) - wire T_170390 : UInt<2>[1] - T_170390[0] := UInt<2>(3) - wire T_170391 : UInt<3>[3] - T_170391[0] := UInt<3>(0) - T_170391[1] := UInt<3>(1) - T_170391[2] := UInt<3>(2) - wire T_170392 : UInt<0>[1] - T_170392[0] := UInt<0>(0) - wire T_170393 : UInt<2>[2] - T_170393[0] := UInt<2>(1) - T_170393[1] := UInt<2>(2) - wire T_170394 : UInt<2>[2] - T_170394[0] := UInt<2>(1) - T_170394[1] := UInt<2>(2) - wire T_170395 : UInt<2>[1] - T_170395[0] := UInt<2>(2) - wire T_170396 : UInt<3>[3] - T_170396[0] := UInt<3>(0) - T_170396[1] := UInt<3>(1) - T_170396[2] := UInt<3>(2) - wire T_170397 : UInt<2>[2] - T_170397[0] := UInt<2>(0) - T_170397[1] := UInt<2>(1) - wire T_170398 : UInt<2>[3] - T_170398[0] := UInt<2>(1) - T_170398[1] := UInt<2>(2) - T_170398[2] := UInt<2>(3) - wire T_170399 : UInt<2>[2] - T_170399[0] := UInt<2>(2) - T_170399[1] := UInt<2>(3) - wire T_170400 : UInt<2>[1] - T_170400[0] := UInt<2>(3) - wire T_170401 : UInt<3>[3] - T_170401[0] := UInt<3>(0) - T_170401[1] := UInt<3>(1) - T_170401[2] := UInt<3>(2) - wire T_170402 : UInt<2>[2] - T_170402[0] := UInt<2>(0) - T_170402[1] := UInt<2>(1) - wire T_170403 : UInt<2>[3] - T_170403[0] := UInt<2>(1) - T_170403[1] := UInt<2>(2) - T_170403[2] := UInt<2>(3) - wire T_170404 : UInt<2>[2] - T_170404[0] := UInt<2>(2) - T_170404[1] := UInt<2>(3) - wire T_170405 : UInt<2>[1] - T_170405[0] := UInt<2>(3) - wire T_170406 : UInt<3>[3] - T_170406[0] := UInt<3>(0) - T_170406[1] := UInt<3>(1) - T_170406[2] := UInt<3>(2) - wire T_170407 : UInt<0>[1] - T_170407[0] := UInt<0>(0) - wire T_170408 : UInt<2>[2] - T_170408[0] := UInt<2>(1) - T_170408[1] := UInt<2>(2) - wire T_170409 : UInt<2>[2] - T_170409[0] := UInt<2>(1) - T_170409[1] := UInt<2>(2) - wire T_170410 : UInt<2>[1] - T_170410[0] := UInt<2>(2) - wire T_170411 : UInt<3>[3] - T_170411[0] := UInt<3>(0) - T_170411[1] := UInt<3>(1) - T_170411[2] := UInt<3>(2) - wire T_170412 : UInt<2>[2] - T_170412[0] := UInt<2>(0) - T_170412[1] := UInt<2>(1) - wire T_170413 : UInt<2>[3] - T_170413[0] := UInt<2>(1) - T_170413[1] := UInt<2>(2) - T_170413[2] := UInt<2>(3) - wire T_170414 : UInt<2>[2] - T_170414[0] := UInt<2>(2) - T_170414[1] := UInt<2>(3) - wire T_170415 : UInt<2>[1] - T_170415[0] := UInt<2>(3) - wire T_170416 : UInt<3>[3] - T_170416[0] := UInt<3>(0) - T_170416[1] := UInt<3>(1) - T_170416[2] := UInt<3>(2) - wire T_170417 : UInt<2>[2] - T_170417[0] := UInt<2>(0) - T_170417[1] := UInt<2>(1) - wire T_170418 : UInt<2>[3] - T_170418[0] := UInt<2>(1) - T_170418[1] := UInt<2>(2) - T_170418[2] := UInt<2>(3) - wire T_170419 : UInt<2>[2] - T_170419[0] := UInt<2>(2) - T_170419[1] := UInt<2>(3) - wire T_170420 : UInt<2>[1] - T_170420[0] := UInt<2>(3) - wire T_170421 : UInt<3>[3] - T_170421[0] := UInt<3>(0) - T_170421[1] := UInt<3>(1) - T_170421[2] := UInt<3>(2) - wire T_170422 : UInt<0>[1] - T_170422[0] := UInt<0>(0) - wire T_170423 : UInt<2>[2] - T_170423[0] := UInt<2>(1) - T_170423[1] := UInt<2>(2) - wire T_170424 : UInt<2>[2] - T_170424[0] := UInt<2>(1) - T_170424[1] := UInt<2>(2) - wire T_170425 : UInt<2>[1] - T_170425[0] := UInt<2>(2) - wire T_170426 : UInt<3>[3] - T_170426[0] := UInt<3>(0) - T_170426[1] := UInt<3>(1) - T_170426[2] := UInt<3>(2) - wire T_170427 : UInt<2>[2] - T_170427[0] := UInt<2>(0) - T_170427[1] := UInt<2>(1) - wire T_170428 : UInt<2>[3] - T_170428[0] := UInt<2>(1) - T_170428[1] := UInt<2>(2) - T_170428[2] := UInt<2>(3) - wire T_170429 : UInt<2>[2] - T_170429[0] := UInt<2>(2) - T_170429[1] := UInt<2>(3) - wire T_170430 : UInt<2>[1] - T_170430[0] := UInt<2>(3) - wire T_170431 : UInt<3>[3] - T_170431[0] := UInt<3>(0) - T_170431[1] := UInt<3>(1) - T_170431[2] := UInt<3>(2) - wire T_170432 : UInt<2>[2] - T_170432[0] := UInt<2>(0) - T_170432[1] := UInt<2>(1) - wire T_170433 : UInt<2>[3] - T_170433[0] := UInt<2>(1) - T_170433[1] := UInt<2>(2) - T_170433[2] := UInt<2>(3) - wire T_170434 : UInt<2>[2] - T_170434[0] := UInt<2>(2) - T_170434[1] := UInt<2>(3) - wire T_170435 : UInt<2>[1] - T_170435[0] := UInt<2>(3) - wire T_170436 : UInt<3>[3] - T_170436[0] := UInt<3>(0) - T_170436[1] := UInt<3>(1) - T_170436[2] := UInt<3>(2) - wire T_170437 : UInt<0>[1] - T_170437[0] := UInt<0>(0) - wire T_170438 : UInt<2>[2] - T_170438[0] := UInt<2>(1) - T_170438[1] := UInt<2>(2) - wire T_170439 : UInt<2>[2] - T_170439[0] := UInt<2>(1) - T_170439[1] := UInt<2>(2) - wire T_170440 : UInt<2>[1] - T_170440[0] := UInt<2>(2) - wire T_170441 : UInt<3>[3] - T_170441[0] := UInt<3>(0) - T_170441[1] := UInt<3>(1) - T_170441[2] := UInt<3>(2) - wire T_170442 : UInt<2>[2] - T_170442[0] := UInt<2>(0) - T_170442[1] := UInt<2>(1) - wire T_170443 : UInt<2>[3] - T_170443[0] := UInt<2>(1) - T_170443[1] := UInt<2>(2) - T_170443[2] := UInt<2>(3) - wire T_170444 : UInt<2>[2] - T_170444[0] := UInt<2>(2) - T_170444[1] := UInt<2>(3) - wire T_170445 : UInt<2>[1] - T_170445[0] := UInt<2>(3) - wire T_170446 : UInt<3>[3] - T_170446[0] := UInt<3>(0) - T_170446[1] := UInt<3>(1) - T_170446[2] := UInt<3>(2) - wire T_170447 : UInt<2>[2] - T_170447[0] := UInt<2>(0) - T_170447[1] := UInt<2>(1) - wire T_170448 : UInt<2>[3] - T_170448[0] := UInt<2>(1) - T_170448[1] := UInt<2>(2) - T_170448[2] := UInt<2>(3) - wire T_170449 : UInt<2>[2] - T_170449[0] := UInt<2>(2) - T_170449[1] := UInt<2>(3) - wire T_170450 : UInt<2>[1] - T_170450[0] := UInt<2>(3) - wire T_170451 : UInt<3>[3] - T_170451[0] := UInt<3>(0) - T_170451[1] := UInt<3>(1) - T_170451[2] := UInt<3>(2) - wire T_170452 : UInt<0>[1] - T_170452[0] := UInt<0>(0) - wire T_170453 : UInt<2>[2] - T_170453[0] := UInt<2>(1) - T_170453[1] := UInt<2>(2) - wire T_170454 : UInt<2>[2] - T_170454[0] := UInt<2>(1) - T_170454[1] := UInt<2>(2) - wire T_170455 : UInt<2>[1] - T_170455[0] := UInt<2>(2) - wire T_170456 : UInt<3>[3] - T_170456[0] := UInt<3>(0) - T_170456[1] := UInt<3>(1) - T_170456[2] := UInt<3>(2) - wire T_170457 : UInt<2>[2] - T_170457[0] := UInt<2>(0) - T_170457[1] := UInt<2>(1) - wire T_170458 : UInt<2>[3] - T_170458[0] := UInt<2>(1) - T_170458[1] := UInt<2>(2) - T_170458[2] := UInt<2>(3) - wire T_170459 : UInt<2>[2] - T_170459[0] := UInt<2>(2) - T_170459[1] := UInt<2>(3) - wire T_170460 : UInt<2>[1] - T_170460[0] := UInt<2>(3) - wire T_170461 : UInt<3>[3] - T_170461[0] := UInt<3>(0) - T_170461[1] := UInt<3>(1) - T_170461[2] := UInt<3>(2) - wire T_170462 : UInt<2>[2] - T_170462[0] := UInt<2>(0) - T_170462[1] := UInt<2>(1) - wire T_170463 : UInt<2>[3] - T_170463[0] := UInt<2>(1) - T_170463[1] := UInt<2>(2) - T_170463[2] := UInt<2>(3) - wire T_170464 : UInt<2>[2] - T_170464[0] := UInt<2>(2) - T_170464[1] := UInt<2>(3) - wire T_170465 : UInt<2>[1] - T_170465[0] := UInt<2>(3) - wire T_170466 : UInt<3>[3] - T_170466[0] := UInt<3>(0) - T_170466[1] := UInt<3>(1) - T_170466[2] := UInt<3>(2) - wire T_170467 : UInt<0>[1] - T_170467[0] := UInt<0>(0) - wire T_170468 : UInt<2>[2] - T_170468[0] := UInt<2>(1) - T_170468[1] := UInt<2>(2) - wire T_170469 : UInt<2>[2] - T_170469[0] := UInt<2>(1) - T_170469[1] := UInt<2>(2) - wire T_170470 : UInt<2>[1] - T_170470[0] := UInt<2>(2) - wire T_170471 : UInt<3>[3] - T_170471[0] := UInt<3>(0) - T_170471[1] := UInt<3>(1) - T_170471[2] := UInt<3>(2) - wire T_170472 : UInt<2>[2] - T_170472[0] := UInt<2>(0) - T_170472[1] := UInt<2>(1) - wire T_170473 : UInt<2>[3] - T_170473[0] := UInt<2>(1) - T_170473[1] := UInt<2>(2) - T_170473[2] := UInt<2>(3) - wire T_170474 : UInt<2>[2] - T_170474[0] := UInt<2>(2) - T_170474[1] := UInt<2>(3) - wire T_170475 : UInt<2>[1] - T_170475[0] := UInt<2>(3) - wire T_170476 : UInt<3>[3] - T_170476[0] := UInt<3>(0) - T_170476[1] := UInt<3>(1) - T_170476[2] := UInt<3>(2) - wire T_170477 : UInt<2>[2] - T_170477[0] := UInt<2>(0) - T_170477[1] := UInt<2>(1) - wire T_170478 : UInt<2>[3] - T_170478[0] := UInt<2>(1) - T_170478[1] := UInt<2>(2) - T_170478[2] := UInt<2>(3) - wire T_170479 : UInt<2>[2] - T_170479[0] := UInt<2>(2) - T_170479[1] := UInt<2>(3) - wire T_170480 : UInt<2>[1] - T_170480[0] := UInt<2>(3) - wire T_170481 : UInt<3>[3] - T_170481[0] := UInt<3>(0) - T_170481[1] := UInt<3>(1) - T_170481[2] := UInt<3>(2) - wire T_170482 : UInt<0>[1] - T_170482[0] := UInt<0>(0) - wire T_170483 : UInt<2>[2] - T_170483[0] := UInt<2>(1) - T_170483[1] := UInt<2>(2) - wire T_170484 : UInt<2>[2] - T_170484[0] := UInt<2>(1) - T_170484[1] := UInt<2>(2) - wire T_170485 : UInt<2>[1] - T_170485[0] := UInt<2>(2) - wire T_170486 : UInt<3>[3] - T_170486[0] := UInt<3>(0) - T_170486[1] := UInt<3>(1) - T_170486[2] := UInt<3>(2) - wire T_170487 : UInt<2>[2] - T_170487[0] := UInt<2>(0) - T_170487[1] := UInt<2>(1) - wire T_170488 : UInt<2>[3] - T_170488[0] := UInt<2>(1) - T_170488[1] := UInt<2>(2) - T_170488[2] := UInt<2>(3) - wire T_170489 : UInt<2>[2] - T_170489[0] := UInt<2>(2) - T_170489[1] := UInt<2>(3) - wire T_170490 : UInt<2>[1] - T_170490[0] := UInt<2>(3) - wire T_170491 : UInt<3>[3] - T_170491[0] := UInt<3>(0) - T_170491[1] := UInt<3>(1) - T_170491[2] := UInt<3>(2) - wire T_170492 : UInt<2>[2] - T_170492[0] := UInt<2>(0) - T_170492[1] := UInt<2>(1) - wire T_170493 : UInt<2>[3] - T_170493[0] := UInt<2>(1) - T_170493[1] := UInt<2>(2) - T_170493[2] := UInt<2>(3) - wire T_170494 : UInt<2>[2] - T_170494[0] := UInt<2>(2) - T_170494[1] := UInt<2>(3) - wire T_170495 : UInt<2>[1] - T_170495[0] := UInt<2>(3) - wire T_170496 : UInt<3>[3] - T_170496[0] := UInt<3>(0) - T_170496[1] := UInt<3>(1) - T_170496[2] := UInt<3>(2) - wire T_170497 : UInt<0>[1] - T_170497[0] := UInt<0>(0) - wire T_170498 : UInt<2>[2] - T_170498[0] := UInt<2>(1) - T_170498[1] := UInt<2>(2) - wire T_170499 : UInt<2>[2] - T_170499[0] := UInt<2>(1) - T_170499[1] := UInt<2>(2) - wire T_170500 : UInt<2>[1] - T_170500[0] := UInt<2>(2) - wire T_170501 : UInt<3>[3] - T_170501[0] := UInt<3>(0) - T_170501[1] := UInt<3>(1) - T_170501[2] := UInt<3>(2) - wire T_170502 : UInt<2>[2] - T_170502[0] := UInt<2>(0) - T_170502[1] := UInt<2>(1) - wire T_170503 : UInt<2>[3] - T_170503[0] := UInt<2>(1) - T_170503[1] := UInt<2>(2) - T_170503[2] := UInt<2>(3) - wire T_170504 : UInt<2>[2] - T_170504[0] := UInt<2>(2) - T_170504[1] := UInt<2>(3) - wire T_170505 : UInt<2>[1] - T_170505[0] := UInt<2>(3) - wire T_170506 : UInt<3>[3] - T_170506[0] := UInt<3>(0) - T_170506[1] := UInt<3>(1) - T_170506[2] := UInt<3>(2) - wire T_170507 : UInt<2>[2] - T_170507[0] := UInt<2>(0) - T_170507[1] := UInt<2>(1) - wire T_170508 : UInt<2>[3] - T_170508[0] := UInt<2>(1) - T_170508[1] := UInt<2>(2) - T_170508[2] := UInt<2>(3) - wire T_170509 : UInt<2>[2] - T_170509[0] := UInt<2>(2) - T_170509[1] := UInt<2>(3) - wire T_170510 : UInt<2>[1] - T_170510[0] := UInt<2>(3) - wire T_170511 : UInt<3>[3] - T_170511[0] := UInt<3>(0) - T_170511[1] := UInt<3>(1) - T_170511[2] := UInt<3>(2) - wire T_170512 : UInt<0>[1] - T_170512[0] := UInt<0>(0) - wire T_170513 : UInt<2>[2] - T_170513[0] := UInt<2>(1) - T_170513[1] := UInt<2>(2) - wire T_170514 : UInt<2>[2] - T_170514[0] := UInt<2>(1) - T_170514[1] := UInt<2>(2) - wire T_170515 : UInt<2>[1] - T_170515[0] := UInt<2>(2) - wire T_170516 : UInt<3>[3] - T_170516[0] := UInt<3>(0) - T_170516[1] := UInt<3>(1) - T_170516[2] := UInt<3>(2) - wire T_170517 : UInt<2>[2] - T_170517[0] := UInt<2>(0) - T_170517[1] := UInt<2>(1) - wire T_170518 : UInt<2>[3] - T_170518[0] := UInt<2>(1) - T_170518[1] := UInt<2>(2) - T_170518[2] := UInt<2>(3) - wire T_170519 : UInt<2>[2] - T_170519[0] := UInt<2>(2) - T_170519[1] := UInt<2>(3) - wire T_170520 : UInt<2>[1] - T_170520[0] := UInt<2>(3) - wire T_170521 : UInt<3>[3] - T_170521[0] := UInt<3>(0) - T_170521[1] := UInt<3>(1) - T_170521[2] := UInt<3>(2) - wire T_170522 : UInt<2>[2] - T_170522[0] := UInt<2>(0) - T_170522[1] := UInt<2>(1) - wire T_170523 : UInt<2>[3] - T_170523[0] := UInt<2>(1) - T_170523[1] := UInt<2>(2) - T_170523[2] := UInt<2>(3) - wire T_170524 : UInt<2>[2] - T_170524[0] := UInt<2>(2) - T_170524[1] := UInt<2>(3) - wire T_170525 : UInt<2>[1] - T_170525[0] := UInt<2>(3) - wire T_170526 : UInt<3>[3] - T_170526[0] := UInt<3>(0) - T_170526[1] := UInt<3>(1) - T_170526[2] := UInt<3>(2) - wire T_170527 : UInt<0>[1] - T_170527[0] := UInt<0>(0) - wire T_170528 : UInt<2>[2] - T_170528[0] := UInt<2>(1) - T_170528[1] := UInt<2>(2) - wire T_170529 : UInt<2>[2] - T_170529[0] := UInt<2>(1) - T_170529[1] := UInt<2>(2) - wire T_170530 : UInt<2>[1] - T_170530[0] := UInt<2>(2) - wire T_170531 : UInt<3>[3] - T_170531[0] := UInt<3>(0) - T_170531[1] := UInt<3>(1) - T_170531[2] := UInt<3>(2) - wire T_170532 : UInt<2>[2] - T_170532[0] := UInt<2>(0) - T_170532[1] := UInt<2>(1) - wire T_170533 : UInt<2>[3] - T_170533[0] := UInt<2>(1) - T_170533[1] := UInt<2>(2) - T_170533[2] := UInt<2>(3) - wire T_170534 : UInt<2>[2] - T_170534[0] := UInt<2>(2) - T_170534[1] := UInt<2>(3) - wire T_170535 : UInt<2>[1] - T_170535[0] := UInt<2>(3) - wire T_170536 : UInt<3>[3] - T_170536[0] := UInt<3>(0) - T_170536[1] := UInt<3>(1) - T_170536[2] := UInt<3>(2) - wire T_170537 : UInt<2>[2] - T_170537[0] := UInt<2>(0) - T_170537[1] := UInt<2>(1) - wire T_170538 : UInt<2>[3] - T_170538[0] := UInt<2>(1) - T_170538[1] := UInt<2>(2) - T_170538[2] := UInt<2>(3) - wire T_170539 : UInt<2>[2] - T_170539[0] := UInt<2>(2) - T_170539[1] := UInt<2>(3) - wire T_170540 : UInt<2>[1] - T_170540[0] := UInt<2>(3) - wire T_170541 : UInt<3>[3] - T_170541[0] := UInt<3>(0) - T_170541[1] := UInt<3>(1) - T_170541[2] := UInt<3>(2) - wire T_170542 : UInt<0>[1] - T_170542[0] := UInt<0>(0) - wire T_170543 : UInt<2>[2] - T_170543[0] := UInt<2>(1) - T_170543[1] := UInt<2>(2) - wire T_170544 : UInt<2>[2] - T_170544[0] := UInt<2>(1) - T_170544[1] := UInt<2>(2) - wire T_170545 : UInt<2>[1] - T_170545[0] := UInt<2>(2) - wire T_170546 : UInt<3>[3] - T_170546[0] := UInt<3>(0) - T_170546[1] := UInt<3>(1) - T_170546[2] := UInt<3>(2) - wire T_170547 : UInt<2>[2] - T_170547[0] := UInt<2>(0) - T_170547[1] := UInt<2>(1) - wire T_170548 : UInt<2>[3] - T_170548[0] := UInt<2>(1) - T_170548[1] := UInt<2>(2) - T_170548[2] := UInt<2>(3) - wire T_170549 : UInt<2>[2] - T_170549[0] := UInt<2>(2) - T_170549[1] := UInt<2>(3) - wire T_170550 : UInt<2>[1] - T_170550[0] := UInt<2>(3) - wire T_170551 : UInt<3>[3] - T_170551[0] := UInt<3>(0) - T_170551[1] := UInt<3>(1) - T_170551[2] := UInt<3>(2) - wire T_170552 : UInt<2>[2] - T_170552[0] := UInt<2>(0) - T_170552[1] := UInt<2>(1) - wire T_170553 : UInt<2>[3] - T_170553[0] := UInt<2>(1) - T_170553[1] := UInt<2>(2) - T_170553[2] := UInt<2>(3) - wire T_170554 : UInt<2>[2] - T_170554[0] := UInt<2>(2) - T_170554[1] := UInt<2>(3) - wire T_170555 : UInt<2>[1] - T_170555[0] := UInt<2>(3) - wire T_170556 : UInt<3>[3] - T_170556[0] := UInt<3>(0) - T_170556[1] := UInt<3>(1) - T_170556[2] := UInt<3>(2) - wire T_170557 : UInt<0>[1] - T_170557[0] := UInt<0>(0) - wire T_170558 : UInt<2>[2] - T_170558[0] := UInt<2>(1) - T_170558[1] := UInt<2>(2) - wire T_170559 : UInt<2>[2] - T_170559[0] := UInt<2>(1) - T_170559[1] := UInt<2>(2) - wire T_170560 : UInt<2>[1] - T_170560[0] := UInt<2>(2) - wire T_170561 : {tag : UInt<14>, coh : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}}[8] - node T_170562 = bits(tags, 0, 0) - T_170561[0].coh.outer.makeVoluntaryWriteback$default$4 := T_170562 - node T_170563 = bits(tags, 1, 1) - T_170561[0].coh.outer.makeVoluntaryWriteback$default$3 := T_170563 - node T_170564 = bits(tags, 2, 2) - T_170561[0].coh.outer.makeVoluntaryRelease$default$5 := T_170564 - node T_170565 = bits(tags, 3, 3) - T_170561[0].coh.outer.makeVoluntaryRelease$default$4 := T_170565 - node T_170566 = bits(tags, 4, 4) - T_170561[0].coh.outer.makeRelease$default$3 := T_170566 - node T_170567 = bits(tags, 5, 5) - T_170561[0].coh.outer.makeRelease$default$2 := T_170567 - node T_170568 = bits(tags, 7, 6) - T_170561[0].coh.outer.state := T_170568 - node T_170569 = bits(tags, 8, 8) - T_170561[0].coh.inner.makeGrant$default$4 := T_170569 - node T_170570 = bits(tags, 9, 9) - T_170561[0].coh.inner.makeGrant$default$3 := T_170570 - node T_170571 = bits(tags, 10, 10) - T_170561[0].coh.inner.sharers := T_170571 - node T_170572 = bits(tags, 11, 11) - T_170561[0].coh.outer.makeVoluntaryWriteback$default$4 := T_170572 - node T_170573 = bits(tags, 12, 12) - T_170561[0].coh.outer.makeVoluntaryWriteback$default$3 := T_170573 - node T_170574 = bits(tags, 13, 13) - T_170561[0].coh.outer.makeVoluntaryRelease$default$5 := T_170574 - node T_170575 = bits(tags, 14, 14) - T_170561[0].coh.outer.makeVoluntaryRelease$default$4 := T_170575 - node T_170576 = bits(tags, 15, 15) - T_170561[0].coh.outer.makeRelease$default$3 := T_170576 - node T_170577 = bits(tags, 16, 16) - T_170561[0].coh.outer.makeRelease$default$2 := T_170577 - node T_170578 = bits(tags, 18, 17) - T_170561[0].coh.outer.state := T_170578 - node T_170579 = bits(tags, 19, 19) - T_170561[0].coh.inner.makeGrant$default$4 := T_170579 - node T_170580 = bits(tags, 20, 20) - T_170561[0].coh.inner.makeGrant$default$3 := T_170580 - node T_170581 = bits(tags, 21, 21) - T_170561[0].coh.inner.sharers := T_170581 - node T_170582 = bits(tags, 35, 22) - T_170561[0].tag := T_170582 - node T_170583 = bits(tags, 36, 36) - T_170561[1].coh.outer.makeVoluntaryWriteback$default$4 := T_170583 - node T_170584 = bits(tags, 37, 37) - T_170561[1].coh.outer.makeVoluntaryWriteback$default$3 := T_170584 - node T_170585 = bits(tags, 38, 38) - T_170561[1].coh.outer.makeVoluntaryRelease$default$5 := T_170585 - node T_170586 = bits(tags, 39, 39) - T_170561[1].coh.outer.makeVoluntaryRelease$default$4 := T_170586 - node T_170587 = bits(tags, 40, 40) - T_170561[1].coh.outer.makeRelease$default$3 := T_170587 - node T_170588 = bits(tags, 41, 41) - T_170561[1].coh.outer.makeRelease$default$2 := T_170588 - node T_170589 = bits(tags, 43, 42) - T_170561[1].coh.outer.state := T_170589 - node T_170590 = bits(tags, 44, 44) - T_170561[1].coh.inner.makeGrant$default$4 := T_170590 - node T_170591 = bits(tags, 45, 45) - T_170561[1].coh.inner.makeGrant$default$3 := T_170591 - node T_170592 = bits(tags, 46, 46) - T_170561[1].coh.inner.sharers := T_170592 - node T_170593 = bits(tags, 47, 47) - T_170561[1].coh.outer.makeVoluntaryWriteback$default$4 := T_170593 - node T_170594 = bits(tags, 48, 48) - T_170561[1].coh.outer.makeVoluntaryWriteback$default$3 := T_170594 - node T_170595 = bits(tags, 49, 49) - T_170561[1].coh.outer.makeVoluntaryRelease$default$5 := T_170595 - node T_170596 = bits(tags, 50, 50) - T_170561[1].coh.outer.makeVoluntaryRelease$default$4 := T_170596 - node T_170597 = bits(tags, 51, 51) - T_170561[1].coh.outer.makeRelease$default$3 := T_170597 - node T_170598 = bits(tags, 52, 52) - T_170561[1].coh.outer.makeRelease$default$2 := T_170598 - node T_170599 = bits(tags, 54, 53) - T_170561[1].coh.outer.state := T_170599 - node T_170600 = bits(tags, 55, 55) - T_170561[1].coh.inner.makeGrant$default$4 := T_170600 - node T_170601 = bits(tags, 56, 56) - T_170561[1].coh.inner.makeGrant$default$3 := T_170601 - node T_170602 = bits(tags, 57, 57) - T_170561[1].coh.inner.sharers := T_170602 - node T_170603 = bits(tags, 71, 58) - T_170561[1].tag := T_170603 - node T_170604 = bits(tags, 72, 72) - T_170561[2].coh.outer.makeVoluntaryWriteback$default$4 := T_170604 - node T_170605 = bits(tags, 73, 73) - T_170561[2].coh.outer.makeVoluntaryWriteback$default$3 := T_170605 - node T_170606 = bits(tags, 74, 74) - T_170561[2].coh.outer.makeVoluntaryRelease$default$5 := T_170606 - node T_170607 = bits(tags, 75, 75) - T_170561[2].coh.outer.makeVoluntaryRelease$default$4 := T_170607 - node T_170608 = bits(tags, 76, 76) - T_170561[2].coh.outer.makeRelease$default$3 := T_170608 - node T_170609 = bits(tags, 77, 77) - T_170561[2].coh.outer.makeRelease$default$2 := T_170609 - node T_170610 = bits(tags, 79, 78) - T_170561[2].coh.outer.state := T_170610 - node T_170611 = bits(tags, 80, 80) - T_170561[2].coh.inner.makeGrant$default$4 := T_170611 - node T_170612 = bits(tags, 81, 81) - T_170561[2].coh.inner.makeGrant$default$3 := T_170612 - node T_170613 = bits(tags, 82, 82) - T_170561[2].coh.inner.sharers := T_170613 - node T_170614 = bits(tags, 83, 83) - T_170561[2].coh.outer.makeVoluntaryWriteback$default$4 := T_170614 - node T_170615 = bits(tags, 84, 84) - T_170561[2].coh.outer.makeVoluntaryWriteback$default$3 := T_170615 - node T_170616 = bits(tags, 85, 85) - T_170561[2].coh.outer.makeVoluntaryRelease$default$5 := T_170616 - node T_170617 = bits(tags, 86, 86) - T_170561[2].coh.outer.makeVoluntaryRelease$default$4 := T_170617 - node T_170618 = bits(tags, 87, 87) - T_170561[2].coh.outer.makeRelease$default$3 := T_170618 - node T_170619 = bits(tags, 88, 88) - T_170561[2].coh.outer.makeRelease$default$2 := T_170619 - node T_170620 = bits(tags, 90, 89) - T_170561[2].coh.outer.state := T_170620 - node T_170621 = bits(tags, 91, 91) - T_170561[2].coh.inner.makeGrant$default$4 := T_170621 - node T_170622 = bits(tags, 92, 92) - T_170561[2].coh.inner.makeGrant$default$3 := T_170622 - node T_170623 = bits(tags, 93, 93) - T_170561[2].coh.inner.sharers := T_170623 - node T_170624 = bits(tags, 107, 94) - T_170561[2].tag := T_170624 - node T_170625 = bits(tags, 108, 108) - T_170561[3].coh.outer.makeVoluntaryWriteback$default$4 := T_170625 - node T_170626 = bits(tags, 109, 109) - T_170561[3].coh.outer.makeVoluntaryWriteback$default$3 := T_170626 - node T_170627 = bits(tags, 110, 110) - T_170561[3].coh.outer.makeVoluntaryRelease$default$5 := T_170627 - node T_170628 = bits(tags, 111, 111) - T_170561[3].coh.outer.makeVoluntaryRelease$default$4 := T_170628 - node T_170629 = bits(tags, 112, 112) - T_170561[3].coh.outer.makeRelease$default$3 := T_170629 - node T_170630 = bits(tags, 113, 113) - T_170561[3].coh.outer.makeRelease$default$2 := T_170630 - node T_170631 = bits(tags, 115, 114) - T_170561[3].coh.outer.state := T_170631 - node T_170632 = bits(tags, 116, 116) - T_170561[3].coh.inner.makeGrant$default$4 := T_170632 - node T_170633 = bits(tags, 117, 117) - T_170561[3].coh.inner.makeGrant$default$3 := T_170633 - node T_170634 = bits(tags, 118, 118) - T_170561[3].coh.inner.sharers := T_170634 - node T_170635 = bits(tags, 119, 119) - T_170561[3].coh.outer.makeVoluntaryWriteback$default$4 := T_170635 - node T_170636 = bits(tags, 120, 120) - T_170561[3].coh.outer.makeVoluntaryWriteback$default$3 := T_170636 - node T_170637 = bits(tags, 121, 121) - T_170561[3].coh.outer.makeVoluntaryRelease$default$5 := T_170637 - node T_170638 = bits(tags, 122, 122) - T_170561[3].coh.outer.makeVoluntaryRelease$default$4 := T_170638 - node T_170639 = bits(tags, 123, 123) - T_170561[3].coh.outer.makeRelease$default$3 := T_170639 - node T_170640 = bits(tags, 124, 124) - T_170561[3].coh.outer.makeRelease$default$2 := T_170640 - node T_170641 = bits(tags, 126, 125) - T_170561[3].coh.outer.state := T_170641 - node T_170642 = bits(tags, 127, 127) - T_170561[3].coh.inner.makeGrant$default$4 := T_170642 - node T_170643 = bits(tags, 128, 128) - T_170561[3].coh.inner.makeGrant$default$3 := T_170643 - node T_170644 = bits(tags, 129, 129) - T_170561[3].coh.inner.sharers := T_170644 - node T_170645 = bits(tags, 143, 130) - T_170561[3].tag := T_170645 - node T_170646 = bits(tags, 144, 144) - T_170561[4].coh.outer.makeVoluntaryWriteback$default$4 := T_170646 - node T_170647 = bits(tags, 145, 145) - T_170561[4].coh.outer.makeVoluntaryWriteback$default$3 := T_170647 - node T_170648 = bits(tags, 146, 146) - T_170561[4].coh.outer.makeVoluntaryRelease$default$5 := T_170648 - node T_170649 = bits(tags, 147, 147) - T_170561[4].coh.outer.makeVoluntaryRelease$default$4 := T_170649 - node T_170650 = bits(tags, 148, 148) - T_170561[4].coh.outer.makeRelease$default$3 := T_170650 - node T_170651 = bits(tags, 149, 149) - T_170561[4].coh.outer.makeRelease$default$2 := T_170651 - node T_170652 = bits(tags, 151, 150) - T_170561[4].coh.outer.state := T_170652 - node T_170653 = bits(tags, 152, 152) - T_170561[4].coh.inner.makeGrant$default$4 := T_170653 - node T_170654 = bits(tags, 153, 153) - T_170561[4].coh.inner.makeGrant$default$3 := T_170654 - node T_170655 = bits(tags, 154, 154) - T_170561[4].coh.inner.sharers := T_170655 - node T_170656 = bits(tags, 155, 155) - T_170561[4].coh.outer.makeVoluntaryWriteback$default$4 := T_170656 - node T_170657 = bits(tags, 156, 156) - T_170561[4].coh.outer.makeVoluntaryWriteback$default$3 := T_170657 - node T_170658 = bits(tags, 157, 157) - T_170561[4].coh.outer.makeVoluntaryRelease$default$5 := T_170658 - node T_170659 = bits(tags, 158, 158) - T_170561[4].coh.outer.makeVoluntaryRelease$default$4 := T_170659 - node T_170660 = bits(tags, 159, 159) - T_170561[4].coh.outer.makeRelease$default$3 := T_170660 - node T_170661 = bits(tags, 160, 160) - T_170561[4].coh.outer.makeRelease$default$2 := T_170661 - node T_170662 = bits(tags, 162, 161) - T_170561[4].coh.outer.state := T_170662 - node T_170663 = bits(tags, 163, 163) - T_170561[4].coh.inner.makeGrant$default$4 := T_170663 - node T_170664 = bits(tags, 164, 164) - T_170561[4].coh.inner.makeGrant$default$3 := T_170664 - node T_170665 = bits(tags, 165, 165) - T_170561[4].coh.inner.sharers := T_170665 - node T_170666 = bits(tags, 179, 166) - T_170561[4].tag := T_170666 - node T_170667 = bits(tags, 180, 180) - T_170561[5].coh.outer.makeVoluntaryWriteback$default$4 := T_170667 - node T_170668 = bits(tags, 181, 181) - T_170561[5].coh.outer.makeVoluntaryWriteback$default$3 := T_170668 - node T_170669 = bits(tags, 182, 182) - T_170561[5].coh.outer.makeVoluntaryRelease$default$5 := T_170669 - node T_170670 = bits(tags, 183, 183) - T_170561[5].coh.outer.makeVoluntaryRelease$default$4 := T_170670 - node T_170671 = bits(tags, 184, 184) - T_170561[5].coh.outer.makeRelease$default$3 := T_170671 - node T_170672 = bits(tags, 185, 185) - T_170561[5].coh.outer.makeRelease$default$2 := T_170672 - node T_170673 = bits(tags, 187, 186) - T_170561[5].coh.outer.state := T_170673 - node T_170674 = bits(tags, 188, 188) - T_170561[5].coh.inner.makeGrant$default$4 := T_170674 - node T_170675 = bits(tags, 189, 189) - T_170561[5].coh.inner.makeGrant$default$3 := T_170675 - node T_170676 = bits(tags, 190, 190) - T_170561[5].coh.inner.sharers := T_170676 - node T_170677 = bits(tags, 191, 191) - T_170561[5].coh.outer.makeVoluntaryWriteback$default$4 := T_170677 - node T_170678 = bits(tags, 192, 192) - T_170561[5].coh.outer.makeVoluntaryWriteback$default$3 := T_170678 - node T_170679 = bits(tags, 193, 193) - T_170561[5].coh.outer.makeVoluntaryRelease$default$5 := T_170679 - node T_170680 = bits(tags, 194, 194) - T_170561[5].coh.outer.makeVoluntaryRelease$default$4 := T_170680 - node T_170681 = bits(tags, 195, 195) - T_170561[5].coh.outer.makeRelease$default$3 := T_170681 - node T_170682 = bits(tags, 196, 196) - T_170561[5].coh.outer.makeRelease$default$2 := T_170682 - node T_170683 = bits(tags, 198, 197) - T_170561[5].coh.outer.state := T_170683 - node T_170684 = bits(tags, 199, 199) - T_170561[5].coh.inner.makeGrant$default$4 := T_170684 - node T_170685 = bits(tags, 200, 200) - T_170561[5].coh.inner.makeGrant$default$3 := T_170685 - node T_170686 = bits(tags, 201, 201) - T_170561[5].coh.inner.sharers := T_170686 - node T_170687 = bits(tags, 215, 202) - T_170561[5].tag := T_170687 - node T_170688 = bits(tags, 216, 216) - T_170561[6].coh.outer.makeVoluntaryWriteback$default$4 := T_170688 - node T_170689 = bits(tags, 217, 217) - T_170561[6].coh.outer.makeVoluntaryWriteback$default$3 := T_170689 - node T_170690 = bits(tags, 218, 218) - T_170561[6].coh.outer.makeVoluntaryRelease$default$5 := T_170690 - node T_170691 = bits(tags, 219, 219) - T_170561[6].coh.outer.makeVoluntaryRelease$default$4 := T_170691 - node T_170692 = bits(tags, 220, 220) - T_170561[6].coh.outer.makeRelease$default$3 := T_170692 - node T_170693 = bits(tags, 221, 221) - T_170561[6].coh.outer.makeRelease$default$2 := T_170693 - node T_170694 = bits(tags, 223, 222) - T_170561[6].coh.outer.state := T_170694 - node T_170695 = bits(tags, 224, 224) - T_170561[6].coh.inner.makeGrant$default$4 := T_170695 - node T_170696 = bits(tags, 225, 225) - T_170561[6].coh.inner.makeGrant$default$3 := T_170696 - node T_170697 = bits(tags, 226, 226) - T_170561[6].coh.inner.sharers := T_170697 - node T_170698 = bits(tags, 227, 227) - T_170561[6].coh.outer.makeVoluntaryWriteback$default$4 := T_170698 - node T_170699 = bits(tags, 228, 228) - T_170561[6].coh.outer.makeVoluntaryWriteback$default$3 := T_170699 - node T_170700 = bits(tags, 229, 229) - T_170561[6].coh.outer.makeVoluntaryRelease$default$5 := T_170700 - node T_170701 = bits(tags, 230, 230) - T_170561[6].coh.outer.makeVoluntaryRelease$default$4 := T_170701 - node T_170702 = bits(tags, 231, 231) - T_170561[6].coh.outer.makeRelease$default$3 := T_170702 - node T_170703 = bits(tags, 232, 232) - T_170561[6].coh.outer.makeRelease$default$2 := T_170703 - node T_170704 = bits(tags, 234, 233) - T_170561[6].coh.outer.state := T_170704 - node T_170705 = bits(tags, 235, 235) - T_170561[6].coh.inner.makeGrant$default$4 := T_170705 - node T_170706 = bits(tags, 236, 236) - T_170561[6].coh.inner.makeGrant$default$3 := T_170706 - node T_170707 = bits(tags, 237, 237) - T_170561[6].coh.inner.sharers := T_170707 - node T_170708 = bits(tags, 251, 238) - T_170561[6].tag := T_170708 - node T_170709 = bits(tags, 252, 252) - T_170561[7].coh.outer.makeVoluntaryWriteback$default$4 := T_170709 - node T_170710 = bits(tags, 253, 253) - T_170561[7].coh.outer.makeVoluntaryWriteback$default$3 := T_170710 - node T_170711 = bits(tags, 254, 254) - T_170561[7].coh.outer.makeVoluntaryRelease$default$5 := T_170711 - node T_170712 = bits(tags, 255, 255) - T_170561[7].coh.outer.makeVoluntaryRelease$default$4 := T_170712 - node T_170713 = bits(tags, 256, 256) - T_170561[7].coh.outer.makeRelease$default$3 := T_170713 - node T_170714 = bits(tags, 257, 257) - T_170561[7].coh.outer.makeRelease$default$2 := T_170714 - node T_170715 = bits(tags, 259, 258) - T_170561[7].coh.outer.state := T_170715 - node T_170716 = bits(tags, 260, 260) - T_170561[7].coh.inner.makeGrant$default$4 := T_170716 - node T_170717 = bits(tags, 261, 261) - T_170561[7].coh.inner.makeGrant$default$3 := T_170717 - node T_170718 = bits(tags, 262, 262) - T_170561[7].coh.inner.sharers := T_170718 - node T_170719 = bits(tags, 263, 263) - T_170561[7].coh.outer.makeVoluntaryWriteback$default$4 := T_170719 - node T_170720 = bits(tags, 264, 264) - T_170561[7].coh.outer.makeVoluntaryWriteback$default$3 := T_170720 - node T_170721 = bits(tags, 265, 265) - T_170561[7].coh.outer.makeVoluntaryRelease$default$5 := T_170721 - node T_170722 = bits(tags, 266, 266) - T_170561[7].coh.outer.makeVoluntaryRelease$default$4 := T_170722 - node T_170723 = bits(tags, 267, 267) - T_170561[7].coh.outer.makeRelease$default$3 := T_170723 - node T_170724 = bits(tags, 268, 268) - T_170561[7].coh.outer.makeRelease$default$2 := T_170724 - node T_170725 = bits(tags, 270, 269) - T_170561[7].coh.outer.state := T_170725 - node T_170726 = bits(tags, 271, 271) - T_170561[7].coh.inner.makeGrant$default$4 := T_170726 - node T_170727 = bits(tags, 272, 272) - T_170561[7].coh.inner.makeGrant$default$3 := T_170727 - node T_170728 = bits(tags, 273, 273) - T_170561[7].coh.inner.sharers := T_170728 - node T_170729 = bits(tags, 287, 274) - T_170561[7].tag := T_170729 - resp[0] := T_170561[0] - resp[1] := T_170561[1] - resp[2] := T_170561[2] - resp[3] := T_170561[3] - resp[4] := T_170561[4] - resp[5] := T_170561[5] - resp[6] := T_170561[6] - resp[7] := T_170561[7] - node T_170730 = eq(rst, UInt<1>(0)) - node T_170731 = eq(write.valid, UInt<1>(0)) - node T_170732 = and(T_170730, T_170731) - read.ready := T_170732 - node T_170733 = eq(rst, UInt<1>(0)) - write.ready := T_170733 - module L2MetadataArray : - output read : {flip ready : UInt<1>, valid : UInt<1>, bits : {idx : UInt<12>, id : UInt<2>, tag : UInt<14>}} - input resp : {valid : UInt<1>, bits : {id : UInt<2>, tag_match : UInt<1>, meta : {tag : UInt<14>, coh : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}}, way_en : UInt<8>}} - output write : {flip ready : UInt<1>, valid : UInt<1>, bits : {idx : UInt<12>, way_en : UInt<8>, data : {tag : UInt<14>, coh : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}}, id : UInt<2>}} - - wire T_170734 : UInt<3>[3] - T_170734[0] := UInt<3>(0) - T_170734[1] := UInt<3>(1) - T_170734[2] := UInt<3>(2) - wire T_170735 : UInt<2>[2] - T_170735[0] := UInt<2>(0) - T_170735[1] := UInt<2>(1) - wire T_170736 : UInt<2>[3] - T_170736[0] := UInt<2>(1) - T_170736[1] := UInt<2>(2) - T_170736[2] := UInt<2>(3) - wire T_170737 : UInt<2>[2] - T_170737[0] := UInt<2>(2) - T_170737[1] := UInt<2>(3) - wire T_170738 : UInt<2>[1] - T_170738[0] := UInt<2>(3) - wire T_170739 : UInt<3>[3] - T_170739[0] := UInt<3>(0) - T_170739[1] := UInt<3>(1) - T_170739[2] := UInt<3>(2) - wire T_170740 : UInt<2>[2] - T_170740[0] := UInt<2>(0) - T_170740[1] := UInt<2>(1) - wire T_170741 : UInt<2>[3] - T_170741[0] := UInt<2>(1) - T_170741[1] := UInt<2>(2) - T_170741[2] := UInt<2>(3) - wire T_170742 : UInt<2>[2] - T_170742[0] := UInt<2>(2) - T_170742[1] := UInt<2>(3) - wire T_170743 : UInt<2>[1] - T_170743[0] := UInt<2>(3) - wire T_170744 : UInt<3>[3] - T_170744[0] := UInt<3>(0) - T_170744[1] := UInt<3>(1) - T_170744[2] := UInt<3>(2) - wire T_170745 : UInt<0>[1] - T_170745[0] := UInt<0>(0) - wire T_170746 : UInt<2>[2] - T_170746[0] := UInt<2>(1) - T_170746[1] := UInt<2>(2) - wire T_170747 : UInt<2>[2] - T_170747[0] := UInt<2>(1) - T_170747[1] := UInt<2>(2) - wire T_170748 : UInt<2>[1] - T_170748[0] := UInt<2>(2) - wire T_170749 : UInt<3>[3] - T_170749[0] := UInt<3>(0) - T_170749[1] := UInt<3>(1) - T_170749[2] := UInt<3>(2) - wire T_170750 : UInt<2>[2] - T_170750[0] := UInt<2>(0) - T_170750[1] := UInt<2>(1) - wire T_170751 : UInt<2>[3] - T_170751[0] := UInt<2>(1) - T_170751[1] := UInt<2>(2) - T_170751[2] := UInt<2>(3) - wire T_170752 : UInt<2>[2] - T_170752[0] := UInt<2>(2) - T_170752[1] := UInt<2>(3) - wire T_170753 : UInt<2>[1] - T_170753[0] := UInt<2>(3) - wire T_170754 : UInt<3>[3] - T_170754[0] := UInt<3>(0) - T_170754[1] := UInt<3>(1) - T_170754[2] := UInt<3>(2) - wire T_170755 : UInt<2>[2] - T_170755[0] := UInt<2>(0) - T_170755[1] := UInt<2>(1) - wire T_170756 : UInt<2>[3] - T_170756[0] := UInt<2>(1) - T_170756[1] := UInt<2>(2) - T_170756[2] := UInt<2>(3) - wire T_170757 : UInt<2>[2] - T_170757[0] := UInt<2>(2) - T_170757[1] := UInt<2>(3) - wire T_170758 : UInt<2>[1] - T_170758[0] := UInt<2>(3) - wire T_170759 : UInt<3>[3] - T_170759[0] := UInt<3>(0) - T_170759[1] := UInt<3>(1) - T_170759[2] := UInt<3>(2) - wire T_170760 : UInt<0>[1] - T_170760[0] := UInt<0>(0) - wire T_170761 : UInt<2>[2] - T_170761[0] := UInt<2>(1) - T_170761[1] := UInt<2>(2) - wire T_170762 : UInt<2>[2] - T_170762[0] := UInt<2>(1) - T_170762[1] := UInt<2>(2) - wire T_170763 : UInt<2>[1] - T_170763[0] := UInt<2>(2) - wire T_170764 : UInt<3>[3] - T_170764[0] := UInt<3>(0) - T_170764[1] := UInt<3>(1) - T_170764[2] := UInt<3>(2) - wire T_170765 : UInt<2>[2] - T_170765[0] := UInt<2>(0) - T_170765[1] := UInt<2>(1) - wire T_170766 : UInt<2>[3] - T_170766[0] := UInt<2>(1) - T_170766[1] := UInt<2>(2) - T_170766[2] := UInt<2>(3) - wire T_170767 : UInt<2>[2] - T_170767[0] := UInt<2>(2) - T_170767[1] := UInt<2>(3) - wire T_170768 : UInt<2>[1] - T_170768[0] := UInt<2>(3) - wire T_170769 : UInt<3>[3] - T_170769[0] := UInt<3>(0) - T_170769[1] := UInt<3>(1) - T_170769[2] := UInt<3>(2) - wire T_170770 : UInt<2>[2] - T_170770[0] := UInt<2>(0) - T_170770[1] := UInt<2>(1) - wire T_170771 : UInt<2>[3] - T_170771[0] := UInt<2>(1) - T_170771[1] := UInt<2>(2) - T_170771[2] := UInt<2>(3) - wire T_170772 : UInt<2>[2] - T_170772[0] := UInt<2>(2) - T_170772[1] := UInt<2>(3) - wire T_170773 : UInt<2>[1] - T_170773[0] := UInt<2>(3) - wire T_170774 : UInt<3>[3] - T_170774[0] := UInt<3>(0) - T_170774[1] := UInt<3>(1) - T_170774[2] := UInt<3>(2) - wire T_170775 : UInt<0>[1] - T_170775[0] := UInt<0>(0) - wire T_170776 : UInt<2>[2] - T_170776[0] := UInt<2>(1) - T_170776[1] := UInt<2>(2) - wire T_170777 : UInt<2>[2] - T_170777[0] := UInt<2>(1) - T_170777[1] := UInt<2>(2) - wire T_170778 : UInt<2>[1] - T_170778[0] := UInt<2>(2) - wire T_170779 : UInt<3>[3] - T_170779[0] := UInt<3>(0) - T_170779[1] := UInt<3>(1) - T_170779[2] := UInt<3>(2) - wire T_170780 : UInt<2>[2] - T_170780[0] := UInt<2>(0) - T_170780[1] := UInt<2>(1) - wire T_170781 : UInt<2>[3] - T_170781[0] := UInt<2>(1) - T_170781[1] := UInt<2>(2) - T_170781[2] := UInt<2>(3) - wire T_170782 : UInt<2>[2] - T_170782[0] := UInt<2>(2) - T_170782[1] := UInt<2>(3) - wire T_170783 : UInt<2>[1] - T_170783[0] := UInt<2>(3) - wire T_170784 : UInt<3>[3] - T_170784[0] := UInt<3>(0) - T_170784[1] := UInt<3>(1) - T_170784[2] := UInt<3>(2) - wire T_170785 : UInt<2>[2] - T_170785[0] := UInt<2>(0) - T_170785[1] := UInt<2>(1) - wire T_170786 : UInt<2>[3] - T_170786[0] := UInt<2>(1) - T_170786[1] := UInt<2>(2) - T_170786[2] := UInt<2>(3) - wire T_170787 : UInt<2>[2] - T_170787[0] := UInt<2>(2) - T_170787[1] := UInt<2>(3) - wire T_170788 : UInt<2>[1] - T_170788[0] := UInt<2>(3) - wire T_170789 : UInt<3>[3] - T_170789[0] := UInt<3>(0) - T_170789[1] := UInt<3>(1) - T_170789[2] := UInt<3>(2) - wire T_170790 : UInt<0>[1] - T_170790[0] := UInt<0>(0) - wire T_170791 : UInt<2>[2] - T_170791[0] := UInt<2>(1) - T_170791[1] := UInt<2>(2) - wire T_170792 : UInt<2>[2] - T_170792[0] := UInt<2>(1) - T_170792[1] := UInt<2>(2) - wire T_170793 : UInt<2>[1] - T_170793[0] := UInt<2>(2) - wire T_170794 : UInt<3>[3] - T_170794[0] := UInt<3>(0) - T_170794[1] := UInt<3>(1) - T_170794[2] := UInt<3>(2) - wire T_170795 : UInt<2>[2] - T_170795[0] := UInt<2>(0) - T_170795[1] := UInt<2>(1) - wire T_170796 : UInt<2>[3] - T_170796[0] := UInt<2>(1) - T_170796[1] := UInt<2>(2) - T_170796[2] := UInt<2>(3) - wire T_170797 : UInt<2>[2] - T_170797[0] := UInt<2>(2) - T_170797[1] := UInt<2>(3) - wire T_170798 : UInt<2>[1] - T_170798[0] := UInt<2>(3) - wire T_170799 : UInt<3>[3] - T_170799[0] := UInt<3>(0) - T_170799[1] := UInt<3>(1) - T_170799[2] := UInt<3>(2) - wire T_170800 : UInt<2>[2] - T_170800[0] := UInt<2>(0) - T_170800[1] := UInt<2>(1) - wire T_170801 : UInt<2>[3] - T_170801[0] := UInt<2>(1) - T_170801[1] := UInt<2>(2) - T_170801[2] := UInt<2>(3) - wire T_170802 : UInt<2>[2] - T_170802[0] := UInt<2>(2) - T_170802[1] := UInt<2>(3) - wire T_170803 : UInt<2>[1] - T_170803[0] := UInt<2>(3) - wire T_170804 : UInt<3>[3] - T_170804[0] := UInt<3>(0) - T_170804[1] := UInt<3>(1) - T_170804[2] := UInt<3>(2) - wire T_170805 : UInt<0>[1] - T_170805[0] := UInt<0>(0) - wire T_170806 : UInt<2>[2] - T_170806[0] := UInt<2>(1) - T_170806[1] := UInt<2>(2) - wire T_170807 : UInt<2>[2] - T_170807[0] := UInt<2>(1) - T_170807[1] := UInt<2>(2) - wire T_170808 : UInt<2>[1] - T_170808[0] := UInt<2>(2) - wire T_170809 : UInt<3>[3] - T_170809[0] := UInt<3>(0) - T_170809[1] := UInt<3>(1) - T_170809[2] := UInt<3>(2) - wire T_170810 : UInt<2>[2] - T_170810[0] := UInt<2>(0) - T_170810[1] := UInt<2>(1) - wire T_170811 : UInt<2>[3] - T_170811[0] := UInt<2>(1) - T_170811[1] := UInt<2>(2) - T_170811[2] := UInt<2>(3) - wire T_170812 : UInt<2>[2] - T_170812[0] := UInt<2>(2) - T_170812[1] := UInt<2>(3) - wire T_170813 : UInt<2>[1] - T_170813[0] := UInt<2>(3) - wire T_170814 : UInt<3>[3] - T_170814[0] := UInt<3>(0) - T_170814[1] := UInt<3>(1) - T_170814[2] := UInt<3>(2) - wire T_170815 : UInt<2>[2] - T_170815[0] := UInt<2>(0) - T_170815[1] := UInt<2>(1) - wire T_170816 : UInt<2>[3] - T_170816[0] := UInt<2>(1) - T_170816[1] := UInt<2>(2) - T_170816[2] := UInt<2>(3) - wire T_170817 : UInt<2>[2] - T_170817[0] := UInt<2>(2) - T_170817[1] := UInt<2>(3) - wire T_170818 : UInt<2>[1] - T_170818[0] := UInt<2>(3) - wire T_170819 : UInt<3>[3] - T_170819[0] := UInt<3>(0) - T_170819[1] := UInt<3>(1) - T_170819[2] := UInt<3>(2) - wire T_170820 : UInt<0>[1] - T_170820[0] := UInt<0>(0) - wire T_170821 : UInt<2>[2] - T_170821[0] := UInt<2>(1) - T_170821[1] := UInt<2>(2) - wire T_170822 : UInt<2>[2] - T_170822[0] := UInt<2>(1) - T_170822[1] := UInt<2>(2) - wire T_170823 : UInt<2>[1] - T_170823[0] := UInt<2>(2) - inst meta of MetadataArray - meta.read <> read - meta.write <> write - reg s1_tag : UInt<14> - when read.valid : s1_tag := read.bits.tag - reg s1_id : UInt<2> - when read.valid : s1_id := read.bits.id - node T_170824 = and(read.ready, read.valid) - reg s1_clk_en : UInt<1> - s1_clk_en := T_170824 - node T_170825 = eq(meta.resp[0].tag, s1_tag) - node T_170826 = eq(meta.resp[1].tag, s1_tag) - node T_170827 = eq(meta.resp[2].tag, s1_tag) - node T_170828 = eq(meta.resp[3].tag, s1_tag) - node T_170829 = eq(meta.resp[4].tag, s1_tag) - node T_170830 = eq(meta.resp[5].tag, s1_tag) - node T_170831 = eq(meta.resp[6].tag, s1_tag) - node T_170832 = eq(meta.resp[7].tag, s1_tag) - wire s1_tag_eq_way : UInt<1>[8] - s1_tag_eq_way[0] := T_170825 - s1_tag_eq_way[1] := T_170826 - s1_tag_eq_way[2] := T_170827 - s1_tag_eq_way[3] := T_170828 - s1_tag_eq_way[4] := T_170829 - s1_tag_eq_way[5] := T_170830 - s1_tag_eq_way[6] := T_170831 - s1_tag_eq_way[7] := T_170832 - node T_170833 = neq(meta.resp[0].coh.outer.state, UInt<2>(0)) - node T_170834 = and(s1_tag_eq_way[0], T_170833) - node T_170835 = neq(meta.resp[1].coh.outer.state, UInt<2>(0)) - node T_170836 = and(s1_tag_eq_way[1], T_170835) - node T_170837 = neq(meta.resp[2].coh.outer.state, UInt<2>(0)) - node T_170838 = and(s1_tag_eq_way[2], T_170837) - node T_170839 = neq(meta.resp[3].coh.outer.state, UInt<2>(0)) - node T_170840 = and(s1_tag_eq_way[3], T_170839) - node T_170841 = neq(meta.resp[4].coh.outer.state, UInt<2>(0)) - node T_170842 = and(s1_tag_eq_way[4], T_170841) - node T_170843 = neq(meta.resp[5].coh.outer.state, UInt<2>(0)) - node T_170844 = and(s1_tag_eq_way[5], T_170843) - node T_170845 = neq(meta.resp[6].coh.outer.state, UInt<2>(0)) - node T_170846 = and(s1_tag_eq_way[6], T_170845) - node T_170847 = neq(meta.resp[7].coh.outer.state, UInt<2>(0)) - node T_170848 = and(s1_tag_eq_way[7], T_170847) - wire T_170849 : UInt<1>[8] - T_170849[0] := T_170834 - T_170849[1] := T_170836 - T_170849[2] := T_170838 - T_170849[3] := T_170840 - T_170849[4] := T_170842 - T_170849[5] := T_170844 - T_170849[6] := T_170846 - T_170849[7] := T_170848 - node T_170850 = cat(T_170849[7], T_170849[6]) - node T_170851 = cat(T_170849[5], T_170849[4]) - node T_170852 = cat(T_170850, T_170851) - node T_170853 = cat(T_170849[3], T_170849[2]) - node T_170854 = cat(T_170849[1], T_170849[0]) - node T_170855 = cat(T_170853, T_170854) - node s1_tag_match_way = cat(T_170852, T_170855) - reg s2_tag_match_way : UInt<8> - when s1_clk_en : s2_tag_match_way := s1_tag_match_way - node T_170856 = eq(s2_tag_match_way, UInt<1>(0)) - node s2_tag_match = eq(T_170856, UInt<1>(0)) - wire T_170857 : UInt<3>[3] - T_170857[0] := UInt<3>(0) - T_170857[1] := UInt<3>(1) - T_170857[2] := UInt<3>(2) - wire T_170858 : UInt<2>[2] - T_170858[0] := UInt<2>(0) - T_170858[1] := UInt<2>(1) - wire T_170859 : UInt<2>[3] - T_170859[0] := UInt<2>(1) - T_170859[1] := UInt<2>(2) - T_170859[2] := UInt<2>(3) - wire T_170860 : UInt<2>[2] - T_170860[0] := UInt<2>(2) - T_170860[1] := UInt<2>(3) - wire T_170861 : UInt<2>[1] - T_170861[0] := UInt<2>(3) - wire T_170862 : UInt<3>[3] - T_170862[0] := UInt<3>(0) - T_170862[1] := UInt<3>(1) - T_170862[2] := UInt<3>(2) - wire T_170863 : UInt<2>[2] - T_170863[0] := UInt<2>(0) - T_170863[1] := UInt<2>(1) - wire T_170864 : UInt<2>[3] - T_170864[0] := UInt<2>(1) - T_170864[1] := UInt<2>(2) - T_170864[2] := UInt<2>(3) - wire T_170865 : UInt<2>[2] - T_170865[0] := UInt<2>(2) - T_170865[1] := UInt<2>(3) - wire T_170866 : UInt<2>[1] - T_170866[0] := UInt<2>(3) - wire T_170867 : UInt<3>[3] - T_170867[0] := UInt<3>(0) - T_170867[1] := UInt<3>(1) - T_170867[2] := UInt<3>(2) - wire T_170868 : UInt<0>[1] - T_170868[0] := UInt<0>(0) - wire T_170869 : UInt<2>[2] - T_170869[0] := UInt<2>(1) - T_170869[1] := UInt<2>(2) - wire T_170870 : UInt<2>[2] - T_170870[0] := UInt<2>(1) - T_170870[1] := UInt<2>(2) - wire T_170871 : UInt<2>[1] - T_170871[0] := UInt<2>(2) - reg T_170872 : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}} - when s1_clk_en : T_170872 := meta.resp[0].coh - wire T_170873 : UInt<3>[3] - T_170873[0] := UInt<3>(0) - T_170873[1] := UInt<3>(1) - T_170873[2] := UInt<3>(2) - wire T_170874 : UInt<2>[2] - T_170874[0] := UInt<2>(0) - T_170874[1] := UInt<2>(1) - wire T_170875 : UInt<2>[3] - T_170875[0] := UInt<2>(1) - T_170875[1] := UInt<2>(2) - T_170875[2] := UInt<2>(3) - wire T_170876 : UInt<2>[2] - T_170876[0] := UInt<2>(2) - T_170876[1] := UInt<2>(3) - wire T_170877 : UInt<2>[1] - T_170877[0] := UInt<2>(3) - wire T_170878 : UInt<3>[3] - T_170878[0] := UInt<3>(0) - T_170878[1] := UInt<3>(1) - T_170878[2] := UInt<3>(2) - wire T_170879 : UInt<2>[2] - T_170879[0] := UInt<2>(0) - T_170879[1] := UInt<2>(1) - wire T_170880 : UInt<2>[3] - T_170880[0] := UInt<2>(1) - T_170880[1] := UInt<2>(2) - T_170880[2] := UInt<2>(3) - wire T_170881 : UInt<2>[2] - T_170881[0] := UInt<2>(2) - T_170881[1] := UInt<2>(3) - wire T_170882 : UInt<2>[1] - T_170882[0] := UInt<2>(3) - wire T_170883 : UInt<3>[3] - T_170883[0] := UInt<3>(0) - T_170883[1] := UInt<3>(1) - T_170883[2] := UInt<3>(2) - wire T_170884 : UInt<0>[1] - T_170884[0] := UInt<0>(0) - wire T_170885 : UInt<2>[2] - T_170885[0] := UInt<2>(1) - T_170885[1] := UInt<2>(2) - wire T_170886 : UInt<2>[2] - T_170886[0] := UInt<2>(1) - T_170886[1] := UInt<2>(2) - wire T_170887 : UInt<2>[1] - T_170887[0] := UInt<2>(2) - reg T_170888 : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}} - when s1_clk_en : T_170888 := meta.resp[1].coh - wire T_170889 : UInt<3>[3] - T_170889[0] := UInt<3>(0) - T_170889[1] := UInt<3>(1) - T_170889[2] := UInt<3>(2) - wire T_170890 : UInt<2>[2] - T_170890[0] := UInt<2>(0) - T_170890[1] := UInt<2>(1) - wire T_170891 : UInt<2>[3] - T_170891[0] := UInt<2>(1) - T_170891[1] := UInt<2>(2) - T_170891[2] := UInt<2>(3) - wire T_170892 : UInt<2>[2] - T_170892[0] := UInt<2>(2) - T_170892[1] := UInt<2>(3) - wire T_170893 : UInt<2>[1] - T_170893[0] := UInt<2>(3) - wire T_170894 : UInt<3>[3] - T_170894[0] := UInt<3>(0) - T_170894[1] := UInt<3>(1) - T_170894[2] := UInt<3>(2) - wire T_170895 : UInt<2>[2] - T_170895[0] := UInt<2>(0) - T_170895[1] := UInt<2>(1) - wire T_170896 : UInt<2>[3] - T_170896[0] := UInt<2>(1) - T_170896[1] := UInt<2>(2) - T_170896[2] := UInt<2>(3) - wire T_170897 : UInt<2>[2] - T_170897[0] := UInt<2>(2) - T_170897[1] := UInt<2>(3) - wire T_170898 : UInt<2>[1] - T_170898[0] := UInt<2>(3) - wire T_170899 : UInt<3>[3] - T_170899[0] := UInt<3>(0) - T_170899[1] := UInt<3>(1) - T_170899[2] := UInt<3>(2) - wire T_170900 : UInt<0>[1] - T_170900[0] := UInt<0>(0) - wire T_170901 : UInt<2>[2] - T_170901[0] := UInt<2>(1) - T_170901[1] := UInt<2>(2) - wire T_170902 : UInt<2>[2] - T_170902[0] := UInt<2>(1) - T_170902[1] := UInt<2>(2) - wire T_170903 : UInt<2>[1] - T_170903[0] := UInt<2>(2) - reg T_170904 : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}} - when s1_clk_en : T_170904 := meta.resp[2].coh - wire T_170905 : UInt<3>[3] - T_170905[0] := UInt<3>(0) - T_170905[1] := UInt<3>(1) - T_170905[2] := UInt<3>(2) - wire T_170906 : UInt<2>[2] - T_170906[0] := UInt<2>(0) - T_170906[1] := UInt<2>(1) - wire T_170907 : UInt<2>[3] - T_170907[0] := UInt<2>(1) - T_170907[1] := UInt<2>(2) - T_170907[2] := UInt<2>(3) - wire T_170908 : UInt<2>[2] - T_170908[0] := UInt<2>(2) - T_170908[1] := UInt<2>(3) - wire T_170909 : UInt<2>[1] - T_170909[0] := UInt<2>(3) - wire T_170910 : UInt<3>[3] - T_170910[0] := UInt<3>(0) - T_170910[1] := UInt<3>(1) - T_170910[2] := UInt<3>(2) - wire T_170911 : UInt<2>[2] - T_170911[0] := UInt<2>(0) - T_170911[1] := UInt<2>(1) - wire T_170912 : UInt<2>[3] - T_170912[0] := UInt<2>(1) - T_170912[1] := UInt<2>(2) - T_170912[2] := UInt<2>(3) - wire T_170913 : UInt<2>[2] - T_170913[0] := UInt<2>(2) - T_170913[1] := UInt<2>(3) - wire T_170914 : UInt<2>[1] - T_170914[0] := UInt<2>(3) - wire T_170915 : UInt<3>[3] - T_170915[0] := UInt<3>(0) - T_170915[1] := UInt<3>(1) - T_170915[2] := UInt<3>(2) - wire T_170916 : UInt<0>[1] - T_170916[0] := UInt<0>(0) - wire T_170917 : UInt<2>[2] - T_170917[0] := UInt<2>(1) - T_170917[1] := UInt<2>(2) - wire T_170918 : UInt<2>[2] - T_170918[0] := UInt<2>(1) - T_170918[1] := UInt<2>(2) - wire T_170919 : UInt<2>[1] - T_170919[0] := UInt<2>(2) - reg T_170920 : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}} - when s1_clk_en : T_170920 := meta.resp[3].coh - wire T_170921 : UInt<3>[3] - T_170921[0] := UInt<3>(0) - T_170921[1] := UInt<3>(1) - T_170921[2] := UInt<3>(2) - wire T_170922 : UInt<2>[2] - T_170922[0] := UInt<2>(0) - T_170922[1] := UInt<2>(1) - wire T_170923 : UInt<2>[3] - T_170923[0] := UInt<2>(1) - T_170923[1] := UInt<2>(2) - T_170923[2] := UInt<2>(3) - wire T_170924 : UInt<2>[2] - T_170924[0] := UInt<2>(2) - T_170924[1] := UInt<2>(3) - wire T_170925 : UInt<2>[1] - T_170925[0] := UInt<2>(3) - wire T_170926 : UInt<3>[3] - T_170926[0] := UInt<3>(0) - T_170926[1] := UInt<3>(1) - T_170926[2] := UInt<3>(2) - wire T_170927 : UInt<2>[2] - T_170927[0] := UInt<2>(0) - T_170927[1] := UInt<2>(1) - wire T_170928 : UInt<2>[3] - T_170928[0] := UInt<2>(1) - T_170928[1] := UInt<2>(2) - T_170928[2] := UInt<2>(3) - wire T_170929 : UInt<2>[2] - T_170929[0] := UInt<2>(2) - T_170929[1] := UInt<2>(3) - wire T_170930 : UInt<2>[1] - T_170930[0] := UInt<2>(3) - wire T_170931 : UInt<3>[3] - T_170931[0] := UInt<3>(0) - T_170931[1] := UInt<3>(1) - T_170931[2] := UInt<3>(2) - wire T_170932 : UInt<0>[1] - T_170932[0] := UInt<0>(0) - wire T_170933 : UInt<2>[2] - T_170933[0] := UInt<2>(1) - T_170933[1] := UInt<2>(2) - wire T_170934 : UInt<2>[2] - T_170934[0] := UInt<2>(1) - T_170934[1] := UInt<2>(2) - wire T_170935 : UInt<2>[1] - T_170935[0] := UInt<2>(2) - reg T_170936 : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}} - when s1_clk_en : T_170936 := meta.resp[4].coh - wire T_170937 : UInt<3>[3] - T_170937[0] := UInt<3>(0) - T_170937[1] := UInt<3>(1) - T_170937[2] := UInt<3>(2) - wire T_170938 : UInt<2>[2] - T_170938[0] := UInt<2>(0) - T_170938[1] := UInt<2>(1) - wire T_170939 : UInt<2>[3] - T_170939[0] := UInt<2>(1) - T_170939[1] := UInt<2>(2) - T_170939[2] := UInt<2>(3) - wire T_170940 : UInt<2>[2] - T_170940[0] := UInt<2>(2) - T_170940[1] := UInt<2>(3) - wire T_170941 : UInt<2>[1] - T_170941[0] := UInt<2>(3) - wire T_170942 : UInt<3>[3] - T_170942[0] := UInt<3>(0) - T_170942[1] := UInt<3>(1) - T_170942[2] := UInt<3>(2) - wire T_170943 : UInt<2>[2] - T_170943[0] := UInt<2>(0) - T_170943[1] := UInt<2>(1) - wire T_170944 : UInt<2>[3] - T_170944[0] := UInt<2>(1) - T_170944[1] := UInt<2>(2) - T_170944[2] := UInt<2>(3) - wire T_170945 : UInt<2>[2] - T_170945[0] := UInt<2>(2) - T_170945[1] := UInt<2>(3) - wire T_170946 : UInt<2>[1] - T_170946[0] := UInt<2>(3) - wire T_170947 : UInt<3>[3] - T_170947[0] := UInt<3>(0) - T_170947[1] := UInt<3>(1) - T_170947[2] := UInt<3>(2) - wire T_170948 : UInt<0>[1] - T_170948[0] := UInt<0>(0) - wire T_170949 : UInt<2>[2] - T_170949[0] := UInt<2>(1) - T_170949[1] := UInt<2>(2) - wire T_170950 : UInt<2>[2] - T_170950[0] := UInt<2>(1) - T_170950[1] := UInt<2>(2) - wire T_170951 : UInt<2>[1] - T_170951[0] := UInt<2>(2) - reg T_170952 : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}} - when s1_clk_en : T_170952 := meta.resp[5].coh - wire T_170953 : UInt<3>[3] - T_170953[0] := UInt<3>(0) - T_170953[1] := UInt<3>(1) - T_170953[2] := UInt<3>(2) - wire T_170954 : UInt<2>[2] - T_170954[0] := UInt<2>(0) - T_170954[1] := UInt<2>(1) - wire T_170955 : UInt<2>[3] - T_170955[0] := UInt<2>(1) - T_170955[1] := UInt<2>(2) - T_170955[2] := UInt<2>(3) - wire T_170956 : UInt<2>[2] - T_170956[0] := UInt<2>(2) - T_170956[1] := UInt<2>(3) - wire T_170957 : UInt<2>[1] - T_170957[0] := UInt<2>(3) - wire T_170958 : UInt<3>[3] - T_170958[0] := UInt<3>(0) - T_170958[1] := UInt<3>(1) - T_170958[2] := UInt<3>(2) - wire T_170959 : UInt<2>[2] - T_170959[0] := UInt<2>(0) - T_170959[1] := UInt<2>(1) - wire T_170960 : UInt<2>[3] - T_170960[0] := UInt<2>(1) - T_170960[1] := UInt<2>(2) - T_170960[2] := UInt<2>(3) - wire T_170961 : UInt<2>[2] - T_170961[0] := UInt<2>(2) - T_170961[1] := UInt<2>(3) - wire T_170962 : UInt<2>[1] - T_170962[0] := UInt<2>(3) - wire T_170963 : UInt<3>[3] - T_170963[0] := UInt<3>(0) - T_170963[1] := UInt<3>(1) - T_170963[2] := UInt<3>(2) - wire T_170964 : UInt<0>[1] - T_170964[0] := UInt<0>(0) - wire T_170965 : UInt<2>[2] - T_170965[0] := UInt<2>(1) - T_170965[1] := UInt<2>(2) - wire T_170966 : UInt<2>[2] - T_170966[0] := UInt<2>(1) - T_170966[1] := UInt<2>(2) - wire T_170967 : UInt<2>[1] - T_170967[0] := UInt<2>(2) - reg T_170968 : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}} - when s1_clk_en : T_170968 := meta.resp[6].coh - wire T_170969 : UInt<3>[3] - T_170969[0] := UInt<3>(0) - T_170969[1] := UInt<3>(1) - T_170969[2] := UInt<3>(2) - wire T_170970 : UInt<2>[2] - T_170970[0] := UInt<2>(0) - T_170970[1] := UInt<2>(1) - wire T_170971 : UInt<2>[3] - T_170971[0] := UInt<2>(1) - T_170971[1] := UInt<2>(2) - T_170971[2] := UInt<2>(3) - wire T_170972 : UInt<2>[2] - T_170972[0] := UInt<2>(2) - T_170972[1] := UInt<2>(3) - wire T_170973 : UInt<2>[1] - T_170973[0] := UInt<2>(3) - wire T_170974 : UInt<3>[3] - T_170974[0] := UInt<3>(0) - T_170974[1] := UInt<3>(1) - T_170974[2] := UInt<3>(2) - wire T_170975 : UInt<2>[2] - T_170975[0] := UInt<2>(0) - T_170975[1] := UInt<2>(1) - wire T_170976 : UInt<2>[3] - T_170976[0] := UInt<2>(1) - T_170976[1] := UInt<2>(2) - T_170976[2] := UInt<2>(3) - wire T_170977 : UInt<2>[2] - T_170977[0] := UInt<2>(2) - T_170977[1] := UInt<2>(3) - wire T_170978 : UInt<2>[1] - T_170978[0] := UInt<2>(3) - wire T_170979 : UInt<3>[3] - T_170979[0] := UInt<3>(0) - T_170979[1] := UInt<3>(1) - T_170979[2] := UInt<3>(2) - wire T_170980 : UInt<0>[1] - T_170980[0] := UInt<0>(0) - wire T_170981 : UInt<2>[2] - T_170981[0] := UInt<2>(1) - T_170981[1] := UInt<2>(2) - wire T_170982 : UInt<2>[2] - T_170982[0] := UInt<2>(1) - T_170982[1] := UInt<2>(2) - wire T_170983 : UInt<2>[1] - T_170983[0] := UInt<2>(2) - reg T_170984 : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}} - when s1_clk_en : T_170984 := meta.resp[7].coh - wire T_170985 : UInt<3>[3] - T_170985[0] := UInt<3>(0) - T_170985[1] := UInt<3>(1) - T_170985[2] := UInt<3>(2) - wire T_170986 : UInt<2>[2] - T_170986[0] := UInt<2>(0) - T_170986[1] := UInt<2>(1) - wire T_170987 : UInt<2>[3] - T_170987[0] := UInt<2>(1) - T_170987[1] := UInt<2>(2) - T_170987[2] := UInt<2>(3) - wire T_170988 : UInt<2>[2] - T_170988[0] := UInt<2>(2) - T_170988[1] := UInt<2>(3) - wire T_170989 : UInt<2>[1] - T_170989[0] := UInt<2>(3) - wire T_170990 : UInt<3>[3] - T_170990[0] := UInt<3>(0) - T_170990[1] := UInt<3>(1) - T_170990[2] := UInt<3>(2) - wire T_170991 : UInt<2>[2] - T_170991[0] := UInt<2>(0) - T_170991[1] := UInt<2>(1) - wire T_170992 : UInt<2>[3] - T_170992[0] := UInt<2>(1) - T_170992[1] := UInt<2>(2) - T_170992[2] := UInt<2>(3) - wire T_170993 : UInt<2>[2] - T_170993[0] := UInt<2>(2) - T_170993[1] := UInt<2>(3) - wire T_170994 : UInt<2>[1] - T_170994[0] := UInt<2>(3) - wire T_170995 : UInt<3>[3] - T_170995[0] := UInt<3>(0) - T_170995[1] := UInt<3>(1) - T_170995[2] := UInt<3>(2) - wire T_170996 : UInt<0>[1] - T_170996[0] := UInt<0>(0) - wire T_170997 : UInt<2>[2] - T_170997[0] := UInt<2>(1) - T_170997[1] := UInt<2>(2) - wire T_170998 : UInt<2>[2] - T_170998[0] := UInt<2>(1) - T_170998[1] := UInt<2>(2) - wire T_170999 : UInt<2>[1] - T_170999[0] := UInt<2>(2) - wire T_171000 : UInt<3>[3] - T_171000[0] := UInt<3>(0) - T_171000[1] := UInt<3>(1) - T_171000[2] := UInt<3>(2) - wire T_171001 : UInt<2>[2] - T_171001[0] := UInt<2>(0) - T_171001[1] := UInt<2>(1) - wire T_171002 : UInt<2>[3] - T_171002[0] := UInt<2>(1) - T_171002[1] := UInt<2>(2) - T_171002[2] := UInt<2>(3) - wire T_171003 : UInt<2>[2] - T_171003[0] := UInt<2>(2) - T_171003[1] := UInt<2>(3) - wire T_171004 : UInt<2>[1] - T_171004[0] := UInt<2>(3) - wire T_171005 : UInt<3>[3] - T_171005[0] := UInt<3>(0) - T_171005[1] := UInt<3>(1) - T_171005[2] := UInt<3>(2) - wire T_171006 : UInt<2>[2] - T_171006[0] := UInt<2>(0) - T_171006[1] := UInt<2>(1) - wire T_171007 : UInt<2>[3] - T_171007[0] := UInt<2>(1) - T_171007[1] := UInt<2>(2) - T_171007[2] := UInt<2>(3) - wire T_171008 : UInt<2>[2] - T_171008[0] := UInt<2>(2) - T_171008[1] := UInt<2>(3) - wire T_171009 : UInt<2>[1] - T_171009[0] := UInt<2>(3) - wire T_171010 : UInt<3>[3] - T_171010[0] := UInt<3>(0) - T_171010[1] := UInt<3>(1) - T_171010[2] := UInt<3>(2) - wire T_171011 : UInt<0>[1] - T_171011[0] := UInt<0>(0) - wire T_171012 : UInt<2>[2] - T_171012[0] := UInt<2>(1) - T_171012[1] := UInt<2>(2) - wire T_171013 : UInt<2>[2] - T_171013[0] := UInt<2>(1) - T_171013[1] := UInt<2>(2) - wire T_171014 : UInt<2>[1] - T_171014[0] := UInt<2>(2) - wire T_171015 : UInt<3>[3] - T_171015[0] := UInt<3>(0) - T_171015[1] := UInt<3>(1) - T_171015[2] := UInt<3>(2) - wire T_171016 : UInt<2>[2] - T_171016[0] := UInt<2>(0) - T_171016[1] := UInt<2>(1) - wire T_171017 : UInt<2>[3] - T_171017[0] := UInt<2>(1) - T_171017[1] := UInt<2>(2) - T_171017[2] := UInt<2>(3) - wire T_171018 : UInt<2>[2] - T_171018[0] := UInt<2>(2) - T_171018[1] := UInt<2>(3) - wire T_171019 : UInt<2>[1] - T_171019[0] := UInt<2>(3) - wire T_171020 : UInt<3>[3] - T_171020[0] := UInt<3>(0) - T_171020[1] := UInt<3>(1) - T_171020[2] := UInt<3>(2) - wire T_171021 : UInt<2>[2] - T_171021[0] := UInt<2>(0) - T_171021[1] := UInt<2>(1) - wire T_171022 : UInt<2>[3] - T_171022[0] := UInt<2>(1) - T_171022[1] := UInt<2>(2) - T_171022[2] := UInt<2>(3) - wire T_171023 : UInt<2>[2] - T_171023[0] := UInt<2>(2) - T_171023[1] := UInt<2>(3) - wire T_171024 : UInt<2>[1] - T_171024[0] := UInt<2>(3) - wire T_171025 : UInt<3>[3] - T_171025[0] := UInt<3>(0) - T_171025[1] := UInt<3>(1) - T_171025[2] := UInt<3>(2) - wire T_171026 : UInt<0>[1] - T_171026[0] := UInt<0>(0) - wire T_171027 : UInt<2>[2] - T_171027[0] := UInt<2>(1) - T_171027[1] := UInt<2>(2) - wire T_171028 : UInt<2>[2] - T_171028[0] := UInt<2>(1) - T_171028[1] := UInt<2>(2) - wire T_171029 : UInt<2>[1] - T_171029[0] := UInt<2>(2) - wire T_171030 : UInt<3>[3] - T_171030[0] := UInt<3>(0) - T_171030[1] := UInt<3>(1) - T_171030[2] := UInt<3>(2) - wire T_171031 : UInt<2>[2] - T_171031[0] := UInt<2>(0) - T_171031[1] := UInt<2>(1) - wire T_171032 : UInt<2>[3] - T_171032[0] := UInt<2>(1) - T_171032[1] := UInt<2>(2) - T_171032[2] := UInt<2>(3) - wire T_171033 : UInt<2>[2] - T_171033[0] := UInt<2>(2) - T_171033[1] := UInt<2>(3) - wire T_171034 : UInt<2>[1] - T_171034[0] := UInt<2>(3) - wire T_171035 : UInt<3>[3] - T_171035[0] := UInt<3>(0) - T_171035[1] := UInt<3>(1) - T_171035[2] := UInt<3>(2) - wire T_171036 : UInt<2>[2] - T_171036[0] := UInt<2>(0) - T_171036[1] := UInt<2>(1) - wire T_171037 : UInt<2>[3] - T_171037[0] := UInt<2>(1) - T_171037[1] := UInt<2>(2) - T_171037[2] := UInt<2>(3) - wire T_171038 : UInt<2>[2] - T_171038[0] := UInt<2>(2) - T_171038[1] := UInt<2>(3) - wire T_171039 : UInt<2>[1] - T_171039[0] := UInt<2>(3) - wire T_171040 : UInt<3>[3] - T_171040[0] := UInt<3>(0) - T_171040[1] := UInt<3>(1) - T_171040[2] := UInt<3>(2) - wire T_171041 : UInt<0>[1] - T_171041[0] := UInt<0>(0) - wire T_171042 : UInt<2>[2] - T_171042[0] := UInt<2>(1) - T_171042[1] := UInt<2>(2) - wire T_171043 : UInt<2>[2] - T_171043[0] := UInt<2>(1) - T_171043[1] := UInt<2>(2) - wire T_171044 : UInt<2>[1] - T_171044[0] := UInt<2>(2) - wire T_171045 : UInt<3>[3] - T_171045[0] := UInt<3>(0) - T_171045[1] := UInt<3>(1) - T_171045[2] := UInt<3>(2) - wire T_171046 : UInt<2>[2] - T_171046[0] := UInt<2>(0) - T_171046[1] := UInt<2>(1) - wire T_171047 : UInt<2>[3] - T_171047[0] := UInt<2>(1) - T_171047[1] := UInt<2>(2) - T_171047[2] := UInt<2>(3) - wire T_171048 : UInt<2>[2] - T_171048[0] := UInt<2>(2) - T_171048[1] := UInt<2>(3) - wire T_171049 : UInt<2>[1] - T_171049[0] := UInt<2>(3) - wire T_171050 : UInt<3>[3] - T_171050[0] := UInt<3>(0) - T_171050[1] := UInt<3>(1) - T_171050[2] := UInt<3>(2) - wire T_171051 : UInt<2>[2] - T_171051[0] := UInt<2>(0) - T_171051[1] := UInt<2>(1) - wire T_171052 : UInt<2>[3] - T_171052[0] := UInt<2>(1) - T_171052[1] := UInt<2>(2) - T_171052[2] := UInt<2>(3) - wire T_171053 : UInt<2>[2] - T_171053[0] := UInt<2>(2) - T_171053[1] := UInt<2>(3) - wire T_171054 : UInt<2>[1] - T_171054[0] := UInt<2>(3) - wire T_171055 : UInt<3>[3] - T_171055[0] := UInt<3>(0) - T_171055[1] := UInt<3>(1) - T_171055[2] := UInt<3>(2) - wire T_171056 : UInt<0>[1] - T_171056[0] := UInt<0>(0) - wire T_171057 : UInt<2>[2] - T_171057[0] := UInt<2>(1) - T_171057[1] := UInt<2>(2) - wire T_171058 : UInt<2>[2] - T_171058[0] := UInt<2>(1) - T_171058[1] := UInt<2>(2) - wire T_171059 : UInt<2>[1] - T_171059[0] := UInt<2>(2) - wire T_171060 : UInt<3>[3] - T_171060[0] := UInt<3>(0) - T_171060[1] := UInt<3>(1) - T_171060[2] := UInt<3>(2) - wire T_171061 : UInt<2>[2] - T_171061[0] := UInt<2>(0) - T_171061[1] := UInt<2>(1) - wire T_171062 : UInt<2>[3] - T_171062[0] := UInt<2>(1) - T_171062[1] := UInt<2>(2) - T_171062[2] := UInt<2>(3) - wire T_171063 : UInt<2>[2] - T_171063[0] := UInt<2>(2) - T_171063[1] := UInt<2>(3) - wire T_171064 : UInt<2>[1] - T_171064[0] := UInt<2>(3) - wire T_171065 : UInt<3>[3] - T_171065[0] := UInt<3>(0) - T_171065[1] := UInt<3>(1) - T_171065[2] := UInt<3>(2) - wire T_171066 : UInt<2>[2] - T_171066[0] := UInt<2>(0) - T_171066[1] := UInt<2>(1) - wire T_171067 : UInt<2>[3] - T_171067[0] := UInt<2>(1) - T_171067[1] := UInt<2>(2) - T_171067[2] := UInt<2>(3) - wire T_171068 : UInt<2>[2] - T_171068[0] := UInt<2>(2) - T_171068[1] := UInt<2>(3) - wire T_171069 : UInt<2>[1] - T_171069[0] := UInt<2>(3) - wire T_171070 : UInt<3>[3] - T_171070[0] := UInt<3>(0) - T_171070[1] := UInt<3>(1) - T_171070[2] := UInt<3>(2) - wire T_171071 : UInt<0>[1] - T_171071[0] := UInt<0>(0) - wire T_171072 : UInt<2>[2] - T_171072[0] := UInt<2>(1) - T_171072[1] := UInt<2>(2) - wire T_171073 : UInt<2>[2] - T_171073[0] := UInt<2>(1) - T_171073[1] := UInt<2>(2) - wire T_171074 : UInt<2>[1] - T_171074[0] := UInt<2>(2) - wire T_171075 : UInt<3>[3] - T_171075[0] := UInt<3>(0) - T_171075[1] := UInt<3>(1) - T_171075[2] := UInt<3>(2) - wire T_171076 : UInt<2>[2] - T_171076[0] := UInt<2>(0) - T_171076[1] := UInt<2>(1) - wire T_171077 : UInt<2>[3] - T_171077[0] := UInt<2>(1) - T_171077[1] := UInt<2>(2) - T_171077[2] := UInt<2>(3) - wire T_171078 : UInt<2>[2] - T_171078[0] := UInt<2>(2) - T_171078[1] := UInt<2>(3) - wire T_171079 : UInt<2>[1] - T_171079[0] := UInt<2>(3) - wire T_171080 : UInt<3>[3] - T_171080[0] := UInt<3>(0) - T_171080[1] := UInt<3>(1) - T_171080[2] := UInt<3>(2) - wire T_171081 : UInt<2>[2] - T_171081[0] := UInt<2>(0) - T_171081[1] := UInt<2>(1) - wire T_171082 : UInt<2>[3] - T_171082[0] := UInt<2>(1) - T_171082[1] := UInt<2>(2) - T_171082[2] := UInt<2>(3) - wire T_171083 : UInt<2>[2] - T_171083[0] := UInt<2>(2) - T_171083[1] := UInt<2>(3) - wire T_171084 : UInt<2>[1] - T_171084[0] := UInt<2>(3) - wire T_171085 : UInt<3>[3] - T_171085[0] := UInt<3>(0) - T_171085[1] := UInt<3>(1) - T_171085[2] := UInt<3>(2) - wire T_171086 : UInt<0>[1] - T_171086[0] := UInt<0>(0) - wire T_171087 : UInt<2>[2] - T_171087[0] := UInt<2>(1) - T_171087[1] := UInt<2>(2) - wire T_171088 : UInt<2>[2] - T_171088[0] := UInt<2>(1) - T_171088[1] := UInt<2>(2) - wire T_171089 : UInt<2>[1] - T_171089[0] := UInt<2>(2) - wire T_171090 : UInt<3>[3] - T_171090[0] := UInt<3>(0) - T_171090[1] := UInt<3>(1) - T_171090[2] := UInt<3>(2) - wire T_171091 : UInt<2>[2] - T_171091[0] := UInt<2>(0) - T_171091[1] := UInt<2>(1) - wire T_171092 : UInt<2>[3] - T_171092[0] := UInt<2>(1) - T_171092[1] := UInt<2>(2) - T_171092[2] := UInt<2>(3) - wire T_171093 : UInt<2>[2] - T_171093[0] := UInt<2>(2) - T_171093[1] := UInt<2>(3) - wire T_171094 : UInt<2>[1] - T_171094[0] := UInt<2>(3) - wire T_171095 : UInt<3>[3] - T_171095[0] := UInt<3>(0) - T_171095[1] := UInt<3>(1) - T_171095[2] := UInt<3>(2) - wire T_171096 : UInt<2>[2] - T_171096[0] := UInt<2>(0) - T_171096[1] := UInt<2>(1) - wire T_171097 : UInt<2>[3] - T_171097[0] := UInt<2>(1) - T_171097[1] := UInt<2>(2) - T_171097[2] := UInt<2>(3) - wire T_171098 : UInt<2>[2] - T_171098[0] := UInt<2>(2) - T_171098[1] := UInt<2>(3) - wire T_171099 : UInt<2>[1] - T_171099[0] := UInt<2>(3) - wire T_171100 : UInt<3>[3] - T_171100[0] := UInt<3>(0) - T_171100[1] := UInt<3>(1) - T_171100[2] := UInt<3>(2) - wire T_171101 : UInt<0>[1] - T_171101[0] := UInt<0>(0) - wire T_171102 : UInt<2>[2] - T_171102[0] := UInt<2>(1) - T_171102[1] := UInt<2>(2) - wire T_171103 : UInt<2>[2] - T_171103[0] := UInt<2>(1) - T_171103[1] := UInt<2>(2) - wire T_171104 : UInt<2>[1] - T_171104[0] := UInt<2>(2) - wire T_171105 : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}[8] - T_171105[0] := T_170872 - T_171105[1] := T_170888 - T_171105[2] := T_170904 - T_171105[3] := T_170920 - T_171105[4] := T_170936 - T_171105[5] := T_170952 - T_171105[6] := T_170968 - T_171105[7] := T_170984 - node T_171106 = bit(s2_tag_match_way, 0) - node T_171107 = bit(s2_tag_match_way, 1) - node T_171108 = bit(s2_tag_match_way, 2) - node T_171109 = bit(s2_tag_match_way, 3) - node T_171110 = bit(s2_tag_match_way, 4) - node T_171111 = bit(s2_tag_match_way, 5) - node T_171112 = bit(s2_tag_match_way, 6) - node T_171113 = bit(s2_tag_match_way, 7) - node T_171114 = cat(T_171105[0].inner.sharers, UInt<1>(0)) - node T_171115 = cat(T_171105[0].outer.state, UInt<1>(0)) - node T_171116 = cat(UInt<1>(0), T_171115) - node T_171117 = cat(T_171114, T_171116) - node T_171118 = cat(T_171117, UInt<5>(0)) - wire T_171119 : UInt<1> - T_171119 := UInt<1>(0) - when T_171106 : T_171119 := T_171118 - node T_171120 = cat(T_171105[1].inner.sharers, UInt<1>(0)) - node T_171121 = cat(T_171105[1].outer.state, UInt<1>(0)) - node T_171122 = cat(UInt<1>(0), T_171121) - node T_171123 = cat(T_171120, T_171122) - node T_171124 = cat(T_171123, UInt<5>(0)) - wire T_171125 : UInt<1> - T_171125 := UInt<1>(0) - when T_171107 : T_171125 := T_171124 - node T_171126 = cat(T_171105[2].inner.sharers, UInt<1>(0)) - node T_171127 = cat(T_171105[2].outer.state, UInt<1>(0)) - node T_171128 = cat(UInt<1>(0), T_171127) - node T_171129 = cat(T_171126, T_171128) - node T_171130 = cat(T_171129, UInt<5>(0)) - wire T_171131 : UInt<1> - T_171131 := UInt<1>(0) - when T_171108 : T_171131 := T_171130 - node T_171132 = cat(T_171105[3].inner.sharers, UInt<1>(0)) - node T_171133 = cat(T_171105[3].outer.state, UInt<1>(0)) - node T_171134 = cat(UInt<1>(0), T_171133) - node T_171135 = cat(T_171132, T_171134) - node T_171136 = cat(T_171135, UInt<5>(0)) - wire T_171137 : UInt<1> - T_171137 := UInt<1>(0) - when T_171109 : T_171137 := T_171136 - node T_171138 = cat(T_171105[4].inner.sharers, UInt<1>(0)) - node T_171139 = cat(T_171105[4].outer.state, UInt<1>(0)) - node T_171140 = cat(UInt<1>(0), T_171139) - node T_171141 = cat(T_171138, T_171140) - node T_171142 = cat(T_171141, UInt<5>(0)) - wire T_171143 : UInt<1> - T_171143 := UInt<1>(0) - when T_171110 : T_171143 := T_171142 - node T_171144 = cat(T_171105[5].inner.sharers, UInt<1>(0)) - node T_171145 = cat(T_171105[5].outer.state, UInt<1>(0)) - node T_171146 = cat(UInt<1>(0), T_171145) - node T_171147 = cat(T_171144, T_171146) - node T_171148 = cat(T_171147, UInt<5>(0)) - wire T_171149 : UInt<1> - T_171149 := UInt<1>(0) - when T_171111 : T_171149 := T_171148 - node T_171150 = cat(T_171105[6].inner.sharers, UInt<1>(0)) - node T_171151 = cat(T_171105[6].outer.state, UInt<1>(0)) - node T_171152 = cat(UInt<1>(0), T_171151) - node T_171153 = cat(T_171150, T_171152) - node T_171154 = cat(T_171153, UInt<5>(0)) - wire T_171155 : UInt<1> - T_171155 := UInt<1>(0) - when T_171112 : T_171155 := T_171154 - node T_171156 = cat(T_171105[7].inner.sharers, UInt<1>(0)) - node T_171157 = cat(T_171105[7].outer.state, UInt<1>(0)) - node T_171158 = cat(UInt<1>(0), T_171157) - node T_171159 = cat(T_171156, T_171158) - node T_171160 = cat(T_171159, UInt<5>(0)) - wire T_171161 : UInt<1> - T_171161 := UInt<1>(0) - when T_171113 : T_171161 := T_171160 - node T_171162 = or(T_171119, T_171125) - node T_171163 = or(T_171162, T_171131) - node T_171164 = or(T_171163, T_171137) - node T_171165 = or(T_171164, T_171143) - node T_171166 = or(T_171165, T_171149) - node T_171167 = or(T_171166, T_171155) - node T_171168 = or(T_171167, T_171161) - wire T_171169 : UInt<3>[3] - T_171169[0] := UInt<3>(0) - T_171169[1] := UInt<3>(1) - T_171169[2] := UInt<3>(2) - wire T_171170 : UInt<2>[2] - T_171170[0] := UInt<2>(0) - T_171170[1] := UInt<2>(1) - wire T_171171 : UInt<2>[3] - T_171171[0] := UInt<2>(1) - T_171171[1] := UInt<2>(2) - T_171171[2] := UInt<2>(3) - wire T_171172 : UInt<2>[2] - T_171172[0] := UInt<2>(2) - T_171172[1] := UInt<2>(3) - wire T_171173 : UInt<2>[1] - T_171173[0] := UInt<2>(3) - wire T_171174 : UInt<3>[3] - T_171174[0] := UInt<3>(0) - T_171174[1] := UInt<3>(1) - T_171174[2] := UInt<3>(2) - wire T_171175 : UInt<2>[2] - T_171175[0] := UInt<2>(0) - T_171175[1] := UInt<2>(1) - wire T_171176 : UInt<2>[3] - T_171176[0] := UInt<2>(1) - T_171176[1] := UInt<2>(2) - T_171176[2] := UInt<2>(3) - wire T_171177 : UInt<2>[2] - T_171177[0] := UInt<2>(2) - T_171177[1] := UInt<2>(3) - wire T_171178 : UInt<2>[1] - T_171178[0] := UInt<2>(3) - wire T_171179 : UInt<3>[3] - T_171179[0] := UInt<3>(0) - T_171179[1] := UInt<3>(1) - T_171179[2] := UInt<3>(2) - wire T_171180 : UInt<0>[1] - T_171180[0] := UInt<0>(0) - wire T_171181 : UInt<2>[2] - T_171181[0] := UInt<2>(1) - T_171181[1] := UInt<2>(2) - wire T_171182 : UInt<2>[2] - T_171182[0] := UInt<2>(1) - T_171182[1] := UInt<2>(2) - wire T_171183 : UInt<2>[1] - T_171183[0] := UInt<2>(2) - wire T_171184 : UInt<3>[3] - T_171184[0] := UInt<3>(0) - T_171184[1] := UInt<3>(1) - T_171184[2] := UInt<3>(2) - wire T_171185 : UInt<2>[2] - T_171185[0] := UInt<2>(0) - T_171185[1] := UInt<2>(1) - wire T_171186 : UInt<2>[3] - T_171186[0] := UInt<2>(1) - T_171186[1] := UInt<2>(2) - T_171186[2] := UInt<2>(3) - wire T_171187 : UInt<2>[2] - T_171187[0] := UInt<2>(2) - T_171187[1] := UInt<2>(3) - wire T_171188 : UInt<2>[1] - T_171188[0] := UInt<2>(3) - wire T_171189 : UInt<3>[3] - T_171189[0] := UInt<3>(0) - T_171189[1] := UInt<3>(1) - T_171189[2] := UInt<3>(2) - wire T_171190 : UInt<2>[2] - T_171190[0] := UInt<2>(0) - T_171190[1] := UInt<2>(1) - wire T_171191 : UInt<2>[3] - T_171191[0] := UInt<2>(1) - T_171191[1] := UInt<2>(2) - T_171191[2] := UInt<2>(3) - wire T_171192 : UInt<2>[2] - T_171192[0] := UInt<2>(2) - T_171192[1] := UInt<2>(3) - wire T_171193 : UInt<2>[1] - T_171193[0] := UInt<2>(3) - wire T_171194 : UInt<3>[3] - T_171194[0] := UInt<3>(0) - T_171194[1] := UInt<3>(1) - T_171194[2] := UInt<3>(2) - wire T_171195 : UInt<0>[1] - T_171195[0] := UInt<0>(0) - wire T_171196 : UInt<2>[2] - T_171196[0] := UInt<2>(1) - T_171196[1] := UInt<2>(2) - wire T_171197 : UInt<2>[2] - T_171197[0] := UInt<2>(1) - T_171197[1] := UInt<2>(2) - wire T_171198 : UInt<2>[1] - T_171198[0] := UInt<2>(2) - wire s2_hit_coh : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}} - node T_171199 = bits(T_171168, 0, 0) - s2_hit_coh.outer.makeVoluntaryWriteback$default$4 := T_171199 - node T_171200 = bits(T_171168, 1, 1) - s2_hit_coh.outer.makeVoluntaryWriteback$default$3 := T_171200 - node T_171201 = bits(T_171168, 2, 2) - s2_hit_coh.outer.makeVoluntaryRelease$default$5 := T_171201 - node T_171202 = bits(T_171168, 3, 3) - s2_hit_coh.outer.makeVoluntaryRelease$default$4 := T_171202 - node T_171203 = bits(T_171168, 4, 4) - s2_hit_coh.outer.makeRelease$default$3 := T_171203 - node T_171204 = bits(T_171168, 5, 5) - s2_hit_coh.outer.makeRelease$default$2 := T_171204 - node T_171205 = bits(T_171168, 7, 6) - s2_hit_coh.outer.state := T_171205 - node T_171206 = bits(T_171168, 8, 8) - s2_hit_coh.inner.makeGrant$default$4 := T_171206 - node T_171207 = bits(T_171168, 9, 9) - s2_hit_coh.inner.makeGrant$default$3 := T_171207 - node T_171208 = bits(T_171168, 10, 10) - s2_hit_coh.inner.sharers := T_171208 - wire T_171209 : UInt<1> - T_171209 := UInt<1>(0) - reg T_171210 : UInt<16> - onreset T_171210 := UInt<16>(1) - when T_171209 : - node T_171211 = bit(T_171210, 0) - node T_171212 = bit(T_171210, 2) - node T_171213 = xor(T_171211, T_171212) - node T_171214 = bit(T_171210, 3) - node T_171215 = xor(T_171213, T_171214) - node T_171216 = bit(T_171210, 5) - node T_171217 = xor(T_171215, T_171216) - node T_171218 = bits(T_171210, 15, 1) - node T_171219 = cat(T_171217, T_171218) - T_171210 := T_171219 - node T_171220 = bits(T_171210, 2, 0) - node s1_replaced_way_en = dshl(UInt<1>(1), T_171220) - node T_171221 = bits(T_171210, 2, 0) - reg T_171222 : UInt<3> - when s1_clk_en : T_171222 := T_171221 - node s2_replaced_way_en = dshl(UInt<1>(1), T_171222) - node T_171223 = bit(s1_replaced_way_en, 0) - node T_171224 = and(s1_clk_en, T_171223) - wire T_171225 : UInt<3>[3] - T_171225[0] := UInt<3>(0) - T_171225[1] := UInt<3>(1) - T_171225[2] := UInt<3>(2) - wire T_171226 : UInt<2>[2] - T_171226[0] := UInt<2>(0) - T_171226[1] := UInt<2>(1) - wire T_171227 : UInt<2>[3] - T_171227[0] := UInt<2>(1) - T_171227[1] := UInt<2>(2) - T_171227[2] := UInt<2>(3) - wire T_171228 : UInt<2>[2] - T_171228[0] := UInt<2>(2) - T_171228[1] := UInt<2>(3) - wire T_171229 : UInt<2>[1] - T_171229[0] := UInt<2>(3) - wire T_171230 : UInt<3>[3] - T_171230[0] := UInt<3>(0) - T_171230[1] := UInt<3>(1) - T_171230[2] := UInt<3>(2) - wire T_171231 : UInt<2>[2] - T_171231[0] := UInt<2>(0) - T_171231[1] := UInt<2>(1) - wire T_171232 : UInt<2>[3] - T_171232[0] := UInt<2>(1) - T_171232[1] := UInt<2>(2) - T_171232[2] := UInt<2>(3) - wire T_171233 : UInt<2>[2] - T_171233[0] := UInt<2>(2) - T_171233[1] := UInt<2>(3) - wire T_171234 : UInt<2>[1] - T_171234[0] := UInt<2>(3) - wire T_171235 : UInt<3>[3] - T_171235[0] := UInt<3>(0) - T_171235[1] := UInt<3>(1) - T_171235[2] := UInt<3>(2) - wire T_171236 : UInt<0>[1] - T_171236[0] := UInt<0>(0) - wire T_171237 : UInt<2>[2] - T_171237[0] := UInt<2>(1) - T_171237[1] := UInt<2>(2) - wire T_171238 : UInt<2>[2] - T_171238[0] := UInt<2>(1) - T_171238[1] := UInt<2>(2) - wire T_171239 : UInt<2>[1] - T_171239[0] := UInt<2>(2) - reg T_171240 : {tag : UInt<14>, coh : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}} - when T_171224 : T_171240 := meta.resp[0] - node T_171241 = bit(s1_replaced_way_en, 1) - node T_171242 = and(s1_clk_en, T_171241) - wire T_171243 : UInt<3>[3] - T_171243[0] := UInt<3>(0) - T_171243[1] := UInt<3>(1) - T_171243[2] := UInt<3>(2) - wire T_171244 : UInt<2>[2] - T_171244[0] := UInt<2>(0) - T_171244[1] := UInt<2>(1) - wire T_171245 : UInt<2>[3] - T_171245[0] := UInt<2>(1) - T_171245[1] := UInt<2>(2) - T_171245[2] := UInt<2>(3) - wire T_171246 : UInt<2>[2] - T_171246[0] := UInt<2>(2) - T_171246[1] := UInt<2>(3) - wire T_171247 : UInt<2>[1] - T_171247[0] := UInt<2>(3) - wire T_171248 : UInt<3>[3] - T_171248[0] := UInt<3>(0) - T_171248[1] := UInt<3>(1) - T_171248[2] := UInt<3>(2) - wire T_171249 : UInt<2>[2] - T_171249[0] := UInt<2>(0) - T_171249[1] := UInt<2>(1) - wire T_171250 : UInt<2>[3] - T_171250[0] := UInt<2>(1) - T_171250[1] := UInt<2>(2) - T_171250[2] := UInt<2>(3) - wire T_171251 : UInt<2>[2] - T_171251[0] := UInt<2>(2) - T_171251[1] := UInt<2>(3) - wire T_171252 : UInt<2>[1] - T_171252[0] := UInt<2>(3) - wire T_171253 : UInt<3>[3] - T_171253[0] := UInt<3>(0) - T_171253[1] := UInt<3>(1) - T_171253[2] := UInt<3>(2) - wire T_171254 : UInt<0>[1] - T_171254[0] := UInt<0>(0) - wire T_171255 : UInt<2>[2] - T_171255[0] := UInt<2>(1) - T_171255[1] := UInt<2>(2) - wire T_171256 : UInt<2>[2] - T_171256[0] := UInt<2>(1) - T_171256[1] := UInt<2>(2) - wire T_171257 : UInt<2>[1] - T_171257[0] := UInt<2>(2) - reg T_171258 : {tag : UInt<14>, coh : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}} - when T_171242 : T_171258 := meta.resp[1] - node T_171259 = bit(s1_replaced_way_en, 2) - node T_171260 = and(s1_clk_en, T_171259) - wire T_171261 : UInt<3>[3] - T_171261[0] := UInt<3>(0) - T_171261[1] := UInt<3>(1) - T_171261[2] := UInt<3>(2) - wire T_171262 : UInt<2>[2] - T_171262[0] := UInt<2>(0) - T_171262[1] := UInt<2>(1) - wire T_171263 : UInt<2>[3] - T_171263[0] := UInt<2>(1) - T_171263[1] := UInt<2>(2) - T_171263[2] := UInt<2>(3) - wire T_171264 : UInt<2>[2] - T_171264[0] := UInt<2>(2) - T_171264[1] := UInt<2>(3) - wire T_171265 : UInt<2>[1] - T_171265[0] := UInt<2>(3) - wire T_171266 : UInt<3>[3] - T_171266[0] := UInt<3>(0) - T_171266[1] := UInt<3>(1) - T_171266[2] := UInt<3>(2) - wire T_171267 : UInt<2>[2] - T_171267[0] := UInt<2>(0) - T_171267[1] := UInt<2>(1) - wire T_171268 : UInt<2>[3] - T_171268[0] := UInt<2>(1) - T_171268[1] := UInt<2>(2) - T_171268[2] := UInt<2>(3) - wire T_171269 : UInt<2>[2] - T_171269[0] := UInt<2>(2) - T_171269[1] := UInt<2>(3) - wire T_171270 : UInt<2>[1] - T_171270[0] := UInt<2>(3) - wire T_171271 : UInt<3>[3] - T_171271[0] := UInt<3>(0) - T_171271[1] := UInt<3>(1) - T_171271[2] := UInt<3>(2) - wire T_171272 : UInt<0>[1] - T_171272[0] := UInt<0>(0) - wire T_171273 : UInt<2>[2] - T_171273[0] := UInt<2>(1) - T_171273[1] := UInt<2>(2) - wire T_171274 : UInt<2>[2] - T_171274[0] := UInt<2>(1) - T_171274[1] := UInt<2>(2) - wire T_171275 : UInt<2>[1] - T_171275[0] := UInt<2>(2) - reg T_171276 : {tag : UInt<14>, coh : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}} - when T_171260 : T_171276 := meta.resp[2] - node T_171277 = bit(s1_replaced_way_en, 3) - node T_171278 = and(s1_clk_en, T_171277) - wire T_171279 : UInt<3>[3] - T_171279[0] := UInt<3>(0) - T_171279[1] := UInt<3>(1) - T_171279[2] := UInt<3>(2) - wire T_171280 : UInt<2>[2] - T_171280[0] := UInt<2>(0) - T_171280[1] := UInt<2>(1) - wire T_171281 : UInt<2>[3] - T_171281[0] := UInt<2>(1) - T_171281[1] := UInt<2>(2) - T_171281[2] := UInt<2>(3) - wire T_171282 : UInt<2>[2] - T_171282[0] := UInt<2>(2) - T_171282[1] := UInt<2>(3) - wire T_171283 : UInt<2>[1] - T_171283[0] := UInt<2>(3) - wire T_171284 : UInt<3>[3] - T_171284[0] := UInt<3>(0) - T_171284[1] := UInt<3>(1) - T_171284[2] := UInt<3>(2) - wire T_171285 : UInt<2>[2] - T_171285[0] := UInt<2>(0) - T_171285[1] := UInt<2>(1) - wire T_171286 : UInt<2>[3] - T_171286[0] := UInt<2>(1) - T_171286[1] := UInt<2>(2) - T_171286[2] := UInt<2>(3) - wire T_171287 : UInt<2>[2] - T_171287[0] := UInt<2>(2) - T_171287[1] := UInt<2>(3) - wire T_171288 : UInt<2>[1] - T_171288[0] := UInt<2>(3) - wire T_171289 : UInt<3>[3] - T_171289[0] := UInt<3>(0) - T_171289[1] := UInt<3>(1) - T_171289[2] := UInt<3>(2) - wire T_171290 : UInt<0>[1] - T_171290[0] := UInt<0>(0) - wire T_171291 : UInt<2>[2] - T_171291[0] := UInt<2>(1) - T_171291[1] := UInt<2>(2) - wire T_171292 : UInt<2>[2] - T_171292[0] := UInt<2>(1) - T_171292[1] := UInt<2>(2) - wire T_171293 : UInt<2>[1] - T_171293[0] := UInt<2>(2) - reg T_171294 : {tag : UInt<14>, coh : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}} - when T_171278 : T_171294 := meta.resp[3] - node T_171295 = bit(s1_replaced_way_en, 4) - node T_171296 = and(s1_clk_en, T_171295) - wire T_171297 : UInt<3>[3] - T_171297[0] := UInt<3>(0) - T_171297[1] := UInt<3>(1) - T_171297[2] := UInt<3>(2) - wire T_171298 : UInt<2>[2] - T_171298[0] := UInt<2>(0) - T_171298[1] := UInt<2>(1) - wire T_171299 : UInt<2>[3] - T_171299[0] := UInt<2>(1) - T_171299[1] := UInt<2>(2) - T_171299[2] := UInt<2>(3) - wire T_171300 : UInt<2>[2] - T_171300[0] := UInt<2>(2) - T_171300[1] := UInt<2>(3) - wire T_171301 : UInt<2>[1] - T_171301[0] := UInt<2>(3) - wire T_171302 : UInt<3>[3] - T_171302[0] := UInt<3>(0) - T_171302[1] := UInt<3>(1) - T_171302[2] := UInt<3>(2) - wire T_171303 : UInt<2>[2] - T_171303[0] := UInt<2>(0) - T_171303[1] := UInt<2>(1) - wire T_171304 : UInt<2>[3] - T_171304[0] := UInt<2>(1) - T_171304[1] := UInt<2>(2) - T_171304[2] := UInt<2>(3) - wire T_171305 : UInt<2>[2] - T_171305[0] := UInt<2>(2) - T_171305[1] := UInt<2>(3) - wire T_171306 : UInt<2>[1] - T_171306[0] := UInt<2>(3) - wire T_171307 : UInt<3>[3] - T_171307[0] := UInt<3>(0) - T_171307[1] := UInt<3>(1) - T_171307[2] := UInt<3>(2) - wire T_171308 : UInt<0>[1] - T_171308[0] := UInt<0>(0) - wire T_171309 : UInt<2>[2] - T_171309[0] := UInt<2>(1) - T_171309[1] := UInt<2>(2) - wire T_171310 : UInt<2>[2] - T_171310[0] := UInt<2>(1) - T_171310[1] := UInt<2>(2) - wire T_171311 : UInt<2>[1] - T_171311[0] := UInt<2>(2) - reg T_171312 : {tag : UInt<14>, coh : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}} - when T_171296 : T_171312 := meta.resp[4] - node T_171313 = bit(s1_replaced_way_en, 5) - node T_171314 = and(s1_clk_en, T_171313) - wire T_171315 : UInt<3>[3] - T_171315[0] := UInt<3>(0) - T_171315[1] := UInt<3>(1) - T_171315[2] := UInt<3>(2) - wire T_171316 : UInt<2>[2] - T_171316[0] := UInt<2>(0) - T_171316[1] := UInt<2>(1) - wire T_171317 : UInt<2>[3] - T_171317[0] := UInt<2>(1) - T_171317[1] := UInt<2>(2) - T_171317[2] := UInt<2>(3) - wire T_171318 : UInt<2>[2] - T_171318[0] := UInt<2>(2) - T_171318[1] := UInt<2>(3) - wire T_171319 : UInt<2>[1] - T_171319[0] := UInt<2>(3) - wire T_171320 : UInt<3>[3] - T_171320[0] := UInt<3>(0) - T_171320[1] := UInt<3>(1) - T_171320[2] := UInt<3>(2) - wire T_171321 : UInt<2>[2] - T_171321[0] := UInt<2>(0) - T_171321[1] := UInt<2>(1) - wire T_171322 : UInt<2>[3] - T_171322[0] := UInt<2>(1) - T_171322[1] := UInt<2>(2) - T_171322[2] := UInt<2>(3) - wire T_171323 : UInt<2>[2] - T_171323[0] := UInt<2>(2) - T_171323[1] := UInt<2>(3) - wire T_171324 : UInt<2>[1] - T_171324[0] := UInt<2>(3) - wire T_171325 : UInt<3>[3] - T_171325[0] := UInt<3>(0) - T_171325[1] := UInt<3>(1) - T_171325[2] := UInt<3>(2) - wire T_171326 : UInt<0>[1] - T_171326[0] := UInt<0>(0) - wire T_171327 : UInt<2>[2] - T_171327[0] := UInt<2>(1) - T_171327[1] := UInt<2>(2) - wire T_171328 : UInt<2>[2] - T_171328[0] := UInt<2>(1) - T_171328[1] := UInt<2>(2) - wire T_171329 : UInt<2>[1] - T_171329[0] := UInt<2>(2) - reg T_171330 : {tag : UInt<14>, coh : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}} - when T_171314 : T_171330 := meta.resp[5] - node T_171331 = bit(s1_replaced_way_en, 6) - node T_171332 = and(s1_clk_en, T_171331) - wire T_171333 : UInt<3>[3] - T_171333[0] := UInt<3>(0) - T_171333[1] := UInt<3>(1) - T_171333[2] := UInt<3>(2) - wire T_171334 : UInt<2>[2] - T_171334[0] := UInt<2>(0) - T_171334[1] := UInt<2>(1) - wire T_171335 : UInt<2>[3] - T_171335[0] := UInt<2>(1) - T_171335[1] := UInt<2>(2) - T_171335[2] := UInt<2>(3) - wire T_171336 : UInt<2>[2] - T_171336[0] := UInt<2>(2) - T_171336[1] := UInt<2>(3) - wire T_171337 : UInt<2>[1] - T_171337[0] := UInt<2>(3) - wire T_171338 : UInt<3>[3] - T_171338[0] := UInt<3>(0) - T_171338[1] := UInt<3>(1) - T_171338[2] := UInt<3>(2) - wire T_171339 : UInt<2>[2] - T_171339[0] := UInt<2>(0) - T_171339[1] := UInt<2>(1) - wire T_171340 : UInt<2>[3] - T_171340[0] := UInt<2>(1) - T_171340[1] := UInt<2>(2) - T_171340[2] := UInt<2>(3) - wire T_171341 : UInt<2>[2] - T_171341[0] := UInt<2>(2) - T_171341[1] := UInt<2>(3) - wire T_171342 : UInt<2>[1] - T_171342[0] := UInt<2>(3) - wire T_171343 : UInt<3>[3] - T_171343[0] := UInt<3>(0) - T_171343[1] := UInt<3>(1) - T_171343[2] := UInt<3>(2) - wire T_171344 : UInt<0>[1] - T_171344[0] := UInt<0>(0) - wire T_171345 : UInt<2>[2] - T_171345[0] := UInt<2>(1) - T_171345[1] := UInt<2>(2) - wire T_171346 : UInt<2>[2] - T_171346[0] := UInt<2>(1) - T_171346[1] := UInt<2>(2) - wire T_171347 : UInt<2>[1] - T_171347[0] := UInt<2>(2) - reg T_171348 : {tag : UInt<14>, coh : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}} - when T_171332 : T_171348 := meta.resp[6] - node T_171349 = bit(s1_replaced_way_en, 7) - node T_171350 = and(s1_clk_en, T_171349) - wire T_171351 : UInt<3>[3] - T_171351[0] := UInt<3>(0) - T_171351[1] := UInt<3>(1) - T_171351[2] := UInt<3>(2) - wire T_171352 : UInt<2>[2] - T_171352[0] := UInt<2>(0) - T_171352[1] := UInt<2>(1) - wire T_171353 : UInt<2>[3] - T_171353[0] := UInt<2>(1) - T_171353[1] := UInt<2>(2) - T_171353[2] := UInt<2>(3) - wire T_171354 : UInt<2>[2] - T_171354[0] := UInt<2>(2) - T_171354[1] := UInt<2>(3) - wire T_171355 : UInt<2>[1] - T_171355[0] := UInt<2>(3) - wire T_171356 : UInt<3>[3] - T_171356[0] := UInt<3>(0) - T_171356[1] := UInt<3>(1) - T_171356[2] := UInt<3>(2) - wire T_171357 : UInt<2>[2] - T_171357[0] := UInt<2>(0) - T_171357[1] := UInt<2>(1) - wire T_171358 : UInt<2>[3] - T_171358[0] := UInt<2>(1) - T_171358[1] := UInt<2>(2) - T_171358[2] := UInt<2>(3) - wire T_171359 : UInt<2>[2] - T_171359[0] := UInt<2>(2) - T_171359[1] := UInt<2>(3) - wire T_171360 : UInt<2>[1] - T_171360[0] := UInt<2>(3) - wire T_171361 : UInt<3>[3] - T_171361[0] := UInt<3>(0) - T_171361[1] := UInt<3>(1) - T_171361[2] := UInt<3>(2) - wire T_171362 : UInt<0>[1] - T_171362[0] := UInt<0>(0) - wire T_171363 : UInt<2>[2] - T_171363[0] := UInt<2>(1) - T_171363[1] := UInt<2>(2) - wire T_171364 : UInt<2>[2] - T_171364[0] := UInt<2>(1) - T_171364[1] := UInt<2>(2) - wire T_171365 : UInt<2>[1] - T_171365[0] := UInt<2>(2) - reg T_171366 : {tag : UInt<14>, coh : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}} - when T_171350 : T_171366 := meta.resp[7] - wire T_171367 : UInt<3>[3] - T_171367[0] := UInt<3>(0) - T_171367[1] := UInt<3>(1) - T_171367[2] := UInt<3>(2) - wire T_171368 : UInt<2>[2] - T_171368[0] := UInt<2>(0) - T_171368[1] := UInt<2>(1) - wire T_171369 : UInt<2>[3] - T_171369[0] := UInt<2>(1) - T_171369[1] := UInt<2>(2) - T_171369[2] := UInt<2>(3) - wire T_171370 : UInt<2>[2] - T_171370[0] := UInt<2>(2) - T_171370[1] := UInt<2>(3) - wire T_171371 : UInt<2>[1] - T_171371[0] := UInt<2>(3) - wire T_171372 : UInt<3>[3] - T_171372[0] := UInt<3>(0) - T_171372[1] := UInt<3>(1) - T_171372[2] := UInt<3>(2) - wire T_171373 : UInt<2>[2] - T_171373[0] := UInt<2>(0) - T_171373[1] := UInt<2>(1) - wire T_171374 : UInt<2>[3] - T_171374[0] := UInt<2>(1) - T_171374[1] := UInt<2>(2) - T_171374[2] := UInt<2>(3) - wire T_171375 : UInt<2>[2] - T_171375[0] := UInt<2>(2) - T_171375[1] := UInt<2>(3) - wire T_171376 : UInt<2>[1] - T_171376[0] := UInt<2>(3) - wire T_171377 : UInt<3>[3] - T_171377[0] := UInt<3>(0) - T_171377[1] := UInt<3>(1) - T_171377[2] := UInt<3>(2) - wire T_171378 : UInt<0>[1] - T_171378[0] := UInt<0>(0) - wire T_171379 : UInt<2>[2] - T_171379[0] := UInt<2>(1) - T_171379[1] := UInt<2>(2) - wire T_171380 : UInt<2>[2] - T_171380[0] := UInt<2>(1) - T_171380[1] := UInt<2>(2) - wire T_171381 : UInt<2>[1] - T_171381[0] := UInt<2>(2) - wire T_171382 : UInt<3>[3] - T_171382[0] := UInt<3>(0) - T_171382[1] := UInt<3>(1) - T_171382[2] := UInt<3>(2) - wire T_171383 : UInt<2>[2] - T_171383[0] := UInt<2>(0) - T_171383[1] := UInt<2>(1) - wire T_171384 : UInt<2>[3] - T_171384[0] := UInt<2>(1) - T_171384[1] := UInt<2>(2) - T_171384[2] := UInt<2>(3) - wire T_171385 : UInt<2>[2] - T_171385[0] := UInt<2>(2) - T_171385[1] := UInt<2>(3) - wire T_171386 : UInt<2>[1] - T_171386[0] := UInt<2>(3) - wire T_171387 : UInt<3>[3] - T_171387[0] := UInt<3>(0) - T_171387[1] := UInt<3>(1) - T_171387[2] := UInt<3>(2) - wire T_171388 : UInt<2>[2] - T_171388[0] := UInt<2>(0) - T_171388[1] := UInt<2>(1) - wire T_171389 : UInt<2>[3] - T_171389[0] := UInt<2>(1) - T_171389[1] := UInt<2>(2) - T_171389[2] := UInt<2>(3) - wire T_171390 : UInt<2>[2] - T_171390[0] := UInt<2>(2) - T_171390[1] := UInt<2>(3) - wire T_171391 : UInt<2>[1] - T_171391[0] := UInt<2>(3) - wire T_171392 : UInt<3>[3] - T_171392[0] := UInt<3>(0) - T_171392[1] := UInt<3>(1) - T_171392[2] := UInt<3>(2) - wire T_171393 : UInt<0>[1] - T_171393[0] := UInt<0>(0) - wire T_171394 : UInt<2>[2] - T_171394[0] := UInt<2>(1) - T_171394[1] := UInt<2>(2) - wire T_171395 : UInt<2>[2] - T_171395[0] := UInt<2>(1) - T_171395[1] := UInt<2>(2) - wire T_171396 : UInt<2>[1] - T_171396[0] := UInt<2>(2) - wire T_171397 : UInt<3>[3] - T_171397[0] := UInt<3>(0) - T_171397[1] := UInt<3>(1) - T_171397[2] := UInt<3>(2) - wire T_171398 : UInt<2>[2] - T_171398[0] := UInt<2>(0) - T_171398[1] := UInt<2>(1) - wire T_171399 : UInt<2>[3] - T_171399[0] := UInt<2>(1) - T_171399[1] := UInt<2>(2) - T_171399[2] := UInt<2>(3) - wire T_171400 : UInt<2>[2] - T_171400[0] := UInt<2>(2) - T_171400[1] := UInt<2>(3) - wire T_171401 : UInt<2>[1] - T_171401[0] := UInt<2>(3) - wire T_171402 : UInt<3>[3] - T_171402[0] := UInt<3>(0) - T_171402[1] := UInt<3>(1) - T_171402[2] := UInt<3>(2) - wire T_171403 : UInt<2>[2] - T_171403[0] := UInt<2>(0) - T_171403[1] := UInt<2>(1) - wire T_171404 : UInt<2>[3] - T_171404[0] := UInt<2>(1) - T_171404[1] := UInt<2>(2) - T_171404[2] := UInt<2>(3) - wire T_171405 : UInt<2>[2] - T_171405[0] := UInt<2>(2) - T_171405[1] := UInt<2>(3) - wire T_171406 : UInt<2>[1] - T_171406[0] := UInt<2>(3) - wire T_171407 : UInt<3>[3] - T_171407[0] := UInt<3>(0) - T_171407[1] := UInt<3>(1) - T_171407[2] := UInt<3>(2) - wire T_171408 : UInt<0>[1] - T_171408[0] := UInt<0>(0) - wire T_171409 : UInt<2>[2] - T_171409[0] := UInt<2>(1) - T_171409[1] := UInt<2>(2) - wire T_171410 : UInt<2>[2] - T_171410[0] := UInt<2>(1) - T_171410[1] := UInt<2>(2) - wire T_171411 : UInt<2>[1] - T_171411[0] := UInt<2>(2) - wire T_171412 : UInt<3>[3] - T_171412[0] := UInt<3>(0) - T_171412[1] := UInt<3>(1) - T_171412[2] := UInt<3>(2) - wire T_171413 : UInt<2>[2] - T_171413[0] := UInt<2>(0) - T_171413[1] := UInt<2>(1) - wire T_171414 : UInt<2>[3] - T_171414[0] := UInt<2>(1) - T_171414[1] := UInt<2>(2) - T_171414[2] := UInt<2>(3) - wire T_171415 : UInt<2>[2] - T_171415[0] := UInt<2>(2) - T_171415[1] := UInt<2>(3) - wire T_171416 : UInt<2>[1] - T_171416[0] := UInt<2>(3) - wire T_171417 : UInt<3>[3] - T_171417[0] := UInt<3>(0) - T_171417[1] := UInt<3>(1) - T_171417[2] := UInt<3>(2) - wire T_171418 : UInt<2>[2] - T_171418[0] := UInt<2>(0) - T_171418[1] := UInt<2>(1) - wire T_171419 : UInt<2>[3] - T_171419[0] := UInt<2>(1) - T_171419[1] := UInt<2>(2) - T_171419[2] := UInt<2>(3) - wire T_171420 : UInt<2>[2] - T_171420[0] := UInt<2>(2) - T_171420[1] := UInt<2>(3) - wire T_171421 : UInt<2>[1] - T_171421[0] := UInt<2>(3) - wire T_171422 : UInt<3>[3] - T_171422[0] := UInt<3>(0) - T_171422[1] := UInt<3>(1) - T_171422[2] := UInt<3>(2) - wire T_171423 : UInt<0>[1] - T_171423[0] := UInt<0>(0) - wire T_171424 : UInt<2>[2] - T_171424[0] := UInt<2>(1) - T_171424[1] := UInt<2>(2) - wire T_171425 : UInt<2>[2] - T_171425[0] := UInt<2>(1) - T_171425[1] := UInt<2>(2) - wire T_171426 : UInt<2>[1] - T_171426[0] := UInt<2>(2) - wire T_171427 : UInt<3>[3] - T_171427[0] := UInt<3>(0) - T_171427[1] := UInt<3>(1) - T_171427[2] := UInt<3>(2) - wire T_171428 : UInt<2>[2] - T_171428[0] := UInt<2>(0) - T_171428[1] := UInt<2>(1) - wire T_171429 : UInt<2>[3] - T_171429[0] := UInt<2>(1) - T_171429[1] := UInt<2>(2) - T_171429[2] := UInt<2>(3) - wire T_171430 : UInt<2>[2] - T_171430[0] := UInt<2>(2) - T_171430[1] := UInt<2>(3) - wire T_171431 : UInt<2>[1] - T_171431[0] := UInt<2>(3) - wire T_171432 : UInt<3>[3] - T_171432[0] := UInt<3>(0) - T_171432[1] := UInt<3>(1) - T_171432[2] := UInt<3>(2) - wire T_171433 : UInt<2>[2] - T_171433[0] := UInt<2>(0) - T_171433[1] := UInt<2>(1) - wire T_171434 : UInt<2>[3] - T_171434[0] := UInt<2>(1) - T_171434[1] := UInt<2>(2) - T_171434[2] := UInt<2>(3) - wire T_171435 : UInt<2>[2] - T_171435[0] := UInt<2>(2) - T_171435[1] := UInt<2>(3) - wire T_171436 : UInt<2>[1] - T_171436[0] := UInt<2>(3) - wire T_171437 : UInt<3>[3] - T_171437[0] := UInt<3>(0) - T_171437[1] := UInt<3>(1) - T_171437[2] := UInt<3>(2) - wire T_171438 : UInt<0>[1] - T_171438[0] := UInt<0>(0) - wire T_171439 : UInt<2>[2] - T_171439[0] := UInt<2>(1) - T_171439[1] := UInt<2>(2) - wire T_171440 : UInt<2>[2] - T_171440[0] := UInt<2>(1) - T_171440[1] := UInt<2>(2) - wire T_171441 : UInt<2>[1] - T_171441[0] := UInt<2>(2) - wire T_171442 : UInt<3>[3] - T_171442[0] := UInt<3>(0) - T_171442[1] := UInt<3>(1) - T_171442[2] := UInt<3>(2) - wire T_171443 : UInt<2>[2] - T_171443[0] := UInt<2>(0) - T_171443[1] := UInt<2>(1) - wire T_171444 : UInt<2>[3] - T_171444[0] := UInt<2>(1) - T_171444[1] := UInt<2>(2) - T_171444[2] := UInt<2>(3) - wire T_171445 : UInt<2>[2] - T_171445[0] := UInt<2>(2) - T_171445[1] := UInt<2>(3) - wire T_171446 : UInt<2>[1] - T_171446[0] := UInt<2>(3) - wire T_171447 : UInt<3>[3] - T_171447[0] := UInt<3>(0) - T_171447[1] := UInt<3>(1) - T_171447[2] := UInt<3>(2) - wire T_171448 : UInt<2>[2] - T_171448[0] := UInt<2>(0) - T_171448[1] := UInt<2>(1) - wire T_171449 : UInt<2>[3] - T_171449[0] := UInt<2>(1) - T_171449[1] := UInt<2>(2) - T_171449[2] := UInt<2>(3) - wire T_171450 : UInt<2>[2] - T_171450[0] := UInt<2>(2) - T_171450[1] := UInt<2>(3) - wire T_171451 : UInt<2>[1] - T_171451[0] := UInt<2>(3) - wire T_171452 : UInt<3>[3] - T_171452[0] := UInt<3>(0) - T_171452[1] := UInt<3>(1) - T_171452[2] := UInt<3>(2) - wire T_171453 : UInt<0>[1] - T_171453[0] := UInt<0>(0) - wire T_171454 : UInt<2>[2] - T_171454[0] := UInt<2>(1) - T_171454[1] := UInt<2>(2) - wire T_171455 : UInt<2>[2] - T_171455[0] := UInt<2>(1) - T_171455[1] := UInt<2>(2) - wire T_171456 : UInt<2>[1] - T_171456[0] := UInt<2>(2) - wire T_171457 : UInt<3>[3] - T_171457[0] := UInt<3>(0) - T_171457[1] := UInt<3>(1) - T_171457[2] := UInt<3>(2) - wire T_171458 : UInt<2>[2] - T_171458[0] := UInt<2>(0) - T_171458[1] := UInt<2>(1) - wire T_171459 : UInt<2>[3] - T_171459[0] := UInt<2>(1) - T_171459[1] := UInt<2>(2) - T_171459[2] := UInt<2>(3) - wire T_171460 : UInt<2>[2] - T_171460[0] := UInt<2>(2) - T_171460[1] := UInt<2>(3) - wire T_171461 : UInt<2>[1] - T_171461[0] := UInt<2>(3) - wire T_171462 : UInt<3>[3] - T_171462[0] := UInt<3>(0) - T_171462[1] := UInt<3>(1) - T_171462[2] := UInt<3>(2) - wire T_171463 : UInt<2>[2] - T_171463[0] := UInt<2>(0) - T_171463[1] := UInt<2>(1) - wire T_171464 : UInt<2>[3] - T_171464[0] := UInt<2>(1) - T_171464[1] := UInt<2>(2) - T_171464[2] := UInt<2>(3) - wire T_171465 : UInt<2>[2] - T_171465[0] := UInt<2>(2) - T_171465[1] := UInt<2>(3) - wire T_171466 : UInt<2>[1] - T_171466[0] := UInt<2>(3) - wire T_171467 : UInt<3>[3] - T_171467[0] := UInt<3>(0) - T_171467[1] := UInt<3>(1) - T_171467[2] := UInt<3>(2) - wire T_171468 : UInt<0>[1] - T_171468[0] := UInt<0>(0) - wire T_171469 : UInt<2>[2] - T_171469[0] := UInt<2>(1) - T_171469[1] := UInt<2>(2) - wire T_171470 : UInt<2>[2] - T_171470[0] := UInt<2>(1) - T_171470[1] := UInt<2>(2) - wire T_171471 : UInt<2>[1] - T_171471[0] := UInt<2>(2) - wire T_171472 : UInt<3>[3] - T_171472[0] := UInt<3>(0) - T_171472[1] := UInt<3>(1) - T_171472[2] := UInt<3>(2) - wire T_171473 : UInt<2>[2] - T_171473[0] := UInt<2>(0) - T_171473[1] := UInt<2>(1) - wire T_171474 : UInt<2>[3] - T_171474[0] := UInt<2>(1) - T_171474[1] := UInt<2>(2) - T_171474[2] := UInt<2>(3) - wire T_171475 : UInt<2>[2] - T_171475[0] := UInt<2>(2) - T_171475[1] := UInt<2>(3) - wire T_171476 : UInt<2>[1] - T_171476[0] := UInt<2>(3) - wire T_171477 : UInt<3>[3] - T_171477[0] := UInt<3>(0) - T_171477[1] := UInt<3>(1) - T_171477[2] := UInt<3>(2) - wire T_171478 : UInt<2>[2] - T_171478[0] := UInt<2>(0) - T_171478[1] := UInt<2>(1) - wire T_171479 : UInt<2>[3] - T_171479[0] := UInt<2>(1) - T_171479[1] := UInt<2>(2) - T_171479[2] := UInt<2>(3) - wire T_171480 : UInt<2>[2] - T_171480[0] := UInt<2>(2) - T_171480[1] := UInt<2>(3) - wire T_171481 : UInt<2>[1] - T_171481[0] := UInt<2>(3) - wire T_171482 : UInt<3>[3] - T_171482[0] := UInt<3>(0) - T_171482[1] := UInt<3>(1) - T_171482[2] := UInt<3>(2) - wire T_171483 : UInt<0>[1] - T_171483[0] := UInt<0>(0) - wire T_171484 : UInt<2>[2] - T_171484[0] := UInt<2>(1) - T_171484[1] := UInt<2>(2) - wire T_171485 : UInt<2>[2] - T_171485[0] := UInt<2>(1) - T_171485[1] := UInt<2>(2) - wire T_171486 : UInt<2>[1] - T_171486[0] := UInt<2>(2) - wire T_171487 : {tag : UInt<14>, coh : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}}[8] - T_171487[0] := T_171240 - T_171487[1] := T_171258 - T_171487[2] := T_171276 - T_171487[3] := T_171294 - T_171487[4] := T_171312 - T_171487[5] := T_171330 - T_171487[6] := T_171348 - T_171487[7] := T_171366 - node T_171488 = bit(s2_replaced_way_en, 0) - node T_171489 = bit(s2_replaced_way_en, 1) - node T_171490 = bit(s2_replaced_way_en, 2) - node T_171491 = bit(s2_replaced_way_en, 3) - node T_171492 = bit(s2_replaced_way_en, 4) - node T_171493 = bit(s2_replaced_way_en, 5) - node T_171494 = bit(s2_replaced_way_en, 6) - node T_171495 = bit(s2_replaced_way_en, 7) - node T_171496 = cat(T_171487[0].tag, T_171487[0].coh.inner.sharers) - node T_171497 = cat(UInt<1>(0), T_171487[0].coh.outer.state) - node T_171498 = cat(UInt<1>(0), T_171497) - node T_171499 = cat(T_171496, T_171498) - node T_171500 = cat(T_171499, UInt<5>(0)) - node T_171501 = cat(UInt<1>(0), T_171487[0].coh.inner.sharers) - node T_171502 = cat(UInt<1>(0), T_171487[0].coh.outer.state) - node T_171503 = cat(UInt<1>(0), T_171502) - node T_171504 = cat(T_171501, T_171503) - node T_171505 = cat(T_171504, UInt<6>(0)) - node T_171506 = cat(T_171500, T_171505) - wire T_171507 : UInt<1> - T_171507 := UInt<1>(0) - when T_171488 : T_171507 := T_171506 - node T_171508 = cat(T_171487[1].tag, T_171487[1].coh.inner.sharers) - node T_171509 = cat(UInt<1>(0), T_171487[1].coh.outer.state) - node T_171510 = cat(UInt<1>(0), T_171509) - node T_171511 = cat(T_171508, T_171510) - node T_171512 = cat(T_171511, UInt<5>(0)) - node T_171513 = cat(UInt<1>(0), T_171487[1].coh.inner.sharers) - node T_171514 = cat(UInt<1>(0), T_171487[1].coh.outer.state) - node T_171515 = cat(UInt<1>(0), T_171514) - node T_171516 = cat(T_171513, T_171515) - node T_171517 = cat(T_171516, UInt<6>(0)) - node T_171518 = cat(T_171512, T_171517) - wire T_171519 : UInt<1> - T_171519 := UInt<1>(0) - when T_171489 : T_171519 := T_171518 - node T_171520 = cat(T_171487[2].tag, T_171487[2].coh.inner.sharers) - node T_171521 = cat(UInt<1>(0), T_171487[2].coh.outer.state) - node T_171522 = cat(UInt<1>(0), T_171521) - node T_171523 = cat(T_171520, T_171522) - node T_171524 = cat(T_171523, UInt<5>(0)) - node T_171525 = cat(UInt<1>(0), T_171487[2].coh.inner.sharers) - node T_171526 = cat(UInt<1>(0), T_171487[2].coh.outer.state) - node T_171527 = cat(UInt<1>(0), T_171526) - node T_171528 = cat(T_171525, T_171527) - node T_171529 = cat(T_171528, UInt<6>(0)) - node T_171530 = cat(T_171524, T_171529) - wire T_171531 : UInt<1> - T_171531 := UInt<1>(0) - when T_171490 : T_171531 := T_171530 - node T_171532 = cat(T_171487[3].tag, T_171487[3].coh.inner.sharers) - node T_171533 = cat(UInt<1>(0), T_171487[3].coh.outer.state) - node T_171534 = cat(UInt<1>(0), T_171533) - node T_171535 = cat(T_171532, T_171534) - node T_171536 = cat(T_171535, UInt<5>(0)) - node T_171537 = cat(UInt<1>(0), T_171487[3].coh.inner.sharers) - node T_171538 = cat(UInt<1>(0), T_171487[3].coh.outer.state) - node T_171539 = cat(UInt<1>(0), T_171538) - node T_171540 = cat(T_171537, T_171539) - node T_171541 = cat(T_171540, UInt<6>(0)) - node T_171542 = cat(T_171536, T_171541) - wire T_171543 : UInt<1> - T_171543 := UInt<1>(0) - when T_171491 : T_171543 := T_171542 - node T_171544 = cat(T_171487[4].tag, T_171487[4].coh.inner.sharers) - node T_171545 = cat(UInt<1>(0), T_171487[4].coh.outer.state) - node T_171546 = cat(UInt<1>(0), T_171545) - node T_171547 = cat(T_171544, T_171546) - node T_171548 = cat(T_171547, UInt<5>(0)) - node T_171549 = cat(UInt<1>(0), T_171487[4].coh.inner.sharers) - node T_171550 = cat(UInt<1>(0), T_171487[4].coh.outer.state) - node T_171551 = cat(UInt<1>(0), T_171550) - node T_171552 = cat(T_171549, T_171551) - node T_171553 = cat(T_171552, UInt<6>(0)) - node T_171554 = cat(T_171548, T_171553) - wire T_171555 : UInt<1> - T_171555 := UInt<1>(0) - when T_171492 : T_171555 := T_171554 - node T_171556 = cat(T_171487[5].tag, T_171487[5].coh.inner.sharers) - node T_171557 = cat(UInt<1>(0), T_171487[5].coh.outer.state) - node T_171558 = cat(UInt<1>(0), T_171557) - node T_171559 = cat(T_171556, T_171558) - node T_171560 = cat(T_171559, UInt<5>(0)) - node T_171561 = cat(UInt<1>(0), T_171487[5].coh.inner.sharers) - node T_171562 = cat(UInt<1>(0), T_171487[5].coh.outer.state) - node T_171563 = cat(UInt<1>(0), T_171562) - node T_171564 = cat(T_171561, T_171563) - node T_171565 = cat(T_171564, UInt<6>(0)) - node T_171566 = cat(T_171560, T_171565) - wire T_171567 : UInt<1> - T_171567 := UInt<1>(0) - when T_171493 : T_171567 := T_171566 - node T_171568 = cat(T_171487[6].tag, T_171487[6].coh.inner.sharers) - node T_171569 = cat(UInt<1>(0), T_171487[6].coh.outer.state) - node T_171570 = cat(UInt<1>(0), T_171569) - node T_171571 = cat(T_171568, T_171570) - node T_171572 = cat(T_171571, UInt<5>(0)) - node T_171573 = cat(UInt<1>(0), T_171487[6].coh.inner.sharers) - node T_171574 = cat(UInt<1>(0), T_171487[6].coh.outer.state) - node T_171575 = cat(UInt<1>(0), T_171574) - node T_171576 = cat(T_171573, T_171575) - node T_171577 = cat(T_171576, UInt<6>(0)) - node T_171578 = cat(T_171572, T_171577) - wire T_171579 : UInt<1> - T_171579 := UInt<1>(0) - when T_171494 : T_171579 := T_171578 - node T_171580 = cat(T_171487[7].tag, T_171487[7].coh.inner.sharers) - node T_171581 = cat(UInt<1>(0), T_171487[7].coh.outer.state) - node T_171582 = cat(UInt<1>(0), T_171581) - node T_171583 = cat(T_171580, T_171582) - node T_171584 = cat(T_171583, UInt<5>(0)) - node T_171585 = cat(UInt<1>(0), T_171487[7].coh.inner.sharers) - node T_171586 = cat(UInt<1>(0), T_171487[7].coh.outer.state) - node T_171587 = cat(UInt<1>(0), T_171586) - node T_171588 = cat(T_171585, T_171587) - node T_171589 = cat(T_171588, UInt<6>(0)) - node T_171590 = cat(T_171584, T_171589) - wire T_171591 : UInt<1> - T_171591 := UInt<1>(0) - when T_171495 : T_171591 := T_171590 - node T_171592 = or(T_171507, T_171519) - node T_171593 = or(T_171592, T_171531) - node T_171594 = or(T_171593, T_171543) - node T_171595 = or(T_171594, T_171555) - node T_171596 = or(T_171595, T_171567) - node T_171597 = or(T_171596, T_171579) - node T_171598 = or(T_171597, T_171591) - wire T_171599 : UInt<3>[3] - T_171599[0] := UInt<3>(0) - T_171599[1] := UInt<3>(1) - T_171599[2] := UInt<3>(2) - wire T_171600 : UInt<2>[2] - T_171600[0] := UInt<2>(0) - T_171600[1] := UInt<2>(1) - wire T_171601 : UInt<2>[3] - T_171601[0] := UInt<2>(1) - T_171601[1] := UInt<2>(2) - T_171601[2] := UInt<2>(3) - wire T_171602 : UInt<2>[2] - T_171602[0] := UInt<2>(2) - T_171602[1] := UInt<2>(3) - wire T_171603 : UInt<2>[1] - T_171603[0] := UInt<2>(3) - wire T_171604 : UInt<3>[3] - T_171604[0] := UInt<3>(0) - T_171604[1] := UInt<3>(1) - T_171604[2] := UInt<3>(2) - wire T_171605 : UInt<2>[2] - T_171605[0] := UInt<2>(0) - T_171605[1] := UInt<2>(1) - wire T_171606 : UInt<2>[3] - T_171606[0] := UInt<2>(1) - T_171606[1] := UInt<2>(2) - T_171606[2] := UInt<2>(3) - wire T_171607 : UInt<2>[2] - T_171607[0] := UInt<2>(2) - T_171607[1] := UInt<2>(3) - wire T_171608 : UInt<2>[1] - T_171608[0] := UInt<2>(3) - wire T_171609 : UInt<3>[3] - T_171609[0] := UInt<3>(0) - T_171609[1] := UInt<3>(1) - T_171609[2] := UInt<3>(2) - wire T_171610 : UInt<0>[1] - T_171610[0] := UInt<0>(0) - wire T_171611 : UInt<2>[2] - T_171611[0] := UInt<2>(1) - T_171611[1] := UInt<2>(2) - wire T_171612 : UInt<2>[2] - T_171612[0] := UInt<2>(1) - T_171612[1] := UInt<2>(2) - wire T_171613 : UInt<2>[1] - T_171613[0] := UInt<2>(2) - wire T_171614 : UInt<3>[3] - T_171614[0] := UInt<3>(0) - T_171614[1] := UInt<3>(1) - T_171614[2] := UInt<3>(2) - wire T_171615 : UInt<2>[2] - T_171615[0] := UInt<2>(0) - T_171615[1] := UInt<2>(1) - wire T_171616 : UInt<2>[3] - T_171616[0] := UInt<2>(1) - T_171616[1] := UInt<2>(2) - T_171616[2] := UInt<2>(3) - wire T_171617 : UInt<2>[2] - T_171617[0] := UInt<2>(2) - T_171617[1] := UInt<2>(3) - wire T_171618 : UInt<2>[1] - T_171618[0] := UInt<2>(3) - wire T_171619 : UInt<3>[3] - T_171619[0] := UInt<3>(0) - T_171619[1] := UInt<3>(1) - T_171619[2] := UInt<3>(2) - wire T_171620 : UInt<2>[2] - T_171620[0] := UInt<2>(0) - T_171620[1] := UInt<2>(1) - wire T_171621 : UInt<2>[3] - T_171621[0] := UInt<2>(1) - T_171621[1] := UInt<2>(2) - T_171621[2] := UInt<2>(3) - wire T_171622 : UInt<2>[2] - T_171622[0] := UInt<2>(2) - T_171622[1] := UInt<2>(3) - wire T_171623 : UInt<2>[1] - T_171623[0] := UInt<2>(3) - wire T_171624 : UInt<3>[3] - T_171624[0] := UInt<3>(0) - T_171624[1] := UInt<3>(1) - T_171624[2] := UInt<3>(2) - wire T_171625 : UInt<0>[1] - T_171625[0] := UInt<0>(0) - wire T_171626 : UInt<2>[2] - T_171626[0] := UInt<2>(1) - T_171626[1] := UInt<2>(2) - wire T_171627 : UInt<2>[2] - T_171627[0] := UInt<2>(1) - T_171627[1] := UInt<2>(2) - wire T_171628 : UInt<2>[1] - T_171628[0] := UInt<2>(2) - wire s2_repl_meta : {tag : UInt<14>, coh : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}} - node T_171629 = bits(T_171598, 0, 0) - s2_repl_meta.coh.outer.makeVoluntaryWriteback$default$4 := T_171629 - node T_171630 = bits(T_171598, 1, 1) - s2_repl_meta.coh.outer.makeVoluntaryWriteback$default$3 := T_171630 - node T_171631 = bits(T_171598, 2, 2) - s2_repl_meta.coh.outer.makeVoluntaryRelease$default$5 := T_171631 - node T_171632 = bits(T_171598, 3, 3) - s2_repl_meta.coh.outer.makeVoluntaryRelease$default$4 := T_171632 - node T_171633 = bits(T_171598, 4, 4) - s2_repl_meta.coh.outer.makeRelease$default$3 := T_171633 - node T_171634 = bits(T_171598, 5, 5) - s2_repl_meta.coh.outer.makeRelease$default$2 := T_171634 - node T_171635 = bits(T_171598, 7, 6) - s2_repl_meta.coh.outer.state := T_171635 - node T_171636 = bits(T_171598, 8, 8) - s2_repl_meta.coh.inner.makeGrant$default$4 := T_171636 - node T_171637 = bits(T_171598, 9, 9) - s2_repl_meta.coh.inner.makeGrant$default$3 := T_171637 - node T_171638 = bits(T_171598, 10, 10) - s2_repl_meta.coh.inner.sharers := T_171638 - node T_171639 = bits(T_171598, 11, 11) - s2_repl_meta.coh.outer.makeVoluntaryWriteback$default$4 := T_171639 - node T_171640 = bits(T_171598, 12, 12) - s2_repl_meta.coh.outer.makeVoluntaryWriteback$default$3 := T_171640 - node T_171641 = bits(T_171598, 13, 13) - s2_repl_meta.coh.outer.makeVoluntaryRelease$default$5 := T_171641 - node T_171642 = bits(T_171598, 14, 14) - s2_repl_meta.coh.outer.makeVoluntaryRelease$default$4 := T_171642 - node T_171643 = bits(T_171598, 15, 15) - s2_repl_meta.coh.outer.makeRelease$default$3 := T_171643 - node T_171644 = bits(T_171598, 16, 16) - s2_repl_meta.coh.outer.makeRelease$default$2 := T_171644 - node T_171645 = bits(T_171598, 18, 17) - s2_repl_meta.coh.outer.state := T_171645 - node T_171646 = bits(T_171598, 19, 19) - s2_repl_meta.coh.inner.makeGrant$default$4 := T_171646 - node T_171647 = bits(T_171598, 20, 20) - s2_repl_meta.coh.inner.makeGrant$default$3 := T_171647 - node T_171648 = bits(T_171598, 21, 21) - s2_repl_meta.coh.inner.sharers := T_171648 - node T_171649 = bits(T_171598, 35, 22) - s2_repl_meta.tag := T_171649 - - node T_171650 = eq(s2_tag_match, UInt<1>(0)) - when T_171650 : T_171209 := UInt<1>(1) - reg T_171651 : UInt<1> - T_171651 := s1_clk_en - resp.valid := T_171651 - reg T_171652 : UInt<2> - when s1_clk_en : T_171652 := s1_id - resp.bits.id := T_171652 - resp.bits.tag_match := s2_tag_match - wire T_171653 : UInt<3>[3] - T_171653[0] := UInt<3>(0) - T_171653[1] := UInt<3>(1) - T_171653[2] := UInt<3>(2) - wire T_171654 : UInt<2>[2] - T_171654[0] := UInt<2>(0) - T_171654[1] := UInt<2>(1) - wire T_171655 : UInt<2>[3] - T_171655[0] := UInt<2>(1) - T_171655[1] := UInt<2>(2) - T_171655[2] := UInt<2>(3) - wire T_171656 : UInt<2>[2] - T_171656[0] := UInt<2>(2) - T_171656[1] := UInt<2>(3) - wire T_171657 : UInt<2>[1] - T_171657[0] := UInt<2>(3) - wire T_171658 : UInt<3>[3] - T_171658[0] := UInt<3>(0) - T_171658[1] := UInt<3>(1) - T_171658[2] := UInt<3>(2) - wire T_171659 : UInt<2>[2] - T_171659[0] := UInt<2>(0) - T_171659[1] := UInt<2>(1) - wire T_171660 : UInt<2>[3] - T_171660[0] := UInt<2>(1) - T_171660[1] := UInt<2>(2) - T_171660[2] := UInt<2>(3) - wire T_171661 : UInt<2>[2] - T_171661[0] := UInt<2>(2) - T_171661[1] := UInt<2>(3) - wire T_171662 : UInt<2>[1] - T_171662[0] := UInt<2>(3) - wire T_171663 : UInt<3>[3] - T_171663[0] := UInt<3>(0) - T_171663[1] := UInt<3>(1) - T_171663[2] := UInt<3>(2) - wire T_171664 : UInt<0>[1] - T_171664[0] := UInt<0>(0) - wire T_171665 : UInt<2>[2] - T_171665[0] := UInt<2>(1) - T_171665[1] := UInt<2>(2) - wire T_171666 : UInt<2>[2] - T_171666[0] := UInt<2>(1) - T_171666[1] := UInt<2>(2) - wire T_171667 : UInt<2>[1] - T_171667[0] := UInt<2>(2) - wire T_171668 : UInt<3>[3] - T_171668[0] := UInt<3>(0) - T_171668[1] := UInt<3>(1) - T_171668[2] := UInt<3>(2) - wire T_171669 : UInt<2>[2] - T_171669[0] := UInt<2>(0) - T_171669[1] := UInt<2>(1) - wire T_171670 : UInt<2>[3] - T_171670[0] := UInt<2>(1) - T_171670[1] := UInt<2>(2) - T_171670[2] := UInt<2>(3) - wire T_171671 : UInt<2>[2] - T_171671[0] := UInt<2>(2) - T_171671[1] := UInt<2>(3) - wire T_171672 : UInt<2>[1] - T_171672[0] := UInt<2>(3) - wire T_171673 : UInt<3>[3] - T_171673[0] := UInt<3>(0) - T_171673[1] := UInt<3>(1) - T_171673[2] := UInt<3>(2) - wire T_171674 : UInt<2>[2] - T_171674[0] := UInt<2>(0) - T_171674[1] := UInt<2>(1) - wire T_171675 : UInt<2>[3] - T_171675[0] := UInt<2>(1) - T_171675[1] := UInt<2>(2) - T_171675[2] := UInt<2>(3) - wire T_171676 : UInt<2>[2] - T_171676[0] := UInt<2>(2) - T_171676[1] := UInt<2>(3) - wire T_171677 : UInt<2>[1] - T_171677[0] := UInt<2>(3) - wire T_171678 : UInt<3>[3] - T_171678[0] := UInt<3>(0) - T_171678[1] := UInt<3>(1) - T_171678[2] := UInt<3>(2) - wire T_171679 : UInt<0>[1] - T_171679[0] := UInt<0>(0) - wire T_171680 : UInt<2>[2] - T_171680[0] := UInt<2>(1) - T_171680[1] := UInt<2>(2) - wire T_171681 : UInt<2>[2] - T_171681[0] := UInt<2>(1) - T_171681[1] := UInt<2>(2) - wire T_171682 : UInt<2>[1] - T_171682[0] := UInt<2>(2) - wire T_171683 : {tag : UInt<14>, coh : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}} - T_171683.tag := s2_repl_meta.tag - T_171683.coh := s2_hit_coh - wire T_171684 : UInt<3>[3] - T_171684[0] := UInt<3>(0) - T_171684[1] := UInt<3>(1) - T_171684[2] := UInt<3>(2) - wire T_171685 : UInt<2>[2] - T_171685[0] := UInt<2>(0) - T_171685[1] := UInt<2>(1) - wire T_171686 : UInt<2>[3] - T_171686[0] := UInt<2>(1) - T_171686[1] := UInt<2>(2) - T_171686[2] := UInt<2>(3) - wire T_171687 : UInt<2>[2] - T_171687[0] := UInt<2>(2) - T_171687[1] := UInt<2>(3) - wire T_171688 : UInt<2>[1] - T_171688[0] := UInt<2>(3) - wire T_171689 : UInt<3>[3] - T_171689[0] := UInt<3>(0) - T_171689[1] := UInt<3>(1) - T_171689[2] := UInt<3>(2) - wire T_171690 : UInt<2>[2] - T_171690[0] := UInt<2>(0) - T_171690[1] := UInt<2>(1) - wire T_171691 : UInt<2>[3] - T_171691[0] := UInt<2>(1) - T_171691[1] := UInt<2>(2) - T_171691[2] := UInt<2>(3) - wire T_171692 : UInt<2>[2] - T_171692[0] := UInt<2>(2) - T_171692[1] := UInt<2>(3) - wire T_171693 : UInt<2>[1] - T_171693[0] := UInt<2>(3) - wire T_171694 : UInt<3>[3] - T_171694[0] := UInt<3>(0) - T_171694[1] := UInt<3>(1) - T_171694[2] := UInt<3>(2) - wire T_171695 : UInt<0>[1] - T_171695[0] := UInt<0>(0) - wire T_171696 : UInt<2>[2] - T_171696[0] := UInt<2>(1) - T_171696[1] := UInt<2>(2) - wire T_171697 : UInt<2>[2] - T_171697[0] := UInt<2>(1) - T_171697[1] := UInt<2>(2) - wire T_171698 : UInt<2>[1] - T_171698[0] := UInt<2>(2) - wire T_171699 : {tag : UInt<14>, coh : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}} - T_171699 := s2_repl_meta - when s2_tag_match : T_171699 := T_171683 - resp.bits.meta := T_171699 - wire T_171700 : UInt<9> - T_171700 := s2_replaced_way_en - when s2_tag_match : T_171700 := s2_tag_match_way - resp.bits.way_en := T_171700 - module L2DataArray : - output read : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, id : UInt<2>, addr_idx : UInt<12>, way_en : UInt<8>}} - input resp : {valid : UInt<1>, bits : {id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>}} - output write : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, id : UInt<2>, addr_idx : UInt<12>, way_en : UInt<8>, data : UInt<128>, wmask : UInt<16>}} - - cmem T_171701 : UInt<128>[131072] - node T_171702 = eq(write.valid, UInt<1>(0)) - node ren = and(T_171702, read.valid) - node T_171703 = bits(read.bits.way_en, 7, 4) - node T_171704 = bits(read.bits.way_en, 3, 0) - node T_171705 = eq(T_171703, UInt<1>(0)) - node T_171706 = eq(T_171705, UInt<1>(0)) - node T_171707 = or(T_171703, T_171704) - node T_171708 = bits(T_171707, 3, 2) - node T_171709 = bits(T_171707, 1, 0) - node T_171710 = eq(T_171708, UInt<1>(0)) - node T_171711 = eq(T_171710, UInt<1>(0)) - node T_171712 = or(T_171708, T_171709) - node T_171713 = bit(T_171712, 1) - node T_171714 = cat(T_171711, T_171713) - node T_171715 = cat(T_171706, T_171714) - node T_171716 = cat(read.bits.addr_idx, read.bits.addr_beat) - node raddr = cat(T_171715, T_171716) - node T_171717 = bits(write.bits.way_en, 7, 4) - node T_171718 = bits(write.bits.way_en, 3, 0) - node T_171719 = eq(T_171717, UInt<1>(0)) - node T_171720 = eq(T_171719, UInt<1>(0)) - node T_171721 = or(T_171717, T_171718) - node T_171722 = bits(T_171721, 3, 2) - node T_171723 = bits(T_171721, 1, 0) - node T_171724 = eq(T_171722, UInt<1>(0)) - node T_171725 = eq(T_171724, UInt<1>(0)) - node T_171726 = or(T_171722, T_171723) - node T_171727 = bit(T_171726, 1) - node T_171728 = cat(T_171725, T_171727) - node T_171729 = cat(T_171720, T_171728) - node T_171730 = cat(write.bits.addr_idx, write.bits.addr_beat) - node waddr = cat(T_171729, T_171730) - node T_171731 = bit(write.bits.wmask, 0) - node T_171732 = bit(write.bits.wmask, 1) - node T_171733 = bit(write.bits.wmask, 2) - node T_171734 = bit(write.bits.wmask, 3) - node T_171735 = bit(write.bits.wmask, 4) - node T_171736 = bit(write.bits.wmask, 5) - node T_171737 = bit(write.bits.wmask, 6) - node T_171738 = bit(write.bits.wmask, 7) - node T_171739 = bit(write.bits.wmask, 8) - node T_171740 = bit(write.bits.wmask, 9) - node T_171741 = bit(write.bits.wmask, 10) - node T_171742 = bit(write.bits.wmask, 11) - node T_171743 = bit(write.bits.wmask, 12) - node T_171744 = bit(write.bits.wmask, 13) - node T_171745 = bit(write.bits.wmask, 14) - node T_171746 = bit(write.bits.wmask, 15) - wire T_171747 : UInt<1>[16] - T_171747[0] := T_171731 - T_171747[1] := T_171732 - T_171747[2] := T_171733 - T_171747[3] := T_171734 - T_171747[4] := T_171735 - T_171747[5] := T_171736 - T_171747[6] := T_171737 - T_171747[7] := T_171738 - T_171747[8] := T_171739 - T_171747[9] := T_171740 - T_171747[10] := T_171741 - T_171747[11] := T_171742 - T_171747[12] := T_171743 - T_171747[13] := T_171744 - T_171747[14] := T_171745 - T_171747[15] := T_171746 - node T_171748 = subw(UInt<8>(0), UInt<4>(8)) - node T_171749 = subw(UInt<8>(0), UInt<4>(8)) - node T_171750 = subw(UInt<8>(0), UInt<4>(8)) - node T_171751 = subw(UInt<8>(0), UInt<4>(8)) - node T_171752 = subw(UInt<8>(0), UInt<4>(8)) - node T_171753 = subw(UInt<8>(0), UInt<4>(8)) - node T_171754 = subw(UInt<8>(0), UInt<4>(8)) - node T_171755 = subw(UInt<8>(0), UInt<4>(8)) - node T_171756 = subw(UInt<8>(0), UInt<4>(8)) - node T_171757 = subw(UInt<8>(0), UInt<4>(8)) - node T_171758 = subw(UInt<8>(0), UInt<4>(8)) - node T_171759 = subw(UInt<8>(0), UInt<4>(8)) - node T_171760 = subw(UInt<8>(0), UInt<4>(8)) - node T_171761 = subw(UInt<8>(0), UInt<4>(8)) - node T_171762 = subw(UInt<8>(0), UInt<4>(8)) - node T_171763 = subw(UInt<8>(0), UInt<4>(8)) - wire T_171764 : UInt<8>[16] - T_171764[0] := T_171748 - T_171764[1] := T_171749 - T_171764[2] := T_171750 - T_171764[3] := T_171751 - T_171764[4] := T_171752 - T_171764[5] := T_171753 - T_171764[6] := T_171754 - T_171764[7] := T_171755 - T_171764[8] := T_171756 - T_171764[9] := T_171757 - T_171764[10] := T_171758 - T_171764[11] := T_171759 - T_171764[12] := T_171760 - T_171764[13] := T_171761 - T_171764[14] := T_171762 - T_171764[15] := T_171763 - node T_171765 = cat(T_171764[15], T_171764[14]) - node T_171766 = cat(T_171764[13], T_171764[12]) - node T_171767 = cat(T_171765, T_171766) - node T_171768 = cat(T_171764[11], T_171764[10]) - node T_171769 = cat(T_171764[9], T_171764[8]) - node T_171770 = cat(T_171768, T_171769) - node T_171771 = cat(T_171767, T_171770) - node T_171772 = cat(T_171764[7], T_171764[6]) - node T_171773 = cat(T_171764[5], T_171764[4]) - node T_171774 = cat(T_171772, T_171773) - node T_171775 = cat(T_171764[3], T_171764[2]) - node T_171776 = cat(T_171764[1], T_171764[0]) - node T_171777 = cat(T_171775, T_171776) - node T_171778 = cat(T_171774, T_171777) - node wmask = cat(T_171771, T_171778) - when write.valid : - accessor T_171779 = T_171701[waddr] - node T_171780 = not(wmask) - node T_171781 = and(T_171779, T_171780) - node T_171782 = and(write.bits.data, wmask) - node T_171783 = or(T_171781, T_171782) - wire T_171784 : UInt<128> - node T_171785 = bits(T_171783, 127, 0) - T_171784 := T_171785 - accessor T_171786 = T_171701[waddr] - T_171786 := T_171784 - node T_171787 = and(read.ready, read.valid) - reg T_171788 : UInt<1> - onreset T_171788 := UInt<1>(0) - T_171788 := T_171787 - reg T_171789 : {addr_beat : UInt<2>, id : UInt<2>, addr_idx : UInt<12>, way_en : UInt<8>} - when T_171787 : T_171789 := read.bits - r_req.valid <> T_171788 - r_req.bits <> T_171789 - reg T_171790 : UInt<1> - onreset T_171790 := UInt<1>(0) - T_171790 := r_req.valid - reg T_171791 : {addr_beat : UInt<2>, id : UInt<2>, addr_idx : UInt<12>, way_en : UInt<8>} - when r_req.valid : T_171791 := r_req.bits - T_171792.valid <> T_171790 - T_171792.bits <> T_171791 - resp := T_171792 - reg T_171793 : UInt<17> - when ren : T_171793 := raddr - accessor T_171794 = T_171701[T_171793] - reg T_171795 : UInt<1> - onreset T_171795 := UInt<1>(0) - T_171795 := r_req.valid - reg T_171796 : UInt<128> - when r_req.valid : T_171796 := T_171794 - T_171797.valid <> T_171795 - T_171797.bits <> T_171796 - resp.bits.data := T_171797.bits - node T_171798 = eq(write.valid, UInt<1>(0)) - read.ready := T_171798 - write.ready := UInt<1>(1) - module L2VoluntaryReleaseTracker : - output inner : {flip acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>, client_id : UInt<2>}}, grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>, client_id : UInt<2>}}, flip finish : {flip ready : UInt<1>, valid : UInt<1>, bits : {manager_xact_id : UInt<2>}}, probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>, client_id : UInt<2>}}, flip release : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>, client_id : UInt<2>}}} - input incoherent : UInt<1>[1] - output outer : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<2>, manager_xact_id : UInt<1>, is_builtin_type : UInt<1>, g_type : UInt<4>}}, flip probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>}}, release : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}} - output has_acquire_conflict : UInt<1> - output has_acquire_match : UInt<1> - output has_release_match : UInt<1> - output data : {read : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, id : UInt<2>, addr_idx : UInt<12>, way_en : UInt<8>}}, flip resp : {valid : UInt<1>, bits : {id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>}}, write : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, id : UInt<2>, addr_idx : UInt<12>, way_en : UInt<8>, data : UInt<128>, wmask : UInt<16>}}} - output meta : {read : {flip ready : UInt<1>, valid : UInt<1>, bits : {idx : UInt<12>, id : UInt<2>, tag : UInt<14>}}, flip resp : {valid : UInt<1>, bits : {id : UInt<2>, tag_match : UInt<1>, meta : {tag : UInt<14>, coh : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}}, way_en : UInt<8>}}, write : {flip ready : UInt<1>, valid : UInt<1>, bits : {idx : UInt<12>, way_en : UInt<8>, data : {tag : UInt<14>, coh : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}}, id : UInt<2>}}} - output wb : {req : {flip ready : UInt<1>, valid : UInt<1>, bits : {tag : UInt<14>, coh : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}, id : UInt<2>, idx : UInt<12>, way_en : UInt<8>}}, flip resp : {valid : UInt<1>, bits : {id : UInt<2>}}} - - wire T_171799 : UInt<3>[3] - T_171799[0] := UInt<3>(0) - T_171799[1] := UInt<3>(1) - T_171799[2] := UInt<3>(2) - wire T_171800 : UInt<2>[2] - T_171800[0] := UInt<2>(0) - T_171800[1] := UInt<2>(1) - wire T_171801 : UInt<2>[3] - T_171801[0] := UInt<2>(1) - T_171801[1] := UInt<2>(2) - T_171801[2] := UInt<2>(3) - wire T_171802 : UInt<2>[2] - T_171802[0] := UInt<2>(2) - T_171802[1] := UInt<2>(3) - wire T_171803 : UInt<2>[1] - T_171803[0] := UInt<2>(3) - wire T_171804 : UInt<3>[3] - T_171804[0] := UInt<3>(0) - T_171804[1] := UInt<3>(1) - T_171804[2] := UInt<3>(2) - wire T_171805 : UInt<2>[2] - T_171805[0] := UInt<2>(0) - T_171805[1] := UInt<2>(1) - wire T_171806 : UInt<2>[3] - T_171806[0] := UInt<2>(1) - T_171806[1] := UInt<2>(2) - T_171806[2] := UInt<2>(3) - wire T_171807 : UInt<2>[2] - T_171807[0] := UInt<2>(2) - T_171807[1] := UInt<2>(3) - wire T_171808 : UInt<2>[1] - T_171808[0] := UInt<2>(3) - wire T_171809 : UInt<3>[3] - T_171809[0] := UInt<3>(0) - T_171809[1] := UInt<3>(1) - T_171809[2] := UInt<3>(2) - wire T_171810 : UInt<2>[2] - T_171810[0] := UInt<2>(0) - T_171810[1] := UInt<2>(1) - wire T_171811 : UInt<2>[3] - T_171811[0] := UInt<2>(1) - T_171811[1] := UInt<2>(2) - T_171811[2] := UInt<2>(3) - wire T_171812 : UInt<2>[2] - T_171812[0] := UInt<2>(2) - T_171812[1] := UInt<2>(3) - wire T_171813 : UInt<2>[1] - T_171813[0] := UInt<2>(3) - wire T_171814 : UInt<3>[3] - T_171814[0] := UInt<3>(0) - T_171814[1] := UInt<3>(1) - T_171814[2] := UInt<3>(2) - wire T_171815 : UInt<2>[2] - T_171815[0] := UInt<2>(0) - T_171815[1] := UInt<2>(1) - wire T_171816 : UInt<2>[3] - T_171816[0] := UInt<2>(1) - T_171816[1] := UInt<2>(2) - T_171816[2] := UInt<2>(3) - wire T_171817 : UInt<2>[2] - T_171817[0] := UInt<2>(2) - T_171817[1] := UInt<2>(3) - wire T_171818 : UInt<2>[1] - T_171818[0] := UInt<2>(3) - wire T_171819 : UInt<3>[3] - T_171819[0] := UInt<3>(0) - T_171819[1] := UInt<3>(1) - T_171819[2] := UInt<3>(2) - wire T_171820 : UInt<2>[2] - T_171820[0] := UInt<2>(0) - T_171820[1] := UInt<2>(1) - wire T_171821 : UInt<2>[3] - T_171821[0] := UInt<2>(1) - T_171821[1] := UInt<2>(2) - T_171821[2] := UInt<2>(3) - wire T_171822 : UInt<2>[2] - T_171822[0] := UInt<2>(2) - T_171822[1] := UInt<2>(3) - wire T_171823 : UInt<2>[1] - T_171823[0] := UInt<2>(3) - wire T_171824 : UInt<3>[3] - T_171824[0] := UInt<3>(0) - T_171824[1] := UInt<3>(1) - T_171824[2] := UInt<3>(2) - wire T_171825 : UInt<2>[2] - T_171825[0] := UInt<2>(0) - T_171825[1] := UInt<2>(1) - wire T_171826 : UInt<2>[3] - T_171826[0] := UInt<2>(1) - T_171826[1] := UInt<2>(2) - T_171826[2] := UInt<2>(3) - wire T_171827 : UInt<2>[2] - T_171827[0] := UInt<2>(2) - T_171827[1] := UInt<2>(3) - wire T_171828 : UInt<2>[1] - T_171828[0] := UInt<2>(3) - wire T_171829 : UInt<3>[3] - T_171829[0] := UInt<3>(0) - T_171829[1] := UInt<3>(1) - T_171829[2] := UInt<3>(2) - wire T_171830 : UInt<2>[2] - T_171830[0] := UInt<2>(0) - T_171830[1] := UInt<2>(1) - wire T_171831 : UInt<2>[3] - T_171831[0] := UInt<2>(1) - T_171831[1] := UInt<2>(2) - T_171831[2] := UInt<2>(3) - wire T_171832 : UInt<2>[2] - T_171832[0] := UInt<2>(2) - T_171832[1] := UInt<2>(3) - wire T_171833 : UInt<2>[1] - T_171833[0] := UInt<2>(3) - wire T_171834 : UInt<3>[3] - T_171834[0] := UInt<3>(0) - T_171834[1] := UInt<3>(1) - T_171834[2] := UInt<3>(2) - wire T_171835 : UInt<2>[2] - T_171835[0] := UInt<2>(0) - T_171835[1] := UInt<2>(1) - wire T_171836 : UInt<2>[3] - T_171836[0] := UInt<2>(1) - T_171836[1] := UInt<2>(2) - T_171836[2] := UInt<2>(3) - wire T_171837 : UInt<2>[2] - T_171837[0] := UInt<2>(2) - T_171837[1] := UInt<2>(3) - wire T_171838 : UInt<2>[1] - T_171838[0] := UInt<2>(3) - wire T_171839 : UInt<3>[3] - T_171839[0] := UInt<3>(0) - T_171839[1] := UInt<3>(1) - T_171839[2] := UInt<3>(2) - wire T_171840 : UInt<2>[2] - T_171840[0] := UInt<2>(0) - T_171840[1] := UInt<2>(1) - wire T_171841 : UInt<2>[3] - T_171841[0] := UInt<2>(1) - T_171841[1] := UInt<2>(2) - T_171841[2] := UInt<2>(3) - wire T_171842 : UInt<2>[2] - T_171842[0] := UInt<2>(2) - T_171842[1] := UInt<2>(3) - wire T_171843 : UInt<2>[1] - T_171843[0] := UInt<2>(3) - wire T_171844 : UInt<3>[3] - T_171844[0] := UInt<3>(0) - T_171844[1] := UInt<3>(1) - T_171844[2] := UInt<3>(2) - wire T_171845 : UInt<2>[2] - T_171845[0] := UInt<2>(0) - T_171845[1] := UInt<2>(1) - wire T_171846 : UInt<2>[3] - T_171846[0] := UInt<2>(1) - T_171846[1] := UInt<2>(2) - T_171846[2] := UInt<2>(3) - wire T_171847 : UInt<2>[2] - T_171847[0] := UInt<2>(2) - T_171847[1] := UInt<2>(3) - wire T_171848 : UInt<2>[1] - T_171848[0] := UInt<2>(3) - wire T_171849 : UInt<3>[3] - T_171849[0] := UInt<3>(0) - T_171849[1] := UInt<3>(1) - T_171849[2] := UInt<3>(2) - wire T_171850 : UInt<2>[2] - T_171850[0] := UInt<2>(0) - T_171850[1] := UInt<2>(1) - wire T_171851 : UInt<2>[3] - T_171851[0] := UInt<2>(1) - T_171851[1] := UInt<2>(2) - T_171851[2] := UInt<2>(3) - wire T_171852 : UInt<2>[2] - T_171852[0] := UInt<2>(2) - T_171852[1] := UInt<2>(3) - wire T_171853 : UInt<2>[1] - T_171853[0] := UInt<2>(3) - wire incoherent : UInt<1>[1] - incoherent[0] := T_171854 - wire T_171855 : UInt<3>[3] - T_171855[0] := UInt<3>(0) - T_171855[1] := UInt<3>(1) - T_171855[2] := UInt<3>(2) - wire T_171856 : UInt<0>[1] - T_171856[0] := UInt<0>(0) - wire T_171857 : UInt<2>[2] - T_171857[0] := UInt<2>(1) - T_171857[1] := UInt<2>(2) - wire T_171858 : UInt<2>[2] - T_171858[0] := UInt<2>(1) - T_171858[1] := UInt<2>(2) - wire T_171859 : UInt<2>[1] - T_171859[0] := UInt<2>(2) - wire T_171860 : UInt<3>[3] - T_171860[0] := UInt<3>(0) - T_171860[1] := UInt<3>(1) - T_171860[2] := UInt<3>(2) - wire T_171861 : UInt<0>[1] - T_171861[0] := UInt<0>(0) - wire T_171862 : UInt<2>[2] - T_171862[0] := UInt<2>(1) - T_171862[1] := UInt<2>(2) - wire T_171863 : UInt<2>[2] - T_171863[0] := UInt<2>(1) - T_171863[1] := UInt<2>(2) - wire T_171864 : UInt<2>[1] - T_171864[0] := UInt<2>(2) - wire T_171865 : UInt<3>[3] - T_171865[0] := UInt<3>(0) - T_171865[1] := UInt<3>(1) - T_171865[2] := UInt<3>(2) - wire T_171866 : UInt<0>[1] - T_171866[0] := UInt<0>(0) - wire T_171867 : UInt<2>[2] - T_171867[0] := UInt<2>(1) - T_171867[1] := UInt<2>(2) - wire T_171868 : UInt<2>[2] - T_171868[0] := UInt<2>(1) - T_171868[1] := UInt<2>(2) - wire T_171869 : UInt<2>[1] - T_171869[0] := UInt<2>(2) - wire T_171870 : UInt<3>[3] - T_171870[0] := UInt<3>(0) - T_171870[1] := UInt<3>(1) - T_171870[2] := UInt<3>(2) - wire T_171871 : UInt<0>[1] - T_171871[0] := UInt<0>(0) - wire T_171872 : UInt<2>[2] - T_171872[0] := UInt<2>(1) - T_171872[1] := UInt<2>(2) - wire T_171873 : UInt<2>[2] - T_171873[0] := UInt<2>(1) - T_171873[1] := UInt<2>(2) - wire T_171874 : UInt<2>[1] - T_171874[0] := UInt<2>(2) - wire T_171875 : UInt<3>[3] - T_171875[0] := UInt<3>(0) - T_171875[1] := UInt<3>(1) - T_171875[2] := UInt<3>(2) - wire T_171876 : UInt<0>[1] - T_171876[0] := UInt<0>(0) - wire T_171877 : UInt<2>[2] - T_171877[0] := UInt<2>(1) - T_171877[1] := UInt<2>(2) - wire T_171878 : UInt<2>[2] - T_171878[0] := UInt<2>(1) - T_171878[1] := UInt<2>(2) - wire T_171879 : UInt<2>[1] - T_171879[0] := UInt<2>(2) - wire T_171880 : UInt<3>[3] - T_171880[0] := UInt<3>(0) - T_171880[1] := UInt<3>(1) - T_171880[2] := UInt<3>(2) - wire T_171881 : UInt<0>[1] - T_171881[0] := UInt<0>(0) - wire T_171882 : UInt<2>[2] - T_171882[0] := UInt<2>(1) - T_171882[1] := UInt<2>(2) - wire T_171883 : UInt<2>[2] - T_171883[0] := UInt<2>(1) - T_171883[1] := UInt<2>(2) - wire T_171884 : UInt<2>[1] - T_171884[0] := UInt<2>(2) - wire T_171885 : UInt<3>[3] - T_171885[0] := UInt<3>(0) - T_171885[1] := UInt<3>(1) - T_171885[2] := UInt<3>(2) - wire T_171886 : UInt<0>[1] - T_171886[0] := UInt<0>(0) - wire T_171887 : UInt<2>[2] - T_171887[0] := UInt<2>(1) - T_171887[1] := UInt<2>(2) - wire T_171888 : UInt<2>[2] - T_171888[0] := UInt<2>(1) - T_171888[1] := UInt<2>(2) - wire T_171889 : UInt<2>[1] - T_171889[0] := UInt<2>(2) - wire T_171890 : UInt<3>[3] - T_171890[0] := UInt<3>(0) - T_171890[1] := UInt<3>(1) - T_171890[2] := UInt<3>(2) - wire T_171891 : UInt<0>[1] - T_171891[0] := UInt<0>(0) - wire T_171892 : UInt<2>[2] - T_171892[0] := UInt<2>(1) - T_171892[1] := UInt<2>(2) - wire T_171893 : UInt<2>[2] - T_171893[0] := UInt<2>(1) - T_171893[1] := UInt<2>(2) - wire T_171894 : UInt<2>[1] - T_171894[0] := UInt<2>(2) - wire T_171895 : UInt<3>[3] - T_171895[0] := UInt<3>(0) - T_171895[1] := UInt<3>(1) - T_171895[2] := UInt<3>(2) - wire T_171896 : UInt<0>[1] - T_171896[0] := UInt<0>(0) - wire T_171897 : UInt<2>[2] - T_171897[0] := UInt<2>(1) - T_171897[1] := UInt<2>(2) - wire T_171898 : UInt<2>[2] - T_171898[0] := UInt<2>(1) - T_171898[1] := UInt<2>(2) - wire T_171899 : UInt<2>[1] - T_171899[0] := UInt<2>(2) - wire T_171900 : UInt<3>[3] - T_171900[0] := UInt<3>(0) - T_171900[1] := UInt<3>(1) - T_171900[2] := UInt<3>(2) - wire T_171901 : UInt<2>[2] - T_171901[0] := UInt<2>(0) - T_171901[1] := UInt<2>(1) - wire T_171902 : UInt<2>[3] - T_171902[0] := UInt<2>(1) - T_171902[1] := UInt<2>(2) - T_171902[2] := UInt<2>(3) - wire T_171903 : UInt<2>[2] - T_171903[0] := UInt<2>(2) - T_171903[1] := UInt<2>(3) - wire T_171904 : UInt<2>[1] - T_171904[0] := UInt<2>(3) - wire T_171905 : UInt<3>[3] - T_171905[0] := UInt<3>(0) - T_171905[1] := UInt<3>(1) - T_171905[2] := UInt<3>(2) - wire T_171906 : UInt<2>[2] - T_171906[0] := UInt<2>(0) - T_171906[1] := UInt<2>(1) - wire T_171907 : UInt<2>[3] - T_171907[0] := UInt<2>(1) - T_171907[1] := UInt<2>(2) - T_171907[2] := UInt<2>(3) - wire T_171908 : UInt<2>[2] - T_171908[0] := UInt<2>(2) - T_171908[1] := UInt<2>(3) - wire T_171909 : UInt<2>[1] - T_171909[0] := UInt<2>(3) - wire T_171910 : UInt<3>[3] - T_171910[0] := UInt<3>(0) - T_171910[1] := UInt<3>(1) - T_171910[2] := UInt<3>(2) - wire T_171911 : UInt<0>[1] - T_171911[0] := UInt<0>(0) - wire T_171912 : UInt<2>[2] - T_171912[0] := UInt<2>(1) - T_171912[1] := UInt<2>(2) - wire T_171913 : UInt<2>[2] - T_171913[0] := UInt<2>(1) - T_171913[1] := UInt<2>(2) - wire T_171914 : UInt<2>[1] - T_171914[0] := UInt<2>(2) - wire T_171915 : UInt<3>[3] - T_171915[0] := UInt<3>(0) - T_171915[1] := UInt<3>(1) - T_171915[2] := UInt<3>(2) - wire T_171916 : UInt<2>[2] - T_171916[0] := UInt<2>(0) - T_171916[1] := UInt<2>(1) - wire T_171917 : UInt<2>[3] - T_171917[0] := UInt<2>(1) - T_171917[1] := UInt<2>(2) - T_171917[2] := UInt<2>(3) - wire T_171918 : UInt<2>[2] - T_171918[0] := UInt<2>(2) - T_171918[1] := UInt<2>(3) - wire T_171919 : UInt<2>[1] - T_171919[0] := UInt<2>(3) - wire T_171920 : UInt<3>[3] - T_171920[0] := UInt<3>(0) - T_171920[1] := UInt<3>(1) - T_171920[2] := UInt<3>(2) - wire T_171921 : UInt<2>[2] - T_171921[0] := UInt<2>(0) - T_171921[1] := UInt<2>(1) - wire T_171922 : UInt<2>[3] - T_171922[0] := UInt<2>(1) - T_171922[1] := UInt<2>(2) - T_171922[2] := UInt<2>(3) - wire T_171923 : UInt<2>[2] - T_171923[0] := UInt<2>(2) - T_171923[1] := UInt<2>(3) - wire T_171924 : UInt<2>[1] - T_171924[0] := UInt<2>(3) - wire T_171925 : UInt<3>[3] - T_171925[0] := UInt<3>(0) - T_171925[1] := UInt<3>(1) - T_171925[2] := UInt<3>(2) - wire T_171926 : UInt<0>[1] - T_171926[0] := UInt<0>(0) - wire T_171927 : UInt<2>[2] - T_171927[0] := UInt<2>(1) - T_171927[1] := UInt<2>(2) - wire T_171928 : UInt<2>[2] - T_171928[0] := UInt<2>(1) - T_171928[1] := UInt<2>(2) - wire T_171929 : UInt<2>[1] - T_171929[0] := UInt<2>(2) - wire T_171930 : UInt<3>[3] - T_171930[0] := UInt<3>(0) - T_171930[1] := UInt<3>(1) - T_171930[2] := UInt<3>(2) - wire T_171931 : UInt<2>[2] - T_171931[0] := UInt<2>(0) - T_171931[1] := UInt<2>(1) - wire T_171932 : UInt<2>[3] - T_171932[0] := UInt<2>(1) - T_171932[1] := UInt<2>(2) - T_171932[2] := UInt<2>(3) - wire T_171933 : UInt<2>[2] - T_171933[0] := UInt<2>(2) - T_171933[1] := UInt<2>(3) - wire T_171934 : UInt<2>[1] - T_171934[0] := UInt<2>(3) - wire T_171935 : UInt<3>[3] - T_171935[0] := UInt<3>(0) - T_171935[1] := UInt<3>(1) - T_171935[2] := UInt<3>(2) - wire T_171936 : UInt<2>[2] - T_171936[0] := UInt<2>(0) - T_171936[1] := UInt<2>(1) - wire T_171937 : UInt<2>[3] - T_171937[0] := UInt<2>(1) - T_171937[1] := UInt<2>(2) - T_171937[2] := UInt<2>(3) - wire T_171938 : UInt<2>[2] - T_171938[0] := UInt<2>(2) - T_171938[1] := UInt<2>(3) - wire T_171939 : UInt<2>[1] - T_171939[0] := UInt<2>(3) - wire T_171940 : UInt<3>[3] - T_171940[0] := UInt<3>(0) - T_171940[1] := UInt<3>(1) - T_171940[2] := UInt<3>(2) - wire T_171941 : UInt<0>[1] - T_171941[0] := UInt<0>(0) - wire T_171942 : UInt<2>[2] - T_171942[0] := UInt<2>(1) - T_171942[1] := UInt<2>(2) - wire T_171943 : UInt<2>[2] - T_171943[0] := UInt<2>(1) - T_171943[1] := UInt<2>(2) - wire T_171944 : UInt<2>[1] - T_171944[0] := UInt<2>(2) - wire T_171945 : UInt<3>[3] - T_171945[0] := UInt<3>(0) - T_171945[1] := UInt<3>(1) - T_171945[2] := UInt<3>(2) - wire T_171946 : UInt<2>[2] - T_171946[0] := UInt<2>(0) - T_171946[1] := UInt<2>(1) - wire T_171947 : UInt<2>[3] - T_171947[0] := UInt<2>(1) - T_171947[1] := UInt<2>(2) - T_171947[2] := UInt<2>(3) - wire T_171948 : UInt<2>[2] - T_171948[0] := UInt<2>(2) - T_171948[1] := UInt<2>(3) - wire T_171949 : UInt<2>[1] - T_171949[0] := UInt<2>(3) - wire T_171950 : UInt<3>[3] - T_171950[0] := UInt<3>(0) - T_171950[1] := UInt<3>(1) - T_171950[2] := UInt<3>(2) - wire T_171951 : UInt<2>[2] - T_171951[0] := UInt<2>(0) - T_171951[1] := UInt<2>(1) - wire T_171952 : UInt<2>[3] - T_171952[0] := UInt<2>(1) - T_171952[1] := UInt<2>(2) - T_171952[2] := UInt<2>(3) - wire T_171953 : UInt<2>[2] - T_171953[0] := UInt<2>(2) - T_171953[1] := UInt<2>(3) - wire T_171954 : UInt<2>[1] - T_171954[0] := UInt<2>(3) - wire T_171955 : UInt<3>[3] - T_171955[0] := UInt<3>(0) - T_171955[1] := UInt<3>(1) - T_171955[2] := UInt<3>(2) - wire T_171956 : UInt<0>[1] - T_171956[0] := UInt<0>(0) - wire T_171957 : UInt<2>[2] - T_171957[0] := UInt<2>(1) - T_171957[1] := UInt<2>(2) - wire T_171958 : UInt<2>[2] - T_171958[0] := UInt<2>(1) - T_171958[1] := UInt<2>(2) - wire T_171959 : UInt<2>[1] - T_171959[0] := UInt<2>(2) - wire T_171960 : UInt<3>[3] - T_171960[0] := UInt<3>(0) - T_171960[1] := UInt<3>(1) - T_171960[2] := UInt<3>(2) - wire T_171961 : UInt<2>[2] - T_171961[0] := UInt<2>(0) - T_171961[1] := UInt<2>(1) - wire T_171962 : UInt<2>[3] - T_171962[0] := UInt<2>(1) - T_171962[1] := UInt<2>(2) - T_171962[2] := UInt<2>(3) - wire T_171963 : UInt<2>[2] - T_171963[0] := UInt<2>(2) - T_171963[1] := UInt<2>(3) - wire T_171964 : UInt<2>[1] - T_171964[0] := UInt<2>(3) - wire T_171965 : UInt<3>[3] - T_171965[0] := UInt<3>(0) - T_171965[1] := UInt<3>(1) - T_171965[2] := UInt<3>(2) - wire T_171966 : UInt<2>[2] - T_171966[0] := UInt<2>(0) - T_171966[1] := UInt<2>(1) - wire T_171967 : UInt<2>[3] - T_171967[0] := UInt<2>(1) - T_171967[1] := UInt<2>(2) - T_171967[2] := UInt<2>(3) - wire T_171968 : UInt<2>[2] - T_171968[0] := UInt<2>(2) - T_171968[1] := UInt<2>(3) - wire T_171969 : UInt<2>[1] - T_171969[0] := UInt<2>(3) - wire T_171970 : UInt<3>[3] - T_171970[0] := UInt<3>(0) - T_171970[1] := UInt<3>(1) - T_171970[2] := UInt<3>(2) - wire T_171971 : UInt<0>[1] - T_171971[0] := UInt<0>(0) - wire T_171972 : UInt<2>[2] - T_171972[0] := UInt<2>(1) - T_171972[1] := UInt<2>(2) - wire T_171973 : UInt<2>[2] - T_171973[0] := UInt<2>(1) - T_171973[1] := UInt<2>(2) - wire T_171974 : UInt<2>[1] - T_171974[0] := UInt<2>(2) - wire T_171975 : UInt<3>[3] - T_171975[0] := UInt<3>(0) - T_171975[1] := UInt<3>(1) - T_171975[2] := UInt<3>(2) - wire T_171976 : UInt<2>[2] - T_171976[0] := UInt<2>(0) - T_171976[1] := UInt<2>(1) - wire T_171977 : UInt<2>[3] - T_171977[0] := UInt<2>(1) - T_171977[1] := UInt<2>(2) - T_171977[2] := UInt<2>(3) - wire T_171978 : UInt<2>[2] - T_171978[0] := UInt<2>(2) - T_171978[1] := UInt<2>(3) - wire T_171979 : UInt<2>[1] - T_171979[0] := UInt<2>(3) - wire T_171980 : UInt<3>[3] - T_171980[0] := UInt<3>(0) - T_171980[1] := UInt<3>(1) - T_171980[2] := UInt<3>(2) - wire T_171981 : UInt<2>[2] - T_171981[0] := UInt<2>(0) - T_171981[1] := UInt<2>(1) - wire T_171982 : UInt<2>[3] - T_171982[0] := UInt<2>(1) - T_171982[1] := UInt<2>(2) - T_171982[2] := UInt<2>(3) - wire T_171983 : UInt<2>[2] - T_171983[0] := UInt<2>(2) - T_171983[1] := UInt<2>(3) - wire T_171984 : UInt<2>[1] - T_171984[0] := UInt<2>(3) - wire T_171985 : UInt<3>[3] - T_171985[0] := UInt<3>(0) - T_171985[1] := UInt<3>(1) - T_171985[2] := UInt<3>(2) - wire T_171986 : UInt<0>[1] - T_171986[0] := UInt<0>(0) - wire T_171987 : UInt<2>[2] - T_171987[0] := UInt<2>(1) - T_171987[1] := UInt<2>(2) - wire T_171988 : UInt<2>[2] - T_171988[0] := UInt<2>(1) - T_171988[1] := UInt<2>(2) - wire T_171989 : UInt<2>[1] - T_171989[0] := UInt<2>(2) - wire T_171990 : UInt<3>[3] - T_171990[0] := UInt<3>(0) - T_171990[1] := UInt<3>(1) - T_171990[2] := UInt<3>(2) - wire T_171991 : UInt<2>[2] - T_171991[0] := UInt<2>(0) - T_171991[1] := UInt<2>(1) - wire T_171992 : UInt<2>[3] - T_171992[0] := UInt<2>(1) - T_171992[1] := UInt<2>(2) - T_171992[2] := UInt<2>(3) - wire T_171993 : UInt<2>[2] - T_171993[0] := UInt<2>(2) - T_171993[1] := UInt<2>(3) - wire T_171994 : UInt<2>[1] - T_171994[0] := UInt<2>(3) - wire T_171995 : UInt<3>[3] - T_171995[0] := UInt<3>(0) - T_171995[1] := UInt<3>(1) - T_171995[2] := UInt<3>(2) - wire T_171996 : UInt<2>[2] - T_171996[0] := UInt<2>(0) - T_171996[1] := UInt<2>(1) - wire T_171997 : UInt<2>[3] - T_171997[0] := UInt<2>(1) - T_171997[1] := UInt<2>(2) - T_171997[2] := UInt<2>(3) - wire T_171998 : UInt<2>[2] - T_171998[0] := UInt<2>(2) - T_171998[1] := UInt<2>(3) - wire T_171999 : UInt<2>[1] - T_171999[0] := UInt<2>(3) - wire T_172000 : UInt<3>[3] - T_172000[0] := UInt<3>(0) - T_172000[1] := UInt<3>(1) - T_172000[2] := UInt<3>(2) - wire T_172001 : UInt<0>[1] - T_172001[0] := UInt<0>(0) - wire T_172002 : UInt<2>[2] - T_172002[0] := UInt<2>(1) - T_172002[1] := UInt<2>(2) - wire T_172003 : UInt<2>[2] - T_172003[0] := UInt<2>(1) - T_172003[1] := UInt<2>(2) - wire T_172004 : UInt<2>[1] - T_172004[0] := UInt<2>(2) - wire T_172005 : UInt<3>[3] - T_172005[0] := UInt<3>(0) - T_172005[1] := UInt<3>(1) - T_172005[2] := UInt<3>(2) - wire T_172006 : UInt<2>[2] - T_172006[0] := UInt<2>(0) - T_172006[1] := UInt<2>(1) - wire T_172007 : UInt<2>[3] - T_172007[0] := UInt<2>(1) - T_172007[1] := UInt<2>(2) - T_172007[2] := UInt<2>(3) - wire T_172008 : UInt<2>[2] - T_172008[0] := UInt<2>(2) - T_172008[1] := UInt<2>(3) - wire T_172009 : UInt<2>[1] - T_172009[0] := UInt<2>(3) - wire T_172010 : UInt<3>[3] - T_172010[0] := UInt<3>(0) - T_172010[1] := UInt<3>(1) - T_172010[2] := UInt<3>(2) - wire T_172011 : UInt<2>[2] - T_172011[0] := UInt<2>(0) - T_172011[1] := UInt<2>(1) - wire T_172012 : UInt<2>[3] - T_172012[0] := UInt<2>(1) - T_172012[1] := UInt<2>(2) - T_172012[2] := UInt<2>(3) - wire T_172013 : UInt<2>[2] - T_172013[0] := UInt<2>(2) - T_172013[1] := UInt<2>(3) - wire T_172014 : UInt<2>[1] - T_172014[0] := UInt<2>(3) - wire T_172015 : UInt<3>[3] - T_172015[0] := UInt<3>(0) - T_172015[1] := UInt<3>(1) - T_172015[2] := UInt<3>(2) - wire T_172016 : UInt<0>[1] - T_172016[0] := UInt<0>(0) - wire T_172017 : UInt<2>[2] - T_172017[0] := UInt<2>(1) - T_172017[1] := UInt<2>(2) - wire T_172018 : UInt<2>[2] - T_172018[0] := UInt<2>(1) - T_172018[1] := UInt<2>(2) - wire T_172019 : UInt<2>[1] - T_172019[0] := UInt<2>(2) - wb.resp.valid := UInt<1>(0) - wb.req.valid := UInt<1>(0) - meta.write.valid := UInt<1>(0) - meta.resp.valid := UInt<1>(0) - meta.read.valid := UInt<1>(0) - data.write.valid := UInt<1>(0) - data.resp.valid := UInt<1>(0) - data.read.valid := UInt<1>(0) - outer.release.valid := UInt<1>(0) - outer.probe.valid := UInt<1>(0) - outer.grant.valid := UInt<1>(0) - outer.acquire.valid := UInt<1>(0) - inner.release.valid := UInt<1>(0) - inner.probe.valid := UInt<1>(0) - inner.finish.valid := UInt<1>(0) - inner.grant.valid := UInt<1>(0) - inner.acquire.valid := UInt<1>(0) - reg state : UInt<3> - onreset state := UInt<3>(0) - wire T_172020 : UInt<3>[3] - T_172020[0] := UInt<3>(0) - T_172020[1] := UInt<3>(1) - T_172020[2] := UInt<3>(2) - wire T_172021 : UInt<2>[2] - T_172021[0] := UInt<2>(0) - T_172021[1] := UInt<2>(1) - wire T_172022 : UInt<2>[3] - T_172022[0] := UInt<2>(1) - T_172022[1] := UInt<2>(2) - T_172022[2] := UInt<2>(3) - wire T_172023 : UInt<2>[2] - T_172023[0] := UInt<2>(2) - T_172023[1] := UInt<2>(3) - wire T_172024 : UInt<2>[1] - T_172024[0] := UInt<2>(3) - wire T_172025 : UInt<3>[3] - T_172025[0] := UInt<3>(0) - T_172025[1] := UInt<3>(1) - T_172025[2] := UInt<3>(2) - wire T_172026 : UInt<2>[2] - T_172026[0] := UInt<2>(0) - T_172026[1] := UInt<2>(1) - wire T_172027 : UInt<2>[3] - T_172027[0] := UInt<2>(1) - T_172027[1] := UInt<2>(2) - T_172027[2] := UInt<2>(3) - wire T_172028 : UInt<2>[2] - T_172028[0] := UInt<2>(2) - T_172028[1] := UInt<2>(3) - wire T_172029 : UInt<2>[1] - T_172029[0] := UInt<2>(3) - reg xact : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>, client_id : UInt<2>} - wire T_172030 : UInt<128>[4] - T_172030[0] := UInt<128>(0) - T_172030[1] := UInt<128>(0) - T_172030[2] := UInt<128>(0) - T_172030[3] := UInt<128>(0) - reg data_buffer : UInt<128>[4] - onreset data_buffer := T_172030 - reg xact_way_en : UInt<8> - wire T_172031 : UInt<3>[3] - T_172031[0] := UInt<3>(0) - T_172031[1] := UInt<3>(1) - T_172031[2] := UInt<3>(2) - wire T_172032 : UInt<2>[2] - T_172032[0] := UInt<2>(0) - T_172032[1] := UInt<2>(1) - wire T_172033 : UInt<2>[3] - T_172033[0] := UInt<2>(1) - T_172033[1] := UInt<2>(2) - T_172033[2] := UInt<2>(3) - wire T_172034 : UInt<2>[2] - T_172034[0] := UInt<2>(2) - T_172034[1] := UInt<2>(3) - wire T_172035 : UInt<2>[1] - T_172035[0] := UInt<2>(3) - wire T_172036 : UInt<3>[3] - T_172036[0] := UInt<3>(0) - T_172036[1] := UInt<3>(1) - T_172036[2] := UInt<3>(2) - wire T_172037 : UInt<2>[2] - T_172037[0] := UInt<2>(0) - T_172037[1] := UInt<2>(1) - wire T_172038 : UInt<2>[3] - T_172038[0] := UInt<2>(1) - T_172038[1] := UInt<2>(2) - T_172038[2] := UInt<2>(3) - wire T_172039 : UInt<2>[2] - T_172039[0] := UInt<2>(2) - T_172039[1] := UInt<2>(3) - wire T_172040 : UInt<2>[1] - T_172040[0] := UInt<2>(3) - wire T_172041 : UInt<3>[3] - T_172041[0] := UInt<3>(0) - T_172041[1] := UInt<3>(1) - T_172041[2] := UInt<3>(2) - wire T_172042 : UInt<0>[1] - T_172042[0] := UInt<0>(0) - wire T_172043 : UInt<2>[2] - T_172043[0] := UInt<2>(1) - T_172043[1] := UInt<2>(2) - wire T_172044 : UInt<2>[2] - T_172044[0] := UInt<2>(1) - T_172044[1] := UInt<2>(2) - wire T_172045 : UInt<2>[1] - T_172045[0] := UInt<2>(2) - wire T_172046 : UInt<3>[3] - T_172046[0] := UInt<3>(0) - T_172046[1] := UInt<3>(1) - T_172046[2] := UInt<3>(2) - wire T_172047 : UInt<2>[2] - T_172047[0] := UInt<2>(0) - T_172047[1] := UInt<2>(1) - wire T_172048 : UInt<2>[3] - T_172048[0] := UInt<2>(1) - T_172048[1] := UInt<2>(2) - T_172048[2] := UInt<2>(3) - wire T_172049 : UInt<2>[2] - T_172049[0] := UInt<2>(2) - T_172049[1] := UInt<2>(3) - wire T_172050 : UInt<2>[1] - T_172050[0] := UInt<2>(3) - wire T_172051 : UInt<3>[3] - T_172051[0] := UInt<3>(0) - T_172051[1] := UInt<3>(1) - T_172051[2] := UInt<3>(2) - wire T_172052 : UInt<2>[2] - T_172052[0] := UInt<2>(0) - T_172052[1] := UInt<2>(1) - wire T_172053 : UInt<2>[3] - T_172053[0] := UInt<2>(1) - T_172053[1] := UInt<2>(2) - T_172053[2] := UInt<2>(3) - wire T_172054 : UInt<2>[2] - T_172054[0] := UInt<2>(2) - T_172054[1] := UInt<2>(3) - wire T_172055 : UInt<2>[1] - T_172055[0] := UInt<2>(3) - wire T_172056 : UInt<3>[3] - T_172056[0] := UInt<3>(0) - T_172056[1] := UInt<3>(1) - T_172056[2] := UInt<3>(2) - wire T_172057 : UInt<0>[1] - T_172057[0] := UInt<0>(0) - wire T_172058 : UInt<2>[2] - T_172058[0] := UInt<2>(1) - T_172058[1] := UInt<2>(2) - wire T_172059 : UInt<2>[2] - T_172059[0] := UInt<2>(1) - T_172059[1] := UInt<2>(2) - wire T_172060 : UInt<2>[1] - T_172060[0] := UInt<2>(2) - reg xact_old_meta : {tag : UInt<14>, coh : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}} - reg pending_irels : UInt<4> - onreset pending_irels := UInt<4>(0) - reg pending_writes : UInt<4> - onreset pending_writes := UInt<4>(0) - reg pending_ignt : UInt<1> - onreset pending_ignt := UInt<1>(0) - node T_172061 = eq(pending_writes, UInt<1>(0)) - node T_172062 = eq(T_172061, UInt<1>(0)) - node T_172063 = or(T_172062, pending_ignt) - node all_pending_done = eq(T_172063, UInt<1>(0)) - node T_172064 = and(inner.release.ready, inner.release.valid) - node T_172065 = eq(T_171849[0], inner.release.bits.r_type) - node T_172066 = eq(T_171849[1], inner.release.bits.r_type) - node T_172067 = eq(T_171849[2], inner.release.bits.r_type) - node T_172068 = or(UInt<1>(0), T_172065) - node T_172069 = or(T_172068, T_172066) - node T_172070 = or(T_172069, T_172067) - node T_172071 = and(T_172064, T_172070) - node T_172072 = subw(UInt<4>(0), UInt<3>(4)) - node T_172073 = not(T_172072) - node T_172074 = dshl(UInt<1>(1), inner.release.bits.addr_beat) - node T_172075 = not(T_172074) - node T_172076 = or(T_172073, T_172075) - node T_172077 = and(pending_irels, T_172076) - pending_irels := T_172077 - node T_172078 = eq(state, UInt<3>(0)) - node T_172079 = eq(pending_irels, UInt<1>(0)) - node T_172080 = eq(T_172079, UInt<1>(0)) - node T_172081 = or(T_172078, T_172080) - inner.release.ready := T_172081 - - node T_172082 = and(inner.release.ready, inner.release.valid) - when T_172082 : - accessor T_172083 = data_buffer[inner.release.bits.addr_beat] - T_172083 := inner.release.bits.data - node T_172084 = eq(state, UInt<3>(1)) - meta.read.valid := T_172084 - meta.read.bits.id := UInt<1>(0) - node T_172085 = bits(xact.addr_block, 11, 0) - meta.read.bits.idx := T_172085 - node T_172086 = dshr(xact.addr_block, UInt<4>(12)) - meta.read.bits.tag := T_172086 - node T_172087 = and(data.write.ready, data.write.valid) - node T_172088 = subw(UInt<4>(0), UInt<3>(4)) - node T_172089 = not(T_172088) - node T_172090 = dshl(UInt<1>(1), data.write.bits.addr_beat) - node T_172091 = not(T_172090) - node T_172092 = or(T_172089, T_172091) - node T_172093 = and(pending_writes, T_172092) - node T_172094 = and(inner.release.ready, inner.release.valid) - node T_172095 = eq(T_171849[0], inner.release.bits.r_type) - node T_172096 = eq(T_171849[1], inner.release.bits.r_type) - node T_172097 = eq(T_171849[2], inner.release.bits.r_type) - node T_172098 = or(UInt<1>(0), T_172095) - node T_172099 = or(T_172098, T_172096) - node T_172100 = or(T_172099, T_172097) - node T_172101 = and(T_172094, T_172100) - node T_172102 = subw(UInt<4>(0), UInt<3>(4)) - node T_172103 = dshl(UInt<1>(1), inner.release.bits.addr_beat) - node T_172104 = and(T_172102, T_172103) - node T_172105 = or(T_172093, T_172104) - pending_writes := T_172105 - node T_172106 = bit(pending_writes, 0) - node T_172107 = bit(pending_writes, 1) - node T_172108 = bit(pending_writes, 2) - node T_172109 = bit(pending_writes, 3) - wire T_172110 : UInt<1>[4] - T_172110[0] := T_172106 - T_172110[1] := T_172107 - T_172110[2] := T_172108 - T_172110[3] := T_172109 - wire T_172111 : UInt<2> - T_172111 := UInt<2>(3) - when T_172110[2] : T_172111 := UInt<2>(2) - wire T_172112 : UInt<2> - T_172112 := T_172111 - when T_172110[1] : T_172112 := UInt<1>(1) - wire curr_write_beat : UInt<2> - curr_write_beat := T_172112 - when T_172110[0] : curr_write_beat := UInt<1>(0) - node T_172113 = eq(state, UInt<3>(3)) - node T_172114 = eq(pending_writes, UInt<1>(0)) - node T_172115 = eq(T_172114, UInt<1>(0)) - node T_172116 = and(T_172113, T_172115) - data.write.valid := T_172116 - data.write.bits.id := UInt<1>(0) - data.write.bits.way_en := xact_way_en - node T_172117 = bits(xact.addr_block, 11, 0) - data.write.bits.addr_idx := T_172117 - data.write.bits.addr_beat := curr_write_beat - data.write.bits.wmask := SInt<1>(-1) - accessor T_172118 = data_buffer[curr_write_beat] - data.write.bits.data := T_172118 - node T_172119 = eq(state, UInt<3>(3)) - node T_172120 = and(T_172119, pending_ignt) - node T_172121 = eq(pending_irels, UInt<1>(0)) - node T_172122 = and(T_172120, T_172121) - inner.grant.valid := T_172122 - wire T_172123 : UInt<3>[3] - T_172123[0] := UInt<3>(0) - T_172123[1] := UInt<3>(1) - T_172123[2] := UInt<3>(2) - wire T_172124 : UInt<2>[2] - T_172124[0] := UInt<2>(0) - T_172124[1] := UInt<2>(1) - wire T_172125 : UInt<2>[3] - T_172125[0] := UInt<2>(1) - T_172125[1] := UInt<2>(2) - T_172125[2] := UInt<2>(3) - wire T_172126 : UInt<2>[2] - T_172126[0] := UInt<2>(2) - T_172126[1] := UInt<2>(3) - wire T_172127 : UInt<2>[1] - T_172127[0] := UInt<2>(3) - wire T_172128 : UInt<3>[3] - T_172128[0] := UInt<3>(0) - T_172128[1] := UInt<3>(1) - T_172128[2] := UInt<3>(2) - wire T_172129 : UInt<2>[2] - T_172129[0] := UInt<2>(0) - T_172129[1] := UInt<2>(1) - wire T_172130 : UInt<2>[3] - T_172130[0] := UInt<2>(1) - T_172130[1] := UInt<2>(2) - T_172130[2] := UInt<2>(3) - wire T_172131 : UInt<2>[2] - T_172131[0] := UInt<2>(2) - T_172131[1] := UInt<2>(3) - wire T_172132 : UInt<2>[1] - T_172132[0] := UInt<2>(3) - wire T_172133 : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>, client_id : UInt<2>} - T_172133.client_id := xact.client_id - T_172133.is_builtin_type := UInt<1>(1) - T_172133.g_type := UInt<3>(0) - T_172133.client_xact_id := xact.client_xact_id - T_172133.manager_xact_id := UInt<1>(0) - T_172133.addr_beat := UInt<1>(0) - T_172133.data := UInt<1>(0) - inner.grant.bits := T_172133 - - node T_172134 = and(inner.grant.ready, inner.grant.valid) - when T_172134 : pending_ignt := UInt<1>(0) - node T_172135 = eq(state, UInt<3>(4)) - meta.write.valid := T_172135 - meta.write.bits.id := UInt<1>(0) - node T_172136 = bits(xact.addr_block, 11, 0) - meta.write.bits.idx := T_172136 - meta.write.bits.way_en := xact_way_en - node T_172137 = dshr(xact.addr_block, UInt<4>(12)) - meta.write.bits.data.tag := T_172137 - node T_172138 = dshl(UInt<1>(1), xact.client_id) - node T_172139 = not(T_172138) - node T_172140 = and(xact_old_meta.coh.inner.sharers, T_172139) - wire T_172141 : UInt<3>[3] - T_172141[0] := UInt<3>(0) - T_172141[1] := UInt<3>(1) - T_172141[2] := UInt<3>(2) - wire T_172142 : UInt<2>[2] - T_172142[0] := UInt<2>(0) - T_172142[1] := UInt<2>(1) - wire T_172143 : UInt<2>[3] - T_172143[0] := UInt<2>(1) - T_172143[1] := UInt<2>(2) - T_172143[2] := UInt<2>(3) - wire T_172144 : UInt<2>[2] - T_172144[0] := UInt<2>(2) - T_172144[1] := UInt<2>(3) - wire T_172145 : UInt<2>[1] - T_172145[0] := UInt<2>(3) - wire T_172146 : UInt<3>[3] - T_172146[0] := UInt<3>(0) - T_172146[1] := UInt<3>(1) - T_172146[2] := UInt<3>(2) - wire T_172147 : UInt<2>[2] - T_172147[0] := UInt<2>(0) - T_172147[1] := UInt<2>(1) - wire T_172148 : UInt<2>[3] - T_172148[0] := UInt<2>(1) - T_172148[1] := UInt<2>(2) - T_172148[2] := UInt<2>(3) - wire T_172149 : UInt<2>[2] - T_172149[0] := UInt<2>(2) - T_172149[1] := UInt<2>(3) - wire T_172150 : UInt<2>[1] - T_172150[0] := UInt<2>(3) - wire T_172151 : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>} - T_172151.sharers := T_172140 - node T_172152 = eq(xact.r_type, UInt<3>(0)) - node T_172153 = eq(xact.r_type, UInt<3>(3)) - wire T_172154 : UInt<3>[3] - T_172154[0] := UInt<3>(0) - T_172154[1] := UInt<3>(1) - T_172154[2] := UInt<3>(2) - wire T_172155 : UInt<2>[2] - T_172155[0] := UInt<2>(0) - T_172155[1] := UInt<2>(1) - wire T_172156 : UInt<2>[3] - T_172156[0] := UInt<2>(1) - T_172156[1] := UInt<2>(2) - T_172156[2] := UInt<2>(3) - wire T_172157 : UInt<2>[2] - T_172157[0] := UInt<2>(2) - T_172157[1] := UInt<2>(3) - wire T_172158 : UInt<2>[1] - T_172158[0] := UInt<2>(3) - wire T_172159 : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>} - T_172159 := xact_old_meta.coh.inner - when T_172153 : T_172159 := T_172151 - wire T_172160 : UInt<3>[3] - T_172160[0] := UInt<3>(0) - T_172160[1] := UInt<3>(1) - T_172160[2] := UInt<3>(2) - wire T_172161 : UInt<2>[2] - T_172161[0] := UInt<2>(0) - T_172161[1] := UInt<2>(1) - wire T_172162 : UInt<2>[3] - T_172162[0] := UInt<2>(1) - T_172162[1] := UInt<2>(2) - T_172162[2] := UInt<2>(3) - wire T_172163 : UInt<2>[2] - T_172163[0] := UInt<2>(2) - T_172163[1] := UInt<2>(3) - wire T_172164 : UInt<2>[1] - T_172164[0] := UInt<2>(3) - wire T_172165 : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>} - T_172165 := T_172159 - when T_172152 : T_172165 := T_172151 - meta.write.bits.data.coh.inner := T_172165 - node T_172166 = eq(T_172025[0], xact.r_type) - node T_172167 = eq(T_172025[1], xact.r_type) - node T_172168 = eq(T_172025[2], xact.r_type) - node T_172169 = or(UInt<1>(0), T_172166) - node T_172170 = or(T_172169, T_172167) - node T_172171 = or(T_172170, T_172168) - node T_172172 = eq(UInt<5>(1), UInt<5>(1)) - node T_172173 = eq(UInt<5>(1), UInt<5>(7)) - node T_172174 = or(T_172172, T_172173) - node T_172175 = eq(UInt<5>(1), UInt<5>(4)) - node T_172176 = or(UInt<1>(0), T_172175) - node T_172177 = or(T_172174, T_172176) - wire T_172178 : UInt<2> - T_172178 := xact_old_meta.coh.outer.state - when T_172177 : T_172178 := UInt<2>(2) - wire T_172179 : UInt<3>[3] - T_172179[0] := UInt<3>(0) - T_172179[1] := UInt<3>(1) - T_172179[2] := UInt<3>(2) - wire T_172180 : UInt<0>[1] - T_172180[0] := UInt<0>(0) - wire T_172181 : UInt<2>[2] - T_172181[0] := UInt<2>(1) - T_172181[1] := UInt<2>(2) - wire T_172182 : UInt<2>[2] - T_172182[0] := UInt<2>(1) - T_172182[1] := UInt<2>(2) - wire T_172183 : UInt<2>[1] - T_172183[0] := UInt<2>(2) - wire T_172184 : UInt<3>[3] - T_172184[0] := UInt<3>(0) - T_172184[1] := UInt<3>(1) - T_172184[2] := UInt<3>(2) - wire T_172185 : UInt<0>[1] - T_172185[0] := UInt<0>(0) - wire T_172186 : UInt<2>[2] - T_172186[0] := UInt<2>(1) - T_172186[1] := UInt<2>(2) - wire T_172187 : UInt<2>[2] - T_172187[0] := UInt<2>(1) - T_172187[1] := UInt<2>(2) - wire T_172188 : UInt<2>[1] - T_172188[0] := UInt<2>(2) - wire T_172189 : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>} - T_172189.state := T_172178 - wire T_172190 : UInt<3>[3] - T_172190[0] := UInt<3>(0) - T_172190[1] := UInt<3>(1) - T_172190[2] := UInt<3>(2) - wire T_172191 : UInt<2>[2] - T_172191[0] := UInt<2>(0) - T_172191[1] := UInt<2>(1) - wire T_172192 : UInt<2>[3] - T_172192[0] := UInt<2>(1) - T_172192[1] := UInt<2>(2) - T_172192[2] := UInt<2>(3) - wire T_172193 : UInt<2>[2] - T_172193[0] := UInt<2>(2) - T_172193[1] := UInt<2>(3) - wire T_172194 : UInt<2>[1] - T_172194[0] := UInt<2>(3) - wire T_172195 : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>} - T_172195 := xact_old_meta.coh.outer - when T_172171 : T_172195 := T_172189 - meta.write.bits.data.coh.outer := T_172195 - - - node T_172196 = eq(state, UInt<3>(0)) - node T_172197 = and(T_172196, inner.release.valid) - when T_172197 : - xact := inner.release.bits - - - node T_172198 = eq(T_171849[0], inner.release.bits.r_type) - node T_172199 = eq(T_171849[1], inner.release.bits.r_type) - node T_172200 = eq(T_171849[2], inner.release.bits.r_type) - node T_172201 = or(UInt<1>(0), T_172198) - node T_172202 = or(T_172201, T_172199) - node T_172203 = or(T_172202, T_172200) - node T_172204 = and(UInt<1>(1), T_172203) - when T_172204 : - node T_172205 = and(inner.release.ready, inner.release.valid) - node T_172206 = eq(T_171849[0], inner.release.bits.r_type) - node T_172207 = eq(T_171849[1], inner.release.bits.r_type) - node T_172208 = eq(T_171849[2], inner.release.bits.r_type) - node T_172209 = or(UInt<1>(0), T_172206) - node T_172210 = or(T_172209, T_172207) - node T_172211 = or(T_172210, T_172208) - node T_172212 = and(T_172205, T_172211) - node T_172213 = subw(UInt<4>(0), UInt<3>(4)) - node T_172214 = not(T_172213) - node T_172215 = dshl(UInt<1>(1), inner.release.bits.addr_beat) - node T_172216 = not(T_172215) - node T_172217 = or(T_172214, T_172216) - pending_irels := T_172217 - else : - pending_irels := UInt<1>(0) - node T_172218 = and(inner.release.ready, inner.release.valid) - node T_172219 = eq(T_171849[0], inner.release.bits.r_type) - node T_172220 = eq(T_171849[1], inner.release.bits.r_type) - node T_172221 = eq(T_171849[2], inner.release.bits.r_type) - node T_172222 = or(UInt<1>(0), T_172219) - node T_172223 = or(T_172222, T_172220) - node T_172224 = or(T_172223, T_172221) - node T_172225 = and(T_172218, T_172224) - node T_172226 = subw(UInt<4>(0), UInt<3>(4)) - node T_172227 = dshl(UInt<1>(1), inner.release.bits.addr_beat) - node T_172228 = and(T_172226, T_172227) - pending_writes := T_172228 - node T_172229 = eq(UInt<1>(0), UInt<1>(0)) - pending_ignt := T_172229 - state := UInt<3>(1) - - - node T_172230 = eq(state, UInt<3>(1)) - node T_172231 = and(T_172230, meta.read.ready) - when T_172231 : state := UInt<3>(2) - - - node T_172232 = eq(state, UInt<3>(2)) - node T_172233 = and(T_172232, meta.resp.valid) - when T_172233 : - xact_old_meta := meta.resp.bits.meta - xact_way_en := meta.resp.bits.way_en - state := UInt<3>(3) - - - node T_172234 = eq(state, UInt<3>(3)) - node T_172235 = and(T_172234, all_pending_done) - when T_172235 : state := UInt<3>(4) - - - node T_172236 = eq(state, UInt<3>(4)) - node T_172237 = and(T_172236, meta.write.ready) - when T_172237 : state := UInt<3>(0) - has_release_match := inner.release.bits.voluntary - has_acquire_match := UInt<1>(0) - has_acquire_conflict := UInt<1>(0) - node T_172238 = eq(state, UInt<3>(2)) - node T_172239 = and(T_172238, meta.resp.valid) - node T_172240 = eq(meta.resp.bits.tag_match, UInt<1>(0)) - node T_172241 = and(T_172239, T_172240) - node T_172242 = eq(T_172241, UInt<1>(0)) - node T_172243 = eq(state, UInt<3>(0)) - node T_172244 = and(inner.release.ready, inner.release.valid) - node T_172245 = and(T_172243, T_172244) - node T_172246 = eq(inner.release.bits.voluntary, UInt<1>(0)) - node T_172247 = and(T_172245, T_172246) - node T_172248 = eq(T_172247, UInt<1>(0)) - module Queue_76584 : - input enq : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, client_xact_id : UInt<1>}} - output deq : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, client_xact_id : UInt<1>}} - output count : UInt<3> - - wire T_172249 : UInt<3>[3] - T_172249[0] := UInt<3>(0) - T_172249[1] := UInt<3>(1) - T_172249[2] := UInt<3>(2) - wire T_172250 : UInt<2>[2] - T_172250[0] := UInt<2>(0) - T_172250[1] := UInt<2>(1) - wire T_172251 : UInt<2>[3] - T_172251[0] := UInt<2>(1) - T_172251[1] := UInt<2>(2) - T_172251[2] := UInt<2>(3) - wire T_172252 : UInt<2>[2] - T_172252[0] := UInt<2>(2) - T_172252[1] := UInt<2>(3) - wire T_172253 : UInt<2>[1] - T_172253[0] := UInt<2>(3) - wire T_172254 : UInt<3>[3] - T_172254[0] := UInt<3>(0) - T_172254[1] := UInt<3>(1) - T_172254[2] := UInt<3>(2) - wire T_172255 : UInt<2>[2] - T_172255[0] := UInt<2>(0) - T_172255[1] := UInt<2>(1) - wire T_172256 : UInt<2>[3] - T_172256[0] := UInt<2>(1) - T_172256[1] := UInt<2>(2) - T_172256[2] := UInt<2>(3) - wire T_172257 : UInt<2>[2] - T_172257[0] := UInt<2>(2) - T_172257[1] := UInt<2>(3) - wire T_172258 : UInt<2>[1] - T_172258[0] := UInt<2>(3) - wire T_172259 : UInt<3>[3] - T_172259[0] := UInt<3>(0) - T_172259[1] := UInt<3>(1) - T_172259[2] := UInt<3>(2) - wire T_172260 : UInt<2>[2] - T_172260[0] := UInt<2>(0) - T_172260[1] := UInt<2>(1) - wire T_172261 : UInt<2>[3] - T_172261[0] := UInt<2>(1) - T_172261[1] := UInt<2>(2) - T_172261[2] := UInt<2>(3) - wire T_172262 : UInt<2>[2] - T_172262[0] := UInt<2>(2) - T_172262[1] := UInt<2>(3) - wire T_172263 : UInt<2>[1] - T_172263[0] := UInt<2>(3) - wire T_172264 : UInt<3>[3] - T_172264[0] := UInt<3>(0) - T_172264[1] := UInt<3>(1) - T_172264[2] := UInt<3>(2) - wire T_172265 : UInt<2>[2] - T_172265[0] := UInt<2>(0) - T_172265[1] := UInt<2>(1) - wire T_172266 : UInt<2>[3] - T_172266[0] := UInt<2>(1) - T_172266[1] := UInt<2>(2) - T_172266[2] := UInt<2>(3) - wire T_172267 : UInt<2>[2] - T_172267[0] := UInt<2>(2) - T_172267[1] := UInt<2>(3) - wire T_172268 : UInt<2>[1] - T_172268[0] := UInt<2>(3) - wire T_172269 : UInt<3>[3] - T_172269[0] := UInt<3>(0) - T_172269[1] := UInt<3>(1) - T_172269[2] := UInt<3>(2) - wire T_172270 : UInt<2>[2] - T_172270[0] := UInt<2>(0) - T_172270[1] := UInt<2>(1) - wire T_172271 : UInt<2>[3] - T_172271[0] := UInt<2>(1) - T_172271[1] := UInt<2>(2) - T_172271[2] := UInt<2>(3) - wire T_172272 : UInt<2>[2] - T_172272[0] := UInt<2>(2) - T_172272[1] := UInt<2>(3) - wire T_172273 : UInt<2>[1] - T_172273[0] := UInt<2>(3) - cmem ram : {addr_beat : UInt<2>, client_xact_id : UInt<1>}[4] - reg T_172274 : UInt<2> - onreset T_172274 := UInt<2>(0) - reg T_172275 : UInt<2> - onreset T_172275 := UInt<2>(0) - reg maybe_full : UInt<1> - onreset maybe_full := UInt<1>(0) - node ptr_match = eq(T_172274, T_172275) - node T_172276 = eq(maybe_full, UInt<1>(0)) - node empty = and(ptr_match, T_172276) - node full = and(ptr_match, maybe_full) - node maybe_flow = and(UInt<1>(0), empty) - node do_flow = and(maybe_flow, deq.ready) - node T_172277 = and(enq.ready, enq.valid) - node T_172278 = eq(do_flow, UInt<1>(0)) - node do_enq = and(T_172277, T_172278) - node T_172279 = and(deq.ready, deq.valid) - node T_172280 = eq(do_flow, UInt<1>(0)) - node do_deq = and(T_172279, T_172280) - when do_enq : - wire T_172281 : UInt<3>[3] - T_172281[0] := UInt<3>(0) - T_172281[1] := UInt<3>(1) - T_172281[2] := UInt<3>(2) - wire T_172282 : UInt<2>[2] - T_172282[0] := UInt<2>(0) - T_172282[1] := UInt<2>(1) - wire T_172283 : UInt<2>[3] - T_172283[0] := UInt<2>(1) - T_172283[1] := UInt<2>(2) - T_172283[2] := UInt<2>(3) - wire T_172284 : UInt<2>[2] - T_172284[0] := UInt<2>(2) - T_172284[1] := UInt<2>(3) - wire T_172285 : UInt<2>[1] - T_172285[0] := UInt<2>(3) - accessor T_172286 = ram[T_172274] - T_172286 := enq.bits - node T_172287 = eq(T_172274, UInt<2>(3)) - node T_172288 = and(UInt<1>(0), T_172287) - node T_172289 = addw(T_172274, UInt<1>(1)) - wire T_172290 : UInt<2> - T_172290 := T_172289 - when T_172288 : T_172290 := UInt<1>(0) - T_172274 := T_172290 - when do_deq : - node T_172291 = eq(T_172275, UInt<2>(3)) - node T_172292 = and(UInt<1>(0), T_172291) - node T_172293 = addw(T_172275, UInt<1>(1)) - wire T_172294 : UInt<2> - T_172294 := T_172293 - when T_172292 : T_172294 := UInt<1>(0) - T_172275 := T_172294 - - node T_172295 = neq(do_enq, do_deq) - when T_172295 : maybe_full := do_enq - node T_172296 = eq(empty, UInt<1>(0)) - node T_172297 = and(UInt<1>(0), enq.valid) - node T_172298 = or(T_172296, T_172297) - deq.valid := T_172298 - node T_172299 = eq(full, UInt<1>(0)) - node T_172300 = and(UInt<1>(0), deq.ready) - node T_172301 = or(T_172299, T_172300) - enq.ready := T_172301 - wire T_172302 : UInt<3>[3] - T_172302[0] := UInt<3>(0) - T_172302[1] := UInt<3>(1) - T_172302[2] := UInt<3>(2) - wire T_172303 : UInt<2>[2] - T_172303[0] := UInt<2>(0) - T_172303[1] := UInt<2>(1) - wire T_172304 : UInt<2>[3] - T_172304[0] := UInt<2>(1) - T_172304[1] := UInt<2>(2) - T_172304[2] := UInt<2>(3) - wire T_172305 : UInt<2>[2] - T_172305[0] := UInt<2>(2) - T_172305[1] := UInt<2>(3) - wire T_172306 : UInt<2>[1] - T_172306[0] := UInt<2>(3) - accessor T_172307 = ram[T_172275] - wire T_172308 : UInt<3>[3] - T_172308[0] := UInt<3>(0) - T_172308[1] := UInt<3>(1) - T_172308[2] := UInt<3>(2) - wire T_172309 : UInt<2>[2] - T_172309[0] := UInt<2>(0) - T_172309[1] := UInt<2>(1) - wire T_172310 : UInt<2>[3] - T_172310[0] := UInt<2>(1) - T_172310[1] := UInt<2>(2) - T_172310[2] := UInt<2>(3) - wire T_172311 : UInt<2>[2] - T_172311[0] := UInt<2>(2) - T_172311[1] := UInt<2>(3) - wire T_172312 : UInt<2>[1] - T_172312[0] := UInt<2>(3) - wire T_172313 : {addr_beat : UInt<2>, client_xact_id : UInt<1>} - T_172313 := T_172307 - when maybe_flow : T_172313 := enq.bits - deq.bits := T_172313 - node ptr_diff = subw(T_172274, T_172275) - node T_172314 = and(maybe_full, ptr_match) - node T_172315 = cat(T_172314, ptr_diff) - count := T_172315 - module AMOALU : - input addr : UInt<6> - input cmd : UInt<5> - input typ : UInt<3> - input lhs : UInt<64> - input rhs : UInt<64> - output out : UInt<64> - - node T_172316 = eq(typ, UInt<3>(0)) - node T_172317 = eq(typ, UInt<3>(4)) - node T_172318 = or(T_172316, T_172317) - node T_172319 = eq(typ, UInt<3>(1)) - node T_172320 = eq(typ, UInt<3>(5)) - node T_172321 = or(T_172319, T_172320) - node T_172322 = eq(typ, UInt<3>(2)) - node T_172323 = eq(typ, UInt<3>(6)) - node T_172324 = or(T_172322, T_172323) - node T_172325 = bits(rhs, 31, 0) - node T_172326 = cat(T_172325, T_172325) - wire rhs : UInt<64> - rhs := rhs - when T_172324 : rhs := T_172326 - node T_172327 = eq(cmd, UInt<5>(12)) - node T_172328 = eq(cmd, UInt<5>(13)) - node sgned = or(T_172327, T_172328) - node T_172329 = eq(cmd, UInt<5>(13)) - node T_172330 = eq(cmd, UInt<5>(15)) - node max = or(T_172329, T_172330) - node T_172331 = eq(cmd, UInt<5>(12)) - node T_172332 = eq(cmd, UInt<5>(14)) - node min = or(T_172331, T_172332) - node T_172333 = eq(typ, UInt<3>(2)) - node T_172334 = eq(typ, UInt<3>(6)) - node T_172335 = or(T_172333, T_172334) - node T_172336 = eq(typ, UInt<3>(0)) - node T_172337 = or(T_172335, T_172336) - node T_172338 = eq(typ, UInt<3>(4)) - node word = or(T_172337, T_172338) - node T_172339 = not(UInt<64>(0)) - node T_172340 = bit(addr, 2) - node T_172341 = dshl(T_172340, UInt<5>(31)) - node mask = xor(T_172339, T_172341) - node T_172342 = and(lhs, mask) - node T_172343 = and(rhs, mask) - node adder_out = addw(T_172342, T_172343) - node T_172344 = bit(addr, 2) - node T_172345 = eq(T_172344, UInt<1>(0)) - node T_172346 = and(word, T_172345) - node T_172347 = bit(lhs, 31) - node T_172348 = bit(lhs, 63) - wire cmp_lhs : UInt<1> - cmp_lhs := T_172348 - when T_172346 : cmp_lhs := T_172347 - node T_172349 = bit(addr, 2) - node T_172350 = eq(T_172349, UInt<1>(0)) - node T_172351 = and(word, T_172350) - node T_172352 = bit(rhs, 31) - node T_172353 = bit(rhs, 63) - wire cmp_rhs : UInt<1> - cmp_rhs := T_172353 - when T_172351 : cmp_rhs := T_172352 - node T_172354 = bits(lhs, 31, 0) - node T_172355 = bits(rhs, 31, 0) - node lt_lo = lt(T_172354, T_172355) - node T_172356 = bits(lhs, 63, 32) - node T_172357 = bits(rhs, 63, 32) - node lt_hi = lt(T_172356, T_172357) - node T_172358 = bits(lhs, 63, 32) - node T_172359 = bits(rhs, 63, 32) - node eq_hi = eq(T_172358, T_172359) - node T_172360 = bit(addr, 2) - wire T_172361 : UInt<1> - T_172361 := lt_lo - when T_172360 : T_172361 := lt_hi - node T_172362 = and(eq_hi, lt_lo) - node T_172363 = or(lt_hi, T_172362) - wire lt : UInt<1> - lt := T_172363 - when word : lt := T_172361 - node T_172364 = eq(cmp_lhs, cmp_rhs) - wire T_172365 : UInt<1> - T_172365 := cmp_rhs - when sgned : T_172365 := cmp_lhs - wire less : UInt<1> - less := T_172365 - when T_172364 : less := lt - node T_172366 = eq(cmd, UInt<5>(8)) - node T_172367 = eq(cmd, UInt<5>(11)) - node T_172368 = and(lhs, rhs) - node T_172369 = eq(cmd, UInt<5>(10)) - node T_172370 = or(lhs, rhs) - node T_172371 = eq(cmd, UInt<5>(9)) - node T_172372 = xor(lhs, rhs) - wire T_172373 : UInt<1> - T_172373 := max - when less : T_172373 := min - node T_172374 = bits(rhs, 7, 0) - node T_172375 = cat(T_172374, T_172374) - node T_172376 = cat(T_172375, T_172375) - node T_172377 = cat(T_172376, T_172376) - node T_172378 = bits(rhs, 15, 0) - node T_172379 = cat(T_172378, T_172378) - node T_172380 = cat(T_172379, T_172379) - wire T_172381 : UInt<64> - T_172381 := rhs - when T_172321 : T_172381 := T_172380 - wire T_172382 : UInt<64> - T_172382 := T_172381 - when T_172318 : T_172382 := T_172377 - wire T_172383 : UInt<64> - T_172383 := T_172382 - when T_172373 : T_172383 := lhs - wire T_172384 : UInt<64> - T_172384 := T_172383 - when T_172371 : T_172384 := T_172372 - wire T_172385 : UInt<64> - T_172385 := T_172384 - when T_172369 : T_172385 := T_172370 - wire T_172386 : UInt<64> - T_172386 := T_172385 - when T_172367 : T_172386 := T_172368 - wire out : UInt<64> - out := T_172386 - when T_172366 : out := adder_out - node T_172387 = bits(addr, 2, 0) - node T_172388 = dshl(UInt<1>(1), T_172387) - node T_172389 = bits(addr, 2, 1) - node T_172390 = cat(T_172389, UInt<1>(0)) - node T_172391 = dshl(UInt<2>(3), T_172390) - node T_172392 = bit(addr, 2) - node T_172393 = cat(T_172392, UInt<2>(0)) - node T_172394 = dshl(UInt<4>(15), T_172393) - wire T_172395 : UInt<8> - T_172395 := UInt<8>(255) - when T_172324 : T_172395 := T_172394 - wire T_172396 : UInt<8> - T_172396 := T_172395 - when T_172321 : T_172396 := T_172391 - wire T_172397 : UInt<8> - T_172397 := T_172396 - when T_172318 : T_172397 := T_172388 - node T_172398 = bit(T_172397, 0) - node T_172399 = bit(T_172397, 1) - node T_172400 = bit(T_172397, 2) - node T_172401 = bit(T_172397, 3) - node T_172402 = bit(T_172397, 4) - node T_172403 = bit(T_172397, 5) - node T_172404 = bit(T_172397, 6) - node T_172405 = bit(T_172397, 7) - wire T_172406 : UInt<1>[8] - T_172406[0] := T_172398 - T_172406[1] := T_172399 - T_172406[2] := T_172400 - T_172406[3] := T_172401 - T_172406[4] := T_172402 - T_172406[5] := T_172403 - T_172406[6] := T_172404 - T_172406[7] := T_172405 - node T_172407 = subw(UInt<8>(0), UInt<4>(8)) - node T_172408 = subw(UInt<8>(0), UInt<4>(8)) - node T_172409 = subw(UInt<8>(0), UInt<4>(8)) - node T_172410 = subw(UInt<8>(0), UInt<4>(8)) - node T_172411 = subw(UInt<8>(0), UInt<4>(8)) - node T_172412 = subw(UInt<8>(0), UInt<4>(8)) - node T_172413 = subw(UInt<8>(0), UInt<4>(8)) - node T_172414 = subw(UInt<8>(0), UInt<4>(8)) - wire T_172415 : UInt<8>[8] - T_172415[0] := T_172407 - T_172415[1] := T_172408 - T_172415[2] := T_172409 - T_172415[3] := T_172410 - T_172415[4] := T_172411 - T_172415[5] := T_172412 - T_172415[6] := T_172413 - T_172415[7] := T_172414 - node T_172416 = cat(T_172415[7], T_172415[6]) - node T_172417 = cat(T_172415[5], T_172415[4]) - node T_172418 = cat(T_172416, T_172417) - node T_172419 = cat(T_172415[3], T_172415[2]) - node T_172420 = cat(T_172415[1], T_172415[0]) - node T_172421 = cat(T_172419, T_172420) - node wmask = cat(T_172418, T_172421) - node T_172422 = and(wmask, out) - node T_172423 = not(wmask) - node T_172424 = and(T_172423, lhs) - node T_172425 = or(T_172422, T_172424) - out := T_172425 - module L2AcquireTracker : - output inner : {flip acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>, client_id : UInt<2>}}, grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>, client_id : UInt<2>}}, flip finish : {flip ready : UInt<1>, valid : UInt<1>, bits : {manager_xact_id : UInt<2>}}, probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>, client_id : UInt<2>}}, flip release : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>, client_id : UInt<2>}}} - input incoherent : UInt<1>[1] - output outer : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<2>, manager_xact_id : UInt<1>, is_builtin_type : UInt<1>, g_type : UInt<4>}}, flip probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>}}, release : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}} - output has_acquire_conflict : UInt<1> - output has_acquire_match : UInt<1> - output has_release_match : UInt<1> - output data : {read : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, id : UInt<2>, addr_idx : UInt<12>, way_en : UInt<8>}}, flip resp : {valid : UInt<1>, bits : {id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>}}, write : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, id : UInt<2>, addr_idx : UInt<12>, way_en : UInt<8>, data : UInt<128>, wmask : UInt<16>}}} - output meta : {read : {flip ready : UInt<1>, valid : UInt<1>, bits : {idx : UInt<12>, id : UInt<2>, tag : UInt<14>}}, flip resp : {valid : UInt<1>, bits : {id : UInt<2>, tag_match : UInt<1>, meta : {tag : UInt<14>, coh : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}}, way_en : UInt<8>}}, write : {flip ready : UInt<1>, valid : UInt<1>, bits : {idx : UInt<12>, way_en : UInt<8>, data : {tag : UInt<14>, coh : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}}, id : UInt<2>}}} - output wb : {req : {flip ready : UInt<1>, valid : UInt<1>, bits : {tag : UInt<14>, coh : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}, id : UInt<2>, idx : UInt<12>, way_en : UInt<8>}}, flip resp : {valid : UInt<1>, bits : {id : UInt<2>}}} - - wire T_172426 : UInt<3>[3] - T_172426[0] := UInt<3>(0) - T_172426[1] := UInt<3>(1) - T_172426[2] := UInt<3>(2) - wire T_172427 : UInt<2>[2] - T_172427[0] := UInt<2>(0) - T_172427[1] := UInt<2>(1) - wire T_172428 : UInt<2>[3] - T_172428[0] := UInt<2>(1) - T_172428[1] := UInt<2>(2) - T_172428[2] := UInt<2>(3) - wire T_172429 : UInt<2>[2] - T_172429[0] := UInt<2>(2) - T_172429[1] := UInt<2>(3) - wire T_172430 : UInt<2>[1] - T_172430[0] := UInt<2>(3) - wire T_172431 : UInt<3>[3] - T_172431[0] := UInt<3>(0) - T_172431[1] := UInt<3>(1) - T_172431[2] := UInt<3>(2) - wire T_172432 : UInt<2>[2] - T_172432[0] := UInt<2>(0) - T_172432[1] := UInt<2>(1) - wire T_172433 : UInt<2>[3] - T_172433[0] := UInt<2>(1) - T_172433[1] := UInt<2>(2) - T_172433[2] := UInt<2>(3) - wire T_172434 : UInt<2>[2] - T_172434[0] := UInt<2>(2) - T_172434[1] := UInt<2>(3) - wire T_172435 : UInt<2>[1] - T_172435[0] := UInt<2>(3) - wire T_172436 : UInt<3>[3] - T_172436[0] := UInt<3>(0) - T_172436[1] := UInt<3>(1) - T_172436[2] := UInt<3>(2) - wire T_172437 : UInt<2>[2] - T_172437[0] := UInt<2>(0) - T_172437[1] := UInt<2>(1) - wire T_172438 : UInt<2>[3] - T_172438[0] := UInt<2>(1) - T_172438[1] := UInt<2>(2) - T_172438[2] := UInt<2>(3) - wire T_172439 : UInt<2>[2] - T_172439[0] := UInt<2>(2) - T_172439[1] := UInt<2>(3) - wire T_172440 : UInt<2>[1] - T_172440[0] := UInt<2>(3) - wire T_172441 : UInt<3>[3] - T_172441[0] := UInt<3>(0) - T_172441[1] := UInt<3>(1) - T_172441[2] := UInt<3>(2) - wire T_172442 : UInt<2>[2] - T_172442[0] := UInt<2>(0) - T_172442[1] := UInt<2>(1) - wire T_172443 : UInt<2>[3] - T_172443[0] := UInt<2>(1) - T_172443[1] := UInt<2>(2) - T_172443[2] := UInt<2>(3) - wire T_172444 : UInt<2>[2] - T_172444[0] := UInt<2>(2) - T_172444[1] := UInt<2>(3) - wire T_172445 : UInt<2>[1] - T_172445[0] := UInt<2>(3) - wire T_172446 : UInt<3>[3] - T_172446[0] := UInt<3>(0) - T_172446[1] := UInt<3>(1) - T_172446[2] := UInt<3>(2) - wire T_172447 : UInt<2>[2] - T_172447[0] := UInt<2>(0) - T_172447[1] := UInt<2>(1) - wire T_172448 : UInt<2>[3] - T_172448[0] := UInt<2>(1) - T_172448[1] := UInt<2>(2) - T_172448[2] := UInt<2>(3) - wire T_172449 : UInt<2>[2] - T_172449[0] := UInt<2>(2) - T_172449[1] := UInt<2>(3) - wire T_172450 : UInt<2>[1] - T_172450[0] := UInt<2>(3) - wire T_172451 : UInt<3>[3] - T_172451[0] := UInt<3>(0) - T_172451[1] := UInt<3>(1) - T_172451[2] := UInt<3>(2) - wire T_172452 : UInt<2>[2] - T_172452[0] := UInt<2>(0) - T_172452[1] := UInt<2>(1) - wire T_172453 : UInt<2>[3] - T_172453[0] := UInt<2>(1) - T_172453[1] := UInt<2>(2) - T_172453[2] := UInt<2>(3) - wire T_172454 : UInt<2>[2] - T_172454[0] := UInt<2>(2) - T_172454[1] := UInt<2>(3) - wire T_172455 : UInt<2>[1] - T_172455[0] := UInt<2>(3) - wire T_172456 : UInt<3>[3] - T_172456[0] := UInt<3>(0) - T_172456[1] := UInt<3>(1) - T_172456[2] := UInt<3>(2) - wire T_172457 : UInt<2>[2] - T_172457[0] := UInt<2>(0) - T_172457[1] := UInt<2>(1) - wire T_172458 : UInt<2>[3] - T_172458[0] := UInt<2>(1) - T_172458[1] := UInt<2>(2) - T_172458[2] := UInt<2>(3) - wire T_172459 : UInt<2>[2] - T_172459[0] := UInt<2>(2) - T_172459[1] := UInt<2>(3) - wire T_172460 : UInt<2>[1] - T_172460[0] := UInt<2>(3) - wire T_172461 : UInt<3>[3] - T_172461[0] := UInt<3>(0) - T_172461[1] := UInt<3>(1) - T_172461[2] := UInt<3>(2) - wire T_172462 : UInt<2>[2] - T_172462[0] := UInt<2>(0) - T_172462[1] := UInt<2>(1) - wire T_172463 : UInt<2>[3] - T_172463[0] := UInt<2>(1) - T_172463[1] := UInt<2>(2) - T_172463[2] := UInt<2>(3) - wire T_172464 : UInt<2>[2] - T_172464[0] := UInt<2>(2) - T_172464[1] := UInt<2>(3) - wire T_172465 : UInt<2>[1] - T_172465[0] := UInt<2>(3) - wire T_172466 : UInt<3>[3] - T_172466[0] := UInt<3>(0) - T_172466[1] := UInt<3>(1) - T_172466[2] := UInt<3>(2) - wire T_172467 : UInt<2>[2] - T_172467[0] := UInt<2>(0) - T_172467[1] := UInt<2>(1) - wire T_172468 : UInt<2>[3] - T_172468[0] := UInt<2>(1) - T_172468[1] := UInt<2>(2) - T_172468[2] := UInt<2>(3) - wire T_172469 : UInt<2>[2] - T_172469[0] := UInt<2>(2) - T_172469[1] := UInt<2>(3) - wire T_172470 : UInt<2>[1] - T_172470[0] := UInt<2>(3) - wire T_172471 : UInt<3>[3] - T_172471[0] := UInt<3>(0) - T_172471[1] := UInt<3>(1) - T_172471[2] := UInt<3>(2) - wire T_172472 : UInt<2>[2] - T_172472[0] := UInt<2>(0) - T_172472[1] := UInt<2>(1) - wire T_172473 : UInt<2>[3] - T_172473[0] := UInt<2>(1) - T_172473[1] := UInt<2>(2) - T_172473[2] := UInt<2>(3) - wire T_172474 : UInt<2>[2] - T_172474[0] := UInt<2>(2) - T_172474[1] := UInt<2>(3) - wire T_172475 : UInt<2>[1] - T_172475[0] := UInt<2>(3) - wire T_172476 : UInt<3>[3] - T_172476[0] := UInt<3>(0) - T_172476[1] := UInt<3>(1) - T_172476[2] := UInt<3>(2) - wire T_172477 : UInt<2>[2] - T_172477[0] := UInt<2>(0) - T_172477[1] := UInt<2>(1) - wire T_172478 : UInt<2>[3] - T_172478[0] := UInt<2>(1) - T_172478[1] := UInt<2>(2) - T_172478[2] := UInt<2>(3) - wire T_172479 : UInt<2>[2] - T_172479[0] := UInt<2>(2) - T_172479[1] := UInt<2>(3) - wire T_172480 : UInt<2>[1] - T_172480[0] := UInt<2>(3) - wire incoherent : UInt<1>[1] - incoherent[0] := T_172481 - wire T_172482 : UInt<3>[3] - T_172482[0] := UInt<3>(0) - T_172482[1] := UInt<3>(1) - T_172482[2] := UInt<3>(2) - wire T_172483 : UInt<0>[1] - T_172483[0] := UInt<0>(0) - wire T_172484 : UInt<2>[2] - T_172484[0] := UInt<2>(1) - T_172484[1] := UInt<2>(2) - wire T_172485 : UInt<2>[2] - T_172485[0] := UInt<2>(1) - T_172485[1] := UInt<2>(2) - wire T_172486 : UInt<2>[1] - T_172486[0] := UInt<2>(2) - wire T_172487 : UInt<3>[3] - T_172487[0] := UInt<3>(0) - T_172487[1] := UInt<3>(1) - T_172487[2] := UInt<3>(2) - wire T_172488 : UInt<0>[1] - T_172488[0] := UInt<0>(0) - wire T_172489 : UInt<2>[2] - T_172489[0] := UInt<2>(1) - T_172489[1] := UInt<2>(2) - wire T_172490 : UInt<2>[2] - T_172490[0] := UInt<2>(1) - T_172490[1] := UInt<2>(2) - wire T_172491 : UInt<2>[1] - T_172491[0] := UInt<2>(2) - wire T_172492 : UInt<3>[3] - T_172492[0] := UInt<3>(0) - T_172492[1] := UInt<3>(1) - T_172492[2] := UInt<3>(2) - wire T_172493 : UInt<0>[1] - T_172493[0] := UInt<0>(0) - wire T_172494 : UInt<2>[2] - T_172494[0] := UInt<2>(1) - T_172494[1] := UInt<2>(2) - wire T_172495 : UInt<2>[2] - T_172495[0] := UInt<2>(1) - T_172495[1] := UInt<2>(2) - wire T_172496 : UInt<2>[1] - T_172496[0] := UInt<2>(2) - wire T_172497 : UInt<3>[3] - T_172497[0] := UInt<3>(0) - T_172497[1] := UInt<3>(1) - T_172497[2] := UInt<3>(2) - wire T_172498 : UInt<0>[1] - T_172498[0] := UInt<0>(0) - wire T_172499 : UInt<2>[2] - T_172499[0] := UInt<2>(1) - T_172499[1] := UInt<2>(2) - wire T_172500 : UInt<2>[2] - T_172500[0] := UInt<2>(1) - T_172500[1] := UInt<2>(2) - wire T_172501 : UInt<2>[1] - T_172501[0] := UInt<2>(2) - wire T_172502 : UInt<3>[3] - T_172502[0] := UInt<3>(0) - T_172502[1] := UInt<3>(1) - T_172502[2] := UInt<3>(2) - wire T_172503 : UInt<0>[1] - T_172503[0] := UInt<0>(0) - wire T_172504 : UInt<2>[2] - T_172504[0] := UInt<2>(1) - T_172504[1] := UInt<2>(2) - wire T_172505 : UInt<2>[2] - T_172505[0] := UInt<2>(1) - T_172505[1] := UInt<2>(2) - wire T_172506 : UInt<2>[1] - T_172506[0] := UInt<2>(2) - wire T_172507 : UInt<3>[3] - T_172507[0] := UInt<3>(0) - T_172507[1] := UInt<3>(1) - T_172507[2] := UInt<3>(2) - wire T_172508 : UInt<0>[1] - T_172508[0] := UInt<0>(0) - wire T_172509 : UInt<2>[2] - T_172509[0] := UInt<2>(1) - T_172509[1] := UInt<2>(2) - wire T_172510 : UInt<2>[2] - T_172510[0] := UInt<2>(1) - T_172510[1] := UInt<2>(2) - wire T_172511 : UInt<2>[1] - T_172511[0] := UInt<2>(2) - wire T_172512 : UInt<3>[3] - T_172512[0] := UInt<3>(0) - T_172512[1] := UInt<3>(1) - T_172512[2] := UInt<3>(2) - wire T_172513 : UInt<0>[1] - T_172513[0] := UInt<0>(0) - wire T_172514 : UInt<2>[2] - T_172514[0] := UInt<2>(1) - T_172514[1] := UInt<2>(2) - wire T_172515 : UInt<2>[2] - T_172515[0] := UInt<2>(1) - T_172515[1] := UInt<2>(2) - wire T_172516 : UInt<2>[1] - T_172516[0] := UInt<2>(2) - wire T_172517 : UInt<3>[3] - T_172517[0] := UInt<3>(0) - T_172517[1] := UInt<3>(1) - T_172517[2] := UInt<3>(2) - wire T_172518 : UInt<0>[1] - T_172518[0] := UInt<0>(0) - wire T_172519 : UInt<2>[2] - T_172519[0] := UInt<2>(1) - T_172519[1] := UInt<2>(2) - wire T_172520 : UInt<2>[2] - T_172520[0] := UInt<2>(1) - T_172520[1] := UInt<2>(2) - wire T_172521 : UInt<2>[1] - T_172521[0] := UInt<2>(2) - wire T_172522 : UInt<3>[3] - T_172522[0] := UInt<3>(0) - T_172522[1] := UInt<3>(1) - T_172522[2] := UInt<3>(2) - wire T_172523 : UInt<0>[1] - T_172523[0] := UInt<0>(0) - wire T_172524 : UInt<2>[2] - T_172524[0] := UInt<2>(1) - T_172524[1] := UInt<2>(2) - wire T_172525 : UInt<2>[2] - T_172525[0] := UInt<2>(1) - T_172525[1] := UInt<2>(2) - wire T_172526 : UInt<2>[1] - T_172526[0] := UInt<2>(2) - wire T_172527 : UInt<3>[3] - T_172527[0] := UInt<3>(0) - T_172527[1] := UInt<3>(1) - T_172527[2] := UInt<3>(2) - wire T_172528 : UInt<2>[2] - T_172528[0] := UInt<2>(0) - T_172528[1] := UInt<2>(1) - wire T_172529 : UInt<2>[3] - T_172529[0] := UInt<2>(1) - T_172529[1] := UInt<2>(2) - T_172529[2] := UInt<2>(3) - wire T_172530 : UInt<2>[2] - T_172530[0] := UInt<2>(2) - T_172530[1] := UInt<2>(3) - wire T_172531 : UInt<2>[1] - T_172531[0] := UInt<2>(3) - wire T_172532 : UInt<3>[3] - T_172532[0] := UInt<3>(0) - T_172532[1] := UInt<3>(1) - T_172532[2] := UInt<3>(2) - wire T_172533 : UInt<2>[2] - T_172533[0] := UInt<2>(0) - T_172533[1] := UInt<2>(1) - wire T_172534 : UInt<2>[3] - T_172534[0] := UInt<2>(1) - T_172534[1] := UInt<2>(2) - T_172534[2] := UInt<2>(3) - wire T_172535 : UInt<2>[2] - T_172535[0] := UInt<2>(2) - T_172535[1] := UInt<2>(3) - wire T_172536 : UInt<2>[1] - T_172536[0] := UInt<2>(3) - wire T_172537 : UInt<3>[3] - T_172537[0] := UInt<3>(0) - T_172537[1] := UInt<3>(1) - T_172537[2] := UInt<3>(2) - wire T_172538 : UInt<0>[1] - T_172538[0] := UInt<0>(0) - wire T_172539 : UInt<2>[2] - T_172539[0] := UInt<2>(1) - T_172539[1] := UInt<2>(2) - wire T_172540 : UInt<2>[2] - T_172540[0] := UInt<2>(1) - T_172540[1] := UInt<2>(2) - wire T_172541 : UInt<2>[1] - T_172541[0] := UInt<2>(2) - wire T_172542 : UInt<3>[3] - T_172542[0] := UInt<3>(0) - T_172542[1] := UInt<3>(1) - T_172542[2] := UInt<3>(2) - wire T_172543 : UInt<2>[2] - T_172543[0] := UInt<2>(0) - T_172543[1] := UInt<2>(1) - wire T_172544 : UInt<2>[3] - T_172544[0] := UInt<2>(1) - T_172544[1] := UInt<2>(2) - T_172544[2] := UInt<2>(3) - wire T_172545 : UInt<2>[2] - T_172545[0] := UInt<2>(2) - T_172545[1] := UInt<2>(3) - wire T_172546 : UInt<2>[1] - T_172546[0] := UInt<2>(3) - wire T_172547 : UInt<3>[3] - T_172547[0] := UInt<3>(0) - T_172547[1] := UInt<3>(1) - T_172547[2] := UInt<3>(2) - wire T_172548 : UInt<2>[2] - T_172548[0] := UInt<2>(0) - T_172548[1] := UInt<2>(1) - wire T_172549 : UInt<2>[3] - T_172549[0] := UInt<2>(1) - T_172549[1] := UInt<2>(2) - T_172549[2] := UInt<2>(3) - wire T_172550 : UInt<2>[2] - T_172550[0] := UInt<2>(2) - T_172550[1] := UInt<2>(3) - wire T_172551 : UInt<2>[1] - T_172551[0] := UInt<2>(3) - wire T_172552 : UInt<3>[3] - T_172552[0] := UInt<3>(0) - T_172552[1] := UInt<3>(1) - T_172552[2] := UInt<3>(2) - wire T_172553 : UInt<0>[1] - T_172553[0] := UInt<0>(0) - wire T_172554 : UInt<2>[2] - T_172554[0] := UInt<2>(1) - T_172554[1] := UInt<2>(2) - wire T_172555 : UInt<2>[2] - T_172555[0] := UInt<2>(1) - T_172555[1] := UInt<2>(2) - wire T_172556 : UInt<2>[1] - T_172556[0] := UInt<2>(2) - wire T_172557 : UInt<3>[3] - T_172557[0] := UInt<3>(0) - T_172557[1] := UInt<3>(1) - T_172557[2] := UInt<3>(2) - wire T_172558 : UInt<2>[2] - T_172558[0] := UInt<2>(0) - T_172558[1] := UInt<2>(1) - wire T_172559 : UInt<2>[3] - T_172559[0] := UInt<2>(1) - T_172559[1] := UInt<2>(2) - T_172559[2] := UInt<2>(3) - wire T_172560 : UInt<2>[2] - T_172560[0] := UInt<2>(2) - T_172560[1] := UInt<2>(3) - wire T_172561 : UInt<2>[1] - T_172561[0] := UInt<2>(3) - wire T_172562 : UInt<3>[3] - T_172562[0] := UInt<3>(0) - T_172562[1] := UInt<3>(1) - T_172562[2] := UInt<3>(2) - wire T_172563 : UInt<2>[2] - T_172563[0] := UInt<2>(0) - T_172563[1] := UInt<2>(1) - wire T_172564 : UInt<2>[3] - T_172564[0] := UInt<2>(1) - T_172564[1] := UInt<2>(2) - T_172564[2] := UInt<2>(3) - wire T_172565 : UInt<2>[2] - T_172565[0] := UInt<2>(2) - T_172565[1] := UInt<2>(3) - wire T_172566 : UInt<2>[1] - T_172566[0] := UInt<2>(3) - wire T_172567 : UInt<3>[3] - T_172567[0] := UInt<3>(0) - T_172567[1] := UInt<3>(1) - T_172567[2] := UInt<3>(2) - wire T_172568 : UInt<0>[1] - T_172568[0] := UInt<0>(0) - wire T_172569 : UInt<2>[2] - T_172569[0] := UInt<2>(1) - T_172569[1] := UInt<2>(2) - wire T_172570 : UInt<2>[2] - T_172570[0] := UInt<2>(1) - T_172570[1] := UInt<2>(2) - wire T_172571 : UInt<2>[1] - T_172571[0] := UInt<2>(2) - wire T_172572 : UInt<3>[3] - T_172572[0] := UInt<3>(0) - T_172572[1] := UInt<3>(1) - T_172572[2] := UInt<3>(2) - wire T_172573 : UInt<2>[2] - T_172573[0] := UInt<2>(0) - T_172573[1] := UInt<2>(1) - wire T_172574 : UInt<2>[3] - T_172574[0] := UInt<2>(1) - T_172574[1] := UInt<2>(2) - T_172574[2] := UInt<2>(3) - wire T_172575 : UInt<2>[2] - T_172575[0] := UInt<2>(2) - T_172575[1] := UInt<2>(3) - wire T_172576 : UInt<2>[1] - T_172576[0] := UInt<2>(3) - wire T_172577 : UInt<3>[3] - T_172577[0] := UInt<3>(0) - T_172577[1] := UInt<3>(1) - T_172577[2] := UInt<3>(2) - wire T_172578 : UInt<2>[2] - T_172578[0] := UInt<2>(0) - T_172578[1] := UInt<2>(1) - wire T_172579 : UInt<2>[3] - T_172579[0] := UInt<2>(1) - T_172579[1] := UInt<2>(2) - T_172579[2] := UInt<2>(3) - wire T_172580 : UInt<2>[2] - T_172580[0] := UInt<2>(2) - T_172580[1] := UInt<2>(3) - wire T_172581 : UInt<2>[1] - T_172581[0] := UInt<2>(3) - wire T_172582 : UInt<3>[3] - T_172582[0] := UInt<3>(0) - T_172582[1] := UInt<3>(1) - T_172582[2] := UInt<3>(2) - wire T_172583 : UInt<0>[1] - T_172583[0] := UInt<0>(0) - wire T_172584 : UInt<2>[2] - T_172584[0] := UInt<2>(1) - T_172584[1] := UInt<2>(2) - wire T_172585 : UInt<2>[2] - T_172585[0] := UInt<2>(1) - T_172585[1] := UInt<2>(2) - wire T_172586 : UInt<2>[1] - T_172586[0] := UInt<2>(2) - wire T_172587 : UInt<3>[3] - T_172587[0] := UInt<3>(0) - T_172587[1] := UInt<3>(1) - T_172587[2] := UInt<3>(2) - wire T_172588 : UInt<2>[2] - T_172588[0] := UInt<2>(0) - T_172588[1] := UInt<2>(1) - wire T_172589 : UInt<2>[3] - T_172589[0] := UInt<2>(1) - T_172589[1] := UInt<2>(2) - T_172589[2] := UInt<2>(3) - wire T_172590 : UInt<2>[2] - T_172590[0] := UInt<2>(2) - T_172590[1] := UInt<2>(3) - wire T_172591 : UInt<2>[1] - T_172591[0] := UInt<2>(3) - wire T_172592 : UInt<3>[3] - T_172592[0] := UInt<3>(0) - T_172592[1] := UInt<3>(1) - T_172592[2] := UInt<3>(2) - wire T_172593 : UInt<2>[2] - T_172593[0] := UInt<2>(0) - T_172593[1] := UInt<2>(1) - wire T_172594 : UInt<2>[3] - T_172594[0] := UInt<2>(1) - T_172594[1] := UInt<2>(2) - T_172594[2] := UInt<2>(3) - wire T_172595 : UInt<2>[2] - T_172595[0] := UInt<2>(2) - T_172595[1] := UInt<2>(3) - wire T_172596 : UInt<2>[1] - T_172596[0] := UInt<2>(3) - wire T_172597 : UInt<3>[3] - T_172597[0] := UInt<3>(0) - T_172597[1] := UInt<3>(1) - T_172597[2] := UInt<3>(2) - wire T_172598 : UInt<0>[1] - T_172598[0] := UInt<0>(0) - wire T_172599 : UInt<2>[2] - T_172599[0] := UInt<2>(1) - T_172599[1] := UInt<2>(2) - wire T_172600 : UInt<2>[2] - T_172600[0] := UInt<2>(1) - T_172600[1] := UInt<2>(2) - wire T_172601 : UInt<2>[1] - T_172601[0] := UInt<2>(2) - wire T_172602 : UInt<3>[3] - T_172602[0] := UInt<3>(0) - T_172602[1] := UInt<3>(1) - T_172602[2] := UInt<3>(2) - wire T_172603 : UInt<2>[2] - T_172603[0] := UInt<2>(0) - T_172603[1] := UInt<2>(1) - wire T_172604 : UInt<2>[3] - T_172604[0] := UInt<2>(1) - T_172604[1] := UInt<2>(2) - T_172604[2] := UInt<2>(3) - wire T_172605 : UInt<2>[2] - T_172605[0] := UInt<2>(2) - T_172605[1] := UInt<2>(3) - wire T_172606 : UInt<2>[1] - T_172606[0] := UInt<2>(3) - wire T_172607 : UInt<3>[3] - T_172607[0] := UInt<3>(0) - T_172607[1] := UInt<3>(1) - T_172607[2] := UInt<3>(2) - wire T_172608 : UInt<2>[2] - T_172608[0] := UInt<2>(0) - T_172608[1] := UInt<2>(1) - wire T_172609 : UInt<2>[3] - T_172609[0] := UInt<2>(1) - T_172609[1] := UInt<2>(2) - T_172609[2] := UInt<2>(3) - wire T_172610 : UInt<2>[2] - T_172610[0] := UInt<2>(2) - T_172610[1] := UInt<2>(3) - wire T_172611 : UInt<2>[1] - T_172611[0] := UInt<2>(3) - wire T_172612 : UInt<3>[3] - T_172612[0] := UInt<3>(0) - T_172612[1] := UInt<3>(1) - T_172612[2] := UInt<3>(2) - wire T_172613 : UInt<0>[1] - T_172613[0] := UInt<0>(0) - wire T_172614 : UInt<2>[2] - T_172614[0] := UInt<2>(1) - T_172614[1] := UInt<2>(2) - wire T_172615 : UInt<2>[2] - T_172615[0] := UInt<2>(1) - T_172615[1] := UInt<2>(2) - wire T_172616 : UInt<2>[1] - T_172616[0] := UInt<2>(2) - wire T_172617 : UInt<3>[3] - T_172617[0] := UInt<3>(0) - T_172617[1] := UInt<3>(1) - T_172617[2] := UInt<3>(2) - wire T_172618 : UInt<2>[2] - T_172618[0] := UInt<2>(0) - T_172618[1] := UInt<2>(1) - wire T_172619 : UInt<2>[3] - T_172619[0] := UInt<2>(1) - T_172619[1] := UInt<2>(2) - T_172619[2] := UInt<2>(3) - wire T_172620 : UInt<2>[2] - T_172620[0] := UInt<2>(2) - T_172620[1] := UInt<2>(3) - wire T_172621 : UInt<2>[1] - T_172621[0] := UInt<2>(3) - wire T_172622 : UInt<3>[3] - T_172622[0] := UInt<3>(0) - T_172622[1] := UInt<3>(1) - T_172622[2] := UInt<3>(2) - wire T_172623 : UInt<2>[2] - T_172623[0] := UInt<2>(0) - T_172623[1] := UInt<2>(1) - wire T_172624 : UInt<2>[3] - T_172624[0] := UInt<2>(1) - T_172624[1] := UInt<2>(2) - T_172624[2] := UInt<2>(3) - wire T_172625 : UInt<2>[2] - T_172625[0] := UInt<2>(2) - T_172625[1] := UInt<2>(3) - wire T_172626 : UInt<2>[1] - T_172626[0] := UInt<2>(3) - wire T_172627 : UInt<3>[3] - T_172627[0] := UInt<3>(0) - T_172627[1] := UInt<3>(1) - T_172627[2] := UInt<3>(2) - wire T_172628 : UInt<0>[1] - T_172628[0] := UInt<0>(0) - wire T_172629 : UInt<2>[2] - T_172629[0] := UInt<2>(1) - T_172629[1] := UInt<2>(2) - wire T_172630 : UInt<2>[2] - T_172630[0] := UInt<2>(1) - T_172630[1] := UInt<2>(2) - wire T_172631 : UInt<2>[1] - T_172631[0] := UInt<2>(2) - wire T_172632 : UInt<3>[3] - T_172632[0] := UInt<3>(0) - T_172632[1] := UInt<3>(1) - T_172632[2] := UInt<3>(2) - wire T_172633 : UInt<2>[2] - T_172633[0] := UInt<2>(0) - T_172633[1] := UInt<2>(1) - wire T_172634 : UInt<2>[3] - T_172634[0] := UInt<2>(1) - T_172634[1] := UInt<2>(2) - T_172634[2] := UInt<2>(3) - wire T_172635 : UInt<2>[2] - T_172635[0] := UInt<2>(2) - T_172635[1] := UInt<2>(3) - wire T_172636 : UInt<2>[1] - T_172636[0] := UInt<2>(3) - wire T_172637 : UInt<3>[3] - T_172637[0] := UInt<3>(0) - T_172637[1] := UInt<3>(1) - T_172637[2] := UInt<3>(2) - wire T_172638 : UInt<2>[2] - T_172638[0] := UInt<2>(0) - T_172638[1] := UInt<2>(1) - wire T_172639 : UInt<2>[3] - T_172639[0] := UInt<2>(1) - T_172639[1] := UInt<2>(2) - T_172639[2] := UInt<2>(3) - wire T_172640 : UInt<2>[2] - T_172640[0] := UInt<2>(2) - T_172640[1] := UInt<2>(3) - wire T_172641 : UInt<2>[1] - T_172641[0] := UInt<2>(3) - wire T_172642 : UInt<3>[3] - T_172642[0] := UInt<3>(0) - T_172642[1] := UInt<3>(1) - T_172642[2] := UInt<3>(2) - wire T_172643 : UInt<0>[1] - T_172643[0] := UInt<0>(0) - wire T_172644 : UInt<2>[2] - T_172644[0] := UInt<2>(1) - T_172644[1] := UInt<2>(2) - wire T_172645 : UInt<2>[2] - T_172645[0] := UInt<2>(1) - T_172645[1] := UInt<2>(2) - wire T_172646 : UInt<2>[1] - T_172646[0] := UInt<2>(2) - wb.resp.valid := UInt<1>(0) - wb.req.valid := UInt<1>(0) - meta.write.valid := UInt<1>(0) - meta.resp.valid := UInt<1>(0) - meta.read.valid := UInt<1>(0) - data.write.valid := UInt<1>(0) - data.resp.valid := UInt<1>(0) - data.read.valid := UInt<1>(0) - outer.release.valid := UInt<1>(0) - outer.probe.valid := UInt<1>(0) - outer.grant.valid := UInt<1>(0) - outer.acquire.valid := UInt<1>(0) - inner.release.valid := UInt<1>(0) - inner.probe.valid := UInt<1>(0) - inner.finish.valid := UInt<1>(0) - inner.grant.valid := UInt<1>(0) - inner.acquire.valid := UInt<1>(0) - reg state : UInt<4> - onreset state := UInt<4>(0) - wire T_172647 : UInt<3>[3] - T_172647[0] := UInt<3>(0) - T_172647[1] := UInt<3>(1) - T_172647[2] := UInt<3>(2) - wire T_172648 : UInt<2>[2] - T_172648[0] := UInt<2>(0) - T_172648[1] := UInt<2>(1) - wire T_172649 : UInt<2>[3] - T_172649[0] := UInt<2>(1) - T_172649[1] := UInt<2>(2) - T_172649[2] := UInt<2>(3) - wire T_172650 : UInt<2>[2] - T_172650[0] := UInt<2>(2) - T_172650[1] := UInt<2>(3) - wire T_172651 : UInt<2>[1] - T_172651[0] := UInt<2>(3) - wire T_172652 : UInt<3>[3] - T_172652[0] := UInt<3>(0) - T_172652[1] := UInt<3>(1) - T_172652[2] := UInt<3>(2) - wire T_172653 : UInt<2>[2] - T_172653[0] := UInt<2>(0) - T_172653[1] := UInt<2>(1) - wire T_172654 : UInt<2>[3] - T_172654[0] := UInt<2>(1) - T_172654[1] := UInt<2>(2) - T_172654[2] := UInt<2>(3) - wire T_172655 : UInt<2>[2] - T_172655[0] := UInt<2>(2) - T_172655[1] := UInt<2>(3) - wire T_172656 : UInt<2>[1] - T_172656[0] := UInt<2>(3) - reg xact : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>, client_id : UInt<2>} - wire T_172657 : UInt<128>[4] - T_172657[0] := UInt<128>(0) - T_172657[1] := UInt<128>(0) - T_172657[2] := UInt<128>(0) - T_172657[3] := UInt<128>(0) - reg data_buffer : UInt<128>[4] - onreset data_buffer := T_172657 - wire T_172658 : UInt<16>[4] - T_172658[0] := UInt<16>(0) - T_172658[1] := UInt<16>(0) - T_172658[2] := UInt<16>(0) - T_172658[3] := UInt<16>(0) - reg wmask_buffer : UInt<16>[4] - onreset wmask_buffer := T_172658 - reg xact_tag_match : UInt<1> - reg xact_way_en : UInt<8> - wire T_172659 : UInt<3>[3] - T_172659[0] := UInt<3>(0) - T_172659[1] := UInt<3>(1) - T_172659[2] := UInt<3>(2) - wire T_172660 : UInt<2>[2] - T_172660[0] := UInt<2>(0) - T_172660[1] := UInt<2>(1) - wire T_172661 : UInt<2>[3] - T_172661[0] := UInt<2>(1) - T_172661[1] := UInt<2>(2) - T_172661[2] := UInt<2>(3) - wire T_172662 : UInt<2>[2] - T_172662[0] := UInt<2>(2) - T_172662[1] := UInt<2>(3) - wire T_172663 : UInt<2>[1] - T_172663[0] := UInt<2>(3) - wire T_172664 : UInt<3>[3] - T_172664[0] := UInt<3>(0) - T_172664[1] := UInt<3>(1) - T_172664[2] := UInt<3>(2) - wire T_172665 : UInt<2>[2] - T_172665[0] := UInt<2>(0) - T_172665[1] := UInt<2>(1) - wire T_172666 : UInt<2>[3] - T_172666[0] := UInt<2>(1) - T_172666[1] := UInt<2>(2) - T_172666[2] := UInt<2>(3) - wire T_172667 : UInt<2>[2] - T_172667[0] := UInt<2>(2) - T_172667[1] := UInt<2>(3) - wire T_172668 : UInt<2>[1] - T_172668[0] := UInt<2>(3) - wire T_172669 : UInt<3>[3] - T_172669[0] := UInt<3>(0) - T_172669[1] := UInt<3>(1) - T_172669[2] := UInt<3>(2) - wire T_172670 : UInt<0>[1] - T_172670[0] := UInt<0>(0) - wire T_172671 : UInt<2>[2] - T_172671[0] := UInt<2>(1) - T_172671[1] := UInt<2>(2) - wire T_172672 : UInt<2>[2] - T_172672[0] := UInt<2>(1) - T_172672[1] := UInt<2>(2) - wire T_172673 : UInt<2>[1] - T_172673[0] := UInt<2>(2) - wire T_172674 : UInt<3>[3] - T_172674[0] := UInt<3>(0) - T_172674[1] := UInt<3>(1) - T_172674[2] := UInt<3>(2) - wire T_172675 : UInt<2>[2] - T_172675[0] := UInt<2>(0) - T_172675[1] := UInt<2>(1) - wire T_172676 : UInt<2>[3] - T_172676[0] := UInt<2>(1) - T_172676[1] := UInt<2>(2) - T_172676[2] := UInt<2>(3) - wire T_172677 : UInt<2>[2] - T_172677[0] := UInt<2>(2) - T_172677[1] := UInt<2>(3) - wire T_172678 : UInt<2>[1] - T_172678[0] := UInt<2>(3) - wire T_172679 : UInt<3>[3] - T_172679[0] := UInt<3>(0) - T_172679[1] := UInt<3>(1) - T_172679[2] := UInt<3>(2) - wire T_172680 : UInt<2>[2] - T_172680[0] := UInt<2>(0) - T_172680[1] := UInt<2>(1) - wire T_172681 : UInt<2>[3] - T_172681[0] := UInt<2>(1) - T_172681[1] := UInt<2>(2) - T_172681[2] := UInt<2>(3) - wire T_172682 : UInt<2>[2] - T_172682[0] := UInt<2>(2) - T_172682[1] := UInt<2>(3) - wire T_172683 : UInt<2>[1] - T_172683[0] := UInt<2>(3) - wire T_172684 : UInt<3>[3] - T_172684[0] := UInt<3>(0) - T_172684[1] := UInt<3>(1) - T_172684[2] := UInt<3>(2) - wire T_172685 : UInt<0>[1] - T_172685[0] := UInt<0>(0) - wire T_172686 : UInt<2>[2] - T_172686[0] := UInt<2>(1) - T_172686[1] := UInt<2>(2) - wire T_172687 : UInt<2>[2] - T_172687[0] := UInt<2>(1) - T_172687[1] := UInt<2>(2) - wire T_172688 : UInt<2>[1] - T_172688[0] := UInt<2>(2) - reg xact_old_meta : {tag : UInt<14>, coh : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}} - wire T_172689 : UInt<3>[3] - T_172689[0] := UInt<3>(0) - T_172689[1] := UInt<3>(1) - T_172689[2] := UInt<3>(2) - wire T_172690 : UInt<2>[2] - T_172690[0] := UInt<2>(0) - T_172690[1] := UInt<2>(1) - wire T_172691 : UInt<2>[3] - T_172691[0] := UInt<2>(1) - T_172691[1] := UInt<2>(2) - T_172691[2] := UInt<2>(3) - wire T_172692 : UInt<2>[2] - T_172692[0] := UInt<2>(2) - T_172692[1] := UInt<2>(3) - wire T_172693 : UInt<2>[1] - T_172693[0] := UInt<2>(3) - wire T_172694 : UInt<3>[3] - T_172694[0] := UInt<3>(0) - T_172694[1] := UInt<3>(1) - T_172694[2] := UInt<3>(2) - wire T_172695 : UInt<2>[2] - T_172695[0] := UInt<2>(0) - T_172695[1] := UInt<2>(1) - wire T_172696 : UInt<2>[3] - T_172696[0] := UInt<2>(1) - T_172696[1] := UInt<2>(2) - T_172696[2] := UInt<2>(3) - wire T_172697 : UInt<2>[2] - T_172697[0] := UInt<2>(2) - T_172697[1] := UInt<2>(3) - wire T_172698 : UInt<2>[1] - T_172698[0] := UInt<2>(3) - wire T_172699 : UInt<3>[3] - T_172699[0] := UInt<3>(0) - T_172699[1] := UInt<3>(1) - T_172699[2] := UInt<3>(2) - wire T_172700 : UInt<0>[1] - T_172700[0] := UInt<0>(0) - wire T_172701 : UInt<2>[2] - T_172701[0] := UInt<2>(1) - T_172701[1] := UInt<2>(2) - wire T_172702 : UInt<2>[2] - T_172702[0] := UInt<2>(1) - T_172702[1] := UInt<2>(2) - wire T_172703 : UInt<2>[1] - T_172703[0] := UInt<2>(2) - reg pending_coh : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}} - wire T_172704 : UInt<3>[3] - T_172704[0] := UInt<3>(0) - T_172704[1] := UInt<3>(1) - T_172704[2] := UInt<3>(2) - wire T_172705 : UInt<2>[2] - T_172705[0] := UInt<2>(0) - T_172705[1] := UInt<2>(1) - wire T_172706 : UInt<2>[3] - T_172706[0] := UInt<2>(1) - T_172706[1] := UInt<2>(2) - T_172706[2] := UInt<2>(3) - wire T_172707 : UInt<2>[2] - T_172707[0] := UInt<2>(2) - T_172707[1] := UInt<2>(3) - wire T_172708 : UInt<2>[1] - T_172708[0] := UInt<2>(3) - inst ignt_q of Queue_76584 - node T_172709 = and(inner.acquire.ready, inner.acquire.valid) - node T_172710 = and(UInt<1>(1), inner.acquire.bits.is_builtin_type) - wire T_172711 : UInt<3>[1] - T_172711[0] := UInt<3>(3) - node T_172712 = eq(T_172711[0], inner.acquire.bits.a_type) - node T_172713 = or(UInt<1>(0), T_172712) - node T_172714 = and(T_172710, T_172713) - node T_172715 = and(T_172709, T_172714) - reg T_172716 : UInt<2> - onreset T_172716 := UInt<2>(0) - when T_172715 : - node T_172717 = eq(T_172716, UInt<2>(3)) - node T_172718 = and(UInt<1>(0), T_172717) - node T_172719 = addw(T_172716, UInt<1>(1)) - wire T_172720 : UInt<2> - T_172720 := T_172719 - when T_172718 : T_172720 := UInt<1>(0) - T_172716 := T_172720 - node T_172721 = and(T_172715, T_172717) - wire T_172722 : UInt<1> - T_172722 := UInt<1>(0) - when T_172714 : T_172722 := T_172716 - wire iacq_data_done : UInt<1> - iacq_data_done := T_172709 - when T_172714 : iacq_data_done := T_172721 - reg T_172723 : UInt<1> - onreset T_172723 := UInt<1>(0) - node T_172724 = and(inner.probe.ready, inner.probe.valid) - node T_172725 = and(T_172724, UInt<1>(0)) - reg T_172726 : UInt<2> - onreset T_172726 := UInt<2>(0) - when T_172725 : - node T_172727 = eq(T_172726, UInt<2>(3)) - node T_172728 = and(UInt<1>(0), T_172727) - node T_172729 = addw(T_172726, UInt<1>(1)) - wire T_172730 : UInt<2> - T_172730 := T_172729 - when T_172728 : T_172730 := UInt<1>(0) - T_172726 := T_172730 - node T_172731 = and(T_172725, T_172727) - wire T_172732 : UInt<1> - T_172732 := UInt<1>(0) - when UInt<1>(0) : T_172732 := T_172726 - wire T_172733 : UInt<1> - T_172733 := T_172724 - when UInt<1>(0) : T_172733 := T_172731 - node T_172734 = and(inner.release.ready, inner.release.valid) - node T_172735 = eq(T_172476[0], inner.release.bits.r_type) - node T_172736 = eq(T_172476[1], inner.release.bits.r_type) - node T_172737 = eq(T_172476[2], inner.release.bits.r_type) - node T_172738 = or(UInt<1>(0), T_172735) - node T_172739 = or(T_172738, T_172736) - node T_172740 = or(T_172739, T_172737) - node T_172741 = and(UInt<1>(1), T_172740) - node T_172742 = and(T_172734, T_172741) - reg T_172743 : UInt<2> - onreset T_172743 := UInt<2>(0) - when T_172742 : - node T_172744 = eq(T_172743, UInt<2>(3)) - node T_172745 = and(UInt<1>(0), T_172744) - node T_172746 = addw(T_172743, UInt<1>(1)) - wire T_172747 : UInt<2> - T_172747 := T_172746 - when T_172745 : T_172747 := UInt<1>(0) - T_172743 := T_172747 - node T_172748 = and(T_172742, T_172744) - wire T_172749 : UInt<1> - T_172749 := UInt<1>(0) - when T_172741 : T_172749 := T_172743 - wire T_172750 : UInt<1> - T_172750 := T_172734 - when T_172741 : T_172750 := T_172748 - node T_172751 = and(T_172733, UInt<1>(1)) - node T_172752 = subw(T_172723, UInt<1>(1)) - wire T_172753 : UInt<1> - T_172753 := T_172752 - when T_172751 : T_172753 := T_172723 - node T_172754 = addw(T_172723, UInt<1>(1)) - wire T_172755 : UInt<1> - T_172755 := T_172723 - when T_172751 : T_172755 := T_172754 - wire T_172756 : UInt<1> - T_172756 := T_172755 - when T_172750 : T_172756 := T_172753 - T_172723 := T_172756 - node pending_irels = gt(T_172723, UInt<1>(0)) - reg T_172757 : UInt<1> - onreset T_172757 := UInt<1>(0) - node T_172758 = and(outer.acquire.ready, outer.acquire.valid) - node T_172759 = and(UInt<1>(1), outer.acquire.bits.is_builtin_type) - wire T_172760 : UInt<3>[1] - T_172760[0] := UInt<3>(3) - node T_172761 = eq(T_172760[0], outer.acquire.bits.a_type) - node T_172762 = or(UInt<1>(0), T_172761) - node T_172763 = and(T_172759, T_172762) - node T_172764 = and(T_172758, T_172763) - reg T_172765 : UInt<2> - onreset T_172765 := UInt<2>(0) - when T_172764 : - node T_172766 = eq(T_172765, UInt<2>(3)) - node T_172767 = and(UInt<1>(0), T_172766) - node T_172768 = addw(T_172765, UInt<1>(1)) - wire T_172769 : UInt<2> - T_172769 := T_172768 - when T_172767 : T_172769 := UInt<1>(0) - T_172765 := T_172769 - node T_172770 = and(T_172764, T_172766) - wire oacq_data_idx : UInt<2> - oacq_data_idx := xact.addr_beat - when T_172763 : oacq_data_idx := T_172765 - wire oacq_data_done : UInt<1> - oacq_data_done := T_172758 - when T_172763 : oacq_data_done := T_172770 - node T_172771 = and(outer.grant.ready, outer.grant.valid) - wire T_172772 : UInt<3>[1] - T_172772[0] := UInt<3>(5) - node T_172773 = eq(T_172772[0], outer.grant.bits.g_type) - node T_172774 = or(UInt<1>(0), T_172773) - node T_172775 = eq(T_172503[0], outer.grant.bits.g_type) - node T_172776 = or(UInt<1>(0), T_172775) - wire T_172777 : UInt<1> - T_172777 := T_172776 - when outer.grant.bits.is_builtin_type : T_172777 := T_172774 - node T_172778 = and(UInt<1>(1), T_172777) - node T_172779 = and(T_172771, T_172778) - reg T_172780 : UInt<2> - onreset T_172780 := UInt<2>(0) - when T_172779 : - node T_172781 = eq(T_172780, UInt<2>(3)) - node T_172782 = and(UInt<1>(0), T_172781) - node T_172783 = addw(T_172780, UInt<1>(1)) - wire T_172784 : UInt<2> - T_172784 := T_172783 - when T_172782 : T_172784 := UInt<1>(0) - T_172780 := T_172784 - node T_172785 = and(T_172779, T_172781) - wire ognt_data_idx : UInt<2> - ognt_data_idx := xact.addr_beat - when T_172778 : ognt_data_idx := T_172780 - wire ognt_data_done : UInt<1> - ognt_data_done := T_172771 - when T_172778 : ognt_data_done := T_172785 - node T_172786 = and(oacq_data_done, UInt<1>(1)) - node T_172787 = subw(T_172757, UInt<1>(1)) - wire T_172788 : UInt<1> - T_172788 := T_172787 - when T_172786 : T_172788 := T_172757 - node T_172789 = addw(T_172757, UInt<1>(1)) - wire T_172790 : UInt<1> - T_172790 := T_172757 - when T_172786 : T_172790 := T_172789 - wire T_172791 : UInt<1> - T_172791 := T_172790 - when ognt_data_done : T_172791 := T_172788 - T_172757 := T_172791 - node pending_ognt = gt(T_172757, UInt<1>(0)) - node T_172792 = and(inner.grant.ready, inner.grant.valid) - wire T_172793 : UInt<3>[1] - T_172793[0] := UInt<3>(5) - node T_172794 = eq(T_172793[0], inner.grant.bits.g_type) - node T_172795 = or(UInt<1>(0), T_172794) - node T_172796 = eq(T_172447[0], inner.grant.bits.g_type) - node T_172797 = eq(T_172447[1], inner.grant.bits.g_type) - node T_172798 = or(UInt<1>(0), T_172796) - node T_172799 = or(T_172798, T_172797) - wire T_172800 : UInt<1> - T_172800 := T_172799 - when inner.grant.bits.is_builtin_type : T_172800 := T_172795 - node T_172801 = and(UInt<1>(1), T_172800) - node T_172802 = and(T_172792, T_172801) - reg T_172803 : UInt<2> - onreset T_172803 := UInt<2>(0) - when T_172802 : - node T_172804 = eq(T_172803, UInt<2>(3)) - node T_172805 = and(UInt<1>(0), T_172804) - node T_172806 = addw(T_172803, UInt<1>(1)) - wire T_172807 : UInt<2> - T_172807 := T_172806 - when T_172805 : T_172807 := UInt<1>(0) - T_172803 := T_172807 - node T_172808 = and(T_172802, T_172804) - wire ignt_data_idx : UInt<2> - ignt_data_idx := ignt_q.deq.bits.addr_beat - when T_172801 : ignt_data_idx := T_172803 - wire ignt_data_done : UInt<1> - ignt_data_done := T_172792 - when T_172801 : ignt_data_done := T_172808 - reg T_172809 : UInt<3> - onreset T_172809 := UInt<3>(0) - node T_172810 = and(inner.grant.ready, inner.grant.valid) - wire T_172811 : UInt<3>[1] - T_172811[0] := UInt<3>(5) - node T_172812 = eq(T_172811[0], inner.grant.bits.g_type) - node T_172813 = or(UInt<1>(0), T_172812) - node T_172814 = eq(T_172447[0], inner.grant.bits.g_type) - node T_172815 = eq(T_172447[1], inner.grant.bits.g_type) - node T_172816 = or(UInt<1>(0), T_172814) - node T_172817 = or(T_172816, T_172815) - wire T_172818 : UInt<1> - T_172818 := T_172817 - when inner.grant.bits.is_builtin_type : T_172818 := T_172813 - node T_172819 = and(UInt<1>(1), T_172818) - node T_172820 = and(T_172810, T_172819) - reg T_172821 : UInt<2> - onreset T_172821 := UInt<2>(0) - when T_172820 : - node T_172822 = eq(T_172821, UInt<2>(3)) - node T_172823 = and(UInt<1>(0), T_172822) - node T_172824 = addw(T_172821, UInt<1>(1)) - wire T_172825 : UInt<2> - T_172825 := T_172824 - when T_172823 : T_172825 := UInt<1>(0) - T_172821 := T_172825 - node T_172826 = and(T_172820, T_172822) - wire T_172827 : UInt<1> - T_172827 := UInt<1>(0) - when T_172819 : T_172827 := T_172821 - wire T_172828 : UInt<1> - T_172828 := T_172810 - when T_172819 : T_172828 := T_172826 - node T_172829 = and(inner.finish.ready, inner.finish.valid) - node T_172830 = and(T_172829, UInt<1>(0)) - reg T_172831 : UInt<2> - onreset T_172831 := UInt<2>(0) - when T_172830 : - node T_172832 = eq(T_172831, UInt<2>(3)) - node T_172833 = and(UInt<1>(0), T_172832) - node T_172834 = addw(T_172831, UInt<1>(1)) - wire T_172835 : UInt<2> - T_172835 := T_172834 - when T_172833 : T_172835 := UInt<1>(0) - T_172831 := T_172835 - node T_172836 = and(T_172830, T_172832) - wire T_172837 : UInt<1> - T_172837 := UInt<1>(0) - when UInt<1>(0) : T_172837 := T_172831 - wire T_172838 : UInt<1> - T_172838 := T_172829 - when UInt<1>(0) : T_172838 := T_172836 - node T_172839 = eq(UInt<1>(0), UInt<1>(0)) - node T_172840 = eq(inner.grant.bits.g_type, UInt<3>(0)) - node T_172841 = and(inner.grant.bits.is_builtin_type, T_172840) - node T_172842 = eq(T_172841, UInt<1>(0)) - node T_172843 = and(T_172839, T_172842) - node T_172844 = and(T_172828, T_172843) - node T_172845 = subw(T_172809, UInt<1>(1)) - wire T_172846 : UInt<3> - T_172846 := T_172845 - when T_172844 : T_172846 := T_172809 - node T_172847 = addw(T_172809, UInt<1>(1)) - wire T_172848 : UInt<3> - T_172848 := T_172809 - when T_172844 : T_172848 := T_172847 - wire T_172849 : UInt<3> - T_172849 := T_172848 - when T_172838 : T_172849 := T_172846 - T_172809 := T_172849 - node pending_ifins = gt(T_172809, UInt<1>(0)) - reg pending_puts : UInt<4> - onreset pending_puts := UInt<4>(0) - reg pending_iprbs : UInt<1> - onreset pending_iprbs := UInt<1>(0) - reg pending_reads : UInt<4> - onreset pending_reads := UInt<4>(0) - reg pending_writes : UInt<4> - onreset pending_writes := UInt<4>(0) - reg pending_resps : UInt<4> - onreset pending_resps := UInt<4>(0) - reg pending_ignt_data : UInt<4> - onreset pending_ignt_data := UInt<4>(0) - reg pending_meta_write : UInt<1> - node T_172850 = eq(pending_reads, UInt<1>(0)) - node T_172851 = eq(T_172850, UInt<1>(0)) - node T_172852 = eq(pending_writes, UInt<1>(0)) - node T_172853 = eq(T_172852, UInt<1>(0)) - node T_172854 = or(T_172851, T_172853) - node T_172855 = eq(pending_resps, UInt<1>(0)) - node T_172856 = eq(T_172855, UInt<1>(0)) - node T_172857 = or(T_172854, T_172856) - node T_172858 = eq(pending_puts, UInt<1>(0)) - node T_172859 = eq(T_172858, UInt<1>(0)) - node T_172860 = or(T_172857, T_172859) - node T_172861 = or(T_172860, pending_ognt) - node T_172862 = gt(ignt_q.count, UInt<1>(0)) - node T_172863 = or(T_172861, T_172862) - node T_172864 = or(T_172863, pending_ifins) - node all_pending_done = eq(T_172864, UInt<1>(0)) - inst amoalu of AMOALU - node T_172865 = bits(xact.union, 12, 9) - node T_172866 = cat(xact.addr_beat, T_172865) - node T_172867 = cat(xact.addr_block, T_172866) - amoalu.addr := T_172867 - node T_172868 = eq(xact.a_type, UInt<3>(2)) - node T_172869 = and(xact.is_builtin_type, T_172868) - node T_172870 = eq(xact.a_type, UInt<3>(3)) - node T_172871 = and(xact.is_builtin_type, T_172870) - node T_172872 = or(T_172869, T_172871) - node T_172873 = bits(xact.union, 5, 1) - wire T_172874 : UInt<5> - T_172874 := T_172873 - when T_172872 : T_172874 := UInt<5>(1) - amoalu.cmd := T_172874 - node T_172875 = bits(xact.union, 8, 6) - amoalu.typ := T_172875 - amoalu.lhs := data.resp.bits.data - amoalu.rhs := data_buffer[0] - node T_172876 = eq(xact.a_type, UInt<3>(0)) - node T_172877 = and(xact.is_builtin_type, T_172876) - node T_172878 = eq(inner.acquire.bits.a_type, UInt<3>(0)) - node T_172879 = and(inner.acquire.bits.is_builtin_type, T_172878) - node T_172880 = and(T_172877, T_172879) - node T_172881 = eq(xact.client_id, inner.acquire.bits.client_id) - node T_172882 = and(T_172880, T_172881) - node T_172883 = eq(xact.addr_block, inner.acquire.bits.addr_block) - node T_172884 = and(T_172882, T_172883) - node T_172885 = neq(state, UInt<4>(0)) - node T_172886 = and(T_172884, T_172885) - node T_172887 = neq(state, UInt<4>(8)) - node T_172888 = and(T_172886, T_172887) - node T_172889 = eq(all_pending_done, UInt<1>(0)) - node T_172890 = and(T_172888, T_172889) - node T_172891 = bit(xact.union, 0) - node T_172892 = and(T_172890, T_172891) - node T_172893 = and(inner.release.ready, inner.release.valid) - node T_172894 = eq(T_172893, UInt<1>(0)) - node T_172895 = and(T_172892, T_172894) - node T_172896 = and(outer.grant.ready, outer.grant.valid) - node T_172897 = eq(T_172896, UInt<1>(0)) - node T_172898 = and(T_172895, T_172897) - node T_172899 = eq(data.resp.valid, UInt<1>(0)) - node T_172900 = and(T_172898, T_172899) - node can_merge_iacq_get = and(T_172900, ignt_q.enq.ready) - node T_172901 = eq(xact.a_type, UInt<3>(2)) - node T_172902 = and(xact.is_builtin_type, T_172901) - node T_172903 = eq(inner.acquire.bits.a_type, UInt<3>(2)) - node T_172904 = and(inner.acquire.bits.is_builtin_type, T_172903) - node T_172905 = and(T_172902, T_172904) - node T_172906 = eq(xact.a_type, UInt<3>(3)) - node T_172907 = and(xact.is_builtin_type, T_172906) - node T_172908 = eq(inner.acquire.bits.a_type, UInt<3>(3)) - node T_172909 = and(inner.acquire.bits.is_builtin_type, T_172908) - node T_172910 = and(T_172907, T_172909) - node T_172911 = or(T_172905, T_172910) - node T_172912 = eq(xact.client_id, inner.acquire.bits.client_id) - node T_172913 = and(T_172911, T_172912) - node T_172914 = eq(xact.addr_block, inner.acquire.bits.addr_block) - node T_172915 = and(T_172913, T_172914) - node T_172916 = neq(state, UInt<4>(0)) - node T_172917 = and(T_172915, T_172916) - node T_172918 = neq(state, UInt<4>(8)) - node T_172919 = and(T_172917, T_172918) - node T_172920 = eq(all_pending_done, UInt<1>(0)) - node T_172921 = and(T_172919, T_172920) - node T_172922 = bit(xact.union, 0) - node T_172923 = eq(xact.a_type, UInt<3>(3)) - node T_172924 = and(xact.is_builtin_type, T_172923) - node T_172925 = or(T_172922, T_172924) - node T_172926 = and(T_172921, T_172925) - node T_172927 = and(inner.release.ready, inner.release.valid) - node T_172928 = eq(T_172927, UInt<1>(0)) - node T_172929 = and(T_172926, T_172928) - node T_172930 = and(outer.grant.ready, outer.grant.valid) - node T_172931 = eq(T_172930, UInt<1>(0)) - node T_172932 = and(T_172929, T_172931) - node T_172933 = eq(data.resp.valid, UInt<1>(0)) - node T_172934 = and(T_172932, T_172933) - node can_merge_iacq_put = and(T_172934, ignt_q.enq.ready) - node T_172935 = eq(state, UInt<4>(0)) - node T_172936 = or(T_172935, can_merge_iacq_put) - node T_172937 = or(T_172936, can_merge_iacq_get) - inner.acquire.ready := T_172937 - ignt_q.enq.valid := iacq_data_done - ignt_q.enq.bits.client_xact_id := inner.acquire.bits.client_xact_id - ignt_q.enq.bits.addr_beat := inner.acquire.bits.addr_beat - node T_172938 = and(inner.acquire.ready, inner.acquire.valid) - wire T_172939 : UInt<3>[3] - T_172939[0] := UInt<3>(2) - T_172939[1] := UInt<3>(3) - T_172939[2] := UInt<3>(4) - node T_172940 = eq(T_172939[0], inner.acquire.bits.a_type) - node T_172941 = eq(T_172939[1], inner.acquire.bits.a_type) - node T_172942 = eq(T_172939[2], inner.acquire.bits.a_type) - node T_172943 = or(UInt<1>(0), T_172940) - node T_172944 = or(T_172943, T_172941) - node T_172945 = or(T_172944, T_172942) - node T_172946 = and(inner.acquire.bits.is_builtin_type, T_172945) - node T_172947 = and(T_172938, T_172946) - node T_172948 = subw(UInt<4>(0), UInt<3>(4)) - node T_172949 = not(T_172948) - node T_172950 = dshl(UInt<1>(1), inner.acquire.bits.addr_beat) - node T_172951 = not(T_172950) - node T_172952 = or(T_172949, T_172951) - node T_172953 = and(pending_puts, T_172952) - pending_puts := T_172953 - node T_172954 = eq(state, UInt<4>(1)) - meta.read.valid := T_172954 - meta.read.bits.id := UInt<1>(1) - node T_172955 = bits(xact.addr_block, 11, 0) - meta.read.bits.idx := T_172955 - node T_172956 = dshr(xact.addr_block, UInt<4>(12)) - meta.read.bits.tag := T_172956 - node T_172957 = eq(state, UInt<4>(3)) - wb.req.valid := T_172957 - wb.req.bits.id := UInt<1>(1) - node T_172958 = bits(xact.addr_block, 11, 0) - wb.req.bits.idx := T_172958 - wb.req.bits.tag := xact_old_meta.tag - wb.req.bits.coh := xact_old_meta.coh - wb.req.bits.way_en := xact_way_en - node T_172959 = and(inner.probe.ready, inner.probe.valid) - node T_172960 = not(T_172959) - node T_172961 = dshl(UInt<1>(1), inner.probe.bits.client_id) - node T_172962 = not(T_172961) - node T_172963 = or(T_172960, T_172962) - node T_172964 = and(pending_iprbs, T_172963) - pending_iprbs := T_172964 - node T_172965 = bit(pending_iprbs, 0) - wire T_172966 : UInt<1>[1] - T_172966[0] := T_172965 - node T_172967 = eq(state, UInt<4>(5)) - node T_172968 = eq(pending_iprbs, UInt<1>(0)) - node T_172969 = eq(T_172968, UInt<1>(0)) - node T_172970 = and(T_172967, T_172969) - inner.probe.valid := T_172970 - node T_172971 = eq(UInt<3>(4), xact.a_type) - wire T_172972 : UInt<2> - T_172972 := UInt<2>(2) - when T_172971 : T_172972 := UInt<2>(0) - node T_172973 = eq(UInt<3>(2), xact.a_type) - wire T_172974 : UInt<2> - T_172974 := T_172972 - when T_172973 : T_172974 := UInt<2>(0) - node T_172975 = eq(UInt<3>(0), xact.a_type) - wire T_172976 : UInt<2> - T_172976 := T_172974 - when T_172975 : T_172976 := UInt<2>(2) - node T_172977 = eq(UInt<3>(3), xact.a_type) - wire T_172978 : UInt<2> - T_172978 := T_172976 - when T_172977 : T_172978 := UInt<2>(0) - node T_172979 = eq(UInt<3>(1), xact.a_type) - wire T_172980 : UInt<2> - T_172980 := T_172978 - when T_172979 : T_172980 := UInt<2>(2) - node T_172981 = eq(UInt<1>(1), xact.a_type) - wire T_172982 : UInt<2> - T_172982 := UInt<2>(2) - when T_172981 : T_172982 := UInt<2>(0) - node T_172983 = eq(UInt<1>(0), xact.a_type) - wire T_172984 : UInt<2> - T_172984 := T_172982 - when T_172983 : T_172984 := UInt<2>(1) - wire T_172985 : UInt<2> - T_172985 := T_172984 - when xact.is_builtin_type : T_172985 := T_172980 - wire T_172986 : UInt<3>[3] - T_172986[0] := UInt<3>(0) - T_172986[1] := UInt<3>(1) - T_172986[2] := UInt<3>(2) - wire T_172987 : UInt<2>[2] - T_172987[0] := UInt<2>(0) - T_172987[1] := UInt<2>(1) - wire T_172988 : UInt<2>[3] - T_172988[0] := UInt<2>(1) - T_172988[1] := UInt<2>(2) - T_172988[2] := UInt<2>(3) - wire T_172989 : UInt<2>[2] - T_172989[0] := UInt<2>(2) - T_172989[1] := UInt<2>(3) - wire T_172990 : UInt<2>[1] - T_172990[0] := UInt<2>(3) - wire T_172991 : UInt<3>[3] - T_172991[0] := UInt<3>(0) - T_172991[1] := UInt<3>(1) - T_172991[2] := UInt<3>(2) - wire T_172992 : UInt<2>[2] - T_172992[0] := UInt<2>(0) - T_172992[1] := UInt<2>(1) - wire T_172993 : UInt<2>[3] - T_172993[0] := UInt<2>(1) - T_172993[1] := UInt<2>(2) - T_172993[2] := UInt<2>(3) - wire T_172994 : UInt<2>[2] - T_172994[0] := UInt<2>(2) - T_172994[1] := UInt<2>(3) - wire T_172995 : UInt<2>[1] - T_172995[0] := UInt<2>(3) - wire T_172996 : {addr_block : UInt<26>, p_type : UInt<2>, client_id : UInt<2>} - T_172996.client_id := UInt<1>(0) - T_172996.p_type := T_172985 - T_172996.addr_block := xact.addr_block - inner.probe.bits := T_172996 - node T_172997 = eq(state, UInt<4>(5)) - inner.release.ready := T_172997 - node T_172998 = dshl(UInt<1>(1), inner.release.bits.client_id) - node T_172999 = not(T_172998) - node T_173000 = and(pending_coh.inner.sharers, T_172999) - wire T_173001 : UInt<3>[3] - T_173001[0] := UInt<3>(0) - T_173001[1] := UInt<3>(1) - T_173001[2] := UInt<3>(2) - wire T_173002 : UInt<2>[2] - T_173002[0] := UInt<2>(0) - T_173002[1] := UInt<2>(1) - wire T_173003 : UInt<2>[3] - T_173003[0] := UInt<2>(1) - T_173003[1] := UInt<2>(2) - T_173003[2] := UInt<2>(3) - wire T_173004 : UInt<2>[2] - T_173004[0] := UInt<2>(2) - T_173004[1] := UInt<2>(3) - wire T_173005 : UInt<2>[1] - T_173005[0] := UInt<2>(3) - wire T_173006 : UInt<3>[3] - T_173006[0] := UInt<3>(0) - T_173006[1] := UInt<3>(1) - T_173006[2] := UInt<3>(2) - wire T_173007 : UInt<2>[2] - T_173007[0] := UInt<2>(0) - T_173007[1] := UInt<2>(1) - wire T_173008 : UInt<2>[3] - T_173008[0] := UInt<2>(1) - T_173008[1] := UInt<2>(2) - T_173008[2] := UInt<2>(3) - wire T_173009 : UInt<2>[2] - T_173009[0] := UInt<2>(2) - T_173009[1] := UInt<2>(3) - wire T_173010 : UInt<2>[1] - T_173010[0] := UInt<2>(3) - wire T_173011 : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>} - T_173011.sharers := T_173000 - node T_173012 = eq(inner.release.bits.r_type, UInt<3>(0)) - node T_173013 = eq(inner.release.bits.r_type, UInt<3>(3)) - wire T_173014 : UInt<3>[3] - T_173014[0] := UInt<3>(0) - T_173014[1] := UInt<3>(1) - T_173014[2] := UInt<3>(2) - wire T_173015 : UInt<2>[2] - T_173015[0] := UInt<2>(0) - T_173015[1] := UInt<2>(1) - wire T_173016 : UInt<2>[3] - T_173016[0] := UInt<2>(1) - T_173016[1] := UInt<2>(2) - T_173016[2] := UInt<2>(3) - wire T_173017 : UInt<2>[2] - T_173017[0] := UInt<2>(2) - T_173017[1] := UInt<2>(3) - wire T_173018 : UInt<2>[1] - T_173018[0] := UInt<2>(3) - wire T_173019 : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>} - T_173019 := pending_coh.inner - when T_173013 : T_173019 := T_173011 - wire T_173020 : UInt<3>[3] - T_173020[0] := UInt<3>(0) - T_173020[1] := UInt<3>(1) - T_173020[2] := UInt<3>(2) - wire T_173021 : UInt<2>[2] - T_173021[0] := UInt<2>(0) - T_173021[1] := UInt<2>(1) - wire T_173022 : UInt<2>[3] - T_173022[0] := UInt<2>(1) - T_173022[1] := UInt<2>(2) - T_173022[2] := UInt<2>(3) - wire T_173023 : UInt<2>[2] - T_173023[0] := UInt<2>(2) - T_173023[1] := UInt<2>(3) - wire T_173024 : UInt<2>[1] - T_173024[0] := UInt<2>(3) - wire T_173025 : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>} - T_173025 := T_173019 - when T_173012 : T_173025 := T_173011 - node T_173026 = eq(T_172476[0], inner.release.bits.r_type) - node T_173027 = eq(T_172476[1], inner.release.bits.r_type) - node T_173028 = eq(T_172476[2], inner.release.bits.r_type) - node T_173029 = or(UInt<1>(0), T_173026) - node T_173030 = or(T_173029, T_173027) - node T_173031 = or(T_173030, T_173028) - node T_173032 = eq(UInt<5>(1), UInt<5>(1)) - node T_173033 = eq(UInt<5>(1), UInt<5>(7)) - node T_173034 = or(T_173032, T_173033) - node T_173035 = eq(UInt<5>(1), UInt<5>(4)) - node T_173036 = or(UInt<1>(0), T_173035) - node T_173037 = or(T_173034, T_173036) - wire T_173038 : UInt<2> - T_173038 := pending_coh.outer.state - when T_173037 : T_173038 := UInt<2>(2) - wire T_173039 : UInt<3>[3] - T_173039[0] := UInt<3>(0) - T_173039[1] := UInt<3>(1) - T_173039[2] := UInt<3>(2) - wire T_173040 : UInt<0>[1] - T_173040[0] := UInt<0>(0) - wire T_173041 : UInt<2>[2] - T_173041[0] := UInt<2>(1) - T_173041[1] := UInt<2>(2) - wire T_173042 : UInt<2>[2] - T_173042[0] := UInt<2>(1) - T_173042[1] := UInt<2>(2) - wire T_173043 : UInt<2>[1] - T_173043[0] := UInt<2>(2) - wire T_173044 : UInt<3>[3] - T_173044[0] := UInt<3>(0) - T_173044[1] := UInt<3>(1) - T_173044[2] := UInt<3>(2) - wire T_173045 : UInt<0>[1] - T_173045[0] := UInt<0>(0) - wire T_173046 : UInt<2>[2] - T_173046[0] := UInt<2>(1) - T_173046[1] := UInt<2>(2) - wire T_173047 : UInt<2>[2] - T_173047[0] := UInt<2>(1) - T_173047[1] := UInt<2>(2) - wire T_173048 : UInt<2>[1] - T_173048[0] := UInt<2>(2) - wire T_173049 : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>} - T_173049.state := T_173038 - wire T_173050 : UInt<3>[3] - T_173050[0] := UInt<3>(0) - T_173050[1] := UInt<3>(1) - T_173050[2] := UInt<3>(2) - wire T_173051 : UInt<2>[2] - T_173051[0] := UInt<2>(0) - T_173051[1] := UInt<2>(1) - wire T_173052 : UInt<2>[3] - T_173052[0] := UInt<2>(1) - T_173052[1] := UInt<2>(2) - T_173052[2] := UInt<2>(3) - wire T_173053 : UInt<2>[2] - T_173053[0] := UInt<2>(2) - T_173053[1] := UInt<2>(3) - wire T_173054 : UInt<2>[1] - T_173054[0] := UInt<2>(3) - wire T_173055 : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>} - T_173055 := pending_coh.outer - when T_173031 : T_173055 := T_173049 - wire T_173056 : UInt<3>[3] - T_173056[0] := UInt<3>(0) - T_173056[1] := UInt<3>(1) - T_173056[2] := UInt<3>(2) - wire T_173057 : UInt<2>[2] - T_173057[0] := UInt<2>(0) - T_173057[1] := UInt<2>(1) - wire T_173058 : UInt<2>[3] - T_173058[0] := UInt<2>(1) - T_173058[1] := UInt<2>(2) - T_173058[2] := UInt<2>(3) - wire T_173059 : UInt<2>[2] - T_173059[0] := UInt<2>(2) - T_173059[1] := UInt<2>(3) - wire T_173060 : UInt<2>[1] - T_173060[0] := UInt<2>(3) - wire T_173061 : UInt<3>[3] - T_173061[0] := UInt<3>(0) - T_173061[1] := UInt<3>(1) - T_173061[2] := UInt<3>(2) - wire T_173062 : UInt<2>[2] - T_173062[0] := UInt<2>(0) - T_173062[1] := UInt<2>(1) - wire T_173063 : UInt<2>[3] - T_173063[0] := UInt<2>(1) - T_173063[1] := UInt<2>(2) - T_173063[2] := UInt<2>(3) - wire T_173064 : UInt<2>[2] - T_173064[0] := UInt<2>(2) - T_173064[1] := UInt<2>(3) - wire T_173065 : UInt<2>[1] - T_173065[0] := UInt<2>(3) - wire T_173066 : UInt<3>[3] - T_173066[0] := UInt<3>(0) - T_173066[1] := UInt<3>(1) - T_173066[2] := UInt<3>(2) - wire T_173067 : UInt<0>[1] - T_173067[0] := UInt<0>(0) - wire T_173068 : UInt<2>[2] - T_173068[0] := UInt<2>(1) - T_173068[1] := UInt<2>(2) - wire T_173069 : UInt<2>[2] - T_173069[0] := UInt<2>(1) - T_173069[1] := UInt<2>(2) - wire T_173070 : UInt<2>[1] - T_173070[0] := UInt<2>(2) - wire T_173071 : UInt<3>[3] - T_173071[0] := UInt<3>(0) - T_173071[1] := UInt<3>(1) - T_173071[2] := UInt<3>(2) - wire T_173072 : UInt<2>[2] - T_173072[0] := UInt<2>(0) - T_173072[1] := UInt<2>(1) - wire T_173073 : UInt<2>[3] - T_173073[0] := UInt<2>(1) - T_173073[1] := UInt<2>(2) - T_173073[2] := UInt<2>(3) - wire T_173074 : UInt<2>[2] - T_173074[0] := UInt<2>(2) - T_173074[1] := UInt<2>(3) - wire T_173075 : UInt<2>[1] - T_173075[0] := UInt<2>(3) - wire T_173076 : UInt<3>[3] - T_173076[0] := UInt<3>(0) - T_173076[1] := UInt<3>(1) - T_173076[2] := UInt<3>(2) - wire T_173077 : UInt<2>[2] - T_173077[0] := UInt<2>(0) - T_173077[1] := UInt<2>(1) - wire T_173078 : UInt<2>[3] - T_173078[0] := UInt<2>(1) - T_173078[1] := UInt<2>(2) - T_173078[2] := UInt<2>(3) - wire T_173079 : UInt<2>[2] - T_173079[0] := UInt<2>(2) - T_173079[1] := UInt<2>(3) - wire T_173080 : UInt<2>[1] - T_173080[0] := UInt<2>(3) - wire T_173081 : UInt<3>[3] - T_173081[0] := UInt<3>(0) - T_173081[1] := UInt<3>(1) - T_173081[2] := UInt<3>(2) - wire T_173082 : UInt<0>[1] - T_173082[0] := UInt<0>(0) - wire T_173083 : UInt<2>[2] - T_173083[0] := UInt<2>(1) - T_173083[1] := UInt<2>(2) - wire T_173084 : UInt<2>[2] - T_173084[0] := UInt<2>(1) - T_173084[1] := UInt<2>(2) - wire T_173085 : UInt<2>[1] - T_173085[0] := UInt<2>(2) - wire pending_coh_on_irel : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}} - pending_coh_on_irel.inner := T_173025 - pending_coh_on_irel.outer := T_173055 - node T_173086 = and(inner.release.ready, inner.release.valid) - - - node T_173087 = eq(pending_coh.inner.sharers, pending_coh_on_irel.inner.sharers) - node T_173088 = eq(pending_coh.outer.state, pending_coh_on_irel.outer.state) - node T_173089 = and(T_173087, T_173088) - node T_173090 = eq(T_173089, UInt<1>(0)) - node T_173091 = and(T_173086, T_173090) - when T_173091 : - pending_meta_write := UInt<1>(1) - pending_coh := pending_coh_on_irel - - - node T_173092 = and(inner.release.ready, inner.release.valid) - node T_173093 = eq(T_172476[0], inner.release.bits.r_type) - node T_173094 = eq(T_172476[1], inner.release.bits.r_type) - node T_173095 = eq(T_172476[2], inner.release.bits.r_type) - node T_173096 = or(UInt<1>(0), T_173093) - node T_173097 = or(T_173096, T_173094) - node T_173098 = or(T_173097, T_173095) - node T_173099 = and(T_173092, T_173098) - when T_173099 : - accessor T_173100 = data_buffer[inner.release.bits.addr_beat] - node T_173101 = bits(xact.union, 12, 9) - node T_173102 = bits(T_173101, 3, 3) - node T_173103 = mul(UInt<7>(64), T_173102) - node T_173104 = dshr(inner.release.bits.data, T_173103) - amoalu.lhs := T_173104 - node T_173105 = bits(xact.union, 12, 9) - node T_173106 = bits(T_173105, 3, 3) - node T_173107 = mul(UInt<7>(64), T_173106) - node T_173108 = dshr(T_173100, T_173107) - amoalu.rhs := T_173108 - accessor T_173109 = wmask_buffer[inner.release.bits.addr_beat] - node T_173110 = bit(T_173109, 0) - node T_173111 = bit(T_173109, 1) - node T_173112 = bit(T_173109, 2) - node T_173113 = bit(T_173109, 3) - node T_173114 = bit(T_173109, 4) - node T_173115 = bit(T_173109, 5) - node T_173116 = bit(T_173109, 6) - node T_173117 = bit(T_173109, 7) - node T_173118 = bit(T_173109, 8) - node T_173119 = bit(T_173109, 9) - node T_173120 = bit(T_173109, 10) - node T_173121 = bit(T_173109, 11) - node T_173122 = bit(T_173109, 12) - node T_173123 = bit(T_173109, 13) - node T_173124 = bit(T_173109, 14) - node T_173125 = bit(T_173109, 15) - wire T_173126 : UInt<1>[16] - T_173126[0] := T_173110 - T_173126[1] := T_173111 - T_173126[2] := T_173112 - T_173126[3] := T_173113 - T_173126[4] := T_173114 - T_173126[5] := T_173115 - T_173126[6] := T_173116 - T_173126[7] := T_173117 - T_173126[8] := T_173118 - T_173126[9] := T_173119 - T_173126[10] := T_173120 - T_173126[11] := T_173121 - T_173126[12] := T_173122 - T_173126[13] := T_173123 - T_173126[14] := T_173124 - T_173126[15] := T_173125 - node T_173127 = subw(UInt<8>(0), UInt<4>(8)) - node T_173128 = subw(UInt<8>(0), UInt<4>(8)) - node T_173129 = subw(UInt<8>(0), UInt<4>(8)) - node T_173130 = subw(UInt<8>(0), UInt<4>(8)) - node T_173131 = subw(UInt<8>(0), UInt<4>(8)) - node T_173132 = subw(UInt<8>(0), UInt<4>(8)) - node T_173133 = subw(UInt<8>(0), UInt<4>(8)) - node T_173134 = subw(UInt<8>(0), UInt<4>(8)) - node T_173135 = subw(UInt<8>(0), UInt<4>(8)) - node T_173136 = subw(UInt<8>(0), UInt<4>(8)) - node T_173137 = subw(UInt<8>(0), UInt<4>(8)) - node T_173138 = subw(UInt<8>(0), UInt<4>(8)) - node T_173139 = subw(UInt<8>(0), UInt<4>(8)) - node T_173140 = subw(UInt<8>(0), UInt<4>(8)) - node T_173141 = subw(UInt<8>(0), UInt<4>(8)) - node T_173142 = subw(UInt<8>(0), UInt<4>(8)) - wire T_173143 : UInt<8>[16] - T_173143[0] := T_173127 - T_173143[1] := T_173128 - T_173143[2] := T_173129 - T_173143[3] := T_173130 - T_173143[4] := T_173131 - T_173143[5] := T_173132 - T_173143[6] := T_173133 - T_173143[7] := T_173134 - T_173143[8] := T_173135 - T_173143[9] := T_173136 - T_173143[10] := T_173137 - T_173143[11] := T_173138 - T_173143[12] := T_173139 - T_173143[13] := T_173140 - T_173143[14] := T_173141 - T_173143[15] := T_173142 - node T_173144 = cat(T_173143[15], T_173143[14]) - node T_173145 = cat(T_173143[13], T_173143[12]) - node T_173146 = cat(T_173144, T_173145) - node T_173147 = cat(T_173143[11], T_173143[10]) - node T_173148 = cat(T_173143[9], T_173143[8]) - node T_173149 = cat(T_173147, T_173148) - node T_173150 = cat(T_173146, T_173149) - node T_173151 = cat(T_173143[7], T_173143[6]) - node T_173152 = cat(T_173143[5], T_173143[4]) - node T_173153 = cat(T_173151, T_173152) - node T_173154 = cat(T_173143[3], T_173143[2]) - node T_173155 = cat(T_173143[1], T_173143[0]) - node T_173156 = cat(T_173154, T_173155) - node T_173157 = cat(T_173153, T_173156) - node T_173158 = cat(T_173150, T_173157) - accessor T_173159 = data_buffer[inner.release.bits.addr_beat] - node T_173160 = not(T_173158) - node T_173161 = and(T_173160, inner.release.bits.data) - node T_173162 = eq(xact.a_type, UInt<3>(4)) - node T_173163 = and(xact.is_builtin_type, T_173162) - node T_173164 = bits(xact.union, 12, 9) - node T_173165 = bits(T_173164, 3, 3) - node T_173166 = mul(UInt<7>(64), T_173165) - node T_173167 = dshl(amoalu.out, T_173166) - wire T_173168 : UInt<128> - T_173168 := T_173100 - when T_173163 : T_173168 := T_173167 - node T_173169 = and(T_173158, T_173168) - node T_173170 = or(T_173161, T_173169) - T_173159 := T_173170 - accessor T_173171 = wmask_buffer[inner.release.bits.addr_beat] - T_173171 := SInt<1>(-1) - - - node T_173172 = eq(xact.a_type, UInt<3>(4)) - node T_173173 = eq(xact.addr_beat, inner.release.bits.addr_beat) - node T_173174 = and(T_173172, T_173173) - when T_173174 : xact.data := inner.release.bits.data - node T_173175 = eq(state, UInt<4>(6)) - node T_173176 = bit(xact.union, 0) - node T_173177 = dshr(pending_puts, oacq_data_idx) - node T_173178 = bit(T_173177, 0) - node T_173179 = eq(T_173178, UInt<1>(0)) - node T_173180 = or(T_173176, T_173179) - node T_173181 = and(T_173175, T_173180) - outer.acquire.valid := T_173181 - node T_173182 = bit(xact.union, 0) - node T_173183 = eq(xact.a_type, UInt<3>(2)) - node T_173184 = and(xact.is_builtin_type, T_173183) - node T_173185 = eq(xact.a_type, UInt<3>(3)) - node T_173186 = and(xact.is_builtin_type, T_173185) - node T_173187 = or(T_173184, T_173186) - node T_173188 = bits(xact.union, 5, 1) - wire T_173189 : UInt<5> - T_173189 := T_173188 - when T_173187 : T_173189 := UInt<5>(1) - node T_173190 = eq(T_173189, UInt<5>(1)) - node T_173191 = eq(T_173189, UInt<5>(7)) - node T_173192 = or(T_173190, T_173191) - node T_173193 = bit(T_173189, 3) - node T_173194 = eq(T_173189, UInt<5>(4)) - node T_173195 = or(T_173193, T_173194) - node T_173196 = or(T_173192, T_173195) - node T_173197 = eq(T_173189, UInt<5>(3)) - node T_173198 = or(T_173196, T_173197) - node T_173199 = eq(T_173189, UInt<5>(6)) - node T_173200 = or(T_173198, T_173199) - wire T_173201 : UInt<1> - T_173201 := UInt<1>(0) - when T_173200 : T_173201 := UInt<1>(1) - node T_173202 = cat(T_173189, UInt<1>(1)) - wire T_173203 : UInt<3>[3] - T_173203[0] := UInt<3>(0) - T_173203[1] := UInt<3>(1) - T_173203[2] := UInt<3>(2) - wire T_173204 : UInt<0>[1] - T_173204[0] := UInt<0>(0) - wire T_173205 : UInt<2>[2] - T_173205[0] := UInt<2>(1) - T_173205[1] := UInt<2>(2) - wire T_173206 : UInt<2>[2] - T_173206[0] := UInt<2>(1) - T_173206[1] := UInt<2>(2) - wire T_173207 : UInt<2>[1] - T_173207[0] := UInt<2>(2) - wire T_173208 : UInt<3>[3] - T_173208[0] := UInt<3>(0) - T_173208[1] := UInt<3>(1) - T_173208[2] := UInt<3>(2) - wire T_173209 : UInt<0>[1] - T_173209[0] := UInt<0>(0) - wire T_173210 : UInt<2>[2] - T_173210[0] := UInt<2>(1) - T_173210[1] := UInt<2>(2) - wire T_173211 : UInt<2>[2] - T_173211[0] := UInt<2>(1) - T_173211[1] := UInt<2>(2) - wire T_173212 : UInt<2>[1] - T_173212[0] := UInt<2>(2) - wire T_173213 : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>} - T_173213.is_builtin_type := UInt<1>(0) - T_173213.a_type := T_173201 - T_173213.client_xact_id := UInt<1>(0) - T_173213.addr_block := xact.addr_block - T_173213.addr_beat := UInt<1>(0) - T_173213.data := UInt<1>(0) - T_173213.union := T_173202 - wire T_173214 : UInt<3>[3] - T_173214[0] := UInt<3>(0) - T_173214[1] := UInt<3>(1) - T_173214[2] := UInt<3>(2) - wire T_173215 : UInt<0>[1] - T_173215[0] := UInt<0>(0) - wire T_173216 : UInt<2>[2] - T_173216[0] := UInt<2>(1) - T_173216[1] := UInt<2>(2) - wire T_173217 : UInt<2>[2] - T_173217[0] := UInt<2>(1) - T_173217[1] := UInt<2>(2) - wire T_173218 : UInt<2>[1] - T_173218[0] := UInt<2>(2) - wire T_173219 : UInt<3>[3] - T_173219[0] := UInt<3>(0) - T_173219[1] := UInt<3>(1) - T_173219[2] := UInt<3>(2) - wire T_173220 : UInt<0>[1] - T_173220[0] := UInt<0>(0) - wire T_173221 : UInt<2>[2] - T_173221[0] := UInt<2>(1) - T_173221[1] := UInt<2>(2) - wire T_173222 : UInt<2>[2] - T_173222[0] := UInt<2>(1) - T_173222[1] := UInt<2>(2) - wire T_173223 : UInt<2>[1] - T_173223[0] := UInt<2>(2) - wire T_173224 : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>} - T_173224 := xact - wire T_173225 : UInt<3>[3] - T_173225[0] := UInt<3>(0) - T_173225[1] := UInt<3>(1) - T_173225[2] := UInt<3>(2) - wire T_173226 : UInt<2>[2] - T_173226[0] := UInt<2>(0) - T_173226[1] := UInt<2>(1) - wire T_173227 : UInt<2>[3] - T_173227[0] := UInt<2>(1) - T_173227[1] := UInt<2>(2) - T_173227[2] := UInt<2>(3) - wire T_173228 : UInt<2>[2] - T_173228[0] := UInt<2>(2) - T_173228[1] := UInt<2>(3) - wire T_173229 : UInt<2>[1] - T_173229[0] := UInt<2>(3) - wire T_173230 : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>} - T_173230 := T_173224 - when T_173182 : T_173230 := T_173213 - outer.acquire.bits := T_173230 - accessor T_173231 = data_buffer[oacq_data_idx] - outer.acquire.bits.data := T_173231 - node T_173232 = eq(state, UInt<4>(7)) - outer.grant.ready := T_173232 - wire T_173233 : UInt<3>[3] - T_173233[0] := UInt<3>(0) - T_173233[1] := UInt<3>(1) - T_173233[2] := UInt<3>(2) - wire T_173234 : UInt<2>[2] - T_173234[0] := UInt<2>(0) - T_173234[1] := UInt<2>(1) - wire T_173235 : UInt<2>[3] - T_173235[0] := UInt<2>(1) - T_173235[1] := UInt<2>(2) - T_173235[2] := UInt<2>(3) - wire T_173236 : UInt<2>[2] - T_173236[0] := UInt<2>(2) - T_173236[1] := UInt<2>(3) - wire T_173237 : UInt<2>[1] - T_173237[0] := UInt<2>(3) - wire T_173238 : UInt<3>[3] - T_173238[0] := UInt<3>(0) - T_173238[1] := UInt<3>(1) - T_173238[2] := UInt<3>(2) - wire T_173239 : UInt<2>[2] - T_173239[0] := UInt<2>(0) - T_173239[1] := UInt<2>(1) - wire T_173240 : UInt<2>[3] - T_173240[0] := UInt<2>(1) - T_173240[1] := UInt<2>(2) - T_173240[2] := UInt<2>(3) - wire T_173241 : UInt<2>[2] - T_173241[0] := UInt<2>(2) - T_173241[1] := UInt<2>(3) - wire T_173242 : UInt<2>[1] - T_173242[0] := UInt<2>(3) - wire T_173243 : UInt<3>[3] - T_173243[0] := UInt<3>(0) - T_173243[1] := UInt<3>(1) - T_173243[2] := UInt<3>(2) - wire T_173244 : UInt<2>[2] - T_173244[0] := UInt<2>(0) - T_173244[1] := UInt<2>(1) - wire T_173245 : UInt<2>[3] - T_173245[0] := UInt<2>(1) - T_173245[1] := UInt<2>(2) - T_173245[2] := UInt<2>(3) - wire T_173246 : UInt<2>[2] - T_173246[0] := UInt<2>(2) - T_173246[1] := UInt<2>(3) - wire T_173247 : UInt<2>[1] - T_173247[0] := UInt<2>(3) - wire T_173248 : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>} - T_173248.sharers := UInt<1>(0) - node T_173249 = eq(xact.a_type, UInt<3>(2)) - node T_173250 = and(xact.is_builtin_type, T_173249) - node T_173251 = eq(xact.a_type, UInt<3>(3)) - node T_173252 = and(xact.is_builtin_type, T_173251) - node T_173253 = or(T_173250, T_173252) - node T_173254 = bits(xact.union, 5, 1) - wire T_173255 : UInt<5> - T_173255 := T_173254 - when T_173253 : T_173255 := UInt<5>(1) - node T_173256 = eq(T_173255, UInt<5>(1)) - node T_173257 = eq(T_173255, UInt<5>(7)) - node T_173258 = or(T_173256, T_173257) - node T_173259 = bit(T_173255, 3) - node T_173260 = eq(T_173255, UInt<5>(4)) - node T_173261 = or(T_173259, T_173260) - node T_173262 = or(T_173258, T_173261) - wire T_173263 : UInt<2> - T_173263 := UInt<2>(1) - when T_173262 : T_173263 := UInt<2>(2) - wire T_173264 : UInt<2> - T_173264 := T_173263 - when outer.grant.bits.is_builtin_type : T_173264 := UInt<2>(0) - wire T_173265 : UInt<3>[3] - T_173265[0] := UInt<3>(0) - T_173265[1] := UInt<3>(1) - T_173265[2] := UInt<3>(2) - wire T_173266 : UInt<0>[1] - T_173266[0] := UInt<0>(0) - wire T_173267 : UInt<2>[2] - T_173267[0] := UInt<2>(1) - T_173267[1] := UInt<2>(2) - wire T_173268 : UInt<2>[2] - T_173268[0] := UInt<2>(1) - T_173268[1] := UInt<2>(2) - wire T_173269 : UInt<2>[1] - T_173269[0] := UInt<2>(2) - wire T_173270 : UInt<3>[3] - T_173270[0] := UInt<3>(0) - T_173270[1] := UInt<3>(1) - T_173270[2] := UInt<3>(2) - wire T_173271 : UInt<0>[1] - T_173271[0] := UInt<0>(0) - wire T_173272 : UInt<2>[2] - T_173272[0] := UInt<2>(1) - T_173272[1] := UInt<2>(2) - wire T_173273 : UInt<2>[2] - T_173273[0] := UInt<2>(1) - T_173273[1] := UInt<2>(2) - wire T_173274 : UInt<2>[1] - T_173274[0] := UInt<2>(2) - wire T_173275 : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>} - T_173275.state := T_173264 - wire T_173276 : UInt<3>[3] - T_173276[0] := UInt<3>(0) - T_173276[1] := UInt<3>(1) - T_173276[2] := UInt<3>(2) - wire T_173277 : UInt<2>[2] - T_173277[0] := UInt<2>(0) - T_173277[1] := UInt<2>(1) - wire T_173278 : UInt<2>[3] - T_173278[0] := UInt<2>(1) - T_173278[1] := UInt<2>(2) - T_173278[2] := UInt<2>(3) - wire T_173279 : UInt<2>[2] - T_173279[0] := UInt<2>(2) - T_173279[1] := UInt<2>(3) - wire T_173280 : UInt<2>[1] - T_173280[0] := UInt<2>(3) - wire T_173281 : UInt<3>[3] - T_173281[0] := UInt<3>(0) - T_173281[1] := UInt<3>(1) - T_173281[2] := UInt<3>(2) - wire T_173282 : UInt<2>[2] - T_173282[0] := UInt<2>(0) - T_173282[1] := UInt<2>(1) - wire T_173283 : UInt<2>[3] - T_173283[0] := UInt<2>(1) - T_173283[1] := UInt<2>(2) - T_173283[2] := UInt<2>(3) - wire T_173284 : UInt<2>[2] - T_173284[0] := UInt<2>(2) - T_173284[1] := UInt<2>(3) - wire T_173285 : UInt<2>[1] - T_173285[0] := UInt<2>(3) - wire T_173286 : UInt<3>[3] - T_173286[0] := UInt<3>(0) - T_173286[1] := UInt<3>(1) - T_173286[2] := UInt<3>(2) - wire T_173287 : UInt<0>[1] - T_173287[0] := UInt<0>(0) - wire T_173288 : UInt<2>[2] - T_173288[0] := UInt<2>(1) - T_173288[1] := UInt<2>(2) - wire T_173289 : UInt<2>[2] - T_173289[0] := UInt<2>(1) - T_173289[1] := UInt<2>(2) - wire T_173290 : UInt<2>[1] - T_173290[0] := UInt<2>(2) - wire T_173291 : UInt<3>[3] - T_173291[0] := UInt<3>(0) - T_173291[1] := UInt<3>(1) - T_173291[2] := UInt<3>(2) - wire T_173292 : UInt<2>[2] - T_173292[0] := UInt<2>(0) - T_173292[1] := UInt<2>(1) - wire T_173293 : UInt<2>[3] - T_173293[0] := UInt<2>(1) - T_173293[1] := UInt<2>(2) - T_173293[2] := UInt<2>(3) - wire T_173294 : UInt<2>[2] - T_173294[0] := UInt<2>(2) - T_173294[1] := UInt<2>(3) - wire T_173295 : UInt<2>[1] - T_173295[0] := UInt<2>(3) - wire T_173296 : UInt<3>[3] - T_173296[0] := UInt<3>(0) - T_173296[1] := UInt<3>(1) - T_173296[2] := UInt<3>(2) - wire T_173297 : UInt<2>[2] - T_173297[0] := UInt<2>(0) - T_173297[1] := UInt<2>(1) - wire T_173298 : UInt<2>[3] - T_173298[0] := UInt<2>(1) - T_173298[1] := UInt<2>(2) - T_173298[2] := UInt<2>(3) - wire T_173299 : UInt<2>[2] - T_173299[0] := UInt<2>(2) - T_173299[1] := UInt<2>(3) - wire T_173300 : UInt<2>[1] - T_173300[0] := UInt<2>(3) - wire T_173301 : UInt<3>[3] - T_173301[0] := UInt<3>(0) - T_173301[1] := UInt<3>(1) - T_173301[2] := UInt<3>(2) - wire T_173302 : UInt<0>[1] - T_173302[0] := UInt<0>(0) - wire T_173303 : UInt<2>[2] - T_173303[0] := UInt<2>(1) - T_173303[1] := UInt<2>(2) - wire T_173304 : UInt<2>[2] - T_173304[0] := UInt<2>(1) - T_173304[1] := UInt<2>(2) - wire T_173305 : UInt<2>[1] - T_173305[0] := UInt<2>(2) - wire pending_coh_on_ognt : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}} - pending_coh_on_ognt.inner := T_173248 - pending_coh_on_ognt.outer := T_173275 - - - node T_173306 = eq(pending_coh.inner.sharers, pending_coh_on_ognt.inner.sharers) - node T_173307 = eq(pending_coh.outer.state, pending_coh_on_ognt.outer.state) - node T_173308 = and(T_173306, T_173307) - node T_173309 = eq(T_173308, UInt<1>(0)) - node T_173310 = and(ognt_data_done, T_173309) - when T_173310 : - pending_meta_write := UInt<1>(1) - pending_coh := pending_coh_on_ognt - - - node T_173311 = and(outer.grant.ready, outer.grant.valid) - wire T_173312 : UInt<3>[2] - T_173312[0] := UInt<3>(5) - T_173312[1] := UInt<3>(4) - node T_173313 = eq(T_173312[0], outer.grant.bits.g_type) - node T_173314 = eq(T_173312[1], outer.grant.bits.g_type) - node T_173315 = or(UInt<1>(0), T_173313) - node T_173316 = or(T_173315, T_173314) - node T_173317 = eq(T_172503[0], outer.grant.bits.g_type) - node T_173318 = or(UInt<1>(0), T_173317) - wire T_173319 : UInt<1> - T_173319 := T_173318 - when outer.grant.bits.is_builtin_type : T_173319 := T_173316 - node T_173320 = and(T_173311, T_173319) - when T_173320 : - accessor T_173321 = data_buffer[outer.grant.bits.addr_beat] - node T_173322 = bits(xact.union, 12, 9) - node T_173323 = bits(T_173322, 3, 3) - node T_173324 = mul(UInt<7>(64), T_173323) - node T_173325 = dshr(outer.grant.bits.data, T_173324) - amoalu.lhs := T_173325 - node T_173326 = bits(xact.union, 12, 9) - node T_173327 = bits(T_173326, 3, 3) - node T_173328 = mul(UInt<7>(64), T_173327) - node T_173329 = dshr(T_173321, T_173328) - amoalu.rhs := T_173329 - accessor T_173330 = wmask_buffer[outer.grant.bits.addr_beat] - node T_173331 = bit(T_173330, 0) - node T_173332 = bit(T_173330, 1) - node T_173333 = bit(T_173330, 2) - node T_173334 = bit(T_173330, 3) - node T_173335 = bit(T_173330, 4) - node T_173336 = bit(T_173330, 5) - node T_173337 = bit(T_173330, 6) - node T_173338 = bit(T_173330, 7) - node T_173339 = bit(T_173330, 8) - node T_173340 = bit(T_173330, 9) - node T_173341 = bit(T_173330, 10) - node T_173342 = bit(T_173330, 11) - node T_173343 = bit(T_173330, 12) - node T_173344 = bit(T_173330, 13) - node T_173345 = bit(T_173330, 14) - node T_173346 = bit(T_173330, 15) - wire T_173347 : UInt<1>[16] - T_173347[0] := T_173331 - T_173347[1] := T_173332 - T_173347[2] := T_173333 - T_173347[3] := T_173334 - T_173347[4] := T_173335 - T_173347[5] := T_173336 - T_173347[6] := T_173337 - T_173347[7] := T_173338 - T_173347[8] := T_173339 - T_173347[9] := T_173340 - T_173347[10] := T_173341 - T_173347[11] := T_173342 - T_173347[12] := T_173343 - T_173347[13] := T_173344 - T_173347[14] := T_173345 - T_173347[15] := T_173346 - node T_173348 = subw(UInt<8>(0), UInt<4>(8)) - node T_173349 = subw(UInt<8>(0), UInt<4>(8)) - node T_173350 = subw(UInt<8>(0), UInt<4>(8)) - node T_173351 = subw(UInt<8>(0), UInt<4>(8)) - node T_173352 = subw(UInt<8>(0), UInt<4>(8)) - node T_173353 = subw(UInt<8>(0), UInt<4>(8)) - node T_173354 = subw(UInt<8>(0), UInt<4>(8)) - node T_173355 = subw(UInt<8>(0), UInt<4>(8)) - node T_173356 = subw(UInt<8>(0), UInt<4>(8)) - node T_173357 = subw(UInt<8>(0), UInt<4>(8)) - node T_173358 = subw(UInt<8>(0), UInt<4>(8)) - node T_173359 = subw(UInt<8>(0), UInt<4>(8)) - node T_173360 = subw(UInt<8>(0), UInt<4>(8)) - node T_173361 = subw(UInt<8>(0), UInt<4>(8)) - node T_173362 = subw(UInt<8>(0), UInt<4>(8)) - node T_173363 = subw(UInt<8>(0), UInt<4>(8)) - wire T_173364 : UInt<8>[16] - T_173364[0] := T_173348 - T_173364[1] := T_173349 - T_173364[2] := T_173350 - T_173364[3] := T_173351 - T_173364[4] := T_173352 - T_173364[5] := T_173353 - T_173364[6] := T_173354 - T_173364[7] := T_173355 - T_173364[8] := T_173356 - T_173364[9] := T_173357 - T_173364[10] := T_173358 - T_173364[11] := T_173359 - T_173364[12] := T_173360 - T_173364[13] := T_173361 - T_173364[14] := T_173362 - T_173364[15] := T_173363 - node T_173365 = cat(T_173364[15], T_173364[14]) - node T_173366 = cat(T_173364[13], T_173364[12]) - node T_173367 = cat(T_173365, T_173366) - node T_173368 = cat(T_173364[11], T_173364[10]) - node T_173369 = cat(T_173364[9], T_173364[8]) - node T_173370 = cat(T_173368, T_173369) - node T_173371 = cat(T_173367, T_173370) - node T_173372 = cat(T_173364[7], T_173364[6]) - node T_173373 = cat(T_173364[5], T_173364[4]) - node T_173374 = cat(T_173372, T_173373) - node T_173375 = cat(T_173364[3], T_173364[2]) - node T_173376 = cat(T_173364[1], T_173364[0]) - node T_173377 = cat(T_173375, T_173376) - node T_173378 = cat(T_173374, T_173377) - node T_173379 = cat(T_173371, T_173378) - accessor T_173380 = data_buffer[outer.grant.bits.addr_beat] - node T_173381 = not(T_173379) - node T_173382 = and(T_173381, outer.grant.bits.data) - node T_173383 = eq(xact.a_type, UInt<3>(4)) - node T_173384 = and(xact.is_builtin_type, T_173383) - node T_173385 = bits(xact.union, 12, 9) - node T_173386 = bits(T_173385, 3, 3) - node T_173387 = mul(UInt<7>(64), T_173386) - node T_173388 = dshl(amoalu.out, T_173387) - wire T_173389 : UInt<128> - T_173389 := T_173321 - when T_173384 : T_173389 := T_173388 - node T_173390 = and(T_173379, T_173389) - node T_173391 = or(T_173382, T_173390) - T_173380 := T_173391 - accessor T_173392 = wmask_buffer[outer.grant.bits.addr_beat] - T_173392 := SInt<1>(-1) - - - node T_173393 = eq(xact.a_type, UInt<3>(4)) - node T_173394 = eq(xact.addr_beat, outer.grant.bits.addr_beat) - node T_173395 = and(T_173393, T_173394) - when T_173395 : xact.data := outer.grant.bits.data - node T_173396 = and(inner.release.ready, inner.release.valid) - node T_173397 = eq(T_172476[0], inner.release.bits.r_type) - node T_173398 = eq(T_172476[1], inner.release.bits.r_type) - node T_173399 = eq(T_172476[2], inner.release.bits.r_type) - node T_173400 = or(UInt<1>(0), T_173397) - node T_173401 = or(T_173400, T_173398) - node T_173402 = or(T_173401, T_173399) - node T_173403 = and(T_173396, T_173402) - node T_173404 = subw(UInt<4>(0), UInt<3>(4)) - node T_173405 = dshl(UInt<1>(1), inner.release.bits.addr_beat) - node T_173406 = and(T_173404, T_173405) - node T_173407 = or(pending_ignt_data, T_173406) - node T_173408 = and(outer.grant.ready, outer.grant.valid) - wire T_173409 : UInt<3>[2] - T_173409[0] := UInt<3>(5) - T_173409[1] := UInt<3>(4) - node T_173410 = eq(T_173409[0], outer.grant.bits.g_type) - node T_173411 = eq(T_173409[1], outer.grant.bits.g_type) - node T_173412 = or(UInt<1>(0), T_173410) - node T_173413 = or(T_173412, T_173411) - node T_173414 = eq(T_172503[0], outer.grant.bits.g_type) - node T_173415 = or(UInt<1>(0), T_173414) - wire T_173416 : UInt<1> - T_173416 := T_173415 - when outer.grant.bits.is_builtin_type : T_173416 := T_173413 - node T_173417 = and(T_173408, T_173416) - node T_173418 = subw(UInt<4>(0), UInt<3>(4)) - node T_173419 = dshl(UInt<1>(1), outer.grant.bits.addr_beat) - node T_173420 = and(T_173418, T_173419) - node T_173421 = or(T_173407, T_173420) - node T_173422 = subw(UInt<4>(0), UInt<3>(4)) - node T_173423 = dshl(UInt<1>(1), data.resp.bits.addr_beat) - node T_173424 = and(T_173422, T_173423) - node T_173425 = or(T_173421, T_173424) - pending_ignt_data := T_173425 - ignt_q.deq.ready := ignt_data_done - node T_173426 = eq(state, UInt<4>(7)) - node T_173427 = and(T_173426, ignt_q.deq.valid) - wire T_173428 : UInt<3>[2] - T_173428[0] := UInt<3>(5) - T_173428[1] := UInt<3>(4) - node T_173429 = eq(T_173428[0], inner.grant.bits.g_type) - node T_173430 = eq(T_173428[1], inner.grant.bits.g_type) - node T_173431 = or(UInt<1>(0), T_173429) - node T_173432 = or(T_173431, T_173430) - node T_173433 = eq(T_172447[0], inner.grant.bits.g_type) - node T_173434 = eq(T_172447[1], inner.grant.bits.g_type) - node T_173435 = or(UInt<1>(0), T_173433) - node T_173436 = or(T_173435, T_173434) - wire T_173437 : UInt<1> - T_173437 := T_173436 - when inner.grant.bits.is_builtin_type : T_173437 := T_173432 - node T_173438 = eq(T_173437, UInt<1>(0)) - node T_173439 = dshr(pending_ignt_data, ignt_data_idx) - node T_173440 = bit(T_173439, 0) - node T_173441 = or(T_173438, T_173440) - node T_173442 = and(T_173427, T_173441) - inner.grant.valid := T_173442 - node T_173443 = eq(xact.a_type, UInt<3>(4)) - accessor T_173444 = data_buffer[ignt_data_idx] - wire T_173445 : UInt<128> - T_173445 := T_173444 - when T_173443 : T_173445 := xact.data - node T_173446 = eq(UInt<3>(5), xact.a_type) - wire T_173447 : UInt<3> - T_173447 := UInt<3>(3) - when T_173446 : T_173447 := UInt<3>(1) - node T_173448 = eq(UInt<3>(4), xact.a_type) - wire T_173449 : UInt<3> - T_173449 := T_173447 - when T_173448 : T_173449 := UInt<3>(4) - node T_173450 = eq(UInt<3>(3), xact.a_type) - wire T_173451 : UInt<3> - T_173451 := T_173449 - when T_173450 : T_173451 := UInt<3>(3) - node T_173452 = eq(UInt<3>(2), xact.a_type) - wire T_173453 : UInt<3> - T_173453 := T_173451 - when T_173452 : T_173453 := UInt<3>(3) - node T_173454 = eq(UInt<3>(1), xact.a_type) - wire T_173455 : UInt<3> - T_173455 := T_173453 - when T_173454 : T_173455 := UInt<3>(5) - node T_173456 = eq(UInt<3>(0), xact.a_type) - wire T_173457 : UInt<3> - T_173457 := T_173455 - when T_173456 : T_173457 := UInt<3>(4) - node T_173458 = eq(xact.a_type, UInt<1>(0)) - node T_173459 = eq(pending_coh.inner.sharers, UInt<1>(0)) - node T_173460 = eq(T_173459, UInt<1>(0)) - wire T_173461 : UInt<2> - T_173461 := UInt<2>(1) - when T_173460 : T_173461 := UInt<2>(0) - wire T_173462 : UInt<2> - T_173462 := UInt<2>(1) - when T_173458 : T_173462 := T_173461 - wire T_173463 : UInt<2> - T_173463 := T_173462 - when xact.is_builtin_type : T_173463 := T_173457 - wire T_173464 : UInt<3>[3] - T_173464[0] := UInt<3>(0) - T_173464[1] := UInt<3>(1) - T_173464[2] := UInt<3>(2) - wire T_173465 : UInt<2>[2] - T_173465[0] := UInt<2>(0) - T_173465[1] := UInt<2>(1) - wire T_173466 : UInt<2>[3] - T_173466[0] := UInt<2>(1) - T_173466[1] := UInt<2>(2) - T_173466[2] := UInt<2>(3) - wire T_173467 : UInt<2>[2] - T_173467[0] := UInt<2>(2) - T_173467[1] := UInt<2>(3) - wire T_173468 : UInt<2>[1] - T_173468[0] := UInt<2>(3) - wire T_173469 : UInt<3>[3] - T_173469[0] := UInt<3>(0) - T_173469[1] := UInt<3>(1) - T_173469[2] := UInt<3>(2) - wire T_173470 : UInt<2>[2] - T_173470[0] := UInt<2>(0) - T_173470[1] := UInt<2>(1) - wire T_173471 : UInt<2>[3] - T_173471[0] := UInt<2>(1) - T_173471[1] := UInt<2>(2) - T_173471[2] := UInt<2>(3) - wire T_173472 : UInt<2>[2] - T_173472[0] := UInt<2>(2) - T_173472[1] := UInt<2>(3) - wire T_173473 : UInt<2>[1] - T_173473[0] := UInt<2>(3) - wire T_173474 : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>, client_id : UInt<2>} - T_173474.client_id := xact.client_id - T_173474.is_builtin_type := xact.is_builtin_type - T_173474.g_type := T_173463 - T_173474.client_xact_id := xact.client_xact_id - T_173474.manager_xact_id := UInt<1>(1) - T_173474.addr_beat := ignt_q.deq.bits.addr_beat - T_173474.data := T_173445 - T_173474.client_xact_id := ignt_q.deq.bits.client_xact_id - inner.grant.bits := T_173474 - inner.grant.bits.addr_beat := ignt_data_idx - node T_173475 = dshl(UInt<1>(1), inner.grant.bits.client_id) - node T_173476 = or(pending_coh.inner.sharers, T_173475) - wire T_173477 : UInt<5> - T_173477 := T_173476 - when inner.grant.bits.is_builtin_type : T_173477 := pending_coh.inner.sharers - wire T_173478 : UInt<3>[3] - T_173478[0] := UInt<3>(0) - T_173478[1] := UInt<3>(1) - T_173478[2] := UInt<3>(2) - wire T_173479 : UInt<2>[2] - T_173479[0] := UInt<2>(0) - T_173479[1] := UInt<2>(1) - wire T_173480 : UInt<2>[3] - T_173480[0] := UInt<2>(1) - T_173480[1] := UInt<2>(2) - T_173480[2] := UInt<2>(3) - wire T_173481 : UInt<2>[2] - T_173481[0] := UInt<2>(2) - T_173481[1] := UInt<2>(3) - wire T_173482 : UInt<2>[1] - T_173482[0] := UInt<2>(3) - wire T_173483 : UInt<3>[3] - T_173483[0] := UInt<3>(0) - T_173483[1] := UInt<3>(1) - T_173483[2] := UInt<3>(2) - wire T_173484 : UInt<2>[2] - T_173484[0] := UInt<2>(0) - T_173484[1] := UInt<2>(1) - wire T_173485 : UInt<2>[3] - T_173485[0] := UInt<2>(1) - T_173485[1] := UInt<2>(2) - T_173485[2] := UInt<2>(3) - wire T_173486 : UInt<2>[2] - T_173486[0] := UInt<2>(2) - T_173486[1] := UInt<2>(3) - wire T_173487 : UInt<2>[1] - T_173487[0] := UInt<2>(3) - wire T_173488 : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>} - T_173488.sharers := T_173477 - wire T_173489 : UInt<3>[3] - T_173489[0] := UInt<3>(0) - T_173489[1] := UInt<3>(1) - T_173489[2] := UInt<3>(2) - wire T_173490 : UInt<2>[2] - T_173490[0] := UInt<2>(0) - T_173490[1] := UInt<2>(1) - wire T_173491 : UInt<2>[3] - T_173491[0] := UInt<2>(1) - T_173491[1] := UInt<2>(2) - T_173491[2] := UInt<2>(3) - wire T_173492 : UInt<2>[2] - T_173492[0] := UInt<2>(2) - T_173492[1] := UInt<2>(3) - wire T_173493 : UInt<2>[1] - T_173493[0] := UInt<2>(3) - wire T_173494 : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>} - T_173494 := pending_coh.outer - when ognt_data_done : T_173494 := pending_coh_on_ognt.outer - wire T_173495 : UInt<3>[3] - T_173495[0] := UInt<3>(0) - T_173495[1] := UInt<3>(1) - T_173495[2] := UInt<3>(2) - wire T_173496 : UInt<2>[2] - T_173496[0] := UInt<2>(0) - T_173496[1] := UInt<2>(1) - wire T_173497 : UInt<2>[3] - T_173497[0] := UInt<2>(1) - T_173497[1] := UInt<2>(2) - T_173497[2] := UInt<2>(3) - wire T_173498 : UInt<2>[2] - T_173498[0] := UInt<2>(2) - T_173498[1] := UInt<2>(3) - wire T_173499 : UInt<2>[1] - T_173499[0] := UInt<2>(3) - wire T_173500 : UInt<3>[3] - T_173500[0] := UInt<3>(0) - T_173500[1] := UInt<3>(1) - T_173500[2] := UInt<3>(2) - wire T_173501 : UInt<2>[2] - T_173501[0] := UInt<2>(0) - T_173501[1] := UInt<2>(1) - wire T_173502 : UInt<2>[3] - T_173502[0] := UInt<2>(1) - T_173502[1] := UInt<2>(2) - T_173502[2] := UInt<2>(3) - wire T_173503 : UInt<2>[2] - T_173503[0] := UInt<2>(2) - T_173503[1] := UInt<2>(3) - wire T_173504 : UInt<2>[1] - T_173504[0] := UInt<2>(3) - wire T_173505 : UInt<3>[3] - T_173505[0] := UInt<3>(0) - T_173505[1] := UInt<3>(1) - T_173505[2] := UInt<3>(2) - wire T_173506 : UInt<0>[1] - T_173506[0] := UInt<0>(0) - wire T_173507 : UInt<2>[2] - T_173507[0] := UInt<2>(1) - T_173507[1] := UInt<2>(2) - wire T_173508 : UInt<2>[2] - T_173508[0] := UInt<2>(1) - T_173508[1] := UInt<2>(2) - wire T_173509 : UInt<2>[1] - T_173509[0] := UInt<2>(2) - wire T_173510 : UInt<3>[3] - T_173510[0] := UInt<3>(0) - T_173510[1] := UInt<3>(1) - T_173510[2] := UInt<3>(2) - wire T_173511 : UInt<2>[2] - T_173511[0] := UInt<2>(0) - T_173511[1] := UInt<2>(1) - wire T_173512 : UInt<2>[3] - T_173512[0] := UInt<2>(1) - T_173512[1] := UInt<2>(2) - T_173512[2] := UInt<2>(3) - wire T_173513 : UInt<2>[2] - T_173513[0] := UInt<2>(2) - T_173513[1] := UInt<2>(3) - wire T_173514 : UInt<2>[1] - T_173514[0] := UInt<2>(3) - wire T_173515 : UInt<3>[3] - T_173515[0] := UInt<3>(0) - T_173515[1] := UInt<3>(1) - T_173515[2] := UInt<3>(2) - wire T_173516 : UInt<2>[2] - T_173516[0] := UInt<2>(0) - T_173516[1] := UInt<2>(1) - wire T_173517 : UInt<2>[3] - T_173517[0] := UInt<2>(1) - T_173517[1] := UInt<2>(2) - T_173517[2] := UInt<2>(3) - wire T_173518 : UInt<2>[2] - T_173518[0] := UInt<2>(2) - T_173518[1] := UInt<2>(3) - wire T_173519 : UInt<2>[1] - T_173519[0] := UInt<2>(3) - wire T_173520 : UInt<3>[3] - T_173520[0] := UInt<3>(0) - T_173520[1] := UInt<3>(1) - T_173520[2] := UInt<3>(2) - wire T_173521 : UInt<0>[1] - T_173521[0] := UInt<0>(0) - wire T_173522 : UInt<2>[2] - T_173522[0] := UInt<2>(1) - T_173522[1] := UInt<2>(2) - wire T_173523 : UInt<2>[2] - T_173523[0] := UInt<2>(1) - T_173523[1] := UInt<2>(2) - wire T_173524 : UInt<2>[1] - T_173524[0] := UInt<2>(2) - wire pending_coh_on_ignt : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}} - pending_coh_on_ignt.inner := T_173488 - pending_coh_on_ignt.outer := T_173494 - node T_173525 = and(inner.grant.ready, inner.grant.valid) - - - node T_173526 = eq(pending_coh.inner.sharers, pending_coh_on_ignt.inner.sharers) - node T_173527 = eq(pending_coh.outer.state, pending_coh_on_ignt.outer.state) - node T_173528 = and(T_173526, T_173527) - node T_173529 = eq(T_173528, UInt<1>(0)) - node T_173530 = and(T_173525, T_173529) - when T_173530 : - pending_meta_write := UInt<1>(1) - pending_coh := pending_coh_on_ignt - node T_173531 = eq(state, UInt<4>(7)) - inner.finish.ready := T_173531 - node T_173532 = and(data.read.ready, data.read.valid) - node T_173533 = subw(UInt<4>(0), UInt<3>(4)) - node T_173534 = not(T_173533) - node T_173535 = dshl(UInt<1>(1), data.read.bits.addr_beat) - node T_173536 = not(T_173535) - node T_173537 = or(T_173534, T_173536) - node T_173538 = and(pending_reads, T_173537) - node T_173539 = and(inner.release.ready, inner.release.valid) - node T_173540 = eq(T_172476[0], inner.release.bits.r_type) - node T_173541 = eq(T_172476[1], inner.release.bits.r_type) - node T_173542 = eq(T_172476[2], inner.release.bits.r_type) - node T_173543 = or(UInt<1>(0), T_173540) - node T_173544 = or(T_173543, T_173541) - node T_173545 = or(T_173544, T_173542) - node T_173546 = and(T_173539, T_173545) - node T_173547 = subw(UInt<4>(0), UInt<3>(4)) - node T_173548 = not(T_173547) - node T_173549 = dshl(UInt<1>(1), inner.release.bits.addr_beat) - node T_173550 = not(T_173549) - node T_173551 = or(T_173548, T_173550) - node T_173552 = and(T_173538, T_173551) - node T_173553 = and(outer.grant.ready, outer.grant.valid) - wire T_173554 : UInt<3>[2] - T_173554[0] := UInt<3>(5) - T_173554[1] := UInt<3>(4) - node T_173555 = eq(T_173554[0], outer.grant.bits.g_type) - node T_173556 = eq(T_173554[1], outer.grant.bits.g_type) - node T_173557 = or(UInt<1>(0), T_173555) - node T_173558 = or(T_173557, T_173556) - node T_173559 = eq(T_172503[0], outer.grant.bits.g_type) - node T_173560 = or(UInt<1>(0), T_173559) - wire T_173561 : UInt<1> - T_173561 := T_173560 - when outer.grant.bits.is_builtin_type : T_173561 := T_173558 - node T_173562 = and(T_173553, T_173561) - node T_173563 = subw(UInt<4>(0), UInt<3>(4)) - node T_173564 = not(T_173563) - node T_173565 = dshl(UInt<1>(1), outer.grant.bits.addr_beat) - node T_173566 = not(T_173565) - node T_173567 = or(T_173564, T_173566) - node T_173568 = and(T_173552, T_173567) - wire T_173569 : UInt<3>[3] - T_173569[0] := UInt<3>(0) - T_173569[1] := UInt<3>(1) - T_173569[2] := UInt<3>(4) - node T_173570 = eq(T_173569[0], inner.acquire.bits.a_type) - node T_173571 = eq(T_173569[1], inner.acquire.bits.a_type) - node T_173572 = eq(T_173569[2], inner.acquire.bits.a_type) - node T_173573 = or(UInt<1>(0), T_173570) - node T_173574 = or(T_173573, T_173571) - node T_173575 = or(T_173574, T_173572) - node T_173576 = and(inner.acquire.bits.is_builtin_type, T_173575) - node T_173577 = and(inner.acquire.ready, inner.acquire.valid) - node T_173578 = and(T_173577, T_173576) - node T_173579 = subw(UInt<4>(0), UInt<3>(4)) - node T_173580 = dshl(UInt<1>(1), inner.acquire.bits.addr_beat) - node T_173581 = and(T_173579, T_173580) - node T_173582 = or(T_173568, T_173581) - node T_173583 = eq(inner.acquire.bits.a_type, UInt<3>(4)) - node T_173584 = and(inner.acquire.bits.is_builtin_type, T_173583) - node T_173585 = bits(inner.acquire.bits.union, 12, 9) - node T_173586 = bits(T_173585, 3, 3) - node T_173587 = dshl(UInt<1>(1), T_173586) - node T_173588 = bit(T_173587, 0) - node T_173589 = bit(T_173587, 1) - node T_173590 = bit(T_173587, 2) - wire T_173591 : UInt<1>[3] - T_173591[0] := T_173588 - T_173591[1] := T_173589 - T_173591[2] := T_173590 - node T_173592 = subw(UInt<8>(0), UInt<4>(8)) - node T_173593 = subw(UInt<8>(0), UInt<4>(8)) - node T_173594 = subw(UInt<8>(0), UInt<4>(8)) - wire T_173595 : UInt<8>[3] - T_173595[0] := T_173592 - T_173595[1] := T_173593 - T_173595[2] := T_173594 - node T_173596 = cat(T_173595[1], T_173595[0]) - node T_173597 = cat(T_173595[2], T_173596) - node T_173598 = eq(inner.acquire.bits.a_type, UInt<3>(3)) - node T_173599 = and(inner.acquire.bits.is_builtin_type, T_173598) - node T_173600 = eq(inner.acquire.bits.a_type, UInt<3>(2)) - node T_173601 = and(inner.acquire.bits.is_builtin_type, T_173600) - node T_173602 = or(T_173599, T_173601) - node T_173603 = bits(inner.acquire.bits.union, 16, 1) - wire T_173604 : UInt<16> - T_173604 := UInt<16>(0) - when T_173602 : T_173604 := T_173603 - wire T_173605 : UInt<16> - T_173605 := T_173604 - when T_173584 : T_173605 := T_173597 - wire T_173606 : UInt<3>[3] - T_173606[0] := UInt<3>(0) - T_173606[1] := UInt<3>(1) - T_173606[2] := UInt<3>(2) - wire T_173607 : UInt<2>[2] - T_173607[0] := UInt<2>(0) - T_173607[1] := UInt<2>(1) - wire T_173608 : UInt<2>[3] - T_173608[0] := UInt<2>(1) - T_173608[1] := UInt<2>(2) - T_173608[2] := UInt<2>(3) - wire T_173609 : UInt<2>[2] - T_173609[0] := UInt<2>(2) - T_173609[1] := UInt<2>(3) - wire T_173610 : UInt<2>[1] - T_173610[0] := UInt<2>(3) - node T_173611 = asUInt(SInt<16>(-1)) - node T_173612 = neq(T_173605, T_173611) - node T_173613 = and(inner.acquire.ready, inner.acquire.valid) - node T_173614 = and(T_173613, T_173612) - node T_173615 = and(T_173614, UInt<1>(0)) - node T_173616 = subw(UInt<4>(0), UInt<3>(4)) - node T_173617 = dshl(UInt<1>(1), inner.acquire.bits.addr_beat) - node T_173618 = and(T_173616, T_173617) - node T_173619 = or(T_173582, T_173618) - pending_reads := T_173619 - node T_173620 = bit(pending_reads, 0) - node T_173621 = bit(pending_reads, 1) - node T_173622 = bit(pending_reads, 2) - node T_173623 = bit(pending_reads, 3) - wire T_173624 : UInt<1>[4] - T_173624[0] := T_173620 - T_173624[1] := T_173621 - T_173624[2] := T_173622 - T_173624[3] := T_173623 - wire T_173625 : UInt<2> - T_173625 := UInt<2>(3) - when T_173624[2] : T_173625 := UInt<2>(2) - wire T_173626 : UInt<2> - T_173626 := T_173625 - when T_173624[1] : T_173626 := UInt<1>(1) - wire curr_read_beat : UInt<2> - curr_read_beat := T_173626 - when T_173624[0] : curr_read_beat := UInt<1>(0) - node T_173627 = eq(state, UInt<4>(7)) - node T_173628 = eq(pending_reads, UInt<1>(0)) - node T_173629 = eq(T_173628, UInt<1>(0)) - node T_173630 = and(T_173627, T_173629) - node T_173631 = eq(pending_ognt, UInt<1>(0)) - node T_173632 = and(T_173630, T_173631) - data.read.valid := T_173632 - data.read.bits.id := UInt<1>(1) - data.read.bits.way_en := xact_way_en - node T_173633 = bits(xact.addr_block, 11, 0) - data.read.bits.addr_idx := T_173633 - data.read.bits.addr_beat := curr_read_beat - node T_173634 = subw(UInt<4>(0), UInt<3>(4)) - node T_173635 = not(T_173634) - node T_173636 = dshl(UInt<1>(1), data.resp.bits.addr_beat) - node T_173637 = not(T_173636) - node T_173638 = or(T_173635, T_173637) - node T_173639 = and(pending_resps, T_173638) - node T_173640 = and(data.read.ready, data.read.valid) - node T_173641 = subw(UInt<4>(0), UInt<3>(4)) - node T_173642 = dshl(UInt<1>(1), data.read.bits.addr_beat) - node T_173643 = and(T_173641, T_173642) - node T_173644 = or(T_173639, T_173643) - pending_resps := T_173644 - when data.resp.valid : - accessor T_173645 = data_buffer[data.resp.bits.addr_beat] - node T_173646 = bits(xact.union, 12, 9) - node T_173647 = bits(T_173646, 3, 3) - node T_173648 = mul(UInt<7>(64), T_173647) - node T_173649 = dshr(data.resp.bits.data, T_173648) - amoalu.lhs := T_173649 - node T_173650 = bits(xact.union, 12, 9) - node T_173651 = bits(T_173650, 3, 3) - node T_173652 = mul(UInt<7>(64), T_173651) - node T_173653 = dshr(T_173645, T_173652) - amoalu.rhs := T_173653 - accessor T_173654 = wmask_buffer[data.resp.bits.addr_beat] - node T_173655 = bit(T_173654, 0) - node T_173656 = bit(T_173654, 1) - node T_173657 = bit(T_173654, 2) - node T_173658 = bit(T_173654, 3) - node T_173659 = bit(T_173654, 4) - node T_173660 = bit(T_173654, 5) - node T_173661 = bit(T_173654, 6) - node T_173662 = bit(T_173654, 7) - node T_173663 = bit(T_173654, 8) - node T_173664 = bit(T_173654, 9) - node T_173665 = bit(T_173654, 10) - node T_173666 = bit(T_173654, 11) - node T_173667 = bit(T_173654, 12) - node T_173668 = bit(T_173654, 13) - node T_173669 = bit(T_173654, 14) - node T_173670 = bit(T_173654, 15) - wire T_173671 : UInt<1>[16] - T_173671[0] := T_173655 - T_173671[1] := T_173656 - T_173671[2] := T_173657 - T_173671[3] := T_173658 - T_173671[4] := T_173659 - T_173671[5] := T_173660 - T_173671[6] := T_173661 - T_173671[7] := T_173662 - T_173671[8] := T_173663 - T_173671[9] := T_173664 - T_173671[10] := T_173665 - T_173671[11] := T_173666 - T_173671[12] := T_173667 - T_173671[13] := T_173668 - T_173671[14] := T_173669 - T_173671[15] := T_173670 - node T_173672 = subw(UInt<8>(0), UInt<4>(8)) - node T_173673 = subw(UInt<8>(0), UInt<4>(8)) - node T_173674 = subw(UInt<8>(0), UInt<4>(8)) - node T_173675 = subw(UInt<8>(0), UInt<4>(8)) - node T_173676 = subw(UInt<8>(0), UInt<4>(8)) - node T_173677 = subw(UInt<8>(0), UInt<4>(8)) - node T_173678 = subw(UInt<8>(0), UInt<4>(8)) - node T_173679 = subw(UInt<8>(0), UInt<4>(8)) - node T_173680 = subw(UInt<8>(0), UInt<4>(8)) - node T_173681 = subw(UInt<8>(0), UInt<4>(8)) - node T_173682 = subw(UInt<8>(0), UInt<4>(8)) - node T_173683 = subw(UInt<8>(0), UInt<4>(8)) - node T_173684 = subw(UInt<8>(0), UInt<4>(8)) - node T_173685 = subw(UInt<8>(0), UInt<4>(8)) - node T_173686 = subw(UInt<8>(0), UInt<4>(8)) - node T_173687 = subw(UInt<8>(0), UInt<4>(8)) - wire T_173688 : UInt<8>[16] - T_173688[0] := T_173672 - T_173688[1] := T_173673 - T_173688[2] := T_173674 - T_173688[3] := T_173675 - T_173688[4] := T_173676 - T_173688[5] := T_173677 - T_173688[6] := T_173678 - T_173688[7] := T_173679 - T_173688[8] := T_173680 - T_173688[9] := T_173681 - T_173688[10] := T_173682 - T_173688[11] := T_173683 - T_173688[12] := T_173684 - T_173688[13] := T_173685 - T_173688[14] := T_173686 - T_173688[15] := T_173687 - node T_173689 = cat(T_173688[15], T_173688[14]) - node T_173690 = cat(T_173688[13], T_173688[12]) - node T_173691 = cat(T_173689, T_173690) - node T_173692 = cat(T_173688[11], T_173688[10]) - node T_173693 = cat(T_173688[9], T_173688[8]) - node T_173694 = cat(T_173692, T_173693) - node T_173695 = cat(T_173691, T_173694) - node T_173696 = cat(T_173688[7], T_173688[6]) - node T_173697 = cat(T_173688[5], T_173688[4]) - node T_173698 = cat(T_173696, T_173697) - node T_173699 = cat(T_173688[3], T_173688[2]) - node T_173700 = cat(T_173688[1], T_173688[0]) - node T_173701 = cat(T_173699, T_173700) - node T_173702 = cat(T_173698, T_173701) - node T_173703 = cat(T_173695, T_173702) - accessor T_173704 = data_buffer[data.resp.bits.addr_beat] - node T_173705 = not(T_173703) - node T_173706 = and(T_173705, data.resp.bits.data) - node T_173707 = eq(xact.a_type, UInt<3>(4)) - node T_173708 = and(xact.is_builtin_type, T_173707) - node T_173709 = bits(xact.union, 12, 9) - node T_173710 = bits(T_173709, 3, 3) - node T_173711 = mul(UInt<7>(64), T_173710) - node T_173712 = dshl(amoalu.out, T_173711) - wire T_173713 : UInt<128> - T_173713 := T_173645 - when T_173708 : T_173713 := T_173712 - node T_173714 = and(T_173703, T_173713) - node T_173715 = or(T_173706, T_173714) - T_173704 := T_173715 - accessor T_173716 = wmask_buffer[data.resp.bits.addr_beat] - T_173716 := SInt<1>(-1) - - - node T_173717 = eq(xact.a_type, UInt<3>(4)) - node T_173718 = eq(xact.addr_beat, data.resp.bits.addr_beat) - node T_173719 = and(T_173717, T_173718) - when T_173719 : xact.data := data.resp.bits.data - node T_173720 = and(data.write.ready, data.write.valid) - node T_173721 = subw(UInt<4>(0), UInt<3>(4)) - node T_173722 = not(T_173721) - node T_173723 = dshl(UInt<1>(1), data.write.bits.addr_beat) - node T_173724 = not(T_173723) - node T_173725 = or(T_173722, T_173724) - node T_173726 = and(pending_writes, T_173725) - node T_173727 = and(inner.acquire.ready, inner.acquire.valid) - wire T_173728 : UInt<3>[3] - T_173728[0] := UInt<3>(2) - T_173728[1] := UInt<3>(3) - T_173728[2] := UInt<3>(4) - node T_173729 = eq(T_173728[0], inner.acquire.bits.a_type) - node T_173730 = eq(T_173728[1], inner.acquire.bits.a_type) - node T_173731 = eq(T_173728[2], inner.acquire.bits.a_type) - node T_173732 = or(UInt<1>(0), T_173729) - node T_173733 = or(T_173732, T_173730) - node T_173734 = or(T_173733, T_173731) - node T_173735 = and(inner.acquire.bits.is_builtin_type, T_173734) - node T_173736 = and(T_173727, T_173735) - node T_173737 = bit(inner.acquire.bits.union, 0) - node T_173738 = and(T_173736, T_173737) - node T_173739 = subw(UInt<4>(0), UInt<3>(4)) - node T_173740 = dshl(UInt<1>(1), inner.acquire.bits.addr_beat) - node T_173741 = and(T_173739, T_173740) - node T_173742 = or(T_173726, T_173741) - node T_173743 = and(inner.release.ready, inner.release.valid) - node T_173744 = eq(T_172476[0], inner.release.bits.r_type) - node T_173745 = eq(T_172476[1], inner.release.bits.r_type) - node T_173746 = eq(T_172476[2], inner.release.bits.r_type) - node T_173747 = or(UInt<1>(0), T_173744) - node T_173748 = or(T_173747, T_173745) - node T_173749 = or(T_173748, T_173746) - node T_173750 = and(T_173743, T_173749) - node T_173751 = subw(UInt<4>(0), UInt<3>(4)) - node T_173752 = dshl(UInt<1>(1), inner.release.bits.addr_beat) - node T_173753 = and(T_173751, T_173752) - node T_173754 = or(T_173742, T_173753) - node T_173755 = and(outer.grant.ready, outer.grant.valid) - wire T_173756 : UInt<3>[2] - T_173756[0] := UInt<3>(5) - T_173756[1] := UInt<3>(4) - node T_173757 = eq(T_173756[0], outer.grant.bits.g_type) - node T_173758 = eq(T_173756[1], outer.grant.bits.g_type) - node T_173759 = or(UInt<1>(0), T_173757) - node T_173760 = or(T_173759, T_173758) - node T_173761 = eq(T_172503[0], outer.grant.bits.g_type) - node T_173762 = or(UInt<1>(0), T_173761) - wire T_173763 : UInt<1> - T_173763 := T_173762 - when outer.grant.bits.is_builtin_type : T_173763 := T_173760 - node T_173764 = and(T_173755, T_173763) - node T_173765 = subw(UInt<4>(0), UInt<3>(4)) - node T_173766 = dshl(UInt<1>(1), outer.grant.bits.addr_beat) - node T_173767 = and(T_173765, T_173766) - node T_173768 = or(T_173754, T_173767) - pending_writes := T_173768 - node T_173769 = bit(pending_writes, 0) - node T_173770 = bit(pending_writes, 1) - node T_173771 = bit(pending_writes, 2) - node T_173772 = bit(pending_writes, 3) - wire T_173773 : UInt<1>[4] - T_173773[0] := T_173769 - T_173773[1] := T_173770 - T_173773[2] := T_173771 - T_173773[3] := T_173772 - wire T_173774 : UInt<2> - T_173774 := UInt<2>(3) - when T_173773[2] : T_173774 := UInt<2>(2) - wire T_173775 : UInt<2> - T_173775 := T_173774 - when T_173773[1] : T_173775 := UInt<1>(1) - wire curr_write_beat : UInt<2> - curr_write_beat := T_173775 - when T_173773[0] : curr_write_beat := UInt<1>(0) - node T_173776 = eq(state, UInt<4>(7)) - node T_173777 = eq(pending_writes, UInt<1>(0)) - node T_173778 = eq(T_173777, UInt<1>(0)) - node T_173779 = and(T_173776, T_173778) - node T_173780 = eq(pending_ognt, UInt<1>(0)) - node T_173781 = and(T_173779, T_173780) - node T_173782 = dshr(pending_reads, curr_write_beat) - node T_173783 = bit(T_173782, 0) - node T_173784 = eq(T_173783, UInt<1>(0)) - node T_173785 = and(T_173781, T_173784) - node T_173786 = dshr(pending_resps, curr_write_beat) - node T_173787 = bit(T_173786, 0) - node T_173788 = eq(T_173787, UInt<1>(0)) - node T_173789 = and(T_173785, T_173788) - data.write.valid := T_173789 - data.write.bits.id := UInt<1>(1) - data.write.bits.way_en := xact_way_en - node T_173790 = bits(xact.addr_block, 11, 0) - data.write.bits.addr_idx := T_173790 - data.write.bits.addr_beat := curr_write_beat - accessor T_173791 = wmask_buffer[curr_write_beat] - data.write.bits.wmask := T_173791 - accessor T_173792 = data_buffer[curr_write_beat] - data.write.bits.data := T_173792 - node T_173793 = eq(state, UInt<4>(8)) - meta.write.valid := T_173793 - meta.write.bits.id := UInt<1>(1) - node T_173794 = bits(xact.addr_block, 11, 0) - meta.write.bits.idx := T_173794 - meta.write.bits.way_en := xact_way_en - node T_173795 = dshr(xact.addr_block, UInt<4>(12)) - meta.write.bits.data.tag := T_173795 - meta.write.bits.data.coh := pending_coh - - - node T_173796 = and(inner.acquire.ready, inner.acquire.valid) - wire T_173797 : UInt<3>[3] - T_173797[0] := UInt<3>(2) - T_173797[1] := UInt<3>(3) - T_173797[2] := UInt<3>(4) - node T_173798 = eq(T_173797[0], inner.acquire.bits.a_type) - node T_173799 = eq(T_173797[1], inner.acquire.bits.a_type) - node T_173800 = eq(T_173797[2], inner.acquire.bits.a_type) - node T_173801 = or(UInt<1>(0), T_173798) - node T_173802 = or(T_173801, T_173799) - node T_173803 = or(T_173802, T_173800) - node T_173804 = and(inner.acquire.bits.is_builtin_type, T_173803) - node T_173805 = and(T_173796, T_173804) - when T_173805 : - node T_173806 = eq(inner.acquire.bits.a_type, UInt<3>(4)) - node T_173807 = and(inner.acquire.bits.is_builtin_type, T_173806) - node T_173808 = bits(inner.acquire.bits.union, 12, 9) - node T_173809 = bits(T_173808, 3, 3) - node T_173810 = dshl(UInt<1>(1), T_173809) - node T_173811 = bit(T_173810, 0) - node T_173812 = bit(T_173810, 1) - node T_173813 = bit(T_173810, 2) - wire T_173814 : UInt<1>[3] - T_173814[0] := T_173811 - T_173814[1] := T_173812 - T_173814[2] := T_173813 - node T_173815 = subw(UInt<8>(0), UInt<4>(8)) - node T_173816 = subw(UInt<8>(0), UInt<4>(8)) - node T_173817 = subw(UInt<8>(0), UInt<4>(8)) - wire T_173818 : UInt<8>[3] - T_173818[0] := T_173815 - T_173818[1] := T_173816 - T_173818[2] := T_173817 - node T_173819 = cat(T_173818[1], T_173818[0]) - node T_173820 = cat(T_173818[2], T_173819) - node T_173821 = eq(inner.acquire.bits.a_type, UInt<3>(3)) - node T_173822 = and(inner.acquire.bits.is_builtin_type, T_173821) - node T_173823 = eq(inner.acquire.bits.a_type, UInt<3>(2)) - node T_173824 = and(inner.acquire.bits.is_builtin_type, T_173823) - node T_173825 = or(T_173822, T_173824) - node T_173826 = bits(inner.acquire.bits.union, 16, 1) - wire T_173827 : UInt<16> - T_173827 := UInt<16>(0) - when T_173825 : T_173827 := T_173826 - wire T_173828 : UInt<16> - T_173828 := T_173827 - when T_173807 : T_173828 := T_173820 - node T_173829 = bit(T_173828, 0) - node T_173830 = bit(T_173828, 1) - node T_173831 = bit(T_173828, 2) - node T_173832 = bit(T_173828, 3) - node T_173833 = bit(T_173828, 4) - node T_173834 = bit(T_173828, 5) - node T_173835 = bit(T_173828, 6) - node T_173836 = bit(T_173828, 7) - node T_173837 = bit(T_173828, 8) - node T_173838 = bit(T_173828, 9) - node T_173839 = bit(T_173828, 10) - node T_173840 = bit(T_173828, 11) - node T_173841 = bit(T_173828, 12) - node T_173842 = bit(T_173828, 13) - node T_173843 = bit(T_173828, 14) - node T_173844 = bit(T_173828, 15) - wire T_173845 : UInt<1>[16] - T_173845[0] := T_173829 - T_173845[1] := T_173830 - T_173845[2] := T_173831 - T_173845[3] := T_173832 - T_173845[4] := T_173833 - T_173845[5] := T_173834 - T_173845[6] := T_173835 - T_173845[7] := T_173836 - T_173845[8] := T_173837 - T_173845[9] := T_173838 - T_173845[10] := T_173839 - T_173845[11] := T_173840 - T_173845[12] := T_173841 - T_173845[13] := T_173842 - T_173845[14] := T_173843 - T_173845[15] := T_173844 - node T_173846 = subw(UInt<8>(0), UInt<4>(8)) - node T_173847 = subw(UInt<8>(0), UInt<4>(8)) - node T_173848 = subw(UInt<8>(0), UInt<4>(8)) - node T_173849 = subw(UInt<8>(0), UInt<4>(8)) - node T_173850 = subw(UInt<8>(0), UInt<4>(8)) - node T_173851 = subw(UInt<8>(0), UInt<4>(8)) - node T_173852 = subw(UInt<8>(0), UInt<4>(8)) - node T_173853 = subw(UInt<8>(0), UInt<4>(8)) - node T_173854 = subw(UInt<8>(0), UInt<4>(8)) - node T_173855 = subw(UInt<8>(0), UInt<4>(8)) - node T_173856 = subw(UInt<8>(0), UInt<4>(8)) - node T_173857 = subw(UInt<8>(0), UInt<4>(8)) - node T_173858 = subw(UInt<8>(0), UInt<4>(8)) - node T_173859 = subw(UInt<8>(0), UInt<4>(8)) - node T_173860 = subw(UInt<8>(0), UInt<4>(8)) - node T_173861 = subw(UInt<8>(0), UInt<4>(8)) - wire T_173862 : UInt<8>[16] - T_173862[0] := T_173846 - T_173862[1] := T_173847 - T_173862[2] := T_173848 - T_173862[3] := T_173849 - T_173862[4] := T_173850 - T_173862[5] := T_173851 - T_173862[6] := T_173852 - T_173862[7] := T_173853 - T_173862[8] := T_173854 - T_173862[9] := T_173855 - T_173862[10] := T_173856 - T_173862[11] := T_173857 - T_173862[12] := T_173858 - T_173862[13] := T_173859 - T_173862[14] := T_173860 - T_173862[15] := T_173861 - node T_173863 = cat(T_173862[15], T_173862[14]) - node T_173864 = cat(T_173862[13], T_173862[12]) - node T_173865 = cat(T_173863, T_173864) - node T_173866 = cat(T_173862[11], T_173862[10]) - node T_173867 = cat(T_173862[9], T_173862[8]) - node T_173868 = cat(T_173866, T_173867) - node T_173869 = cat(T_173865, T_173868) - node T_173870 = cat(T_173862[7], T_173862[6]) - node T_173871 = cat(T_173862[5], T_173862[4]) - node T_173872 = cat(T_173870, T_173871) - node T_173873 = cat(T_173862[3], T_173862[2]) - node T_173874 = cat(T_173862[1], T_173862[0]) - node T_173875 = cat(T_173873, T_173874) - node T_173876 = cat(T_173872, T_173875) - node T_173877 = cat(T_173869, T_173876) - accessor T_173878 = data_buffer[inner.acquire.bits.addr_beat] - node T_173879 = not(T_173877) - accessor T_173880 = data_buffer[inner.acquire.bits.addr_beat] - node T_173881 = and(T_173879, T_173880) - node T_173882 = and(T_173877, inner.acquire.bits.data) - node T_173883 = or(T_173881, T_173882) - T_173878 := T_173883 - accessor T_173884 = wmask_buffer[inner.acquire.bits.addr_beat] - node T_173885 = eq(state, UInt<4>(0)) - accessor T_173886 = wmask_buffer[inner.acquire.bits.addr_beat] - wire T_173887 : UInt<16> - T_173887 := T_173886 - when T_173885 : T_173887 := UInt<1>(0) - node T_173888 = or(T_173828, T_173887) - T_173884 := T_173888 - node T_173889 = eq(xact.a_type, UInt<3>(2)) - node T_173890 = and(xact.is_builtin_type, T_173889) - node T_173891 = eq(xact.a_type, UInt<3>(3)) - node T_173892 = and(xact.is_builtin_type, T_173891) - node T_173893 = or(T_173890, T_173892) - node T_173894 = bits(xact.union, 5, 1) - wire T_173895 : UInt<5> - T_173895 := T_173894 - when T_173893 : T_173895 := UInt<5>(1) - node T_173896 = eq(T_173895, UInt<5>(1)) - node T_173897 = eq(T_173895, UInt<5>(7)) - node T_173898 = or(T_173896, T_173897) - node T_173899 = bit(T_173895, 3) - node T_173900 = eq(T_173895, UInt<5>(4)) - node T_173901 = or(T_173899, T_173900) - node T_173902 = or(T_173898, T_173901) - wire T_173903 : UInt<2> - T_173903 := meta.resp.bits.meta.coh.outer.state - when T_173902 : T_173903 := UInt<2>(2) - wire T_173904 : UInt<3>[3] - T_173904[0] := UInt<3>(0) - T_173904[1] := UInt<3>(1) - T_173904[2] := UInt<3>(2) - wire T_173905 : UInt<0>[1] - T_173905[0] := UInt<0>(0) - wire T_173906 : UInt<2>[2] - T_173906[0] := UInt<2>(1) - T_173906[1] := UInt<2>(2) - wire T_173907 : UInt<2>[2] - T_173907[0] := UInt<2>(1) - T_173907[1] := UInt<2>(2) - wire T_173908 : UInt<2>[1] - T_173908[0] := UInt<2>(2) - wire T_173909 : UInt<3>[3] - T_173909[0] := UInt<3>(0) - T_173909[1] := UInt<3>(1) - T_173909[2] := UInt<3>(2) - wire T_173910 : UInt<0>[1] - T_173910[0] := UInt<0>(0) - wire T_173911 : UInt<2>[2] - T_173911[0] := UInt<2>(1) - T_173911[1] := UInt<2>(2) - wire T_173912 : UInt<2>[2] - T_173912[0] := UInt<2>(1) - T_173912[1] := UInt<2>(2) - wire T_173913 : UInt<2>[1] - T_173913[0] := UInt<2>(2) - wire T_173914 : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>} - T_173914.state := T_173903 - wire T_173915 : UInt<3>[3] - T_173915[0] := UInt<3>(0) - T_173915[1] := UInt<3>(1) - T_173915[2] := UInt<3>(2) - wire T_173916 : UInt<2>[2] - T_173916[0] := UInt<2>(0) - T_173916[1] := UInt<2>(1) - wire T_173917 : UInt<2>[3] - T_173917[0] := UInt<2>(1) - T_173917[1] := UInt<2>(2) - T_173917[2] := UInt<2>(3) - wire T_173918 : UInt<2>[2] - T_173918[0] := UInt<2>(2) - T_173918[1] := UInt<2>(3) - wire T_173919 : UInt<2>[1] - T_173919[0] := UInt<2>(3) - wire T_173920 : UInt<3>[3] - T_173920[0] := UInt<3>(0) - T_173920[1] := UInt<3>(1) - T_173920[2] := UInt<3>(2) - wire T_173921 : UInt<2>[2] - T_173921[0] := UInt<2>(0) - T_173921[1] := UInt<2>(1) - wire T_173922 : UInt<2>[3] - T_173922[0] := UInt<2>(1) - T_173922[1] := UInt<2>(2) - T_173922[2] := UInt<2>(3) - wire T_173923 : UInt<2>[2] - T_173923[0] := UInt<2>(2) - T_173923[1] := UInt<2>(3) - wire T_173924 : UInt<2>[1] - T_173924[0] := UInt<2>(3) - wire T_173925 : UInt<3>[3] - T_173925[0] := UInt<3>(0) - T_173925[1] := UInt<3>(1) - T_173925[2] := UInt<3>(2) - wire T_173926 : UInt<0>[1] - T_173926[0] := UInt<0>(0) - wire T_173927 : UInt<2>[2] - T_173927[0] := UInt<2>(1) - T_173927[1] := UInt<2>(2) - wire T_173928 : UInt<2>[2] - T_173928[0] := UInt<2>(1) - T_173928[1] := UInt<2>(2) - wire T_173929 : UInt<2>[1] - T_173929[0] := UInt<2>(2) - wire T_173930 : UInt<3>[3] - T_173930[0] := UInt<3>(0) - T_173930[1] := UInt<3>(1) - T_173930[2] := UInt<3>(2) - wire T_173931 : UInt<2>[2] - T_173931[0] := UInt<2>(0) - T_173931[1] := UInt<2>(1) - wire T_173932 : UInt<2>[3] - T_173932[0] := UInt<2>(1) - T_173932[1] := UInt<2>(2) - T_173932[2] := UInt<2>(3) - wire T_173933 : UInt<2>[2] - T_173933[0] := UInt<2>(2) - T_173933[1] := UInt<2>(3) - wire T_173934 : UInt<2>[1] - T_173934[0] := UInt<2>(3) - wire T_173935 : UInt<3>[3] - T_173935[0] := UInt<3>(0) - T_173935[1] := UInt<3>(1) - T_173935[2] := UInt<3>(2) - wire T_173936 : UInt<2>[2] - T_173936[0] := UInt<2>(0) - T_173936[1] := UInt<2>(1) - wire T_173937 : UInt<2>[3] - T_173937[0] := UInt<2>(1) - T_173937[1] := UInt<2>(2) - T_173937[2] := UInt<2>(3) - wire T_173938 : UInt<2>[2] - T_173938[0] := UInt<2>(2) - T_173938[1] := UInt<2>(3) - wire T_173939 : UInt<2>[1] - T_173939[0] := UInt<2>(3) - wire T_173940 : UInt<3>[3] - T_173940[0] := UInt<3>(0) - T_173940[1] := UInt<3>(1) - T_173940[2] := UInt<3>(2) - wire T_173941 : UInt<0>[1] - T_173941[0] := UInt<0>(0) - wire T_173942 : UInt<2>[2] - T_173942[0] := UInt<2>(1) - T_173942[1] := UInt<2>(2) - wire T_173943 : UInt<2>[2] - T_173943[0] := UInt<2>(1) - T_173943[1] := UInt<2>(2) - wire T_173944 : UInt<2>[1] - T_173944[0] := UInt<2>(2) - wire pending_coh_on_hit : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}} - pending_coh_on_hit.inner := meta.resp.bits.meta.coh.inner - pending_coh_on_hit.outer := T_173914 - wire T_173945 : UInt<3>[3] - T_173945[0] := UInt<3>(0) - T_173945[1] := UInt<3>(1) - T_173945[2] := UInt<3>(2) - wire T_173946 : UInt<2>[2] - T_173946[0] := UInt<2>(0) - T_173946[1] := UInt<2>(1) - wire T_173947 : UInt<2>[3] - T_173947[0] := UInt<2>(1) - T_173947[1] := UInt<2>(2) - T_173947[2] := UInt<2>(3) - wire T_173948 : UInt<2>[2] - T_173948[0] := UInt<2>(2) - T_173948[1] := UInt<2>(3) - wire T_173949 : UInt<2>[1] - T_173949[0] := UInt<2>(3) - wire T_173950 : UInt<3>[3] - T_173950[0] := UInt<3>(0) - T_173950[1] := UInt<3>(1) - T_173950[2] := UInt<3>(2) - wire T_173951 : UInt<2>[2] - T_173951[0] := UInt<2>(0) - T_173951[1] := UInt<2>(1) - wire T_173952 : UInt<2>[3] - T_173952[0] := UInt<2>(1) - T_173952[1] := UInt<2>(2) - T_173952[2] := UInt<2>(3) - wire T_173953 : UInt<2>[2] - T_173953[0] := UInt<2>(2) - T_173953[1] := UInt<2>(3) - wire T_173954 : UInt<2>[1] - T_173954[0] := UInt<2>(3) - wire T_173955 : UInt<3>[3] - T_173955[0] := UInt<3>(0) - T_173955[1] := UInt<3>(1) - T_173955[2] := UInt<3>(2) - wire T_173956 : UInt<2>[2] - T_173956[0] := UInt<2>(0) - T_173956[1] := UInt<2>(1) - wire T_173957 : UInt<2>[3] - T_173957[0] := UInt<2>(1) - T_173957[1] := UInt<2>(2) - T_173957[2] := UInt<2>(3) - wire T_173958 : UInt<2>[2] - T_173958[0] := UInt<2>(2) - T_173958[1] := UInt<2>(3) - wire T_173959 : UInt<2>[1] - T_173959[0] := UInt<2>(3) - wire T_173960 : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>} - T_173960.sharers := UInt<1>(0) - wire T_173961 : UInt<3>[3] - T_173961[0] := UInt<3>(0) - T_173961[1] := UInt<3>(1) - T_173961[2] := UInt<3>(2) - wire T_173962 : UInt<2>[2] - T_173962[0] := UInt<2>(0) - T_173962[1] := UInt<2>(1) - wire T_173963 : UInt<2>[3] - T_173963[0] := UInt<2>(1) - T_173963[1] := UInt<2>(2) - T_173963[2] := UInt<2>(3) - wire T_173964 : UInt<2>[2] - T_173964[0] := UInt<2>(2) - T_173964[1] := UInt<2>(3) - wire T_173965 : UInt<2>[1] - T_173965[0] := UInt<2>(3) - wire T_173966 : UInt<3>[3] - T_173966[0] := UInt<3>(0) - T_173966[1] := UInt<3>(1) - T_173966[2] := UInt<3>(2) - wire T_173967 : UInt<2>[2] - T_173967[0] := UInt<2>(0) - T_173967[1] := UInt<2>(1) - wire T_173968 : UInt<2>[3] - T_173968[0] := UInt<2>(1) - T_173968[1] := UInt<2>(2) - T_173968[2] := UInt<2>(3) - wire T_173969 : UInt<2>[2] - T_173969[0] := UInt<2>(2) - T_173969[1] := UInt<2>(3) - wire T_173970 : UInt<2>[1] - T_173970[0] := UInt<2>(3) - wire T_173971 : UInt<3>[3] - T_173971[0] := UInt<3>(0) - T_173971[1] := UInt<3>(1) - T_173971[2] := UInt<3>(2) - wire T_173972 : UInt<2>[2] - T_173972[0] := UInt<2>(0) - T_173972[1] := UInt<2>(1) - wire T_173973 : UInt<2>[3] - T_173973[0] := UInt<2>(1) - T_173973[1] := UInt<2>(2) - T_173973[2] := UInt<2>(3) - wire T_173974 : UInt<2>[2] - T_173974[0] := UInt<2>(2) - T_173974[1] := UInt<2>(3) - wire T_173975 : UInt<2>[1] - T_173975[0] := UInt<2>(3) - wire T_173976 : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>} - T_173976.state := UInt<2>(0) - wire T_173977 : UInt<3>[3] - T_173977[0] := UInt<3>(0) - T_173977[1] := UInt<3>(1) - T_173977[2] := UInt<3>(2) - wire T_173978 : UInt<2>[2] - T_173978[0] := UInt<2>(0) - T_173978[1] := UInt<2>(1) - wire T_173979 : UInt<2>[3] - T_173979[0] := UInt<2>(1) - T_173979[1] := UInt<2>(2) - T_173979[2] := UInt<2>(3) - wire T_173980 : UInt<2>[2] - T_173980[0] := UInt<2>(2) - T_173980[1] := UInt<2>(3) - wire T_173981 : UInt<2>[1] - T_173981[0] := UInt<2>(3) - wire T_173982 : UInt<3>[3] - T_173982[0] := UInt<3>(0) - T_173982[1] := UInt<3>(1) - T_173982[2] := UInt<3>(2) - wire T_173983 : UInt<2>[2] - T_173983[0] := UInt<2>(0) - T_173983[1] := UInt<2>(1) - wire T_173984 : UInt<2>[3] - T_173984[0] := UInt<2>(1) - T_173984[1] := UInt<2>(2) - T_173984[2] := UInt<2>(3) - wire T_173985 : UInt<2>[2] - T_173985[0] := UInt<2>(2) - T_173985[1] := UInt<2>(3) - wire T_173986 : UInt<2>[1] - T_173986[0] := UInt<2>(3) - wire T_173987 : UInt<3>[3] - T_173987[0] := UInt<3>(0) - T_173987[1] := UInt<3>(1) - T_173987[2] := UInt<3>(2) - wire T_173988 : UInt<0>[1] - T_173988[0] := UInt<0>(0) - wire T_173989 : UInt<2>[2] - T_173989[0] := UInt<2>(1) - T_173989[1] := UInt<2>(2) - wire T_173990 : UInt<2>[2] - T_173990[0] := UInt<2>(1) - T_173990[1] := UInt<2>(2) - wire T_173991 : UInt<2>[1] - T_173991[0] := UInt<2>(2) - wire T_173992 : UInt<3>[3] - T_173992[0] := UInt<3>(0) - T_173992[1] := UInt<3>(1) - T_173992[2] := UInt<3>(2) - wire T_173993 : UInt<2>[2] - T_173993[0] := UInt<2>(0) - T_173993[1] := UInt<2>(1) - wire T_173994 : UInt<2>[3] - T_173994[0] := UInt<2>(1) - T_173994[1] := UInt<2>(2) - T_173994[2] := UInt<2>(3) - wire T_173995 : UInt<2>[2] - T_173995[0] := UInt<2>(2) - T_173995[1] := UInt<2>(3) - wire T_173996 : UInt<2>[1] - T_173996[0] := UInt<2>(3) - wire T_173997 : UInt<3>[3] - T_173997[0] := UInt<3>(0) - T_173997[1] := UInt<3>(1) - T_173997[2] := UInt<3>(2) - wire T_173998 : UInt<2>[2] - T_173998[0] := UInt<2>(0) - T_173998[1] := UInt<2>(1) - wire T_173999 : UInt<2>[3] - T_173999[0] := UInt<2>(1) - T_173999[1] := UInt<2>(2) - T_173999[2] := UInt<2>(3) - wire T_174000 : UInt<2>[2] - T_174000[0] := UInt<2>(2) - T_174000[1] := UInt<2>(3) - wire T_174001 : UInt<2>[1] - T_174001[0] := UInt<2>(3) - wire T_174002 : UInt<3>[3] - T_174002[0] := UInt<3>(0) - T_174002[1] := UInt<3>(1) - T_174002[2] := UInt<3>(2) - wire T_174003 : UInt<0>[1] - T_174003[0] := UInt<0>(0) - wire T_174004 : UInt<2>[2] - T_174004[0] := UInt<2>(1) - T_174004[1] := UInt<2>(2) - wire T_174005 : UInt<2>[2] - T_174005[0] := UInt<2>(1) - T_174005[1] := UInt<2>(2) - wire T_174006 : UInt<2>[1] - T_174006[0] := UInt<2>(2) - wire pending_coh_on_miss : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}} - pending_coh_on_miss.inner := T_173960 - pending_coh_on_miss.outer := T_173976 - - - node T_174007 = eq(state, UInt<4>(0)) - node T_174008 = and(T_174007, inner.acquire.valid) - when T_174008 : - xact := inner.acquire.bits - xact.data := UInt<1>(0) - node T_174009 = eq(inner.acquire.bits.a_type, UInt<3>(3)) - node T_174010 = and(inner.acquire.bits.is_builtin_type, T_174009) - node T_174011 = and(inner.acquire.ready, inner.acquire.valid) - wire T_174012 : UInt<3>[3] - T_174012[0] := UInt<3>(2) - T_174012[1] := UInt<3>(3) - T_174012[2] := UInt<3>(4) - node T_174013 = eq(T_174012[0], inner.acquire.bits.a_type) - node T_174014 = eq(T_174012[1], inner.acquire.bits.a_type) - node T_174015 = eq(T_174012[2], inner.acquire.bits.a_type) - node T_174016 = or(UInt<1>(0), T_174013) - node T_174017 = or(T_174016, T_174014) - node T_174018 = or(T_174017, T_174015) - node T_174019 = and(inner.acquire.bits.is_builtin_type, T_174018) - node T_174020 = and(T_174011, T_174019) - node T_174021 = subw(UInt<4>(0), UInt<3>(4)) - node T_174022 = not(T_174021) - node T_174023 = dshl(UInt<1>(1), inner.acquire.bits.addr_beat) - node T_174024 = not(T_174023) - node T_174025 = or(T_174022, T_174024) - wire T_174026 : UInt<1> - T_174026 := UInt<1>(0) - when T_174010 : T_174026 := T_174025 - pending_puts := T_174026 - node T_174027 = eq(inner.acquire.bits.a_type, UInt<3>(1)) - node T_174028 = and(inner.acquire.bits.is_builtin_type, T_174027) - node T_174029 = eq(inner.acquire.bits.is_builtin_type, UInt<1>(0)) - node T_174030 = or(T_174028, T_174029) - wire T_174031 : UInt<3>[3] - T_174031[0] := UInt<3>(0) - T_174031[1] := UInt<3>(1) - T_174031[2] := UInt<3>(4) - node T_174032 = eq(T_174031[0], inner.acquire.bits.a_type) - node T_174033 = eq(T_174031[1], inner.acquire.bits.a_type) - node T_174034 = eq(T_174031[2], inner.acquire.bits.a_type) - node T_174035 = or(UInt<1>(0), T_174032) - node T_174036 = or(T_174035, T_174033) - node T_174037 = or(T_174036, T_174034) - node T_174038 = and(inner.acquire.bits.is_builtin_type, T_174037) - node T_174039 = and(inner.acquire.ready, inner.acquire.valid) - node T_174040 = and(T_174039, T_174038) - node T_174041 = subw(UInt<4>(0), UInt<3>(4)) - node T_174042 = dshl(UInt<1>(1), inner.acquire.bits.addr_beat) - node T_174043 = and(T_174041, T_174042) - node T_174044 = eq(inner.acquire.bits.a_type, UInt<3>(4)) - node T_174045 = and(inner.acquire.bits.is_builtin_type, T_174044) - node T_174046 = bits(inner.acquire.bits.union, 12, 9) - node T_174047 = bits(T_174046, 3, 3) - node T_174048 = dshl(UInt<1>(1), T_174047) - node T_174049 = bit(T_174048, 0) - node T_174050 = bit(T_174048, 1) - node T_174051 = bit(T_174048, 2) - wire T_174052 : UInt<1>[3] - T_174052[0] := T_174049 - T_174052[1] := T_174050 - T_174052[2] := T_174051 - node T_174053 = subw(UInt<8>(0), UInt<4>(8)) - node T_174054 = subw(UInt<8>(0), UInt<4>(8)) - node T_174055 = subw(UInt<8>(0), UInt<4>(8)) - wire T_174056 : UInt<8>[3] - T_174056[0] := T_174053 - T_174056[1] := T_174054 - T_174056[2] := T_174055 - node T_174057 = cat(T_174056[1], T_174056[0]) - node T_174058 = cat(T_174056[2], T_174057) - node T_174059 = eq(inner.acquire.bits.a_type, UInt<3>(3)) - node T_174060 = and(inner.acquire.bits.is_builtin_type, T_174059) - node T_174061 = eq(inner.acquire.bits.a_type, UInt<3>(2)) - node T_174062 = and(inner.acquire.bits.is_builtin_type, T_174061) - node T_174063 = or(T_174060, T_174062) - node T_174064 = bits(inner.acquire.bits.union, 16, 1) - wire T_174065 : UInt<16> - T_174065 := UInt<16>(0) - when T_174063 : T_174065 := T_174064 - wire T_174066 : UInt<16> - T_174066 := T_174065 - when T_174045 : T_174066 := T_174058 - wire T_174067 : UInt<3>[3] - T_174067[0] := UInt<3>(0) - T_174067[1] := UInt<3>(1) - T_174067[2] := UInt<3>(2) - wire T_174068 : UInt<2>[2] - T_174068[0] := UInt<2>(0) - T_174068[1] := UInt<2>(1) - wire T_174069 : UInt<2>[3] - T_174069[0] := UInt<2>(1) - T_174069[1] := UInt<2>(2) - T_174069[2] := UInt<2>(3) - wire T_174070 : UInt<2>[2] - T_174070[0] := UInt<2>(2) - T_174070[1] := UInt<2>(3) - wire T_174071 : UInt<2>[1] - T_174071[0] := UInt<2>(3) - node T_174072 = asUInt(SInt<16>(-1)) - node T_174073 = neq(T_174066, T_174072) - node T_174074 = and(inner.acquire.ready, inner.acquire.valid) - node T_174075 = and(T_174074, T_174073) - node T_174076 = and(T_174075, UInt<1>(0)) - node T_174077 = subw(UInt<4>(0), UInt<3>(4)) - node T_174078 = dshl(UInt<1>(1), inner.acquire.bits.addr_beat) - node T_174079 = and(T_174077, T_174078) - node T_174080 = or(T_174043, T_174079) - node T_174081 = asSInt(T_174080) - wire T_174082 : SInt<5> - T_174082 := T_174081 - when T_174030 : T_174082 := SInt<1>(-1) - node T_174083 = asUInt(T_174082) - pending_reads := T_174083 - node T_174084 = and(inner.acquire.ready, inner.acquire.valid) - wire T_174085 : UInt<3>[3] - T_174085[0] := UInt<3>(2) - T_174085[1] := UInt<3>(3) - T_174085[2] := UInt<3>(4) - node T_174086 = eq(T_174085[0], inner.acquire.bits.a_type) - node T_174087 = eq(T_174085[1], inner.acquire.bits.a_type) - node T_174088 = eq(T_174085[2], inner.acquire.bits.a_type) - node T_174089 = or(UInt<1>(0), T_174086) - node T_174090 = or(T_174089, T_174087) - node T_174091 = or(T_174090, T_174088) - node T_174092 = and(inner.acquire.bits.is_builtin_type, T_174091) - node T_174093 = and(T_174084, T_174092) - node T_174094 = bit(inner.acquire.bits.union, 0) - node T_174095 = and(T_174093, T_174094) - node T_174096 = subw(UInt<4>(0), UInt<3>(4)) - node T_174097 = dshl(UInt<1>(1), inner.acquire.bits.addr_beat) - node T_174098 = and(T_174096, T_174097) - pending_writes := T_174098 - pending_resps := UInt<1>(0) - pending_ignt_data := UInt<1>(0) - pending_meta_write := UInt<1>(0) - state := UInt<4>(1) - - - node T_174099 = eq(state, UInt<4>(1)) - node T_174100 = and(T_174099, meta.read.ready) - when T_174100 : state := UInt<4>(2) - - - node T_174101 = eq(state, UInt<4>(2)) - node T_174102 = and(T_174101, meta.resp.valid) - when T_174102 : - xact_tag_match := meta.resp.bits.tag_match - xact_old_meta := meta.resp.bits.meta - xact_way_en := meta.resp.bits.way_en - node T_174103 = eq(xact.a_type, UInt<3>(3)) - node T_174104 = and(xact.is_builtin_type, T_174103) - node T_174105 = neq(meta.resp.bits.meta.coh.outer.state, UInt<2>(0)) - node T_174106 = and(meta.resp.bits.tag_match, T_174105) - node T_174107 = or(T_174104, T_174106) - node T_174108 = eq(meta.resp.bits.tag_match, UInt<1>(0)) - node T_174109 = bit(xact.union, 0) - node T_174110 = and(T_174108, T_174109) - node T_174111 = eq(T_172556[0], meta.resp.bits.meta.coh.outer.state) - node T_174112 = or(UInt<1>(0), T_174111) - node T_174113 = eq(meta.resp.bits.meta.coh.inner.sharers, UInt<1>(0)) - node T_174114 = eq(T_174113, UInt<1>(0)) - node T_174115 = or(T_174112, T_174114) - node T_174116 = and(T_174110, T_174115) - node T_174117 = eq(meta.resp.bits.meta.coh.inner.sharers, UInt<1>(0)) - node T_174118 = bit(meta.resp.bits.meta.coh.inner.sharers, 0) - node T_174119 = eq(T_174118, UInt<1>(1)) - wire T_174120 : UInt<3>[3] - T_174120[0] := UInt<3>(2) - T_174120[1] := UInt<3>(3) - T_174120[2] := UInt<3>(4) - node T_174121 = eq(T_174120[0], xact.a_type) - node T_174122 = eq(T_174120[1], xact.a_type) - node T_174123 = eq(T_174120[2], xact.a_type) - node T_174124 = or(UInt<1>(0), T_174121) - node T_174125 = or(T_174124, T_174122) - node T_174126 = or(T_174125, T_174123) - node T_174127 = and(xact.is_builtin_type, T_174126) - node T_174128 = neq(xact.a_type, UInt<1>(0)) - wire T_174129 : UInt<1> - T_174129 := T_174128 - when xact.is_builtin_type : T_174129 := T_174127 - wire T_174130 : UInt<1> - T_174130 := T_174129 - when T_174119 : T_174130 := UInt<1>(1) - wire T_174131 : UInt<1> - T_174131 := T_174130 - when T_174117 : T_174131 := UInt<1>(0) - node T_174132 = and(meta.resp.bits.tag_match, T_174131) - - - node T_174133 = eq(meta.resp.bits.tag_match, UInt<1>(0)) - node T_174134 = eq(pending_coh_on_hit.inner.sharers, meta.resp.bits.meta.coh.inner.sharers) - node T_174135 = eq(pending_coh_on_hit.outer.state, meta.resp.bits.meta.coh.outer.state) - node T_174136 = and(T_174134, T_174135) - node T_174137 = eq(T_174136, UInt<1>(0)) - node T_174138 = and(T_174107, T_174137) - node T_174139 = or(T_174133, T_174138) - when T_174139 : pending_meta_write := UInt<1>(1) - wire T_174140 : UInt<3>[3] - T_174140[0] := UInt<3>(0) - T_174140[1] := UInt<3>(1) - T_174140[2] := UInt<3>(2) - wire T_174141 : UInt<2>[2] - T_174141[0] := UInt<2>(0) - T_174141[1] := UInt<2>(1) - wire T_174142 : UInt<2>[3] - T_174142[0] := UInt<2>(1) - T_174142[1] := UInt<2>(2) - T_174142[2] := UInt<2>(3) - wire T_174143 : UInt<2>[2] - T_174143[0] := UInt<2>(2) - T_174143[1] := UInt<2>(3) - wire T_174144 : UInt<2>[1] - T_174144[0] := UInt<2>(3) - wire T_174145 : UInt<3>[3] - T_174145[0] := UInt<3>(0) - T_174145[1] := UInt<3>(1) - T_174145[2] := UInt<3>(2) - wire T_174146 : UInt<2>[2] - T_174146[0] := UInt<2>(0) - T_174146[1] := UInt<2>(1) - wire T_174147 : UInt<2>[3] - T_174147[0] := UInt<2>(1) - T_174147[1] := UInt<2>(2) - T_174147[2] := UInt<2>(3) - wire T_174148 : UInt<2>[2] - T_174148[0] := UInt<2>(2) - T_174148[1] := UInt<2>(3) - wire T_174149 : UInt<2>[1] - T_174149[0] := UInt<2>(3) - wire T_174150 : UInt<3>[3] - T_174150[0] := UInt<3>(0) - T_174150[1] := UInt<3>(1) - T_174150[2] := UInt<3>(2) - wire T_174151 : UInt<0>[1] - T_174151[0] := UInt<0>(0) - wire T_174152 : UInt<2>[2] - T_174152[0] := UInt<2>(1) - T_174152[1] := UInt<2>(2) - wire T_174153 : UInt<2>[2] - T_174153[0] := UInt<2>(1) - T_174153[1] := UInt<2>(2) - wire T_174154 : UInt<2>[1] - T_174154[0] := UInt<2>(2) - wire T_174155 : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}} - T_174155 := pending_coh_on_miss - when meta.resp.bits.tag_match : T_174155 := meta.resp.bits.meta.coh - wire T_174156 : UInt<3>[3] - T_174156[0] := UInt<3>(0) - T_174156[1] := UInt<3>(1) - T_174156[2] := UInt<3>(2) - wire T_174157 : UInt<2>[2] - T_174157[0] := UInt<2>(0) - T_174157[1] := UInt<2>(1) - wire T_174158 : UInt<2>[3] - T_174158[0] := UInt<2>(1) - T_174158[1] := UInt<2>(2) - T_174158[2] := UInt<2>(3) - wire T_174159 : UInt<2>[2] - T_174159[0] := UInt<2>(2) - T_174159[1] := UInt<2>(3) - wire T_174160 : UInt<2>[1] - T_174160[0] := UInt<2>(3) - wire T_174161 : UInt<3>[3] - T_174161[0] := UInt<3>(0) - T_174161[1] := UInt<3>(1) - T_174161[2] := UInt<3>(2) - wire T_174162 : UInt<2>[2] - T_174162[0] := UInt<2>(0) - T_174162[1] := UInt<2>(1) - wire T_174163 : UInt<2>[3] - T_174163[0] := UInt<2>(1) - T_174163[1] := UInt<2>(2) - T_174163[2] := UInt<2>(3) - wire T_174164 : UInt<2>[2] - T_174164[0] := UInt<2>(2) - T_174164[1] := UInt<2>(3) - wire T_174165 : UInt<2>[1] - T_174165[0] := UInt<2>(3) - wire T_174166 : UInt<3>[3] - T_174166[0] := UInt<3>(0) - T_174166[1] := UInt<3>(1) - T_174166[2] := UInt<3>(2) - wire T_174167 : UInt<0>[1] - T_174167[0] := UInt<0>(0) - wire T_174168 : UInt<2>[2] - T_174168[0] := UInt<2>(1) - T_174168[1] := UInt<2>(2) - wire T_174169 : UInt<2>[2] - T_174169[0] := UInt<2>(1) - T_174169[1] := UInt<2>(2) - wire T_174170 : UInt<2>[1] - T_174170[0] := UInt<2>(2) - wire T_174171 : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}} - T_174171 := T_174155 - when T_174107 : T_174171 := pending_coh_on_hit - pending_coh := T_174171 - when T_174132 : - node T_174172 = dshl(UInt<1>(1), xact.client_id) - node T_174173 = or(meta.resp.bits.meta.coh.inner.sharers, T_174172) - node T_174174 = dshl(UInt<1>(1), xact.client_id) - node T_174175 = not(T_174174) - node T_174176 = and(meta.resp.bits.meta.coh.inner.sharers, T_174175) - wire T_174177 : UInt<5> - T_174177 := T_174176 - when UInt<1>(0) : T_174177 := T_174173 - node T_174178 = not(incoherent[0]) - node T_174179 = and(T_174177, T_174178) - pending_iprbs := T_174179 - node T_174180 = eq(T_174107, UInt<1>(0)) - wire T_174181 : UInt<4> - T_174181 := UInt<4>(7) - when T_174180 : T_174181 := UInt<4>(6) - wire T_174182 : UInt<4> - T_174182 := T_174181 - when T_174132 : T_174182 := UInt<4>(5) - wire T_174183 : UInt<4> - T_174183 := T_174182 - when T_174116 : T_174183 := UInt<4>(3) - state := T_174183 - - - node T_174184 = eq(state, UInt<4>(3)) - node T_174185 = and(T_174184, wb.req.ready) - when T_174185 : state := UInt<4>(4) - - - node T_174186 = eq(state, UInt<4>(4)) - node T_174187 = and(T_174186, wb.resp.valid) - when T_174187 : - node T_174188 = eq(xact.a_type, UInt<3>(3)) - node T_174189 = and(xact.is_builtin_type, T_174188) - node T_174190 = and(UInt<1>(1), T_174189) - node T_174191 = eq(T_174190, UInt<1>(0)) - wire T_174192 : UInt<4> - T_174192 := UInt<4>(7) - when T_174191 : T_174192 := UInt<4>(6) - state := T_174192 - - - node T_174193 = eq(state, UInt<4>(5)) - node T_174194 = eq(pending_iprbs, UInt<1>(0)) - node T_174195 = eq(T_174194, UInt<1>(0)) - node T_174196 = or(T_174195, pending_irels) - node T_174197 = eq(T_174196, UInt<1>(0)) - node T_174198 = and(T_174193, T_174197) - when T_174198 : - node T_174199 = eq(xact.a_type, UInt<3>(3)) - node T_174200 = and(xact.is_builtin_type, T_174199) - node T_174201 = neq(xact_old_meta.coh.outer.state, UInt<2>(0)) - node T_174202 = or(T_174200, T_174201) - node T_174203 = eq(T_174202, UInt<1>(0)) - wire T_174204 : UInt<4> - T_174204 := UInt<4>(7) - when T_174203 : T_174204 := UInt<4>(6) - state := T_174204 - - - node T_174205 = eq(state, UInt<4>(6)) - node T_174206 = and(T_174205, oacq_data_done) - when T_174206 : state := UInt<4>(7) - - - node T_174207 = eq(state, UInt<4>(7)) - node T_174208 = and(T_174207, all_pending_done) - when T_174208 : state := UInt<4>(8) - - - node T_174209 = eq(state, UInt<4>(8)) - node T_174210 = eq(pending_meta_write, UInt<1>(0)) - node T_174211 = or(meta.write.ready, T_174210) - node T_174212 = and(T_174209, T_174211) - when T_174212 : - wmask_buffer[0] := UInt<1>(0) - wmask_buffer[1] := UInt<1>(0) - wmask_buffer[2] := UInt<1>(0) - wmask_buffer[3] := UInt<1>(0) - state := UInt<4>(0) - node T_174213 = bits(xact.addr_block, 11, 0) - node T_174214 = bits(inner.acquire.bits.addr_block, 11, 0) - node in_same_set = eq(T_174213, T_174214) - node T_174215 = eq(xact.addr_block, inner.release.bits.addr_block) - node T_174216 = eq(inner.release.bits.voluntary, UInt<1>(0)) - node T_174217 = and(T_174215, T_174216) - node T_174218 = and(T_174217, inner.release.ready) - has_release_match := T_174218 - node T_174219 = or(can_merge_iacq_put, can_merge_iacq_get) - has_acquire_match := T_174219 - node T_174220 = neq(state, UInt<4>(0)) - node T_174221 = and(in_same_set, T_174220) - node T_174222 = eq(has_acquire_match, UInt<1>(0)) - node T_174223 = and(T_174221, T_174222) - has_acquire_conflict := T_174223 - node T_174224 = neq(state, UInt<4>(0)) - node T_174225 = and(inner.acquire.ready, inner.acquire.valid) - node T_174226 = and(T_174224, T_174225) - node T_174227 = neq(inner.acquire.bits.client_id, xact.client_id) - node T_174228 = and(T_174226, T_174227) - node T_174229 = eq(T_174228, UInt<1>(0)) - module Queue_86917 : - input enq : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, client_xact_id : UInt<1>}} - output deq : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, client_xact_id : UInt<1>}} - output count : UInt<3> - - wire T_174230 : UInt<3>[3] - T_174230[0] := UInt<3>(0) - T_174230[1] := UInt<3>(1) - T_174230[2] := UInt<3>(2) - wire T_174231 : UInt<2>[2] - T_174231[0] := UInt<2>(0) - T_174231[1] := UInt<2>(1) - wire T_174232 : UInt<2>[3] - T_174232[0] := UInt<2>(1) - T_174232[1] := UInt<2>(2) - T_174232[2] := UInt<2>(3) - wire T_174233 : UInt<2>[2] - T_174233[0] := UInt<2>(2) - T_174233[1] := UInt<2>(3) - wire T_174234 : UInt<2>[1] - T_174234[0] := UInt<2>(3) - wire T_174235 : UInt<3>[3] - T_174235[0] := UInt<3>(0) - T_174235[1] := UInt<3>(1) - T_174235[2] := UInt<3>(2) - wire T_174236 : UInt<2>[2] - T_174236[0] := UInt<2>(0) - T_174236[1] := UInt<2>(1) - wire T_174237 : UInt<2>[3] - T_174237[0] := UInt<2>(1) - T_174237[1] := UInt<2>(2) - T_174237[2] := UInt<2>(3) - wire T_174238 : UInt<2>[2] - T_174238[0] := UInt<2>(2) - T_174238[1] := UInt<2>(3) - wire T_174239 : UInt<2>[1] - T_174239[0] := UInt<2>(3) - wire T_174240 : UInt<3>[3] - T_174240[0] := UInt<3>(0) - T_174240[1] := UInt<3>(1) - T_174240[2] := UInt<3>(2) - wire T_174241 : UInt<2>[2] - T_174241[0] := UInt<2>(0) - T_174241[1] := UInt<2>(1) - wire T_174242 : UInt<2>[3] - T_174242[0] := UInt<2>(1) - T_174242[1] := UInt<2>(2) - T_174242[2] := UInt<2>(3) - wire T_174243 : UInt<2>[2] - T_174243[0] := UInt<2>(2) - T_174243[1] := UInt<2>(3) - wire T_174244 : UInt<2>[1] - T_174244[0] := UInt<2>(3) - wire T_174245 : UInt<3>[3] - T_174245[0] := UInt<3>(0) - T_174245[1] := UInt<3>(1) - T_174245[2] := UInt<3>(2) - wire T_174246 : UInt<2>[2] - T_174246[0] := UInt<2>(0) - T_174246[1] := UInt<2>(1) - wire T_174247 : UInt<2>[3] - T_174247[0] := UInt<2>(1) - T_174247[1] := UInt<2>(2) - T_174247[2] := UInt<2>(3) - wire T_174248 : UInt<2>[2] - T_174248[0] := UInt<2>(2) - T_174248[1] := UInt<2>(3) - wire T_174249 : UInt<2>[1] - T_174249[0] := UInt<2>(3) - wire T_174250 : UInt<3>[3] - T_174250[0] := UInt<3>(0) - T_174250[1] := UInt<3>(1) - T_174250[2] := UInt<3>(2) - wire T_174251 : UInt<2>[2] - T_174251[0] := UInt<2>(0) - T_174251[1] := UInt<2>(1) - wire T_174252 : UInt<2>[3] - T_174252[0] := UInt<2>(1) - T_174252[1] := UInt<2>(2) - T_174252[2] := UInt<2>(3) - wire T_174253 : UInt<2>[2] - T_174253[0] := UInt<2>(2) - T_174253[1] := UInt<2>(3) - wire T_174254 : UInt<2>[1] - T_174254[0] := UInt<2>(3) - cmem ram : {addr_beat : UInt<2>, client_xact_id : UInt<1>}[4] - reg T_174255 : UInt<2> - onreset T_174255 := UInt<2>(0) - reg T_174256 : UInt<2> - onreset T_174256 := UInt<2>(0) - reg maybe_full : UInt<1> - onreset maybe_full := UInt<1>(0) - node ptr_match = eq(T_174255, T_174256) - node T_174257 = eq(maybe_full, UInt<1>(0)) - node empty = and(ptr_match, T_174257) - node full = and(ptr_match, maybe_full) - node maybe_flow = and(UInt<1>(0), empty) - node do_flow = and(maybe_flow, deq.ready) - node T_174258 = and(enq.ready, enq.valid) - node T_174259 = eq(do_flow, UInt<1>(0)) - node do_enq = and(T_174258, T_174259) - node T_174260 = and(deq.ready, deq.valid) - node T_174261 = eq(do_flow, UInt<1>(0)) - node do_deq = and(T_174260, T_174261) - when do_enq : - wire T_174262 : UInt<3>[3] - T_174262[0] := UInt<3>(0) - T_174262[1] := UInt<3>(1) - T_174262[2] := UInt<3>(2) - wire T_174263 : UInt<2>[2] - T_174263[0] := UInt<2>(0) - T_174263[1] := UInt<2>(1) - wire T_174264 : UInt<2>[3] - T_174264[0] := UInt<2>(1) - T_174264[1] := UInt<2>(2) - T_174264[2] := UInt<2>(3) - wire T_174265 : UInt<2>[2] - T_174265[0] := UInt<2>(2) - T_174265[1] := UInt<2>(3) - wire T_174266 : UInt<2>[1] - T_174266[0] := UInt<2>(3) - accessor T_174267 = ram[T_174255] - T_174267 := enq.bits - node T_174268 = eq(T_174255, UInt<2>(3)) - node T_174269 = and(UInt<1>(0), T_174268) - node T_174270 = addw(T_174255, UInt<1>(1)) - wire T_174271 : UInt<2> - T_174271 := T_174270 - when T_174269 : T_174271 := UInt<1>(0) - T_174255 := T_174271 - when do_deq : - node T_174272 = eq(T_174256, UInt<2>(3)) - node T_174273 = and(UInt<1>(0), T_174272) - node T_174274 = addw(T_174256, UInt<1>(1)) - wire T_174275 : UInt<2> - T_174275 := T_174274 - when T_174273 : T_174275 := UInt<1>(0) - T_174256 := T_174275 - - node T_174276 = neq(do_enq, do_deq) - when T_174276 : maybe_full := do_enq - node T_174277 = eq(empty, UInt<1>(0)) - node T_174278 = and(UInt<1>(0), enq.valid) - node T_174279 = or(T_174277, T_174278) - deq.valid := T_174279 - node T_174280 = eq(full, UInt<1>(0)) - node T_174281 = and(UInt<1>(0), deq.ready) - node T_174282 = or(T_174280, T_174281) - enq.ready := T_174282 - wire T_174283 : UInt<3>[3] - T_174283[0] := UInt<3>(0) - T_174283[1] := UInt<3>(1) - T_174283[2] := UInt<3>(2) - wire T_174284 : UInt<2>[2] - T_174284[0] := UInt<2>(0) - T_174284[1] := UInt<2>(1) - wire T_174285 : UInt<2>[3] - T_174285[0] := UInt<2>(1) - T_174285[1] := UInt<2>(2) - T_174285[2] := UInt<2>(3) - wire T_174286 : UInt<2>[2] - T_174286[0] := UInt<2>(2) - T_174286[1] := UInt<2>(3) - wire T_174287 : UInt<2>[1] - T_174287[0] := UInt<2>(3) - accessor T_174288 = ram[T_174256] - wire T_174289 : UInt<3>[3] - T_174289[0] := UInt<3>(0) - T_174289[1] := UInt<3>(1) - T_174289[2] := UInt<3>(2) - wire T_174290 : UInt<2>[2] - T_174290[0] := UInt<2>(0) - T_174290[1] := UInt<2>(1) - wire T_174291 : UInt<2>[3] - T_174291[0] := UInt<2>(1) - T_174291[1] := UInt<2>(2) - T_174291[2] := UInt<2>(3) - wire T_174292 : UInt<2>[2] - T_174292[0] := UInt<2>(2) - T_174292[1] := UInt<2>(3) - wire T_174293 : UInt<2>[1] - T_174293[0] := UInt<2>(3) - wire T_174294 : {addr_beat : UInt<2>, client_xact_id : UInt<1>} - T_174294 := T_174288 - when maybe_flow : T_174294 := enq.bits - deq.bits := T_174294 - node ptr_diff = subw(T_174255, T_174256) - node T_174295 = and(maybe_full, ptr_match) - node T_174296 = cat(T_174295, ptr_diff) - count := T_174296 - module AMOALU_87374 : - input addr : UInt<6> - input cmd : UInt<5> - input typ : UInt<3> - input lhs : UInt<64> - input rhs : UInt<64> - output out : UInt<64> - - node T_174297 = eq(typ, UInt<3>(0)) - node T_174298 = eq(typ, UInt<3>(4)) - node T_174299 = or(T_174297, T_174298) - node T_174300 = eq(typ, UInt<3>(1)) - node T_174301 = eq(typ, UInt<3>(5)) - node T_174302 = or(T_174300, T_174301) - node T_174303 = eq(typ, UInt<3>(2)) - node T_174304 = eq(typ, UInt<3>(6)) - node T_174305 = or(T_174303, T_174304) - node T_174306 = bits(rhs, 31, 0) - node T_174307 = cat(T_174306, T_174306) - wire rhs : UInt<64> - rhs := rhs - when T_174305 : rhs := T_174307 - node T_174308 = eq(cmd, UInt<5>(12)) - node T_174309 = eq(cmd, UInt<5>(13)) - node sgned = or(T_174308, T_174309) - node T_174310 = eq(cmd, UInt<5>(13)) - node T_174311 = eq(cmd, UInt<5>(15)) - node max = or(T_174310, T_174311) - node T_174312 = eq(cmd, UInt<5>(12)) - node T_174313 = eq(cmd, UInt<5>(14)) - node min = or(T_174312, T_174313) - node T_174314 = eq(typ, UInt<3>(2)) - node T_174315 = eq(typ, UInt<3>(6)) - node T_174316 = or(T_174314, T_174315) - node T_174317 = eq(typ, UInt<3>(0)) - node T_174318 = or(T_174316, T_174317) - node T_174319 = eq(typ, UInt<3>(4)) - node word = or(T_174318, T_174319) - node T_174320 = not(UInt<64>(0)) - node T_174321 = bit(addr, 2) - node T_174322 = dshl(T_174321, UInt<5>(31)) - node mask = xor(T_174320, T_174322) - node T_174323 = and(lhs, mask) - node T_174324 = and(rhs, mask) - node adder_out = addw(T_174323, T_174324) - node T_174325 = bit(addr, 2) - node T_174326 = eq(T_174325, UInt<1>(0)) - node T_174327 = and(word, T_174326) - node T_174328 = bit(lhs, 31) - node T_174329 = bit(lhs, 63) - wire cmp_lhs : UInt<1> - cmp_lhs := T_174329 - when T_174327 : cmp_lhs := T_174328 - node T_174330 = bit(addr, 2) - node T_174331 = eq(T_174330, UInt<1>(0)) - node T_174332 = and(word, T_174331) - node T_174333 = bit(rhs, 31) - node T_174334 = bit(rhs, 63) - wire cmp_rhs : UInt<1> - cmp_rhs := T_174334 - when T_174332 : cmp_rhs := T_174333 - node T_174335 = bits(lhs, 31, 0) - node T_174336 = bits(rhs, 31, 0) - node lt_lo = lt(T_174335, T_174336) - node T_174337 = bits(lhs, 63, 32) - node T_174338 = bits(rhs, 63, 32) - node lt_hi = lt(T_174337, T_174338) - node T_174339 = bits(lhs, 63, 32) - node T_174340 = bits(rhs, 63, 32) - node eq_hi = eq(T_174339, T_174340) - node T_174341 = bit(addr, 2) - wire T_174342 : UInt<1> - T_174342 := lt_lo - when T_174341 : T_174342 := lt_hi - node T_174343 = and(eq_hi, lt_lo) - node T_174344 = or(lt_hi, T_174343) - wire lt : UInt<1> - lt := T_174344 - when word : lt := T_174342 - node T_174345 = eq(cmp_lhs, cmp_rhs) - wire T_174346 : UInt<1> - T_174346 := cmp_rhs - when sgned : T_174346 := cmp_lhs - wire less : UInt<1> - less := T_174346 - when T_174345 : less := lt - node T_174347 = eq(cmd, UInt<5>(8)) - node T_174348 = eq(cmd, UInt<5>(11)) - node T_174349 = and(lhs, rhs) - node T_174350 = eq(cmd, UInt<5>(10)) - node T_174351 = or(lhs, rhs) - node T_174352 = eq(cmd, UInt<5>(9)) - node T_174353 = xor(lhs, rhs) - wire T_174354 : UInt<1> - T_174354 := max - when less : T_174354 := min - node T_174355 = bits(rhs, 7, 0) - node T_174356 = cat(T_174355, T_174355) - node T_174357 = cat(T_174356, T_174356) - node T_174358 = cat(T_174357, T_174357) - node T_174359 = bits(rhs, 15, 0) - node T_174360 = cat(T_174359, T_174359) - node T_174361 = cat(T_174360, T_174360) - wire T_174362 : UInt<64> - T_174362 := rhs - when T_174302 : T_174362 := T_174361 - wire T_174363 : UInt<64> - T_174363 := T_174362 - when T_174299 : T_174363 := T_174358 - wire T_174364 : UInt<64> - T_174364 := T_174363 - when T_174354 : T_174364 := lhs - wire T_174365 : UInt<64> - T_174365 := T_174364 - when T_174352 : T_174365 := T_174353 - wire T_174366 : UInt<64> - T_174366 := T_174365 - when T_174350 : T_174366 := T_174351 - wire T_174367 : UInt<64> - T_174367 := T_174366 - when T_174348 : T_174367 := T_174349 - wire out : UInt<64> - out := T_174367 - when T_174347 : out := adder_out - node T_174368 = bits(addr, 2, 0) - node T_174369 = dshl(UInt<1>(1), T_174368) - node T_174370 = bits(addr, 2, 1) - node T_174371 = cat(T_174370, UInt<1>(0)) - node T_174372 = dshl(UInt<2>(3), T_174371) - node T_174373 = bit(addr, 2) - node T_174374 = cat(T_174373, UInt<2>(0)) - node T_174375 = dshl(UInt<4>(15), T_174374) - wire T_174376 : UInt<8> - T_174376 := UInt<8>(255) - when T_174305 : T_174376 := T_174375 - wire T_174377 : UInt<8> - T_174377 := T_174376 - when T_174302 : T_174377 := T_174372 - wire T_174378 : UInt<8> - T_174378 := T_174377 - when T_174299 : T_174378 := T_174369 - node T_174379 = bit(T_174378, 0) - node T_174380 = bit(T_174378, 1) - node T_174381 = bit(T_174378, 2) - node T_174382 = bit(T_174378, 3) - node T_174383 = bit(T_174378, 4) - node T_174384 = bit(T_174378, 5) - node T_174385 = bit(T_174378, 6) - node T_174386 = bit(T_174378, 7) - wire T_174387 : UInt<1>[8] - T_174387[0] := T_174379 - T_174387[1] := T_174380 - T_174387[2] := T_174381 - T_174387[3] := T_174382 - T_174387[4] := T_174383 - T_174387[5] := T_174384 - T_174387[6] := T_174385 - T_174387[7] := T_174386 - node T_174388 = subw(UInt<8>(0), UInt<4>(8)) - node T_174389 = subw(UInt<8>(0), UInt<4>(8)) - node T_174390 = subw(UInt<8>(0), UInt<4>(8)) - node T_174391 = subw(UInt<8>(0), UInt<4>(8)) - node T_174392 = subw(UInt<8>(0), UInt<4>(8)) - node T_174393 = subw(UInt<8>(0), UInt<4>(8)) - node T_174394 = subw(UInt<8>(0), UInt<4>(8)) - node T_174395 = subw(UInt<8>(0), UInt<4>(8)) - wire T_174396 : UInt<8>[8] - T_174396[0] := T_174388 - T_174396[1] := T_174389 - T_174396[2] := T_174390 - T_174396[3] := T_174391 - T_174396[4] := T_174392 - T_174396[5] := T_174393 - T_174396[6] := T_174394 - T_174396[7] := T_174395 - node T_174397 = cat(T_174396[7], T_174396[6]) - node T_174398 = cat(T_174396[5], T_174396[4]) - node T_174399 = cat(T_174397, T_174398) - node T_174400 = cat(T_174396[3], T_174396[2]) - node T_174401 = cat(T_174396[1], T_174396[0]) - node T_174402 = cat(T_174400, T_174401) - node wmask = cat(T_174399, T_174402) - node T_174403 = and(wmask, out) - node T_174404 = not(wmask) - node T_174405 = and(T_174404, lhs) - node T_174406 = or(T_174403, T_174405) - out := T_174406 - module L2AcquireTracker_93254 : - output inner : {flip acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>, client_id : UInt<2>}}, grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>, client_id : UInt<2>}}, flip finish : {flip ready : UInt<1>, valid : UInt<1>, bits : {manager_xact_id : UInt<2>}}, probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>, client_id : UInt<2>}}, flip release : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>, client_id : UInt<2>}}} - input incoherent : UInt<1>[1] - output outer : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<2>, manager_xact_id : UInt<1>, is_builtin_type : UInt<1>, g_type : UInt<4>}}, flip probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>}}, release : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}} - output has_acquire_conflict : UInt<1> - output has_acquire_match : UInt<1> - output has_release_match : UInt<1> - output data : {read : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, id : UInt<2>, addr_idx : UInt<12>, way_en : UInt<8>}}, flip resp : {valid : UInt<1>, bits : {id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>}}, write : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, id : UInt<2>, addr_idx : UInt<12>, way_en : UInt<8>, data : UInt<128>, wmask : UInt<16>}}} - output meta : {read : {flip ready : UInt<1>, valid : UInt<1>, bits : {idx : UInt<12>, id : UInt<2>, tag : UInt<14>}}, flip resp : {valid : UInt<1>, bits : {id : UInt<2>, tag_match : UInt<1>, meta : {tag : UInt<14>, coh : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}}, way_en : UInt<8>}}, write : {flip ready : UInt<1>, valid : UInt<1>, bits : {idx : UInt<12>, way_en : UInt<8>, data : {tag : UInt<14>, coh : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}}, id : UInt<2>}}} - output wb : {req : {flip ready : UInt<1>, valid : UInt<1>, bits : {tag : UInt<14>, coh : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}, id : UInt<2>, idx : UInt<12>, way_en : UInt<8>}}, flip resp : {valid : UInt<1>, bits : {id : UInt<2>}}} - - wire T_174407 : UInt<3>[3] - T_174407[0] := UInt<3>(0) - T_174407[1] := UInt<3>(1) - T_174407[2] := UInt<3>(2) - wire T_174408 : UInt<2>[2] - T_174408[0] := UInt<2>(0) - T_174408[1] := UInt<2>(1) - wire T_174409 : UInt<2>[3] - T_174409[0] := UInt<2>(1) - T_174409[1] := UInt<2>(2) - T_174409[2] := UInt<2>(3) - wire T_174410 : UInt<2>[2] - T_174410[0] := UInt<2>(2) - T_174410[1] := UInt<2>(3) - wire T_174411 : UInt<2>[1] - T_174411[0] := UInt<2>(3) - wire T_174412 : UInt<3>[3] - T_174412[0] := UInt<3>(0) - T_174412[1] := UInt<3>(1) - T_174412[2] := UInt<3>(2) - wire T_174413 : UInt<2>[2] - T_174413[0] := UInt<2>(0) - T_174413[1] := UInt<2>(1) - wire T_174414 : UInt<2>[3] - T_174414[0] := UInt<2>(1) - T_174414[1] := UInt<2>(2) - T_174414[2] := UInt<2>(3) - wire T_174415 : UInt<2>[2] - T_174415[0] := UInt<2>(2) - T_174415[1] := UInt<2>(3) - wire T_174416 : UInt<2>[1] - T_174416[0] := UInt<2>(3) - wire T_174417 : UInt<3>[3] - T_174417[0] := UInt<3>(0) - T_174417[1] := UInt<3>(1) - T_174417[2] := UInt<3>(2) - wire T_174418 : UInt<2>[2] - T_174418[0] := UInt<2>(0) - T_174418[1] := UInt<2>(1) - wire T_174419 : UInt<2>[3] - T_174419[0] := UInt<2>(1) - T_174419[1] := UInt<2>(2) - T_174419[2] := UInt<2>(3) - wire T_174420 : UInt<2>[2] - T_174420[0] := UInt<2>(2) - T_174420[1] := UInt<2>(3) - wire T_174421 : UInt<2>[1] - T_174421[0] := UInt<2>(3) - wire T_174422 : UInt<3>[3] - T_174422[0] := UInt<3>(0) - T_174422[1] := UInt<3>(1) - T_174422[2] := UInt<3>(2) - wire T_174423 : UInt<2>[2] - T_174423[0] := UInt<2>(0) - T_174423[1] := UInt<2>(1) - wire T_174424 : UInt<2>[3] - T_174424[0] := UInt<2>(1) - T_174424[1] := UInt<2>(2) - T_174424[2] := UInt<2>(3) - wire T_174425 : UInt<2>[2] - T_174425[0] := UInt<2>(2) - T_174425[1] := UInt<2>(3) - wire T_174426 : UInt<2>[1] - T_174426[0] := UInt<2>(3) - wire T_174427 : UInt<3>[3] - T_174427[0] := UInt<3>(0) - T_174427[1] := UInt<3>(1) - T_174427[2] := UInt<3>(2) - wire T_174428 : UInt<2>[2] - T_174428[0] := UInt<2>(0) - T_174428[1] := UInt<2>(1) - wire T_174429 : UInt<2>[3] - T_174429[0] := UInt<2>(1) - T_174429[1] := UInt<2>(2) - T_174429[2] := UInt<2>(3) - wire T_174430 : UInt<2>[2] - T_174430[0] := UInt<2>(2) - T_174430[1] := UInt<2>(3) - wire T_174431 : UInt<2>[1] - T_174431[0] := UInt<2>(3) - wire T_174432 : UInt<3>[3] - T_174432[0] := UInt<3>(0) - T_174432[1] := UInt<3>(1) - T_174432[2] := UInt<3>(2) - wire T_174433 : UInt<2>[2] - T_174433[0] := UInt<2>(0) - T_174433[1] := UInt<2>(1) - wire T_174434 : UInt<2>[3] - T_174434[0] := UInt<2>(1) - T_174434[1] := UInt<2>(2) - T_174434[2] := UInt<2>(3) - wire T_174435 : UInt<2>[2] - T_174435[0] := UInt<2>(2) - T_174435[1] := UInt<2>(3) - wire T_174436 : UInt<2>[1] - T_174436[0] := UInt<2>(3) - wire T_174437 : UInt<3>[3] - T_174437[0] := UInt<3>(0) - T_174437[1] := UInt<3>(1) - T_174437[2] := UInt<3>(2) - wire T_174438 : UInt<2>[2] - T_174438[0] := UInt<2>(0) - T_174438[1] := UInt<2>(1) - wire T_174439 : UInt<2>[3] - T_174439[0] := UInt<2>(1) - T_174439[1] := UInt<2>(2) - T_174439[2] := UInt<2>(3) - wire T_174440 : UInt<2>[2] - T_174440[0] := UInt<2>(2) - T_174440[1] := UInt<2>(3) - wire T_174441 : UInt<2>[1] - T_174441[0] := UInt<2>(3) - wire T_174442 : UInt<3>[3] - T_174442[0] := UInt<3>(0) - T_174442[1] := UInt<3>(1) - T_174442[2] := UInt<3>(2) - wire T_174443 : UInt<2>[2] - T_174443[0] := UInt<2>(0) - T_174443[1] := UInt<2>(1) - wire T_174444 : UInt<2>[3] - T_174444[0] := UInt<2>(1) - T_174444[1] := UInt<2>(2) - T_174444[2] := UInt<2>(3) - wire T_174445 : UInt<2>[2] - T_174445[0] := UInt<2>(2) - T_174445[1] := UInt<2>(3) - wire T_174446 : UInt<2>[1] - T_174446[0] := UInt<2>(3) - wire T_174447 : UInt<3>[3] - T_174447[0] := UInt<3>(0) - T_174447[1] := UInt<3>(1) - T_174447[2] := UInt<3>(2) - wire T_174448 : UInt<2>[2] - T_174448[0] := UInt<2>(0) - T_174448[1] := UInt<2>(1) - wire T_174449 : UInt<2>[3] - T_174449[0] := UInt<2>(1) - T_174449[1] := UInt<2>(2) - T_174449[2] := UInt<2>(3) - wire T_174450 : UInt<2>[2] - T_174450[0] := UInt<2>(2) - T_174450[1] := UInt<2>(3) - wire T_174451 : UInt<2>[1] - T_174451[0] := UInt<2>(3) - wire T_174452 : UInt<3>[3] - T_174452[0] := UInt<3>(0) - T_174452[1] := UInt<3>(1) - T_174452[2] := UInt<3>(2) - wire T_174453 : UInt<2>[2] - T_174453[0] := UInt<2>(0) - T_174453[1] := UInt<2>(1) - wire T_174454 : UInt<2>[3] - T_174454[0] := UInt<2>(1) - T_174454[1] := UInt<2>(2) - T_174454[2] := UInt<2>(3) - wire T_174455 : UInt<2>[2] - T_174455[0] := UInt<2>(2) - T_174455[1] := UInt<2>(3) - wire T_174456 : UInt<2>[1] - T_174456[0] := UInt<2>(3) - wire T_174457 : UInt<3>[3] - T_174457[0] := UInt<3>(0) - T_174457[1] := UInt<3>(1) - T_174457[2] := UInt<3>(2) - wire T_174458 : UInt<2>[2] - T_174458[0] := UInt<2>(0) - T_174458[1] := UInt<2>(1) - wire T_174459 : UInt<2>[3] - T_174459[0] := UInt<2>(1) - T_174459[1] := UInt<2>(2) - T_174459[2] := UInt<2>(3) - wire T_174460 : UInt<2>[2] - T_174460[0] := UInt<2>(2) - T_174460[1] := UInt<2>(3) - wire T_174461 : UInt<2>[1] - T_174461[0] := UInt<2>(3) - wire incoherent : UInt<1>[1] - incoherent[0] := T_174462 - wire T_174463 : UInt<3>[3] - T_174463[0] := UInt<3>(0) - T_174463[1] := UInt<3>(1) - T_174463[2] := UInt<3>(2) - wire T_174464 : UInt<0>[1] - T_174464[0] := UInt<0>(0) - wire T_174465 : UInt<2>[2] - T_174465[0] := UInt<2>(1) - T_174465[1] := UInt<2>(2) - wire T_174466 : UInt<2>[2] - T_174466[0] := UInt<2>(1) - T_174466[1] := UInt<2>(2) - wire T_174467 : UInt<2>[1] - T_174467[0] := UInt<2>(2) - wire T_174468 : UInt<3>[3] - T_174468[0] := UInt<3>(0) - T_174468[1] := UInt<3>(1) - T_174468[2] := UInt<3>(2) - wire T_174469 : UInt<0>[1] - T_174469[0] := UInt<0>(0) - wire T_174470 : UInt<2>[2] - T_174470[0] := UInt<2>(1) - T_174470[1] := UInt<2>(2) - wire T_174471 : UInt<2>[2] - T_174471[0] := UInt<2>(1) - T_174471[1] := UInt<2>(2) - wire T_174472 : UInt<2>[1] - T_174472[0] := UInt<2>(2) - wire T_174473 : UInt<3>[3] - T_174473[0] := UInt<3>(0) - T_174473[1] := UInt<3>(1) - T_174473[2] := UInt<3>(2) - wire T_174474 : UInt<0>[1] - T_174474[0] := UInt<0>(0) - wire T_174475 : UInt<2>[2] - T_174475[0] := UInt<2>(1) - T_174475[1] := UInt<2>(2) - wire T_174476 : UInt<2>[2] - T_174476[0] := UInt<2>(1) - T_174476[1] := UInt<2>(2) - wire T_174477 : UInt<2>[1] - T_174477[0] := UInt<2>(2) - wire T_174478 : UInt<3>[3] - T_174478[0] := UInt<3>(0) - T_174478[1] := UInt<3>(1) - T_174478[2] := UInt<3>(2) - wire T_174479 : UInt<0>[1] - T_174479[0] := UInt<0>(0) - wire T_174480 : UInt<2>[2] - T_174480[0] := UInt<2>(1) - T_174480[1] := UInt<2>(2) - wire T_174481 : UInt<2>[2] - T_174481[0] := UInt<2>(1) - T_174481[1] := UInt<2>(2) - wire T_174482 : UInt<2>[1] - T_174482[0] := UInt<2>(2) - wire T_174483 : UInt<3>[3] - T_174483[0] := UInt<3>(0) - T_174483[1] := UInt<3>(1) - T_174483[2] := UInt<3>(2) - wire T_174484 : UInt<0>[1] - T_174484[0] := UInt<0>(0) - wire T_174485 : UInt<2>[2] - T_174485[0] := UInt<2>(1) - T_174485[1] := UInt<2>(2) - wire T_174486 : UInt<2>[2] - T_174486[0] := UInt<2>(1) - T_174486[1] := UInt<2>(2) - wire T_174487 : UInt<2>[1] - T_174487[0] := UInt<2>(2) - wire T_174488 : UInt<3>[3] - T_174488[0] := UInt<3>(0) - T_174488[1] := UInt<3>(1) - T_174488[2] := UInt<3>(2) - wire T_174489 : UInt<0>[1] - T_174489[0] := UInt<0>(0) - wire T_174490 : UInt<2>[2] - T_174490[0] := UInt<2>(1) - T_174490[1] := UInt<2>(2) - wire T_174491 : UInt<2>[2] - T_174491[0] := UInt<2>(1) - T_174491[1] := UInt<2>(2) - wire T_174492 : UInt<2>[1] - T_174492[0] := UInt<2>(2) - wire T_174493 : UInt<3>[3] - T_174493[0] := UInt<3>(0) - T_174493[1] := UInt<3>(1) - T_174493[2] := UInt<3>(2) - wire T_174494 : UInt<0>[1] - T_174494[0] := UInt<0>(0) - wire T_174495 : UInt<2>[2] - T_174495[0] := UInt<2>(1) - T_174495[1] := UInt<2>(2) - wire T_174496 : UInt<2>[2] - T_174496[0] := UInt<2>(1) - T_174496[1] := UInt<2>(2) - wire T_174497 : UInt<2>[1] - T_174497[0] := UInt<2>(2) - wire T_174498 : UInt<3>[3] - T_174498[0] := UInt<3>(0) - T_174498[1] := UInt<3>(1) - T_174498[2] := UInt<3>(2) - wire T_174499 : UInt<0>[1] - T_174499[0] := UInt<0>(0) - wire T_174500 : UInt<2>[2] - T_174500[0] := UInt<2>(1) - T_174500[1] := UInt<2>(2) - wire T_174501 : UInt<2>[2] - T_174501[0] := UInt<2>(1) - T_174501[1] := UInt<2>(2) - wire T_174502 : UInt<2>[1] - T_174502[0] := UInt<2>(2) - wire T_174503 : UInt<3>[3] - T_174503[0] := UInt<3>(0) - T_174503[1] := UInt<3>(1) - T_174503[2] := UInt<3>(2) - wire T_174504 : UInt<0>[1] - T_174504[0] := UInt<0>(0) - wire T_174505 : UInt<2>[2] - T_174505[0] := UInt<2>(1) - T_174505[1] := UInt<2>(2) - wire T_174506 : UInt<2>[2] - T_174506[0] := UInt<2>(1) - T_174506[1] := UInt<2>(2) - wire T_174507 : UInt<2>[1] - T_174507[0] := UInt<2>(2) - wire T_174508 : UInt<3>[3] - T_174508[0] := UInt<3>(0) - T_174508[1] := UInt<3>(1) - T_174508[2] := UInt<3>(2) - wire T_174509 : UInt<2>[2] - T_174509[0] := UInt<2>(0) - T_174509[1] := UInt<2>(1) - wire T_174510 : UInt<2>[3] - T_174510[0] := UInt<2>(1) - T_174510[1] := UInt<2>(2) - T_174510[2] := UInt<2>(3) - wire T_174511 : UInt<2>[2] - T_174511[0] := UInt<2>(2) - T_174511[1] := UInt<2>(3) - wire T_174512 : UInt<2>[1] - T_174512[0] := UInt<2>(3) - wire T_174513 : UInt<3>[3] - T_174513[0] := UInt<3>(0) - T_174513[1] := UInt<3>(1) - T_174513[2] := UInt<3>(2) - wire T_174514 : UInt<2>[2] - T_174514[0] := UInt<2>(0) - T_174514[1] := UInt<2>(1) - wire T_174515 : UInt<2>[3] - T_174515[0] := UInt<2>(1) - T_174515[1] := UInt<2>(2) - T_174515[2] := UInt<2>(3) - wire T_174516 : UInt<2>[2] - T_174516[0] := UInt<2>(2) - T_174516[1] := UInt<2>(3) - wire T_174517 : UInt<2>[1] - T_174517[0] := UInt<2>(3) - wire T_174518 : UInt<3>[3] - T_174518[0] := UInt<3>(0) - T_174518[1] := UInt<3>(1) - T_174518[2] := UInt<3>(2) - wire T_174519 : UInt<0>[1] - T_174519[0] := UInt<0>(0) - wire T_174520 : UInt<2>[2] - T_174520[0] := UInt<2>(1) - T_174520[1] := UInt<2>(2) - wire T_174521 : UInt<2>[2] - T_174521[0] := UInt<2>(1) - T_174521[1] := UInt<2>(2) - wire T_174522 : UInt<2>[1] - T_174522[0] := UInt<2>(2) - wire T_174523 : UInt<3>[3] - T_174523[0] := UInt<3>(0) - T_174523[1] := UInt<3>(1) - T_174523[2] := UInt<3>(2) - wire T_174524 : UInt<2>[2] - T_174524[0] := UInt<2>(0) - T_174524[1] := UInt<2>(1) - wire T_174525 : UInt<2>[3] - T_174525[0] := UInt<2>(1) - T_174525[1] := UInt<2>(2) - T_174525[2] := UInt<2>(3) - wire T_174526 : UInt<2>[2] - T_174526[0] := UInt<2>(2) - T_174526[1] := UInt<2>(3) - wire T_174527 : UInt<2>[1] - T_174527[0] := UInt<2>(3) - wire T_174528 : UInt<3>[3] - T_174528[0] := UInt<3>(0) - T_174528[1] := UInt<3>(1) - T_174528[2] := UInt<3>(2) - wire T_174529 : UInt<2>[2] - T_174529[0] := UInt<2>(0) - T_174529[1] := UInt<2>(1) - wire T_174530 : UInt<2>[3] - T_174530[0] := UInt<2>(1) - T_174530[1] := UInt<2>(2) - T_174530[2] := UInt<2>(3) - wire T_174531 : UInt<2>[2] - T_174531[0] := UInt<2>(2) - T_174531[1] := UInt<2>(3) - wire T_174532 : UInt<2>[1] - T_174532[0] := UInt<2>(3) - wire T_174533 : UInt<3>[3] - T_174533[0] := UInt<3>(0) - T_174533[1] := UInt<3>(1) - T_174533[2] := UInt<3>(2) - wire T_174534 : UInt<0>[1] - T_174534[0] := UInt<0>(0) - wire T_174535 : UInt<2>[2] - T_174535[0] := UInt<2>(1) - T_174535[1] := UInt<2>(2) - wire T_174536 : UInt<2>[2] - T_174536[0] := UInt<2>(1) - T_174536[1] := UInt<2>(2) - wire T_174537 : UInt<2>[1] - T_174537[0] := UInt<2>(2) - wire T_174538 : UInt<3>[3] - T_174538[0] := UInt<3>(0) - T_174538[1] := UInt<3>(1) - T_174538[2] := UInt<3>(2) - wire T_174539 : UInt<2>[2] - T_174539[0] := UInt<2>(0) - T_174539[1] := UInt<2>(1) - wire T_174540 : UInt<2>[3] - T_174540[0] := UInt<2>(1) - T_174540[1] := UInt<2>(2) - T_174540[2] := UInt<2>(3) - wire T_174541 : UInt<2>[2] - T_174541[0] := UInt<2>(2) - T_174541[1] := UInt<2>(3) - wire T_174542 : UInt<2>[1] - T_174542[0] := UInt<2>(3) - wire T_174543 : UInt<3>[3] - T_174543[0] := UInt<3>(0) - T_174543[1] := UInt<3>(1) - T_174543[2] := UInt<3>(2) - wire T_174544 : UInt<2>[2] - T_174544[0] := UInt<2>(0) - T_174544[1] := UInt<2>(1) - wire T_174545 : UInt<2>[3] - T_174545[0] := UInt<2>(1) - T_174545[1] := UInt<2>(2) - T_174545[2] := UInt<2>(3) - wire T_174546 : UInt<2>[2] - T_174546[0] := UInt<2>(2) - T_174546[1] := UInt<2>(3) - wire T_174547 : UInt<2>[1] - T_174547[0] := UInt<2>(3) - wire T_174548 : UInt<3>[3] - T_174548[0] := UInt<3>(0) - T_174548[1] := UInt<3>(1) - T_174548[2] := UInt<3>(2) - wire T_174549 : UInt<0>[1] - T_174549[0] := UInt<0>(0) - wire T_174550 : UInt<2>[2] - T_174550[0] := UInt<2>(1) - T_174550[1] := UInt<2>(2) - wire T_174551 : UInt<2>[2] - T_174551[0] := UInt<2>(1) - T_174551[1] := UInt<2>(2) - wire T_174552 : UInt<2>[1] - T_174552[0] := UInt<2>(2) - wire T_174553 : UInt<3>[3] - T_174553[0] := UInt<3>(0) - T_174553[1] := UInt<3>(1) - T_174553[2] := UInt<3>(2) - wire T_174554 : UInt<2>[2] - T_174554[0] := UInt<2>(0) - T_174554[1] := UInt<2>(1) - wire T_174555 : UInt<2>[3] - T_174555[0] := UInt<2>(1) - T_174555[1] := UInt<2>(2) - T_174555[2] := UInt<2>(3) - wire T_174556 : UInt<2>[2] - T_174556[0] := UInt<2>(2) - T_174556[1] := UInt<2>(3) - wire T_174557 : UInt<2>[1] - T_174557[0] := UInt<2>(3) - wire T_174558 : UInt<3>[3] - T_174558[0] := UInt<3>(0) - T_174558[1] := UInt<3>(1) - T_174558[2] := UInt<3>(2) - wire T_174559 : UInt<2>[2] - T_174559[0] := UInt<2>(0) - T_174559[1] := UInt<2>(1) - wire T_174560 : UInt<2>[3] - T_174560[0] := UInt<2>(1) - T_174560[1] := UInt<2>(2) - T_174560[2] := UInt<2>(3) - wire T_174561 : UInt<2>[2] - T_174561[0] := UInt<2>(2) - T_174561[1] := UInt<2>(3) - wire T_174562 : UInt<2>[1] - T_174562[0] := UInt<2>(3) - wire T_174563 : UInt<3>[3] - T_174563[0] := UInt<3>(0) - T_174563[1] := UInt<3>(1) - T_174563[2] := UInt<3>(2) - wire T_174564 : UInt<0>[1] - T_174564[0] := UInt<0>(0) - wire T_174565 : UInt<2>[2] - T_174565[0] := UInt<2>(1) - T_174565[1] := UInt<2>(2) - wire T_174566 : UInt<2>[2] - T_174566[0] := UInt<2>(1) - T_174566[1] := UInt<2>(2) - wire T_174567 : UInt<2>[1] - T_174567[0] := UInt<2>(2) - wire T_174568 : UInt<3>[3] - T_174568[0] := UInt<3>(0) - T_174568[1] := UInt<3>(1) - T_174568[2] := UInt<3>(2) - wire T_174569 : UInt<2>[2] - T_174569[0] := UInt<2>(0) - T_174569[1] := UInt<2>(1) - wire T_174570 : UInt<2>[3] - T_174570[0] := UInt<2>(1) - T_174570[1] := UInt<2>(2) - T_174570[2] := UInt<2>(3) - wire T_174571 : UInt<2>[2] - T_174571[0] := UInt<2>(2) - T_174571[1] := UInt<2>(3) - wire T_174572 : UInt<2>[1] - T_174572[0] := UInt<2>(3) - wire T_174573 : UInt<3>[3] - T_174573[0] := UInt<3>(0) - T_174573[1] := UInt<3>(1) - T_174573[2] := UInt<3>(2) - wire T_174574 : UInt<2>[2] - T_174574[0] := UInt<2>(0) - T_174574[1] := UInt<2>(1) - wire T_174575 : UInt<2>[3] - T_174575[0] := UInt<2>(1) - T_174575[1] := UInt<2>(2) - T_174575[2] := UInt<2>(3) - wire T_174576 : UInt<2>[2] - T_174576[0] := UInt<2>(2) - T_174576[1] := UInt<2>(3) - wire T_174577 : UInt<2>[1] - T_174577[0] := UInt<2>(3) - wire T_174578 : UInt<3>[3] - T_174578[0] := UInt<3>(0) - T_174578[1] := UInt<3>(1) - T_174578[2] := UInt<3>(2) - wire T_174579 : UInt<0>[1] - T_174579[0] := UInt<0>(0) - wire T_174580 : UInt<2>[2] - T_174580[0] := UInt<2>(1) - T_174580[1] := UInt<2>(2) - wire T_174581 : UInt<2>[2] - T_174581[0] := UInt<2>(1) - T_174581[1] := UInt<2>(2) - wire T_174582 : UInt<2>[1] - T_174582[0] := UInt<2>(2) - wire T_174583 : UInt<3>[3] - T_174583[0] := UInt<3>(0) - T_174583[1] := UInt<3>(1) - T_174583[2] := UInt<3>(2) - wire T_174584 : UInt<2>[2] - T_174584[0] := UInt<2>(0) - T_174584[1] := UInt<2>(1) - wire T_174585 : UInt<2>[3] - T_174585[0] := UInt<2>(1) - T_174585[1] := UInt<2>(2) - T_174585[2] := UInt<2>(3) - wire T_174586 : UInt<2>[2] - T_174586[0] := UInt<2>(2) - T_174586[1] := UInt<2>(3) - wire T_174587 : UInt<2>[1] - T_174587[0] := UInt<2>(3) - wire T_174588 : UInt<3>[3] - T_174588[0] := UInt<3>(0) - T_174588[1] := UInt<3>(1) - T_174588[2] := UInt<3>(2) - wire T_174589 : UInt<2>[2] - T_174589[0] := UInt<2>(0) - T_174589[1] := UInt<2>(1) - wire T_174590 : UInt<2>[3] - T_174590[0] := UInt<2>(1) - T_174590[1] := UInt<2>(2) - T_174590[2] := UInt<2>(3) - wire T_174591 : UInt<2>[2] - T_174591[0] := UInt<2>(2) - T_174591[1] := UInt<2>(3) - wire T_174592 : UInt<2>[1] - T_174592[0] := UInt<2>(3) - wire T_174593 : UInt<3>[3] - T_174593[0] := UInt<3>(0) - T_174593[1] := UInt<3>(1) - T_174593[2] := UInt<3>(2) - wire T_174594 : UInt<0>[1] - T_174594[0] := UInt<0>(0) - wire T_174595 : UInt<2>[2] - T_174595[0] := UInt<2>(1) - T_174595[1] := UInt<2>(2) - wire T_174596 : UInt<2>[2] - T_174596[0] := UInt<2>(1) - T_174596[1] := UInt<2>(2) - wire T_174597 : UInt<2>[1] - T_174597[0] := UInt<2>(2) - wire T_174598 : UInt<3>[3] - T_174598[0] := UInt<3>(0) - T_174598[1] := UInt<3>(1) - T_174598[2] := UInt<3>(2) - wire T_174599 : UInt<2>[2] - T_174599[0] := UInt<2>(0) - T_174599[1] := UInt<2>(1) - wire T_174600 : UInt<2>[3] - T_174600[0] := UInt<2>(1) - T_174600[1] := UInt<2>(2) - T_174600[2] := UInt<2>(3) - wire T_174601 : UInt<2>[2] - T_174601[0] := UInt<2>(2) - T_174601[1] := UInt<2>(3) - wire T_174602 : UInt<2>[1] - T_174602[0] := UInt<2>(3) - wire T_174603 : UInt<3>[3] - T_174603[0] := UInt<3>(0) - T_174603[1] := UInt<3>(1) - T_174603[2] := UInt<3>(2) - wire T_174604 : UInt<2>[2] - T_174604[0] := UInt<2>(0) - T_174604[1] := UInt<2>(1) - wire T_174605 : UInt<2>[3] - T_174605[0] := UInt<2>(1) - T_174605[1] := UInt<2>(2) - T_174605[2] := UInt<2>(3) - wire T_174606 : UInt<2>[2] - T_174606[0] := UInt<2>(2) - T_174606[1] := UInt<2>(3) - wire T_174607 : UInt<2>[1] - T_174607[0] := UInt<2>(3) - wire T_174608 : UInt<3>[3] - T_174608[0] := UInt<3>(0) - T_174608[1] := UInt<3>(1) - T_174608[2] := UInt<3>(2) - wire T_174609 : UInt<0>[1] - T_174609[0] := UInt<0>(0) - wire T_174610 : UInt<2>[2] - T_174610[0] := UInt<2>(1) - T_174610[1] := UInt<2>(2) - wire T_174611 : UInt<2>[2] - T_174611[0] := UInt<2>(1) - T_174611[1] := UInt<2>(2) - wire T_174612 : UInt<2>[1] - T_174612[0] := UInt<2>(2) - wire T_174613 : UInt<3>[3] - T_174613[0] := UInt<3>(0) - T_174613[1] := UInt<3>(1) - T_174613[2] := UInt<3>(2) - wire T_174614 : UInt<2>[2] - T_174614[0] := UInt<2>(0) - T_174614[1] := UInt<2>(1) - wire T_174615 : UInt<2>[3] - T_174615[0] := UInt<2>(1) - T_174615[1] := UInt<2>(2) - T_174615[2] := UInt<2>(3) - wire T_174616 : UInt<2>[2] - T_174616[0] := UInt<2>(2) - T_174616[1] := UInt<2>(3) - wire T_174617 : UInt<2>[1] - T_174617[0] := UInt<2>(3) - wire T_174618 : UInt<3>[3] - T_174618[0] := UInt<3>(0) - T_174618[1] := UInt<3>(1) - T_174618[2] := UInt<3>(2) - wire T_174619 : UInt<2>[2] - T_174619[0] := UInt<2>(0) - T_174619[1] := UInt<2>(1) - wire T_174620 : UInt<2>[3] - T_174620[0] := UInt<2>(1) - T_174620[1] := UInt<2>(2) - T_174620[2] := UInt<2>(3) - wire T_174621 : UInt<2>[2] - T_174621[0] := UInt<2>(2) - T_174621[1] := UInt<2>(3) - wire T_174622 : UInt<2>[1] - T_174622[0] := UInt<2>(3) - wire T_174623 : UInt<3>[3] - T_174623[0] := UInt<3>(0) - T_174623[1] := UInt<3>(1) - T_174623[2] := UInt<3>(2) - wire T_174624 : UInt<0>[1] - T_174624[0] := UInt<0>(0) - wire T_174625 : UInt<2>[2] - T_174625[0] := UInt<2>(1) - T_174625[1] := UInt<2>(2) - wire T_174626 : UInt<2>[2] - T_174626[0] := UInt<2>(1) - T_174626[1] := UInt<2>(2) - wire T_174627 : UInt<2>[1] - T_174627[0] := UInt<2>(2) - wb.resp.valid := UInt<1>(0) - wb.req.valid := UInt<1>(0) - meta.write.valid := UInt<1>(0) - meta.resp.valid := UInt<1>(0) - meta.read.valid := UInt<1>(0) - data.write.valid := UInt<1>(0) - data.resp.valid := UInt<1>(0) - data.read.valid := UInt<1>(0) - outer.release.valid := UInt<1>(0) - outer.probe.valid := UInt<1>(0) - outer.grant.valid := UInt<1>(0) - outer.acquire.valid := UInt<1>(0) - inner.release.valid := UInt<1>(0) - inner.probe.valid := UInt<1>(0) - inner.finish.valid := UInt<1>(0) - inner.grant.valid := UInt<1>(0) - inner.acquire.valid := UInt<1>(0) - reg state : UInt<4> - onreset state := UInt<4>(0) - wire T_174628 : UInt<3>[3] - T_174628[0] := UInt<3>(0) - T_174628[1] := UInt<3>(1) - T_174628[2] := UInt<3>(2) - wire T_174629 : UInt<2>[2] - T_174629[0] := UInt<2>(0) - T_174629[1] := UInt<2>(1) - wire T_174630 : UInt<2>[3] - T_174630[0] := UInt<2>(1) - T_174630[1] := UInt<2>(2) - T_174630[2] := UInt<2>(3) - wire T_174631 : UInt<2>[2] - T_174631[0] := UInt<2>(2) - T_174631[1] := UInt<2>(3) - wire T_174632 : UInt<2>[1] - T_174632[0] := UInt<2>(3) - wire T_174633 : UInt<3>[3] - T_174633[0] := UInt<3>(0) - T_174633[1] := UInt<3>(1) - T_174633[2] := UInt<3>(2) - wire T_174634 : UInt<2>[2] - T_174634[0] := UInt<2>(0) - T_174634[1] := UInt<2>(1) - wire T_174635 : UInt<2>[3] - T_174635[0] := UInt<2>(1) - T_174635[1] := UInt<2>(2) - T_174635[2] := UInt<2>(3) - wire T_174636 : UInt<2>[2] - T_174636[0] := UInt<2>(2) - T_174636[1] := UInt<2>(3) - wire T_174637 : UInt<2>[1] - T_174637[0] := UInt<2>(3) - reg xact : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>, client_id : UInt<2>} - wire T_174638 : UInt<128>[4] - T_174638[0] := UInt<128>(0) - T_174638[1] := UInt<128>(0) - T_174638[2] := UInt<128>(0) - T_174638[3] := UInt<128>(0) - reg data_buffer : UInt<128>[4] - onreset data_buffer := T_174638 - wire T_174639 : UInt<16>[4] - T_174639[0] := UInt<16>(0) - T_174639[1] := UInt<16>(0) - T_174639[2] := UInt<16>(0) - T_174639[3] := UInt<16>(0) - reg wmask_buffer : UInt<16>[4] - onreset wmask_buffer := T_174639 - reg xact_tag_match : UInt<1> - reg xact_way_en : UInt<8> - wire T_174640 : UInt<3>[3] - T_174640[0] := UInt<3>(0) - T_174640[1] := UInt<3>(1) - T_174640[2] := UInt<3>(2) - wire T_174641 : UInt<2>[2] - T_174641[0] := UInt<2>(0) - T_174641[1] := UInt<2>(1) - wire T_174642 : UInt<2>[3] - T_174642[0] := UInt<2>(1) - T_174642[1] := UInt<2>(2) - T_174642[2] := UInt<2>(3) - wire T_174643 : UInt<2>[2] - T_174643[0] := UInt<2>(2) - T_174643[1] := UInt<2>(3) - wire T_174644 : UInt<2>[1] - T_174644[0] := UInt<2>(3) - wire T_174645 : UInt<3>[3] - T_174645[0] := UInt<3>(0) - T_174645[1] := UInt<3>(1) - T_174645[2] := UInt<3>(2) - wire T_174646 : UInt<2>[2] - T_174646[0] := UInt<2>(0) - T_174646[1] := UInt<2>(1) - wire T_174647 : UInt<2>[3] - T_174647[0] := UInt<2>(1) - T_174647[1] := UInt<2>(2) - T_174647[2] := UInt<2>(3) - wire T_174648 : UInt<2>[2] - T_174648[0] := UInt<2>(2) - T_174648[1] := UInt<2>(3) - wire T_174649 : UInt<2>[1] - T_174649[0] := UInt<2>(3) - wire T_174650 : UInt<3>[3] - T_174650[0] := UInt<3>(0) - T_174650[1] := UInt<3>(1) - T_174650[2] := UInt<3>(2) - wire T_174651 : UInt<0>[1] - T_174651[0] := UInt<0>(0) - wire T_174652 : UInt<2>[2] - T_174652[0] := UInt<2>(1) - T_174652[1] := UInt<2>(2) - wire T_174653 : UInt<2>[2] - T_174653[0] := UInt<2>(1) - T_174653[1] := UInt<2>(2) - wire T_174654 : UInt<2>[1] - T_174654[0] := UInt<2>(2) - wire T_174655 : UInt<3>[3] - T_174655[0] := UInt<3>(0) - T_174655[1] := UInt<3>(1) - T_174655[2] := UInt<3>(2) - wire T_174656 : UInt<2>[2] - T_174656[0] := UInt<2>(0) - T_174656[1] := UInt<2>(1) - wire T_174657 : UInt<2>[3] - T_174657[0] := UInt<2>(1) - T_174657[1] := UInt<2>(2) - T_174657[2] := UInt<2>(3) - wire T_174658 : UInt<2>[2] - T_174658[0] := UInt<2>(2) - T_174658[1] := UInt<2>(3) - wire T_174659 : UInt<2>[1] - T_174659[0] := UInt<2>(3) - wire T_174660 : UInt<3>[3] - T_174660[0] := UInt<3>(0) - T_174660[1] := UInt<3>(1) - T_174660[2] := UInt<3>(2) - wire T_174661 : UInt<2>[2] - T_174661[0] := UInt<2>(0) - T_174661[1] := UInt<2>(1) - wire T_174662 : UInt<2>[3] - T_174662[0] := UInt<2>(1) - T_174662[1] := UInt<2>(2) - T_174662[2] := UInt<2>(3) - wire T_174663 : UInt<2>[2] - T_174663[0] := UInt<2>(2) - T_174663[1] := UInt<2>(3) - wire T_174664 : UInt<2>[1] - T_174664[0] := UInt<2>(3) - wire T_174665 : UInt<3>[3] - T_174665[0] := UInt<3>(0) - T_174665[1] := UInt<3>(1) - T_174665[2] := UInt<3>(2) - wire T_174666 : UInt<0>[1] - T_174666[0] := UInt<0>(0) - wire T_174667 : UInt<2>[2] - T_174667[0] := UInt<2>(1) - T_174667[1] := UInt<2>(2) - wire T_174668 : UInt<2>[2] - T_174668[0] := UInt<2>(1) - T_174668[1] := UInt<2>(2) - wire T_174669 : UInt<2>[1] - T_174669[0] := UInt<2>(2) - reg xact_old_meta : {tag : UInt<14>, coh : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}} - wire T_174670 : UInt<3>[3] - T_174670[0] := UInt<3>(0) - T_174670[1] := UInt<3>(1) - T_174670[2] := UInt<3>(2) - wire T_174671 : UInt<2>[2] - T_174671[0] := UInt<2>(0) - T_174671[1] := UInt<2>(1) - wire T_174672 : UInt<2>[3] - T_174672[0] := UInt<2>(1) - T_174672[1] := UInt<2>(2) - T_174672[2] := UInt<2>(3) - wire T_174673 : UInt<2>[2] - T_174673[0] := UInt<2>(2) - T_174673[1] := UInt<2>(3) - wire T_174674 : UInt<2>[1] - T_174674[0] := UInt<2>(3) - wire T_174675 : UInt<3>[3] - T_174675[0] := UInt<3>(0) - T_174675[1] := UInt<3>(1) - T_174675[2] := UInt<3>(2) - wire T_174676 : UInt<2>[2] - T_174676[0] := UInt<2>(0) - T_174676[1] := UInt<2>(1) - wire T_174677 : UInt<2>[3] - T_174677[0] := UInt<2>(1) - T_174677[1] := UInt<2>(2) - T_174677[2] := UInt<2>(3) - wire T_174678 : UInt<2>[2] - T_174678[0] := UInt<2>(2) - T_174678[1] := UInt<2>(3) - wire T_174679 : UInt<2>[1] - T_174679[0] := UInt<2>(3) - wire T_174680 : UInt<3>[3] - T_174680[0] := UInt<3>(0) - T_174680[1] := UInt<3>(1) - T_174680[2] := UInt<3>(2) - wire T_174681 : UInt<0>[1] - T_174681[0] := UInt<0>(0) - wire T_174682 : UInt<2>[2] - T_174682[0] := UInt<2>(1) - T_174682[1] := UInt<2>(2) - wire T_174683 : UInt<2>[2] - T_174683[0] := UInt<2>(1) - T_174683[1] := UInt<2>(2) - wire T_174684 : UInt<2>[1] - T_174684[0] := UInt<2>(2) - reg pending_coh : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}} - wire T_174685 : UInt<3>[3] - T_174685[0] := UInt<3>(0) - T_174685[1] := UInt<3>(1) - T_174685[2] := UInt<3>(2) - wire T_174686 : UInt<2>[2] - T_174686[0] := UInt<2>(0) - T_174686[1] := UInt<2>(1) - wire T_174687 : UInt<2>[3] - T_174687[0] := UInt<2>(1) - T_174687[1] := UInt<2>(2) - T_174687[2] := UInt<2>(3) - wire T_174688 : UInt<2>[2] - T_174688[0] := UInt<2>(2) - T_174688[1] := UInt<2>(3) - wire T_174689 : UInt<2>[1] - T_174689[0] := UInt<2>(3) - inst ignt_q of Queue_86917 - node T_174690 = and(inner.acquire.ready, inner.acquire.valid) - node T_174691 = and(UInt<1>(1), inner.acquire.bits.is_builtin_type) - wire T_174692 : UInt<3>[1] - T_174692[0] := UInt<3>(3) - node T_174693 = eq(T_174692[0], inner.acquire.bits.a_type) - node T_174694 = or(UInt<1>(0), T_174693) - node T_174695 = and(T_174691, T_174694) - node T_174696 = and(T_174690, T_174695) - reg T_174697 : UInt<2> - onreset T_174697 := UInt<2>(0) - when T_174696 : - node T_174698 = eq(T_174697, UInt<2>(3)) - node T_174699 = and(UInt<1>(0), T_174698) - node T_174700 = addw(T_174697, UInt<1>(1)) - wire T_174701 : UInt<2> - T_174701 := T_174700 - when T_174699 : T_174701 := UInt<1>(0) - T_174697 := T_174701 - node T_174702 = and(T_174696, T_174698) - wire T_174703 : UInt<1> - T_174703 := UInt<1>(0) - when T_174695 : T_174703 := T_174697 - wire iacq_data_done : UInt<1> - iacq_data_done := T_174690 - when T_174695 : iacq_data_done := T_174702 - reg T_174704 : UInt<1> - onreset T_174704 := UInt<1>(0) - node T_174705 = and(inner.probe.ready, inner.probe.valid) - node T_174706 = and(T_174705, UInt<1>(0)) - reg T_174707 : UInt<2> - onreset T_174707 := UInt<2>(0) - when T_174706 : - node T_174708 = eq(T_174707, UInt<2>(3)) - node T_174709 = and(UInt<1>(0), T_174708) - node T_174710 = addw(T_174707, UInt<1>(1)) - wire T_174711 : UInt<2> - T_174711 := T_174710 - when T_174709 : T_174711 := UInt<1>(0) - T_174707 := T_174711 - node T_174712 = and(T_174706, T_174708) - wire T_174713 : UInt<1> - T_174713 := UInt<1>(0) - when UInt<1>(0) : T_174713 := T_174707 - wire T_174714 : UInt<1> - T_174714 := T_174705 - when UInt<1>(0) : T_174714 := T_174712 - node T_174715 = and(inner.release.ready, inner.release.valid) - node T_174716 = eq(T_174457[0], inner.release.bits.r_type) - node T_174717 = eq(T_174457[1], inner.release.bits.r_type) - node T_174718 = eq(T_174457[2], inner.release.bits.r_type) - node T_174719 = or(UInt<1>(0), T_174716) - node T_174720 = or(T_174719, T_174717) - node T_174721 = or(T_174720, T_174718) - node T_174722 = and(UInt<1>(1), T_174721) - node T_174723 = and(T_174715, T_174722) - reg T_174724 : UInt<2> - onreset T_174724 := UInt<2>(0) - when T_174723 : - node T_174725 = eq(T_174724, UInt<2>(3)) - node T_174726 = and(UInt<1>(0), T_174725) - node T_174727 = addw(T_174724, UInt<1>(1)) - wire T_174728 : UInt<2> - T_174728 := T_174727 - when T_174726 : T_174728 := UInt<1>(0) - T_174724 := T_174728 - node T_174729 = and(T_174723, T_174725) - wire T_174730 : UInt<1> - T_174730 := UInt<1>(0) - when T_174722 : T_174730 := T_174724 - wire T_174731 : UInt<1> - T_174731 := T_174715 - when T_174722 : T_174731 := T_174729 - node T_174732 = and(T_174714, UInt<1>(1)) - node T_174733 = subw(T_174704, UInt<1>(1)) - wire T_174734 : UInt<1> - T_174734 := T_174733 - when T_174732 : T_174734 := T_174704 - node T_174735 = addw(T_174704, UInt<1>(1)) - wire T_174736 : UInt<1> - T_174736 := T_174704 - when T_174732 : T_174736 := T_174735 - wire T_174737 : UInt<1> - T_174737 := T_174736 - when T_174731 : T_174737 := T_174734 - T_174704 := T_174737 - node pending_irels = gt(T_174704, UInt<1>(0)) - reg T_174738 : UInt<1> - onreset T_174738 := UInt<1>(0) - node T_174739 = and(outer.acquire.ready, outer.acquire.valid) - node T_174740 = and(UInt<1>(1), outer.acquire.bits.is_builtin_type) - wire T_174741 : UInt<3>[1] - T_174741[0] := UInt<3>(3) - node T_174742 = eq(T_174741[0], outer.acquire.bits.a_type) - node T_174743 = or(UInt<1>(0), T_174742) - node T_174744 = and(T_174740, T_174743) - node T_174745 = and(T_174739, T_174744) - reg T_174746 : UInt<2> - onreset T_174746 := UInt<2>(0) - when T_174745 : - node T_174747 = eq(T_174746, UInt<2>(3)) - node T_174748 = and(UInt<1>(0), T_174747) - node T_174749 = addw(T_174746, UInt<1>(1)) - wire T_174750 : UInt<2> - T_174750 := T_174749 - when T_174748 : T_174750 := UInt<1>(0) - T_174746 := T_174750 - node T_174751 = and(T_174745, T_174747) - wire oacq_data_idx : UInt<2> - oacq_data_idx := xact.addr_beat - when T_174744 : oacq_data_idx := T_174746 - wire oacq_data_done : UInt<1> - oacq_data_done := T_174739 - when T_174744 : oacq_data_done := T_174751 - node T_174752 = and(outer.grant.ready, outer.grant.valid) - wire T_174753 : UInt<3>[1] - T_174753[0] := UInt<3>(5) - node T_174754 = eq(T_174753[0], outer.grant.bits.g_type) - node T_174755 = or(UInt<1>(0), T_174754) - node T_174756 = eq(T_174484[0], outer.grant.bits.g_type) - node T_174757 = or(UInt<1>(0), T_174756) - wire T_174758 : UInt<1> - T_174758 := T_174757 - when outer.grant.bits.is_builtin_type : T_174758 := T_174755 - node T_174759 = and(UInt<1>(1), T_174758) - node T_174760 = and(T_174752, T_174759) - reg T_174761 : UInt<2> - onreset T_174761 := UInt<2>(0) - when T_174760 : - node T_174762 = eq(T_174761, UInt<2>(3)) - node T_174763 = and(UInt<1>(0), T_174762) - node T_174764 = addw(T_174761, UInt<1>(1)) - wire T_174765 : UInt<2> - T_174765 := T_174764 - when T_174763 : T_174765 := UInt<1>(0) - T_174761 := T_174765 - node T_174766 = and(T_174760, T_174762) - wire ognt_data_idx : UInt<2> - ognt_data_idx := xact.addr_beat - when T_174759 : ognt_data_idx := T_174761 - wire ognt_data_done : UInt<1> - ognt_data_done := T_174752 - when T_174759 : ognt_data_done := T_174766 - node T_174767 = and(oacq_data_done, UInt<1>(1)) - node T_174768 = subw(T_174738, UInt<1>(1)) - wire T_174769 : UInt<1> - T_174769 := T_174768 - when T_174767 : T_174769 := T_174738 - node T_174770 = addw(T_174738, UInt<1>(1)) - wire T_174771 : UInt<1> - T_174771 := T_174738 - when T_174767 : T_174771 := T_174770 - wire T_174772 : UInt<1> - T_174772 := T_174771 - when ognt_data_done : T_174772 := T_174769 - T_174738 := T_174772 - node pending_ognt = gt(T_174738, UInt<1>(0)) - node T_174773 = and(inner.grant.ready, inner.grant.valid) - wire T_174774 : UInt<3>[1] - T_174774[0] := UInt<3>(5) - node T_174775 = eq(T_174774[0], inner.grant.bits.g_type) - node T_174776 = or(UInt<1>(0), T_174775) - node T_174777 = eq(T_174428[0], inner.grant.bits.g_type) - node T_174778 = eq(T_174428[1], inner.grant.bits.g_type) - node T_174779 = or(UInt<1>(0), T_174777) - node T_174780 = or(T_174779, T_174778) - wire T_174781 : UInt<1> - T_174781 := T_174780 - when inner.grant.bits.is_builtin_type : T_174781 := T_174776 - node T_174782 = and(UInt<1>(1), T_174781) - node T_174783 = and(T_174773, T_174782) - reg T_174784 : UInt<2> - onreset T_174784 := UInt<2>(0) - when T_174783 : - node T_174785 = eq(T_174784, UInt<2>(3)) - node T_174786 = and(UInt<1>(0), T_174785) - node T_174787 = addw(T_174784, UInt<1>(1)) - wire T_174788 : UInt<2> - T_174788 := T_174787 - when T_174786 : T_174788 := UInt<1>(0) - T_174784 := T_174788 - node T_174789 = and(T_174783, T_174785) - wire ignt_data_idx : UInt<2> - ignt_data_idx := ignt_q.deq.bits.addr_beat - when T_174782 : ignt_data_idx := T_174784 - wire ignt_data_done : UInt<1> - ignt_data_done := T_174773 - when T_174782 : ignt_data_done := T_174789 - reg T_174790 : UInt<3> - onreset T_174790 := UInt<3>(0) - node T_174791 = and(inner.grant.ready, inner.grant.valid) - wire T_174792 : UInt<3>[1] - T_174792[0] := UInt<3>(5) - node T_174793 = eq(T_174792[0], inner.grant.bits.g_type) - node T_174794 = or(UInt<1>(0), T_174793) - node T_174795 = eq(T_174428[0], inner.grant.bits.g_type) - node T_174796 = eq(T_174428[1], inner.grant.bits.g_type) - node T_174797 = or(UInt<1>(0), T_174795) - node T_174798 = or(T_174797, T_174796) - wire T_174799 : UInt<1> - T_174799 := T_174798 - when inner.grant.bits.is_builtin_type : T_174799 := T_174794 - node T_174800 = and(UInt<1>(1), T_174799) - node T_174801 = and(T_174791, T_174800) - reg T_174802 : UInt<2> - onreset T_174802 := UInt<2>(0) - when T_174801 : - node T_174803 = eq(T_174802, UInt<2>(3)) - node T_174804 = and(UInt<1>(0), T_174803) - node T_174805 = addw(T_174802, UInt<1>(1)) - wire T_174806 : UInt<2> - T_174806 := T_174805 - when T_174804 : T_174806 := UInt<1>(0) - T_174802 := T_174806 - node T_174807 = and(T_174801, T_174803) - wire T_174808 : UInt<1> - T_174808 := UInt<1>(0) - when T_174800 : T_174808 := T_174802 - wire T_174809 : UInt<1> - T_174809 := T_174791 - when T_174800 : T_174809 := T_174807 - node T_174810 = and(inner.finish.ready, inner.finish.valid) - node T_174811 = and(T_174810, UInt<1>(0)) - reg T_174812 : UInt<2> - onreset T_174812 := UInt<2>(0) - when T_174811 : - node T_174813 = eq(T_174812, UInt<2>(3)) - node T_174814 = and(UInt<1>(0), T_174813) - node T_174815 = addw(T_174812, UInt<1>(1)) - wire T_174816 : UInt<2> - T_174816 := T_174815 - when T_174814 : T_174816 := UInt<1>(0) - T_174812 := T_174816 - node T_174817 = and(T_174811, T_174813) - wire T_174818 : UInt<1> - T_174818 := UInt<1>(0) - when UInt<1>(0) : T_174818 := T_174812 - wire T_174819 : UInt<1> - T_174819 := T_174810 - when UInt<1>(0) : T_174819 := T_174817 - node T_174820 = eq(UInt<1>(0), UInt<1>(0)) - node T_174821 = eq(inner.grant.bits.g_type, UInt<3>(0)) - node T_174822 = and(inner.grant.bits.is_builtin_type, T_174821) - node T_174823 = eq(T_174822, UInt<1>(0)) - node T_174824 = and(T_174820, T_174823) - node T_174825 = and(T_174809, T_174824) - node T_174826 = subw(T_174790, UInt<1>(1)) - wire T_174827 : UInt<3> - T_174827 := T_174826 - when T_174825 : T_174827 := T_174790 - node T_174828 = addw(T_174790, UInt<1>(1)) - wire T_174829 : UInt<3> - T_174829 := T_174790 - when T_174825 : T_174829 := T_174828 - wire T_174830 : UInt<3> - T_174830 := T_174829 - when T_174819 : T_174830 := T_174827 - T_174790 := T_174830 - node pending_ifins = gt(T_174790, UInt<1>(0)) - reg pending_puts : UInt<4> - onreset pending_puts := UInt<4>(0) - reg pending_iprbs : UInt<1> - onreset pending_iprbs := UInt<1>(0) - reg pending_reads : UInt<4> - onreset pending_reads := UInt<4>(0) - reg pending_writes : UInt<4> - onreset pending_writes := UInt<4>(0) - reg pending_resps : UInt<4> - onreset pending_resps := UInt<4>(0) - reg pending_ignt_data : UInt<4> - onreset pending_ignt_data := UInt<4>(0) - reg pending_meta_write : UInt<1> - node T_174831 = eq(pending_reads, UInt<1>(0)) - node T_174832 = eq(T_174831, UInt<1>(0)) - node T_174833 = eq(pending_writes, UInt<1>(0)) - node T_174834 = eq(T_174833, UInt<1>(0)) - node T_174835 = or(T_174832, T_174834) - node T_174836 = eq(pending_resps, UInt<1>(0)) - node T_174837 = eq(T_174836, UInt<1>(0)) - node T_174838 = or(T_174835, T_174837) - node T_174839 = eq(pending_puts, UInt<1>(0)) - node T_174840 = eq(T_174839, UInt<1>(0)) - node T_174841 = or(T_174838, T_174840) - node T_174842 = or(T_174841, pending_ognt) - node T_174843 = gt(ignt_q.count, UInt<1>(0)) - node T_174844 = or(T_174842, T_174843) - node T_174845 = or(T_174844, pending_ifins) - node all_pending_done = eq(T_174845, UInt<1>(0)) - inst amoalu of AMOALU_87374 - node T_174846 = bits(xact.union, 12, 9) - node T_174847 = cat(xact.addr_beat, T_174846) - node T_174848 = cat(xact.addr_block, T_174847) - amoalu.addr := T_174848 - node T_174849 = eq(xact.a_type, UInt<3>(2)) - node T_174850 = and(xact.is_builtin_type, T_174849) - node T_174851 = eq(xact.a_type, UInt<3>(3)) - node T_174852 = and(xact.is_builtin_type, T_174851) - node T_174853 = or(T_174850, T_174852) - node T_174854 = bits(xact.union, 5, 1) - wire T_174855 : UInt<5> - T_174855 := T_174854 - when T_174853 : T_174855 := UInt<5>(1) - amoalu.cmd := T_174855 - node T_174856 = bits(xact.union, 8, 6) - amoalu.typ := T_174856 - amoalu.lhs := data.resp.bits.data - amoalu.rhs := data_buffer[0] - node T_174857 = eq(xact.a_type, UInt<3>(0)) - node T_174858 = and(xact.is_builtin_type, T_174857) - node T_174859 = eq(inner.acquire.bits.a_type, UInt<3>(0)) - node T_174860 = and(inner.acquire.bits.is_builtin_type, T_174859) - node T_174861 = and(T_174858, T_174860) - node T_174862 = eq(xact.client_id, inner.acquire.bits.client_id) - node T_174863 = and(T_174861, T_174862) - node T_174864 = eq(xact.addr_block, inner.acquire.bits.addr_block) - node T_174865 = and(T_174863, T_174864) - node T_174866 = neq(state, UInt<4>(0)) - node T_174867 = and(T_174865, T_174866) - node T_174868 = neq(state, UInt<4>(8)) - node T_174869 = and(T_174867, T_174868) - node T_174870 = eq(all_pending_done, UInt<1>(0)) - node T_174871 = and(T_174869, T_174870) - node T_174872 = bit(xact.union, 0) - node T_174873 = and(T_174871, T_174872) - node T_174874 = and(inner.release.ready, inner.release.valid) - node T_174875 = eq(T_174874, UInt<1>(0)) - node T_174876 = and(T_174873, T_174875) - node T_174877 = and(outer.grant.ready, outer.grant.valid) - node T_174878 = eq(T_174877, UInt<1>(0)) - node T_174879 = and(T_174876, T_174878) - node T_174880 = eq(data.resp.valid, UInt<1>(0)) - node T_174881 = and(T_174879, T_174880) - node can_merge_iacq_get = and(T_174881, ignt_q.enq.ready) - node T_174882 = eq(xact.a_type, UInt<3>(2)) - node T_174883 = and(xact.is_builtin_type, T_174882) - node T_174884 = eq(inner.acquire.bits.a_type, UInt<3>(2)) - node T_174885 = and(inner.acquire.bits.is_builtin_type, T_174884) - node T_174886 = and(T_174883, T_174885) - node T_174887 = eq(xact.a_type, UInt<3>(3)) - node T_174888 = and(xact.is_builtin_type, T_174887) - node T_174889 = eq(inner.acquire.bits.a_type, UInt<3>(3)) - node T_174890 = and(inner.acquire.bits.is_builtin_type, T_174889) - node T_174891 = and(T_174888, T_174890) - node T_174892 = or(T_174886, T_174891) - node T_174893 = eq(xact.client_id, inner.acquire.bits.client_id) - node T_174894 = and(T_174892, T_174893) - node T_174895 = eq(xact.addr_block, inner.acquire.bits.addr_block) - node T_174896 = and(T_174894, T_174895) - node T_174897 = neq(state, UInt<4>(0)) - node T_174898 = and(T_174896, T_174897) - node T_174899 = neq(state, UInt<4>(8)) - node T_174900 = and(T_174898, T_174899) - node T_174901 = eq(all_pending_done, UInt<1>(0)) - node T_174902 = and(T_174900, T_174901) - node T_174903 = bit(xact.union, 0) - node T_174904 = eq(xact.a_type, UInt<3>(3)) - node T_174905 = and(xact.is_builtin_type, T_174904) - node T_174906 = or(T_174903, T_174905) - node T_174907 = and(T_174902, T_174906) - node T_174908 = and(inner.release.ready, inner.release.valid) - node T_174909 = eq(T_174908, UInt<1>(0)) - node T_174910 = and(T_174907, T_174909) - node T_174911 = and(outer.grant.ready, outer.grant.valid) - node T_174912 = eq(T_174911, UInt<1>(0)) - node T_174913 = and(T_174910, T_174912) - node T_174914 = eq(data.resp.valid, UInt<1>(0)) - node T_174915 = and(T_174913, T_174914) - node can_merge_iacq_put = and(T_174915, ignt_q.enq.ready) - node T_174916 = eq(state, UInt<4>(0)) - node T_174917 = or(T_174916, can_merge_iacq_put) - node T_174918 = or(T_174917, can_merge_iacq_get) - inner.acquire.ready := T_174918 - ignt_q.enq.valid := iacq_data_done - ignt_q.enq.bits.client_xact_id := inner.acquire.bits.client_xact_id - ignt_q.enq.bits.addr_beat := inner.acquire.bits.addr_beat - node T_174919 = and(inner.acquire.ready, inner.acquire.valid) - wire T_174920 : UInt<3>[3] - T_174920[0] := UInt<3>(2) - T_174920[1] := UInt<3>(3) - T_174920[2] := UInt<3>(4) - node T_174921 = eq(T_174920[0], inner.acquire.bits.a_type) - node T_174922 = eq(T_174920[1], inner.acquire.bits.a_type) - node T_174923 = eq(T_174920[2], inner.acquire.bits.a_type) - node T_174924 = or(UInt<1>(0), T_174921) - node T_174925 = or(T_174924, T_174922) - node T_174926 = or(T_174925, T_174923) - node T_174927 = and(inner.acquire.bits.is_builtin_type, T_174926) - node T_174928 = and(T_174919, T_174927) - node T_174929 = subw(UInt<4>(0), UInt<3>(4)) - node T_174930 = not(T_174929) - node T_174931 = dshl(UInt<1>(1), inner.acquire.bits.addr_beat) - node T_174932 = not(T_174931) - node T_174933 = or(T_174930, T_174932) - node T_174934 = and(pending_puts, T_174933) - pending_puts := T_174934 - node T_174935 = eq(state, UInt<4>(1)) - meta.read.valid := T_174935 - meta.read.bits.id := UInt<2>(2) - node T_174936 = bits(xact.addr_block, 11, 0) - meta.read.bits.idx := T_174936 - node T_174937 = dshr(xact.addr_block, UInt<4>(12)) - meta.read.bits.tag := T_174937 - node T_174938 = eq(state, UInt<4>(3)) - wb.req.valid := T_174938 - wb.req.bits.id := UInt<2>(2) - node T_174939 = bits(xact.addr_block, 11, 0) - wb.req.bits.idx := T_174939 - wb.req.bits.tag := xact_old_meta.tag - wb.req.bits.coh := xact_old_meta.coh - wb.req.bits.way_en := xact_way_en - node T_174940 = and(inner.probe.ready, inner.probe.valid) - node T_174941 = not(T_174940) - node T_174942 = dshl(UInt<1>(1), inner.probe.bits.client_id) - node T_174943 = not(T_174942) - node T_174944 = or(T_174941, T_174943) - node T_174945 = and(pending_iprbs, T_174944) - pending_iprbs := T_174945 - node T_174946 = bit(pending_iprbs, 0) - wire T_174947 : UInt<1>[1] - T_174947[0] := T_174946 - node T_174948 = eq(state, UInt<4>(5)) - node T_174949 = eq(pending_iprbs, UInt<1>(0)) - node T_174950 = eq(T_174949, UInt<1>(0)) - node T_174951 = and(T_174948, T_174950) - inner.probe.valid := T_174951 - node T_174952 = eq(UInt<3>(4), xact.a_type) - wire T_174953 : UInt<2> - T_174953 := UInt<2>(2) - when T_174952 : T_174953 := UInt<2>(0) - node T_174954 = eq(UInt<3>(2), xact.a_type) - wire T_174955 : UInt<2> - T_174955 := T_174953 - when T_174954 : T_174955 := UInt<2>(0) - node T_174956 = eq(UInt<3>(0), xact.a_type) - wire T_174957 : UInt<2> - T_174957 := T_174955 - when T_174956 : T_174957 := UInt<2>(2) - node T_174958 = eq(UInt<3>(3), xact.a_type) - wire T_174959 : UInt<2> - T_174959 := T_174957 - when T_174958 : T_174959 := UInt<2>(0) - node T_174960 = eq(UInt<3>(1), xact.a_type) - wire T_174961 : UInt<2> - T_174961 := T_174959 - when T_174960 : T_174961 := UInt<2>(2) - node T_174962 = eq(UInt<1>(1), xact.a_type) - wire T_174963 : UInt<2> - T_174963 := UInt<2>(2) - when T_174962 : T_174963 := UInt<2>(0) - node T_174964 = eq(UInt<1>(0), xact.a_type) - wire T_174965 : UInt<2> - T_174965 := T_174963 - when T_174964 : T_174965 := UInt<2>(1) - wire T_174966 : UInt<2> - T_174966 := T_174965 - when xact.is_builtin_type : T_174966 := T_174961 - wire T_174967 : UInt<3>[3] - T_174967[0] := UInt<3>(0) - T_174967[1] := UInt<3>(1) - T_174967[2] := UInt<3>(2) - wire T_174968 : UInt<2>[2] - T_174968[0] := UInt<2>(0) - T_174968[1] := UInt<2>(1) - wire T_174969 : UInt<2>[3] - T_174969[0] := UInt<2>(1) - T_174969[1] := UInt<2>(2) - T_174969[2] := UInt<2>(3) - wire T_174970 : UInt<2>[2] - T_174970[0] := UInt<2>(2) - T_174970[1] := UInt<2>(3) - wire T_174971 : UInt<2>[1] - T_174971[0] := UInt<2>(3) - wire T_174972 : UInt<3>[3] - T_174972[0] := UInt<3>(0) - T_174972[1] := UInt<3>(1) - T_174972[2] := UInt<3>(2) - wire T_174973 : UInt<2>[2] - T_174973[0] := UInt<2>(0) - T_174973[1] := UInt<2>(1) - wire T_174974 : UInt<2>[3] - T_174974[0] := UInt<2>(1) - T_174974[1] := UInt<2>(2) - T_174974[2] := UInt<2>(3) - wire T_174975 : UInt<2>[2] - T_174975[0] := UInt<2>(2) - T_174975[1] := UInt<2>(3) - wire T_174976 : UInt<2>[1] - T_174976[0] := UInt<2>(3) - wire T_174977 : {addr_block : UInt<26>, p_type : UInt<2>, client_id : UInt<2>} - T_174977.client_id := UInt<1>(0) - T_174977.p_type := T_174966 - T_174977.addr_block := xact.addr_block - inner.probe.bits := T_174977 - node T_174978 = eq(state, UInt<4>(5)) - inner.release.ready := T_174978 - node T_174979 = dshl(UInt<1>(1), inner.release.bits.client_id) - node T_174980 = not(T_174979) - node T_174981 = and(pending_coh.inner.sharers, T_174980) - wire T_174982 : UInt<3>[3] - T_174982[0] := UInt<3>(0) - T_174982[1] := UInt<3>(1) - T_174982[2] := UInt<3>(2) - wire T_174983 : UInt<2>[2] - T_174983[0] := UInt<2>(0) - T_174983[1] := UInt<2>(1) - wire T_174984 : UInt<2>[3] - T_174984[0] := UInt<2>(1) - T_174984[1] := UInt<2>(2) - T_174984[2] := UInt<2>(3) - wire T_174985 : UInt<2>[2] - T_174985[0] := UInt<2>(2) - T_174985[1] := UInt<2>(3) - wire T_174986 : UInt<2>[1] - T_174986[0] := UInt<2>(3) - wire T_174987 : UInt<3>[3] - T_174987[0] := UInt<3>(0) - T_174987[1] := UInt<3>(1) - T_174987[2] := UInt<3>(2) - wire T_174988 : UInt<2>[2] - T_174988[0] := UInt<2>(0) - T_174988[1] := UInt<2>(1) - wire T_174989 : UInt<2>[3] - T_174989[0] := UInt<2>(1) - T_174989[1] := UInt<2>(2) - T_174989[2] := UInt<2>(3) - wire T_174990 : UInt<2>[2] - T_174990[0] := UInt<2>(2) - T_174990[1] := UInt<2>(3) - wire T_174991 : UInt<2>[1] - T_174991[0] := UInt<2>(3) - wire T_174992 : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>} - T_174992.sharers := T_174981 - node T_174993 = eq(inner.release.bits.r_type, UInt<3>(0)) - node T_174994 = eq(inner.release.bits.r_type, UInt<3>(3)) - wire T_174995 : UInt<3>[3] - T_174995[0] := UInt<3>(0) - T_174995[1] := UInt<3>(1) - T_174995[2] := UInt<3>(2) - wire T_174996 : UInt<2>[2] - T_174996[0] := UInt<2>(0) - T_174996[1] := UInt<2>(1) - wire T_174997 : UInt<2>[3] - T_174997[0] := UInt<2>(1) - T_174997[1] := UInt<2>(2) - T_174997[2] := UInt<2>(3) - wire T_174998 : UInt<2>[2] - T_174998[0] := UInt<2>(2) - T_174998[1] := UInt<2>(3) - wire T_174999 : UInt<2>[1] - T_174999[0] := UInt<2>(3) - wire T_175000 : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>} - T_175000 := pending_coh.inner - when T_174994 : T_175000 := T_174992 - wire T_175001 : UInt<3>[3] - T_175001[0] := UInt<3>(0) - T_175001[1] := UInt<3>(1) - T_175001[2] := UInt<3>(2) - wire T_175002 : UInt<2>[2] - T_175002[0] := UInt<2>(0) - T_175002[1] := UInt<2>(1) - wire T_175003 : UInt<2>[3] - T_175003[0] := UInt<2>(1) - T_175003[1] := UInt<2>(2) - T_175003[2] := UInt<2>(3) - wire T_175004 : UInt<2>[2] - T_175004[0] := UInt<2>(2) - T_175004[1] := UInt<2>(3) - wire T_175005 : UInt<2>[1] - T_175005[0] := UInt<2>(3) - wire T_175006 : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>} - T_175006 := T_175000 - when T_174993 : T_175006 := T_174992 - node T_175007 = eq(T_174457[0], inner.release.bits.r_type) - node T_175008 = eq(T_174457[1], inner.release.bits.r_type) - node T_175009 = eq(T_174457[2], inner.release.bits.r_type) - node T_175010 = or(UInt<1>(0), T_175007) - node T_175011 = or(T_175010, T_175008) - node T_175012 = or(T_175011, T_175009) - node T_175013 = eq(UInt<5>(1), UInt<5>(1)) - node T_175014 = eq(UInt<5>(1), UInt<5>(7)) - node T_175015 = or(T_175013, T_175014) - node T_175016 = eq(UInt<5>(1), UInt<5>(4)) - node T_175017 = or(UInt<1>(0), T_175016) - node T_175018 = or(T_175015, T_175017) - wire T_175019 : UInt<2> - T_175019 := pending_coh.outer.state - when T_175018 : T_175019 := UInt<2>(2) - wire T_175020 : UInt<3>[3] - T_175020[0] := UInt<3>(0) - T_175020[1] := UInt<3>(1) - T_175020[2] := UInt<3>(2) - wire T_175021 : UInt<0>[1] - T_175021[0] := UInt<0>(0) - wire T_175022 : UInt<2>[2] - T_175022[0] := UInt<2>(1) - T_175022[1] := UInt<2>(2) - wire T_175023 : UInt<2>[2] - T_175023[0] := UInt<2>(1) - T_175023[1] := UInt<2>(2) - wire T_175024 : UInt<2>[1] - T_175024[0] := UInt<2>(2) - wire T_175025 : UInt<3>[3] - T_175025[0] := UInt<3>(0) - T_175025[1] := UInt<3>(1) - T_175025[2] := UInt<3>(2) - wire T_175026 : UInt<0>[1] - T_175026[0] := UInt<0>(0) - wire T_175027 : UInt<2>[2] - T_175027[0] := UInt<2>(1) - T_175027[1] := UInt<2>(2) - wire T_175028 : UInt<2>[2] - T_175028[0] := UInt<2>(1) - T_175028[1] := UInt<2>(2) - wire T_175029 : UInt<2>[1] - T_175029[0] := UInt<2>(2) - wire T_175030 : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>} - T_175030.state := T_175019 - wire T_175031 : UInt<3>[3] - T_175031[0] := UInt<3>(0) - T_175031[1] := UInt<3>(1) - T_175031[2] := UInt<3>(2) - wire T_175032 : UInt<2>[2] - T_175032[0] := UInt<2>(0) - T_175032[1] := UInt<2>(1) - wire T_175033 : UInt<2>[3] - T_175033[0] := UInt<2>(1) - T_175033[1] := UInt<2>(2) - T_175033[2] := UInt<2>(3) - wire T_175034 : UInt<2>[2] - T_175034[0] := UInt<2>(2) - T_175034[1] := UInt<2>(3) - wire T_175035 : UInt<2>[1] - T_175035[0] := UInt<2>(3) - wire T_175036 : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>} - T_175036 := pending_coh.outer - when T_175012 : T_175036 := T_175030 - wire T_175037 : UInt<3>[3] - T_175037[0] := UInt<3>(0) - T_175037[1] := UInt<3>(1) - T_175037[2] := UInt<3>(2) - wire T_175038 : UInt<2>[2] - T_175038[0] := UInt<2>(0) - T_175038[1] := UInt<2>(1) - wire T_175039 : UInt<2>[3] - T_175039[0] := UInt<2>(1) - T_175039[1] := UInt<2>(2) - T_175039[2] := UInt<2>(3) - wire T_175040 : UInt<2>[2] - T_175040[0] := UInt<2>(2) - T_175040[1] := UInt<2>(3) - wire T_175041 : UInt<2>[1] - T_175041[0] := UInt<2>(3) - wire T_175042 : UInt<3>[3] - T_175042[0] := UInt<3>(0) - T_175042[1] := UInt<3>(1) - T_175042[2] := UInt<3>(2) - wire T_175043 : UInt<2>[2] - T_175043[0] := UInt<2>(0) - T_175043[1] := UInt<2>(1) - wire T_175044 : UInt<2>[3] - T_175044[0] := UInt<2>(1) - T_175044[1] := UInt<2>(2) - T_175044[2] := UInt<2>(3) - wire T_175045 : UInt<2>[2] - T_175045[0] := UInt<2>(2) - T_175045[1] := UInt<2>(3) - wire T_175046 : UInt<2>[1] - T_175046[0] := UInt<2>(3) - wire T_175047 : UInt<3>[3] - T_175047[0] := UInt<3>(0) - T_175047[1] := UInt<3>(1) - T_175047[2] := UInt<3>(2) - wire T_175048 : UInt<0>[1] - T_175048[0] := UInt<0>(0) - wire T_175049 : UInt<2>[2] - T_175049[0] := UInt<2>(1) - T_175049[1] := UInt<2>(2) - wire T_175050 : UInt<2>[2] - T_175050[0] := UInt<2>(1) - T_175050[1] := UInt<2>(2) - wire T_175051 : UInt<2>[1] - T_175051[0] := UInt<2>(2) - wire T_175052 : UInt<3>[3] - T_175052[0] := UInt<3>(0) - T_175052[1] := UInt<3>(1) - T_175052[2] := UInt<3>(2) - wire T_175053 : UInt<2>[2] - T_175053[0] := UInt<2>(0) - T_175053[1] := UInt<2>(1) - wire T_175054 : UInt<2>[3] - T_175054[0] := UInt<2>(1) - T_175054[1] := UInt<2>(2) - T_175054[2] := UInt<2>(3) - wire T_175055 : UInt<2>[2] - T_175055[0] := UInt<2>(2) - T_175055[1] := UInt<2>(3) - wire T_175056 : UInt<2>[1] - T_175056[0] := UInt<2>(3) - wire T_175057 : UInt<3>[3] - T_175057[0] := UInt<3>(0) - T_175057[1] := UInt<3>(1) - T_175057[2] := UInt<3>(2) - wire T_175058 : UInt<2>[2] - T_175058[0] := UInt<2>(0) - T_175058[1] := UInt<2>(1) - wire T_175059 : UInt<2>[3] - T_175059[0] := UInt<2>(1) - T_175059[1] := UInt<2>(2) - T_175059[2] := UInt<2>(3) - wire T_175060 : UInt<2>[2] - T_175060[0] := UInt<2>(2) - T_175060[1] := UInt<2>(3) - wire T_175061 : UInt<2>[1] - T_175061[0] := UInt<2>(3) - wire T_175062 : UInt<3>[3] - T_175062[0] := UInt<3>(0) - T_175062[1] := UInt<3>(1) - T_175062[2] := UInt<3>(2) - wire T_175063 : UInt<0>[1] - T_175063[0] := UInt<0>(0) - wire T_175064 : UInt<2>[2] - T_175064[0] := UInt<2>(1) - T_175064[1] := UInt<2>(2) - wire T_175065 : UInt<2>[2] - T_175065[0] := UInt<2>(1) - T_175065[1] := UInt<2>(2) - wire T_175066 : UInt<2>[1] - T_175066[0] := UInt<2>(2) - wire pending_coh_on_irel : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}} - pending_coh_on_irel.inner := T_175006 - pending_coh_on_irel.outer := T_175036 - node T_175067 = and(inner.release.ready, inner.release.valid) - - - node T_175068 = eq(pending_coh.inner.sharers, pending_coh_on_irel.inner.sharers) - node T_175069 = eq(pending_coh.outer.state, pending_coh_on_irel.outer.state) - node T_175070 = and(T_175068, T_175069) - node T_175071 = eq(T_175070, UInt<1>(0)) - node T_175072 = and(T_175067, T_175071) - when T_175072 : - pending_meta_write := UInt<1>(1) - pending_coh := pending_coh_on_irel - - - node T_175073 = and(inner.release.ready, inner.release.valid) - node T_175074 = eq(T_174457[0], inner.release.bits.r_type) - node T_175075 = eq(T_174457[1], inner.release.bits.r_type) - node T_175076 = eq(T_174457[2], inner.release.bits.r_type) - node T_175077 = or(UInt<1>(0), T_175074) - node T_175078 = or(T_175077, T_175075) - node T_175079 = or(T_175078, T_175076) - node T_175080 = and(T_175073, T_175079) - when T_175080 : - accessor T_175081 = data_buffer[inner.release.bits.addr_beat] - node T_175082 = bits(xact.union, 12, 9) - node T_175083 = bits(T_175082, 3, 3) - node T_175084 = mul(UInt<7>(64), T_175083) - node T_175085 = dshr(inner.release.bits.data, T_175084) - amoalu.lhs := T_175085 - node T_175086 = bits(xact.union, 12, 9) - node T_175087 = bits(T_175086, 3, 3) - node T_175088 = mul(UInt<7>(64), T_175087) - node T_175089 = dshr(T_175081, T_175088) - amoalu.rhs := T_175089 - accessor T_175090 = wmask_buffer[inner.release.bits.addr_beat] - node T_175091 = bit(T_175090, 0) - node T_175092 = bit(T_175090, 1) - node T_175093 = bit(T_175090, 2) - node T_175094 = bit(T_175090, 3) - node T_175095 = bit(T_175090, 4) - node T_175096 = bit(T_175090, 5) - node T_175097 = bit(T_175090, 6) - node T_175098 = bit(T_175090, 7) - node T_175099 = bit(T_175090, 8) - node T_175100 = bit(T_175090, 9) - node T_175101 = bit(T_175090, 10) - node T_175102 = bit(T_175090, 11) - node T_175103 = bit(T_175090, 12) - node T_175104 = bit(T_175090, 13) - node T_175105 = bit(T_175090, 14) - node T_175106 = bit(T_175090, 15) - wire T_175107 : UInt<1>[16] - T_175107[0] := T_175091 - T_175107[1] := T_175092 - T_175107[2] := T_175093 - T_175107[3] := T_175094 - T_175107[4] := T_175095 - T_175107[5] := T_175096 - T_175107[6] := T_175097 - T_175107[7] := T_175098 - T_175107[8] := T_175099 - T_175107[9] := T_175100 - T_175107[10] := T_175101 - T_175107[11] := T_175102 - T_175107[12] := T_175103 - T_175107[13] := T_175104 - T_175107[14] := T_175105 - T_175107[15] := T_175106 - node T_175108 = subw(UInt<8>(0), UInt<4>(8)) - node T_175109 = subw(UInt<8>(0), UInt<4>(8)) - node T_175110 = subw(UInt<8>(0), UInt<4>(8)) - node T_175111 = subw(UInt<8>(0), UInt<4>(8)) - node T_175112 = subw(UInt<8>(0), UInt<4>(8)) - node T_175113 = subw(UInt<8>(0), UInt<4>(8)) - node T_175114 = subw(UInt<8>(0), UInt<4>(8)) - node T_175115 = subw(UInt<8>(0), UInt<4>(8)) - node T_175116 = subw(UInt<8>(0), UInt<4>(8)) - node T_175117 = subw(UInt<8>(0), UInt<4>(8)) - node T_175118 = subw(UInt<8>(0), UInt<4>(8)) - node T_175119 = subw(UInt<8>(0), UInt<4>(8)) - node T_175120 = subw(UInt<8>(0), UInt<4>(8)) - node T_175121 = subw(UInt<8>(0), UInt<4>(8)) - node T_175122 = subw(UInt<8>(0), UInt<4>(8)) - node T_175123 = subw(UInt<8>(0), UInt<4>(8)) - wire T_175124 : UInt<8>[16] - T_175124[0] := T_175108 - T_175124[1] := T_175109 - T_175124[2] := T_175110 - T_175124[3] := T_175111 - T_175124[4] := T_175112 - T_175124[5] := T_175113 - T_175124[6] := T_175114 - T_175124[7] := T_175115 - T_175124[8] := T_175116 - T_175124[9] := T_175117 - T_175124[10] := T_175118 - T_175124[11] := T_175119 - T_175124[12] := T_175120 - T_175124[13] := T_175121 - T_175124[14] := T_175122 - T_175124[15] := T_175123 - node T_175125 = cat(T_175124[15], T_175124[14]) - node T_175126 = cat(T_175124[13], T_175124[12]) - node T_175127 = cat(T_175125, T_175126) - node T_175128 = cat(T_175124[11], T_175124[10]) - node T_175129 = cat(T_175124[9], T_175124[8]) - node T_175130 = cat(T_175128, T_175129) - node T_175131 = cat(T_175127, T_175130) - node T_175132 = cat(T_175124[7], T_175124[6]) - node T_175133 = cat(T_175124[5], T_175124[4]) - node T_175134 = cat(T_175132, T_175133) - node T_175135 = cat(T_175124[3], T_175124[2]) - node T_175136 = cat(T_175124[1], T_175124[0]) - node T_175137 = cat(T_175135, T_175136) - node T_175138 = cat(T_175134, T_175137) - node T_175139 = cat(T_175131, T_175138) - accessor T_175140 = data_buffer[inner.release.bits.addr_beat] - node T_175141 = not(T_175139) - node T_175142 = and(T_175141, inner.release.bits.data) - node T_175143 = eq(xact.a_type, UInt<3>(4)) - node T_175144 = and(xact.is_builtin_type, T_175143) - node T_175145 = bits(xact.union, 12, 9) - node T_175146 = bits(T_175145, 3, 3) - node T_175147 = mul(UInt<7>(64), T_175146) - node T_175148 = dshl(amoalu.out, T_175147) - wire T_175149 : UInt<128> - T_175149 := T_175081 - when T_175144 : T_175149 := T_175148 - node T_175150 = and(T_175139, T_175149) - node T_175151 = or(T_175142, T_175150) - T_175140 := T_175151 - accessor T_175152 = wmask_buffer[inner.release.bits.addr_beat] - T_175152 := SInt<1>(-1) - - - node T_175153 = eq(xact.a_type, UInt<3>(4)) - node T_175154 = eq(xact.addr_beat, inner.release.bits.addr_beat) - node T_175155 = and(T_175153, T_175154) - when T_175155 : xact.data := inner.release.bits.data - node T_175156 = eq(state, UInt<4>(6)) - node T_175157 = bit(xact.union, 0) - node T_175158 = dshr(pending_puts, oacq_data_idx) - node T_175159 = bit(T_175158, 0) - node T_175160 = eq(T_175159, UInt<1>(0)) - node T_175161 = or(T_175157, T_175160) - node T_175162 = and(T_175156, T_175161) - outer.acquire.valid := T_175162 - node T_175163 = bit(xact.union, 0) - node T_175164 = eq(xact.a_type, UInt<3>(2)) - node T_175165 = and(xact.is_builtin_type, T_175164) - node T_175166 = eq(xact.a_type, UInt<3>(3)) - node T_175167 = and(xact.is_builtin_type, T_175166) - node T_175168 = or(T_175165, T_175167) - node T_175169 = bits(xact.union, 5, 1) - wire T_175170 : UInt<5> - T_175170 := T_175169 - when T_175168 : T_175170 := UInt<5>(1) - node T_175171 = eq(T_175170, UInt<5>(1)) - node T_175172 = eq(T_175170, UInt<5>(7)) - node T_175173 = or(T_175171, T_175172) - node T_175174 = bit(T_175170, 3) - node T_175175 = eq(T_175170, UInt<5>(4)) - node T_175176 = or(T_175174, T_175175) - node T_175177 = or(T_175173, T_175176) - node T_175178 = eq(T_175170, UInt<5>(3)) - node T_175179 = or(T_175177, T_175178) - node T_175180 = eq(T_175170, UInt<5>(6)) - node T_175181 = or(T_175179, T_175180) - wire T_175182 : UInt<1> - T_175182 := UInt<1>(0) - when T_175181 : T_175182 := UInt<1>(1) - node T_175183 = cat(T_175170, UInt<1>(1)) - wire T_175184 : UInt<3>[3] - T_175184[0] := UInt<3>(0) - T_175184[1] := UInt<3>(1) - T_175184[2] := UInt<3>(2) - wire T_175185 : UInt<0>[1] - T_175185[0] := UInt<0>(0) - wire T_175186 : UInt<2>[2] - T_175186[0] := UInt<2>(1) - T_175186[1] := UInt<2>(2) - wire T_175187 : UInt<2>[2] - T_175187[0] := UInt<2>(1) - T_175187[1] := UInt<2>(2) - wire T_175188 : UInt<2>[1] - T_175188[0] := UInt<2>(2) - wire T_175189 : UInt<3>[3] - T_175189[0] := UInt<3>(0) - T_175189[1] := UInt<3>(1) - T_175189[2] := UInt<3>(2) - wire T_175190 : UInt<0>[1] - T_175190[0] := UInt<0>(0) - wire T_175191 : UInt<2>[2] - T_175191[0] := UInt<2>(1) - T_175191[1] := UInt<2>(2) - wire T_175192 : UInt<2>[2] - T_175192[0] := UInt<2>(1) - T_175192[1] := UInt<2>(2) - wire T_175193 : UInt<2>[1] - T_175193[0] := UInt<2>(2) - wire T_175194 : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>} - T_175194.is_builtin_type := UInt<1>(0) - T_175194.a_type := T_175182 - T_175194.client_xact_id := UInt<1>(0) - T_175194.addr_block := xact.addr_block - T_175194.addr_beat := UInt<1>(0) - T_175194.data := UInt<1>(0) - T_175194.union := T_175183 - wire T_175195 : UInt<3>[3] - T_175195[0] := UInt<3>(0) - T_175195[1] := UInt<3>(1) - T_175195[2] := UInt<3>(2) - wire T_175196 : UInt<0>[1] - T_175196[0] := UInt<0>(0) - wire T_175197 : UInt<2>[2] - T_175197[0] := UInt<2>(1) - T_175197[1] := UInt<2>(2) - wire T_175198 : UInt<2>[2] - T_175198[0] := UInt<2>(1) - T_175198[1] := UInt<2>(2) - wire T_175199 : UInt<2>[1] - T_175199[0] := UInt<2>(2) - wire T_175200 : UInt<3>[3] - T_175200[0] := UInt<3>(0) - T_175200[1] := UInt<3>(1) - T_175200[2] := UInt<3>(2) - wire T_175201 : UInt<0>[1] - T_175201[0] := UInt<0>(0) - wire T_175202 : UInt<2>[2] - T_175202[0] := UInt<2>(1) - T_175202[1] := UInt<2>(2) - wire T_175203 : UInt<2>[2] - T_175203[0] := UInt<2>(1) - T_175203[1] := UInt<2>(2) - wire T_175204 : UInt<2>[1] - T_175204[0] := UInt<2>(2) - wire T_175205 : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>} - T_175205 := xact - wire T_175206 : UInt<3>[3] - T_175206[0] := UInt<3>(0) - T_175206[1] := UInt<3>(1) - T_175206[2] := UInt<3>(2) - wire T_175207 : UInt<2>[2] - T_175207[0] := UInt<2>(0) - T_175207[1] := UInt<2>(1) - wire T_175208 : UInt<2>[3] - T_175208[0] := UInt<2>(1) - T_175208[1] := UInt<2>(2) - T_175208[2] := UInt<2>(3) - wire T_175209 : UInt<2>[2] - T_175209[0] := UInt<2>(2) - T_175209[1] := UInt<2>(3) - wire T_175210 : UInt<2>[1] - T_175210[0] := UInt<2>(3) - wire T_175211 : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>} - T_175211 := T_175205 - when T_175163 : T_175211 := T_175194 - outer.acquire.bits := T_175211 - accessor T_175212 = data_buffer[oacq_data_idx] - outer.acquire.bits.data := T_175212 - node T_175213 = eq(state, UInt<4>(7)) - outer.grant.ready := T_175213 - wire T_175214 : UInt<3>[3] - T_175214[0] := UInt<3>(0) - T_175214[1] := UInt<3>(1) - T_175214[2] := UInt<3>(2) - wire T_175215 : UInt<2>[2] - T_175215[0] := UInt<2>(0) - T_175215[1] := UInt<2>(1) - wire T_175216 : UInt<2>[3] - T_175216[0] := UInt<2>(1) - T_175216[1] := UInt<2>(2) - T_175216[2] := UInt<2>(3) - wire T_175217 : UInt<2>[2] - T_175217[0] := UInt<2>(2) - T_175217[1] := UInt<2>(3) - wire T_175218 : UInt<2>[1] - T_175218[0] := UInt<2>(3) - wire T_175219 : UInt<3>[3] - T_175219[0] := UInt<3>(0) - T_175219[1] := UInt<3>(1) - T_175219[2] := UInt<3>(2) - wire T_175220 : UInt<2>[2] - T_175220[0] := UInt<2>(0) - T_175220[1] := UInt<2>(1) - wire T_175221 : UInt<2>[3] - T_175221[0] := UInt<2>(1) - T_175221[1] := UInt<2>(2) - T_175221[2] := UInt<2>(3) - wire T_175222 : UInt<2>[2] - T_175222[0] := UInt<2>(2) - T_175222[1] := UInt<2>(3) - wire T_175223 : UInt<2>[1] - T_175223[0] := UInt<2>(3) - wire T_175224 : UInt<3>[3] - T_175224[0] := UInt<3>(0) - T_175224[1] := UInt<3>(1) - T_175224[2] := UInt<3>(2) - wire T_175225 : UInt<2>[2] - T_175225[0] := UInt<2>(0) - T_175225[1] := UInt<2>(1) - wire T_175226 : UInt<2>[3] - T_175226[0] := UInt<2>(1) - T_175226[1] := UInt<2>(2) - T_175226[2] := UInt<2>(3) - wire T_175227 : UInt<2>[2] - T_175227[0] := UInt<2>(2) - T_175227[1] := UInt<2>(3) - wire T_175228 : UInt<2>[1] - T_175228[0] := UInt<2>(3) - wire T_175229 : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>} - T_175229.sharers := UInt<1>(0) - node T_175230 = eq(xact.a_type, UInt<3>(2)) - node T_175231 = and(xact.is_builtin_type, T_175230) - node T_175232 = eq(xact.a_type, UInt<3>(3)) - node T_175233 = and(xact.is_builtin_type, T_175232) - node T_175234 = or(T_175231, T_175233) - node T_175235 = bits(xact.union, 5, 1) - wire T_175236 : UInt<5> - T_175236 := T_175235 - when T_175234 : T_175236 := UInt<5>(1) - node T_175237 = eq(T_175236, UInt<5>(1)) - node T_175238 = eq(T_175236, UInt<5>(7)) - node T_175239 = or(T_175237, T_175238) - node T_175240 = bit(T_175236, 3) - node T_175241 = eq(T_175236, UInt<5>(4)) - node T_175242 = or(T_175240, T_175241) - node T_175243 = or(T_175239, T_175242) - wire T_175244 : UInt<2> - T_175244 := UInt<2>(1) - when T_175243 : T_175244 := UInt<2>(2) - wire T_175245 : UInt<2> - T_175245 := T_175244 - when outer.grant.bits.is_builtin_type : T_175245 := UInt<2>(0) - wire T_175246 : UInt<3>[3] - T_175246[0] := UInt<3>(0) - T_175246[1] := UInt<3>(1) - T_175246[2] := UInt<3>(2) - wire T_175247 : UInt<0>[1] - T_175247[0] := UInt<0>(0) - wire T_175248 : UInt<2>[2] - T_175248[0] := UInt<2>(1) - T_175248[1] := UInt<2>(2) - wire T_175249 : UInt<2>[2] - T_175249[0] := UInt<2>(1) - T_175249[1] := UInt<2>(2) - wire T_175250 : UInt<2>[1] - T_175250[0] := UInt<2>(2) - wire T_175251 : UInt<3>[3] - T_175251[0] := UInt<3>(0) - T_175251[1] := UInt<3>(1) - T_175251[2] := UInt<3>(2) - wire T_175252 : UInt<0>[1] - T_175252[0] := UInt<0>(0) - wire T_175253 : UInt<2>[2] - T_175253[0] := UInt<2>(1) - T_175253[1] := UInt<2>(2) - wire T_175254 : UInt<2>[2] - T_175254[0] := UInt<2>(1) - T_175254[1] := UInt<2>(2) - wire T_175255 : UInt<2>[1] - T_175255[0] := UInt<2>(2) - wire T_175256 : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>} - T_175256.state := T_175245 - wire T_175257 : UInt<3>[3] - T_175257[0] := UInt<3>(0) - T_175257[1] := UInt<3>(1) - T_175257[2] := UInt<3>(2) - wire T_175258 : UInt<2>[2] - T_175258[0] := UInt<2>(0) - T_175258[1] := UInt<2>(1) - wire T_175259 : UInt<2>[3] - T_175259[0] := UInt<2>(1) - T_175259[1] := UInt<2>(2) - T_175259[2] := UInt<2>(3) - wire T_175260 : UInt<2>[2] - T_175260[0] := UInt<2>(2) - T_175260[1] := UInt<2>(3) - wire T_175261 : UInt<2>[1] - T_175261[0] := UInt<2>(3) - wire T_175262 : UInt<3>[3] - T_175262[0] := UInt<3>(0) - T_175262[1] := UInt<3>(1) - T_175262[2] := UInt<3>(2) - wire T_175263 : UInt<2>[2] - T_175263[0] := UInt<2>(0) - T_175263[1] := UInt<2>(1) - wire T_175264 : UInt<2>[3] - T_175264[0] := UInt<2>(1) - T_175264[1] := UInt<2>(2) - T_175264[2] := UInt<2>(3) - wire T_175265 : UInt<2>[2] - T_175265[0] := UInt<2>(2) - T_175265[1] := UInt<2>(3) - wire T_175266 : UInt<2>[1] - T_175266[0] := UInt<2>(3) - wire T_175267 : UInt<3>[3] - T_175267[0] := UInt<3>(0) - T_175267[1] := UInt<3>(1) - T_175267[2] := UInt<3>(2) - wire T_175268 : UInt<0>[1] - T_175268[0] := UInt<0>(0) - wire T_175269 : UInt<2>[2] - T_175269[0] := UInt<2>(1) - T_175269[1] := UInt<2>(2) - wire T_175270 : UInt<2>[2] - T_175270[0] := UInt<2>(1) - T_175270[1] := UInt<2>(2) - wire T_175271 : UInt<2>[1] - T_175271[0] := UInt<2>(2) - wire T_175272 : UInt<3>[3] - T_175272[0] := UInt<3>(0) - T_175272[1] := UInt<3>(1) - T_175272[2] := UInt<3>(2) - wire T_175273 : UInt<2>[2] - T_175273[0] := UInt<2>(0) - T_175273[1] := UInt<2>(1) - wire T_175274 : UInt<2>[3] - T_175274[0] := UInt<2>(1) - T_175274[1] := UInt<2>(2) - T_175274[2] := UInt<2>(3) - wire T_175275 : UInt<2>[2] - T_175275[0] := UInt<2>(2) - T_175275[1] := UInt<2>(3) - wire T_175276 : UInt<2>[1] - T_175276[0] := UInt<2>(3) - wire T_175277 : UInt<3>[3] - T_175277[0] := UInt<3>(0) - T_175277[1] := UInt<3>(1) - T_175277[2] := UInt<3>(2) - wire T_175278 : UInt<2>[2] - T_175278[0] := UInt<2>(0) - T_175278[1] := UInt<2>(1) - wire T_175279 : UInt<2>[3] - T_175279[0] := UInt<2>(1) - T_175279[1] := UInt<2>(2) - T_175279[2] := UInt<2>(3) - wire T_175280 : UInt<2>[2] - T_175280[0] := UInt<2>(2) - T_175280[1] := UInt<2>(3) - wire T_175281 : UInt<2>[1] - T_175281[0] := UInt<2>(3) - wire T_175282 : UInt<3>[3] - T_175282[0] := UInt<3>(0) - T_175282[1] := UInt<3>(1) - T_175282[2] := UInt<3>(2) - wire T_175283 : UInt<0>[1] - T_175283[0] := UInt<0>(0) - wire T_175284 : UInt<2>[2] - T_175284[0] := UInt<2>(1) - T_175284[1] := UInt<2>(2) - wire T_175285 : UInt<2>[2] - T_175285[0] := UInt<2>(1) - T_175285[1] := UInt<2>(2) - wire T_175286 : UInt<2>[1] - T_175286[0] := UInt<2>(2) - wire pending_coh_on_ognt : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}} - pending_coh_on_ognt.inner := T_175229 - pending_coh_on_ognt.outer := T_175256 - - - node T_175287 = eq(pending_coh.inner.sharers, pending_coh_on_ognt.inner.sharers) - node T_175288 = eq(pending_coh.outer.state, pending_coh_on_ognt.outer.state) - node T_175289 = and(T_175287, T_175288) - node T_175290 = eq(T_175289, UInt<1>(0)) - node T_175291 = and(ognt_data_done, T_175290) - when T_175291 : - pending_meta_write := UInt<1>(1) - pending_coh := pending_coh_on_ognt - - - node T_175292 = and(outer.grant.ready, outer.grant.valid) - wire T_175293 : UInt<3>[2] - T_175293[0] := UInt<3>(5) - T_175293[1] := UInt<3>(4) - node T_175294 = eq(T_175293[0], outer.grant.bits.g_type) - node T_175295 = eq(T_175293[1], outer.grant.bits.g_type) - node T_175296 = or(UInt<1>(0), T_175294) - node T_175297 = or(T_175296, T_175295) - node T_175298 = eq(T_174484[0], outer.grant.bits.g_type) - node T_175299 = or(UInt<1>(0), T_175298) - wire T_175300 : UInt<1> - T_175300 := T_175299 - when outer.grant.bits.is_builtin_type : T_175300 := T_175297 - node T_175301 = and(T_175292, T_175300) - when T_175301 : - accessor T_175302 = data_buffer[outer.grant.bits.addr_beat] - node T_175303 = bits(xact.union, 12, 9) - node T_175304 = bits(T_175303, 3, 3) - node T_175305 = mul(UInt<7>(64), T_175304) - node T_175306 = dshr(outer.grant.bits.data, T_175305) - amoalu.lhs := T_175306 - node T_175307 = bits(xact.union, 12, 9) - node T_175308 = bits(T_175307, 3, 3) - node T_175309 = mul(UInt<7>(64), T_175308) - node T_175310 = dshr(T_175302, T_175309) - amoalu.rhs := T_175310 - accessor T_175311 = wmask_buffer[outer.grant.bits.addr_beat] - node T_175312 = bit(T_175311, 0) - node T_175313 = bit(T_175311, 1) - node T_175314 = bit(T_175311, 2) - node T_175315 = bit(T_175311, 3) - node T_175316 = bit(T_175311, 4) - node T_175317 = bit(T_175311, 5) - node T_175318 = bit(T_175311, 6) - node T_175319 = bit(T_175311, 7) - node T_175320 = bit(T_175311, 8) - node T_175321 = bit(T_175311, 9) - node T_175322 = bit(T_175311, 10) - node T_175323 = bit(T_175311, 11) - node T_175324 = bit(T_175311, 12) - node T_175325 = bit(T_175311, 13) - node T_175326 = bit(T_175311, 14) - node T_175327 = bit(T_175311, 15) - wire T_175328 : UInt<1>[16] - T_175328[0] := T_175312 - T_175328[1] := T_175313 - T_175328[2] := T_175314 - T_175328[3] := T_175315 - T_175328[4] := T_175316 - T_175328[5] := T_175317 - T_175328[6] := T_175318 - T_175328[7] := T_175319 - T_175328[8] := T_175320 - T_175328[9] := T_175321 - T_175328[10] := T_175322 - T_175328[11] := T_175323 - T_175328[12] := T_175324 - T_175328[13] := T_175325 - T_175328[14] := T_175326 - T_175328[15] := T_175327 - node T_175329 = subw(UInt<8>(0), UInt<4>(8)) - node T_175330 = subw(UInt<8>(0), UInt<4>(8)) - node T_175331 = subw(UInt<8>(0), UInt<4>(8)) - node T_175332 = subw(UInt<8>(0), UInt<4>(8)) - node T_175333 = subw(UInt<8>(0), UInt<4>(8)) - node T_175334 = subw(UInt<8>(0), UInt<4>(8)) - node T_175335 = subw(UInt<8>(0), UInt<4>(8)) - node T_175336 = subw(UInt<8>(0), UInt<4>(8)) - node T_175337 = subw(UInt<8>(0), UInt<4>(8)) - node T_175338 = subw(UInt<8>(0), UInt<4>(8)) - node T_175339 = subw(UInt<8>(0), UInt<4>(8)) - node T_175340 = subw(UInt<8>(0), UInt<4>(8)) - node T_175341 = subw(UInt<8>(0), UInt<4>(8)) - node T_175342 = subw(UInt<8>(0), UInt<4>(8)) - node T_175343 = subw(UInt<8>(0), UInt<4>(8)) - node T_175344 = subw(UInt<8>(0), UInt<4>(8)) - wire T_175345 : UInt<8>[16] - T_175345[0] := T_175329 - T_175345[1] := T_175330 - T_175345[2] := T_175331 - T_175345[3] := T_175332 - T_175345[4] := T_175333 - T_175345[5] := T_175334 - T_175345[6] := T_175335 - T_175345[7] := T_175336 - T_175345[8] := T_175337 - T_175345[9] := T_175338 - T_175345[10] := T_175339 - T_175345[11] := T_175340 - T_175345[12] := T_175341 - T_175345[13] := T_175342 - T_175345[14] := T_175343 - T_175345[15] := T_175344 - node T_175346 = cat(T_175345[15], T_175345[14]) - node T_175347 = cat(T_175345[13], T_175345[12]) - node T_175348 = cat(T_175346, T_175347) - node T_175349 = cat(T_175345[11], T_175345[10]) - node T_175350 = cat(T_175345[9], T_175345[8]) - node T_175351 = cat(T_175349, T_175350) - node T_175352 = cat(T_175348, T_175351) - node T_175353 = cat(T_175345[7], T_175345[6]) - node T_175354 = cat(T_175345[5], T_175345[4]) - node T_175355 = cat(T_175353, T_175354) - node T_175356 = cat(T_175345[3], T_175345[2]) - node T_175357 = cat(T_175345[1], T_175345[0]) - node T_175358 = cat(T_175356, T_175357) - node T_175359 = cat(T_175355, T_175358) - node T_175360 = cat(T_175352, T_175359) - accessor T_175361 = data_buffer[outer.grant.bits.addr_beat] - node T_175362 = not(T_175360) - node T_175363 = and(T_175362, outer.grant.bits.data) - node T_175364 = eq(xact.a_type, UInt<3>(4)) - node T_175365 = and(xact.is_builtin_type, T_175364) - node T_175366 = bits(xact.union, 12, 9) - node T_175367 = bits(T_175366, 3, 3) - node T_175368 = mul(UInt<7>(64), T_175367) - node T_175369 = dshl(amoalu.out, T_175368) - wire T_175370 : UInt<128> - T_175370 := T_175302 - when T_175365 : T_175370 := T_175369 - node T_175371 = and(T_175360, T_175370) - node T_175372 = or(T_175363, T_175371) - T_175361 := T_175372 - accessor T_175373 = wmask_buffer[outer.grant.bits.addr_beat] - T_175373 := SInt<1>(-1) - - - node T_175374 = eq(xact.a_type, UInt<3>(4)) - node T_175375 = eq(xact.addr_beat, outer.grant.bits.addr_beat) - node T_175376 = and(T_175374, T_175375) - when T_175376 : xact.data := outer.grant.bits.data - node T_175377 = and(inner.release.ready, inner.release.valid) - node T_175378 = eq(T_174457[0], inner.release.bits.r_type) - node T_175379 = eq(T_174457[1], inner.release.bits.r_type) - node T_175380 = eq(T_174457[2], inner.release.bits.r_type) - node T_175381 = or(UInt<1>(0), T_175378) - node T_175382 = or(T_175381, T_175379) - node T_175383 = or(T_175382, T_175380) - node T_175384 = and(T_175377, T_175383) - node T_175385 = subw(UInt<4>(0), UInt<3>(4)) - node T_175386 = dshl(UInt<1>(1), inner.release.bits.addr_beat) - node T_175387 = and(T_175385, T_175386) - node T_175388 = or(pending_ignt_data, T_175387) - node T_175389 = and(outer.grant.ready, outer.grant.valid) - wire T_175390 : UInt<3>[2] - T_175390[0] := UInt<3>(5) - T_175390[1] := UInt<3>(4) - node T_175391 = eq(T_175390[0], outer.grant.bits.g_type) - node T_175392 = eq(T_175390[1], outer.grant.bits.g_type) - node T_175393 = or(UInt<1>(0), T_175391) - node T_175394 = or(T_175393, T_175392) - node T_175395 = eq(T_174484[0], outer.grant.bits.g_type) - node T_175396 = or(UInt<1>(0), T_175395) - wire T_175397 : UInt<1> - T_175397 := T_175396 - when outer.grant.bits.is_builtin_type : T_175397 := T_175394 - node T_175398 = and(T_175389, T_175397) - node T_175399 = subw(UInt<4>(0), UInt<3>(4)) - node T_175400 = dshl(UInt<1>(1), outer.grant.bits.addr_beat) - node T_175401 = and(T_175399, T_175400) - node T_175402 = or(T_175388, T_175401) - node T_175403 = subw(UInt<4>(0), UInt<3>(4)) - node T_175404 = dshl(UInt<1>(1), data.resp.bits.addr_beat) - node T_175405 = and(T_175403, T_175404) - node T_175406 = or(T_175402, T_175405) - pending_ignt_data := T_175406 - ignt_q.deq.ready := ignt_data_done - node T_175407 = eq(state, UInt<4>(7)) - node T_175408 = and(T_175407, ignt_q.deq.valid) - wire T_175409 : UInt<3>[2] - T_175409[0] := UInt<3>(5) - T_175409[1] := UInt<3>(4) - node T_175410 = eq(T_175409[0], inner.grant.bits.g_type) - node T_175411 = eq(T_175409[1], inner.grant.bits.g_type) - node T_175412 = or(UInt<1>(0), T_175410) - node T_175413 = or(T_175412, T_175411) - node T_175414 = eq(T_174428[0], inner.grant.bits.g_type) - node T_175415 = eq(T_174428[1], inner.grant.bits.g_type) - node T_175416 = or(UInt<1>(0), T_175414) - node T_175417 = or(T_175416, T_175415) - wire T_175418 : UInt<1> - T_175418 := T_175417 - when inner.grant.bits.is_builtin_type : T_175418 := T_175413 - node T_175419 = eq(T_175418, UInt<1>(0)) - node T_175420 = dshr(pending_ignt_data, ignt_data_idx) - node T_175421 = bit(T_175420, 0) - node T_175422 = or(T_175419, T_175421) - node T_175423 = and(T_175408, T_175422) - inner.grant.valid := T_175423 - node T_175424 = eq(xact.a_type, UInt<3>(4)) - accessor T_175425 = data_buffer[ignt_data_idx] - wire T_175426 : UInt<128> - T_175426 := T_175425 - when T_175424 : T_175426 := xact.data - node T_175427 = eq(UInt<3>(5), xact.a_type) - wire T_175428 : UInt<3> - T_175428 := UInt<3>(3) - when T_175427 : T_175428 := UInt<3>(1) - node T_175429 = eq(UInt<3>(4), xact.a_type) - wire T_175430 : UInt<3> - T_175430 := T_175428 - when T_175429 : T_175430 := UInt<3>(4) - node T_175431 = eq(UInt<3>(3), xact.a_type) - wire T_175432 : UInt<3> - T_175432 := T_175430 - when T_175431 : T_175432 := UInt<3>(3) - node T_175433 = eq(UInt<3>(2), xact.a_type) - wire T_175434 : UInt<3> - T_175434 := T_175432 - when T_175433 : T_175434 := UInt<3>(3) - node T_175435 = eq(UInt<3>(1), xact.a_type) - wire T_175436 : UInt<3> - T_175436 := T_175434 - when T_175435 : T_175436 := UInt<3>(5) - node T_175437 = eq(UInt<3>(0), xact.a_type) - wire T_175438 : UInt<3> - T_175438 := T_175436 - when T_175437 : T_175438 := UInt<3>(4) - node T_175439 = eq(xact.a_type, UInt<1>(0)) - node T_175440 = eq(pending_coh.inner.sharers, UInt<1>(0)) - node T_175441 = eq(T_175440, UInt<1>(0)) - wire T_175442 : UInt<2> - T_175442 := UInt<2>(1) - when T_175441 : T_175442 := UInt<2>(0) - wire T_175443 : UInt<2> - T_175443 := UInt<2>(1) - when T_175439 : T_175443 := T_175442 - wire T_175444 : UInt<2> - T_175444 := T_175443 - when xact.is_builtin_type : T_175444 := T_175438 - wire T_175445 : UInt<3>[3] - T_175445[0] := UInt<3>(0) - T_175445[1] := UInt<3>(1) - T_175445[2] := UInt<3>(2) - wire T_175446 : UInt<2>[2] - T_175446[0] := UInt<2>(0) - T_175446[1] := UInt<2>(1) - wire T_175447 : UInt<2>[3] - T_175447[0] := UInt<2>(1) - T_175447[1] := UInt<2>(2) - T_175447[2] := UInt<2>(3) - wire T_175448 : UInt<2>[2] - T_175448[0] := UInt<2>(2) - T_175448[1] := UInt<2>(3) - wire T_175449 : UInt<2>[1] - T_175449[0] := UInt<2>(3) - wire T_175450 : UInt<3>[3] - T_175450[0] := UInt<3>(0) - T_175450[1] := UInt<3>(1) - T_175450[2] := UInt<3>(2) - wire T_175451 : UInt<2>[2] - T_175451[0] := UInt<2>(0) - T_175451[1] := UInt<2>(1) - wire T_175452 : UInt<2>[3] - T_175452[0] := UInt<2>(1) - T_175452[1] := UInt<2>(2) - T_175452[2] := UInt<2>(3) - wire T_175453 : UInt<2>[2] - T_175453[0] := UInt<2>(2) - T_175453[1] := UInt<2>(3) - wire T_175454 : UInt<2>[1] - T_175454[0] := UInt<2>(3) - wire T_175455 : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>, client_id : UInt<2>} - T_175455.client_id := xact.client_id - T_175455.is_builtin_type := xact.is_builtin_type - T_175455.g_type := T_175444 - T_175455.client_xact_id := xact.client_xact_id - T_175455.manager_xact_id := UInt<2>(2) - T_175455.addr_beat := ignt_q.deq.bits.addr_beat - T_175455.data := T_175426 - T_175455.client_xact_id := ignt_q.deq.bits.client_xact_id - inner.grant.bits := T_175455 - inner.grant.bits.addr_beat := ignt_data_idx - node T_175456 = dshl(UInt<1>(1), inner.grant.bits.client_id) - node T_175457 = or(pending_coh.inner.sharers, T_175456) - wire T_175458 : UInt<5> - T_175458 := T_175457 - when inner.grant.bits.is_builtin_type : T_175458 := pending_coh.inner.sharers - wire T_175459 : UInt<3>[3] - T_175459[0] := UInt<3>(0) - T_175459[1] := UInt<3>(1) - T_175459[2] := UInt<3>(2) - wire T_175460 : UInt<2>[2] - T_175460[0] := UInt<2>(0) - T_175460[1] := UInt<2>(1) - wire T_175461 : UInt<2>[3] - T_175461[0] := UInt<2>(1) - T_175461[1] := UInt<2>(2) - T_175461[2] := UInt<2>(3) - wire T_175462 : UInt<2>[2] - T_175462[0] := UInt<2>(2) - T_175462[1] := UInt<2>(3) - wire T_175463 : UInt<2>[1] - T_175463[0] := UInt<2>(3) - wire T_175464 : UInt<3>[3] - T_175464[0] := UInt<3>(0) - T_175464[1] := UInt<3>(1) - T_175464[2] := UInt<3>(2) - wire T_175465 : UInt<2>[2] - T_175465[0] := UInt<2>(0) - T_175465[1] := UInt<2>(1) - wire T_175466 : UInt<2>[3] - T_175466[0] := UInt<2>(1) - T_175466[1] := UInt<2>(2) - T_175466[2] := UInt<2>(3) - wire T_175467 : UInt<2>[2] - T_175467[0] := UInt<2>(2) - T_175467[1] := UInt<2>(3) - wire T_175468 : UInt<2>[1] - T_175468[0] := UInt<2>(3) - wire T_175469 : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>} - T_175469.sharers := T_175458 - wire T_175470 : UInt<3>[3] - T_175470[0] := UInt<3>(0) - T_175470[1] := UInt<3>(1) - T_175470[2] := UInt<3>(2) - wire T_175471 : UInt<2>[2] - T_175471[0] := UInt<2>(0) - T_175471[1] := UInt<2>(1) - wire T_175472 : UInt<2>[3] - T_175472[0] := UInt<2>(1) - T_175472[1] := UInt<2>(2) - T_175472[2] := UInt<2>(3) - wire T_175473 : UInt<2>[2] - T_175473[0] := UInt<2>(2) - T_175473[1] := UInt<2>(3) - wire T_175474 : UInt<2>[1] - T_175474[0] := UInt<2>(3) - wire T_175475 : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>} - T_175475 := pending_coh.outer - when ognt_data_done : T_175475 := pending_coh_on_ognt.outer - wire T_175476 : UInt<3>[3] - T_175476[0] := UInt<3>(0) - T_175476[1] := UInt<3>(1) - T_175476[2] := UInt<3>(2) - wire T_175477 : UInt<2>[2] - T_175477[0] := UInt<2>(0) - T_175477[1] := UInt<2>(1) - wire T_175478 : UInt<2>[3] - T_175478[0] := UInt<2>(1) - T_175478[1] := UInt<2>(2) - T_175478[2] := UInt<2>(3) - wire T_175479 : UInt<2>[2] - T_175479[0] := UInt<2>(2) - T_175479[1] := UInt<2>(3) - wire T_175480 : UInt<2>[1] - T_175480[0] := UInt<2>(3) - wire T_175481 : UInt<3>[3] - T_175481[0] := UInt<3>(0) - T_175481[1] := UInt<3>(1) - T_175481[2] := UInt<3>(2) - wire T_175482 : UInt<2>[2] - T_175482[0] := UInt<2>(0) - T_175482[1] := UInt<2>(1) - wire T_175483 : UInt<2>[3] - T_175483[0] := UInt<2>(1) - T_175483[1] := UInt<2>(2) - T_175483[2] := UInt<2>(3) - wire T_175484 : UInt<2>[2] - T_175484[0] := UInt<2>(2) - T_175484[1] := UInt<2>(3) - wire T_175485 : UInt<2>[1] - T_175485[0] := UInt<2>(3) - wire T_175486 : UInt<3>[3] - T_175486[0] := UInt<3>(0) - T_175486[1] := UInt<3>(1) - T_175486[2] := UInt<3>(2) - wire T_175487 : UInt<0>[1] - T_175487[0] := UInt<0>(0) - wire T_175488 : UInt<2>[2] - T_175488[0] := UInt<2>(1) - T_175488[1] := UInt<2>(2) - wire T_175489 : UInt<2>[2] - T_175489[0] := UInt<2>(1) - T_175489[1] := UInt<2>(2) - wire T_175490 : UInt<2>[1] - T_175490[0] := UInt<2>(2) - wire T_175491 : UInt<3>[3] - T_175491[0] := UInt<3>(0) - T_175491[1] := UInt<3>(1) - T_175491[2] := UInt<3>(2) - wire T_175492 : UInt<2>[2] - T_175492[0] := UInt<2>(0) - T_175492[1] := UInt<2>(1) - wire T_175493 : UInt<2>[3] - T_175493[0] := UInt<2>(1) - T_175493[1] := UInt<2>(2) - T_175493[2] := UInt<2>(3) - wire T_175494 : UInt<2>[2] - T_175494[0] := UInt<2>(2) - T_175494[1] := UInt<2>(3) - wire T_175495 : UInt<2>[1] - T_175495[0] := UInt<2>(3) - wire T_175496 : UInt<3>[3] - T_175496[0] := UInt<3>(0) - T_175496[1] := UInt<3>(1) - T_175496[2] := UInt<3>(2) - wire T_175497 : UInt<2>[2] - T_175497[0] := UInt<2>(0) - T_175497[1] := UInt<2>(1) - wire T_175498 : UInt<2>[3] - T_175498[0] := UInt<2>(1) - T_175498[1] := UInt<2>(2) - T_175498[2] := UInt<2>(3) - wire T_175499 : UInt<2>[2] - T_175499[0] := UInt<2>(2) - T_175499[1] := UInt<2>(3) - wire T_175500 : UInt<2>[1] - T_175500[0] := UInt<2>(3) - wire T_175501 : UInt<3>[3] - T_175501[0] := UInt<3>(0) - T_175501[1] := UInt<3>(1) - T_175501[2] := UInt<3>(2) - wire T_175502 : UInt<0>[1] - T_175502[0] := UInt<0>(0) - wire T_175503 : UInt<2>[2] - T_175503[0] := UInt<2>(1) - T_175503[1] := UInt<2>(2) - wire T_175504 : UInt<2>[2] - T_175504[0] := UInt<2>(1) - T_175504[1] := UInt<2>(2) - wire T_175505 : UInt<2>[1] - T_175505[0] := UInt<2>(2) - wire pending_coh_on_ignt : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}} - pending_coh_on_ignt.inner := T_175469 - pending_coh_on_ignt.outer := T_175475 - node T_175506 = and(inner.grant.ready, inner.grant.valid) - - - node T_175507 = eq(pending_coh.inner.sharers, pending_coh_on_ignt.inner.sharers) - node T_175508 = eq(pending_coh.outer.state, pending_coh_on_ignt.outer.state) - node T_175509 = and(T_175507, T_175508) - node T_175510 = eq(T_175509, UInt<1>(0)) - node T_175511 = and(T_175506, T_175510) - when T_175511 : - pending_meta_write := UInt<1>(1) - pending_coh := pending_coh_on_ignt - node T_175512 = eq(state, UInt<4>(7)) - inner.finish.ready := T_175512 - node T_175513 = and(data.read.ready, data.read.valid) - node T_175514 = subw(UInt<4>(0), UInt<3>(4)) - node T_175515 = not(T_175514) - node T_175516 = dshl(UInt<1>(1), data.read.bits.addr_beat) - node T_175517 = not(T_175516) - node T_175518 = or(T_175515, T_175517) - node T_175519 = and(pending_reads, T_175518) - node T_175520 = and(inner.release.ready, inner.release.valid) - node T_175521 = eq(T_174457[0], inner.release.bits.r_type) - node T_175522 = eq(T_174457[1], inner.release.bits.r_type) - node T_175523 = eq(T_174457[2], inner.release.bits.r_type) - node T_175524 = or(UInt<1>(0), T_175521) - node T_175525 = or(T_175524, T_175522) - node T_175526 = or(T_175525, T_175523) - node T_175527 = and(T_175520, T_175526) - node T_175528 = subw(UInt<4>(0), UInt<3>(4)) - node T_175529 = not(T_175528) - node T_175530 = dshl(UInt<1>(1), inner.release.bits.addr_beat) - node T_175531 = not(T_175530) - node T_175532 = or(T_175529, T_175531) - node T_175533 = and(T_175519, T_175532) - node T_175534 = and(outer.grant.ready, outer.grant.valid) - wire T_175535 : UInt<3>[2] - T_175535[0] := UInt<3>(5) - T_175535[1] := UInt<3>(4) - node T_175536 = eq(T_175535[0], outer.grant.bits.g_type) - node T_175537 = eq(T_175535[1], outer.grant.bits.g_type) - node T_175538 = or(UInt<1>(0), T_175536) - node T_175539 = or(T_175538, T_175537) - node T_175540 = eq(T_174484[0], outer.grant.bits.g_type) - node T_175541 = or(UInt<1>(0), T_175540) - wire T_175542 : UInt<1> - T_175542 := T_175541 - when outer.grant.bits.is_builtin_type : T_175542 := T_175539 - node T_175543 = and(T_175534, T_175542) - node T_175544 = subw(UInt<4>(0), UInt<3>(4)) - node T_175545 = not(T_175544) - node T_175546 = dshl(UInt<1>(1), outer.grant.bits.addr_beat) - node T_175547 = not(T_175546) - node T_175548 = or(T_175545, T_175547) - node T_175549 = and(T_175533, T_175548) - wire T_175550 : UInt<3>[3] - T_175550[0] := UInt<3>(0) - T_175550[1] := UInt<3>(1) - T_175550[2] := UInt<3>(4) - node T_175551 = eq(T_175550[0], inner.acquire.bits.a_type) - node T_175552 = eq(T_175550[1], inner.acquire.bits.a_type) - node T_175553 = eq(T_175550[2], inner.acquire.bits.a_type) - node T_175554 = or(UInt<1>(0), T_175551) - node T_175555 = or(T_175554, T_175552) - node T_175556 = or(T_175555, T_175553) - node T_175557 = and(inner.acquire.bits.is_builtin_type, T_175556) - node T_175558 = and(inner.acquire.ready, inner.acquire.valid) - node T_175559 = and(T_175558, T_175557) - node T_175560 = subw(UInt<4>(0), UInt<3>(4)) - node T_175561 = dshl(UInt<1>(1), inner.acquire.bits.addr_beat) - node T_175562 = and(T_175560, T_175561) - node T_175563 = or(T_175549, T_175562) - node T_175564 = eq(inner.acquire.bits.a_type, UInt<3>(4)) - node T_175565 = and(inner.acquire.bits.is_builtin_type, T_175564) - node T_175566 = bits(inner.acquire.bits.union, 12, 9) - node T_175567 = bits(T_175566, 3, 3) - node T_175568 = dshl(UInt<1>(1), T_175567) - node T_175569 = bit(T_175568, 0) - node T_175570 = bit(T_175568, 1) - node T_175571 = bit(T_175568, 2) - wire T_175572 : UInt<1>[3] - T_175572[0] := T_175569 - T_175572[1] := T_175570 - T_175572[2] := T_175571 - node T_175573 = subw(UInt<8>(0), UInt<4>(8)) - node T_175574 = subw(UInt<8>(0), UInt<4>(8)) - node T_175575 = subw(UInt<8>(0), UInt<4>(8)) - wire T_175576 : UInt<8>[3] - T_175576[0] := T_175573 - T_175576[1] := T_175574 - T_175576[2] := T_175575 - node T_175577 = cat(T_175576[1], T_175576[0]) - node T_175578 = cat(T_175576[2], T_175577) - node T_175579 = eq(inner.acquire.bits.a_type, UInt<3>(3)) - node T_175580 = and(inner.acquire.bits.is_builtin_type, T_175579) - node T_175581 = eq(inner.acquire.bits.a_type, UInt<3>(2)) - node T_175582 = and(inner.acquire.bits.is_builtin_type, T_175581) - node T_175583 = or(T_175580, T_175582) - node T_175584 = bits(inner.acquire.bits.union, 16, 1) - wire T_175585 : UInt<16> - T_175585 := UInt<16>(0) - when T_175583 : T_175585 := T_175584 - wire T_175586 : UInt<16> - T_175586 := T_175585 - when T_175565 : T_175586 := T_175578 - wire T_175587 : UInt<3>[3] - T_175587[0] := UInt<3>(0) - T_175587[1] := UInt<3>(1) - T_175587[2] := UInt<3>(2) - wire T_175588 : UInt<2>[2] - T_175588[0] := UInt<2>(0) - T_175588[1] := UInt<2>(1) - wire T_175589 : UInt<2>[3] - T_175589[0] := UInt<2>(1) - T_175589[1] := UInt<2>(2) - T_175589[2] := UInt<2>(3) - wire T_175590 : UInt<2>[2] - T_175590[0] := UInt<2>(2) - T_175590[1] := UInt<2>(3) - wire T_175591 : UInt<2>[1] - T_175591[0] := UInt<2>(3) - node T_175592 = asUInt(SInt<16>(-1)) - node T_175593 = neq(T_175586, T_175592) - node T_175594 = and(inner.acquire.ready, inner.acquire.valid) - node T_175595 = and(T_175594, T_175593) - node T_175596 = and(T_175595, UInt<1>(0)) - node T_175597 = subw(UInt<4>(0), UInt<3>(4)) - node T_175598 = dshl(UInt<1>(1), inner.acquire.bits.addr_beat) - node T_175599 = and(T_175597, T_175598) - node T_175600 = or(T_175563, T_175599) - pending_reads := T_175600 - node T_175601 = bit(pending_reads, 0) - node T_175602 = bit(pending_reads, 1) - node T_175603 = bit(pending_reads, 2) - node T_175604 = bit(pending_reads, 3) - wire T_175605 : UInt<1>[4] - T_175605[0] := T_175601 - T_175605[1] := T_175602 - T_175605[2] := T_175603 - T_175605[3] := T_175604 - wire T_175606 : UInt<2> - T_175606 := UInt<2>(3) - when T_175605[2] : T_175606 := UInt<2>(2) - wire T_175607 : UInt<2> - T_175607 := T_175606 - when T_175605[1] : T_175607 := UInt<1>(1) - wire curr_read_beat : UInt<2> - curr_read_beat := T_175607 - when T_175605[0] : curr_read_beat := UInt<1>(0) - node T_175608 = eq(state, UInt<4>(7)) - node T_175609 = eq(pending_reads, UInt<1>(0)) - node T_175610 = eq(T_175609, UInt<1>(0)) - node T_175611 = and(T_175608, T_175610) - node T_175612 = eq(pending_ognt, UInt<1>(0)) - node T_175613 = and(T_175611, T_175612) - data.read.valid := T_175613 - data.read.bits.id := UInt<2>(2) - data.read.bits.way_en := xact_way_en - node T_175614 = bits(xact.addr_block, 11, 0) - data.read.bits.addr_idx := T_175614 - data.read.bits.addr_beat := curr_read_beat - node T_175615 = subw(UInt<4>(0), UInt<3>(4)) - node T_175616 = not(T_175615) - node T_175617 = dshl(UInt<1>(1), data.resp.bits.addr_beat) - node T_175618 = not(T_175617) - node T_175619 = or(T_175616, T_175618) - node T_175620 = and(pending_resps, T_175619) - node T_175621 = and(data.read.ready, data.read.valid) - node T_175622 = subw(UInt<4>(0), UInt<3>(4)) - node T_175623 = dshl(UInt<1>(1), data.read.bits.addr_beat) - node T_175624 = and(T_175622, T_175623) - node T_175625 = or(T_175620, T_175624) - pending_resps := T_175625 - when data.resp.valid : - accessor T_175626 = data_buffer[data.resp.bits.addr_beat] - node T_175627 = bits(xact.union, 12, 9) - node T_175628 = bits(T_175627, 3, 3) - node T_175629 = mul(UInt<7>(64), T_175628) - node T_175630 = dshr(data.resp.bits.data, T_175629) - amoalu.lhs := T_175630 - node T_175631 = bits(xact.union, 12, 9) - node T_175632 = bits(T_175631, 3, 3) - node T_175633 = mul(UInt<7>(64), T_175632) - node T_175634 = dshr(T_175626, T_175633) - amoalu.rhs := T_175634 - accessor T_175635 = wmask_buffer[data.resp.bits.addr_beat] - node T_175636 = bit(T_175635, 0) - node T_175637 = bit(T_175635, 1) - node T_175638 = bit(T_175635, 2) - node T_175639 = bit(T_175635, 3) - node T_175640 = bit(T_175635, 4) - node T_175641 = bit(T_175635, 5) - node T_175642 = bit(T_175635, 6) - node T_175643 = bit(T_175635, 7) - node T_175644 = bit(T_175635, 8) - node T_175645 = bit(T_175635, 9) - node T_175646 = bit(T_175635, 10) - node T_175647 = bit(T_175635, 11) - node T_175648 = bit(T_175635, 12) - node T_175649 = bit(T_175635, 13) - node T_175650 = bit(T_175635, 14) - node T_175651 = bit(T_175635, 15) - wire T_175652 : UInt<1>[16] - T_175652[0] := T_175636 - T_175652[1] := T_175637 - T_175652[2] := T_175638 - T_175652[3] := T_175639 - T_175652[4] := T_175640 - T_175652[5] := T_175641 - T_175652[6] := T_175642 - T_175652[7] := T_175643 - T_175652[8] := T_175644 - T_175652[9] := T_175645 - T_175652[10] := T_175646 - T_175652[11] := T_175647 - T_175652[12] := T_175648 - T_175652[13] := T_175649 - T_175652[14] := T_175650 - T_175652[15] := T_175651 - node T_175653 = subw(UInt<8>(0), UInt<4>(8)) - node T_175654 = subw(UInt<8>(0), UInt<4>(8)) - node T_175655 = subw(UInt<8>(0), UInt<4>(8)) - node T_175656 = subw(UInt<8>(0), UInt<4>(8)) - node T_175657 = subw(UInt<8>(0), UInt<4>(8)) - node T_175658 = subw(UInt<8>(0), UInt<4>(8)) - node T_175659 = subw(UInt<8>(0), UInt<4>(8)) - node T_175660 = subw(UInt<8>(0), UInt<4>(8)) - node T_175661 = subw(UInt<8>(0), UInt<4>(8)) - node T_175662 = subw(UInt<8>(0), UInt<4>(8)) - node T_175663 = subw(UInt<8>(0), UInt<4>(8)) - node T_175664 = subw(UInt<8>(0), UInt<4>(8)) - node T_175665 = subw(UInt<8>(0), UInt<4>(8)) - node T_175666 = subw(UInt<8>(0), UInt<4>(8)) - node T_175667 = subw(UInt<8>(0), UInt<4>(8)) - node T_175668 = subw(UInt<8>(0), UInt<4>(8)) - wire T_175669 : UInt<8>[16] - T_175669[0] := T_175653 - T_175669[1] := T_175654 - T_175669[2] := T_175655 - T_175669[3] := T_175656 - T_175669[4] := T_175657 - T_175669[5] := T_175658 - T_175669[6] := T_175659 - T_175669[7] := T_175660 - T_175669[8] := T_175661 - T_175669[9] := T_175662 - T_175669[10] := T_175663 - T_175669[11] := T_175664 - T_175669[12] := T_175665 - T_175669[13] := T_175666 - T_175669[14] := T_175667 - T_175669[15] := T_175668 - node T_175670 = cat(T_175669[15], T_175669[14]) - node T_175671 = cat(T_175669[13], T_175669[12]) - node T_175672 = cat(T_175670, T_175671) - node T_175673 = cat(T_175669[11], T_175669[10]) - node T_175674 = cat(T_175669[9], T_175669[8]) - node T_175675 = cat(T_175673, T_175674) - node T_175676 = cat(T_175672, T_175675) - node T_175677 = cat(T_175669[7], T_175669[6]) - node T_175678 = cat(T_175669[5], T_175669[4]) - node T_175679 = cat(T_175677, T_175678) - node T_175680 = cat(T_175669[3], T_175669[2]) - node T_175681 = cat(T_175669[1], T_175669[0]) - node T_175682 = cat(T_175680, T_175681) - node T_175683 = cat(T_175679, T_175682) - node T_175684 = cat(T_175676, T_175683) - accessor T_175685 = data_buffer[data.resp.bits.addr_beat] - node T_175686 = not(T_175684) - node T_175687 = and(T_175686, data.resp.bits.data) - node T_175688 = eq(xact.a_type, UInt<3>(4)) - node T_175689 = and(xact.is_builtin_type, T_175688) - node T_175690 = bits(xact.union, 12, 9) - node T_175691 = bits(T_175690, 3, 3) - node T_175692 = mul(UInt<7>(64), T_175691) - node T_175693 = dshl(amoalu.out, T_175692) - wire T_175694 : UInt<128> - T_175694 := T_175626 - when T_175689 : T_175694 := T_175693 - node T_175695 = and(T_175684, T_175694) - node T_175696 = or(T_175687, T_175695) - T_175685 := T_175696 - accessor T_175697 = wmask_buffer[data.resp.bits.addr_beat] - T_175697 := SInt<1>(-1) - - - node T_175698 = eq(xact.a_type, UInt<3>(4)) - node T_175699 = eq(xact.addr_beat, data.resp.bits.addr_beat) - node T_175700 = and(T_175698, T_175699) - when T_175700 : xact.data := data.resp.bits.data - node T_175701 = and(data.write.ready, data.write.valid) - node T_175702 = subw(UInt<4>(0), UInt<3>(4)) - node T_175703 = not(T_175702) - node T_175704 = dshl(UInt<1>(1), data.write.bits.addr_beat) - node T_175705 = not(T_175704) - node T_175706 = or(T_175703, T_175705) - node T_175707 = and(pending_writes, T_175706) - node T_175708 = and(inner.acquire.ready, inner.acquire.valid) - wire T_175709 : UInt<3>[3] - T_175709[0] := UInt<3>(2) - T_175709[1] := UInt<3>(3) - T_175709[2] := UInt<3>(4) - node T_175710 = eq(T_175709[0], inner.acquire.bits.a_type) - node T_175711 = eq(T_175709[1], inner.acquire.bits.a_type) - node T_175712 = eq(T_175709[2], inner.acquire.bits.a_type) - node T_175713 = or(UInt<1>(0), T_175710) - node T_175714 = or(T_175713, T_175711) - node T_175715 = or(T_175714, T_175712) - node T_175716 = and(inner.acquire.bits.is_builtin_type, T_175715) - node T_175717 = and(T_175708, T_175716) - node T_175718 = bit(inner.acquire.bits.union, 0) - node T_175719 = and(T_175717, T_175718) - node T_175720 = subw(UInt<4>(0), UInt<3>(4)) - node T_175721 = dshl(UInt<1>(1), inner.acquire.bits.addr_beat) - node T_175722 = and(T_175720, T_175721) - node T_175723 = or(T_175707, T_175722) - node T_175724 = and(inner.release.ready, inner.release.valid) - node T_175725 = eq(T_174457[0], inner.release.bits.r_type) - node T_175726 = eq(T_174457[1], inner.release.bits.r_type) - node T_175727 = eq(T_174457[2], inner.release.bits.r_type) - node T_175728 = or(UInt<1>(0), T_175725) - node T_175729 = or(T_175728, T_175726) - node T_175730 = or(T_175729, T_175727) - node T_175731 = and(T_175724, T_175730) - node T_175732 = subw(UInt<4>(0), UInt<3>(4)) - node T_175733 = dshl(UInt<1>(1), inner.release.bits.addr_beat) - node T_175734 = and(T_175732, T_175733) - node T_175735 = or(T_175723, T_175734) - node T_175736 = and(outer.grant.ready, outer.grant.valid) - wire T_175737 : UInt<3>[2] - T_175737[0] := UInt<3>(5) - T_175737[1] := UInt<3>(4) - node T_175738 = eq(T_175737[0], outer.grant.bits.g_type) - node T_175739 = eq(T_175737[1], outer.grant.bits.g_type) - node T_175740 = or(UInt<1>(0), T_175738) - node T_175741 = or(T_175740, T_175739) - node T_175742 = eq(T_174484[0], outer.grant.bits.g_type) - node T_175743 = or(UInt<1>(0), T_175742) - wire T_175744 : UInt<1> - T_175744 := T_175743 - when outer.grant.bits.is_builtin_type : T_175744 := T_175741 - node T_175745 = and(T_175736, T_175744) - node T_175746 = subw(UInt<4>(0), UInt<3>(4)) - node T_175747 = dshl(UInt<1>(1), outer.grant.bits.addr_beat) - node T_175748 = and(T_175746, T_175747) - node T_175749 = or(T_175735, T_175748) - pending_writes := T_175749 - node T_175750 = bit(pending_writes, 0) - node T_175751 = bit(pending_writes, 1) - node T_175752 = bit(pending_writes, 2) - node T_175753 = bit(pending_writes, 3) - wire T_175754 : UInt<1>[4] - T_175754[0] := T_175750 - T_175754[1] := T_175751 - T_175754[2] := T_175752 - T_175754[3] := T_175753 - wire T_175755 : UInt<2> - T_175755 := UInt<2>(3) - when T_175754[2] : T_175755 := UInt<2>(2) - wire T_175756 : UInt<2> - T_175756 := T_175755 - when T_175754[1] : T_175756 := UInt<1>(1) - wire curr_write_beat : UInt<2> - curr_write_beat := T_175756 - when T_175754[0] : curr_write_beat := UInt<1>(0) - node T_175757 = eq(state, UInt<4>(7)) - node T_175758 = eq(pending_writes, UInt<1>(0)) - node T_175759 = eq(T_175758, UInt<1>(0)) - node T_175760 = and(T_175757, T_175759) - node T_175761 = eq(pending_ognt, UInt<1>(0)) - node T_175762 = and(T_175760, T_175761) - node T_175763 = dshr(pending_reads, curr_write_beat) - node T_175764 = bit(T_175763, 0) - node T_175765 = eq(T_175764, UInt<1>(0)) - node T_175766 = and(T_175762, T_175765) - node T_175767 = dshr(pending_resps, curr_write_beat) - node T_175768 = bit(T_175767, 0) - node T_175769 = eq(T_175768, UInt<1>(0)) - node T_175770 = and(T_175766, T_175769) - data.write.valid := T_175770 - data.write.bits.id := UInt<2>(2) - data.write.bits.way_en := xact_way_en - node T_175771 = bits(xact.addr_block, 11, 0) - data.write.bits.addr_idx := T_175771 - data.write.bits.addr_beat := curr_write_beat - accessor T_175772 = wmask_buffer[curr_write_beat] - data.write.bits.wmask := T_175772 - accessor T_175773 = data_buffer[curr_write_beat] - data.write.bits.data := T_175773 - node T_175774 = eq(state, UInt<4>(8)) - meta.write.valid := T_175774 - meta.write.bits.id := UInt<2>(2) - node T_175775 = bits(xact.addr_block, 11, 0) - meta.write.bits.idx := T_175775 - meta.write.bits.way_en := xact_way_en - node T_175776 = dshr(xact.addr_block, UInt<4>(12)) - meta.write.bits.data.tag := T_175776 - meta.write.bits.data.coh := pending_coh - - - node T_175777 = and(inner.acquire.ready, inner.acquire.valid) - wire T_175778 : UInt<3>[3] - T_175778[0] := UInt<3>(2) - T_175778[1] := UInt<3>(3) - T_175778[2] := UInt<3>(4) - node T_175779 = eq(T_175778[0], inner.acquire.bits.a_type) - node T_175780 = eq(T_175778[1], inner.acquire.bits.a_type) - node T_175781 = eq(T_175778[2], inner.acquire.bits.a_type) - node T_175782 = or(UInt<1>(0), T_175779) - node T_175783 = or(T_175782, T_175780) - node T_175784 = or(T_175783, T_175781) - node T_175785 = and(inner.acquire.bits.is_builtin_type, T_175784) - node T_175786 = and(T_175777, T_175785) - when T_175786 : - node T_175787 = eq(inner.acquire.bits.a_type, UInt<3>(4)) - node T_175788 = and(inner.acquire.bits.is_builtin_type, T_175787) - node T_175789 = bits(inner.acquire.bits.union, 12, 9) - node T_175790 = bits(T_175789, 3, 3) - node T_175791 = dshl(UInt<1>(1), T_175790) - node T_175792 = bit(T_175791, 0) - node T_175793 = bit(T_175791, 1) - node T_175794 = bit(T_175791, 2) - wire T_175795 : UInt<1>[3] - T_175795[0] := T_175792 - T_175795[1] := T_175793 - T_175795[2] := T_175794 - node T_175796 = subw(UInt<8>(0), UInt<4>(8)) - node T_175797 = subw(UInt<8>(0), UInt<4>(8)) - node T_175798 = subw(UInt<8>(0), UInt<4>(8)) - wire T_175799 : UInt<8>[3] - T_175799[0] := T_175796 - T_175799[1] := T_175797 - T_175799[2] := T_175798 - node T_175800 = cat(T_175799[1], T_175799[0]) - node T_175801 = cat(T_175799[2], T_175800) - node T_175802 = eq(inner.acquire.bits.a_type, UInt<3>(3)) - node T_175803 = and(inner.acquire.bits.is_builtin_type, T_175802) - node T_175804 = eq(inner.acquire.bits.a_type, UInt<3>(2)) - node T_175805 = and(inner.acquire.bits.is_builtin_type, T_175804) - node T_175806 = or(T_175803, T_175805) - node T_175807 = bits(inner.acquire.bits.union, 16, 1) - wire T_175808 : UInt<16> - T_175808 := UInt<16>(0) - when T_175806 : T_175808 := T_175807 - wire T_175809 : UInt<16> - T_175809 := T_175808 - when T_175788 : T_175809 := T_175801 - node T_175810 = bit(T_175809, 0) - node T_175811 = bit(T_175809, 1) - node T_175812 = bit(T_175809, 2) - node T_175813 = bit(T_175809, 3) - node T_175814 = bit(T_175809, 4) - node T_175815 = bit(T_175809, 5) - node T_175816 = bit(T_175809, 6) - node T_175817 = bit(T_175809, 7) - node T_175818 = bit(T_175809, 8) - node T_175819 = bit(T_175809, 9) - node T_175820 = bit(T_175809, 10) - node T_175821 = bit(T_175809, 11) - node T_175822 = bit(T_175809, 12) - node T_175823 = bit(T_175809, 13) - node T_175824 = bit(T_175809, 14) - node T_175825 = bit(T_175809, 15) - wire T_175826 : UInt<1>[16] - T_175826[0] := T_175810 - T_175826[1] := T_175811 - T_175826[2] := T_175812 - T_175826[3] := T_175813 - T_175826[4] := T_175814 - T_175826[5] := T_175815 - T_175826[6] := T_175816 - T_175826[7] := T_175817 - T_175826[8] := T_175818 - T_175826[9] := T_175819 - T_175826[10] := T_175820 - T_175826[11] := T_175821 - T_175826[12] := T_175822 - T_175826[13] := T_175823 - T_175826[14] := T_175824 - T_175826[15] := T_175825 - node T_175827 = subw(UInt<8>(0), UInt<4>(8)) - node T_175828 = subw(UInt<8>(0), UInt<4>(8)) - node T_175829 = subw(UInt<8>(0), UInt<4>(8)) - node T_175830 = subw(UInt<8>(0), UInt<4>(8)) - node T_175831 = subw(UInt<8>(0), UInt<4>(8)) - node T_175832 = subw(UInt<8>(0), UInt<4>(8)) - node T_175833 = subw(UInt<8>(0), UInt<4>(8)) - node T_175834 = subw(UInt<8>(0), UInt<4>(8)) - node T_175835 = subw(UInt<8>(0), UInt<4>(8)) - node T_175836 = subw(UInt<8>(0), UInt<4>(8)) - node T_175837 = subw(UInt<8>(0), UInt<4>(8)) - node T_175838 = subw(UInt<8>(0), UInt<4>(8)) - node T_175839 = subw(UInt<8>(0), UInt<4>(8)) - node T_175840 = subw(UInt<8>(0), UInt<4>(8)) - node T_175841 = subw(UInt<8>(0), UInt<4>(8)) - node T_175842 = subw(UInt<8>(0), UInt<4>(8)) - wire T_175843 : UInt<8>[16] - T_175843[0] := T_175827 - T_175843[1] := T_175828 - T_175843[2] := T_175829 - T_175843[3] := T_175830 - T_175843[4] := T_175831 - T_175843[5] := T_175832 - T_175843[6] := T_175833 - T_175843[7] := T_175834 - T_175843[8] := T_175835 - T_175843[9] := T_175836 - T_175843[10] := T_175837 - T_175843[11] := T_175838 - T_175843[12] := T_175839 - T_175843[13] := T_175840 - T_175843[14] := T_175841 - T_175843[15] := T_175842 - node T_175844 = cat(T_175843[15], T_175843[14]) - node T_175845 = cat(T_175843[13], T_175843[12]) - node T_175846 = cat(T_175844, T_175845) - node T_175847 = cat(T_175843[11], T_175843[10]) - node T_175848 = cat(T_175843[9], T_175843[8]) - node T_175849 = cat(T_175847, T_175848) - node T_175850 = cat(T_175846, T_175849) - node T_175851 = cat(T_175843[7], T_175843[6]) - node T_175852 = cat(T_175843[5], T_175843[4]) - node T_175853 = cat(T_175851, T_175852) - node T_175854 = cat(T_175843[3], T_175843[2]) - node T_175855 = cat(T_175843[1], T_175843[0]) - node T_175856 = cat(T_175854, T_175855) - node T_175857 = cat(T_175853, T_175856) - node T_175858 = cat(T_175850, T_175857) - accessor T_175859 = data_buffer[inner.acquire.bits.addr_beat] - node T_175860 = not(T_175858) - accessor T_175861 = data_buffer[inner.acquire.bits.addr_beat] - node T_175862 = and(T_175860, T_175861) - node T_175863 = and(T_175858, inner.acquire.bits.data) - node T_175864 = or(T_175862, T_175863) - T_175859 := T_175864 - accessor T_175865 = wmask_buffer[inner.acquire.bits.addr_beat] - node T_175866 = eq(state, UInt<4>(0)) - accessor T_175867 = wmask_buffer[inner.acquire.bits.addr_beat] - wire T_175868 : UInt<16> - T_175868 := T_175867 - when T_175866 : T_175868 := UInt<1>(0) - node T_175869 = or(T_175809, T_175868) - T_175865 := T_175869 - node T_175870 = eq(xact.a_type, UInt<3>(2)) - node T_175871 = and(xact.is_builtin_type, T_175870) - node T_175872 = eq(xact.a_type, UInt<3>(3)) - node T_175873 = and(xact.is_builtin_type, T_175872) - node T_175874 = or(T_175871, T_175873) - node T_175875 = bits(xact.union, 5, 1) - wire T_175876 : UInt<5> - T_175876 := T_175875 - when T_175874 : T_175876 := UInt<5>(1) - node T_175877 = eq(T_175876, UInt<5>(1)) - node T_175878 = eq(T_175876, UInt<5>(7)) - node T_175879 = or(T_175877, T_175878) - node T_175880 = bit(T_175876, 3) - node T_175881 = eq(T_175876, UInt<5>(4)) - node T_175882 = or(T_175880, T_175881) - node T_175883 = or(T_175879, T_175882) - wire T_175884 : UInt<2> - T_175884 := meta.resp.bits.meta.coh.outer.state - when T_175883 : T_175884 := UInt<2>(2) - wire T_175885 : UInt<3>[3] - T_175885[0] := UInt<3>(0) - T_175885[1] := UInt<3>(1) - T_175885[2] := UInt<3>(2) - wire T_175886 : UInt<0>[1] - T_175886[0] := UInt<0>(0) - wire T_175887 : UInt<2>[2] - T_175887[0] := UInt<2>(1) - T_175887[1] := UInt<2>(2) - wire T_175888 : UInt<2>[2] - T_175888[0] := UInt<2>(1) - T_175888[1] := UInt<2>(2) - wire T_175889 : UInt<2>[1] - T_175889[0] := UInt<2>(2) - wire T_175890 : UInt<3>[3] - T_175890[0] := UInt<3>(0) - T_175890[1] := UInt<3>(1) - T_175890[2] := UInt<3>(2) - wire T_175891 : UInt<0>[1] - T_175891[0] := UInt<0>(0) - wire T_175892 : UInt<2>[2] - T_175892[0] := UInt<2>(1) - T_175892[1] := UInt<2>(2) - wire T_175893 : UInt<2>[2] - T_175893[0] := UInt<2>(1) - T_175893[1] := UInt<2>(2) - wire T_175894 : UInt<2>[1] - T_175894[0] := UInt<2>(2) - wire T_175895 : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>} - T_175895.state := T_175884 - wire T_175896 : UInt<3>[3] - T_175896[0] := UInt<3>(0) - T_175896[1] := UInt<3>(1) - T_175896[2] := UInt<3>(2) - wire T_175897 : UInt<2>[2] - T_175897[0] := UInt<2>(0) - T_175897[1] := UInt<2>(1) - wire T_175898 : UInt<2>[3] - T_175898[0] := UInt<2>(1) - T_175898[1] := UInt<2>(2) - T_175898[2] := UInt<2>(3) - wire T_175899 : UInt<2>[2] - T_175899[0] := UInt<2>(2) - T_175899[1] := UInt<2>(3) - wire T_175900 : UInt<2>[1] - T_175900[0] := UInt<2>(3) - wire T_175901 : UInt<3>[3] - T_175901[0] := UInt<3>(0) - T_175901[1] := UInt<3>(1) - T_175901[2] := UInt<3>(2) - wire T_175902 : UInt<2>[2] - T_175902[0] := UInt<2>(0) - T_175902[1] := UInt<2>(1) - wire T_175903 : UInt<2>[3] - T_175903[0] := UInt<2>(1) - T_175903[1] := UInt<2>(2) - T_175903[2] := UInt<2>(3) - wire T_175904 : UInt<2>[2] - T_175904[0] := UInt<2>(2) - T_175904[1] := UInt<2>(3) - wire T_175905 : UInt<2>[1] - T_175905[0] := UInt<2>(3) - wire T_175906 : UInt<3>[3] - T_175906[0] := UInt<3>(0) - T_175906[1] := UInt<3>(1) - T_175906[2] := UInt<3>(2) - wire T_175907 : UInt<0>[1] - T_175907[0] := UInt<0>(0) - wire T_175908 : UInt<2>[2] - T_175908[0] := UInt<2>(1) - T_175908[1] := UInt<2>(2) - wire T_175909 : UInt<2>[2] - T_175909[0] := UInt<2>(1) - T_175909[1] := UInt<2>(2) - wire T_175910 : UInt<2>[1] - T_175910[0] := UInt<2>(2) - wire T_175911 : UInt<3>[3] - T_175911[0] := UInt<3>(0) - T_175911[1] := UInt<3>(1) - T_175911[2] := UInt<3>(2) - wire T_175912 : UInt<2>[2] - T_175912[0] := UInt<2>(0) - T_175912[1] := UInt<2>(1) - wire T_175913 : UInt<2>[3] - T_175913[0] := UInt<2>(1) - T_175913[1] := UInt<2>(2) - T_175913[2] := UInt<2>(3) - wire T_175914 : UInt<2>[2] - T_175914[0] := UInt<2>(2) - T_175914[1] := UInt<2>(3) - wire T_175915 : UInt<2>[1] - T_175915[0] := UInt<2>(3) - wire T_175916 : UInt<3>[3] - T_175916[0] := UInt<3>(0) - T_175916[1] := UInt<3>(1) - T_175916[2] := UInt<3>(2) - wire T_175917 : UInt<2>[2] - T_175917[0] := UInt<2>(0) - T_175917[1] := UInt<2>(1) - wire T_175918 : UInt<2>[3] - T_175918[0] := UInt<2>(1) - T_175918[1] := UInt<2>(2) - T_175918[2] := UInt<2>(3) - wire T_175919 : UInt<2>[2] - T_175919[0] := UInt<2>(2) - T_175919[1] := UInt<2>(3) - wire T_175920 : UInt<2>[1] - T_175920[0] := UInt<2>(3) - wire T_175921 : UInt<3>[3] - T_175921[0] := UInt<3>(0) - T_175921[1] := UInt<3>(1) - T_175921[2] := UInt<3>(2) - wire T_175922 : UInt<0>[1] - T_175922[0] := UInt<0>(0) - wire T_175923 : UInt<2>[2] - T_175923[0] := UInt<2>(1) - T_175923[1] := UInt<2>(2) - wire T_175924 : UInt<2>[2] - T_175924[0] := UInt<2>(1) - T_175924[1] := UInt<2>(2) - wire T_175925 : UInt<2>[1] - T_175925[0] := UInt<2>(2) - wire pending_coh_on_hit : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}} - pending_coh_on_hit.inner := meta.resp.bits.meta.coh.inner - pending_coh_on_hit.outer := T_175895 - wire T_175926 : UInt<3>[3] - T_175926[0] := UInt<3>(0) - T_175926[1] := UInt<3>(1) - T_175926[2] := UInt<3>(2) - wire T_175927 : UInt<2>[2] - T_175927[0] := UInt<2>(0) - T_175927[1] := UInt<2>(1) - wire T_175928 : UInt<2>[3] - T_175928[0] := UInt<2>(1) - T_175928[1] := UInt<2>(2) - T_175928[2] := UInt<2>(3) - wire T_175929 : UInt<2>[2] - T_175929[0] := UInt<2>(2) - T_175929[1] := UInt<2>(3) - wire T_175930 : UInt<2>[1] - T_175930[0] := UInt<2>(3) - wire T_175931 : UInt<3>[3] - T_175931[0] := UInt<3>(0) - T_175931[1] := UInt<3>(1) - T_175931[2] := UInt<3>(2) - wire T_175932 : UInt<2>[2] - T_175932[0] := UInt<2>(0) - T_175932[1] := UInt<2>(1) - wire T_175933 : UInt<2>[3] - T_175933[0] := UInt<2>(1) - T_175933[1] := UInt<2>(2) - T_175933[2] := UInt<2>(3) - wire T_175934 : UInt<2>[2] - T_175934[0] := UInt<2>(2) - T_175934[1] := UInt<2>(3) - wire T_175935 : UInt<2>[1] - T_175935[0] := UInt<2>(3) - wire T_175936 : UInt<3>[3] - T_175936[0] := UInt<3>(0) - T_175936[1] := UInt<3>(1) - T_175936[2] := UInt<3>(2) - wire T_175937 : UInt<2>[2] - T_175937[0] := UInt<2>(0) - T_175937[1] := UInt<2>(1) - wire T_175938 : UInt<2>[3] - T_175938[0] := UInt<2>(1) - T_175938[1] := UInt<2>(2) - T_175938[2] := UInt<2>(3) - wire T_175939 : UInt<2>[2] - T_175939[0] := UInt<2>(2) - T_175939[1] := UInt<2>(3) - wire T_175940 : UInt<2>[1] - T_175940[0] := UInt<2>(3) - wire T_175941 : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>} - T_175941.sharers := UInt<1>(0) - wire T_175942 : UInt<3>[3] - T_175942[0] := UInt<3>(0) - T_175942[1] := UInt<3>(1) - T_175942[2] := UInt<3>(2) - wire T_175943 : UInt<2>[2] - T_175943[0] := UInt<2>(0) - T_175943[1] := UInt<2>(1) - wire T_175944 : UInt<2>[3] - T_175944[0] := UInt<2>(1) - T_175944[1] := UInt<2>(2) - T_175944[2] := UInt<2>(3) - wire T_175945 : UInt<2>[2] - T_175945[0] := UInt<2>(2) - T_175945[1] := UInt<2>(3) - wire T_175946 : UInt<2>[1] - T_175946[0] := UInt<2>(3) - wire T_175947 : UInt<3>[3] - T_175947[0] := UInt<3>(0) - T_175947[1] := UInt<3>(1) - T_175947[2] := UInt<3>(2) - wire T_175948 : UInt<2>[2] - T_175948[0] := UInt<2>(0) - T_175948[1] := UInt<2>(1) - wire T_175949 : UInt<2>[3] - T_175949[0] := UInt<2>(1) - T_175949[1] := UInt<2>(2) - T_175949[2] := UInt<2>(3) - wire T_175950 : UInt<2>[2] - T_175950[0] := UInt<2>(2) - T_175950[1] := UInt<2>(3) - wire T_175951 : UInt<2>[1] - T_175951[0] := UInt<2>(3) - wire T_175952 : UInt<3>[3] - T_175952[0] := UInt<3>(0) - T_175952[1] := UInt<3>(1) - T_175952[2] := UInt<3>(2) - wire T_175953 : UInt<2>[2] - T_175953[0] := UInt<2>(0) - T_175953[1] := UInt<2>(1) - wire T_175954 : UInt<2>[3] - T_175954[0] := UInt<2>(1) - T_175954[1] := UInt<2>(2) - T_175954[2] := UInt<2>(3) - wire T_175955 : UInt<2>[2] - T_175955[0] := UInt<2>(2) - T_175955[1] := UInt<2>(3) - wire T_175956 : UInt<2>[1] - T_175956[0] := UInt<2>(3) - wire T_175957 : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>} - T_175957.state := UInt<2>(0) - wire T_175958 : UInt<3>[3] - T_175958[0] := UInt<3>(0) - T_175958[1] := UInt<3>(1) - T_175958[2] := UInt<3>(2) - wire T_175959 : UInt<2>[2] - T_175959[0] := UInt<2>(0) - T_175959[1] := UInt<2>(1) - wire T_175960 : UInt<2>[3] - T_175960[0] := UInt<2>(1) - T_175960[1] := UInt<2>(2) - T_175960[2] := UInt<2>(3) - wire T_175961 : UInt<2>[2] - T_175961[0] := UInt<2>(2) - T_175961[1] := UInt<2>(3) - wire T_175962 : UInt<2>[1] - T_175962[0] := UInt<2>(3) - wire T_175963 : UInt<3>[3] - T_175963[0] := UInt<3>(0) - T_175963[1] := UInt<3>(1) - T_175963[2] := UInt<3>(2) - wire T_175964 : UInt<2>[2] - T_175964[0] := UInt<2>(0) - T_175964[1] := UInt<2>(1) - wire T_175965 : UInt<2>[3] - T_175965[0] := UInt<2>(1) - T_175965[1] := UInt<2>(2) - T_175965[2] := UInt<2>(3) - wire T_175966 : UInt<2>[2] - T_175966[0] := UInt<2>(2) - T_175966[1] := UInt<2>(3) - wire T_175967 : UInt<2>[1] - T_175967[0] := UInt<2>(3) - wire T_175968 : UInt<3>[3] - T_175968[0] := UInt<3>(0) - T_175968[1] := UInt<3>(1) - T_175968[2] := UInt<3>(2) - wire T_175969 : UInt<0>[1] - T_175969[0] := UInt<0>(0) - wire T_175970 : UInt<2>[2] - T_175970[0] := UInt<2>(1) - T_175970[1] := UInt<2>(2) - wire T_175971 : UInt<2>[2] - T_175971[0] := UInt<2>(1) - T_175971[1] := UInt<2>(2) - wire T_175972 : UInt<2>[1] - T_175972[0] := UInt<2>(2) - wire T_175973 : UInt<3>[3] - T_175973[0] := UInt<3>(0) - T_175973[1] := UInt<3>(1) - T_175973[2] := UInt<3>(2) - wire T_175974 : UInt<2>[2] - T_175974[0] := UInt<2>(0) - T_175974[1] := UInt<2>(1) - wire T_175975 : UInt<2>[3] - T_175975[0] := UInt<2>(1) - T_175975[1] := UInt<2>(2) - T_175975[2] := UInt<2>(3) - wire T_175976 : UInt<2>[2] - T_175976[0] := UInt<2>(2) - T_175976[1] := UInt<2>(3) - wire T_175977 : UInt<2>[1] - T_175977[0] := UInt<2>(3) - wire T_175978 : UInt<3>[3] - T_175978[0] := UInt<3>(0) - T_175978[1] := UInt<3>(1) - T_175978[2] := UInt<3>(2) - wire T_175979 : UInt<2>[2] - T_175979[0] := UInt<2>(0) - T_175979[1] := UInt<2>(1) - wire T_175980 : UInt<2>[3] - T_175980[0] := UInt<2>(1) - T_175980[1] := UInt<2>(2) - T_175980[2] := UInt<2>(3) - wire T_175981 : UInt<2>[2] - T_175981[0] := UInt<2>(2) - T_175981[1] := UInt<2>(3) - wire T_175982 : UInt<2>[1] - T_175982[0] := UInt<2>(3) - wire T_175983 : UInt<3>[3] - T_175983[0] := UInt<3>(0) - T_175983[1] := UInt<3>(1) - T_175983[2] := UInt<3>(2) - wire T_175984 : UInt<0>[1] - T_175984[0] := UInt<0>(0) - wire T_175985 : UInt<2>[2] - T_175985[0] := UInt<2>(1) - T_175985[1] := UInt<2>(2) - wire T_175986 : UInt<2>[2] - T_175986[0] := UInt<2>(1) - T_175986[1] := UInt<2>(2) - wire T_175987 : UInt<2>[1] - T_175987[0] := UInt<2>(2) - wire pending_coh_on_miss : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}} - pending_coh_on_miss.inner := T_175941 - pending_coh_on_miss.outer := T_175957 - - - node T_175988 = eq(state, UInt<4>(0)) - node T_175989 = and(T_175988, inner.acquire.valid) - when T_175989 : - xact := inner.acquire.bits - xact.data := UInt<1>(0) - node T_175990 = eq(inner.acquire.bits.a_type, UInt<3>(3)) - node T_175991 = and(inner.acquire.bits.is_builtin_type, T_175990) - node T_175992 = and(inner.acquire.ready, inner.acquire.valid) - wire T_175993 : UInt<3>[3] - T_175993[0] := UInt<3>(2) - T_175993[1] := UInt<3>(3) - T_175993[2] := UInt<3>(4) - node T_175994 = eq(T_175993[0], inner.acquire.bits.a_type) - node T_175995 = eq(T_175993[1], inner.acquire.bits.a_type) - node T_175996 = eq(T_175993[2], inner.acquire.bits.a_type) - node T_175997 = or(UInt<1>(0), T_175994) - node T_175998 = or(T_175997, T_175995) - node T_175999 = or(T_175998, T_175996) - node T_176000 = and(inner.acquire.bits.is_builtin_type, T_175999) - node T_176001 = and(T_175992, T_176000) - node T_176002 = subw(UInt<4>(0), UInt<3>(4)) - node T_176003 = not(T_176002) - node T_176004 = dshl(UInt<1>(1), inner.acquire.bits.addr_beat) - node T_176005 = not(T_176004) - node T_176006 = or(T_176003, T_176005) - wire T_176007 : UInt<1> - T_176007 := UInt<1>(0) - when T_175991 : T_176007 := T_176006 - pending_puts := T_176007 - node T_176008 = eq(inner.acquire.bits.a_type, UInt<3>(1)) - node T_176009 = and(inner.acquire.bits.is_builtin_type, T_176008) - node T_176010 = eq(inner.acquire.bits.is_builtin_type, UInt<1>(0)) - node T_176011 = or(T_176009, T_176010) - wire T_176012 : UInt<3>[3] - T_176012[0] := UInt<3>(0) - T_176012[1] := UInt<3>(1) - T_176012[2] := UInt<3>(4) - node T_176013 = eq(T_176012[0], inner.acquire.bits.a_type) - node T_176014 = eq(T_176012[1], inner.acquire.bits.a_type) - node T_176015 = eq(T_176012[2], inner.acquire.bits.a_type) - node T_176016 = or(UInt<1>(0), T_176013) - node T_176017 = or(T_176016, T_176014) - node T_176018 = or(T_176017, T_176015) - node T_176019 = and(inner.acquire.bits.is_builtin_type, T_176018) - node T_176020 = and(inner.acquire.ready, inner.acquire.valid) - node T_176021 = and(T_176020, T_176019) - node T_176022 = subw(UInt<4>(0), UInt<3>(4)) - node T_176023 = dshl(UInt<1>(1), inner.acquire.bits.addr_beat) - node T_176024 = and(T_176022, T_176023) - node T_176025 = eq(inner.acquire.bits.a_type, UInt<3>(4)) - node T_176026 = and(inner.acquire.bits.is_builtin_type, T_176025) - node T_176027 = bits(inner.acquire.bits.union, 12, 9) - node T_176028 = bits(T_176027, 3, 3) - node T_176029 = dshl(UInt<1>(1), T_176028) - node T_176030 = bit(T_176029, 0) - node T_176031 = bit(T_176029, 1) - node T_176032 = bit(T_176029, 2) - wire T_176033 : UInt<1>[3] - T_176033[0] := T_176030 - T_176033[1] := T_176031 - T_176033[2] := T_176032 - node T_176034 = subw(UInt<8>(0), UInt<4>(8)) - node T_176035 = subw(UInt<8>(0), UInt<4>(8)) - node T_176036 = subw(UInt<8>(0), UInt<4>(8)) - wire T_176037 : UInt<8>[3] - T_176037[0] := T_176034 - T_176037[1] := T_176035 - T_176037[2] := T_176036 - node T_176038 = cat(T_176037[1], T_176037[0]) - node T_176039 = cat(T_176037[2], T_176038) - node T_176040 = eq(inner.acquire.bits.a_type, UInt<3>(3)) - node T_176041 = and(inner.acquire.bits.is_builtin_type, T_176040) - node T_176042 = eq(inner.acquire.bits.a_type, UInt<3>(2)) - node T_176043 = and(inner.acquire.bits.is_builtin_type, T_176042) - node T_176044 = or(T_176041, T_176043) - node T_176045 = bits(inner.acquire.bits.union, 16, 1) - wire T_176046 : UInt<16> - T_176046 := UInt<16>(0) - when T_176044 : T_176046 := T_176045 - wire T_176047 : UInt<16> - T_176047 := T_176046 - when T_176026 : T_176047 := T_176039 - wire T_176048 : UInt<3>[3] - T_176048[0] := UInt<3>(0) - T_176048[1] := UInt<3>(1) - T_176048[2] := UInt<3>(2) - wire T_176049 : UInt<2>[2] - T_176049[0] := UInt<2>(0) - T_176049[1] := UInt<2>(1) - wire T_176050 : UInt<2>[3] - T_176050[0] := UInt<2>(1) - T_176050[1] := UInt<2>(2) - T_176050[2] := UInt<2>(3) - wire T_176051 : UInt<2>[2] - T_176051[0] := UInt<2>(2) - T_176051[1] := UInt<2>(3) - wire T_176052 : UInt<2>[1] - T_176052[0] := UInt<2>(3) - node T_176053 = asUInt(SInt<16>(-1)) - node T_176054 = neq(T_176047, T_176053) - node T_176055 = and(inner.acquire.ready, inner.acquire.valid) - node T_176056 = and(T_176055, T_176054) - node T_176057 = and(T_176056, UInt<1>(0)) - node T_176058 = subw(UInt<4>(0), UInt<3>(4)) - node T_176059 = dshl(UInt<1>(1), inner.acquire.bits.addr_beat) - node T_176060 = and(T_176058, T_176059) - node T_176061 = or(T_176024, T_176060) - node T_176062 = asSInt(T_176061) - wire T_176063 : SInt<5> - T_176063 := T_176062 - when T_176011 : T_176063 := SInt<1>(-1) - node T_176064 = asUInt(T_176063) - pending_reads := T_176064 - node T_176065 = and(inner.acquire.ready, inner.acquire.valid) - wire T_176066 : UInt<3>[3] - T_176066[0] := UInt<3>(2) - T_176066[1] := UInt<3>(3) - T_176066[2] := UInt<3>(4) - node T_176067 = eq(T_176066[0], inner.acquire.bits.a_type) - node T_176068 = eq(T_176066[1], inner.acquire.bits.a_type) - node T_176069 = eq(T_176066[2], inner.acquire.bits.a_type) - node T_176070 = or(UInt<1>(0), T_176067) - node T_176071 = or(T_176070, T_176068) - node T_176072 = or(T_176071, T_176069) - node T_176073 = and(inner.acquire.bits.is_builtin_type, T_176072) - node T_176074 = and(T_176065, T_176073) - node T_176075 = bit(inner.acquire.bits.union, 0) - node T_176076 = and(T_176074, T_176075) - node T_176077 = subw(UInt<4>(0), UInt<3>(4)) - node T_176078 = dshl(UInt<1>(1), inner.acquire.bits.addr_beat) - node T_176079 = and(T_176077, T_176078) - pending_writes := T_176079 - pending_resps := UInt<1>(0) - pending_ignt_data := UInt<1>(0) - pending_meta_write := UInt<1>(0) - state := UInt<4>(1) - - - node T_176080 = eq(state, UInt<4>(1)) - node T_176081 = and(T_176080, meta.read.ready) - when T_176081 : state := UInt<4>(2) - - - node T_176082 = eq(state, UInt<4>(2)) - node T_176083 = and(T_176082, meta.resp.valid) - when T_176083 : - xact_tag_match := meta.resp.bits.tag_match - xact_old_meta := meta.resp.bits.meta - xact_way_en := meta.resp.bits.way_en - node T_176084 = eq(xact.a_type, UInt<3>(3)) - node T_176085 = and(xact.is_builtin_type, T_176084) - node T_176086 = neq(meta.resp.bits.meta.coh.outer.state, UInt<2>(0)) - node T_176087 = and(meta.resp.bits.tag_match, T_176086) - node T_176088 = or(T_176085, T_176087) - node T_176089 = eq(meta.resp.bits.tag_match, UInt<1>(0)) - node T_176090 = bit(xact.union, 0) - node T_176091 = and(T_176089, T_176090) - node T_176092 = eq(T_174537[0], meta.resp.bits.meta.coh.outer.state) - node T_176093 = or(UInt<1>(0), T_176092) - node T_176094 = eq(meta.resp.bits.meta.coh.inner.sharers, UInt<1>(0)) - node T_176095 = eq(T_176094, UInt<1>(0)) - node T_176096 = or(T_176093, T_176095) - node T_176097 = and(T_176091, T_176096) - node T_176098 = eq(meta.resp.bits.meta.coh.inner.sharers, UInt<1>(0)) - node T_176099 = bit(meta.resp.bits.meta.coh.inner.sharers, 0) - node T_176100 = eq(T_176099, UInt<1>(1)) - wire T_176101 : UInt<3>[3] - T_176101[0] := UInt<3>(2) - T_176101[1] := UInt<3>(3) - T_176101[2] := UInt<3>(4) - node T_176102 = eq(T_176101[0], xact.a_type) - node T_176103 = eq(T_176101[1], xact.a_type) - node T_176104 = eq(T_176101[2], xact.a_type) - node T_176105 = or(UInt<1>(0), T_176102) - node T_176106 = or(T_176105, T_176103) - node T_176107 = or(T_176106, T_176104) - node T_176108 = and(xact.is_builtin_type, T_176107) - node T_176109 = neq(xact.a_type, UInt<1>(0)) - wire T_176110 : UInt<1> - T_176110 := T_176109 - when xact.is_builtin_type : T_176110 := T_176108 - wire T_176111 : UInt<1> - T_176111 := T_176110 - when T_176100 : T_176111 := UInt<1>(1) - wire T_176112 : UInt<1> - T_176112 := T_176111 - when T_176098 : T_176112 := UInt<1>(0) - node T_176113 = and(meta.resp.bits.tag_match, T_176112) - - - node T_176114 = eq(meta.resp.bits.tag_match, UInt<1>(0)) - node T_176115 = eq(pending_coh_on_hit.inner.sharers, meta.resp.bits.meta.coh.inner.sharers) - node T_176116 = eq(pending_coh_on_hit.outer.state, meta.resp.bits.meta.coh.outer.state) - node T_176117 = and(T_176115, T_176116) - node T_176118 = eq(T_176117, UInt<1>(0)) - node T_176119 = and(T_176088, T_176118) - node T_176120 = or(T_176114, T_176119) - when T_176120 : pending_meta_write := UInt<1>(1) - wire T_176121 : UInt<3>[3] - T_176121[0] := UInt<3>(0) - T_176121[1] := UInt<3>(1) - T_176121[2] := UInt<3>(2) - wire T_176122 : UInt<2>[2] - T_176122[0] := UInt<2>(0) - T_176122[1] := UInt<2>(1) - wire T_176123 : UInt<2>[3] - T_176123[0] := UInt<2>(1) - T_176123[1] := UInt<2>(2) - T_176123[2] := UInt<2>(3) - wire T_176124 : UInt<2>[2] - T_176124[0] := UInt<2>(2) - T_176124[1] := UInt<2>(3) - wire T_176125 : UInt<2>[1] - T_176125[0] := UInt<2>(3) - wire T_176126 : UInt<3>[3] - T_176126[0] := UInt<3>(0) - T_176126[1] := UInt<3>(1) - T_176126[2] := UInt<3>(2) - wire T_176127 : UInt<2>[2] - T_176127[0] := UInt<2>(0) - T_176127[1] := UInt<2>(1) - wire T_176128 : UInt<2>[3] - T_176128[0] := UInt<2>(1) - T_176128[1] := UInt<2>(2) - T_176128[2] := UInt<2>(3) - wire T_176129 : UInt<2>[2] - T_176129[0] := UInt<2>(2) - T_176129[1] := UInt<2>(3) - wire T_176130 : UInt<2>[1] - T_176130[0] := UInt<2>(3) - wire T_176131 : UInt<3>[3] - T_176131[0] := UInt<3>(0) - T_176131[1] := UInt<3>(1) - T_176131[2] := UInt<3>(2) - wire T_176132 : UInt<0>[1] - T_176132[0] := UInt<0>(0) - wire T_176133 : UInt<2>[2] - T_176133[0] := UInt<2>(1) - T_176133[1] := UInt<2>(2) - wire T_176134 : UInt<2>[2] - T_176134[0] := UInt<2>(1) - T_176134[1] := UInt<2>(2) - wire T_176135 : UInt<2>[1] - T_176135[0] := UInt<2>(2) - wire T_176136 : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}} - T_176136 := pending_coh_on_miss - when meta.resp.bits.tag_match : T_176136 := meta.resp.bits.meta.coh - wire T_176137 : UInt<3>[3] - T_176137[0] := UInt<3>(0) - T_176137[1] := UInt<3>(1) - T_176137[2] := UInt<3>(2) - wire T_176138 : UInt<2>[2] - T_176138[0] := UInt<2>(0) - T_176138[1] := UInt<2>(1) - wire T_176139 : UInt<2>[3] - T_176139[0] := UInt<2>(1) - T_176139[1] := UInt<2>(2) - T_176139[2] := UInt<2>(3) - wire T_176140 : UInt<2>[2] - T_176140[0] := UInt<2>(2) - T_176140[1] := UInt<2>(3) - wire T_176141 : UInt<2>[1] - T_176141[0] := UInt<2>(3) - wire T_176142 : UInt<3>[3] - T_176142[0] := UInt<3>(0) - T_176142[1] := UInt<3>(1) - T_176142[2] := UInt<3>(2) - wire T_176143 : UInt<2>[2] - T_176143[0] := UInt<2>(0) - T_176143[1] := UInt<2>(1) - wire T_176144 : UInt<2>[3] - T_176144[0] := UInt<2>(1) - T_176144[1] := UInt<2>(2) - T_176144[2] := UInt<2>(3) - wire T_176145 : UInt<2>[2] - T_176145[0] := UInt<2>(2) - T_176145[1] := UInt<2>(3) - wire T_176146 : UInt<2>[1] - T_176146[0] := UInt<2>(3) - wire T_176147 : UInt<3>[3] - T_176147[0] := UInt<3>(0) - T_176147[1] := UInt<3>(1) - T_176147[2] := UInt<3>(2) - wire T_176148 : UInt<0>[1] - T_176148[0] := UInt<0>(0) - wire T_176149 : UInt<2>[2] - T_176149[0] := UInt<2>(1) - T_176149[1] := UInt<2>(2) - wire T_176150 : UInt<2>[2] - T_176150[0] := UInt<2>(1) - T_176150[1] := UInt<2>(2) - wire T_176151 : UInt<2>[1] - T_176151[0] := UInt<2>(2) - wire T_176152 : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}} - T_176152 := T_176136 - when T_176088 : T_176152 := pending_coh_on_hit - pending_coh := T_176152 - when T_176113 : - node T_176153 = dshl(UInt<1>(1), xact.client_id) - node T_176154 = or(meta.resp.bits.meta.coh.inner.sharers, T_176153) - node T_176155 = dshl(UInt<1>(1), xact.client_id) - node T_176156 = not(T_176155) - node T_176157 = and(meta.resp.bits.meta.coh.inner.sharers, T_176156) - wire T_176158 : UInt<5> - T_176158 := T_176157 - when UInt<1>(0) : T_176158 := T_176154 - node T_176159 = not(incoherent[0]) - node T_176160 = and(T_176158, T_176159) - pending_iprbs := T_176160 - node T_176161 = eq(T_176088, UInt<1>(0)) - wire T_176162 : UInt<4> - T_176162 := UInt<4>(7) - when T_176161 : T_176162 := UInt<4>(6) - wire T_176163 : UInt<4> - T_176163 := T_176162 - when T_176113 : T_176163 := UInt<4>(5) - wire T_176164 : UInt<4> - T_176164 := T_176163 - when T_176097 : T_176164 := UInt<4>(3) - state := T_176164 - - - node T_176165 = eq(state, UInt<4>(3)) - node T_176166 = and(T_176165, wb.req.ready) - when T_176166 : state := UInt<4>(4) - - - node T_176167 = eq(state, UInt<4>(4)) - node T_176168 = and(T_176167, wb.resp.valid) - when T_176168 : - node T_176169 = eq(xact.a_type, UInt<3>(3)) - node T_176170 = and(xact.is_builtin_type, T_176169) - node T_176171 = and(UInt<1>(1), T_176170) - node T_176172 = eq(T_176171, UInt<1>(0)) - wire T_176173 : UInt<4> - T_176173 := UInt<4>(7) - when T_176172 : T_176173 := UInt<4>(6) - state := T_176173 - - - node T_176174 = eq(state, UInt<4>(5)) - node T_176175 = eq(pending_iprbs, UInt<1>(0)) - node T_176176 = eq(T_176175, UInt<1>(0)) - node T_176177 = or(T_176176, pending_irels) - node T_176178 = eq(T_176177, UInt<1>(0)) - node T_176179 = and(T_176174, T_176178) - when T_176179 : - node T_176180 = eq(xact.a_type, UInt<3>(3)) - node T_176181 = and(xact.is_builtin_type, T_176180) - node T_176182 = neq(xact_old_meta.coh.outer.state, UInt<2>(0)) - node T_176183 = or(T_176181, T_176182) - node T_176184 = eq(T_176183, UInt<1>(0)) - wire T_176185 : UInt<4> - T_176185 := UInt<4>(7) - when T_176184 : T_176185 := UInt<4>(6) - state := T_176185 - - - node T_176186 = eq(state, UInt<4>(6)) - node T_176187 = and(T_176186, oacq_data_done) - when T_176187 : state := UInt<4>(7) - - - node T_176188 = eq(state, UInt<4>(7)) - node T_176189 = and(T_176188, all_pending_done) - when T_176189 : state := UInt<4>(8) - - - node T_176190 = eq(state, UInt<4>(8)) - node T_176191 = eq(pending_meta_write, UInt<1>(0)) - node T_176192 = or(meta.write.ready, T_176191) - node T_176193 = and(T_176190, T_176192) - when T_176193 : - wmask_buffer[0] := UInt<1>(0) - wmask_buffer[1] := UInt<1>(0) - wmask_buffer[2] := UInt<1>(0) - wmask_buffer[3] := UInt<1>(0) - state := UInt<4>(0) - node T_176194 = bits(xact.addr_block, 11, 0) - node T_176195 = bits(inner.acquire.bits.addr_block, 11, 0) - node in_same_set = eq(T_176194, T_176195) - node T_176196 = eq(xact.addr_block, inner.release.bits.addr_block) - node T_176197 = eq(inner.release.bits.voluntary, UInt<1>(0)) - node T_176198 = and(T_176196, T_176197) - node T_176199 = and(T_176198, inner.release.ready) - has_release_match := T_176199 - node T_176200 = or(can_merge_iacq_put, can_merge_iacq_get) - has_acquire_match := T_176200 - node T_176201 = neq(state, UInt<4>(0)) - node T_176202 = and(in_same_set, T_176201) - node T_176203 = eq(has_acquire_match, UInt<1>(0)) - node T_176204 = and(T_176202, T_176203) - has_acquire_conflict := T_176204 - node T_176205 = neq(state, UInt<4>(0)) - node T_176206 = and(inner.acquire.ready, inner.acquire.valid) - node T_176207 = and(T_176205, T_176206) - node T_176208 = neq(inner.acquire.bits.client_id, xact.client_id) - node T_176209 = and(T_176207, T_176208) - node T_176210 = eq(T_176209, UInt<1>(0)) - module L2WritebackUnit : - output inner : {flip acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>, client_id : UInt<2>}}, grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>, client_id : UInt<2>}}, flip finish : {flip ready : UInt<1>, valid : UInt<1>, bits : {manager_xact_id : UInt<2>}}, probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>, client_id : UInt<2>}}, flip release : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>, client_id : UInt<2>}}} - input incoherent : UInt<1>[1] - output outer : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<2>, manager_xact_id : UInt<1>, is_builtin_type : UInt<1>, g_type : UInt<4>}}, flip probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>}}, release : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}} - output has_acquire_conflict : UInt<1> - output has_acquire_match : UInt<1> - output has_release_match : UInt<1> - input wb : {req : {flip ready : UInt<1>, valid : UInt<1>, bits : {tag : UInt<14>, coh : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}, id : UInt<2>, idx : UInt<12>, way_en : UInt<8>}}, flip resp : {valid : UInt<1>, bits : {id : UInt<2>}}} - output data : {read : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, id : UInt<2>, addr_idx : UInt<12>, way_en : UInt<8>}}, flip resp : {valid : UInt<1>, bits : {id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>}}, write : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, id : UInt<2>, addr_idx : UInt<12>, way_en : UInt<8>, data : UInt<128>, wmask : UInt<16>}}} - - wire T_176211 : UInt<3>[3] - T_176211[0] := UInt<3>(0) - T_176211[1] := UInt<3>(1) - T_176211[2] := UInt<3>(2) - wire T_176212 : UInt<2>[2] - T_176212[0] := UInt<2>(0) - T_176212[1] := UInt<2>(1) - wire T_176213 : UInt<2>[3] - T_176213[0] := UInt<2>(1) - T_176213[1] := UInt<2>(2) - T_176213[2] := UInt<2>(3) - wire T_176214 : UInt<2>[2] - T_176214[0] := UInt<2>(2) - T_176214[1] := UInt<2>(3) - wire T_176215 : UInt<2>[1] - T_176215[0] := UInt<2>(3) - wire T_176216 : UInt<3>[3] - T_176216[0] := UInt<3>(0) - T_176216[1] := UInt<3>(1) - T_176216[2] := UInt<3>(2) - wire T_176217 : UInt<2>[2] - T_176217[0] := UInt<2>(0) - T_176217[1] := UInt<2>(1) - wire T_176218 : UInt<2>[3] - T_176218[0] := UInt<2>(1) - T_176218[1] := UInt<2>(2) - T_176218[2] := UInt<2>(3) - wire T_176219 : UInt<2>[2] - T_176219[0] := UInt<2>(2) - T_176219[1] := UInt<2>(3) - wire T_176220 : UInt<2>[1] - T_176220[0] := UInt<2>(3) - wire T_176221 : UInt<3>[3] - T_176221[0] := UInt<3>(0) - T_176221[1] := UInt<3>(1) - T_176221[2] := UInt<3>(2) - wire T_176222 : UInt<2>[2] - T_176222[0] := UInt<2>(0) - T_176222[1] := UInt<2>(1) - wire T_176223 : UInt<2>[3] - T_176223[0] := UInt<2>(1) - T_176223[1] := UInt<2>(2) - T_176223[2] := UInt<2>(3) - wire T_176224 : UInt<2>[2] - T_176224[0] := UInt<2>(2) - T_176224[1] := UInt<2>(3) - wire T_176225 : UInt<2>[1] - T_176225[0] := UInt<2>(3) - wire T_176226 : UInt<3>[3] - T_176226[0] := UInt<3>(0) - T_176226[1] := UInt<3>(1) - T_176226[2] := UInt<3>(2) - wire T_176227 : UInt<2>[2] - T_176227[0] := UInt<2>(0) - T_176227[1] := UInt<2>(1) - wire T_176228 : UInt<2>[3] - T_176228[0] := UInt<2>(1) - T_176228[1] := UInt<2>(2) - T_176228[2] := UInt<2>(3) - wire T_176229 : UInt<2>[2] - T_176229[0] := UInt<2>(2) - T_176229[1] := UInt<2>(3) - wire T_176230 : UInt<2>[1] - T_176230[0] := UInt<2>(3) - wire T_176231 : UInt<3>[3] - T_176231[0] := UInt<3>(0) - T_176231[1] := UInt<3>(1) - T_176231[2] := UInt<3>(2) - wire T_176232 : UInt<2>[2] - T_176232[0] := UInt<2>(0) - T_176232[1] := UInt<2>(1) - wire T_176233 : UInt<2>[3] - T_176233[0] := UInt<2>(1) - T_176233[1] := UInt<2>(2) - T_176233[2] := UInt<2>(3) - wire T_176234 : UInt<2>[2] - T_176234[0] := UInt<2>(2) - T_176234[1] := UInt<2>(3) - wire T_176235 : UInt<2>[1] - T_176235[0] := UInt<2>(3) - wire T_176236 : UInt<3>[3] - T_176236[0] := UInt<3>(0) - T_176236[1] := UInt<3>(1) - T_176236[2] := UInt<3>(2) - wire T_176237 : UInt<2>[2] - T_176237[0] := UInt<2>(0) - T_176237[1] := UInt<2>(1) - wire T_176238 : UInt<2>[3] - T_176238[0] := UInt<2>(1) - T_176238[1] := UInt<2>(2) - T_176238[2] := UInt<2>(3) - wire T_176239 : UInt<2>[2] - T_176239[0] := UInt<2>(2) - T_176239[1] := UInt<2>(3) - wire T_176240 : UInt<2>[1] - T_176240[0] := UInt<2>(3) - wire T_176241 : UInt<3>[3] - T_176241[0] := UInt<3>(0) - T_176241[1] := UInt<3>(1) - T_176241[2] := UInt<3>(2) - wire T_176242 : UInt<2>[2] - T_176242[0] := UInt<2>(0) - T_176242[1] := UInt<2>(1) - wire T_176243 : UInt<2>[3] - T_176243[0] := UInt<2>(1) - T_176243[1] := UInt<2>(2) - T_176243[2] := UInt<2>(3) - wire T_176244 : UInt<2>[2] - T_176244[0] := UInt<2>(2) - T_176244[1] := UInt<2>(3) - wire T_176245 : UInt<2>[1] - T_176245[0] := UInt<2>(3) - wire T_176246 : UInt<3>[3] - T_176246[0] := UInt<3>(0) - T_176246[1] := UInt<3>(1) - T_176246[2] := UInt<3>(2) - wire T_176247 : UInt<2>[2] - T_176247[0] := UInt<2>(0) - T_176247[1] := UInt<2>(1) - wire T_176248 : UInt<2>[3] - T_176248[0] := UInt<2>(1) - T_176248[1] := UInt<2>(2) - T_176248[2] := UInt<2>(3) - wire T_176249 : UInt<2>[2] - T_176249[0] := UInt<2>(2) - T_176249[1] := UInt<2>(3) - wire T_176250 : UInt<2>[1] - T_176250[0] := UInt<2>(3) - wire T_176251 : UInt<3>[3] - T_176251[0] := UInt<3>(0) - T_176251[1] := UInt<3>(1) - T_176251[2] := UInt<3>(2) - wire T_176252 : UInt<2>[2] - T_176252[0] := UInt<2>(0) - T_176252[1] := UInt<2>(1) - wire T_176253 : UInt<2>[3] - T_176253[0] := UInt<2>(1) - T_176253[1] := UInt<2>(2) - T_176253[2] := UInt<2>(3) - wire T_176254 : UInt<2>[2] - T_176254[0] := UInt<2>(2) - T_176254[1] := UInt<2>(3) - wire T_176255 : UInt<2>[1] - T_176255[0] := UInt<2>(3) - wire T_176256 : UInt<3>[3] - T_176256[0] := UInt<3>(0) - T_176256[1] := UInt<3>(1) - T_176256[2] := UInt<3>(2) - wire T_176257 : UInt<2>[2] - T_176257[0] := UInt<2>(0) - T_176257[1] := UInt<2>(1) - wire T_176258 : UInt<2>[3] - T_176258[0] := UInt<2>(1) - T_176258[1] := UInt<2>(2) - T_176258[2] := UInt<2>(3) - wire T_176259 : UInt<2>[2] - T_176259[0] := UInt<2>(2) - T_176259[1] := UInt<2>(3) - wire T_176260 : UInt<2>[1] - T_176260[0] := UInt<2>(3) - wire T_176261 : UInt<3>[3] - T_176261[0] := UInt<3>(0) - T_176261[1] := UInt<3>(1) - T_176261[2] := UInt<3>(2) - wire T_176262 : UInt<2>[2] - T_176262[0] := UInt<2>(0) - T_176262[1] := UInt<2>(1) - wire T_176263 : UInt<2>[3] - T_176263[0] := UInt<2>(1) - T_176263[1] := UInt<2>(2) - T_176263[2] := UInt<2>(3) - wire T_176264 : UInt<2>[2] - T_176264[0] := UInt<2>(2) - T_176264[1] := UInt<2>(3) - wire T_176265 : UInt<2>[1] - T_176265[0] := UInt<2>(3) - wire incoherent : UInt<1>[1] - incoherent[0] := T_176266 - wire T_176267 : UInt<3>[3] - T_176267[0] := UInt<3>(0) - T_176267[1] := UInt<3>(1) - T_176267[2] := UInt<3>(2) - wire T_176268 : UInt<0>[1] - T_176268[0] := UInt<0>(0) - wire T_176269 : UInt<2>[2] - T_176269[0] := UInt<2>(1) - T_176269[1] := UInt<2>(2) - wire T_176270 : UInt<2>[2] - T_176270[0] := UInt<2>(1) - T_176270[1] := UInt<2>(2) - wire T_176271 : UInt<2>[1] - T_176271[0] := UInt<2>(2) - wire T_176272 : UInt<3>[3] - T_176272[0] := UInt<3>(0) - T_176272[1] := UInt<3>(1) - T_176272[2] := UInt<3>(2) - wire T_176273 : UInt<0>[1] - T_176273[0] := UInt<0>(0) - wire T_176274 : UInt<2>[2] - T_176274[0] := UInt<2>(1) - T_176274[1] := UInt<2>(2) - wire T_176275 : UInt<2>[2] - T_176275[0] := UInt<2>(1) - T_176275[1] := UInt<2>(2) - wire T_176276 : UInt<2>[1] - T_176276[0] := UInt<2>(2) - wire T_176277 : UInt<3>[3] - T_176277[0] := UInt<3>(0) - T_176277[1] := UInt<3>(1) - T_176277[2] := UInt<3>(2) - wire T_176278 : UInt<0>[1] - T_176278[0] := UInt<0>(0) - wire T_176279 : UInt<2>[2] - T_176279[0] := UInt<2>(1) - T_176279[1] := UInt<2>(2) - wire T_176280 : UInt<2>[2] - T_176280[0] := UInt<2>(1) - T_176280[1] := UInt<2>(2) - wire T_176281 : UInt<2>[1] - T_176281[0] := UInt<2>(2) - wire T_176282 : UInt<3>[3] - T_176282[0] := UInt<3>(0) - T_176282[1] := UInt<3>(1) - T_176282[2] := UInt<3>(2) - wire T_176283 : UInt<0>[1] - T_176283[0] := UInt<0>(0) - wire T_176284 : UInt<2>[2] - T_176284[0] := UInt<2>(1) - T_176284[1] := UInt<2>(2) - wire T_176285 : UInt<2>[2] - T_176285[0] := UInt<2>(1) - T_176285[1] := UInt<2>(2) - wire T_176286 : UInt<2>[1] - T_176286[0] := UInt<2>(2) - wire T_176287 : UInt<3>[3] - T_176287[0] := UInt<3>(0) - T_176287[1] := UInt<3>(1) - T_176287[2] := UInt<3>(2) - wire T_176288 : UInt<0>[1] - T_176288[0] := UInt<0>(0) - wire T_176289 : UInt<2>[2] - T_176289[0] := UInt<2>(1) - T_176289[1] := UInt<2>(2) - wire T_176290 : UInt<2>[2] - T_176290[0] := UInt<2>(1) - T_176290[1] := UInt<2>(2) - wire T_176291 : UInt<2>[1] - T_176291[0] := UInt<2>(2) - wire T_176292 : UInt<3>[3] - T_176292[0] := UInt<3>(0) - T_176292[1] := UInt<3>(1) - T_176292[2] := UInt<3>(2) - wire T_176293 : UInt<0>[1] - T_176293[0] := UInt<0>(0) - wire T_176294 : UInt<2>[2] - T_176294[0] := UInt<2>(1) - T_176294[1] := UInt<2>(2) - wire T_176295 : UInt<2>[2] - T_176295[0] := UInt<2>(1) - T_176295[1] := UInt<2>(2) - wire T_176296 : UInt<2>[1] - T_176296[0] := UInt<2>(2) - wire T_176297 : UInt<3>[3] - T_176297[0] := UInt<3>(0) - T_176297[1] := UInt<3>(1) - T_176297[2] := UInt<3>(2) - wire T_176298 : UInt<0>[1] - T_176298[0] := UInt<0>(0) - wire T_176299 : UInt<2>[2] - T_176299[0] := UInt<2>(1) - T_176299[1] := UInt<2>(2) - wire T_176300 : UInt<2>[2] - T_176300[0] := UInt<2>(1) - T_176300[1] := UInt<2>(2) - wire T_176301 : UInt<2>[1] - T_176301[0] := UInt<2>(2) - wire T_176302 : UInt<3>[3] - T_176302[0] := UInt<3>(0) - T_176302[1] := UInt<3>(1) - T_176302[2] := UInt<3>(2) - wire T_176303 : UInt<0>[1] - T_176303[0] := UInt<0>(0) - wire T_176304 : UInt<2>[2] - T_176304[0] := UInt<2>(1) - T_176304[1] := UInt<2>(2) - wire T_176305 : UInt<2>[2] - T_176305[0] := UInt<2>(1) - T_176305[1] := UInt<2>(2) - wire T_176306 : UInt<2>[1] - T_176306[0] := UInt<2>(2) - wire T_176307 : UInt<3>[3] - T_176307[0] := UInt<3>(0) - T_176307[1] := UInt<3>(1) - T_176307[2] := UInt<3>(2) - wire T_176308 : UInt<0>[1] - T_176308[0] := UInt<0>(0) - wire T_176309 : UInt<2>[2] - T_176309[0] := UInt<2>(1) - T_176309[1] := UInt<2>(2) - wire T_176310 : UInt<2>[2] - T_176310[0] := UInt<2>(1) - T_176310[1] := UInt<2>(2) - wire T_176311 : UInt<2>[1] - T_176311[0] := UInt<2>(2) - wire T_176312 : UInt<3>[3] - T_176312[0] := UInt<3>(0) - T_176312[1] := UInt<3>(1) - T_176312[2] := UInt<3>(2) - wire T_176313 : UInt<2>[2] - T_176313[0] := UInt<2>(0) - T_176313[1] := UInt<2>(1) - wire T_176314 : UInt<2>[3] - T_176314[0] := UInt<2>(1) - T_176314[1] := UInt<2>(2) - T_176314[2] := UInt<2>(3) - wire T_176315 : UInt<2>[2] - T_176315[0] := UInt<2>(2) - T_176315[1] := UInt<2>(3) - wire T_176316 : UInt<2>[1] - T_176316[0] := UInt<2>(3) - wire T_176317 : UInt<3>[3] - T_176317[0] := UInt<3>(0) - T_176317[1] := UInt<3>(1) - T_176317[2] := UInt<3>(2) - wire T_176318 : UInt<2>[2] - T_176318[0] := UInt<2>(0) - T_176318[1] := UInt<2>(1) - wire T_176319 : UInt<2>[3] - T_176319[0] := UInt<2>(1) - T_176319[1] := UInt<2>(2) - T_176319[2] := UInt<2>(3) - wire T_176320 : UInt<2>[2] - T_176320[0] := UInt<2>(2) - T_176320[1] := UInt<2>(3) - wire T_176321 : UInt<2>[1] - T_176321[0] := UInt<2>(3) - wire T_176322 : UInt<3>[3] - T_176322[0] := UInt<3>(0) - T_176322[1] := UInt<3>(1) - T_176322[2] := UInt<3>(2) - wire T_176323 : UInt<0>[1] - T_176323[0] := UInt<0>(0) - wire T_176324 : UInt<2>[2] - T_176324[0] := UInt<2>(1) - T_176324[1] := UInt<2>(2) - wire T_176325 : UInt<2>[2] - T_176325[0] := UInt<2>(1) - T_176325[1] := UInt<2>(2) - wire T_176326 : UInt<2>[1] - T_176326[0] := UInt<2>(2) - wire T_176327 : UInt<3>[3] - T_176327[0] := UInt<3>(0) - T_176327[1] := UInt<3>(1) - T_176327[2] := UInt<3>(2) - wire T_176328 : UInt<2>[2] - T_176328[0] := UInt<2>(0) - T_176328[1] := UInt<2>(1) - wire T_176329 : UInt<2>[3] - T_176329[0] := UInt<2>(1) - T_176329[1] := UInt<2>(2) - T_176329[2] := UInt<2>(3) - wire T_176330 : UInt<2>[2] - T_176330[0] := UInt<2>(2) - T_176330[1] := UInt<2>(3) - wire T_176331 : UInt<2>[1] - T_176331[0] := UInt<2>(3) - wire T_176332 : UInt<3>[3] - T_176332[0] := UInt<3>(0) - T_176332[1] := UInt<3>(1) - T_176332[2] := UInt<3>(2) - wire T_176333 : UInt<2>[2] - T_176333[0] := UInt<2>(0) - T_176333[1] := UInt<2>(1) - wire T_176334 : UInt<2>[3] - T_176334[0] := UInt<2>(1) - T_176334[1] := UInt<2>(2) - T_176334[2] := UInt<2>(3) - wire T_176335 : UInt<2>[2] - T_176335[0] := UInt<2>(2) - T_176335[1] := UInt<2>(3) - wire T_176336 : UInt<2>[1] - T_176336[0] := UInt<2>(3) - wire T_176337 : UInt<3>[3] - T_176337[0] := UInt<3>(0) - T_176337[1] := UInt<3>(1) - T_176337[2] := UInt<3>(2) - wire T_176338 : UInt<0>[1] - T_176338[0] := UInt<0>(0) - wire T_176339 : UInt<2>[2] - T_176339[0] := UInt<2>(1) - T_176339[1] := UInt<2>(2) - wire T_176340 : UInt<2>[2] - T_176340[0] := UInt<2>(1) - T_176340[1] := UInt<2>(2) - wire T_176341 : UInt<2>[1] - T_176341[0] := UInt<2>(2) - data.write.valid := UInt<1>(0) - data.resp.valid := UInt<1>(0) - data.read.valid := UInt<1>(0) - wb.resp.valid := UInt<1>(0) - wb.req.valid := UInt<1>(0) - outer.release.valid := UInt<1>(0) - outer.probe.valid := UInt<1>(0) - outer.grant.valid := UInt<1>(0) - outer.acquire.valid := UInt<1>(0) - inner.release.valid := UInt<1>(0) - inner.probe.valid := UInt<1>(0) - inner.finish.valid := UInt<1>(0) - inner.grant.valid := UInt<1>(0) - inner.acquire.valid := UInt<1>(0) - reg state : UInt<3> - onreset state := UInt<3>(0) - wire T_176342 : UInt<3>[3] - T_176342[0] := UInt<3>(0) - T_176342[1] := UInt<3>(1) - T_176342[2] := UInt<3>(2) - wire T_176343 : UInt<2>[2] - T_176343[0] := UInt<2>(0) - T_176343[1] := UInt<2>(1) - wire T_176344 : UInt<2>[3] - T_176344[0] := UInt<2>(1) - T_176344[1] := UInt<2>(2) - T_176344[2] := UInt<2>(3) - wire T_176345 : UInt<2>[2] - T_176345[0] := UInt<2>(2) - T_176345[1] := UInt<2>(3) - wire T_176346 : UInt<2>[1] - T_176346[0] := UInt<2>(3) - wire T_176347 : UInt<3>[3] - T_176347[0] := UInt<3>(0) - T_176347[1] := UInt<3>(1) - T_176347[2] := UInt<3>(2) - wire T_176348 : UInt<2>[2] - T_176348[0] := UInt<2>(0) - T_176348[1] := UInt<2>(1) - wire T_176349 : UInt<2>[3] - T_176349[0] := UInt<2>(1) - T_176349[1] := UInt<2>(2) - T_176349[2] := UInt<2>(3) - wire T_176350 : UInt<2>[2] - T_176350[0] := UInt<2>(2) - T_176350[1] := UInt<2>(3) - wire T_176351 : UInt<2>[1] - T_176351[0] := UInt<2>(3) - wire T_176352 : UInt<3>[3] - T_176352[0] := UInt<3>(0) - T_176352[1] := UInt<3>(1) - T_176352[2] := UInt<3>(2) - wire T_176353 : UInt<0>[1] - T_176353[0] := UInt<0>(0) - wire T_176354 : UInt<2>[2] - T_176354[0] := UInt<2>(1) - T_176354[1] := UInt<2>(2) - wire T_176355 : UInt<2>[2] - T_176355[0] := UInt<2>(1) - T_176355[1] := UInt<2>(2) - wire T_176356 : UInt<2>[1] - T_176356[0] := UInt<2>(2) - wire T_176357 : UInt<3>[3] - T_176357[0] := UInt<3>(0) - T_176357[1] := UInt<3>(1) - T_176357[2] := UInt<3>(2) - wire T_176358 : UInt<2>[2] - T_176358[0] := UInt<2>(0) - T_176358[1] := UInt<2>(1) - wire T_176359 : UInt<2>[3] - T_176359[0] := UInt<2>(1) - T_176359[1] := UInt<2>(2) - T_176359[2] := UInt<2>(3) - wire T_176360 : UInt<2>[2] - T_176360[0] := UInt<2>(2) - T_176360[1] := UInt<2>(3) - wire T_176361 : UInt<2>[1] - T_176361[0] := UInt<2>(3) - wire T_176362 : UInt<3>[3] - T_176362[0] := UInt<3>(0) - T_176362[1] := UInt<3>(1) - T_176362[2] := UInt<3>(2) - wire T_176363 : UInt<2>[2] - T_176363[0] := UInt<2>(0) - T_176363[1] := UInt<2>(1) - wire T_176364 : UInt<2>[3] - T_176364[0] := UInt<2>(1) - T_176364[1] := UInt<2>(2) - T_176364[2] := UInt<2>(3) - wire T_176365 : UInt<2>[2] - T_176365[0] := UInt<2>(2) - T_176365[1] := UInt<2>(3) - wire T_176366 : UInt<2>[1] - T_176366[0] := UInt<2>(3) - wire T_176367 : UInt<3>[3] - T_176367[0] := UInt<3>(0) - T_176367[1] := UInt<3>(1) - T_176367[2] := UInt<3>(2) - wire T_176368 : UInt<0>[1] - T_176368[0] := UInt<0>(0) - wire T_176369 : UInt<2>[2] - T_176369[0] := UInt<2>(1) - T_176369[1] := UInt<2>(2) - wire T_176370 : UInt<2>[2] - T_176370[0] := UInt<2>(1) - T_176370[1] := UInt<2>(2) - wire T_176371 : UInt<2>[1] - T_176371[0] := UInt<2>(2) - reg xact : {tag : UInt<14>, coh : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}, id : UInt<2>, idx : UInt<12>, way_en : UInt<8>} - wire T_176372 : UInt<128>[4] - T_176372[0] := UInt<128>(0) - T_176372[1] := UInt<128>(0) - T_176372[2] := UInt<128>(0) - T_176372[3] := UInt<128>(0) - reg data_buffer : UInt<128>[4] - onreset data_buffer := T_176372 - node xact_addr_block = cat(xact.tag, xact.idx) - reg T_176373 : UInt<1> - onreset T_176373 := UInt<1>(0) - node T_176374 = and(inner.probe.ready, inner.probe.valid) - node T_176375 = and(T_176374, UInt<1>(0)) - reg T_176376 : UInt<2> - onreset T_176376 := UInt<2>(0) - when T_176375 : - node T_176377 = eq(T_176376, UInt<2>(3)) - node T_176378 = and(UInt<1>(0), T_176377) - node T_176379 = addw(T_176376, UInt<1>(1)) - wire T_176380 : UInt<2> - T_176380 := T_176379 - when T_176378 : T_176380 := UInt<1>(0) - T_176376 := T_176380 - node T_176381 = and(T_176375, T_176377) - wire T_176382 : UInt<1> - T_176382 := UInt<1>(0) - when UInt<1>(0) : T_176382 := T_176376 - wire T_176383 : UInt<1> - T_176383 := T_176374 - when UInt<1>(0) : T_176383 := T_176381 - node T_176384 = and(inner.release.ready, inner.release.valid) - node T_176385 = eq(T_176261[0], inner.release.bits.r_type) - node T_176386 = eq(T_176261[1], inner.release.bits.r_type) - node T_176387 = eq(T_176261[2], inner.release.bits.r_type) - node T_176388 = or(UInt<1>(0), T_176385) - node T_176389 = or(T_176388, T_176386) - node T_176390 = or(T_176389, T_176387) - node T_176391 = and(UInt<1>(1), T_176390) - node T_176392 = and(T_176384, T_176391) - reg T_176393 : UInt<2> - onreset T_176393 := UInt<2>(0) - when T_176392 : - node T_176394 = eq(T_176393, UInt<2>(3)) - node T_176395 = and(UInt<1>(0), T_176394) - node T_176396 = addw(T_176393, UInt<1>(1)) - wire T_176397 : UInt<2> - T_176397 := T_176396 - when T_176395 : T_176397 := UInt<1>(0) - T_176393 := T_176397 - node T_176398 = and(T_176392, T_176394) - wire T_176399 : UInt<1> - T_176399 := UInt<1>(0) - when T_176391 : T_176399 := T_176393 - wire T_176400 : UInt<1> - T_176400 := T_176384 - when T_176391 : T_176400 := T_176398 - node T_176401 = and(T_176383, UInt<1>(1)) - node T_176402 = subw(T_176373, UInt<1>(1)) - wire T_176403 : UInt<1> - T_176403 := T_176402 - when T_176401 : T_176403 := T_176373 - node T_176404 = addw(T_176373, UInt<1>(1)) - wire T_176405 : UInt<1> - T_176405 := T_176373 - when T_176401 : T_176405 := T_176404 - wire T_176406 : UInt<1> - T_176406 := T_176405 - when T_176400 : T_176406 := T_176403 - T_176373 := T_176406 - node pending_irels = gt(T_176373, UInt<1>(0)) - reg T_176407 : UInt<1> - onreset T_176407 := UInt<1>(0) - node T_176408 = and(outer.release.ready, outer.release.valid) - node T_176409 = eq(T_176307[0], outer.release.bits.r_type) - node T_176410 = eq(T_176307[1], outer.release.bits.r_type) - node T_176411 = eq(T_176307[2], outer.release.bits.r_type) - node T_176412 = or(UInt<1>(0), T_176409) - node T_176413 = or(T_176412, T_176410) - node T_176414 = or(T_176413, T_176411) - node T_176415 = and(UInt<1>(1), T_176414) - node T_176416 = and(T_176408, T_176415) - reg T_176417 : UInt<2> - onreset T_176417 := UInt<2>(0) - when T_176416 : - node T_176418 = eq(T_176417, UInt<2>(3)) - node T_176419 = and(UInt<1>(0), T_176418) - node T_176420 = addw(T_176417, UInt<1>(1)) - wire T_176421 : UInt<2> - T_176421 := T_176420 - when T_176419 : T_176421 := UInt<1>(0) - T_176417 := T_176421 - node T_176422 = and(T_176416, T_176418) - wire orel_data_idx : UInt<1> - orel_data_idx := UInt<1>(0) - when T_176415 : orel_data_idx := T_176417 - wire orel_data_done : UInt<1> - orel_data_done := T_176408 - when T_176415 : orel_data_done := T_176422 - node T_176423 = and(outer.grant.ready, outer.grant.valid) - wire T_176424 : UInt<3>[1] - T_176424[0] := UInt<3>(5) - node T_176425 = eq(T_176424[0], outer.grant.bits.g_type) - node T_176426 = or(UInt<1>(0), T_176425) - node T_176427 = eq(T_176288[0], outer.grant.bits.g_type) - node T_176428 = or(UInt<1>(0), T_176427) - wire T_176429 : UInt<1> - T_176429 := T_176428 - when outer.grant.bits.is_builtin_type : T_176429 := T_176426 - node T_176430 = and(UInt<1>(1), T_176429) - node T_176431 = and(T_176423, T_176430) - reg T_176432 : UInt<2> - onreset T_176432 := UInt<2>(0) - when T_176431 : - node T_176433 = eq(T_176432, UInt<2>(3)) - node T_176434 = and(UInt<1>(0), T_176433) - node T_176435 = addw(T_176432, UInt<1>(1)) - wire T_176436 : UInt<2> - T_176436 := T_176435 - when T_176434 : T_176436 := UInt<1>(0) - T_176432 := T_176436 - node T_176437 = and(T_176431, T_176433) - wire ognt_data_idx : UInt<1> - ognt_data_idx := UInt<1>(0) - when T_176430 : ognt_data_idx := T_176432 - wire ognt_data_done : UInt<1> - ognt_data_done := T_176423 - when T_176430 : ognt_data_done := T_176437 - node T_176438 = and(orel_data_done, UInt<1>(1)) - node T_176439 = subw(T_176407, UInt<1>(1)) - wire T_176440 : UInt<1> - T_176440 := T_176439 - when T_176438 : T_176440 := T_176407 - node T_176441 = addw(T_176407, UInt<1>(1)) - wire T_176442 : UInt<1> - T_176442 := T_176407 - when T_176438 : T_176442 := T_176441 - wire T_176443 : UInt<1> - T_176443 := T_176442 - when ognt_data_done : T_176443 := T_176440 - T_176407 := T_176443 - node pending_ognt = gt(T_176407, UInt<1>(0)) - reg pending_iprbs : UInt<1> - onreset pending_iprbs := UInt<1>(0) - reg pending_reads : UInt<4> - onreset pending_reads := UInt<4>(0) - reg pending_resps : UInt<4> - onreset pending_resps := UInt<4>(0) - reg pending_orel_data : UInt<4> - onreset pending_orel_data := UInt<4>(0) - node T_176444 = eq(state, UInt<3>(0)) - wb.req.ready := T_176444 - node T_176445 = and(inner.probe.ready, inner.probe.valid) - node T_176446 = not(T_176445) - node T_176447 = dshl(UInt<1>(1), inner.probe.bits.client_id) - node T_176448 = not(T_176447) - node T_176449 = or(T_176446, T_176448) - node T_176450 = and(pending_iprbs, T_176449) - pending_iprbs := T_176450 - node T_176451 = bit(pending_iprbs, 0) - wire T_176452 : UInt<1>[1] - T_176452[0] := T_176451 - node T_176453 = eq(state, UInt<3>(1)) - node T_176454 = eq(pending_iprbs, UInt<1>(0)) - node T_176455 = eq(T_176454, UInt<1>(0)) - node T_176456 = and(T_176453, T_176455) - inner.probe.valid := T_176456 - node T_176457 = eq(UInt<5>(17), UInt<5>(16)) - wire T_176458 : UInt<2> - T_176458 := UInt<2>(2) - when T_176457 : T_176458 := UInt<2>(1) - node T_176459 = eq(UInt<5>(16), UInt<5>(16)) - wire T_176460 : UInt<2> - T_176460 := T_176458 - when T_176459 : T_176460 := UInt<2>(0) - wire T_176461 : UInt<3>[3] - T_176461[0] := UInt<3>(0) - T_176461[1] := UInt<3>(1) - T_176461[2] := UInt<3>(2) - wire T_176462 : UInt<2>[2] - T_176462[0] := UInt<2>(0) - T_176462[1] := UInt<2>(1) - wire T_176463 : UInt<2>[3] - T_176463[0] := UInt<2>(1) - T_176463[1] := UInt<2>(2) - T_176463[2] := UInt<2>(3) - wire T_176464 : UInt<2>[2] - T_176464[0] := UInt<2>(2) - T_176464[1] := UInt<2>(3) - wire T_176465 : UInt<2>[1] - T_176465[0] := UInt<2>(3) - wire T_176466 : UInt<3>[3] - T_176466[0] := UInt<3>(0) - T_176466[1] := UInt<3>(1) - T_176466[2] := UInt<3>(2) - wire T_176467 : UInt<2>[2] - T_176467[0] := UInt<2>(0) - T_176467[1] := UInt<2>(1) - wire T_176468 : UInt<2>[3] - T_176468[0] := UInt<2>(1) - T_176468[1] := UInt<2>(2) - T_176468[2] := UInt<2>(3) - wire T_176469 : UInt<2>[2] - T_176469[0] := UInt<2>(2) - T_176469[1] := UInt<2>(3) - wire T_176470 : UInt<2>[1] - T_176470[0] := UInt<2>(3) - wire T_176471 : {addr_block : UInt<26>, p_type : UInt<2>, client_id : UInt<2>} - T_176471.client_id := UInt<1>(0) - T_176471.p_type := T_176460 - T_176471.addr_block := xact_addr_block - inner.probe.bits := T_176471 - node T_176472 = dshl(UInt<1>(1), inner.release.bits.client_id) - node T_176473 = not(T_176472) - node T_176474 = and(xact.coh.inner.sharers, T_176473) - wire T_176475 : UInt<3>[3] - T_176475[0] := UInt<3>(0) - T_176475[1] := UInt<3>(1) - T_176475[2] := UInt<3>(2) - wire T_176476 : UInt<2>[2] - T_176476[0] := UInt<2>(0) - T_176476[1] := UInt<2>(1) - wire T_176477 : UInt<2>[3] - T_176477[0] := UInt<2>(1) - T_176477[1] := UInt<2>(2) - T_176477[2] := UInt<2>(3) - wire T_176478 : UInt<2>[2] - T_176478[0] := UInt<2>(2) - T_176478[1] := UInt<2>(3) - wire T_176479 : UInt<2>[1] - T_176479[0] := UInt<2>(3) - wire T_176480 : UInt<3>[3] - T_176480[0] := UInt<3>(0) - T_176480[1] := UInt<3>(1) - T_176480[2] := UInt<3>(2) - wire T_176481 : UInt<2>[2] - T_176481[0] := UInt<2>(0) - T_176481[1] := UInt<2>(1) - wire T_176482 : UInt<2>[3] - T_176482[0] := UInt<2>(1) - T_176482[1] := UInt<2>(2) - T_176482[2] := UInt<2>(3) - wire T_176483 : UInt<2>[2] - T_176483[0] := UInt<2>(2) - T_176483[1] := UInt<2>(3) - wire T_176484 : UInt<2>[1] - T_176484[0] := UInt<2>(3) - wire T_176485 : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>} - T_176485.sharers := T_176474 - node T_176486 = eq(inner.release.bits.r_type, UInt<3>(0)) - node T_176487 = eq(inner.release.bits.r_type, UInt<3>(3)) - wire T_176488 : UInt<3>[3] - T_176488[0] := UInt<3>(0) - T_176488[1] := UInt<3>(1) - T_176488[2] := UInt<3>(2) - wire T_176489 : UInt<2>[2] - T_176489[0] := UInt<2>(0) - T_176489[1] := UInt<2>(1) - wire T_176490 : UInt<2>[3] - T_176490[0] := UInt<2>(1) - T_176490[1] := UInt<2>(2) - T_176490[2] := UInt<2>(3) - wire T_176491 : UInt<2>[2] - T_176491[0] := UInt<2>(2) - T_176491[1] := UInt<2>(3) - wire T_176492 : UInt<2>[1] - T_176492[0] := UInt<2>(3) - wire T_176493 : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>} - T_176493 := xact.coh.inner - when T_176487 : T_176493 := T_176485 - wire T_176494 : UInt<3>[3] - T_176494[0] := UInt<3>(0) - T_176494[1] := UInt<3>(1) - T_176494[2] := UInt<3>(2) - wire T_176495 : UInt<2>[2] - T_176495[0] := UInt<2>(0) - T_176495[1] := UInt<2>(1) - wire T_176496 : UInt<2>[3] - T_176496[0] := UInt<2>(1) - T_176496[1] := UInt<2>(2) - T_176496[2] := UInt<2>(3) - wire T_176497 : UInt<2>[2] - T_176497[0] := UInt<2>(2) - T_176497[1] := UInt<2>(3) - wire T_176498 : UInt<2>[1] - T_176498[0] := UInt<2>(3) - wire inner_coh_on_irel : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>} - inner_coh_on_irel := T_176493 - when T_176486 : inner_coh_on_irel := T_176485 - node T_176499 = eq(UInt<5>(1), UInt<5>(1)) - node T_176500 = eq(UInt<5>(1), UInt<5>(7)) - node T_176501 = or(T_176499, T_176500) - node T_176502 = eq(UInt<5>(1), UInt<5>(4)) - node T_176503 = or(UInt<1>(0), T_176502) - node T_176504 = or(T_176501, T_176503) - wire T_176505 : UInt<2> - T_176505 := xact.coh.outer.state - when T_176504 : T_176505 := UInt<2>(2) - wire T_176506 : UInt<3>[3] - T_176506[0] := UInt<3>(0) - T_176506[1] := UInt<3>(1) - T_176506[2] := UInt<3>(2) - wire T_176507 : UInt<0>[1] - T_176507[0] := UInt<0>(0) - wire T_176508 : UInt<2>[2] - T_176508[0] := UInt<2>(1) - T_176508[1] := UInt<2>(2) - wire T_176509 : UInt<2>[2] - T_176509[0] := UInt<2>(1) - T_176509[1] := UInt<2>(2) - wire T_176510 : UInt<2>[1] - T_176510[0] := UInt<2>(2) - wire T_176511 : UInt<3>[3] - T_176511[0] := UInt<3>(0) - T_176511[1] := UInt<3>(1) - T_176511[2] := UInt<3>(2) - wire T_176512 : UInt<0>[1] - T_176512[0] := UInt<0>(0) - wire T_176513 : UInt<2>[2] - T_176513[0] := UInt<2>(1) - T_176513[1] := UInt<2>(2) - wire T_176514 : UInt<2>[2] - T_176514[0] := UInt<2>(1) - T_176514[1] := UInt<2>(2) - wire T_176515 : UInt<2>[1] - T_176515[0] := UInt<2>(2) - wire outer_coh_on_irel : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>} - outer_coh_on_irel.state := T_176505 - node T_176516 = eq(state, UInt<3>(1)) - node T_176517 = eq(state, UInt<3>(2)) - node T_176518 = or(T_176516, T_176517) - inner.release.ready := T_176518 - - node T_176519 = and(inner.release.ready, inner.release.valid) - when T_176519 : - xact.coh.inner := inner_coh_on_irel - accessor T_176520 = data_buffer[inner.release.bits.addr_beat] - T_176520 := inner.release.bits.data - - - node T_176521 = eq(inner.release.bits.addr_block, xact_addr_block) - node T_176522 = and(inner.release.valid, T_176521) - node T_176523 = eq(T_176261[0], inner.release.bits.r_type) - node T_176524 = eq(T_176261[1], inner.release.bits.r_type) - node T_176525 = eq(T_176261[2], inner.release.bits.r_type) - node T_176526 = or(UInt<1>(0), T_176523) - node T_176527 = or(T_176526, T_176524) - node T_176528 = or(T_176527, T_176525) - node T_176529 = and(T_176522, T_176528) - when T_176529 : xact.coh.outer := outer_coh_on_irel - node T_176530 = and(data.read.ready, data.read.valid) - node T_176531 = subw(UInt<4>(0), UInt<3>(4)) - node T_176532 = not(T_176531) - node T_176533 = dshl(UInt<1>(1), data.read.bits.addr_beat) - node T_176534 = not(T_176533) - node T_176535 = or(T_176532, T_176534) - node T_176536 = and(pending_reads, T_176535) - node T_176537 = and(inner.release.ready, inner.release.valid) - node T_176538 = eq(T_176261[0], inner.release.bits.r_type) - node T_176539 = eq(T_176261[1], inner.release.bits.r_type) - node T_176540 = eq(T_176261[2], inner.release.bits.r_type) - node T_176541 = or(UInt<1>(0), T_176538) - node T_176542 = or(T_176541, T_176539) - node T_176543 = or(T_176542, T_176540) - node T_176544 = and(T_176537, T_176543) - node T_176545 = subw(UInt<4>(0), UInt<3>(4)) - node T_176546 = not(T_176545) - node T_176547 = dshl(UInt<1>(1), inner.release.bits.addr_beat) - node T_176548 = not(T_176547) - node T_176549 = or(T_176546, T_176548) - node T_176550 = and(T_176536, T_176549) - pending_reads := T_176550 - node T_176551 = bit(pending_reads, 0) - node T_176552 = bit(pending_reads, 1) - node T_176553 = bit(pending_reads, 2) - node T_176554 = bit(pending_reads, 3) - wire T_176555 : UInt<1>[4] - T_176555[0] := T_176551 - T_176555[1] := T_176552 - T_176555[2] := T_176553 - T_176555[3] := T_176554 - wire T_176556 : UInt<2> - T_176556 := UInt<2>(3) - when T_176555[2] : T_176556 := UInt<2>(2) - wire T_176557 : UInt<2> - T_176557 := T_176556 - when T_176555[1] : T_176557 := UInt<1>(1) - wire curr_read_beat : UInt<2> - curr_read_beat := T_176557 - when T_176555[0] : curr_read_beat := UInt<1>(0) - node T_176558 = eq(state, UInt<3>(2)) - node T_176559 = eq(pending_reads, UInt<1>(0)) - node T_176560 = eq(T_176559, UInt<1>(0)) - node T_176561 = and(T_176558, T_176560) - data.read.valid := T_176561 - data.read.bits.id := UInt<2>(3) - data.read.bits.way_en := xact.way_en - data.read.bits.addr_idx := xact.idx - data.read.bits.addr_beat := curr_read_beat - data.write.valid := UInt<1>(0) - node T_176562 = subw(UInt<4>(0), UInt<3>(4)) - node T_176563 = not(T_176562) - node T_176564 = dshl(UInt<1>(1), data.resp.bits.addr_beat) - node T_176565 = not(T_176564) - node T_176566 = or(T_176563, T_176565) - node T_176567 = and(pending_resps, T_176566) - node T_176568 = and(data.read.ready, data.read.valid) - node T_176569 = subw(UInt<4>(0), UInt<3>(4)) - node T_176570 = dshl(UInt<1>(1), data.read.bits.addr_beat) - node T_176571 = and(T_176569, T_176570) - node T_176572 = or(T_176567, T_176571) - pending_resps := T_176572 - when data.resp.valid : - accessor T_176573 = data_buffer[data.resp.bits.addr_beat] - T_176573 := data.resp.bits.data - node T_176574 = and(inner.release.ready, inner.release.valid) - node T_176575 = eq(T_176261[0], inner.release.bits.r_type) - node T_176576 = eq(T_176261[1], inner.release.bits.r_type) - node T_176577 = eq(T_176261[2], inner.release.bits.r_type) - node T_176578 = or(UInt<1>(0), T_176575) - node T_176579 = or(T_176578, T_176576) - node T_176580 = or(T_176579, T_176577) - node T_176581 = and(T_176574, T_176580) - node T_176582 = subw(UInt<4>(0), UInt<3>(4)) - node T_176583 = dshl(UInt<1>(1), inner.release.bits.addr_beat) - node T_176584 = and(T_176582, T_176583) - node T_176585 = or(pending_orel_data, T_176584) - node T_176586 = subw(UInt<4>(0), UInt<3>(4)) - node T_176587 = dshl(UInt<1>(1), data.resp.bits.addr_beat) - node T_176588 = and(T_176586, T_176587) - node T_176589 = or(T_176585, T_176588) - pending_orel_data := T_176589 - node T_176590 = eq(state, UInt<3>(2)) - node T_176591 = eq(T_176307[0], outer.release.bits.r_type) - node T_176592 = eq(T_176307[1], outer.release.bits.r_type) - node T_176593 = eq(T_176307[2], outer.release.bits.r_type) - node T_176594 = or(UInt<1>(0), T_176591) - node T_176595 = or(T_176594, T_176592) - node T_176596 = or(T_176595, T_176593) - node T_176597 = eq(T_176596, UInt<1>(0)) - node T_176598 = dshr(pending_orel_data, orel_data_idx) - node T_176599 = bit(T_176598, 0) - node T_176600 = or(T_176597, T_176599) - node T_176601 = and(T_176590, T_176600) - outer.release.valid := T_176601 - accessor T_176602 = data_buffer[orel_data_idx] - node T_176603 = eq(T_176371[0], xact.coh.outer.state) - node T_176604 = or(UInt<1>(0), T_176603) - wire T_176605 : UInt<3> - T_176605 := UInt<3>(3) - when T_176604 : T_176605 := UInt<3>(0) - wire T_176606 : UInt<3> - T_176606 := UInt<3>(4) - when T_176604 : T_176606 := UInt<3>(1) - wire T_176607 : UInt<3> - T_176607 := UInt<3>(5) - when T_176604 : T_176607 := UInt<3>(2) - node T_176608 = eq(UInt<5>(19), UInt<5>(16)) - wire T_176609 : UInt<3> - T_176609 := UInt<3>(5) - when T_176608 : T_176609 := T_176607 - node T_176610 = eq(UInt<5>(17), UInt<5>(16)) - wire T_176611 : UInt<3> - T_176611 := T_176609 - when T_176610 : T_176611 := T_176606 - node T_176612 = eq(UInt<5>(16), UInt<5>(16)) - wire T_176613 : UInt<3> - T_176613 := T_176611 - when T_176612 : T_176613 := T_176605 - wire T_176614 : UInt<3>[3] - T_176614[0] := UInt<3>(0) - T_176614[1] := UInt<3>(1) - T_176614[2] := UInt<3>(2) - wire T_176615 : UInt<0>[1] - T_176615[0] := UInt<0>(0) - wire T_176616 : UInt<2>[2] - T_176616[0] := UInt<2>(1) - T_176616[1] := UInt<2>(2) - wire T_176617 : UInt<2>[2] - T_176617[0] := UInt<2>(1) - T_176617[1] := UInt<2>(2) - wire T_176618 : UInt<2>[1] - T_176618[0] := UInt<2>(2) - wire T_176619 : UInt<3>[3] - T_176619[0] := UInt<3>(0) - T_176619[1] := UInt<3>(1) - T_176619[2] := UInt<3>(2) - wire T_176620 : UInt<0>[1] - T_176620[0] := UInt<0>(0) - wire T_176621 : UInt<2>[2] - T_176621[0] := UInt<2>(1) - T_176621[1] := UInt<2>(2) - wire T_176622 : UInt<2>[2] - T_176622[0] := UInt<2>(1) - T_176622[1] := UInt<2>(2) - wire T_176623 : UInt<2>[1] - T_176623[0] := UInt<2>(2) - wire T_176624 : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>} - T_176624.r_type := T_176613 - T_176624.client_xact_id := UInt<2>(3) - T_176624.addr_block := xact_addr_block - T_176624.addr_beat := orel_data_idx - T_176624.data := T_176602 - T_176624.voluntary := UInt<1>(1) - outer.release.bits := T_176624 - node T_176625 = eq(state, UInt<3>(3)) - outer.grant.ready := T_176625 - node T_176626 = eq(state, UInt<3>(4)) - wb.resp.valid := T_176626 - wb.resp.bits.id := xact.id - - - node T_176627 = eq(state, UInt<3>(0)) - node T_176628 = and(T_176627, wb.req.valid) - when T_176628 : - xact := wb.req.bits - node T_176629 = eq(wb.req.bits.coh.inner.sharers, UInt<1>(0)) - node T_176630 = eq(T_176629, UInt<1>(0)) - when T_176630 : - node T_176631 = not(incoherent[0]) - node T_176632 = and(wb.req.bits.coh.inner.sharers, T_176631) - pending_iprbs := T_176632 - pending_reads := SInt<4>(-1) - pending_resps := UInt<1>(0) - pending_orel_data := UInt<1>(0) - wire T_176633 : UInt<3> - T_176633 := UInt<3>(2) - when T_176630 : T_176633 := UInt<3>(1) - state := T_176633 - - - node T_176634 = eq(state, UInt<3>(1)) - node T_176635 = eq(pending_iprbs, UInt<1>(0)) - node T_176636 = eq(T_176635, UInt<1>(0)) - node T_176637 = or(T_176636, pending_irels) - node T_176638 = eq(T_176637, UInt<1>(0)) - node T_176639 = and(T_176634, T_176638) - when T_176639 : - node T_176640 = eq(T_176371[0], xact.coh.outer.state) - node T_176641 = or(UInt<1>(0), T_176640) - wire T_176642 : UInt<3> - T_176642 := UInt<3>(4) - when T_176641 : T_176642 := UInt<3>(2) - state := T_176642 - - - node T_176643 = eq(state, UInt<3>(2)) - node T_176644 = and(T_176643, orel_data_done) - when T_176644 : - node T_176645 = eq(UInt<1>(0), UInt<1>(0)) - wire T_176646 : UInt<3> - T_176646 := UInt<3>(4) - when T_176645 : T_176646 := UInt<3>(3) - state := T_176646 - - - node T_176647 = eq(state, UInt<3>(3)) - node T_176648 = and(T_176647, ognt_data_done) - when T_176648 : state := UInt<3>(4) - - node T_176649 = eq(state, UInt<3>(4)) - when T_176649 : state := UInt<3>(0) - node T_176650 = eq(inner.release.bits.addr_block, xact_addr_block) - node T_176651 = eq(inner.release.bits.voluntary, UInt<1>(0)) - node T_176652 = and(T_176650, T_176651) - node T_176653 = and(T_176652, inner.release.ready) - has_release_match := T_176653 - has_acquire_match := UInt<1>(0) - has_acquire_conflict := UInt<1>(0) - module RRArbiter_97606 : - input in : {flip ready : UInt<1>, valid : UInt<1>, bits : {tag : UInt<14>, coh : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}, id : UInt<2>, idx : UInt<12>, way_en : UInt<8>}}[3] - output out : {flip ready : UInt<1>, valid : UInt<1>, bits : {tag : UInt<14>, coh : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}, id : UInt<2>, idx : UInt<12>, way_en : UInt<8>}} - output chosen : UInt<2> - - wire T_176654 : UInt<3>[3] - T_176654[0] := UInt<3>(0) - T_176654[1] := UInt<3>(1) - T_176654[2] := UInt<3>(2) - wire T_176655 : UInt<2>[2] - T_176655[0] := UInt<2>(0) - T_176655[1] := UInt<2>(1) - wire T_176656 : UInt<2>[3] - T_176656[0] := UInt<2>(1) - T_176656[1] := UInt<2>(2) - T_176656[2] := UInt<2>(3) - wire T_176657 : UInt<2>[2] - T_176657[0] := UInt<2>(2) - T_176657[1] := UInt<2>(3) - wire T_176658 : UInt<2>[1] - T_176658[0] := UInt<2>(3) - wire T_176659 : UInt<3>[3] - T_176659[0] := UInt<3>(0) - T_176659[1] := UInt<3>(1) - T_176659[2] := UInt<3>(2) - wire T_176660 : UInt<2>[2] - T_176660[0] := UInt<2>(0) - T_176660[1] := UInt<2>(1) - wire T_176661 : UInt<2>[3] - T_176661[0] := UInt<2>(1) - T_176661[1] := UInt<2>(2) - T_176661[2] := UInt<2>(3) - wire T_176662 : UInt<2>[2] - T_176662[0] := UInt<2>(2) - T_176662[1] := UInt<2>(3) - wire T_176663 : UInt<2>[1] - T_176663[0] := UInt<2>(3) - wire T_176664 : UInt<3>[3] - T_176664[0] := UInt<3>(0) - T_176664[1] := UInt<3>(1) - T_176664[2] := UInt<3>(2) - wire T_176665 : UInt<0>[1] - T_176665[0] := UInt<0>(0) - wire T_176666 : UInt<2>[2] - T_176666[0] := UInt<2>(1) - T_176666[1] := UInt<2>(2) - wire T_176667 : UInt<2>[2] - T_176667[0] := UInt<2>(1) - T_176667[1] := UInt<2>(2) - wire T_176668 : UInt<2>[1] - T_176668[0] := UInt<2>(2) - wire T_176669 : UInt<3>[3] - T_176669[0] := UInt<3>(0) - T_176669[1] := UInt<3>(1) - T_176669[2] := UInt<3>(2) - wire T_176670 : UInt<2>[2] - T_176670[0] := UInt<2>(0) - T_176670[1] := UInt<2>(1) - wire T_176671 : UInt<2>[3] - T_176671[0] := UInt<2>(1) - T_176671[1] := UInt<2>(2) - T_176671[2] := UInt<2>(3) - wire T_176672 : UInt<2>[2] - T_176672[0] := UInt<2>(2) - T_176672[1] := UInt<2>(3) - wire T_176673 : UInt<2>[1] - T_176673[0] := UInt<2>(3) - wire T_176674 : UInt<3>[3] - T_176674[0] := UInt<3>(0) - T_176674[1] := UInt<3>(1) - T_176674[2] := UInt<3>(2) - wire T_176675 : UInt<2>[2] - T_176675[0] := UInt<2>(0) - T_176675[1] := UInt<2>(1) - wire T_176676 : UInt<2>[3] - T_176676[0] := UInt<2>(1) - T_176676[1] := UInt<2>(2) - T_176676[2] := UInt<2>(3) - wire T_176677 : UInt<2>[2] - T_176677[0] := UInt<2>(2) - T_176677[1] := UInt<2>(3) - wire T_176678 : UInt<2>[1] - T_176678[0] := UInt<2>(3) - wire T_176679 : UInt<3>[3] - T_176679[0] := UInt<3>(0) - T_176679[1] := UInt<3>(1) - T_176679[2] := UInt<3>(2) - wire T_176680 : UInt<0>[1] - T_176680[0] := UInt<0>(0) - wire T_176681 : UInt<2>[2] - T_176681[0] := UInt<2>(1) - T_176681[1] := UInt<2>(2) - wire T_176682 : UInt<2>[2] - T_176682[0] := UInt<2>(1) - T_176682[1] := UInt<2>(2) - wire T_176683 : UInt<2>[1] - T_176683[0] := UInt<2>(2) - wire T_176684 : UInt<3>[3] - T_176684[0] := UInt<3>(0) - T_176684[1] := UInt<3>(1) - T_176684[2] := UInt<3>(2) - wire T_176685 : UInt<2>[2] - T_176685[0] := UInt<2>(0) - T_176685[1] := UInt<2>(1) - wire T_176686 : UInt<2>[3] - T_176686[0] := UInt<2>(1) - T_176686[1] := UInt<2>(2) - T_176686[2] := UInt<2>(3) - wire T_176687 : UInt<2>[2] - T_176687[0] := UInt<2>(2) - T_176687[1] := UInt<2>(3) - wire T_176688 : UInt<2>[1] - T_176688[0] := UInt<2>(3) - wire T_176689 : UInt<3>[3] - T_176689[0] := UInt<3>(0) - T_176689[1] := UInt<3>(1) - T_176689[2] := UInt<3>(2) - wire T_176690 : UInt<2>[2] - T_176690[0] := UInt<2>(0) - T_176690[1] := UInt<2>(1) - wire T_176691 : UInt<2>[3] - T_176691[0] := UInt<2>(1) - T_176691[1] := UInt<2>(2) - T_176691[2] := UInt<2>(3) - wire T_176692 : UInt<2>[2] - T_176692[0] := UInt<2>(2) - T_176692[1] := UInt<2>(3) - wire T_176693 : UInt<2>[1] - T_176693[0] := UInt<2>(3) - wire T_176694 : UInt<3>[3] - T_176694[0] := UInt<3>(0) - T_176694[1] := UInt<3>(1) - T_176694[2] := UInt<3>(2) - wire T_176695 : UInt<0>[1] - T_176695[0] := UInt<0>(0) - wire T_176696 : UInt<2>[2] - T_176696[0] := UInt<2>(1) - T_176696[1] := UInt<2>(2) - wire T_176697 : UInt<2>[2] - T_176697[0] := UInt<2>(1) - T_176697[1] := UInt<2>(2) - wire T_176698 : UInt<2>[1] - T_176698[0] := UInt<2>(2) - wire T_176699 : UInt<3>[3] - T_176699[0] := UInt<3>(0) - T_176699[1] := UInt<3>(1) - T_176699[2] := UInt<3>(2) - wire T_176700 : UInt<2>[2] - T_176700[0] := UInt<2>(0) - T_176700[1] := UInt<2>(1) - wire T_176701 : UInt<2>[3] - T_176701[0] := UInt<2>(1) - T_176701[1] := UInt<2>(2) - T_176701[2] := UInt<2>(3) - wire T_176702 : UInt<2>[2] - T_176702[0] := UInt<2>(2) - T_176702[1] := UInt<2>(3) - wire T_176703 : UInt<2>[1] - T_176703[0] := UInt<2>(3) - wire T_176704 : UInt<3>[3] - T_176704[0] := UInt<3>(0) - T_176704[1] := UInt<3>(1) - T_176704[2] := UInt<3>(2) - wire T_176705 : UInt<2>[2] - T_176705[0] := UInt<2>(0) - T_176705[1] := UInt<2>(1) - wire T_176706 : UInt<2>[3] - T_176706[0] := UInt<2>(1) - T_176706[1] := UInt<2>(2) - T_176706[2] := UInt<2>(3) - wire T_176707 : UInt<2>[2] - T_176707[0] := UInt<2>(2) - T_176707[1] := UInt<2>(3) - wire T_176708 : UInt<2>[1] - T_176708[0] := UInt<2>(3) - wire T_176709 : UInt<3>[3] - T_176709[0] := UInt<3>(0) - T_176709[1] := UInt<3>(1) - T_176709[2] := UInt<3>(2) - wire T_176710 : UInt<0>[1] - T_176710[0] := UInt<0>(0) - wire T_176711 : UInt<2>[2] - T_176711[0] := UInt<2>(1) - T_176711[1] := UInt<2>(2) - wire T_176712 : UInt<2>[2] - T_176712[0] := UInt<2>(1) - T_176712[1] := UInt<2>(2) - wire T_176713 : UInt<2>[1] - T_176713[0] := UInt<2>(2) - wire T_176714 : UInt<3>[3] - T_176714[0] := UInt<3>(0) - T_176714[1] := UInt<3>(1) - T_176714[2] := UInt<3>(2) - wire T_176715 : UInt<2>[2] - T_176715[0] := UInt<2>(0) - T_176715[1] := UInt<2>(1) - wire T_176716 : UInt<2>[3] - T_176716[0] := UInt<2>(1) - T_176716[1] := UInt<2>(2) - T_176716[2] := UInt<2>(3) - wire T_176717 : UInt<2>[2] - T_176717[0] := UInt<2>(2) - T_176717[1] := UInt<2>(3) - wire T_176718 : UInt<2>[1] - T_176718[0] := UInt<2>(3) - wire T_176719 : UInt<3>[3] - T_176719[0] := UInt<3>(0) - T_176719[1] := UInt<3>(1) - T_176719[2] := UInt<3>(2) - wire T_176720 : UInt<2>[2] - T_176720[0] := UInt<2>(0) - T_176720[1] := UInt<2>(1) - wire T_176721 : UInt<2>[3] - T_176721[0] := UInt<2>(1) - T_176721[1] := UInt<2>(2) - T_176721[2] := UInt<2>(3) - wire T_176722 : UInt<2>[2] - T_176722[0] := UInt<2>(2) - T_176722[1] := UInt<2>(3) - wire T_176723 : UInt<2>[1] - T_176723[0] := UInt<2>(3) - wire T_176724 : UInt<3>[3] - T_176724[0] := UInt<3>(0) - T_176724[1] := UInt<3>(1) - T_176724[2] := UInt<3>(2) - wire T_176725 : UInt<0>[1] - T_176725[0] := UInt<0>(0) - wire T_176726 : UInt<2>[2] - T_176726[0] := UInt<2>(1) - T_176726[1] := UInt<2>(2) - wire T_176727 : UInt<2>[2] - T_176727[0] := UInt<2>(1) - T_176727[1] := UInt<2>(2) - wire T_176728 : UInt<2>[1] - T_176728[0] := UInt<2>(2) - wire T_176729 : UInt<2> - reg T_176730 : UInt<2> - onreset T_176730 := UInt<2>(0) - node T_176731 = gt(UInt<1>(0), T_176730) - node T_176732 = and(in[0].valid, T_176731) - node T_176733 = gt(UInt<1>(1), T_176730) - node T_176734 = and(in[1].valid, T_176733) - node T_176735 = gt(UInt<2>(2), T_176730) - node T_176736 = and(in[2].valid, T_176735) - node T_176737 = or(UInt<1>(0), T_176732) - node T_176738 = eq(T_176737, UInt<1>(0)) - node T_176739 = or(UInt<1>(0), T_176732) - node T_176740 = or(T_176739, T_176734) - node T_176741 = eq(T_176740, UInt<1>(0)) - node T_176742 = or(UInt<1>(0), T_176732) - node T_176743 = or(T_176742, T_176734) - node T_176744 = or(T_176743, T_176736) - node T_176745 = eq(T_176744, UInt<1>(0)) - node T_176746 = or(UInt<1>(0), T_176732) - node T_176747 = or(T_176746, T_176734) - node T_176748 = or(T_176747, T_176736) - node T_176749 = or(T_176748, in[0].valid) - node T_176750 = eq(T_176749, UInt<1>(0)) - node T_176751 = or(UInt<1>(0), T_176732) - node T_176752 = or(T_176751, T_176734) - node T_176753 = or(T_176752, T_176736) - node T_176754 = or(T_176753, in[0].valid) - node T_176755 = or(T_176754, in[1].valid) - node T_176756 = eq(T_176755, UInt<1>(0)) - node T_176757 = gt(UInt<1>(0), T_176730) - node T_176758 = and(UInt<1>(1), T_176757) - node T_176759 = or(T_176758, T_176745) - node T_176760 = gt(UInt<1>(1), T_176730) - node T_176761 = and(T_176738, T_176760) - node T_176762 = or(T_176761, T_176750) - node T_176763 = gt(UInt<2>(2), T_176730) - node T_176764 = and(T_176741, T_176763) - node T_176765 = or(T_176764, T_176756) - node T_176766 = eq(UInt<2>(2), UInt<1>(0)) - wire T_176767 : UInt<1> - T_176767 := T_176759 - when UInt<1>(0) : T_176767 := T_176766 - node T_176768 = and(T_176767, out.ready) - in[0].ready := T_176768 - node T_176769 = eq(UInt<2>(2), UInt<1>(1)) - wire T_176770 : UInt<1> - T_176770 := T_176762 - when UInt<1>(0) : T_176770 := T_176769 - node T_176771 = and(T_176770, out.ready) - in[1].ready := T_176771 - node T_176772 = eq(UInt<2>(2), UInt<2>(2)) - wire T_176773 : UInt<1> - T_176773 := T_176765 - when UInt<1>(0) : T_176773 := T_176772 - node T_176774 = and(T_176773, out.ready) - in[2].ready := T_176774 - wire T_176775 : UInt<3>[3] - T_176775[0] := UInt<3>(0) - T_176775[1] := UInt<3>(1) - T_176775[2] := UInt<3>(2) - wire T_176776 : UInt<2>[2] - T_176776[0] := UInt<2>(0) - T_176776[1] := UInt<2>(1) - wire T_176777 : UInt<2>[3] - T_176777[0] := UInt<2>(1) - T_176777[1] := UInt<2>(2) - T_176777[2] := UInt<2>(3) - wire T_176778 : UInt<2>[2] - T_176778[0] := UInt<2>(2) - T_176778[1] := UInt<2>(3) - wire T_176779 : UInt<2>[1] - T_176779[0] := UInt<2>(3) - wire T_176780 : UInt<3>[3] - T_176780[0] := UInt<3>(0) - T_176780[1] := UInt<3>(1) - T_176780[2] := UInt<3>(2) - wire T_176781 : UInt<2>[2] - T_176781[0] := UInt<2>(0) - T_176781[1] := UInt<2>(1) - wire T_176782 : UInt<2>[3] - T_176782[0] := UInt<2>(1) - T_176782[1] := UInt<2>(2) - T_176782[2] := UInt<2>(3) - wire T_176783 : UInt<2>[2] - T_176783[0] := UInt<2>(2) - T_176783[1] := UInt<2>(3) - wire T_176784 : UInt<2>[1] - T_176784[0] := UInt<2>(3) - wire T_176785 : UInt<3>[3] - T_176785[0] := UInt<3>(0) - T_176785[1] := UInt<3>(1) - T_176785[2] := UInt<3>(2) - wire T_176786 : UInt<0>[1] - T_176786[0] := UInt<0>(0) - wire T_176787 : UInt<2>[2] - T_176787[0] := UInt<2>(1) - T_176787[1] := UInt<2>(2) - wire T_176788 : UInt<2>[2] - T_176788[0] := UInt<2>(1) - T_176788[1] := UInt<2>(2) - wire T_176789 : UInt<2>[1] - T_176789[0] := UInt<2>(2) - accessor T_176790 = in[T_176729] - out.valid := T_176790.valid - wire T_176791 : UInt<3>[3] - T_176791[0] := UInt<3>(0) - T_176791[1] := UInt<3>(1) - T_176791[2] := UInt<3>(2) - wire T_176792 : UInt<2>[2] - T_176792[0] := UInt<2>(0) - T_176792[1] := UInt<2>(1) - wire T_176793 : UInt<2>[3] - T_176793[0] := UInt<2>(1) - T_176793[1] := UInt<2>(2) - T_176793[2] := UInt<2>(3) - wire T_176794 : UInt<2>[2] - T_176794[0] := UInt<2>(2) - T_176794[1] := UInt<2>(3) - wire T_176795 : UInt<2>[1] - T_176795[0] := UInt<2>(3) - wire T_176796 : UInt<3>[3] - T_176796[0] := UInt<3>(0) - T_176796[1] := UInt<3>(1) - T_176796[2] := UInt<3>(2) - wire T_176797 : UInt<2>[2] - T_176797[0] := UInt<2>(0) - T_176797[1] := UInt<2>(1) - wire T_176798 : UInt<2>[3] - T_176798[0] := UInt<2>(1) - T_176798[1] := UInt<2>(2) - T_176798[2] := UInt<2>(3) - wire T_176799 : UInt<2>[2] - T_176799[0] := UInt<2>(2) - T_176799[1] := UInt<2>(3) - wire T_176800 : UInt<2>[1] - T_176800[0] := UInt<2>(3) - wire T_176801 : UInt<3>[3] - T_176801[0] := UInt<3>(0) - T_176801[1] := UInt<3>(1) - T_176801[2] := UInt<3>(2) - wire T_176802 : UInt<0>[1] - T_176802[0] := UInt<0>(0) - wire T_176803 : UInt<2>[2] - T_176803[0] := UInt<2>(1) - T_176803[1] := UInt<2>(2) - wire T_176804 : UInt<2>[2] - T_176804[0] := UInt<2>(1) - T_176804[1] := UInt<2>(2) - wire T_176805 : UInt<2>[1] - T_176805[0] := UInt<2>(2) - accessor T_176806 = in[T_176729] - out.bits := T_176806.bits - chosen := T_176729 - wire T_176807 : UInt<2> - T_176807 := UInt<2>(2) - when in[1].valid : T_176807 := UInt<1>(1) - wire T_176808 : UInt<2> - T_176808 := T_176807 - when in[0].valid : T_176808 := UInt<1>(0) - node T_176809 = gt(UInt<2>(2), T_176730) - node T_176810 = and(in[2].valid, T_176809) - wire T_176811 : UInt<2> - T_176811 := T_176808 - when T_176810 : T_176811 := UInt<2>(2) - node T_176812 = gt(UInt<1>(1), T_176730) - node T_176813 = and(in[1].valid, T_176812) - wire T_176814 : UInt<2> - T_176814 := T_176811 - when T_176813 : T_176814 := UInt<1>(1) - wire T_176815 : UInt<2> - T_176815 := T_176814 - when UInt<1>(0) : T_176815 := UInt<2>(2) - T_176729 := T_176815 - - node T_176816 = and(out.ready, out.valid) - when T_176816 : T_176730 := T_176729 - module LockingRRArbiter_98418 : - input in : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>, client_id : UInt<2>}}[4] - output out : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>, client_id : UInt<2>}} - output chosen : UInt<2> - - wire T_176817 : UInt<3>[3] - T_176817[0] := UInt<3>(0) - T_176817[1] := UInt<3>(1) - T_176817[2] := UInt<3>(2) - wire T_176818 : UInt<2>[2] - T_176818[0] := UInt<2>(0) - T_176818[1] := UInt<2>(1) - wire T_176819 : UInt<2>[3] - T_176819[0] := UInt<2>(1) - T_176819[1] := UInt<2>(2) - T_176819[2] := UInt<2>(3) - wire T_176820 : UInt<2>[2] - T_176820[0] := UInt<2>(2) - T_176820[1] := UInt<2>(3) - wire T_176821 : UInt<2>[1] - T_176821[0] := UInt<2>(3) - wire T_176822 : UInt<3>[3] - T_176822[0] := UInt<3>(0) - T_176822[1] := UInt<3>(1) - T_176822[2] := UInt<3>(2) - wire T_176823 : UInt<2>[2] - T_176823[0] := UInt<2>(0) - T_176823[1] := UInt<2>(1) - wire T_176824 : UInt<2>[3] - T_176824[0] := UInt<2>(1) - T_176824[1] := UInt<2>(2) - T_176824[2] := UInt<2>(3) - wire T_176825 : UInt<2>[2] - T_176825[0] := UInt<2>(2) - T_176825[1] := UInt<2>(3) - wire T_176826 : UInt<2>[1] - T_176826[0] := UInt<2>(3) - wire T_176827 : UInt<3>[3] - T_176827[0] := UInt<3>(0) - T_176827[1] := UInt<3>(1) - T_176827[2] := UInt<3>(2) - wire T_176828 : UInt<2>[2] - T_176828[0] := UInt<2>(0) - T_176828[1] := UInt<2>(1) - wire T_176829 : UInt<2>[3] - T_176829[0] := UInt<2>(1) - T_176829[1] := UInt<2>(2) - T_176829[2] := UInt<2>(3) - wire T_176830 : UInt<2>[2] - T_176830[0] := UInt<2>(2) - T_176830[1] := UInt<2>(3) - wire T_176831 : UInt<2>[1] - T_176831[0] := UInt<2>(3) - wire T_176832 : UInt<3>[3] - T_176832[0] := UInt<3>(0) - T_176832[1] := UInt<3>(1) - T_176832[2] := UInt<3>(2) - wire T_176833 : UInt<2>[2] - T_176833[0] := UInt<2>(0) - T_176833[1] := UInt<2>(1) - wire T_176834 : UInt<2>[3] - T_176834[0] := UInt<2>(1) - T_176834[1] := UInt<2>(2) - T_176834[2] := UInt<2>(3) - wire T_176835 : UInt<2>[2] - T_176835[0] := UInt<2>(2) - T_176835[1] := UInt<2>(3) - wire T_176836 : UInt<2>[1] - T_176836[0] := UInt<2>(3) - wire T_176837 : UInt<3>[3] - T_176837[0] := UInt<3>(0) - T_176837[1] := UInt<3>(1) - T_176837[2] := UInt<3>(2) - wire T_176838 : UInt<2>[2] - T_176838[0] := UInt<2>(0) - T_176838[1] := UInt<2>(1) - wire T_176839 : UInt<2>[3] - T_176839[0] := UInt<2>(1) - T_176839[1] := UInt<2>(2) - T_176839[2] := UInt<2>(3) - wire T_176840 : UInt<2>[2] - T_176840[0] := UInt<2>(2) - T_176840[1] := UInt<2>(3) - wire T_176841 : UInt<2>[1] - T_176841[0] := UInt<2>(3) - wire T_176842 : UInt<3>[3] - T_176842[0] := UInt<3>(0) - T_176842[1] := UInt<3>(1) - T_176842[2] := UInt<3>(2) - wire T_176843 : UInt<2>[2] - T_176843[0] := UInt<2>(0) - T_176843[1] := UInt<2>(1) - wire T_176844 : UInt<2>[3] - T_176844[0] := UInt<2>(1) - T_176844[1] := UInt<2>(2) - T_176844[2] := UInt<2>(3) - wire T_176845 : UInt<2>[2] - T_176845[0] := UInt<2>(2) - T_176845[1] := UInt<2>(3) - wire T_176846 : UInt<2>[1] - T_176846[0] := UInt<2>(3) - reg T_176847 : UInt<1> - onreset T_176847 := UInt<1>(0) - reg T_176848 : UInt<2> - onreset T_176848 := UInt<2>(3) - wire T_176849 : UInt<2> - reg last_grant : UInt<2> - onreset last_grant := UInt<2>(0) - node T_176850 = gt(UInt<1>(0), last_grant) - node T_176851 = and(in[0].valid, T_176850) - node T_176852 = gt(UInt<1>(1), last_grant) - node T_176853 = and(in[1].valid, T_176852) - node T_176854 = gt(UInt<2>(2), last_grant) - node T_176855 = and(in[2].valid, T_176854) - node T_176856 = gt(UInt<2>(3), last_grant) - node T_176857 = and(in[3].valid, T_176856) - node T_176858 = or(UInt<1>(0), T_176851) - node T_176859 = eq(T_176858, UInt<1>(0)) - node T_176860 = or(UInt<1>(0), T_176851) - node T_176861 = or(T_176860, T_176853) - node T_176862 = eq(T_176861, UInt<1>(0)) - node T_176863 = or(UInt<1>(0), T_176851) - node T_176864 = or(T_176863, T_176853) - node T_176865 = or(T_176864, T_176855) - node T_176866 = eq(T_176865, UInt<1>(0)) - node T_176867 = or(UInt<1>(0), T_176851) - node T_176868 = or(T_176867, T_176853) - node T_176869 = or(T_176868, T_176855) - node T_176870 = or(T_176869, T_176857) - node T_176871 = eq(T_176870, UInt<1>(0)) - node T_176872 = or(UInt<1>(0), T_176851) - node T_176873 = or(T_176872, T_176853) - node T_176874 = or(T_176873, T_176855) - node T_176875 = or(T_176874, T_176857) - node T_176876 = or(T_176875, in[0].valid) - node T_176877 = eq(T_176876, UInt<1>(0)) - node T_176878 = or(UInt<1>(0), T_176851) - node T_176879 = or(T_176878, T_176853) - node T_176880 = or(T_176879, T_176855) - node T_176881 = or(T_176880, T_176857) - node T_176882 = or(T_176881, in[0].valid) - node T_176883 = or(T_176882, in[1].valid) - node T_176884 = eq(T_176883, UInt<1>(0)) - node T_176885 = or(UInt<1>(0), T_176851) - node T_176886 = or(T_176885, T_176853) - node T_176887 = or(T_176886, T_176855) - node T_176888 = or(T_176887, T_176857) - node T_176889 = or(T_176888, in[0].valid) - node T_176890 = or(T_176889, in[1].valid) - node T_176891 = or(T_176890, in[2].valid) - node T_176892 = eq(T_176891, UInt<1>(0)) - node T_176893 = gt(UInt<1>(0), last_grant) - node T_176894 = and(UInt<1>(1), T_176893) - node T_176895 = or(T_176894, T_176871) - node T_176896 = gt(UInt<1>(1), last_grant) - node T_176897 = and(T_176859, T_176896) - node T_176898 = or(T_176897, T_176877) - node T_176899 = gt(UInt<2>(2), last_grant) - node T_176900 = and(T_176862, T_176899) - node T_176901 = or(T_176900, T_176884) - node T_176902 = gt(UInt<2>(3), last_grant) - node T_176903 = and(T_176866, T_176902) - node T_176904 = or(T_176903, T_176892) - node T_176905 = eq(T_176848, UInt<1>(0)) - wire T_176906 : UInt<1> - T_176906 := T_176895 - when T_176847 : T_176906 := T_176905 - node T_176907 = and(T_176906, out.ready) - in[0].ready := T_176907 - node T_176908 = eq(T_176848, UInt<1>(1)) - wire T_176909 : UInt<1> - T_176909 := T_176898 - when T_176847 : T_176909 := T_176908 - node T_176910 = and(T_176909, out.ready) - in[1].ready := T_176910 - node T_176911 = eq(T_176848, UInt<2>(2)) - wire T_176912 : UInt<1> - T_176912 := T_176901 - when T_176847 : T_176912 := T_176911 - node T_176913 = and(T_176912, out.ready) - in[2].ready := T_176913 - node T_176914 = eq(T_176848, UInt<2>(3)) - wire T_176915 : UInt<1> - T_176915 := T_176904 - when T_176847 : T_176915 := T_176914 - node T_176916 = and(T_176915, out.ready) - in[3].ready := T_176916 - wire T_176917 : UInt<3>[3] - T_176917[0] := UInt<3>(0) - T_176917[1] := UInt<3>(1) - T_176917[2] := UInt<3>(2) - wire T_176918 : UInt<2>[2] - T_176918[0] := UInt<2>(0) - T_176918[1] := UInt<2>(1) - wire T_176919 : UInt<2>[3] - T_176919[0] := UInt<2>(1) - T_176919[1] := UInt<2>(2) - T_176919[2] := UInt<2>(3) - wire T_176920 : UInt<2>[2] - T_176920[0] := UInt<2>(2) - T_176920[1] := UInt<2>(3) - wire T_176921 : UInt<2>[1] - T_176921[0] := UInt<2>(3) - accessor T_176922 = in[T_176849] - out.valid := T_176922.valid - wire T_176923 : UInt<3>[3] - T_176923[0] := UInt<3>(0) - T_176923[1] := UInt<3>(1) - T_176923[2] := UInt<3>(2) - wire T_176924 : UInt<2>[2] - T_176924[0] := UInt<2>(0) - T_176924[1] := UInt<2>(1) - wire T_176925 : UInt<2>[3] - T_176925[0] := UInt<2>(1) - T_176925[1] := UInt<2>(2) - T_176925[2] := UInt<2>(3) - wire T_176926 : UInt<2>[2] - T_176926[0] := UInt<2>(2) - T_176926[1] := UInt<2>(3) - wire T_176927 : UInt<2>[1] - T_176927[0] := UInt<2>(3) - accessor T_176928 = in[T_176849] - out.bits := T_176928.bits - chosen := T_176849 - reg T_176929 : UInt<2> - onreset T_176929 := UInt<2>(0) - node T_176930 = addw(T_176929, UInt<1>(1)) - - node T_176931 = and(out.ready, out.valid) - when T_176931 : - when UInt<1>(0) : - T_176929 := T_176930 - - node T_176932 = eq(T_176847, UInt<1>(0)) - when T_176932 : - T_176847 := UInt<1>(1) - node T_176933 = and(in[0].ready, in[0].valid) - node T_176934 = and(in[1].ready, in[1].valid) - node T_176935 = and(in[2].ready, in[2].valid) - node T_176936 = and(in[3].ready, in[3].valid) - wire T_176937 : UInt<1>[4] - T_176937[0] := T_176933 - T_176937[1] := T_176934 - T_176937[2] := T_176935 - T_176937[3] := T_176936 - wire T_176938 : UInt<2> - T_176938 := UInt<2>(3) - when T_176937[2] : T_176938 := UInt<2>(2) - wire T_176939 : UInt<2> - T_176939 := T_176938 - when T_176937[1] : T_176939 := UInt<1>(1) - wire T_176940 : UInt<2> - T_176940 := T_176939 - when T_176937[0] : T_176940 := UInt<1>(0) - T_176848 := T_176940 - - node T_176941 = eq(T_176930, UInt<1>(0)) - when T_176941 : T_176847 := UInt<1>(0) - wire T_176942 : UInt<2> - T_176942 := UInt<2>(3) - when in[2].valid : T_176942 := UInt<2>(2) - wire T_176943 : UInt<2> - T_176943 := T_176942 - when in[1].valid : T_176943 := UInt<1>(1) - wire T_176944 : UInt<2> - T_176944 := T_176943 - when in[0].valid : T_176944 := UInt<1>(0) - node T_176945 = gt(UInt<2>(3), last_grant) - node T_176946 = and(in[3].valid, T_176945) - wire T_176947 : UInt<2> - T_176947 := T_176944 - when T_176946 : T_176947 := UInt<2>(3) - node T_176948 = gt(UInt<2>(2), last_grant) - node T_176949 = and(in[2].valid, T_176948) - wire T_176950 : UInt<2> - T_176950 := T_176947 - when T_176949 : T_176950 := UInt<2>(2) - node T_176951 = gt(UInt<1>(1), last_grant) - node T_176952 = and(in[1].valid, T_176951) - wire choose : UInt<2> - choose := T_176950 - when T_176952 : choose := UInt<1>(1) - wire T_176953 : UInt<2> - T_176953 := choose - when T_176847 : T_176953 := T_176848 - T_176849 := T_176953 - - node T_176954 = and(out.ready, out.valid) - when T_176954 : last_grant := T_176849 - module LockingRRArbiter_99026 : - input in : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>, client_id : UInt<2>}}[3] - output out : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>, client_id : UInt<2>}} - output chosen : UInt<2> - - wire T_176955 : UInt<3>[3] - T_176955[0] := UInt<3>(0) - T_176955[1] := UInt<3>(1) - T_176955[2] := UInt<3>(2) - wire T_176956 : UInt<2>[2] - T_176956[0] := UInt<2>(0) - T_176956[1] := UInt<2>(1) - wire T_176957 : UInt<2>[3] - T_176957[0] := UInt<2>(1) - T_176957[1] := UInt<2>(2) - T_176957[2] := UInt<2>(3) - wire T_176958 : UInt<2>[2] - T_176958[0] := UInt<2>(2) - T_176958[1] := UInt<2>(3) - wire T_176959 : UInt<2>[1] - T_176959[0] := UInt<2>(3) - wire T_176960 : UInt<3>[3] - T_176960[0] := UInt<3>(0) - T_176960[1] := UInt<3>(1) - T_176960[2] := UInt<3>(2) - wire T_176961 : UInt<2>[2] - T_176961[0] := UInt<2>(0) - T_176961[1] := UInt<2>(1) - wire T_176962 : UInt<2>[3] - T_176962[0] := UInt<2>(1) - T_176962[1] := UInt<2>(2) - T_176962[2] := UInt<2>(3) - wire T_176963 : UInt<2>[2] - T_176963[0] := UInt<2>(2) - T_176963[1] := UInt<2>(3) - wire T_176964 : UInt<2>[1] - T_176964[0] := UInt<2>(3) - wire T_176965 : UInt<3>[3] - T_176965[0] := UInt<3>(0) - T_176965[1] := UInt<3>(1) - T_176965[2] := UInt<3>(2) - wire T_176966 : UInt<2>[2] - T_176966[0] := UInt<2>(0) - T_176966[1] := UInt<2>(1) - wire T_176967 : UInt<2>[3] - T_176967[0] := UInt<2>(1) - T_176967[1] := UInt<2>(2) - T_176967[2] := UInt<2>(3) - wire T_176968 : UInt<2>[2] - T_176968[0] := UInt<2>(2) - T_176968[1] := UInt<2>(3) - wire T_176969 : UInt<2>[1] - T_176969[0] := UInt<2>(3) - wire T_176970 : UInt<3>[3] - T_176970[0] := UInt<3>(0) - T_176970[1] := UInt<3>(1) - T_176970[2] := UInt<3>(2) - wire T_176971 : UInt<2>[2] - T_176971[0] := UInt<2>(0) - T_176971[1] := UInt<2>(1) - wire T_176972 : UInt<2>[3] - T_176972[0] := UInt<2>(1) - T_176972[1] := UInt<2>(2) - T_176972[2] := UInt<2>(3) - wire T_176973 : UInt<2>[2] - T_176973[0] := UInt<2>(2) - T_176973[1] := UInt<2>(3) - wire T_176974 : UInt<2>[1] - T_176974[0] := UInt<2>(3) - wire T_176975 : UInt<3>[3] - T_176975[0] := UInt<3>(0) - T_176975[1] := UInt<3>(1) - T_176975[2] := UInt<3>(2) - wire T_176976 : UInt<2>[2] - T_176976[0] := UInt<2>(0) - T_176976[1] := UInt<2>(1) - wire T_176977 : UInt<2>[3] - T_176977[0] := UInt<2>(1) - T_176977[1] := UInt<2>(2) - T_176977[2] := UInt<2>(3) - wire T_176978 : UInt<2>[2] - T_176978[0] := UInt<2>(2) - T_176978[1] := UInt<2>(3) - wire T_176979 : UInt<2>[1] - T_176979[0] := UInt<2>(3) - reg T_176980 : UInt<1> - onreset T_176980 := UInt<1>(0) - reg T_176981 : UInt<2> - onreset T_176981 := UInt<2>(2) - wire T_176982 : UInt<2> - reg last_grant : UInt<2> - onreset last_grant := UInt<2>(0) - node T_176983 = gt(UInt<1>(0), last_grant) - node T_176984 = and(in[0].valid, T_176983) - node T_176985 = gt(UInt<1>(1), last_grant) - node T_176986 = and(in[1].valid, T_176985) - node T_176987 = gt(UInt<2>(2), last_grant) - node T_176988 = and(in[2].valid, T_176987) - node T_176989 = or(UInt<1>(0), T_176984) - node T_176990 = eq(T_176989, UInt<1>(0)) - node T_176991 = or(UInt<1>(0), T_176984) - node T_176992 = or(T_176991, T_176986) - node T_176993 = eq(T_176992, UInt<1>(0)) - node T_176994 = or(UInt<1>(0), T_176984) - node T_176995 = or(T_176994, T_176986) - node T_176996 = or(T_176995, T_176988) - node T_176997 = eq(T_176996, UInt<1>(0)) - node T_176998 = or(UInt<1>(0), T_176984) - node T_176999 = or(T_176998, T_176986) - node T_177000 = or(T_176999, T_176988) - node T_177001 = or(T_177000, in[0].valid) - node T_177002 = eq(T_177001, UInt<1>(0)) - node T_177003 = or(UInt<1>(0), T_176984) - node T_177004 = or(T_177003, T_176986) - node T_177005 = or(T_177004, T_176988) - node T_177006 = or(T_177005, in[0].valid) - node T_177007 = or(T_177006, in[1].valid) - node T_177008 = eq(T_177007, UInt<1>(0)) - node T_177009 = gt(UInt<1>(0), last_grant) - node T_177010 = and(UInt<1>(1), T_177009) - node T_177011 = or(T_177010, T_176997) - node T_177012 = gt(UInt<1>(1), last_grant) - node T_177013 = and(T_176990, T_177012) - node T_177014 = or(T_177013, T_177002) - node T_177015 = gt(UInt<2>(2), last_grant) - node T_177016 = and(T_176993, T_177015) - node T_177017 = or(T_177016, T_177008) - node T_177018 = eq(T_176981, UInt<1>(0)) - wire T_177019 : UInt<1> - T_177019 := T_177011 - when T_176980 : T_177019 := T_177018 - node T_177020 = and(T_177019, out.ready) - in[0].ready := T_177020 - node T_177021 = eq(T_176981, UInt<1>(1)) - wire T_177022 : UInt<1> - T_177022 := T_177014 - when T_176980 : T_177022 := T_177021 - node T_177023 = and(T_177022, out.ready) - in[1].ready := T_177023 - node T_177024 = eq(T_176981, UInt<2>(2)) - wire T_177025 : UInt<1> - T_177025 := T_177017 - when T_176980 : T_177025 := T_177024 - node T_177026 = and(T_177025, out.ready) - in[2].ready := T_177026 - wire T_177027 : UInt<3>[3] - T_177027[0] := UInt<3>(0) - T_177027[1] := UInt<3>(1) - T_177027[2] := UInt<3>(2) - wire T_177028 : UInt<2>[2] - T_177028[0] := UInt<2>(0) - T_177028[1] := UInt<2>(1) - wire T_177029 : UInt<2>[3] - T_177029[0] := UInt<2>(1) - T_177029[1] := UInt<2>(2) - T_177029[2] := UInt<2>(3) - wire T_177030 : UInt<2>[2] - T_177030[0] := UInt<2>(2) - T_177030[1] := UInt<2>(3) - wire T_177031 : UInt<2>[1] - T_177031[0] := UInt<2>(3) - accessor T_177032 = in[T_176982] - out.valid := T_177032.valid - wire T_177033 : UInt<3>[3] - T_177033[0] := UInt<3>(0) - T_177033[1] := UInt<3>(1) - T_177033[2] := UInt<3>(2) - wire T_177034 : UInt<2>[2] - T_177034[0] := UInt<2>(0) - T_177034[1] := UInt<2>(1) - wire T_177035 : UInt<2>[3] - T_177035[0] := UInt<2>(1) - T_177035[1] := UInt<2>(2) - T_177035[2] := UInt<2>(3) - wire T_177036 : UInt<2>[2] - T_177036[0] := UInt<2>(2) - T_177036[1] := UInt<2>(3) - wire T_177037 : UInt<2>[1] - T_177037[0] := UInt<2>(3) - accessor T_177038 = in[T_176982] - out.bits := T_177038.bits - chosen := T_176982 - reg T_177039 : UInt<2> - onreset T_177039 := UInt<2>(0) - node T_177040 = addw(T_177039, UInt<1>(1)) - - node T_177041 = and(out.ready, out.valid) - when T_177041 : - - - wire T_177042 : UInt<3>[1] - T_177042[0] := UInt<3>(5) - node T_177043 = eq(T_177042[0], out.bits.g_type) - node T_177044 = or(UInt<1>(0), T_177043) - node T_177045 = eq(T_176976[0], out.bits.g_type) - node T_177046 = eq(T_176976[1], out.bits.g_type) - node T_177047 = or(UInt<1>(0), T_177045) - node T_177048 = or(T_177047, T_177046) - wire T_177049 : UInt<1> - T_177049 := T_177048 - when out.bits.is_builtin_type : T_177049 := T_177044 - node T_177050 = and(UInt<1>(1), T_177049) - when T_177050 : - T_177039 := T_177040 - - node T_177051 = eq(T_176980, UInt<1>(0)) - when T_177051 : - T_176980 := UInt<1>(1) - node T_177052 = and(in[0].ready, in[0].valid) - node T_177053 = and(in[1].ready, in[1].valid) - node T_177054 = and(in[2].ready, in[2].valid) - wire T_177055 : UInt<1>[3] - T_177055[0] := T_177052 - T_177055[1] := T_177053 - T_177055[2] := T_177054 - wire T_177056 : UInt<2> - T_177056 := UInt<2>(2) - when T_177055[1] : T_177056 := UInt<1>(1) - wire T_177057 : UInt<2> - T_177057 := T_177056 - when T_177055[0] : T_177057 := UInt<1>(0) - T_176981 := T_177057 - - node T_177058 = eq(T_177040, UInt<1>(0)) - when T_177058 : T_176980 := UInt<1>(0) - wire T_177059 : UInt<2> - T_177059 := UInt<2>(2) - when in[1].valid : T_177059 := UInt<1>(1) - wire T_177060 : UInt<2> - T_177060 := T_177059 - when in[0].valid : T_177060 := UInt<1>(0) - node T_177061 = gt(UInt<2>(2), last_grant) - node T_177062 = and(in[2].valid, T_177061) - wire T_177063 : UInt<2> - T_177063 := T_177060 - when T_177062 : T_177063 := UInt<2>(2) - node T_177064 = gt(UInt<1>(1), last_grant) - node T_177065 = and(in[1].valid, T_177064) - wire choose : UInt<2> - choose := T_177063 - when T_177065 : choose := UInt<1>(1) - wire T_177066 : UInt<2> - T_177066 := choose - when T_176980 : T_177066 := T_176981 - T_176982 := T_177066 - - node T_177067 = and(out.ready, out.valid) - when T_177067 : last_grant := T_176982 - module LockingRRArbiter_104277 : - input in : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}[4] - output out : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}} - output chosen : UInt<2> - - wire T_177068 : UInt<3>[3] - T_177068[0] := UInt<3>(0) - T_177068[1] := UInt<3>(1) - T_177068[2] := UInt<3>(2) - wire T_177069 : UInt<0>[1] - T_177069[0] := UInt<0>(0) - wire T_177070 : UInt<2>[2] - T_177070[0] := UInt<2>(1) - T_177070[1] := UInt<2>(2) - wire T_177071 : UInt<2>[2] - T_177071[0] := UInt<2>(1) - T_177071[1] := UInt<2>(2) - wire T_177072 : UInt<2>[1] - T_177072[0] := UInt<2>(2) - wire T_177073 : UInt<3>[3] - T_177073[0] := UInt<3>(0) - T_177073[1] := UInt<3>(1) - T_177073[2] := UInt<3>(2) - wire T_177074 : UInt<0>[1] - T_177074[0] := UInt<0>(0) - wire T_177075 : UInt<2>[2] - T_177075[0] := UInt<2>(1) - T_177075[1] := UInt<2>(2) - wire T_177076 : UInt<2>[2] - T_177076[0] := UInt<2>(1) - T_177076[1] := UInt<2>(2) - wire T_177077 : UInt<2>[1] - T_177077[0] := UInt<2>(2) - wire T_177078 : UInt<3>[3] - T_177078[0] := UInt<3>(0) - T_177078[1] := UInt<3>(1) - T_177078[2] := UInt<3>(2) - wire T_177079 : UInt<0>[1] - T_177079[0] := UInt<0>(0) - wire T_177080 : UInt<2>[2] - T_177080[0] := UInt<2>(1) - T_177080[1] := UInt<2>(2) - wire T_177081 : UInt<2>[2] - T_177081[0] := UInt<2>(1) - T_177081[1] := UInt<2>(2) - wire T_177082 : UInt<2>[1] - T_177082[0] := UInt<2>(2) - wire T_177083 : UInt<3>[3] - T_177083[0] := UInt<3>(0) - T_177083[1] := UInt<3>(1) - T_177083[2] := UInt<3>(2) - wire T_177084 : UInt<0>[1] - T_177084[0] := UInt<0>(0) - wire T_177085 : UInt<2>[2] - T_177085[0] := UInt<2>(1) - T_177085[1] := UInt<2>(2) - wire T_177086 : UInt<2>[2] - T_177086[0] := UInt<2>(1) - T_177086[1] := UInt<2>(2) - wire T_177087 : UInt<2>[1] - T_177087[0] := UInt<2>(2) - wire T_177088 : UInt<3>[3] - T_177088[0] := UInt<3>(0) - T_177088[1] := UInt<3>(1) - T_177088[2] := UInt<3>(2) - wire T_177089 : UInt<0>[1] - T_177089[0] := UInt<0>(0) - wire T_177090 : UInt<2>[2] - T_177090[0] := UInt<2>(1) - T_177090[1] := UInt<2>(2) - wire T_177091 : UInt<2>[2] - T_177091[0] := UInt<2>(1) - T_177091[1] := UInt<2>(2) - wire T_177092 : UInt<2>[1] - T_177092[0] := UInt<2>(2) - wire T_177093 : UInt<3>[3] - T_177093[0] := UInt<3>(0) - T_177093[1] := UInt<3>(1) - T_177093[2] := UInt<3>(2) - wire T_177094 : UInt<0>[1] - T_177094[0] := UInt<0>(0) - wire T_177095 : UInt<2>[2] - T_177095[0] := UInt<2>(1) - T_177095[1] := UInt<2>(2) - wire T_177096 : UInt<2>[2] - T_177096[0] := UInt<2>(1) - T_177096[1] := UInt<2>(2) - wire T_177097 : UInt<2>[1] - T_177097[0] := UInt<2>(2) - reg T_177098 : UInt<1> - onreset T_177098 := UInt<1>(0) - reg T_177099 : UInt<2> - onreset T_177099 := UInt<2>(3) - wire T_177100 : UInt<2> - reg last_grant : UInt<2> - onreset last_grant := UInt<2>(0) - node T_177101 = gt(UInt<1>(0), last_grant) - node T_177102 = and(in[0].valid, T_177101) - node T_177103 = gt(UInt<1>(1), last_grant) - node T_177104 = and(in[1].valid, T_177103) - node T_177105 = gt(UInt<2>(2), last_grant) - node T_177106 = and(in[2].valid, T_177105) - node T_177107 = gt(UInt<2>(3), last_grant) - node T_177108 = and(in[3].valid, T_177107) - node T_177109 = or(UInt<1>(0), T_177102) - node T_177110 = eq(T_177109, UInt<1>(0)) - node T_177111 = or(UInt<1>(0), T_177102) - node T_177112 = or(T_177111, T_177104) - node T_177113 = eq(T_177112, UInt<1>(0)) - node T_177114 = or(UInt<1>(0), T_177102) - node T_177115 = or(T_177114, T_177104) - node T_177116 = or(T_177115, T_177106) - node T_177117 = eq(T_177116, UInt<1>(0)) - node T_177118 = or(UInt<1>(0), T_177102) - node T_177119 = or(T_177118, T_177104) - node T_177120 = or(T_177119, T_177106) - node T_177121 = or(T_177120, T_177108) - node T_177122 = eq(T_177121, UInt<1>(0)) - node T_177123 = or(UInt<1>(0), T_177102) - node T_177124 = or(T_177123, T_177104) - node T_177125 = or(T_177124, T_177106) - node T_177126 = or(T_177125, T_177108) - node T_177127 = or(T_177126, in[0].valid) - node T_177128 = eq(T_177127, UInt<1>(0)) - node T_177129 = or(UInt<1>(0), T_177102) - node T_177130 = or(T_177129, T_177104) - node T_177131 = or(T_177130, T_177106) - node T_177132 = or(T_177131, T_177108) - node T_177133 = or(T_177132, in[0].valid) - node T_177134 = or(T_177133, in[1].valid) - node T_177135 = eq(T_177134, UInt<1>(0)) - node T_177136 = or(UInt<1>(0), T_177102) - node T_177137 = or(T_177136, T_177104) - node T_177138 = or(T_177137, T_177106) - node T_177139 = or(T_177138, T_177108) - node T_177140 = or(T_177139, in[0].valid) - node T_177141 = or(T_177140, in[1].valid) - node T_177142 = or(T_177141, in[2].valid) - node T_177143 = eq(T_177142, UInt<1>(0)) - node T_177144 = gt(UInt<1>(0), last_grant) - node T_177145 = and(UInt<1>(1), T_177144) - node T_177146 = or(T_177145, T_177122) - node T_177147 = gt(UInt<1>(1), last_grant) - node T_177148 = and(T_177110, T_177147) - node T_177149 = or(T_177148, T_177128) - node T_177150 = gt(UInt<2>(2), last_grant) - node T_177151 = and(T_177113, T_177150) - node T_177152 = or(T_177151, T_177135) - node T_177153 = gt(UInt<2>(3), last_grant) - node T_177154 = and(T_177117, T_177153) - node T_177155 = or(T_177154, T_177143) - node T_177156 = eq(T_177099, UInt<1>(0)) - wire T_177157 : UInt<1> - T_177157 := T_177146 - when T_177098 : T_177157 := T_177156 - node T_177158 = and(T_177157, out.ready) - in[0].ready := T_177158 - node T_177159 = eq(T_177099, UInt<1>(1)) - wire T_177160 : UInt<1> - T_177160 := T_177149 - when T_177098 : T_177160 := T_177159 - node T_177161 = and(T_177160, out.ready) - in[1].ready := T_177161 - node T_177162 = eq(T_177099, UInt<2>(2)) - wire T_177163 : UInt<1> - T_177163 := T_177152 - when T_177098 : T_177163 := T_177162 - node T_177164 = and(T_177163, out.ready) - in[2].ready := T_177164 - node T_177165 = eq(T_177099, UInt<2>(3)) - wire T_177166 : UInt<1> - T_177166 := T_177155 - when T_177098 : T_177166 := T_177165 - node T_177167 = and(T_177166, out.ready) - in[3].ready := T_177167 - wire T_177168 : UInt<3>[3] - T_177168[0] := UInt<3>(0) - T_177168[1] := UInt<3>(1) - T_177168[2] := UInt<3>(2) - wire T_177169 : UInt<0>[1] - T_177169[0] := UInt<0>(0) - wire T_177170 : UInt<2>[2] - T_177170[0] := UInt<2>(1) - T_177170[1] := UInt<2>(2) - wire T_177171 : UInt<2>[2] - T_177171[0] := UInt<2>(1) - T_177171[1] := UInt<2>(2) - wire T_177172 : UInt<2>[1] - T_177172[0] := UInt<2>(2) - accessor T_177173 = in[T_177100] - out.valid := T_177173.valid - wire T_177174 : UInt<3>[3] - T_177174[0] := UInt<3>(0) - T_177174[1] := UInt<3>(1) - T_177174[2] := UInt<3>(2) - wire T_177175 : UInt<0>[1] - T_177175[0] := UInt<0>(0) - wire T_177176 : UInt<2>[2] - T_177176[0] := UInt<2>(1) - T_177176[1] := UInt<2>(2) - wire T_177177 : UInt<2>[2] - T_177177[0] := UInt<2>(1) - T_177177[1] := UInt<2>(2) - wire T_177178 : UInt<2>[1] - T_177178[0] := UInt<2>(2) - accessor T_177179 = in[T_177100] - out.bits := T_177179.bits - chosen := T_177100 - reg T_177180 : UInt<2> - onreset T_177180 := UInt<2>(0) - node T_177181 = addw(T_177180, UInt<1>(1)) - - node T_177182 = and(out.ready, out.valid) - when T_177182 : - - - node T_177183 = and(UInt<1>(1), out.bits.is_builtin_type) - wire T_177184 : UInt<3>[1] - T_177184[0] := UInt<3>(3) - node T_177185 = eq(T_177184[0], out.bits.a_type) - node T_177186 = or(UInt<1>(0), T_177185) - node T_177187 = and(T_177183, T_177186) - when T_177187 : - T_177180 := T_177181 - - node T_177188 = eq(T_177098, UInt<1>(0)) - when T_177188 : - T_177098 := UInt<1>(1) - node T_177189 = and(in[0].ready, in[0].valid) - node T_177190 = and(in[1].ready, in[1].valid) - node T_177191 = and(in[2].ready, in[2].valid) - node T_177192 = and(in[3].ready, in[3].valid) - wire T_177193 : UInt<1>[4] - T_177193[0] := T_177189 - T_177193[1] := T_177190 - T_177193[2] := T_177191 - T_177193[3] := T_177192 - wire T_177194 : UInt<2> - T_177194 := UInt<2>(3) - when T_177193[2] : T_177194 := UInt<2>(2) - wire T_177195 : UInt<2> - T_177195 := T_177194 - when T_177193[1] : T_177195 := UInt<1>(1) - wire T_177196 : UInt<2> - T_177196 := T_177195 - when T_177193[0] : T_177196 := UInt<1>(0) - T_177099 := T_177196 - - node T_177197 = eq(T_177181, UInt<1>(0)) - when T_177197 : T_177098 := UInt<1>(0) - wire T_177198 : UInt<2> - T_177198 := UInt<2>(3) - when in[2].valid : T_177198 := UInt<2>(2) - wire T_177199 : UInt<2> - T_177199 := T_177198 - when in[1].valid : T_177199 := UInt<1>(1) - wire T_177200 : UInt<2> - T_177200 := T_177199 - when in[0].valid : T_177200 := UInt<1>(0) - node T_177201 = gt(UInt<2>(3), last_grant) - node T_177202 = and(in[3].valid, T_177201) - wire T_177203 : UInt<2> - T_177203 := T_177200 - when T_177202 : T_177203 := UInt<2>(3) - node T_177204 = gt(UInt<2>(2), last_grant) - node T_177205 = and(in[2].valid, T_177204) - wire T_177206 : UInt<2> - T_177206 := T_177203 - when T_177205 : T_177206 := UInt<2>(2) - node T_177207 = gt(UInt<1>(1), last_grant) - node T_177208 = and(in[1].valid, T_177207) - wire choose : UInt<2> - choose := T_177206 - when T_177208 : choose := UInt<1>(1) - wire T_177209 : UInt<2> - T_177209 := choose - when T_177098 : T_177209 := T_177099 - T_177100 := T_177209 - - node T_177210 = and(out.ready, out.valid) - when T_177210 : last_grant := T_177100 - module LockingRRArbiter_104925 : - input in : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}[4] - output out : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}} - output chosen : UInt<2> - - wire T_177211 : UInt<3>[3] - T_177211[0] := UInt<3>(0) - T_177211[1] := UInt<3>(1) - T_177211[2] := UInt<3>(2) - wire T_177212 : UInt<0>[1] - T_177212[0] := UInt<0>(0) - wire T_177213 : UInt<2>[2] - T_177213[0] := UInt<2>(1) - T_177213[1] := UInt<2>(2) - wire T_177214 : UInt<2>[2] - T_177214[0] := UInt<2>(1) - T_177214[1] := UInt<2>(2) - wire T_177215 : UInt<2>[1] - T_177215[0] := UInt<2>(2) - wire T_177216 : UInt<3>[3] - T_177216[0] := UInt<3>(0) - T_177216[1] := UInt<3>(1) - T_177216[2] := UInt<3>(2) - wire T_177217 : UInt<0>[1] - T_177217[0] := UInt<0>(0) - wire T_177218 : UInt<2>[2] - T_177218[0] := UInt<2>(1) - T_177218[1] := UInt<2>(2) - wire T_177219 : UInt<2>[2] - T_177219[0] := UInt<2>(1) - T_177219[1] := UInt<2>(2) - wire T_177220 : UInt<2>[1] - T_177220[0] := UInt<2>(2) - wire T_177221 : UInt<3>[3] - T_177221[0] := UInt<3>(0) - T_177221[1] := UInt<3>(1) - T_177221[2] := UInt<3>(2) - wire T_177222 : UInt<0>[1] - T_177222[0] := UInt<0>(0) - wire T_177223 : UInt<2>[2] - T_177223[0] := UInt<2>(1) - T_177223[1] := UInt<2>(2) - wire T_177224 : UInt<2>[2] - T_177224[0] := UInt<2>(1) - T_177224[1] := UInt<2>(2) - wire T_177225 : UInt<2>[1] - T_177225[0] := UInt<2>(2) - wire T_177226 : UInt<3>[3] - T_177226[0] := UInt<3>(0) - T_177226[1] := UInt<3>(1) - T_177226[2] := UInt<3>(2) - wire T_177227 : UInt<0>[1] - T_177227[0] := UInt<0>(0) - wire T_177228 : UInt<2>[2] - T_177228[0] := UInt<2>(1) - T_177228[1] := UInt<2>(2) - wire T_177229 : UInt<2>[2] - T_177229[0] := UInt<2>(1) - T_177229[1] := UInt<2>(2) - wire T_177230 : UInt<2>[1] - T_177230[0] := UInt<2>(2) - wire T_177231 : UInt<3>[3] - T_177231[0] := UInt<3>(0) - T_177231[1] := UInt<3>(1) - T_177231[2] := UInt<3>(2) - wire T_177232 : UInt<0>[1] - T_177232[0] := UInt<0>(0) - wire T_177233 : UInt<2>[2] - T_177233[0] := UInt<2>(1) - T_177233[1] := UInt<2>(2) - wire T_177234 : UInt<2>[2] - T_177234[0] := UInt<2>(1) - T_177234[1] := UInt<2>(2) - wire T_177235 : UInt<2>[1] - T_177235[0] := UInt<2>(2) - wire T_177236 : UInt<3>[3] - T_177236[0] := UInt<3>(0) - T_177236[1] := UInt<3>(1) - T_177236[2] := UInt<3>(2) - wire T_177237 : UInt<0>[1] - T_177237[0] := UInt<0>(0) - wire T_177238 : UInt<2>[2] - T_177238[0] := UInt<2>(1) - T_177238[1] := UInt<2>(2) - wire T_177239 : UInt<2>[2] - T_177239[0] := UInt<2>(1) - T_177239[1] := UInt<2>(2) - wire T_177240 : UInt<2>[1] - T_177240[0] := UInt<2>(2) - reg T_177241 : UInt<1> - onreset T_177241 := UInt<1>(0) - reg T_177242 : UInt<2> - onreset T_177242 := UInt<2>(3) - wire T_177243 : UInt<2> - reg last_grant : UInt<2> - onreset last_grant := UInt<2>(0) - node T_177244 = gt(UInt<1>(0), last_grant) - node T_177245 = and(in[0].valid, T_177244) - node T_177246 = gt(UInt<1>(1), last_grant) - node T_177247 = and(in[1].valid, T_177246) - node T_177248 = gt(UInt<2>(2), last_grant) - node T_177249 = and(in[2].valid, T_177248) - node T_177250 = gt(UInt<2>(3), last_grant) - node T_177251 = and(in[3].valid, T_177250) - node T_177252 = or(UInt<1>(0), T_177245) - node T_177253 = eq(T_177252, UInt<1>(0)) - node T_177254 = or(UInt<1>(0), T_177245) - node T_177255 = or(T_177254, T_177247) - node T_177256 = eq(T_177255, UInt<1>(0)) - node T_177257 = or(UInt<1>(0), T_177245) - node T_177258 = or(T_177257, T_177247) - node T_177259 = or(T_177258, T_177249) - node T_177260 = eq(T_177259, UInt<1>(0)) - node T_177261 = or(UInt<1>(0), T_177245) - node T_177262 = or(T_177261, T_177247) - node T_177263 = or(T_177262, T_177249) - node T_177264 = or(T_177263, T_177251) - node T_177265 = eq(T_177264, UInt<1>(0)) - node T_177266 = or(UInt<1>(0), T_177245) - node T_177267 = or(T_177266, T_177247) - node T_177268 = or(T_177267, T_177249) - node T_177269 = or(T_177268, T_177251) - node T_177270 = or(T_177269, in[0].valid) - node T_177271 = eq(T_177270, UInt<1>(0)) - node T_177272 = or(UInt<1>(0), T_177245) - node T_177273 = or(T_177272, T_177247) - node T_177274 = or(T_177273, T_177249) - node T_177275 = or(T_177274, T_177251) - node T_177276 = or(T_177275, in[0].valid) - node T_177277 = or(T_177276, in[1].valid) - node T_177278 = eq(T_177277, UInt<1>(0)) - node T_177279 = or(UInt<1>(0), T_177245) - node T_177280 = or(T_177279, T_177247) - node T_177281 = or(T_177280, T_177249) - node T_177282 = or(T_177281, T_177251) - node T_177283 = or(T_177282, in[0].valid) - node T_177284 = or(T_177283, in[1].valid) - node T_177285 = or(T_177284, in[2].valid) - node T_177286 = eq(T_177285, UInt<1>(0)) - node T_177287 = gt(UInt<1>(0), last_grant) - node T_177288 = and(UInt<1>(1), T_177287) - node T_177289 = or(T_177288, T_177265) - node T_177290 = gt(UInt<1>(1), last_grant) - node T_177291 = and(T_177253, T_177290) - node T_177292 = or(T_177291, T_177271) - node T_177293 = gt(UInt<2>(2), last_grant) - node T_177294 = and(T_177256, T_177293) - node T_177295 = or(T_177294, T_177278) - node T_177296 = gt(UInt<2>(3), last_grant) - node T_177297 = and(T_177260, T_177296) - node T_177298 = or(T_177297, T_177286) - node T_177299 = eq(T_177242, UInt<1>(0)) - wire T_177300 : UInt<1> - T_177300 := T_177289 - when T_177241 : T_177300 := T_177299 - node T_177301 = and(T_177300, out.ready) - in[0].ready := T_177301 - node T_177302 = eq(T_177242, UInt<1>(1)) - wire T_177303 : UInt<1> - T_177303 := T_177292 - when T_177241 : T_177303 := T_177302 - node T_177304 = and(T_177303, out.ready) - in[1].ready := T_177304 - node T_177305 = eq(T_177242, UInt<2>(2)) - wire T_177306 : UInt<1> - T_177306 := T_177295 - when T_177241 : T_177306 := T_177305 - node T_177307 = and(T_177306, out.ready) - in[2].ready := T_177307 - node T_177308 = eq(T_177242, UInt<2>(3)) - wire T_177309 : UInt<1> - T_177309 := T_177298 - when T_177241 : T_177309 := T_177308 - node T_177310 = and(T_177309, out.ready) - in[3].ready := T_177310 - wire T_177311 : UInt<3>[3] - T_177311[0] := UInt<3>(0) - T_177311[1] := UInt<3>(1) - T_177311[2] := UInt<3>(2) - wire T_177312 : UInt<0>[1] - T_177312[0] := UInt<0>(0) - wire T_177313 : UInt<2>[2] - T_177313[0] := UInt<2>(1) - T_177313[1] := UInt<2>(2) - wire T_177314 : UInt<2>[2] - T_177314[0] := UInt<2>(1) - T_177314[1] := UInt<2>(2) - wire T_177315 : UInt<2>[1] - T_177315[0] := UInt<2>(2) - accessor T_177316 = in[T_177243] - out.valid := T_177316.valid - wire T_177317 : UInt<3>[3] - T_177317[0] := UInt<3>(0) - T_177317[1] := UInt<3>(1) - T_177317[2] := UInt<3>(2) - wire T_177318 : UInt<0>[1] - T_177318[0] := UInt<0>(0) - wire T_177319 : UInt<2>[2] - T_177319[0] := UInt<2>(1) - T_177319[1] := UInt<2>(2) - wire T_177320 : UInt<2>[2] - T_177320[0] := UInt<2>(1) - T_177320[1] := UInt<2>(2) - wire T_177321 : UInt<2>[1] - T_177321[0] := UInt<2>(2) - accessor T_177322 = in[T_177243] - out.bits := T_177322.bits - chosen := T_177243 - reg T_177323 : UInt<2> - onreset T_177323 := UInt<2>(0) - node T_177324 = addw(T_177323, UInt<1>(1)) - - node T_177325 = and(out.ready, out.valid) - when T_177325 : - - - node T_177326 = eq(T_177236[0], out.bits.r_type) - node T_177327 = eq(T_177236[1], out.bits.r_type) - node T_177328 = eq(T_177236[2], out.bits.r_type) - node T_177329 = or(UInt<1>(0), T_177326) - node T_177330 = or(T_177329, T_177327) - node T_177331 = or(T_177330, T_177328) - node T_177332 = and(UInt<1>(1), T_177331) - when T_177332 : - T_177323 := T_177324 - - node T_177333 = eq(T_177241, UInt<1>(0)) - when T_177333 : - T_177241 := UInt<1>(1) - node T_177334 = and(in[0].ready, in[0].valid) - node T_177335 = and(in[1].ready, in[1].valid) - node T_177336 = and(in[2].ready, in[2].valid) - node T_177337 = and(in[3].ready, in[3].valid) - wire T_177338 : UInt<1>[4] - T_177338[0] := T_177334 - T_177338[1] := T_177335 - T_177338[2] := T_177336 - T_177338[3] := T_177337 - wire T_177339 : UInt<2> - T_177339 := UInt<2>(3) - when T_177338[2] : T_177339 := UInt<2>(2) - wire T_177340 : UInt<2> - T_177340 := T_177339 - when T_177338[1] : T_177340 := UInt<1>(1) - wire T_177341 : UInt<2> - T_177341 := T_177340 - when T_177338[0] : T_177341 := UInt<1>(0) - T_177242 := T_177341 - - node T_177342 = eq(T_177324, UInt<1>(0)) - when T_177342 : T_177241 := UInt<1>(0) - wire T_177343 : UInt<2> - T_177343 := UInt<2>(3) - when in[2].valid : T_177343 := UInt<2>(2) - wire T_177344 : UInt<2> - T_177344 := T_177343 - when in[1].valid : T_177344 := UInt<1>(1) - wire T_177345 : UInt<2> - T_177345 := T_177344 - when in[0].valid : T_177345 := UInt<1>(0) - node T_177346 = gt(UInt<2>(3), last_grant) - node T_177347 = and(in[3].valid, T_177346) - wire T_177348 : UInt<2> - T_177348 := T_177345 - when T_177347 : T_177348 := UInt<2>(3) - node T_177349 = gt(UInt<2>(2), last_grant) - node T_177350 = and(in[2].valid, T_177349) - wire T_177351 : UInt<2> - T_177351 := T_177348 - when T_177350 : T_177351 := UInt<2>(2) - node T_177352 = gt(UInt<1>(1), last_grant) - node T_177353 = and(in[1].valid, T_177352) - wire choose : UInt<2> - choose := T_177351 - when T_177353 : choose := UInt<1>(1) - wire T_177354 : UInt<2> - T_177354 := choose - when T_177241 : T_177354 := T_177242 - T_177243 := T_177354 - - node T_177355 = and(out.ready, out.valid) - when T_177355 : last_grant := T_177243 - module ClientTileLinkIOArbiter : - input in : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<2>, manager_xact_id : UInt<1>, is_builtin_type : UInt<1>, g_type : UInt<4>}}, flip probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>}}, release : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}}[4] - output out : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<2>, manager_xact_id : UInt<1>, is_builtin_type : UInt<1>, g_type : UInt<4>}}, flip probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>}}, release : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}} - - wire T_177356 : UInt<3>[3] - T_177356[0] := UInt<3>(0) - T_177356[1] := UInt<3>(1) - T_177356[2] := UInt<3>(2) - wire T_177357 : UInt<0>[1] - T_177357[0] := UInt<0>(0) - wire T_177358 : UInt<2>[2] - T_177358[0] := UInt<2>(1) - T_177358[1] := UInt<2>(2) - wire T_177359 : UInt<2>[2] - T_177359[0] := UInt<2>(1) - T_177359[1] := UInt<2>(2) - wire T_177360 : UInt<2>[1] - T_177360[0] := UInt<2>(2) - wire T_177361 : UInt<3>[3] - T_177361[0] := UInt<3>(0) - T_177361[1] := UInt<3>(1) - T_177361[2] := UInt<3>(2) - wire T_177362 : UInt<0>[1] - T_177362[0] := UInt<0>(0) - wire T_177363 : UInt<2>[2] - T_177363[0] := UInt<2>(1) - T_177363[1] := UInt<2>(2) - wire T_177364 : UInt<2>[2] - T_177364[0] := UInt<2>(1) - T_177364[1] := UInt<2>(2) - wire T_177365 : UInt<2>[1] - T_177365[0] := UInt<2>(2) - wire T_177366 : UInt<3>[3] - T_177366[0] := UInt<3>(0) - T_177366[1] := UInt<3>(1) - T_177366[2] := UInt<3>(2) - wire T_177367 : UInt<0>[1] - T_177367[0] := UInt<0>(0) - wire T_177368 : UInt<2>[2] - T_177368[0] := UInt<2>(1) - T_177368[1] := UInt<2>(2) - wire T_177369 : UInt<2>[2] - T_177369[0] := UInt<2>(1) - T_177369[1] := UInt<2>(2) - wire T_177370 : UInt<2>[1] - T_177370[0] := UInt<2>(2) - wire T_177371 : UInt<3>[3] - T_177371[0] := UInt<3>(0) - T_177371[1] := UInt<3>(1) - T_177371[2] := UInt<3>(2) - wire T_177372 : UInt<0>[1] - T_177372[0] := UInt<0>(0) - wire T_177373 : UInt<2>[2] - T_177373[0] := UInt<2>(1) - T_177373[1] := UInt<2>(2) - wire T_177374 : UInt<2>[2] - T_177374[0] := UInt<2>(1) - T_177374[1] := UInt<2>(2) - wire T_177375 : UInt<2>[1] - T_177375[0] := UInt<2>(2) - wire T_177376 : UInt<3>[3] - T_177376[0] := UInt<3>(0) - T_177376[1] := UInt<3>(1) - T_177376[2] := UInt<3>(2) - wire T_177377 : UInt<0>[1] - T_177377[0] := UInt<0>(0) - wire T_177378 : UInt<2>[2] - T_177378[0] := UInt<2>(1) - T_177378[1] := UInt<2>(2) - wire T_177379 : UInt<2>[2] - T_177379[0] := UInt<2>(1) - T_177379[1] := UInt<2>(2) - wire T_177380 : UInt<2>[1] - T_177380[0] := UInt<2>(2) - wire T_177381 : UInt<3>[3] - T_177381[0] := UInt<3>(0) - T_177381[1] := UInt<3>(1) - T_177381[2] := UInt<3>(2) - wire T_177382 : UInt<0>[1] - T_177382[0] := UInt<0>(0) - wire T_177383 : UInt<2>[2] - T_177383[0] := UInt<2>(1) - T_177383[1] := UInt<2>(2) - wire T_177384 : UInt<2>[2] - T_177384[0] := UInt<2>(1) - T_177384[1] := UInt<2>(2) - wire T_177385 : UInt<2>[1] - T_177385[0] := UInt<2>(2) - wire T_177386 : UInt<3>[3] - T_177386[0] := UInt<3>(0) - T_177386[1] := UInt<3>(1) - T_177386[2] := UInt<3>(2) - wire T_177387 : UInt<0>[1] - T_177387[0] := UInt<0>(0) - wire T_177388 : UInt<2>[2] - T_177388[0] := UInt<2>(1) - T_177388[1] := UInt<2>(2) - wire T_177389 : UInt<2>[2] - T_177389[0] := UInt<2>(1) - T_177389[1] := UInt<2>(2) - wire T_177390 : UInt<2>[1] - T_177390[0] := UInt<2>(2) - wire T_177391 : UInt<3>[3] - T_177391[0] := UInt<3>(0) - T_177391[1] := UInt<3>(1) - T_177391[2] := UInt<3>(2) - wire T_177392 : UInt<0>[1] - T_177392[0] := UInt<0>(0) - wire T_177393 : UInt<2>[2] - T_177393[0] := UInt<2>(1) - T_177393[1] := UInt<2>(2) - wire T_177394 : UInt<2>[2] - T_177394[0] := UInt<2>(1) - T_177394[1] := UInt<2>(2) - wire T_177395 : UInt<2>[1] - T_177395[0] := UInt<2>(2) - wire T_177396 : UInt<3>[3] - T_177396[0] := UInt<3>(0) - T_177396[1] := UInt<3>(1) - T_177396[2] := UInt<3>(2) - wire T_177397 : UInt<0>[1] - T_177397[0] := UInt<0>(0) - wire T_177398 : UInt<2>[2] - T_177398[0] := UInt<2>(1) - T_177398[1] := UInt<2>(2) - wire T_177399 : UInt<2>[2] - T_177399[0] := UInt<2>(1) - T_177399[1] := UInt<2>(2) - wire T_177400 : UInt<2>[1] - T_177400[0] := UInt<2>(2) - wire T_177401 : UInt<3>[3] - T_177401[0] := UInt<3>(0) - T_177401[1] := UInt<3>(1) - T_177401[2] := UInt<3>(2) - wire T_177402 : UInt<0>[1] - T_177402[0] := UInt<0>(0) - wire T_177403 : UInt<2>[2] - T_177403[0] := UInt<2>(1) - T_177403[1] := UInt<2>(2) - wire T_177404 : UInt<2>[2] - T_177404[0] := UInt<2>(1) - T_177404[1] := UInt<2>(2) - wire T_177405 : UInt<2>[1] - T_177405[0] := UInt<2>(2) - wire T_177406 : UInt<3>[3] - T_177406[0] := UInt<3>(0) - T_177406[1] := UInt<3>(1) - T_177406[2] := UInt<3>(2) - wire T_177407 : UInt<0>[1] - T_177407[0] := UInt<0>(0) - wire T_177408 : UInt<2>[2] - T_177408[0] := UInt<2>(1) - T_177408[1] := UInt<2>(2) - wire T_177409 : UInt<2>[2] - T_177409[0] := UInt<2>(1) - T_177409[1] := UInt<2>(2) - wire T_177410 : UInt<2>[1] - T_177410[0] := UInt<2>(2) - wire T_177411 : UInt<3>[3] - T_177411[0] := UInt<3>(0) - T_177411[1] := UInt<3>(1) - T_177411[2] := UInt<3>(2) - wire T_177412 : UInt<0>[1] - T_177412[0] := UInt<0>(0) - wire T_177413 : UInt<2>[2] - T_177413[0] := UInt<2>(1) - T_177413[1] := UInt<2>(2) - wire T_177414 : UInt<2>[2] - T_177414[0] := UInt<2>(1) - T_177414[1] := UInt<2>(2) - wire T_177415 : UInt<2>[1] - T_177415[0] := UInt<2>(2) - wire T_177416 : UInt<3>[3] - T_177416[0] := UInt<3>(0) - T_177416[1] := UInt<3>(1) - T_177416[2] := UInt<3>(2) - wire T_177417 : UInt<0>[1] - T_177417[0] := UInt<0>(0) - wire T_177418 : UInt<2>[2] - T_177418[0] := UInt<2>(1) - T_177418[1] := UInt<2>(2) - wire T_177419 : UInt<2>[2] - T_177419[0] := UInt<2>(1) - T_177419[1] := UInt<2>(2) - wire T_177420 : UInt<2>[1] - T_177420[0] := UInt<2>(2) - wire T_177421 : UInt<3>[3] - T_177421[0] := UInt<3>(0) - T_177421[1] := UInt<3>(1) - T_177421[2] := UInt<3>(2) - wire T_177422 : UInt<0>[1] - T_177422[0] := UInt<0>(0) - wire T_177423 : UInt<2>[2] - T_177423[0] := UInt<2>(1) - T_177423[1] := UInt<2>(2) - wire T_177424 : UInt<2>[2] - T_177424[0] := UInt<2>(1) - T_177424[1] := UInt<2>(2) - wire T_177425 : UInt<2>[1] - T_177425[0] := UInt<2>(2) - wire T_177426 : UInt<3>[3] - T_177426[0] := UInt<3>(0) - T_177426[1] := UInt<3>(1) - T_177426[2] := UInt<3>(2) - wire T_177427 : UInt<0>[1] - T_177427[0] := UInt<0>(0) - wire T_177428 : UInt<2>[2] - T_177428[0] := UInt<2>(1) - T_177428[1] := UInt<2>(2) - wire T_177429 : UInt<2>[2] - T_177429[0] := UInt<2>(1) - T_177429[1] := UInt<2>(2) - wire T_177430 : UInt<2>[1] - T_177430[0] := UInt<2>(2) - wire T_177431 : UInt<3>[3] - T_177431[0] := UInt<3>(0) - T_177431[1] := UInt<3>(1) - T_177431[2] := UInt<3>(2) - wire T_177432 : UInt<0>[1] - T_177432[0] := UInt<0>(0) - wire T_177433 : UInt<2>[2] - T_177433[0] := UInt<2>(1) - T_177433[1] := UInt<2>(2) - wire T_177434 : UInt<2>[2] - T_177434[0] := UInt<2>(1) - T_177434[1] := UInt<2>(2) - wire T_177435 : UInt<2>[1] - T_177435[0] := UInt<2>(2) - wire T_177436 : UInt<3>[3] - T_177436[0] := UInt<3>(0) - T_177436[1] := UInt<3>(1) - T_177436[2] := UInt<3>(2) - wire T_177437 : UInt<0>[1] - T_177437[0] := UInt<0>(0) - wire T_177438 : UInt<2>[2] - T_177438[0] := UInt<2>(1) - T_177438[1] := UInt<2>(2) - wire T_177439 : UInt<2>[2] - T_177439[0] := UInt<2>(1) - T_177439[1] := UInt<2>(2) - wire T_177440 : UInt<2>[1] - T_177440[0] := UInt<2>(2) - wire T_177441 : UInt<3>[3] - T_177441[0] := UInt<3>(0) - T_177441[1] := UInt<3>(1) - T_177441[2] := UInt<3>(2) - wire T_177442 : UInt<0>[1] - T_177442[0] := UInt<0>(0) - wire T_177443 : UInt<2>[2] - T_177443[0] := UInt<2>(1) - T_177443[1] := UInt<2>(2) - wire T_177444 : UInt<2>[2] - T_177444[0] := UInt<2>(1) - T_177444[1] := UInt<2>(2) - wire T_177445 : UInt<2>[1] - T_177445[0] := UInt<2>(2) - wire T_177446 : UInt<3>[3] - T_177446[0] := UInt<3>(0) - T_177446[1] := UInt<3>(1) - T_177446[2] := UInt<3>(2) - wire T_177447 : UInt<0>[1] - T_177447[0] := UInt<0>(0) - wire T_177448 : UInt<2>[2] - T_177448[0] := UInt<2>(1) - T_177448[1] := UInt<2>(2) - wire T_177449 : UInt<2>[2] - T_177449[0] := UInt<2>(1) - T_177449[1] := UInt<2>(2) - wire T_177450 : UInt<2>[1] - T_177450[0] := UInt<2>(2) - wire T_177451 : UInt<3>[3] - T_177451[0] := UInt<3>(0) - T_177451[1] := UInt<3>(1) - T_177451[2] := UInt<3>(2) - wire T_177452 : UInt<0>[1] - T_177452[0] := UInt<0>(0) - wire T_177453 : UInt<2>[2] - T_177453[0] := UInt<2>(1) - T_177453[1] := UInt<2>(2) - wire T_177454 : UInt<2>[2] - T_177454[0] := UInt<2>(1) - T_177454[1] := UInt<2>(2) - wire T_177455 : UInt<2>[1] - T_177455[0] := UInt<2>(2) - wire T_177456 : UInt<3>[3] - T_177456[0] := UInt<3>(0) - T_177456[1] := UInt<3>(1) - T_177456[2] := UInt<3>(2) - wire T_177457 : UInt<0>[1] - T_177457[0] := UInt<0>(0) - wire T_177458 : UInt<2>[2] - T_177458[0] := UInt<2>(1) - T_177458[1] := UInt<2>(2) - wire T_177459 : UInt<2>[2] - T_177459[0] := UInt<2>(1) - T_177459[1] := UInt<2>(2) - wire T_177460 : UInt<2>[1] - T_177460[0] := UInt<2>(2) - wire T_177461 : UInt<3>[3] - T_177461[0] := UInt<3>(0) - T_177461[1] := UInt<3>(1) - T_177461[2] := UInt<3>(2) - wire T_177462 : UInt<0>[1] - T_177462[0] := UInt<0>(0) - wire T_177463 : UInt<2>[2] - T_177463[0] := UInt<2>(1) - T_177463[1] := UInt<2>(2) - wire T_177464 : UInt<2>[2] - T_177464[0] := UInt<2>(1) - T_177464[1] := UInt<2>(2) - wire T_177465 : UInt<2>[1] - T_177465[0] := UInt<2>(2) - wire T_177466 : UInt<3>[3] - T_177466[0] := UInt<3>(0) - T_177466[1] := UInt<3>(1) - T_177466[2] := UInt<3>(2) - wire T_177467 : UInt<0>[1] - T_177467[0] := UInt<0>(0) - wire T_177468 : UInt<2>[2] - T_177468[0] := UInt<2>(1) - T_177468[1] := UInt<2>(2) - wire T_177469 : UInt<2>[2] - T_177469[0] := UInt<2>(1) - T_177469[1] := UInt<2>(2) - wire T_177470 : UInt<2>[1] - T_177470[0] := UInt<2>(2) - wire T_177471 : UInt<3>[3] - T_177471[0] := UInt<3>(0) - T_177471[1] := UInt<3>(1) - T_177471[2] := UInt<3>(2) - wire T_177472 : UInt<0>[1] - T_177472[0] := UInt<0>(0) - wire T_177473 : UInt<2>[2] - T_177473[0] := UInt<2>(1) - T_177473[1] := UInt<2>(2) - wire T_177474 : UInt<2>[2] - T_177474[0] := UInt<2>(1) - T_177474[1] := UInt<2>(2) - wire T_177475 : UInt<2>[1] - T_177475[0] := UInt<2>(2) - wire T_177476 : UInt<3>[3] - T_177476[0] := UInt<3>(0) - T_177476[1] := UInt<3>(1) - T_177476[2] := UInt<3>(2) - wire T_177477 : UInt<0>[1] - T_177477[0] := UInt<0>(0) - wire T_177478 : UInt<2>[2] - T_177478[0] := UInt<2>(1) - T_177478[1] := UInt<2>(2) - wire T_177479 : UInt<2>[2] - T_177479[0] := UInt<2>(1) - T_177479[1] := UInt<2>(2) - wire T_177480 : UInt<2>[1] - T_177480[0] := UInt<2>(2) - wire T_177481 : UInt<3>[3] - T_177481[0] := UInt<3>(0) - T_177481[1] := UInt<3>(1) - T_177481[2] := UInt<3>(2) - wire T_177482 : UInt<0>[1] - T_177482[0] := UInt<0>(0) - wire T_177483 : UInt<2>[2] - T_177483[0] := UInt<2>(1) - T_177483[1] := UInt<2>(2) - wire T_177484 : UInt<2>[2] - T_177484[0] := UInt<2>(1) - T_177484[1] := UInt<2>(2) - wire T_177485 : UInt<2>[1] - T_177485[0] := UInt<2>(2) - wire T_177486 : UInt<3>[3] - T_177486[0] := UInt<3>(0) - T_177486[1] := UInt<3>(1) - T_177486[2] := UInt<3>(2) - wire T_177487 : UInt<0>[1] - T_177487[0] := UInt<0>(0) - wire T_177488 : UInt<2>[2] - T_177488[0] := UInt<2>(1) - T_177488[1] := UInt<2>(2) - wire T_177489 : UInt<2>[2] - T_177489[0] := UInt<2>(1) - T_177489[1] := UInt<2>(2) - wire T_177490 : UInt<2>[1] - T_177490[0] := UInt<2>(2) - wire T_177491 : UInt<3>[3] - T_177491[0] := UInt<3>(0) - T_177491[1] := UInt<3>(1) - T_177491[2] := UInt<3>(2) - wire T_177492 : UInt<0>[1] - T_177492[0] := UInt<0>(0) - wire T_177493 : UInt<2>[2] - T_177493[0] := UInt<2>(1) - T_177493[1] := UInt<2>(2) - wire T_177494 : UInt<2>[2] - T_177494[0] := UInt<2>(1) - T_177494[1] := UInt<2>(2) - wire T_177495 : UInt<2>[1] - T_177495[0] := UInt<2>(2) - wire T_177496 : UInt<3>[3] - T_177496[0] := UInt<3>(0) - T_177496[1] := UInt<3>(1) - T_177496[2] := UInt<3>(2) - wire T_177497 : UInt<0>[1] - T_177497[0] := UInt<0>(0) - wire T_177498 : UInt<2>[2] - T_177498[0] := UInt<2>(1) - T_177498[1] := UInt<2>(2) - wire T_177499 : UInt<2>[2] - T_177499[0] := UInt<2>(1) - T_177499[1] := UInt<2>(2) - wire T_177500 : UInt<2>[1] - T_177500[0] := UInt<2>(2) - wire T_177501 : UInt<3>[3] - T_177501[0] := UInt<3>(0) - T_177501[1] := UInt<3>(1) - T_177501[2] := UInt<3>(2) - wire T_177502 : UInt<0>[1] - T_177502[0] := UInt<0>(0) - wire T_177503 : UInt<2>[2] - T_177503[0] := UInt<2>(1) - T_177503[1] := UInt<2>(2) - wire T_177504 : UInt<2>[2] - T_177504[0] := UInt<2>(1) - T_177504[1] := UInt<2>(2) - wire T_177505 : UInt<2>[1] - T_177505[0] := UInt<2>(2) - wire T_177506 : UInt<3>[3] - T_177506[0] := UInt<3>(0) - T_177506[1] := UInt<3>(1) - T_177506[2] := UInt<3>(2) - wire T_177507 : UInt<0>[1] - T_177507[0] := UInt<0>(0) - wire T_177508 : UInt<2>[2] - T_177508[0] := UInt<2>(1) - T_177508[1] := UInt<2>(2) - wire T_177509 : UInt<2>[2] - T_177509[0] := UInt<2>(1) - T_177509[1] := UInt<2>(2) - wire T_177510 : UInt<2>[1] - T_177510[0] := UInt<2>(2) - wire T_177511 : UInt<3>[3] - T_177511[0] := UInt<3>(0) - T_177511[1] := UInt<3>(1) - T_177511[2] := UInt<3>(2) - wire T_177512 : UInt<0>[1] - T_177512[0] := UInt<0>(0) - wire T_177513 : UInt<2>[2] - T_177513[0] := UInt<2>(1) - T_177513[1] := UInt<2>(2) - wire T_177514 : UInt<2>[2] - T_177514[0] := UInt<2>(1) - T_177514[1] := UInt<2>(2) - wire T_177515 : UInt<2>[1] - T_177515[0] := UInt<2>(2) - wire T_177516 : UInt<3>[3] - T_177516[0] := UInt<3>(0) - T_177516[1] := UInt<3>(1) - T_177516[2] := UInt<3>(2) - wire T_177517 : UInt<0>[1] - T_177517[0] := UInt<0>(0) - wire T_177518 : UInt<2>[2] - T_177518[0] := UInt<2>(1) - T_177518[1] := UInt<2>(2) - wire T_177519 : UInt<2>[2] - T_177519[0] := UInt<2>(1) - T_177519[1] := UInt<2>(2) - wire T_177520 : UInt<2>[1] - T_177520[0] := UInt<2>(2) - wire T_177521 : UInt<3>[3] - T_177521[0] := UInt<3>(0) - T_177521[1] := UInt<3>(1) - T_177521[2] := UInt<3>(2) - wire T_177522 : UInt<0>[1] - T_177522[0] := UInt<0>(0) - wire T_177523 : UInt<2>[2] - T_177523[0] := UInt<2>(1) - T_177523[1] := UInt<2>(2) - wire T_177524 : UInt<2>[2] - T_177524[0] := UInt<2>(1) - T_177524[1] := UInt<2>(2) - wire T_177525 : UInt<2>[1] - T_177525[0] := UInt<2>(2) - wire T_177526 : UInt<3>[3] - T_177526[0] := UInt<3>(0) - T_177526[1] := UInt<3>(1) - T_177526[2] := UInt<3>(2) - wire T_177527 : UInt<0>[1] - T_177527[0] := UInt<0>(0) - wire T_177528 : UInt<2>[2] - T_177528[0] := UInt<2>(1) - T_177528[1] := UInt<2>(2) - wire T_177529 : UInt<2>[2] - T_177529[0] := UInt<2>(1) - T_177529[1] := UInt<2>(2) - wire T_177530 : UInt<2>[1] - T_177530[0] := UInt<2>(2) - wire T_177531 : UInt<3>[3] - T_177531[0] := UInt<3>(0) - T_177531[1] := UInt<3>(1) - T_177531[2] := UInt<3>(2) - wire T_177532 : UInt<0>[1] - T_177532[0] := UInt<0>(0) - wire T_177533 : UInt<2>[2] - T_177533[0] := UInt<2>(1) - T_177533[1] := UInt<2>(2) - wire T_177534 : UInt<2>[2] - T_177534[0] := UInt<2>(1) - T_177534[1] := UInt<2>(2) - wire T_177535 : UInt<2>[1] - T_177535[0] := UInt<2>(2) - wire T_177536 : UInt<3>[3] - T_177536[0] := UInt<3>(0) - T_177536[1] := UInt<3>(1) - T_177536[2] := UInt<3>(2) - wire T_177537 : UInt<0>[1] - T_177537[0] := UInt<0>(0) - wire T_177538 : UInt<2>[2] - T_177538[0] := UInt<2>(1) - T_177538[1] := UInt<2>(2) - wire T_177539 : UInt<2>[2] - T_177539[0] := UInt<2>(1) - T_177539[1] := UInt<2>(2) - wire T_177540 : UInt<2>[1] - T_177540[0] := UInt<2>(2) - wire T_177541 : UInt<3>[3] - T_177541[0] := UInt<3>(0) - T_177541[1] := UInt<3>(1) - T_177541[2] := UInt<3>(2) - wire T_177542 : UInt<0>[1] - T_177542[0] := UInt<0>(0) - wire T_177543 : UInt<2>[2] - T_177543[0] := UInt<2>(1) - T_177543[1] := UInt<2>(2) - wire T_177544 : UInt<2>[2] - T_177544[0] := UInt<2>(1) - T_177544[1] := UInt<2>(2) - wire T_177545 : UInt<2>[1] - T_177545[0] := UInt<2>(2) - wire T_177546 : UInt<3>[3] - T_177546[0] := UInt<3>(0) - T_177546[1] := UInt<3>(1) - T_177546[2] := UInt<3>(2) - wire T_177547 : UInt<0>[1] - T_177547[0] := UInt<0>(0) - wire T_177548 : UInt<2>[2] - T_177548[0] := UInt<2>(1) - T_177548[1] := UInt<2>(2) - wire T_177549 : UInt<2>[2] - T_177549[0] := UInt<2>(1) - T_177549[1] := UInt<2>(2) - wire T_177550 : UInt<2>[1] - T_177550[0] := UInt<2>(2) - wire T_177551 : UInt<3>[3] - T_177551[0] := UInt<3>(0) - T_177551[1] := UInt<3>(1) - T_177551[2] := UInt<3>(2) - wire T_177552 : UInt<0>[1] - T_177552[0] := UInt<0>(0) - wire T_177553 : UInt<2>[2] - T_177553[0] := UInt<2>(1) - T_177553[1] := UInt<2>(2) - wire T_177554 : UInt<2>[2] - T_177554[0] := UInt<2>(1) - T_177554[1] := UInt<2>(2) - wire T_177555 : UInt<2>[1] - T_177555[0] := UInt<2>(2) - wire T_177556 : UInt<3>[3] - T_177556[0] := UInt<3>(0) - T_177556[1] := UInt<3>(1) - T_177556[2] := UInt<3>(2) - wire T_177557 : UInt<0>[1] - T_177557[0] := UInt<0>(0) - wire T_177558 : UInt<2>[2] - T_177558[0] := UInt<2>(1) - T_177558[1] := UInt<2>(2) - wire T_177559 : UInt<2>[2] - T_177559[0] := UInt<2>(1) - T_177559[1] := UInt<2>(2) - wire T_177560 : UInt<2>[1] - T_177560[0] := UInt<2>(2) - wire T_177561 : UInt<3>[3] - T_177561[0] := UInt<3>(0) - T_177561[1] := UInt<3>(1) - T_177561[2] := UInt<3>(2) - wire T_177562 : UInt<0>[1] - T_177562[0] := UInt<0>(0) - wire T_177563 : UInt<2>[2] - T_177563[0] := UInt<2>(1) - T_177563[1] := UInt<2>(2) - wire T_177564 : UInt<2>[2] - T_177564[0] := UInt<2>(1) - T_177564[1] := UInt<2>(2) - wire T_177565 : UInt<2>[1] - T_177565[0] := UInt<2>(2) - wire T_177566 : UInt<3>[3] - T_177566[0] := UInt<3>(0) - T_177566[1] := UInt<3>(1) - T_177566[2] := UInt<3>(2) - wire T_177567 : UInt<0>[1] - T_177567[0] := UInt<0>(0) - wire T_177568 : UInt<2>[2] - T_177568[0] := UInt<2>(1) - T_177568[1] := UInt<2>(2) - wire T_177569 : UInt<2>[2] - T_177569[0] := UInt<2>(1) - T_177569[1] := UInt<2>(2) - wire T_177570 : UInt<2>[1] - T_177570[0] := UInt<2>(2) - wire T_177571 : UInt<3>[3] - T_177571[0] := UInt<3>(0) - T_177571[1] := UInt<3>(1) - T_177571[2] := UInt<3>(2) - wire T_177572 : UInt<0>[1] - T_177572[0] := UInt<0>(0) - wire T_177573 : UInt<2>[2] - T_177573[0] := UInt<2>(1) - T_177573[1] := UInt<2>(2) - wire T_177574 : UInt<2>[2] - T_177574[0] := UInt<2>(1) - T_177574[1] := UInt<2>(2) - wire T_177575 : UInt<2>[1] - T_177575[0] := UInt<2>(2) - wire T_177576 : UInt<3>[3] - T_177576[0] := UInt<3>(0) - T_177576[1] := UInt<3>(1) - T_177576[2] := UInt<3>(2) - wire T_177577 : UInt<0>[1] - T_177577[0] := UInt<0>(0) - wire T_177578 : UInt<2>[2] - T_177578[0] := UInt<2>(1) - T_177578[1] := UInt<2>(2) - wire T_177579 : UInt<2>[2] - T_177579[0] := UInt<2>(1) - T_177579[1] := UInt<2>(2) - wire T_177580 : UInt<2>[1] - T_177580[0] := UInt<2>(2) - wire T_177581 : UInt<3>[3] - T_177581[0] := UInt<3>(0) - T_177581[1] := UInt<3>(1) - T_177581[2] := UInt<3>(2) - wire T_177582 : UInt<0>[1] - T_177582[0] := UInt<0>(0) - wire T_177583 : UInt<2>[2] - T_177583[0] := UInt<2>(1) - T_177583[1] := UInt<2>(2) - wire T_177584 : UInt<2>[2] - T_177584[0] := UInt<2>(1) - T_177584[1] := UInt<2>(2) - wire T_177585 : UInt<2>[1] - T_177585[0] := UInt<2>(2) - wire T_177586 : UInt<3>[3] - T_177586[0] := UInt<3>(0) - T_177586[1] := UInt<3>(1) - T_177586[2] := UInt<3>(2) - wire T_177587 : UInt<0>[1] - T_177587[0] := UInt<0>(0) - wire T_177588 : UInt<2>[2] - T_177588[0] := UInt<2>(1) - T_177588[1] := UInt<2>(2) - wire T_177589 : UInt<2>[2] - T_177589[0] := UInt<2>(1) - T_177589[1] := UInt<2>(2) - wire T_177590 : UInt<2>[1] - T_177590[0] := UInt<2>(2) - wire T_177591 : UInt<3>[3] - T_177591[0] := UInt<3>(0) - T_177591[1] := UInt<3>(1) - T_177591[2] := UInt<3>(2) - wire T_177592 : UInt<0>[1] - T_177592[0] := UInt<0>(0) - wire T_177593 : UInt<2>[2] - T_177593[0] := UInt<2>(1) - T_177593[1] := UInt<2>(2) - wire T_177594 : UInt<2>[2] - T_177594[0] := UInt<2>(1) - T_177594[1] := UInt<2>(2) - wire T_177595 : UInt<2>[1] - T_177595[0] := UInt<2>(2) - wire T_177596 : UInt<3>[3] - T_177596[0] := UInt<3>(0) - T_177596[1] := UInt<3>(1) - T_177596[2] := UInt<3>(2) - wire T_177597 : UInt<0>[1] - T_177597[0] := UInt<0>(0) - wire T_177598 : UInt<2>[2] - T_177598[0] := UInt<2>(1) - T_177598[1] := UInt<2>(2) - wire T_177599 : UInt<2>[2] - T_177599[0] := UInt<2>(1) - T_177599[1] := UInt<2>(2) - wire T_177600 : UInt<2>[1] - T_177600[0] := UInt<2>(2) - wire T_177601 : UInt<3>[3] - T_177601[0] := UInt<3>(0) - T_177601[1] := UInt<3>(1) - T_177601[2] := UInt<3>(2) - wire T_177602 : UInt<0>[1] - T_177602[0] := UInt<0>(0) - wire T_177603 : UInt<2>[2] - T_177603[0] := UInt<2>(1) - T_177603[1] := UInt<2>(2) - wire T_177604 : UInt<2>[2] - T_177604[0] := UInt<2>(1) - T_177604[1] := UInt<2>(2) - wire T_177605 : UInt<2>[1] - T_177605[0] := UInt<2>(2) - wire T_177606 : UInt<3>[3] - T_177606[0] := UInt<3>(0) - T_177606[1] := UInt<3>(1) - T_177606[2] := UInt<3>(2) - wire T_177607 : UInt<0>[1] - T_177607[0] := UInt<0>(0) - wire T_177608 : UInt<2>[2] - T_177608[0] := UInt<2>(1) - T_177608[1] := UInt<2>(2) - wire T_177609 : UInt<2>[2] - T_177609[0] := UInt<2>(1) - T_177609[1] := UInt<2>(2) - wire T_177610 : UInt<2>[1] - T_177610[0] := UInt<2>(2) - wire T_177611 : UInt<3>[3] - T_177611[0] := UInt<3>(0) - T_177611[1] := UInt<3>(1) - T_177611[2] := UInt<3>(2) - wire T_177612 : UInt<0>[1] - T_177612[0] := UInt<0>(0) - wire T_177613 : UInt<2>[2] - T_177613[0] := UInt<2>(1) - T_177613[1] := UInt<2>(2) - wire T_177614 : UInt<2>[2] - T_177614[0] := UInt<2>(1) - T_177614[1] := UInt<2>(2) - wire T_177615 : UInt<2>[1] - T_177615[0] := UInt<2>(2) - wire T_177616 : UInt<3>[3] - T_177616[0] := UInt<3>(0) - T_177616[1] := UInt<3>(1) - T_177616[2] := UInt<3>(2) - wire T_177617 : UInt<0>[1] - T_177617[0] := UInt<0>(0) - wire T_177618 : UInt<2>[2] - T_177618[0] := UInt<2>(1) - T_177618[1] := UInt<2>(2) - wire T_177619 : UInt<2>[2] - T_177619[0] := UInt<2>(1) - T_177619[1] := UInt<2>(2) - wire T_177620 : UInt<2>[1] - T_177620[0] := UInt<2>(2) - wire T_177621 : UInt<3>[3] - T_177621[0] := UInt<3>(0) - T_177621[1] := UInt<3>(1) - T_177621[2] := UInt<3>(2) - wire T_177622 : UInt<0>[1] - T_177622[0] := UInt<0>(0) - wire T_177623 : UInt<2>[2] - T_177623[0] := UInt<2>(1) - T_177623[1] := UInt<2>(2) - wire T_177624 : UInt<2>[2] - T_177624[0] := UInt<2>(1) - T_177624[1] := UInt<2>(2) - wire T_177625 : UInt<2>[1] - T_177625[0] := UInt<2>(2) - wire T_177626 : UInt<3>[3] - T_177626[0] := UInt<3>(0) - T_177626[1] := UInt<3>(1) - T_177626[2] := UInt<3>(2) - wire T_177627 : UInt<0>[1] - T_177627[0] := UInt<0>(0) - wire T_177628 : UInt<2>[2] - T_177628[0] := UInt<2>(1) - T_177628[1] := UInt<2>(2) - wire T_177629 : UInt<2>[2] - T_177629[0] := UInt<2>(1) - T_177629[1] := UInt<2>(2) - wire T_177630 : UInt<2>[1] - T_177630[0] := UInt<2>(2) - wire T_177631 : UInt<3>[3] - T_177631[0] := UInt<3>(0) - T_177631[1] := UInt<3>(1) - T_177631[2] := UInt<3>(2) - wire T_177632 : UInt<0>[1] - T_177632[0] := UInt<0>(0) - wire T_177633 : UInt<2>[2] - T_177633[0] := UInt<2>(1) - T_177633[1] := UInt<2>(2) - wire T_177634 : UInt<2>[2] - T_177634[0] := UInt<2>(1) - T_177634[1] := UInt<2>(2) - wire T_177635 : UInt<2>[1] - T_177635[0] := UInt<2>(2) - wire T_177636 : UInt<3>[3] - T_177636[0] := UInt<3>(0) - T_177636[1] := UInt<3>(1) - T_177636[2] := UInt<3>(2) - wire T_177637 : UInt<0>[1] - T_177637[0] := UInt<0>(0) - wire T_177638 : UInt<2>[2] - T_177638[0] := UInt<2>(1) - T_177638[1] := UInt<2>(2) - wire T_177639 : UInt<2>[2] - T_177639[0] := UInt<2>(1) - T_177639[1] := UInt<2>(2) - wire T_177640 : UInt<2>[1] - T_177640[0] := UInt<2>(2) - wire T_177641 : UInt<3>[3] - T_177641[0] := UInt<3>(0) - T_177641[1] := UInt<3>(1) - T_177641[2] := UInt<3>(2) - wire T_177642 : UInt<0>[1] - T_177642[0] := UInt<0>(0) - wire T_177643 : UInt<2>[2] - T_177643[0] := UInt<2>(1) - T_177643[1] := UInt<2>(2) - wire T_177644 : UInt<2>[2] - T_177644[0] := UInt<2>(1) - T_177644[1] := UInt<2>(2) - wire T_177645 : UInt<2>[1] - T_177645[0] := UInt<2>(2) - wire T_177646 : UInt<3>[3] - T_177646[0] := UInt<3>(0) - T_177646[1] := UInt<3>(1) - T_177646[2] := UInt<3>(2) - wire T_177647 : UInt<0>[1] - T_177647[0] := UInt<0>(0) - wire T_177648 : UInt<2>[2] - T_177648[0] := UInt<2>(1) - T_177648[1] := UInt<2>(2) - wire T_177649 : UInt<2>[2] - T_177649[0] := UInt<2>(1) - T_177649[1] := UInt<2>(2) - wire T_177650 : UInt<2>[1] - T_177650[0] := UInt<2>(2) - wire T_177651 : UInt<3>[3] - T_177651[0] := UInt<3>(0) - T_177651[1] := UInt<3>(1) - T_177651[2] := UInt<3>(2) - wire T_177652 : UInt<0>[1] - T_177652[0] := UInt<0>(0) - wire T_177653 : UInt<2>[2] - T_177653[0] := UInt<2>(1) - T_177653[1] := UInt<2>(2) - wire T_177654 : UInt<2>[2] - T_177654[0] := UInt<2>(1) - T_177654[1] := UInt<2>(2) - wire T_177655 : UInt<2>[1] - T_177655[0] := UInt<2>(2) - wire T_177656 : UInt<3>[3] - T_177656[0] := UInt<3>(0) - T_177656[1] := UInt<3>(1) - T_177656[2] := UInt<3>(2) - wire T_177657 : UInt<0>[1] - T_177657[0] := UInt<0>(0) - wire T_177658 : UInt<2>[2] - T_177658[0] := UInt<2>(1) - T_177658[1] := UInt<2>(2) - wire T_177659 : UInt<2>[2] - T_177659[0] := UInt<2>(1) - T_177659[1] := UInt<2>(2) - wire T_177660 : UInt<2>[1] - T_177660[0] := UInt<2>(2) - wire T_177661 : UInt<3>[3] - T_177661[0] := UInt<3>(0) - T_177661[1] := UInt<3>(1) - T_177661[2] := UInt<3>(2) - wire T_177662 : UInt<0>[1] - T_177662[0] := UInt<0>(0) - wire T_177663 : UInt<2>[2] - T_177663[0] := UInt<2>(1) - T_177663[1] := UInt<2>(2) - wire T_177664 : UInt<2>[2] - T_177664[0] := UInt<2>(1) - T_177664[1] := UInt<2>(2) - wire T_177665 : UInt<2>[1] - T_177665[0] := UInt<2>(2) - wire T_177666 : UInt<3>[3] - T_177666[0] := UInt<3>(0) - T_177666[1] := UInt<3>(1) - T_177666[2] := UInt<3>(2) - wire T_177667 : UInt<0>[1] - T_177667[0] := UInt<0>(0) - wire T_177668 : UInt<2>[2] - T_177668[0] := UInt<2>(1) - T_177668[1] := UInt<2>(2) - wire T_177669 : UInt<2>[2] - T_177669[0] := UInt<2>(1) - T_177669[1] := UInt<2>(2) - wire T_177670 : UInt<2>[1] - T_177670[0] := UInt<2>(2) - wire T_177671 : UInt<3>[3] - T_177671[0] := UInt<3>(0) - T_177671[1] := UInt<3>(1) - T_177671[2] := UInt<3>(2) - wire T_177672 : UInt<0>[1] - T_177672[0] := UInt<0>(0) - wire T_177673 : UInt<2>[2] - T_177673[0] := UInt<2>(1) - T_177673[1] := UInt<2>(2) - wire T_177674 : UInt<2>[2] - T_177674[0] := UInt<2>(1) - T_177674[1] := UInt<2>(2) - wire T_177675 : UInt<2>[1] - T_177675[0] := UInt<2>(2) - wire T_177676 : UInt<3>[3] - T_177676[0] := UInt<3>(0) - T_177676[1] := UInt<3>(1) - T_177676[2] := UInt<3>(2) - wire T_177677 : UInt<0>[1] - T_177677[0] := UInt<0>(0) - wire T_177678 : UInt<2>[2] - T_177678[0] := UInt<2>(1) - T_177678[1] := UInt<2>(2) - wire T_177679 : UInt<2>[2] - T_177679[0] := UInt<2>(1) - T_177679[1] := UInt<2>(2) - wire T_177680 : UInt<2>[1] - T_177680[0] := UInt<2>(2) - wire T_177681 : UInt<3>[3] - T_177681[0] := UInt<3>(0) - T_177681[1] := UInt<3>(1) - T_177681[2] := UInt<3>(2) - wire T_177682 : UInt<0>[1] - T_177682[0] := UInt<0>(0) - wire T_177683 : UInt<2>[2] - T_177683[0] := UInt<2>(1) - T_177683[1] := UInt<2>(2) - wire T_177684 : UInt<2>[2] - T_177684[0] := UInt<2>(1) - T_177684[1] := UInt<2>(2) - wire T_177685 : UInt<2>[1] - T_177685[0] := UInt<2>(2) - wire T_177686 : UInt<3>[3] - T_177686[0] := UInt<3>(0) - T_177686[1] := UInt<3>(1) - T_177686[2] := UInt<3>(2) - wire T_177687 : UInt<0>[1] - T_177687[0] := UInt<0>(0) - wire T_177688 : UInt<2>[2] - T_177688[0] := UInt<2>(1) - T_177688[1] := UInt<2>(2) - wire T_177689 : UInt<2>[2] - T_177689[0] := UInt<2>(1) - T_177689[1] := UInt<2>(2) - wire T_177690 : UInt<2>[1] - T_177690[0] := UInt<2>(2) - wire T_177691 : UInt<3>[3] - T_177691[0] := UInt<3>(0) - T_177691[1] := UInt<3>(1) - T_177691[2] := UInt<3>(2) - wire T_177692 : UInt<0>[1] - T_177692[0] := UInt<0>(0) - wire T_177693 : UInt<2>[2] - T_177693[0] := UInt<2>(1) - T_177693[1] := UInt<2>(2) - wire T_177694 : UInt<2>[2] - T_177694[0] := UInt<2>(1) - T_177694[1] := UInt<2>(2) - wire T_177695 : UInt<2>[1] - T_177695[0] := UInt<2>(2) - wire T_177696 : UInt<3>[3] - T_177696[0] := UInt<3>(0) - T_177696[1] := UInt<3>(1) - T_177696[2] := UInt<3>(2) - wire T_177697 : UInt<0>[1] - T_177697[0] := UInt<0>(0) - wire T_177698 : UInt<2>[2] - T_177698[0] := UInt<2>(1) - T_177698[1] := UInt<2>(2) - wire T_177699 : UInt<2>[2] - T_177699[0] := UInt<2>(1) - T_177699[1] := UInt<2>(2) - wire T_177700 : UInt<2>[1] - T_177700[0] := UInt<2>(2) - wire T_177701 : UInt<3>[3] - T_177701[0] := UInt<3>(0) - T_177701[1] := UInt<3>(1) - T_177701[2] := UInt<3>(2) - wire T_177702 : UInt<0>[1] - T_177702[0] := UInt<0>(0) - wire T_177703 : UInt<2>[2] - T_177703[0] := UInt<2>(1) - T_177703[1] := UInt<2>(2) - wire T_177704 : UInt<2>[2] - T_177704[0] := UInt<2>(1) - T_177704[1] := UInt<2>(2) - wire T_177705 : UInt<2>[1] - T_177705[0] := UInt<2>(2) - wire T_177706 : UInt<3>[3] - T_177706[0] := UInt<3>(0) - T_177706[1] := UInt<3>(1) - T_177706[2] := UInt<3>(2) - wire T_177707 : UInt<0>[1] - T_177707[0] := UInt<0>(0) - wire T_177708 : UInt<2>[2] - T_177708[0] := UInt<2>(1) - T_177708[1] := UInt<2>(2) - wire T_177709 : UInt<2>[2] - T_177709[0] := UInt<2>(1) - T_177709[1] := UInt<2>(2) - wire T_177710 : UInt<2>[1] - T_177710[0] := UInt<2>(2) - wire T_177711 : UInt<3>[3] - T_177711[0] := UInt<3>(0) - T_177711[1] := UInt<3>(1) - T_177711[2] := UInt<3>(2) - wire T_177712 : UInt<0>[1] - T_177712[0] := UInt<0>(0) - wire T_177713 : UInt<2>[2] - T_177713[0] := UInt<2>(1) - T_177713[1] := UInt<2>(2) - wire T_177714 : UInt<2>[2] - T_177714[0] := UInt<2>(1) - T_177714[1] := UInt<2>(2) - wire T_177715 : UInt<2>[1] - T_177715[0] := UInt<2>(2) - wire T_177716 : UInt<3>[3] - T_177716[0] := UInt<3>(0) - T_177716[1] := UInt<3>(1) - T_177716[2] := UInt<3>(2) - wire T_177717 : UInt<0>[1] - T_177717[0] := UInt<0>(0) - wire T_177718 : UInt<2>[2] - T_177718[0] := UInt<2>(1) - T_177718[1] := UInt<2>(2) - wire T_177719 : UInt<2>[2] - T_177719[0] := UInt<2>(1) - T_177719[1] := UInt<2>(2) - wire T_177720 : UInt<2>[1] - T_177720[0] := UInt<2>(2) - wire in : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<2>, manager_xact_id : UInt<1>, is_builtin_type : UInt<1>, g_type : UInt<4>}}, flip probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>}}, release : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}}[4] - in[0] := T_177721 - in[1] := T_177722 - in[2] := T_177723 - in[3] := T_177724 - wire T_177725 : UInt<3>[3] - T_177725[0] := UInt<3>(0) - T_177725[1] := UInt<3>(1) - T_177725[2] := UInt<3>(2) - wire T_177726 : UInt<0>[1] - T_177726[0] := UInt<0>(0) - wire T_177727 : UInt<2>[2] - T_177727[0] := UInt<2>(1) - T_177727[1] := UInt<2>(2) - wire T_177728 : UInt<2>[2] - T_177728[0] := UInt<2>(1) - T_177728[1] := UInt<2>(2) - wire T_177729 : UInt<2>[1] - T_177729[0] := UInt<2>(2) - wire T_177730 : UInt<3>[3] - T_177730[0] := UInt<3>(0) - T_177730[1] := UInt<3>(1) - T_177730[2] := UInt<3>(2) - wire T_177731 : UInt<0>[1] - T_177731[0] := UInt<0>(0) - wire T_177732 : UInt<2>[2] - T_177732[0] := UInt<2>(1) - T_177732[1] := UInt<2>(2) - wire T_177733 : UInt<2>[2] - T_177733[0] := UInt<2>(1) - T_177733[1] := UInt<2>(2) - wire T_177734 : UInt<2>[1] - T_177734[0] := UInt<2>(2) - wire T_177735 : UInt<3>[3] - T_177735[0] := UInt<3>(0) - T_177735[1] := UInt<3>(1) - T_177735[2] := UInt<3>(2) - wire T_177736 : UInt<0>[1] - T_177736[0] := UInt<0>(0) - wire T_177737 : UInt<2>[2] - T_177737[0] := UInt<2>(1) - T_177737[1] := UInt<2>(2) - wire T_177738 : UInt<2>[2] - T_177738[0] := UInt<2>(1) - T_177738[1] := UInt<2>(2) - wire T_177739 : UInt<2>[1] - T_177739[0] := UInt<2>(2) - wire T_177740 : UInt<3>[3] - T_177740[0] := UInt<3>(0) - T_177740[1] := UInt<3>(1) - T_177740[2] := UInt<3>(2) - wire T_177741 : UInt<0>[1] - T_177741[0] := UInt<0>(0) - wire T_177742 : UInt<2>[2] - T_177742[0] := UInt<2>(1) - T_177742[1] := UInt<2>(2) - wire T_177743 : UInt<2>[2] - T_177743[0] := UInt<2>(1) - T_177743[1] := UInt<2>(2) - wire T_177744 : UInt<2>[1] - T_177744[0] := UInt<2>(2) - wire T_177745 : UInt<3>[3] - T_177745[0] := UInt<3>(0) - T_177745[1] := UInt<3>(1) - T_177745[2] := UInt<3>(2) - wire T_177746 : UInt<0>[1] - T_177746[0] := UInt<0>(0) - wire T_177747 : UInt<2>[2] - T_177747[0] := UInt<2>(1) - T_177747[1] := UInt<2>(2) - wire T_177748 : UInt<2>[2] - T_177748[0] := UInt<2>(1) - T_177748[1] := UInt<2>(2) - wire T_177749 : UInt<2>[1] - T_177749[0] := UInt<2>(2) - wire T_177750 : UInt<3>[3] - T_177750[0] := UInt<3>(0) - T_177750[1] := UInt<3>(1) - T_177750[2] := UInt<3>(2) - wire T_177751 : UInt<0>[1] - T_177751[0] := UInt<0>(0) - wire T_177752 : UInt<2>[2] - T_177752[0] := UInt<2>(1) - T_177752[1] := UInt<2>(2) - wire T_177753 : UInt<2>[2] - T_177753[0] := UInt<2>(1) - T_177753[1] := UInt<2>(2) - wire T_177754 : UInt<2>[1] - T_177754[0] := UInt<2>(2) - wire T_177755 : UInt<3>[3] - T_177755[0] := UInt<3>(0) - T_177755[1] := UInt<3>(1) - T_177755[2] := UInt<3>(2) - wire T_177756 : UInt<0>[1] - T_177756[0] := UInt<0>(0) - wire T_177757 : UInt<2>[2] - T_177757[0] := UInt<2>(1) - T_177757[1] := UInt<2>(2) - wire T_177758 : UInt<2>[2] - T_177758[0] := UInt<2>(1) - T_177758[1] := UInt<2>(2) - wire T_177759 : UInt<2>[1] - T_177759[0] := UInt<2>(2) - wire T_177760 : UInt<3>[3] - T_177760[0] := UInt<3>(0) - T_177760[1] := UInt<3>(1) - T_177760[2] := UInt<3>(2) - wire T_177761 : UInt<0>[1] - T_177761[0] := UInt<0>(0) - wire T_177762 : UInt<2>[2] - T_177762[0] := UInt<2>(1) - T_177762[1] := UInt<2>(2) - wire T_177763 : UInt<2>[2] - T_177763[0] := UInt<2>(1) - T_177763[1] := UInt<2>(2) - wire T_177764 : UInt<2>[1] - T_177764[0] := UInt<2>(2) - wire T_177765 : UInt<3>[3] - T_177765[0] := UInt<3>(0) - T_177765[1] := UInt<3>(1) - T_177765[2] := UInt<3>(2) - wire T_177766 : UInt<0>[1] - T_177766[0] := UInt<0>(0) - wire T_177767 : UInt<2>[2] - T_177767[0] := UInt<2>(1) - T_177767[1] := UInt<2>(2) - wire T_177768 : UInt<2>[2] - T_177768[0] := UInt<2>(1) - T_177768[1] := UInt<2>(2) - wire T_177769 : UInt<2>[1] - T_177769[0] := UInt<2>(2) - inst T_177770 of LockingRRArbiter_104277 - T_177770.in[0].valid := in[0].acquire.valid - T_177770.in[0].bits := in[0].acquire.bits - node T_177771 = cat(in[0].acquire.bits.client_xact_id, UInt<2>(0)) - T_177770.in[0].bits.client_xact_id := T_177771 - in[0].acquire.ready := T_177770.in[0].ready - T_177770.in[1].valid := in[1].acquire.valid - T_177770.in[1].bits := in[1].acquire.bits - node T_177772 = cat(in[1].acquire.bits.client_xact_id, UInt<2>(1)) - T_177770.in[1].bits.client_xact_id := T_177772 - in[1].acquire.ready := T_177770.in[1].ready - T_177770.in[2].valid := in[2].acquire.valid - T_177770.in[2].bits := in[2].acquire.bits - node T_177773 = cat(in[2].acquire.bits.client_xact_id, UInt<2>(2)) - T_177770.in[2].bits.client_xact_id := T_177773 - in[2].acquire.ready := T_177770.in[2].ready - T_177770.in[3].valid := in[3].acquire.valid - T_177770.in[3].bits := in[3].acquire.bits - node T_177774 = cat(in[3].acquire.bits.client_xact_id, UInt<2>(3)) - T_177770.in[3].bits.client_xact_id := T_177774 - in[3].acquire.ready := T_177770.in[3].ready - T_177770.out <> out.acquire - inst T_177775 of LockingRRArbiter_104925 - T_177775.in[0].valid := in[0].release.valid - T_177775.in[0].bits := in[0].release.bits - node T_177776 = cat(in[0].release.bits.client_xact_id, UInt<2>(0)) - T_177775.in[0].bits.client_xact_id := T_177776 - in[0].release.ready := T_177775.in[0].ready - T_177775.in[1].valid := in[1].release.valid - T_177775.in[1].bits := in[1].release.bits - node T_177777 = cat(in[1].release.bits.client_xact_id, UInt<2>(1)) - T_177775.in[1].bits.client_xact_id := T_177777 - in[1].release.ready := T_177775.in[1].ready - T_177775.in[2].valid := in[2].release.valid - T_177775.in[2].bits := in[2].release.bits - node T_177778 = cat(in[2].release.bits.client_xact_id, UInt<2>(2)) - T_177775.in[2].bits.client_xact_id := T_177778 - in[2].release.ready := T_177775.in[2].ready - T_177775.in[3].valid := in[3].release.valid - T_177775.in[3].bits := in[3].release.bits - node T_177779 = cat(in[3].release.bits.client_xact_id, UInt<2>(3)) - T_177775.in[3].bits.client_xact_id := T_177779 - in[3].release.ready := T_177775.in[3].ready - T_177775.out <> out.release - in[0].probe.valid := out.probe.valid - in[1].probe.valid := out.probe.valid - in[2].probe.valid := out.probe.valid - in[3].probe.valid := out.probe.valid - in[0].probe.bits := out.probe.bits - in[1].probe.bits := out.probe.bits - in[2].probe.bits := out.probe.bits - in[3].probe.bits := out.probe.bits - node T_177780 = and(in[0].probe.ready, in[1].probe.ready) - node T_177781 = and(T_177780, in[2].probe.ready) - node T_177782 = and(T_177781, in[3].probe.ready) - out.probe.ready := T_177782 - out.grant.ready := UInt<1>(0) - in[0].grant.valid := UInt<1>(0) - - - node T_177783 = bits(out.grant.bits.client_xact_id, 1, 0) - node T_177784 = eq(T_177783, UInt<1>(0)) - when T_177784 : - in[0].grant.valid := out.grant.valid - out.grant.ready := in[0].grant.ready - in[0].grant.bits := out.grant.bits - node T_177785 = dshr(out.grant.bits.client_xact_id, UInt<2>(2)) - in[0].grant.bits.client_xact_id := T_177785 - in[1].grant.valid := UInt<1>(0) - - - node T_177786 = bits(out.grant.bits.client_xact_id, 1, 0) - node T_177787 = eq(T_177786, UInt<1>(1)) - when T_177787 : - in[1].grant.valid := out.grant.valid - out.grant.ready := in[1].grant.ready - in[1].grant.bits := out.grant.bits - node T_177788 = dshr(out.grant.bits.client_xact_id, UInt<2>(2)) - in[1].grant.bits.client_xact_id := T_177788 - in[2].grant.valid := UInt<1>(0) - - - node T_177789 = bits(out.grant.bits.client_xact_id, 1, 0) - node T_177790 = eq(T_177789, UInt<2>(2)) - when T_177790 : - in[2].grant.valid := out.grant.valid - out.grant.ready := in[2].grant.ready - in[2].grant.bits := out.grant.bits - node T_177791 = dshr(out.grant.bits.client_xact_id, UInt<2>(2)) - in[2].grant.bits.client_xact_id := T_177791 - in[3].grant.valid := UInt<1>(0) - - - node T_177792 = bits(out.grant.bits.client_xact_id, 1, 0) - node T_177793 = eq(T_177792, UInt<2>(3)) - when T_177793 : - in[3].grant.valid := out.grant.valid - out.grant.ready := in[3].grant.ready - in[3].grant.bits := out.grant.bits - node T_177794 = dshr(out.grant.bits.client_xact_id, UInt<2>(2)) - in[3].grant.bits.client_xact_id := T_177794 - module RRArbiter_105103 : - input in : {flip ready : UInt<1>, valid : UInt<1>, bits : {idx : UInt<12>, id : UInt<2>, tag : UInt<14>}}[3] - output out : {flip ready : UInt<1>, valid : UInt<1>, bits : {idx : UInt<12>, id : UInt<2>, tag : UInt<14>}} - output chosen : UInt<2> - - wire T_177795 : UInt<2> - reg T_177796 : UInt<2> - onreset T_177796 := UInt<2>(0) - node T_177797 = gt(UInt<1>(0), T_177796) - node T_177798 = and(in[0].valid, T_177797) - node T_177799 = gt(UInt<1>(1), T_177796) - node T_177800 = and(in[1].valid, T_177799) - node T_177801 = gt(UInt<2>(2), T_177796) - node T_177802 = and(in[2].valid, T_177801) - node T_177803 = or(UInt<1>(0), T_177798) - node T_177804 = eq(T_177803, UInt<1>(0)) - node T_177805 = or(UInt<1>(0), T_177798) - node T_177806 = or(T_177805, T_177800) - node T_177807 = eq(T_177806, UInt<1>(0)) - node T_177808 = or(UInt<1>(0), T_177798) - node T_177809 = or(T_177808, T_177800) - node T_177810 = or(T_177809, T_177802) - node T_177811 = eq(T_177810, UInt<1>(0)) - node T_177812 = or(UInt<1>(0), T_177798) - node T_177813 = or(T_177812, T_177800) - node T_177814 = or(T_177813, T_177802) - node T_177815 = or(T_177814, in[0].valid) - node T_177816 = eq(T_177815, UInt<1>(0)) - node T_177817 = or(UInt<1>(0), T_177798) - node T_177818 = or(T_177817, T_177800) - node T_177819 = or(T_177818, T_177802) - node T_177820 = or(T_177819, in[0].valid) - node T_177821 = or(T_177820, in[1].valid) - node T_177822 = eq(T_177821, UInt<1>(0)) - node T_177823 = gt(UInt<1>(0), T_177796) - node T_177824 = and(UInt<1>(1), T_177823) - node T_177825 = or(T_177824, T_177811) - node T_177826 = gt(UInt<1>(1), T_177796) - node T_177827 = and(T_177804, T_177826) - node T_177828 = or(T_177827, T_177816) - node T_177829 = gt(UInt<2>(2), T_177796) - node T_177830 = and(T_177807, T_177829) - node T_177831 = or(T_177830, T_177822) - node T_177832 = eq(UInt<2>(2), UInt<1>(0)) - wire T_177833 : UInt<1> - T_177833 := T_177825 - when UInt<1>(0) : T_177833 := T_177832 - node T_177834 = and(T_177833, out.ready) - in[0].ready := T_177834 - node T_177835 = eq(UInt<2>(2), UInt<1>(1)) - wire T_177836 : UInt<1> - T_177836 := T_177828 - when UInt<1>(0) : T_177836 := T_177835 - node T_177837 = and(T_177836, out.ready) - in[1].ready := T_177837 - node T_177838 = eq(UInt<2>(2), UInt<2>(2)) - wire T_177839 : UInt<1> - T_177839 := T_177831 - when UInt<1>(0) : T_177839 := T_177838 - node T_177840 = and(T_177839, out.ready) - in[2].ready := T_177840 - accessor T_177841 = in[T_177795] - out.valid := T_177841.valid - accessor T_177842 = in[T_177795] - out.bits := T_177842.bits - chosen := T_177795 - wire T_177843 : UInt<2> - T_177843 := UInt<2>(2) - when in[1].valid : T_177843 := UInt<1>(1) - wire T_177844 : UInt<2> - T_177844 := T_177843 - when in[0].valid : T_177844 := UInt<1>(0) - node T_177845 = gt(UInt<2>(2), T_177796) - node T_177846 = and(in[2].valid, T_177845) - wire T_177847 : UInt<2> - T_177847 := T_177844 - when T_177846 : T_177847 := UInt<2>(2) - node T_177848 = gt(UInt<1>(1), T_177796) - node T_177849 = and(in[1].valid, T_177848) - wire T_177850 : UInt<2> - T_177850 := T_177847 - when T_177849 : T_177850 := UInt<1>(1) - wire T_177851 : UInt<2> - T_177851 := T_177850 - when UInt<1>(0) : T_177851 := UInt<2>(2) - T_177795 := T_177851 - - node T_177852 = and(out.ready, out.valid) - when T_177852 : T_177796 := T_177795 - module RRArbiter_107737 : - input in : {flip ready : UInt<1>, valid : UInt<1>, bits : {idx : UInt<12>, way_en : UInt<8>, data : {tag : UInt<14>, coh : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}}, id : UInt<2>}}[3] - output out : {flip ready : UInt<1>, valid : UInt<1>, bits : {idx : UInt<12>, way_en : UInt<8>, data : {tag : UInt<14>, coh : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}}, id : UInt<2>}} - output chosen : UInt<2> - - wire T_177853 : UInt<3>[3] - T_177853[0] := UInt<3>(0) - T_177853[1] := UInt<3>(1) - T_177853[2] := UInt<3>(2) - wire T_177854 : UInt<2>[2] - T_177854[0] := UInt<2>(0) - T_177854[1] := UInt<2>(1) - wire T_177855 : UInt<2>[3] - T_177855[0] := UInt<2>(1) - T_177855[1] := UInt<2>(2) - T_177855[2] := UInt<2>(3) - wire T_177856 : UInt<2>[2] - T_177856[0] := UInt<2>(2) - T_177856[1] := UInt<2>(3) - wire T_177857 : UInt<2>[1] - T_177857[0] := UInt<2>(3) - wire T_177858 : UInt<3>[3] - T_177858[0] := UInt<3>(0) - T_177858[1] := UInt<3>(1) - T_177858[2] := UInt<3>(2) - wire T_177859 : UInt<2>[2] - T_177859[0] := UInt<2>(0) - T_177859[1] := UInt<2>(1) - wire T_177860 : UInt<2>[3] - T_177860[0] := UInt<2>(1) - T_177860[1] := UInt<2>(2) - T_177860[2] := UInt<2>(3) - wire T_177861 : UInt<2>[2] - T_177861[0] := UInt<2>(2) - T_177861[1] := UInt<2>(3) - wire T_177862 : UInt<2>[1] - T_177862[0] := UInt<2>(3) - wire T_177863 : UInt<3>[3] - T_177863[0] := UInt<3>(0) - T_177863[1] := UInt<3>(1) - T_177863[2] := UInt<3>(2) - wire T_177864 : UInt<0>[1] - T_177864[0] := UInt<0>(0) - wire T_177865 : UInt<2>[2] - T_177865[0] := UInt<2>(1) - T_177865[1] := UInt<2>(2) - wire T_177866 : UInt<2>[2] - T_177866[0] := UInt<2>(1) - T_177866[1] := UInt<2>(2) - wire T_177867 : UInt<2>[1] - T_177867[0] := UInt<2>(2) - wire T_177868 : UInt<3>[3] - T_177868[0] := UInt<3>(0) - T_177868[1] := UInt<3>(1) - T_177868[2] := UInt<3>(2) - wire T_177869 : UInt<2>[2] - T_177869[0] := UInt<2>(0) - T_177869[1] := UInt<2>(1) - wire T_177870 : UInt<2>[3] - T_177870[0] := UInt<2>(1) - T_177870[1] := UInt<2>(2) - T_177870[2] := UInt<2>(3) - wire T_177871 : UInt<2>[2] - T_177871[0] := UInt<2>(2) - T_177871[1] := UInt<2>(3) - wire T_177872 : UInt<2>[1] - T_177872[0] := UInt<2>(3) - wire T_177873 : UInt<3>[3] - T_177873[0] := UInt<3>(0) - T_177873[1] := UInt<3>(1) - T_177873[2] := UInt<3>(2) - wire T_177874 : UInt<2>[2] - T_177874[0] := UInt<2>(0) - T_177874[1] := UInt<2>(1) - wire T_177875 : UInt<2>[3] - T_177875[0] := UInt<2>(1) - T_177875[1] := UInt<2>(2) - T_177875[2] := UInt<2>(3) - wire T_177876 : UInt<2>[2] - T_177876[0] := UInt<2>(2) - T_177876[1] := UInt<2>(3) - wire T_177877 : UInt<2>[1] - T_177877[0] := UInt<2>(3) - wire T_177878 : UInt<3>[3] - T_177878[0] := UInt<3>(0) - T_177878[1] := UInt<3>(1) - T_177878[2] := UInt<3>(2) - wire T_177879 : UInt<0>[1] - T_177879[0] := UInt<0>(0) - wire T_177880 : UInt<2>[2] - T_177880[0] := UInt<2>(1) - T_177880[1] := UInt<2>(2) - wire T_177881 : UInt<2>[2] - T_177881[0] := UInt<2>(1) - T_177881[1] := UInt<2>(2) - wire T_177882 : UInt<2>[1] - T_177882[0] := UInt<2>(2) - wire T_177883 : UInt<3>[3] - T_177883[0] := UInt<3>(0) - T_177883[1] := UInt<3>(1) - T_177883[2] := UInt<3>(2) - wire T_177884 : UInt<2>[2] - T_177884[0] := UInt<2>(0) - T_177884[1] := UInt<2>(1) - wire T_177885 : UInt<2>[3] - T_177885[0] := UInt<2>(1) - T_177885[1] := UInt<2>(2) - T_177885[2] := UInt<2>(3) - wire T_177886 : UInt<2>[2] - T_177886[0] := UInt<2>(2) - T_177886[1] := UInt<2>(3) - wire T_177887 : UInt<2>[1] - T_177887[0] := UInt<2>(3) - wire T_177888 : UInt<3>[3] - T_177888[0] := UInt<3>(0) - T_177888[1] := UInt<3>(1) - T_177888[2] := UInt<3>(2) - wire T_177889 : UInt<2>[2] - T_177889[0] := UInt<2>(0) - T_177889[1] := UInt<2>(1) - wire T_177890 : UInt<2>[3] - T_177890[0] := UInt<2>(1) - T_177890[1] := UInt<2>(2) - T_177890[2] := UInt<2>(3) - wire T_177891 : UInt<2>[2] - T_177891[0] := UInt<2>(2) - T_177891[1] := UInt<2>(3) - wire T_177892 : UInt<2>[1] - T_177892[0] := UInt<2>(3) - wire T_177893 : UInt<3>[3] - T_177893[0] := UInt<3>(0) - T_177893[1] := UInt<3>(1) - T_177893[2] := UInt<3>(2) - wire T_177894 : UInt<0>[1] - T_177894[0] := UInt<0>(0) - wire T_177895 : UInt<2>[2] - T_177895[0] := UInt<2>(1) - T_177895[1] := UInt<2>(2) - wire T_177896 : UInt<2>[2] - T_177896[0] := UInt<2>(1) - T_177896[1] := UInt<2>(2) - wire T_177897 : UInt<2>[1] - T_177897[0] := UInt<2>(2) - wire T_177898 : UInt<3>[3] - T_177898[0] := UInt<3>(0) - T_177898[1] := UInt<3>(1) - T_177898[2] := UInt<3>(2) - wire T_177899 : UInt<2>[2] - T_177899[0] := UInt<2>(0) - T_177899[1] := UInt<2>(1) - wire T_177900 : UInt<2>[3] - T_177900[0] := UInt<2>(1) - T_177900[1] := UInt<2>(2) - T_177900[2] := UInt<2>(3) - wire T_177901 : UInt<2>[2] - T_177901[0] := UInt<2>(2) - T_177901[1] := UInt<2>(3) - wire T_177902 : UInt<2>[1] - T_177902[0] := UInt<2>(3) - wire T_177903 : UInt<3>[3] - T_177903[0] := UInt<3>(0) - T_177903[1] := UInt<3>(1) - T_177903[2] := UInt<3>(2) - wire T_177904 : UInt<2>[2] - T_177904[0] := UInt<2>(0) - T_177904[1] := UInt<2>(1) - wire T_177905 : UInt<2>[3] - T_177905[0] := UInt<2>(1) - T_177905[1] := UInt<2>(2) - T_177905[2] := UInt<2>(3) - wire T_177906 : UInt<2>[2] - T_177906[0] := UInt<2>(2) - T_177906[1] := UInt<2>(3) - wire T_177907 : UInt<2>[1] - T_177907[0] := UInt<2>(3) - wire T_177908 : UInt<3>[3] - T_177908[0] := UInt<3>(0) - T_177908[1] := UInt<3>(1) - T_177908[2] := UInt<3>(2) - wire T_177909 : UInt<0>[1] - T_177909[0] := UInt<0>(0) - wire T_177910 : UInt<2>[2] - T_177910[0] := UInt<2>(1) - T_177910[1] := UInt<2>(2) - wire T_177911 : UInt<2>[2] - T_177911[0] := UInt<2>(1) - T_177911[1] := UInt<2>(2) - wire T_177912 : UInt<2>[1] - T_177912[0] := UInt<2>(2) - wire T_177913 : UInt<3>[3] - T_177913[0] := UInt<3>(0) - T_177913[1] := UInt<3>(1) - T_177913[2] := UInt<3>(2) - wire T_177914 : UInt<2>[2] - T_177914[0] := UInt<2>(0) - T_177914[1] := UInt<2>(1) - wire T_177915 : UInt<2>[3] - T_177915[0] := UInt<2>(1) - T_177915[1] := UInt<2>(2) - T_177915[2] := UInt<2>(3) - wire T_177916 : UInt<2>[2] - T_177916[0] := UInt<2>(2) - T_177916[1] := UInt<2>(3) - wire T_177917 : UInt<2>[1] - T_177917[0] := UInt<2>(3) - wire T_177918 : UInt<3>[3] - T_177918[0] := UInt<3>(0) - T_177918[1] := UInt<3>(1) - T_177918[2] := UInt<3>(2) - wire T_177919 : UInt<2>[2] - T_177919[0] := UInt<2>(0) - T_177919[1] := UInt<2>(1) - wire T_177920 : UInt<2>[3] - T_177920[0] := UInt<2>(1) - T_177920[1] := UInt<2>(2) - T_177920[2] := UInt<2>(3) - wire T_177921 : UInt<2>[2] - T_177921[0] := UInt<2>(2) - T_177921[1] := UInt<2>(3) - wire T_177922 : UInt<2>[1] - T_177922[0] := UInt<2>(3) - wire T_177923 : UInt<3>[3] - T_177923[0] := UInt<3>(0) - T_177923[1] := UInt<3>(1) - T_177923[2] := UInt<3>(2) - wire T_177924 : UInt<0>[1] - T_177924[0] := UInt<0>(0) - wire T_177925 : UInt<2>[2] - T_177925[0] := UInt<2>(1) - T_177925[1] := UInt<2>(2) - wire T_177926 : UInt<2>[2] - T_177926[0] := UInt<2>(1) - T_177926[1] := UInt<2>(2) - wire T_177927 : UInt<2>[1] - T_177927[0] := UInt<2>(2) - wire T_177928 : UInt<3>[3] - T_177928[0] := UInt<3>(0) - T_177928[1] := UInt<3>(1) - T_177928[2] := UInt<3>(2) - wire T_177929 : UInt<2>[2] - T_177929[0] := UInt<2>(0) - T_177929[1] := UInt<2>(1) - wire T_177930 : UInt<2>[3] - T_177930[0] := UInt<2>(1) - T_177930[1] := UInt<2>(2) - T_177930[2] := UInt<2>(3) - wire T_177931 : UInt<2>[2] - T_177931[0] := UInt<2>(2) - T_177931[1] := UInt<2>(3) - wire T_177932 : UInt<2>[1] - T_177932[0] := UInt<2>(3) - wire T_177933 : UInt<3>[3] - T_177933[0] := UInt<3>(0) - T_177933[1] := UInt<3>(1) - T_177933[2] := UInt<3>(2) - wire T_177934 : UInt<2>[2] - T_177934[0] := UInt<2>(0) - T_177934[1] := UInt<2>(1) - wire T_177935 : UInt<2>[3] - T_177935[0] := UInt<2>(1) - T_177935[1] := UInt<2>(2) - T_177935[2] := UInt<2>(3) - wire T_177936 : UInt<2>[2] - T_177936[0] := UInt<2>(2) - T_177936[1] := UInt<2>(3) - wire T_177937 : UInt<2>[1] - T_177937[0] := UInt<2>(3) - wire T_177938 : UInt<3>[3] - T_177938[0] := UInt<3>(0) - T_177938[1] := UInt<3>(1) - T_177938[2] := UInt<3>(2) - wire T_177939 : UInt<0>[1] - T_177939[0] := UInt<0>(0) - wire T_177940 : UInt<2>[2] - T_177940[0] := UInt<2>(1) - T_177940[1] := UInt<2>(2) - wire T_177941 : UInt<2>[2] - T_177941[0] := UInt<2>(1) - T_177941[1] := UInt<2>(2) - wire T_177942 : UInt<2>[1] - T_177942[0] := UInt<2>(2) - wire T_177943 : UInt<3>[3] - T_177943[0] := UInt<3>(0) - T_177943[1] := UInt<3>(1) - T_177943[2] := UInt<3>(2) - wire T_177944 : UInt<2>[2] - T_177944[0] := UInt<2>(0) - T_177944[1] := UInt<2>(1) - wire T_177945 : UInt<2>[3] - T_177945[0] := UInt<2>(1) - T_177945[1] := UInt<2>(2) - T_177945[2] := UInt<2>(3) - wire T_177946 : UInt<2>[2] - T_177946[0] := UInt<2>(2) - T_177946[1] := UInt<2>(3) - wire T_177947 : UInt<2>[1] - T_177947[0] := UInt<2>(3) - wire T_177948 : UInt<3>[3] - T_177948[0] := UInt<3>(0) - T_177948[1] := UInt<3>(1) - T_177948[2] := UInt<3>(2) - wire T_177949 : UInt<2>[2] - T_177949[0] := UInt<2>(0) - T_177949[1] := UInt<2>(1) - wire T_177950 : UInt<2>[3] - T_177950[0] := UInt<2>(1) - T_177950[1] := UInt<2>(2) - T_177950[2] := UInt<2>(3) - wire T_177951 : UInt<2>[2] - T_177951[0] := UInt<2>(2) - T_177951[1] := UInt<2>(3) - wire T_177952 : UInt<2>[1] - T_177952[0] := UInt<2>(3) - wire T_177953 : UInt<3>[3] - T_177953[0] := UInt<3>(0) - T_177953[1] := UInt<3>(1) - T_177953[2] := UInt<3>(2) - wire T_177954 : UInt<0>[1] - T_177954[0] := UInt<0>(0) - wire T_177955 : UInt<2>[2] - T_177955[0] := UInt<2>(1) - T_177955[1] := UInt<2>(2) - wire T_177956 : UInt<2>[2] - T_177956[0] := UInt<2>(1) - T_177956[1] := UInt<2>(2) - wire T_177957 : UInt<2>[1] - T_177957[0] := UInt<2>(2) - wire T_177958 : UInt<3>[3] - T_177958[0] := UInt<3>(0) - T_177958[1] := UInt<3>(1) - T_177958[2] := UInt<3>(2) - wire T_177959 : UInt<2>[2] - T_177959[0] := UInt<2>(0) - T_177959[1] := UInt<2>(1) - wire T_177960 : UInt<2>[3] - T_177960[0] := UInt<2>(1) - T_177960[1] := UInt<2>(2) - T_177960[2] := UInt<2>(3) - wire T_177961 : UInt<2>[2] - T_177961[0] := UInt<2>(2) - T_177961[1] := UInt<2>(3) - wire T_177962 : UInt<2>[1] - T_177962[0] := UInt<2>(3) - wire T_177963 : UInt<3>[3] - T_177963[0] := UInt<3>(0) - T_177963[1] := UInt<3>(1) - T_177963[2] := UInt<3>(2) - wire T_177964 : UInt<2>[2] - T_177964[0] := UInt<2>(0) - T_177964[1] := UInt<2>(1) - wire T_177965 : UInt<2>[3] - T_177965[0] := UInt<2>(1) - T_177965[1] := UInt<2>(2) - T_177965[2] := UInt<2>(3) - wire T_177966 : UInt<2>[2] - T_177966[0] := UInt<2>(2) - T_177966[1] := UInt<2>(3) - wire T_177967 : UInt<2>[1] - T_177967[0] := UInt<2>(3) - wire T_177968 : UInt<3>[3] - T_177968[0] := UInt<3>(0) - T_177968[1] := UInt<3>(1) - T_177968[2] := UInt<3>(2) - wire T_177969 : UInt<0>[1] - T_177969[0] := UInt<0>(0) - wire T_177970 : UInt<2>[2] - T_177970[0] := UInt<2>(1) - T_177970[1] := UInt<2>(2) - wire T_177971 : UInt<2>[2] - T_177971[0] := UInt<2>(1) - T_177971[1] := UInt<2>(2) - wire T_177972 : UInt<2>[1] - T_177972[0] := UInt<2>(2) - wire T_177973 : UInt<3>[3] - T_177973[0] := UInt<3>(0) - T_177973[1] := UInt<3>(1) - T_177973[2] := UInt<3>(2) - wire T_177974 : UInt<2>[2] - T_177974[0] := UInt<2>(0) - T_177974[1] := UInt<2>(1) - wire T_177975 : UInt<2>[3] - T_177975[0] := UInt<2>(1) - T_177975[1] := UInt<2>(2) - T_177975[2] := UInt<2>(3) - wire T_177976 : UInt<2>[2] - T_177976[0] := UInt<2>(2) - T_177976[1] := UInt<2>(3) - wire T_177977 : UInt<2>[1] - T_177977[0] := UInt<2>(3) - wire T_177978 : UInt<3>[3] - T_177978[0] := UInt<3>(0) - T_177978[1] := UInt<3>(1) - T_177978[2] := UInt<3>(2) - wire T_177979 : UInt<2>[2] - T_177979[0] := UInt<2>(0) - T_177979[1] := UInt<2>(1) - wire T_177980 : UInt<2>[3] - T_177980[0] := UInt<2>(1) - T_177980[1] := UInt<2>(2) - T_177980[2] := UInt<2>(3) - wire T_177981 : UInt<2>[2] - T_177981[0] := UInt<2>(2) - T_177981[1] := UInt<2>(3) - wire T_177982 : UInt<2>[1] - T_177982[0] := UInt<2>(3) - wire T_177983 : UInt<3>[3] - T_177983[0] := UInt<3>(0) - T_177983[1] := UInt<3>(1) - T_177983[2] := UInt<3>(2) - wire T_177984 : UInt<0>[1] - T_177984[0] := UInt<0>(0) - wire T_177985 : UInt<2>[2] - T_177985[0] := UInt<2>(1) - T_177985[1] := UInt<2>(2) - wire T_177986 : UInt<2>[2] - T_177986[0] := UInt<2>(1) - T_177986[1] := UInt<2>(2) - wire T_177987 : UInt<2>[1] - T_177987[0] := UInt<2>(2) - wire T_177988 : UInt<3>[3] - T_177988[0] := UInt<3>(0) - T_177988[1] := UInt<3>(1) - T_177988[2] := UInt<3>(2) - wire T_177989 : UInt<2>[2] - T_177989[0] := UInt<2>(0) - T_177989[1] := UInt<2>(1) - wire T_177990 : UInt<2>[3] - T_177990[0] := UInt<2>(1) - T_177990[1] := UInt<2>(2) - T_177990[2] := UInt<2>(3) - wire T_177991 : UInt<2>[2] - T_177991[0] := UInt<2>(2) - T_177991[1] := UInt<2>(3) - wire T_177992 : UInt<2>[1] - T_177992[0] := UInt<2>(3) - wire T_177993 : UInt<3>[3] - T_177993[0] := UInt<3>(0) - T_177993[1] := UInt<3>(1) - T_177993[2] := UInt<3>(2) - wire T_177994 : UInt<2>[2] - T_177994[0] := UInt<2>(0) - T_177994[1] := UInt<2>(1) - wire T_177995 : UInt<2>[3] - T_177995[0] := UInt<2>(1) - T_177995[1] := UInt<2>(2) - T_177995[2] := UInt<2>(3) - wire T_177996 : UInt<2>[2] - T_177996[0] := UInt<2>(2) - T_177996[1] := UInt<2>(3) - wire T_177997 : UInt<2>[1] - T_177997[0] := UInt<2>(3) - wire T_177998 : UInt<3>[3] - T_177998[0] := UInt<3>(0) - T_177998[1] := UInt<3>(1) - T_177998[2] := UInt<3>(2) - wire T_177999 : UInt<0>[1] - T_177999[0] := UInt<0>(0) - wire T_178000 : UInt<2>[2] - T_178000[0] := UInt<2>(1) - T_178000[1] := UInt<2>(2) - wire T_178001 : UInt<2>[2] - T_178001[0] := UInt<2>(1) - T_178001[1] := UInt<2>(2) - wire T_178002 : UInt<2>[1] - T_178002[0] := UInt<2>(2) - wire T_178003 : UInt<2> - reg T_178004 : UInt<2> - onreset T_178004 := UInt<2>(0) - node T_178005 = gt(UInt<1>(0), T_178004) - node T_178006 = and(in[0].valid, T_178005) - node T_178007 = gt(UInt<1>(1), T_178004) - node T_178008 = and(in[1].valid, T_178007) - node T_178009 = gt(UInt<2>(2), T_178004) - node T_178010 = and(in[2].valid, T_178009) - node T_178011 = or(UInt<1>(0), T_178006) - node T_178012 = eq(T_178011, UInt<1>(0)) - node T_178013 = or(UInt<1>(0), T_178006) - node T_178014 = or(T_178013, T_178008) - node T_178015 = eq(T_178014, UInt<1>(0)) - node T_178016 = or(UInt<1>(0), T_178006) - node T_178017 = or(T_178016, T_178008) - node T_178018 = or(T_178017, T_178010) - node T_178019 = eq(T_178018, UInt<1>(0)) - node T_178020 = or(UInt<1>(0), T_178006) - node T_178021 = or(T_178020, T_178008) - node T_178022 = or(T_178021, T_178010) - node T_178023 = or(T_178022, in[0].valid) - node T_178024 = eq(T_178023, UInt<1>(0)) - node T_178025 = or(UInt<1>(0), T_178006) - node T_178026 = or(T_178025, T_178008) - node T_178027 = or(T_178026, T_178010) - node T_178028 = or(T_178027, in[0].valid) - node T_178029 = or(T_178028, in[1].valid) - node T_178030 = eq(T_178029, UInt<1>(0)) - node T_178031 = gt(UInt<1>(0), T_178004) - node T_178032 = and(UInt<1>(1), T_178031) - node T_178033 = or(T_178032, T_178019) - node T_178034 = gt(UInt<1>(1), T_178004) - node T_178035 = and(T_178012, T_178034) - node T_178036 = or(T_178035, T_178024) - node T_178037 = gt(UInt<2>(2), T_178004) - node T_178038 = and(T_178015, T_178037) - node T_178039 = or(T_178038, T_178030) - node T_178040 = eq(UInt<2>(2), UInt<1>(0)) - wire T_178041 : UInt<1> - T_178041 := T_178033 - when UInt<1>(0) : T_178041 := T_178040 - node T_178042 = and(T_178041, out.ready) - in[0].ready := T_178042 - node T_178043 = eq(UInt<2>(2), UInt<1>(1)) - wire T_178044 : UInt<1> - T_178044 := T_178036 - when UInt<1>(0) : T_178044 := T_178043 - node T_178045 = and(T_178044, out.ready) - in[1].ready := T_178045 - node T_178046 = eq(UInt<2>(2), UInt<2>(2)) - wire T_178047 : UInt<1> - T_178047 := T_178039 - when UInt<1>(0) : T_178047 := T_178046 - node T_178048 = and(T_178047, out.ready) - in[2].ready := T_178048 - wire T_178049 : UInt<3>[3] - T_178049[0] := UInt<3>(0) - T_178049[1] := UInt<3>(1) - T_178049[2] := UInt<3>(2) - wire T_178050 : UInt<2>[2] - T_178050[0] := UInt<2>(0) - T_178050[1] := UInt<2>(1) - wire T_178051 : UInt<2>[3] - T_178051[0] := UInt<2>(1) - T_178051[1] := UInt<2>(2) - T_178051[2] := UInt<2>(3) - wire T_178052 : UInt<2>[2] - T_178052[0] := UInt<2>(2) - T_178052[1] := UInt<2>(3) - wire T_178053 : UInt<2>[1] - T_178053[0] := UInt<2>(3) - wire T_178054 : UInt<3>[3] - T_178054[0] := UInt<3>(0) - T_178054[1] := UInt<3>(1) - T_178054[2] := UInt<3>(2) - wire T_178055 : UInt<2>[2] - T_178055[0] := UInt<2>(0) - T_178055[1] := UInt<2>(1) - wire T_178056 : UInt<2>[3] - T_178056[0] := UInt<2>(1) - T_178056[1] := UInt<2>(2) - T_178056[2] := UInt<2>(3) - wire T_178057 : UInt<2>[2] - T_178057[0] := UInt<2>(2) - T_178057[1] := UInt<2>(3) - wire T_178058 : UInt<2>[1] - T_178058[0] := UInt<2>(3) - wire T_178059 : UInt<3>[3] - T_178059[0] := UInt<3>(0) - T_178059[1] := UInt<3>(1) - T_178059[2] := UInt<3>(2) - wire T_178060 : UInt<0>[1] - T_178060[0] := UInt<0>(0) - wire T_178061 : UInt<2>[2] - T_178061[0] := UInt<2>(1) - T_178061[1] := UInt<2>(2) - wire T_178062 : UInt<2>[2] - T_178062[0] := UInt<2>(1) - T_178062[1] := UInt<2>(2) - wire T_178063 : UInt<2>[1] - T_178063[0] := UInt<2>(2) - wire T_178064 : UInt<3>[3] - T_178064[0] := UInt<3>(0) - T_178064[1] := UInt<3>(1) - T_178064[2] := UInt<3>(2) - wire T_178065 : UInt<2>[2] - T_178065[0] := UInt<2>(0) - T_178065[1] := UInt<2>(1) - wire T_178066 : UInt<2>[3] - T_178066[0] := UInt<2>(1) - T_178066[1] := UInt<2>(2) - T_178066[2] := UInt<2>(3) - wire T_178067 : UInt<2>[2] - T_178067[0] := UInt<2>(2) - T_178067[1] := UInt<2>(3) - wire T_178068 : UInt<2>[1] - T_178068[0] := UInt<2>(3) - wire T_178069 : UInt<3>[3] - T_178069[0] := UInt<3>(0) - T_178069[1] := UInt<3>(1) - T_178069[2] := UInt<3>(2) - wire T_178070 : UInt<2>[2] - T_178070[0] := UInt<2>(0) - T_178070[1] := UInt<2>(1) - wire T_178071 : UInt<2>[3] - T_178071[0] := UInt<2>(1) - T_178071[1] := UInt<2>(2) - T_178071[2] := UInt<2>(3) - wire T_178072 : UInt<2>[2] - T_178072[0] := UInt<2>(2) - T_178072[1] := UInt<2>(3) - wire T_178073 : UInt<2>[1] - T_178073[0] := UInt<2>(3) - wire T_178074 : UInt<3>[3] - T_178074[0] := UInt<3>(0) - T_178074[1] := UInt<3>(1) - T_178074[2] := UInt<3>(2) - wire T_178075 : UInt<0>[1] - T_178075[0] := UInt<0>(0) - wire T_178076 : UInt<2>[2] - T_178076[0] := UInt<2>(1) - T_178076[1] := UInt<2>(2) - wire T_178077 : UInt<2>[2] - T_178077[0] := UInt<2>(1) - T_178077[1] := UInt<2>(2) - wire T_178078 : UInt<2>[1] - T_178078[0] := UInt<2>(2) - accessor T_178079 = in[T_178003] - out.valid := T_178079.valid - wire T_178080 : UInt<3>[3] - T_178080[0] := UInt<3>(0) - T_178080[1] := UInt<3>(1) - T_178080[2] := UInt<3>(2) - wire T_178081 : UInt<2>[2] - T_178081[0] := UInt<2>(0) - T_178081[1] := UInt<2>(1) - wire T_178082 : UInt<2>[3] - T_178082[0] := UInt<2>(1) - T_178082[1] := UInt<2>(2) - T_178082[2] := UInt<2>(3) - wire T_178083 : UInt<2>[2] - T_178083[0] := UInt<2>(2) - T_178083[1] := UInt<2>(3) - wire T_178084 : UInt<2>[1] - T_178084[0] := UInt<2>(3) - wire T_178085 : UInt<3>[3] - T_178085[0] := UInt<3>(0) - T_178085[1] := UInt<3>(1) - T_178085[2] := UInt<3>(2) - wire T_178086 : UInt<2>[2] - T_178086[0] := UInt<2>(0) - T_178086[1] := UInt<2>(1) - wire T_178087 : UInt<2>[3] - T_178087[0] := UInt<2>(1) - T_178087[1] := UInt<2>(2) - T_178087[2] := UInt<2>(3) - wire T_178088 : UInt<2>[2] - T_178088[0] := UInt<2>(2) - T_178088[1] := UInt<2>(3) - wire T_178089 : UInt<2>[1] - T_178089[0] := UInt<2>(3) - wire T_178090 : UInt<3>[3] - T_178090[0] := UInt<3>(0) - T_178090[1] := UInt<3>(1) - T_178090[2] := UInt<3>(2) - wire T_178091 : UInt<0>[1] - T_178091[0] := UInt<0>(0) - wire T_178092 : UInt<2>[2] - T_178092[0] := UInt<2>(1) - T_178092[1] := UInt<2>(2) - wire T_178093 : UInt<2>[2] - T_178093[0] := UInt<2>(1) - T_178093[1] := UInt<2>(2) - wire T_178094 : UInt<2>[1] - T_178094[0] := UInt<2>(2) - wire T_178095 : UInt<3>[3] - T_178095[0] := UInt<3>(0) - T_178095[1] := UInt<3>(1) - T_178095[2] := UInt<3>(2) - wire T_178096 : UInt<2>[2] - T_178096[0] := UInt<2>(0) - T_178096[1] := UInt<2>(1) - wire T_178097 : UInt<2>[3] - T_178097[0] := UInt<2>(1) - T_178097[1] := UInt<2>(2) - T_178097[2] := UInt<2>(3) - wire T_178098 : UInt<2>[2] - T_178098[0] := UInt<2>(2) - T_178098[1] := UInt<2>(3) - wire T_178099 : UInt<2>[1] - T_178099[0] := UInt<2>(3) - wire T_178100 : UInt<3>[3] - T_178100[0] := UInt<3>(0) - T_178100[1] := UInt<3>(1) - T_178100[2] := UInt<3>(2) - wire T_178101 : UInt<2>[2] - T_178101[0] := UInt<2>(0) - T_178101[1] := UInt<2>(1) - wire T_178102 : UInt<2>[3] - T_178102[0] := UInt<2>(1) - T_178102[1] := UInt<2>(2) - T_178102[2] := UInt<2>(3) - wire T_178103 : UInt<2>[2] - T_178103[0] := UInt<2>(2) - T_178103[1] := UInt<2>(3) - wire T_178104 : UInt<2>[1] - T_178104[0] := UInt<2>(3) - wire T_178105 : UInt<3>[3] - T_178105[0] := UInt<3>(0) - T_178105[1] := UInt<3>(1) - T_178105[2] := UInt<3>(2) - wire T_178106 : UInt<0>[1] - T_178106[0] := UInt<0>(0) - wire T_178107 : UInt<2>[2] - T_178107[0] := UInt<2>(1) - T_178107[1] := UInt<2>(2) - wire T_178108 : UInt<2>[2] - T_178108[0] := UInt<2>(1) - T_178108[1] := UInt<2>(2) - wire T_178109 : UInt<2>[1] - T_178109[0] := UInt<2>(2) - accessor T_178110 = in[T_178003] - out.bits := T_178110.bits - chosen := T_178003 - wire T_178111 : UInt<2> - T_178111 := UInt<2>(2) - when in[1].valid : T_178111 := UInt<1>(1) - wire T_178112 : UInt<2> - T_178112 := T_178111 - when in[0].valid : T_178112 := UInt<1>(0) - node T_178113 = gt(UInt<2>(2), T_178004) - node T_178114 = and(in[2].valid, T_178113) - wire T_178115 : UInt<2> - T_178115 := T_178112 - when T_178114 : T_178115 := UInt<2>(2) - node T_178116 = gt(UInt<1>(1), T_178004) - node T_178117 = and(in[1].valid, T_178116) - wire T_178118 : UInt<2> - T_178118 := T_178115 - when T_178117 : T_178118 := UInt<1>(1) - wire T_178119 : UInt<2> - T_178119 := T_178118 - when UInt<1>(0) : T_178119 := UInt<2>(2) - T_178003 := T_178119 - - node T_178120 = and(out.ready, out.valid) - when T_178120 : T_178004 := T_178003 - module RRArbiter_107931 : - input in : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, id : UInt<2>, addr_idx : UInt<12>, way_en : UInt<8>}}[4] - output out : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, id : UInt<2>, addr_idx : UInt<12>, way_en : UInt<8>}} - output chosen : UInt<2> - - wire T_178121 : UInt<2> - reg T_178122 : UInt<2> - onreset T_178122 := UInt<2>(0) - node T_178123 = gt(UInt<1>(0), T_178122) - node T_178124 = and(in[0].valid, T_178123) - node T_178125 = gt(UInt<1>(1), T_178122) - node T_178126 = and(in[1].valid, T_178125) - node T_178127 = gt(UInt<2>(2), T_178122) - node T_178128 = and(in[2].valid, T_178127) - node T_178129 = gt(UInt<2>(3), T_178122) - node T_178130 = and(in[3].valid, T_178129) - node T_178131 = or(UInt<1>(0), T_178124) - node T_178132 = eq(T_178131, UInt<1>(0)) - node T_178133 = or(UInt<1>(0), T_178124) - node T_178134 = or(T_178133, T_178126) - node T_178135 = eq(T_178134, UInt<1>(0)) - node T_178136 = or(UInt<1>(0), T_178124) - node T_178137 = or(T_178136, T_178126) - node T_178138 = or(T_178137, T_178128) - node T_178139 = eq(T_178138, UInt<1>(0)) - node T_178140 = or(UInt<1>(0), T_178124) - node T_178141 = or(T_178140, T_178126) - node T_178142 = or(T_178141, T_178128) - node T_178143 = or(T_178142, T_178130) - node T_178144 = eq(T_178143, UInt<1>(0)) - node T_178145 = or(UInt<1>(0), T_178124) - node T_178146 = or(T_178145, T_178126) - node T_178147 = or(T_178146, T_178128) - node T_178148 = or(T_178147, T_178130) - node T_178149 = or(T_178148, in[0].valid) - node T_178150 = eq(T_178149, UInt<1>(0)) - node T_178151 = or(UInt<1>(0), T_178124) - node T_178152 = or(T_178151, T_178126) - node T_178153 = or(T_178152, T_178128) - node T_178154 = or(T_178153, T_178130) - node T_178155 = or(T_178154, in[0].valid) - node T_178156 = or(T_178155, in[1].valid) - node T_178157 = eq(T_178156, UInt<1>(0)) - node T_178158 = or(UInt<1>(0), T_178124) - node T_178159 = or(T_178158, T_178126) - node T_178160 = or(T_178159, T_178128) - node T_178161 = or(T_178160, T_178130) - node T_178162 = or(T_178161, in[0].valid) - node T_178163 = or(T_178162, in[1].valid) - node T_178164 = or(T_178163, in[2].valid) - node T_178165 = eq(T_178164, UInt<1>(0)) - node T_178166 = gt(UInt<1>(0), T_178122) - node T_178167 = and(UInt<1>(1), T_178166) - node T_178168 = or(T_178167, T_178144) - node T_178169 = gt(UInt<1>(1), T_178122) - node T_178170 = and(T_178132, T_178169) - node T_178171 = or(T_178170, T_178150) - node T_178172 = gt(UInt<2>(2), T_178122) - node T_178173 = and(T_178135, T_178172) - node T_178174 = or(T_178173, T_178157) - node T_178175 = gt(UInt<2>(3), T_178122) - node T_178176 = and(T_178139, T_178175) - node T_178177 = or(T_178176, T_178165) - node T_178178 = eq(UInt<2>(3), UInt<1>(0)) - wire T_178179 : UInt<1> - T_178179 := T_178168 - when UInt<1>(0) : T_178179 := T_178178 - node T_178180 = and(T_178179, out.ready) - in[0].ready := T_178180 - node T_178181 = eq(UInt<2>(3), UInt<1>(1)) - wire T_178182 : UInt<1> - T_178182 := T_178171 - when UInt<1>(0) : T_178182 := T_178181 - node T_178183 = and(T_178182, out.ready) - in[1].ready := T_178183 - node T_178184 = eq(UInt<2>(3), UInt<2>(2)) - wire T_178185 : UInt<1> - T_178185 := T_178174 - when UInt<1>(0) : T_178185 := T_178184 - node T_178186 = and(T_178185, out.ready) - in[2].ready := T_178186 - node T_178187 = eq(UInt<2>(3), UInt<2>(3)) - wire T_178188 : UInt<1> - T_178188 := T_178177 - when UInt<1>(0) : T_178188 := T_178187 - node T_178189 = and(T_178188, out.ready) - in[3].ready := T_178189 - accessor T_178190 = in[T_178121] - out.valid := T_178190.valid - accessor T_178191 = in[T_178121] - out.bits := T_178191.bits - chosen := T_178121 - wire T_178192 : UInt<2> - T_178192 := UInt<2>(3) - when in[2].valid : T_178192 := UInt<2>(2) - wire T_178193 : UInt<2> - T_178193 := T_178192 - when in[1].valid : T_178193 := UInt<1>(1) - wire T_178194 : UInt<2> - T_178194 := T_178193 - when in[0].valid : T_178194 := UInt<1>(0) - node T_178195 = gt(UInt<2>(3), T_178122) - node T_178196 = and(in[3].valid, T_178195) - wire T_178197 : UInt<2> - T_178197 := T_178194 - when T_178196 : T_178197 := UInt<2>(3) - node T_178198 = gt(UInt<2>(2), T_178122) - node T_178199 = and(in[2].valid, T_178198) - wire T_178200 : UInt<2> - T_178200 := T_178197 - when T_178199 : T_178200 := UInt<2>(2) - node T_178201 = gt(UInt<1>(1), T_178122) - node T_178202 = and(in[1].valid, T_178201) - wire T_178203 : UInt<2> - T_178203 := T_178200 - when T_178202 : T_178203 := UInt<1>(1) - wire T_178204 : UInt<2> - T_178204 := T_178203 - when UInt<1>(0) : T_178204 := UInt<2>(3) - T_178121 := T_178204 - - node T_178205 = and(out.ready, out.valid) - when T_178205 : T_178122 := T_178121 - module RRArbiter_108094 : - input in : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, id : UInt<2>, addr_idx : UInt<12>, way_en : UInt<8>, data : UInt<128>, wmask : UInt<16>}}[3] - output out : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, id : UInt<2>, addr_idx : UInt<12>, way_en : UInt<8>, data : UInt<128>, wmask : UInt<16>}} - output chosen : UInt<2> - - wire T_178206 : UInt<2> - reg T_178207 : UInt<2> - onreset T_178207 := UInt<2>(0) - node T_178208 = gt(UInt<1>(0), T_178207) - node T_178209 = and(in[0].valid, T_178208) - node T_178210 = gt(UInt<1>(1), T_178207) - node T_178211 = and(in[1].valid, T_178210) - node T_178212 = gt(UInt<2>(2), T_178207) - node T_178213 = and(in[2].valid, T_178212) - node T_178214 = or(UInt<1>(0), T_178209) - node T_178215 = eq(T_178214, UInt<1>(0)) - node T_178216 = or(UInt<1>(0), T_178209) - node T_178217 = or(T_178216, T_178211) - node T_178218 = eq(T_178217, UInt<1>(0)) - node T_178219 = or(UInt<1>(0), T_178209) - node T_178220 = or(T_178219, T_178211) - node T_178221 = or(T_178220, T_178213) - node T_178222 = eq(T_178221, UInt<1>(0)) - node T_178223 = or(UInt<1>(0), T_178209) - node T_178224 = or(T_178223, T_178211) - node T_178225 = or(T_178224, T_178213) - node T_178226 = or(T_178225, in[0].valid) - node T_178227 = eq(T_178226, UInt<1>(0)) - node T_178228 = or(UInt<1>(0), T_178209) - node T_178229 = or(T_178228, T_178211) - node T_178230 = or(T_178229, T_178213) - node T_178231 = or(T_178230, in[0].valid) - node T_178232 = or(T_178231, in[1].valid) - node T_178233 = eq(T_178232, UInt<1>(0)) - node T_178234 = gt(UInt<1>(0), T_178207) - node T_178235 = and(UInt<1>(1), T_178234) - node T_178236 = or(T_178235, T_178222) - node T_178237 = gt(UInt<1>(1), T_178207) - node T_178238 = and(T_178215, T_178237) - node T_178239 = or(T_178238, T_178227) - node T_178240 = gt(UInt<2>(2), T_178207) - node T_178241 = and(T_178218, T_178240) - node T_178242 = or(T_178241, T_178233) - node T_178243 = eq(UInt<2>(2), UInt<1>(0)) - wire T_178244 : UInt<1> - T_178244 := T_178236 - when UInt<1>(0) : T_178244 := T_178243 - node T_178245 = and(T_178244, out.ready) - in[0].ready := T_178245 - node T_178246 = eq(UInt<2>(2), UInt<1>(1)) - wire T_178247 : UInt<1> - T_178247 := T_178239 - when UInt<1>(0) : T_178247 := T_178246 - node T_178248 = and(T_178247, out.ready) - in[1].ready := T_178248 - node T_178249 = eq(UInt<2>(2), UInt<2>(2)) - wire T_178250 : UInt<1> - T_178250 := T_178242 - when UInt<1>(0) : T_178250 := T_178249 - node T_178251 = and(T_178250, out.ready) - in[2].ready := T_178251 - accessor T_178252 = in[T_178206] - out.valid := T_178252.valid - accessor T_178253 = in[T_178206] - out.bits := T_178253.bits - chosen := T_178206 - wire T_178254 : UInt<2> - T_178254 := UInt<2>(2) - when in[1].valid : T_178254 := UInt<1>(1) - wire T_178255 : UInt<2> - T_178255 := T_178254 - when in[0].valid : T_178255 := UInt<1>(0) - node T_178256 = gt(UInt<2>(2), T_178207) - node T_178257 = and(in[2].valid, T_178256) - wire T_178258 : UInt<2> - T_178258 := T_178255 - when T_178257 : T_178258 := UInt<2>(2) - node T_178259 = gt(UInt<1>(1), T_178207) - node T_178260 = and(in[1].valid, T_178259) - wire T_178261 : UInt<2> - T_178261 := T_178258 - when T_178260 : T_178261 := UInt<1>(1) - wire T_178262 : UInt<2> - T_178262 := T_178261 - when UInt<1>(0) : T_178262 := UInt<2>(2) - T_178206 := T_178262 - - node T_178263 = and(out.ready, out.valid) - when T_178263 : T_178207 := T_178206 - module TSHRFile : - output inner : {flip acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>, client_id : UInt<2>}}, grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>, client_id : UInt<2>}}, flip finish : {flip ready : UInt<1>, valid : UInt<1>, bits : {manager_xact_id : UInt<2>}}, probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>, client_id : UInt<2>}}, flip release : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>, client_id : UInt<2>}}} - input incoherent : UInt<1>[1] - output outer : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<2>, manager_xact_id : UInt<1>, is_builtin_type : UInt<1>, g_type : UInt<4>}}, flip probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>}}, release : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}} - output meta : {read : {flip ready : UInt<1>, valid : UInt<1>, bits : {idx : UInt<12>, id : UInt<2>, tag : UInt<14>}}, flip resp : {valid : UInt<1>, bits : {id : UInt<2>, tag_match : UInt<1>, meta : {tag : UInt<14>, coh : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}}, way_en : UInt<8>}}, write : {flip ready : UInt<1>, valid : UInt<1>, bits : {idx : UInt<12>, way_en : UInt<8>, data : {tag : UInt<14>, coh : {inner : {sharers : UInt<1>, makeGrant$default$3 : UInt<1>, makeGrant$default$4 : UInt<1>}, outer : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}}, id : UInt<2>}}} - output data : {read : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, id : UInt<2>, addr_idx : UInt<12>, way_en : UInt<8>}}, flip resp : {valid : UInt<1>, bits : {id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>}}, write : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, id : UInt<2>, addr_idx : UInt<12>, way_en : UInt<8>, data : UInt<128>, wmask : UInt<16>}}} - - wire T_178264 : UInt<3>[3] - T_178264[0] := UInt<3>(0) - T_178264[1] := UInt<3>(1) - T_178264[2] := UInt<3>(2) - wire T_178265 : UInt<2>[2] - T_178265[0] := UInt<2>(0) - T_178265[1] := UInt<2>(1) - wire T_178266 : UInt<2>[3] - T_178266[0] := UInt<2>(1) - T_178266[1] := UInt<2>(2) - T_178266[2] := UInt<2>(3) - wire T_178267 : UInt<2>[2] - T_178267[0] := UInt<2>(2) - T_178267[1] := UInt<2>(3) - wire T_178268 : UInt<2>[1] - T_178268[0] := UInt<2>(3) - wire T_178269 : UInt<3>[3] - T_178269[0] := UInt<3>(0) - T_178269[1] := UInt<3>(1) - T_178269[2] := UInt<3>(2) - wire T_178270 : UInt<2>[2] - T_178270[0] := UInt<2>(0) - T_178270[1] := UInt<2>(1) - wire T_178271 : UInt<2>[3] - T_178271[0] := UInt<2>(1) - T_178271[1] := UInt<2>(2) - T_178271[2] := UInt<2>(3) - wire T_178272 : UInt<2>[2] - T_178272[0] := UInt<2>(2) - T_178272[1] := UInt<2>(3) - wire T_178273 : UInt<2>[1] - T_178273[0] := UInt<2>(3) - wire T_178274 : UInt<3>[3] - T_178274[0] := UInt<3>(0) - T_178274[1] := UInt<3>(1) - T_178274[2] := UInt<3>(2) - wire T_178275 : UInt<2>[2] - T_178275[0] := UInt<2>(0) - T_178275[1] := UInt<2>(1) - wire T_178276 : UInt<2>[3] - T_178276[0] := UInt<2>(1) - T_178276[1] := UInt<2>(2) - T_178276[2] := UInt<2>(3) - wire T_178277 : UInt<2>[2] - T_178277[0] := UInt<2>(2) - T_178277[1] := UInt<2>(3) - wire T_178278 : UInt<2>[1] - T_178278[0] := UInt<2>(3) - wire T_178279 : UInt<3>[3] - T_178279[0] := UInt<3>(0) - T_178279[1] := UInt<3>(1) - T_178279[2] := UInt<3>(2) - wire T_178280 : UInt<2>[2] - T_178280[0] := UInt<2>(0) - T_178280[1] := UInt<2>(1) - wire T_178281 : UInt<2>[3] - T_178281[0] := UInt<2>(1) - T_178281[1] := UInt<2>(2) - T_178281[2] := UInt<2>(3) - wire T_178282 : UInt<2>[2] - T_178282[0] := UInt<2>(2) - T_178282[1] := UInt<2>(3) - wire T_178283 : UInt<2>[1] - T_178283[0] := UInt<2>(3) - wire T_178284 : UInt<3>[3] - T_178284[0] := UInt<3>(0) - T_178284[1] := UInt<3>(1) - T_178284[2] := UInt<3>(2) - wire T_178285 : UInt<2>[2] - T_178285[0] := UInt<2>(0) - T_178285[1] := UInt<2>(1) - wire T_178286 : UInt<2>[3] - T_178286[0] := UInt<2>(1) - T_178286[1] := UInt<2>(2) - T_178286[2] := UInt<2>(3) - wire T_178287 : UInt<2>[2] - T_178287[0] := UInt<2>(2) - T_178287[1] := UInt<2>(3) - wire T_178288 : UInt<2>[1] - T_178288[0] := UInt<2>(3) - wire T_178289 : UInt<3>[3] - T_178289[0] := UInt<3>(0) - T_178289[1] := UInt<3>(1) - T_178289[2] := UInt<3>(2) - wire T_178290 : UInt<2>[2] - T_178290[0] := UInt<2>(0) - T_178290[1] := UInt<2>(1) - wire T_178291 : UInt<2>[3] - T_178291[0] := UInt<2>(1) - T_178291[1] := UInt<2>(2) - T_178291[2] := UInt<2>(3) - wire T_178292 : UInt<2>[2] - T_178292[0] := UInt<2>(2) - T_178292[1] := UInt<2>(3) - wire T_178293 : UInt<2>[1] - T_178293[0] := UInt<2>(3) - wire T_178294 : UInt<3>[3] - T_178294[0] := UInt<3>(0) - T_178294[1] := UInt<3>(1) - T_178294[2] := UInt<3>(2) - wire T_178295 : UInt<2>[2] - T_178295[0] := UInt<2>(0) - T_178295[1] := UInt<2>(1) - wire T_178296 : UInt<2>[3] - T_178296[0] := UInt<2>(1) - T_178296[1] := UInt<2>(2) - T_178296[2] := UInt<2>(3) - wire T_178297 : UInt<2>[2] - T_178297[0] := UInt<2>(2) - T_178297[1] := UInt<2>(3) - wire T_178298 : UInt<2>[1] - T_178298[0] := UInt<2>(3) - wire T_178299 : UInt<3>[3] - T_178299[0] := UInt<3>(0) - T_178299[1] := UInt<3>(1) - T_178299[2] := UInt<3>(2) - wire T_178300 : UInt<2>[2] - T_178300[0] := UInt<2>(0) - T_178300[1] := UInt<2>(1) - wire T_178301 : UInt<2>[3] - T_178301[0] := UInt<2>(1) - T_178301[1] := UInt<2>(2) - T_178301[2] := UInt<2>(3) - wire T_178302 : UInt<2>[2] - T_178302[0] := UInt<2>(2) - T_178302[1] := UInt<2>(3) - wire T_178303 : UInt<2>[1] - T_178303[0] := UInt<2>(3) - wire T_178304 : UInt<3>[3] - T_178304[0] := UInt<3>(0) - T_178304[1] := UInt<3>(1) - T_178304[2] := UInt<3>(2) - wire T_178305 : UInt<2>[2] - T_178305[0] := UInt<2>(0) - T_178305[1] := UInt<2>(1) - wire T_178306 : UInt<2>[3] - T_178306[0] := UInt<2>(1) - T_178306[1] := UInt<2>(2) - T_178306[2] := UInt<2>(3) - wire T_178307 : UInt<2>[2] - T_178307[0] := UInt<2>(2) - T_178307[1] := UInt<2>(3) - wire T_178308 : UInt<2>[1] - T_178308[0] := UInt<2>(3) - wire T_178309 : UInt<3>[3] - T_178309[0] := UInt<3>(0) - T_178309[1] := UInt<3>(1) - T_178309[2] := UInt<3>(2) - wire T_178310 : UInt<2>[2] - T_178310[0] := UInt<2>(0) - T_178310[1] := UInt<2>(1) - wire T_178311 : UInt<2>[3] - T_178311[0] := UInt<2>(1) - T_178311[1] := UInt<2>(2) - T_178311[2] := UInt<2>(3) - wire T_178312 : UInt<2>[2] - T_178312[0] := UInt<2>(2) - T_178312[1] := UInt<2>(3) - wire T_178313 : UInt<2>[1] - T_178313[0] := UInt<2>(3) - wire T_178314 : UInt<3>[3] - T_178314[0] := UInt<3>(0) - T_178314[1] := UInt<3>(1) - T_178314[2] := UInt<3>(2) - wire T_178315 : UInt<2>[2] - T_178315[0] := UInt<2>(0) - T_178315[1] := UInt<2>(1) - wire T_178316 : UInt<2>[3] - T_178316[0] := UInt<2>(1) - T_178316[1] := UInt<2>(2) - T_178316[2] := UInt<2>(3) - wire T_178317 : UInt<2>[2] - T_178317[0] := UInt<2>(2) - T_178317[1] := UInt<2>(3) - wire T_178318 : UInt<2>[1] - T_178318[0] := UInt<2>(3) - wire incoherent : UInt<1>[1] - incoherent[0] := T_178319 - wire T_178320 : UInt<3>[3] - T_178320[0] := UInt<3>(0) - T_178320[1] := UInt<3>(1) - T_178320[2] := UInt<3>(2) - wire T_178321 : UInt<0>[1] - T_178321[0] := UInt<0>(0) - wire T_178322 : UInt<2>[2] - T_178322[0] := UInt<2>(1) - T_178322[1] := UInt<2>(2) - wire T_178323 : UInt<2>[2] - T_178323[0] := UInt<2>(1) - T_178323[1] := UInt<2>(2) - wire T_178324 : UInt<2>[1] - T_178324[0] := UInt<2>(2) - wire T_178325 : UInt<3>[3] - T_178325[0] := UInt<3>(0) - T_178325[1] := UInt<3>(1) - T_178325[2] := UInt<3>(2) - wire T_178326 : UInt<0>[1] - T_178326[0] := UInt<0>(0) - wire T_178327 : UInt<2>[2] - T_178327[0] := UInt<2>(1) - T_178327[1] := UInt<2>(2) - wire T_178328 : UInt<2>[2] - T_178328[0] := UInt<2>(1) - T_178328[1] := UInt<2>(2) - wire T_178329 : UInt<2>[1] - T_178329[0] := UInt<2>(2) - wire T_178330 : UInt<3>[3] - T_178330[0] := UInt<3>(0) - T_178330[1] := UInt<3>(1) - T_178330[2] := UInt<3>(2) - wire T_178331 : UInt<0>[1] - T_178331[0] := UInt<0>(0) - wire T_178332 : UInt<2>[2] - T_178332[0] := UInt<2>(1) - T_178332[1] := UInt<2>(2) - wire T_178333 : UInt<2>[2] - T_178333[0] := UInt<2>(1) - T_178333[1] := UInt<2>(2) - wire T_178334 : UInt<2>[1] - T_178334[0] := UInt<2>(2) - wire T_178335 : UInt<3>[3] - T_178335[0] := UInt<3>(0) - T_178335[1] := UInt<3>(1) - T_178335[2] := UInt<3>(2) - wire T_178336 : UInt<0>[1] - T_178336[0] := UInt<0>(0) - wire T_178337 : UInt<2>[2] - T_178337[0] := UInt<2>(1) - T_178337[1] := UInt<2>(2) - wire T_178338 : UInt<2>[2] - T_178338[0] := UInt<2>(1) - T_178338[1] := UInt<2>(2) - wire T_178339 : UInt<2>[1] - T_178339[0] := UInt<2>(2) - wire T_178340 : UInt<3>[3] - T_178340[0] := UInt<3>(0) - T_178340[1] := UInt<3>(1) - T_178340[2] := UInt<3>(2) - wire T_178341 : UInt<0>[1] - T_178341[0] := UInt<0>(0) - wire T_178342 : UInt<2>[2] - T_178342[0] := UInt<2>(1) - T_178342[1] := UInt<2>(2) - wire T_178343 : UInt<2>[2] - T_178343[0] := UInt<2>(1) - T_178343[1] := UInt<2>(2) - wire T_178344 : UInt<2>[1] - T_178344[0] := UInt<2>(2) - wire T_178345 : UInt<3>[3] - T_178345[0] := UInt<3>(0) - T_178345[1] := UInt<3>(1) - T_178345[2] := UInt<3>(2) - wire T_178346 : UInt<0>[1] - T_178346[0] := UInt<0>(0) - wire T_178347 : UInt<2>[2] - T_178347[0] := UInt<2>(1) - T_178347[1] := UInt<2>(2) - wire T_178348 : UInt<2>[2] - T_178348[0] := UInt<2>(1) - T_178348[1] := UInt<2>(2) - wire T_178349 : UInt<2>[1] - T_178349[0] := UInt<2>(2) - wire T_178350 : UInt<3>[3] - T_178350[0] := UInt<3>(0) - T_178350[1] := UInt<3>(1) - T_178350[2] := UInt<3>(2) - wire T_178351 : UInt<0>[1] - T_178351[0] := UInt<0>(0) - wire T_178352 : UInt<2>[2] - T_178352[0] := UInt<2>(1) - T_178352[1] := UInt<2>(2) - wire T_178353 : UInt<2>[2] - T_178353[0] := UInt<2>(1) - T_178353[1] := UInt<2>(2) - wire T_178354 : UInt<2>[1] - T_178354[0] := UInt<2>(2) - wire T_178355 : UInt<3>[3] - T_178355[0] := UInt<3>(0) - T_178355[1] := UInt<3>(1) - T_178355[2] := UInt<3>(2) - wire T_178356 : UInt<0>[1] - T_178356[0] := UInt<0>(0) - wire T_178357 : UInt<2>[2] - T_178357[0] := UInt<2>(1) - T_178357[1] := UInt<2>(2) - wire T_178358 : UInt<2>[2] - T_178358[0] := UInt<2>(1) - T_178358[1] := UInt<2>(2) - wire T_178359 : UInt<2>[1] - T_178359[0] := UInt<2>(2) - wire T_178360 : UInt<3>[3] - T_178360[0] := UInt<3>(0) - T_178360[1] := UInt<3>(1) - T_178360[2] := UInt<3>(2) - wire T_178361 : UInt<0>[1] - T_178361[0] := UInt<0>(0) - wire T_178362 : UInt<2>[2] - T_178362[0] := UInt<2>(1) - T_178362[1] := UInt<2>(2) - wire T_178363 : UInt<2>[2] - T_178363[0] := UInt<2>(1) - T_178363[1] := UInt<2>(2) - wire T_178364 : UInt<2>[1] - T_178364[0] := UInt<2>(2) - wire T_178365 : UInt<3>[3] - T_178365[0] := UInt<3>(0) - T_178365[1] := UInt<3>(1) - T_178365[2] := UInt<3>(2) - wire T_178366 : UInt<2>[2] - T_178366[0] := UInt<2>(0) - T_178366[1] := UInt<2>(1) - wire T_178367 : UInt<2>[3] - T_178367[0] := UInt<2>(1) - T_178367[1] := UInt<2>(2) - T_178367[2] := UInt<2>(3) - wire T_178368 : UInt<2>[2] - T_178368[0] := UInt<2>(2) - T_178368[1] := UInt<2>(3) - wire T_178369 : UInt<2>[1] - T_178369[0] := UInt<2>(3) - wire T_178370 : UInt<3>[3] - T_178370[0] := UInt<3>(0) - T_178370[1] := UInt<3>(1) - T_178370[2] := UInt<3>(2) - wire T_178371 : UInt<2>[2] - T_178371[0] := UInt<2>(0) - T_178371[1] := UInt<2>(1) - wire T_178372 : UInt<2>[3] - T_178372[0] := UInt<2>(1) - T_178372[1] := UInt<2>(2) - T_178372[2] := UInt<2>(3) - wire T_178373 : UInt<2>[2] - T_178373[0] := UInt<2>(2) - T_178373[1] := UInt<2>(3) - wire T_178374 : UInt<2>[1] - T_178374[0] := UInt<2>(3) - wire T_178375 : UInt<3>[3] - T_178375[0] := UInt<3>(0) - T_178375[1] := UInt<3>(1) - T_178375[2] := UInt<3>(2) - wire T_178376 : UInt<0>[1] - T_178376[0] := UInt<0>(0) - wire T_178377 : UInt<2>[2] - T_178377[0] := UInt<2>(1) - T_178377[1] := UInt<2>(2) - wire T_178378 : UInt<2>[2] - T_178378[0] := UInt<2>(1) - T_178378[1] := UInt<2>(2) - wire T_178379 : UInt<2>[1] - T_178379[0] := UInt<2>(2) - wire T_178380 : UInt<3>[3] - T_178380[0] := UInt<3>(0) - T_178380[1] := UInt<3>(1) - T_178380[2] := UInt<3>(2) - wire T_178381 : UInt<2>[2] - T_178381[0] := UInt<2>(0) - T_178381[1] := UInt<2>(1) - wire T_178382 : UInt<2>[3] - T_178382[0] := UInt<2>(1) - T_178382[1] := UInt<2>(2) - T_178382[2] := UInt<2>(3) - wire T_178383 : UInt<2>[2] - T_178383[0] := UInt<2>(2) - T_178383[1] := UInt<2>(3) - wire T_178384 : UInt<2>[1] - T_178384[0] := UInt<2>(3) - wire T_178385 : UInt<3>[3] - T_178385[0] := UInt<3>(0) - T_178385[1] := UInt<3>(1) - T_178385[2] := UInt<3>(2) - wire T_178386 : UInt<2>[2] - T_178386[0] := UInt<2>(0) - T_178386[1] := UInt<2>(1) - wire T_178387 : UInt<2>[3] - T_178387[0] := UInt<2>(1) - T_178387[1] := UInt<2>(2) - T_178387[2] := UInt<2>(3) - wire T_178388 : UInt<2>[2] - T_178388[0] := UInt<2>(2) - T_178388[1] := UInt<2>(3) - wire T_178389 : UInt<2>[1] - T_178389[0] := UInt<2>(3) - wire T_178390 : UInt<3>[3] - T_178390[0] := UInt<3>(0) - T_178390[1] := UInt<3>(1) - T_178390[2] := UInt<3>(2) - wire T_178391 : UInt<0>[1] - T_178391[0] := UInt<0>(0) - wire T_178392 : UInt<2>[2] - T_178392[0] := UInt<2>(1) - T_178392[1] := UInt<2>(2) - wire T_178393 : UInt<2>[2] - T_178393[0] := UInt<2>(1) - T_178393[1] := UInt<2>(2) - wire T_178394 : UInt<2>[1] - T_178394[0] := UInt<2>(2) - wire T_178395 : UInt<3>[3] - T_178395[0] := UInt<3>(0) - T_178395[1] := UInt<3>(1) - T_178395[2] := UInt<3>(2) - wire T_178396 : UInt<2>[2] - T_178396[0] := UInt<2>(0) - T_178396[1] := UInt<2>(1) - wire T_178397 : UInt<2>[3] - T_178397[0] := UInt<2>(1) - T_178397[1] := UInt<2>(2) - T_178397[2] := UInt<2>(3) - wire T_178398 : UInt<2>[2] - T_178398[0] := UInt<2>(2) - T_178398[1] := UInt<2>(3) - wire T_178399 : UInt<2>[1] - T_178399[0] := UInt<2>(3) - wire T_178400 : UInt<3>[3] - T_178400[0] := UInt<3>(0) - T_178400[1] := UInt<3>(1) - T_178400[2] := UInt<3>(2) - wire T_178401 : UInt<2>[2] - T_178401[0] := UInt<2>(0) - T_178401[1] := UInt<2>(1) - wire T_178402 : UInt<2>[3] - T_178402[0] := UInt<2>(1) - T_178402[1] := UInt<2>(2) - T_178402[2] := UInt<2>(3) - wire T_178403 : UInt<2>[2] - T_178403[0] := UInt<2>(2) - T_178403[1] := UInt<2>(3) - wire T_178404 : UInt<2>[1] - T_178404[0] := UInt<2>(3) - wire T_178405 : UInt<3>[3] - T_178405[0] := UInt<3>(0) - T_178405[1] := UInt<3>(1) - T_178405[2] := UInt<3>(2) - wire T_178406 : UInt<0>[1] - T_178406[0] := UInt<0>(0) - wire T_178407 : UInt<2>[2] - T_178407[0] := UInt<2>(1) - T_178407[1] := UInt<2>(2) - wire T_178408 : UInt<2>[2] - T_178408[0] := UInt<2>(1) - T_178408[1] := UInt<2>(2) - wire T_178409 : UInt<2>[1] - T_178409[0] := UInt<2>(2) - wire T_178410 : UInt<3>[3] - T_178410[0] := UInt<3>(0) - T_178410[1] := UInt<3>(1) - T_178410[2] := UInt<3>(2) - wire T_178411 : UInt<2>[2] - T_178411[0] := UInt<2>(0) - T_178411[1] := UInt<2>(1) - wire T_178412 : UInt<2>[3] - T_178412[0] := UInt<2>(1) - T_178412[1] := UInt<2>(2) - T_178412[2] := UInt<2>(3) - wire T_178413 : UInt<2>[2] - T_178413[0] := UInt<2>(2) - T_178413[1] := UInt<2>(3) - wire T_178414 : UInt<2>[1] - T_178414[0] := UInt<2>(3) - wire T_178415 : UInt<3>[3] - T_178415[0] := UInt<3>(0) - T_178415[1] := UInt<3>(1) - T_178415[2] := UInt<3>(2) - wire T_178416 : UInt<2>[2] - T_178416[0] := UInt<2>(0) - T_178416[1] := UInt<2>(1) - wire T_178417 : UInt<2>[3] - T_178417[0] := UInt<2>(1) - T_178417[1] := UInt<2>(2) - T_178417[2] := UInt<2>(3) - wire T_178418 : UInt<2>[2] - T_178418[0] := UInt<2>(2) - T_178418[1] := UInt<2>(3) - wire T_178419 : UInt<2>[1] - T_178419[0] := UInt<2>(3) - wire T_178420 : UInt<3>[3] - T_178420[0] := UInt<3>(0) - T_178420[1] := UInt<3>(1) - T_178420[2] := UInt<3>(2) - wire T_178421 : UInt<0>[1] - T_178421[0] := UInt<0>(0) - wire T_178422 : UInt<2>[2] - T_178422[0] := UInt<2>(1) - T_178422[1] := UInt<2>(2) - wire T_178423 : UInt<2>[2] - T_178423[0] := UInt<2>(1) - T_178423[1] := UInt<2>(2) - wire T_178424 : UInt<2>[1] - T_178424[0] := UInt<2>(2) - wire T_178425 : UInt<3>[3] - T_178425[0] := UInt<3>(0) - T_178425[1] := UInt<3>(1) - T_178425[2] := UInt<3>(2) - wire T_178426 : UInt<2>[2] - T_178426[0] := UInt<2>(0) - T_178426[1] := UInt<2>(1) - wire T_178427 : UInt<2>[3] - T_178427[0] := UInt<2>(1) - T_178427[1] := UInt<2>(2) - T_178427[2] := UInt<2>(3) - wire T_178428 : UInt<2>[2] - T_178428[0] := UInt<2>(2) - T_178428[1] := UInt<2>(3) - wire T_178429 : UInt<2>[1] - T_178429[0] := UInt<2>(3) - wire T_178430 : UInt<3>[3] - T_178430[0] := UInt<3>(0) - T_178430[1] := UInt<3>(1) - T_178430[2] := UInt<3>(2) - wire T_178431 : UInt<2>[2] - T_178431[0] := UInt<2>(0) - T_178431[1] := UInt<2>(1) - wire T_178432 : UInt<2>[3] - T_178432[0] := UInt<2>(1) - T_178432[1] := UInt<2>(2) - T_178432[2] := UInt<2>(3) - wire T_178433 : UInt<2>[2] - T_178433[0] := UInt<2>(2) - T_178433[1] := UInt<2>(3) - wire T_178434 : UInt<2>[1] - T_178434[0] := UInt<2>(3) - wire T_178435 : UInt<3>[3] - T_178435[0] := UInt<3>(0) - T_178435[1] := UInt<3>(1) - T_178435[2] := UInt<3>(2) - wire T_178436 : UInt<0>[1] - T_178436[0] := UInt<0>(0) - wire T_178437 : UInt<2>[2] - T_178437[0] := UInt<2>(1) - T_178437[1] := UInt<2>(2) - wire T_178438 : UInt<2>[2] - T_178438[0] := UInt<2>(1) - T_178438[1] := UInt<2>(2) - wire T_178439 : UInt<2>[1] - T_178439[0] := UInt<2>(2) - wire T_178440 : UInt<3>[3] - T_178440[0] := UInt<3>(0) - T_178440[1] := UInt<3>(1) - T_178440[2] := UInt<3>(2) - wire T_178441 : UInt<2>[2] - T_178441[0] := UInt<2>(0) - T_178441[1] := UInt<2>(1) - wire T_178442 : UInt<2>[3] - T_178442[0] := UInt<2>(1) - T_178442[1] := UInt<2>(2) - T_178442[2] := UInt<2>(3) - wire T_178443 : UInt<2>[2] - T_178443[0] := UInt<2>(2) - T_178443[1] := UInt<2>(3) - wire T_178444 : UInt<2>[1] - T_178444[0] := UInt<2>(3) - wire T_178445 : UInt<3>[3] - T_178445[0] := UInt<3>(0) - T_178445[1] := UInt<3>(1) - T_178445[2] := UInt<3>(2) - wire T_178446 : UInt<2>[2] - T_178446[0] := UInt<2>(0) - T_178446[1] := UInt<2>(1) - wire T_178447 : UInt<2>[3] - T_178447[0] := UInt<2>(1) - T_178447[1] := UInt<2>(2) - T_178447[2] := UInt<2>(3) - wire T_178448 : UInt<2>[2] - T_178448[0] := UInt<2>(2) - T_178448[1] := UInt<2>(3) - wire T_178449 : UInt<2>[1] - T_178449[0] := UInt<2>(3) - wire T_178450 : UInt<3>[3] - T_178450[0] := UInt<3>(0) - T_178450[1] := UInt<3>(1) - T_178450[2] := UInt<3>(2) - wire T_178451 : UInt<0>[1] - T_178451[0] := UInt<0>(0) - wire T_178452 : UInt<2>[2] - T_178452[0] := UInt<2>(1) - T_178452[1] := UInt<2>(2) - wire T_178453 : UInt<2>[2] - T_178453[0] := UInt<2>(1) - T_178453[1] := UInt<2>(2) - wire T_178454 : UInt<2>[1] - T_178454[0] := UInt<2>(2) - inst T_178455 of L2VoluntaryReleaseTracker - inst T_178456 of L2AcquireTracker - inst T_178457 of L2AcquireTracker_93254 - inst wb of L2WritebackUnit - inst T_178458 of RRArbiter_97606 - wb.wb.req <> T_178458.out - T_178458.in[0] <> T_178455.wb.req - T_178458.in[1] <> T_178456.wb.req - T_178458.in[2] <> T_178457.wb.req - T_178455.wb.resp.bits := wb.wb.resp.bits - T_178456.wb.resp.bits := wb.wb.resp.bits - T_178457.wb.resp.bits := wb.wb.resp.bits - node T_178459 = eq(wb.wb.resp.bits.id, UInt<1>(0)) - node T_178460 = and(wb.wb.resp.valid, T_178459) - T_178455.wb.resp.valid := T_178460 - node T_178461 = eq(wb.wb.resp.bits.id, UInt<1>(1)) - node T_178462 = and(wb.wb.resp.valid, T_178461) - T_178456.wb.resp.valid := T_178462 - node T_178463 = eq(wb.wb.resp.bits.id, UInt<2>(2)) - node T_178464 = and(wb.wb.resp.valid, T_178463) - T_178457.wb.resp.valid := T_178464 - T_178455.incoherent := incoherent[0] - T_178456.incoherent := incoherent[0] - T_178457.incoherent := incoherent[0] - wb.incoherent := incoherent[0] - wire T_178465 : UInt<1>[3] - T_178465[0] := T_178455.has_acquire_conflict - T_178465[1] := T_178456.has_acquire_conflict - T_178465[2] := T_178457.has_acquire_conflict - node T_178466 = cat(T_178465[1], T_178465[0]) - node acquireConflicts = cat(T_178465[2], T_178466) - wire T_178467 : UInt<1>[3] - T_178467[0] := T_178455.has_acquire_match - T_178467[1] := T_178456.has_acquire_match - T_178467[2] := T_178457.has_acquire_match - node T_178468 = cat(T_178467[1], T_178467[0]) - node acquireMatches = cat(T_178467[2], T_178468) - wire T_178469 : UInt<1>[3] - T_178469[0] := T_178455.inner.acquire.ready - T_178469[1] := T_178456.inner.acquire.ready - T_178469[2] := T_178457.inner.acquire.ready - node T_178470 = cat(T_178469[1], T_178469[0]) - node acquireReadys = cat(T_178469[2], T_178470) - node T_178471 = eq(acquireMatches, UInt<1>(0)) - node T_178472 = eq(T_178471, UInt<1>(0)) - node T_178473 = bit(acquireMatches, 0) - node T_178474 = bit(acquireMatches, 1) - node T_178475 = bit(acquireMatches, 2) - wire T_178476 : UInt<1>[3] - T_178476[0] := T_178473 - T_178476[1] := T_178474 - T_178476[2] := T_178475 - wire T_178477 : UInt<2> - T_178477 := UInt<2>(2) - when T_178476[1] : T_178477 := UInt<1>(1) - wire T_178478 : UInt<2> - T_178478 := T_178477 - when T_178476[0] : T_178478 := UInt<1>(0) - node T_178479 = bit(acquireReadys, 0) - node T_178480 = bit(acquireReadys, 1) - node T_178481 = bit(acquireReadys, 2) - wire T_178482 : UInt<1>[3] - T_178482[0] := T_178479 - T_178482[1] := T_178480 - T_178482[2] := T_178481 - wire T_178483 : UInt<2> - T_178483 := UInt<2>(2) - when T_178482[1] : T_178483 := UInt<1>(1) - wire T_178484 : UInt<2> - T_178484 := T_178483 - when T_178482[0] : T_178484 := UInt<1>(0) - wire acquire_idx : UInt<2> - acquire_idx := T_178484 - when T_178472 : acquire_idx := T_178478 - node T_178485 = eq(acquireConflicts, UInt<1>(0)) - node block_acquires = eq(T_178485, UInt<1>(0)) - node T_178486 = eq(acquireReadys, UInt<1>(0)) - node T_178487 = eq(T_178486, UInt<1>(0)) - node T_178488 = eq(block_acquires, UInt<1>(0)) - node T_178489 = and(T_178487, T_178488) - inner.acquire.ready := T_178489 - T_178455.inner.acquire.bits := inner.acquire.bits - node T_178490 = eq(block_acquires, UInt<1>(0)) - node T_178491 = and(inner.acquire.valid, T_178490) - node T_178492 = eq(acquire_idx, UInt<1>(0)) - node T_178493 = and(T_178491, T_178492) - T_178455.inner.acquire.valid := T_178493 - T_178456.inner.acquire.bits := inner.acquire.bits - node T_178494 = eq(block_acquires, UInt<1>(0)) - node T_178495 = and(inner.acquire.valid, T_178494) - node T_178496 = eq(acquire_idx, UInt<1>(1)) - node T_178497 = and(T_178495, T_178496) - T_178456.inner.acquire.valid := T_178497 - T_178457.inner.acquire.bits := inner.acquire.bits - node T_178498 = eq(block_acquires, UInt<1>(0)) - node T_178499 = and(inner.acquire.valid, T_178498) - node T_178500 = eq(acquire_idx, UInt<2>(2)) - node T_178501 = and(T_178499, T_178500) - T_178457.inner.acquire.valid := T_178501 - wire T_178502 : UInt<1>[4] - T_178502[0] := T_178455.inner.release.ready - T_178502[1] := T_178456.inner.release.ready - T_178502[2] := T_178457.inner.release.ready - T_178502[3] := wb.inner.release.ready - node T_178503 = cat(T_178502[3], T_178502[2]) - node T_178504 = cat(T_178502[1], T_178502[0]) - node releaseReadys = cat(T_178503, T_178504) - wire T_178505 : UInt<1>[4] - T_178505[0] := T_178455.has_release_match - T_178505[1] := T_178456.has_release_match - T_178505[2] := T_178457.has_release_match - T_178505[3] := wb.has_release_match - node T_178506 = cat(T_178505[3], T_178505[2]) - node T_178507 = cat(T_178505[1], T_178505[0]) - node releaseMatches = cat(T_178506, T_178507) - node T_178508 = bit(releaseMatches, 0) - node T_178509 = bit(releaseMatches, 1) - node T_178510 = bit(releaseMatches, 2) - node T_178511 = bit(releaseMatches, 3) - wire T_178512 : UInt<1>[4] - T_178512[0] := T_178508 - T_178512[1] := T_178509 - T_178512[2] := T_178510 - T_178512[3] := T_178511 - wire T_178513 : UInt<2> - T_178513 := UInt<2>(3) - when T_178512[2] : T_178513 := UInt<2>(2) - wire T_178514 : UInt<2> - T_178514 := T_178513 - when T_178512[1] : T_178514 := UInt<1>(1) - wire release_idx : UInt<2> - release_idx := T_178514 - when T_178512[0] : release_idx := UInt<1>(0) - node T_178515 = dshr(releaseReadys, release_idx) - node T_178516 = bit(T_178515, 0) - inner.release.ready := T_178516 - T_178455.inner.release.bits := inner.release.bits - node T_178517 = eq(release_idx, UInt<1>(0)) - node T_178518 = and(inner.release.valid, T_178517) - T_178455.inner.release.valid := T_178518 - T_178456.inner.release.bits := inner.release.bits - node T_178519 = eq(release_idx, UInt<1>(1)) - node T_178520 = and(inner.release.valid, T_178519) - T_178456.inner.release.valid := T_178520 - T_178457.inner.release.bits := inner.release.bits - node T_178521 = eq(release_idx, UInt<2>(2)) - node T_178522 = and(inner.release.valid, T_178521) - T_178457.inner.release.valid := T_178522 - wb.inner.release.bits := inner.release.bits - node T_178523 = eq(release_idx, UInt<2>(3)) - node T_178524 = and(inner.release.valid, T_178523) - wb.inner.release.valid := T_178524 - node T_178525 = eq(releaseMatches, UInt<1>(0)) - node T_178526 = eq(T_178525, UInt<1>(0)) - node T_178527 = eq(T_178526, UInt<1>(0)) - node T_178528 = and(inner.release.valid, T_178527) - node T_178529 = eq(T_178528, UInt<1>(0)) - inst T_178530 of LockingRRArbiter_98418 - inner.probe <> T_178530.out - T_178530.in[0] <> T_178455.inner.probe - T_178530.in[1] <> T_178456.inner.probe - T_178530.in[2] <> T_178457.inner.probe - T_178530.in[3] <> wb.inner.probe - inst T_178531 of LockingRRArbiter_99026 - inner.grant <> T_178531.out - T_178531.in[0] <> T_178455.inner.grant - T_178531.in[1] <> T_178456.inner.grant - T_178531.in[2] <> T_178457.inner.grant - T_178455.inner.finish.bits := inner.finish.bits - T_178456.inner.finish.bits := inner.finish.bits - T_178457.inner.finish.bits := inner.finish.bits - node T_178532 = eq(inner.finish.bits.manager_xact_id, UInt<1>(0)) - node T_178533 = and(inner.finish.valid, T_178532) - T_178455.inner.finish.valid := T_178533 - node T_178534 = eq(inner.finish.bits.manager_xact_id, UInt<1>(1)) - node T_178535 = and(inner.finish.valid, T_178534) - T_178456.inner.finish.valid := T_178535 - node T_178536 = eq(inner.finish.bits.manager_xact_id, UInt<2>(2)) - node T_178537 = and(inner.finish.valid, T_178536) - T_178457.inner.finish.valid := T_178537 - wire T_178538 : UInt<1>[3] - T_178538[0] := T_178455.inner.finish.ready - T_178538[1] := T_178456.inner.finish.ready - T_178538[2] := T_178457.inner.finish.ready - accessor T_178539 = T_178538[inner.finish.bits.manager_xact_id] - inner.finish.ready := T_178539 - inst outer_arb of ClientTileLinkIOArbiter - outer_arb.in[0] <> T_178455.outer - outer_arb.in[1] <> T_178456.outer - outer_arb.in[2] <> T_178457.outer - outer_arb.in[3] <> wb.outer - outer <> outer_arb.out - inst T_178540 of RRArbiter_105103 - meta.read <> T_178540.out - T_178540.in[0] <> T_178455.meta.read - T_178540.in[1] <> T_178456.meta.read - T_178540.in[2] <> T_178457.meta.read - inst T_178541 of RRArbiter_107737 - meta.write <> T_178541.out - T_178541.in[0] <> T_178455.meta.write - T_178541.in[1] <> T_178456.meta.write - T_178541.in[2] <> T_178457.meta.write - inst T_178542 of RRArbiter_107931 - data.read <> T_178542.out - T_178542.in[0] <> T_178455.data.read - T_178542.in[1] <> T_178456.data.read - T_178542.in[2] <> T_178457.data.read - T_178542.in[3] <> wb.data.read - inst T_178543 of RRArbiter_108094 - data.write <> T_178543.out - T_178543.in[0] <> T_178455.data.write - T_178543.in[1] <> T_178456.data.write - T_178543.in[2] <> T_178457.data.write - T_178455.meta.resp.bits := meta.resp.bits - T_178456.meta.resp.bits := meta.resp.bits - T_178457.meta.resp.bits := meta.resp.bits - node T_178544 = eq(meta.resp.bits.id, UInt<1>(0)) - node T_178545 = and(meta.resp.valid, T_178544) - T_178455.meta.resp.valid := T_178545 - node T_178546 = eq(meta.resp.bits.id, UInt<1>(1)) - node T_178547 = and(meta.resp.valid, T_178546) - T_178456.meta.resp.valid := T_178547 - node T_178548 = eq(meta.resp.bits.id, UInt<2>(2)) - node T_178549 = and(meta.resp.valid, T_178548) - T_178457.meta.resp.valid := T_178549 - T_178455.data.resp.bits := data.resp.bits - T_178456.data.resp.bits := data.resp.bits - T_178457.data.resp.bits := data.resp.bits - wb.data.resp.bits := data.resp.bits - node T_178550 = eq(data.resp.bits.id, UInt<1>(0)) - node T_178551 = and(data.resp.valid, T_178550) - T_178455.data.resp.valid := T_178551 - node T_178552 = eq(data.resp.bits.id, UInt<1>(1)) - node T_178553 = and(data.resp.valid, T_178552) - T_178456.data.resp.valid := T_178553 - node T_178554 = eq(data.resp.bits.id, UInt<2>(2)) - node T_178555 = and(data.resp.valid, T_178554) - T_178457.data.resp.valid := T_178555 - node T_178556 = eq(data.resp.bits.id, UInt<2>(3)) - node T_178557 = and(data.resp.valid, T_178556) - wb.data.resp.valid := T_178557 - module L2HellaCacheBank : - output inner : {flip acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>, client_id : UInt<2>}}, grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>, client_id : UInt<2>}}, flip finish : {flip ready : UInt<1>, valid : UInt<1>, bits : {manager_xact_id : UInt<2>}}, probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>, client_id : UInt<2>}}, flip release : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>, client_id : UInt<2>}}} - input incoherent : UInt<1>[1] - output outer : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<2>, manager_xact_id : UInt<1>, is_builtin_type : UInt<1>, g_type : UInt<4>}}, flip probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>}}, release : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}} - - wire T_178558 : UInt<3>[3] - T_178558[0] := UInt<3>(0) - T_178558[1] := UInt<3>(1) - T_178558[2] := UInt<3>(2) - wire T_178559 : UInt<2>[2] - T_178559[0] := UInt<2>(0) - T_178559[1] := UInt<2>(1) - wire T_178560 : UInt<2>[3] - T_178560[0] := UInt<2>(1) - T_178560[1] := UInt<2>(2) - T_178560[2] := UInt<2>(3) - wire T_178561 : UInt<2>[2] - T_178561[0] := UInt<2>(2) - T_178561[1] := UInt<2>(3) - wire T_178562 : UInt<2>[1] - T_178562[0] := UInt<2>(3) - wire T_178563 : UInt<3>[3] - T_178563[0] := UInt<3>(0) - T_178563[1] := UInt<3>(1) - T_178563[2] := UInt<3>(2) - wire T_178564 : UInt<2>[2] - T_178564[0] := UInt<2>(0) - T_178564[1] := UInt<2>(1) - wire T_178565 : UInt<2>[3] - T_178565[0] := UInt<2>(1) - T_178565[1] := UInt<2>(2) - T_178565[2] := UInt<2>(3) - wire T_178566 : UInt<2>[2] - T_178566[0] := UInt<2>(2) - T_178566[1] := UInt<2>(3) - wire T_178567 : UInt<2>[1] - T_178567[0] := UInt<2>(3) - wire T_178568 : UInt<3>[3] - T_178568[0] := UInt<3>(0) - T_178568[1] := UInt<3>(1) - T_178568[2] := UInt<3>(2) - wire T_178569 : UInt<2>[2] - T_178569[0] := UInt<2>(0) - T_178569[1] := UInt<2>(1) - wire T_178570 : UInt<2>[3] - T_178570[0] := UInt<2>(1) - T_178570[1] := UInt<2>(2) - T_178570[2] := UInt<2>(3) - wire T_178571 : UInt<2>[2] - T_178571[0] := UInt<2>(2) - T_178571[1] := UInt<2>(3) - wire T_178572 : UInt<2>[1] - T_178572[0] := UInt<2>(3) - wire T_178573 : UInt<3>[3] - T_178573[0] := UInt<3>(0) - T_178573[1] := UInt<3>(1) - T_178573[2] := UInt<3>(2) - wire T_178574 : UInt<2>[2] - T_178574[0] := UInt<2>(0) - T_178574[1] := UInt<2>(1) - wire T_178575 : UInt<2>[3] - T_178575[0] := UInt<2>(1) - T_178575[1] := UInt<2>(2) - T_178575[2] := UInt<2>(3) - wire T_178576 : UInt<2>[2] - T_178576[0] := UInt<2>(2) - T_178576[1] := UInt<2>(3) - wire T_178577 : UInt<2>[1] - T_178577[0] := UInt<2>(3) - wire T_178578 : UInt<3>[3] - T_178578[0] := UInt<3>(0) - T_178578[1] := UInt<3>(1) - T_178578[2] := UInt<3>(2) - wire T_178579 : UInt<2>[2] - T_178579[0] := UInt<2>(0) - T_178579[1] := UInt<2>(1) - wire T_178580 : UInt<2>[3] - T_178580[0] := UInt<2>(1) - T_178580[1] := UInt<2>(2) - T_178580[2] := UInt<2>(3) - wire T_178581 : UInt<2>[2] - T_178581[0] := UInt<2>(2) - T_178581[1] := UInt<2>(3) - wire T_178582 : UInt<2>[1] - T_178582[0] := UInt<2>(3) - wire T_178583 : UInt<3>[3] - T_178583[0] := UInt<3>(0) - T_178583[1] := UInt<3>(1) - T_178583[2] := UInt<3>(2) - wire T_178584 : UInt<2>[2] - T_178584[0] := UInt<2>(0) - T_178584[1] := UInt<2>(1) - wire T_178585 : UInt<2>[3] - T_178585[0] := UInt<2>(1) - T_178585[1] := UInt<2>(2) - T_178585[2] := UInt<2>(3) - wire T_178586 : UInt<2>[2] - T_178586[0] := UInt<2>(2) - T_178586[1] := UInt<2>(3) - wire T_178587 : UInt<2>[1] - T_178587[0] := UInt<2>(3) - wire T_178588 : UInt<3>[3] - T_178588[0] := UInt<3>(0) - T_178588[1] := UInt<3>(1) - T_178588[2] := UInt<3>(2) - wire T_178589 : UInt<2>[2] - T_178589[0] := UInt<2>(0) - T_178589[1] := UInt<2>(1) - wire T_178590 : UInt<2>[3] - T_178590[0] := UInt<2>(1) - T_178590[1] := UInt<2>(2) - T_178590[2] := UInt<2>(3) - wire T_178591 : UInt<2>[2] - T_178591[0] := UInt<2>(2) - T_178591[1] := UInt<2>(3) - wire T_178592 : UInt<2>[1] - T_178592[0] := UInt<2>(3) - wire T_178593 : UInt<3>[3] - T_178593[0] := UInt<3>(0) - T_178593[1] := UInt<3>(1) - T_178593[2] := UInt<3>(2) - wire T_178594 : UInt<2>[2] - T_178594[0] := UInt<2>(0) - T_178594[1] := UInt<2>(1) - wire T_178595 : UInt<2>[3] - T_178595[0] := UInt<2>(1) - T_178595[1] := UInt<2>(2) - T_178595[2] := UInt<2>(3) - wire T_178596 : UInt<2>[2] - T_178596[0] := UInt<2>(2) - T_178596[1] := UInt<2>(3) - wire T_178597 : UInt<2>[1] - T_178597[0] := UInt<2>(3) - wire T_178598 : UInt<3>[3] - T_178598[0] := UInt<3>(0) - T_178598[1] := UInt<3>(1) - T_178598[2] := UInt<3>(2) - wire T_178599 : UInt<2>[2] - T_178599[0] := UInt<2>(0) - T_178599[1] := UInt<2>(1) - wire T_178600 : UInt<2>[3] - T_178600[0] := UInt<2>(1) - T_178600[1] := UInt<2>(2) - T_178600[2] := UInt<2>(3) - wire T_178601 : UInt<2>[2] - T_178601[0] := UInt<2>(2) - T_178601[1] := UInt<2>(3) - wire T_178602 : UInt<2>[1] - T_178602[0] := UInt<2>(3) - wire T_178603 : UInt<3>[3] - T_178603[0] := UInt<3>(0) - T_178603[1] := UInt<3>(1) - T_178603[2] := UInt<3>(2) - wire T_178604 : UInt<2>[2] - T_178604[0] := UInt<2>(0) - T_178604[1] := UInt<2>(1) - wire T_178605 : UInt<2>[3] - T_178605[0] := UInt<2>(1) - T_178605[1] := UInt<2>(2) - T_178605[2] := UInt<2>(3) - wire T_178606 : UInt<2>[2] - T_178606[0] := UInt<2>(2) - T_178606[1] := UInt<2>(3) - wire T_178607 : UInt<2>[1] - T_178607[0] := UInt<2>(3) - wire T_178608 : UInt<3>[3] - T_178608[0] := UInt<3>(0) - T_178608[1] := UInt<3>(1) - T_178608[2] := UInt<3>(2) - wire T_178609 : UInt<2>[2] - T_178609[0] := UInt<2>(0) - T_178609[1] := UInt<2>(1) - wire T_178610 : UInt<2>[3] - T_178610[0] := UInt<2>(1) - T_178610[1] := UInt<2>(2) - T_178610[2] := UInt<2>(3) - wire T_178611 : UInt<2>[2] - T_178611[0] := UInt<2>(2) - T_178611[1] := UInt<2>(3) - wire T_178612 : UInt<2>[1] - T_178612[0] := UInt<2>(3) - wire incoherent : UInt<1>[1] - incoherent[0] := T_178613 - wire T_178614 : UInt<3>[3] - T_178614[0] := UInt<3>(0) - T_178614[1] := UInt<3>(1) - T_178614[2] := UInt<3>(2) - wire T_178615 : UInt<0>[1] - T_178615[0] := UInt<0>(0) - wire T_178616 : UInt<2>[2] - T_178616[0] := UInt<2>(1) - T_178616[1] := UInt<2>(2) - wire T_178617 : UInt<2>[2] - T_178617[0] := UInt<2>(1) - T_178617[1] := UInt<2>(2) - wire T_178618 : UInt<2>[1] - T_178618[0] := UInt<2>(2) - wire T_178619 : UInt<3>[3] - T_178619[0] := UInt<3>(0) - T_178619[1] := UInt<3>(1) - T_178619[2] := UInt<3>(2) - wire T_178620 : UInt<0>[1] - T_178620[0] := UInt<0>(0) - wire T_178621 : UInt<2>[2] - T_178621[0] := UInt<2>(1) - T_178621[1] := UInt<2>(2) - wire T_178622 : UInt<2>[2] - T_178622[0] := UInt<2>(1) - T_178622[1] := UInt<2>(2) - wire T_178623 : UInt<2>[1] - T_178623[0] := UInt<2>(2) - wire T_178624 : UInt<3>[3] - T_178624[0] := UInt<3>(0) - T_178624[1] := UInt<3>(1) - T_178624[2] := UInt<3>(2) - wire T_178625 : UInt<0>[1] - T_178625[0] := UInt<0>(0) - wire T_178626 : UInt<2>[2] - T_178626[0] := UInt<2>(1) - T_178626[1] := UInt<2>(2) - wire T_178627 : UInt<2>[2] - T_178627[0] := UInt<2>(1) - T_178627[1] := UInt<2>(2) - wire T_178628 : UInt<2>[1] - T_178628[0] := UInt<2>(2) - wire T_178629 : UInt<3>[3] - T_178629[0] := UInt<3>(0) - T_178629[1] := UInt<3>(1) - T_178629[2] := UInt<3>(2) - wire T_178630 : UInt<0>[1] - T_178630[0] := UInt<0>(0) - wire T_178631 : UInt<2>[2] - T_178631[0] := UInt<2>(1) - T_178631[1] := UInt<2>(2) - wire T_178632 : UInt<2>[2] - T_178632[0] := UInt<2>(1) - T_178632[1] := UInt<2>(2) - wire T_178633 : UInt<2>[1] - T_178633[0] := UInt<2>(2) - wire T_178634 : UInt<3>[3] - T_178634[0] := UInt<3>(0) - T_178634[1] := UInt<3>(1) - T_178634[2] := UInt<3>(2) - wire T_178635 : UInt<0>[1] - T_178635[0] := UInt<0>(0) - wire T_178636 : UInt<2>[2] - T_178636[0] := UInt<2>(1) - T_178636[1] := UInt<2>(2) - wire T_178637 : UInt<2>[2] - T_178637[0] := UInt<2>(1) - T_178637[1] := UInt<2>(2) - wire T_178638 : UInt<2>[1] - T_178638[0] := UInt<2>(2) - wire T_178639 : UInt<3>[3] - T_178639[0] := UInt<3>(0) - T_178639[1] := UInt<3>(1) - T_178639[2] := UInt<3>(2) - wire T_178640 : UInt<0>[1] - T_178640[0] := UInt<0>(0) - wire T_178641 : UInt<2>[2] - T_178641[0] := UInt<2>(1) - T_178641[1] := UInt<2>(2) - wire T_178642 : UInt<2>[2] - T_178642[0] := UInt<2>(1) - T_178642[1] := UInt<2>(2) - wire T_178643 : UInt<2>[1] - T_178643[0] := UInt<2>(2) - wire T_178644 : UInt<3>[3] - T_178644[0] := UInt<3>(0) - T_178644[1] := UInt<3>(1) - T_178644[2] := UInt<3>(2) - wire T_178645 : UInt<0>[1] - T_178645[0] := UInt<0>(0) - wire T_178646 : UInt<2>[2] - T_178646[0] := UInt<2>(1) - T_178646[1] := UInt<2>(2) - wire T_178647 : UInt<2>[2] - T_178647[0] := UInt<2>(1) - T_178647[1] := UInt<2>(2) - wire T_178648 : UInt<2>[1] - T_178648[0] := UInt<2>(2) - wire T_178649 : UInt<3>[3] - T_178649[0] := UInt<3>(0) - T_178649[1] := UInt<3>(1) - T_178649[2] := UInt<3>(2) - wire T_178650 : UInt<0>[1] - T_178650[0] := UInt<0>(0) - wire T_178651 : UInt<2>[2] - T_178651[0] := UInt<2>(1) - T_178651[1] := UInt<2>(2) - wire T_178652 : UInt<2>[2] - T_178652[0] := UInt<2>(1) - T_178652[1] := UInt<2>(2) - wire T_178653 : UInt<2>[1] - T_178653[0] := UInt<2>(2) - wire T_178654 : UInt<3>[3] - T_178654[0] := UInt<3>(0) - T_178654[1] := UInt<3>(1) - T_178654[2] := UInt<3>(2) - wire T_178655 : UInt<0>[1] - T_178655[0] := UInt<0>(0) - wire T_178656 : UInt<2>[2] - T_178656[0] := UInt<2>(1) - T_178656[1] := UInt<2>(2) - wire T_178657 : UInt<2>[2] - T_178657[0] := UInt<2>(1) - T_178657[1] := UInt<2>(2) - wire T_178658 : UInt<2>[1] - T_178658[0] := UInt<2>(2) - inst meta of L2MetadataArray - inst data of L2DataArray - inst tshrfile of TSHRFile - tshrfile.inner <> inner - outer <> tshrfile.outer - incoherent[0] <> tshrfile.incoherent[0] - tshrfile.meta <> meta - tshrfile.data <> data - module FinishQueue_113456 : - input enq : {flip ready : UInt<1>, valid : UInt<1>, bits : {fin : {manager_xact_id : UInt<1>}, dst : UInt<1>}} - output deq : {flip ready : UInt<1>, valid : UInt<1>, bits : {fin : {manager_xact_id : UInt<1>}, dst : UInt<1>}} - output count : UInt<2> - - wire T_178659 : UInt<3>[3] - T_178659[0] := UInt<3>(0) - T_178659[1] := UInt<3>(1) - T_178659[2] := UInt<3>(2) - wire T_178660 : UInt<0>[1] - T_178660[0] := UInt<0>(0) - wire T_178661 : UInt<2>[2] - T_178661[0] := UInt<2>(1) - T_178661[1] := UInt<2>(2) - wire T_178662 : UInt<2>[2] - T_178662[0] := UInt<2>(1) - T_178662[1] := UInt<2>(2) - wire T_178663 : UInt<2>[1] - T_178663[0] := UInt<2>(2) - wire T_178664 : UInt<3>[3] - T_178664[0] := UInt<3>(0) - T_178664[1] := UInt<3>(1) - T_178664[2] := UInt<3>(2) - wire T_178665 : UInt<0>[1] - T_178665[0] := UInt<0>(0) - wire T_178666 : UInt<2>[2] - T_178666[0] := UInt<2>(1) - T_178666[1] := UInt<2>(2) - wire T_178667 : UInt<2>[2] - T_178667[0] := UInt<2>(1) - T_178667[1] := UInt<2>(2) - wire T_178668 : UInt<2>[1] - T_178668[0] := UInt<2>(2) - wire T_178669 : UInt<3>[3] - T_178669[0] := UInt<3>(0) - T_178669[1] := UInt<3>(1) - T_178669[2] := UInt<3>(2) - wire T_178670 : UInt<0>[1] - T_178670[0] := UInt<0>(0) - wire T_178671 : UInt<2>[2] - T_178671[0] := UInt<2>(1) - T_178671[1] := UInt<2>(2) - wire T_178672 : UInt<2>[2] - T_178672[0] := UInt<2>(1) - T_178672[1] := UInt<2>(2) - wire T_178673 : UInt<2>[1] - T_178673[0] := UInt<2>(2) - wire T_178674 : UInt<3>[3] - T_178674[0] := UInt<3>(0) - T_178674[1] := UInt<3>(1) - T_178674[2] := UInt<3>(2) - wire T_178675 : UInt<0>[1] - T_178675[0] := UInt<0>(0) - wire T_178676 : UInt<2>[2] - T_178676[0] := UInt<2>(1) - T_178676[1] := UInt<2>(2) - wire T_178677 : UInt<2>[2] - T_178677[0] := UInt<2>(1) - T_178677[1] := UInt<2>(2) - wire T_178678 : UInt<2>[1] - T_178678[0] := UInt<2>(2) - wire T_178679 : UInt<3>[3] - T_178679[0] := UInt<3>(0) - T_178679[1] := UInt<3>(1) - T_178679[2] := UInt<3>(2) - wire T_178680 : UInt<0>[1] - T_178680[0] := UInt<0>(0) - wire T_178681 : UInt<2>[2] - T_178681[0] := UInt<2>(1) - T_178681[1] := UInt<2>(2) - wire T_178682 : UInt<2>[2] - T_178682[0] := UInt<2>(1) - T_178682[1] := UInt<2>(2) - wire T_178683 : UInt<2>[1] - T_178683[0] := UInt<2>(2) - wire T_178684 : UInt<3>[3] - T_178684[0] := UInt<3>(0) - T_178684[1] := UInt<3>(1) - T_178684[2] := UInt<3>(2) - wire T_178685 : UInt<0>[1] - T_178685[0] := UInt<0>(0) - wire T_178686 : UInt<2>[2] - T_178686[0] := UInt<2>(1) - T_178686[1] := UInt<2>(2) - wire T_178687 : UInt<2>[2] - T_178687[0] := UInt<2>(1) - T_178687[1] := UInt<2>(2) - wire T_178688 : UInt<2>[1] - T_178688[0] := UInt<2>(2) - wire T_178689 : UInt<3>[3] - T_178689[0] := UInt<3>(0) - T_178689[1] := UInt<3>(1) - T_178689[2] := UInt<3>(2) - wire T_178690 : UInt<0>[1] - T_178690[0] := UInt<0>(0) - wire T_178691 : UInt<2>[2] - T_178691[0] := UInt<2>(1) - T_178691[1] := UInt<2>(2) - wire T_178692 : UInt<2>[2] - T_178692[0] := UInt<2>(1) - T_178692[1] := UInt<2>(2) - wire T_178693 : UInt<2>[1] - T_178693[0] := UInt<2>(2) - wire T_178694 : UInt<3>[3] - T_178694[0] := UInt<3>(0) - T_178694[1] := UInt<3>(1) - T_178694[2] := UInt<3>(2) - wire T_178695 : UInt<0>[1] - T_178695[0] := UInt<0>(0) - wire T_178696 : UInt<2>[2] - T_178696[0] := UInt<2>(1) - T_178696[1] := UInt<2>(2) - wire T_178697 : UInt<2>[2] - T_178697[0] := UInt<2>(1) - T_178697[1] := UInt<2>(2) - wire T_178698 : UInt<2>[1] - T_178698[0] := UInt<2>(2) - wire T_178699 : UInt<3>[3] - T_178699[0] := UInt<3>(0) - T_178699[1] := UInt<3>(1) - T_178699[2] := UInt<3>(2) - wire T_178700 : UInt<0>[1] - T_178700[0] := UInt<0>(0) - wire T_178701 : UInt<2>[2] - T_178701[0] := UInt<2>(1) - T_178701[1] := UInt<2>(2) - wire T_178702 : UInt<2>[2] - T_178702[0] := UInt<2>(1) - T_178702[1] := UInt<2>(2) - wire T_178703 : UInt<2>[1] - T_178703[0] := UInt<2>(2) - wire T_178704 : UInt<3>[3] - T_178704[0] := UInt<3>(0) - T_178704[1] := UInt<3>(1) - T_178704[2] := UInt<3>(2) - wire T_178705 : UInt<0>[1] - T_178705[0] := UInt<0>(0) - wire T_178706 : UInt<2>[2] - T_178706[0] := UInt<2>(1) - T_178706[1] := UInt<2>(2) - wire T_178707 : UInt<2>[2] - T_178707[0] := UInt<2>(1) - T_178707[1] := UInt<2>(2) - wire T_178708 : UInt<2>[1] - T_178708[0] := UInt<2>(2) - cmem T_178709 : {fin : {manager_xact_id : UInt<1>}, dst : UInt<1>}[2] - reg T_178710 : UInt<1> - onreset T_178710 := UInt<1>(0) - reg T_178711 : UInt<1> - onreset T_178711 := UInt<1>(0) - reg T_178712 : UInt<1> - onreset T_178712 := UInt<1>(0) - node T_178713 = eq(T_178710, T_178711) - node T_178714 = eq(T_178712, UInt<1>(0)) - node T_178715 = and(T_178713, T_178714) - node T_178716 = and(T_178713, T_178712) - node T_178717 = and(UInt<1>(0), T_178715) - node T_178718 = and(T_178717, deq.ready) - node T_178719 = and(enq.ready, enq.valid) - node T_178720 = eq(T_178718, UInt<1>(0)) - node T_178721 = and(T_178719, T_178720) - node T_178722 = and(deq.ready, deq.valid) - node T_178723 = eq(T_178718, UInt<1>(0)) - node T_178724 = and(T_178722, T_178723) - when T_178721 : - wire T_178725 : UInt<3>[3] - T_178725[0] := UInt<3>(0) - T_178725[1] := UInt<3>(1) - T_178725[2] := UInt<3>(2) - wire T_178726 : UInt<0>[1] - T_178726[0] := UInt<0>(0) - wire T_178727 : UInt<2>[2] - T_178727[0] := UInt<2>(1) - T_178727[1] := UInt<2>(2) - wire T_178728 : UInt<2>[2] - T_178728[0] := UInt<2>(1) - T_178728[1] := UInt<2>(2) - wire T_178729 : UInt<2>[1] - T_178729[0] := UInt<2>(2) - wire T_178730 : UInt<3>[3] - T_178730[0] := UInt<3>(0) - T_178730[1] := UInt<3>(1) - T_178730[2] := UInt<3>(2) - wire T_178731 : UInt<0>[1] - T_178731[0] := UInt<0>(0) - wire T_178732 : UInt<2>[2] - T_178732[0] := UInt<2>(1) - T_178732[1] := UInt<2>(2) - wire T_178733 : UInt<2>[2] - T_178733[0] := UInt<2>(1) - T_178733[1] := UInt<2>(2) - wire T_178734 : UInt<2>[1] - T_178734[0] := UInt<2>(2) - accessor T_178735 = T_178709[T_178710] - T_178735 := enq.bits - node T_178736 = eq(T_178710, UInt<1>(1)) - node T_178737 = and(UInt<1>(0), T_178736) - node T_178738 = addw(T_178710, UInt<1>(1)) - wire T_178739 : UInt<1> - T_178739 := T_178738 - when T_178737 : T_178739 := UInt<1>(0) - T_178710 := T_178739 - when T_178724 : - node T_178740 = eq(T_178711, UInt<1>(1)) - node T_178741 = and(UInt<1>(0), T_178740) - node T_178742 = addw(T_178711, UInt<1>(1)) - wire T_178743 : UInt<1> - T_178743 := T_178742 - when T_178741 : T_178743 := UInt<1>(0) - T_178711 := T_178743 - - node T_178744 = neq(T_178721, T_178724) - when T_178744 : T_178712 := T_178721 - node T_178745 = eq(T_178715, UInt<1>(0)) - node T_178746 = and(UInt<1>(0), enq.valid) - node T_178747 = or(T_178745, T_178746) - deq.valid := T_178747 - node T_178748 = eq(T_178716, UInt<1>(0)) - node T_178749 = and(UInt<1>(0), deq.ready) - node T_178750 = or(T_178748, T_178749) - enq.ready := T_178750 - wire T_178751 : UInt<3>[3] - T_178751[0] := UInt<3>(0) - T_178751[1] := UInt<3>(1) - T_178751[2] := UInt<3>(2) - wire T_178752 : UInt<0>[1] - T_178752[0] := UInt<0>(0) - wire T_178753 : UInt<2>[2] - T_178753[0] := UInt<2>(1) - T_178753[1] := UInt<2>(2) - wire T_178754 : UInt<2>[2] - T_178754[0] := UInt<2>(1) - T_178754[1] := UInt<2>(2) - wire T_178755 : UInt<2>[1] - T_178755[0] := UInt<2>(2) - wire T_178756 : UInt<3>[3] - T_178756[0] := UInt<3>(0) - T_178756[1] := UInt<3>(1) - T_178756[2] := UInt<3>(2) - wire T_178757 : UInt<0>[1] - T_178757[0] := UInt<0>(0) - wire T_178758 : UInt<2>[2] - T_178758[0] := UInt<2>(1) - T_178758[1] := UInt<2>(2) - wire T_178759 : UInt<2>[2] - T_178759[0] := UInt<2>(1) - T_178759[1] := UInt<2>(2) - wire T_178760 : UInt<2>[1] - T_178760[0] := UInt<2>(2) - accessor T_178761 = T_178709[T_178711] - wire T_178762 : UInt<3>[3] - T_178762[0] := UInt<3>(0) - T_178762[1] := UInt<3>(1) - T_178762[2] := UInt<3>(2) - wire T_178763 : UInt<0>[1] - T_178763[0] := UInt<0>(0) - wire T_178764 : UInt<2>[2] - T_178764[0] := UInt<2>(1) - T_178764[1] := UInt<2>(2) - wire T_178765 : UInt<2>[2] - T_178765[0] := UInt<2>(1) - T_178765[1] := UInt<2>(2) - wire T_178766 : UInt<2>[1] - T_178766[0] := UInt<2>(2) - wire T_178767 : UInt<3>[3] - T_178767[0] := UInt<3>(0) - T_178767[1] := UInt<3>(1) - T_178767[2] := UInt<3>(2) - wire T_178768 : UInt<0>[1] - T_178768[0] := UInt<0>(0) - wire T_178769 : UInt<2>[2] - T_178769[0] := UInt<2>(1) - T_178769[1] := UInt<2>(2) - wire T_178770 : UInt<2>[2] - T_178770[0] := UInt<2>(1) - T_178770[1] := UInt<2>(2) - wire T_178771 : UInt<2>[1] - T_178771[0] := UInt<2>(2) - wire T_178772 : {fin : {manager_xact_id : UInt<1>}, dst : UInt<1>} - T_178772 := T_178761 - when T_178717 : T_178772 := enq.bits - deq.bits := T_178772 - node T_178773 = subw(T_178710, T_178711) - node T_178774 = and(T_178712, T_178713) - node T_178775 = cat(T_178774, T_178773) - count := T_178775 - module FinishUnit_113600 : - input grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<1>, dst : UInt<1>}, payload : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<2>, manager_xact_id : UInt<1>, is_builtin_type : UInt<1>, g_type : UInt<4>}}} - output refill : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<2>, manager_xact_id : UInt<1>, is_builtin_type : UInt<1>, g_type : UInt<4>}} - output finish : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<1>, dst : UInt<1>}, payload : {manager_xact_id : UInt<1>}}} - output ready : UInt<1> - - wire T_178776 : UInt<3>[3] - T_178776[0] := UInt<3>(0) - T_178776[1] := UInt<3>(1) - T_178776[2] := UInt<3>(2) - wire T_178777 : UInt<0>[1] - T_178777[0] := UInt<0>(0) - wire T_178778 : UInt<2>[2] - T_178778[0] := UInt<2>(1) - T_178778[1] := UInt<2>(2) - wire T_178779 : UInt<2>[2] - T_178779[0] := UInt<2>(1) - T_178779[1] := UInt<2>(2) - wire T_178780 : UInt<2>[1] - T_178780[0] := UInt<2>(2) - wire T_178781 : UInt<3>[3] - T_178781[0] := UInt<3>(0) - T_178781[1] := UInt<3>(1) - T_178781[2] := UInt<3>(2) - wire T_178782 : UInt<0>[1] - T_178782[0] := UInt<0>(0) - wire T_178783 : UInt<2>[2] - T_178783[0] := UInt<2>(1) - T_178783[1] := UInt<2>(2) - wire T_178784 : UInt<2>[2] - T_178784[0] := UInt<2>(1) - T_178784[1] := UInt<2>(2) - wire T_178785 : UInt<2>[1] - T_178785[0] := UInt<2>(2) - wire T_178786 : UInt<3>[3] - T_178786[0] := UInt<3>(0) - T_178786[1] := UInt<3>(1) - T_178786[2] := UInt<3>(2) - wire T_178787 : UInt<0>[1] - T_178787[0] := UInt<0>(0) - wire T_178788 : UInt<2>[2] - T_178788[0] := UInt<2>(1) - T_178788[1] := UInt<2>(2) - wire T_178789 : UInt<2>[2] - T_178789[0] := UInt<2>(1) - T_178789[1] := UInt<2>(2) - wire T_178790 : UInt<2>[1] - T_178790[0] := UInt<2>(2) - wire T_178791 : UInt<3>[3] - T_178791[0] := UInt<3>(0) - T_178791[1] := UInt<3>(1) - T_178791[2] := UInt<3>(2) - wire T_178792 : UInt<0>[1] - T_178792[0] := UInt<0>(0) - wire T_178793 : UInt<2>[2] - T_178793[0] := UInt<2>(1) - T_178793[1] := UInt<2>(2) - wire T_178794 : UInt<2>[2] - T_178794[0] := UInt<2>(1) - T_178794[1] := UInt<2>(2) - wire T_178795 : UInt<2>[1] - T_178795[0] := UInt<2>(2) - wire T_178796 : UInt<3>[3] - T_178796[0] := UInt<3>(0) - T_178796[1] := UInt<3>(1) - T_178796[2] := UInt<3>(2) - wire T_178797 : UInt<0>[1] - T_178797[0] := UInt<0>(0) - wire T_178798 : UInt<2>[2] - T_178798[0] := UInt<2>(1) - T_178798[1] := UInt<2>(2) - wire T_178799 : UInt<2>[2] - T_178799[0] := UInt<2>(1) - T_178799[1] := UInt<2>(2) - wire T_178800 : UInt<2>[1] - T_178800[0] := UInt<2>(2) - wire T_178801 : UInt<3>[3] - T_178801[0] := UInt<3>(0) - T_178801[1] := UInt<3>(1) - T_178801[2] := UInt<3>(2) - wire T_178802 : UInt<0>[1] - T_178802[0] := UInt<0>(0) - wire T_178803 : UInt<2>[2] - T_178803[0] := UInt<2>(1) - T_178803[1] := UInt<2>(2) - wire T_178804 : UInt<2>[2] - T_178804[0] := UInt<2>(1) - T_178804[1] := UInt<2>(2) - wire T_178805 : UInt<2>[1] - T_178805[0] := UInt<2>(2) - wire T_178806 : UInt<3>[3] - T_178806[0] := UInt<3>(0) - T_178806[1] := UInt<3>(1) - T_178806[2] := UInt<3>(2) - wire T_178807 : UInt<0>[1] - T_178807[0] := UInt<0>(0) - wire T_178808 : UInt<2>[2] - T_178808[0] := UInt<2>(1) - T_178808[1] := UInt<2>(2) - wire T_178809 : UInt<2>[2] - T_178809[0] := UInt<2>(1) - T_178809[1] := UInt<2>(2) - wire T_178810 : UInt<2>[1] - T_178810[0] := UInt<2>(2) - wire T_178811 : UInt<3>[3] - T_178811[0] := UInt<3>(0) - T_178811[1] := UInt<3>(1) - T_178811[2] := UInt<3>(2) - wire T_178812 : UInt<0>[1] - T_178812[0] := UInt<0>(0) - wire T_178813 : UInt<2>[2] - T_178813[0] := UInt<2>(1) - T_178813[1] := UInt<2>(2) - wire T_178814 : UInt<2>[2] - T_178814[0] := UInt<2>(1) - T_178814[1] := UInt<2>(2) - wire T_178815 : UInt<2>[1] - T_178815[0] := UInt<2>(2) - wire T_178816 : UInt<3>[3] - T_178816[0] := UInt<3>(0) - T_178816[1] := UInt<3>(1) - T_178816[2] := UInt<3>(2) - wire T_178817 : UInt<0>[1] - T_178817[0] := UInt<0>(0) - wire T_178818 : UInt<2>[2] - T_178818[0] := UInt<2>(1) - T_178818[1] := UInt<2>(2) - wire T_178819 : UInt<2>[2] - T_178819[0] := UInt<2>(1) - T_178819[1] := UInt<2>(2) - wire T_178820 : UInt<2>[1] - T_178820[0] := UInt<2>(2) - node T_178821 = and(grant.ready, grant.valid) - wire T_178822 : UInt<3>[1] - T_178822[0] := UInt<3>(5) - node T_178823 = eq(T_178822[0], grant.bits.payload.g_type) - node T_178824 = or(UInt<1>(0), T_178823) - node T_178825 = eq(T_178792[0], grant.bits.payload.g_type) - node T_178826 = or(UInt<1>(0), T_178825) - wire T_178827 : UInt<1> - T_178827 := T_178826 - when grant.bits.payload.is_builtin_type : T_178827 := T_178824 - node T_178828 = and(UInt<1>(1), T_178827) - node T_178829 = and(T_178821, T_178828) - reg T_178830 : UInt<2> - onreset T_178830 := UInt<2>(0) - when T_178829 : - node T_178831 = eq(T_178830, UInt<2>(3)) - node T_178832 = and(UInt<1>(0), T_178831) - node T_178833 = addw(T_178830, UInt<1>(1)) - wire T_178834 : UInt<2> - T_178834 := T_178833 - when T_178832 : T_178834 := UInt<1>(0) - T_178830 := T_178834 - node T_178835 = and(T_178829, T_178831) - wire T_178836 : UInt<1> - T_178836 := UInt<1>(0) - when T_178828 : T_178836 := T_178830 - wire T_178837 : UInt<1> - T_178837 := T_178821 - when T_178828 : T_178837 := T_178835 - wire T_178838 : UInt<3>[3] - T_178838[0] := UInt<3>(0) - T_178838[1] := UInt<3>(1) - T_178838[2] := UInt<3>(2) - wire T_178839 : UInt<0>[1] - T_178839[0] := UInt<0>(0) - wire T_178840 : UInt<2>[2] - T_178840[0] := UInt<2>(1) - T_178840[1] := UInt<2>(2) - wire T_178841 : UInt<2>[2] - T_178841[0] := UInt<2>(1) - T_178841[1] := UInt<2>(2) - wire T_178842 : UInt<2>[1] - T_178842[0] := UInt<2>(2) - wire T_178843 : UInt<3>[3] - T_178843[0] := UInt<3>(0) - T_178843[1] := UInt<3>(1) - T_178843[2] := UInt<3>(2) - wire T_178844 : UInt<0>[1] - T_178844[0] := UInt<0>(0) - wire T_178845 : UInt<2>[2] - T_178845[0] := UInt<2>(1) - T_178845[1] := UInt<2>(2) - wire T_178846 : UInt<2>[2] - T_178846[0] := UInt<2>(1) - T_178846[1] := UInt<2>(2) - wire T_178847 : UInt<2>[1] - T_178847[0] := UInt<2>(2) - inst T_178848 of FinishQueue_113456 - node T_178849 = and(grant.ready, grant.valid) - node T_178850 = eq(UInt<1>(0), UInt<1>(0)) - node T_178851 = eq(grant.bits.payload.g_type, UInt<3>(0)) - node T_178852 = and(grant.bits.payload.is_builtin_type, T_178851) - node T_178853 = eq(T_178852, UInt<1>(0)) - node T_178854 = and(T_178850, T_178853) - node T_178855 = and(T_178849, T_178854) - wire T_178856 : UInt<3>[1] - T_178856[0] := UInt<3>(5) - node T_178857 = eq(T_178856[0], grant.bits.payload.g_type) - node T_178858 = or(UInt<1>(0), T_178857) - node T_178859 = eq(T_178792[0], grant.bits.payload.g_type) - node T_178860 = or(UInt<1>(0), T_178859) - wire T_178861 : UInt<1> - T_178861 := T_178860 - when grant.bits.payload.is_builtin_type : T_178861 := T_178858 - node T_178862 = and(UInt<1>(1), T_178861) - node T_178863 = eq(T_178862, UInt<1>(0)) - node T_178864 = or(T_178863, T_178837) - node T_178865 = and(T_178855, T_178864) - T_178848.enq.valid := T_178865 - wire T_178866 : UInt<3>[3] - T_178866[0] := UInt<3>(0) - T_178866[1] := UInt<3>(1) - T_178866[2] := UInt<3>(2) - wire T_178867 : UInt<0>[1] - T_178867[0] := UInt<0>(0) - wire T_178868 : UInt<2>[2] - T_178868[0] := UInt<2>(1) - T_178868[1] := UInt<2>(2) - wire T_178869 : UInt<2>[2] - T_178869[0] := UInt<2>(1) - T_178869[1] := UInt<2>(2) - wire T_178870 : UInt<2>[1] - T_178870[0] := UInt<2>(2) - wire T_178871 : UInt<3>[3] - T_178871[0] := UInt<3>(0) - T_178871[1] := UInt<3>(1) - T_178871[2] := UInt<3>(2) - wire T_178872 : UInt<0>[1] - T_178872[0] := UInt<0>(0) - wire T_178873 : UInt<2>[2] - T_178873[0] := UInt<2>(1) - T_178873[1] := UInt<2>(2) - wire T_178874 : UInt<2>[2] - T_178874[0] := UInt<2>(1) - T_178874[1] := UInt<2>(2) - wire T_178875 : UInt<2>[1] - T_178875[0] := UInt<2>(2) - wire T_178876 : {manager_xact_id : UInt<1>} - T_178876.manager_xact_id := grant.bits.payload.manager_xact_id - T_178848.enq.bits.fin := T_178876 - T_178848.enq.bits.dst := grant.bits.header.src - finish.bits.header.src := UInt<1>(0) - finish.bits.header.dst := T_178848.deq.bits.dst - finish.bits.payload := T_178848.deq.bits.fin - finish.valid := T_178848.deq.valid - T_178848.deq.ready := finish.ready - refill.valid := grant.valid - refill.bits := grant.bits.payload - node T_178877 = eq(UInt<1>(0), UInt<1>(0)) - node T_178878 = eq(grant.bits.payload.g_type, UInt<3>(0)) - node T_178879 = and(grant.bits.payload.is_builtin_type, T_178878) - node T_178880 = eq(T_178879, UInt<1>(0)) - node T_178881 = and(T_178877, T_178880) - node T_178882 = eq(T_178881, UInt<1>(0)) - node T_178883 = or(T_178848.enq.ready, T_178882) - node T_178884 = and(T_178883, refill.ready) - grant.ready := T_178884 - ready := T_178848.enq.ready - module ClientTileLinkNetworkPort_114092 : - input client : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<2>, manager_xact_id : UInt<1>, is_builtin_type : UInt<1>, g_type : UInt<4>}}, flip probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>}}, release : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}} - output network : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<1>, dst : UInt<1>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<1>, dst : UInt<1>}, payload : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<2>, manager_xact_id : UInt<1>, is_builtin_type : UInt<1>, g_type : UInt<4>}}}, finish : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<1>, dst : UInt<1>}, payload : {manager_xact_id : UInt<1>}}}, flip probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<1>, dst : UInt<1>}, payload : {addr_block : UInt<26>, p_type : UInt<2>}}}, release : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<1>, dst : UInt<1>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}}} - - wire T_178885 : UInt<3>[3] - T_178885[0] := UInt<3>(0) - T_178885[1] := UInt<3>(1) - T_178885[2] := UInt<3>(2) - wire T_178886 : UInt<0>[1] - T_178886[0] := UInt<0>(0) - wire T_178887 : UInt<2>[2] - T_178887[0] := UInt<2>(1) - T_178887[1] := UInt<2>(2) - wire T_178888 : UInt<2>[2] - T_178888[0] := UInt<2>(1) - T_178888[1] := UInt<2>(2) - wire T_178889 : UInt<2>[1] - T_178889[0] := UInt<2>(2) - wire T_178890 : UInt<3>[3] - T_178890[0] := UInt<3>(0) - T_178890[1] := UInt<3>(1) - T_178890[2] := UInt<3>(2) - wire T_178891 : UInt<0>[1] - T_178891[0] := UInt<0>(0) - wire T_178892 : UInt<2>[2] - T_178892[0] := UInt<2>(1) - T_178892[1] := UInt<2>(2) - wire T_178893 : UInt<2>[2] - T_178893[0] := UInt<2>(1) - T_178893[1] := UInt<2>(2) - wire T_178894 : UInt<2>[1] - T_178894[0] := UInt<2>(2) - wire T_178895 : UInt<3>[3] - T_178895[0] := UInt<3>(0) - T_178895[1] := UInt<3>(1) - T_178895[2] := UInt<3>(2) - wire T_178896 : UInt<0>[1] - T_178896[0] := UInt<0>(0) - wire T_178897 : UInt<2>[2] - T_178897[0] := UInt<2>(1) - T_178897[1] := UInt<2>(2) - wire T_178898 : UInt<2>[2] - T_178898[0] := UInt<2>(1) - T_178898[1] := UInt<2>(2) - wire T_178899 : UInt<2>[1] - T_178899[0] := UInt<2>(2) - wire T_178900 : UInt<3>[3] - T_178900[0] := UInt<3>(0) - T_178900[1] := UInt<3>(1) - T_178900[2] := UInt<3>(2) - wire T_178901 : UInt<0>[1] - T_178901[0] := UInt<0>(0) - wire T_178902 : UInt<2>[2] - T_178902[0] := UInt<2>(1) - T_178902[1] := UInt<2>(2) - wire T_178903 : UInt<2>[2] - T_178903[0] := UInt<2>(1) - T_178903[1] := UInt<2>(2) - wire T_178904 : UInt<2>[1] - T_178904[0] := UInt<2>(2) - wire T_178905 : UInt<3>[3] - T_178905[0] := UInt<3>(0) - T_178905[1] := UInt<3>(1) - T_178905[2] := UInt<3>(2) - wire T_178906 : UInt<0>[1] - T_178906[0] := UInt<0>(0) - wire T_178907 : UInt<2>[2] - T_178907[0] := UInt<2>(1) - T_178907[1] := UInt<2>(2) - wire T_178908 : UInt<2>[2] - T_178908[0] := UInt<2>(1) - T_178908[1] := UInt<2>(2) - wire T_178909 : UInt<2>[1] - T_178909[0] := UInt<2>(2) - wire T_178910 : UInt<3>[3] - T_178910[0] := UInt<3>(0) - T_178910[1] := UInt<3>(1) - T_178910[2] := UInt<3>(2) - wire T_178911 : UInt<0>[1] - T_178911[0] := UInt<0>(0) - wire T_178912 : UInt<2>[2] - T_178912[0] := UInt<2>(1) - T_178912[1] := UInt<2>(2) - wire T_178913 : UInt<2>[2] - T_178913[0] := UInt<2>(1) - T_178913[1] := UInt<2>(2) - wire T_178914 : UInt<2>[1] - T_178914[0] := UInt<2>(2) - wire T_178915 : UInt<3>[3] - T_178915[0] := UInt<3>(0) - T_178915[1] := UInt<3>(1) - T_178915[2] := UInt<3>(2) - wire T_178916 : UInt<0>[1] - T_178916[0] := UInt<0>(0) - wire T_178917 : UInt<2>[2] - T_178917[0] := UInt<2>(1) - T_178917[1] := UInt<2>(2) - wire T_178918 : UInt<2>[2] - T_178918[0] := UInt<2>(1) - T_178918[1] := UInt<2>(2) - wire T_178919 : UInt<2>[1] - T_178919[0] := UInt<2>(2) - wire T_178920 : UInt<3>[3] - T_178920[0] := UInt<3>(0) - T_178920[1] := UInt<3>(1) - T_178920[2] := UInt<3>(2) - wire T_178921 : UInt<0>[1] - T_178921[0] := UInt<0>(0) - wire T_178922 : UInt<2>[2] - T_178922[0] := UInt<2>(1) - T_178922[1] := UInt<2>(2) - wire T_178923 : UInt<2>[2] - T_178923[0] := UInt<2>(1) - T_178923[1] := UInt<2>(2) - wire T_178924 : UInt<2>[1] - T_178924[0] := UInt<2>(2) - wire T_178925 : UInt<3>[3] - T_178925[0] := UInt<3>(0) - T_178925[1] := UInt<3>(1) - T_178925[2] := UInt<3>(2) - wire T_178926 : UInt<0>[1] - T_178926[0] := UInt<0>(0) - wire T_178927 : UInt<2>[2] - T_178927[0] := UInt<2>(1) - T_178927[1] := UInt<2>(2) - wire T_178928 : UInt<2>[2] - T_178928[0] := UInt<2>(1) - T_178928[1] := UInt<2>(2) - wire T_178929 : UInt<2>[1] - T_178929[0] := UInt<2>(2) - wire T_178930 : UInt<3>[3] - T_178930[0] := UInt<3>(0) - T_178930[1] := UInt<3>(1) - T_178930[2] := UInt<3>(2) - wire T_178931 : UInt<0>[1] - T_178931[0] := UInt<0>(0) - wire T_178932 : UInt<2>[2] - T_178932[0] := UInt<2>(1) - T_178932[1] := UInt<2>(2) - wire T_178933 : UInt<2>[2] - T_178933[0] := UInt<2>(1) - T_178933[1] := UInt<2>(2) - wire T_178934 : UInt<2>[1] - T_178934[0] := UInt<2>(2) - wire T_178935 : UInt<3>[3] - T_178935[0] := UInt<3>(0) - T_178935[1] := UInt<3>(1) - T_178935[2] := UInt<3>(2) - wire T_178936 : UInt<0>[1] - T_178936[0] := UInt<0>(0) - wire T_178937 : UInt<2>[2] - T_178937[0] := UInt<2>(1) - T_178937[1] := UInt<2>(2) - wire T_178938 : UInt<2>[2] - T_178938[0] := UInt<2>(1) - T_178938[1] := UInt<2>(2) - wire T_178939 : UInt<2>[1] - T_178939[0] := UInt<2>(2) - wire T_178940 : UInt<3>[3] - T_178940[0] := UInt<3>(0) - T_178940[1] := UInt<3>(1) - T_178940[2] := UInt<3>(2) - wire T_178941 : UInt<0>[1] - T_178941[0] := UInt<0>(0) - wire T_178942 : UInt<2>[2] - T_178942[0] := UInt<2>(1) - T_178942[1] := UInt<2>(2) - wire T_178943 : UInt<2>[2] - T_178943[0] := UInt<2>(1) - T_178943[1] := UInt<2>(2) - wire T_178944 : UInt<2>[1] - T_178944[0] := UInt<2>(2) - wire T_178945 : UInt<3>[3] - T_178945[0] := UInt<3>(0) - T_178945[1] := UInt<3>(1) - T_178945[2] := UInt<3>(2) - wire T_178946 : UInt<0>[1] - T_178946[0] := UInt<0>(0) - wire T_178947 : UInt<2>[2] - T_178947[0] := UInt<2>(1) - T_178947[1] := UInt<2>(2) - wire T_178948 : UInt<2>[2] - T_178948[0] := UInt<2>(1) - T_178948[1] := UInt<2>(2) - wire T_178949 : UInt<2>[1] - T_178949[0] := UInt<2>(2) - wire T_178950 : UInt<3>[3] - T_178950[0] := UInt<3>(0) - T_178950[1] := UInt<3>(1) - T_178950[2] := UInt<3>(2) - wire T_178951 : UInt<0>[1] - T_178951[0] := UInt<0>(0) - wire T_178952 : UInt<2>[2] - T_178952[0] := UInt<2>(1) - T_178952[1] := UInt<2>(2) - wire T_178953 : UInt<2>[2] - T_178953[0] := UInt<2>(1) - T_178953[1] := UInt<2>(2) - wire T_178954 : UInt<2>[1] - T_178954[0] := UInt<2>(2) - wire T_178955 : UInt<3>[3] - T_178955[0] := UInt<3>(0) - T_178955[1] := UInt<3>(1) - T_178955[2] := UInt<3>(2) - wire T_178956 : UInt<0>[1] - T_178956[0] := UInt<0>(0) - wire T_178957 : UInt<2>[2] - T_178957[0] := UInt<2>(1) - T_178957[1] := UInt<2>(2) - wire T_178958 : UInt<2>[2] - T_178958[0] := UInt<2>(1) - T_178958[1] := UInt<2>(2) - wire T_178959 : UInt<2>[1] - T_178959[0] := UInt<2>(2) - wire T_178960 : UInt<3>[3] - T_178960[0] := UInt<3>(0) - T_178960[1] := UInt<3>(1) - T_178960[2] := UInt<3>(2) - wire T_178961 : UInt<0>[1] - T_178961[0] := UInt<0>(0) - wire T_178962 : UInt<2>[2] - T_178962[0] := UInt<2>(1) - T_178962[1] := UInt<2>(2) - wire T_178963 : UInt<2>[2] - T_178963[0] := UInt<2>(1) - T_178963[1] := UInt<2>(2) - wire T_178964 : UInt<2>[1] - T_178964[0] := UInt<2>(2) - wire T_178965 : UInt<3>[3] - T_178965[0] := UInt<3>(0) - T_178965[1] := UInt<3>(1) - T_178965[2] := UInt<3>(2) - wire T_178966 : UInt<0>[1] - T_178966[0] := UInt<0>(0) - wire T_178967 : UInt<2>[2] - T_178967[0] := UInt<2>(1) - T_178967[1] := UInt<2>(2) - wire T_178968 : UInt<2>[2] - T_178968[0] := UInt<2>(1) - T_178968[1] := UInt<2>(2) - wire T_178969 : UInt<2>[1] - T_178969[0] := UInt<2>(2) - wire T_178970 : UInt<3>[3] - T_178970[0] := UInt<3>(0) - T_178970[1] := UInt<3>(1) - T_178970[2] := UInt<3>(2) - wire T_178971 : UInt<0>[1] - T_178971[0] := UInt<0>(0) - wire T_178972 : UInt<2>[2] - T_178972[0] := UInt<2>(1) - T_178972[1] := UInt<2>(2) - wire T_178973 : UInt<2>[2] - T_178973[0] := UInt<2>(1) - T_178973[1] := UInt<2>(2) - wire T_178974 : UInt<2>[1] - T_178974[0] := UInt<2>(2) - wire T_178975 : UInt<3>[3] - T_178975[0] := UInt<3>(0) - T_178975[1] := UInt<3>(1) - T_178975[2] := UInt<3>(2) - wire T_178976 : UInt<0>[1] - T_178976[0] := UInt<0>(0) - wire T_178977 : UInt<2>[2] - T_178977[0] := UInt<2>(1) - T_178977[1] := UInt<2>(2) - wire T_178978 : UInt<2>[2] - T_178978[0] := UInt<2>(1) - T_178978[1] := UInt<2>(2) - wire T_178979 : UInt<2>[1] - T_178979[0] := UInt<2>(2) - wire T_178980 : UInt<3>[3] - T_178980[0] := UInt<3>(0) - T_178980[1] := UInt<3>(1) - T_178980[2] := UInt<3>(2) - wire T_178981 : UInt<0>[1] - T_178981[0] := UInt<0>(0) - wire T_178982 : UInt<2>[2] - T_178982[0] := UInt<2>(1) - T_178982[1] := UInt<2>(2) - wire T_178983 : UInt<2>[2] - T_178983[0] := UInt<2>(1) - T_178983[1] := UInt<2>(2) - wire T_178984 : UInt<2>[1] - T_178984[0] := UInt<2>(2) - wire T_178985 : UInt<3>[3] - T_178985[0] := UInt<3>(0) - T_178985[1] := UInt<3>(1) - T_178985[2] := UInt<3>(2) - wire T_178986 : UInt<0>[1] - T_178986[0] := UInt<0>(0) - wire T_178987 : UInt<2>[2] - T_178987[0] := UInt<2>(1) - T_178987[1] := UInt<2>(2) - wire T_178988 : UInt<2>[2] - T_178988[0] := UInt<2>(1) - T_178988[1] := UInt<2>(2) - wire T_178989 : UInt<2>[1] - T_178989[0] := UInt<2>(2) - wire T_178990 : UInt<3>[3] - T_178990[0] := UInt<3>(0) - T_178990[1] := UInt<3>(1) - T_178990[2] := UInt<3>(2) - wire T_178991 : UInt<0>[1] - T_178991[0] := UInt<0>(0) - wire T_178992 : UInt<2>[2] - T_178992[0] := UInt<2>(1) - T_178992[1] := UInt<2>(2) - wire T_178993 : UInt<2>[2] - T_178993[0] := UInt<2>(1) - T_178993[1] := UInt<2>(2) - wire T_178994 : UInt<2>[1] - T_178994[0] := UInt<2>(2) - wire T_178995 : UInt<3>[3] - T_178995[0] := UInt<3>(0) - T_178995[1] := UInt<3>(1) - T_178995[2] := UInt<3>(2) - wire T_178996 : UInt<0>[1] - T_178996[0] := UInt<0>(0) - wire T_178997 : UInt<2>[2] - T_178997[0] := UInt<2>(1) - T_178997[1] := UInt<2>(2) - wire T_178998 : UInt<2>[2] - T_178998[0] := UInt<2>(1) - T_178998[1] := UInt<2>(2) - wire T_178999 : UInt<2>[1] - T_178999[0] := UInt<2>(2) - wire T_179000 : UInt<3>[3] - T_179000[0] := UInt<3>(0) - T_179000[1] := UInt<3>(1) - T_179000[2] := UInt<3>(2) - wire T_179001 : UInt<0>[1] - T_179001[0] := UInt<0>(0) - wire T_179002 : UInt<2>[2] - T_179002[0] := UInt<2>(1) - T_179002[1] := UInt<2>(2) - wire T_179003 : UInt<2>[2] - T_179003[0] := UInt<2>(1) - T_179003[1] := UInt<2>(2) - wire T_179004 : UInt<2>[1] - T_179004[0] := UInt<2>(2) - wire T_179005 : UInt<3>[3] - T_179005[0] := UInt<3>(0) - T_179005[1] := UInt<3>(1) - T_179005[2] := UInt<3>(2) - wire T_179006 : UInt<0>[1] - T_179006[0] := UInt<0>(0) - wire T_179007 : UInt<2>[2] - T_179007[0] := UInt<2>(1) - T_179007[1] := UInt<2>(2) - wire T_179008 : UInt<2>[2] - T_179008[0] := UInt<2>(1) - T_179008[1] := UInt<2>(2) - wire T_179009 : UInt<2>[1] - T_179009[0] := UInt<2>(2) - wire T_179010 : UInt<3>[3] - T_179010[0] := UInt<3>(0) - T_179010[1] := UInt<3>(1) - T_179010[2] := UInt<3>(2) - wire T_179011 : UInt<0>[1] - T_179011[0] := UInt<0>(0) - wire T_179012 : UInt<2>[2] - T_179012[0] := UInt<2>(1) - T_179012[1] := UInt<2>(2) - wire T_179013 : UInt<2>[2] - T_179013[0] := UInt<2>(1) - T_179013[1] := UInt<2>(2) - wire T_179014 : UInt<2>[1] - T_179014[0] := UInt<2>(2) - inst finisher of FinishUnit_113600 - finisher.grant <> network.grant - network.finish <> finisher.finish - wire T_179015 : UInt<3>[3] - T_179015[0] := UInt<3>(0) - T_179015[1] := UInt<3>(1) - T_179015[2] := UInt<3>(2) - wire T_179016 : UInt<0>[1] - T_179016[0] := UInt<0>(0) - wire T_179017 : UInt<2>[2] - T_179017[0] := UInt<2>(1) - T_179017[1] := UInt<2>(2) - wire T_179018 : UInt<2>[2] - T_179018[0] := UInt<2>(1) - T_179018[1] := UInt<2>(2) - wire T_179019 : UInt<2>[1] - T_179019[0] := UInt<2>(2) - wire T_179020 : UInt<3>[3] - T_179020[0] := UInt<3>(0) - T_179020[1] := UInt<3>(1) - T_179020[2] := UInt<3>(2) - wire T_179021 : UInt<0>[1] - T_179021[0] := UInt<0>(0) - wire T_179022 : UInt<2>[2] - T_179022[0] := UInt<2>(1) - T_179022[1] := UInt<2>(2) - wire T_179023 : UInt<2>[2] - T_179023[0] := UInt<2>(1) - T_179023[1] := UInt<2>(2) - wire T_179024 : UInt<2>[1] - T_179024[0] := UInt<2>(2) - wire T_179025 : UInt<3>[3] - T_179025[0] := UInt<3>(0) - T_179025[1] := UInt<3>(1) - T_179025[2] := UInt<3>(2) - wire T_179026 : UInt<0>[1] - T_179026[0] := UInt<0>(0) - wire T_179027 : UInt<2>[2] - T_179027[0] := UInt<2>(1) - T_179027[1] := UInt<2>(2) - wire T_179028 : UInt<2>[2] - T_179028[0] := UInt<2>(1) - T_179028[1] := UInt<2>(2) - wire T_179029 : UInt<2>[1] - T_179029[0] := UInt<2>(2) - wire acq_with_header : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<1>, dst : UInt<1>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}} - acq_with_header.bits.payload := client.acquire.bits - acq_with_header.bits.header.src := UInt<1>(0) - acq_with_header.bits.header.dst := UInt<1>(0) - acq_with_header.valid := client.acquire.valid - client.acquire.ready := acq_with_header.ready - wire T_179030 : UInt<3>[3] - T_179030[0] := UInt<3>(0) - T_179030[1] := UInt<3>(1) - T_179030[2] := UInt<3>(2) - wire T_179031 : UInt<0>[1] - T_179031[0] := UInt<0>(0) - wire T_179032 : UInt<2>[2] - T_179032[0] := UInt<2>(1) - T_179032[1] := UInt<2>(2) - wire T_179033 : UInt<2>[2] - T_179033[0] := UInt<2>(1) - T_179033[1] := UInt<2>(2) - wire T_179034 : UInt<2>[1] - T_179034[0] := UInt<2>(2) - wire T_179035 : UInt<3>[3] - T_179035[0] := UInt<3>(0) - T_179035[1] := UInt<3>(1) - T_179035[2] := UInt<3>(2) - wire T_179036 : UInt<0>[1] - T_179036[0] := UInt<0>(0) - wire T_179037 : UInt<2>[2] - T_179037[0] := UInt<2>(1) - T_179037[1] := UInt<2>(2) - wire T_179038 : UInt<2>[2] - T_179038[0] := UInt<2>(1) - T_179038[1] := UInt<2>(2) - wire T_179039 : UInt<2>[1] - T_179039[0] := UInt<2>(2) - wire T_179040 : UInt<3>[3] - T_179040[0] := UInt<3>(0) - T_179040[1] := UInt<3>(1) - T_179040[2] := UInt<3>(2) - wire T_179041 : UInt<0>[1] - T_179041[0] := UInt<0>(0) - wire T_179042 : UInt<2>[2] - T_179042[0] := UInt<2>(1) - T_179042[1] := UInt<2>(2) - wire T_179043 : UInt<2>[2] - T_179043[0] := UInt<2>(1) - T_179043[1] := UInt<2>(2) - wire T_179044 : UInt<2>[1] - T_179044[0] := UInt<2>(2) - wire rel_with_header : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<1>, dst : UInt<1>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}} - rel_with_header.bits.payload := client.release.bits - rel_with_header.bits.header.src := UInt<1>(0) - rel_with_header.bits.header.dst := UInt<1>(0) - rel_with_header.valid := client.release.valid - client.release.ready := rel_with_header.ready - wire T_179045 : UInt<3>[3] - T_179045[0] := UInt<3>(0) - T_179045[1] := UInt<3>(1) - T_179045[2] := UInt<3>(2) - wire T_179046 : UInt<0>[1] - T_179046[0] := UInt<0>(0) - wire T_179047 : UInt<2>[2] - T_179047[0] := UInt<2>(1) - T_179047[1] := UInt<2>(2) - wire T_179048 : UInt<2>[2] - T_179048[0] := UInt<2>(1) - T_179048[1] := UInt<2>(2) - wire T_179049 : UInt<2>[1] - T_179049[0] := UInt<2>(2) - wire T_179050 : UInt<3>[3] - T_179050[0] := UInt<3>(0) - T_179050[1] := UInt<3>(1) - T_179050[2] := UInt<3>(2) - wire T_179051 : UInt<0>[1] - T_179051[0] := UInt<0>(0) - wire T_179052 : UInt<2>[2] - T_179052[0] := UInt<2>(1) - T_179052[1] := UInt<2>(2) - wire T_179053 : UInt<2>[2] - T_179053[0] := UInt<2>(1) - T_179053[1] := UInt<2>(2) - wire T_179054 : UInt<2>[1] - T_179054[0] := UInt<2>(2) - wire prb_without_header : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>}} - prb_without_header.valid := network.probe.valid - prb_without_header.bits := network.probe.bits.payload - network.probe.ready := prb_without_header.ready - network.acquire.bits := acq_with_header.bits - node T_179055 = and(acq_with_header.valid, finisher.ready) - network.acquire.valid := T_179055 - node T_179056 = and(network.acquire.ready, finisher.ready) - acq_with_header.ready := T_179056 - network.release <> rel_with_header - client.probe <> prb_without_header - client.grant <> finisher.refill - module TileLinkEnqueuer_115938 : - input client : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<1>, dst : UInt<1>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<1>, dst : UInt<1>}, payload : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<2>, manager_xact_id : UInt<1>, is_builtin_type : UInt<1>, g_type : UInt<4>}}}, finish : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<1>, dst : UInt<1>}, payload : {manager_xact_id : UInt<1>}}}, flip probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<1>, dst : UInt<1>}, payload : {addr_block : UInt<26>, p_type : UInt<2>}}}, release : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<1>, dst : UInt<1>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}}} - output manager : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<1>, dst : UInt<1>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<1>, dst : UInt<1>}, payload : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<2>, manager_xact_id : UInt<1>, is_builtin_type : UInt<1>, g_type : UInt<4>}}}, finish : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<1>, dst : UInt<1>}, payload : {manager_xact_id : UInt<1>}}}, flip probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<1>, dst : UInt<1>}, payload : {addr_block : UInt<26>, p_type : UInt<2>}}}, release : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<1>, dst : UInt<1>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}}} - - wire T_179057 : UInt<3>[3] - T_179057[0] := UInt<3>(0) - T_179057[1] := UInt<3>(1) - T_179057[2] := UInt<3>(2) - wire T_179058 : UInt<0>[1] - T_179058[0] := UInt<0>(0) - wire T_179059 : UInt<2>[2] - T_179059[0] := UInt<2>(1) - T_179059[1] := UInt<2>(2) - wire T_179060 : UInt<2>[2] - T_179060[0] := UInt<2>(1) - T_179060[1] := UInt<2>(2) - wire T_179061 : UInt<2>[1] - T_179061[0] := UInt<2>(2) - wire T_179062 : UInt<3>[3] - T_179062[0] := UInt<3>(0) - T_179062[1] := UInt<3>(1) - T_179062[2] := UInt<3>(2) - wire T_179063 : UInt<0>[1] - T_179063[0] := UInt<0>(0) - wire T_179064 : UInt<2>[2] - T_179064[0] := UInt<2>(1) - T_179064[1] := UInt<2>(2) - wire T_179065 : UInt<2>[2] - T_179065[0] := UInt<2>(1) - T_179065[1] := UInt<2>(2) - wire T_179066 : UInt<2>[1] - T_179066[0] := UInt<2>(2) - wire T_179067 : UInt<3>[3] - T_179067[0] := UInt<3>(0) - T_179067[1] := UInt<3>(1) - T_179067[2] := UInt<3>(2) - wire T_179068 : UInt<0>[1] - T_179068[0] := UInt<0>(0) - wire T_179069 : UInt<2>[2] - T_179069[0] := UInt<2>(1) - T_179069[1] := UInt<2>(2) - wire T_179070 : UInt<2>[2] - T_179070[0] := UInt<2>(1) - T_179070[1] := UInt<2>(2) - wire T_179071 : UInt<2>[1] - T_179071[0] := UInt<2>(2) - wire T_179072 : UInt<3>[3] - T_179072[0] := UInt<3>(0) - T_179072[1] := UInt<3>(1) - T_179072[2] := UInt<3>(2) - wire T_179073 : UInt<0>[1] - T_179073[0] := UInt<0>(0) - wire T_179074 : UInt<2>[2] - T_179074[0] := UInt<2>(1) - T_179074[1] := UInt<2>(2) - wire T_179075 : UInt<2>[2] - T_179075[0] := UInt<2>(1) - T_179075[1] := UInt<2>(2) - wire T_179076 : UInt<2>[1] - T_179076[0] := UInt<2>(2) - wire T_179077 : UInt<3>[3] - T_179077[0] := UInt<3>(0) - T_179077[1] := UInt<3>(1) - T_179077[2] := UInt<3>(2) - wire T_179078 : UInt<0>[1] - T_179078[0] := UInt<0>(0) - wire T_179079 : UInt<2>[2] - T_179079[0] := UInt<2>(1) - T_179079[1] := UInt<2>(2) - wire T_179080 : UInt<2>[2] - T_179080[0] := UInt<2>(1) - T_179080[1] := UInt<2>(2) - wire T_179081 : UInt<2>[1] - T_179081[0] := UInt<2>(2) - wire T_179082 : UInt<3>[3] - T_179082[0] := UInt<3>(0) - T_179082[1] := UInt<3>(1) - T_179082[2] := UInt<3>(2) - wire T_179083 : UInt<0>[1] - T_179083[0] := UInt<0>(0) - wire T_179084 : UInt<2>[2] - T_179084[0] := UInt<2>(1) - T_179084[1] := UInt<2>(2) - wire T_179085 : UInt<2>[2] - T_179085[0] := UInt<2>(1) - T_179085[1] := UInt<2>(2) - wire T_179086 : UInt<2>[1] - T_179086[0] := UInt<2>(2) - wire T_179087 : UInt<3>[3] - T_179087[0] := UInt<3>(0) - T_179087[1] := UInt<3>(1) - T_179087[2] := UInt<3>(2) - wire T_179088 : UInt<0>[1] - T_179088[0] := UInt<0>(0) - wire T_179089 : UInt<2>[2] - T_179089[0] := UInt<2>(1) - T_179089[1] := UInt<2>(2) - wire T_179090 : UInt<2>[2] - T_179090[0] := UInt<2>(1) - T_179090[1] := UInt<2>(2) - wire T_179091 : UInt<2>[1] - T_179091[0] := UInt<2>(2) - wire T_179092 : UInt<3>[3] - T_179092[0] := UInt<3>(0) - T_179092[1] := UInt<3>(1) - T_179092[2] := UInt<3>(2) - wire T_179093 : UInt<0>[1] - T_179093[0] := UInt<0>(0) - wire T_179094 : UInt<2>[2] - T_179094[0] := UInt<2>(1) - T_179094[1] := UInt<2>(2) - wire T_179095 : UInt<2>[2] - T_179095[0] := UInt<2>(1) - T_179095[1] := UInt<2>(2) - wire T_179096 : UInt<2>[1] - T_179096[0] := UInt<2>(2) - wire T_179097 : UInt<3>[3] - T_179097[0] := UInt<3>(0) - T_179097[1] := UInt<3>(1) - T_179097[2] := UInt<3>(2) - wire T_179098 : UInt<0>[1] - T_179098[0] := UInt<0>(0) - wire T_179099 : UInt<2>[2] - T_179099[0] := UInt<2>(1) - T_179099[1] := UInt<2>(2) - wire T_179100 : UInt<2>[2] - T_179100[0] := UInt<2>(1) - T_179100[1] := UInt<2>(2) - wire T_179101 : UInt<2>[1] - T_179101[0] := UInt<2>(2) - wire T_179102 : UInt<3>[3] - T_179102[0] := UInt<3>(0) - T_179102[1] := UInt<3>(1) - T_179102[2] := UInt<3>(2) - wire T_179103 : UInt<0>[1] - T_179103[0] := UInt<0>(0) - wire T_179104 : UInt<2>[2] - T_179104[0] := UInt<2>(1) - T_179104[1] := UInt<2>(2) - wire T_179105 : UInt<2>[2] - T_179105[0] := UInt<2>(1) - T_179105[1] := UInt<2>(2) - wire T_179106 : UInt<2>[1] - T_179106[0] := UInt<2>(2) - wire T_179107 : UInt<3>[3] - T_179107[0] := UInt<3>(0) - T_179107[1] := UInt<3>(1) - T_179107[2] := UInt<3>(2) - wire T_179108 : UInt<0>[1] - T_179108[0] := UInt<0>(0) - wire T_179109 : UInt<2>[2] - T_179109[0] := UInt<2>(1) - T_179109[1] := UInt<2>(2) - wire T_179110 : UInt<2>[2] - T_179110[0] := UInt<2>(1) - T_179110[1] := UInt<2>(2) - wire T_179111 : UInt<2>[1] - T_179111[0] := UInt<2>(2) - wire T_179112 : UInt<3>[3] - T_179112[0] := UInt<3>(0) - T_179112[1] := UInt<3>(1) - T_179112[2] := UInt<3>(2) - wire T_179113 : UInt<0>[1] - T_179113[0] := UInt<0>(0) - wire T_179114 : UInt<2>[2] - T_179114[0] := UInt<2>(1) - T_179114[1] := UInt<2>(2) - wire T_179115 : UInt<2>[2] - T_179115[0] := UInt<2>(1) - T_179115[1] := UInt<2>(2) - wire T_179116 : UInt<2>[1] - T_179116[0] := UInt<2>(2) - wire T_179117 : UInt<3>[3] - T_179117[0] := UInt<3>(0) - T_179117[1] := UInt<3>(1) - T_179117[2] := UInt<3>(2) - wire T_179118 : UInt<0>[1] - T_179118[0] := UInt<0>(0) - wire T_179119 : UInt<2>[2] - T_179119[0] := UInt<2>(1) - T_179119[1] := UInt<2>(2) - wire T_179120 : UInt<2>[2] - T_179120[0] := UInt<2>(1) - T_179120[1] := UInt<2>(2) - wire T_179121 : UInt<2>[1] - T_179121[0] := UInt<2>(2) - wire T_179122 : UInt<3>[3] - T_179122[0] := UInt<3>(0) - T_179122[1] := UInt<3>(1) - T_179122[2] := UInt<3>(2) - wire T_179123 : UInt<0>[1] - T_179123[0] := UInt<0>(0) - wire T_179124 : UInt<2>[2] - T_179124[0] := UInt<2>(1) - T_179124[1] := UInt<2>(2) - wire T_179125 : UInt<2>[2] - T_179125[0] := UInt<2>(1) - T_179125[1] := UInt<2>(2) - wire T_179126 : UInt<2>[1] - T_179126[0] := UInt<2>(2) - wire T_179127 : UInt<3>[3] - T_179127[0] := UInt<3>(0) - T_179127[1] := UInt<3>(1) - T_179127[2] := UInt<3>(2) - wire T_179128 : UInt<0>[1] - T_179128[0] := UInt<0>(0) - wire T_179129 : UInt<2>[2] - T_179129[0] := UInt<2>(1) - T_179129[1] := UInt<2>(2) - wire T_179130 : UInt<2>[2] - T_179130[0] := UInt<2>(1) - T_179130[1] := UInt<2>(2) - wire T_179131 : UInt<2>[1] - T_179131[0] := UInt<2>(2) - wire T_179132 : UInt<3>[3] - T_179132[0] := UInt<3>(0) - T_179132[1] := UInt<3>(1) - T_179132[2] := UInt<3>(2) - wire T_179133 : UInt<0>[1] - T_179133[0] := UInt<0>(0) - wire T_179134 : UInt<2>[2] - T_179134[0] := UInt<2>(1) - T_179134[1] := UInt<2>(2) - wire T_179135 : UInt<2>[2] - T_179135[0] := UInt<2>(1) - T_179135[1] := UInt<2>(2) - wire T_179136 : UInt<2>[1] - T_179136[0] := UInt<2>(2) - wire T_179137 : UInt<3>[3] - T_179137[0] := UInt<3>(0) - T_179137[1] := UInt<3>(1) - T_179137[2] := UInt<3>(2) - wire T_179138 : UInt<0>[1] - T_179138[0] := UInt<0>(0) - wire T_179139 : UInt<2>[2] - T_179139[0] := UInt<2>(1) - T_179139[1] := UInt<2>(2) - wire T_179140 : UInt<2>[2] - T_179140[0] := UInt<2>(1) - T_179140[1] := UInt<2>(2) - wire T_179141 : UInt<2>[1] - T_179141[0] := UInt<2>(2) - wire T_179142 : UInt<3>[3] - T_179142[0] := UInt<3>(0) - T_179142[1] := UInt<3>(1) - T_179142[2] := UInt<3>(2) - wire T_179143 : UInt<0>[1] - T_179143[0] := UInt<0>(0) - wire T_179144 : UInt<2>[2] - T_179144[0] := UInt<2>(1) - T_179144[1] := UInt<2>(2) - wire T_179145 : UInt<2>[2] - T_179145[0] := UInt<2>(1) - T_179145[1] := UInt<2>(2) - wire T_179146 : UInt<2>[1] - T_179146[0] := UInt<2>(2) - wire T_179147 : UInt<3>[3] - T_179147[0] := UInt<3>(0) - T_179147[1] := UInt<3>(1) - T_179147[2] := UInt<3>(2) - wire T_179148 : UInt<0>[1] - T_179148[0] := UInt<0>(0) - wire T_179149 : UInt<2>[2] - T_179149[0] := UInt<2>(1) - T_179149[1] := UInt<2>(2) - wire T_179150 : UInt<2>[2] - T_179150[0] := UInt<2>(1) - T_179150[1] := UInt<2>(2) - wire T_179151 : UInt<2>[1] - T_179151[0] := UInt<2>(2) - wire T_179152 : UInt<3>[3] - T_179152[0] := UInt<3>(0) - T_179152[1] := UInt<3>(1) - T_179152[2] := UInt<3>(2) - wire T_179153 : UInt<0>[1] - T_179153[0] := UInt<0>(0) - wire T_179154 : UInt<2>[2] - T_179154[0] := UInt<2>(1) - T_179154[1] := UInt<2>(2) - wire T_179155 : UInt<2>[2] - T_179155[0] := UInt<2>(1) - T_179155[1] := UInt<2>(2) - wire T_179156 : UInt<2>[1] - T_179156[0] := UInt<2>(2) - wire T_179157 : UInt<3>[3] - T_179157[0] := UInt<3>(0) - T_179157[1] := UInt<3>(1) - T_179157[2] := UInt<3>(2) - wire T_179158 : UInt<0>[1] - T_179158[0] := UInt<0>(0) - wire T_179159 : UInt<2>[2] - T_179159[0] := UInt<2>(1) - T_179159[1] := UInt<2>(2) - wire T_179160 : UInt<2>[2] - T_179160[0] := UInt<2>(1) - T_179160[1] := UInt<2>(2) - wire T_179161 : UInt<2>[1] - T_179161[0] := UInt<2>(2) - wire T_179162 : UInt<3>[3] - T_179162[0] := UInt<3>(0) - T_179162[1] := UInt<3>(1) - T_179162[2] := UInt<3>(2) - wire T_179163 : UInt<0>[1] - T_179163[0] := UInt<0>(0) - wire T_179164 : UInt<2>[2] - T_179164[0] := UInt<2>(1) - T_179164[1] := UInt<2>(2) - wire T_179165 : UInt<2>[2] - T_179165[0] := UInt<2>(1) - T_179165[1] := UInt<2>(2) - wire T_179166 : UInt<2>[1] - T_179166[0] := UInt<2>(2) - wire T_179167 : UInt<3>[3] - T_179167[0] := UInt<3>(0) - T_179167[1] := UInt<3>(1) - T_179167[2] := UInt<3>(2) - wire T_179168 : UInt<0>[1] - T_179168[0] := UInt<0>(0) - wire T_179169 : UInt<2>[2] - T_179169[0] := UInt<2>(1) - T_179169[1] := UInt<2>(2) - wire T_179170 : UInt<2>[2] - T_179170[0] := UInt<2>(1) - T_179170[1] := UInt<2>(2) - wire T_179171 : UInt<2>[1] - T_179171[0] := UInt<2>(2) - wire T_179172 : UInt<3>[3] - T_179172[0] := UInt<3>(0) - T_179172[1] := UInt<3>(1) - T_179172[2] := UInt<3>(2) - wire T_179173 : UInt<0>[1] - T_179173[0] := UInt<0>(0) - wire T_179174 : UInt<2>[2] - T_179174[0] := UInt<2>(1) - T_179174[1] := UInt<2>(2) - wire T_179175 : UInt<2>[2] - T_179175[0] := UInt<2>(1) - T_179175[1] := UInt<2>(2) - wire T_179176 : UInt<2>[1] - T_179176[0] := UInt<2>(2) - wire T_179177 : UInt<3>[3] - T_179177[0] := UInt<3>(0) - T_179177[1] := UInt<3>(1) - T_179177[2] := UInt<3>(2) - wire T_179178 : UInt<0>[1] - T_179178[0] := UInt<0>(0) - wire T_179179 : UInt<2>[2] - T_179179[0] := UInt<2>(1) - T_179179[1] := UInt<2>(2) - wire T_179180 : UInt<2>[2] - T_179180[0] := UInt<2>(1) - T_179180[1] := UInt<2>(2) - wire T_179181 : UInt<2>[1] - T_179181[0] := UInt<2>(2) - wire T_179182 : UInt<3>[3] - T_179182[0] := UInt<3>(0) - T_179182[1] := UInt<3>(1) - T_179182[2] := UInt<3>(2) - wire T_179183 : UInt<0>[1] - T_179183[0] := UInt<0>(0) - wire T_179184 : UInt<2>[2] - T_179184[0] := UInt<2>(1) - T_179184[1] := UInt<2>(2) - wire T_179185 : UInt<2>[2] - T_179185[0] := UInt<2>(1) - T_179185[1] := UInt<2>(2) - wire T_179186 : UInt<2>[1] - T_179186[0] := UInt<2>(2) - wire T_179187 : UInt<3>[3] - T_179187[0] := UInt<3>(0) - T_179187[1] := UInt<3>(1) - T_179187[2] := UInt<3>(2) - wire T_179188 : UInt<0>[1] - T_179188[0] := UInt<0>(0) - wire T_179189 : UInt<2>[2] - T_179189[0] := UInt<2>(1) - T_179189[1] := UInt<2>(2) - wire T_179190 : UInt<2>[2] - T_179190[0] := UInt<2>(1) - T_179190[1] := UInt<2>(2) - wire T_179191 : UInt<2>[1] - T_179191[0] := UInt<2>(2) - wire T_179192 : UInt<3>[3] - T_179192[0] := UInt<3>(0) - T_179192[1] := UInt<3>(1) - T_179192[2] := UInt<3>(2) - wire T_179193 : UInt<0>[1] - T_179193[0] := UInt<0>(0) - wire T_179194 : UInt<2>[2] - T_179194[0] := UInt<2>(1) - T_179194[1] := UInt<2>(2) - wire T_179195 : UInt<2>[2] - T_179195[0] := UInt<2>(1) - T_179195[1] := UInt<2>(2) - wire T_179196 : UInt<2>[1] - T_179196[0] := UInt<2>(2) - wire T_179197 : UInt<3>[3] - T_179197[0] := UInt<3>(0) - T_179197[1] := UInt<3>(1) - T_179197[2] := UInt<3>(2) - wire T_179198 : UInt<0>[1] - T_179198[0] := UInt<0>(0) - wire T_179199 : UInt<2>[2] - T_179199[0] := UInt<2>(1) - T_179199[1] := UInt<2>(2) - wire T_179200 : UInt<2>[2] - T_179200[0] := UInt<2>(1) - T_179200[1] := UInt<2>(2) - wire T_179201 : UInt<2>[1] - T_179201[0] := UInt<2>(2) - wire T_179202 : UInt<3>[3] - T_179202[0] := UInt<3>(0) - T_179202[1] := UInt<3>(1) - T_179202[2] := UInt<3>(2) - wire T_179203 : UInt<0>[1] - T_179203[0] := UInt<0>(0) - wire T_179204 : UInt<2>[2] - T_179204[0] := UInt<2>(1) - T_179204[1] := UInt<2>(2) - wire T_179205 : UInt<2>[2] - T_179205[0] := UInt<2>(1) - T_179205[1] := UInt<2>(2) - wire T_179206 : UInt<2>[1] - T_179206[0] := UInt<2>(2) - wire T_179207 : UInt<3>[3] - T_179207[0] := UInt<3>(0) - T_179207[1] := UInt<3>(1) - T_179207[2] := UInt<3>(2) - wire T_179208 : UInt<0>[1] - T_179208[0] := UInt<0>(0) - wire T_179209 : UInt<2>[2] - T_179209[0] := UInt<2>(1) - T_179209[1] := UInt<2>(2) - wire T_179210 : UInt<2>[2] - T_179210[0] := UInt<2>(1) - T_179210[1] := UInt<2>(2) - wire T_179211 : UInt<2>[1] - T_179211[0] := UInt<2>(2) - wire T_179212 : UInt<3>[3] - T_179212[0] := UInt<3>(0) - T_179212[1] := UInt<3>(1) - T_179212[2] := UInt<3>(2) - wire T_179213 : UInt<0>[1] - T_179213[0] := UInt<0>(0) - wire T_179214 : UInt<2>[2] - T_179214[0] := UInt<2>(1) - T_179214[1] := UInt<2>(2) - wire T_179215 : UInt<2>[2] - T_179215[0] := UInt<2>(1) - T_179215[1] := UInt<2>(2) - wire T_179216 : UInt<2>[1] - T_179216[0] := UInt<2>(2) - manager.acquire <> client.acquire - client.probe <> manager.probe - manager.release <> client.release - client.grant <> manager.grant - manager.finish <> client.finish - module ManagerTileLinkNetworkPort_118243 : - input manager : {flip acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>, client_id : UInt<1>}}, grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<2>, manager_xact_id : UInt<1>, is_builtin_type : UInt<1>, g_type : UInt<4>, client_id : UInt<1>}}, flip finish : {flip ready : UInt<1>, valid : UInt<1>, bits : {manager_xact_id : UInt<1>}}, probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>, client_id : UInt<1>}}, flip release : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>, client_id : UInt<1>}}} - input network : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<1>, dst : UInt<1>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<1>, dst : UInt<1>}, payload : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<2>, manager_xact_id : UInt<1>, is_builtin_type : UInt<1>, g_type : UInt<4>}}}, finish : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<1>, dst : UInt<1>}, payload : {manager_xact_id : UInt<1>}}}, flip probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<1>, dst : UInt<1>}, payload : {addr_block : UInt<26>, p_type : UInt<2>}}}, release : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<1>, dst : UInt<1>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}}} - - wire T_179217 : UInt<3>[3] - T_179217[0] := UInt<3>(0) - T_179217[1] := UInt<3>(1) - T_179217[2] := UInt<3>(2) - wire T_179218 : UInt<0>[1] - T_179218[0] := UInt<0>(0) - wire T_179219 : UInt<2>[2] - T_179219[0] := UInt<2>(1) - T_179219[1] := UInt<2>(2) - wire T_179220 : UInt<2>[2] - T_179220[0] := UInt<2>(1) - T_179220[1] := UInt<2>(2) - wire T_179221 : UInt<2>[1] - T_179221[0] := UInt<2>(2) - wire T_179222 : UInt<3>[3] - T_179222[0] := UInt<3>(0) - T_179222[1] := UInt<3>(1) - T_179222[2] := UInt<3>(2) - wire T_179223 : UInt<0>[1] - T_179223[0] := UInt<0>(0) - wire T_179224 : UInt<2>[2] - T_179224[0] := UInt<2>(1) - T_179224[1] := UInt<2>(2) - wire T_179225 : UInt<2>[2] - T_179225[0] := UInt<2>(1) - T_179225[1] := UInt<2>(2) - wire T_179226 : UInt<2>[1] - T_179226[0] := UInt<2>(2) - wire T_179227 : UInt<3>[3] - T_179227[0] := UInt<3>(0) - T_179227[1] := UInt<3>(1) - T_179227[2] := UInt<3>(2) - wire T_179228 : UInt<0>[1] - T_179228[0] := UInt<0>(0) - wire T_179229 : UInt<2>[2] - T_179229[0] := UInt<2>(1) - T_179229[1] := UInt<2>(2) - wire T_179230 : UInt<2>[2] - T_179230[0] := UInt<2>(1) - T_179230[1] := UInt<2>(2) - wire T_179231 : UInt<2>[1] - T_179231[0] := UInt<2>(2) - wire T_179232 : UInt<3>[3] - T_179232[0] := UInt<3>(0) - T_179232[1] := UInt<3>(1) - T_179232[2] := UInt<3>(2) - wire T_179233 : UInt<0>[1] - T_179233[0] := UInt<0>(0) - wire T_179234 : UInt<2>[2] - T_179234[0] := UInt<2>(1) - T_179234[1] := UInt<2>(2) - wire T_179235 : UInt<2>[2] - T_179235[0] := UInt<2>(1) - T_179235[1] := UInt<2>(2) - wire T_179236 : UInt<2>[1] - T_179236[0] := UInt<2>(2) - wire T_179237 : UInt<3>[3] - T_179237[0] := UInt<3>(0) - T_179237[1] := UInt<3>(1) - T_179237[2] := UInt<3>(2) - wire T_179238 : UInt<0>[1] - T_179238[0] := UInt<0>(0) - wire T_179239 : UInt<2>[2] - T_179239[0] := UInt<2>(1) - T_179239[1] := UInt<2>(2) - wire T_179240 : UInt<2>[2] - T_179240[0] := UInt<2>(1) - T_179240[1] := UInt<2>(2) - wire T_179241 : UInt<2>[1] - T_179241[0] := UInt<2>(2) - wire T_179242 : UInt<3>[3] - T_179242[0] := UInt<3>(0) - T_179242[1] := UInt<3>(1) - T_179242[2] := UInt<3>(2) - wire T_179243 : UInt<0>[1] - T_179243[0] := UInt<0>(0) - wire T_179244 : UInt<2>[2] - T_179244[0] := UInt<2>(1) - T_179244[1] := UInt<2>(2) - wire T_179245 : UInt<2>[2] - T_179245[0] := UInt<2>(1) - T_179245[1] := UInt<2>(2) - wire T_179246 : UInt<2>[1] - T_179246[0] := UInt<2>(2) - wire T_179247 : UInt<3>[3] - T_179247[0] := UInt<3>(0) - T_179247[1] := UInt<3>(1) - T_179247[2] := UInt<3>(2) - wire T_179248 : UInt<0>[1] - T_179248[0] := UInt<0>(0) - wire T_179249 : UInt<2>[2] - T_179249[0] := UInt<2>(1) - T_179249[1] := UInt<2>(2) - wire T_179250 : UInt<2>[2] - T_179250[0] := UInt<2>(1) - T_179250[1] := UInt<2>(2) - wire T_179251 : UInt<2>[1] - T_179251[0] := UInt<2>(2) - wire T_179252 : UInt<3>[3] - T_179252[0] := UInt<3>(0) - T_179252[1] := UInt<3>(1) - T_179252[2] := UInt<3>(2) - wire T_179253 : UInt<0>[1] - T_179253[0] := UInt<0>(0) - wire T_179254 : UInt<2>[2] - T_179254[0] := UInt<2>(1) - T_179254[1] := UInt<2>(2) - wire T_179255 : UInt<2>[2] - T_179255[0] := UInt<2>(1) - T_179255[1] := UInt<2>(2) - wire T_179256 : UInt<2>[1] - T_179256[0] := UInt<2>(2) - wire T_179257 : UInt<3>[3] - T_179257[0] := UInt<3>(0) - T_179257[1] := UInt<3>(1) - T_179257[2] := UInt<3>(2) - wire T_179258 : UInt<0>[1] - T_179258[0] := UInt<0>(0) - wire T_179259 : UInt<2>[2] - T_179259[0] := UInt<2>(1) - T_179259[1] := UInt<2>(2) - wire T_179260 : UInt<2>[2] - T_179260[0] := UInt<2>(1) - T_179260[1] := UInt<2>(2) - wire T_179261 : UInt<2>[1] - T_179261[0] := UInt<2>(2) - wire T_179262 : UInt<3>[3] - T_179262[0] := UInt<3>(0) - T_179262[1] := UInt<3>(1) - T_179262[2] := UInt<3>(2) - wire T_179263 : UInt<0>[1] - T_179263[0] := UInt<0>(0) - wire T_179264 : UInt<2>[2] - T_179264[0] := UInt<2>(1) - T_179264[1] := UInt<2>(2) - wire T_179265 : UInt<2>[2] - T_179265[0] := UInt<2>(1) - T_179265[1] := UInt<2>(2) - wire T_179266 : UInt<2>[1] - T_179266[0] := UInt<2>(2) - wire T_179267 : UInt<3>[3] - T_179267[0] := UInt<3>(0) - T_179267[1] := UInt<3>(1) - T_179267[2] := UInt<3>(2) - wire T_179268 : UInt<0>[1] - T_179268[0] := UInt<0>(0) - wire T_179269 : UInt<2>[2] - T_179269[0] := UInt<2>(1) - T_179269[1] := UInt<2>(2) - wire T_179270 : UInt<2>[2] - T_179270[0] := UInt<2>(1) - T_179270[1] := UInt<2>(2) - wire T_179271 : UInt<2>[1] - T_179271[0] := UInt<2>(2) - wire T_179272 : UInt<3>[3] - T_179272[0] := UInt<3>(0) - T_179272[1] := UInt<3>(1) - T_179272[2] := UInt<3>(2) - wire T_179273 : UInt<0>[1] - T_179273[0] := UInt<0>(0) - wire T_179274 : UInt<2>[2] - T_179274[0] := UInt<2>(1) - T_179274[1] := UInt<2>(2) - wire T_179275 : UInt<2>[2] - T_179275[0] := UInt<2>(1) - T_179275[1] := UInt<2>(2) - wire T_179276 : UInt<2>[1] - T_179276[0] := UInt<2>(2) - wire T_179277 : UInt<3>[3] - T_179277[0] := UInt<3>(0) - T_179277[1] := UInt<3>(1) - T_179277[2] := UInt<3>(2) - wire T_179278 : UInt<0>[1] - T_179278[0] := UInt<0>(0) - wire T_179279 : UInt<2>[2] - T_179279[0] := UInt<2>(1) - T_179279[1] := UInt<2>(2) - wire T_179280 : UInt<2>[2] - T_179280[0] := UInt<2>(1) - T_179280[1] := UInt<2>(2) - wire T_179281 : UInt<2>[1] - T_179281[0] := UInt<2>(2) - wire T_179282 : UInt<3>[3] - T_179282[0] := UInt<3>(0) - T_179282[1] := UInt<3>(1) - T_179282[2] := UInt<3>(2) - wire T_179283 : UInt<0>[1] - T_179283[0] := UInt<0>(0) - wire T_179284 : UInt<2>[2] - T_179284[0] := UInt<2>(1) - T_179284[1] := UInt<2>(2) - wire T_179285 : UInt<2>[2] - T_179285[0] := UInt<2>(1) - T_179285[1] := UInt<2>(2) - wire T_179286 : UInt<2>[1] - T_179286[0] := UInt<2>(2) - wire T_179287 : UInt<3>[3] - T_179287[0] := UInt<3>(0) - T_179287[1] := UInt<3>(1) - T_179287[2] := UInt<3>(2) - wire T_179288 : UInt<0>[1] - T_179288[0] := UInt<0>(0) - wire T_179289 : UInt<2>[2] - T_179289[0] := UInt<2>(1) - T_179289[1] := UInt<2>(2) - wire T_179290 : UInt<2>[2] - T_179290[0] := UInt<2>(1) - T_179290[1] := UInt<2>(2) - wire T_179291 : UInt<2>[1] - T_179291[0] := UInt<2>(2) - wire T_179292 : UInt<3>[3] - T_179292[0] := UInt<3>(0) - T_179292[1] := UInt<3>(1) - T_179292[2] := UInt<3>(2) - wire T_179293 : UInt<0>[1] - T_179293[0] := UInt<0>(0) - wire T_179294 : UInt<2>[2] - T_179294[0] := UInt<2>(1) - T_179294[1] := UInt<2>(2) - wire T_179295 : UInt<2>[2] - T_179295[0] := UInt<2>(1) - T_179295[1] := UInt<2>(2) - wire T_179296 : UInt<2>[1] - T_179296[0] := UInt<2>(2) - wire T_179297 : UInt<3>[3] - T_179297[0] := UInt<3>(0) - T_179297[1] := UInt<3>(1) - T_179297[2] := UInt<3>(2) - wire T_179298 : UInt<0>[1] - T_179298[0] := UInt<0>(0) - wire T_179299 : UInt<2>[2] - T_179299[0] := UInt<2>(1) - T_179299[1] := UInt<2>(2) - wire T_179300 : UInt<2>[2] - T_179300[0] := UInt<2>(1) - T_179300[1] := UInt<2>(2) - wire T_179301 : UInt<2>[1] - T_179301[0] := UInt<2>(2) - wire T_179302 : UInt<3>[3] - T_179302[0] := UInt<3>(0) - T_179302[1] := UInt<3>(1) - T_179302[2] := UInt<3>(2) - wire T_179303 : UInt<0>[1] - T_179303[0] := UInt<0>(0) - wire T_179304 : UInt<2>[2] - T_179304[0] := UInt<2>(1) - T_179304[1] := UInt<2>(2) - wire T_179305 : UInt<2>[2] - T_179305[0] := UInt<2>(1) - T_179305[1] := UInt<2>(2) - wire T_179306 : UInt<2>[1] - T_179306[0] := UInt<2>(2) - wire T_179307 : UInt<3>[3] - T_179307[0] := UInt<3>(0) - T_179307[1] := UInt<3>(1) - T_179307[2] := UInt<3>(2) - wire T_179308 : UInt<0>[1] - T_179308[0] := UInt<0>(0) - wire T_179309 : UInt<2>[2] - T_179309[0] := UInt<2>(1) - T_179309[1] := UInt<2>(2) - wire T_179310 : UInt<2>[2] - T_179310[0] := UInt<2>(1) - T_179310[1] := UInt<2>(2) - wire T_179311 : UInt<2>[1] - T_179311[0] := UInt<2>(2) - wire T_179312 : UInt<3>[3] - T_179312[0] := UInt<3>(0) - T_179312[1] := UInt<3>(1) - T_179312[2] := UInt<3>(2) - wire T_179313 : UInt<0>[1] - T_179313[0] := UInt<0>(0) - wire T_179314 : UInt<2>[2] - T_179314[0] := UInt<2>(1) - T_179314[1] := UInt<2>(2) - wire T_179315 : UInt<2>[2] - T_179315[0] := UInt<2>(1) - T_179315[1] := UInt<2>(2) - wire T_179316 : UInt<2>[1] - T_179316[0] := UInt<2>(2) - wire T_179317 : UInt<3>[3] - T_179317[0] := UInt<3>(0) - T_179317[1] := UInt<3>(1) - T_179317[2] := UInt<3>(2) - wire T_179318 : UInt<0>[1] - T_179318[0] := UInt<0>(0) - wire T_179319 : UInt<2>[2] - T_179319[0] := UInt<2>(1) - T_179319[1] := UInt<2>(2) - wire T_179320 : UInt<2>[2] - T_179320[0] := UInt<2>(1) - T_179320[1] := UInt<2>(2) - wire T_179321 : UInt<2>[1] - T_179321[0] := UInt<2>(2) - wire T_179322 : UInt<3>[3] - T_179322[0] := UInt<3>(0) - T_179322[1] := UInt<3>(1) - T_179322[2] := UInt<3>(2) - wire T_179323 : UInt<0>[1] - T_179323[0] := UInt<0>(0) - wire T_179324 : UInt<2>[2] - T_179324[0] := UInt<2>(1) - T_179324[1] := UInt<2>(2) - wire T_179325 : UInt<2>[2] - T_179325[0] := UInt<2>(1) - T_179325[1] := UInt<2>(2) - wire T_179326 : UInt<2>[1] - T_179326[0] := UInt<2>(2) - wire T_179327 : UInt<3>[3] - T_179327[0] := UInt<3>(0) - T_179327[1] := UInt<3>(1) - T_179327[2] := UInt<3>(2) - wire T_179328 : UInt<0>[1] - T_179328[0] := UInt<0>(0) - wire T_179329 : UInt<2>[2] - T_179329[0] := UInt<2>(1) - T_179329[1] := UInt<2>(2) - wire T_179330 : UInt<2>[2] - T_179330[0] := UInt<2>(1) - T_179330[1] := UInt<2>(2) - wire T_179331 : UInt<2>[1] - T_179331[0] := UInt<2>(2) - wire T_179332 : UInt<3>[3] - T_179332[0] := UInt<3>(0) - T_179332[1] := UInt<3>(1) - T_179332[2] := UInt<3>(2) - wire T_179333 : UInt<0>[1] - T_179333[0] := UInt<0>(0) - wire T_179334 : UInt<2>[2] - T_179334[0] := UInt<2>(1) - T_179334[1] := UInt<2>(2) - wire T_179335 : UInt<2>[2] - T_179335[0] := UInt<2>(1) - T_179335[1] := UInt<2>(2) - wire T_179336 : UInt<2>[1] - T_179336[0] := UInt<2>(2) - wire T_179337 : UInt<3>[3] - T_179337[0] := UInt<3>(0) - T_179337[1] := UInt<3>(1) - T_179337[2] := UInt<3>(2) - wire T_179338 : UInt<0>[1] - T_179338[0] := UInt<0>(0) - wire T_179339 : UInt<2>[2] - T_179339[0] := UInt<2>(1) - T_179339[1] := UInt<2>(2) - wire T_179340 : UInt<2>[2] - T_179340[0] := UInt<2>(1) - T_179340[1] := UInt<2>(2) - wire T_179341 : UInt<2>[1] - T_179341[0] := UInt<2>(2) - wire T_179342 : UInt<3>[3] - T_179342[0] := UInt<3>(0) - T_179342[1] := UInt<3>(1) - T_179342[2] := UInt<3>(2) - wire T_179343 : UInt<0>[1] - T_179343[0] := UInt<0>(0) - wire T_179344 : UInt<2>[2] - T_179344[0] := UInt<2>(1) - T_179344[1] := UInt<2>(2) - wire T_179345 : UInt<2>[2] - T_179345[0] := UInt<2>(1) - T_179345[1] := UInt<2>(2) - wire T_179346 : UInt<2>[1] - T_179346[0] := UInt<2>(2) - wire T_179347 : UInt<3>[3] - T_179347[0] := UInt<3>(0) - T_179347[1] := UInt<3>(1) - T_179347[2] := UInt<3>(2) - wire T_179348 : UInt<0>[1] - T_179348[0] := UInt<0>(0) - wire T_179349 : UInt<2>[2] - T_179349[0] := UInt<2>(1) - T_179349[1] := UInt<2>(2) - wire T_179350 : UInt<2>[2] - T_179350[0] := UInt<2>(1) - T_179350[1] := UInt<2>(2) - wire T_179351 : UInt<2>[1] - T_179351[0] := UInt<2>(2) - wire T_179352 : UInt<3>[3] - T_179352[0] := UInt<3>(0) - T_179352[1] := UInt<3>(1) - T_179352[2] := UInt<3>(2) - wire T_179353 : UInt<0>[1] - T_179353[0] := UInt<0>(0) - wire T_179354 : UInt<2>[2] - T_179354[0] := UInt<2>(1) - T_179354[1] := UInt<2>(2) - wire T_179355 : UInt<2>[2] - T_179355[0] := UInt<2>(1) - T_179355[1] := UInt<2>(2) - wire T_179356 : UInt<2>[1] - T_179356[0] := UInt<2>(2) - wire T_179357 : UInt<3>[3] - T_179357[0] := UInt<3>(0) - T_179357[1] := UInt<3>(1) - T_179357[2] := UInt<3>(2) - wire T_179358 : UInt<0>[1] - T_179358[0] := UInt<0>(0) - wire T_179359 : UInt<2>[2] - T_179359[0] := UInt<2>(1) - T_179359[1] := UInt<2>(2) - wire T_179360 : UInt<2>[2] - T_179360[0] := UInt<2>(1) - T_179360[1] := UInt<2>(2) - wire T_179361 : UInt<2>[1] - T_179361[0] := UInt<2>(2) - wire T_179362 : UInt<3>[3] - T_179362[0] := UInt<3>(0) - T_179362[1] := UInt<3>(1) - T_179362[2] := UInt<3>(2) - wire T_179363 : UInt<0>[1] - T_179363[0] := UInt<0>(0) - wire T_179364 : UInt<2>[2] - T_179364[0] := UInt<2>(1) - T_179364[1] := UInt<2>(2) - wire T_179365 : UInt<2>[2] - T_179365[0] := UInt<2>(1) - T_179365[1] := UInt<2>(2) - wire T_179366 : UInt<2>[1] - T_179366[0] := UInt<2>(2) - wire T_179367 : UInt<3>[3] - T_179367[0] := UInt<3>(0) - T_179367[1] := UInt<3>(1) - T_179367[2] := UInt<3>(2) - wire T_179368 : UInt<0>[1] - T_179368[0] := UInt<0>(0) - wire T_179369 : UInt<2>[2] - T_179369[0] := UInt<2>(1) - T_179369[1] := UInt<2>(2) - wire T_179370 : UInt<2>[2] - T_179370[0] := UInt<2>(1) - T_179370[1] := UInt<2>(2) - wire T_179371 : UInt<2>[1] - T_179371[0] := UInt<2>(2) - wire T_179372 : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<1>, dst : UInt<1>}, payload : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<2>, manager_xact_id : UInt<1>, is_builtin_type : UInt<1>, g_type : UInt<4>, client_id : UInt<1>}}} - T_179372.bits.payload := manager.grant.bits - T_179372.bits.header.src := UInt<1>(0) - T_179372.bits.header.dst := manager.grant.bits.client_id - T_179372.valid := manager.grant.valid - manager.grant.ready := T_179372.ready - network.grant <> T_179372 - wire T_179373 : UInt<3>[3] - T_179373[0] := UInt<3>(0) - T_179373[1] := UInt<3>(1) - T_179373[2] := UInt<3>(2) - wire T_179374 : UInt<0>[1] - T_179374[0] := UInt<0>(0) - wire T_179375 : UInt<2>[2] - T_179375[0] := UInt<2>(1) - T_179375[1] := UInt<2>(2) - wire T_179376 : UInt<2>[2] - T_179376[0] := UInt<2>(1) - T_179376[1] := UInt<2>(2) - wire T_179377 : UInt<2>[1] - T_179377[0] := UInt<2>(2) - wire T_179378 : UInt<3>[3] - T_179378[0] := UInt<3>(0) - T_179378[1] := UInt<3>(1) - T_179378[2] := UInt<3>(2) - wire T_179379 : UInt<0>[1] - T_179379[0] := UInt<0>(0) - wire T_179380 : UInt<2>[2] - T_179380[0] := UInt<2>(1) - T_179380[1] := UInt<2>(2) - wire T_179381 : UInt<2>[2] - T_179381[0] := UInt<2>(1) - T_179381[1] := UInt<2>(2) - wire T_179382 : UInt<2>[1] - T_179382[0] := UInt<2>(2) - wire T_179383 : UInt<3>[3] - T_179383[0] := UInt<3>(0) - T_179383[1] := UInt<3>(1) - T_179383[2] := UInt<3>(2) - wire T_179384 : UInt<0>[1] - T_179384[0] := UInt<0>(0) - wire T_179385 : UInt<2>[2] - T_179385[0] := UInt<2>(1) - T_179385[1] := UInt<2>(2) - wire T_179386 : UInt<2>[2] - T_179386[0] := UInt<2>(1) - T_179386[1] := UInt<2>(2) - wire T_179387 : UInt<2>[1] - T_179387[0] := UInt<2>(2) - wire T_179388 : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<1>, dst : UInt<1>}, payload : {addr_block : UInt<26>, p_type : UInt<2>, client_id : UInt<1>}}} - T_179388.bits.payload := manager.probe.bits - T_179388.bits.header.src := UInt<1>(0) - T_179388.bits.header.dst := manager.probe.bits.client_id - T_179388.valid := manager.probe.valid - manager.probe.ready := T_179388.ready - network.probe <> T_179388 - manager.acquire.bits.client_id := network.acquire.bits.header.src - wire T_179389 : UInt<3>[3] - T_179389[0] := UInt<3>(0) - T_179389[1] := UInt<3>(1) - T_179389[2] := UInt<3>(2) - wire T_179390 : UInt<0>[1] - T_179390[0] := UInt<0>(0) - wire T_179391 : UInt<2>[2] - T_179391[0] := UInt<2>(1) - T_179391[1] := UInt<2>(2) - wire T_179392 : UInt<2>[2] - T_179392[0] := UInt<2>(1) - T_179392[1] := UInt<2>(2) - wire T_179393 : UInt<2>[1] - T_179393[0] := UInt<2>(2) - wire T_179394 : UInt<3>[3] - T_179394[0] := UInt<3>(0) - T_179394[1] := UInt<3>(1) - T_179394[2] := UInt<3>(2) - wire T_179395 : UInt<0>[1] - T_179395[0] := UInt<0>(0) - wire T_179396 : UInt<2>[2] - T_179396[0] := UInt<2>(1) - T_179396[1] := UInt<2>(2) - wire T_179397 : UInt<2>[2] - T_179397[0] := UInt<2>(1) - T_179397[1] := UInt<2>(2) - wire T_179398 : UInt<2>[1] - T_179398[0] := UInt<2>(2) - wire T_179399 : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}} - T_179399.valid := network.acquire.valid - T_179399.bits := network.acquire.bits.payload - network.acquire.ready := T_179399.ready - manager.acquire <> T_179399 - manager.release.bits.client_id := network.release.bits.header.src - wire T_179400 : UInt<3>[3] - T_179400[0] := UInt<3>(0) - T_179400[1] := UInt<3>(1) - T_179400[2] := UInt<3>(2) - wire T_179401 : UInt<0>[1] - T_179401[0] := UInt<0>(0) - wire T_179402 : UInt<2>[2] - T_179402[0] := UInt<2>(1) - T_179402[1] := UInt<2>(2) - wire T_179403 : UInt<2>[2] - T_179403[0] := UInt<2>(1) - T_179403[1] := UInt<2>(2) - wire T_179404 : UInt<2>[1] - T_179404[0] := UInt<2>(2) - wire T_179405 : UInt<3>[3] - T_179405[0] := UInt<3>(0) - T_179405[1] := UInt<3>(1) - T_179405[2] := UInt<3>(2) - wire T_179406 : UInt<0>[1] - T_179406[0] := UInt<0>(0) - wire T_179407 : UInt<2>[2] - T_179407[0] := UInt<2>(1) - T_179407[1] := UInt<2>(2) - wire T_179408 : UInt<2>[2] - T_179408[0] := UInt<2>(1) - T_179408[1] := UInt<2>(2) - wire T_179409 : UInt<2>[1] - T_179409[0] := UInt<2>(2) - wire T_179410 : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}} - T_179410.valid := network.release.valid - T_179410.bits := network.release.bits.payload - network.release.ready := T_179410.ready - manager.release <> T_179410 - wire T_179411 : UInt<3>[3] - T_179411[0] := UInt<3>(0) - T_179411[1] := UInt<3>(1) - T_179411[2] := UInt<3>(2) - wire T_179412 : UInt<0>[1] - T_179412[0] := UInt<0>(0) - wire T_179413 : UInt<2>[2] - T_179413[0] := UInt<2>(1) - T_179413[1] := UInt<2>(2) - wire T_179414 : UInt<2>[2] - T_179414[0] := UInt<2>(1) - T_179414[1] := UInt<2>(2) - wire T_179415 : UInt<2>[1] - T_179415[0] := UInt<2>(2) - wire T_179416 : UInt<3>[3] - T_179416[0] := UInt<3>(0) - T_179416[1] := UInt<3>(1) - T_179416[2] := UInt<3>(2) - wire T_179417 : UInt<0>[1] - T_179417[0] := UInt<0>(0) - wire T_179418 : UInt<2>[2] - T_179418[0] := UInt<2>(1) - T_179418[1] := UInt<2>(2) - wire T_179419 : UInt<2>[2] - T_179419[0] := UInt<2>(1) - T_179419[1] := UInt<2>(2) - wire T_179420 : UInt<2>[1] - T_179420[0] := UInt<2>(2) - wire T_179421 : {flip ready : UInt<1>, valid : UInt<1>, bits : {manager_xact_id : UInt<1>}} - T_179421.valid := network.finish.valid - T_179421.bits := network.finish.bits.payload - network.finish.ready := T_179421.ready - manager.finish <> T_179421 - module TileLinkEnqueuer_120089 : - input client : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<1>, dst : UInt<1>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<1>, dst : UInt<1>}, payload : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<2>, manager_xact_id : UInt<1>, is_builtin_type : UInt<1>, g_type : UInt<4>}}}, finish : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<1>, dst : UInt<1>}, payload : {manager_xact_id : UInt<1>}}}, flip probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<1>, dst : UInt<1>}, payload : {addr_block : UInt<26>, p_type : UInt<2>}}}, release : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<1>, dst : UInt<1>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}}} - output manager : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<1>, dst : UInt<1>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<1>, dst : UInt<1>}, payload : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<2>, manager_xact_id : UInt<1>, is_builtin_type : UInt<1>, g_type : UInt<4>}}}, finish : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<1>, dst : UInt<1>}, payload : {manager_xact_id : UInt<1>}}}, flip probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<1>, dst : UInt<1>}, payload : {addr_block : UInt<26>, p_type : UInt<2>}}}, release : {flip ready : UInt<1>, valid : UInt<1>, bits : {header : {src : UInt<1>, dst : UInt<1>}, payload : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}}} - - wire T_179422 : UInt<3>[3] - T_179422[0] := UInt<3>(0) - T_179422[1] := UInt<3>(1) - T_179422[2] := UInt<3>(2) - wire T_179423 : UInt<0>[1] - T_179423[0] := UInt<0>(0) - wire T_179424 : UInt<2>[2] - T_179424[0] := UInt<2>(1) - T_179424[1] := UInt<2>(2) - wire T_179425 : UInt<2>[2] - T_179425[0] := UInt<2>(1) - T_179425[1] := UInt<2>(2) - wire T_179426 : UInt<2>[1] - T_179426[0] := UInt<2>(2) - wire T_179427 : UInt<3>[3] - T_179427[0] := UInt<3>(0) - T_179427[1] := UInt<3>(1) - T_179427[2] := UInt<3>(2) - wire T_179428 : UInt<0>[1] - T_179428[0] := UInt<0>(0) - wire T_179429 : UInt<2>[2] - T_179429[0] := UInt<2>(1) - T_179429[1] := UInt<2>(2) - wire T_179430 : UInt<2>[2] - T_179430[0] := UInt<2>(1) - T_179430[1] := UInt<2>(2) - wire T_179431 : UInt<2>[1] - T_179431[0] := UInt<2>(2) - wire T_179432 : UInt<3>[3] - T_179432[0] := UInt<3>(0) - T_179432[1] := UInt<3>(1) - T_179432[2] := UInt<3>(2) - wire T_179433 : UInt<0>[1] - T_179433[0] := UInt<0>(0) - wire T_179434 : UInt<2>[2] - T_179434[0] := UInt<2>(1) - T_179434[1] := UInt<2>(2) - wire T_179435 : UInt<2>[2] - T_179435[0] := UInt<2>(1) - T_179435[1] := UInt<2>(2) - wire T_179436 : UInt<2>[1] - T_179436[0] := UInt<2>(2) - wire T_179437 : UInt<3>[3] - T_179437[0] := UInt<3>(0) - T_179437[1] := UInt<3>(1) - T_179437[2] := UInt<3>(2) - wire T_179438 : UInt<0>[1] - T_179438[0] := UInt<0>(0) - wire T_179439 : UInt<2>[2] - T_179439[0] := UInt<2>(1) - T_179439[1] := UInt<2>(2) - wire T_179440 : UInt<2>[2] - T_179440[0] := UInt<2>(1) - T_179440[1] := UInt<2>(2) - wire T_179441 : UInt<2>[1] - T_179441[0] := UInt<2>(2) - wire T_179442 : UInt<3>[3] - T_179442[0] := UInt<3>(0) - T_179442[1] := UInt<3>(1) - T_179442[2] := UInt<3>(2) - wire T_179443 : UInt<0>[1] - T_179443[0] := UInt<0>(0) - wire T_179444 : UInt<2>[2] - T_179444[0] := UInt<2>(1) - T_179444[1] := UInt<2>(2) - wire T_179445 : UInt<2>[2] - T_179445[0] := UInt<2>(1) - T_179445[1] := UInt<2>(2) - wire T_179446 : UInt<2>[1] - T_179446[0] := UInt<2>(2) - wire T_179447 : UInt<3>[3] - T_179447[0] := UInt<3>(0) - T_179447[1] := UInt<3>(1) - T_179447[2] := UInt<3>(2) - wire T_179448 : UInt<0>[1] - T_179448[0] := UInt<0>(0) - wire T_179449 : UInt<2>[2] - T_179449[0] := UInt<2>(1) - T_179449[1] := UInt<2>(2) - wire T_179450 : UInt<2>[2] - T_179450[0] := UInt<2>(1) - T_179450[1] := UInt<2>(2) - wire T_179451 : UInt<2>[1] - T_179451[0] := UInt<2>(2) - wire T_179452 : UInt<3>[3] - T_179452[0] := UInt<3>(0) - T_179452[1] := UInt<3>(1) - T_179452[2] := UInt<3>(2) - wire T_179453 : UInt<0>[1] - T_179453[0] := UInt<0>(0) - wire T_179454 : UInt<2>[2] - T_179454[0] := UInt<2>(1) - T_179454[1] := UInt<2>(2) - wire T_179455 : UInt<2>[2] - T_179455[0] := UInt<2>(1) - T_179455[1] := UInt<2>(2) - wire T_179456 : UInt<2>[1] - T_179456[0] := UInt<2>(2) - wire T_179457 : UInt<3>[3] - T_179457[0] := UInt<3>(0) - T_179457[1] := UInt<3>(1) - T_179457[2] := UInt<3>(2) - wire T_179458 : UInt<0>[1] - T_179458[0] := UInt<0>(0) - wire T_179459 : UInt<2>[2] - T_179459[0] := UInt<2>(1) - T_179459[1] := UInt<2>(2) - wire T_179460 : UInt<2>[2] - T_179460[0] := UInt<2>(1) - T_179460[1] := UInt<2>(2) - wire T_179461 : UInt<2>[1] - T_179461[0] := UInt<2>(2) - wire T_179462 : UInt<3>[3] - T_179462[0] := UInt<3>(0) - T_179462[1] := UInt<3>(1) - T_179462[2] := UInt<3>(2) - wire T_179463 : UInt<0>[1] - T_179463[0] := UInt<0>(0) - wire T_179464 : UInt<2>[2] - T_179464[0] := UInt<2>(1) - T_179464[1] := UInt<2>(2) - wire T_179465 : UInt<2>[2] - T_179465[0] := UInt<2>(1) - T_179465[1] := UInt<2>(2) - wire T_179466 : UInt<2>[1] - T_179466[0] := UInt<2>(2) - wire T_179467 : UInt<3>[3] - T_179467[0] := UInt<3>(0) - T_179467[1] := UInt<3>(1) - T_179467[2] := UInt<3>(2) - wire T_179468 : UInt<0>[1] - T_179468[0] := UInt<0>(0) - wire T_179469 : UInt<2>[2] - T_179469[0] := UInt<2>(1) - T_179469[1] := UInt<2>(2) - wire T_179470 : UInt<2>[2] - T_179470[0] := UInt<2>(1) - T_179470[1] := UInt<2>(2) - wire T_179471 : UInt<2>[1] - T_179471[0] := UInt<2>(2) - wire T_179472 : UInt<3>[3] - T_179472[0] := UInt<3>(0) - T_179472[1] := UInt<3>(1) - T_179472[2] := UInt<3>(2) - wire T_179473 : UInt<0>[1] - T_179473[0] := UInt<0>(0) - wire T_179474 : UInt<2>[2] - T_179474[0] := UInt<2>(1) - T_179474[1] := UInt<2>(2) - wire T_179475 : UInt<2>[2] - T_179475[0] := UInt<2>(1) - T_179475[1] := UInt<2>(2) - wire T_179476 : UInt<2>[1] - T_179476[0] := UInt<2>(2) - wire T_179477 : UInt<3>[3] - T_179477[0] := UInt<3>(0) - T_179477[1] := UInt<3>(1) - T_179477[2] := UInt<3>(2) - wire T_179478 : UInt<0>[1] - T_179478[0] := UInt<0>(0) - wire T_179479 : UInt<2>[2] - T_179479[0] := UInt<2>(1) - T_179479[1] := UInt<2>(2) - wire T_179480 : UInt<2>[2] - T_179480[0] := UInt<2>(1) - T_179480[1] := UInt<2>(2) - wire T_179481 : UInt<2>[1] - T_179481[0] := UInt<2>(2) - wire T_179482 : UInt<3>[3] - T_179482[0] := UInt<3>(0) - T_179482[1] := UInt<3>(1) - T_179482[2] := UInt<3>(2) - wire T_179483 : UInt<0>[1] - T_179483[0] := UInt<0>(0) - wire T_179484 : UInt<2>[2] - T_179484[0] := UInt<2>(1) - T_179484[1] := UInt<2>(2) - wire T_179485 : UInt<2>[2] - T_179485[0] := UInt<2>(1) - T_179485[1] := UInt<2>(2) - wire T_179486 : UInt<2>[1] - T_179486[0] := UInt<2>(2) - wire T_179487 : UInt<3>[3] - T_179487[0] := UInt<3>(0) - T_179487[1] := UInt<3>(1) - T_179487[2] := UInt<3>(2) - wire T_179488 : UInt<0>[1] - T_179488[0] := UInt<0>(0) - wire T_179489 : UInt<2>[2] - T_179489[0] := UInt<2>(1) - T_179489[1] := UInt<2>(2) - wire T_179490 : UInt<2>[2] - T_179490[0] := UInt<2>(1) - T_179490[1] := UInt<2>(2) - wire T_179491 : UInt<2>[1] - T_179491[0] := UInt<2>(2) - wire T_179492 : UInt<3>[3] - T_179492[0] := UInt<3>(0) - T_179492[1] := UInt<3>(1) - T_179492[2] := UInt<3>(2) - wire T_179493 : UInt<0>[1] - T_179493[0] := UInt<0>(0) - wire T_179494 : UInt<2>[2] - T_179494[0] := UInt<2>(1) - T_179494[1] := UInt<2>(2) - wire T_179495 : UInt<2>[2] - T_179495[0] := UInt<2>(1) - T_179495[1] := UInt<2>(2) - wire T_179496 : UInt<2>[1] - T_179496[0] := UInt<2>(2) - wire T_179497 : UInt<3>[3] - T_179497[0] := UInt<3>(0) - T_179497[1] := UInt<3>(1) - T_179497[2] := UInt<3>(2) - wire T_179498 : UInt<0>[1] - T_179498[0] := UInt<0>(0) - wire T_179499 : UInt<2>[2] - T_179499[0] := UInt<2>(1) - T_179499[1] := UInt<2>(2) - wire T_179500 : UInt<2>[2] - T_179500[0] := UInt<2>(1) - T_179500[1] := UInt<2>(2) - wire T_179501 : UInt<2>[1] - T_179501[0] := UInt<2>(2) - wire T_179502 : UInt<3>[3] - T_179502[0] := UInt<3>(0) - T_179502[1] := UInt<3>(1) - T_179502[2] := UInt<3>(2) - wire T_179503 : UInt<0>[1] - T_179503[0] := UInt<0>(0) - wire T_179504 : UInt<2>[2] - T_179504[0] := UInt<2>(1) - T_179504[1] := UInt<2>(2) - wire T_179505 : UInt<2>[2] - T_179505[0] := UInt<2>(1) - T_179505[1] := UInt<2>(2) - wire T_179506 : UInt<2>[1] - T_179506[0] := UInt<2>(2) - wire T_179507 : UInt<3>[3] - T_179507[0] := UInt<3>(0) - T_179507[1] := UInt<3>(1) - T_179507[2] := UInt<3>(2) - wire T_179508 : UInt<0>[1] - T_179508[0] := UInt<0>(0) - wire T_179509 : UInt<2>[2] - T_179509[0] := UInt<2>(1) - T_179509[1] := UInt<2>(2) - wire T_179510 : UInt<2>[2] - T_179510[0] := UInt<2>(1) - T_179510[1] := UInt<2>(2) - wire T_179511 : UInt<2>[1] - T_179511[0] := UInt<2>(2) - wire T_179512 : UInt<3>[3] - T_179512[0] := UInt<3>(0) - T_179512[1] := UInt<3>(1) - T_179512[2] := UInt<3>(2) - wire T_179513 : UInt<0>[1] - T_179513[0] := UInt<0>(0) - wire T_179514 : UInt<2>[2] - T_179514[0] := UInt<2>(1) - T_179514[1] := UInt<2>(2) - wire T_179515 : UInt<2>[2] - T_179515[0] := UInt<2>(1) - T_179515[1] := UInt<2>(2) - wire T_179516 : UInt<2>[1] - T_179516[0] := UInt<2>(2) - wire T_179517 : UInt<3>[3] - T_179517[0] := UInt<3>(0) - T_179517[1] := UInt<3>(1) - T_179517[2] := UInt<3>(2) - wire T_179518 : UInt<0>[1] - T_179518[0] := UInt<0>(0) - wire T_179519 : UInt<2>[2] - T_179519[0] := UInt<2>(1) - T_179519[1] := UInt<2>(2) - wire T_179520 : UInt<2>[2] - T_179520[0] := UInt<2>(1) - T_179520[1] := UInt<2>(2) - wire T_179521 : UInt<2>[1] - T_179521[0] := UInt<2>(2) - wire T_179522 : UInt<3>[3] - T_179522[0] := UInt<3>(0) - T_179522[1] := UInt<3>(1) - T_179522[2] := UInt<3>(2) - wire T_179523 : UInt<0>[1] - T_179523[0] := UInt<0>(0) - wire T_179524 : UInt<2>[2] - T_179524[0] := UInt<2>(1) - T_179524[1] := UInt<2>(2) - wire T_179525 : UInt<2>[2] - T_179525[0] := UInt<2>(1) - T_179525[1] := UInt<2>(2) - wire T_179526 : UInt<2>[1] - T_179526[0] := UInt<2>(2) - wire T_179527 : UInt<3>[3] - T_179527[0] := UInt<3>(0) - T_179527[1] := UInt<3>(1) - T_179527[2] := UInt<3>(2) - wire T_179528 : UInt<0>[1] - T_179528[0] := UInt<0>(0) - wire T_179529 : UInt<2>[2] - T_179529[0] := UInt<2>(1) - T_179529[1] := UInt<2>(2) - wire T_179530 : UInt<2>[2] - T_179530[0] := UInt<2>(1) - T_179530[1] := UInt<2>(2) - wire T_179531 : UInt<2>[1] - T_179531[0] := UInt<2>(2) - wire T_179532 : UInt<3>[3] - T_179532[0] := UInt<3>(0) - T_179532[1] := UInt<3>(1) - T_179532[2] := UInt<3>(2) - wire T_179533 : UInt<0>[1] - T_179533[0] := UInt<0>(0) - wire T_179534 : UInt<2>[2] - T_179534[0] := UInt<2>(1) - T_179534[1] := UInt<2>(2) - wire T_179535 : UInt<2>[2] - T_179535[0] := UInt<2>(1) - T_179535[1] := UInt<2>(2) - wire T_179536 : UInt<2>[1] - T_179536[0] := UInt<2>(2) - wire T_179537 : UInt<3>[3] - T_179537[0] := UInt<3>(0) - T_179537[1] := UInt<3>(1) - T_179537[2] := UInt<3>(2) - wire T_179538 : UInt<0>[1] - T_179538[0] := UInt<0>(0) - wire T_179539 : UInt<2>[2] - T_179539[0] := UInt<2>(1) - T_179539[1] := UInt<2>(2) - wire T_179540 : UInt<2>[2] - T_179540[0] := UInt<2>(1) - T_179540[1] := UInt<2>(2) - wire T_179541 : UInt<2>[1] - T_179541[0] := UInt<2>(2) - wire T_179542 : UInt<3>[3] - T_179542[0] := UInt<3>(0) - T_179542[1] := UInt<3>(1) - T_179542[2] := UInt<3>(2) - wire T_179543 : UInt<0>[1] - T_179543[0] := UInt<0>(0) - wire T_179544 : UInt<2>[2] - T_179544[0] := UInt<2>(1) - T_179544[1] := UInt<2>(2) - wire T_179545 : UInt<2>[2] - T_179545[0] := UInt<2>(1) - T_179545[1] := UInt<2>(2) - wire T_179546 : UInt<2>[1] - T_179546[0] := UInt<2>(2) - wire T_179547 : UInt<3>[3] - T_179547[0] := UInt<3>(0) - T_179547[1] := UInt<3>(1) - T_179547[2] := UInt<3>(2) - wire T_179548 : UInt<0>[1] - T_179548[0] := UInt<0>(0) - wire T_179549 : UInt<2>[2] - T_179549[0] := UInt<2>(1) - T_179549[1] := UInt<2>(2) - wire T_179550 : UInt<2>[2] - T_179550[0] := UInt<2>(1) - T_179550[1] := UInt<2>(2) - wire T_179551 : UInt<2>[1] - T_179551[0] := UInt<2>(2) - wire T_179552 : UInt<3>[3] - T_179552[0] := UInt<3>(0) - T_179552[1] := UInt<3>(1) - T_179552[2] := UInt<3>(2) - wire T_179553 : UInt<0>[1] - T_179553[0] := UInt<0>(0) - wire T_179554 : UInt<2>[2] - T_179554[0] := UInt<2>(1) - T_179554[1] := UInt<2>(2) - wire T_179555 : UInt<2>[2] - T_179555[0] := UInt<2>(1) - T_179555[1] := UInt<2>(2) - wire T_179556 : UInt<2>[1] - T_179556[0] := UInt<2>(2) - wire T_179557 : UInt<3>[3] - T_179557[0] := UInt<3>(0) - T_179557[1] := UInt<3>(1) - T_179557[2] := UInt<3>(2) - wire T_179558 : UInt<0>[1] - T_179558[0] := UInt<0>(0) - wire T_179559 : UInt<2>[2] - T_179559[0] := UInt<2>(1) - T_179559[1] := UInt<2>(2) - wire T_179560 : UInt<2>[2] - T_179560[0] := UInt<2>(1) - T_179560[1] := UInt<2>(2) - wire T_179561 : UInt<2>[1] - T_179561[0] := UInt<2>(2) - wire T_179562 : UInt<3>[3] - T_179562[0] := UInt<3>(0) - T_179562[1] := UInt<3>(1) - T_179562[2] := UInt<3>(2) - wire T_179563 : UInt<0>[1] - T_179563[0] := UInt<0>(0) - wire T_179564 : UInt<2>[2] - T_179564[0] := UInt<2>(1) - T_179564[1] := UInt<2>(2) - wire T_179565 : UInt<2>[2] - T_179565[0] := UInt<2>(1) - T_179565[1] := UInt<2>(2) - wire T_179566 : UInt<2>[1] - T_179566[0] := UInt<2>(2) - wire T_179567 : UInt<3>[3] - T_179567[0] := UInt<3>(0) - T_179567[1] := UInt<3>(1) - T_179567[2] := UInt<3>(2) - wire T_179568 : UInt<0>[1] - T_179568[0] := UInt<0>(0) - wire T_179569 : UInt<2>[2] - T_179569[0] := UInt<2>(1) - T_179569[1] := UInt<2>(2) - wire T_179570 : UInt<2>[2] - T_179570[0] := UInt<2>(1) - T_179570[1] := UInt<2>(2) - wire T_179571 : UInt<2>[1] - T_179571[0] := UInt<2>(2) - wire T_179572 : UInt<3>[3] - T_179572[0] := UInt<3>(0) - T_179572[1] := UInt<3>(1) - T_179572[2] := UInt<3>(2) - wire T_179573 : UInt<0>[1] - T_179573[0] := UInt<0>(0) - wire T_179574 : UInt<2>[2] - T_179574[0] := UInt<2>(1) - T_179574[1] := UInt<2>(2) - wire T_179575 : UInt<2>[2] - T_179575[0] := UInt<2>(1) - T_179575[1] := UInt<2>(2) - wire T_179576 : UInt<2>[1] - T_179576[0] := UInt<2>(2) - wire T_179577 : UInt<3>[3] - T_179577[0] := UInt<3>(0) - T_179577[1] := UInt<3>(1) - T_179577[2] := UInt<3>(2) - wire T_179578 : UInt<0>[1] - T_179578[0] := UInt<0>(0) - wire T_179579 : UInt<2>[2] - T_179579[0] := UInt<2>(1) - T_179579[1] := UInt<2>(2) - wire T_179580 : UInt<2>[2] - T_179580[0] := UInt<2>(1) - T_179580[1] := UInt<2>(2) - wire T_179581 : UInt<2>[1] - T_179581[0] := UInt<2>(2) - manager.acquire <> client.acquire - client.probe <> manager.probe - manager.release <> client.release - client.grant <> manager.grant - manager.finish <> client.finish - module RocketChipTileLinkArbiter_120090 : - input clients : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<2>, manager_xact_id : UInt<1>, is_builtin_type : UInt<1>, g_type : UInt<4>}}, flip probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>}}, release : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}}[1] - input managers : {flip acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>, client_id : UInt<1>}}, grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<2>, manager_xact_id : UInt<1>, is_builtin_type : UInt<1>, g_type : UInt<4>, client_id : UInt<1>}}, flip finish : {flip ready : UInt<1>, valid : UInt<1>, bits : {manager_xact_id : UInt<1>}}, probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>, client_id : UInt<1>}}, flip release : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>, client_id : UInt<1>}}}[1] - - wire T_179582 : UInt<3>[3] - T_179582[0] := UInt<3>(0) - T_179582[1] := UInt<3>(1) - T_179582[2] := UInt<3>(2) - wire T_179583 : UInt<0>[1] - T_179583[0] := UInt<0>(0) - wire T_179584 : UInt<2>[2] - T_179584[0] := UInt<2>(1) - T_179584[1] := UInt<2>(2) - wire T_179585 : UInt<2>[2] - T_179585[0] := UInt<2>(1) - T_179585[1] := UInt<2>(2) - wire T_179586 : UInt<2>[1] - T_179586[0] := UInt<2>(2) - wire T_179587 : UInt<3>[3] - T_179587[0] := UInt<3>(0) - T_179587[1] := UInt<3>(1) - T_179587[2] := UInt<3>(2) - wire T_179588 : UInt<0>[1] - T_179588[0] := UInt<0>(0) - wire T_179589 : UInt<2>[2] - T_179589[0] := UInt<2>(1) - T_179589[1] := UInt<2>(2) - wire T_179590 : UInt<2>[2] - T_179590[0] := UInt<2>(1) - T_179590[1] := UInt<2>(2) - wire T_179591 : UInt<2>[1] - T_179591[0] := UInt<2>(2) - wire T_179592 : UInt<3>[3] - T_179592[0] := UInt<3>(0) - T_179592[1] := UInt<3>(1) - T_179592[2] := UInt<3>(2) - wire T_179593 : UInt<0>[1] - T_179593[0] := UInt<0>(0) - wire T_179594 : UInt<2>[2] - T_179594[0] := UInt<2>(1) - T_179594[1] := UInt<2>(2) - wire T_179595 : UInt<2>[2] - T_179595[0] := UInt<2>(1) - T_179595[1] := UInt<2>(2) - wire T_179596 : UInt<2>[1] - T_179596[0] := UInt<2>(2) - wire T_179597 : UInt<3>[3] - T_179597[0] := UInt<3>(0) - T_179597[1] := UInt<3>(1) - T_179597[2] := UInt<3>(2) - wire T_179598 : UInt<0>[1] - T_179598[0] := UInt<0>(0) - wire T_179599 : UInt<2>[2] - T_179599[0] := UInt<2>(1) - T_179599[1] := UInt<2>(2) - wire T_179600 : UInt<2>[2] - T_179600[0] := UInt<2>(1) - T_179600[1] := UInt<2>(2) - wire T_179601 : UInt<2>[1] - T_179601[0] := UInt<2>(2) - wire T_179602 : UInt<3>[3] - T_179602[0] := UInt<3>(0) - T_179602[1] := UInt<3>(1) - T_179602[2] := UInt<3>(2) - wire T_179603 : UInt<0>[1] - T_179603[0] := UInt<0>(0) - wire T_179604 : UInt<2>[2] - T_179604[0] := UInt<2>(1) - T_179604[1] := UInt<2>(2) - wire T_179605 : UInt<2>[2] - T_179605[0] := UInt<2>(1) - T_179605[1] := UInt<2>(2) - wire T_179606 : UInt<2>[1] - T_179606[0] := UInt<2>(2) - wire T_179607 : UInt<3>[3] - T_179607[0] := UInt<3>(0) - T_179607[1] := UInt<3>(1) - T_179607[2] := UInt<3>(2) - wire T_179608 : UInt<0>[1] - T_179608[0] := UInt<0>(0) - wire T_179609 : UInt<2>[2] - T_179609[0] := UInt<2>(1) - T_179609[1] := UInt<2>(2) - wire T_179610 : UInt<2>[2] - T_179610[0] := UInt<2>(1) - T_179610[1] := UInt<2>(2) - wire T_179611 : UInt<2>[1] - T_179611[0] := UInt<2>(2) - wire T_179612 : UInt<3>[3] - T_179612[0] := UInt<3>(0) - T_179612[1] := UInt<3>(1) - T_179612[2] := UInt<3>(2) - wire T_179613 : UInt<0>[1] - T_179613[0] := UInt<0>(0) - wire T_179614 : UInt<2>[2] - T_179614[0] := UInt<2>(1) - T_179614[1] := UInt<2>(2) - wire T_179615 : UInt<2>[2] - T_179615[0] := UInt<2>(1) - T_179615[1] := UInt<2>(2) - wire T_179616 : UInt<2>[1] - T_179616[0] := UInt<2>(2) - wire T_179617 : UInt<3>[3] - T_179617[0] := UInt<3>(0) - T_179617[1] := UInt<3>(1) - T_179617[2] := UInt<3>(2) - wire T_179618 : UInt<0>[1] - T_179618[0] := UInt<0>(0) - wire T_179619 : UInt<2>[2] - T_179619[0] := UInt<2>(1) - T_179619[1] := UInt<2>(2) - wire T_179620 : UInt<2>[2] - T_179620[0] := UInt<2>(1) - T_179620[1] := UInt<2>(2) - wire T_179621 : UInt<2>[1] - T_179621[0] := UInt<2>(2) - wire T_179622 : UInt<3>[3] - T_179622[0] := UInt<3>(0) - T_179622[1] := UInt<3>(1) - T_179622[2] := UInt<3>(2) - wire T_179623 : UInt<0>[1] - T_179623[0] := UInt<0>(0) - wire T_179624 : UInt<2>[2] - T_179624[0] := UInt<2>(1) - T_179624[1] := UInt<2>(2) - wire T_179625 : UInt<2>[2] - T_179625[0] := UInt<2>(1) - T_179625[1] := UInt<2>(2) - wire T_179626 : UInt<2>[1] - T_179626[0] := UInt<2>(2) - wire T_179627 : UInt<3>[3] - T_179627[0] := UInt<3>(0) - T_179627[1] := UInt<3>(1) - T_179627[2] := UInt<3>(2) - wire T_179628 : UInt<0>[1] - T_179628[0] := UInt<0>(0) - wire T_179629 : UInt<2>[2] - T_179629[0] := UInt<2>(1) - T_179629[1] := UInt<2>(2) - wire T_179630 : UInt<2>[2] - T_179630[0] := UInt<2>(1) - T_179630[1] := UInt<2>(2) - wire T_179631 : UInt<2>[1] - T_179631[0] := UInt<2>(2) - wire T_179632 : UInt<3>[3] - T_179632[0] := UInt<3>(0) - T_179632[1] := UInt<3>(1) - T_179632[2] := UInt<3>(2) - wire T_179633 : UInt<0>[1] - T_179633[0] := UInt<0>(0) - wire T_179634 : UInt<2>[2] - T_179634[0] := UInt<2>(1) - T_179634[1] := UInt<2>(2) - wire T_179635 : UInt<2>[2] - T_179635[0] := UInt<2>(1) - T_179635[1] := UInt<2>(2) - wire T_179636 : UInt<2>[1] - T_179636[0] := UInt<2>(2) - wire T_179637 : UInt<3>[3] - T_179637[0] := UInt<3>(0) - T_179637[1] := UInt<3>(1) - T_179637[2] := UInt<3>(2) - wire T_179638 : UInt<0>[1] - T_179638[0] := UInt<0>(0) - wire T_179639 : UInt<2>[2] - T_179639[0] := UInt<2>(1) - T_179639[1] := UInt<2>(2) - wire T_179640 : UInt<2>[2] - T_179640[0] := UInt<2>(1) - T_179640[1] := UInt<2>(2) - wire T_179641 : UInt<2>[1] - T_179641[0] := UInt<2>(2) - wire T_179642 : UInt<3>[3] - T_179642[0] := UInt<3>(0) - T_179642[1] := UInt<3>(1) - T_179642[2] := UInt<3>(2) - wire T_179643 : UInt<0>[1] - T_179643[0] := UInt<0>(0) - wire T_179644 : UInt<2>[2] - T_179644[0] := UInt<2>(1) - T_179644[1] := UInt<2>(2) - wire T_179645 : UInt<2>[2] - T_179645[0] := UInt<2>(1) - T_179645[1] := UInt<2>(2) - wire T_179646 : UInt<2>[1] - T_179646[0] := UInt<2>(2) - wire T_179647 : UInt<3>[3] - T_179647[0] := UInt<3>(0) - T_179647[1] := UInt<3>(1) - T_179647[2] := UInt<3>(2) - wire T_179648 : UInt<0>[1] - T_179648[0] := UInt<0>(0) - wire T_179649 : UInt<2>[2] - T_179649[0] := UInt<2>(1) - T_179649[1] := UInt<2>(2) - wire T_179650 : UInt<2>[2] - T_179650[0] := UInt<2>(1) - T_179650[1] := UInt<2>(2) - wire T_179651 : UInt<2>[1] - T_179651[0] := UInt<2>(2) - wire T_179652 : UInt<3>[3] - T_179652[0] := UInt<3>(0) - T_179652[1] := UInt<3>(1) - T_179652[2] := UInt<3>(2) - wire T_179653 : UInt<0>[1] - T_179653[0] := UInt<0>(0) - wire T_179654 : UInt<2>[2] - T_179654[0] := UInt<2>(1) - T_179654[1] := UInt<2>(2) - wire T_179655 : UInt<2>[2] - T_179655[0] := UInt<2>(1) - T_179655[1] := UInt<2>(2) - wire T_179656 : UInt<2>[1] - T_179656[0] := UInt<2>(2) - wire T_179657 : UInt<3>[3] - T_179657[0] := UInt<3>(0) - T_179657[1] := UInt<3>(1) - T_179657[2] := UInt<3>(2) - wire T_179658 : UInt<0>[1] - T_179658[0] := UInt<0>(0) - wire T_179659 : UInt<2>[2] - T_179659[0] := UInt<2>(1) - T_179659[1] := UInt<2>(2) - wire T_179660 : UInt<2>[2] - T_179660[0] := UInt<2>(1) - T_179660[1] := UInt<2>(2) - wire T_179661 : UInt<2>[1] - T_179661[0] := UInt<2>(2) - wire T_179662 : UInt<3>[3] - T_179662[0] := UInt<3>(0) - T_179662[1] := UInt<3>(1) - T_179662[2] := UInt<3>(2) - wire T_179663 : UInt<0>[1] - T_179663[0] := UInt<0>(0) - wire T_179664 : UInt<2>[2] - T_179664[0] := UInt<2>(1) - T_179664[1] := UInt<2>(2) - wire T_179665 : UInt<2>[2] - T_179665[0] := UInt<2>(1) - T_179665[1] := UInt<2>(2) - wire T_179666 : UInt<2>[1] - T_179666[0] := UInt<2>(2) - wire T_179667 : UInt<3>[3] - T_179667[0] := UInt<3>(0) - T_179667[1] := UInt<3>(1) - T_179667[2] := UInt<3>(2) - wire T_179668 : UInt<0>[1] - T_179668[0] := UInt<0>(0) - wire T_179669 : UInt<2>[2] - T_179669[0] := UInt<2>(1) - T_179669[1] := UInt<2>(2) - wire T_179670 : UInt<2>[2] - T_179670[0] := UInt<2>(1) - T_179670[1] := UInt<2>(2) - wire T_179671 : UInt<2>[1] - T_179671[0] := UInt<2>(2) - wire T_179672 : UInt<3>[3] - T_179672[0] := UInt<3>(0) - T_179672[1] := UInt<3>(1) - T_179672[2] := UInt<3>(2) - wire T_179673 : UInt<0>[1] - T_179673[0] := UInt<0>(0) - wire T_179674 : UInt<2>[2] - T_179674[0] := UInt<2>(1) - T_179674[1] := UInt<2>(2) - wire T_179675 : UInt<2>[2] - T_179675[0] := UInt<2>(1) - T_179675[1] := UInt<2>(2) - wire T_179676 : UInt<2>[1] - T_179676[0] := UInt<2>(2) - wire clients : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<2>, manager_xact_id : UInt<1>, is_builtin_type : UInt<1>, g_type : UInt<4>}}, flip probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>}}, release : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}}[1] - clients[0] := T_179677 - wire T_179678 : UInt<3>[3] - T_179678[0] := UInt<3>(0) - T_179678[1] := UInt<3>(1) - T_179678[2] := UInt<3>(2) - wire T_179679 : UInt<0>[1] - T_179679[0] := UInt<0>(0) - wire T_179680 : UInt<2>[2] - T_179680[0] := UInt<2>(1) - T_179680[1] := UInt<2>(2) - wire T_179681 : UInt<2>[2] - T_179681[0] := UInt<2>(1) - T_179681[1] := UInt<2>(2) - wire T_179682 : UInt<2>[1] - T_179682[0] := UInt<2>(2) - wire T_179683 : UInt<3>[3] - T_179683[0] := UInt<3>(0) - T_179683[1] := UInt<3>(1) - T_179683[2] := UInt<3>(2) - wire T_179684 : UInt<0>[1] - T_179684[0] := UInt<0>(0) - wire T_179685 : UInt<2>[2] - T_179685[0] := UInt<2>(1) - T_179685[1] := UInt<2>(2) - wire T_179686 : UInt<2>[2] - T_179686[0] := UInt<2>(1) - T_179686[1] := UInt<2>(2) - wire T_179687 : UInt<2>[1] - T_179687[0] := UInt<2>(2) - wire T_179688 : UInt<3>[3] - T_179688[0] := UInt<3>(0) - T_179688[1] := UInt<3>(1) - T_179688[2] := UInt<3>(2) - wire T_179689 : UInt<0>[1] - T_179689[0] := UInt<0>(0) - wire T_179690 : UInt<2>[2] - T_179690[0] := UInt<2>(1) - T_179690[1] := UInt<2>(2) - wire T_179691 : UInt<2>[2] - T_179691[0] := UInt<2>(1) - T_179691[1] := UInt<2>(2) - wire T_179692 : UInt<2>[1] - T_179692[0] := UInt<2>(2) - wire T_179693 : UInt<3>[3] - T_179693[0] := UInt<3>(0) - T_179693[1] := UInt<3>(1) - T_179693[2] := UInt<3>(2) - wire T_179694 : UInt<0>[1] - T_179694[0] := UInt<0>(0) - wire T_179695 : UInt<2>[2] - T_179695[0] := UInt<2>(1) - T_179695[1] := UInt<2>(2) - wire T_179696 : UInt<2>[2] - T_179696[0] := UInt<2>(1) - T_179696[1] := UInt<2>(2) - wire T_179697 : UInt<2>[1] - T_179697[0] := UInt<2>(2) - wire T_179698 : UInt<3>[3] - T_179698[0] := UInt<3>(0) - T_179698[1] := UInt<3>(1) - T_179698[2] := UInt<3>(2) - wire T_179699 : UInt<0>[1] - T_179699[0] := UInt<0>(0) - wire T_179700 : UInt<2>[2] - T_179700[0] := UInt<2>(1) - T_179700[1] := UInt<2>(2) - wire T_179701 : UInt<2>[2] - T_179701[0] := UInt<2>(1) - T_179701[1] := UInt<2>(2) - wire T_179702 : UInt<2>[1] - T_179702[0] := UInt<2>(2) - wire T_179703 : UInt<3>[3] - T_179703[0] := UInt<3>(0) - T_179703[1] := UInt<3>(1) - T_179703[2] := UInt<3>(2) - wire T_179704 : UInt<0>[1] - T_179704[0] := UInt<0>(0) - wire T_179705 : UInt<2>[2] - T_179705[0] := UInt<2>(1) - T_179705[1] := UInt<2>(2) - wire T_179706 : UInt<2>[2] - T_179706[0] := UInt<2>(1) - T_179706[1] := UInt<2>(2) - wire T_179707 : UInt<2>[1] - T_179707[0] := UInt<2>(2) - wire T_179708 : UInt<3>[3] - T_179708[0] := UInt<3>(0) - T_179708[1] := UInt<3>(1) - T_179708[2] := UInt<3>(2) - wire T_179709 : UInt<0>[1] - T_179709[0] := UInt<0>(0) - wire T_179710 : UInt<2>[2] - T_179710[0] := UInt<2>(1) - T_179710[1] := UInt<2>(2) - wire T_179711 : UInt<2>[2] - T_179711[0] := UInt<2>(1) - T_179711[1] := UInt<2>(2) - wire T_179712 : UInt<2>[1] - T_179712[0] := UInt<2>(2) - wire T_179713 : UInt<3>[3] - T_179713[0] := UInt<3>(0) - T_179713[1] := UInt<3>(1) - T_179713[2] := UInt<3>(2) - wire T_179714 : UInt<0>[1] - T_179714[0] := UInt<0>(0) - wire T_179715 : UInt<2>[2] - T_179715[0] := UInt<2>(1) - T_179715[1] := UInt<2>(2) - wire T_179716 : UInt<2>[2] - T_179716[0] := UInt<2>(1) - T_179716[1] := UInt<2>(2) - wire T_179717 : UInt<2>[1] - T_179717[0] := UInt<2>(2) - wire T_179718 : UInt<3>[3] - T_179718[0] := UInt<3>(0) - T_179718[1] := UInt<3>(1) - T_179718[2] := UInt<3>(2) - wire T_179719 : UInt<0>[1] - T_179719[0] := UInt<0>(0) - wire T_179720 : UInt<2>[2] - T_179720[0] := UInt<2>(1) - T_179720[1] := UInt<2>(2) - wire T_179721 : UInt<2>[2] - T_179721[0] := UInt<2>(1) - T_179721[1] := UInt<2>(2) - wire T_179722 : UInt<2>[1] - T_179722[0] := UInt<2>(2) - wire T_179723 : UInt<3>[3] - T_179723[0] := UInt<3>(0) - T_179723[1] := UInt<3>(1) - T_179723[2] := UInt<3>(2) - wire T_179724 : UInt<0>[1] - T_179724[0] := UInt<0>(0) - wire T_179725 : UInt<2>[2] - T_179725[0] := UInt<2>(1) - T_179725[1] := UInt<2>(2) - wire T_179726 : UInt<2>[2] - T_179726[0] := UInt<2>(1) - T_179726[1] := UInt<2>(2) - wire T_179727 : UInt<2>[1] - T_179727[0] := UInt<2>(2) - wire T_179728 : UInt<3>[3] - T_179728[0] := UInt<3>(0) - T_179728[1] := UInt<3>(1) - T_179728[2] := UInt<3>(2) - wire T_179729 : UInt<0>[1] - T_179729[0] := UInt<0>(0) - wire T_179730 : UInt<2>[2] - T_179730[0] := UInt<2>(1) - T_179730[1] := UInt<2>(2) - wire T_179731 : UInt<2>[2] - T_179731[0] := UInt<2>(1) - T_179731[1] := UInt<2>(2) - wire T_179732 : UInt<2>[1] - T_179732[0] := UInt<2>(2) - wire T_179733 : UInt<3>[3] - T_179733[0] := UInt<3>(0) - T_179733[1] := UInt<3>(1) - T_179733[2] := UInt<3>(2) - wire T_179734 : UInt<0>[1] - T_179734[0] := UInt<0>(0) - wire T_179735 : UInt<2>[2] - T_179735[0] := UInt<2>(1) - T_179735[1] := UInt<2>(2) - wire T_179736 : UInt<2>[2] - T_179736[0] := UInt<2>(1) - T_179736[1] := UInt<2>(2) - wire T_179737 : UInt<2>[1] - T_179737[0] := UInt<2>(2) - wire T_179738 : UInt<3>[3] - T_179738[0] := UInt<3>(0) - T_179738[1] := UInt<3>(1) - T_179738[2] := UInt<3>(2) - wire T_179739 : UInt<0>[1] - T_179739[0] := UInt<0>(0) - wire T_179740 : UInt<2>[2] - T_179740[0] := UInt<2>(1) - T_179740[1] := UInt<2>(2) - wire T_179741 : UInt<2>[2] - T_179741[0] := UInt<2>(1) - T_179741[1] := UInt<2>(2) - wire T_179742 : UInt<2>[1] - T_179742[0] := UInt<2>(2) - wire T_179743 : UInt<3>[3] - T_179743[0] := UInt<3>(0) - T_179743[1] := UInt<3>(1) - T_179743[2] := UInt<3>(2) - wire T_179744 : UInt<0>[1] - T_179744[0] := UInt<0>(0) - wire T_179745 : UInt<2>[2] - T_179745[0] := UInt<2>(1) - T_179745[1] := UInt<2>(2) - wire T_179746 : UInt<2>[2] - T_179746[0] := UInt<2>(1) - T_179746[1] := UInt<2>(2) - wire T_179747 : UInt<2>[1] - T_179747[0] := UInt<2>(2) - wire T_179748 : UInt<3>[3] - T_179748[0] := UInt<3>(0) - T_179748[1] := UInt<3>(1) - T_179748[2] := UInt<3>(2) - wire T_179749 : UInt<0>[1] - T_179749[0] := UInt<0>(0) - wire T_179750 : UInt<2>[2] - T_179750[0] := UInt<2>(1) - T_179750[1] := UInt<2>(2) - wire T_179751 : UInt<2>[2] - T_179751[0] := UInt<2>(1) - T_179751[1] := UInt<2>(2) - wire T_179752 : UInt<2>[1] - T_179752[0] := UInt<2>(2) - wire T_179753 : UInt<3>[3] - T_179753[0] := UInt<3>(0) - T_179753[1] := UInt<3>(1) - T_179753[2] := UInt<3>(2) - wire T_179754 : UInt<0>[1] - T_179754[0] := UInt<0>(0) - wire T_179755 : UInt<2>[2] - T_179755[0] := UInt<2>(1) - T_179755[1] := UInt<2>(2) - wire T_179756 : UInt<2>[2] - T_179756[0] := UInt<2>(1) - T_179756[1] := UInt<2>(2) - wire T_179757 : UInt<2>[1] - T_179757[0] := UInt<2>(2) - wire T_179758 : UInt<3>[3] - T_179758[0] := UInt<3>(0) - T_179758[1] := UInt<3>(1) - T_179758[2] := UInt<3>(2) - wire T_179759 : UInt<0>[1] - T_179759[0] := UInt<0>(0) - wire T_179760 : UInt<2>[2] - T_179760[0] := UInt<2>(1) - T_179760[1] := UInt<2>(2) - wire T_179761 : UInt<2>[2] - T_179761[0] := UInt<2>(1) - T_179761[1] := UInt<2>(2) - wire T_179762 : UInt<2>[1] - T_179762[0] := UInt<2>(2) - wire T_179763 : UInt<3>[3] - T_179763[0] := UInt<3>(0) - T_179763[1] := UInt<3>(1) - T_179763[2] := UInt<3>(2) - wire T_179764 : UInt<0>[1] - T_179764[0] := UInt<0>(0) - wire T_179765 : UInt<2>[2] - T_179765[0] := UInt<2>(1) - T_179765[1] := UInt<2>(2) - wire T_179766 : UInt<2>[2] - T_179766[0] := UInt<2>(1) - T_179766[1] := UInt<2>(2) - wire T_179767 : UInt<2>[1] - T_179767[0] := UInt<2>(2) - wire T_179768 : UInt<3>[3] - T_179768[0] := UInt<3>(0) - T_179768[1] := UInt<3>(1) - T_179768[2] := UInt<3>(2) - wire T_179769 : UInt<0>[1] - T_179769[0] := UInt<0>(0) - wire T_179770 : UInt<2>[2] - T_179770[0] := UInt<2>(1) - T_179770[1] := UInt<2>(2) - wire T_179771 : UInt<2>[2] - T_179771[0] := UInt<2>(1) - T_179771[1] := UInt<2>(2) - wire T_179772 : UInt<2>[1] - T_179772[0] := UInt<2>(2) - wire T_179773 : UInt<3>[3] - T_179773[0] := UInt<3>(0) - T_179773[1] := UInt<3>(1) - T_179773[2] := UInt<3>(2) - wire T_179774 : UInt<0>[1] - T_179774[0] := UInt<0>(0) - wire T_179775 : UInt<2>[2] - T_179775[0] := UInt<2>(1) - T_179775[1] := UInt<2>(2) - wire T_179776 : UInt<2>[2] - T_179776[0] := UInt<2>(1) - T_179776[1] := UInt<2>(2) - wire T_179777 : UInt<2>[1] - T_179777[0] := UInt<2>(2) - wire T_179778 : UInt<3>[3] - T_179778[0] := UInt<3>(0) - T_179778[1] := UInt<3>(1) - T_179778[2] := UInt<3>(2) - wire T_179779 : UInt<0>[1] - T_179779[0] := UInt<0>(0) - wire T_179780 : UInt<2>[2] - T_179780[0] := UInt<2>(1) - T_179780[1] := UInt<2>(2) - wire T_179781 : UInt<2>[2] - T_179781[0] := UInt<2>(1) - T_179781[1] := UInt<2>(2) - wire T_179782 : UInt<2>[1] - T_179782[0] := UInt<2>(2) - wire T_179783 : UInt<3>[3] - T_179783[0] := UInt<3>(0) - T_179783[1] := UInt<3>(1) - T_179783[2] := UInt<3>(2) - wire T_179784 : UInt<0>[1] - T_179784[0] := UInt<0>(0) - wire T_179785 : UInt<2>[2] - T_179785[0] := UInt<2>(1) - T_179785[1] := UInt<2>(2) - wire T_179786 : UInt<2>[2] - T_179786[0] := UInt<2>(1) - T_179786[1] := UInt<2>(2) - wire T_179787 : UInt<2>[1] - T_179787[0] := UInt<2>(2) - wire managers : {flip acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>, client_id : UInt<1>}}, grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<2>, manager_xact_id : UInt<1>, is_builtin_type : UInt<1>, g_type : UInt<4>, client_id : UInt<1>}}, flip finish : {flip ready : UInt<1>, valid : UInt<1>, bits : {manager_xact_id : UInt<1>}}, probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>, client_id : UInt<1>}}, flip release : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>, client_id : UInt<1>}}}[1] - managers[0] := T_179788 - inst T_179789 of ClientTileLinkNetworkPort_114092 - inst T_179790 of TileLinkEnqueuer_115938 - T_179789.client <> clients[0] - T_179790.client <> T_179789.network - inst T_179791 of ManagerTileLinkNetworkPort_118243 - inst T_179792 of TileLinkEnqueuer_120089 - managers[0] <> T_179791.manager - T_179791.network <> T_179792.manager - T_179792.client <> T_179790.manager - module Arbiter : - input in : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<2>, manager_xact_id : UInt<1>, is_builtin_type : UInt<1>, g_type : UInt<4>, client_id : UInt<1>}}[2] - output out : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<2>, manager_xact_id : UInt<1>, is_builtin_type : UInt<1>, g_type : UInt<4>, client_id : UInt<1>}} - output chosen : UInt<1> - - wire T_179793 : UInt<3>[3] - T_179793[0] := UInt<3>(0) - T_179793[1] := UInt<3>(1) - T_179793[2] := UInt<3>(2) - wire T_179794 : UInt<0>[1] - T_179794[0] := UInt<0>(0) - wire T_179795 : UInt<2>[2] - T_179795[0] := UInt<2>(1) - T_179795[1] := UInt<2>(2) - wire T_179796 : UInt<2>[2] - T_179796[0] := UInt<2>(1) - T_179796[1] := UInt<2>(2) - wire T_179797 : UInt<2>[1] - T_179797[0] := UInt<2>(2) - wire T_179798 : UInt<3>[3] - T_179798[0] := UInt<3>(0) - T_179798[1] := UInt<3>(1) - T_179798[2] := UInt<3>(2) - wire T_179799 : UInt<0>[1] - T_179799[0] := UInt<0>(0) - wire T_179800 : UInt<2>[2] - T_179800[0] := UInt<2>(1) - T_179800[1] := UInt<2>(2) - wire T_179801 : UInt<2>[2] - T_179801[0] := UInt<2>(1) - T_179801[1] := UInt<2>(2) - wire T_179802 : UInt<2>[1] - T_179802[0] := UInt<2>(2) - wire T_179803 : UInt<3>[3] - T_179803[0] := UInt<3>(0) - T_179803[1] := UInt<3>(1) - T_179803[2] := UInt<3>(2) - wire T_179804 : UInt<0>[1] - T_179804[0] := UInt<0>(0) - wire T_179805 : UInt<2>[2] - T_179805[0] := UInt<2>(1) - T_179805[1] := UInt<2>(2) - wire T_179806 : UInt<2>[2] - T_179806[0] := UInt<2>(1) - T_179806[1] := UInt<2>(2) - wire T_179807 : UInt<2>[1] - T_179807[0] := UInt<2>(2) - wire T_179808 : UInt<3>[3] - T_179808[0] := UInt<3>(0) - T_179808[1] := UInt<3>(1) - T_179808[2] := UInt<3>(2) - wire T_179809 : UInt<0>[1] - T_179809[0] := UInt<0>(0) - wire T_179810 : UInt<2>[2] - T_179810[0] := UInt<2>(1) - T_179810[1] := UInt<2>(2) - wire T_179811 : UInt<2>[2] - T_179811[0] := UInt<2>(1) - T_179811[1] := UInt<2>(2) - wire T_179812 : UInt<2>[1] - T_179812[0] := UInt<2>(2) - wire T_179813 : UInt<1> - node T_179814 = or(UInt<1>(0), in[0].valid) - node T_179815 = eq(T_179814, UInt<1>(0)) - node T_179816 = eq(UInt<1>(1), UInt<1>(0)) - wire T_179817 : UInt<1> - T_179817 := UInt<1>(1) - when UInt<1>(0) : T_179817 := T_179816 - node T_179818 = and(T_179817, out.ready) - in[0].ready := T_179818 - node T_179819 = eq(UInt<1>(1), UInt<1>(1)) - wire T_179820 : UInt<1> - T_179820 := T_179815 - when UInt<1>(0) : T_179820 := T_179819 - node T_179821 = and(T_179820, out.ready) - in[1].ready := T_179821 - wire T_179822 : UInt<3>[3] - T_179822[0] := UInt<3>(0) - T_179822[1] := UInt<3>(1) - T_179822[2] := UInt<3>(2) - wire T_179823 : UInt<0>[1] - T_179823[0] := UInt<0>(0) - wire T_179824 : UInt<2>[2] - T_179824[0] := UInt<2>(1) - T_179824[1] := UInt<2>(2) - wire T_179825 : UInt<2>[2] - T_179825[0] := UInt<2>(1) - T_179825[1] := UInt<2>(2) - wire T_179826 : UInt<2>[1] - T_179826[0] := UInt<2>(2) - accessor T_179827 = in[T_179813] - out.valid := T_179827.valid - wire T_179828 : UInt<3>[3] - T_179828[0] := UInt<3>(0) - T_179828[1] := UInt<3>(1) - T_179828[2] := UInt<3>(2) - wire T_179829 : UInt<0>[1] - T_179829[0] := UInt<0>(0) - wire T_179830 : UInt<2>[2] - T_179830[0] := UInt<2>(1) - T_179830[1] := UInt<2>(2) - wire T_179831 : UInt<2>[2] - T_179831[0] := UInt<2>(1) - T_179831[1] := UInt<2>(2) - wire T_179832 : UInt<2>[1] - T_179832[0] := UInt<2>(2) - accessor T_179833 = in[T_179813] - out.bits := T_179833.bits - chosen := T_179813 - wire T_179834 : UInt<1> - T_179834 := UInt<1>(1) - when in[0].valid : T_179834 := UInt<1>(0) - wire T_179835 : UInt<1> - T_179835 := T_179834 - when UInt<1>(0) : T_179835 := UInt<1>(1) - T_179813 := T_179835 - module MemIOTileLinkIOConverter : - output tl : {flip acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>, client_id : UInt<1>}}, grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<2>, manager_xact_id : UInt<1>, is_builtin_type : UInt<1>, g_type : UInt<4>, client_id : UInt<1>}}, flip finish : {flip ready : UInt<1>, valid : UInt<1>, bits : {manager_xact_id : UInt<1>}}, probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>, client_id : UInt<1>}}, flip release : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>, client_id : UInt<1>}}} - output mem__ : {req_cmd : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<26>, tag : UInt<5>, rw : UInt<1>}}, req_data : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<128>}}, flip resp : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<128>, tag : UInt<5>}}} - - wire T_179836 : UInt<3>[3] - T_179836[0] := UInt<3>(0) - T_179836[1] := UInt<3>(1) - T_179836[2] := UInt<3>(2) - wire T_179837 : UInt<0>[1] - T_179837[0] := UInt<0>(0) - wire T_179838 : UInt<2>[2] - T_179838[0] := UInt<2>(1) - T_179838[1] := UInt<2>(2) - wire T_179839 : UInt<2>[2] - T_179839[0] := UInt<2>(1) - T_179839[1] := UInt<2>(2) - wire T_179840 : UInt<2>[1] - T_179840[0] := UInt<2>(2) - wire T_179841 : UInt<3>[3] - T_179841[0] := UInt<3>(0) - T_179841[1] := UInt<3>(1) - T_179841[2] := UInt<3>(2) - wire T_179842 : UInt<0>[1] - T_179842[0] := UInt<0>(0) - wire T_179843 : UInt<2>[2] - T_179843[0] := UInt<2>(1) - T_179843[1] := UInt<2>(2) - wire T_179844 : UInt<2>[2] - T_179844[0] := UInt<2>(1) - T_179844[1] := UInt<2>(2) - wire T_179845 : UInt<2>[1] - T_179845[0] := UInt<2>(2) - wire T_179846 : UInt<3>[3] - T_179846[0] := UInt<3>(0) - T_179846[1] := UInt<3>(1) - T_179846[2] := UInt<3>(2) - wire T_179847 : UInt<0>[1] - T_179847[0] := UInt<0>(0) - wire T_179848 : UInt<2>[2] - T_179848[0] := UInt<2>(1) - T_179848[1] := UInt<2>(2) - wire T_179849 : UInt<2>[2] - T_179849[0] := UInt<2>(1) - T_179849[1] := UInt<2>(2) - wire T_179850 : UInt<2>[1] - T_179850[0] := UInt<2>(2) - wire T_179851 : UInt<3>[3] - T_179851[0] := UInt<3>(0) - T_179851[1] := UInt<3>(1) - T_179851[2] := UInt<3>(2) - wire T_179852 : UInt<0>[1] - T_179852[0] := UInt<0>(0) - wire T_179853 : UInt<2>[2] - T_179853[0] := UInt<2>(1) - T_179853[1] := UInt<2>(2) - wire T_179854 : UInt<2>[2] - T_179854[0] := UInt<2>(1) - T_179854[1] := UInt<2>(2) - wire T_179855 : UInt<2>[1] - T_179855[0] := UInt<2>(2) - wire T_179856 : UInt<3>[3] - T_179856[0] := UInt<3>(0) - T_179856[1] := UInt<3>(1) - T_179856[2] := UInt<3>(2) - wire T_179857 : UInt<0>[1] - T_179857[0] := UInt<0>(0) - wire T_179858 : UInt<2>[2] - T_179858[0] := UInt<2>(1) - T_179858[1] := UInt<2>(2) - wire T_179859 : UInt<2>[2] - T_179859[0] := UInt<2>(1) - T_179859[1] := UInt<2>(2) - wire T_179860 : UInt<2>[1] - T_179860[0] := UInt<2>(2) - wire T_179861 : UInt<3>[3] - T_179861[0] := UInt<3>(0) - T_179861[1] := UInt<3>(1) - T_179861[2] := UInt<3>(2) - wire T_179862 : UInt<0>[1] - T_179862[0] := UInt<0>(0) - wire T_179863 : UInt<2>[2] - T_179863[0] := UInt<2>(1) - T_179863[1] := UInt<2>(2) - wire T_179864 : UInt<2>[2] - T_179864[0] := UInt<2>(1) - T_179864[1] := UInt<2>(2) - wire T_179865 : UInt<2>[1] - T_179865[0] := UInt<2>(2) - wire T_179866 : UInt<3>[3] - T_179866[0] := UInt<3>(0) - T_179866[1] := UInt<3>(1) - T_179866[2] := UInt<3>(2) - wire T_179867 : UInt<0>[1] - T_179867[0] := UInt<0>(0) - wire T_179868 : UInt<2>[2] - T_179868[0] := UInt<2>(1) - T_179868[1] := UInt<2>(2) - wire T_179869 : UInt<2>[2] - T_179869[0] := UInt<2>(1) - T_179869[1] := UInt<2>(2) - wire T_179870 : UInt<2>[1] - T_179870[0] := UInt<2>(2) - wire T_179871 : UInt<3>[3] - T_179871[0] := UInt<3>(0) - T_179871[1] := UInt<3>(1) - T_179871[2] := UInt<3>(2) - wire T_179872 : UInt<0>[1] - T_179872[0] := UInt<0>(0) - wire T_179873 : UInt<2>[2] - T_179873[0] := UInt<2>(1) - T_179873[1] := UInt<2>(2) - wire T_179874 : UInt<2>[2] - T_179874[0] := UInt<2>(1) - T_179874[1] := UInt<2>(2) - wire T_179875 : UInt<2>[1] - T_179875[0] := UInt<2>(2) - wire T_179876 : UInt<3>[3] - T_179876[0] := UInt<3>(0) - T_179876[1] := UInt<3>(1) - T_179876[2] := UInt<3>(2) - wire T_179877 : UInt<0>[1] - T_179877[0] := UInt<0>(0) - wire T_179878 : UInt<2>[2] - T_179878[0] := UInt<2>(1) - T_179878[1] := UInt<2>(2) - wire T_179879 : UInt<2>[2] - T_179879[0] := UInt<2>(1) - T_179879[1] := UInt<2>(2) - wire T_179880 : UInt<2>[1] - T_179880[0] := UInt<2>(2) - wire T_179881 : UInt<3>[3] - T_179881[0] := UInt<3>(0) - T_179881[1] := UInt<3>(1) - T_179881[2] := UInt<3>(2) - wire T_179882 : UInt<0>[1] - T_179882[0] := UInt<0>(0) - wire T_179883 : UInt<2>[2] - T_179883[0] := UInt<2>(1) - T_179883[1] := UInt<2>(2) - wire T_179884 : UInt<2>[2] - T_179884[0] := UInt<2>(1) - T_179884[1] := UInt<2>(2) - wire T_179885 : UInt<2>[1] - T_179885[0] := UInt<2>(2) - wire T_179886 : UInt<3>[3] - T_179886[0] := UInt<3>(0) - T_179886[1] := UInt<3>(1) - T_179886[2] := UInt<3>(2) - wire T_179887 : UInt<0>[1] - T_179887[0] := UInt<0>(0) - wire T_179888 : UInt<2>[2] - T_179888[0] := UInt<2>(1) - T_179888[1] := UInt<2>(2) - wire T_179889 : UInt<2>[2] - T_179889[0] := UInt<2>(1) - T_179889[1] := UInt<2>(2) - wire T_179890 : UInt<2>[1] - T_179890[0] := UInt<2>(2) - wire T_179891 : UInt<3>[3] - T_179891[0] := UInt<3>(0) - T_179891[1] := UInt<3>(1) - T_179891[2] := UInt<3>(2) - wire T_179892 : UInt<0>[1] - T_179892[0] := UInt<0>(0) - wire T_179893 : UInt<2>[2] - T_179893[0] := UInt<2>(1) - T_179893[1] := UInt<2>(2) - wire T_179894 : UInt<2>[2] - T_179894[0] := UInt<2>(1) - T_179894[1] := UInt<2>(2) - wire T_179895 : UInt<2>[1] - T_179895[0] := UInt<2>(2) - tl.acquire.ready := UInt<1>(0) - tl.probe.valid := UInt<1>(0) - tl.release.ready := UInt<1>(0) - tl.finish.ready := UInt<1>(1) - mem__.resp.ready := UInt<1>(0) - wire T_179896 : UInt<3>[3] - T_179896[0] := UInt<3>(0) - T_179896[1] := UInt<3>(1) - T_179896[2] := UInt<3>(2) - wire T_179897 : UInt<0>[1] - T_179897[0] := UInt<0>(0) - wire T_179898 : UInt<2>[2] - T_179898[0] := UInt<2>(1) - T_179898[1] := UInt<2>(2) - wire T_179899 : UInt<2>[2] - T_179899[0] := UInt<2>(1) - T_179899[1] := UInt<2>(2) - wire T_179900 : UInt<2>[1] - T_179900[0] := UInt<2>(2) - inst gnt_arb of Arbiter - tl.grant <> gnt_arb.out - wire T_179901 : UInt<3>[3] - T_179901[0] := UInt<3>(2) - T_179901[1] := UInt<3>(3) - T_179901[2] := UInt<3>(4) - node T_179902 = eq(T_179901[0], tl.acquire.bits.a_type) - node T_179903 = eq(T_179901[1], tl.acquire.bits.a_type) - node T_179904 = eq(T_179901[2], tl.acquire.bits.a_type) - node T_179905 = or(UInt<1>(0), T_179902) - node T_179906 = or(T_179905, T_179903) - node T_179907 = or(T_179906, T_179904) - node acq_has_data = and(tl.acquire.bits.is_builtin_type, T_179907) - node T_179908 = eq(T_179891[0], tl.release.bits.r_type) - node T_179909 = eq(T_179891[1], tl.release.bits.r_type) - node T_179910 = eq(T_179891[2], tl.release.bits.r_type) - node T_179911 = or(UInt<1>(0), T_179908) - node T_179912 = or(T_179911, T_179909) - node rel_has_data = or(T_179912, T_179910) - reg active_out : UInt<1> - onreset active_out := UInt<1>(0) - reg cmd_sent_out : UInt<1> - onreset cmd_sent_out := UInt<1>(0) - reg tag_out : UInt<5> - reg addr_out : UInt<26> - reg has_data : UInt<1> - onreset has_data := UInt<1>(0) - reg data_from_rel : UInt<1> - onreset data_from_rel := UInt<1>(0) - node T_179913 = and(tl.acquire.ready, tl.acquire.valid) - node T_179914 = and(T_179913, acq_has_data) - node T_179915 = and(tl.release.ready, tl.release.valid) - node T_179916 = and(T_179915, rel_has_data) - node T_179917 = or(T_179914, T_179916) - reg tl_cnt_out : UInt<2> - onreset tl_cnt_out := UInt<2>(0) - when T_179917 : - node T_179918 = eq(tl_cnt_out, UInt<2>(3)) - node T_179919 = and(UInt<1>(0), T_179918) - node T_179920 = addw(tl_cnt_out, UInt<1>(1)) - wire T_179921 : UInt<2> - T_179921 := T_179920 - when T_179919 : T_179921 := UInt<1>(0) - tl_cnt_out := T_179921 - node tl_wrap_out = and(T_179917, T_179918) - reg tl_done_out : UInt<1> - onreset tl_done_out := UInt<1>(0) - reg make_grant_ack : UInt<1> - onreset make_grant_ack := UInt<1>(0) - gnt_arb.in[1].valid := UInt<1>(0) - node T_179922 = bits(tag_out, 3, 3) - wire T_179923 : UInt<3> - T_179923 := UInt<3>(3) - when data_from_rel : T_179923 := UInt<3>(0) - node T_179924 = dshr(tag_out, UInt<1>(1)) - wire T_179925 : UInt<3>[3] - T_179925[0] := UInt<3>(0) - T_179925[1] := UInt<3>(1) - T_179925[2] := UInt<3>(2) - wire T_179926 : UInt<0>[1] - T_179926[0] := UInt<0>(0) - wire T_179927 : UInt<2>[2] - T_179927[0] := UInt<2>(1) - T_179927[1] := UInt<2>(2) - wire T_179928 : UInt<2>[2] - T_179928[0] := UInt<2>(1) - T_179928[1] := UInt<2>(2) - wire T_179929 : UInt<2>[1] - T_179929[0] := UInt<2>(2) - wire T_179930 : UInt<3>[3] - T_179930[0] := UInt<3>(0) - T_179930[1] := UInt<3>(1) - T_179930[2] := UInt<3>(2) - wire T_179931 : UInt<0>[1] - T_179931[0] := UInt<0>(0) - wire T_179932 : UInt<2>[2] - T_179932[0] := UInt<2>(1) - T_179932[1] := UInt<2>(2) - wire T_179933 : UInt<2>[2] - T_179933[0] := UInt<2>(1) - T_179933[1] := UInt<2>(2) - wire T_179934 : UInt<2>[1] - T_179934[0] := UInt<2>(2) - wire T_179935 : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<2>, manager_xact_id : UInt<1>, is_builtin_type : UInt<1>, g_type : UInt<4>, client_id : UInt<1>} - T_179935.client_id := T_179922 - T_179935.is_builtin_type := UInt<1>(1) - T_179935.g_type := T_179923 - T_179935.client_xact_id := T_179924 - T_179935.manager_xact_id := UInt<1>(0) - T_179935.addr_beat := UInt<1>(0) - T_179935.data := UInt<1>(0) - gnt_arb.in[1].bits := T_179935 - mem__.req_cmd.valid := UInt<1>(0) - mem__.req_data.valid := UInt<1>(0) - mem__.req_cmd.bits.rw := has_data - mem__.req_cmd.bits.tag := tag_out - mem__.req_cmd.bits.addr := addr_out - wire T_179936 : UInt<128> - T_179936 := tl.acquire.bits.data - when data_from_rel : T_179936 := tl.release.bits.data - mem__.req_data.bits.data := T_179936 - - node T_179937 = eq(active_out, UInt<1>(0)) - when T_179937 : - tl.release.ready := mem__.req_data.ready - node T_179938 = eq(tl.release.valid, UInt<1>(0)) - node T_179939 = and(mem__.req_data.ready, T_179938) - tl.acquire.ready := T_179939 - node T_179940 = and(tl.release.valid, rel_has_data) - node T_179941 = and(tl.acquire.valid, acq_has_data) - node T_179942 = or(T_179940, T_179941) - mem__.req_data.valid := T_179942 - - - node T_179943 = or(tl.release.valid, tl.acquire.valid) - node T_179944 = and(mem__.req_data.ready, T_179943) - when T_179944 : - node T_179945 = eq(mem__.req_cmd.ready, UInt<1>(0)) - node T_179946 = or(T_179945, mem__.req_data.valid) - active_out := T_179946 - mem__.req_cmd.valid := UInt<1>(1) - cmd_sent_out := mem__.req_cmd.ready - tl_done_out := tl_wrap_out - when tl.release.valid : - data_from_rel := UInt<1>(1) - node T_179949 = eq(UInt<1>(0), UInt<1>(0)) - make_grant_ack := T_179949 - mem__.req_data.bits.data := tl.release.bits.data - node T_179950 = cat(tl.release.bits.client_xact_id, tl.release.bits.voluntary) - node T_179951 = cat(tl.release.bits.client_id, T_179950) - mem__.req_cmd.bits.tag := T_179951 - mem__.req_cmd.bits.addr := tl.release.bits.addr_block - mem__.req_cmd.bits.rw := rel_has_data - tag_out := T_179951 - addr_out := tl.release.bits.addr_block - has_data := rel_has_data - else : - when tl.acquire.valid : - data_from_rel := UInt<1>(0) - make_grant_ack := acq_has_data - mem__.req_data.bits.data := tl.acquire.bits.data - mem__.req_cmd.bits.rw := acq_has_data - node T_179947 = cat(tl.acquire.bits.client_xact_id, tl.acquire.bits.is_builtin_type) - node T_179948 = cat(tl.acquire.bits.client_id, T_179947) - mem__.req_cmd.bits.tag := T_179948 - mem__.req_cmd.bits.addr := tl.acquire.bits.addr_block - mem__.req_cmd.bits.rw := acq_has_data - tag_out := T_179948 - addr_out := tl.acquire.bits.addr_block - has_data := acq_has_data - when active_out : - node T_179952 = eq(cmd_sent_out, UInt<1>(0)) - mem__.req_cmd.valid := T_179952 - node T_179953 = and(mem__.req_cmd.ready, mem__.req_cmd.valid) - node T_179954 = or(cmd_sent_out, T_179953) - cmd_sent_out := T_179954 - - - node T_179955 = eq(tl_done_out, UInt<1>(0)) - node T_179956 = and(has_data, T_179955) - when T_179956 : when data_from_rel : - tl.release.ready := mem__.req_data.ready - mem__.req_data.valid := tl.release.valid - else : - - tl.acquire.ready := mem__.req_data.ready - mem__.req_data.valid := tl.acquire.valid - when tl_wrap_out : tl_done_out := UInt<1>(1) - - node T_179957 = and(tl_done_out, make_grant_ack) - when T_179957 : - gnt_arb.in[1].valid := UInt<1>(1) - when gnt_arb.in[1].ready : make_grant_ack := UInt<1>(0) - - - node T_179958 = eq(has_data, UInt<1>(0)) - node T_179959 = or(T_179958, tl_done_out) - node T_179960 = and(cmd_sent_out, T_179959) - node T_179961 = eq(make_grant_ack, UInt<1>(0)) - node T_179962 = and(T_179960, T_179961) - when T_179962 : active_out := UInt<1>(0) - reg active_in : UInt<1> - onreset active_in := UInt<1>(0) - node T_179963 = and(tl.grant.ready, tl.grant.valid) - wire T_179964 : UInt<3>[1] - T_179964[0] := UInt<3>(5) - node T_179965 = eq(T_179964[0], tl.grant.bits.g_type) - node T_179966 = or(UInt<1>(0), T_179965) - node T_179967 = eq(T_179862[0], tl.grant.bits.g_type) - node T_179968 = or(UInt<1>(0), T_179967) - wire T_179969 : UInt<1> - T_179969 := T_179968 - when tl.grant.bits.is_builtin_type : T_179969 := T_179966 - node T_179970 = and(UInt<1>(1), T_179969) - node T_179971 = and(T_179963, T_179970) - reg tl_cnt_in : UInt<2> - onreset tl_cnt_in := UInt<2>(0) - when T_179971 : - node T_179972 = eq(tl_cnt_in, UInt<2>(3)) - node T_179973 = and(UInt<1>(0), T_179972) - node T_179974 = addw(tl_cnt_in, UInt<1>(1)) - wire T_179975 : UInt<2> - T_179975 := T_179974 - when T_179973 : T_179975 := UInt<1>(0) - tl_cnt_in := T_179975 - node tl_wrap_in = and(T_179971, T_179972) - reg tag_in : UInt<5> - gnt_arb.in[0].valid := mem__.resp.valid - mem__.resp.ready := gnt_arb.in[0].ready - node T_179976 = bits(mem__.resp.bits.tag, 3, 3) - node T_179977 = bit(mem__.resp.bits.tag, 0) - node T_179978 = bit(mem__.resp.bits.tag, 0) - wire T_179979 : UInt<1> - T_179979 := UInt<1>(0) - when T_179978 : T_179979 := UInt<3>(5) - node T_179980 = dshr(mem__.resp.bits.tag, UInt<1>(1)) - wire T_179981 : UInt<3>[3] - T_179981[0] := UInt<3>(0) - T_179981[1] := UInt<3>(1) - T_179981[2] := UInt<3>(2) - wire T_179982 : UInt<0>[1] - T_179982[0] := UInt<0>(0) - wire T_179983 : UInt<2>[2] - T_179983[0] := UInt<2>(1) - T_179983[1] := UInt<2>(2) - wire T_179984 : UInt<2>[2] - T_179984[0] := UInt<2>(1) - T_179984[1] := UInt<2>(2) - wire T_179985 : UInt<2>[1] - T_179985[0] := UInt<2>(2) - wire T_179986 : UInt<3>[3] - T_179986[0] := UInt<3>(0) - T_179986[1] := UInt<3>(1) - T_179986[2] := UInt<3>(2) - wire T_179987 : UInt<0>[1] - T_179987[0] := UInt<0>(0) - wire T_179988 : UInt<2>[2] - T_179988[0] := UInt<2>(1) - T_179988[1] := UInt<2>(2) - wire T_179989 : UInt<2>[2] - T_179989[0] := UInt<2>(1) - T_179989[1] := UInt<2>(2) - wire T_179990 : UInt<2>[1] - T_179990[0] := UInt<2>(2) - wire T_179991 : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<2>, manager_xact_id : UInt<1>, is_builtin_type : UInt<1>, g_type : UInt<4>, client_id : UInt<1>} - T_179991.client_id := T_179976 - T_179991.is_builtin_type := T_179977 - T_179991.g_type := T_179979 - T_179991.client_xact_id := T_179980 - T_179991.manager_xact_id := UInt<1>(0) - T_179991.addr_beat := tl_cnt_in - T_179991.data := mem__.resp.bits.data - gnt_arb.in[0].bits := T_179991 - module HellaFlowQueue : - input enq : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<128>}} - output deq : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<128>}} - output count : UInt<5> - - wire do_flow : UInt<1> - node T_179992 = and(enq.ready, enq.valid) - node T_179993 = eq(do_flow, UInt<1>(0)) - node do_enq = and(T_179992, T_179993) - node T_179994 = and(deq.ready, deq.valid) - node T_179995 = eq(do_flow, UInt<1>(0)) - node do_deq = and(T_179994, T_179995) - reg maybe_full : UInt<1> - onreset maybe_full := UInt<1>(0) - reg enq_ptr : UInt<4> - onreset enq_ptr := UInt<4>(0) - when do_enq : - node T_179996 = eq(enq_ptr, UInt<4>(15)) - node T_179997 = and(UInt<1>(0), T_179996) - node T_179998 = addw(enq_ptr, UInt<1>(1)) - wire T_179999 : UInt<4> - T_179999 := T_179998 - when T_179997 : T_179999 := UInt<1>(0) - enq_ptr := T_179999 - node T_180000 = and(do_enq, T_179996) - reg deq_ptr : UInt<4> - onreset deq_ptr := UInt<4>(0) - when do_deq : - node T_180001 = eq(deq_ptr, UInt<4>(15)) - node T_180002 = and(UInt<1>(0), T_180001) - node T_180003 = addw(deq_ptr, UInt<1>(1)) - wire T_180004 : UInt<4> - T_180004 := T_180003 - when T_180002 : T_180004 := UInt<1>(0) - deq_ptr := T_180004 - node deq_done = and(do_deq, T_180001) - - node T_180005 = neq(do_enq, do_deq) - when T_180005 : maybe_full := do_enq - node ptr_match = eq(enq_ptr, deq_ptr) - node T_180006 = eq(maybe_full, UInt<1>(0)) - node empty = and(ptr_match, T_180006) - node full = and(ptr_match, maybe_full) - node T_180007 = subw(enq_ptr, deq_ptr) - node T_180008 = geq(T_180007, UInt<2>(2)) - node atLeastTwo = or(full, T_180008) - node T_180009 = and(empty, deq.ready) - do_flow := T_180009 - cmem T_180010 : {data : UInt<128>}[16] - when do_enq : - accessor T_180011 = T_180010[enq_ptr] - T_180011 := enq.bits - node T_180012 = eq(deq.valid, UInt<1>(0)) - node T_180013 = eq(empty, UInt<1>(0)) - node T_180014 = and(T_180012, T_180013) - node T_180015 = or(atLeastTwo, T_180014) - node ren = and(deq.ready, T_180015) - node T_180016 = addw(deq_ptr, UInt<1>(1)) - wire T_180017 : UInt<4> - T_180017 := T_180016 - when deq_done : T_180017 := UInt<1>(0) - wire raddr : UInt<4> - raddr := deq_ptr - when deq.valid : raddr := T_180017 - reg ram_out_valid : UInt<1> - ram_out_valid := ren - wire T_180018 : UInt<1> - T_180018 := ram_out_valid - when empty : T_180018 := enq.valid - deq.valid := T_180018 - node T_180019 = eq(full, UInt<1>(0)) - enq.ready := T_180019 - reg T_180020 : UInt<4> - when ren : T_180020 := raddr - accessor T_180021 = T_180010[T_180020] - wire T_180022 : {data : UInt<128>} - T_180022 := T_180021 - when empty : T_180022 := enq.bits - deq.bits := T_180022 - module Queue_122517 : - input enq : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<128>}} - output deq : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<128>}} - output count : UInt<1> - - cmem ram : {data : UInt<128>}[1] - reg maybe_full : UInt<1> - onreset maybe_full := UInt<1>(0) - node ptr_match = eq(UInt<1>(0), UInt<1>(0)) - node T_180023 = eq(maybe_full, UInt<1>(0)) - node empty = and(ptr_match, T_180023) - node full = and(ptr_match, maybe_full) - node maybe_flow = and(UInt<1>(0), empty) - node do_flow = and(maybe_flow, deq.ready) - node T_180024 = and(enq.ready, enq.valid) - node T_180025 = eq(do_flow, UInt<1>(0)) - node do_enq = and(T_180024, T_180025) - node T_180026 = and(deq.ready, deq.valid) - node T_180027 = eq(do_flow, UInt<1>(0)) - node do_deq = and(T_180026, T_180027) - when do_enq : - accessor T_180028 = ram[UInt<1>(0)] - T_180028 := enq.bits - when do_deq : skip - - node T_180029 = neq(do_enq, do_deq) - when T_180029 : maybe_full := do_enq - node T_180030 = eq(empty, UInt<1>(0)) - node T_180031 = and(UInt<1>(0), enq.valid) - node T_180032 = or(T_180030, T_180031) - deq.valid := T_180032 - node T_180033 = eq(full, UInt<1>(0)) - node T_180034 = and(UInt<1>(1), deq.ready) - node T_180035 = or(T_180033, T_180034) - enq.ready := T_180035 - accessor T_180036 = ram[UInt<1>(0)] - wire T_180037 : {data : UInt<128>} - T_180037 := T_180036 - when maybe_flow : T_180037 := enq.bits - deq.bits := T_180037 - node ptr_diff = subw(UInt<1>(0), UInt<1>(0)) - node T_180038 = and(maybe_full, ptr_match) - node T_180039 = cat(T_180038, ptr_diff) - count := T_180039 - module HellaQueue : - input enq : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<128>}} - output deq : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<128>}} - output count : UInt<5> - - inst fq of HellaFlowQueue - enq <> fq.enq - inst T_180040 of Queue_122517 - T_180040.enq.valid := fq.deq.valid - T_180040.enq.bits := fq.deq.bits - fq.deq.ready := T_180040.enq.ready - deq <> T_180040.deq - module HellaFlowQueue_122630 : - input enq : {flip ready : UInt<1>, valid : UInt<1>, bits : {tag : UInt<5>}} - output deq : {flip ready : UInt<1>, valid : UInt<1>, bits : {tag : UInt<5>}} - output count : UInt<5> - - wire do_flow : UInt<1> - node T_180041 = and(enq.ready, enq.valid) - node T_180042 = eq(do_flow, UInt<1>(0)) - node do_enq = and(T_180041, T_180042) - node T_180043 = and(deq.ready, deq.valid) - node T_180044 = eq(do_flow, UInt<1>(0)) - node do_deq = and(T_180043, T_180044) - reg maybe_full : UInt<1> - onreset maybe_full := UInt<1>(0) - reg enq_ptr : UInt<4> - onreset enq_ptr := UInt<4>(0) - when do_enq : - node T_180045 = eq(enq_ptr, UInt<4>(15)) - node T_180046 = and(UInt<1>(0), T_180045) - node T_180047 = addw(enq_ptr, UInt<1>(1)) - wire T_180048 : UInt<4> - T_180048 := T_180047 - when T_180046 : T_180048 := UInt<1>(0) - enq_ptr := T_180048 - node T_180049 = and(do_enq, T_180045) - reg deq_ptr : UInt<4> - onreset deq_ptr := UInt<4>(0) - when do_deq : - node T_180050 = eq(deq_ptr, UInt<4>(15)) - node T_180051 = and(UInt<1>(0), T_180050) - node T_180052 = addw(deq_ptr, UInt<1>(1)) - wire T_180053 : UInt<4> - T_180053 := T_180052 - when T_180051 : T_180053 := UInt<1>(0) - deq_ptr := T_180053 - node deq_done = and(do_deq, T_180050) - - node T_180054 = neq(do_enq, do_deq) - when T_180054 : maybe_full := do_enq - node ptr_match = eq(enq_ptr, deq_ptr) - node T_180055 = eq(maybe_full, UInt<1>(0)) - node empty = and(ptr_match, T_180055) - node full = and(ptr_match, maybe_full) - node T_180056 = subw(enq_ptr, deq_ptr) - node T_180057 = geq(T_180056, UInt<2>(2)) - node atLeastTwo = or(full, T_180057) - node T_180058 = and(empty, deq.ready) - do_flow := T_180058 - cmem T_180059 : {tag : UInt<5>}[16] - when do_enq : - accessor T_180060 = T_180059[enq_ptr] - T_180060 := enq.bits - node T_180061 = eq(deq.valid, UInt<1>(0)) - node T_180062 = eq(empty, UInt<1>(0)) - node T_180063 = and(T_180061, T_180062) - node T_180064 = or(atLeastTwo, T_180063) - node ren = and(deq.ready, T_180064) - node T_180065 = addw(deq_ptr, UInt<1>(1)) - wire T_180066 : UInt<4> - T_180066 := T_180065 - when deq_done : T_180066 := UInt<1>(0) - wire raddr : UInt<4> - raddr := deq_ptr - when deq.valid : raddr := T_180066 - reg ram_out_valid : UInt<1> - ram_out_valid := ren - wire T_180067 : UInt<1> - T_180067 := ram_out_valid - when empty : T_180067 := enq.valid - deq.valid := T_180067 - node T_180068 = eq(full, UInt<1>(0)) - enq.ready := T_180068 - reg T_180069 : UInt<4> - when ren : T_180069 := raddr - accessor T_180070 = T_180059[T_180069] - wire T_180071 : {tag : UInt<5>} - T_180071 := T_180070 - when empty : T_180071 := enq.bits - deq.bits := T_180071 - module Queue_122695 : - input enq : {flip ready : UInt<1>, valid : UInt<1>, bits : {tag : UInt<5>}} - output deq : {flip ready : UInt<1>, valid : UInt<1>, bits : {tag : UInt<5>}} - output count : UInt<1> - - cmem ram : {tag : UInt<5>}[1] - reg maybe_full : UInt<1> - onreset maybe_full := UInt<1>(0) - node ptr_match = eq(UInt<1>(0), UInt<1>(0)) - node T_180072 = eq(maybe_full, UInt<1>(0)) - node empty = and(ptr_match, T_180072) - node full = and(ptr_match, maybe_full) - node maybe_flow = and(UInt<1>(0), empty) - node do_flow = and(maybe_flow, deq.ready) - node T_180073 = and(enq.ready, enq.valid) - node T_180074 = eq(do_flow, UInt<1>(0)) - node do_enq = and(T_180073, T_180074) - node T_180075 = and(deq.ready, deq.valid) - node T_180076 = eq(do_flow, UInt<1>(0)) - node do_deq = and(T_180075, T_180076) - when do_enq : - accessor T_180077 = ram[UInt<1>(0)] - T_180077 := enq.bits - when do_deq : skip - - node T_180078 = neq(do_enq, do_deq) - when T_180078 : maybe_full := do_enq - node T_180079 = eq(empty, UInt<1>(0)) - node T_180080 = and(UInt<1>(0), enq.valid) - node T_180081 = or(T_180079, T_180080) - deq.valid := T_180081 - node T_180082 = eq(full, UInt<1>(0)) - node T_180083 = and(UInt<1>(1), deq.ready) - node T_180084 = or(T_180082, T_180083) - enq.ready := T_180084 - accessor T_180085 = ram[UInt<1>(0)] - wire T_180086 : {tag : UInt<5>} - T_180086 := T_180085 - when maybe_flow : T_180086 := enq.bits - deq.bits := T_180086 - node ptr_diff = subw(UInt<1>(0), UInt<1>(0)) - node T_180087 = and(maybe_full, ptr_match) - node T_180088 = cat(T_180087, ptr_diff) - count := T_180088 - module HellaQueue_122696 : - input enq : {flip ready : UInt<1>, valid : UInt<1>, bits : {tag : UInt<5>}} - output deq : {flip ready : UInt<1>, valid : UInt<1>, bits : {tag : UInt<5>}} - output count : UInt<5> - - inst fq of HellaFlowQueue_122630 - enq <> fq.enq - inst T_180089 of Queue_122695 - T_180089.enq.valid := fq.deq.valid - T_180089.enq.bits := fq.deq.bits - fq.deq.ready := T_180089.enq.ready - deq <> T_180089.deq - module MemPipeIOMemIOConverter : - input cpu : {req_cmd : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<26>, tag : UInt<5>, rw : UInt<1>}}, req_data : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<128>}}, flip resp : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<128>, tag : UInt<5>}}} - output mem__ : {req_cmd : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<26>, tag : UInt<5>, rw : UInt<1>}}, req_data : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<128>}}, flip resp : {valid : UInt<1>, bits : {data : UInt<128>, tag : UInt<5>}}} - - wire inc : UInt<1> - wire dec : UInt<1> - reg count : UInt<5> - onreset count := UInt<5>(16) - node watermark = geq(count, UInt<3>(4)) - - - node T_180090 = eq(dec, UInt<1>(0)) - node T_180091 = and(inc, T_180090) - when T_180091 : - node T_180092 = addw(count, UInt<1>(1)) - count := T_180092 - - - node T_180093 = eq(inc, UInt<1>(0)) - node T_180094 = and(T_180093, dec) - when T_180094 : - node T_180095 = subw(count, UInt<3>(4)) - count := T_180095 - - node T_180096 = and(inc, dec) - when T_180096 : - node T_180097 = subw(count, UInt<2>(3)) - count := T_180097 - node cmdq_mask = or(cpu.req_cmd.bits.rw, watermark) - node T_180098 = and(cpu.req_cmd.valid, cmdq_mask) - mem__.req_cmd.valid := T_180098 - node T_180099 = and(mem__.req_cmd.ready, cmdq_mask) - cpu.req_cmd.ready := T_180099 - mem__.req_cmd.bits := cpu.req_cmd.bits - mem__.req_data <> cpu.req_data - inst resp_data_q of HellaQueue - resp_data_q.enq.valid := mem__.resp.valid - resp_data_q.enq.bits.data := mem__.resp.bits.data - inst resp_tag_q of HellaQueue_122696 - resp_tag_q.enq.valid := mem__.resp.valid - resp_tag_q.enq.bits.tag := mem__.resp.bits.tag - node T_180100 = and(resp_data_q.deq.valid, resp_tag_q.deq.valid) - cpu.resp.valid := T_180100 - cpu.resp.bits.data := resp_data_q.deq.bits.data - cpu.resp.bits.tag := resp_tag_q.deq.bits.tag - resp_data_q.deq.ready := cpu.resp.ready - resp_tag_q.deq.ready := cpu.resp.ready - node T_180101 = and(resp_data_q.deq.ready, resp_data_q.deq.valid) - node T_180102 = and(resp_tag_q.deq.ready, resp_tag_q.deq.valid) - node T_180103 = and(T_180101, T_180102) - inc := T_180103 - node T_180104 = and(mem__.req_cmd.ready, mem__.req_cmd.valid) - node T_180105 = eq(mem__.req_cmd.bits.rw, UInt<1>(0)) - node T_180106 = and(T_180104, T_180105) - dec := T_180106 - module Queue_122803 : - input enq : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<26>, tag : UInt<5>, rw : UInt<1>}} - output deq : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<26>, tag : UInt<5>, rw : UInt<1>}} - output count : UInt<2> - - cmem ram : {addr : UInt<26>, tag : UInt<5>, rw : UInt<1>}[2] - reg T_180107 : UInt<1> - onreset T_180107 := UInt<1>(0) - reg T_180108 : UInt<1> - onreset T_180108 := UInt<1>(0) - reg maybe_full : UInt<1> - onreset maybe_full := UInt<1>(0) - node ptr_match = eq(T_180107, T_180108) - node T_180109 = eq(maybe_full, UInt<1>(0)) - node empty = and(ptr_match, T_180109) - node full = and(ptr_match, maybe_full) - node maybe_flow = and(UInt<1>(0), empty) - node do_flow = and(maybe_flow, deq.ready) - node T_180110 = and(enq.ready, enq.valid) - node T_180111 = eq(do_flow, UInt<1>(0)) - node do_enq = and(T_180110, T_180111) - node T_180112 = and(deq.ready, deq.valid) - node T_180113 = eq(do_flow, UInt<1>(0)) - node do_deq = and(T_180112, T_180113) - when do_enq : - accessor T_180114 = ram[T_180107] - T_180114 := enq.bits - node T_180115 = eq(T_180107, UInt<1>(1)) - node T_180116 = and(UInt<1>(0), T_180115) - node T_180117 = addw(T_180107, UInt<1>(1)) - wire T_180118 : UInt<1> - T_180118 := T_180117 - when T_180116 : T_180118 := UInt<1>(0) - T_180107 := T_180118 - when do_deq : - node T_180119 = eq(T_180108, UInt<1>(1)) - node T_180120 = and(UInt<1>(0), T_180119) - node T_180121 = addw(T_180108, UInt<1>(1)) - wire T_180122 : UInt<1> - T_180122 := T_180121 - when T_180120 : T_180122 := UInt<1>(0) - T_180108 := T_180122 - - node T_180123 = neq(do_enq, do_deq) - when T_180123 : maybe_full := do_enq - node T_180124 = eq(empty, UInt<1>(0)) - node T_180125 = and(UInt<1>(0), enq.valid) - node T_180126 = or(T_180124, T_180125) - deq.valid := T_180126 - node T_180127 = eq(full, UInt<1>(0)) - node T_180128 = and(UInt<1>(1), deq.ready) - node T_180129 = or(T_180127, T_180128) - enq.ready := T_180129 - accessor T_180130 = ram[T_180108] - wire T_180131 : {addr : UInt<26>, tag : UInt<5>, rw : UInt<1>} - T_180131 := T_180130 - when maybe_flow : T_180131 := enq.bits - deq.bits := T_180131 - node ptr_diff = subw(T_180107, T_180108) - node T_180132 = and(maybe_full, ptr_match) - node T_180133 = cat(T_180132, ptr_diff) - count := T_180133 - module Queue_122884 : - input enq : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<128>}} - output deq : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<128>}} - output count : UInt<3> - - cmem ram : {data : UInt<128>}[4] - reg T_180134 : UInt<2> - onreset T_180134 := UInt<2>(0) - reg T_180135 : UInt<2> - onreset T_180135 := UInt<2>(0) - reg maybe_full : UInt<1> - onreset maybe_full := UInt<1>(0) - node ptr_match = eq(T_180134, T_180135) - node T_180136 = eq(maybe_full, UInt<1>(0)) - node empty = and(ptr_match, T_180136) - node full = and(ptr_match, maybe_full) - node maybe_flow = and(UInt<1>(0), empty) - node do_flow = and(maybe_flow, deq.ready) - node T_180137 = and(enq.ready, enq.valid) - node T_180138 = eq(do_flow, UInt<1>(0)) - node do_enq = and(T_180137, T_180138) - node T_180139 = and(deq.ready, deq.valid) - node T_180140 = eq(do_flow, UInt<1>(0)) - node do_deq = and(T_180139, T_180140) - when do_enq : - accessor T_180141 = ram[T_180134] - T_180141 := enq.bits - node T_180142 = eq(T_180134, UInt<2>(3)) - node T_180143 = and(UInt<1>(0), T_180142) - node T_180144 = addw(T_180134, UInt<1>(1)) - wire T_180145 : UInt<2> - T_180145 := T_180144 - when T_180143 : T_180145 := UInt<1>(0) - T_180134 := T_180145 - when do_deq : - node T_180146 = eq(T_180135, UInt<2>(3)) - node T_180147 = and(UInt<1>(0), T_180146) - node T_180148 = addw(T_180135, UInt<1>(1)) - wire T_180149 : UInt<2> - T_180149 := T_180148 - when T_180147 : T_180149 := UInt<1>(0) - T_180135 := T_180149 - - node T_180150 = neq(do_enq, do_deq) - when T_180150 : maybe_full := do_enq - node T_180151 = eq(empty, UInt<1>(0)) - node T_180152 = and(UInt<1>(0), enq.valid) - node T_180153 = or(T_180151, T_180152) - deq.valid := T_180153 - node T_180154 = eq(full, UInt<1>(0)) - node T_180155 = and(UInt<1>(1), deq.ready) - node T_180156 = or(T_180154, T_180155) - enq.ready := T_180156 - accessor T_180157 = ram[T_180135] - wire T_180158 : {data : UInt<128>} - T_180158 := T_180157 - when maybe_flow : T_180158 := enq.bits - deq.bits := T_180158 - node ptr_diff = subw(T_180134, T_180135) - node T_180159 = and(maybe_full, ptr_match) - node T_180160 = cat(T_180159, ptr_diff) - count := T_180160 - module MemPipeIOTileLinkIOConverter : - output tl : {flip acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>, client_id : UInt<1>}}, grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<2>, manager_xact_id : UInt<1>, is_builtin_type : UInt<1>, g_type : UInt<4>, client_id : UInt<1>}}, flip finish : {flip ready : UInt<1>, valid : UInt<1>, bits : {manager_xact_id : UInt<1>}}, probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>, client_id : UInt<1>}}, flip release : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<2>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>, client_id : UInt<1>}}} - output mem__ : {req_cmd : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<26>, tag : UInt<5>, rw : UInt<1>}}, req_data : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<128>}}, flip resp : {valid : UInt<1>, bits : {data : UInt<128>, tag : UInt<5>}}} - - wire T_180161 : UInt<3>[3] - T_180161[0] := UInt<3>(0) - T_180161[1] := UInt<3>(1) - T_180161[2] := UInt<3>(2) - wire T_180162 : UInt<0>[1] - T_180162[0] := UInt<0>(0) - wire T_180163 : UInt<2>[2] - T_180163[0] := UInt<2>(1) - T_180163[1] := UInt<2>(2) - wire T_180164 : UInt<2>[2] - T_180164[0] := UInt<2>(1) - T_180164[1] := UInt<2>(2) - wire T_180165 : UInt<2>[1] - T_180165[0] := UInt<2>(2) - wire T_180166 : UInt<3>[3] - T_180166[0] := UInt<3>(0) - T_180166[1] := UInt<3>(1) - T_180166[2] := UInt<3>(2) - wire T_180167 : UInt<0>[1] - T_180167[0] := UInt<0>(0) - wire T_180168 : UInt<2>[2] - T_180168[0] := UInt<2>(1) - T_180168[1] := UInt<2>(2) - wire T_180169 : UInt<2>[2] - T_180169[0] := UInt<2>(1) - T_180169[1] := UInt<2>(2) - wire T_180170 : UInt<2>[1] - T_180170[0] := UInt<2>(2) - wire T_180171 : UInt<3>[3] - T_180171[0] := UInt<3>(0) - T_180171[1] := UInt<3>(1) - T_180171[2] := UInt<3>(2) - wire T_180172 : UInt<0>[1] - T_180172[0] := UInt<0>(0) - wire T_180173 : UInt<2>[2] - T_180173[0] := UInt<2>(1) - T_180173[1] := UInt<2>(2) - wire T_180174 : UInt<2>[2] - T_180174[0] := UInt<2>(1) - T_180174[1] := UInt<2>(2) - wire T_180175 : UInt<2>[1] - T_180175[0] := UInt<2>(2) - wire T_180176 : UInt<3>[3] - T_180176[0] := UInt<3>(0) - T_180176[1] := UInt<3>(1) - T_180176[2] := UInt<3>(2) - wire T_180177 : UInt<0>[1] - T_180177[0] := UInt<0>(0) - wire T_180178 : UInt<2>[2] - T_180178[0] := UInt<2>(1) - T_180178[1] := UInt<2>(2) - wire T_180179 : UInt<2>[2] - T_180179[0] := UInt<2>(1) - T_180179[1] := UInt<2>(2) - wire T_180180 : UInt<2>[1] - T_180180[0] := UInt<2>(2) - wire T_180181 : UInt<3>[3] - T_180181[0] := UInt<3>(0) - T_180181[1] := UInt<3>(1) - T_180181[2] := UInt<3>(2) - wire T_180182 : UInt<0>[1] - T_180182[0] := UInt<0>(0) - wire T_180183 : UInt<2>[2] - T_180183[0] := UInt<2>(1) - T_180183[1] := UInt<2>(2) - wire T_180184 : UInt<2>[2] - T_180184[0] := UInt<2>(1) - T_180184[1] := UInt<2>(2) - wire T_180185 : UInt<2>[1] - T_180185[0] := UInt<2>(2) - wire T_180186 : UInt<3>[3] - T_180186[0] := UInt<3>(0) - T_180186[1] := UInt<3>(1) - T_180186[2] := UInt<3>(2) - wire T_180187 : UInt<0>[1] - T_180187[0] := UInt<0>(0) - wire T_180188 : UInt<2>[2] - T_180188[0] := UInt<2>(1) - T_180188[1] := UInt<2>(2) - wire T_180189 : UInt<2>[2] - T_180189[0] := UInt<2>(1) - T_180189[1] := UInt<2>(2) - wire T_180190 : UInt<2>[1] - T_180190[0] := UInt<2>(2) - wire T_180191 : UInt<3>[3] - T_180191[0] := UInt<3>(0) - T_180191[1] := UInt<3>(1) - T_180191[2] := UInt<3>(2) - wire T_180192 : UInt<0>[1] - T_180192[0] := UInt<0>(0) - wire T_180193 : UInt<2>[2] - T_180193[0] := UInt<2>(1) - T_180193[1] := UInt<2>(2) - wire T_180194 : UInt<2>[2] - T_180194[0] := UInt<2>(1) - T_180194[1] := UInt<2>(2) - wire T_180195 : UInt<2>[1] - T_180195[0] := UInt<2>(2) - wire T_180196 : UInt<3>[3] - T_180196[0] := UInt<3>(0) - T_180196[1] := UInt<3>(1) - T_180196[2] := UInt<3>(2) - wire T_180197 : UInt<0>[1] - T_180197[0] := UInt<0>(0) - wire T_180198 : UInt<2>[2] - T_180198[0] := UInt<2>(1) - T_180198[1] := UInt<2>(2) - wire T_180199 : UInt<2>[2] - T_180199[0] := UInt<2>(1) - T_180199[1] := UInt<2>(2) - wire T_180200 : UInt<2>[1] - T_180200[0] := UInt<2>(2) - wire T_180201 : UInt<3>[3] - T_180201[0] := UInt<3>(0) - T_180201[1] := UInt<3>(1) - T_180201[2] := UInt<3>(2) - wire T_180202 : UInt<0>[1] - T_180202[0] := UInt<0>(0) - wire T_180203 : UInt<2>[2] - T_180203[0] := UInt<2>(1) - T_180203[1] := UInt<2>(2) - wire T_180204 : UInt<2>[2] - T_180204[0] := UInt<2>(1) - T_180204[1] := UInt<2>(2) - wire T_180205 : UInt<2>[1] - T_180205[0] := UInt<2>(2) - wire T_180206 : UInt<3>[3] - T_180206[0] := UInt<3>(0) - T_180206[1] := UInt<3>(1) - T_180206[2] := UInt<3>(2) - wire T_180207 : UInt<0>[1] - T_180207[0] := UInt<0>(0) - wire T_180208 : UInt<2>[2] - T_180208[0] := UInt<2>(1) - T_180208[1] := UInt<2>(2) - wire T_180209 : UInt<2>[2] - T_180209[0] := UInt<2>(1) - T_180209[1] := UInt<2>(2) - wire T_180210 : UInt<2>[1] - T_180210[0] := UInt<2>(2) - wire T_180211 : UInt<3>[3] - T_180211[0] := UInt<3>(0) - T_180211[1] := UInt<3>(1) - T_180211[2] := UInt<3>(2) - wire T_180212 : UInt<0>[1] - T_180212[0] := UInt<0>(0) - wire T_180213 : UInt<2>[2] - T_180213[0] := UInt<2>(1) - T_180213[1] := UInt<2>(2) - wire T_180214 : UInt<2>[2] - T_180214[0] := UInt<2>(1) - T_180214[1] := UInt<2>(2) - wire T_180215 : UInt<2>[1] - T_180215[0] := UInt<2>(2) - inst a of MemIOTileLinkIOConverter - inst b of MemPipeIOMemIOConverter - a.tl <> tl - inst T_180216 of Queue_122803 - T_180216.enq.valid := a.mem__.req_cmd.valid - T_180216.enq.bits := a.mem__.req_cmd.bits - a.mem__.req_cmd.ready := T_180216.enq.ready - b.cpu.req_cmd <> T_180216.deq - inst T_180217 of Queue_122884 - T_180217.enq.valid := a.mem__.req_data.valid - T_180217.enq.bits := a.mem__.req_data.bits - a.mem__.req_data.ready := T_180217.enq.ready - b.cpu.req_data <> T_180217.deq - a.mem__.resp <> b.cpu.resp - b.mem__ <> mem__ - module MemIOArbiter : - input inner : {req_cmd : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<26>, tag : UInt<5>, rw : UInt<1>}}, req_data : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<128>}}, flip resp : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<128>, tag : UInt<5>}}}[1] - output outer : {req_cmd : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<26>, tag : UInt<5>, rw : UInt<1>}}, req_data : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<128>}}, flip resp : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<128>, tag : UInt<5>}}} - - wire inner : {req_cmd : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<26>, tag : UInt<5>, rw : UInt<1>}}, req_data : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<128>}}, flip resp : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<128>, tag : UInt<5>}}}[1] - inner[0] := T_180218 - inner[0] <> outer - module MemSerdes : - input wide : {req_cmd : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<26>, tag : UInt<5>, rw : UInt<1>}}, req_data : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<128>}}, flip resp : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<128>, tag : UInt<5>}}} - output narrow : {req : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<16>}, flip resp : {valid : UInt<1>, bits : UInt<16>}} - - node T_180219 = cat(wide.req_cmd.bits.tag, wide.req_cmd.bits.rw) - node T_180220 = cat(wide.req_cmd.bits.addr, T_180219) - reg out_buf : UInt - reg in_buf : UInt - reg state : UInt<3> - onreset state := UInt<3>(0) - reg send_cnt : UInt<3> - onreset send_cnt := UInt<3>(0) - reg data_send_cnt : UInt<2> - onreset data_send_cnt := UInt<2>(0) - node T_180221 = eq(send_cnt, UInt<1>(1)) - node adone = and(narrow.req.ready, T_180221) - node T_180222 = eq(send_cnt, UInt<3>(7)) - node ddone = and(narrow.req.ready, T_180222) - - node T_180223 = and(narrow.req.valid, narrow.req.ready) - when T_180223 : - node T_180224 = addw(send_cnt, UInt<1>(1)) - send_cnt := T_180224 - node T_180225 = dshr(out_buf, UInt<5>(16)) - out_buf := T_180225 - - node T_180226 = and(wide.req_cmd.valid, wide.req_cmd.ready) - when T_180226 : - node T_180227 = cat(wide.req_cmd.bits.tag, wide.req_cmd.bits.rw) - node T_180228 = cat(wide.req_cmd.bits.addr, T_180227) - out_buf := T_180228 - - node T_180229 = and(wide.req_data.valid, wide.req_data.ready) - when T_180229 : out_buf := wide.req_data.bits.data - node T_180230 = eq(state, UInt<3>(0)) - wide.req_cmd.ready := T_180230 - node T_180231 = eq(state, UInt<3>(3)) - wide.req_data.ready := T_180231 - node T_180232 = eq(state, UInt<3>(1)) - node T_180233 = eq(state, UInt<3>(2)) - node T_180234 = or(T_180232, T_180233) - node T_180235 = eq(state, UInt<3>(4)) - node T_180236 = or(T_180234, T_180235) - narrow.req.valid := T_180236 - narrow.req.bits := out_buf - - - node T_180237 = eq(state, UInt<3>(0)) - node T_180238 = and(T_180237, wide.req_cmd.valid) - when T_180238 : - wire T_180239 : UInt<3> - T_180239 := UInt<3>(1) - when wide.req_cmd.bits.rw : T_180239 := UInt<3>(2) - state := T_180239 - - - node T_180240 = eq(state, UInt<3>(1)) - node T_180241 = and(T_180240, adone) - when T_180241 : - state := UInt<3>(0) - send_cnt := UInt<1>(0) - - - node T_180242 = eq(state, UInt<3>(2)) - node T_180243 = and(T_180242, adone) - when T_180243 : - state := UInt<3>(3) - send_cnt := UInt<1>(0) - - - node T_180244 = eq(state, UInt<3>(3)) - node T_180245 = and(T_180244, wide.req_data.valid) - when T_180245 : state := UInt<3>(4) - - - node T_180246 = eq(state, UInt<3>(4)) - node T_180247 = and(T_180246, ddone) - when T_180247 : - node T_180248 = addw(data_send_cnt, UInt<1>(1)) - data_send_cnt := T_180248 - node T_180249 = eq(data_send_cnt, UInt<2>(3)) - wire T_180250 : UInt<3> - T_180250 := UInt<3>(3) - when T_180249 : T_180250 := UInt<3>(0) - state := T_180250 - send_cnt := UInt<1>(0) - reg recv_cnt : UInt<4> - onreset recv_cnt := UInt<4>(0) - reg data_recv_cnt : UInt<2> - onreset data_recv_cnt := UInt<2>(0) - reg resp_val : UInt<1> - onreset resp_val := UInt<1>(0) - resp_val := UInt<1>(0) - when narrow.resp.valid : - node T_180251 = addw(recv_cnt, UInt<1>(1)) - recv_cnt := T_180251 - - node T_180252 = eq(recv_cnt, UInt<4>(8)) - when T_180252 : - recv_cnt := UInt<1>(0) - node T_180253 = addw(data_recv_cnt, UInt<1>(1)) - data_recv_cnt := T_180253 - resp_val := UInt<1>(1) - node T_180254 = bits(in_buf, 143, 16) - node T_180255 = cat(narrow.resp.bits, T_180254) - in_buf := T_180255 - wide.resp.valid := resp_val - wire T_180256 : {data : UInt<128>, tag : UInt<5>} - node T_180257 = bits(in_buf, 4, 0) - T_180256.tag := T_180257 - node T_180258 = bits(in_buf, 132, 5) - T_180256.data := T_180258 - wide.resp.bits := T_180256 - module OuterMemorySystem : - input tiles_cached : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}, flip probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>}}, release : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}}[1] - input tiles_uncached : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}}[1] - input htif_uncached : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}} - input incoherent : UInt<1>[1] - output mem__ : {req_cmd : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<26>, tag : UInt<5>, rw : UInt<1>}}, req_data : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<128>}}, flip resp : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<128>, tag : UInt<5>}}}[1] - output mem_backup : {req : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<16>}, flip resp : {valid : UInt<1>, bits : UInt<16>}} - input mem_backup_en : UInt<1> - - wire T_180259 : UInt<3>[3] - T_180259[0] := UInt<3>(0) - T_180259[1] := UInt<3>(1) - T_180259[2] := UInt<3>(2) - wire T_180260 : UInt<2>[2] - T_180260[0] := UInt<2>(0) - T_180260[1] := UInt<2>(1) - wire T_180261 : UInt<2>[3] - T_180261[0] := UInt<2>(1) - T_180261[1] := UInt<2>(2) - T_180261[2] := UInt<2>(3) - wire T_180262 : UInt<2>[2] - T_180262[0] := UInt<2>(2) - T_180262[1] := UInt<2>(3) - wire T_180263 : UInt<2>[1] - T_180263[0] := UInt<2>(3) - wire T_180264 : UInt<3>[3] - T_180264[0] := UInt<3>(0) - T_180264[1] := UInt<3>(1) - T_180264[2] := UInt<3>(2) - wire T_180265 : UInt<2>[2] - T_180265[0] := UInt<2>(0) - T_180265[1] := UInt<2>(1) - wire T_180266 : UInt<2>[3] - T_180266[0] := UInt<2>(1) - T_180266[1] := UInt<2>(2) - T_180266[2] := UInt<2>(3) - wire T_180267 : UInt<2>[2] - T_180267[0] := UInt<2>(2) - T_180267[1] := UInt<2>(3) - wire T_180268 : UInt<2>[1] - T_180268[0] := UInt<2>(3) - wire T_180269 : UInt<3>[3] - T_180269[0] := UInt<3>(0) - T_180269[1] := UInt<3>(1) - T_180269[2] := UInt<3>(2) - wire T_180270 : UInt<2>[2] - T_180270[0] := UInt<2>(0) - T_180270[1] := UInt<2>(1) - wire T_180271 : UInt<2>[3] - T_180271[0] := UInt<2>(1) - T_180271[1] := UInt<2>(2) - T_180271[2] := UInt<2>(3) - wire T_180272 : UInt<2>[2] - T_180272[0] := UInt<2>(2) - T_180272[1] := UInt<2>(3) - wire T_180273 : UInt<2>[1] - T_180273[0] := UInt<2>(3) - wire T_180274 : UInt<3>[3] - T_180274[0] := UInt<3>(0) - T_180274[1] := UInt<3>(1) - T_180274[2] := UInt<3>(2) - wire T_180275 : UInt<2>[2] - T_180275[0] := UInt<2>(0) - T_180275[1] := UInt<2>(1) - wire T_180276 : UInt<2>[3] - T_180276[0] := UInt<2>(1) - T_180276[1] := UInt<2>(2) - T_180276[2] := UInt<2>(3) - wire T_180277 : UInt<2>[2] - T_180277[0] := UInt<2>(2) - T_180277[1] := UInt<2>(3) - wire T_180278 : UInt<2>[1] - T_180278[0] := UInt<2>(3) - wire T_180279 : UInt<3>[3] - T_180279[0] := UInt<3>(0) - T_180279[1] := UInt<3>(1) - T_180279[2] := UInt<3>(2) - wire T_180280 : UInt<2>[2] - T_180280[0] := UInt<2>(0) - T_180280[1] := UInt<2>(1) - wire T_180281 : UInt<2>[3] - T_180281[0] := UInt<2>(1) - T_180281[1] := UInt<2>(2) - T_180281[2] := UInt<2>(3) - wire T_180282 : UInt<2>[2] - T_180282[0] := UInt<2>(2) - T_180282[1] := UInt<2>(3) - wire T_180283 : UInt<2>[1] - T_180283[0] := UInt<2>(3) - wire T_180284 : UInt<3>[3] - T_180284[0] := UInt<3>(0) - T_180284[1] := UInt<3>(1) - T_180284[2] := UInt<3>(2) - wire T_180285 : UInt<2>[2] - T_180285[0] := UInt<2>(0) - T_180285[1] := UInt<2>(1) - wire T_180286 : UInt<2>[3] - T_180286[0] := UInt<2>(1) - T_180286[1] := UInt<2>(2) - T_180286[2] := UInt<2>(3) - wire T_180287 : UInt<2>[2] - T_180287[0] := UInt<2>(2) - T_180287[1] := UInt<2>(3) - wire T_180288 : UInt<2>[1] - T_180288[0] := UInt<2>(3) - wire T_180289 : UInt<3>[3] - T_180289[0] := UInt<3>(0) - T_180289[1] := UInt<3>(1) - T_180289[2] := UInt<3>(2) - wire T_180290 : UInt<2>[2] - T_180290[0] := UInt<2>(0) - T_180290[1] := UInt<2>(1) - wire T_180291 : UInt<2>[3] - T_180291[0] := UInt<2>(1) - T_180291[1] := UInt<2>(2) - T_180291[2] := UInt<2>(3) - wire T_180292 : UInt<2>[2] - T_180292[0] := UInt<2>(2) - T_180292[1] := UInt<2>(3) - wire T_180293 : UInt<2>[1] - T_180293[0] := UInt<2>(3) - wire T_180294 : UInt<3>[3] - T_180294[0] := UInt<3>(0) - T_180294[1] := UInt<3>(1) - T_180294[2] := UInt<3>(2) - wire T_180295 : UInt<2>[2] - T_180295[0] := UInt<2>(0) - T_180295[1] := UInt<2>(1) - wire T_180296 : UInt<2>[3] - T_180296[0] := UInt<2>(1) - T_180296[1] := UInt<2>(2) - T_180296[2] := UInt<2>(3) - wire T_180297 : UInt<2>[2] - T_180297[0] := UInt<2>(2) - T_180297[1] := UInt<2>(3) - wire T_180298 : UInt<2>[1] - T_180298[0] := UInt<2>(3) - wire T_180299 : UInt<3>[3] - T_180299[0] := UInt<3>(0) - T_180299[1] := UInt<3>(1) - T_180299[2] := UInt<3>(2) - wire T_180300 : UInt<2>[2] - T_180300[0] := UInt<2>(0) - T_180300[1] := UInt<2>(1) - wire T_180301 : UInt<2>[3] - T_180301[0] := UInt<2>(1) - T_180301[1] := UInt<2>(2) - T_180301[2] := UInt<2>(3) - wire T_180302 : UInt<2>[2] - T_180302[0] := UInt<2>(2) - T_180302[1] := UInt<2>(3) - wire T_180303 : UInt<2>[1] - T_180303[0] := UInt<2>(3) - wire T_180304 : UInt<3>[3] - T_180304[0] := UInt<3>(0) - T_180304[1] := UInt<3>(1) - T_180304[2] := UInt<3>(2) - wire T_180305 : UInt<2>[2] - T_180305[0] := UInt<2>(0) - T_180305[1] := UInt<2>(1) - wire T_180306 : UInt<2>[3] - T_180306[0] := UInt<2>(1) - T_180306[1] := UInt<2>(2) - T_180306[2] := UInt<2>(3) - wire T_180307 : UInt<2>[2] - T_180307[0] := UInt<2>(2) - T_180307[1] := UInt<2>(3) - wire T_180308 : UInt<2>[1] - T_180308[0] := UInt<2>(3) - wire T_180309 : UInt<3>[3] - T_180309[0] := UInt<3>(0) - T_180309[1] := UInt<3>(1) - T_180309[2] := UInt<3>(2) - wire T_180310 : UInt<2>[2] - T_180310[0] := UInt<2>(0) - T_180310[1] := UInt<2>(1) - wire T_180311 : UInt<2>[3] - T_180311[0] := UInt<2>(1) - T_180311[1] := UInt<2>(2) - T_180311[2] := UInt<2>(3) - wire T_180312 : UInt<2>[2] - T_180312[0] := UInt<2>(2) - T_180312[1] := UInt<2>(3) - wire T_180313 : UInt<2>[1] - T_180313[0] := UInt<2>(3) - wire T_180314 : UInt<3>[3] - T_180314[0] := UInt<3>(0) - T_180314[1] := UInt<3>(1) - T_180314[2] := UInt<3>(2) - wire T_180315 : UInt<2>[2] - T_180315[0] := UInt<2>(0) - T_180315[1] := UInt<2>(1) - wire T_180316 : UInt<2>[3] - T_180316[0] := UInt<2>(1) - T_180316[1] := UInt<2>(2) - T_180316[2] := UInt<2>(3) - wire T_180317 : UInt<2>[2] - T_180317[0] := UInt<2>(2) - T_180317[1] := UInt<2>(3) - wire T_180318 : UInt<2>[1] - T_180318[0] := UInt<2>(3) - wire T_180319 : UInt<3>[3] - T_180319[0] := UInt<3>(0) - T_180319[1] := UInt<3>(1) - T_180319[2] := UInt<3>(2) - wire T_180320 : UInt<2>[2] - T_180320[0] := UInt<2>(0) - T_180320[1] := UInt<2>(1) - wire T_180321 : UInt<2>[3] - T_180321[0] := UInt<2>(1) - T_180321[1] := UInt<2>(2) - T_180321[2] := UInt<2>(3) - wire T_180322 : UInt<2>[2] - T_180322[0] := UInt<2>(2) - T_180322[1] := UInt<2>(3) - wire T_180323 : UInt<2>[1] - T_180323[0] := UInt<2>(3) - wire T_180324 : UInt<3>[3] - T_180324[0] := UInt<3>(0) - T_180324[1] := UInt<3>(1) - T_180324[2] := UInt<3>(2) - wire T_180325 : UInt<2>[2] - T_180325[0] := UInt<2>(0) - T_180325[1] := UInt<2>(1) - wire T_180326 : UInt<2>[3] - T_180326[0] := UInt<2>(1) - T_180326[1] := UInt<2>(2) - T_180326[2] := UInt<2>(3) - wire T_180327 : UInt<2>[2] - T_180327[0] := UInt<2>(2) - T_180327[1] := UInt<2>(3) - wire T_180328 : UInt<2>[1] - T_180328[0] := UInt<2>(3) - wire T_180329 : UInt<3>[3] - T_180329[0] := UInt<3>(0) - T_180329[1] := UInt<3>(1) - T_180329[2] := UInt<3>(2) - wire T_180330 : UInt<2>[2] - T_180330[0] := UInt<2>(0) - T_180330[1] := UInt<2>(1) - wire T_180331 : UInt<2>[3] - T_180331[0] := UInt<2>(1) - T_180331[1] := UInt<2>(2) - T_180331[2] := UInt<2>(3) - wire T_180332 : UInt<2>[2] - T_180332[0] := UInt<2>(2) - T_180332[1] := UInt<2>(3) - wire T_180333 : UInt<2>[1] - T_180333[0] := UInt<2>(3) - wire T_180334 : UInt<3>[3] - T_180334[0] := UInt<3>(0) - T_180334[1] := UInt<3>(1) - T_180334[2] := UInt<3>(2) - wire T_180335 : UInt<2>[2] - T_180335[0] := UInt<2>(0) - T_180335[1] := UInt<2>(1) - wire T_180336 : UInt<2>[3] - T_180336[0] := UInt<2>(1) - T_180336[1] := UInt<2>(2) - T_180336[2] := UInt<2>(3) - wire T_180337 : UInt<2>[2] - T_180337[0] := UInt<2>(2) - T_180337[1] := UInt<2>(3) - wire T_180338 : UInt<2>[1] - T_180338[0] := UInt<2>(3) - wire T_180339 : UInt<3>[3] - T_180339[0] := UInt<3>(0) - T_180339[1] := UInt<3>(1) - T_180339[2] := UInt<3>(2) - wire T_180340 : UInt<2>[2] - T_180340[0] := UInt<2>(0) - T_180340[1] := UInt<2>(1) - wire T_180341 : UInt<2>[3] - T_180341[0] := UInt<2>(1) - T_180341[1] := UInt<2>(2) - T_180341[2] := UInt<2>(3) - wire T_180342 : UInt<2>[2] - T_180342[0] := UInt<2>(2) - T_180342[1] := UInt<2>(3) - wire T_180343 : UInt<2>[1] - T_180343[0] := UInt<2>(3) - wire T_180344 : UInt<3>[3] - T_180344[0] := UInt<3>(0) - T_180344[1] := UInt<3>(1) - T_180344[2] := UInt<3>(2) - wire T_180345 : UInt<2>[2] - T_180345[0] := UInt<2>(0) - T_180345[1] := UInt<2>(1) - wire T_180346 : UInt<2>[3] - T_180346[0] := UInt<2>(1) - T_180346[1] := UInt<2>(2) - T_180346[2] := UInt<2>(3) - wire T_180347 : UInt<2>[2] - T_180347[0] := UInt<2>(2) - T_180347[1] := UInt<2>(3) - wire T_180348 : UInt<2>[1] - T_180348[0] := UInt<2>(3) - wire tiles_cached : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}, flip probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>}}, release : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}}[1] - tiles_cached[0] := T_180349 - wire T_180350 : UInt<3>[3] - T_180350[0] := UInt<3>(0) - T_180350[1] := UInt<3>(1) - T_180350[2] := UInt<3>(2) - wire T_180351 : UInt<2>[2] - T_180351[0] := UInt<2>(0) - T_180351[1] := UInt<2>(1) - wire T_180352 : UInt<2>[3] - T_180352[0] := UInt<2>(1) - T_180352[1] := UInt<2>(2) - T_180352[2] := UInt<2>(3) - wire T_180353 : UInt<2>[2] - T_180353[0] := UInt<2>(2) - T_180353[1] := UInt<2>(3) - wire T_180354 : UInt<2>[1] - T_180354[0] := UInt<2>(3) - wire T_180355 : UInt<3>[3] - T_180355[0] := UInt<3>(0) - T_180355[1] := UInt<3>(1) - T_180355[2] := UInt<3>(2) - wire T_180356 : UInt<2>[2] - T_180356[0] := UInt<2>(0) - T_180356[1] := UInt<2>(1) - wire T_180357 : UInt<2>[3] - T_180357[0] := UInt<2>(1) - T_180357[1] := UInt<2>(2) - T_180357[2] := UInt<2>(3) - wire T_180358 : UInt<2>[2] - T_180358[0] := UInt<2>(2) - T_180358[1] := UInt<2>(3) - wire T_180359 : UInt<2>[1] - T_180359[0] := UInt<2>(3) - wire T_180360 : UInt<3>[3] - T_180360[0] := UInt<3>(0) - T_180360[1] := UInt<3>(1) - T_180360[2] := UInt<3>(2) - wire T_180361 : UInt<2>[2] - T_180361[0] := UInt<2>(0) - T_180361[1] := UInt<2>(1) - wire T_180362 : UInt<2>[3] - T_180362[0] := UInt<2>(1) - T_180362[1] := UInt<2>(2) - T_180362[2] := UInt<2>(3) - wire T_180363 : UInt<2>[2] - T_180363[0] := UInt<2>(2) - T_180363[1] := UInt<2>(3) - wire T_180364 : UInt<2>[1] - T_180364[0] := UInt<2>(3) - wire T_180365 : UInt<3>[3] - T_180365[0] := UInt<3>(0) - T_180365[1] := UInt<3>(1) - T_180365[2] := UInt<3>(2) - wire T_180366 : UInt<2>[2] - T_180366[0] := UInt<2>(0) - T_180366[1] := UInt<2>(1) - wire T_180367 : UInt<2>[3] - T_180367[0] := UInt<2>(1) - T_180367[1] := UInt<2>(2) - T_180367[2] := UInt<2>(3) - wire T_180368 : UInt<2>[2] - T_180368[0] := UInt<2>(2) - T_180368[1] := UInt<2>(3) - wire T_180369 : UInt<2>[1] - T_180369[0] := UInt<2>(3) - wire T_180370 : UInt<3>[3] - T_180370[0] := UInt<3>(0) - T_180370[1] := UInt<3>(1) - T_180370[2] := UInt<3>(2) - wire T_180371 : UInt<2>[2] - T_180371[0] := UInt<2>(0) - T_180371[1] := UInt<2>(1) - wire T_180372 : UInt<2>[3] - T_180372[0] := UInt<2>(1) - T_180372[1] := UInt<2>(2) - T_180372[2] := UInt<2>(3) - wire T_180373 : UInt<2>[2] - T_180373[0] := UInt<2>(2) - T_180373[1] := UInt<2>(3) - wire T_180374 : UInt<2>[1] - T_180374[0] := UInt<2>(3) - wire T_180375 : UInt<3>[3] - T_180375[0] := UInt<3>(0) - T_180375[1] := UInt<3>(1) - T_180375[2] := UInt<3>(2) - wire T_180376 : UInt<2>[2] - T_180376[0] := UInt<2>(0) - T_180376[1] := UInt<2>(1) - wire T_180377 : UInt<2>[3] - T_180377[0] := UInt<2>(1) - T_180377[1] := UInt<2>(2) - T_180377[2] := UInt<2>(3) - wire T_180378 : UInt<2>[2] - T_180378[0] := UInt<2>(2) - T_180378[1] := UInt<2>(3) - wire T_180379 : UInt<2>[1] - T_180379[0] := UInt<2>(3) - wire T_180380 : UInt<3>[3] - T_180380[0] := UInt<3>(0) - T_180380[1] := UInt<3>(1) - T_180380[2] := UInt<3>(2) - wire T_180381 : UInt<2>[2] - T_180381[0] := UInt<2>(0) - T_180381[1] := UInt<2>(1) - wire T_180382 : UInt<2>[3] - T_180382[0] := UInt<2>(1) - T_180382[1] := UInt<2>(2) - T_180382[2] := UInt<2>(3) - wire T_180383 : UInt<2>[2] - T_180383[0] := UInt<2>(2) - T_180383[1] := UInt<2>(3) - wire T_180384 : UInt<2>[1] - T_180384[0] := UInt<2>(3) - wire T_180385 : UInt<3>[3] - T_180385[0] := UInt<3>(0) - T_180385[1] := UInt<3>(1) - T_180385[2] := UInt<3>(2) - wire T_180386 : UInt<2>[2] - T_180386[0] := UInt<2>(0) - T_180386[1] := UInt<2>(1) - wire T_180387 : UInt<2>[3] - T_180387[0] := UInt<2>(1) - T_180387[1] := UInt<2>(2) - T_180387[2] := UInt<2>(3) - wire T_180388 : UInt<2>[2] - T_180388[0] := UInt<2>(2) - T_180388[1] := UInt<2>(3) - wire T_180389 : UInt<2>[1] - T_180389[0] := UInt<2>(3) - wire T_180390 : UInt<3>[3] - T_180390[0] := UInt<3>(0) - T_180390[1] := UInt<3>(1) - T_180390[2] := UInt<3>(2) - wire T_180391 : UInt<2>[2] - T_180391[0] := UInt<2>(0) - T_180391[1] := UInt<2>(1) - wire T_180392 : UInt<2>[3] - T_180392[0] := UInt<2>(1) - T_180392[1] := UInt<2>(2) - T_180392[2] := UInt<2>(3) - wire T_180393 : UInt<2>[2] - T_180393[0] := UInt<2>(2) - T_180393[1] := UInt<2>(3) - wire T_180394 : UInt<2>[1] - T_180394[0] := UInt<2>(3) - wire T_180395 : UInt<3>[3] - T_180395[0] := UInt<3>(0) - T_180395[1] := UInt<3>(1) - T_180395[2] := UInt<3>(2) - wire T_180396 : UInt<2>[2] - T_180396[0] := UInt<2>(0) - T_180396[1] := UInt<2>(1) - wire T_180397 : UInt<2>[3] - T_180397[0] := UInt<2>(1) - T_180397[1] := UInt<2>(2) - T_180397[2] := UInt<2>(3) - wire T_180398 : UInt<2>[2] - T_180398[0] := UInt<2>(2) - T_180398[1] := UInt<2>(3) - wire T_180399 : UInt<2>[1] - T_180399[0] := UInt<2>(3) - wire tiles_uncached : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}}[1] - tiles_uncached[0] := T_180400 - wire T_180401 : UInt<3>[3] - T_180401[0] := UInt<3>(0) - T_180401[1] := UInt<3>(1) - T_180401[2] := UInt<3>(2) - wire T_180402 : UInt<2>[2] - T_180402[0] := UInt<2>(0) - T_180402[1] := UInt<2>(1) - wire T_180403 : UInt<2>[3] - T_180403[0] := UInt<2>(1) - T_180403[1] := UInt<2>(2) - T_180403[2] := UInt<2>(3) - wire T_180404 : UInt<2>[2] - T_180404[0] := UInt<2>(2) - T_180404[1] := UInt<2>(3) - wire T_180405 : UInt<2>[1] - T_180405[0] := UInt<2>(3) - wire T_180406 : UInt<3>[3] - T_180406[0] := UInt<3>(0) - T_180406[1] := UInt<3>(1) - T_180406[2] := UInt<3>(2) - wire T_180407 : UInt<2>[2] - T_180407[0] := UInt<2>(0) - T_180407[1] := UInt<2>(1) - wire T_180408 : UInt<2>[3] - T_180408[0] := UInt<2>(1) - T_180408[1] := UInt<2>(2) - T_180408[2] := UInt<2>(3) - wire T_180409 : UInt<2>[2] - T_180409[0] := UInt<2>(2) - T_180409[1] := UInt<2>(3) - wire T_180410 : UInt<2>[1] - T_180410[0] := UInt<2>(3) - wire T_180411 : UInt<3>[3] - T_180411[0] := UInt<3>(0) - T_180411[1] := UInt<3>(1) - T_180411[2] := UInt<3>(2) - wire T_180412 : UInt<2>[2] - T_180412[0] := UInt<2>(0) - T_180412[1] := UInt<2>(1) - wire T_180413 : UInt<2>[3] - T_180413[0] := UInt<2>(1) - T_180413[1] := UInt<2>(2) - T_180413[2] := UInt<2>(3) - wire T_180414 : UInt<2>[2] - T_180414[0] := UInt<2>(2) - T_180414[1] := UInt<2>(3) - wire T_180415 : UInt<2>[1] - T_180415[0] := UInt<2>(3) - wire T_180416 : UInt<3>[3] - T_180416[0] := UInt<3>(0) - T_180416[1] := UInt<3>(1) - T_180416[2] := UInt<3>(2) - wire T_180417 : UInt<2>[2] - T_180417[0] := UInt<2>(0) - T_180417[1] := UInt<2>(1) - wire T_180418 : UInt<2>[3] - T_180418[0] := UInt<2>(1) - T_180418[1] := UInt<2>(2) - T_180418[2] := UInt<2>(3) - wire T_180419 : UInt<2>[2] - T_180419[0] := UInt<2>(2) - T_180419[1] := UInt<2>(3) - wire T_180420 : UInt<2>[1] - T_180420[0] := UInt<2>(3) - wire T_180421 : UInt<3>[3] - T_180421[0] := UInt<3>(0) - T_180421[1] := UInt<3>(1) - T_180421[2] := UInt<3>(2) - wire T_180422 : UInt<2>[2] - T_180422[0] := UInt<2>(0) - T_180422[1] := UInt<2>(1) - wire T_180423 : UInt<2>[3] - T_180423[0] := UInt<2>(1) - T_180423[1] := UInt<2>(2) - T_180423[2] := UInt<2>(3) - wire T_180424 : UInt<2>[2] - T_180424[0] := UInt<2>(2) - T_180424[1] := UInt<2>(3) - wire T_180425 : UInt<2>[1] - T_180425[0] := UInt<2>(3) - wire incoherent : UInt<1>[1] - incoherent[0] := T_180426 - wire mem__ : {req_cmd : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<26>, tag : UInt<5>, rw : UInt<1>}}, req_data : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<128>}}, flip resp : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<128>, tag : UInt<5>}}}[1] - mem__[0] := T_180427 - inst T_180428 of ClientTileLinkIOWrapper - T_180428.in <> tiles_uncached[0] - inst T_180429 of ClientTileLinkIOWrapper_7600 - T_180429.in <> htif_uncached - inst l1tol2net of RocketChipTileLinkArbiter - inst T_180430 of L2HellaCacheBank - T_180430.incoherent[0] := incoherent[0] - l1tol2net.clients[0] <> tiles_cached[0] - l1tol2net.clients[1] <> T_180428.out - l1tol2net.clients[2] <> T_180429.out - l1tol2net.managers[0] <> T_180430.inner - inst T_180431 of RocketChipTileLinkArbiter_120090 - inst T_180432 of MemPipeIOTileLinkIOConverter - T_180431.clients[0] <> T_180430.outer - T_180432.tl <> T_180431.managers[0] - wire T_180433 : {req_cmd : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<26>, tag : UInt<5>, rw : UInt<1>}}, req_data : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<128>}}, flip resp : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<128>, tag : UInt<5>}}} - T_180432.mem__.resp.valid := T_180433.resp.valid - T_180432.mem__.resp.bits := T_180433.resp.bits - T_180433.resp.ready := UInt<1>(1) - T_180433.req_cmd.valid := T_180432.mem__.req_cmd.valid - T_180433.req_cmd.bits := T_180432.mem__.req_cmd.bits - T_180432.mem__.req_cmd.ready := T_180433.req_cmd.ready - T_180433.req_data.valid := T_180432.mem__.req_data.valid - T_180433.req_data.bits := T_180432.mem__.req_data.bits - T_180432.mem__.req_data.ready := T_180433.req_data.ready - inst T_180434 of MemIOArbiter - inst T_180435 of MemSerdes - T_180435.wide <> T_180434.outer - T_180435.narrow <> mem_backup - wire T_180436 : UInt<1> - T_180436 := mem__[0].req_cmd.ready - when mem_backup_en : T_180436 := T_180434.inner[0].req_cmd.ready - T_180433.req_cmd.ready := T_180436 - node T_180437 = eq(mem_backup_en, UInt<1>(0)) - node T_180438 = and(T_180433.req_cmd.valid, T_180437) - mem__[0].req_cmd.valid := T_180438 - mem__[0].req_cmd.bits := T_180433.req_cmd.bits - node T_180439 = and(T_180433.req_cmd.valid, mem_backup_en) - T_180434.inner[0].req_cmd.valid := T_180439 - T_180434.inner[0].req_cmd.bits := T_180433.req_cmd.bits - wire T_180440 : UInt<1> - T_180440 := mem__[0].req_data.ready - when mem_backup_en : T_180440 := T_180434.inner[0].req_data.ready - T_180433.req_data.ready := T_180440 - node T_180441 = eq(mem_backup_en, UInt<1>(0)) - node T_180442 = and(T_180433.req_data.valid, T_180441) - mem__[0].req_data.valid := T_180442 - mem__[0].req_data.bits := T_180433.req_data.bits - node T_180443 = and(T_180433.req_data.valid, mem_backup_en) - T_180434.inner[0].req_data.valid := T_180443 - T_180434.inner[0].req_data.bits := T_180433.req_data.bits - wire T_180444 : UInt<1> - T_180444 := mem__[0].resp.valid - when mem_backup_en : T_180444 := T_180434.inner[0].resp.valid - T_180433.resp.valid := T_180444 - wire T_180445 : {data : UInt<128>, tag : UInt<5>} - T_180445 := mem__[0].resp.bits - when mem_backup_en : T_180445 := T_180434.inner[0].resp.bits - T_180433.resp.bits := T_180445 - node T_180446 = eq(mem_backup_en, UInt<1>(0)) - node T_180447 = and(T_180433.resp.ready, T_180446) - mem__[0].resp.ready := T_180447 - node T_180448 = and(T_180433.resp.ready, mem_backup_en) - T_180434.inner[0].resp.ready := T_180448 - module Queue_123297 : - input enq : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<17>} - output deq : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<17>} - output count : UInt<1> - - cmem ram : UInt<17>[1] - reg maybe_full : UInt<1> - onreset maybe_full := UInt<1>(0) - node ptr_match = eq(UInt<1>(0), UInt<1>(0)) - node T_180449 = eq(maybe_full, UInt<1>(0)) - node empty = and(ptr_match, T_180449) - node full = and(ptr_match, maybe_full) - node maybe_flow = and(UInt<1>(0), empty) - node do_flow = and(maybe_flow, deq.ready) - node T_180450 = and(enq.ready, enq.valid) - node T_180451 = eq(do_flow, UInt<1>(0)) - node do_enq = and(T_180450, T_180451) - node T_180452 = and(deq.ready, deq.valid) - node T_180453 = eq(do_flow, UInt<1>(0)) - node do_deq = and(T_180452, T_180453) - when do_enq : - accessor T_180454 = ram[UInt<1>(0)] - T_180454 := enq.bits - when do_deq : skip - - node T_180455 = neq(do_enq, do_deq) - when T_180455 : maybe_full := do_enq - node T_180456 = eq(empty, UInt<1>(0)) - node T_180457 = and(UInt<1>(0), enq.valid) - node T_180458 = or(T_180456, T_180457) - deq.valid := T_180458 - node T_180459 = eq(full, UInt<1>(0)) - node T_180460 = and(UInt<1>(0), deq.ready) - node T_180461 = or(T_180459, T_180460) - enq.ready := T_180461 - accessor T_180462 = ram[UInt<1>(0)] - wire T_180463 : UInt<17> - T_180463 := T_180462 - when maybe_flow : T_180463 := enq.bits - deq.bits := T_180463 - node ptr_diff = subw(UInt<1>(0), UInt<1>(0)) - node T_180464 = and(maybe_full, ptr_match) - node T_180465 = cat(T_180464, ptr_diff) - count := T_180465 - module Queue_123356 : - input enq : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<17>} - output deq : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<17>} - output count : UInt<1> - - cmem ram : UInt<17>[1] - reg maybe_full : UInt<1> - onreset maybe_full := UInt<1>(0) - node ptr_match = eq(UInt<1>(0), UInt<1>(0)) - node T_180466 = eq(maybe_full, UInt<1>(0)) - node empty = and(ptr_match, T_180466) - node full = and(ptr_match, maybe_full) - node maybe_flow = and(UInt<1>(0), empty) - node do_flow = and(maybe_flow, deq.ready) - node T_180467 = and(enq.ready, enq.valid) - node T_180468 = eq(do_flow, UInt<1>(0)) - node do_enq = and(T_180467, T_180468) - node T_180469 = and(deq.ready, deq.valid) - node T_180470 = eq(do_flow, UInt<1>(0)) - node do_deq = and(T_180469, T_180470) - when do_enq : - accessor T_180471 = ram[UInt<1>(0)] - T_180471 := enq.bits - when do_deq : skip - - node T_180472 = neq(do_enq, do_deq) - when T_180472 : maybe_full := do_enq - node T_180473 = eq(empty, UInt<1>(0)) - node T_180474 = and(UInt<1>(0), enq.valid) - node T_180475 = or(T_180473, T_180474) - deq.valid := T_180475 - node T_180476 = eq(full, UInt<1>(0)) - node T_180477 = and(UInt<1>(0), deq.ready) - node T_180478 = or(T_180476, T_180477) - enq.ready := T_180478 - accessor T_180479 = ram[UInt<1>(0)] - wire T_180480 : UInt<17> - T_180480 := T_180479 - when maybe_flow : T_180480 := enq.bits - deq.bits := T_180480 - node ptr_diff = subw(UInt<1>(0), UInt<1>(0)) - node T_180481 = and(maybe_full, ptr_match) - node T_180482 = cat(T_180481, ptr_diff) - count := T_180482 - module SlowIO : - input out_fast : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<17>} - output out_slow : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<17>} - output in_fast : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<17>} - input in_slow : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<17>} - output clk_slow : UInt<1> - input set_divisor : {valid : UInt<1>, bits : UInt<32>} - output divisor : UInt<32> - - reg divisor : UInt<9> - onreset divisor := UInt<9>(511) - reg d_shadow : UInt<9> - onreset d_shadow := UInt<9>(511) - reg hold : UInt<7> - onreset hold := UInt<7>(127) - reg h_shadow : UInt<7> - onreset h_shadow := UInt<7>(127) - when set_divisor.valid : - node T_180483 = bits(set_divisor.bits, 8, 0) - d_shadow := T_180483 - node T_180484 = bits(set_divisor.bits, 24, 16) - h_shadow := T_180484 - node T_180485 = dshl(hold, UInt<5>(16)) - node T_180486 = or(T_180485, divisor) - divisor := T_180486 - reg count : UInt<9> - reg myclock : UInt<1> - node T_180487 = addw(count, UInt<1>(1)) - count := T_180487 - node T_180488 = dshr(divisor, UInt<1>(1)) - node rising = eq(count, T_180488) - node falling = eq(count, divisor) - node T_180489 = dshr(divisor, UInt<1>(1)) - node T_180490 = addw(T_180489, hold) - node held = eq(count, T_180490) - when falling : - divisor := d_shadow - hold := h_shadow - count := UInt<1>(0) - myclock := UInt<1>(0) - when rising : myclock := UInt<1>(1) - reg in_slow_rdy : UInt<1> - onreset in_slow_rdy := UInt<1>(0) - reg out_slow_val : UInt<1> - onreset out_slow_val := UInt<1>(0) - reg out_slow_bits : UInt<17> - inst fromhost_q of Queue_123297 - node T_180491 = and(in_slow.valid, in_slow_rdy) - node T_180492 = or(T_180491, reset) - node T_180493 = and(rising, T_180492) - fromhost_q.enq.valid := T_180493 - fromhost_q.enq.bits := in_slow.bits - fromhost_q.deq <> in_fast - inst tohost_q of Queue_123356 - tohost_q.enq <> out_fast - node T_180494 = and(rising, out_slow.ready) - node T_180495 = and(T_180494, out_slow_val) - tohost_q.deq.ready := T_180495 - when held : - in_slow_rdy := fromhost_q.enq.ready - out_slow_val := tohost_q.deq.valid - wire T_180496 : UInt<17> - T_180496 := tohost_q.deq.bits - when reset : T_180496 := fromhost_q.deq.bits - out_slow_bits := T_180496 - in_slow.ready := in_slow_rdy - out_slow.valid := out_slow_val - out_slow.bits := out_slow_bits - clk_slow := myclock - module Uncore : - output host : {clk : UInt<1>, clk_edge : UInt<1>, flip in : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<16>}, out : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<16>}, debug_stats_pcr : UInt<1>} - output mem__ : {req_cmd : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<26>, tag : UInt<5>, rw : UInt<1>}}, req_data : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<128>}}, flip resp : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<128>, tag : UInt<5>}}}[1] - input tiles_cached : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}, flip probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>}}, release : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}}[1] - input tiles_uncached : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}}[1] - input htif : {flip reset : UInt<1>, flip id : UInt<1>, flip pcr_req : {flip ready : UInt<1>, valid : UInt<1>, bits : {rw : UInt<1>, addr : UInt<12>, data : UInt<64>}}, pcr_rep : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<64>}, ipi_req : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<1>}, flip ipi_rep : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<1>}, debug_stats_pcr : UInt<1>}[1] - output mem_backup_ctrl : {flip en : UInt<1>, flip in_valid : UInt<1>, flip out_ready : UInt<1>, out_valid : UInt<1>} - - wire mem__ : {req_cmd : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<26>, tag : UInt<5>, rw : UInt<1>}}, req_data : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<128>}}, flip resp : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<128>, tag : UInt<5>}}}[1] - mem__[0] := T_180497 - wire T_180498 : UInt<3>[3] - T_180498[0] := UInt<3>(0) - T_180498[1] := UInt<3>(1) - T_180498[2] := UInt<3>(2) - wire T_180499 : UInt<2>[2] - T_180499[0] := UInt<2>(0) - T_180499[1] := UInt<2>(1) - wire T_180500 : UInt<2>[3] - T_180500[0] := UInt<2>(1) - T_180500[1] := UInt<2>(2) - T_180500[2] := UInt<2>(3) - wire T_180501 : UInt<2>[2] - T_180501[0] := UInt<2>(2) - T_180501[1] := UInt<2>(3) - wire T_180502 : UInt<2>[1] - T_180502[0] := UInt<2>(3) - wire T_180503 : UInt<3>[3] - T_180503[0] := UInt<3>(0) - T_180503[1] := UInt<3>(1) - T_180503[2] := UInt<3>(2) - wire T_180504 : UInt<2>[2] - T_180504[0] := UInt<2>(0) - T_180504[1] := UInt<2>(1) - wire T_180505 : UInt<2>[3] - T_180505[0] := UInt<2>(1) - T_180505[1] := UInt<2>(2) - T_180505[2] := UInt<2>(3) - wire T_180506 : UInt<2>[2] - T_180506[0] := UInt<2>(2) - T_180506[1] := UInt<2>(3) - wire T_180507 : UInt<2>[1] - T_180507[0] := UInt<2>(3) - wire T_180508 : UInt<3>[3] - T_180508[0] := UInt<3>(0) - T_180508[1] := UInt<3>(1) - T_180508[2] := UInt<3>(2) - wire T_180509 : UInt<2>[2] - T_180509[0] := UInt<2>(0) - T_180509[1] := UInt<2>(1) - wire T_180510 : UInt<2>[3] - T_180510[0] := UInt<2>(1) - T_180510[1] := UInt<2>(2) - T_180510[2] := UInt<2>(3) - wire T_180511 : UInt<2>[2] - T_180511[0] := UInt<2>(2) - T_180511[1] := UInt<2>(3) - wire T_180512 : UInt<2>[1] - T_180512[0] := UInt<2>(3) - wire T_180513 : UInt<3>[3] - T_180513[0] := UInt<3>(0) - T_180513[1] := UInt<3>(1) - T_180513[2] := UInt<3>(2) - wire T_180514 : UInt<2>[2] - T_180514[0] := UInt<2>(0) - T_180514[1] := UInt<2>(1) - wire T_180515 : UInt<2>[3] - T_180515[0] := UInt<2>(1) - T_180515[1] := UInt<2>(2) - T_180515[2] := UInt<2>(3) - wire T_180516 : UInt<2>[2] - T_180516[0] := UInt<2>(2) - T_180516[1] := UInt<2>(3) - wire T_180517 : UInt<2>[1] - T_180517[0] := UInt<2>(3) - wire T_180518 : UInt<3>[3] - T_180518[0] := UInt<3>(0) - T_180518[1] := UInt<3>(1) - T_180518[2] := UInt<3>(2) - wire T_180519 : UInt<2>[2] - T_180519[0] := UInt<2>(0) - T_180519[1] := UInt<2>(1) - wire T_180520 : UInt<2>[3] - T_180520[0] := UInt<2>(1) - T_180520[1] := UInt<2>(2) - T_180520[2] := UInt<2>(3) - wire T_180521 : UInt<2>[2] - T_180521[0] := UInt<2>(2) - T_180521[1] := UInt<2>(3) - wire T_180522 : UInt<2>[1] - T_180522[0] := UInt<2>(3) - wire T_180523 : UInt<3>[3] - T_180523[0] := UInt<3>(0) - T_180523[1] := UInt<3>(1) - T_180523[2] := UInt<3>(2) - wire T_180524 : UInt<2>[2] - T_180524[0] := UInt<2>(0) - T_180524[1] := UInt<2>(1) - wire T_180525 : UInt<2>[3] - T_180525[0] := UInt<2>(1) - T_180525[1] := UInt<2>(2) - T_180525[2] := UInt<2>(3) - wire T_180526 : UInt<2>[2] - T_180526[0] := UInt<2>(2) - T_180526[1] := UInt<2>(3) - wire T_180527 : UInt<2>[1] - T_180527[0] := UInt<2>(3) - wire T_180528 : UInt<3>[3] - T_180528[0] := UInt<3>(0) - T_180528[1] := UInt<3>(1) - T_180528[2] := UInt<3>(2) - wire T_180529 : UInt<2>[2] - T_180529[0] := UInt<2>(0) - T_180529[1] := UInt<2>(1) - wire T_180530 : UInt<2>[3] - T_180530[0] := UInt<2>(1) - T_180530[1] := UInt<2>(2) - T_180530[2] := UInt<2>(3) - wire T_180531 : UInt<2>[2] - T_180531[0] := UInt<2>(2) - T_180531[1] := UInt<2>(3) - wire T_180532 : UInt<2>[1] - T_180532[0] := UInt<2>(3) - wire T_180533 : UInt<3>[3] - T_180533[0] := UInt<3>(0) - T_180533[1] := UInt<3>(1) - T_180533[2] := UInt<3>(2) - wire T_180534 : UInt<2>[2] - T_180534[0] := UInt<2>(0) - T_180534[1] := UInt<2>(1) - wire T_180535 : UInt<2>[3] - T_180535[0] := UInt<2>(1) - T_180535[1] := UInt<2>(2) - T_180535[2] := UInt<2>(3) - wire T_180536 : UInt<2>[2] - T_180536[0] := UInt<2>(2) - T_180536[1] := UInt<2>(3) - wire T_180537 : UInt<2>[1] - T_180537[0] := UInt<2>(3) - wire T_180538 : UInt<3>[3] - T_180538[0] := UInt<3>(0) - T_180538[1] := UInt<3>(1) - T_180538[2] := UInt<3>(2) - wire T_180539 : UInt<2>[2] - T_180539[0] := UInt<2>(0) - T_180539[1] := UInt<2>(1) - wire T_180540 : UInt<2>[3] - T_180540[0] := UInt<2>(1) - T_180540[1] := UInt<2>(2) - T_180540[2] := UInt<2>(3) - wire T_180541 : UInt<2>[2] - T_180541[0] := UInt<2>(2) - T_180541[1] := UInt<2>(3) - wire T_180542 : UInt<2>[1] - T_180542[0] := UInt<2>(3) - wire T_180543 : UInt<3>[3] - T_180543[0] := UInt<3>(0) - T_180543[1] := UInt<3>(1) - T_180543[2] := UInt<3>(2) - wire T_180544 : UInt<2>[2] - T_180544[0] := UInt<2>(0) - T_180544[1] := UInt<2>(1) - wire T_180545 : UInt<2>[3] - T_180545[0] := UInt<2>(1) - T_180545[1] := UInt<2>(2) - T_180545[2] := UInt<2>(3) - wire T_180546 : UInt<2>[2] - T_180546[0] := UInt<2>(2) - T_180546[1] := UInt<2>(3) - wire T_180547 : UInt<2>[1] - T_180547[0] := UInt<2>(3) - wire T_180548 : UInt<3>[3] - T_180548[0] := UInt<3>(0) - T_180548[1] := UInt<3>(1) - T_180548[2] := UInt<3>(2) - wire T_180549 : UInt<2>[2] - T_180549[0] := UInt<2>(0) - T_180549[1] := UInt<2>(1) - wire T_180550 : UInt<2>[3] - T_180550[0] := UInt<2>(1) - T_180550[1] := UInt<2>(2) - T_180550[2] := UInt<2>(3) - wire T_180551 : UInt<2>[2] - T_180551[0] := UInt<2>(2) - T_180551[1] := UInt<2>(3) - wire T_180552 : UInt<2>[1] - T_180552[0] := UInt<2>(3) - wire T_180553 : UInt<3>[3] - T_180553[0] := UInt<3>(0) - T_180553[1] := UInt<3>(1) - T_180553[2] := UInt<3>(2) - wire T_180554 : UInt<2>[2] - T_180554[0] := UInt<2>(0) - T_180554[1] := UInt<2>(1) - wire T_180555 : UInt<2>[3] - T_180555[0] := UInt<2>(1) - T_180555[1] := UInt<2>(2) - T_180555[2] := UInt<2>(3) - wire T_180556 : UInt<2>[2] - T_180556[0] := UInt<2>(2) - T_180556[1] := UInt<2>(3) - wire T_180557 : UInt<2>[1] - T_180557[0] := UInt<2>(3) - wire T_180558 : UInt<3>[3] - T_180558[0] := UInt<3>(0) - T_180558[1] := UInt<3>(1) - T_180558[2] := UInt<3>(2) - wire T_180559 : UInt<2>[2] - T_180559[0] := UInt<2>(0) - T_180559[1] := UInt<2>(1) - wire T_180560 : UInt<2>[3] - T_180560[0] := UInt<2>(1) - T_180560[1] := UInt<2>(2) - T_180560[2] := UInt<2>(3) - wire T_180561 : UInt<2>[2] - T_180561[0] := UInt<2>(2) - T_180561[1] := UInt<2>(3) - wire T_180562 : UInt<2>[1] - T_180562[0] := UInt<2>(3) - wire T_180563 : UInt<3>[3] - T_180563[0] := UInt<3>(0) - T_180563[1] := UInt<3>(1) - T_180563[2] := UInt<3>(2) - wire T_180564 : UInt<2>[2] - T_180564[0] := UInt<2>(0) - T_180564[1] := UInt<2>(1) - wire T_180565 : UInt<2>[3] - T_180565[0] := UInt<2>(1) - T_180565[1] := UInt<2>(2) - T_180565[2] := UInt<2>(3) - wire T_180566 : UInt<2>[2] - T_180566[0] := UInt<2>(2) - T_180566[1] := UInt<2>(3) - wire T_180567 : UInt<2>[1] - T_180567[0] := UInt<2>(3) - wire T_180568 : UInt<3>[3] - T_180568[0] := UInt<3>(0) - T_180568[1] := UInt<3>(1) - T_180568[2] := UInt<3>(2) - wire T_180569 : UInt<2>[2] - T_180569[0] := UInt<2>(0) - T_180569[1] := UInt<2>(1) - wire T_180570 : UInt<2>[3] - T_180570[0] := UInt<2>(1) - T_180570[1] := UInt<2>(2) - T_180570[2] := UInt<2>(3) - wire T_180571 : UInt<2>[2] - T_180571[0] := UInt<2>(2) - T_180571[1] := UInt<2>(3) - wire T_180572 : UInt<2>[1] - T_180572[0] := UInt<2>(3) - wire T_180573 : UInt<3>[3] - T_180573[0] := UInt<3>(0) - T_180573[1] := UInt<3>(1) - T_180573[2] := UInt<3>(2) - wire T_180574 : UInt<2>[2] - T_180574[0] := UInt<2>(0) - T_180574[1] := UInt<2>(1) - wire T_180575 : UInt<2>[3] - T_180575[0] := UInt<2>(1) - T_180575[1] := UInt<2>(2) - T_180575[2] := UInt<2>(3) - wire T_180576 : UInt<2>[2] - T_180576[0] := UInt<2>(2) - T_180576[1] := UInt<2>(3) - wire T_180577 : UInt<2>[1] - T_180577[0] := UInt<2>(3) - wire T_180578 : UInt<3>[3] - T_180578[0] := UInt<3>(0) - T_180578[1] := UInt<3>(1) - T_180578[2] := UInt<3>(2) - wire T_180579 : UInt<2>[2] - T_180579[0] := UInt<2>(0) - T_180579[1] := UInt<2>(1) - wire T_180580 : UInt<2>[3] - T_180580[0] := UInt<2>(1) - T_180580[1] := UInt<2>(2) - T_180580[2] := UInt<2>(3) - wire T_180581 : UInt<2>[2] - T_180581[0] := UInt<2>(2) - T_180581[1] := UInt<2>(3) - wire T_180582 : UInt<2>[1] - T_180582[0] := UInt<2>(3) - wire T_180583 : UInt<3>[3] - T_180583[0] := UInt<3>(0) - T_180583[1] := UInt<3>(1) - T_180583[2] := UInt<3>(2) - wire T_180584 : UInt<2>[2] - T_180584[0] := UInt<2>(0) - T_180584[1] := UInt<2>(1) - wire T_180585 : UInt<2>[3] - T_180585[0] := UInt<2>(1) - T_180585[1] := UInt<2>(2) - T_180585[2] := UInt<2>(3) - wire T_180586 : UInt<2>[2] - T_180586[0] := UInt<2>(2) - T_180586[1] := UInt<2>(3) - wire T_180587 : UInt<2>[1] - T_180587[0] := UInt<2>(3) - wire tiles_cached : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}, flip probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>}}, release : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}}[1] - tiles_cached[0] := T_180588 - wire T_180589 : UInt<3>[3] - T_180589[0] := UInt<3>(0) - T_180589[1] := UInt<3>(1) - T_180589[2] := UInt<3>(2) - wire T_180590 : UInt<2>[2] - T_180590[0] := UInt<2>(0) - T_180590[1] := UInt<2>(1) - wire T_180591 : UInt<2>[3] - T_180591[0] := UInt<2>(1) - T_180591[1] := UInt<2>(2) - T_180591[2] := UInt<2>(3) - wire T_180592 : UInt<2>[2] - T_180592[0] := UInt<2>(2) - T_180592[1] := UInt<2>(3) - wire T_180593 : UInt<2>[1] - T_180593[0] := UInt<2>(3) - wire T_180594 : UInt<3>[3] - T_180594[0] := UInt<3>(0) - T_180594[1] := UInt<3>(1) - T_180594[2] := UInt<3>(2) - wire T_180595 : UInt<2>[2] - T_180595[0] := UInt<2>(0) - T_180595[1] := UInt<2>(1) - wire T_180596 : UInt<2>[3] - T_180596[0] := UInt<2>(1) - T_180596[1] := UInt<2>(2) - T_180596[2] := UInt<2>(3) - wire T_180597 : UInt<2>[2] - T_180597[0] := UInt<2>(2) - T_180597[1] := UInt<2>(3) - wire T_180598 : UInt<2>[1] - T_180598[0] := UInt<2>(3) - wire T_180599 : UInt<3>[3] - T_180599[0] := UInt<3>(0) - T_180599[1] := UInt<3>(1) - T_180599[2] := UInt<3>(2) - wire T_180600 : UInt<2>[2] - T_180600[0] := UInt<2>(0) - T_180600[1] := UInt<2>(1) - wire T_180601 : UInt<2>[3] - T_180601[0] := UInt<2>(1) - T_180601[1] := UInt<2>(2) - T_180601[2] := UInt<2>(3) - wire T_180602 : UInt<2>[2] - T_180602[0] := UInt<2>(2) - T_180602[1] := UInt<2>(3) - wire T_180603 : UInt<2>[1] - T_180603[0] := UInt<2>(3) - wire T_180604 : UInt<3>[3] - T_180604[0] := UInt<3>(0) - T_180604[1] := UInt<3>(1) - T_180604[2] := UInt<3>(2) - wire T_180605 : UInt<2>[2] - T_180605[0] := UInt<2>(0) - T_180605[1] := UInt<2>(1) - wire T_180606 : UInt<2>[3] - T_180606[0] := UInt<2>(1) - T_180606[1] := UInt<2>(2) - T_180606[2] := UInt<2>(3) - wire T_180607 : UInt<2>[2] - T_180607[0] := UInt<2>(2) - T_180607[1] := UInt<2>(3) - wire T_180608 : UInt<2>[1] - T_180608[0] := UInt<2>(3) - wire T_180609 : UInt<3>[3] - T_180609[0] := UInt<3>(0) - T_180609[1] := UInt<3>(1) - T_180609[2] := UInt<3>(2) - wire T_180610 : UInt<2>[2] - T_180610[0] := UInt<2>(0) - T_180610[1] := UInt<2>(1) - wire T_180611 : UInt<2>[3] - T_180611[0] := UInt<2>(1) - T_180611[1] := UInt<2>(2) - T_180611[2] := UInt<2>(3) - wire T_180612 : UInt<2>[2] - T_180612[0] := UInt<2>(2) - T_180612[1] := UInt<2>(3) - wire T_180613 : UInt<2>[1] - T_180613[0] := UInt<2>(3) - wire T_180614 : UInt<3>[3] - T_180614[0] := UInt<3>(0) - T_180614[1] := UInt<3>(1) - T_180614[2] := UInt<3>(2) - wire T_180615 : UInt<2>[2] - T_180615[0] := UInt<2>(0) - T_180615[1] := UInt<2>(1) - wire T_180616 : UInt<2>[3] - T_180616[0] := UInt<2>(1) - T_180616[1] := UInt<2>(2) - T_180616[2] := UInt<2>(3) - wire T_180617 : UInt<2>[2] - T_180617[0] := UInt<2>(2) - T_180617[1] := UInt<2>(3) - wire T_180618 : UInt<2>[1] - T_180618[0] := UInt<2>(3) - wire T_180619 : UInt<3>[3] - T_180619[0] := UInt<3>(0) - T_180619[1] := UInt<3>(1) - T_180619[2] := UInt<3>(2) - wire T_180620 : UInt<2>[2] - T_180620[0] := UInt<2>(0) - T_180620[1] := UInt<2>(1) - wire T_180621 : UInt<2>[3] - T_180621[0] := UInt<2>(1) - T_180621[1] := UInt<2>(2) - T_180621[2] := UInt<2>(3) - wire T_180622 : UInt<2>[2] - T_180622[0] := UInt<2>(2) - T_180622[1] := UInt<2>(3) - wire T_180623 : UInt<2>[1] - T_180623[0] := UInt<2>(3) - wire T_180624 : UInt<3>[3] - T_180624[0] := UInt<3>(0) - T_180624[1] := UInt<3>(1) - T_180624[2] := UInt<3>(2) - wire T_180625 : UInt<2>[2] - T_180625[0] := UInt<2>(0) - T_180625[1] := UInt<2>(1) - wire T_180626 : UInt<2>[3] - T_180626[0] := UInt<2>(1) - T_180626[1] := UInt<2>(2) - T_180626[2] := UInt<2>(3) - wire T_180627 : UInt<2>[2] - T_180627[0] := UInt<2>(2) - T_180627[1] := UInt<2>(3) - wire T_180628 : UInt<2>[1] - T_180628[0] := UInt<2>(3) - wire T_180629 : UInt<3>[3] - T_180629[0] := UInt<3>(0) - T_180629[1] := UInt<3>(1) - T_180629[2] := UInt<3>(2) - wire T_180630 : UInt<2>[2] - T_180630[0] := UInt<2>(0) - T_180630[1] := UInt<2>(1) - wire T_180631 : UInt<2>[3] - T_180631[0] := UInt<2>(1) - T_180631[1] := UInt<2>(2) - T_180631[2] := UInt<2>(3) - wire T_180632 : UInt<2>[2] - T_180632[0] := UInt<2>(2) - T_180632[1] := UInt<2>(3) - wire T_180633 : UInt<2>[1] - T_180633[0] := UInt<2>(3) - wire T_180634 : UInt<3>[3] - T_180634[0] := UInt<3>(0) - T_180634[1] := UInt<3>(1) - T_180634[2] := UInt<3>(2) - wire T_180635 : UInt<2>[2] - T_180635[0] := UInt<2>(0) - T_180635[1] := UInt<2>(1) - wire T_180636 : UInt<2>[3] - T_180636[0] := UInt<2>(1) - T_180636[1] := UInt<2>(2) - T_180636[2] := UInt<2>(3) - wire T_180637 : UInt<2>[2] - T_180637[0] := UInt<2>(2) - T_180637[1] := UInt<2>(3) - wire T_180638 : UInt<2>[1] - T_180638[0] := UInt<2>(3) - wire tiles_uncached : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}}[1] - tiles_uncached[0] := T_180639 - wire htif : {flip reset : UInt<1>, flip id : UInt<1>, flip pcr_req : {flip ready : UInt<1>, valid : UInt<1>, bits : {rw : UInt<1>, addr : UInt<12>, data : UInt<64>}}, pcr_rep : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<64>}, ipi_req : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<1>}, flip ipi_rep : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<1>}, debug_stats_pcr : UInt<1>}[1] - htif[0] := T_180640 - inst htif of HTIF - inst outmemsys of OuterMemorySystem - outmemsys.incoherent[0] := htif.cpu[0].reset - outmemsys.htif_uncached <> htif.mem__ - outmemsys.tiles_uncached[0] <> tiles_uncached[0] - outmemsys.tiles_cached[0] <> tiles_cached[0] - host.debug_stats_pcr := htif.host.debug_stats_pcr - htif.cpu[0] <> htif[0] - outmemsys.mem__[0] <> mem__[0] - outmemsys.mem_backup_en := mem_backup_ctrl.en - inst T_180641 of SlowIO - node T_180642 = eq(htif.scr.waddr, UInt<6>(63)) - node T_180643 = and(htif.scr.wen, T_180642) - T_180641.set_divisor.valid := T_180643 - T_180641.set_divisor.bits := htif.scr.wdata - htif.scr.rdata[63] := T_180641.divisor - node T_180644 = or(htif.host.out.valid, outmemsys.mem_backup.req.valid) - T_180641.out_fast.valid := T_180644 - wire T_180645 : UInt<16> - T_180645 := outmemsys.mem_backup.req.bits - when htif.host.out.valid : T_180645 := htif.host.out.bits - node T_180646 = cat(htif.host.out.valid, T_180645) - T_180641.out_fast.bits := T_180646 - htif.host.out.ready := T_180641.out_fast.ready - node T_180647 = eq(htif.host.out.valid, UInt<1>(0)) - node T_180648 = and(T_180641.out_fast.ready, T_180647) - outmemsys.mem_backup.req.ready := T_180648 - node T_180649 = bit(T_180641.out_slow.bits, 16) - node T_180650 = and(T_180641.out_slow.valid, T_180649) - host.out.valid := T_180650 - host.out.bits := T_180641.out_slow.bits - node T_180651 = bit(T_180641.out_slow.bits, 16) - node T_180652 = eq(T_180651, UInt<1>(0)) - node T_180653 = and(T_180641.out_slow.valid, T_180652) - mem_backup_ctrl.out_valid := T_180653 - node T_180654 = bit(T_180641.out_slow.bits, 16) - wire T_180655 : UInt<1> - T_180655 := mem_backup_ctrl.out_ready - when T_180654 : T_180655 := host.out.ready - T_180641.out_slow.ready := T_180655 - node T_180656 = and(mem_backup_ctrl.en, mem_backup_ctrl.in_valid) - node T_180657 = or(T_180656, host.in.valid) - T_180641.in_slow.valid := T_180657 - node T_180658 = cat(T_180656, host.in.bits) - T_180641.in_slow.bits := T_180658 - host.in.ready := T_180641.in_slow.ready - node T_180659 = bit(T_180641.in_fast.bits, 16) - node T_180660 = and(T_180641.in_fast.valid, T_180659) - outmemsys.mem_backup.resp.valid := T_180660 - outmemsys.mem_backup.resp.bits := T_180641.in_fast.bits - node T_180661 = bit(T_180641.in_fast.bits, 16) - node T_180662 = eq(T_180661, UInt<1>(0)) - node T_180663 = and(T_180641.in_fast.valid, T_180662) - htif.host.in.valid := T_180663 - htif.host.in.bits := T_180641.in_fast.bits - node T_180664 = bit(T_180641.in_fast.bits, 16) - wire T_180665 : UInt<1> - T_180665 := htif.host.in.ready - when T_180664 : T_180665 := UInt<1>(1) - T_180641.in_fast.ready := T_180665 - host.clk := T_180641.clk_slow - reg T_180666 : UInt<1> - T_180666 := host.clk - node T_180667 = eq(T_180666, UInt<1>(0)) - node T_180668 = and(host.clk, T_180667) - reg T_180669 : UInt<1> - T_180669 := T_180668 - host.clk_edge := T_180669 - module BTB : - input req : {valid : UInt<1>, bits : {addr : UInt<39>}} - output resp : {valid : UInt<1>, bits : {taken : UInt<1>, mask : UInt<1>, bridx : UInt<1>, target : UInt<39>, entry : UInt<6>, bht : {history : UInt<7>, value : UInt<2>}}} - input btb_update : {valid : UInt<1>, bits : {prediction : {valid : UInt<1>, bits : {taken : UInt<1>, mask : UInt<1>, bridx : UInt<1>, target : UInt<39>, entry : UInt<6>, bht : {history : UInt<7>, value : UInt<2>}}}, pc : UInt<39>, target : UInt<39>, taken : UInt<1>, isJump : UInt<1>, isReturn : UInt<1>, br_pc : UInt<39>}} - input bht_update : {valid : UInt<1>, bits : {prediction : {valid : UInt<1>, bits : {taken : UInt<1>, mask : UInt<1>, bridx : UInt<1>, target : UInt<39>, entry : UInt<6>, bht : {history : UInt<7>, value : UInt<2>}}}, pc : UInt<39>, taken : UInt<1>, mispredict : UInt<1>}} - input ras_update : {valid : UInt<1>, bits : {isCall : UInt<1>, isReturn : UInt<1>, returnAddr : UInt<39>, prediction : {valid : UInt<1>, bits : {taken : UInt<1>, mask : UInt<1>, bridx : UInt<1>, target : UInt<39>, entry : UInt<6>, bht : {history : UInt<7>, value : UInt<2>}}}}} - input invalidate : UInt<1> - - reg idxValid : UInt<1>[62] - cmem idxs : UInt<12>[62] - cmem idxPages : UInt<3>[62] - cmem tgts : UInt<12>[62] - cmem tgtPages : UInt<3>[62] - cmem pages : UInt<27>[6] - reg pageValid : UInt<6> - onreset pageValid := UInt<6>(0) - accessor T_180670 = idxPages[UInt<1>(0)] - node T_180671 = dshl(UInt<1>(1), T_180670) - node T_180672 = bits(T_180671, 5, 0) - accessor T_180673 = idxPages[UInt<1>(1)] - node T_180674 = dshl(UInt<1>(1), T_180673) - node T_180675 = bits(T_180674, 5, 0) - accessor T_180676 = idxPages[UInt<2>(2)] - node T_180677 = dshl(UInt<1>(1), T_180676) - node T_180678 = bits(T_180677, 5, 0) - accessor T_180679 = idxPages[UInt<2>(3)] - node T_180680 = dshl(UInt<1>(1), T_180679) - node T_180681 = bits(T_180680, 5, 0) - accessor T_180682 = idxPages[UInt<3>(4)] - node T_180683 = dshl(UInt<1>(1), T_180682) - node T_180684 = bits(T_180683, 5, 0) - accessor T_180685 = idxPages[UInt<3>(5)] - node T_180686 = dshl(UInt<1>(1), T_180685) - node T_180687 = bits(T_180686, 5, 0) - accessor T_180688 = idxPages[UInt<3>(6)] - node T_180689 = dshl(UInt<1>(1), T_180688) - node T_180690 = bits(T_180689, 5, 0) - accessor T_180691 = idxPages[UInt<3>(7)] - node T_180692 = dshl(UInt<1>(1), T_180691) - node T_180693 = bits(T_180692, 5, 0) - accessor T_180694 = idxPages[UInt<4>(8)] - node T_180695 = dshl(UInt<1>(1), T_180694) - node T_180696 = bits(T_180695, 5, 0) - accessor T_180697 = idxPages[UInt<4>(9)] - node T_180698 = dshl(UInt<1>(1), T_180697) - node T_180699 = bits(T_180698, 5, 0) - accessor T_180700 = idxPages[UInt<4>(10)] - node T_180701 = dshl(UInt<1>(1), T_180700) - node T_180702 = bits(T_180701, 5, 0) - accessor T_180703 = idxPages[UInt<4>(11)] - node T_180704 = dshl(UInt<1>(1), T_180703) - node T_180705 = bits(T_180704, 5, 0) - accessor T_180706 = idxPages[UInt<4>(12)] - node T_180707 = dshl(UInt<1>(1), T_180706) - node T_180708 = bits(T_180707, 5, 0) - accessor T_180709 = idxPages[UInt<4>(13)] - node T_180710 = dshl(UInt<1>(1), T_180709) - node T_180711 = bits(T_180710, 5, 0) - accessor T_180712 = idxPages[UInt<4>(14)] - node T_180713 = dshl(UInt<1>(1), T_180712) - node T_180714 = bits(T_180713, 5, 0) - accessor T_180715 = idxPages[UInt<4>(15)] - node T_180716 = dshl(UInt<1>(1), T_180715) - node T_180717 = bits(T_180716, 5, 0) - accessor T_180718 = idxPages[UInt<5>(16)] - node T_180719 = dshl(UInt<1>(1), T_180718) - node T_180720 = bits(T_180719, 5, 0) - accessor T_180721 = idxPages[UInt<5>(17)] - node T_180722 = dshl(UInt<1>(1), T_180721) - node T_180723 = bits(T_180722, 5, 0) - accessor T_180724 = idxPages[UInt<5>(18)] - node T_180725 = dshl(UInt<1>(1), T_180724) - node T_180726 = bits(T_180725, 5, 0) - accessor T_180727 = idxPages[UInt<5>(19)] - node T_180728 = dshl(UInt<1>(1), T_180727) - node T_180729 = bits(T_180728, 5, 0) - accessor T_180730 = idxPages[UInt<5>(20)] - node T_180731 = dshl(UInt<1>(1), T_180730) - node T_180732 = bits(T_180731, 5, 0) - accessor T_180733 = idxPages[UInt<5>(21)] - node T_180734 = dshl(UInt<1>(1), T_180733) - node T_180735 = bits(T_180734, 5, 0) - accessor T_180736 = idxPages[UInt<5>(22)] - node T_180737 = dshl(UInt<1>(1), T_180736) - node T_180738 = bits(T_180737, 5, 0) - accessor T_180739 = idxPages[UInt<5>(23)] - node T_180740 = dshl(UInt<1>(1), T_180739) - node T_180741 = bits(T_180740, 5, 0) - accessor T_180742 = idxPages[UInt<5>(24)] - node T_180743 = dshl(UInt<1>(1), T_180742) - node T_180744 = bits(T_180743, 5, 0) - accessor T_180745 = idxPages[UInt<5>(25)] - node T_180746 = dshl(UInt<1>(1), T_180745) - node T_180747 = bits(T_180746, 5, 0) - accessor T_180748 = idxPages[UInt<5>(26)] - node T_180749 = dshl(UInt<1>(1), T_180748) - node T_180750 = bits(T_180749, 5, 0) - accessor T_180751 = idxPages[UInt<5>(27)] - node T_180752 = dshl(UInt<1>(1), T_180751) - node T_180753 = bits(T_180752, 5, 0) - accessor T_180754 = idxPages[UInt<5>(28)] - node T_180755 = dshl(UInt<1>(1), T_180754) - node T_180756 = bits(T_180755, 5, 0) - accessor T_180757 = idxPages[UInt<5>(29)] - node T_180758 = dshl(UInt<1>(1), T_180757) - node T_180759 = bits(T_180758, 5, 0) - accessor T_180760 = idxPages[UInt<5>(30)] - node T_180761 = dshl(UInt<1>(1), T_180760) - node T_180762 = bits(T_180761, 5, 0) - accessor T_180763 = idxPages[UInt<5>(31)] - node T_180764 = dshl(UInt<1>(1), T_180763) - node T_180765 = bits(T_180764, 5, 0) - accessor T_180766 = idxPages[UInt<6>(32)] - node T_180767 = dshl(UInt<1>(1), T_180766) - node T_180768 = bits(T_180767, 5, 0) - accessor T_180769 = idxPages[UInt<6>(33)] - node T_180770 = dshl(UInt<1>(1), T_180769) - node T_180771 = bits(T_180770, 5, 0) - accessor T_180772 = idxPages[UInt<6>(34)] - node T_180773 = dshl(UInt<1>(1), T_180772) - node T_180774 = bits(T_180773, 5, 0) - accessor T_180775 = idxPages[UInt<6>(35)] - node T_180776 = dshl(UInt<1>(1), T_180775) - node T_180777 = bits(T_180776, 5, 0) - accessor T_180778 = idxPages[UInt<6>(36)] - node T_180779 = dshl(UInt<1>(1), T_180778) - node T_180780 = bits(T_180779, 5, 0) - accessor T_180781 = idxPages[UInt<6>(37)] - node T_180782 = dshl(UInt<1>(1), T_180781) - node T_180783 = bits(T_180782, 5, 0) - accessor T_180784 = idxPages[UInt<6>(38)] - node T_180785 = dshl(UInt<1>(1), T_180784) - node T_180786 = bits(T_180785, 5, 0) - accessor T_180787 = idxPages[UInt<6>(39)] - node T_180788 = dshl(UInt<1>(1), T_180787) - node T_180789 = bits(T_180788, 5, 0) - accessor T_180790 = idxPages[UInt<6>(40)] - node T_180791 = dshl(UInt<1>(1), T_180790) - node T_180792 = bits(T_180791, 5, 0) - accessor T_180793 = idxPages[UInt<6>(41)] - node T_180794 = dshl(UInt<1>(1), T_180793) - node T_180795 = bits(T_180794, 5, 0) - accessor T_180796 = idxPages[UInt<6>(42)] - node T_180797 = dshl(UInt<1>(1), T_180796) - node T_180798 = bits(T_180797, 5, 0) - accessor T_180799 = idxPages[UInt<6>(43)] - node T_180800 = dshl(UInt<1>(1), T_180799) - node T_180801 = bits(T_180800, 5, 0) - accessor T_180802 = idxPages[UInt<6>(44)] - node T_180803 = dshl(UInt<1>(1), T_180802) - node T_180804 = bits(T_180803, 5, 0) - accessor T_180805 = idxPages[UInt<6>(45)] - node T_180806 = dshl(UInt<1>(1), T_180805) - node T_180807 = bits(T_180806, 5, 0) - accessor T_180808 = idxPages[UInt<6>(46)] - node T_180809 = dshl(UInt<1>(1), T_180808) - node T_180810 = bits(T_180809, 5, 0) - accessor T_180811 = idxPages[UInt<6>(47)] - node T_180812 = dshl(UInt<1>(1), T_180811) - node T_180813 = bits(T_180812, 5, 0) - accessor T_180814 = idxPages[UInt<6>(48)] - node T_180815 = dshl(UInt<1>(1), T_180814) - node T_180816 = bits(T_180815, 5, 0) - accessor T_180817 = idxPages[UInt<6>(49)] - node T_180818 = dshl(UInt<1>(1), T_180817) - node T_180819 = bits(T_180818, 5, 0) - accessor T_180820 = idxPages[UInt<6>(50)] - node T_180821 = dshl(UInt<1>(1), T_180820) - node T_180822 = bits(T_180821, 5, 0) - accessor T_180823 = idxPages[UInt<6>(51)] - node T_180824 = dshl(UInt<1>(1), T_180823) - node T_180825 = bits(T_180824, 5, 0) - accessor T_180826 = idxPages[UInt<6>(52)] - node T_180827 = dshl(UInt<1>(1), T_180826) - node T_180828 = bits(T_180827, 5, 0) - accessor T_180829 = idxPages[UInt<6>(53)] - node T_180830 = dshl(UInt<1>(1), T_180829) - node T_180831 = bits(T_180830, 5, 0) - accessor T_180832 = idxPages[UInt<6>(54)] - node T_180833 = dshl(UInt<1>(1), T_180832) - node T_180834 = bits(T_180833, 5, 0) - accessor T_180835 = idxPages[UInt<6>(55)] - node T_180836 = dshl(UInt<1>(1), T_180835) - node T_180837 = bits(T_180836, 5, 0) - accessor T_180838 = idxPages[UInt<6>(56)] - node T_180839 = dshl(UInt<1>(1), T_180838) - node T_180840 = bits(T_180839, 5, 0) - accessor T_180841 = idxPages[UInt<6>(57)] - node T_180842 = dshl(UInt<1>(1), T_180841) - node T_180843 = bits(T_180842, 5, 0) - accessor T_180844 = idxPages[UInt<6>(58)] - node T_180845 = dshl(UInt<1>(1), T_180844) - node T_180846 = bits(T_180845, 5, 0) - accessor T_180847 = idxPages[UInt<6>(59)] - node T_180848 = dshl(UInt<1>(1), T_180847) - node T_180849 = bits(T_180848, 5, 0) - accessor T_180850 = idxPages[UInt<6>(60)] - node T_180851 = dshl(UInt<1>(1), T_180850) - node T_180852 = bits(T_180851, 5, 0) - accessor T_180853 = idxPages[UInt<6>(61)] - node T_180854 = dshl(UInt<1>(1), T_180853) - node T_180855 = bits(T_180854, 5, 0) - accessor T_180856 = tgtPages[UInt<1>(0)] - node T_180857 = dshl(UInt<1>(1), T_180856) - node T_180858 = bits(T_180857, 5, 0) - accessor T_180859 = tgtPages[UInt<1>(1)] - node T_180860 = dshl(UInt<1>(1), T_180859) - node T_180861 = bits(T_180860, 5, 0) - accessor T_180862 = tgtPages[UInt<2>(2)] - node T_180863 = dshl(UInt<1>(1), T_180862) - node T_180864 = bits(T_180863, 5, 0) - accessor T_180865 = tgtPages[UInt<2>(3)] - node T_180866 = dshl(UInt<1>(1), T_180865) - node T_180867 = bits(T_180866, 5, 0) - accessor T_180868 = tgtPages[UInt<3>(4)] - node T_180869 = dshl(UInt<1>(1), T_180868) - node T_180870 = bits(T_180869, 5, 0) - accessor T_180871 = tgtPages[UInt<3>(5)] - node T_180872 = dshl(UInt<1>(1), T_180871) - node T_180873 = bits(T_180872, 5, 0) - accessor T_180874 = tgtPages[UInt<3>(6)] - node T_180875 = dshl(UInt<1>(1), T_180874) - node T_180876 = bits(T_180875, 5, 0) - accessor T_180877 = tgtPages[UInt<3>(7)] - node T_180878 = dshl(UInt<1>(1), T_180877) - node T_180879 = bits(T_180878, 5, 0) - accessor T_180880 = tgtPages[UInt<4>(8)] - node T_180881 = dshl(UInt<1>(1), T_180880) - node T_180882 = bits(T_180881, 5, 0) - accessor T_180883 = tgtPages[UInt<4>(9)] - node T_180884 = dshl(UInt<1>(1), T_180883) - node T_180885 = bits(T_180884, 5, 0) - accessor T_180886 = tgtPages[UInt<4>(10)] - node T_180887 = dshl(UInt<1>(1), T_180886) - node T_180888 = bits(T_180887, 5, 0) - accessor T_180889 = tgtPages[UInt<4>(11)] - node T_180890 = dshl(UInt<1>(1), T_180889) - node T_180891 = bits(T_180890, 5, 0) - accessor T_180892 = tgtPages[UInt<4>(12)] - node T_180893 = dshl(UInt<1>(1), T_180892) - node T_180894 = bits(T_180893, 5, 0) - accessor T_180895 = tgtPages[UInt<4>(13)] - node T_180896 = dshl(UInt<1>(1), T_180895) - node T_180897 = bits(T_180896, 5, 0) - accessor T_180898 = tgtPages[UInt<4>(14)] - node T_180899 = dshl(UInt<1>(1), T_180898) - node T_180900 = bits(T_180899, 5, 0) - accessor T_180901 = tgtPages[UInt<4>(15)] - node T_180902 = dshl(UInt<1>(1), T_180901) - node T_180903 = bits(T_180902, 5, 0) - accessor T_180904 = tgtPages[UInt<5>(16)] - node T_180905 = dshl(UInt<1>(1), T_180904) - node T_180906 = bits(T_180905, 5, 0) - accessor T_180907 = tgtPages[UInt<5>(17)] - node T_180908 = dshl(UInt<1>(1), T_180907) - node T_180909 = bits(T_180908, 5, 0) - accessor T_180910 = tgtPages[UInt<5>(18)] - node T_180911 = dshl(UInt<1>(1), T_180910) - node T_180912 = bits(T_180911, 5, 0) - accessor T_180913 = tgtPages[UInt<5>(19)] - node T_180914 = dshl(UInt<1>(1), T_180913) - node T_180915 = bits(T_180914, 5, 0) - accessor T_180916 = tgtPages[UInt<5>(20)] - node T_180917 = dshl(UInt<1>(1), T_180916) - node T_180918 = bits(T_180917, 5, 0) - accessor T_180919 = tgtPages[UInt<5>(21)] - node T_180920 = dshl(UInt<1>(1), T_180919) - node T_180921 = bits(T_180920, 5, 0) - accessor T_180922 = tgtPages[UInt<5>(22)] - node T_180923 = dshl(UInt<1>(1), T_180922) - node T_180924 = bits(T_180923, 5, 0) - accessor T_180925 = tgtPages[UInt<5>(23)] - node T_180926 = dshl(UInt<1>(1), T_180925) - node T_180927 = bits(T_180926, 5, 0) - accessor T_180928 = tgtPages[UInt<5>(24)] - node T_180929 = dshl(UInt<1>(1), T_180928) - node T_180930 = bits(T_180929, 5, 0) - accessor T_180931 = tgtPages[UInt<5>(25)] - node T_180932 = dshl(UInt<1>(1), T_180931) - node T_180933 = bits(T_180932, 5, 0) - accessor T_180934 = tgtPages[UInt<5>(26)] - node T_180935 = dshl(UInt<1>(1), T_180934) - node T_180936 = bits(T_180935, 5, 0) - accessor T_180937 = tgtPages[UInt<5>(27)] - node T_180938 = dshl(UInt<1>(1), T_180937) - node T_180939 = bits(T_180938, 5, 0) - accessor T_180940 = tgtPages[UInt<5>(28)] - node T_180941 = dshl(UInt<1>(1), T_180940) - node T_180942 = bits(T_180941, 5, 0) - accessor T_180943 = tgtPages[UInt<5>(29)] - node T_180944 = dshl(UInt<1>(1), T_180943) - node T_180945 = bits(T_180944, 5, 0) - accessor T_180946 = tgtPages[UInt<5>(30)] - node T_180947 = dshl(UInt<1>(1), T_180946) - node T_180948 = bits(T_180947, 5, 0) - accessor T_180949 = tgtPages[UInt<5>(31)] - node T_180950 = dshl(UInt<1>(1), T_180949) - node T_180951 = bits(T_180950, 5, 0) - accessor T_180952 = tgtPages[UInt<6>(32)] - node T_180953 = dshl(UInt<1>(1), T_180952) - node T_180954 = bits(T_180953, 5, 0) - accessor T_180955 = tgtPages[UInt<6>(33)] - node T_180956 = dshl(UInt<1>(1), T_180955) - node T_180957 = bits(T_180956, 5, 0) - accessor T_180958 = tgtPages[UInt<6>(34)] - node T_180959 = dshl(UInt<1>(1), T_180958) - node T_180960 = bits(T_180959, 5, 0) - accessor T_180961 = tgtPages[UInt<6>(35)] - node T_180962 = dshl(UInt<1>(1), T_180961) - node T_180963 = bits(T_180962, 5, 0) - accessor T_180964 = tgtPages[UInt<6>(36)] - node T_180965 = dshl(UInt<1>(1), T_180964) - node T_180966 = bits(T_180965, 5, 0) - accessor T_180967 = tgtPages[UInt<6>(37)] - node T_180968 = dshl(UInt<1>(1), T_180967) - node T_180969 = bits(T_180968, 5, 0) - accessor T_180970 = tgtPages[UInt<6>(38)] - node T_180971 = dshl(UInt<1>(1), T_180970) - node T_180972 = bits(T_180971, 5, 0) - accessor T_180973 = tgtPages[UInt<6>(39)] - node T_180974 = dshl(UInt<1>(1), T_180973) - node T_180975 = bits(T_180974, 5, 0) - accessor T_180976 = tgtPages[UInt<6>(40)] - node T_180977 = dshl(UInt<1>(1), T_180976) - node T_180978 = bits(T_180977, 5, 0) - accessor T_180979 = tgtPages[UInt<6>(41)] - node T_180980 = dshl(UInt<1>(1), T_180979) - node T_180981 = bits(T_180980, 5, 0) - accessor T_180982 = tgtPages[UInt<6>(42)] - node T_180983 = dshl(UInt<1>(1), T_180982) - node T_180984 = bits(T_180983, 5, 0) - accessor T_180985 = tgtPages[UInt<6>(43)] - node T_180986 = dshl(UInt<1>(1), T_180985) - node T_180987 = bits(T_180986, 5, 0) - accessor T_180988 = tgtPages[UInt<6>(44)] - node T_180989 = dshl(UInt<1>(1), T_180988) - node T_180990 = bits(T_180989, 5, 0) - accessor T_180991 = tgtPages[UInt<6>(45)] - node T_180992 = dshl(UInt<1>(1), T_180991) - node T_180993 = bits(T_180992, 5, 0) - accessor T_180994 = tgtPages[UInt<6>(46)] - node T_180995 = dshl(UInt<1>(1), T_180994) - node T_180996 = bits(T_180995, 5, 0) - accessor T_180997 = tgtPages[UInt<6>(47)] - node T_180998 = dshl(UInt<1>(1), T_180997) - node T_180999 = bits(T_180998, 5, 0) - accessor T_181000 = tgtPages[UInt<6>(48)] - node T_181001 = dshl(UInt<1>(1), T_181000) - node T_181002 = bits(T_181001, 5, 0) - accessor T_181003 = tgtPages[UInt<6>(49)] - node T_181004 = dshl(UInt<1>(1), T_181003) - node T_181005 = bits(T_181004, 5, 0) - accessor T_181006 = tgtPages[UInt<6>(50)] - node T_181007 = dshl(UInt<1>(1), T_181006) - node T_181008 = bits(T_181007, 5, 0) - accessor T_181009 = tgtPages[UInt<6>(51)] - node T_181010 = dshl(UInt<1>(1), T_181009) - node T_181011 = bits(T_181010, 5, 0) - accessor T_181012 = tgtPages[UInt<6>(52)] - node T_181013 = dshl(UInt<1>(1), T_181012) - node T_181014 = bits(T_181013, 5, 0) - accessor T_181015 = tgtPages[UInt<6>(53)] - node T_181016 = dshl(UInt<1>(1), T_181015) - node T_181017 = bits(T_181016, 5, 0) - accessor T_181018 = tgtPages[UInt<6>(54)] - node T_181019 = dshl(UInt<1>(1), T_181018) - node T_181020 = bits(T_181019, 5, 0) - accessor T_181021 = tgtPages[UInt<6>(55)] - node T_181022 = dshl(UInt<1>(1), T_181021) - node T_181023 = bits(T_181022, 5, 0) - accessor T_181024 = tgtPages[UInt<6>(56)] - node T_181025 = dshl(UInt<1>(1), T_181024) - node T_181026 = bits(T_181025, 5, 0) - accessor T_181027 = tgtPages[UInt<6>(57)] - node T_181028 = dshl(UInt<1>(1), T_181027) - node T_181029 = bits(T_181028, 5, 0) - accessor T_181030 = tgtPages[UInt<6>(58)] - node T_181031 = dshl(UInt<1>(1), T_181030) - node T_181032 = bits(T_181031, 5, 0) - accessor T_181033 = tgtPages[UInt<6>(59)] - node T_181034 = dshl(UInt<1>(1), T_181033) - node T_181035 = bits(T_181034, 5, 0) - accessor T_181036 = tgtPages[UInt<6>(60)] - node T_181037 = dshl(UInt<1>(1), T_181036) - node T_181038 = bits(T_181037, 5, 0) - accessor T_181039 = tgtPages[UInt<6>(61)] - node T_181040 = dshl(UInt<1>(1), T_181039) - node T_181041 = bits(T_181040, 5, 0) - reg useRAS : UInt<1>[62] - reg isJump : UInt<1>[62] - cmem brIdx : UInt<1>[62] - reg T_181042 : UInt<1> - onreset T_181042 := UInt<1>(0) - T_181042 := btb_update.valid - reg T_181043 : {prediction : {valid : UInt<1>, bits : {taken : UInt<1>, mask : UInt<1>, bridx : UInt<1>, target : UInt<39>, entry : UInt<6>, bht : {history : UInt<7>, value : UInt<2>}}}, pc : UInt<39>, target : UInt<39>, taken : UInt<1>, isJump : UInt<1>, isReturn : UInt<1>, br_pc : UInt<39>} - when btb_update.valid : T_181043 := btb_update.bits - r_btb_update.valid <> T_181042 - r_btb_update.bits <> T_181043 - node T_181044 = shr(req.bits.addr, 12) - accessor T_181045 = pages[UInt<1>(0)] - node T_181046 = eq(T_181045, T_181044) - accessor T_181047 = pages[UInt<1>(1)] - node T_181048 = eq(T_181047, T_181044) - accessor T_181049 = pages[UInt<2>(2)] - node T_181050 = eq(T_181049, T_181044) - accessor T_181051 = pages[UInt<2>(3)] - node T_181052 = eq(T_181051, T_181044) - accessor T_181053 = pages[UInt<3>(4)] - node T_181054 = eq(T_181053, T_181044) - accessor T_181055 = pages[UInt<3>(5)] - node T_181056 = eq(T_181055, T_181044) - wire T_181057 : UInt<1>[6] - T_181057[0] := T_181046 - T_181057[1] := T_181048 - T_181057[2] := T_181050 - T_181057[3] := T_181052 - T_181057[4] := T_181054 - T_181057[5] := T_181056 - node T_181058 = cat(T_181057[4], T_181057[3]) - node T_181059 = cat(T_181057[5], T_181058) - node T_181060 = cat(T_181057[1], T_181057[0]) - node T_181061 = cat(T_181057[2], T_181060) - node T_181062 = cat(T_181059, T_181061) - node pageHit = and(T_181062, pageValid) - node T_181063 = bits(req.bits.addr, 11, 0) - accessor T_181064 = idxs[UInt<1>(0)] - node T_181065 = eq(T_181064, T_181063) - accessor T_181066 = idxs[UInt<1>(1)] - node T_181067 = eq(T_181066, T_181063) - accessor T_181068 = idxs[UInt<2>(2)] - node T_181069 = eq(T_181068, T_181063) - accessor T_181070 = idxs[UInt<2>(3)] - node T_181071 = eq(T_181070, T_181063) - accessor T_181072 = idxs[UInt<3>(4)] - node T_181073 = eq(T_181072, T_181063) - accessor T_181074 = idxs[UInt<3>(5)] - node T_181075 = eq(T_181074, T_181063) - accessor T_181076 = idxs[UInt<3>(6)] - node T_181077 = eq(T_181076, T_181063) - accessor T_181078 = idxs[UInt<3>(7)] - node T_181079 = eq(T_181078, T_181063) - accessor T_181080 = idxs[UInt<4>(8)] - node T_181081 = eq(T_181080, T_181063) - accessor T_181082 = idxs[UInt<4>(9)] - node T_181083 = eq(T_181082, T_181063) - accessor T_181084 = idxs[UInt<4>(10)] - node T_181085 = eq(T_181084, T_181063) - accessor T_181086 = idxs[UInt<4>(11)] - node T_181087 = eq(T_181086, T_181063) - accessor T_181088 = idxs[UInt<4>(12)] - node T_181089 = eq(T_181088, T_181063) - accessor T_181090 = idxs[UInt<4>(13)] - node T_181091 = eq(T_181090, T_181063) - accessor T_181092 = idxs[UInt<4>(14)] - node T_181093 = eq(T_181092, T_181063) - accessor T_181094 = idxs[UInt<4>(15)] - node T_181095 = eq(T_181094, T_181063) - accessor T_181096 = idxs[UInt<5>(16)] - node T_181097 = eq(T_181096, T_181063) - accessor T_181098 = idxs[UInt<5>(17)] - node T_181099 = eq(T_181098, T_181063) - accessor T_181100 = idxs[UInt<5>(18)] - node T_181101 = eq(T_181100, T_181063) - accessor T_181102 = idxs[UInt<5>(19)] - node T_181103 = eq(T_181102, T_181063) - accessor T_181104 = idxs[UInt<5>(20)] - node T_181105 = eq(T_181104, T_181063) - accessor T_181106 = idxs[UInt<5>(21)] - node T_181107 = eq(T_181106, T_181063) - accessor T_181108 = idxs[UInt<5>(22)] - node T_181109 = eq(T_181108, T_181063) - accessor T_181110 = idxs[UInt<5>(23)] - node T_181111 = eq(T_181110, T_181063) - accessor T_181112 = idxs[UInt<5>(24)] - node T_181113 = eq(T_181112, T_181063) - accessor T_181114 = idxs[UInt<5>(25)] - node T_181115 = eq(T_181114, T_181063) - accessor T_181116 = idxs[UInt<5>(26)] - node T_181117 = eq(T_181116, T_181063) - accessor T_181118 = idxs[UInt<5>(27)] - node T_181119 = eq(T_181118, T_181063) - accessor T_181120 = idxs[UInt<5>(28)] - node T_181121 = eq(T_181120, T_181063) - accessor T_181122 = idxs[UInt<5>(29)] - node T_181123 = eq(T_181122, T_181063) - accessor T_181124 = idxs[UInt<5>(30)] - node T_181125 = eq(T_181124, T_181063) - accessor T_181126 = idxs[UInt<5>(31)] - node T_181127 = eq(T_181126, T_181063) - accessor T_181128 = idxs[UInt<6>(32)] - node T_181129 = eq(T_181128, T_181063) - accessor T_181130 = idxs[UInt<6>(33)] - node T_181131 = eq(T_181130, T_181063) - accessor T_181132 = idxs[UInt<6>(34)] - node T_181133 = eq(T_181132, T_181063) - accessor T_181134 = idxs[UInt<6>(35)] - node T_181135 = eq(T_181134, T_181063) - accessor T_181136 = idxs[UInt<6>(36)] - node T_181137 = eq(T_181136, T_181063) - accessor T_181138 = idxs[UInt<6>(37)] - node T_181139 = eq(T_181138, T_181063) - accessor T_181140 = idxs[UInt<6>(38)] - node T_181141 = eq(T_181140, T_181063) - accessor T_181142 = idxs[UInt<6>(39)] - node T_181143 = eq(T_181142, T_181063) - accessor T_181144 = idxs[UInt<6>(40)] - node T_181145 = eq(T_181144, T_181063) - accessor T_181146 = idxs[UInt<6>(41)] - node T_181147 = eq(T_181146, T_181063) - accessor T_181148 = idxs[UInt<6>(42)] - node T_181149 = eq(T_181148, T_181063) - accessor T_181150 = idxs[UInt<6>(43)] - node T_181151 = eq(T_181150, T_181063) - accessor T_181152 = idxs[UInt<6>(44)] - node T_181153 = eq(T_181152, T_181063) - accessor T_181154 = idxs[UInt<6>(45)] - node T_181155 = eq(T_181154, T_181063) - accessor T_181156 = idxs[UInt<6>(46)] - node T_181157 = eq(T_181156, T_181063) - accessor T_181158 = idxs[UInt<6>(47)] - node T_181159 = eq(T_181158, T_181063) - accessor T_181160 = idxs[UInt<6>(48)] - node T_181161 = eq(T_181160, T_181063) - accessor T_181162 = idxs[UInt<6>(49)] - node T_181163 = eq(T_181162, T_181063) - accessor T_181164 = idxs[UInt<6>(50)] - node T_181165 = eq(T_181164, T_181063) - accessor T_181166 = idxs[UInt<6>(51)] - node T_181167 = eq(T_181166, T_181063) - accessor T_181168 = idxs[UInt<6>(52)] - node T_181169 = eq(T_181168, T_181063) - accessor T_181170 = idxs[UInt<6>(53)] - node T_181171 = eq(T_181170, T_181063) - accessor T_181172 = idxs[UInt<6>(54)] - node T_181173 = eq(T_181172, T_181063) - accessor T_181174 = idxs[UInt<6>(55)] - node T_181175 = eq(T_181174, T_181063) - accessor T_181176 = idxs[UInt<6>(56)] - node T_181177 = eq(T_181176, T_181063) - accessor T_181178 = idxs[UInt<6>(57)] - node T_181179 = eq(T_181178, T_181063) - accessor T_181180 = idxs[UInt<6>(58)] - node T_181181 = eq(T_181180, T_181063) - accessor T_181182 = idxs[UInt<6>(59)] - node T_181183 = eq(T_181182, T_181063) - accessor T_181184 = idxs[UInt<6>(60)] - node T_181185 = eq(T_181184, T_181063) - accessor T_181186 = idxs[UInt<6>(61)] - node T_181187 = eq(T_181186, T_181063) - wire T_181188 : UInt<1>[62] - T_181188[0] := T_181065 - T_181188[1] := T_181067 - T_181188[2] := T_181069 - T_181188[3] := T_181071 - T_181188[4] := T_181073 - T_181188[5] := T_181075 - T_181188[6] := T_181077 - T_181188[7] := T_181079 - T_181188[8] := T_181081 - T_181188[9] := T_181083 - T_181188[10] := T_181085 - T_181188[11] := T_181087 - T_181188[12] := T_181089 - T_181188[13] := T_181091 - T_181188[14] := T_181093 - T_181188[15] := T_181095 - T_181188[16] := T_181097 - T_181188[17] := T_181099 - T_181188[18] := T_181101 - T_181188[19] := T_181103 - T_181188[20] := T_181105 - T_181188[21] := T_181107 - T_181188[22] := T_181109 - T_181188[23] := T_181111 - T_181188[24] := T_181113 - T_181188[25] := T_181115 - T_181188[26] := T_181117 - T_181188[27] := T_181119 - T_181188[28] := T_181121 - T_181188[29] := T_181123 - T_181188[30] := T_181125 - T_181188[31] := T_181127 - T_181188[32] := T_181129 - T_181188[33] := T_181131 - T_181188[34] := T_181133 - T_181188[35] := T_181135 - T_181188[36] := T_181137 - T_181188[37] := T_181139 - T_181188[38] := T_181141 - T_181188[39] := T_181143 - T_181188[40] := T_181145 - T_181188[41] := T_181147 - T_181188[42] := T_181149 - T_181188[43] := T_181151 - T_181188[44] := T_181153 - T_181188[45] := T_181155 - T_181188[46] := T_181157 - T_181188[47] := T_181159 - T_181188[48] := T_181161 - T_181188[49] := T_181163 - T_181188[50] := T_181165 - T_181188[51] := T_181167 - T_181188[52] := T_181169 - T_181188[53] := T_181171 - T_181188[54] := T_181173 - T_181188[55] := T_181175 - T_181188[56] := T_181177 - T_181188[57] := T_181179 - T_181188[58] := T_181181 - T_181188[59] := T_181183 - T_181188[60] := T_181185 - T_181188[61] := T_181187 - node T_181189 = cat(T_181188[60], T_181188[59]) - node T_181190 = cat(T_181188[61], T_181189) - node T_181191 = cat(T_181188[58], T_181188[57]) - node T_181192 = cat(T_181188[56], T_181188[55]) - node T_181193 = cat(T_181191, T_181192) - node T_181194 = cat(T_181190, T_181193) - node T_181195 = cat(T_181188[54], T_181188[53]) - node T_181196 = cat(T_181188[52], T_181188[51]) - node T_181197 = cat(T_181195, T_181196) - node T_181198 = cat(T_181188[50], T_181188[49]) - node T_181199 = cat(T_181188[48], T_181188[47]) - node T_181200 = cat(T_181198, T_181199) - node T_181201 = cat(T_181197, T_181200) - node T_181202 = cat(T_181194, T_181201) - node T_181203 = cat(T_181188[46], T_181188[45]) - node T_181204 = cat(T_181188[44], T_181188[43]) - node T_181205 = cat(T_181203, T_181204) - node T_181206 = cat(T_181188[42], T_181188[41]) - node T_181207 = cat(T_181188[40], T_181188[39]) - node T_181208 = cat(T_181206, T_181207) - node T_181209 = cat(T_181205, T_181208) - node T_181210 = cat(T_181188[38], T_181188[37]) - node T_181211 = cat(T_181188[36], T_181188[35]) - node T_181212 = cat(T_181210, T_181211) - node T_181213 = cat(T_181188[34], T_181188[33]) - node T_181214 = cat(T_181188[32], T_181188[31]) - node T_181215 = cat(T_181213, T_181214) - node T_181216 = cat(T_181212, T_181215) - node T_181217 = cat(T_181209, T_181216) - node T_181218 = cat(T_181202, T_181217) - node T_181219 = cat(T_181188[29], T_181188[28]) - node T_181220 = cat(T_181188[30], T_181219) - node T_181221 = cat(T_181188[27], T_181188[26]) - node T_181222 = cat(T_181188[25], T_181188[24]) - node T_181223 = cat(T_181221, T_181222) - node T_181224 = cat(T_181220, T_181223) - node T_181225 = cat(T_181188[23], T_181188[22]) - node T_181226 = cat(T_181188[21], T_181188[20]) - node T_181227 = cat(T_181225, T_181226) - node T_181228 = cat(T_181188[19], T_181188[18]) - node T_181229 = cat(T_181188[17], T_181188[16]) - node T_181230 = cat(T_181228, T_181229) - node T_181231 = cat(T_181227, T_181230) - node T_181232 = cat(T_181224, T_181231) - node T_181233 = cat(T_181188[15], T_181188[14]) - node T_181234 = cat(T_181188[13], T_181188[12]) - node T_181235 = cat(T_181233, T_181234) - node T_181236 = cat(T_181188[11], T_181188[10]) - node T_181237 = cat(T_181188[9], T_181188[8]) - node T_181238 = cat(T_181236, T_181237) - node T_181239 = cat(T_181235, T_181238) - node T_181240 = cat(T_181188[7], T_181188[6]) - node T_181241 = cat(T_181188[5], T_181188[4]) - node T_181242 = cat(T_181240, T_181241) - node T_181243 = cat(T_181188[3], T_181188[2]) - node T_181244 = cat(T_181188[1], T_181188[0]) - node T_181245 = cat(T_181243, T_181244) - node T_181246 = cat(T_181242, T_181245) - node T_181247 = cat(T_181239, T_181246) - node T_181248 = cat(T_181232, T_181247) - node T_181249 = cat(T_181218, T_181248) - node T_181250 = and(T_180672, pageHit) - node T_181251 = and(T_180675, pageHit) - node T_181252 = and(T_180678, pageHit) - node T_181253 = and(T_180681, pageHit) - node T_181254 = and(T_180684, pageHit) - node T_181255 = and(T_180687, pageHit) - node T_181256 = and(T_180690, pageHit) - node T_181257 = and(T_180693, pageHit) - node T_181258 = and(T_180696, pageHit) - node T_181259 = and(T_180699, pageHit) - node T_181260 = and(T_180702, pageHit) - node T_181261 = and(T_180705, pageHit) - node T_181262 = and(T_180708, pageHit) - node T_181263 = and(T_180711, pageHit) - node T_181264 = and(T_180714, pageHit) - node T_181265 = and(T_180717, pageHit) - node T_181266 = and(T_180720, pageHit) - node T_181267 = and(T_180723, pageHit) - node T_181268 = and(T_180726, pageHit) - node T_181269 = and(T_180729, pageHit) - node T_181270 = and(T_180732, pageHit) - node T_181271 = and(T_180735, pageHit) - node T_181272 = and(T_180738, pageHit) - node T_181273 = and(T_180741, pageHit) - node T_181274 = and(T_180744, pageHit) - node T_181275 = and(T_180747, pageHit) - node T_181276 = and(T_180750, pageHit) - node T_181277 = and(T_180753, pageHit) - node T_181278 = and(T_180756, pageHit) - node T_181279 = and(T_180759, pageHit) - node T_181280 = and(T_180762, pageHit) - node T_181281 = and(T_180765, pageHit) - node T_181282 = and(T_180768, pageHit) - node T_181283 = and(T_180771, pageHit) - node T_181284 = and(T_180774, pageHit) - node T_181285 = and(T_180777, pageHit) - node T_181286 = and(T_180780, pageHit) - node T_181287 = and(T_180783, pageHit) - node T_181288 = and(T_180786, pageHit) - node T_181289 = and(T_180789, pageHit) - node T_181290 = and(T_180792, pageHit) - node T_181291 = and(T_180795, pageHit) - node T_181292 = and(T_180798, pageHit) - node T_181293 = and(T_180801, pageHit) - node T_181294 = and(T_180804, pageHit) - node T_181295 = and(T_180807, pageHit) - node T_181296 = and(T_180810, pageHit) - node T_181297 = and(T_180813, pageHit) - node T_181298 = and(T_180816, pageHit) - node T_181299 = and(T_180819, pageHit) - node T_181300 = and(T_180822, pageHit) - node T_181301 = and(T_180825, pageHit) - node T_181302 = and(T_180828, pageHit) - node T_181303 = and(T_180831, pageHit) - node T_181304 = and(T_180834, pageHit) - node T_181305 = and(T_180837, pageHit) - node T_181306 = and(T_180840, pageHit) - node T_181307 = and(T_180843, pageHit) - node T_181308 = and(T_180846, pageHit) - node T_181309 = and(T_180849, pageHit) - node T_181310 = and(T_180852, pageHit) - node T_181311 = and(T_180855, pageHit) - node T_181312 = eq(T_181250, UInt<1>(0)) - node T_181313 = eq(T_181312, UInt<1>(0)) - node T_181314 = eq(T_181251, UInt<1>(0)) - node T_181315 = eq(T_181314, UInt<1>(0)) - node T_181316 = eq(T_181252, UInt<1>(0)) - node T_181317 = eq(T_181316, UInt<1>(0)) - node T_181318 = eq(T_181253, UInt<1>(0)) - node T_181319 = eq(T_181318, UInt<1>(0)) - node T_181320 = eq(T_181254, UInt<1>(0)) - node T_181321 = eq(T_181320, UInt<1>(0)) - node T_181322 = eq(T_181255, UInt<1>(0)) - node T_181323 = eq(T_181322, UInt<1>(0)) - node T_181324 = eq(T_181256, UInt<1>(0)) - node T_181325 = eq(T_181324, UInt<1>(0)) - node T_181326 = eq(T_181257, UInt<1>(0)) - node T_181327 = eq(T_181326, UInt<1>(0)) - node T_181328 = eq(T_181258, UInt<1>(0)) - node T_181329 = eq(T_181328, UInt<1>(0)) - node T_181330 = eq(T_181259, UInt<1>(0)) - node T_181331 = eq(T_181330, UInt<1>(0)) - node T_181332 = eq(T_181260, UInt<1>(0)) - node T_181333 = eq(T_181332, UInt<1>(0)) - node T_181334 = eq(T_181261, UInt<1>(0)) - node T_181335 = eq(T_181334, UInt<1>(0)) - node T_181336 = eq(T_181262, UInt<1>(0)) - node T_181337 = eq(T_181336, UInt<1>(0)) - node T_181338 = eq(T_181263, UInt<1>(0)) - node T_181339 = eq(T_181338, UInt<1>(0)) - node T_181340 = eq(T_181264, UInt<1>(0)) - node T_181341 = eq(T_181340, UInt<1>(0)) - node T_181342 = eq(T_181265, UInt<1>(0)) - node T_181343 = eq(T_181342, UInt<1>(0)) - node T_181344 = eq(T_181266, UInt<1>(0)) - node T_181345 = eq(T_181344, UInt<1>(0)) - node T_181346 = eq(T_181267, UInt<1>(0)) - node T_181347 = eq(T_181346, UInt<1>(0)) - node T_181348 = eq(T_181268, UInt<1>(0)) - node T_181349 = eq(T_181348, UInt<1>(0)) - node T_181350 = eq(T_181269, UInt<1>(0)) - node T_181351 = eq(T_181350, UInt<1>(0)) - node T_181352 = eq(T_181270, UInt<1>(0)) - node T_181353 = eq(T_181352, UInt<1>(0)) - node T_181354 = eq(T_181271, UInt<1>(0)) - node T_181355 = eq(T_181354, UInt<1>(0)) - node T_181356 = eq(T_181272, UInt<1>(0)) - node T_181357 = eq(T_181356, UInt<1>(0)) - node T_181358 = eq(T_181273, UInt<1>(0)) - node T_181359 = eq(T_181358, UInt<1>(0)) - node T_181360 = eq(T_181274, UInt<1>(0)) - node T_181361 = eq(T_181360, UInt<1>(0)) - node T_181362 = eq(T_181275, UInt<1>(0)) - node T_181363 = eq(T_181362, UInt<1>(0)) - node T_181364 = eq(T_181276, UInt<1>(0)) - node T_181365 = eq(T_181364, UInt<1>(0)) - node T_181366 = eq(T_181277, UInt<1>(0)) - node T_181367 = eq(T_181366, UInt<1>(0)) - node T_181368 = eq(T_181278, UInt<1>(0)) - node T_181369 = eq(T_181368, UInt<1>(0)) - node T_181370 = eq(T_181279, UInt<1>(0)) - node T_181371 = eq(T_181370, UInt<1>(0)) - node T_181372 = eq(T_181280, UInt<1>(0)) - node T_181373 = eq(T_181372, UInt<1>(0)) - node T_181374 = eq(T_181281, UInt<1>(0)) - node T_181375 = eq(T_181374, UInt<1>(0)) - node T_181376 = eq(T_181282, UInt<1>(0)) - node T_181377 = eq(T_181376, UInt<1>(0)) - node T_181378 = eq(T_181283, UInt<1>(0)) - node T_181379 = eq(T_181378, UInt<1>(0)) - node T_181380 = eq(T_181284, UInt<1>(0)) - node T_181381 = eq(T_181380, UInt<1>(0)) - node T_181382 = eq(T_181285, UInt<1>(0)) - node T_181383 = eq(T_181382, UInt<1>(0)) - node T_181384 = eq(T_181286, UInt<1>(0)) - node T_181385 = eq(T_181384, UInt<1>(0)) - node T_181386 = eq(T_181287, UInt<1>(0)) - node T_181387 = eq(T_181386, UInt<1>(0)) - node T_181388 = eq(T_181288, UInt<1>(0)) - node T_181389 = eq(T_181388, UInt<1>(0)) - node T_181390 = eq(T_181289, UInt<1>(0)) - node T_181391 = eq(T_181390, UInt<1>(0)) - node T_181392 = eq(T_181290, UInt<1>(0)) - node T_181393 = eq(T_181392, UInt<1>(0)) - node T_181394 = eq(T_181291, UInt<1>(0)) - node T_181395 = eq(T_181394, UInt<1>(0)) - node T_181396 = eq(T_181292, UInt<1>(0)) - node T_181397 = eq(T_181396, UInt<1>(0)) - node T_181398 = eq(T_181293, UInt<1>(0)) - node T_181399 = eq(T_181398, UInt<1>(0)) - node T_181400 = eq(T_181294, UInt<1>(0)) - node T_181401 = eq(T_181400, UInt<1>(0)) - node T_181402 = eq(T_181295, UInt<1>(0)) - node T_181403 = eq(T_181402, UInt<1>(0)) - node T_181404 = eq(T_181296, UInt<1>(0)) - node T_181405 = eq(T_181404, UInt<1>(0)) - node T_181406 = eq(T_181297, UInt<1>(0)) - node T_181407 = eq(T_181406, UInt<1>(0)) - node T_181408 = eq(T_181298, UInt<1>(0)) - node T_181409 = eq(T_181408, UInt<1>(0)) - node T_181410 = eq(T_181299, UInt<1>(0)) - node T_181411 = eq(T_181410, UInt<1>(0)) - node T_181412 = eq(T_181300, UInt<1>(0)) - node T_181413 = eq(T_181412, UInt<1>(0)) - node T_181414 = eq(T_181301, UInt<1>(0)) - node T_181415 = eq(T_181414, UInt<1>(0)) - node T_181416 = eq(T_181302, UInt<1>(0)) - node T_181417 = eq(T_181416, UInt<1>(0)) - node T_181418 = eq(T_181303, UInt<1>(0)) - node T_181419 = eq(T_181418, UInt<1>(0)) - node T_181420 = eq(T_181304, UInt<1>(0)) - node T_181421 = eq(T_181420, UInt<1>(0)) - node T_181422 = eq(T_181305, UInt<1>(0)) - node T_181423 = eq(T_181422, UInt<1>(0)) - node T_181424 = eq(T_181306, UInt<1>(0)) - node T_181425 = eq(T_181424, UInt<1>(0)) - node T_181426 = eq(T_181307, UInt<1>(0)) - node T_181427 = eq(T_181426, UInt<1>(0)) - node T_181428 = eq(T_181308, UInt<1>(0)) - node T_181429 = eq(T_181428, UInt<1>(0)) - node T_181430 = eq(T_181309, UInt<1>(0)) - node T_181431 = eq(T_181430, UInt<1>(0)) - node T_181432 = eq(T_181310, UInt<1>(0)) - node T_181433 = eq(T_181432, UInt<1>(0)) - node T_181434 = eq(T_181311, UInt<1>(0)) - node T_181435 = eq(T_181434, UInt<1>(0)) - wire T_181436 : UInt<1>[62] - T_181436[0] := T_181313 - T_181436[1] := T_181315 - T_181436[2] := T_181317 - T_181436[3] := T_181319 - T_181436[4] := T_181321 - T_181436[5] := T_181323 - T_181436[6] := T_181325 - T_181436[7] := T_181327 - T_181436[8] := T_181329 - T_181436[9] := T_181331 - T_181436[10] := T_181333 - T_181436[11] := T_181335 - T_181436[12] := T_181337 - T_181436[13] := T_181339 - T_181436[14] := T_181341 - T_181436[15] := T_181343 - T_181436[16] := T_181345 - T_181436[17] := T_181347 - T_181436[18] := T_181349 - T_181436[19] := T_181351 - T_181436[20] := T_181353 - T_181436[21] := T_181355 - T_181436[22] := T_181357 - T_181436[23] := T_181359 - T_181436[24] := T_181361 - T_181436[25] := T_181363 - T_181436[26] := T_181365 - T_181436[27] := T_181367 - T_181436[28] := T_181369 - T_181436[29] := T_181371 - T_181436[30] := T_181373 - T_181436[31] := T_181375 - T_181436[32] := T_181377 - T_181436[33] := T_181379 - T_181436[34] := T_181381 - T_181436[35] := T_181383 - T_181436[36] := T_181385 - T_181436[37] := T_181387 - T_181436[38] := T_181389 - T_181436[39] := T_181391 - T_181436[40] := T_181393 - T_181436[41] := T_181395 - T_181436[42] := T_181397 - T_181436[43] := T_181399 - T_181436[44] := T_181401 - T_181436[45] := T_181403 - T_181436[46] := T_181405 - T_181436[47] := T_181407 - T_181436[48] := T_181409 - T_181436[49] := T_181411 - T_181436[50] := T_181413 - T_181436[51] := T_181415 - T_181436[52] := T_181417 - T_181436[53] := T_181419 - T_181436[54] := T_181421 - T_181436[55] := T_181423 - T_181436[56] := T_181425 - T_181436[57] := T_181427 - T_181436[58] := T_181429 - T_181436[59] := T_181431 - T_181436[60] := T_181433 - T_181436[61] := T_181435 - node T_181437 = cat(T_181436[60], T_181436[59]) - node T_181438 = cat(T_181436[61], T_181437) - node T_181439 = cat(T_181436[58], T_181436[57]) - node T_181440 = cat(T_181436[56], T_181436[55]) - node T_181441 = cat(T_181439, T_181440) - node T_181442 = cat(T_181438, T_181441) - node T_181443 = cat(T_181436[54], T_181436[53]) - node T_181444 = cat(T_181436[52], T_181436[51]) - node T_181445 = cat(T_181443, T_181444) - node T_181446 = cat(T_181436[50], T_181436[49]) - node T_181447 = cat(T_181436[48], T_181436[47]) - node T_181448 = cat(T_181446, T_181447) - node T_181449 = cat(T_181445, T_181448) - node T_181450 = cat(T_181442, T_181449) - node T_181451 = cat(T_181436[46], T_181436[45]) - node T_181452 = cat(T_181436[44], T_181436[43]) - node T_181453 = cat(T_181451, T_181452) - node T_181454 = cat(T_181436[42], T_181436[41]) - node T_181455 = cat(T_181436[40], T_181436[39]) - node T_181456 = cat(T_181454, T_181455) - node T_181457 = cat(T_181453, T_181456) - node T_181458 = cat(T_181436[38], T_181436[37]) - node T_181459 = cat(T_181436[36], T_181436[35]) - node T_181460 = cat(T_181458, T_181459) - node T_181461 = cat(T_181436[34], T_181436[33]) - node T_181462 = cat(T_181436[32], T_181436[31]) - node T_181463 = cat(T_181461, T_181462) - node T_181464 = cat(T_181460, T_181463) - node T_181465 = cat(T_181457, T_181464) - node T_181466 = cat(T_181450, T_181465) - node T_181467 = cat(T_181436[29], T_181436[28]) - node T_181468 = cat(T_181436[30], T_181467) - node T_181469 = cat(T_181436[27], T_181436[26]) - node T_181470 = cat(T_181436[25], T_181436[24]) - node T_181471 = cat(T_181469, T_181470) - node T_181472 = cat(T_181468, T_181471) - node T_181473 = cat(T_181436[23], T_181436[22]) - node T_181474 = cat(T_181436[21], T_181436[20]) - node T_181475 = cat(T_181473, T_181474) - node T_181476 = cat(T_181436[19], T_181436[18]) - node T_181477 = cat(T_181436[17], T_181436[16]) - node T_181478 = cat(T_181476, T_181477) - node T_181479 = cat(T_181475, T_181478) - node T_181480 = cat(T_181472, T_181479) - node T_181481 = cat(T_181436[15], T_181436[14]) - node T_181482 = cat(T_181436[13], T_181436[12]) - node T_181483 = cat(T_181481, T_181482) - node T_181484 = cat(T_181436[11], T_181436[10]) - node T_181485 = cat(T_181436[9], T_181436[8]) - node T_181486 = cat(T_181484, T_181485) - node T_181487 = cat(T_181483, T_181486) - node T_181488 = cat(T_181436[7], T_181436[6]) - node T_181489 = cat(T_181436[5], T_181436[4]) - node T_181490 = cat(T_181488, T_181489) - node T_181491 = cat(T_181436[3], T_181436[2]) - node T_181492 = cat(T_181436[1], T_181436[0]) - node T_181493 = cat(T_181491, T_181492) - node T_181494 = cat(T_181490, T_181493) - node T_181495 = cat(T_181487, T_181494) - node T_181496 = cat(T_181480, T_181495) - node T_181497 = cat(T_181466, T_181496) - node T_181498 = bit(T_181249, 0) - node T_181499 = and(idxValid[0], T_181498) - node T_181500 = bit(T_181497, 0) - node T_181501 = and(T_181499, T_181500) - node T_181502 = bit(T_181249, 1) - node T_181503 = and(idxValid[1], T_181502) - node T_181504 = bit(T_181497, 1) - node T_181505 = and(T_181503, T_181504) - node T_181506 = bit(T_181249, 2) - node T_181507 = and(idxValid[2], T_181506) - node T_181508 = bit(T_181497, 2) - node T_181509 = and(T_181507, T_181508) - node T_181510 = bit(T_181249, 3) - node T_181511 = and(idxValid[3], T_181510) - node T_181512 = bit(T_181497, 3) - node T_181513 = and(T_181511, T_181512) - node T_181514 = bit(T_181249, 4) - node T_181515 = and(idxValid[4], T_181514) - node T_181516 = bit(T_181497, 4) - node T_181517 = and(T_181515, T_181516) - node T_181518 = bit(T_181249, 5) - node T_181519 = and(idxValid[5], T_181518) - node T_181520 = bit(T_181497, 5) - node T_181521 = and(T_181519, T_181520) - node T_181522 = bit(T_181249, 6) - node T_181523 = and(idxValid[6], T_181522) - node T_181524 = bit(T_181497, 6) - node T_181525 = and(T_181523, T_181524) - node T_181526 = bit(T_181249, 7) - node T_181527 = and(idxValid[7], T_181526) - node T_181528 = bit(T_181497, 7) - node T_181529 = and(T_181527, T_181528) - node T_181530 = bit(T_181249, 8) - node T_181531 = and(idxValid[8], T_181530) - node T_181532 = bit(T_181497, 8) - node T_181533 = and(T_181531, T_181532) - node T_181534 = bit(T_181249, 9) - node T_181535 = and(idxValid[9], T_181534) - node T_181536 = bit(T_181497, 9) - node T_181537 = and(T_181535, T_181536) - node T_181538 = bit(T_181249, 10) - node T_181539 = and(idxValid[10], T_181538) - node T_181540 = bit(T_181497, 10) - node T_181541 = and(T_181539, T_181540) - node T_181542 = bit(T_181249, 11) - node T_181543 = and(idxValid[11], T_181542) - node T_181544 = bit(T_181497, 11) - node T_181545 = and(T_181543, T_181544) - node T_181546 = bit(T_181249, 12) - node T_181547 = and(idxValid[12], T_181546) - node T_181548 = bit(T_181497, 12) - node T_181549 = and(T_181547, T_181548) - node T_181550 = bit(T_181249, 13) - node T_181551 = and(idxValid[13], T_181550) - node T_181552 = bit(T_181497, 13) - node T_181553 = and(T_181551, T_181552) - node T_181554 = bit(T_181249, 14) - node T_181555 = and(idxValid[14], T_181554) - node T_181556 = bit(T_181497, 14) - node T_181557 = and(T_181555, T_181556) - node T_181558 = bit(T_181249, 15) - node T_181559 = and(idxValid[15], T_181558) - node T_181560 = bit(T_181497, 15) - node T_181561 = and(T_181559, T_181560) - node T_181562 = bit(T_181249, 16) - node T_181563 = and(idxValid[16], T_181562) - node T_181564 = bit(T_181497, 16) - node T_181565 = and(T_181563, T_181564) - node T_181566 = bit(T_181249, 17) - node T_181567 = and(idxValid[17], T_181566) - node T_181568 = bit(T_181497, 17) - node T_181569 = and(T_181567, T_181568) - node T_181570 = bit(T_181249, 18) - node T_181571 = and(idxValid[18], T_181570) - node T_181572 = bit(T_181497, 18) - node T_181573 = and(T_181571, T_181572) - node T_181574 = bit(T_181249, 19) - node T_181575 = and(idxValid[19], T_181574) - node T_181576 = bit(T_181497, 19) - node T_181577 = and(T_181575, T_181576) - node T_181578 = bit(T_181249, 20) - node T_181579 = and(idxValid[20], T_181578) - node T_181580 = bit(T_181497, 20) - node T_181581 = and(T_181579, T_181580) - node T_181582 = bit(T_181249, 21) - node T_181583 = and(idxValid[21], T_181582) - node T_181584 = bit(T_181497, 21) - node T_181585 = and(T_181583, T_181584) - node T_181586 = bit(T_181249, 22) - node T_181587 = and(idxValid[22], T_181586) - node T_181588 = bit(T_181497, 22) - node T_181589 = and(T_181587, T_181588) - node T_181590 = bit(T_181249, 23) - node T_181591 = and(idxValid[23], T_181590) - node T_181592 = bit(T_181497, 23) - node T_181593 = and(T_181591, T_181592) - node T_181594 = bit(T_181249, 24) - node T_181595 = and(idxValid[24], T_181594) - node T_181596 = bit(T_181497, 24) - node T_181597 = and(T_181595, T_181596) - node T_181598 = bit(T_181249, 25) - node T_181599 = and(idxValid[25], T_181598) - node T_181600 = bit(T_181497, 25) - node T_181601 = and(T_181599, T_181600) - node T_181602 = bit(T_181249, 26) - node T_181603 = and(idxValid[26], T_181602) - node T_181604 = bit(T_181497, 26) - node T_181605 = and(T_181603, T_181604) - node T_181606 = bit(T_181249, 27) - node T_181607 = and(idxValid[27], T_181606) - node T_181608 = bit(T_181497, 27) - node T_181609 = and(T_181607, T_181608) - node T_181610 = bit(T_181249, 28) - node T_181611 = and(idxValid[28], T_181610) - node T_181612 = bit(T_181497, 28) - node T_181613 = and(T_181611, T_181612) - node T_181614 = bit(T_181249, 29) - node T_181615 = and(idxValid[29], T_181614) - node T_181616 = bit(T_181497, 29) - node T_181617 = and(T_181615, T_181616) - node T_181618 = bit(T_181249, 30) - node T_181619 = and(idxValid[30], T_181618) - node T_181620 = bit(T_181497, 30) - node T_181621 = and(T_181619, T_181620) - node T_181622 = bit(T_181249, 31) - node T_181623 = and(idxValid[31], T_181622) - node T_181624 = bit(T_181497, 31) - node T_181625 = and(T_181623, T_181624) - node T_181626 = bit(T_181249, 32) - node T_181627 = and(idxValid[32], T_181626) - node T_181628 = bit(T_181497, 32) - node T_181629 = and(T_181627, T_181628) - node T_181630 = bit(T_181249, 33) - node T_181631 = and(idxValid[33], T_181630) - node T_181632 = bit(T_181497, 33) - node T_181633 = and(T_181631, T_181632) - node T_181634 = bit(T_181249, 34) - node T_181635 = and(idxValid[34], T_181634) - node T_181636 = bit(T_181497, 34) - node T_181637 = and(T_181635, T_181636) - node T_181638 = bit(T_181249, 35) - node T_181639 = and(idxValid[35], T_181638) - node T_181640 = bit(T_181497, 35) - node T_181641 = and(T_181639, T_181640) - node T_181642 = bit(T_181249, 36) - node T_181643 = and(idxValid[36], T_181642) - node T_181644 = bit(T_181497, 36) - node T_181645 = and(T_181643, T_181644) - node T_181646 = bit(T_181249, 37) - node T_181647 = and(idxValid[37], T_181646) - node T_181648 = bit(T_181497, 37) - node T_181649 = and(T_181647, T_181648) - node T_181650 = bit(T_181249, 38) - node T_181651 = and(idxValid[38], T_181650) - node T_181652 = bit(T_181497, 38) - node T_181653 = and(T_181651, T_181652) - node T_181654 = bit(T_181249, 39) - node T_181655 = and(idxValid[39], T_181654) - node T_181656 = bit(T_181497, 39) - node T_181657 = and(T_181655, T_181656) - node T_181658 = bit(T_181249, 40) - node T_181659 = and(idxValid[40], T_181658) - node T_181660 = bit(T_181497, 40) - node T_181661 = and(T_181659, T_181660) - node T_181662 = bit(T_181249, 41) - node T_181663 = and(idxValid[41], T_181662) - node T_181664 = bit(T_181497, 41) - node T_181665 = and(T_181663, T_181664) - node T_181666 = bit(T_181249, 42) - node T_181667 = and(idxValid[42], T_181666) - node T_181668 = bit(T_181497, 42) - node T_181669 = and(T_181667, T_181668) - node T_181670 = bit(T_181249, 43) - node T_181671 = and(idxValid[43], T_181670) - node T_181672 = bit(T_181497, 43) - node T_181673 = and(T_181671, T_181672) - node T_181674 = bit(T_181249, 44) - node T_181675 = and(idxValid[44], T_181674) - node T_181676 = bit(T_181497, 44) - node T_181677 = and(T_181675, T_181676) - node T_181678 = bit(T_181249, 45) - node T_181679 = and(idxValid[45], T_181678) - node T_181680 = bit(T_181497, 45) - node T_181681 = and(T_181679, T_181680) - node T_181682 = bit(T_181249, 46) - node T_181683 = and(idxValid[46], T_181682) - node T_181684 = bit(T_181497, 46) - node T_181685 = and(T_181683, T_181684) - node T_181686 = bit(T_181249, 47) - node T_181687 = and(idxValid[47], T_181686) - node T_181688 = bit(T_181497, 47) - node T_181689 = and(T_181687, T_181688) - node T_181690 = bit(T_181249, 48) - node T_181691 = and(idxValid[48], T_181690) - node T_181692 = bit(T_181497, 48) - node T_181693 = and(T_181691, T_181692) - node T_181694 = bit(T_181249, 49) - node T_181695 = and(idxValid[49], T_181694) - node T_181696 = bit(T_181497, 49) - node T_181697 = and(T_181695, T_181696) - node T_181698 = bit(T_181249, 50) - node T_181699 = and(idxValid[50], T_181698) - node T_181700 = bit(T_181497, 50) - node T_181701 = and(T_181699, T_181700) - node T_181702 = bit(T_181249, 51) - node T_181703 = and(idxValid[51], T_181702) - node T_181704 = bit(T_181497, 51) - node T_181705 = and(T_181703, T_181704) - node T_181706 = bit(T_181249, 52) - node T_181707 = and(idxValid[52], T_181706) - node T_181708 = bit(T_181497, 52) - node T_181709 = and(T_181707, T_181708) - node T_181710 = bit(T_181249, 53) - node T_181711 = and(idxValid[53], T_181710) - node T_181712 = bit(T_181497, 53) - node T_181713 = and(T_181711, T_181712) - node T_181714 = bit(T_181249, 54) - node T_181715 = and(idxValid[54], T_181714) - node T_181716 = bit(T_181497, 54) - node T_181717 = and(T_181715, T_181716) - node T_181718 = bit(T_181249, 55) - node T_181719 = and(idxValid[55], T_181718) - node T_181720 = bit(T_181497, 55) - node T_181721 = and(T_181719, T_181720) - node T_181722 = bit(T_181249, 56) - node T_181723 = and(idxValid[56], T_181722) - node T_181724 = bit(T_181497, 56) - node T_181725 = and(T_181723, T_181724) - node T_181726 = bit(T_181249, 57) - node T_181727 = and(idxValid[57], T_181726) - node T_181728 = bit(T_181497, 57) - node T_181729 = and(T_181727, T_181728) - node T_181730 = bit(T_181249, 58) - node T_181731 = and(idxValid[58], T_181730) - node T_181732 = bit(T_181497, 58) - node T_181733 = and(T_181731, T_181732) - node T_181734 = bit(T_181249, 59) - node T_181735 = and(idxValid[59], T_181734) - node T_181736 = bit(T_181497, 59) - node T_181737 = and(T_181735, T_181736) - node T_181738 = bit(T_181249, 60) - node T_181739 = and(idxValid[60], T_181738) - node T_181740 = bit(T_181497, 60) - node T_181741 = and(T_181739, T_181740) - node T_181742 = bit(T_181249, 61) - node T_181743 = and(idxValid[61], T_181742) - node T_181744 = bit(T_181497, 61) - node T_181745 = and(T_181743, T_181744) - wire hits : UInt<1>[62] - hits[0] := T_181501 - hits[1] := T_181505 - hits[2] := T_181509 - hits[3] := T_181513 - hits[4] := T_181517 - hits[5] := T_181521 - hits[6] := T_181525 - hits[7] := T_181529 - hits[8] := T_181533 - hits[9] := T_181537 - hits[10] := T_181541 - hits[11] := T_181545 - hits[12] := T_181549 - hits[13] := T_181553 - hits[14] := T_181557 - hits[15] := T_181561 - hits[16] := T_181565 - hits[17] := T_181569 - hits[18] := T_181573 - hits[19] := T_181577 - hits[20] := T_181581 - hits[21] := T_181585 - hits[22] := T_181589 - hits[23] := T_181593 - hits[24] := T_181597 - hits[25] := T_181601 - hits[26] := T_181605 - hits[27] := T_181609 - hits[28] := T_181613 - hits[29] := T_181617 - hits[30] := T_181621 - hits[31] := T_181625 - hits[32] := T_181629 - hits[33] := T_181633 - hits[34] := T_181637 - hits[35] := T_181641 - hits[36] := T_181645 - hits[37] := T_181649 - hits[38] := T_181653 - hits[39] := T_181657 - hits[40] := T_181661 - hits[41] := T_181665 - hits[42] := T_181669 - hits[43] := T_181673 - hits[44] := T_181677 - hits[45] := T_181681 - hits[46] := T_181685 - hits[47] := T_181689 - hits[48] := T_181693 - hits[49] := T_181697 - hits[50] := T_181701 - hits[51] := T_181705 - hits[52] := T_181709 - hits[53] := T_181713 - hits[54] := T_181717 - hits[55] := T_181721 - hits[56] := T_181725 - hits[57] := T_181729 - hits[58] := T_181733 - hits[59] := T_181737 - hits[60] := T_181741 - hits[61] := T_181745 - node T_181746 = shr(r_btb_update.bits.pc, 12) - accessor T_181747 = pages[UInt<1>(0)] - node T_181748 = eq(T_181747, T_181746) - accessor T_181749 = pages[UInt<1>(1)] - node T_181750 = eq(T_181749, T_181746) - accessor T_181751 = pages[UInt<2>(2)] - node T_181752 = eq(T_181751, T_181746) - accessor T_181753 = pages[UInt<2>(3)] - node T_181754 = eq(T_181753, T_181746) - accessor T_181755 = pages[UInt<3>(4)] - node T_181756 = eq(T_181755, T_181746) - accessor T_181757 = pages[UInt<3>(5)] - node T_181758 = eq(T_181757, T_181746) - wire T_181759 : UInt<1>[6] - T_181759[0] := T_181748 - T_181759[1] := T_181750 - T_181759[2] := T_181752 - T_181759[3] := T_181754 - T_181759[4] := T_181756 - T_181759[5] := T_181758 - node T_181760 = cat(T_181759[4], T_181759[3]) - node T_181761 = cat(T_181759[5], T_181760) - node T_181762 = cat(T_181759[1], T_181759[0]) - node T_181763 = cat(T_181759[2], T_181762) - node T_181764 = cat(T_181761, T_181763) - node updatePageHit = and(T_181764, pageValid) - node T_181765 = bits(r_btb_update.bits.pc, 11, 0) - accessor T_181766 = idxs[UInt<1>(0)] - node T_181767 = eq(T_181766, T_181765) - accessor T_181768 = idxs[UInt<1>(1)] - node T_181769 = eq(T_181768, T_181765) - accessor T_181770 = idxs[UInt<2>(2)] - node T_181771 = eq(T_181770, T_181765) - accessor T_181772 = idxs[UInt<2>(3)] - node T_181773 = eq(T_181772, T_181765) - accessor T_181774 = idxs[UInt<3>(4)] - node T_181775 = eq(T_181774, T_181765) - accessor T_181776 = idxs[UInt<3>(5)] - node T_181777 = eq(T_181776, T_181765) - accessor T_181778 = idxs[UInt<3>(6)] - node T_181779 = eq(T_181778, T_181765) - accessor T_181780 = idxs[UInt<3>(7)] - node T_181781 = eq(T_181780, T_181765) - accessor T_181782 = idxs[UInt<4>(8)] - node T_181783 = eq(T_181782, T_181765) - accessor T_181784 = idxs[UInt<4>(9)] - node T_181785 = eq(T_181784, T_181765) - accessor T_181786 = idxs[UInt<4>(10)] - node T_181787 = eq(T_181786, T_181765) - accessor T_181788 = idxs[UInt<4>(11)] - node T_181789 = eq(T_181788, T_181765) - accessor T_181790 = idxs[UInt<4>(12)] - node T_181791 = eq(T_181790, T_181765) - accessor T_181792 = idxs[UInt<4>(13)] - node T_181793 = eq(T_181792, T_181765) - accessor T_181794 = idxs[UInt<4>(14)] - node T_181795 = eq(T_181794, T_181765) - accessor T_181796 = idxs[UInt<4>(15)] - node T_181797 = eq(T_181796, T_181765) - accessor T_181798 = idxs[UInt<5>(16)] - node T_181799 = eq(T_181798, T_181765) - accessor T_181800 = idxs[UInt<5>(17)] - node T_181801 = eq(T_181800, T_181765) - accessor T_181802 = idxs[UInt<5>(18)] - node T_181803 = eq(T_181802, T_181765) - accessor T_181804 = idxs[UInt<5>(19)] - node T_181805 = eq(T_181804, T_181765) - accessor T_181806 = idxs[UInt<5>(20)] - node T_181807 = eq(T_181806, T_181765) - accessor T_181808 = idxs[UInt<5>(21)] - node T_181809 = eq(T_181808, T_181765) - accessor T_181810 = idxs[UInt<5>(22)] - node T_181811 = eq(T_181810, T_181765) - accessor T_181812 = idxs[UInt<5>(23)] - node T_181813 = eq(T_181812, T_181765) - accessor T_181814 = idxs[UInt<5>(24)] - node T_181815 = eq(T_181814, T_181765) - accessor T_181816 = idxs[UInt<5>(25)] - node T_181817 = eq(T_181816, T_181765) - accessor T_181818 = idxs[UInt<5>(26)] - node T_181819 = eq(T_181818, T_181765) - accessor T_181820 = idxs[UInt<5>(27)] - node T_181821 = eq(T_181820, T_181765) - accessor T_181822 = idxs[UInt<5>(28)] - node T_181823 = eq(T_181822, T_181765) - accessor T_181824 = idxs[UInt<5>(29)] - node T_181825 = eq(T_181824, T_181765) - accessor T_181826 = idxs[UInt<5>(30)] - node T_181827 = eq(T_181826, T_181765) - accessor T_181828 = idxs[UInt<5>(31)] - node T_181829 = eq(T_181828, T_181765) - accessor T_181830 = idxs[UInt<6>(32)] - node T_181831 = eq(T_181830, T_181765) - accessor T_181832 = idxs[UInt<6>(33)] - node T_181833 = eq(T_181832, T_181765) - accessor T_181834 = idxs[UInt<6>(34)] - node T_181835 = eq(T_181834, T_181765) - accessor T_181836 = idxs[UInt<6>(35)] - node T_181837 = eq(T_181836, T_181765) - accessor T_181838 = idxs[UInt<6>(36)] - node T_181839 = eq(T_181838, T_181765) - accessor T_181840 = idxs[UInt<6>(37)] - node T_181841 = eq(T_181840, T_181765) - accessor T_181842 = idxs[UInt<6>(38)] - node T_181843 = eq(T_181842, T_181765) - accessor T_181844 = idxs[UInt<6>(39)] - node T_181845 = eq(T_181844, T_181765) - accessor T_181846 = idxs[UInt<6>(40)] - node T_181847 = eq(T_181846, T_181765) - accessor T_181848 = idxs[UInt<6>(41)] - node T_181849 = eq(T_181848, T_181765) - accessor T_181850 = idxs[UInt<6>(42)] - node T_181851 = eq(T_181850, T_181765) - accessor T_181852 = idxs[UInt<6>(43)] - node T_181853 = eq(T_181852, T_181765) - accessor T_181854 = idxs[UInt<6>(44)] - node T_181855 = eq(T_181854, T_181765) - accessor T_181856 = idxs[UInt<6>(45)] - node T_181857 = eq(T_181856, T_181765) - accessor T_181858 = idxs[UInt<6>(46)] - node T_181859 = eq(T_181858, T_181765) - accessor T_181860 = idxs[UInt<6>(47)] - node T_181861 = eq(T_181860, T_181765) - accessor T_181862 = idxs[UInt<6>(48)] - node T_181863 = eq(T_181862, T_181765) - accessor T_181864 = idxs[UInt<6>(49)] - node T_181865 = eq(T_181864, T_181765) - accessor T_181866 = idxs[UInt<6>(50)] - node T_181867 = eq(T_181866, T_181765) - accessor T_181868 = idxs[UInt<6>(51)] - node T_181869 = eq(T_181868, T_181765) - accessor T_181870 = idxs[UInt<6>(52)] - node T_181871 = eq(T_181870, T_181765) - accessor T_181872 = idxs[UInt<6>(53)] - node T_181873 = eq(T_181872, T_181765) - accessor T_181874 = idxs[UInt<6>(54)] - node T_181875 = eq(T_181874, T_181765) - accessor T_181876 = idxs[UInt<6>(55)] - node T_181877 = eq(T_181876, T_181765) - accessor T_181878 = idxs[UInt<6>(56)] - node T_181879 = eq(T_181878, T_181765) - accessor T_181880 = idxs[UInt<6>(57)] - node T_181881 = eq(T_181880, T_181765) - accessor T_181882 = idxs[UInt<6>(58)] - node T_181883 = eq(T_181882, T_181765) - accessor T_181884 = idxs[UInt<6>(59)] - node T_181885 = eq(T_181884, T_181765) - accessor T_181886 = idxs[UInt<6>(60)] - node T_181887 = eq(T_181886, T_181765) - accessor T_181888 = idxs[UInt<6>(61)] - node T_181889 = eq(T_181888, T_181765) - wire T_181890 : UInt<1>[62] - T_181890[0] := T_181767 - T_181890[1] := T_181769 - T_181890[2] := T_181771 - T_181890[3] := T_181773 - T_181890[4] := T_181775 - T_181890[5] := T_181777 - T_181890[6] := T_181779 - T_181890[7] := T_181781 - T_181890[8] := T_181783 - T_181890[9] := T_181785 - T_181890[10] := T_181787 - T_181890[11] := T_181789 - T_181890[12] := T_181791 - T_181890[13] := T_181793 - T_181890[14] := T_181795 - T_181890[15] := T_181797 - T_181890[16] := T_181799 - T_181890[17] := T_181801 - T_181890[18] := T_181803 - T_181890[19] := T_181805 - T_181890[20] := T_181807 - T_181890[21] := T_181809 - T_181890[22] := T_181811 - T_181890[23] := T_181813 - T_181890[24] := T_181815 - T_181890[25] := T_181817 - T_181890[26] := T_181819 - T_181890[27] := T_181821 - T_181890[28] := T_181823 - T_181890[29] := T_181825 - T_181890[30] := T_181827 - T_181890[31] := T_181829 - T_181890[32] := T_181831 - T_181890[33] := T_181833 - T_181890[34] := T_181835 - T_181890[35] := T_181837 - T_181890[36] := T_181839 - T_181890[37] := T_181841 - T_181890[38] := T_181843 - T_181890[39] := T_181845 - T_181890[40] := T_181847 - T_181890[41] := T_181849 - T_181890[42] := T_181851 - T_181890[43] := T_181853 - T_181890[44] := T_181855 - T_181890[45] := T_181857 - T_181890[46] := T_181859 - T_181890[47] := T_181861 - T_181890[48] := T_181863 - T_181890[49] := T_181865 - T_181890[50] := T_181867 - T_181890[51] := T_181869 - T_181890[52] := T_181871 - T_181890[53] := T_181873 - T_181890[54] := T_181875 - T_181890[55] := T_181877 - T_181890[56] := T_181879 - T_181890[57] := T_181881 - T_181890[58] := T_181883 - T_181890[59] := T_181885 - T_181890[60] := T_181887 - T_181890[61] := T_181889 - node T_181891 = cat(T_181890[60], T_181890[59]) - node T_181892 = cat(T_181890[61], T_181891) - node T_181893 = cat(T_181890[58], T_181890[57]) - node T_181894 = cat(T_181890[56], T_181890[55]) - node T_181895 = cat(T_181893, T_181894) - node T_181896 = cat(T_181892, T_181895) - node T_181897 = cat(T_181890[54], T_181890[53]) - node T_181898 = cat(T_181890[52], T_181890[51]) - node T_181899 = cat(T_181897, T_181898) - node T_181900 = cat(T_181890[50], T_181890[49]) - node T_181901 = cat(T_181890[48], T_181890[47]) - node T_181902 = cat(T_181900, T_181901) - node T_181903 = cat(T_181899, T_181902) - node T_181904 = cat(T_181896, T_181903) - node T_181905 = cat(T_181890[46], T_181890[45]) - node T_181906 = cat(T_181890[44], T_181890[43]) - node T_181907 = cat(T_181905, T_181906) - node T_181908 = cat(T_181890[42], T_181890[41]) - node T_181909 = cat(T_181890[40], T_181890[39]) - node T_181910 = cat(T_181908, T_181909) - node T_181911 = cat(T_181907, T_181910) - node T_181912 = cat(T_181890[38], T_181890[37]) - node T_181913 = cat(T_181890[36], T_181890[35]) - node T_181914 = cat(T_181912, T_181913) - node T_181915 = cat(T_181890[34], T_181890[33]) - node T_181916 = cat(T_181890[32], T_181890[31]) - node T_181917 = cat(T_181915, T_181916) - node T_181918 = cat(T_181914, T_181917) - node T_181919 = cat(T_181911, T_181918) - node T_181920 = cat(T_181904, T_181919) - node T_181921 = cat(T_181890[29], T_181890[28]) - node T_181922 = cat(T_181890[30], T_181921) - node T_181923 = cat(T_181890[27], T_181890[26]) - node T_181924 = cat(T_181890[25], T_181890[24]) - node T_181925 = cat(T_181923, T_181924) - node T_181926 = cat(T_181922, T_181925) - node T_181927 = cat(T_181890[23], T_181890[22]) - node T_181928 = cat(T_181890[21], T_181890[20]) - node T_181929 = cat(T_181927, T_181928) - node T_181930 = cat(T_181890[19], T_181890[18]) - node T_181931 = cat(T_181890[17], T_181890[16]) - node T_181932 = cat(T_181930, T_181931) - node T_181933 = cat(T_181929, T_181932) - node T_181934 = cat(T_181926, T_181933) - node T_181935 = cat(T_181890[15], T_181890[14]) - node T_181936 = cat(T_181890[13], T_181890[12]) - node T_181937 = cat(T_181935, T_181936) - node T_181938 = cat(T_181890[11], T_181890[10]) - node T_181939 = cat(T_181890[9], T_181890[8]) - node T_181940 = cat(T_181938, T_181939) - node T_181941 = cat(T_181937, T_181940) - node T_181942 = cat(T_181890[7], T_181890[6]) - node T_181943 = cat(T_181890[5], T_181890[4]) - node T_181944 = cat(T_181942, T_181943) - node T_181945 = cat(T_181890[3], T_181890[2]) - node T_181946 = cat(T_181890[1], T_181890[0]) - node T_181947 = cat(T_181945, T_181946) - node T_181948 = cat(T_181944, T_181947) - node T_181949 = cat(T_181941, T_181948) - node T_181950 = cat(T_181934, T_181949) - node T_181951 = cat(T_181920, T_181950) - node T_181952 = and(T_180672, updatePageHit) - node T_181953 = and(T_180675, updatePageHit) - node T_181954 = and(T_180678, updatePageHit) - node T_181955 = and(T_180681, updatePageHit) - node T_181956 = and(T_180684, updatePageHit) - node T_181957 = and(T_180687, updatePageHit) - node T_181958 = and(T_180690, updatePageHit) - node T_181959 = and(T_180693, updatePageHit) - node T_181960 = and(T_180696, updatePageHit) - node T_181961 = and(T_180699, updatePageHit) - node T_181962 = and(T_180702, updatePageHit) - node T_181963 = and(T_180705, updatePageHit) - node T_181964 = and(T_180708, updatePageHit) - node T_181965 = and(T_180711, updatePageHit) - node T_181966 = and(T_180714, updatePageHit) - node T_181967 = and(T_180717, updatePageHit) - node T_181968 = and(T_180720, updatePageHit) - node T_181969 = and(T_180723, updatePageHit) - node T_181970 = and(T_180726, updatePageHit) - node T_181971 = and(T_180729, updatePageHit) - node T_181972 = and(T_180732, updatePageHit) - node T_181973 = and(T_180735, updatePageHit) - node T_181974 = and(T_180738, updatePageHit) - node T_181975 = and(T_180741, updatePageHit) - node T_181976 = and(T_180744, updatePageHit) - node T_181977 = and(T_180747, updatePageHit) - node T_181978 = and(T_180750, updatePageHit) - node T_181979 = and(T_180753, updatePageHit) - node T_181980 = and(T_180756, updatePageHit) - node T_181981 = and(T_180759, updatePageHit) - node T_181982 = and(T_180762, updatePageHit) - node T_181983 = and(T_180765, updatePageHit) - node T_181984 = and(T_180768, updatePageHit) - node T_181985 = and(T_180771, updatePageHit) - node T_181986 = and(T_180774, updatePageHit) - node T_181987 = and(T_180777, updatePageHit) - node T_181988 = and(T_180780, updatePageHit) - node T_181989 = and(T_180783, updatePageHit) - node T_181990 = and(T_180786, updatePageHit) - node T_181991 = and(T_180789, updatePageHit) - node T_181992 = and(T_180792, updatePageHit) - node T_181993 = and(T_180795, updatePageHit) - node T_181994 = and(T_180798, updatePageHit) - node T_181995 = and(T_180801, updatePageHit) - node T_181996 = and(T_180804, updatePageHit) - node T_181997 = and(T_180807, updatePageHit) - node T_181998 = and(T_180810, updatePageHit) - node T_181999 = and(T_180813, updatePageHit) - node T_182000 = and(T_180816, updatePageHit) - node T_182001 = and(T_180819, updatePageHit) - node T_182002 = and(T_180822, updatePageHit) - node T_182003 = and(T_180825, updatePageHit) - node T_182004 = and(T_180828, updatePageHit) - node T_182005 = and(T_180831, updatePageHit) - node T_182006 = and(T_180834, updatePageHit) - node T_182007 = and(T_180837, updatePageHit) - node T_182008 = and(T_180840, updatePageHit) - node T_182009 = and(T_180843, updatePageHit) - node T_182010 = and(T_180846, updatePageHit) - node T_182011 = and(T_180849, updatePageHit) - node T_182012 = and(T_180852, updatePageHit) - node T_182013 = and(T_180855, updatePageHit) - node T_182014 = eq(T_181952, UInt<1>(0)) - node T_182015 = eq(T_182014, UInt<1>(0)) - node T_182016 = eq(T_181953, UInt<1>(0)) - node T_182017 = eq(T_182016, UInt<1>(0)) - node T_182018 = eq(T_181954, UInt<1>(0)) - node T_182019 = eq(T_182018, UInt<1>(0)) - node T_182020 = eq(T_181955, UInt<1>(0)) - node T_182021 = eq(T_182020, UInt<1>(0)) - node T_182022 = eq(T_181956, UInt<1>(0)) - node T_182023 = eq(T_182022, UInt<1>(0)) - node T_182024 = eq(T_181957, UInt<1>(0)) - node T_182025 = eq(T_182024, UInt<1>(0)) - node T_182026 = eq(T_181958, UInt<1>(0)) - node T_182027 = eq(T_182026, UInt<1>(0)) - node T_182028 = eq(T_181959, UInt<1>(0)) - node T_182029 = eq(T_182028, UInt<1>(0)) - node T_182030 = eq(T_181960, UInt<1>(0)) - node T_182031 = eq(T_182030, UInt<1>(0)) - node T_182032 = eq(T_181961, UInt<1>(0)) - node T_182033 = eq(T_182032, UInt<1>(0)) - node T_182034 = eq(T_181962, UInt<1>(0)) - node T_182035 = eq(T_182034, UInt<1>(0)) - node T_182036 = eq(T_181963, UInt<1>(0)) - node T_182037 = eq(T_182036, UInt<1>(0)) - node T_182038 = eq(T_181964, UInt<1>(0)) - node T_182039 = eq(T_182038, UInt<1>(0)) - node T_182040 = eq(T_181965, UInt<1>(0)) - node T_182041 = eq(T_182040, UInt<1>(0)) - node T_182042 = eq(T_181966, UInt<1>(0)) - node T_182043 = eq(T_182042, UInt<1>(0)) - node T_182044 = eq(T_181967, UInt<1>(0)) - node T_182045 = eq(T_182044, UInt<1>(0)) - node T_182046 = eq(T_181968, UInt<1>(0)) - node T_182047 = eq(T_182046, UInt<1>(0)) - node T_182048 = eq(T_181969, UInt<1>(0)) - node T_182049 = eq(T_182048, UInt<1>(0)) - node T_182050 = eq(T_181970, UInt<1>(0)) - node T_182051 = eq(T_182050, UInt<1>(0)) - node T_182052 = eq(T_181971, UInt<1>(0)) - node T_182053 = eq(T_182052, UInt<1>(0)) - node T_182054 = eq(T_181972, UInt<1>(0)) - node T_182055 = eq(T_182054, UInt<1>(0)) - node T_182056 = eq(T_181973, UInt<1>(0)) - node T_182057 = eq(T_182056, UInt<1>(0)) - node T_182058 = eq(T_181974, UInt<1>(0)) - node T_182059 = eq(T_182058, UInt<1>(0)) - node T_182060 = eq(T_181975, UInt<1>(0)) - node T_182061 = eq(T_182060, UInt<1>(0)) - node T_182062 = eq(T_181976, UInt<1>(0)) - node T_182063 = eq(T_182062, UInt<1>(0)) - node T_182064 = eq(T_181977, UInt<1>(0)) - node T_182065 = eq(T_182064, UInt<1>(0)) - node T_182066 = eq(T_181978, UInt<1>(0)) - node T_182067 = eq(T_182066, UInt<1>(0)) - node T_182068 = eq(T_181979, UInt<1>(0)) - node T_182069 = eq(T_182068, UInt<1>(0)) - node T_182070 = eq(T_181980, UInt<1>(0)) - node T_182071 = eq(T_182070, UInt<1>(0)) - node T_182072 = eq(T_181981, UInt<1>(0)) - node T_182073 = eq(T_182072, UInt<1>(0)) - node T_182074 = eq(T_181982, UInt<1>(0)) - node T_182075 = eq(T_182074, UInt<1>(0)) - node T_182076 = eq(T_181983, UInt<1>(0)) - node T_182077 = eq(T_182076, UInt<1>(0)) - node T_182078 = eq(T_181984, UInt<1>(0)) - node T_182079 = eq(T_182078, UInt<1>(0)) - node T_182080 = eq(T_181985, UInt<1>(0)) - node T_182081 = eq(T_182080, UInt<1>(0)) - node T_182082 = eq(T_181986, UInt<1>(0)) - node T_182083 = eq(T_182082, UInt<1>(0)) - node T_182084 = eq(T_181987, UInt<1>(0)) - node T_182085 = eq(T_182084, UInt<1>(0)) - node T_182086 = eq(T_181988, UInt<1>(0)) - node T_182087 = eq(T_182086, UInt<1>(0)) - node T_182088 = eq(T_181989, UInt<1>(0)) - node T_182089 = eq(T_182088, UInt<1>(0)) - node T_182090 = eq(T_181990, UInt<1>(0)) - node T_182091 = eq(T_182090, UInt<1>(0)) - node T_182092 = eq(T_181991, UInt<1>(0)) - node T_182093 = eq(T_182092, UInt<1>(0)) - node T_182094 = eq(T_181992, UInt<1>(0)) - node T_182095 = eq(T_182094, UInt<1>(0)) - node T_182096 = eq(T_181993, UInt<1>(0)) - node T_182097 = eq(T_182096, UInt<1>(0)) - node T_182098 = eq(T_181994, UInt<1>(0)) - node T_182099 = eq(T_182098, UInt<1>(0)) - node T_182100 = eq(T_181995, UInt<1>(0)) - node T_182101 = eq(T_182100, UInt<1>(0)) - node T_182102 = eq(T_181996, UInt<1>(0)) - node T_182103 = eq(T_182102, UInt<1>(0)) - node T_182104 = eq(T_181997, UInt<1>(0)) - node T_182105 = eq(T_182104, UInt<1>(0)) - node T_182106 = eq(T_181998, UInt<1>(0)) - node T_182107 = eq(T_182106, UInt<1>(0)) - node T_182108 = eq(T_181999, UInt<1>(0)) - node T_182109 = eq(T_182108, UInt<1>(0)) - node T_182110 = eq(T_182000, UInt<1>(0)) - node T_182111 = eq(T_182110, UInt<1>(0)) - node T_182112 = eq(T_182001, UInt<1>(0)) - node T_182113 = eq(T_182112, UInt<1>(0)) - node T_182114 = eq(T_182002, UInt<1>(0)) - node T_182115 = eq(T_182114, UInt<1>(0)) - node T_182116 = eq(T_182003, UInt<1>(0)) - node T_182117 = eq(T_182116, UInt<1>(0)) - node T_182118 = eq(T_182004, UInt<1>(0)) - node T_182119 = eq(T_182118, UInt<1>(0)) - node T_182120 = eq(T_182005, UInt<1>(0)) - node T_182121 = eq(T_182120, UInt<1>(0)) - node T_182122 = eq(T_182006, UInt<1>(0)) - node T_182123 = eq(T_182122, UInt<1>(0)) - node T_182124 = eq(T_182007, UInt<1>(0)) - node T_182125 = eq(T_182124, UInt<1>(0)) - node T_182126 = eq(T_182008, UInt<1>(0)) - node T_182127 = eq(T_182126, UInt<1>(0)) - node T_182128 = eq(T_182009, UInt<1>(0)) - node T_182129 = eq(T_182128, UInt<1>(0)) - node T_182130 = eq(T_182010, UInt<1>(0)) - node T_182131 = eq(T_182130, UInt<1>(0)) - node T_182132 = eq(T_182011, UInt<1>(0)) - node T_182133 = eq(T_182132, UInt<1>(0)) - node T_182134 = eq(T_182012, UInt<1>(0)) - node T_182135 = eq(T_182134, UInt<1>(0)) - node T_182136 = eq(T_182013, UInt<1>(0)) - node T_182137 = eq(T_182136, UInt<1>(0)) - wire T_182138 : UInt<1>[62] - T_182138[0] := T_182015 - T_182138[1] := T_182017 - T_182138[2] := T_182019 - T_182138[3] := T_182021 - T_182138[4] := T_182023 - T_182138[5] := T_182025 - T_182138[6] := T_182027 - T_182138[7] := T_182029 - T_182138[8] := T_182031 - T_182138[9] := T_182033 - T_182138[10] := T_182035 - T_182138[11] := T_182037 - T_182138[12] := T_182039 - T_182138[13] := T_182041 - T_182138[14] := T_182043 - T_182138[15] := T_182045 - T_182138[16] := T_182047 - T_182138[17] := T_182049 - T_182138[18] := T_182051 - T_182138[19] := T_182053 - T_182138[20] := T_182055 - T_182138[21] := T_182057 - T_182138[22] := T_182059 - T_182138[23] := T_182061 - T_182138[24] := T_182063 - T_182138[25] := T_182065 - T_182138[26] := T_182067 - T_182138[27] := T_182069 - T_182138[28] := T_182071 - T_182138[29] := T_182073 - T_182138[30] := T_182075 - T_182138[31] := T_182077 - T_182138[32] := T_182079 - T_182138[33] := T_182081 - T_182138[34] := T_182083 - T_182138[35] := T_182085 - T_182138[36] := T_182087 - T_182138[37] := T_182089 - T_182138[38] := T_182091 - T_182138[39] := T_182093 - T_182138[40] := T_182095 - T_182138[41] := T_182097 - T_182138[42] := T_182099 - T_182138[43] := T_182101 - T_182138[44] := T_182103 - T_182138[45] := T_182105 - T_182138[46] := T_182107 - T_182138[47] := T_182109 - T_182138[48] := T_182111 - T_182138[49] := T_182113 - T_182138[50] := T_182115 - T_182138[51] := T_182117 - T_182138[52] := T_182119 - T_182138[53] := T_182121 - T_182138[54] := T_182123 - T_182138[55] := T_182125 - T_182138[56] := T_182127 - T_182138[57] := T_182129 - T_182138[58] := T_182131 - T_182138[59] := T_182133 - T_182138[60] := T_182135 - T_182138[61] := T_182137 - node T_182139 = cat(T_182138[60], T_182138[59]) - node T_182140 = cat(T_182138[61], T_182139) - node T_182141 = cat(T_182138[58], T_182138[57]) - node T_182142 = cat(T_182138[56], T_182138[55]) - node T_182143 = cat(T_182141, T_182142) - node T_182144 = cat(T_182140, T_182143) - node T_182145 = cat(T_182138[54], T_182138[53]) - node T_182146 = cat(T_182138[52], T_182138[51]) - node T_182147 = cat(T_182145, T_182146) - node T_182148 = cat(T_182138[50], T_182138[49]) - node T_182149 = cat(T_182138[48], T_182138[47]) - node T_182150 = cat(T_182148, T_182149) - node T_182151 = cat(T_182147, T_182150) - node T_182152 = cat(T_182144, T_182151) - node T_182153 = cat(T_182138[46], T_182138[45]) - node T_182154 = cat(T_182138[44], T_182138[43]) - node T_182155 = cat(T_182153, T_182154) - node T_182156 = cat(T_182138[42], T_182138[41]) - node T_182157 = cat(T_182138[40], T_182138[39]) - node T_182158 = cat(T_182156, T_182157) - node T_182159 = cat(T_182155, T_182158) - node T_182160 = cat(T_182138[38], T_182138[37]) - node T_182161 = cat(T_182138[36], T_182138[35]) - node T_182162 = cat(T_182160, T_182161) - node T_182163 = cat(T_182138[34], T_182138[33]) - node T_182164 = cat(T_182138[32], T_182138[31]) - node T_182165 = cat(T_182163, T_182164) - node T_182166 = cat(T_182162, T_182165) - node T_182167 = cat(T_182159, T_182166) - node T_182168 = cat(T_182152, T_182167) - node T_182169 = cat(T_182138[29], T_182138[28]) - node T_182170 = cat(T_182138[30], T_182169) - node T_182171 = cat(T_182138[27], T_182138[26]) - node T_182172 = cat(T_182138[25], T_182138[24]) - node T_182173 = cat(T_182171, T_182172) - node T_182174 = cat(T_182170, T_182173) - node T_182175 = cat(T_182138[23], T_182138[22]) - node T_182176 = cat(T_182138[21], T_182138[20]) - node T_182177 = cat(T_182175, T_182176) - node T_182178 = cat(T_182138[19], T_182138[18]) - node T_182179 = cat(T_182138[17], T_182138[16]) - node T_182180 = cat(T_182178, T_182179) - node T_182181 = cat(T_182177, T_182180) - node T_182182 = cat(T_182174, T_182181) - node T_182183 = cat(T_182138[15], T_182138[14]) - node T_182184 = cat(T_182138[13], T_182138[12]) - node T_182185 = cat(T_182183, T_182184) - node T_182186 = cat(T_182138[11], T_182138[10]) - node T_182187 = cat(T_182138[9], T_182138[8]) - node T_182188 = cat(T_182186, T_182187) - node T_182189 = cat(T_182185, T_182188) - node T_182190 = cat(T_182138[7], T_182138[6]) - node T_182191 = cat(T_182138[5], T_182138[4]) - node T_182192 = cat(T_182190, T_182191) - node T_182193 = cat(T_182138[3], T_182138[2]) - node T_182194 = cat(T_182138[1], T_182138[0]) - node T_182195 = cat(T_182193, T_182194) - node T_182196 = cat(T_182192, T_182195) - node T_182197 = cat(T_182189, T_182196) - node T_182198 = cat(T_182182, T_182197) - node T_182199 = cat(T_182168, T_182198) - node T_182200 = bit(T_181951, 0) - node T_182201 = and(idxValid[0], T_182200) - node T_182202 = bit(T_182199, 0) - node T_182203 = and(T_182201, T_182202) - node T_182204 = bit(T_181951, 1) - node T_182205 = and(idxValid[1], T_182204) - node T_182206 = bit(T_182199, 1) - node T_182207 = and(T_182205, T_182206) - node T_182208 = bit(T_181951, 2) - node T_182209 = and(idxValid[2], T_182208) - node T_182210 = bit(T_182199, 2) - node T_182211 = and(T_182209, T_182210) - node T_182212 = bit(T_181951, 3) - node T_182213 = and(idxValid[3], T_182212) - node T_182214 = bit(T_182199, 3) - node T_182215 = and(T_182213, T_182214) - node T_182216 = bit(T_181951, 4) - node T_182217 = and(idxValid[4], T_182216) - node T_182218 = bit(T_182199, 4) - node T_182219 = and(T_182217, T_182218) - node T_182220 = bit(T_181951, 5) - node T_182221 = and(idxValid[5], T_182220) - node T_182222 = bit(T_182199, 5) - node T_182223 = and(T_182221, T_182222) - node T_182224 = bit(T_181951, 6) - node T_182225 = and(idxValid[6], T_182224) - node T_182226 = bit(T_182199, 6) - node T_182227 = and(T_182225, T_182226) - node T_182228 = bit(T_181951, 7) - node T_182229 = and(idxValid[7], T_182228) - node T_182230 = bit(T_182199, 7) - node T_182231 = and(T_182229, T_182230) - node T_182232 = bit(T_181951, 8) - node T_182233 = and(idxValid[8], T_182232) - node T_182234 = bit(T_182199, 8) - node T_182235 = and(T_182233, T_182234) - node T_182236 = bit(T_181951, 9) - node T_182237 = and(idxValid[9], T_182236) - node T_182238 = bit(T_182199, 9) - node T_182239 = and(T_182237, T_182238) - node T_182240 = bit(T_181951, 10) - node T_182241 = and(idxValid[10], T_182240) - node T_182242 = bit(T_182199, 10) - node T_182243 = and(T_182241, T_182242) - node T_182244 = bit(T_181951, 11) - node T_182245 = and(idxValid[11], T_182244) - node T_182246 = bit(T_182199, 11) - node T_182247 = and(T_182245, T_182246) - node T_182248 = bit(T_181951, 12) - node T_182249 = and(idxValid[12], T_182248) - node T_182250 = bit(T_182199, 12) - node T_182251 = and(T_182249, T_182250) - node T_182252 = bit(T_181951, 13) - node T_182253 = and(idxValid[13], T_182252) - node T_182254 = bit(T_182199, 13) - node T_182255 = and(T_182253, T_182254) - node T_182256 = bit(T_181951, 14) - node T_182257 = and(idxValid[14], T_182256) - node T_182258 = bit(T_182199, 14) - node T_182259 = and(T_182257, T_182258) - node T_182260 = bit(T_181951, 15) - node T_182261 = and(idxValid[15], T_182260) - node T_182262 = bit(T_182199, 15) - node T_182263 = and(T_182261, T_182262) - node T_182264 = bit(T_181951, 16) - node T_182265 = and(idxValid[16], T_182264) - node T_182266 = bit(T_182199, 16) - node T_182267 = and(T_182265, T_182266) - node T_182268 = bit(T_181951, 17) - node T_182269 = and(idxValid[17], T_182268) - node T_182270 = bit(T_182199, 17) - node T_182271 = and(T_182269, T_182270) - node T_182272 = bit(T_181951, 18) - node T_182273 = and(idxValid[18], T_182272) - node T_182274 = bit(T_182199, 18) - node T_182275 = and(T_182273, T_182274) - node T_182276 = bit(T_181951, 19) - node T_182277 = and(idxValid[19], T_182276) - node T_182278 = bit(T_182199, 19) - node T_182279 = and(T_182277, T_182278) - node T_182280 = bit(T_181951, 20) - node T_182281 = and(idxValid[20], T_182280) - node T_182282 = bit(T_182199, 20) - node T_182283 = and(T_182281, T_182282) - node T_182284 = bit(T_181951, 21) - node T_182285 = and(idxValid[21], T_182284) - node T_182286 = bit(T_182199, 21) - node T_182287 = and(T_182285, T_182286) - node T_182288 = bit(T_181951, 22) - node T_182289 = and(idxValid[22], T_182288) - node T_182290 = bit(T_182199, 22) - node T_182291 = and(T_182289, T_182290) - node T_182292 = bit(T_181951, 23) - node T_182293 = and(idxValid[23], T_182292) - node T_182294 = bit(T_182199, 23) - node T_182295 = and(T_182293, T_182294) - node T_182296 = bit(T_181951, 24) - node T_182297 = and(idxValid[24], T_182296) - node T_182298 = bit(T_182199, 24) - node T_182299 = and(T_182297, T_182298) - node T_182300 = bit(T_181951, 25) - node T_182301 = and(idxValid[25], T_182300) - node T_182302 = bit(T_182199, 25) - node T_182303 = and(T_182301, T_182302) - node T_182304 = bit(T_181951, 26) - node T_182305 = and(idxValid[26], T_182304) - node T_182306 = bit(T_182199, 26) - node T_182307 = and(T_182305, T_182306) - node T_182308 = bit(T_181951, 27) - node T_182309 = and(idxValid[27], T_182308) - node T_182310 = bit(T_182199, 27) - node T_182311 = and(T_182309, T_182310) - node T_182312 = bit(T_181951, 28) - node T_182313 = and(idxValid[28], T_182312) - node T_182314 = bit(T_182199, 28) - node T_182315 = and(T_182313, T_182314) - node T_182316 = bit(T_181951, 29) - node T_182317 = and(idxValid[29], T_182316) - node T_182318 = bit(T_182199, 29) - node T_182319 = and(T_182317, T_182318) - node T_182320 = bit(T_181951, 30) - node T_182321 = and(idxValid[30], T_182320) - node T_182322 = bit(T_182199, 30) - node T_182323 = and(T_182321, T_182322) - node T_182324 = bit(T_181951, 31) - node T_182325 = and(idxValid[31], T_182324) - node T_182326 = bit(T_182199, 31) - node T_182327 = and(T_182325, T_182326) - node T_182328 = bit(T_181951, 32) - node T_182329 = and(idxValid[32], T_182328) - node T_182330 = bit(T_182199, 32) - node T_182331 = and(T_182329, T_182330) - node T_182332 = bit(T_181951, 33) - node T_182333 = and(idxValid[33], T_182332) - node T_182334 = bit(T_182199, 33) - node T_182335 = and(T_182333, T_182334) - node T_182336 = bit(T_181951, 34) - node T_182337 = and(idxValid[34], T_182336) - node T_182338 = bit(T_182199, 34) - node T_182339 = and(T_182337, T_182338) - node T_182340 = bit(T_181951, 35) - node T_182341 = and(idxValid[35], T_182340) - node T_182342 = bit(T_182199, 35) - node T_182343 = and(T_182341, T_182342) - node T_182344 = bit(T_181951, 36) - node T_182345 = and(idxValid[36], T_182344) - node T_182346 = bit(T_182199, 36) - node T_182347 = and(T_182345, T_182346) - node T_182348 = bit(T_181951, 37) - node T_182349 = and(idxValid[37], T_182348) - node T_182350 = bit(T_182199, 37) - node T_182351 = and(T_182349, T_182350) - node T_182352 = bit(T_181951, 38) - node T_182353 = and(idxValid[38], T_182352) - node T_182354 = bit(T_182199, 38) - node T_182355 = and(T_182353, T_182354) - node T_182356 = bit(T_181951, 39) - node T_182357 = and(idxValid[39], T_182356) - node T_182358 = bit(T_182199, 39) - node T_182359 = and(T_182357, T_182358) - node T_182360 = bit(T_181951, 40) - node T_182361 = and(idxValid[40], T_182360) - node T_182362 = bit(T_182199, 40) - node T_182363 = and(T_182361, T_182362) - node T_182364 = bit(T_181951, 41) - node T_182365 = and(idxValid[41], T_182364) - node T_182366 = bit(T_182199, 41) - node T_182367 = and(T_182365, T_182366) - node T_182368 = bit(T_181951, 42) - node T_182369 = and(idxValid[42], T_182368) - node T_182370 = bit(T_182199, 42) - node T_182371 = and(T_182369, T_182370) - node T_182372 = bit(T_181951, 43) - node T_182373 = and(idxValid[43], T_182372) - node T_182374 = bit(T_182199, 43) - node T_182375 = and(T_182373, T_182374) - node T_182376 = bit(T_181951, 44) - node T_182377 = and(idxValid[44], T_182376) - node T_182378 = bit(T_182199, 44) - node T_182379 = and(T_182377, T_182378) - node T_182380 = bit(T_181951, 45) - node T_182381 = and(idxValid[45], T_182380) - node T_182382 = bit(T_182199, 45) - node T_182383 = and(T_182381, T_182382) - node T_182384 = bit(T_181951, 46) - node T_182385 = and(idxValid[46], T_182384) - node T_182386 = bit(T_182199, 46) - node T_182387 = and(T_182385, T_182386) - node T_182388 = bit(T_181951, 47) - node T_182389 = and(idxValid[47], T_182388) - node T_182390 = bit(T_182199, 47) - node T_182391 = and(T_182389, T_182390) - node T_182392 = bit(T_181951, 48) - node T_182393 = and(idxValid[48], T_182392) - node T_182394 = bit(T_182199, 48) - node T_182395 = and(T_182393, T_182394) - node T_182396 = bit(T_181951, 49) - node T_182397 = and(idxValid[49], T_182396) - node T_182398 = bit(T_182199, 49) - node T_182399 = and(T_182397, T_182398) - node T_182400 = bit(T_181951, 50) - node T_182401 = and(idxValid[50], T_182400) - node T_182402 = bit(T_182199, 50) - node T_182403 = and(T_182401, T_182402) - node T_182404 = bit(T_181951, 51) - node T_182405 = and(idxValid[51], T_182404) - node T_182406 = bit(T_182199, 51) - node T_182407 = and(T_182405, T_182406) - node T_182408 = bit(T_181951, 52) - node T_182409 = and(idxValid[52], T_182408) - node T_182410 = bit(T_182199, 52) - node T_182411 = and(T_182409, T_182410) - node T_182412 = bit(T_181951, 53) - node T_182413 = and(idxValid[53], T_182412) - node T_182414 = bit(T_182199, 53) - node T_182415 = and(T_182413, T_182414) - node T_182416 = bit(T_181951, 54) - node T_182417 = and(idxValid[54], T_182416) - node T_182418 = bit(T_182199, 54) - node T_182419 = and(T_182417, T_182418) - node T_182420 = bit(T_181951, 55) - node T_182421 = and(idxValid[55], T_182420) - node T_182422 = bit(T_182199, 55) - node T_182423 = and(T_182421, T_182422) - node T_182424 = bit(T_181951, 56) - node T_182425 = and(idxValid[56], T_182424) - node T_182426 = bit(T_182199, 56) - node T_182427 = and(T_182425, T_182426) - node T_182428 = bit(T_181951, 57) - node T_182429 = and(idxValid[57], T_182428) - node T_182430 = bit(T_182199, 57) - node T_182431 = and(T_182429, T_182430) - node T_182432 = bit(T_181951, 58) - node T_182433 = and(idxValid[58], T_182432) - node T_182434 = bit(T_182199, 58) - node T_182435 = and(T_182433, T_182434) - node T_182436 = bit(T_181951, 59) - node T_182437 = and(idxValid[59], T_182436) - node T_182438 = bit(T_182199, 59) - node T_182439 = and(T_182437, T_182438) - node T_182440 = bit(T_181951, 60) - node T_182441 = and(idxValid[60], T_182440) - node T_182442 = bit(T_182199, 60) - node T_182443 = and(T_182441, T_182442) - node T_182444 = bit(T_181951, 61) - node T_182445 = and(idxValid[61], T_182444) - node T_182446 = bit(T_182199, 61) - node T_182447 = and(T_182445, T_182446) - wire updateHits : UInt<1>[62] - updateHits[0] := T_182203 - updateHits[1] := T_182207 - updateHits[2] := T_182211 - updateHits[3] := T_182215 - updateHits[4] := T_182219 - updateHits[5] := T_182223 - updateHits[6] := T_182227 - updateHits[7] := T_182231 - updateHits[8] := T_182235 - updateHits[9] := T_182239 - updateHits[10] := T_182243 - updateHits[11] := T_182247 - updateHits[12] := T_182251 - updateHits[13] := T_182255 - updateHits[14] := T_182259 - updateHits[15] := T_182263 - updateHits[16] := T_182267 - updateHits[17] := T_182271 - updateHits[18] := T_182275 - updateHits[19] := T_182279 - updateHits[20] := T_182283 - updateHits[21] := T_182287 - updateHits[22] := T_182291 - updateHits[23] := T_182295 - updateHits[24] := T_182299 - updateHits[25] := T_182303 - updateHits[26] := T_182307 - updateHits[27] := T_182311 - updateHits[28] := T_182315 - updateHits[29] := T_182319 - updateHits[30] := T_182323 - updateHits[31] := T_182327 - updateHits[32] := T_182331 - updateHits[33] := T_182335 - updateHits[34] := T_182339 - updateHits[35] := T_182343 - updateHits[36] := T_182347 - updateHits[37] := T_182351 - updateHits[38] := T_182355 - updateHits[39] := T_182359 - updateHits[40] := T_182363 - updateHits[41] := T_182367 - updateHits[42] := T_182371 - updateHits[43] := T_182375 - updateHits[44] := T_182379 - updateHits[45] := T_182383 - updateHits[46] := T_182387 - updateHits[47] := T_182391 - updateHits[48] := T_182395 - updateHits[49] := T_182399 - updateHits[50] := T_182403 - updateHits[51] := T_182407 - updateHits[52] := T_182411 - updateHits[53] := T_182415 - updateHits[54] := T_182419 - updateHits[55] := T_182423 - updateHits[56] := T_182427 - updateHits[57] := T_182431 - updateHits[58] := T_182435 - updateHits[59] := T_182439 - updateHits[60] := T_182443 - updateHits[61] := T_182447 - reg T_182448 : UInt<16> - onreset T_182448 := UInt<16>(1) - when r_btb_update.valid : - node T_182449 = bit(T_182448, 0) - node T_182450 = bit(T_182448, 2) - node T_182451 = xor(T_182449, T_182450) - node T_182452 = bit(T_182448, 3) - node T_182453 = xor(T_182451, T_182452) - node T_182454 = bit(T_182448, 5) - node T_182455 = xor(T_182453, T_182454) - node T_182456 = bits(T_182448, 15, 1) - node T_182457 = cat(T_182455, T_182456) - T_182448 := T_182457 - node T_182458 = eq(updatePageHit, UInt<1>(0)) - node useUpdatePageHit = eq(T_182458, UInt<1>(0)) - node doIdxPageRepl = eq(useUpdatePageHit, UInt<1>(0)) - wire idxPageRepl : UInt - wire idxPageUpdateOH : UInt - idxPageUpdateOH := idxPageRepl - when useUpdatePageHit : idxPageUpdateOH := updatePageHit - wire idxPageReplEn : UInt<1> - idxPageReplEn := UInt<1>(0) - when doIdxPageRepl : idxPageReplEn := idxPageRepl - node T_182459 = shr(r_btb_update.bits.pc, 12) - node T_182460 = shr(req.bits.addr, 12) - node samePage = eq(T_182459, T_182460) - node T_182461 = not(idxPageReplEn) - node T_182462 = and(pageHit, T_182461) - node T_182463 = eq(T_182462, UInt<1>(0)) - node usePageHit = eq(T_182463, UInt<1>(0)) - node T_182464 = eq(samePage, UInt<1>(0)) - node T_182465 = eq(usePageHit, UInt<1>(0)) - node doTgtPageRepl = and(T_182464, T_182465) - node T_182466 = bits(idxPageUpdateOH, 4, 0) - node T_182467 = shl(T_182466, 1) - node T_182468 = bit(idxPageUpdateOH, 5) - node T_182469 = or(T_182467, T_182468) - wire tgtPageRepl : UInt<6> - tgtPageRepl := T_182469 - when samePage : tgtPageRepl := idxPageUpdateOH - wire T_182470 : UInt<6> - T_182470 := tgtPageRepl - when usePageHit : T_182470 := pageHit - node T_182471 = bits(T_182470, 5, 4) - node T_182472 = bits(T_182470, 3, 0) - node T_182473 = eq(T_182471, UInt<1>(0)) - node T_182474 = eq(T_182473, UInt<1>(0)) - node T_182475 = or(T_182471, T_182472) - node T_182476 = bits(T_182475, 3, 2) - node T_182477 = bits(T_182475, 1, 0) - node T_182478 = eq(T_182476, UInt<1>(0)) - node T_182479 = eq(T_182478, UInt<1>(0)) - node T_182480 = or(T_182476, T_182477) - node T_182481 = bit(T_182480, 1) - node T_182482 = cat(T_182479, T_182481) - node tgtPageUpdate = cat(T_182474, T_182482) - wire tgtPageReplEn : UInt<1> - tgtPageReplEn := UInt<1>(0) - when doTgtPageRepl : tgtPageReplEn := tgtPageRepl - node doPageRepl = or(doIdxPageRepl, doTgtPageRepl) - node pageReplEn = or(idxPageReplEn, tgtPageReplEn) - node T_182483 = and(r_btb_update.valid, doPageRepl) - reg T_182484 : UInt<3> - onreset T_182484 := UInt<3>(0) - when T_182483 : - node T_182485 = eq(T_182484, UInt<3>(5)) - node T_182486 = and(UInt<1>(1), T_182485) - node T_182487 = addw(T_182484, UInt<1>(1)) - wire T_182488 : UInt<3> - T_182488 := T_182487 - when T_182486 : T_182488 := UInt<1>(0) - T_182484 := T_182488 - node T_182489 = and(T_182483, T_182485) - node T_182490 = dshl(UInt<1>(1), T_182484) - idxPageRepl := T_182490 - when r_btb_update.valid : - node T_182491 = eq(req.bits.addr, r_btb_update.bits.target) - node T_182492 = eq(r_btb_update.bits.prediction.valid, UInt<1>(0)) - reg T_182493 : UInt<6> - onreset T_182493 := UInt<6>(0) - when T_182492 : - node T_182494 = eq(T_182493, UInt<6>(61)) - node T_182495 = and(UInt<1>(1), T_182494) - node T_182496 = addw(T_182493, UInt<1>(1)) - wire T_182497 : UInt<6> - T_182497 := T_182496 - when T_182495 : T_182497 := UInt<1>(0) - T_182493 := T_182497 - node T_182498 = and(T_182492, T_182494) - wire T_182499 : UInt<6> - T_182499 := T_182493 - when r_btb_update.bits.prediction.valid : T_182499 := r_btb_update.bits.prediction.bits.entry - - - node T_182500 = or(T_180672, T_180858) - node T_182501 = and(pageReplEn, T_182500) - node T_182502 = eq(T_182501, UInt<1>(0)) - node T_182503 = eq(T_182502, UInt<1>(0)) - when T_182503 : idxValid[0] := UInt<1>(0) - - - node T_182504 = or(T_180675, T_180861) - node T_182505 = and(pageReplEn, T_182504) - node T_182506 = eq(T_182505, UInt<1>(0)) - node T_182507 = eq(T_182506, UInt<1>(0)) - when T_182507 : idxValid[1] := UInt<1>(0) - - - node T_182508 = or(T_180678, T_180864) - node T_182509 = and(pageReplEn, T_182508) - node T_182510 = eq(T_182509, UInt<1>(0)) - node T_182511 = eq(T_182510, UInt<1>(0)) - when T_182511 : idxValid[2] := UInt<1>(0) - - - node T_182512 = or(T_180681, T_180867) - node T_182513 = and(pageReplEn, T_182512) - node T_182514 = eq(T_182513, UInt<1>(0)) - node T_182515 = eq(T_182514, UInt<1>(0)) - when T_182515 : idxValid[3] := UInt<1>(0) - - - node T_182516 = or(T_180684, T_180870) - node T_182517 = and(pageReplEn, T_182516) - node T_182518 = eq(T_182517, UInt<1>(0)) - node T_182519 = eq(T_182518, UInt<1>(0)) - when T_182519 : idxValid[4] := UInt<1>(0) - - - node T_182520 = or(T_180687, T_180873) - node T_182521 = and(pageReplEn, T_182520) - node T_182522 = eq(T_182521, UInt<1>(0)) - node T_182523 = eq(T_182522, UInt<1>(0)) - when T_182523 : idxValid[5] := UInt<1>(0) - - - node T_182524 = or(T_180690, T_180876) - node T_182525 = and(pageReplEn, T_182524) - node T_182526 = eq(T_182525, UInt<1>(0)) - node T_182527 = eq(T_182526, UInt<1>(0)) - when T_182527 : idxValid[6] := UInt<1>(0) - - - node T_182528 = or(T_180693, T_180879) - node T_182529 = and(pageReplEn, T_182528) - node T_182530 = eq(T_182529, UInt<1>(0)) - node T_182531 = eq(T_182530, UInt<1>(0)) - when T_182531 : idxValid[7] := UInt<1>(0) - - - node T_182532 = or(T_180696, T_180882) - node T_182533 = and(pageReplEn, T_182532) - node T_182534 = eq(T_182533, UInt<1>(0)) - node T_182535 = eq(T_182534, UInt<1>(0)) - when T_182535 : idxValid[8] := UInt<1>(0) - - - node T_182536 = or(T_180699, T_180885) - node T_182537 = and(pageReplEn, T_182536) - node T_182538 = eq(T_182537, UInt<1>(0)) - node T_182539 = eq(T_182538, UInt<1>(0)) - when T_182539 : idxValid[9] := UInt<1>(0) - - - node T_182540 = or(T_180702, T_180888) - node T_182541 = and(pageReplEn, T_182540) - node T_182542 = eq(T_182541, UInt<1>(0)) - node T_182543 = eq(T_182542, UInt<1>(0)) - when T_182543 : idxValid[10] := UInt<1>(0) - - - node T_182544 = or(T_180705, T_180891) - node T_182545 = and(pageReplEn, T_182544) - node T_182546 = eq(T_182545, UInt<1>(0)) - node T_182547 = eq(T_182546, UInt<1>(0)) - when T_182547 : idxValid[11] := UInt<1>(0) - - - node T_182548 = or(T_180708, T_180894) - node T_182549 = and(pageReplEn, T_182548) - node T_182550 = eq(T_182549, UInt<1>(0)) - node T_182551 = eq(T_182550, UInt<1>(0)) - when T_182551 : idxValid[12] := UInt<1>(0) - - - node T_182552 = or(T_180711, T_180897) - node T_182553 = and(pageReplEn, T_182552) - node T_182554 = eq(T_182553, UInt<1>(0)) - node T_182555 = eq(T_182554, UInt<1>(0)) - when T_182555 : idxValid[13] := UInt<1>(0) - - - node T_182556 = or(T_180714, T_180900) - node T_182557 = and(pageReplEn, T_182556) - node T_182558 = eq(T_182557, UInt<1>(0)) - node T_182559 = eq(T_182558, UInt<1>(0)) - when T_182559 : idxValid[14] := UInt<1>(0) - - - node T_182560 = or(T_180717, T_180903) - node T_182561 = and(pageReplEn, T_182560) - node T_182562 = eq(T_182561, UInt<1>(0)) - node T_182563 = eq(T_182562, UInt<1>(0)) - when T_182563 : idxValid[15] := UInt<1>(0) - - - node T_182564 = or(T_180720, T_180906) - node T_182565 = and(pageReplEn, T_182564) - node T_182566 = eq(T_182565, UInt<1>(0)) - node T_182567 = eq(T_182566, UInt<1>(0)) - when T_182567 : idxValid[16] := UInt<1>(0) - - - node T_182568 = or(T_180723, T_180909) - node T_182569 = and(pageReplEn, T_182568) - node T_182570 = eq(T_182569, UInt<1>(0)) - node T_182571 = eq(T_182570, UInt<1>(0)) - when T_182571 : idxValid[17] := UInt<1>(0) - - - node T_182572 = or(T_180726, T_180912) - node T_182573 = and(pageReplEn, T_182572) - node T_182574 = eq(T_182573, UInt<1>(0)) - node T_182575 = eq(T_182574, UInt<1>(0)) - when T_182575 : idxValid[18] := UInt<1>(0) - - - node T_182576 = or(T_180729, T_180915) - node T_182577 = and(pageReplEn, T_182576) - node T_182578 = eq(T_182577, UInt<1>(0)) - node T_182579 = eq(T_182578, UInt<1>(0)) - when T_182579 : idxValid[19] := UInt<1>(0) - - - node T_182580 = or(T_180732, T_180918) - node T_182581 = and(pageReplEn, T_182580) - node T_182582 = eq(T_182581, UInt<1>(0)) - node T_182583 = eq(T_182582, UInt<1>(0)) - when T_182583 : idxValid[20] := UInt<1>(0) - - - node T_182584 = or(T_180735, T_180921) - node T_182585 = and(pageReplEn, T_182584) - node T_182586 = eq(T_182585, UInt<1>(0)) - node T_182587 = eq(T_182586, UInt<1>(0)) - when T_182587 : idxValid[21] := UInt<1>(0) - - - node T_182588 = or(T_180738, T_180924) - node T_182589 = and(pageReplEn, T_182588) - node T_182590 = eq(T_182589, UInt<1>(0)) - node T_182591 = eq(T_182590, UInt<1>(0)) - when T_182591 : idxValid[22] := UInt<1>(0) - - - node T_182592 = or(T_180741, T_180927) - node T_182593 = and(pageReplEn, T_182592) - node T_182594 = eq(T_182593, UInt<1>(0)) - node T_182595 = eq(T_182594, UInt<1>(0)) - when T_182595 : idxValid[23] := UInt<1>(0) - - - node T_182596 = or(T_180744, T_180930) - node T_182597 = and(pageReplEn, T_182596) - node T_182598 = eq(T_182597, UInt<1>(0)) - node T_182599 = eq(T_182598, UInt<1>(0)) - when T_182599 : idxValid[24] := UInt<1>(0) - - - node T_182600 = or(T_180747, T_180933) - node T_182601 = and(pageReplEn, T_182600) - node T_182602 = eq(T_182601, UInt<1>(0)) - node T_182603 = eq(T_182602, UInt<1>(0)) - when T_182603 : idxValid[25] := UInt<1>(0) - - - node T_182604 = or(T_180750, T_180936) - node T_182605 = and(pageReplEn, T_182604) - node T_182606 = eq(T_182605, UInt<1>(0)) - node T_182607 = eq(T_182606, UInt<1>(0)) - when T_182607 : idxValid[26] := UInt<1>(0) - - - node T_182608 = or(T_180753, T_180939) - node T_182609 = and(pageReplEn, T_182608) - node T_182610 = eq(T_182609, UInt<1>(0)) - node T_182611 = eq(T_182610, UInt<1>(0)) - when T_182611 : idxValid[27] := UInt<1>(0) - - - node T_182612 = or(T_180756, T_180942) - node T_182613 = and(pageReplEn, T_182612) - node T_182614 = eq(T_182613, UInt<1>(0)) - node T_182615 = eq(T_182614, UInt<1>(0)) - when T_182615 : idxValid[28] := UInt<1>(0) - - - node T_182616 = or(T_180759, T_180945) - node T_182617 = and(pageReplEn, T_182616) - node T_182618 = eq(T_182617, UInt<1>(0)) - node T_182619 = eq(T_182618, UInt<1>(0)) - when T_182619 : idxValid[29] := UInt<1>(0) - - - node T_182620 = or(T_180762, T_180948) - node T_182621 = and(pageReplEn, T_182620) - node T_182622 = eq(T_182621, UInt<1>(0)) - node T_182623 = eq(T_182622, UInt<1>(0)) - when T_182623 : idxValid[30] := UInt<1>(0) - - - node T_182624 = or(T_180765, T_180951) - node T_182625 = and(pageReplEn, T_182624) - node T_182626 = eq(T_182625, UInt<1>(0)) - node T_182627 = eq(T_182626, UInt<1>(0)) - when T_182627 : idxValid[31] := UInt<1>(0) - - - node T_182628 = or(T_180768, T_180954) - node T_182629 = and(pageReplEn, T_182628) - node T_182630 = eq(T_182629, UInt<1>(0)) - node T_182631 = eq(T_182630, UInt<1>(0)) - when T_182631 : idxValid[32] := UInt<1>(0) - - - node T_182632 = or(T_180771, T_180957) - node T_182633 = and(pageReplEn, T_182632) - node T_182634 = eq(T_182633, UInt<1>(0)) - node T_182635 = eq(T_182634, UInt<1>(0)) - when T_182635 : idxValid[33] := UInt<1>(0) - - - node T_182636 = or(T_180774, T_180960) - node T_182637 = and(pageReplEn, T_182636) - node T_182638 = eq(T_182637, UInt<1>(0)) - node T_182639 = eq(T_182638, UInt<1>(0)) - when T_182639 : idxValid[34] := UInt<1>(0) - - - node T_182640 = or(T_180777, T_180963) - node T_182641 = and(pageReplEn, T_182640) - node T_182642 = eq(T_182641, UInt<1>(0)) - node T_182643 = eq(T_182642, UInt<1>(0)) - when T_182643 : idxValid[35] := UInt<1>(0) - - - node T_182644 = or(T_180780, T_180966) - node T_182645 = and(pageReplEn, T_182644) - node T_182646 = eq(T_182645, UInt<1>(0)) - node T_182647 = eq(T_182646, UInt<1>(0)) - when T_182647 : idxValid[36] := UInt<1>(0) - - - node T_182648 = or(T_180783, T_180969) - node T_182649 = and(pageReplEn, T_182648) - node T_182650 = eq(T_182649, UInt<1>(0)) - node T_182651 = eq(T_182650, UInt<1>(0)) - when T_182651 : idxValid[37] := UInt<1>(0) - - - node T_182652 = or(T_180786, T_180972) - node T_182653 = and(pageReplEn, T_182652) - node T_182654 = eq(T_182653, UInt<1>(0)) - node T_182655 = eq(T_182654, UInt<1>(0)) - when T_182655 : idxValid[38] := UInt<1>(0) - - - node T_182656 = or(T_180789, T_180975) - node T_182657 = and(pageReplEn, T_182656) - node T_182658 = eq(T_182657, UInt<1>(0)) - node T_182659 = eq(T_182658, UInt<1>(0)) - when T_182659 : idxValid[39] := UInt<1>(0) - - - node T_182660 = or(T_180792, T_180978) - node T_182661 = and(pageReplEn, T_182660) - node T_182662 = eq(T_182661, UInt<1>(0)) - node T_182663 = eq(T_182662, UInt<1>(0)) - when T_182663 : idxValid[40] := UInt<1>(0) - - - node T_182664 = or(T_180795, T_180981) - node T_182665 = and(pageReplEn, T_182664) - node T_182666 = eq(T_182665, UInt<1>(0)) - node T_182667 = eq(T_182666, UInt<1>(0)) - when T_182667 : idxValid[41] := UInt<1>(0) - - - node T_182668 = or(T_180798, T_180984) - node T_182669 = and(pageReplEn, T_182668) - node T_182670 = eq(T_182669, UInt<1>(0)) - node T_182671 = eq(T_182670, UInt<1>(0)) - when T_182671 : idxValid[42] := UInt<1>(0) - - - node T_182672 = or(T_180801, T_180987) - node T_182673 = and(pageReplEn, T_182672) - node T_182674 = eq(T_182673, UInt<1>(0)) - node T_182675 = eq(T_182674, UInt<1>(0)) - when T_182675 : idxValid[43] := UInt<1>(0) - - - node T_182676 = or(T_180804, T_180990) - node T_182677 = and(pageReplEn, T_182676) - node T_182678 = eq(T_182677, UInt<1>(0)) - node T_182679 = eq(T_182678, UInt<1>(0)) - when T_182679 : idxValid[44] := UInt<1>(0) - - - node T_182680 = or(T_180807, T_180993) - node T_182681 = and(pageReplEn, T_182680) - node T_182682 = eq(T_182681, UInt<1>(0)) - node T_182683 = eq(T_182682, UInt<1>(0)) - when T_182683 : idxValid[45] := UInt<1>(0) - - - node T_182684 = or(T_180810, T_180996) - node T_182685 = and(pageReplEn, T_182684) - node T_182686 = eq(T_182685, UInt<1>(0)) - node T_182687 = eq(T_182686, UInt<1>(0)) - when T_182687 : idxValid[46] := UInt<1>(0) - - - node T_182688 = or(T_180813, T_180999) - node T_182689 = and(pageReplEn, T_182688) - node T_182690 = eq(T_182689, UInt<1>(0)) - node T_182691 = eq(T_182690, UInt<1>(0)) - when T_182691 : idxValid[47] := UInt<1>(0) - - - node T_182692 = or(T_180816, T_181002) - node T_182693 = and(pageReplEn, T_182692) - node T_182694 = eq(T_182693, UInt<1>(0)) - node T_182695 = eq(T_182694, UInt<1>(0)) - when T_182695 : idxValid[48] := UInt<1>(0) - - - node T_182696 = or(T_180819, T_181005) - node T_182697 = and(pageReplEn, T_182696) - node T_182698 = eq(T_182697, UInt<1>(0)) - node T_182699 = eq(T_182698, UInt<1>(0)) - when T_182699 : idxValid[49] := UInt<1>(0) - - - node T_182700 = or(T_180822, T_181008) - node T_182701 = and(pageReplEn, T_182700) - node T_182702 = eq(T_182701, UInt<1>(0)) - node T_182703 = eq(T_182702, UInt<1>(0)) - when T_182703 : idxValid[50] := UInt<1>(0) - - - node T_182704 = or(T_180825, T_181011) - node T_182705 = and(pageReplEn, T_182704) - node T_182706 = eq(T_182705, UInt<1>(0)) - node T_182707 = eq(T_182706, UInt<1>(0)) - when T_182707 : idxValid[51] := UInt<1>(0) - - - node T_182708 = or(T_180828, T_181014) - node T_182709 = and(pageReplEn, T_182708) - node T_182710 = eq(T_182709, UInt<1>(0)) - node T_182711 = eq(T_182710, UInt<1>(0)) - when T_182711 : idxValid[52] := UInt<1>(0) - - - node T_182712 = or(T_180831, T_181017) - node T_182713 = and(pageReplEn, T_182712) - node T_182714 = eq(T_182713, UInt<1>(0)) - node T_182715 = eq(T_182714, UInt<1>(0)) - when T_182715 : idxValid[53] := UInt<1>(0) - - - node T_182716 = or(T_180834, T_181020) - node T_182717 = and(pageReplEn, T_182716) - node T_182718 = eq(T_182717, UInt<1>(0)) - node T_182719 = eq(T_182718, UInt<1>(0)) - when T_182719 : idxValid[54] := UInt<1>(0) - - - node T_182720 = or(T_180837, T_181023) - node T_182721 = and(pageReplEn, T_182720) - node T_182722 = eq(T_182721, UInt<1>(0)) - node T_182723 = eq(T_182722, UInt<1>(0)) - when T_182723 : idxValid[55] := UInt<1>(0) - - - node T_182724 = or(T_180840, T_181026) - node T_182725 = and(pageReplEn, T_182724) - node T_182726 = eq(T_182725, UInt<1>(0)) - node T_182727 = eq(T_182726, UInt<1>(0)) - when T_182727 : idxValid[56] := UInt<1>(0) - - - node T_182728 = or(T_180843, T_181029) - node T_182729 = and(pageReplEn, T_182728) - node T_182730 = eq(T_182729, UInt<1>(0)) - node T_182731 = eq(T_182730, UInt<1>(0)) - when T_182731 : idxValid[57] := UInt<1>(0) - - - node T_182732 = or(T_180846, T_181032) - node T_182733 = and(pageReplEn, T_182732) - node T_182734 = eq(T_182733, UInt<1>(0)) - node T_182735 = eq(T_182734, UInt<1>(0)) - when T_182735 : idxValid[58] := UInt<1>(0) - - - node T_182736 = or(T_180849, T_181035) - node T_182737 = and(pageReplEn, T_182736) - node T_182738 = eq(T_182737, UInt<1>(0)) - node T_182739 = eq(T_182738, UInt<1>(0)) - when T_182739 : idxValid[59] := UInt<1>(0) - - - node T_182740 = or(T_180852, T_181038) - node T_182741 = and(pageReplEn, T_182740) - node T_182742 = eq(T_182741, UInt<1>(0)) - node T_182743 = eq(T_182742, UInt<1>(0)) - when T_182743 : idxValid[60] := UInt<1>(0) - - - node T_182744 = or(T_180855, T_181041) - node T_182745 = and(pageReplEn, T_182744) - node T_182746 = eq(T_182745, UInt<1>(0)) - node T_182747 = eq(T_182746, UInt<1>(0)) - when T_182747 : idxValid[61] := UInt<1>(0) - accessor T_182748 = idxValid[T_182499] - T_182748 := UInt<1>(1) - accessor T_182749 = idxs[T_182499] - T_182749 := r_btb_update.bits.pc - accessor T_182750 = tgts[T_182499] - T_182750 := req.bits.addr - accessor T_182751 = idxPages[T_182499] - T_182751 := UInt<1>(0) - accessor T_182752 = tgtPages[T_182499] - T_182752 := tgtPageUpdate - accessor T_182753 = useRAS[T_182499] - T_182753 := r_btb_update.bits.isReturn - accessor T_182754 = isJump[T_182499] - T_182754 := r_btb_update.bits.isJump - accessor T_182755 = brIdx[T_182499] - T_182755 := UInt<1>(0) - node T_182756 = and(idxPageUpdateOH, UInt<6>(21)) - node T_182757 = eq(T_182756, UInt<1>(0)) - node T_182758 = eq(T_182757, UInt<1>(0)) - wire T_182759 : UInt<1> - T_182759 := doTgtPageRepl - when T_182758 : T_182759 := doIdxPageRepl - node T_182760 = shr(r_btb_update.bits.pc, 12) - node T_182761 = shr(req.bits.addr, 12) - wire T_182762 : UInt<27> - T_182762 := T_182761 - when T_182758 : T_182762 := T_182760 - - - node T_182763 = bit(pageReplEn, 0) - node T_182764 = and(T_182759, T_182763) - when T_182764 : - accessor T_182765 = pages[UInt<1>(0)] - T_182765 := T_182762 - - - node T_182766 = bit(pageReplEn, 2) - node T_182767 = and(T_182759, T_182766) - when T_182767 : - accessor T_182768 = pages[UInt<2>(2)] - T_182768 := T_182762 - - - node T_182769 = bit(pageReplEn, 4) - node T_182770 = and(T_182759, T_182769) - when T_182770 : - accessor T_182771 = pages[UInt<3>(4)] - T_182771 := T_182762 - wire T_182772 : UInt<1> - T_182772 := doIdxPageRepl - when T_182758 : T_182772 := doTgtPageRepl - node T_182773 = shr(req.bits.addr, 12) - node T_182774 = shr(r_btb_update.bits.pc, 12) - wire T_182775 : UInt<27> - T_182775 := T_182774 - when T_182758 : T_182775 := T_182773 - - - node T_182776 = bit(pageReplEn, 1) - node T_182777 = and(T_182772, T_182776) - when T_182777 : - accessor T_182778 = pages[UInt<1>(1)] - T_182778 := T_182775 - - - node T_182779 = bit(pageReplEn, 3) - node T_182780 = and(T_182772, T_182779) - when T_182780 : - accessor T_182781 = pages[UInt<2>(3)] - T_182781 := T_182775 - - - node T_182782 = bit(pageReplEn, 5) - node T_182783 = and(T_182772, T_182782) - when T_182783 : - accessor T_182784 = pages[UInt<3>(5)] - T_182784 := T_182775 - when doPageRepl : - node T_182785 = or(pageValid, pageReplEn) - pageValid := T_182785 - when invalidate : - idxValid := UInt<1>(0) - pageValid := UInt<1>(0) - node T_182786 = or(hits[0], hits[1]) - node T_182787 = or(T_182786, hits[2]) - node T_182788 = or(T_182787, hits[3]) - node T_182789 = or(T_182788, hits[4]) - node T_182790 = or(T_182789, hits[5]) - node T_182791 = or(T_182790, hits[6]) - node T_182792 = or(T_182791, hits[7]) - node T_182793 = or(T_182792, hits[8]) - node T_182794 = or(T_182793, hits[9]) - node T_182795 = or(T_182794, hits[10]) - node T_182796 = or(T_182795, hits[11]) - node T_182797 = or(T_182796, hits[12]) - node T_182798 = or(T_182797, hits[13]) - node T_182799 = or(T_182798, hits[14]) - node T_182800 = or(T_182799, hits[15]) - node T_182801 = or(T_182800, hits[16]) - node T_182802 = or(T_182801, hits[17]) - node T_182803 = or(T_182802, hits[18]) - node T_182804 = or(T_182803, hits[19]) - node T_182805 = or(T_182804, hits[20]) - node T_182806 = or(T_182805, hits[21]) - node T_182807 = or(T_182806, hits[22]) - node T_182808 = or(T_182807, hits[23]) - node T_182809 = or(T_182808, hits[24]) - node T_182810 = or(T_182809, hits[25]) - node T_182811 = or(T_182810, hits[26]) - node T_182812 = or(T_182811, hits[27]) - node T_182813 = or(T_182812, hits[28]) - node T_182814 = or(T_182813, hits[29]) - node T_182815 = or(T_182814, hits[30]) - node T_182816 = or(T_182815, hits[31]) - node T_182817 = or(T_182816, hits[32]) - node T_182818 = or(T_182817, hits[33]) - node T_182819 = or(T_182818, hits[34]) - node T_182820 = or(T_182819, hits[35]) - node T_182821 = or(T_182820, hits[36]) - node T_182822 = or(T_182821, hits[37]) - node T_182823 = or(T_182822, hits[38]) - node T_182824 = or(T_182823, hits[39]) - node T_182825 = or(T_182824, hits[40]) - node T_182826 = or(T_182825, hits[41]) - node T_182827 = or(T_182826, hits[42]) - node T_182828 = or(T_182827, hits[43]) - node T_182829 = or(T_182828, hits[44]) - node T_182830 = or(T_182829, hits[45]) - node T_182831 = or(T_182830, hits[46]) - node T_182832 = or(T_182831, hits[47]) - node T_182833 = or(T_182832, hits[48]) - node T_182834 = or(T_182833, hits[49]) - node T_182835 = or(T_182834, hits[50]) - node T_182836 = or(T_182835, hits[51]) - node T_182837 = or(T_182836, hits[52]) - node T_182838 = or(T_182837, hits[53]) - node T_182839 = or(T_182838, hits[54]) - node T_182840 = or(T_182839, hits[55]) - node T_182841 = or(T_182840, hits[56]) - node T_182842 = or(T_182841, hits[57]) - node T_182843 = or(T_182842, hits[58]) - node T_182844 = or(T_182843, hits[59]) - node T_182845 = or(T_182844, hits[60]) - node T_182846 = or(T_182845, hits[61]) - resp.valid := T_182846 - resp.bits.taken := resp.valid - wire T_182847 : UInt<1> - T_182847 := UInt<1>(0) - when hits[0] : T_182847 := T_180858 - wire T_182848 : UInt<1> - T_182848 := UInt<1>(0) - when hits[1] : T_182848 := T_180861 - wire T_182849 : UInt<1> - T_182849 := UInt<1>(0) - when hits[2] : T_182849 := T_180864 - wire T_182850 : UInt<1> - T_182850 := UInt<1>(0) - when hits[3] : T_182850 := T_180867 - wire T_182851 : UInt<1> - T_182851 := UInt<1>(0) - when hits[4] : T_182851 := T_180870 - wire T_182852 : UInt<1> - T_182852 := UInt<1>(0) - when hits[5] : T_182852 := T_180873 - wire T_182853 : UInt<1> - T_182853 := UInt<1>(0) - when hits[6] : T_182853 := T_180876 - wire T_182854 : UInt<1> - T_182854 := UInt<1>(0) - when hits[7] : T_182854 := T_180879 - wire T_182855 : UInt<1> - T_182855 := UInt<1>(0) - when hits[8] : T_182855 := T_180882 - wire T_182856 : UInt<1> - T_182856 := UInt<1>(0) - when hits[9] : T_182856 := T_180885 - wire T_182857 : UInt<1> - T_182857 := UInt<1>(0) - when hits[10] : T_182857 := T_180888 - wire T_182858 : UInt<1> - T_182858 := UInt<1>(0) - when hits[11] : T_182858 := T_180891 - wire T_182859 : UInt<1> - T_182859 := UInt<1>(0) - when hits[12] : T_182859 := T_180894 - wire T_182860 : UInt<1> - T_182860 := UInt<1>(0) - when hits[13] : T_182860 := T_180897 - wire T_182861 : UInt<1> - T_182861 := UInt<1>(0) - when hits[14] : T_182861 := T_180900 - wire T_182862 : UInt<1> - T_182862 := UInt<1>(0) - when hits[15] : T_182862 := T_180903 - wire T_182863 : UInt<1> - T_182863 := UInt<1>(0) - when hits[16] : T_182863 := T_180906 - wire T_182864 : UInt<1> - T_182864 := UInt<1>(0) - when hits[17] : T_182864 := T_180909 - wire T_182865 : UInt<1> - T_182865 := UInt<1>(0) - when hits[18] : T_182865 := T_180912 - wire T_182866 : UInt<1> - T_182866 := UInt<1>(0) - when hits[19] : T_182866 := T_180915 - wire T_182867 : UInt<1> - T_182867 := UInt<1>(0) - when hits[20] : T_182867 := T_180918 - wire T_182868 : UInt<1> - T_182868 := UInt<1>(0) - when hits[21] : T_182868 := T_180921 - wire T_182869 : UInt<1> - T_182869 := UInt<1>(0) - when hits[22] : T_182869 := T_180924 - wire T_182870 : UInt<1> - T_182870 := UInt<1>(0) - when hits[23] : T_182870 := T_180927 - wire T_182871 : UInt<1> - T_182871 := UInt<1>(0) - when hits[24] : T_182871 := T_180930 - wire T_182872 : UInt<1> - T_182872 := UInt<1>(0) - when hits[25] : T_182872 := T_180933 - wire T_182873 : UInt<1> - T_182873 := UInt<1>(0) - when hits[26] : T_182873 := T_180936 - wire T_182874 : UInt<1> - T_182874 := UInt<1>(0) - when hits[27] : T_182874 := T_180939 - wire T_182875 : UInt<1> - T_182875 := UInt<1>(0) - when hits[28] : T_182875 := T_180942 - wire T_182876 : UInt<1> - T_182876 := UInt<1>(0) - when hits[29] : T_182876 := T_180945 - wire T_182877 : UInt<1> - T_182877 := UInt<1>(0) - when hits[30] : T_182877 := T_180948 - wire T_182878 : UInt<1> - T_182878 := UInt<1>(0) - when hits[31] : T_182878 := T_180951 - wire T_182879 : UInt<1> - T_182879 := UInt<1>(0) - when hits[32] : T_182879 := T_180954 - wire T_182880 : UInt<1> - T_182880 := UInt<1>(0) - when hits[33] : T_182880 := T_180957 - wire T_182881 : UInt<1> - T_182881 := UInt<1>(0) - when hits[34] : T_182881 := T_180960 - wire T_182882 : UInt<1> - T_182882 := UInt<1>(0) - when hits[35] : T_182882 := T_180963 - wire T_182883 : UInt<1> - T_182883 := UInt<1>(0) - when hits[36] : T_182883 := T_180966 - wire T_182884 : UInt<1> - T_182884 := UInt<1>(0) - when hits[37] : T_182884 := T_180969 - wire T_182885 : UInt<1> - T_182885 := UInt<1>(0) - when hits[38] : T_182885 := T_180972 - wire T_182886 : UInt<1> - T_182886 := UInt<1>(0) - when hits[39] : T_182886 := T_180975 - wire T_182887 : UInt<1> - T_182887 := UInt<1>(0) - when hits[40] : T_182887 := T_180978 - wire T_182888 : UInt<1> - T_182888 := UInt<1>(0) - when hits[41] : T_182888 := T_180981 - wire T_182889 : UInt<1> - T_182889 := UInt<1>(0) - when hits[42] : T_182889 := T_180984 - wire T_182890 : UInt<1> - T_182890 := UInt<1>(0) - when hits[43] : T_182890 := T_180987 - wire T_182891 : UInt<1> - T_182891 := UInt<1>(0) - when hits[44] : T_182891 := T_180990 - wire T_182892 : UInt<1> - T_182892 := UInt<1>(0) - when hits[45] : T_182892 := T_180993 - wire T_182893 : UInt<1> - T_182893 := UInt<1>(0) - when hits[46] : T_182893 := T_180996 - wire T_182894 : UInt<1> - T_182894 := UInt<1>(0) - when hits[47] : T_182894 := T_180999 - wire T_182895 : UInt<1> - T_182895 := UInt<1>(0) - when hits[48] : T_182895 := T_181002 - wire T_182896 : UInt<1> - T_182896 := UInt<1>(0) - when hits[49] : T_182896 := T_181005 - wire T_182897 : UInt<1> - T_182897 := UInt<1>(0) - when hits[50] : T_182897 := T_181008 - wire T_182898 : UInt<1> - T_182898 := UInt<1>(0) - when hits[51] : T_182898 := T_181011 - wire T_182899 : UInt<1> - T_182899 := UInt<1>(0) - when hits[52] : T_182899 := T_181014 - wire T_182900 : UInt<1> - T_182900 := UInt<1>(0) - when hits[53] : T_182900 := T_181017 - wire T_182901 : UInt<1> - T_182901 := UInt<1>(0) - when hits[54] : T_182901 := T_181020 - wire T_182902 : UInt<1> - T_182902 := UInt<1>(0) - when hits[55] : T_182902 := T_181023 - wire T_182903 : UInt<1> - T_182903 := UInt<1>(0) - when hits[56] : T_182903 := T_181026 - wire T_182904 : UInt<1> - T_182904 := UInt<1>(0) - when hits[57] : T_182904 := T_181029 - wire T_182905 : UInt<1> - T_182905 := UInt<1>(0) - when hits[58] : T_182905 := T_181032 - wire T_182906 : UInt<1> - T_182906 := UInt<1>(0) - when hits[59] : T_182906 := T_181035 - wire T_182907 : UInt<1> - T_182907 := UInt<1>(0) - when hits[60] : T_182907 := T_181038 - wire T_182908 : UInt<1> - T_182908 := UInt<1>(0) - when hits[61] : T_182908 := T_181041 - node T_182909 = or(T_182847, T_182848) - node T_182910 = or(T_182909, T_182849) - node T_182911 = or(T_182910, T_182850) - node T_182912 = or(T_182911, T_182851) - node T_182913 = or(T_182912, T_182852) - node T_182914 = or(T_182913, T_182853) - node T_182915 = or(T_182914, T_182854) - node T_182916 = or(T_182915, T_182855) - node T_182917 = or(T_182916, T_182856) - node T_182918 = or(T_182917, T_182857) - node T_182919 = or(T_182918, T_182858) - node T_182920 = or(T_182919, T_182859) - node T_182921 = or(T_182920, T_182860) - node T_182922 = or(T_182921, T_182861) - node T_182923 = or(T_182922, T_182862) - node T_182924 = or(T_182923, T_182863) - node T_182925 = or(T_182924, T_182864) - node T_182926 = or(T_182925, T_182865) - node T_182927 = or(T_182926, T_182866) - node T_182928 = or(T_182927, T_182867) - node T_182929 = or(T_182928, T_182868) - node T_182930 = or(T_182929, T_182869) - node T_182931 = or(T_182930, T_182870) - node T_182932 = or(T_182931, T_182871) - node T_182933 = or(T_182932, T_182872) - node T_182934 = or(T_182933, T_182873) - node T_182935 = or(T_182934, T_182874) - node T_182936 = or(T_182935, T_182875) - node T_182937 = or(T_182936, T_182876) - node T_182938 = or(T_182937, T_182877) - node T_182939 = or(T_182938, T_182878) - node T_182940 = or(T_182939, T_182879) - node T_182941 = or(T_182940, T_182880) - node T_182942 = or(T_182941, T_182881) - node T_182943 = or(T_182942, T_182882) - node T_182944 = or(T_182943, T_182883) - node T_182945 = or(T_182944, T_182884) - node T_182946 = or(T_182945, T_182885) - node T_182947 = or(T_182946, T_182886) - node T_182948 = or(T_182947, T_182887) - node T_182949 = or(T_182948, T_182888) - node T_182950 = or(T_182949, T_182889) - node T_182951 = or(T_182950, T_182890) - node T_182952 = or(T_182951, T_182891) - node T_182953 = or(T_182952, T_182892) - node T_182954 = or(T_182953, T_182893) - node T_182955 = or(T_182954, T_182894) - node T_182956 = or(T_182955, T_182895) - node T_182957 = or(T_182956, T_182896) - node T_182958 = or(T_182957, T_182897) - node T_182959 = or(T_182958, T_182898) - node T_182960 = or(T_182959, T_182899) - node T_182961 = or(T_182960, T_182900) - node T_182962 = or(T_182961, T_182901) - node T_182963 = or(T_182962, T_182902) - node T_182964 = or(T_182963, T_182903) - node T_182965 = or(T_182964, T_182904) - node T_182966 = or(T_182965, T_182905) - node T_182967 = or(T_182966, T_182906) - node T_182968 = or(T_182967, T_182907) - node T_182969 = or(T_182968, T_182908) - wire T_182970 : UInt<6> - node T_182971 = bits(T_182969, 5, 0) - T_182970 := T_182971 - node T_182972 = bit(T_182970, 0) - node T_182973 = bit(T_182970, 1) - node T_182974 = bit(T_182970, 2) - node T_182975 = bit(T_182970, 3) - node T_182976 = bit(T_182970, 4) - node T_182977 = bit(T_182970, 5) - accessor T_182978 = pages[UInt<1>(0)] - accessor T_182979 = pages[UInt<1>(1)] - accessor T_182980 = pages[UInt<2>(2)] - accessor T_182981 = pages[UInt<2>(3)] - accessor T_182982 = pages[UInt<3>(4)] - accessor T_182983 = pages[UInt<3>(5)] - wire T_182984 : UInt<1> - T_182984 := UInt<1>(0) - when T_182972 : T_182984 := T_182978 - wire T_182985 : UInt<1> - T_182985 := UInt<1>(0) - when T_182973 : T_182985 := T_182979 - wire T_182986 : UInt<1> - T_182986 := UInt<1>(0) - when T_182974 : T_182986 := T_182980 - wire T_182987 : UInt<1> - T_182987 := UInt<1>(0) - when T_182975 : T_182987 := T_182981 - wire T_182988 : UInt<1> - T_182988 := UInt<1>(0) - when T_182976 : T_182988 := T_182982 - wire T_182989 : UInt<1> - T_182989 := UInt<1>(0) - when T_182977 : T_182989 := T_182983 - node T_182990 = or(T_182984, T_182985) - node T_182991 = or(T_182990, T_182986) - node T_182992 = or(T_182991, T_182987) - node T_182993 = or(T_182992, T_182988) - node T_182994 = or(T_182993, T_182989) - wire T_182995 : UInt<27> - node T_182996 = bits(T_182994, 26, 0) - T_182995 := T_182996 - accessor T_182997 = tgts[UInt<1>(0)] - accessor T_182998 = tgts[UInt<1>(1)] - accessor T_182999 = tgts[UInt<2>(2)] - accessor T_183000 = tgts[UInt<2>(3)] - accessor T_183001 = tgts[UInt<3>(4)] - accessor T_183002 = tgts[UInt<3>(5)] - accessor T_183003 = tgts[UInt<3>(6)] - accessor T_183004 = tgts[UInt<3>(7)] - accessor T_183005 = tgts[UInt<4>(8)] - accessor T_183006 = tgts[UInt<4>(9)] - accessor T_183007 = tgts[UInt<4>(10)] - accessor T_183008 = tgts[UInt<4>(11)] - accessor T_183009 = tgts[UInt<4>(12)] - accessor T_183010 = tgts[UInt<4>(13)] - accessor T_183011 = tgts[UInt<4>(14)] - accessor T_183012 = tgts[UInt<4>(15)] - accessor T_183013 = tgts[UInt<5>(16)] - accessor T_183014 = tgts[UInt<5>(17)] - accessor T_183015 = tgts[UInt<5>(18)] - accessor T_183016 = tgts[UInt<5>(19)] - accessor T_183017 = tgts[UInt<5>(20)] - accessor T_183018 = tgts[UInt<5>(21)] - accessor T_183019 = tgts[UInt<5>(22)] - accessor T_183020 = tgts[UInt<5>(23)] - accessor T_183021 = tgts[UInt<5>(24)] - accessor T_183022 = tgts[UInt<5>(25)] - accessor T_183023 = tgts[UInt<5>(26)] - accessor T_183024 = tgts[UInt<5>(27)] - accessor T_183025 = tgts[UInt<5>(28)] - accessor T_183026 = tgts[UInt<5>(29)] - accessor T_183027 = tgts[UInt<5>(30)] - accessor T_183028 = tgts[UInt<5>(31)] - accessor T_183029 = tgts[UInt<6>(32)] - accessor T_183030 = tgts[UInt<6>(33)] - accessor T_183031 = tgts[UInt<6>(34)] - accessor T_183032 = tgts[UInt<6>(35)] - accessor T_183033 = tgts[UInt<6>(36)] - accessor T_183034 = tgts[UInt<6>(37)] - accessor T_183035 = tgts[UInt<6>(38)] - accessor T_183036 = tgts[UInt<6>(39)] - accessor T_183037 = tgts[UInt<6>(40)] - accessor T_183038 = tgts[UInt<6>(41)] - accessor T_183039 = tgts[UInt<6>(42)] - accessor T_183040 = tgts[UInt<6>(43)] - accessor T_183041 = tgts[UInt<6>(44)] - accessor T_183042 = tgts[UInt<6>(45)] - accessor T_183043 = tgts[UInt<6>(46)] - accessor T_183044 = tgts[UInt<6>(47)] - accessor T_183045 = tgts[UInt<6>(48)] - accessor T_183046 = tgts[UInt<6>(49)] - accessor T_183047 = tgts[UInt<6>(50)] - accessor T_183048 = tgts[UInt<6>(51)] - accessor T_183049 = tgts[UInt<6>(52)] - accessor T_183050 = tgts[UInt<6>(53)] - accessor T_183051 = tgts[UInt<6>(54)] - accessor T_183052 = tgts[UInt<6>(55)] - accessor T_183053 = tgts[UInt<6>(56)] - accessor T_183054 = tgts[UInt<6>(57)] - accessor T_183055 = tgts[UInt<6>(58)] - accessor T_183056 = tgts[UInt<6>(59)] - accessor T_183057 = tgts[UInt<6>(60)] - accessor T_183058 = tgts[UInt<6>(61)] - wire T_183059 : UInt<1> - T_183059 := UInt<1>(0) - when hits[0] : T_183059 := T_182997 - wire T_183060 : UInt<1> - T_183060 := UInt<1>(0) - when hits[1] : T_183060 := T_182998 - wire T_183061 : UInt<1> - T_183061 := UInt<1>(0) - when hits[2] : T_183061 := T_182999 - wire T_183062 : UInt<1> - T_183062 := UInt<1>(0) - when hits[3] : T_183062 := T_183000 - wire T_183063 : UInt<1> - T_183063 := UInt<1>(0) - when hits[4] : T_183063 := T_183001 - wire T_183064 : UInt<1> - T_183064 := UInt<1>(0) - when hits[5] : T_183064 := T_183002 - wire T_183065 : UInt<1> - T_183065 := UInt<1>(0) - when hits[6] : T_183065 := T_183003 - wire T_183066 : UInt<1> - T_183066 := UInt<1>(0) - when hits[7] : T_183066 := T_183004 - wire T_183067 : UInt<1> - T_183067 := UInt<1>(0) - when hits[8] : T_183067 := T_183005 - wire T_183068 : UInt<1> - T_183068 := UInt<1>(0) - when hits[9] : T_183068 := T_183006 - wire T_183069 : UInt<1> - T_183069 := UInt<1>(0) - when hits[10] : T_183069 := T_183007 - wire T_183070 : UInt<1> - T_183070 := UInt<1>(0) - when hits[11] : T_183070 := T_183008 - wire T_183071 : UInt<1> - T_183071 := UInt<1>(0) - when hits[12] : T_183071 := T_183009 - wire T_183072 : UInt<1> - T_183072 := UInt<1>(0) - when hits[13] : T_183072 := T_183010 - wire T_183073 : UInt<1> - T_183073 := UInt<1>(0) - when hits[14] : T_183073 := T_183011 - wire T_183074 : UInt<1> - T_183074 := UInt<1>(0) - when hits[15] : T_183074 := T_183012 - wire T_183075 : UInt<1> - T_183075 := UInt<1>(0) - when hits[16] : T_183075 := T_183013 - wire T_183076 : UInt<1> - T_183076 := UInt<1>(0) - when hits[17] : T_183076 := T_183014 - wire T_183077 : UInt<1> - T_183077 := UInt<1>(0) - when hits[18] : T_183077 := T_183015 - wire T_183078 : UInt<1> - T_183078 := UInt<1>(0) - when hits[19] : T_183078 := T_183016 - wire T_183079 : UInt<1> - T_183079 := UInt<1>(0) - when hits[20] : T_183079 := T_183017 - wire T_183080 : UInt<1> - T_183080 := UInt<1>(0) - when hits[21] : T_183080 := T_183018 - wire T_183081 : UInt<1> - T_183081 := UInt<1>(0) - when hits[22] : T_183081 := T_183019 - wire T_183082 : UInt<1> - T_183082 := UInt<1>(0) - when hits[23] : T_183082 := T_183020 - wire T_183083 : UInt<1> - T_183083 := UInt<1>(0) - when hits[24] : T_183083 := T_183021 - wire T_183084 : UInt<1> - T_183084 := UInt<1>(0) - when hits[25] : T_183084 := T_183022 - wire T_183085 : UInt<1> - T_183085 := UInt<1>(0) - when hits[26] : T_183085 := T_183023 - wire T_183086 : UInt<1> - T_183086 := UInt<1>(0) - when hits[27] : T_183086 := T_183024 - wire T_183087 : UInt<1> - T_183087 := UInt<1>(0) - when hits[28] : T_183087 := T_183025 - wire T_183088 : UInt<1> - T_183088 := UInt<1>(0) - when hits[29] : T_183088 := T_183026 - wire T_183089 : UInt<1> - T_183089 := UInt<1>(0) - when hits[30] : T_183089 := T_183027 - wire T_183090 : UInt<1> - T_183090 := UInt<1>(0) - when hits[31] : T_183090 := T_183028 - wire T_183091 : UInt<1> - T_183091 := UInt<1>(0) - when hits[32] : T_183091 := T_183029 - wire T_183092 : UInt<1> - T_183092 := UInt<1>(0) - when hits[33] : T_183092 := T_183030 - wire T_183093 : UInt<1> - T_183093 := UInt<1>(0) - when hits[34] : T_183093 := T_183031 - wire T_183094 : UInt<1> - T_183094 := UInt<1>(0) - when hits[35] : T_183094 := T_183032 - wire T_183095 : UInt<1> - T_183095 := UInt<1>(0) - when hits[36] : T_183095 := T_183033 - wire T_183096 : UInt<1> - T_183096 := UInt<1>(0) - when hits[37] : T_183096 := T_183034 - wire T_183097 : UInt<1> - T_183097 := UInt<1>(0) - when hits[38] : T_183097 := T_183035 - wire T_183098 : UInt<1> - T_183098 := UInt<1>(0) - when hits[39] : T_183098 := T_183036 - wire T_183099 : UInt<1> - T_183099 := UInt<1>(0) - when hits[40] : T_183099 := T_183037 - wire T_183100 : UInt<1> - T_183100 := UInt<1>(0) - when hits[41] : T_183100 := T_183038 - wire T_183101 : UInt<1> - T_183101 := UInt<1>(0) - when hits[42] : T_183101 := T_183039 - wire T_183102 : UInt<1> - T_183102 := UInt<1>(0) - when hits[43] : T_183102 := T_183040 - wire T_183103 : UInt<1> - T_183103 := UInt<1>(0) - when hits[44] : T_183103 := T_183041 - wire T_183104 : UInt<1> - T_183104 := UInt<1>(0) - when hits[45] : T_183104 := T_183042 - wire T_183105 : UInt<1> - T_183105 := UInt<1>(0) - when hits[46] : T_183105 := T_183043 - wire T_183106 : UInt<1> - T_183106 := UInt<1>(0) - when hits[47] : T_183106 := T_183044 - wire T_183107 : UInt<1> - T_183107 := UInt<1>(0) - when hits[48] : T_183107 := T_183045 - wire T_183108 : UInt<1> - T_183108 := UInt<1>(0) - when hits[49] : T_183108 := T_183046 - wire T_183109 : UInt<1> - T_183109 := UInt<1>(0) - when hits[50] : T_183109 := T_183047 - wire T_183110 : UInt<1> - T_183110 := UInt<1>(0) - when hits[51] : T_183110 := T_183048 - wire T_183111 : UInt<1> - T_183111 := UInt<1>(0) - when hits[52] : T_183111 := T_183049 - wire T_183112 : UInt<1> - T_183112 := UInt<1>(0) - when hits[53] : T_183112 := T_183050 - wire T_183113 : UInt<1> - T_183113 := UInt<1>(0) - when hits[54] : T_183113 := T_183051 - wire T_183114 : UInt<1> - T_183114 := UInt<1>(0) - when hits[55] : T_183114 := T_183052 - wire T_183115 : UInt<1> - T_183115 := UInt<1>(0) - when hits[56] : T_183115 := T_183053 - wire T_183116 : UInt<1> - T_183116 := UInt<1>(0) - when hits[57] : T_183116 := T_183054 - wire T_183117 : UInt<1> - T_183117 := UInt<1>(0) - when hits[58] : T_183117 := T_183055 - wire T_183118 : UInt<1> - T_183118 := UInt<1>(0) - when hits[59] : T_183118 := T_183056 - wire T_183119 : UInt<1> - T_183119 := UInt<1>(0) - when hits[60] : T_183119 := T_183057 - wire T_183120 : UInt<1> - T_183120 := UInt<1>(0) - when hits[61] : T_183120 := T_183058 - node T_183121 = or(T_183059, T_183060) - node T_183122 = or(T_183121, T_183061) - node T_183123 = or(T_183122, T_183062) - node T_183124 = or(T_183123, T_183063) - node T_183125 = or(T_183124, T_183064) - node T_183126 = or(T_183125, T_183065) - node T_183127 = or(T_183126, T_183066) - node T_183128 = or(T_183127, T_183067) - node T_183129 = or(T_183128, T_183068) - node T_183130 = or(T_183129, T_183069) - node T_183131 = or(T_183130, T_183070) - node T_183132 = or(T_183131, T_183071) - node T_183133 = or(T_183132, T_183072) - node T_183134 = or(T_183133, T_183073) - node T_183135 = or(T_183134, T_183074) - node T_183136 = or(T_183135, T_183075) - node T_183137 = or(T_183136, T_183076) - node T_183138 = or(T_183137, T_183077) - node T_183139 = or(T_183138, T_183078) - node T_183140 = or(T_183139, T_183079) - node T_183141 = or(T_183140, T_183080) - node T_183142 = or(T_183141, T_183081) - node T_183143 = or(T_183142, T_183082) - node T_183144 = or(T_183143, T_183083) - node T_183145 = or(T_183144, T_183084) - node T_183146 = or(T_183145, T_183085) - node T_183147 = or(T_183146, T_183086) - node T_183148 = or(T_183147, T_183087) - node T_183149 = or(T_183148, T_183088) - node T_183150 = or(T_183149, T_183089) - node T_183151 = or(T_183150, T_183090) - node T_183152 = or(T_183151, T_183091) - node T_183153 = or(T_183152, T_183092) - node T_183154 = or(T_183153, T_183093) - node T_183155 = or(T_183154, T_183094) - node T_183156 = or(T_183155, T_183095) - node T_183157 = or(T_183156, T_183096) - node T_183158 = or(T_183157, T_183097) - node T_183159 = or(T_183158, T_183098) - node T_183160 = or(T_183159, T_183099) - node T_183161 = or(T_183160, T_183100) - node T_183162 = or(T_183161, T_183101) - node T_183163 = or(T_183162, T_183102) - node T_183164 = or(T_183163, T_183103) - node T_183165 = or(T_183164, T_183104) - node T_183166 = or(T_183165, T_183105) - node T_183167 = or(T_183166, T_183106) - node T_183168 = or(T_183167, T_183107) - node T_183169 = or(T_183168, T_183108) - node T_183170 = or(T_183169, T_183109) - node T_183171 = or(T_183170, T_183110) - node T_183172 = or(T_183171, T_183111) - node T_183173 = or(T_183172, T_183112) - node T_183174 = or(T_183173, T_183113) - node T_183175 = or(T_183174, T_183114) - node T_183176 = or(T_183175, T_183115) - node T_183177 = or(T_183176, T_183116) - node T_183178 = or(T_183177, T_183117) - node T_183179 = or(T_183178, T_183118) - node T_183180 = or(T_183179, T_183119) - node T_183181 = or(T_183180, T_183120) - wire T_183182 : UInt<12> - node T_183183 = bits(T_183181, 11, 0) - T_183182 := T_183183 - node T_183184 = cat(T_182995, T_183182) - resp.bits.target := T_183184 - node T_183185 = cat(hits[60], hits[59]) - node T_183186 = cat(hits[61], T_183185) - node T_183187 = cat(hits[58], hits[57]) - node T_183188 = cat(hits[56], hits[55]) - node T_183189 = cat(T_183187, T_183188) - node T_183190 = cat(T_183186, T_183189) - node T_183191 = cat(hits[54], hits[53]) - node T_183192 = cat(hits[52], hits[51]) - node T_183193 = cat(T_183191, T_183192) - node T_183194 = cat(hits[50], hits[49]) - node T_183195 = cat(hits[48], hits[47]) - node T_183196 = cat(T_183194, T_183195) - node T_183197 = cat(T_183193, T_183196) - node T_183198 = cat(T_183190, T_183197) - node T_183199 = cat(hits[46], hits[45]) - node T_183200 = cat(hits[44], hits[43]) - node T_183201 = cat(T_183199, T_183200) - node T_183202 = cat(hits[42], hits[41]) - node T_183203 = cat(hits[40], hits[39]) - node T_183204 = cat(T_183202, T_183203) - node T_183205 = cat(T_183201, T_183204) - node T_183206 = cat(hits[38], hits[37]) - node T_183207 = cat(hits[36], hits[35]) - node T_183208 = cat(T_183206, T_183207) - node T_183209 = cat(hits[34], hits[33]) - node T_183210 = cat(hits[32], hits[31]) - node T_183211 = cat(T_183209, T_183210) - node T_183212 = cat(T_183208, T_183211) - node T_183213 = cat(T_183205, T_183212) - node T_183214 = cat(T_183198, T_183213) - node T_183215 = cat(hits[29], hits[28]) - node T_183216 = cat(hits[30], T_183215) - node T_183217 = cat(hits[27], hits[26]) - node T_183218 = cat(hits[25], hits[24]) - node T_183219 = cat(T_183217, T_183218) - node T_183220 = cat(T_183216, T_183219) - node T_183221 = cat(hits[23], hits[22]) - node T_183222 = cat(hits[21], hits[20]) - node T_183223 = cat(T_183221, T_183222) - node T_183224 = cat(hits[19], hits[18]) - node T_183225 = cat(hits[17], hits[16]) - node T_183226 = cat(T_183224, T_183225) - node T_183227 = cat(T_183223, T_183226) - node T_183228 = cat(T_183220, T_183227) - node T_183229 = cat(hits[15], hits[14]) - node T_183230 = cat(hits[13], hits[12]) - node T_183231 = cat(T_183229, T_183230) - node T_183232 = cat(hits[11], hits[10]) - node T_183233 = cat(hits[9], hits[8]) - node T_183234 = cat(T_183232, T_183233) - node T_183235 = cat(T_183231, T_183234) - node T_183236 = cat(hits[7], hits[6]) - node T_183237 = cat(hits[5], hits[4]) - node T_183238 = cat(T_183236, T_183237) - node T_183239 = cat(hits[3], hits[2]) - node T_183240 = cat(hits[1], hits[0]) - node T_183241 = cat(T_183239, T_183240) - node T_183242 = cat(T_183238, T_183241) - node T_183243 = cat(T_183235, T_183242) - node T_183244 = cat(T_183228, T_183243) - node T_183245 = cat(T_183214, T_183244) - node T_183246 = bits(T_183245, 61, 32) - node T_183247 = bits(T_183245, 31, 0) - node T_183248 = eq(T_183246, UInt<1>(0)) - node T_183249 = eq(T_183248, UInt<1>(0)) - node T_183250 = or(T_183246, T_183247) - node T_183251 = bits(T_183250, 31, 16) - node T_183252 = bits(T_183250, 15, 0) - node T_183253 = eq(T_183251, UInt<1>(0)) - node T_183254 = eq(T_183253, UInt<1>(0)) - node T_183255 = or(T_183251, T_183252) - node T_183256 = bits(T_183255, 15, 8) - node T_183257 = bits(T_183255, 7, 0) - node T_183258 = eq(T_183256, UInt<1>(0)) - node T_183259 = eq(T_183258, UInt<1>(0)) - node T_183260 = or(T_183256, T_183257) - node T_183261 = bits(T_183260, 7, 4) - node T_183262 = bits(T_183260, 3, 0) - node T_183263 = eq(T_183261, UInt<1>(0)) - node T_183264 = eq(T_183263, UInt<1>(0)) - node T_183265 = or(T_183261, T_183262) - node T_183266 = bits(T_183265, 3, 2) - node T_183267 = bits(T_183265, 1, 0) - node T_183268 = eq(T_183266, UInt<1>(0)) - node T_183269 = eq(T_183268, UInt<1>(0)) - node T_183270 = or(T_183266, T_183267) - node T_183271 = bit(T_183270, 1) - node T_183272 = cat(T_183269, T_183271) - node T_183273 = cat(T_183264, T_183272) - node T_183274 = cat(T_183259, T_183273) - node T_183275 = cat(T_183254, T_183274) - node T_183276 = cat(T_183249, T_183275) - resp.bits.entry := T_183276 - accessor T_183277 = brIdx[resp.bits.entry] - resp.bits.bridx := T_183277 - resp.bits.mask := UInt<1>(1) - cmem T_183278 : UInt<2>[128] - reg T_183279 : UInt<7> - wire T_183280 : UInt<1> - T_183280 := UInt<1>(0) - when hits[0] : T_183280 := isJump[0] - wire T_183281 : UInt<1> - T_183281 := UInt<1>(0) - when hits[1] : T_183281 := isJump[1] - wire T_183282 : UInt<1> - T_183282 := UInt<1>(0) - when hits[2] : T_183282 := isJump[2] - wire T_183283 : UInt<1> - T_183283 := UInt<1>(0) - when hits[3] : T_183283 := isJump[3] - wire T_183284 : UInt<1> - T_183284 := UInt<1>(0) - when hits[4] : T_183284 := isJump[4] - wire T_183285 : UInt<1> - T_183285 := UInt<1>(0) - when hits[5] : T_183285 := isJump[5] - wire T_183286 : UInt<1> - T_183286 := UInt<1>(0) - when hits[6] : T_183286 := isJump[6] - wire T_183287 : UInt<1> - T_183287 := UInt<1>(0) - when hits[7] : T_183287 := isJump[7] - wire T_183288 : UInt<1> - T_183288 := UInt<1>(0) - when hits[8] : T_183288 := isJump[8] - wire T_183289 : UInt<1> - T_183289 := UInt<1>(0) - when hits[9] : T_183289 := isJump[9] - wire T_183290 : UInt<1> - T_183290 := UInt<1>(0) - when hits[10] : T_183290 := isJump[10] - wire T_183291 : UInt<1> - T_183291 := UInt<1>(0) - when hits[11] : T_183291 := isJump[11] - wire T_183292 : UInt<1> - T_183292 := UInt<1>(0) - when hits[12] : T_183292 := isJump[12] - wire T_183293 : UInt<1> - T_183293 := UInt<1>(0) - when hits[13] : T_183293 := isJump[13] - wire T_183294 : UInt<1> - T_183294 := UInt<1>(0) - when hits[14] : T_183294 := isJump[14] - wire T_183295 : UInt<1> - T_183295 := UInt<1>(0) - when hits[15] : T_183295 := isJump[15] - wire T_183296 : UInt<1> - T_183296 := UInt<1>(0) - when hits[16] : T_183296 := isJump[16] - wire T_183297 : UInt<1> - T_183297 := UInt<1>(0) - when hits[17] : T_183297 := isJump[17] - wire T_183298 : UInt<1> - T_183298 := UInt<1>(0) - when hits[18] : T_183298 := isJump[18] - wire T_183299 : UInt<1> - T_183299 := UInt<1>(0) - when hits[19] : T_183299 := isJump[19] - wire T_183300 : UInt<1> - T_183300 := UInt<1>(0) - when hits[20] : T_183300 := isJump[20] - wire T_183301 : UInt<1> - T_183301 := UInt<1>(0) - when hits[21] : T_183301 := isJump[21] - wire T_183302 : UInt<1> - T_183302 := UInt<1>(0) - when hits[22] : T_183302 := isJump[22] - wire T_183303 : UInt<1> - T_183303 := UInt<1>(0) - when hits[23] : T_183303 := isJump[23] - wire T_183304 : UInt<1> - T_183304 := UInt<1>(0) - when hits[24] : T_183304 := isJump[24] - wire T_183305 : UInt<1> - T_183305 := UInt<1>(0) - when hits[25] : T_183305 := isJump[25] - wire T_183306 : UInt<1> - T_183306 := UInt<1>(0) - when hits[26] : T_183306 := isJump[26] - wire T_183307 : UInt<1> - T_183307 := UInt<1>(0) - when hits[27] : T_183307 := isJump[27] - wire T_183308 : UInt<1> - T_183308 := UInt<1>(0) - when hits[28] : T_183308 := isJump[28] - wire T_183309 : UInt<1> - T_183309 := UInt<1>(0) - when hits[29] : T_183309 := isJump[29] - wire T_183310 : UInt<1> - T_183310 := UInt<1>(0) - when hits[30] : T_183310 := isJump[30] - wire T_183311 : UInt<1> - T_183311 := UInt<1>(0) - when hits[31] : T_183311 := isJump[31] - wire T_183312 : UInt<1> - T_183312 := UInt<1>(0) - when hits[32] : T_183312 := isJump[32] - wire T_183313 : UInt<1> - T_183313 := UInt<1>(0) - when hits[33] : T_183313 := isJump[33] - wire T_183314 : UInt<1> - T_183314 := UInt<1>(0) - when hits[34] : T_183314 := isJump[34] - wire T_183315 : UInt<1> - T_183315 := UInt<1>(0) - when hits[35] : T_183315 := isJump[35] - wire T_183316 : UInt<1> - T_183316 := UInt<1>(0) - when hits[36] : T_183316 := isJump[36] - wire T_183317 : UInt<1> - T_183317 := UInt<1>(0) - when hits[37] : T_183317 := isJump[37] - wire T_183318 : UInt<1> - T_183318 := UInt<1>(0) - when hits[38] : T_183318 := isJump[38] - wire T_183319 : UInt<1> - T_183319 := UInt<1>(0) - when hits[39] : T_183319 := isJump[39] - wire T_183320 : UInt<1> - T_183320 := UInt<1>(0) - when hits[40] : T_183320 := isJump[40] - wire T_183321 : UInt<1> - T_183321 := UInt<1>(0) - when hits[41] : T_183321 := isJump[41] - wire T_183322 : UInt<1> - T_183322 := UInt<1>(0) - when hits[42] : T_183322 := isJump[42] - wire T_183323 : UInt<1> - T_183323 := UInt<1>(0) - when hits[43] : T_183323 := isJump[43] - wire T_183324 : UInt<1> - T_183324 := UInt<1>(0) - when hits[44] : T_183324 := isJump[44] - wire T_183325 : UInt<1> - T_183325 := UInt<1>(0) - when hits[45] : T_183325 := isJump[45] - wire T_183326 : UInt<1> - T_183326 := UInt<1>(0) - when hits[46] : T_183326 := isJump[46] - wire T_183327 : UInt<1> - T_183327 := UInt<1>(0) - when hits[47] : T_183327 := isJump[47] - wire T_183328 : UInt<1> - T_183328 := UInt<1>(0) - when hits[48] : T_183328 := isJump[48] - wire T_183329 : UInt<1> - T_183329 := UInt<1>(0) - when hits[49] : T_183329 := isJump[49] - wire T_183330 : UInt<1> - T_183330 := UInt<1>(0) - when hits[50] : T_183330 := isJump[50] - wire T_183331 : UInt<1> - T_183331 := UInt<1>(0) - when hits[51] : T_183331 := isJump[51] - wire T_183332 : UInt<1> - T_183332 := UInt<1>(0) - when hits[52] : T_183332 := isJump[52] - wire T_183333 : UInt<1> - T_183333 := UInt<1>(0) - when hits[53] : T_183333 := isJump[53] - wire T_183334 : UInt<1> - T_183334 := UInt<1>(0) - when hits[54] : T_183334 := isJump[54] - wire T_183335 : UInt<1> - T_183335 := UInt<1>(0) - when hits[55] : T_183335 := isJump[55] - wire T_183336 : UInt<1> - T_183336 := UInt<1>(0) - when hits[56] : T_183336 := isJump[56] - wire T_183337 : UInt<1> - T_183337 := UInt<1>(0) - when hits[57] : T_183337 := isJump[57] - wire T_183338 : UInt<1> - T_183338 := UInt<1>(0) - when hits[58] : T_183338 := isJump[58] - wire T_183339 : UInt<1> - T_183339 := UInt<1>(0) - when hits[59] : T_183339 := isJump[59] - wire T_183340 : UInt<1> - T_183340 := UInt<1>(0) - when hits[60] : T_183340 := isJump[60] - wire T_183341 : UInt<1> - T_183341 := UInt<1>(0) - when hits[61] : T_183341 := isJump[61] - node T_183342 = or(T_183280, T_183281) - node T_183343 = or(T_183342, T_183282) - node T_183344 = or(T_183343, T_183283) - node T_183345 = or(T_183344, T_183284) - node T_183346 = or(T_183345, T_183285) - node T_183347 = or(T_183346, T_183286) - node T_183348 = or(T_183347, T_183287) - node T_183349 = or(T_183348, T_183288) - node T_183350 = or(T_183349, T_183289) - node T_183351 = or(T_183350, T_183290) - node T_183352 = or(T_183351, T_183291) - node T_183353 = or(T_183352, T_183292) - node T_183354 = or(T_183353, T_183293) - node T_183355 = or(T_183354, T_183294) - node T_183356 = or(T_183355, T_183295) - node T_183357 = or(T_183356, T_183296) - node T_183358 = or(T_183357, T_183297) - node T_183359 = or(T_183358, T_183298) - node T_183360 = or(T_183359, T_183299) - node T_183361 = or(T_183360, T_183300) - node T_183362 = or(T_183361, T_183301) - node T_183363 = or(T_183362, T_183302) - node T_183364 = or(T_183363, T_183303) - node T_183365 = or(T_183364, T_183304) - node T_183366 = or(T_183365, T_183305) - node T_183367 = or(T_183366, T_183306) - node T_183368 = or(T_183367, T_183307) - node T_183369 = or(T_183368, T_183308) - node T_183370 = or(T_183369, T_183309) - node T_183371 = or(T_183370, T_183310) - node T_183372 = or(T_183371, T_183311) - node T_183373 = or(T_183372, T_183312) - node T_183374 = or(T_183373, T_183313) - node T_183375 = or(T_183374, T_183314) - node T_183376 = or(T_183375, T_183315) - node T_183377 = or(T_183376, T_183316) - node T_183378 = or(T_183377, T_183317) - node T_183379 = or(T_183378, T_183318) - node T_183380 = or(T_183379, T_183319) - node T_183381 = or(T_183380, T_183320) - node T_183382 = or(T_183381, T_183321) - node T_183383 = or(T_183382, T_183322) - node T_183384 = or(T_183383, T_183323) - node T_183385 = or(T_183384, T_183324) - node T_183386 = or(T_183385, T_183325) - node T_183387 = or(T_183386, T_183326) - node T_183388 = or(T_183387, T_183327) - node T_183389 = or(T_183388, T_183328) - node T_183390 = or(T_183389, T_183329) - node T_183391 = or(T_183390, T_183330) - node T_183392 = or(T_183391, T_183331) - node T_183393 = or(T_183392, T_183332) - node T_183394 = or(T_183393, T_183333) - node T_183395 = or(T_183394, T_183334) - node T_183396 = or(T_183395, T_183335) - node T_183397 = or(T_183396, T_183336) - node T_183398 = or(T_183397, T_183337) - node T_183399 = or(T_183398, T_183338) - node T_183400 = or(T_183399, T_183339) - node T_183401 = or(T_183400, T_183340) - node T_183402 = or(T_183401, T_183341) - wire T_183403 : UInt<1> - node T_183404 = bits(T_183402, 0, 0) - T_183403 := T_183404 - node T_183405 = eq(T_183403, UInt<1>(0)) - node T_183406 = and(req.valid, resp.valid) - node T_183407 = and(T_183406, T_183405) - wire T_183408 : {history : UInt<7>, value : UInt<2>} - node T_183409 = bits(req.bits.addr, 8, 2) - node T_183410 = xor(T_183409, T_183279) - accessor T_183411 = T_183278[T_183410] - T_183408.value := T_183411 - T_183408.history := T_183279 - node T_183412 = bit(T_183408.value, 0) - when T_183407 : - node T_183413 = bits(T_183279, 6, 1) - node T_183414 = cat(T_183412, T_183413) - T_183279 := T_183414 - - node T_183415 = and(bht_update.valid, bht_update.bits.prediction.valid) - when T_183415 : - node T_183416 = bits(bht_update.bits.pc, 8, 2) - node T_183417 = xor(T_183416, bht_update.bits.prediction.bits.bht.history) - accessor T_183418 = T_183278[T_183417] - node T_183419 = bit(bht_update.bits.prediction.bits.bht.value, 1) - node T_183420 = bit(bht_update.bits.prediction.bits.bht.value, 0) - node T_183421 = and(T_183419, T_183420) - node T_183422 = bit(bht_update.bits.prediction.bits.bht.value, 1) - node T_183423 = bit(bht_update.bits.prediction.bits.bht.value, 0) - node T_183424 = or(T_183422, T_183423) - node T_183425 = and(T_183424, bht_update.bits.taken) - node T_183426 = or(T_183421, T_183425) - node T_183427 = cat(bht_update.bits.taken, T_183426) - T_183418 := T_183427 - when bht_update.bits.mispredict : - node T_183428 = bits(bht_update.bits.prediction.bits.bht.history, 6, 1) - node T_183429 = cat(bht_update.bits.taken, T_183428) - T_183279 := T_183429 - - - node T_183430 = bit(T_183408.value, 0) - node T_183431 = eq(T_183430, UInt<1>(0)) - node T_183432 = and(T_183431, T_183405) - when T_183432 : resp.bits.taken := UInt<1>(0) - resp.bits.bht := T_183408 - reg T_183433 : UInt<2> - onreset T_183433 := UInt<2>(0) - reg T_183434 : UInt<1> - onreset T_183434 := UInt<1>(0) - wire T_183435 : UInt[2] - T_183435[0] := T_183436 - T_183435[1] := T_183437 - reg T_183438 : UInt[2] - wire T_183439 : UInt<1> - T_183439 := UInt<1>(0) - when hits[0] : T_183439 := useRAS[0] - wire T_183440 : UInt<1> - T_183440 := UInt<1>(0) - when hits[1] : T_183440 := useRAS[1] - wire T_183441 : UInt<1> - T_183441 := UInt<1>(0) - when hits[2] : T_183441 := useRAS[2] - wire T_183442 : UInt<1> - T_183442 := UInt<1>(0) - when hits[3] : T_183442 := useRAS[3] - wire T_183443 : UInt<1> - T_183443 := UInt<1>(0) - when hits[4] : T_183443 := useRAS[4] - wire T_183444 : UInt<1> - T_183444 := UInt<1>(0) - when hits[5] : T_183444 := useRAS[5] - wire T_183445 : UInt<1> - T_183445 := UInt<1>(0) - when hits[6] : T_183445 := useRAS[6] - wire T_183446 : UInt<1> - T_183446 := UInt<1>(0) - when hits[7] : T_183446 := useRAS[7] - wire T_183447 : UInt<1> - T_183447 := UInt<1>(0) - when hits[8] : T_183447 := useRAS[8] - wire T_183448 : UInt<1> - T_183448 := UInt<1>(0) - when hits[9] : T_183448 := useRAS[9] - wire T_183449 : UInt<1> - T_183449 := UInt<1>(0) - when hits[10] : T_183449 := useRAS[10] - wire T_183450 : UInt<1> - T_183450 := UInt<1>(0) - when hits[11] : T_183450 := useRAS[11] - wire T_183451 : UInt<1> - T_183451 := UInt<1>(0) - when hits[12] : T_183451 := useRAS[12] - wire T_183452 : UInt<1> - T_183452 := UInt<1>(0) - when hits[13] : T_183452 := useRAS[13] - wire T_183453 : UInt<1> - T_183453 := UInt<1>(0) - when hits[14] : T_183453 := useRAS[14] - wire T_183454 : UInt<1> - T_183454 := UInt<1>(0) - when hits[15] : T_183454 := useRAS[15] - wire T_183455 : UInt<1> - T_183455 := UInt<1>(0) - when hits[16] : T_183455 := useRAS[16] - wire T_183456 : UInt<1> - T_183456 := UInt<1>(0) - when hits[17] : T_183456 := useRAS[17] - wire T_183457 : UInt<1> - T_183457 := UInt<1>(0) - when hits[18] : T_183457 := useRAS[18] - wire T_183458 : UInt<1> - T_183458 := UInt<1>(0) - when hits[19] : T_183458 := useRAS[19] - wire T_183459 : UInt<1> - T_183459 := UInt<1>(0) - when hits[20] : T_183459 := useRAS[20] - wire T_183460 : UInt<1> - T_183460 := UInt<1>(0) - when hits[21] : T_183460 := useRAS[21] - wire T_183461 : UInt<1> - T_183461 := UInt<1>(0) - when hits[22] : T_183461 := useRAS[22] - wire T_183462 : UInt<1> - T_183462 := UInt<1>(0) - when hits[23] : T_183462 := useRAS[23] - wire T_183463 : UInt<1> - T_183463 := UInt<1>(0) - when hits[24] : T_183463 := useRAS[24] - wire T_183464 : UInt<1> - T_183464 := UInt<1>(0) - when hits[25] : T_183464 := useRAS[25] - wire T_183465 : UInt<1> - T_183465 := UInt<1>(0) - when hits[26] : T_183465 := useRAS[26] - wire T_183466 : UInt<1> - T_183466 := UInt<1>(0) - when hits[27] : T_183466 := useRAS[27] - wire T_183467 : UInt<1> - T_183467 := UInt<1>(0) - when hits[28] : T_183467 := useRAS[28] - wire T_183468 : UInt<1> - T_183468 := UInt<1>(0) - when hits[29] : T_183468 := useRAS[29] - wire T_183469 : UInt<1> - T_183469 := UInt<1>(0) - when hits[30] : T_183469 := useRAS[30] - wire T_183470 : UInt<1> - T_183470 := UInt<1>(0) - when hits[31] : T_183470 := useRAS[31] - wire T_183471 : UInt<1> - T_183471 := UInt<1>(0) - when hits[32] : T_183471 := useRAS[32] - wire T_183472 : UInt<1> - T_183472 := UInt<1>(0) - when hits[33] : T_183472 := useRAS[33] - wire T_183473 : UInt<1> - T_183473 := UInt<1>(0) - when hits[34] : T_183473 := useRAS[34] - wire T_183474 : UInt<1> - T_183474 := UInt<1>(0) - when hits[35] : T_183474 := useRAS[35] - wire T_183475 : UInt<1> - T_183475 := UInt<1>(0) - when hits[36] : T_183475 := useRAS[36] - wire T_183476 : UInt<1> - T_183476 := UInt<1>(0) - when hits[37] : T_183476 := useRAS[37] - wire T_183477 : UInt<1> - T_183477 := UInt<1>(0) - when hits[38] : T_183477 := useRAS[38] - wire T_183478 : UInt<1> - T_183478 := UInt<1>(0) - when hits[39] : T_183478 := useRAS[39] - wire T_183479 : UInt<1> - T_183479 := UInt<1>(0) - when hits[40] : T_183479 := useRAS[40] - wire T_183480 : UInt<1> - T_183480 := UInt<1>(0) - when hits[41] : T_183480 := useRAS[41] - wire T_183481 : UInt<1> - T_183481 := UInt<1>(0) - when hits[42] : T_183481 := useRAS[42] - wire T_183482 : UInt<1> - T_183482 := UInt<1>(0) - when hits[43] : T_183482 := useRAS[43] - wire T_183483 : UInt<1> - T_183483 := UInt<1>(0) - when hits[44] : T_183483 := useRAS[44] - wire T_183484 : UInt<1> - T_183484 := UInt<1>(0) - when hits[45] : T_183484 := useRAS[45] - wire T_183485 : UInt<1> - T_183485 := UInt<1>(0) - when hits[46] : T_183485 := useRAS[46] - wire T_183486 : UInt<1> - T_183486 := UInt<1>(0) - when hits[47] : T_183486 := useRAS[47] - wire T_183487 : UInt<1> - T_183487 := UInt<1>(0) - when hits[48] : T_183487 := useRAS[48] - wire T_183488 : UInt<1> - T_183488 := UInt<1>(0) - when hits[49] : T_183488 := useRAS[49] - wire T_183489 : UInt<1> - T_183489 := UInt<1>(0) - when hits[50] : T_183489 := useRAS[50] - wire T_183490 : UInt<1> - T_183490 := UInt<1>(0) - when hits[51] : T_183490 := useRAS[51] - wire T_183491 : UInt<1> - T_183491 := UInt<1>(0) - when hits[52] : T_183491 := useRAS[52] - wire T_183492 : UInt<1> - T_183492 := UInt<1>(0) - when hits[53] : T_183492 := useRAS[53] - wire T_183493 : UInt<1> - T_183493 := UInt<1>(0) - when hits[54] : T_183493 := useRAS[54] - wire T_183494 : UInt<1> - T_183494 := UInt<1>(0) - when hits[55] : T_183494 := useRAS[55] - wire T_183495 : UInt<1> - T_183495 := UInt<1>(0) - when hits[56] : T_183495 := useRAS[56] - wire T_183496 : UInt<1> - T_183496 := UInt<1>(0) - when hits[57] : T_183496 := useRAS[57] - wire T_183497 : UInt<1> - T_183497 := UInt<1>(0) - when hits[58] : T_183497 := useRAS[58] - wire T_183498 : UInt<1> - T_183498 := UInt<1>(0) - when hits[59] : T_183498 := useRAS[59] - wire T_183499 : UInt<1> - T_183499 := UInt<1>(0) - when hits[60] : T_183499 := useRAS[60] - wire T_183500 : UInt<1> - T_183500 := UInt<1>(0) - when hits[61] : T_183500 := useRAS[61] - node T_183501 = or(T_183439, T_183440) - node T_183502 = or(T_183501, T_183441) - node T_183503 = or(T_183502, T_183442) - node T_183504 = or(T_183503, T_183443) - node T_183505 = or(T_183504, T_183444) - node T_183506 = or(T_183505, T_183445) - node T_183507 = or(T_183506, T_183446) - node T_183508 = or(T_183507, T_183447) - node T_183509 = or(T_183508, T_183448) - node T_183510 = or(T_183509, T_183449) - node T_183511 = or(T_183510, T_183450) - node T_183512 = or(T_183511, T_183451) - node T_183513 = or(T_183512, T_183452) - node T_183514 = or(T_183513, T_183453) - node T_183515 = or(T_183514, T_183454) - node T_183516 = or(T_183515, T_183455) - node T_183517 = or(T_183516, T_183456) - node T_183518 = or(T_183517, T_183457) - node T_183519 = or(T_183518, T_183458) - node T_183520 = or(T_183519, T_183459) - node T_183521 = or(T_183520, T_183460) - node T_183522 = or(T_183521, T_183461) - node T_183523 = or(T_183522, T_183462) - node T_183524 = or(T_183523, T_183463) - node T_183525 = or(T_183524, T_183464) - node T_183526 = or(T_183525, T_183465) - node T_183527 = or(T_183526, T_183466) - node T_183528 = or(T_183527, T_183467) - node T_183529 = or(T_183528, T_183468) - node T_183530 = or(T_183529, T_183469) - node T_183531 = or(T_183530, T_183470) - node T_183532 = or(T_183531, T_183471) - node T_183533 = or(T_183532, T_183472) - node T_183534 = or(T_183533, T_183473) - node T_183535 = or(T_183534, T_183474) - node T_183536 = or(T_183535, T_183475) - node T_183537 = or(T_183536, T_183476) - node T_183538 = or(T_183537, T_183477) - node T_183539 = or(T_183538, T_183478) - node T_183540 = or(T_183539, T_183479) - node T_183541 = or(T_183540, T_183480) - node T_183542 = or(T_183541, T_183481) - node T_183543 = or(T_183542, T_183482) - node T_183544 = or(T_183543, T_183483) - node T_183545 = or(T_183544, T_183484) - node T_183546 = or(T_183545, T_183485) - node T_183547 = or(T_183546, T_183486) - node T_183548 = or(T_183547, T_183487) - node T_183549 = or(T_183548, T_183488) - node T_183550 = or(T_183549, T_183489) - node T_183551 = or(T_183550, T_183490) - node T_183552 = or(T_183551, T_183491) - node T_183553 = or(T_183552, T_183492) - node T_183554 = or(T_183553, T_183493) - node T_183555 = or(T_183554, T_183494) - node T_183556 = or(T_183555, T_183495) - node T_183557 = or(T_183556, T_183496) - node T_183558 = or(T_183557, T_183497) - node T_183559 = or(T_183558, T_183498) - node T_183560 = or(T_183559, T_183499) - node T_183561 = or(T_183560, T_183500) - wire T_183562 : UInt<1> - node T_183563 = bits(T_183561, 0, 0) - T_183562 := T_183563 - - - node T_183564 = eq(T_183433, UInt<1>(0)) - node T_183565 = eq(T_183564, UInt<1>(0)) - node T_183566 = and(T_183565, T_183562) - when T_183566 : - accessor T_183567 = T_183438[T_183434] - resp.bits.target := T_183567 - when ras_update.valid : when ras_update.bits.isCall : - - node T_183576 = lt(T_183433, UInt<2>(2)) - when T_183576 : - node T_183577 = addw(T_183433, UInt<1>(1)) - T_183433 := T_183577 - node T_183578 = lt(T_183434, UInt<1>(1)) - node T_183579 = or(UInt<1>(1), T_183578) - node T_183580 = addw(T_183434, UInt<1>(1)) - wire T_183581 : UInt<1> - T_183581 := UInt<1>(0) - when T_183579 : T_183581 := T_183580 - accessor T_183582 = T_183438[T_183581] - T_183582 := ras_update.bits.returnAddr - T_183434 := T_183581 - when T_183562 : resp.bits.target := ras_update.bits.returnAddr - else : - - node T_183568 = and(ras_update.bits.isReturn, ras_update.bits.prediction.valid) - when T_183568 : - - node T_183569 = eq(T_183433, UInt<1>(0)) - node T_183570 = eq(T_183569, UInt<1>(0)) - when T_183570 : - node T_183571 = subw(T_183433, UInt<1>(1)) - T_183433 := T_183571 - node T_183572 = gt(T_183434, UInt<1>(0)) - node T_183573 = or(UInt<1>(1), T_183572) - node T_183574 = subw(T_183434, UInt<1>(1)) - wire T_183575 : UInt<1> - T_183575 := UInt<1>(1) - when T_183573 : T_183575 := T_183574 - T_183434 := T_183575 - when invalidate : T_183433 := UInt<1>(0) - module FlowThroughSerializer : - input in : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}} - output out : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}} - output cnt : UInt<1> - output done : UInt<1> - - wire T_183583 : UInt<3>[3] - T_183583[0] := UInt<3>(0) - T_183583[1] := UInt<3>(1) - T_183583[2] := UInt<3>(2) - wire T_183584 : UInt<2>[2] - T_183584[0] := UInt<2>(0) - T_183584[1] := UInt<2>(1) - wire T_183585 : UInt<2>[3] - T_183585[0] := UInt<2>(1) - T_183585[1] := UInt<2>(2) - T_183585[2] := UInt<2>(3) - wire T_183586 : UInt<2>[2] - T_183586[0] := UInt<2>(2) - T_183586[1] := UInt<2>(3) - wire T_183587 : UInt<2>[1] - T_183587[0] := UInt<2>(3) - wire T_183588 : UInt<3>[3] - T_183588[0] := UInt<3>(0) - T_183588[1] := UInt<3>(1) - T_183588[2] := UInt<3>(2) - wire T_183589 : UInt<2>[2] - T_183589[0] := UInt<2>(0) - T_183589[1] := UInt<2>(1) - wire T_183590 : UInt<2>[3] - T_183590[0] := UInt<2>(1) - T_183590[1] := UInt<2>(2) - T_183590[2] := UInt<2>(3) - wire T_183591 : UInt<2>[2] - T_183591[0] := UInt<2>(2) - T_183591[1] := UInt<2>(3) - wire T_183592 : UInt<2>[1] - T_183592[0] := UInt<2>(3) - in <> out - cnt := T_183593 - done := UInt<1>(1) - module ICache : - input req : {valid : UInt<1>, bits : {idx : UInt<12>, ppn : UInt<20>, kill : UInt<1>}} - output resp : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<32>, datablock : UInt<128>}} - input invalidate : UInt<1> - output mem__ : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}} - - wire T_183594 : UInt<3>[3] - T_183594[0] := UInt<3>(0) - T_183594[1] := UInt<3>(1) - T_183594[2] := UInt<3>(2) - wire T_183595 : UInt<2>[2] - T_183595[0] := UInt<2>(0) - T_183595[1] := UInt<2>(1) - wire T_183596 : UInt<2>[3] - T_183596[0] := UInt<2>(1) - T_183596[1] := UInt<2>(2) - T_183596[2] := UInt<2>(3) - wire T_183597 : UInt<2>[2] - T_183597[0] := UInt<2>(2) - T_183597[1] := UInt<2>(3) - wire T_183598 : UInt<2>[1] - T_183598[0] := UInt<2>(3) - wire T_183599 : UInt<3>[3] - T_183599[0] := UInt<3>(0) - T_183599[1] := UInt<3>(1) - T_183599[2] := UInt<3>(2) - wire T_183600 : UInt<2>[2] - T_183600[0] := UInt<2>(0) - T_183600[1] := UInt<2>(1) - wire T_183601 : UInt<2>[3] - T_183601[0] := UInt<2>(1) - T_183601[1] := UInt<2>(2) - T_183601[2] := UInt<2>(3) - wire T_183602 : UInt<2>[2] - T_183602[0] := UInt<2>(2) - T_183602[1] := UInt<2>(3) - wire T_183603 : UInt<2>[1] - T_183603[0] := UInt<2>(3) - wire T_183604 : UInt<3>[3] - T_183604[0] := UInt<3>(0) - T_183604[1] := UInt<3>(1) - T_183604[2] := UInt<3>(2) - wire T_183605 : UInt<2>[2] - T_183605[0] := UInt<2>(0) - T_183605[1] := UInt<2>(1) - wire T_183606 : UInt<2>[3] - T_183606[0] := UInt<2>(1) - T_183606[1] := UInt<2>(2) - T_183606[2] := UInt<2>(3) - wire T_183607 : UInt<2>[2] - T_183607[0] := UInt<2>(2) - T_183607[1] := UInt<2>(3) - wire T_183608 : UInt<2>[1] - T_183608[0] := UInt<2>(3) - wire T_183609 : UInt<3>[3] - T_183609[0] := UInt<3>(0) - T_183609[1] := UInt<3>(1) - T_183609[2] := UInt<3>(2) - wire T_183610 : UInt<2>[2] - T_183610[0] := UInt<2>(0) - T_183610[1] := UInt<2>(1) - wire T_183611 : UInt<2>[3] - T_183611[0] := UInt<2>(1) - T_183611[1] := UInt<2>(2) - T_183611[2] := UInt<2>(3) - wire T_183612 : UInt<2>[2] - T_183612[0] := UInt<2>(2) - T_183612[1] := UInt<2>(3) - wire T_183613 : UInt<2>[1] - T_183613[0] := UInt<2>(3) - wire T_183614 : UInt<3>[3] - T_183614[0] := UInt<3>(0) - T_183614[1] := UInt<3>(1) - T_183614[2] := UInt<3>(2) - wire T_183615 : UInt<2>[2] - T_183615[0] := UInt<2>(0) - T_183615[1] := UInt<2>(1) - wire T_183616 : UInt<2>[3] - T_183616[0] := UInt<2>(1) - T_183616[1] := UInt<2>(2) - T_183616[2] := UInt<2>(3) - wire T_183617 : UInt<2>[2] - T_183617[0] := UInt<2>(2) - T_183617[1] := UInt<2>(3) - wire T_183618 : UInt<2>[1] - T_183618[0] := UInt<2>(3) - reg state : UInt<2> - onreset state := UInt<2>(0) - reg invalidated : UInt<1> - node stall = eq(resp.ready, UInt<1>(0)) - wire rdy : UInt<1> - reg s2_valid : UInt<1> - onreset s2_valid := UInt<1>(0) - reg s2_addr : UInt<32> - wire s2_any_tag_hit : UInt<1> - reg s1_valid : UInt<1> - onreset s1_valid := UInt<1>(0) - reg s1_pgoff : UInt<12> - node s1_addr = cat(req.bits.ppn, s1_pgoff) - node s1_tag = bits(s1_addr, 31, 12) - node T_183619 = and(s1_valid, stall) - node s0_valid = or(req.valid, T_183619) - node T_183620 = and(s1_valid, stall) - wire s0_pgoff : UInt<12> - s0_pgoff := req.bits.idx - when T_183620 : s0_pgoff := s1_pgoff - node T_183621 = and(req.valid, rdy) - node T_183622 = and(s1_valid, stall) - node T_183623 = eq(req.bits.kill, UInt<1>(0)) - node T_183624 = and(T_183622, T_183623) - node T_183625 = or(T_183621, T_183624) - s1_valid := T_183625 - - node T_183626 = and(req.valid, rdy) - when T_183626 : s1_pgoff := req.bits.idx - node T_183627 = and(s1_valid, rdy) - node T_183628 = eq(req.bits.kill, UInt<1>(0)) - node T_183629 = and(T_183627, T_183628) - node T_183630 = and(resp.valid, stall) - node T_183631 = or(T_183629, T_183630) - s2_valid := T_183631 - - - node T_183632 = and(s1_valid, rdy) - node T_183633 = eq(stall, UInt<1>(0)) - node T_183634 = and(T_183632, T_183633) - when T_183634 : s2_addr := s1_addr - node s2_tag = bits(s2_addr, 31, 12) - node s2_idx = bits(s2_addr, 11, 6) - node s2_offset = bits(s2_addr, 5, 0) - node s2_hit = and(s2_valid, s2_any_tag_hit) - node T_183635 = eq(s2_any_tag_hit, UInt<1>(0)) - node s2_miss = and(s2_valid, T_183635) - node T_183636 = eq(state, UInt<2>(0)) - node T_183637 = eq(s2_miss, UInt<1>(0)) - node T_183638 = and(T_183636, T_183637) - rdy := T_183638 - inst T_183639 of FlowThroughSerializer - T_183639.in.valid := mem__.grant.valid - T_183639.in.bits := mem__.grant.bits - mem__.grant.ready := T_183639.in.ready - node T_183640 = and(T_183639.out.ready, T_183639.out.valid) - reg refill_cnt : UInt<2> - onreset refill_cnt := UInt<2>(0) - when T_183640 : - node T_183641 = eq(refill_cnt, UInt<2>(3)) - node T_183642 = and(UInt<1>(0), T_183641) - node T_183643 = addw(refill_cnt, UInt<1>(1)) - wire T_183644 : UInt<2> - T_183644 := T_183643 - when T_183642 : T_183644 := UInt<1>(0) - refill_cnt := T_183644 - node refill_wrap = and(T_183640, T_183641) - node T_183645 = eq(state, UInt<2>(3)) - node refill_done = and(T_183645, refill_wrap) - T_183639.out.ready := UInt<1>(1) - reg T_183646 : UInt<16> - onreset T_183646 := UInt<16>(1) - when s2_miss : - node T_183647 = bit(T_183646, 0) - node T_183648 = bit(T_183646, 2) - node T_183649 = xor(T_183647, T_183648) - node T_183650 = bit(T_183646, 3) - node T_183651 = xor(T_183649, T_183650) - node T_183652 = bit(T_183646, 5) - node T_183653 = xor(T_183651, T_183652) - node T_183654 = bits(T_183646, 15, 1) - node T_183655 = cat(T_183653, T_183654) - T_183646 := T_183655 - node repl_way = bits(T_183646, 1, 0) - cmem T_183656 : UInt<80>[64] - node T_183657 = bits(s0_pgoff, 11, 6) - node T_183658 = eq(refill_done, UInt<1>(0)) - node T_183659 = and(T_183658, s0_valid) - reg T_183660 : UInt<6> - when T_183659 : T_183660 := T_183657 - accessor tag_rdata = T_183656[T_183660] - when refill_done : - node T_183661 = dshl(UInt<1>(1), repl_way) - node T_183662 = bit(T_183661, 0) - node T_183663 = bit(T_183661, 1) - node T_183664 = bit(T_183661, 2) - node T_183665 = bit(T_183661, 3) - node T_183666 = bit(T_183661, 4) - wire T_183667 : UInt<1>[5] - T_183667[0] := T_183662 - T_183667[1] := T_183663 - T_183667[2] := T_183664 - T_183667[3] := T_183665 - T_183667[4] := T_183666 - node T_183668 = subw(UInt<20>(0), UInt<5>(20)) - node T_183669 = subw(UInt<20>(0), UInt<5>(20)) - node T_183670 = subw(UInt<20>(0), UInt<5>(20)) - node T_183671 = subw(UInt<20>(0), UInt<5>(20)) - node T_183672 = subw(UInt<20>(0), UInt<5>(20)) - wire T_183673 : UInt<20>[5] - T_183673[0] := T_183668 - T_183673[1] := T_183669 - T_183673[2] := T_183670 - T_183673[3] := T_183671 - T_183673[4] := T_183672 - node T_183674 = cat(T_183673[4], T_183673[3]) - node T_183675 = cat(T_183673[1], T_183673[0]) - node T_183676 = cat(T_183673[2], T_183675) - node T_183677 = cat(T_183674, T_183676) - node T_183678 = cat(s2_tag, s2_tag) - node T_183679 = cat(T_183678, T_183678) - accessor T_183680 = T_183656[s2_idx] - node T_183681 = not(T_183677) - node T_183682 = and(T_183680, T_183681) - node T_183683 = and(T_183679, T_183677) - node T_183684 = or(T_183682, T_183683) - wire T_183685 : UInt<80> - node T_183686 = bits(T_183684, 79, 0) - T_183685 := T_183686 - accessor T_183687 = T_183656[s2_idx] - T_183687 := T_183685 - reg vb_array : UInt<256> - onreset vb_array := UInt<256>(0) - - - node T_183688 = eq(invalidated, UInt<1>(0)) - node T_183689 = and(refill_done, T_183688) - when T_183689 : - node T_183690 = cat(repl_way, s2_idx) - node T_183691 = dshl(UInt<1>(1), T_183690) - node T_183692 = or(vb_array, T_183691) - node T_183693 = not(vb_array) - node T_183694 = or(T_183693, T_183691) - node T_183695 = not(T_183694) - wire T_183696 : UInt<257> - T_183696 := T_183695 - when UInt<1>(1) : T_183696 := T_183692 - vb_array := T_183696 - when invalidate : - vb_array := UInt<1>(0) - invalidated := UInt<1>(1) - wire s2_disparity : UInt<1>[4] - - node T_183697 = and(s2_valid, s2_disparity[0]) - when T_183697 : - node T_183698 = cat(UInt<1>(0), s2_idx) - node T_183699 = dshl(UInt<1>(1), T_183698) - node T_183700 = or(vb_array, T_183699) - node T_183701 = not(vb_array) - node T_183702 = or(T_183701, T_183699) - node T_183703 = not(T_183702) - wire T_183704 : UInt<256> - T_183704 := T_183703 - when UInt<1>(0) : T_183704 := T_183700 - vb_array := T_183704 - - node T_183705 = and(s2_valid, s2_disparity[1]) - when T_183705 : - node T_183706 = cat(UInt<1>(1), s2_idx) - node T_183707 = dshl(UInt<1>(1), T_183706) - node T_183708 = or(vb_array, T_183707) - node T_183709 = not(vb_array) - node T_183710 = or(T_183709, T_183707) - node T_183711 = not(T_183710) - wire T_183712 : UInt<256> - T_183712 := T_183711 - when UInt<1>(0) : T_183712 := T_183708 - vb_array := T_183712 - - node T_183713 = and(s2_valid, s2_disparity[2]) - when T_183713 : - node T_183714 = cat(UInt<2>(2), s2_idx) - node T_183715 = dshl(UInt<1>(1), T_183714) - node T_183716 = or(vb_array, T_183715) - node T_183717 = not(vb_array) - node T_183718 = or(T_183717, T_183715) - node T_183719 = not(T_183718) - wire T_183720 : UInt<257> - T_183720 := T_183719 - when UInt<1>(0) : T_183720 := T_183716 - vb_array := T_183720 - - node T_183721 = and(s2_valid, s2_disparity[3]) - when T_183721 : - node T_183722 = cat(UInt<2>(3), s2_idx) - node T_183723 = dshl(UInt<1>(1), T_183722) - node T_183724 = or(vb_array, T_183723) - node T_183725 = not(vb_array) - node T_183726 = or(T_183725, T_183723) - node T_183727 = not(T_183726) - wire T_183728 : UInt<257> - T_183728 := T_183727 - when UInt<1>(0) : T_183728 := T_183724 - vb_array := T_183728 - wire s1_tag_match : UInt<1>[4] - wire s2_tag_hit : UInt<1>[4] - reg s2_dout : UInt[4] - node T_183729 = eq(invalidate, UInt<1>(0)) - node T_183730 = bits(s1_pgoff, 11, 6) - node T_183731 = cat(UInt<1>(0), T_183730) - node T_183732 = dshr(vb_array, T_183731) - node T_183733 = bit(T_183732, 0) - node T_183734 = bit(T_183733, 0) - node T_183735 = and(T_183729, T_183734) - reg T_183736 : UInt<1> - reg T_183737 : UInt<1> - reg T_183738 : UInt<1> - node T_183739 = bits(tag_rdata, 19, 0) - - - node T_183740 = and(s1_valid, rdy) - node T_183741 = eq(stall, UInt<1>(0)) - node T_183742 = and(T_183740, T_183741) - when T_183742 : - T_183736 := T_183735 - node T_183743 = or(UInt<1>(0), UInt<1>(0)) - T_183737 := T_183743 - T_183738 := s1_tag_match[0] - node T_183744 = bits(T_183739, 19, 0) - node T_183745 = eq(T_183744, s1_tag) - s1_tag_match[0] := T_183745 - node T_183746 = and(T_183736, T_183738) - s2_tag_hit[0] := T_183746 - node T_183747 = or(UInt<1>(0), UInt<1>(0)) - node T_183748 = or(T_183737, T_183747) - node T_183749 = and(T_183736, T_183748) - s2_disparity[0] := T_183749 - node T_183750 = eq(invalidate, UInt<1>(0)) - node T_183751 = bits(s1_pgoff, 11, 6) - node T_183752 = cat(UInt<1>(1), T_183751) - node T_183753 = dshr(vb_array, T_183752) - node T_183754 = bit(T_183753, 0) - node T_183755 = bit(T_183754, 0) - node T_183756 = and(T_183750, T_183755) - reg T_183757 : UInt<1> - reg T_183758 : UInt<1> - reg T_183759 : UInt<1> - node T_183760 = bits(tag_rdata, 39, 20) - - - node T_183761 = and(s1_valid, rdy) - node T_183762 = eq(stall, UInt<1>(0)) - node T_183763 = and(T_183761, T_183762) - when T_183763 : - T_183757 := T_183756 - node T_183764 = or(UInt<1>(0), UInt<1>(0)) - T_183758 := T_183764 - T_183759 := s1_tag_match[1] - node T_183765 = bits(T_183760, 19, 0) - node T_183766 = eq(T_183765, s1_tag) - s1_tag_match[1] := T_183766 - node T_183767 = and(T_183757, T_183759) - s2_tag_hit[1] := T_183767 - node T_183768 = or(UInt<1>(0), UInt<1>(0)) - node T_183769 = or(T_183758, T_183768) - node T_183770 = and(T_183757, T_183769) - s2_disparity[1] := T_183770 - node T_183771 = eq(invalidate, UInt<1>(0)) - node T_183772 = bits(s1_pgoff, 11, 6) - node T_183773 = cat(UInt<2>(2), T_183772) - node T_183774 = dshr(vb_array, T_183773) - node T_183775 = bit(T_183774, 0) - node T_183776 = bit(T_183775, 0) - node T_183777 = and(T_183771, T_183776) - reg T_183778 : UInt<1> - reg T_183779 : UInt<1> - reg T_183780 : UInt<1> - node T_183781 = bits(tag_rdata, 59, 40) - - - node T_183782 = and(s1_valid, rdy) - node T_183783 = eq(stall, UInt<1>(0)) - node T_183784 = and(T_183782, T_183783) - when T_183784 : - T_183778 := T_183777 - node T_183785 = or(UInt<1>(0), UInt<1>(0)) - T_183779 := T_183785 - T_183780 := s1_tag_match[2] - node T_183786 = bits(T_183781, 19, 0) - node T_183787 = eq(T_183786, s1_tag) - s1_tag_match[2] := T_183787 - node T_183788 = and(T_183778, T_183780) - s2_tag_hit[2] := T_183788 - node T_183789 = or(UInt<1>(0), UInt<1>(0)) - node T_183790 = or(T_183779, T_183789) - node T_183791 = and(T_183778, T_183790) - s2_disparity[2] := T_183791 - node T_183792 = eq(invalidate, UInt<1>(0)) - node T_183793 = bits(s1_pgoff, 11, 6) - node T_183794 = cat(UInt<2>(3), T_183793) - node T_183795 = dshr(vb_array, T_183794) - node T_183796 = bit(T_183795, 0) - node T_183797 = bit(T_183796, 0) - node T_183798 = and(T_183792, T_183797) - reg T_183799 : UInt<1> - reg T_183800 : UInt<1> - reg T_183801 : UInt<1> - node T_183802 = bits(tag_rdata, 79, 60) - - - node T_183803 = and(s1_valid, rdy) - node T_183804 = eq(stall, UInt<1>(0)) - node T_183805 = and(T_183803, T_183804) - when T_183805 : - T_183799 := T_183798 - node T_183806 = or(UInt<1>(0), UInt<1>(0)) - T_183800 := T_183806 - T_183801 := s1_tag_match[3] - node T_183807 = bits(T_183802, 19, 0) - node T_183808 = eq(T_183807, s1_tag) - s1_tag_match[3] := T_183808 - node T_183809 = and(T_183799, T_183801) - s2_tag_hit[3] := T_183809 - node T_183810 = or(UInt<1>(0), UInt<1>(0)) - node T_183811 = or(T_183800, T_183810) - node T_183812 = and(T_183799, T_183811) - s2_disparity[3] := T_183812 - node T_183813 = or(s2_tag_hit[0], s2_tag_hit[1]) - node T_183814 = or(T_183813, s2_tag_hit[2]) - node T_183815 = or(T_183814, s2_tag_hit[3]) - node T_183816 = or(s2_disparity[0], s2_disparity[1]) - node T_183817 = or(T_183816, s2_disparity[2]) - node T_183818 = or(T_183817, s2_disparity[3]) - node T_183819 = eq(T_183818, UInt<1>(0)) - node T_183820 = and(T_183815, T_183819) - s2_any_tag_hit := T_183820 - cmem T_183821 : UInt<128>[256] - node T_183822 = eq(repl_way, UInt<1>(0)) - node T_183823 = and(T_183639.out.valid, T_183822) - when T_183823 : - node T_183824 = cat(s2_idx, refill_cnt) - accessor T_183825 = T_183821[T_183824] - T_183825 := T_183639.out.bits.data - node T_183826 = bits(s0_pgoff, 11, 4) - node T_183827 = eq(T_183823, UInt<1>(0)) - node T_183828 = and(T_183827, s0_valid) - reg T_183829 : UInt<8> - when T_183828 : T_183829 := T_183826 - accessor T_183830 = T_183821[T_183829] - - - node T_183831 = and(s1_valid, rdy) - node T_183832 = eq(stall, UInt<1>(0)) - node T_183833 = and(T_183831, T_183832) - node T_183834 = or(UInt<1>(0), s1_tag_match[0]) - node T_183835 = and(T_183833, T_183834) - when T_183835 : s2_dout[0] := T_183830 - cmem T_183836 : UInt<128>[256] - node T_183837 = eq(repl_way, UInt<1>(1)) - node T_183838 = and(T_183639.out.valid, T_183837) - when T_183838 : - node T_183839 = cat(s2_idx, refill_cnt) - accessor T_183840 = T_183836[T_183839] - T_183840 := T_183639.out.bits.data - node T_183841 = bits(s0_pgoff, 11, 4) - node T_183842 = eq(T_183838, UInt<1>(0)) - node T_183843 = and(T_183842, s0_valid) - reg T_183844 : UInt<8> - when T_183843 : T_183844 := T_183841 - accessor T_183845 = T_183836[T_183844] - - - node T_183846 = and(s1_valid, rdy) - node T_183847 = eq(stall, UInt<1>(0)) - node T_183848 = and(T_183846, T_183847) - node T_183849 = or(UInt<1>(0), s1_tag_match[1]) - node T_183850 = and(T_183848, T_183849) - when T_183850 : s2_dout[1] := T_183845 - cmem T_183851 : UInt<128>[256] - node T_183852 = eq(repl_way, UInt<2>(2)) - node T_183853 = and(T_183639.out.valid, T_183852) - when T_183853 : - node T_183854 = cat(s2_idx, refill_cnt) - accessor T_183855 = T_183851[T_183854] - T_183855 := T_183639.out.bits.data - node T_183856 = bits(s0_pgoff, 11, 4) - node T_183857 = eq(T_183853, UInt<1>(0)) - node T_183858 = and(T_183857, s0_valid) - reg T_183859 : UInt<8> - when T_183858 : T_183859 := T_183856 - accessor T_183860 = T_183851[T_183859] - - - node T_183861 = and(s1_valid, rdy) - node T_183862 = eq(stall, UInt<1>(0)) - node T_183863 = and(T_183861, T_183862) - node T_183864 = or(UInt<1>(0), s1_tag_match[2]) - node T_183865 = and(T_183863, T_183864) - when T_183865 : s2_dout[2] := T_183860 - cmem T_183866 : UInt<128>[256] - node T_183867 = eq(repl_way, UInt<2>(3)) - node T_183868 = and(T_183639.out.valid, T_183867) - when T_183868 : - node T_183869 = cat(s2_idx, refill_cnt) - accessor T_183870 = T_183866[T_183869] - T_183870 := T_183639.out.bits.data - node T_183871 = bits(s0_pgoff, 11, 4) - node T_183872 = eq(T_183868, UInt<1>(0)) - node T_183873 = and(T_183872, s0_valid) - reg T_183874 : UInt<8> - when T_183873 : T_183874 := T_183871 - accessor T_183875 = T_183866[T_183874] - - - node T_183876 = and(s1_valid, rdy) - node T_183877 = eq(stall, UInt<1>(0)) - node T_183878 = and(T_183876, T_183877) - node T_183879 = or(UInt<1>(0), s1_tag_match[3]) - node T_183880 = and(T_183878, T_183879) - when T_183880 : s2_dout[3] := T_183875 - node T_183881 = bits(s2_offset, 3, 2) - node T_183882 = shl(T_183881, 5) - node T_183883 = dshr(s2_dout[0], T_183882) - node T_183884 = bits(T_183883, 31, 0) - node T_183885 = bits(s2_offset, 3, 2) - node T_183886 = shl(T_183885, 5) - node T_183887 = dshr(s2_dout[1], T_183886) - node T_183888 = bits(T_183887, 31, 0) - node T_183889 = bits(s2_offset, 3, 2) - node T_183890 = shl(T_183889, 5) - node T_183891 = dshr(s2_dout[2], T_183890) - node T_183892 = bits(T_183891, 31, 0) - node T_183893 = bits(s2_offset, 3, 2) - node T_183894 = shl(T_183893, 5) - node T_183895 = dshr(s2_dout[3], T_183894) - node T_183896 = bits(T_183895, 31, 0) - wire T_183897 : UInt<1> - T_183897 := UInt<1>(0) - when s2_tag_hit[0] : T_183897 := T_183884 - wire T_183898 : UInt<1> - T_183898 := UInt<1>(0) - when s2_tag_hit[1] : T_183898 := T_183888 - wire T_183899 : UInt<1> - T_183899 := UInt<1>(0) - when s2_tag_hit[2] : T_183899 := T_183892 - wire T_183900 : UInt<1> - T_183900 := UInt<1>(0) - when s2_tag_hit[3] : T_183900 := T_183896 - node T_183901 = or(T_183897, T_183898) - node T_183902 = or(T_183901, T_183899) - node T_183903 = or(T_183902, T_183900) - wire T_183904 : UInt<32> - node T_183905 = bits(T_183903, 31, 0) - T_183904 := T_183905 - resp.bits.data := T_183904 - wire T_183906 : UInt<1> - T_183906 := UInt<1>(0) - when s2_tag_hit[0] : T_183906 := s2_dout[0] - wire T_183907 : UInt<1> - T_183907 := UInt<1>(0) - when s2_tag_hit[1] : T_183907 := s2_dout[1] - wire T_183908 : UInt<1> - T_183908 := UInt<1>(0) - when s2_tag_hit[2] : T_183908 := s2_dout[2] - wire T_183909 : UInt<1> - T_183909 := UInt<1>(0) - when s2_tag_hit[3] : T_183909 := s2_dout[3] - node T_183910 = or(T_183906, T_183907) - node T_183911 = or(T_183910, T_183908) - node T_183912 = or(T_183911, T_183909) - wire T_183913 : UInt - node T_183914 = bits(T_183912, -2, 0) - T_183913 := T_183914 - resp.bits.datablock := T_183913 - resp.valid := s2_hit - node T_183915 = eq(state, UInt<2>(1)) - mem__.acquire.valid := T_183915 - node T_183916 = dshr(s2_addr, UInt<3>(6)) - wire T_183917 : UInt<3>[3] - T_183917[0] := UInt<3>(0) - T_183917[1] := UInt<3>(1) - T_183917[2] := UInt<3>(2) - wire T_183918 : UInt<2>[2] - T_183918[0] := UInt<2>(0) - T_183918[1] := UInt<2>(1) - wire T_183919 : UInt<2>[3] - T_183919[0] := UInt<2>(1) - T_183919[1] := UInt<2>(2) - T_183919[2] := UInt<2>(3) - wire T_183920 : UInt<2>[2] - T_183920[0] := UInt<2>(2) - T_183920[1] := UInt<2>(3) - wire T_183921 : UInt<2>[1] - T_183921[0] := UInt<2>(3) - wire T_183922 : UInt<3>[3] - T_183922[0] := UInt<3>(0) - T_183922[1] := UInt<3>(1) - T_183922[2] := UInt<3>(2) - wire T_183923 : UInt<2>[2] - T_183923[0] := UInt<2>(0) - T_183923[1] := UInt<2>(1) - wire T_183924 : UInt<2>[3] - T_183924[0] := UInt<2>(1) - T_183924[1] := UInt<2>(2) - T_183924[2] := UInt<2>(3) - wire T_183925 : UInt<2>[2] - T_183925[0] := UInt<2>(2) - T_183925[1] := UInt<2>(3) - wire T_183926 : UInt<2>[1] - T_183926[0] := UInt<2>(3) - wire T_183927 : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>} - T_183927.is_builtin_type := UInt<1>(1) - T_183927.a_type := UInt<3>(1) - T_183927.client_xact_id := UInt<1>(0) - T_183927.addr_block := T_183916 - T_183927.addr_beat := UInt<1>(0) - T_183927.data := UInt<1>(0) - T_183927.union := UInt<9>(449) - mem__.acquire.bits := T_183927 - - node T_183928 = eq(UInt<2>(0), state) - when T_183928 : - when s2_miss : state := UInt<2>(1) - invalidated := UInt<1>(0) - - node T_183929 = eq(UInt<2>(1), state) - when T_183929 : when mem__.acquire.ready : state := UInt<2>(2) - - node T_183930 = eq(UInt<2>(2), state) - when T_183930 : when mem__.grant.valid : state := UInt<2>(3) - - node T_183931 = eq(UInt<2>(3), state) - when T_183931 : when refill_done : state := UInt<2>(0) - module RocketCAM : - input clear : UInt<1> - input clear_mask : UInt<8> - input tag : UInt<34> - output hit : UInt<1> - output hits : UInt<8> - output valid_bits : UInt<8> - input write : UInt<1> - input write_tag : UInt<34> - input write_addr : UInt<3> - - cmem cam_tags : UInt<34>[8] - reg vb_array : UInt<8> - onreset vb_array := UInt<8>(0) - when write : - node T_183932 = dshl(UInt<1>(1), write_addr) - node T_183933 = or(vb_array, T_183932) - node T_183934 = not(vb_array) - node T_183935 = or(T_183934, T_183932) - node T_183936 = not(T_183935) - wire T_183937 : UInt<9> - T_183937 := T_183936 - when UInt<1>(1) : T_183937 := T_183933 - vb_array := T_183937 - accessor T_183938 = cam_tags[write_addr] - T_183938 := write_tag - when clear : - node T_183939 = not(clear_mask) - node T_183940 = and(vb_array, T_183939) - vb_array := T_183940 - node T_183941 = bit(vb_array, 0) - accessor T_183942 = cam_tags[UInt<1>(0)] - node T_183943 = eq(T_183942, tag) - node T_183944 = and(T_183941, T_183943) - node T_183945 = bit(vb_array, 1) - accessor T_183946 = cam_tags[UInt<1>(1)] - node T_183947 = eq(T_183946, tag) - node T_183948 = and(T_183945, T_183947) - node T_183949 = bit(vb_array, 2) - accessor T_183950 = cam_tags[UInt<2>(2)] - node T_183951 = eq(T_183950, tag) - node T_183952 = and(T_183949, T_183951) - node T_183953 = bit(vb_array, 3) - accessor T_183954 = cam_tags[UInt<2>(3)] - node T_183955 = eq(T_183954, tag) - node T_183956 = and(T_183953, T_183955) - node T_183957 = bit(vb_array, 4) - accessor T_183958 = cam_tags[UInt<3>(4)] - node T_183959 = eq(T_183958, tag) - node T_183960 = and(T_183957, T_183959) - node T_183961 = bit(vb_array, 5) - accessor T_183962 = cam_tags[UInt<3>(5)] - node T_183963 = eq(T_183962, tag) - node T_183964 = and(T_183961, T_183963) - node T_183965 = bit(vb_array, 6) - accessor T_183966 = cam_tags[UInt<3>(6)] - node T_183967 = eq(T_183966, tag) - node T_183968 = and(T_183965, T_183967) - node T_183969 = bit(vb_array, 7) - accessor T_183970 = cam_tags[UInt<3>(7)] - node T_183971 = eq(T_183970, tag) - node T_183972 = and(T_183969, T_183971) - valid_bits := vb_array - wire T_183973 : UInt<1>[8] - T_183973[0] := T_183944 - T_183973[1] := T_183948 - T_183973[2] := T_183952 - T_183973[3] := T_183956 - T_183973[4] := T_183960 - T_183973[5] := T_183964 - T_183973[6] := T_183968 - T_183973[7] := T_183972 - node T_183974 = cat(T_183973[7], T_183973[6]) - node T_183975 = cat(T_183973[5], T_183973[4]) - node T_183976 = cat(T_183974, T_183975) - node T_183977 = cat(T_183973[3], T_183973[2]) - node T_183978 = cat(T_183973[1], T_183973[0]) - node T_183979 = cat(T_183977, T_183978) - node T_183980 = cat(T_183976, T_183979) - hits := T_183980 - node T_183981 = eq(hits, UInt<1>(0)) - node T_183982 = eq(T_183981, UInt<1>(0)) - hit := T_183982 - module TLB : - input req : {flip ready : UInt<1>, valid : UInt<1>, bits : {asid : UInt<7>, vpn : UInt<28>, passthrough : UInt<1>, instruction : UInt<1>, store : UInt<1>}} - output resp : {miss : UInt<1>, ppn : UInt<20>, xcpt_ld : UInt<1>, xcpt_st : UInt<1>, xcpt_if : UInt<1>, hit_idx : UInt<8>} - output ptw : {req : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<27>, prv : UInt<2>, store : UInt<1>, fetch : UInt<1>}}, flip resp : {valid : UInt<1>, bits : {error : UInt<1>, pte : {ppn : UInt<20>, reserved_for_software : UInt<3>, d : UInt<1>, r : UInt<1>, typ : UInt<4>, v : UInt<1>}}}, flip status : {sd : UInt<1>, zero2 : UInt<31>, sd_rv32 : UInt<1>, zero1 : UInt<9>, vm : UInt<5>, mprv : UInt<1>, xs : UInt<2>, fs : UInt<2>, prv3 : UInt<2>, ie3 : UInt<1>, prv2 : UInt<2>, ie2 : UInt<1>, prv1 : UInt<2>, ie1 : UInt<1>, prv : UInt<2>, ie : UInt<1>}, flip invalidate : UInt<1>} - - reg state : UInt<2> - onreset state := UInt<2>(0) - reg r_refill_tag : UInt - reg r_refill_waddr : UInt - reg r_req : {asid : UInt<7>, vpn : UInt<28>, passthrough : UInt<1>, instruction : UInt<1>, store : UInt<1>} - inst tag_cam of RocketCAM - cmem tag_ram : UInt<20>[8] - node lookup_tag = cat(req.bits.asid, req.bits.vpn) - tag_cam.tag := lookup_tag - node T_183983 = eq(state, UInt<2>(2)) - node T_183984 = and(T_183983, ptw.resp.valid) - tag_cam.write := T_183984 - tag_cam.write_tag := r_refill_tag - tag_cam.write_addr := r_refill_waddr - node T_183985 = bits(tag_cam.hits, 7, 4) - node T_183986 = bits(tag_cam.hits, 3, 0) - node T_183987 = eq(T_183985, UInt<1>(0)) - node T_183988 = eq(T_183987, UInt<1>(0)) - node T_183989 = or(T_183985, T_183986) - node T_183990 = bits(T_183989, 3, 2) - node T_183991 = bits(T_183989, 1, 0) - node T_183992 = eq(T_183990, UInt<1>(0)) - node T_183993 = eq(T_183992, UInt<1>(0)) - node T_183994 = or(T_183990, T_183991) - node T_183995 = bit(T_183994, 1) - node T_183996 = cat(T_183993, T_183995) - node tag_hit_addr = cat(T_183988, T_183996) - reg valid_array : UInt<1>[8] - reg ur_array : UInt<1>[8] - reg uw_array : UInt<1>[8] - reg ux_array : UInt<1>[8] - reg sr_array : UInt<1>[8] - reg sw_array : UInt<1>[8] - reg sx_array : UInt<1>[8] - reg dirty_array : UInt<1>[8] - when ptw.resp.valid : - accessor T_183997 = tag_ram[r_refill_waddr] - T_183997 := ptw.resp.bits.pte.ppn - accessor T_183998 = valid_array[r_refill_waddr] - node T_183999 = eq(ptw.resp.bits.error, UInt<1>(0)) - T_183998 := T_183999 - accessor T_184000 = ur_array[r_refill_waddr] - node T_184001 = geq(ptw.resp.bits.pte.typ, UInt<2>(2)) - node T_184002 = and(ptw.resp.bits.pte.v, T_184001) - node T_184003 = lt(ptw.resp.bits.pte.typ, UInt<4>(8)) - node T_184004 = and(T_184002, T_184003) - node T_184005 = eq(ptw.resp.bits.error, UInt<1>(0)) - node T_184006 = and(T_184004, T_184005) - T_184000 := T_184006 - accessor T_184007 = uw_array[r_refill_waddr] - node T_184008 = geq(ptw.resp.bits.pte.typ, UInt<2>(2)) - node T_184009 = and(ptw.resp.bits.pte.v, T_184008) - node T_184010 = lt(ptw.resp.bits.pte.typ, UInt<4>(8)) - node T_184011 = and(T_184009, T_184010) - node T_184012 = bit(ptw.resp.bits.pte.typ, 0) - node T_184013 = and(T_184011, T_184012) - node T_184014 = eq(ptw.resp.bits.error, UInt<1>(0)) - node T_184015 = and(T_184013, T_184014) - T_184007 := T_184015 - accessor T_184016 = ux_array[r_refill_waddr] - node T_184017 = geq(ptw.resp.bits.pte.typ, UInt<2>(2)) - node T_184018 = and(ptw.resp.bits.pte.v, T_184017) - node T_184019 = lt(ptw.resp.bits.pte.typ, UInt<4>(8)) - node T_184020 = and(T_184018, T_184019) - node T_184021 = bit(ptw.resp.bits.pte.typ, 1) - node T_184022 = and(T_184020, T_184021) - node T_184023 = eq(ptw.resp.bits.error, UInt<1>(0)) - node T_184024 = and(T_184022, T_184023) - T_184016 := T_184024 - accessor T_184025 = sr_array[r_refill_waddr] - node T_184026 = geq(ptw.resp.bits.pte.typ, UInt<2>(2)) - node T_184027 = and(ptw.resp.bits.pte.v, T_184026) - node T_184028 = eq(ptw.resp.bits.error, UInt<1>(0)) - node T_184029 = and(T_184027, T_184028) - T_184025 := T_184029 - accessor T_184030 = sw_array[r_refill_waddr] - node T_184031 = geq(ptw.resp.bits.pte.typ, UInt<2>(2)) - node T_184032 = and(ptw.resp.bits.pte.v, T_184031) - node T_184033 = bit(ptw.resp.bits.pte.typ, 0) - node T_184034 = and(T_184032, T_184033) - node T_184035 = eq(ptw.resp.bits.error, UInt<1>(0)) - node T_184036 = and(T_184034, T_184035) - T_184030 := T_184036 - accessor T_184037 = sx_array[r_refill_waddr] - node T_184038 = geq(ptw.resp.bits.pte.typ, UInt<3>(4)) - node T_184039 = and(ptw.resp.bits.pte.v, T_184038) - node T_184040 = bit(ptw.resp.bits.pte.typ, 1) - node T_184041 = and(T_184039, T_184040) - node T_184042 = eq(ptw.resp.bits.error, UInt<1>(0)) - node T_184043 = and(T_184041, T_184042) - T_184037 := T_184043 - accessor T_184044 = dirty_array[r_refill_waddr] - T_184044 := ptw.resp.bits.pte.d - node T_184045 = eq(tag_cam.valid_bits, UInt<1>(-1)) - node has_invalid_entry = eq(T_184045, UInt<1>(0)) - node T_184046 = not(tag_cam.valid_bits) - node T_184047 = bit(T_184046, 0) - node T_184048 = bit(T_184046, 1) - node T_184049 = bit(T_184046, 2) - node T_184050 = bit(T_184046, 3) - node T_184051 = bit(T_184046, 4) - node T_184052 = bit(T_184046, 5) - node T_184053 = bit(T_184046, 6) - node T_184054 = bit(T_184046, 7) - wire T_184055 : UInt<1>[8] - T_184055[0] := T_184047 - T_184055[1] := T_184048 - T_184055[2] := T_184049 - T_184055[3] := T_184050 - T_184055[4] := T_184051 - T_184055[5] := T_184052 - T_184055[6] := T_184053 - T_184055[7] := T_184054 - wire T_184056 : UInt<3> - T_184056 := UInt<3>(7) - when T_184055[6] : T_184056 := UInt<3>(6) - wire T_184057 : UInt<3> - T_184057 := T_184056 - when T_184055[5] : T_184057 := UInt<3>(5) - wire T_184058 : UInt<3> - T_184058 := T_184057 - when T_184055[4] : T_184058 := UInt<3>(4) - wire T_184059 : UInt<3> - T_184059 := T_184058 - when T_184055[3] : T_184059 := UInt<2>(3) - wire T_184060 : UInt<3> - T_184060 := T_184059 - when T_184055[2] : T_184060 := UInt<2>(2) - wire T_184061 : UInt<3> - T_184061 := T_184060 - when T_184055[1] : T_184061 := UInt<1>(1) - wire invalid_entry : UInt<3> - invalid_entry := T_184061 - when T_184055[0] : invalid_entry := UInt<1>(0) - reg T_184062 : UInt<8> - node T_184063 = dshr(T_184062, UInt<1>(1)) - node T_184064 = bit(T_184063, 0) - node T_184065 = cat(UInt<1>(1), T_184064) - node T_184066 = dshr(T_184062, T_184065) - node T_184067 = bit(T_184066, 0) - node T_184068 = cat(T_184065, T_184067) - node T_184069 = dshr(T_184062, T_184068) - node T_184070 = bit(T_184069, 0) - node T_184071 = cat(T_184068, T_184070) - node T_184072 = bits(T_184071, 2, 0) - wire repl_waddr : UInt<3> - repl_waddr := T_184072 - when has_invalid_entry : repl_waddr := invalid_entry - node T_184073 = eq(req.bits.instruction, UInt<1>(0)) - node T_184074 = and(ptw.status.mprv, T_184073) - wire priv : UInt<2> - priv := ptw.status.prv - when T_184074 : priv := ptw.status.prv1 - node priv_s = eq(priv, UInt<1>(1)) - node priv_uses_vm = leq(priv, UInt<1>(1)) - node T_184075 = eq(r_req.store, UInt<1>(0)) - node T_184076 = or(r_req.instruction, r_req.store) - node T_184077 = eq(T_184076, UInt<1>(0)) - node T_184078 = cat(r_req.store, T_184077) - node req_xwr = cat(T_184075, T_184078) - node T_184079 = cat(sr_array[7], sr_array[6]) - node T_184080 = cat(sr_array[5], sr_array[4]) - node T_184081 = cat(T_184079, T_184080) - node T_184082 = cat(sr_array[3], sr_array[2]) - node T_184083 = cat(sr_array[1], sr_array[0]) - node T_184084 = cat(T_184082, T_184083) - node T_184085 = cat(T_184081, T_184084) - node T_184086 = cat(ur_array[7], ur_array[6]) - node T_184087 = cat(ur_array[5], ur_array[4]) - node T_184088 = cat(T_184086, T_184087) - node T_184089 = cat(ur_array[3], ur_array[2]) - node T_184090 = cat(ur_array[1], ur_array[0]) - node T_184091 = cat(T_184089, T_184090) - node T_184092 = cat(T_184088, T_184091) - wire r_array : UInt<8> - r_array := T_184092 - when priv_s : r_array := T_184085 - node T_184093 = cat(sw_array[7], sw_array[6]) - node T_184094 = cat(sw_array[5], sw_array[4]) - node T_184095 = cat(T_184093, T_184094) - node T_184096 = cat(sw_array[3], sw_array[2]) - node T_184097 = cat(sw_array[1], sw_array[0]) - node T_184098 = cat(T_184096, T_184097) - node T_184099 = cat(T_184095, T_184098) - node T_184100 = cat(uw_array[7], uw_array[6]) - node T_184101 = cat(uw_array[5], uw_array[4]) - node T_184102 = cat(T_184100, T_184101) - node T_184103 = cat(uw_array[3], uw_array[2]) - node T_184104 = cat(uw_array[1], uw_array[0]) - node T_184105 = cat(T_184103, T_184104) - node T_184106 = cat(T_184102, T_184105) - wire w_array : UInt<8> - w_array := T_184106 - when priv_s : w_array := T_184099 - node T_184107 = cat(sx_array[7], sx_array[6]) - node T_184108 = cat(sx_array[5], sx_array[4]) - node T_184109 = cat(T_184107, T_184108) - node T_184110 = cat(sx_array[3], sx_array[2]) - node T_184111 = cat(sx_array[1], sx_array[0]) - node T_184112 = cat(T_184110, T_184111) - node T_184113 = cat(T_184109, T_184112) - node T_184114 = cat(ux_array[7], ux_array[6]) - node T_184115 = cat(ux_array[5], ux_array[4]) - node T_184116 = cat(T_184114, T_184115) - node T_184117 = cat(ux_array[3], ux_array[2]) - node T_184118 = cat(ux_array[1], ux_array[0]) - node T_184119 = cat(T_184117, T_184118) - node T_184120 = cat(T_184116, T_184119) - wire x_array : UInt<8> - x_array := T_184120 - when priv_s : x_array := T_184113 - node T_184121 = bit(ptw.status.vm, 3) - node vm_enabled = and(T_184121, priv_uses_vm) - node T_184122 = bit(req.bits.vpn, 27) - node T_184123 = bit(req.bits.vpn, 26) - node bad_va = neq(T_184122, T_184123) - node T_184124 = cat(dirty_array[7], dirty_array[6]) - node T_184125 = cat(dirty_array[5], dirty_array[4]) - node T_184126 = cat(T_184124, T_184125) - node T_184127 = cat(dirty_array[3], dirty_array[2]) - node T_184128 = cat(dirty_array[1], dirty_array[0]) - node T_184129 = cat(T_184127, T_184128) - node T_184130 = cat(T_184126, T_184129) - wire T_184131 : UInt<1> - T_184131 := UInt<1>(0) - when req.bits.store : T_184131 := w_array - node T_184132 = not(T_184131) - node T_184133 = or(T_184130, T_184132) - node tag_hits = and(tag_cam.hits, T_184133) - node T_184134 = eq(tag_hits, UInt<1>(0)) - node tag_hit = eq(T_184134, UInt<1>(0)) - node tlb_hit = and(vm_enabled, tag_hit) - node T_184135 = eq(tag_hit, UInt<1>(0)) - node T_184136 = and(vm_enabled, T_184135) - node T_184137 = eq(bad_va, UInt<1>(0)) - node tlb_miss = and(T_184136, T_184137) - - node T_184138 = and(req.valid, tlb_hit) - when T_184138 : - node T_184139 = bits(tag_cam.hits, 7, 4) - node T_184140 = bits(tag_cam.hits, 3, 0) - node T_184141 = eq(T_184139, UInt<1>(0)) - node T_184142 = eq(T_184141, UInt<1>(0)) - node T_184143 = or(T_184139, T_184140) - node T_184144 = bits(T_184143, 3, 2) - node T_184145 = bits(T_184143, 1, 0) - node T_184146 = eq(T_184144, UInt<1>(0)) - node T_184147 = eq(T_184146, UInt<1>(0)) - node T_184148 = or(T_184144, T_184145) - node T_184149 = bit(T_184148, 1) - node T_184150 = cat(T_184147, T_184149) - node T_184151 = cat(T_184142, T_184150) - node T_184152 = bit(T_184151, 2) - node T_184153 = dshl(UInt<8>(1), UInt<1>(1)) - node T_184154 = bits(T_184153, 7, 0) - node T_184155 = not(T_184154) - node T_184156 = and(T_184062, T_184155) - wire T_184157 : UInt<8> - T_184157 := T_184154 - when T_184152 : T_184157 := UInt<1>(0) - node T_184158 = or(T_184156, T_184157) - node T_184159 = cat(UInt<1>(1), T_184152) - node T_184160 = bit(T_184151, 1) - node T_184161 = dshl(UInt<8>(1), T_184159) - node T_184162 = bits(T_184161, 7, 0) - node T_184163 = not(T_184162) - node T_184164 = and(T_184158, T_184163) - wire T_184165 : UInt<8> - T_184165 := T_184162 - when T_184160 : T_184165 := UInt<1>(0) - node T_184166 = or(T_184164, T_184165) - node T_184167 = cat(T_184159, T_184160) - node T_184168 = bit(T_184151, 0) - node T_184169 = dshl(UInt<8>(1), T_184167) - node T_184170 = bits(T_184169, 7, 0) - node T_184171 = not(T_184170) - node T_184172 = and(T_184166, T_184171) - wire T_184173 : UInt<8> - T_184173 := T_184170 - when T_184168 : T_184173 := UInt<1>(0) - node T_184174 = or(T_184172, T_184173) - node T_184175 = cat(T_184167, T_184168) - T_184062 := T_184174 - node T_184176 = eq(state, UInt<2>(0)) - req.ready := T_184176 - node T_184177 = and(r_array, tag_cam.hits) - node T_184178 = eq(T_184177, UInt<1>(0)) - node T_184179 = eq(T_184178, UInt<1>(0)) - node T_184180 = eq(T_184179, UInt<1>(0)) - node T_184181 = and(tlb_hit, T_184180) - node T_184182 = or(bad_va, T_184181) - resp.xcpt_ld := T_184182 - node T_184183 = and(w_array, tag_cam.hits) - node T_184184 = eq(T_184183, UInt<1>(0)) - node T_184185 = eq(T_184184, UInt<1>(0)) - node T_184186 = eq(T_184185, UInt<1>(0)) - node T_184187 = and(tlb_hit, T_184186) - node T_184188 = or(bad_va, T_184187) - resp.xcpt_st := T_184188 - node T_184189 = and(x_array, tag_cam.hits) - node T_184190 = eq(T_184189, UInt<1>(0)) - node T_184191 = eq(T_184190, UInt<1>(0)) - node T_184192 = eq(T_184191, UInt<1>(0)) - node T_184193 = and(tlb_hit, T_184192) - node T_184194 = or(bad_va, T_184193) - resp.xcpt_if := T_184194 - resp.miss := tlb_miss - node T_184195 = eq(req.bits.passthrough, UInt<1>(0)) - node T_184196 = and(vm_enabled, T_184195) - node T_184197 = bit(tag_cam.hits, 0) - node T_184198 = bit(tag_cam.hits, 1) - node T_184199 = bit(tag_cam.hits, 2) - node T_184200 = bit(tag_cam.hits, 3) - node T_184201 = bit(tag_cam.hits, 4) - node T_184202 = bit(tag_cam.hits, 5) - node T_184203 = bit(tag_cam.hits, 6) - node T_184204 = bit(tag_cam.hits, 7) - accessor T_184205 = tag_ram[UInt<1>(0)] - accessor T_184206 = tag_ram[UInt<1>(1)] - accessor T_184207 = tag_ram[UInt<2>(2)] - accessor T_184208 = tag_ram[UInt<2>(3)] - accessor T_184209 = tag_ram[UInt<3>(4)] - accessor T_184210 = tag_ram[UInt<3>(5)] - accessor T_184211 = tag_ram[UInt<3>(6)] - accessor T_184212 = tag_ram[UInt<3>(7)] - wire T_184213 : UInt<1> - T_184213 := UInt<1>(0) - when T_184197 : T_184213 := T_184205 - wire T_184214 : UInt<1> - T_184214 := UInt<1>(0) - when T_184198 : T_184214 := T_184206 - wire T_184215 : UInt<1> - T_184215 := UInt<1>(0) - when T_184199 : T_184215 := T_184207 - wire T_184216 : UInt<1> - T_184216 := UInt<1>(0) - when T_184200 : T_184216 := T_184208 - wire T_184217 : UInt<1> - T_184217 := UInt<1>(0) - when T_184201 : T_184217 := T_184209 - wire T_184218 : UInt<1> - T_184218 := UInt<1>(0) - when T_184202 : T_184218 := T_184210 - wire T_184219 : UInt<1> - T_184219 := UInt<1>(0) - when T_184203 : T_184219 := T_184211 - wire T_184220 : UInt<1> - T_184220 := UInt<1>(0) - when T_184204 : T_184220 := T_184212 - node T_184221 = or(T_184213, T_184214) - node T_184222 = or(T_184221, T_184215) - node T_184223 = or(T_184222, T_184216) - node T_184224 = or(T_184223, T_184217) - node T_184225 = or(T_184224, T_184218) - node T_184226 = or(T_184225, T_184219) - node T_184227 = or(T_184226, T_184220) - wire T_184228 : UInt<20> - node T_184229 = bits(T_184227, 19, 0) - T_184228 := T_184229 - node T_184230 = bits(req.bits.vpn, 19, 0) - wire T_184231 : UInt<20> - T_184231 := T_184230 - when T_184196 : T_184231 := T_184228 - resp.ppn := T_184231 - resp.hit_idx := tag_cam.hits - node T_184232 = and(req.ready, req.valid) - node T_184233 = or(ptw.invalidate, T_184232) - tag_cam.clear := T_184233 - node T_184234 = cat(valid_array[7], valid_array[6]) - node T_184235 = cat(valid_array[5], valid_array[4]) - node T_184236 = cat(T_184234, T_184235) - node T_184237 = cat(valid_array[3], valid_array[2]) - node T_184238 = cat(valid_array[1], valid_array[0]) - node T_184239 = cat(T_184237, T_184238) - node T_184240 = cat(T_184236, T_184239) - node T_184241 = not(T_184240) - node T_184242 = not(tag_hits) - node T_184243 = and(tag_cam.hits, T_184242) - node T_184244 = or(T_184241, T_184243) - tag_cam.clear_mask := T_184244 - when ptw.invalidate : tag_cam.clear_mask := SInt<1>(-1) - node T_184245 = eq(state, UInt<2>(1)) - ptw.req.valid := T_184245 - ptw.req.bits.addr := r_refill_tag - ptw.req.bits.prv := ptw.status.prv - ptw.req.bits.store := r_req.store - ptw.req.bits.fetch := r_req.instruction - - - node T_184246 = and(req.ready, req.valid) - node T_184247 = and(T_184246, tlb_miss) - when T_184247 : - state := UInt<2>(1) - r_refill_tag := lookup_tag - r_refill_waddr := repl_waddr - r_req := req.bits - - node T_184248 = eq(state, UInt<2>(1)) - when T_184248 : - when ptw.invalidate : state := UInt<2>(0) - when ptw.req.ready : - state := UInt<2>(2) - when ptw.invalidate : state := UInt<2>(3) - - - node T_184249 = eq(state, UInt<2>(2)) - node T_184250 = and(T_184249, ptw.invalidate) - when T_184250 : state := UInt<2>(3) - when ptw.resp.valid : state := UInt<2>(0) - module Frontend : - input cpu : {req : {valid : UInt<1>, bits : {pc : UInt<40>}}, flip resp : {flip ready : UInt<1>, valid : UInt<1>, bits : {pc : UInt<40>, data : UInt<32>[1], mask : UInt<1>, xcpt_if : UInt<1>}}, flip btb_resp : {valid : UInt<1>, bits : {taken : UInt<1>, mask : UInt<1>, bridx : UInt<1>, target : UInt<39>, entry : UInt<6>, bht : {history : UInt<7>, value : UInt<2>}}}, btb_update : {valid : UInt<1>, bits : {prediction : {valid : UInt<1>, bits : {taken : UInt<1>, mask : UInt<1>, bridx : UInt<1>, target : UInt<39>, entry : UInt<6>, bht : {history : UInt<7>, value : UInt<2>}}}, pc : UInt<39>, target : UInt<39>, taken : UInt<1>, isJump : UInt<1>, isReturn : UInt<1>, br_pc : UInt<39>}}, bht_update : {valid : UInt<1>, bits : {prediction : {valid : UInt<1>, bits : {taken : UInt<1>, mask : UInt<1>, bridx : UInt<1>, target : UInt<39>, entry : UInt<6>, bht : {history : UInt<7>, value : UInt<2>}}}, pc : UInt<39>, taken : UInt<1>, mispredict : UInt<1>}}, ras_update : {valid : UInt<1>, bits : {isCall : UInt<1>, isReturn : UInt<1>, returnAddr : UInt<39>, prediction : {valid : UInt<1>, bits : {taken : UInt<1>, mask : UInt<1>, bridx : UInt<1>, target : UInt<39>, entry : UInt<6>, bht : {history : UInt<7>, value : UInt<2>}}}}}, invalidate : UInt<1>, flip npc : UInt<40>} - output ptw : {req : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<27>, prv : UInt<2>, store : UInt<1>, fetch : UInt<1>}}, flip resp : {valid : UInt<1>, bits : {error : UInt<1>, pte : {ppn : UInt<20>, reserved_for_software : UInt<3>, d : UInt<1>, r : UInt<1>, typ : UInt<4>, v : UInt<1>}}}, flip status : {sd : UInt<1>, zero2 : UInt<31>, sd_rv32 : UInt<1>, zero1 : UInt<9>, vm : UInt<5>, mprv : UInt<1>, xs : UInt<2>, fs : UInt<2>, prv3 : UInt<2>, ie3 : UInt<1>, prv2 : UInt<2>, ie2 : UInt<1>, prv1 : UInt<2>, ie1 : UInt<1>, prv : UInt<2>, ie : UInt<1>}, flip invalidate : UInt<1>} - output mem__ : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}} - - wire data : UInt<32>[1] - T_184251.data[0] := T_184252 - wire data : UInt<32>[1] - cpu.resp.bits.data[0] := T_184253 - wire T_184254 : UInt<3>[3] - T_184254[0] := UInt<3>(0) - T_184254[1] := UInt<3>(1) - T_184254[2] := UInt<3>(2) - wire T_184255 : UInt<2>[2] - T_184255[0] := UInt<2>(0) - T_184255[1] := UInt<2>(1) - wire T_184256 : UInt<2>[3] - T_184256[0] := UInt<2>(1) - T_184256[1] := UInt<2>(2) - T_184256[2] := UInt<2>(3) - wire T_184257 : UInt<2>[2] - T_184257[0] := UInt<2>(2) - T_184257[1] := UInt<2>(3) - wire T_184258 : UInt<2>[1] - T_184258[0] := UInt<2>(3) - wire T_184259 : UInt<3>[3] - T_184259[0] := UInt<3>(0) - T_184259[1] := UInt<3>(1) - T_184259[2] := UInt<3>(2) - wire T_184260 : UInt<2>[2] - T_184260[0] := UInt<2>(0) - T_184260[1] := UInt<2>(1) - wire T_184261 : UInt<2>[3] - T_184261[0] := UInt<2>(1) - T_184261[1] := UInt<2>(2) - T_184261[2] := UInt<2>(3) - wire T_184262 : UInt<2>[2] - T_184262[0] := UInt<2>(2) - T_184262[1] := UInt<2>(3) - wire T_184263 : UInt<2>[1] - T_184263[0] := UInt<2>(3) - wire T_184264 : UInt<3>[3] - T_184264[0] := UInt<3>(0) - T_184264[1] := UInt<3>(1) - T_184264[2] := UInt<3>(2) - wire T_184265 : UInt<2>[2] - T_184265[0] := UInt<2>(0) - T_184265[1] := UInt<2>(1) - wire T_184266 : UInt<2>[3] - T_184266[0] := UInt<2>(1) - T_184266[1] := UInt<2>(2) - T_184266[2] := UInt<2>(3) - wire T_184267 : UInt<2>[2] - T_184267[0] := UInt<2>(2) - T_184267[1] := UInt<2>(3) - wire T_184268 : UInt<2>[1] - T_184268[0] := UInt<2>(3) - wire T_184269 : UInt<3>[3] - T_184269[0] := UInt<3>(0) - T_184269[1] := UInt<3>(1) - T_184269[2] := UInt<3>(2) - wire T_184270 : UInt<2>[2] - T_184270[0] := UInt<2>(0) - T_184270[1] := UInt<2>(1) - wire T_184271 : UInt<2>[3] - T_184271[0] := UInt<2>(1) - T_184271[1] := UInt<2>(2) - T_184271[2] := UInt<2>(3) - wire T_184272 : UInt<2>[2] - T_184272[0] := UInt<2>(2) - T_184272[1] := UInt<2>(3) - wire T_184273 : UInt<2>[1] - T_184273[0] := UInt<2>(3) - wire T_184274 : UInt<3>[3] - T_184274[0] := UInt<3>(0) - T_184274[1] := UInt<3>(1) - T_184274[2] := UInt<3>(2) - wire T_184275 : UInt<2>[2] - T_184275[0] := UInt<2>(0) - T_184275[1] := UInt<2>(1) - wire T_184276 : UInt<2>[3] - T_184276[0] := UInt<2>(1) - T_184276[1] := UInt<2>(2) - T_184276[2] := UInt<2>(3) - wire T_184277 : UInt<2>[2] - T_184277[0] := UInt<2>(2) - T_184277[1] := UInt<2>(3) - wire T_184278 : UInt<2>[1] - T_184278[0] := UInt<2>(3) - inst btb of BTB - inst icache of ICache - inst tlb of TLB - reg s1_pc_ : UInt - node T_184279 = not(s1_pc_) - node T_184280 = or(T_184279, UInt<2>(3)) - node s1_pc = not(T_184280) - reg s1_same_block : UInt<1> - reg s2_valid : UInt<1> - onreset s2_valid := UInt<1>(1) - reg s2_pc : UInt<10> - onreset s2_pc := UInt<10>(512) - reg s2_btb_resp_valid : UInt<1> - onreset s2_btb_resp_valid := UInt<1>(0) - reg s2_btb_resp_bits : {taken : UInt<1>, mask : UInt<1>, bridx : UInt<1>, target : UInt<39>, entry : UInt<6>, bht : {history : UInt<7>, value : UInt<2>}} - reg s2_xcpt_if : UInt<1> - onreset s2_xcpt_if := UInt<1>(0) - node T_184281 = bit(btb.resp.bits.target, 38) - node btbTarget = cat(T_184281, btb.resp.bits.target) - node ntpc_0 = addw(s1_pc, UInt<3>(4)) - node T_184282 = bit(s1_pc, 38) - node T_184283 = bit(ntpc_0, 38) - node T_184284 = and(T_184282, T_184283) - node T_184285 = bits(ntpc_0, 38, 2) - node T_184286 = cat(T_184285, UInt<2>(0)) - node ntpc = cat(T_184284, T_184286) - node T_184287 = eq(icache.resp.valid, UInt<1>(0)) - node icmiss = and(s2_valid, T_184287) - wire predicted_npc : UInt<40> - predicted_npc := ntpc - when btb.resp.bits.taken : predicted_npc := btbTarget - wire npc : UInt<40> - npc := predicted_npc - when icmiss : npc := s2_pc - node T_184288 = eq(icmiss, UInt<1>(0)) - node T_184289 = eq(cpu.req.valid, UInt<1>(0)) - node T_184290 = and(T_184288, T_184289) - node T_184291 = eq(btb.resp.bits.taken, UInt<1>(0)) - node T_184292 = and(T_184290, T_184291) - node T_184293 = and(ntpc, UInt<5>(16)) - node T_184294 = and(s1_pc, UInt<5>(16)) - node T_184295 = eq(T_184293, T_184294) - node s0_same_block = and(T_184292, T_184295) - node T_184296 = eq(cpu.resp.ready, UInt<1>(0)) - node stall = and(cpu.resp.valid, T_184296) - - node T_184297 = eq(stall, UInt<1>(0)) - when T_184297 : - node T_184298 = eq(tlb.resp.miss, UInt<1>(0)) - node T_184299 = and(s0_same_block, T_184298) - s1_same_block := T_184299 - s1_pc_ := npc - node T_184300 = eq(icmiss, UInt<1>(0)) - s2_valid := T_184300 - - node T_184301 = eq(icmiss, UInt<1>(0)) - when T_184301 : - s2_pc := s1_pc - s2_btb_resp_valid := btb.resp.valid - when btb.resp.valid : s2_btb_resp_bits := btb.resp.bits - s2_xcpt_if := tlb.resp.xcpt_if - when cpu.req.valid : - s1_same_block := UInt<1>(0) - s1_pc_ := cpu.req.bits.pc - s2_valid := UInt<1>(0) - node T_184302 = eq(stall, UInt<1>(0)) - node T_184303 = eq(icmiss, UInt<1>(0)) - node T_184304 = and(T_184302, T_184303) - btb.req.valid := T_184304 - btb.req.bits.addr := s1_pc - btb.btb_update := cpu.btb_update - btb.bht_update := cpu.bht_update - btb.ras_update := cpu.ras_update - node T_184305 = or(cpu.invalidate, ptw.invalidate) - btb.invalidate := T_184305 - tlb.ptw <> ptw - node T_184306 = eq(stall, UInt<1>(0)) - node T_184307 = eq(icmiss, UInt<1>(0)) - node T_184308 = and(T_184306, T_184307) - tlb.req.valid := T_184308 - node T_184309 = dshr(s1_pc, UInt<4>(12)) - tlb.req.bits.vpn := T_184309 - tlb.req.bits.asid := UInt<1>(0) - tlb.req.bits.passthrough := UInt<1>(0) - tlb.req.bits.instruction := UInt<1>(1) - tlb.req.bits.store := UInt<1>(0) - icache.mem__ <> mem__ - node T_184310 = eq(stall, UInt<1>(0)) - node T_184311 = eq(s0_same_block, UInt<1>(0)) - node T_184312 = and(T_184310, T_184311) - icache.req.valid := T_184312 - icache.req.bits.idx := cpu.npc - icache.invalidate := cpu.invalidate - icache.req.bits.ppn := tlb.resp.ppn - node T_184313 = or(cpu.req.valid, tlb.resp.miss) - node T_184314 = or(T_184313, icmiss) - node T_184315 = or(T_184314, ptw.invalidate) - icache.req.bits.kill := T_184315 - node T_184316 = eq(stall, UInt<1>(0)) - node T_184317 = eq(s1_same_block, UInt<1>(0)) - node T_184318 = and(T_184316, T_184317) - icache.resp.ready := T_184318 - node T_184319 = or(s2_xcpt_if, icache.resp.valid) - node T_184320 = and(s2_valid, T_184319) - cpu.resp.valid := T_184320 - cpu.resp.bits.pc := s2_pc - wire T_184321 : UInt<40> - T_184321 := npc - when cpu.req.valid : T_184321 := cpu.req.bits.pc - cpu.npc := T_184321 - node T_184322 = bits(s2_pc, 3, 2) - node T_184323 = shl(T_184322, 5) - node fetch_data = dshr(icache.resp.bits.datablock, T_184323) - node T_184324 = bits(fetch_data, 31, 0) - cpu.resp.bits.data[0] := T_184324 - node T_184325 = and(UInt<2>(3), s2_btb_resp_bits.mask) - wire T_184326 : UInt<2> - T_184326 := UInt<2>(3) - when s2_btb_resp_valid : T_184326 := T_184325 - cpu.resp.bits.mask := T_184326 - cpu.resp.bits.xcpt_if := s2_xcpt_if - cpu.btb_resp.valid := s2_btb_resp_valid - cpu.btb_resp.bits := s2_btb_resp_bits - module WritebackUnit : - input req : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>, way_en : UInt<4>}} - output meta_read : {flip ready : UInt<1>, valid : UInt<1>, bits : {idx : UInt<6>, tag : UInt<20>}} - output data_req : {flip ready : UInt<1>, valid : UInt<1>, bits : {way_en : UInt<4>, addr : UInt<12>}} - input data_resp : UInt<128> - output release : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}} - - wire T_184327 : UInt<3>[3] - T_184327[0] := UInt<3>(0) - T_184327[1] := UInt<3>(1) - T_184327[2] := UInt<3>(2) - wire T_184328 : UInt<2>[2] - T_184328[0] := UInt<2>(0) - T_184328[1] := UInt<2>(1) - wire T_184329 : UInt<2>[3] - T_184329[0] := UInt<2>(1) - T_184329[1] := UInt<2>(2) - T_184329[2] := UInt<2>(3) - wire T_184330 : UInt<2>[2] - T_184330[0] := UInt<2>(2) - T_184330[1] := UInt<2>(3) - wire T_184331 : UInt<2>[1] - T_184331[0] := UInt<2>(3) - wire T_184332 : UInt<3>[3] - T_184332[0] := UInt<3>(0) - T_184332[1] := UInt<3>(1) - T_184332[2] := UInt<3>(2) - wire T_184333 : UInt<2>[2] - T_184333[0] := UInt<2>(0) - T_184333[1] := UInt<2>(1) - wire T_184334 : UInt<2>[3] - T_184334[0] := UInt<2>(1) - T_184334[1] := UInt<2>(2) - T_184334[2] := UInt<2>(3) - wire T_184335 : UInt<2>[2] - T_184335[0] := UInt<2>(2) - T_184335[1] := UInt<2>(3) - wire T_184336 : UInt<2>[1] - T_184336[0] := UInt<2>(3) - wire T_184337 : UInt<3>[3] - T_184337[0] := UInt<3>(0) - T_184337[1] := UInt<3>(1) - T_184337[2] := UInt<3>(2) - wire T_184338 : UInt<2>[2] - T_184338[0] := UInt<2>(0) - T_184338[1] := UInt<2>(1) - wire T_184339 : UInt<2>[3] - T_184339[0] := UInt<2>(1) - T_184339[1] := UInt<2>(2) - T_184339[2] := UInt<2>(3) - wire T_184340 : UInt<2>[2] - T_184340[0] := UInt<2>(2) - T_184340[1] := UInt<2>(3) - wire T_184341 : UInt<2>[1] - T_184341[0] := UInt<2>(3) - wire T_184342 : UInt<3>[3] - T_184342[0] := UInt<3>(0) - T_184342[1] := UInt<3>(1) - T_184342[2] := UInt<3>(2) - wire T_184343 : UInt<2>[2] - T_184343[0] := UInt<2>(0) - T_184343[1] := UInt<2>(1) - wire T_184344 : UInt<2>[3] - T_184344[0] := UInt<2>(1) - T_184344[1] := UInt<2>(2) - T_184344[2] := UInt<2>(3) - wire T_184345 : UInt<2>[2] - T_184345[0] := UInt<2>(2) - T_184345[1] := UInt<2>(3) - wire T_184346 : UInt<2>[1] - T_184346[0] := UInt<2>(3) - reg active : UInt<1> - onreset active := UInt<1>(0) - reg r1_data_req_fired : UInt<1> - onreset r1_data_req_fired := UInt<1>(0) - reg r2_data_req_fired : UInt<1> - onreset r2_data_req_fired := UInt<1>(0) - reg data_req_cnt : UInt<3> - onreset data_req_cnt := UInt<3>(0) - node beat_done = eq(UInt<1>(1), UInt<1>(-1)) - node T_184347 = and(release.ready, release.valid) - reg beat_cnt : UInt<2> - onreset beat_cnt := UInt<2>(0) - when T_184347 : - node T_184348 = eq(beat_cnt, UInt<2>(3)) - node T_184349 = and(UInt<1>(0), T_184348) - node T_184350 = addw(beat_cnt, UInt<1>(1)) - wire T_184351 : UInt<2> - T_184351 := T_184350 - when T_184349 : T_184351 := UInt<1>(0) - beat_cnt := T_184351 - node all_beats_done = and(T_184347, T_184348) - wire T_184352 : UInt<3>[3] - T_184352[0] := UInt<3>(0) - T_184352[1] := UInt<3>(1) - T_184352[2] := UInt<3>(2) - wire T_184353 : UInt<2>[2] - T_184353[0] := UInt<2>(0) - T_184353[1] := UInt<2>(1) - wire T_184354 : UInt<2>[3] - T_184354[0] := UInt<2>(1) - T_184354[1] := UInt<2>(2) - T_184354[2] := UInt<2>(3) - wire T_184355 : UInt<2>[2] - T_184355[0] := UInt<2>(2) - T_184355[1] := UInt<2>(3) - wire T_184356 : UInt<2>[1] - T_184356[0] := UInt<2>(3) - wire T_184357 : UInt<3>[3] - T_184357[0] := UInt<3>(0) - T_184357[1] := UInt<3>(1) - T_184357[2] := UInt<3>(2) - wire T_184358 : UInt<2>[2] - T_184358[0] := UInt<2>(0) - T_184358[1] := UInt<2>(1) - wire T_184359 : UInt<2>[3] - T_184359[0] := UInt<2>(1) - T_184359[1] := UInt<2>(2) - T_184359[2] := UInt<2>(3) - wire T_184360 : UInt<2>[2] - T_184360[0] := UInt<2>(2) - T_184360[1] := UInt<2>(3) - wire T_184361 : UInt<2>[1] - T_184361[0] := UInt<2>(3) - reg req : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>, way_en : UInt<4>} - release.valid := UInt<1>(0) - when active : - r1_data_req_fired := UInt<1>(0) - r2_data_req_fired := r1_data_req_fired - - - node T_184362 = and(data_req.ready, data_req.valid) - node T_184363 = and(meta_read.ready, meta_read.valid) - node T_184364 = and(T_184362, T_184363) - when T_184364 : - r1_data_req_fired := UInt<1>(1) - node T_184365 = addw(data_req_cnt, UInt<1>(1)) - data_req_cnt := T_184365 - when r2_data_req_fired : - release.valid := beat_done - when beat_done : - node T_184366 = eq(release.ready, UInt<1>(0)) - when T_184366 : - r1_data_req_fired := UInt<1>(0) - r2_data_req_fired := UInt<1>(0) - node T_184367 = and(UInt<1>(1), r1_data_req_fired) - wire T_184368 : UInt<1> - T_184368 := UInt<1>(1) - when T_184367 : T_184368 := UInt<2>(2) - node T_184369 = subw(data_req_cnt, T_184368) - data_req_cnt := T_184369 - - node T_184370 = eq(r1_data_req_fired, UInt<1>(0)) - when T_184370 : - node T_184371 = lt(data_req_cnt, UInt<3>(4)) - node T_184372 = eq(release.ready, UInt<1>(0)) - node T_184373 = or(T_184371, T_184372) - active := T_184373 - - node T_184374 = and(req.ready, req.valid) - when T_184374 : - active := UInt<1>(1) - data_req_cnt := UInt<1>(0) - req := req.bits - node T_184375 = eq(active, UInt<1>(0)) - req.ready := T_184375 - node req_idx = bits(req.addr_block, 5, 0) - node T_184376 = lt(data_req_cnt, UInt<3>(4)) - node fire = and(active, T_184376) - meta_read.valid := fire - meta_read.bits.idx := req_idx - node T_184377 = dshr(req.addr_block, UInt<3>(6)) - meta_read.bits.tag := T_184377 - data_req.valid := fire - data_req.bits.way_en := req.way_en - node T_184378 = bits(data_req_cnt, 1, 0) - node T_184379 = cat(req_idx, T_184378) - node T_184380 = shl(T_184379, 4) - data_req.bits.addr := T_184380 - release.bits := req - release.bits.addr_beat := beat_cnt - release.bits.data := data_resp - module ProbeUnit : - input req : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>, client_xact_id : UInt<1>}} - output rep : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}} - output meta_read : {flip ready : UInt<1>, valid : UInt<1>, bits : {idx : UInt<6>, tag : UInt<20>}} - output meta_write : {flip ready : UInt<1>, valid : UInt<1>, bits : {idx : UInt<6>, way_en : UInt<4>, data : {tag : UInt<20>, coh : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}}} - output wb_req : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>, way_en : UInt<4>}} - input way_en : UInt<4> - input mshr_rdy : UInt<1> - input block_state : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>} - - wire T_184381 : UInt<3>[3] - T_184381[0] := UInt<3>(0) - T_184381[1] := UInt<3>(1) - T_184381[2] := UInt<3>(2) - wire T_184382 : UInt<2>[2] - T_184382[0] := UInt<2>(0) - T_184382[1] := UInt<2>(1) - wire T_184383 : UInt<2>[3] - T_184383[0] := UInt<2>(1) - T_184383[1] := UInt<2>(2) - T_184383[2] := UInt<2>(3) - wire T_184384 : UInt<2>[2] - T_184384[0] := UInt<2>(2) - T_184384[1] := UInt<2>(3) - wire T_184385 : UInt<2>[1] - T_184385[0] := UInt<2>(3) - wire T_184386 : UInt<3>[3] - T_184386[0] := UInt<3>(0) - T_184386[1] := UInt<3>(1) - T_184386[2] := UInt<3>(2) - wire T_184387 : UInt<2>[2] - T_184387[0] := UInt<2>(0) - T_184387[1] := UInt<2>(1) - wire T_184388 : UInt<2>[3] - T_184388[0] := UInt<2>(1) - T_184388[1] := UInt<2>(2) - T_184388[2] := UInt<2>(3) - wire T_184389 : UInt<2>[2] - T_184389[0] := UInt<2>(2) - T_184389[1] := UInt<2>(3) - wire T_184390 : UInt<2>[1] - T_184390[0] := UInt<2>(3) - wire T_184391 : UInt<3>[3] - T_184391[0] := UInt<3>(0) - T_184391[1] := UInt<3>(1) - T_184391[2] := UInt<3>(2) - wire T_184392 : UInt<2>[2] - T_184392[0] := UInt<2>(0) - T_184392[1] := UInt<2>(1) - wire T_184393 : UInt<2>[3] - T_184393[0] := UInt<2>(1) - T_184393[1] := UInt<2>(2) - T_184393[2] := UInt<2>(3) - wire T_184394 : UInt<2>[2] - T_184394[0] := UInt<2>(2) - T_184394[1] := UInt<2>(3) - wire T_184395 : UInt<2>[1] - T_184395[0] := UInt<2>(3) - wire T_184396 : UInt<3>[3] - T_184396[0] := UInt<3>(0) - T_184396[1] := UInt<3>(1) - T_184396[2] := UInt<3>(2) - wire T_184397 : UInt<2>[2] - T_184397[0] := UInt<2>(0) - T_184397[1] := UInt<2>(1) - wire T_184398 : UInt<2>[3] - T_184398[0] := UInt<2>(1) - T_184398[1] := UInt<2>(2) - T_184398[2] := UInt<2>(3) - wire T_184399 : UInt<2>[2] - T_184399[0] := UInt<2>(2) - T_184399[1] := UInt<2>(3) - wire T_184400 : UInt<2>[1] - T_184400[0] := UInt<2>(3) - wire T_184401 : UInt<3>[3] - T_184401[0] := UInt<3>(0) - T_184401[1] := UInt<3>(1) - T_184401[2] := UInt<3>(2) - wire T_184402 : UInt<2>[2] - T_184402[0] := UInt<2>(0) - T_184402[1] := UInt<2>(1) - wire T_184403 : UInt<2>[3] - T_184403[0] := UInt<2>(1) - T_184403[1] := UInt<2>(2) - T_184403[2] := UInt<2>(3) - wire T_184404 : UInt<2>[2] - T_184404[0] := UInt<2>(2) - T_184404[1] := UInt<2>(3) - wire T_184405 : UInt<2>[1] - T_184405[0] := UInt<2>(3) - wire T_184406 : UInt<3>[3] - T_184406[0] := UInt<3>(0) - T_184406[1] := UInt<3>(1) - T_184406[2] := UInt<3>(2) - wire T_184407 : UInt<2>[2] - T_184407[0] := UInt<2>(0) - T_184407[1] := UInt<2>(1) - wire T_184408 : UInt<2>[3] - T_184408[0] := UInt<2>(1) - T_184408[1] := UInt<2>(2) - T_184408[2] := UInt<2>(3) - wire T_184409 : UInt<2>[2] - T_184409[0] := UInt<2>(2) - T_184409[1] := UInt<2>(3) - wire T_184410 : UInt<2>[1] - T_184410[0] := UInt<2>(3) - wire T_184411 : UInt<3>[3] - T_184411[0] := UInt<3>(0) - T_184411[1] := UInt<3>(1) - T_184411[2] := UInt<3>(2) - wire T_184412 : UInt<2>[2] - T_184412[0] := UInt<2>(0) - T_184412[1] := UInt<2>(1) - wire T_184413 : UInt<2>[3] - T_184413[0] := UInt<2>(1) - T_184413[1] := UInt<2>(2) - T_184413[2] := UInt<2>(3) - wire T_184414 : UInt<2>[2] - T_184414[0] := UInt<2>(2) - T_184414[1] := UInt<2>(3) - wire T_184415 : UInt<2>[1] - T_184415[0] := UInt<2>(3) - wire T_184416 : UInt<3>[3] - T_184416[0] := UInt<3>(0) - T_184416[1] := UInt<3>(1) - T_184416[2] := UInt<3>(2) - wire T_184417 : UInt<2>[2] - T_184417[0] := UInt<2>(0) - T_184417[1] := UInt<2>(1) - wire T_184418 : UInt<2>[3] - T_184418[0] := UInt<2>(1) - T_184418[1] := UInt<2>(2) - T_184418[2] := UInt<2>(3) - wire T_184419 : UInt<2>[2] - T_184419[0] := UInt<2>(2) - T_184419[1] := UInt<2>(3) - wire T_184420 : UInt<2>[1] - T_184420[0] := UInt<2>(3) - wire T_184421 : UInt<3>[3] - T_184421[0] := UInt<3>(0) - T_184421[1] := UInt<3>(1) - T_184421[2] := UInt<3>(2) - wire T_184422 : UInt<2>[2] - T_184422[0] := UInt<2>(0) - T_184422[1] := UInt<2>(1) - wire T_184423 : UInt<2>[3] - T_184423[0] := UInt<2>(1) - T_184423[1] := UInt<2>(2) - T_184423[2] := UInt<2>(3) - wire T_184424 : UInt<2>[2] - T_184424[0] := UInt<2>(2) - T_184424[1] := UInt<2>(3) - wire T_184425 : UInt<2>[1] - T_184425[0] := UInt<2>(3) - wire T_184426 : UInt<3>[3] - T_184426[0] := UInt<3>(0) - T_184426[1] := UInt<3>(1) - T_184426[2] := UInt<3>(2) - wire T_184427 : UInt<2>[2] - T_184427[0] := UInt<2>(0) - T_184427[1] := UInt<2>(1) - wire T_184428 : UInt<2>[3] - T_184428[0] := UInt<2>(1) - T_184428[1] := UInt<2>(2) - T_184428[2] := UInt<2>(3) - wire T_184429 : UInt<2>[2] - T_184429[0] := UInt<2>(2) - T_184429[1] := UInt<2>(3) - wire T_184430 : UInt<2>[1] - T_184430[0] := UInt<2>(3) - reg state : UInt<3> - onreset state := UInt<3>(0) - wire T_184431 : UInt<3>[3] - T_184431[0] := UInt<3>(0) - T_184431[1] := UInt<3>(1) - T_184431[2] := UInt<3>(2) - wire T_184432 : UInt<2>[2] - T_184432[0] := UInt<2>(0) - T_184432[1] := UInt<2>(1) - wire T_184433 : UInt<2>[3] - T_184433[0] := UInt<2>(1) - T_184433[1] := UInt<2>(2) - T_184433[2] := UInt<2>(3) - wire T_184434 : UInt<2>[2] - T_184434[0] := UInt<2>(2) - T_184434[1] := UInt<2>(3) - wire T_184435 : UInt<2>[1] - T_184435[0] := UInt<2>(3) - wire T_184436 : UInt<3>[3] - T_184436[0] := UInt<3>(0) - T_184436[1] := UInt<3>(1) - T_184436[2] := UInt<3>(2) - wire T_184437 : UInt<2>[2] - T_184437[0] := UInt<2>(0) - T_184437[1] := UInt<2>(1) - wire T_184438 : UInt<2>[3] - T_184438[0] := UInt<2>(1) - T_184438[1] := UInt<2>(2) - T_184438[2] := UInt<2>(3) - wire T_184439 : UInt<2>[2] - T_184439[0] := UInt<2>(2) - T_184439[1] := UInt<2>(3) - wire T_184440 : UInt<2>[1] - T_184440[0] := UInt<2>(3) - reg old_coh : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>} - reg way_en : UInt - wire T_184441 : UInt<3>[3] - T_184441[0] := UInt<3>(0) - T_184441[1] := UInt<3>(1) - T_184441[2] := UInt<3>(2) - wire T_184442 : UInt<2>[2] - T_184442[0] := UInt<2>(0) - T_184442[1] := UInt<2>(1) - wire T_184443 : UInt<2>[3] - T_184443[0] := UInt<2>(1) - T_184443[1] := UInt<2>(2) - T_184443[2] := UInt<2>(3) - wire T_184444 : UInt<2>[2] - T_184444[0] := UInt<2>(2) - T_184444[1] := UInt<2>(3) - wire T_184445 : UInt<2>[1] - T_184445[0] := UInt<2>(3) - wire T_184446 : UInt<3>[3] - T_184446[0] := UInt<3>(0) - T_184446[1] := UInt<3>(1) - T_184446[2] := UInt<3>(2) - wire T_184447 : UInt<2>[2] - T_184447[0] := UInt<2>(0) - T_184447[1] := UInt<2>(1) - wire T_184448 : UInt<2>[3] - T_184448[0] := UInt<2>(1) - T_184448[1] := UInt<2>(2) - T_184448[2] := UInt<2>(3) - wire T_184449 : UInt<2>[2] - T_184449[0] := UInt<2>(2) - T_184449[1] := UInt<2>(3) - wire T_184450 : UInt<2>[1] - T_184450[0] := UInt<2>(3) - reg req : {addr_block : UInt<26>, p_type : UInt<2>, client_xact_id : UInt<1>} - node T_184451 = eq(way_en, UInt<1>(0)) - node tag_matches = eq(T_184451, UInt<1>(0)) - - - node T_184452 = eq(state, UInt<3>(7)) - node T_184453 = and(T_184452, meta_write.ready) - when T_184453 : state := UInt<3>(0) - - - node T_184454 = eq(state, UInt<3>(6)) - node T_184455 = and(T_184454, wb_req.ready) - when T_184455 : state := UInt<3>(7) - - - node T_184456 = eq(state, UInt<3>(5)) - node T_184457 = and(T_184456, wb_req.ready) - when T_184457 : state := UInt<3>(6) - - - node T_184458 = eq(state, UInt<3>(4)) - node T_184459 = and(T_184458, rep.ready) - when T_184459 : - state := UInt<3>(0) - when tag_matches : - node T_184460 = eq(T_184440[0], old_coh.state) - node T_184461 = or(UInt<1>(0), T_184460) - wire T_184462 : UInt<3> - T_184462 := UInt<3>(7) - when T_184461 : T_184462 := UInt<3>(5) - state := T_184462 - - node T_184463 = eq(state, UInt<3>(3)) - when T_184463 : - state := UInt<3>(4) - old_coh := block_state - way_en := way_en - - node T_184464 = eq(mshr_rdy, UInt<1>(0)) - when T_184464 : state := UInt<3>(1) - - node T_184465 = eq(state, UInt<3>(2)) - when T_184465 : state := UInt<3>(3) - - - node T_184466 = eq(state, UInt<3>(1)) - node T_184467 = and(T_184466, meta_read.ready) - when T_184467 : state := UInt<3>(2) - - - node T_184468 = eq(state, UInt<3>(0)) - node T_184469 = and(T_184468, req.valid) - when T_184469 : - state := UInt<3>(1) - req := req.bits - node T_184470 = eq(T_184440[0], old_coh.state) - node T_184471 = or(UInt<1>(0), T_184470) - wire T_184472 : UInt<3> - T_184472 := UInt<3>(3) - when T_184471 : T_184472 := UInt<3>(0) - wire T_184473 : UInt<3> - T_184473 := UInt<3>(4) - when T_184471 : T_184473 := UInt<3>(1) - wire T_184474 : UInt<3> - T_184474 := UInt<3>(5) - when T_184471 : T_184474 := UInt<3>(2) - node T_184475 = eq(UInt<5>(19), UInt<5>(16)) - wire T_184476 : UInt<3> - T_184476 := UInt<3>(5) - when T_184475 : T_184476 := T_184474 - node T_184477 = eq(UInt<5>(17), UInt<5>(16)) - wire T_184478 : UInt<3> - T_184478 := T_184476 - when T_184477 : T_184478 := T_184473 - node T_184479 = eq(UInt<5>(16), UInt<5>(16)) - wire T_184480 : UInt<3> - T_184480 := T_184478 - when T_184479 : T_184480 := T_184472 - node T_184481 = eq(T_184440[0], old_coh.state) - node T_184482 = or(UInt<1>(0), T_184481) - wire T_184483 : UInt<3> - T_184483 := UInt<3>(3) - when T_184482 : T_184483 := UInt<3>(0) - wire T_184484 : UInt<3> - T_184484 := UInt<3>(4) - when T_184482 : T_184484 := UInt<3>(1) - wire T_184485 : UInt<3> - T_184485 := UInt<3>(5) - when T_184482 : T_184485 := UInt<3>(2) - node T_184486 = eq(UInt<5>(19), UInt<5>(17)) - wire T_184487 : UInt<3> - T_184487 := UInt<3>(5) - when T_184486 : T_184487 := T_184485 - node T_184488 = eq(UInt<5>(17), UInt<5>(17)) - wire T_184489 : UInt<3> - T_184489 := T_184487 - when T_184488 : T_184489 := T_184484 - node T_184490 = eq(UInt<5>(16), UInt<5>(17)) - wire T_184491 : UInt<3> - T_184491 := T_184489 - when T_184490 : T_184491 := T_184483 - node T_184492 = eq(T_184440[0], old_coh.state) - node T_184493 = or(UInt<1>(0), T_184492) - wire T_184494 : UInt<3> - T_184494 := UInt<3>(3) - when T_184493 : T_184494 := UInt<3>(0) - wire T_184495 : UInt<3> - T_184495 := UInt<3>(4) - when T_184493 : T_184495 := UInt<3>(1) - wire T_184496 : UInt<3> - T_184496 := UInt<3>(5) - when T_184493 : T_184496 := UInt<3>(2) - node T_184497 = eq(UInt<5>(19), UInt<5>(19)) - wire T_184498 : UInt<3> - T_184498 := UInt<3>(5) - when T_184497 : T_184498 := T_184496 - node T_184499 = eq(UInt<5>(17), UInt<5>(19)) - wire T_184500 : UInt<3> - T_184500 := T_184498 - when T_184499 : T_184500 := T_184495 - node T_184501 = eq(UInt<5>(16), UInt<5>(19)) - wire T_184502 : UInt<3> - T_184502 := T_184500 - when T_184501 : T_184502 := T_184494 - node T_184503 = eq(UInt<2>(2), req.p_type) - wire T_184504 : UInt<3> - T_184504 := UInt<3>(3) - when T_184503 : T_184504 := T_184502 - node T_184505 = eq(UInt<2>(1), req.p_type) - wire T_184506 : UInt<3> - T_184506 := T_184504 - when T_184505 : T_184506 := T_184491 - node T_184507 = eq(UInt<2>(0), req.p_type) - wire T_184508 : UInt<3> - T_184508 := T_184506 - when T_184507 : T_184508 := T_184480 - wire T_184509 : UInt<3>[3] - T_184509[0] := UInt<3>(0) - T_184509[1] := UInt<3>(1) - T_184509[2] := UInt<3>(2) - wire T_184510 : UInt<2>[2] - T_184510[0] := UInt<2>(0) - T_184510[1] := UInt<2>(1) - wire T_184511 : UInt<2>[3] - T_184511[0] := UInt<2>(1) - T_184511[1] := UInt<2>(2) - T_184511[2] := UInt<2>(3) - wire T_184512 : UInt<2>[2] - T_184512[0] := UInt<2>(2) - T_184512[1] := UInt<2>(3) - wire T_184513 : UInt<2>[1] - T_184513[0] := UInt<2>(3) - wire T_184514 : UInt<3>[3] - T_184514[0] := UInt<3>(0) - T_184514[1] := UInt<3>(1) - T_184514[2] := UInt<3>(2) - wire T_184515 : UInt<2>[2] - T_184515[0] := UInt<2>(0) - T_184515[1] := UInt<2>(1) - wire T_184516 : UInt<2>[3] - T_184516[0] := UInt<2>(1) - T_184516[1] := UInt<2>(2) - T_184516[2] := UInt<2>(3) - wire T_184517 : UInt<2>[2] - T_184517[0] := UInt<2>(2) - T_184517[1] := UInt<2>(3) - wire T_184518 : UInt<2>[1] - T_184518[0] := UInt<2>(3) - wire reply : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>} - reply.r_type := T_184508 - reply.client_xact_id := UInt<1>(0) - reply.addr_block := req.addr_block - reply.addr_beat := UInt<1>(0) - reply.data := UInt<1>(0) - reply.voluntary := UInt<1>(0) - node T_184519 = eq(state, UInt<3>(0)) - req.ready := T_184519 - node T_184520 = eq(state, UInt<3>(4)) - node T_184521 = eq(T_184440[0], old_coh.state) - node T_184522 = or(UInt<1>(0), T_184521) - node T_184523 = and(tag_matches, T_184522) - node T_184524 = eq(T_184523, UInt<1>(0)) - node T_184525 = and(T_184520, T_184524) - rep.valid := T_184525 - rep.bits := reply - node T_184526 = eq(state, UInt<3>(1)) - meta_read.valid := T_184526 - meta_read.bits.idx := req.addr_block - node T_184527 = shr(req.addr_block, 6) - meta_read.bits.tag := T_184527 - node T_184528 = eq(state, UInt<3>(7)) - meta_write.valid := T_184528 - meta_write.bits.way_en := way_en - meta_write.bits.idx := req.addr_block - node T_184529 = shr(req.addr_block, 6) - meta_write.bits.data.tag := T_184529 - node T_184530 = eq(UInt<2>(2), req.p_type) - wire T_184531 : UInt<2> - T_184531 := old_coh.state - when T_184530 : T_184531 := old_coh.state - node T_184532 = eq(UInt<2>(1), req.p_type) - wire T_184533 : UInt<2> - T_184533 := T_184531 - when T_184532 : T_184533 := UInt<2>(1) - node T_184534 = eq(UInt<2>(0), req.p_type) - wire T_184535 : UInt<2> - T_184535 := T_184533 - when T_184534 : T_184535 := UInt<2>(0) - wire T_184536 : UInt<3>[3] - T_184536[0] := UInt<3>(0) - T_184536[1] := UInt<3>(1) - T_184536[2] := UInt<3>(2) - wire T_184537 : UInt<2>[2] - T_184537[0] := UInt<2>(0) - T_184537[1] := UInt<2>(1) - wire T_184538 : UInt<2>[3] - T_184538[0] := UInt<2>(1) - T_184538[1] := UInt<2>(2) - T_184538[2] := UInt<2>(3) - wire T_184539 : UInt<2>[2] - T_184539[0] := UInt<2>(2) - T_184539[1] := UInt<2>(3) - wire T_184540 : UInt<2>[1] - T_184540[0] := UInt<2>(3) - wire T_184541 : UInt<3>[3] - T_184541[0] := UInt<3>(0) - T_184541[1] := UInt<3>(1) - T_184541[2] := UInt<3>(2) - wire T_184542 : UInt<2>[2] - T_184542[0] := UInt<2>(0) - T_184542[1] := UInt<2>(1) - wire T_184543 : UInt<2>[3] - T_184543[0] := UInt<2>(1) - T_184543[1] := UInt<2>(2) - T_184543[2] := UInt<2>(3) - wire T_184544 : UInt<2>[2] - T_184544[0] := UInt<2>(2) - T_184544[1] := UInt<2>(3) - wire T_184545 : UInt<2>[1] - T_184545[0] := UInt<2>(3) - wire T_184546 : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>} - T_184546.state := T_184535 - meta_write.bits.data.coh := T_184546 - node T_184547 = eq(state, UInt<3>(5)) - wb_req.valid := T_184547 - wb_req.bits := reply - wb_req.bits.way_en := way_en - module Arbiter_135527 : - input in : {flip ready : UInt<1>, valid : UInt<1>, bits : {idx : UInt<6>, tag : UInt<20>}}[2] - output out : {flip ready : UInt<1>, valid : UInt<1>, bits : {idx : UInt<6>, tag : UInt<20>}} - output chosen : UInt<1> - - wire T_184548 : UInt<1> - node T_184549 = or(UInt<1>(0), in[0].valid) - node T_184550 = eq(T_184549, UInt<1>(0)) - node T_184551 = eq(UInt<1>(1), UInt<1>(0)) - wire T_184552 : UInt<1> - T_184552 := UInt<1>(1) - when UInt<1>(0) : T_184552 := T_184551 - node T_184553 = and(T_184552, out.ready) - in[0].ready := T_184553 - node T_184554 = eq(UInt<1>(1), UInt<1>(1)) - wire T_184555 : UInt<1> - T_184555 := T_184550 - when UInt<1>(0) : T_184555 := T_184554 - node T_184556 = and(T_184555, out.ready) - in[1].ready := T_184556 - accessor T_184557 = in[T_184548] - out.valid := T_184557.valid - accessor T_184558 = in[T_184548] - out.bits := T_184558.bits - chosen := T_184548 - wire T_184559 : UInt<1> - T_184559 := UInt<1>(1) - when in[0].valid : T_184559 := UInt<1>(0) - wire T_184560 : UInt<1> - T_184560 := T_184559 - when UInt<1>(0) : T_184560 := UInt<1>(1) - T_184548 := T_184560 - module Arbiter_136117 : - input in : {flip ready : UInt<1>, valid : UInt<1>, bits : {idx : UInt<6>, way_en : UInt<4>, data : {tag : UInt<20>, coh : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}}}[2] - output out : {flip ready : UInt<1>, valid : UInt<1>, bits : {idx : UInt<6>, way_en : UInt<4>, data : {tag : UInt<20>, coh : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}}} - output chosen : UInt<1> - - wire T_184561 : UInt<3>[3] - T_184561[0] := UInt<3>(0) - T_184561[1] := UInt<3>(1) - T_184561[2] := UInt<3>(2) - wire T_184562 : UInt<2>[2] - T_184562[0] := UInt<2>(0) - T_184562[1] := UInt<2>(1) - wire T_184563 : UInt<2>[3] - T_184563[0] := UInt<2>(1) - T_184563[1] := UInt<2>(2) - T_184563[2] := UInt<2>(3) - wire T_184564 : UInt<2>[2] - T_184564[0] := UInt<2>(2) - T_184564[1] := UInt<2>(3) - wire T_184565 : UInt<2>[1] - T_184565[0] := UInt<2>(3) - wire T_184566 : UInt<3>[3] - T_184566[0] := UInt<3>(0) - T_184566[1] := UInt<3>(1) - T_184566[2] := UInt<3>(2) - wire T_184567 : UInt<2>[2] - T_184567[0] := UInt<2>(0) - T_184567[1] := UInt<2>(1) - wire T_184568 : UInt<2>[3] - T_184568[0] := UInt<2>(1) - T_184568[1] := UInt<2>(2) - T_184568[2] := UInt<2>(3) - wire T_184569 : UInt<2>[2] - T_184569[0] := UInt<2>(2) - T_184569[1] := UInt<2>(3) - wire T_184570 : UInt<2>[1] - T_184570[0] := UInt<2>(3) - wire T_184571 : UInt<3>[3] - T_184571[0] := UInt<3>(0) - T_184571[1] := UInt<3>(1) - T_184571[2] := UInt<3>(2) - wire T_184572 : UInt<2>[2] - T_184572[0] := UInt<2>(0) - T_184572[1] := UInt<2>(1) - wire T_184573 : UInt<2>[3] - T_184573[0] := UInt<2>(1) - T_184573[1] := UInt<2>(2) - T_184573[2] := UInt<2>(3) - wire T_184574 : UInt<2>[2] - T_184574[0] := UInt<2>(2) - T_184574[1] := UInt<2>(3) - wire T_184575 : UInt<2>[1] - T_184575[0] := UInt<2>(3) - wire T_184576 : UInt<3>[3] - T_184576[0] := UInt<3>(0) - T_184576[1] := UInt<3>(1) - T_184576[2] := UInt<3>(2) - wire T_184577 : UInt<2>[2] - T_184577[0] := UInt<2>(0) - T_184577[1] := UInt<2>(1) - wire T_184578 : UInt<2>[3] - T_184578[0] := UInt<2>(1) - T_184578[1] := UInt<2>(2) - T_184578[2] := UInt<2>(3) - wire T_184579 : UInt<2>[2] - T_184579[0] := UInt<2>(2) - T_184579[1] := UInt<2>(3) - wire T_184580 : UInt<2>[1] - T_184580[0] := UInt<2>(3) - wire T_184581 : UInt<1> - node T_184582 = or(UInt<1>(0), in[0].valid) - node T_184583 = eq(T_184582, UInt<1>(0)) - node T_184584 = eq(UInt<1>(1), UInt<1>(0)) - wire T_184585 : UInt<1> - T_184585 := UInt<1>(1) - when UInt<1>(0) : T_184585 := T_184584 - node T_184586 = and(T_184585, out.ready) - in[0].ready := T_184586 - node T_184587 = eq(UInt<1>(1), UInt<1>(1)) - wire T_184588 : UInt<1> - T_184588 := T_184583 - when UInt<1>(0) : T_184588 := T_184587 - node T_184589 = and(T_184588, out.ready) - in[1].ready := T_184589 - wire T_184590 : UInt<3>[3] - T_184590[0] := UInt<3>(0) - T_184590[1] := UInt<3>(1) - T_184590[2] := UInt<3>(2) - wire T_184591 : UInt<2>[2] - T_184591[0] := UInt<2>(0) - T_184591[1] := UInt<2>(1) - wire T_184592 : UInt<2>[3] - T_184592[0] := UInt<2>(1) - T_184592[1] := UInt<2>(2) - T_184592[2] := UInt<2>(3) - wire T_184593 : UInt<2>[2] - T_184593[0] := UInt<2>(2) - T_184593[1] := UInt<2>(3) - wire T_184594 : UInt<2>[1] - T_184594[0] := UInt<2>(3) - accessor T_184595 = in[T_184581] - out.valid := T_184595.valid - wire T_184596 : UInt<3>[3] - T_184596[0] := UInt<3>(0) - T_184596[1] := UInt<3>(1) - T_184596[2] := UInt<3>(2) - wire T_184597 : UInt<2>[2] - T_184597[0] := UInt<2>(0) - T_184597[1] := UInt<2>(1) - wire T_184598 : UInt<2>[3] - T_184598[0] := UInt<2>(1) - T_184598[1] := UInt<2>(2) - T_184598[2] := UInt<2>(3) - wire T_184599 : UInt<2>[2] - T_184599[0] := UInt<2>(2) - T_184599[1] := UInt<2>(3) - wire T_184600 : UInt<2>[1] - T_184600[0] := UInt<2>(3) - accessor T_184601 = in[T_184581] - out.bits := T_184601.bits - chosen := T_184581 - wire T_184602 : UInt<1> - T_184602 := UInt<1>(1) - when in[0].valid : T_184602 := UInt<1>(0) - wire T_184603 : UInt<1> - T_184603 := T_184602 - when UInt<1>(0) : T_184603 := UInt<1>(1) - T_184581 := T_184603 - module LockingArbiter : - input in : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}[2] - output out : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}} - output chosen : UInt<1> - - wire T_184604 : UInt<3>[3] - T_184604[0] := UInt<3>(0) - T_184604[1] := UInt<3>(1) - T_184604[2] := UInt<3>(2) - wire T_184605 : UInt<2>[2] - T_184605[0] := UInt<2>(0) - T_184605[1] := UInt<2>(1) - wire T_184606 : UInt<2>[3] - T_184606[0] := UInt<2>(1) - T_184606[1] := UInt<2>(2) - T_184606[2] := UInt<2>(3) - wire T_184607 : UInt<2>[2] - T_184607[0] := UInt<2>(2) - T_184607[1] := UInt<2>(3) - wire T_184608 : UInt<2>[1] - T_184608[0] := UInt<2>(3) - wire T_184609 : UInt<3>[3] - T_184609[0] := UInt<3>(0) - T_184609[1] := UInt<3>(1) - T_184609[2] := UInt<3>(2) - wire T_184610 : UInt<2>[2] - T_184610[0] := UInt<2>(0) - T_184610[1] := UInt<2>(1) - wire T_184611 : UInt<2>[3] - T_184611[0] := UInt<2>(1) - T_184611[1] := UInt<2>(2) - T_184611[2] := UInt<2>(3) - wire T_184612 : UInt<2>[2] - T_184612[0] := UInt<2>(2) - T_184612[1] := UInt<2>(3) - wire T_184613 : UInt<2>[1] - T_184613[0] := UInt<2>(3) - wire T_184614 : UInt<3>[3] - T_184614[0] := UInt<3>(0) - T_184614[1] := UInt<3>(1) - T_184614[2] := UInt<3>(2) - wire T_184615 : UInt<2>[2] - T_184615[0] := UInt<2>(0) - T_184615[1] := UInt<2>(1) - wire T_184616 : UInt<2>[3] - T_184616[0] := UInt<2>(1) - T_184616[1] := UInt<2>(2) - T_184616[2] := UInt<2>(3) - wire T_184617 : UInt<2>[2] - T_184617[0] := UInt<2>(2) - T_184617[1] := UInt<2>(3) - wire T_184618 : UInt<2>[1] - T_184618[0] := UInt<2>(3) - wire T_184619 : UInt<3>[3] - T_184619[0] := UInt<3>(0) - T_184619[1] := UInt<3>(1) - T_184619[2] := UInt<3>(2) - wire T_184620 : UInt<2>[2] - T_184620[0] := UInt<2>(0) - T_184620[1] := UInt<2>(1) - wire T_184621 : UInt<2>[3] - T_184621[0] := UInt<2>(1) - T_184621[1] := UInt<2>(2) - T_184621[2] := UInt<2>(3) - wire T_184622 : UInt<2>[2] - T_184622[0] := UInt<2>(2) - T_184622[1] := UInt<2>(3) - wire T_184623 : UInt<2>[1] - T_184623[0] := UInt<2>(3) - reg T_184624 : UInt<1> - onreset T_184624 := UInt<1>(0) - reg T_184625 : UInt<1> - onreset T_184625 := UInt<1>(1) - wire T_184626 : UInt<1> - node T_184627 = or(UInt<1>(0), in[0].valid) - node T_184628 = eq(T_184627, UInt<1>(0)) - node T_184629 = eq(T_184625, UInt<1>(0)) - wire T_184630 : UInt<1> - T_184630 := UInt<1>(1) - when T_184624 : T_184630 := T_184629 - node T_184631 = and(T_184630, out.ready) - in[0].ready := T_184631 - node T_184632 = eq(T_184625, UInt<1>(1)) - wire T_184633 : UInt<1> - T_184633 := T_184628 - when T_184624 : T_184633 := T_184632 - node T_184634 = and(T_184633, out.ready) - in[1].ready := T_184634 - wire T_184635 : UInt<3>[3] - T_184635[0] := UInt<3>(0) - T_184635[1] := UInt<3>(1) - T_184635[2] := UInt<3>(2) - wire T_184636 : UInt<2>[2] - T_184636[0] := UInt<2>(0) - T_184636[1] := UInt<2>(1) - wire T_184637 : UInt<2>[3] - T_184637[0] := UInt<2>(1) - T_184637[1] := UInt<2>(2) - T_184637[2] := UInt<2>(3) - wire T_184638 : UInt<2>[2] - T_184638[0] := UInt<2>(2) - T_184638[1] := UInt<2>(3) - wire T_184639 : UInt<2>[1] - T_184639[0] := UInt<2>(3) - accessor T_184640 = in[T_184626] - out.valid := T_184640.valid - wire T_184641 : UInt<3>[3] - T_184641[0] := UInt<3>(0) - T_184641[1] := UInt<3>(1) - T_184641[2] := UInt<3>(2) - wire T_184642 : UInt<2>[2] - T_184642[0] := UInt<2>(0) - T_184642[1] := UInt<2>(1) - wire T_184643 : UInt<2>[3] - T_184643[0] := UInt<2>(1) - T_184643[1] := UInt<2>(2) - T_184643[2] := UInt<2>(3) - wire T_184644 : UInt<2>[2] - T_184644[0] := UInt<2>(2) - T_184644[1] := UInt<2>(3) - wire T_184645 : UInt<2>[1] - T_184645[0] := UInt<2>(3) - accessor T_184646 = in[T_184626] - out.bits := T_184646.bits - chosen := T_184626 - reg T_184647 : UInt<2> - onreset T_184647 := UInt<2>(0) - node T_184648 = addw(T_184647, UInt<1>(1)) - - node T_184649 = and(out.ready, out.valid) - when T_184649 : - - - node T_184650 = and(UInt<1>(1), out.bits.is_builtin_type) - wire T_184651 : UInt<3>[1] - T_184651[0] := UInt<3>(3) - node T_184652 = eq(T_184651[0], out.bits.a_type) - node T_184653 = or(UInt<1>(0), T_184652) - node T_184654 = and(T_184650, T_184653) - when T_184654 : - T_184647 := T_184648 - - node T_184655 = eq(T_184624, UInt<1>(0)) - when T_184655 : - T_184624 := UInt<1>(1) - node T_184656 = and(in[0].ready, in[0].valid) - node T_184657 = and(in[1].ready, in[1].valid) - wire T_184658 : UInt<1>[2] - T_184658[0] := T_184656 - T_184658[1] := T_184657 - wire T_184659 : UInt<1> - T_184659 := UInt<1>(1) - when T_184658[0] : T_184659 := UInt<1>(0) - T_184625 := T_184659 - - node T_184660 = eq(T_184648, UInt<1>(0)) - when T_184660 : T_184624 := UInt<1>(0) - wire choose : UInt<1> - choose := UInt<1>(1) - when in[0].valid : choose := UInt<1>(0) - wire T_184661 : UInt<1> - T_184661 := choose - when T_184624 : T_184661 := T_184625 - T_184626 := T_184661 - module Arbiter_137146 : - input in : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>, way_en : UInt<4>}}[2] - output out : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>, way_en : UInt<4>}} - output chosen : UInt<1> - - wire T_184662 : UInt<3>[3] - T_184662[0] := UInt<3>(0) - T_184662[1] := UInt<3>(1) - T_184662[2] := UInt<3>(2) - wire T_184663 : UInt<2>[2] - T_184663[0] := UInt<2>(0) - T_184663[1] := UInt<2>(1) - wire T_184664 : UInt<2>[3] - T_184664[0] := UInt<2>(1) - T_184664[1] := UInt<2>(2) - T_184664[2] := UInt<2>(3) - wire T_184665 : UInt<2>[2] - T_184665[0] := UInt<2>(2) - T_184665[1] := UInt<2>(3) - wire T_184666 : UInt<2>[1] - T_184666[0] := UInt<2>(3) - wire T_184667 : UInt<3>[3] - T_184667[0] := UInt<3>(0) - T_184667[1] := UInt<3>(1) - T_184667[2] := UInt<3>(2) - wire T_184668 : UInt<2>[2] - T_184668[0] := UInt<2>(0) - T_184668[1] := UInt<2>(1) - wire T_184669 : UInt<2>[3] - T_184669[0] := UInt<2>(1) - T_184669[1] := UInt<2>(2) - T_184669[2] := UInt<2>(3) - wire T_184670 : UInt<2>[2] - T_184670[0] := UInt<2>(2) - T_184670[1] := UInt<2>(3) - wire T_184671 : UInt<2>[1] - T_184671[0] := UInt<2>(3) - wire T_184672 : UInt<3>[3] - T_184672[0] := UInt<3>(0) - T_184672[1] := UInt<3>(1) - T_184672[2] := UInt<3>(2) - wire T_184673 : UInt<2>[2] - T_184673[0] := UInt<2>(0) - T_184673[1] := UInt<2>(1) - wire T_184674 : UInt<2>[3] - T_184674[0] := UInt<2>(1) - T_184674[1] := UInt<2>(2) - T_184674[2] := UInt<2>(3) - wire T_184675 : UInt<2>[2] - T_184675[0] := UInt<2>(2) - T_184675[1] := UInt<2>(3) - wire T_184676 : UInt<2>[1] - T_184676[0] := UInt<2>(3) - wire T_184677 : UInt<3>[3] - T_184677[0] := UInt<3>(0) - T_184677[1] := UInt<3>(1) - T_184677[2] := UInt<3>(2) - wire T_184678 : UInt<2>[2] - T_184678[0] := UInt<2>(0) - T_184678[1] := UInt<2>(1) - wire T_184679 : UInt<2>[3] - T_184679[0] := UInt<2>(1) - T_184679[1] := UInt<2>(2) - T_184679[2] := UInt<2>(3) - wire T_184680 : UInt<2>[2] - T_184680[0] := UInt<2>(2) - T_184680[1] := UInt<2>(3) - wire T_184681 : UInt<2>[1] - T_184681[0] := UInt<2>(3) - wire T_184682 : UInt<1> - node T_184683 = or(UInt<1>(0), in[0].valid) - node T_184684 = eq(T_184683, UInt<1>(0)) - node T_184685 = eq(UInt<1>(1), UInt<1>(0)) - wire T_184686 : UInt<1> - T_184686 := UInt<1>(1) - when UInt<1>(0) : T_184686 := T_184685 - node T_184687 = and(T_184686, out.ready) - in[0].ready := T_184687 - node T_184688 = eq(UInt<1>(1), UInt<1>(1)) - wire T_184689 : UInt<1> - T_184689 := T_184684 - when UInt<1>(0) : T_184689 := T_184688 - node T_184690 = and(T_184689, out.ready) - in[1].ready := T_184690 - wire T_184691 : UInt<3>[3] - T_184691[0] := UInt<3>(0) - T_184691[1] := UInt<3>(1) - T_184691[2] := UInt<3>(2) - wire T_184692 : UInt<2>[2] - T_184692[0] := UInt<2>(0) - T_184692[1] := UInt<2>(1) - wire T_184693 : UInt<2>[3] - T_184693[0] := UInt<2>(1) - T_184693[1] := UInt<2>(2) - T_184693[2] := UInt<2>(3) - wire T_184694 : UInt<2>[2] - T_184694[0] := UInt<2>(2) - T_184694[1] := UInt<2>(3) - wire T_184695 : UInt<2>[1] - T_184695[0] := UInt<2>(3) - accessor T_184696 = in[T_184682] - out.valid := T_184696.valid - wire T_184697 : UInt<3>[3] - T_184697[0] := UInt<3>(0) - T_184697[1] := UInt<3>(1) - T_184697[2] := UInt<3>(2) - wire T_184698 : UInt<2>[2] - T_184698[0] := UInt<2>(0) - T_184698[1] := UInt<2>(1) - wire T_184699 : UInt<2>[3] - T_184699[0] := UInt<2>(1) - T_184699[1] := UInt<2>(2) - T_184699[2] := UInt<2>(3) - wire T_184700 : UInt<2>[2] - T_184700[0] := UInt<2>(2) - T_184700[1] := UInt<2>(3) - wire T_184701 : UInt<2>[1] - T_184701[0] := UInt<2>(3) - accessor T_184702 = in[T_184682] - out.bits := T_184702.bits - chosen := T_184682 - wire T_184703 : UInt<1> - T_184703 := UInt<1>(1) - when in[0].valid : T_184703 := UInt<1>(0) - wire T_184704 : UInt<1> - T_184704 := T_184703 - when UInt<1>(0) : T_184704 := UInt<1>(1) - T_184682 := T_184704 - module Arbiter_137247 : - input in : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<40>, tag : UInt<8>, cmd : UInt<5>, typ : UInt<3>, kill : UInt<1>, phys : UInt<1>, sdq_id : UInt<5>}}[2] - output out : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<40>, tag : UInt<8>, cmd : UInt<5>, typ : UInt<3>, kill : UInt<1>, phys : UInt<1>, sdq_id : UInt<5>}} - output chosen : UInt<1> - - wire T_184705 : UInt<1> - node T_184706 = or(UInt<1>(0), in[0].valid) - node T_184707 = eq(T_184706, UInt<1>(0)) - node T_184708 = eq(UInt<1>(1), UInt<1>(0)) - wire T_184709 : UInt<1> - T_184709 := UInt<1>(1) - when UInt<1>(0) : T_184709 := T_184708 - node T_184710 = and(T_184709, out.ready) - in[0].ready := T_184710 - node T_184711 = eq(UInt<1>(1), UInt<1>(1)) - wire T_184712 : UInt<1> - T_184712 := T_184707 - when UInt<1>(0) : T_184712 := T_184711 - node T_184713 = and(T_184712, out.ready) - in[1].ready := T_184713 - accessor T_184714 = in[T_184705] - out.valid := T_184714.valid - accessor T_184715 = in[T_184705] - out.bits := T_184715.bits - chosen := T_184705 - wire T_184716 : UInt<1> - T_184716 := UInt<1>(1) - when in[0].valid : T_184716 := UInt<1>(0) - wire T_184717 : UInt<1> - T_184717 := T_184716 - when UInt<1>(0) : T_184717 := UInt<1>(1) - T_184705 := T_184717 - module Arbiter_137299 : - input in : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<1>}[2] - output out : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<1>} - output chosen : UInt<1> - - wire T_184718 : UInt<1> - node T_184719 = or(UInt<1>(0), in[0].valid) - node T_184720 = eq(T_184719, UInt<1>(0)) - node T_184721 = eq(UInt<1>(1), UInt<1>(0)) - wire T_184722 : UInt<1> - T_184722 := UInt<1>(1) - when UInt<1>(0) : T_184722 := T_184721 - node T_184723 = and(T_184722, out.ready) - in[0].ready := T_184723 - node T_184724 = eq(UInt<1>(1), UInt<1>(1)) - wire T_184725 : UInt<1> - T_184725 := T_184720 - when UInt<1>(0) : T_184725 := T_184724 - node T_184726 = and(T_184725, out.ready) - in[1].ready := T_184726 - accessor T_184727 = in[T_184718] - out.valid := T_184727.valid - accessor T_184728 = in[T_184718] - out.bits := T_184728.bits - chosen := T_184718 - wire T_184729 : UInt<1> - T_184729 := UInt<1>(1) - when in[0].valid : T_184729 := UInt<1>(0) - wire T_184730 : UInt<1> - T_184730 := T_184729 - when UInt<1>(0) : T_184730 := UInt<1>(1) - T_184718 := T_184730 - module Queue_138637 : - input enq : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<40>, tag : UInt<8>, cmd : UInt<5>, typ : UInt<3>, kill : UInt<1>, phys : UInt<1>, sdq_id : UInt<5>}} - output deq : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<40>, tag : UInt<8>, cmd : UInt<5>, typ : UInt<3>, kill : UInt<1>, phys : UInt<1>, sdq_id : UInt<5>}} - output count : UInt<5> - - cmem ram : {addr : UInt<40>, tag : UInt<8>, cmd : UInt<5>, typ : UInt<3>, kill : UInt<1>, phys : UInt<1>, sdq_id : UInt<5>}[16] - reg T_184731 : UInt<4> - onreset T_184731 := UInt<4>(0) - reg T_184732 : UInt<4> - onreset T_184732 := UInt<4>(0) - reg maybe_full : UInt<1> - onreset maybe_full := UInt<1>(0) - node ptr_match = eq(T_184731, T_184732) - node T_184733 = eq(maybe_full, UInt<1>(0)) - node empty = and(ptr_match, T_184733) - node full = and(ptr_match, maybe_full) - node maybe_flow = and(UInt<1>(0), empty) - node do_flow = and(maybe_flow, deq.ready) - node T_184734 = and(enq.ready, enq.valid) - node T_184735 = eq(do_flow, UInt<1>(0)) - node do_enq = and(T_184734, T_184735) - node T_184736 = and(deq.ready, deq.valid) - node T_184737 = eq(do_flow, UInt<1>(0)) - node do_deq = and(T_184736, T_184737) - when do_enq : - accessor T_184738 = ram[T_184731] - T_184738 := enq.bits - node T_184739 = eq(T_184731, UInt<4>(15)) - node T_184740 = and(UInt<1>(0), T_184739) - node T_184741 = addw(T_184731, UInt<1>(1)) - wire T_184742 : UInt<4> - T_184742 := T_184741 - when T_184740 : T_184742 := UInt<1>(0) - T_184731 := T_184742 - when do_deq : - node T_184743 = eq(T_184732, UInt<4>(15)) - node T_184744 = and(UInt<1>(0), T_184743) - node T_184745 = addw(T_184732, UInt<1>(1)) - wire T_184746 : UInt<4> - T_184746 := T_184745 - when T_184744 : T_184746 := UInt<1>(0) - T_184732 := T_184746 - - node T_184747 = neq(do_enq, do_deq) - when T_184747 : maybe_full := do_enq - node T_184748 = eq(empty, UInt<1>(0)) - node T_184749 = and(UInt<1>(0), enq.valid) - node T_184750 = or(T_184748, T_184749) - deq.valid := T_184750 - node T_184751 = eq(full, UInt<1>(0)) - node T_184752 = and(UInt<1>(0), deq.ready) - node T_184753 = or(T_184751, T_184752) - enq.ready := T_184753 - accessor T_184754 = ram[T_184732] - wire T_184755 : {addr : UInt<40>, tag : UInt<8>, cmd : UInt<5>, typ : UInt<3>, kill : UInt<1>, phys : UInt<1>, sdq_id : UInt<5>} - T_184755 := T_184754 - when maybe_flow : T_184755 := enq.bits - deq.bits := T_184755 - node ptr_diff = subw(T_184731, T_184732) - node T_184756 = and(maybe_full, ptr_match) - node T_184757 = cat(T_184756, ptr_diff) - count := T_184757 - module MSHR : - input req_pri_val : UInt<1> - output req_pri_rdy : UInt<1> - input req_sec_val : UInt<1> - output req_sec_rdy : UInt<1> - input req_bits : {addr : UInt<40>, tag : UInt<8>, cmd : UInt<5>, typ : UInt<3>, kill : UInt<1>, phys : UInt<1>, sdq_id : UInt<5>, tag_match : UInt<1>, old_meta : {tag : UInt<20>, coh : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}, way_en : UInt<4>} - output idx_match : UInt<1> - output tag : UInt<20> - output mem_req : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}} - output refill : {way_en : UInt<4>, addr : UInt<12>} - output meta_read : {flip ready : UInt<1>, valid : UInt<1>, bits : {idx : UInt<6>, tag : UInt<20>}} - output meta_write : {flip ready : UInt<1>, valid : UInt<1>, bits : {idx : UInt<6>, way_en : UInt<4>, data : {tag : UInt<20>, coh : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}}} - output replay : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<40>, tag : UInt<8>, cmd : UInt<5>, typ : UInt<3>, kill : UInt<1>, phys : UInt<1>, sdq_id : UInt<5>}} - input mem_grant : {valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}} - output wb_req : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>, way_en : UInt<4>}} - output probe_rdy : UInt<1> - - wire T_184758 : UInt<3>[3] - T_184758[0] := UInt<3>(0) - T_184758[1] := UInt<3>(1) - T_184758[2] := UInt<3>(2) - wire T_184759 : UInt<2>[2] - T_184759[0] := UInt<2>(0) - T_184759[1] := UInt<2>(1) - wire T_184760 : UInt<2>[3] - T_184760[0] := UInt<2>(1) - T_184760[1] := UInt<2>(2) - T_184760[2] := UInt<2>(3) - wire T_184761 : UInt<2>[2] - T_184761[0] := UInt<2>(2) - T_184761[1] := UInt<2>(3) - wire T_184762 : UInt<2>[1] - T_184762[0] := UInt<2>(3) - wire T_184763 : UInt<3>[3] - T_184763[0] := UInt<3>(0) - T_184763[1] := UInt<3>(1) - T_184763[2] := UInt<3>(2) - wire T_184764 : UInt<2>[2] - T_184764[0] := UInt<2>(0) - T_184764[1] := UInt<2>(1) - wire T_184765 : UInt<2>[3] - T_184765[0] := UInt<2>(1) - T_184765[1] := UInt<2>(2) - T_184765[2] := UInt<2>(3) - wire T_184766 : UInt<2>[2] - T_184766[0] := UInt<2>(2) - T_184766[1] := UInt<2>(3) - wire T_184767 : UInt<2>[1] - T_184767[0] := UInt<2>(3) - wire T_184768 : UInt<3>[3] - T_184768[0] := UInt<3>(0) - T_184768[1] := UInt<3>(1) - T_184768[2] := UInt<3>(2) - wire T_184769 : UInt<2>[2] - T_184769[0] := UInt<2>(0) - T_184769[1] := UInt<2>(1) - wire T_184770 : UInt<2>[3] - T_184770[0] := UInt<2>(1) - T_184770[1] := UInt<2>(2) - T_184770[2] := UInt<2>(3) - wire T_184771 : UInt<2>[2] - T_184771[0] := UInt<2>(2) - T_184771[1] := UInt<2>(3) - wire T_184772 : UInt<2>[1] - T_184772[0] := UInt<2>(3) - wire T_184773 : UInt<3>[3] - T_184773[0] := UInt<3>(0) - T_184773[1] := UInt<3>(1) - T_184773[2] := UInt<3>(2) - wire T_184774 : UInt<2>[2] - T_184774[0] := UInt<2>(0) - T_184774[1] := UInt<2>(1) - wire T_184775 : UInt<2>[3] - T_184775[0] := UInt<2>(1) - T_184775[1] := UInt<2>(2) - T_184775[2] := UInt<2>(3) - wire T_184776 : UInt<2>[2] - T_184776[0] := UInt<2>(2) - T_184776[1] := UInt<2>(3) - wire T_184777 : UInt<2>[1] - T_184777[0] := UInt<2>(3) - wire T_184778 : UInt<3>[3] - T_184778[0] := UInt<3>(0) - T_184778[1] := UInt<3>(1) - T_184778[2] := UInt<3>(2) - wire T_184779 : UInt<2>[2] - T_184779[0] := UInt<2>(0) - T_184779[1] := UInt<2>(1) - wire T_184780 : UInt<2>[3] - T_184780[0] := UInt<2>(1) - T_184780[1] := UInt<2>(2) - T_184780[2] := UInt<2>(3) - wire T_184781 : UInt<2>[2] - T_184781[0] := UInt<2>(2) - T_184781[1] := UInt<2>(3) - wire T_184782 : UInt<2>[1] - T_184782[0] := UInt<2>(3) - wire T_184783 : UInt<3>[3] - T_184783[0] := UInt<3>(0) - T_184783[1] := UInt<3>(1) - T_184783[2] := UInt<3>(2) - wire T_184784 : UInt<2>[2] - T_184784[0] := UInt<2>(0) - T_184784[1] := UInt<2>(1) - wire T_184785 : UInt<2>[3] - T_184785[0] := UInt<2>(1) - T_184785[1] := UInt<2>(2) - T_184785[2] := UInt<2>(3) - wire T_184786 : UInt<2>[2] - T_184786[0] := UInt<2>(2) - T_184786[1] := UInt<2>(3) - wire T_184787 : UInt<2>[1] - T_184787[0] := UInt<2>(3) - wire T_184788 : UInt<3>[3] - T_184788[0] := UInt<3>(0) - T_184788[1] := UInt<3>(1) - T_184788[2] := UInt<3>(2) - wire T_184789 : UInt<2>[2] - T_184789[0] := UInt<2>(0) - T_184789[1] := UInt<2>(1) - wire T_184790 : UInt<2>[3] - T_184790[0] := UInt<2>(1) - T_184790[1] := UInt<2>(2) - T_184790[2] := UInt<2>(3) - wire T_184791 : UInt<2>[2] - T_184791[0] := UInt<2>(2) - T_184791[1] := UInt<2>(3) - wire T_184792 : UInt<2>[1] - T_184792[0] := UInt<2>(3) - wire T_184793 : UInt<3>[3] - T_184793[0] := UInt<3>(0) - T_184793[1] := UInt<3>(1) - T_184793[2] := UInt<3>(2) - wire T_184794 : UInt<2>[2] - T_184794[0] := UInt<2>(0) - T_184794[1] := UInt<2>(1) - wire T_184795 : UInt<2>[3] - T_184795[0] := UInt<2>(1) - T_184795[1] := UInt<2>(2) - T_184795[2] := UInt<2>(3) - wire T_184796 : UInt<2>[2] - T_184796[0] := UInt<2>(2) - T_184796[1] := UInt<2>(3) - wire T_184797 : UInt<2>[1] - T_184797[0] := UInt<2>(3) - wire T_184798 : UInt<3>[3] - T_184798[0] := UInt<3>(0) - T_184798[1] := UInt<3>(1) - T_184798[2] := UInt<3>(2) - wire T_184799 : UInt<2>[2] - T_184799[0] := UInt<2>(0) - T_184799[1] := UInt<2>(1) - wire T_184800 : UInt<2>[3] - T_184800[0] := UInt<2>(1) - T_184800[1] := UInt<2>(2) - T_184800[2] := UInt<2>(3) - wire T_184801 : UInt<2>[2] - T_184801[0] := UInt<2>(2) - T_184801[1] := UInt<2>(3) - wire T_184802 : UInt<2>[1] - T_184802[0] := UInt<2>(3) - wire T_184803 : UInt<3>[3] - T_184803[0] := UInt<3>(0) - T_184803[1] := UInt<3>(1) - T_184803[2] := UInt<3>(2) - wire T_184804 : UInt<2>[2] - T_184804[0] := UInt<2>(0) - T_184804[1] := UInt<2>(1) - wire T_184805 : UInt<2>[3] - T_184805[0] := UInt<2>(1) - T_184805[1] := UInt<2>(2) - T_184805[2] := UInt<2>(3) - wire T_184806 : UInt<2>[2] - T_184806[0] := UInt<2>(2) - T_184806[1] := UInt<2>(3) - wire T_184807 : UInt<2>[1] - T_184807[0] := UInt<2>(3) - reg state : UInt<4> - onreset state := UInt<4>(0) - wire T_184808 : UInt<3>[3] - T_184808[0] := UInt<3>(0) - T_184808[1] := UInt<3>(1) - T_184808[2] := UInt<3>(2) - wire T_184809 : UInt<2>[2] - T_184809[0] := UInt<2>(0) - T_184809[1] := UInt<2>(1) - wire T_184810 : UInt<2>[3] - T_184810[0] := UInt<2>(1) - T_184810[1] := UInt<2>(2) - T_184810[2] := UInt<2>(3) - wire T_184811 : UInt<2>[2] - T_184811[0] := UInt<2>(2) - T_184811[1] := UInt<2>(3) - wire T_184812 : UInt<2>[1] - T_184812[0] := UInt<2>(3) - wire T_184813 : UInt<3>[3] - T_184813[0] := UInt<3>(0) - T_184813[1] := UInt<3>(1) - T_184813[2] := UInt<3>(2) - wire T_184814 : UInt<2>[2] - T_184814[0] := UInt<2>(0) - T_184814[1] := UInt<2>(1) - wire T_184815 : UInt<2>[3] - T_184815[0] := UInt<2>(1) - T_184815[1] := UInt<2>(2) - T_184815[2] := UInt<2>(3) - wire T_184816 : UInt<2>[2] - T_184816[0] := UInt<2>(2) - T_184816[1] := UInt<2>(3) - wire T_184817 : UInt<2>[1] - T_184817[0] := UInt<2>(3) - wire T_184818 : UInt<3>[3] - T_184818[0] := UInt<3>(0) - T_184818[1] := UInt<3>(1) - T_184818[2] := UInt<3>(2) - wire T_184819 : UInt<2>[2] - T_184819[0] := UInt<2>(0) - T_184819[1] := UInt<2>(1) - wire T_184820 : UInt<2>[3] - T_184820[0] := UInt<2>(1) - T_184820[1] := UInt<2>(2) - T_184820[2] := UInt<2>(3) - wire T_184821 : UInt<2>[2] - T_184821[0] := UInt<2>(2) - T_184821[1] := UInt<2>(3) - wire T_184822 : UInt<2>[1] - T_184822[0] := UInt<2>(3) - wire T_184823 : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>} - T_184823.state := UInt<2>(0) - wire T_184824 : UInt<3>[3] - T_184824[0] := UInt<3>(0) - T_184824[1] := UInt<3>(1) - T_184824[2] := UInt<3>(2) - wire T_184825 : UInt<2>[2] - T_184825[0] := UInt<2>(0) - T_184825[1] := UInt<2>(1) - wire T_184826 : UInt<2>[3] - T_184826[0] := UInt<2>(1) - T_184826[1] := UInt<2>(2) - T_184826[2] := UInt<2>(3) - wire T_184827 : UInt<2>[2] - T_184827[0] := UInt<2>(2) - T_184827[1] := UInt<2>(3) - wire T_184828 : UInt<2>[1] - T_184828[0] := UInt<2>(3) - reg new_coh_state : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>} - onreset new_coh_state := T_184823 - wire T_184829 : UInt<3>[3] - T_184829[0] := UInt<3>(0) - T_184829[1] := UInt<3>(1) - T_184829[2] := UInt<3>(2) - wire T_184830 : UInt<2>[2] - T_184830[0] := UInt<2>(0) - T_184830[1] := UInt<2>(1) - wire T_184831 : UInt<2>[3] - T_184831[0] := UInt<2>(1) - T_184831[1] := UInt<2>(2) - T_184831[2] := UInt<2>(3) - wire T_184832 : UInt<2>[2] - T_184832[0] := UInt<2>(2) - T_184832[1] := UInt<2>(3) - wire T_184833 : UInt<2>[1] - T_184833[0] := UInt<2>(3) - wire T_184834 : UInt<3>[3] - T_184834[0] := UInt<3>(0) - T_184834[1] := UInt<3>(1) - T_184834[2] := UInt<3>(2) - wire T_184835 : UInt<2>[2] - T_184835[0] := UInt<2>(0) - T_184835[1] := UInt<2>(1) - wire T_184836 : UInt<2>[3] - T_184836[0] := UInt<2>(1) - T_184836[1] := UInt<2>(2) - T_184836[2] := UInt<2>(3) - wire T_184837 : UInt<2>[2] - T_184837[0] := UInt<2>(2) - T_184837[1] := UInt<2>(3) - wire T_184838 : UInt<2>[1] - T_184838[0] := UInt<2>(3) - reg req : {addr : UInt<40>, tag : UInt<8>, cmd : UInt<5>, typ : UInt<3>, kill : UInt<1>, phys : UInt<1>, sdq_id : UInt<5>, tag_match : UInt<1>, old_meta : {tag : UInt<20>, coh : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}, way_en : UInt<4>} - node req_idx = bits(req.addr, 11, 6) - node T_184839 = bits(req_bits.addr, 11, 6) - node idx_match = eq(req_idx, T_184839) - node T_184840 = eq(req_bits.cmd, UInt<5>(1)) - node T_184841 = eq(req_bits.cmd, UInt<5>(7)) - node T_184842 = or(T_184840, T_184841) - node T_184843 = bit(req_bits.cmd, 3) - node T_184844 = eq(req_bits.cmd, UInt<5>(4)) - node T_184845 = or(T_184843, T_184844) - node T_184846 = or(T_184842, T_184845) - node T_184847 = eq(req_bits.cmd, UInt<5>(3)) - node T_184848 = or(T_184846, T_184847) - node T_184849 = eq(req_bits.cmd, UInt<5>(6)) - node T_184850 = or(T_184848, T_184849) - node T_184851 = eq(req.cmd, UInt<5>(1)) - node T_184852 = eq(req.cmd, UInt<5>(7)) - node T_184853 = or(T_184851, T_184852) - node T_184854 = bit(req.cmd, 3) - node T_184855 = eq(req.cmd, UInt<5>(4)) - node T_184856 = or(T_184854, T_184855) - node T_184857 = or(T_184853, T_184856) - node T_184858 = eq(req.cmd, UInt<5>(3)) - node T_184859 = or(T_184857, T_184858) - node T_184860 = eq(req.cmd, UInt<5>(6)) - node T_184861 = or(T_184859, T_184860) - node T_184862 = eq(T_184861, UInt<1>(0)) - node cmd_requires_second_acquire = and(T_184850, T_184862) - wire states_before_refill : UInt<4>[3] - states_before_refill[0] := UInt<4>(1) - states_before_refill[1] := UInt<4>(2) - states_before_refill[2] := UInt<4>(3) - node T_184863 = eq(states_before_refill[0], state) - node T_184864 = eq(states_before_refill[1], state) - node T_184865 = eq(states_before_refill[2], state) - node T_184866 = or(UInt<1>(0), T_184863) - node T_184867 = or(T_184866, T_184864) - node T_184868 = or(T_184867, T_184865) - wire T_184869 : UInt<4>[2] - T_184869[0] := UInt<4>(4) - T_184869[1] := UInt<4>(5) - node T_184870 = eq(T_184869[0], state) - node T_184871 = eq(T_184869[1], state) - node T_184872 = or(UInt<1>(0), T_184870) - node T_184873 = or(T_184872, T_184871) - node T_184874 = eq(cmd_requires_second_acquire, UInt<1>(0)) - node T_184875 = and(T_184873, T_184874) - node T_184876 = or(T_184868, T_184875) - node sec_rdy = and(idx_match, T_184876) - wire T_184877 : UInt<3>[1] - T_184877[0] := UInt<3>(5) - node T_184878 = eq(T_184877[0], mem_grant.bits.g_type) - node T_184879 = or(UInt<1>(0), T_184878) - node T_184880 = eq(T_184794[0], mem_grant.bits.g_type) - node T_184881 = eq(T_184794[1], mem_grant.bits.g_type) - node T_184882 = or(UInt<1>(0), T_184880) - node T_184883 = or(T_184882, T_184881) - wire T_184884 : UInt<1> - T_184884 := T_184883 - when mem_grant.bits.is_builtin_type : T_184884 := T_184879 - node gnt_multi_data = and(UInt<1>(1), T_184884) - node T_184885 = and(mem_grant.valid, gnt_multi_data) - reg refill_cnt : UInt<2> - onreset refill_cnt := UInt<2>(0) - when T_184885 : - node T_184886 = eq(refill_cnt, UInt<2>(3)) - node T_184887 = and(UInt<1>(0), T_184886) - node T_184888 = addw(refill_cnt, UInt<1>(1)) - wire T_184889 : UInt<2> - T_184889 := T_184888 - when T_184887 : T_184889 := UInt<1>(0) - refill_cnt := T_184889 - node refill_count_done = and(T_184885, T_184886) - node T_184890 = eq(gnt_multi_data, UInt<1>(0)) - node T_184891 = or(T_184890, refill_count_done) - node refill_done = and(mem_grant.valid, T_184891) - inst rpq of Queue_138637 - node T_184892 = and(req_pri_val, req_pri_rdy) - node T_184893 = and(req_sec_val, sec_rdy) - node T_184894 = or(T_184892, T_184893) - node T_184895 = eq(req_bits.cmd, UInt<5>(2)) - node T_184896 = eq(req_bits.cmd, UInt<5>(3)) - node T_184897 = or(T_184895, T_184896) - node T_184898 = eq(T_184897, UInt<1>(0)) - node T_184899 = and(T_184894, T_184898) - rpq.enq.valid := T_184899 - rpq.enq.bits := req_bits - node T_184900 = eq(state, UInt<4>(8)) - node T_184901 = and(replay.ready, T_184900) - node T_184902 = eq(state, UInt<4>(0)) - node T_184903 = or(T_184901, T_184902) - rpq.deq.ready := T_184903 - node T_184904 = eq(req.cmd, UInt<5>(1)) - node T_184905 = eq(req.cmd, UInt<5>(7)) - node T_184906 = or(T_184904, T_184905) - node T_184907 = bit(req.cmd, 3) - node T_184908 = eq(req.cmd, UInt<5>(4)) - node T_184909 = or(T_184907, T_184908) - node T_184910 = or(T_184906, T_184909) - wire T_184911 : UInt<2> - T_184911 := UInt<2>(2) - when T_184910 : T_184911 := UInt<2>(3) - node T_184912 = eq(UInt<2>(2), mem_grant.bits.g_type) - wire T_184913 : UInt<2> - T_184913 := UInt<2>(0) - when T_184912 : T_184913 := UInt<2>(3) - node T_184914 = eq(UInt<2>(1), mem_grant.bits.g_type) - wire T_184915 : UInt<2> - T_184915 := T_184913 - when T_184914 : T_184915 := T_184911 - node T_184916 = eq(UInt<2>(0), mem_grant.bits.g_type) - wire T_184917 : UInt<2> - T_184917 := T_184915 - when T_184916 : T_184917 := UInt<2>(1) - wire T_184918 : UInt<2> - T_184918 := T_184917 - when mem_grant.bits.is_builtin_type : T_184918 := UInt<2>(0) - wire T_184919 : UInt<3>[3] - T_184919[0] := UInt<3>(0) - T_184919[1] := UInt<3>(1) - T_184919[2] := UInt<3>(2) - wire T_184920 : UInt<2>[2] - T_184920[0] := UInt<2>(0) - T_184920[1] := UInt<2>(1) - wire T_184921 : UInt<2>[3] - T_184921[0] := UInt<2>(1) - T_184921[1] := UInt<2>(2) - T_184921[2] := UInt<2>(3) - wire T_184922 : UInt<2>[2] - T_184922[0] := UInt<2>(2) - T_184922[1] := UInt<2>(3) - wire T_184923 : UInt<2>[1] - T_184923[0] := UInt<2>(3) - wire T_184924 : UInt<3>[3] - T_184924[0] := UInt<3>(0) - T_184924[1] := UInt<3>(1) - T_184924[2] := UInt<3>(2) - wire T_184925 : UInt<2>[2] - T_184925[0] := UInt<2>(0) - T_184925[1] := UInt<2>(1) - wire T_184926 : UInt<2>[3] - T_184926[0] := UInt<2>(1) - T_184926[1] := UInt<2>(2) - T_184926[2] := UInt<2>(3) - wire T_184927 : UInt<2>[2] - T_184927[0] := UInt<2>(2) - T_184927[1] := UInt<2>(3) - wire T_184928 : UInt<2>[1] - T_184928[0] := UInt<2>(3) - wire coh_on_grant : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>} - coh_on_grant.state := T_184918 - node T_184929 = eq(req_bits.cmd, UInt<5>(1)) - node T_184930 = eq(req_bits.cmd, UInt<5>(7)) - node T_184931 = or(T_184929, T_184930) - node T_184932 = bit(req_bits.cmd, 3) - node T_184933 = eq(req_bits.cmd, UInt<5>(4)) - node T_184934 = or(T_184932, T_184933) - node T_184935 = or(T_184931, T_184934) - wire T_184936 : UInt<2> - T_184936 := req_bits.old_meta.coh.state - when T_184935 : T_184936 := UInt<2>(3) - wire T_184937 : UInt<3>[3] - T_184937[0] := UInt<3>(0) - T_184937[1] := UInt<3>(1) - T_184937[2] := UInt<3>(2) - wire T_184938 : UInt<2>[2] - T_184938[0] := UInt<2>(0) - T_184938[1] := UInt<2>(1) - wire T_184939 : UInt<2>[3] - T_184939[0] := UInt<2>(1) - T_184939[1] := UInt<2>(2) - T_184939[2] := UInt<2>(3) - wire T_184940 : UInt<2>[2] - T_184940[0] := UInt<2>(2) - T_184940[1] := UInt<2>(3) - wire T_184941 : UInt<2>[1] - T_184941[0] := UInt<2>(3) - wire T_184942 : UInt<3>[3] - T_184942[0] := UInt<3>(0) - T_184942[1] := UInt<3>(1) - T_184942[2] := UInt<3>(2) - wire T_184943 : UInt<2>[2] - T_184943[0] := UInt<2>(0) - T_184943[1] := UInt<2>(1) - wire T_184944 : UInt<2>[3] - T_184944[0] := UInt<2>(1) - T_184944[1] := UInt<2>(2) - T_184944[2] := UInt<2>(3) - wire T_184945 : UInt<2>[2] - T_184945[0] := UInt<2>(2) - T_184945[1] := UInt<2>(3) - wire T_184946 : UInt<2>[1] - T_184946[0] := UInt<2>(3) - wire coh_on_hit : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>} - coh_on_hit.state := T_184936 - - - node T_184947 = eq(state, UInt<4>(8)) - node T_184948 = eq(rpq.deq.valid, UInt<1>(0)) - node T_184949 = and(T_184947, T_184948) - when T_184949 : state := UInt<4>(0) - - node T_184950 = eq(state, UInt<4>(7)) - when T_184950 : state := UInt<4>(8) - - - node T_184951 = eq(state, UInt<4>(6)) - node T_184952 = and(T_184951, meta_write.ready) - when T_184952 : state := UInt<4>(7) - - node T_184953 = eq(state, UInt<4>(5)) - when T_184953 : - when mem_grant.valid : new_coh_state := coh_on_grant - when refill_done : state := UInt<4>(6) - - node T_184954 = and(mem_req.ready, mem_req.valid) - when T_184954 : state := UInt<4>(5) - - - node T_184955 = eq(state, UInt<4>(3)) - node T_184956 = and(T_184955, meta_write.ready) - when T_184956 : state := UInt<4>(4) - - - node T_184957 = eq(state, UInt<4>(2)) - node T_184958 = and(T_184957, mem_grant.valid) - when T_184958 : state := UInt<4>(3) - - node T_184959 = and(wb_req.ready, wb_req.valid) - when T_184959 : - node T_184960 = eq(UInt<1>(0), UInt<1>(0)) - wire T_184961 : UInt<4> - T_184961 := UInt<4>(3) - when T_184960 : T_184961 := UInt<4>(2) - state := T_184961 - - node T_184962 = and(req_sec_val, req_sec_rdy) - when T_184962 : when cmd_requires_second_acquire : req.cmd := req_bits.cmd - - node T_184963 = and(req_pri_val, req_pri_rdy) - when T_184963 : - req := req_bits - when req_bits.tag_match : - - node T_184967 = eq(req_bits.cmd, UInt<5>(1)) - node T_184968 = eq(req_bits.cmd, UInt<5>(7)) - node T_184969 = or(T_184967, T_184968) - node T_184970 = bit(req_bits.cmd, 3) - node T_184971 = eq(req_bits.cmd, UInt<5>(4)) - node T_184972 = or(T_184970, T_184971) - node T_184973 = or(T_184969, T_184972) - node T_184974 = eq(req_bits.cmd, UInt<5>(3)) - node T_184975 = or(T_184973, T_184974) - node T_184976 = eq(req_bits.cmd, UInt<5>(6)) - node T_184977 = or(T_184975, T_184976) - node T_184978 = eq(T_184761[0], req_bits.old_meta.coh.state) - node T_184979 = eq(T_184761[1], req_bits.old_meta.coh.state) - node T_184980 = or(UInt<1>(0), T_184978) - node T_184981 = or(T_184980, T_184979) - node T_184982 = eq(T_184760[0], req_bits.old_meta.coh.state) - node T_184983 = eq(T_184760[1], req_bits.old_meta.coh.state) - node T_184984 = eq(T_184760[2], req_bits.old_meta.coh.state) - node T_184985 = or(UInt<1>(0), T_184982) - node T_184986 = or(T_184985, T_184983) - node T_184987 = or(T_184986, T_184984) - wire T_184988 : UInt<1> - T_184988 := T_184987 - when T_184977 : T_184988 := T_184981 - when T_184988 : - state := UInt<4>(6) - new_coh_state := coh_on_hit - else : - state := UInt<4>(4) - else : - - node T_184964 = eq(T_184762[0], req_bits.old_meta.coh.state) - node T_184965 = or(UInt<1>(0), T_184964) - wire T_184966 : UInt<4> - T_184966 := UInt<4>(3) - when T_184965 : T_184966 := UInt<4>(1) - state := T_184966 - node T_184989 = neq(state, UInt<4>(0)) - node T_184990 = and(T_184989, idx_match) - idx_match := T_184990 - refill.way_en := req.way_en - node T_184991 = cat(req_idx, refill_cnt) - node T_184992 = shl(T_184991, 4) - refill.addr := T_184992 - node T_184993 = shr(req.addr, 12) - tag := T_184993 - node T_184994 = eq(state, UInt<4>(0)) - req_pri_rdy := T_184994 - node T_184995 = and(sec_rdy, rpq.enq.ready) - req_sec_rdy := T_184995 - reg meta_hazard : UInt<2> - onreset meta_hazard := UInt<2>(0) - - node T_184996 = neq(meta_hazard, UInt<1>(0)) - when T_184996 : - node T_184997 = addw(meta_hazard, UInt<1>(1)) - meta_hazard := T_184997 - - node T_184998 = and(meta_write.ready, meta_write.valid) - when T_184998 : meta_hazard := UInt<1>(1) - node T_184999 = eq(idx_match, UInt<1>(0)) - node T_185000 = eq(states_before_refill[0], state) - node T_185001 = eq(states_before_refill[1], state) - node T_185002 = eq(states_before_refill[2], state) - node T_185003 = or(UInt<1>(0), T_185000) - node T_185004 = or(T_185003, T_185001) - node T_185005 = or(T_185004, T_185002) - node T_185006 = eq(T_185005, UInt<1>(0)) - node T_185007 = eq(meta_hazard, UInt<1>(0)) - node T_185008 = and(T_185006, T_185007) - node T_185009 = or(T_184999, T_185008) - probe_rdy := T_185009 - node T_185010 = eq(state, UInt<4>(6)) - node T_185011 = eq(state, UInt<4>(3)) - node T_185012 = or(T_185010, T_185011) - meta_write.valid := T_185012 - meta_write.bits.idx := req_idx - node T_185013 = eq(state, UInt<4>(3)) - node T_185014 = eq(T_184837[0], req.old_meta.coh.state) - node T_185015 = eq(T_184837[1], req.old_meta.coh.state) - node T_185016 = or(UInt<1>(0), T_185014) - node T_185017 = or(T_185016, T_185015) - wire T_185018 : UInt<2> - T_185018 := req.old_meta.coh.state - when T_185017 : T_185018 := UInt<2>(1) - node T_185019 = eq(req.old_meta.coh.state, UInt<2>(3)) - wire T_185020 : UInt<2> - T_185020 := req.old_meta.coh.state - when T_185019 : T_185020 := UInt<2>(2) - node T_185021 = eq(UInt<5>(19), UInt<5>(16)) - wire T_185022 : UInt<2> - T_185022 := req.old_meta.coh.state - when T_185021 : T_185022 := T_185020 - node T_185023 = eq(UInt<5>(17), UInt<5>(16)) - wire T_185024 : UInt<2> - T_185024 := T_185022 - when T_185023 : T_185024 := T_185018 - node T_185025 = eq(UInt<5>(16), UInt<5>(16)) - wire T_185026 : UInt<2> - T_185026 := T_185024 - when T_185025 : T_185026 := UInt<2>(0) - wire T_185027 : UInt<3>[3] - T_185027[0] := UInt<3>(0) - T_185027[1] := UInt<3>(1) - T_185027[2] := UInt<3>(2) - wire T_185028 : UInt<2>[2] - T_185028[0] := UInt<2>(0) - T_185028[1] := UInt<2>(1) - wire T_185029 : UInt<2>[3] - T_185029[0] := UInt<2>(1) - T_185029[1] := UInt<2>(2) - T_185029[2] := UInt<2>(3) - wire T_185030 : UInt<2>[2] - T_185030[0] := UInt<2>(2) - T_185030[1] := UInt<2>(3) - wire T_185031 : UInt<2>[1] - T_185031[0] := UInt<2>(3) - wire T_185032 : UInt<3>[3] - T_185032[0] := UInt<3>(0) - T_185032[1] := UInt<3>(1) - T_185032[2] := UInt<3>(2) - wire T_185033 : UInt<2>[2] - T_185033[0] := UInt<2>(0) - T_185033[1] := UInt<2>(1) - wire T_185034 : UInt<2>[3] - T_185034[0] := UInt<2>(1) - T_185034[1] := UInt<2>(2) - T_185034[2] := UInt<2>(3) - wire T_185035 : UInt<2>[2] - T_185035[0] := UInt<2>(2) - T_185035[1] := UInt<2>(3) - wire T_185036 : UInt<2>[1] - T_185036[0] := UInt<2>(3) - wire T_185037 : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>} - T_185037.state := T_185026 - wire T_185038 : UInt<3>[3] - T_185038[0] := UInt<3>(0) - T_185038[1] := UInt<3>(1) - T_185038[2] := UInt<3>(2) - wire T_185039 : UInt<2>[2] - T_185039[0] := UInt<2>(0) - T_185039[1] := UInt<2>(1) - wire T_185040 : UInt<2>[3] - T_185040[0] := UInt<2>(1) - T_185040[1] := UInt<2>(2) - T_185040[2] := UInt<2>(3) - wire T_185041 : UInt<2>[2] - T_185041[0] := UInt<2>(2) - T_185041[1] := UInt<2>(3) - wire T_185042 : UInt<2>[1] - T_185042[0] := UInt<2>(3) - wire T_185043 : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>} - T_185043 := new_coh_state - when T_185013 : T_185043 := T_185037 - meta_write.bits.data.coh := T_185043 - meta_write.bits.data.tag := tag - meta_write.bits.way_en := req.way_en - node T_185044 = eq(state, UInt<4>(1)) - wb_req.valid := T_185044 - node T_185045 = cat(req.old_meta.tag, req_idx) - node T_185046 = eq(T_184838[0], req.old_meta.coh.state) - node T_185047 = or(UInt<1>(0), T_185046) - wire T_185048 : UInt<3> - T_185048 := UInt<3>(3) - when T_185047 : T_185048 := UInt<3>(0) - wire T_185049 : UInt<3> - T_185049 := UInt<3>(4) - when T_185047 : T_185049 := UInt<3>(1) - wire T_185050 : UInt<3> - T_185050 := UInt<3>(5) - when T_185047 : T_185050 := UInt<3>(2) - node T_185051 = eq(UInt<5>(19), UInt<5>(16)) - wire T_185052 : UInt<3> - T_185052 := UInt<3>(5) - when T_185051 : T_185052 := T_185050 - node T_185053 = eq(UInt<5>(17), UInt<5>(16)) - wire T_185054 : UInt<3> - T_185054 := T_185052 - when T_185053 : T_185054 := T_185049 - node T_185055 = eq(UInt<5>(16), UInt<5>(16)) - wire T_185056 : UInt<3> - T_185056 := T_185054 - when T_185055 : T_185056 := T_185048 - wire T_185057 : UInt<3>[3] - T_185057[0] := UInt<3>(0) - T_185057[1] := UInt<3>(1) - T_185057[2] := UInt<3>(2) - wire T_185058 : UInt<2>[2] - T_185058[0] := UInt<2>(0) - T_185058[1] := UInt<2>(1) - wire T_185059 : UInt<2>[3] - T_185059[0] := UInt<2>(1) - T_185059[1] := UInt<2>(2) - T_185059[2] := UInt<2>(3) - wire T_185060 : UInt<2>[2] - T_185060[0] := UInt<2>(2) - T_185060[1] := UInt<2>(3) - wire T_185061 : UInt<2>[1] - T_185061[0] := UInt<2>(3) - wire T_185062 : UInt<3>[3] - T_185062[0] := UInt<3>(0) - T_185062[1] := UInt<3>(1) - T_185062[2] := UInt<3>(2) - wire T_185063 : UInt<2>[2] - T_185063[0] := UInt<2>(0) - T_185063[1] := UInt<2>(1) - wire T_185064 : UInt<2>[3] - T_185064[0] := UInt<2>(1) - T_185064[1] := UInt<2>(2) - T_185064[2] := UInt<2>(3) - wire T_185065 : UInt<2>[2] - T_185065[0] := UInt<2>(2) - T_185065[1] := UInt<2>(3) - wire T_185066 : UInt<2>[1] - T_185066[0] := UInt<2>(3) - wire T_185067 : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>} - T_185067.r_type := T_185056 - T_185067.client_xact_id := UInt<1>(0) - T_185067.addr_block := T_185045 - T_185067.addr_beat := UInt<1>(0) - T_185067.data := UInt<1>(0) - T_185067.voluntary := UInt<1>(1) - wb_req.bits := T_185067 - wb_req.bits.way_en := req.way_en - node T_185068 = eq(state, UInt<4>(4)) - mem_req.valid := T_185068 - node T_185069 = cat(tag, req_idx) - node T_185070 = eq(req.cmd, UInt<5>(1)) - node T_185071 = eq(req.cmd, UInt<5>(7)) - node T_185072 = or(T_185070, T_185071) - node T_185073 = bit(req.cmd, 3) - node T_185074 = eq(req.cmd, UInt<5>(4)) - node T_185075 = or(T_185073, T_185074) - node T_185076 = or(T_185072, T_185075) - node T_185077 = eq(req.cmd, UInt<5>(3)) - node T_185078 = or(T_185076, T_185077) - node T_185079 = eq(req.cmd, UInt<5>(6)) - node T_185080 = or(T_185078, T_185079) - wire T_185081 : UInt<1> - T_185081 := UInt<1>(0) - when T_185080 : T_185081 := UInt<1>(1) - node T_185082 = cat(req.cmd, UInt<1>(1)) - wire T_185083 : UInt<3>[3] - T_185083[0] := UInt<3>(0) - T_185083[1] := UInt<3>(1) - T_185083[2] := UInt<3>(2) - wire T_185084 : UInt<2>[2] - T_185084[0] := UInt<2>(0) - T_185084[1] := UInt<2>(1) - wire T_185085 : UInt<2>[3] - T_185085[0] := UInt<2>(1) - T_185085[1] := UInt<2>(2) - T_185085[2] := UInt<2>(3) - wire T_185086 : UInt<2>[2] - T_185086[0] := UInt<2>(2) - T_185086[1] := UInt<2>(3) - wire T_185087 : UInt<2>[1] - T_185087[0] := UInt<2>(3) - wire T_185088 : UInt<3>[3] - T_185088[0] := UInt<3>(0) - T_185088[1] := UInt<3>(1) - T_185088[2] := UInt<3>(2) - wire T_185089 : UInt<2>[2] - T_185089[0] := UInt<2>(0) - T_185089[1] := UInt<2>(1) - wire T_185090 : UInt<2>[3] - T_185090[0] := UInt<2>(1) - T_185090[1] := UInt<2>(2) - T_185090[2] := UInt<2>(3) - wire T_185091 : UInt<2>[2] - T_185091[0] := UInt<2>(2) - T_185091[1] := UInt<2>(3) - wire T_185092 : UInt<2>[1] - T_185092[0] := UInt<2>(3) - wire T_185093 : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>} - T_185093.is_builtin_type := UInt<1>(0) - T_185093.a_type := T_185081 - T_185093.client_xact_id := UInt<1>(0) - T_185093.addr_block := T_185069 - T_185093.addr_beat := UInt<1>(0) - T_185093.data := UInt<1>(0) - T_185093.union := T_185082 - mem_req.bits := T_185093 - node T_185094 = eq(state, UInt<4>(8)) - meta_read.valid := T_185094 - meta_read.bits.idx := req_idx - meta_read.bits.tag := tag - node T_185095 = eq(state, UInt<4>(8)) - node T_185096 = and(T_185095, rpq.deq.valid) - replay.valid := T_185096 - replay.bits := rpq.deq.bits - replay.bits.phys := UInt<1>(1) - node T_185097 = bits(rpq.deq.bits.addr, 5, 0) - node T_185098 = cat(req_idx, T_185097) - node T_185099 = cat(tag, T_185098) - replay.bits.addr := T_185099 - - node T_185100 = eq(meta_read.ready, UInt<1>(0)) - when T_185100 : - rpq.deq.ready := UInt<1>(0) - replay.bits.cmd := UInt<5>(5) - module Queue_140921 : - input enq : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<40>, tag : UInt<8>, cmd : UInt<5>, typ : UInt<3>, kill : UInt<1>, phys : UInt<1>, sdq_id : UInt<5>}} - output deq : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<40>, tag : UInt<8>, cmd : UInt<5>, typ : UInt<3>, kill : UInt<1>, phys : UInt<1>, sdq_id : UInt<5>}} - output count : UInt<5> - - cmem ram : {addr : UInt<40>, tag : UInt<8>, cmd : UInt<5>, typ : UInt<3>, kill : UInt<1>, phys : UInt<1>, sdq_id : UInt<5>}[16] - reg T_185101 : UInt<4> - onreset T_185101 := UInt<4>(0) - reg T_185102 : UInt<4> - onreset T_185102 := UInt<4>(0) - reg maybe_full : UInt<1> - onreset maybe_full := UInt<1>(0) - node ptr_match = eq(T_185101, T_185102) - node T_185103 = eq(maybe_full, UInt<1>(0)) - node empty = and(ptr_match, T_185103) - node full = and(ptr_match, maybe_full) - node maybe_flow = and(UInt<1>(0), empty) - node do_flow = and(maybe_flow, deq.ready) - node T_185104 = and(enq.ready, enq.valid) - node T_185105 = eq(do_flow, UInt<1>(0)) - node do_enq = and(T_185104, T_185105) - node T_185106 = and(deq.ready, deq.valid) - node T_185107 = eq(do_flow, UInt<1>(0)) - node do_deq = and(T_185106, T_185107) - when do_enq : - accessor T_185108 = ram[T_185101] - T_185108 := enq.bits - node T_185109 = eq(T_185101, UInt<4>(15)) - node T_185110 = and(UInt<1>(0), T_185109) - node T_185111 = addw(T_185101, UInt<1>(1)) - wire T_185112 : UInt<4> - T_185112 := T_185111 - when T_185110 : T_185112 := UInt<1>(0) - T_185101 := T_185112 - when do_deq : - node T_185113 = eq(T_185102, UInt<4>(15)) - node T_185114 = and(UInt<1>(0), T_185113) - node T_185115 = addw(T_185102, UInt<1>(1)) - wire T_185116 : UInt<4> - T_185116 := T_185115 - when T_185114 : T_185116 := UInt<1>(0) - T_185102 := T_185116 - - node T_185117 = neq(do_enq, do_deq) - when T_185117 : maybe_full := do_enq - node T_185118 = eq(empty, UInt<1>(0)) - node T_185119 = and(UInt<1>(0), enq.valid) - node T_185120 = or(T_185118, T_185119) - deq.valid := T_185120 - node T_185121 = eq(full, UInt<1>(0)) - node T_185122 = and(UInt<1>(0), deq.ready) - node T_185123 = or(T_185121, T_185122) - enq.ready := T_185123 - accessor T_185124 = ram[T_185102] - wire T_185125 : {addr : UInt<40>, tag : UInt<8>, cmd : UInt<5>, typ : UInt<3>, kill : UInt<1>, phys : UInt<1>, sdq_id : UInt<5>} - T_185125 := T_185124 - when maybe_flow : T_185125 := enq.bits - deq.bits := T_185125 - node ptr_diff = subw(T_185101, T_185102) - node T_185126 = and(maybe_full, ptr_match) - node T_185127 = cat(T_185126, ptr_diff) - count := T_185127 - module MSHR_141857 : - input req_pri_val : UInt<1> - output req_pri_rdy : UInt<1> - input req_sec_val : UInt<1> - output req_sec_rdy : UInt<1> - input req_bits : {addr : UInt<40>, tag : UInt<8>, cmd : UInt<5>, typ : UInt<3>, kill : UInt<1>, phys : UInt<1>, sdq_id : UInt<5>, tag_match : UInt<1>, old_meta : {tag : UInt<20>, coh : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}, way_en : UInt<4>} - output idx_match : UInt<1> - output tag : UInt<20> - output mem_req : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}} - output refill : {way_en : UInt<4>, addr : UInt<12>} - output meta_read : {flip ready : UInt<1>, valid : UInt<1>, bits : {idx : UInt<6>, tag : UInt<20>}} - output meta_write : {flip ready : UInt<1>, valid : UInt<1>, bits : {idx : UInt<6>, way_en : UInt<4>, data : {tag : UInt<20>, coh : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}}} - output replay : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<40>, tag : UInt<8>, cmd : UInt<5>, typ : UInt<3>, kill : UInt<1>, phys : UInt<1>, sdq_id : UInt<5>}} - input mem_grant : {valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}} - output wb_req : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>, way_en : UInt<4>}} - output probe_rdy : UInt<1> - - wire T_185128 : UInt<3>[3] - T_185128[0] := UInt<3>(0) - T_185128[1] := UInt<3>(1) - T_185128[2] := UInt<3>(2) - wire T_185129 : UInt<2>[2] - T_185129[0] := UInt<2>(0) - T_185129[1] := UInt<2>(1) - wire T_185130 : UInt<2>[3] - T_185130[0] := UInt<2>(1) - T_185130[1] := UInt<2>(2) - T_185130[2] := UInt<2>(3) - wire T_185131 : UInt<2>[2] - T_185131[0] := UInt<2>(2) - T_185131[1] := UInt<2>(3) - wire T_185132 : UInt<2>[1] - T_185132[0] := UInt<2>(3) - wire T_185133 : UInt<3>[3] - T_185133[0] := UInt<3>(0) - T_185133[1] := UInt<3>(1) - T_185133[2] := UInt<3>(2) - wire T_185134 : UInt<2>[2] - T_185134[0] := UInt<2>(0) - T_185134[1] := UInt<2>(1) - wire T_185135 : UInt<2>[3] - T_185135[0] := UInt<2>(1) - T_185135[1] := UInt<2>(2) - T_185135[2] := UInt<2>(3) - wire T_185136 : UInt<2>[2] - T_185136[0] := UInt<2>(2) - T_185136[1] := UInt<2>(3) - wire T_185137 : UInt<2>[1] - T_185137[0] := UInt<2>(3) - wire T_185138 : UInt<3>[3] - T_185138[0] := UInt<3>(0) - T_185138[1] := UInt<3>(1) - T_185138[2] := UInt<3>(2) - wire T_185139 : UInt<2>[2] - T_185139[0] := UInt<2>(0) - T_185139[1] := UInt<2>(1) - wire T_185140 : UInt<2>[3] - T_185140[0] := UInt<2>(1) - T_185140[1] := UInt<2>(2) - T_185140[2] := UInt<2>(3) - wire T_185141 : UInt<2>[2] - T_185141[0] := UInt<2>(2) - T_185141[1] := UInt<2>(3) - wire T_185142 : UInt<2>[1] - T_185142[0] := UInt<2>(3) - wire T_185143 : UInt<3>[3] - T_185143[0] := UInt<3>(0) - T_185143[1] := UInt<3>(1) - T_185143[2] := UInt<3>(2) - wire T_185144 : UInt<2>[2] - T_185144[0] := UInt<2>(0) - T_185144[1] := UInt<2>(1) - wire T_185145 : UInt<2>[3] - T_185145[0] := UInt<2>(1) - T_185145[1] := UInt<2>(2) - T_185145[2] := UInt<2>(3) - wire T_185146 : UInt<2>[2] - T_185146[0] := UInt<2>(2) - T_185146[1] := UInt<2>(3) - wire T_185147 : UInt<2>[1] - T_185147[0] := UInt<2>(3) - wire T_185148 : UInt<3>[3] - T_185148[0] := UInt<3>(0) - T_185148[1] := UInt<3>(1) - T_185148[2] := UInt<3>(2) - wire T_185149 : UInt<2>[2] - T_185149[0] := UInt<2>(0) - T_185149[1] := UInt<2>(1) - wire T_185150 : UInt<2>[3] - T_185150[0] := UInt<2>(1) - T_185150[1] := UInt<2>(2) - T_185150[2] := UInt<2>(3) - wire T_185151 : UInt<2>[2] - T_185151[0] := UInt<2>(2) - T_185151[1] := UInt<2>(3) - wire T_185152 : UInt<2>[1] - T_185152[0] := UInt<2>(3) - wire T_185153 : UInt<3>[3] - T_185153[0] := UInt<3>(0) - T_185153[1] := UInt<3>(1) - T_185153[2] := UInt<3>(2) - wire T_185154 : UInt<2>[2] - T_185154[0] := UInt<2>(0) - T_185154[1] := UInt<2>(1) - wire T_185155 : UInt<2>[3] - T_185155[0] := UInt<2>(1) - T_185155[1] := UInt<2>(2) - T_185155[2] := UInt<2>(3) - wire T_185156 : UInt<2>[2] - T_185156[0] := UInt<2>(2) - T_185156[1] := UInt<2>(3) - wire T_185157 : UInt<2>[1] - T_185157[0] := UInt<2>(3) - wire T_185158 : UInt<3>[3] - T_185158[0] := UInt<3>(0) - T_185158[1] := UInt<3>(1) - T_185158[2] := UInt<3>(2) - wire T_185159 : UInt<2>[2] - T_185159[0] := UInt<2>(0) - T_185159[1] := UInt<2>(1) - wire T_185160 : UInt<2>[3] - T_185160[0] := UInt<2>(1) - T_185160[1] := UInt<2>(2) - T_185160[2] := UInt<2>(3) - wire T_185161 : UInt<2>[2] - T_185161[0] := UInt<2>(2) - T_185161[1] := UInt<2>(3) - wire T_185162 : UInt<2>[1] - T_185162[0] := UInt<2>(3) - wire T_185163 : UInt<3>[3] - T_185163[0] := UInt<3>(0) - T_185163[1] := UInt<3>(1) - T_185163[2] := UInt<3>(2) - wire T_185164 : UInt<2>[2] - T_185164[0] := UInt<2>(0) - T_185164[1] := UInt<2>(1) - wire T_185165 : UInt<2>[3] - T_185165[0] := UInt<2>(1) - T_185165[1] := UInt<2>(2) - T_185165[2] := UInt<2>(3) - wire T_185166 : UInt<2>[2] - T_185166[0] := UInt<2>(2) - T_185166[1] := UInt<2>(3) - wire T_185167 : UInt<2>[1] - T_185167[0] := UInt<2>(3) - wire T_185168 : UInt<3>[3] - T_185168[0] := UInt<3>(0) - T_185168[1] := UInt<3>(1) - T_185168[2] := UInt<3>(2) - wire T_185169 : UInt<2>[2] - T_185169[0] := UInt<2>(0) - T_185169[1] := UInt<2>(1) - wire T_185170 : UInt<2>[3] - T_185170[0] := UInt<2>(1) - T_185170[1] := UInt<2>(2) - T_185170[2] := UInt<2>(3) - wire T_185171 : UInt<2>[2] - T_185171[0] := UInt<2>(2) - T_185171[1] := UInt<2>(3) - wire T_185172 : UInt<2>[1] - T_185172[0] := UInt<2>(3) - wire T_185173 : UInt<3>[3] - T_185173[0] := UInt<3>(0) - T_185173[1] := UInt<3>(1) - T_185173[2] := UInt<3>(2) - wire T_185174 : UInt<2>[2] - T_185174[0] := UInt<2>(0) - T_185174[1] := UInt<2>(1) - wire T_185175 : UInt<2>[3] - T_185175[0] := UInt<2>(1) - T_185175[1] := UInt<2>(2) - T_185175[2] := UInt<2>(3) - wire T_185176 : UInt<2>[2] - T_185176[0] := UInt<2>(2) - T_185176[1] := UInt<2>(3) - wire T_185177 : UInt<2>[1] - T_185177[0] := UInt<2>(3) - reg state : UInt<4> - onreset state := UInt<4>(0) - wire T_185178 : UInt<3>[3] - T_185178[0] := UInt<3>(0) - T_185178[1] := UInt<3>(1) - T_185178[2] := UInt<3>(2) - wire T_185179 : UInt<2>[2] - T_185179[0] := UInt<2>(0) - T_185179[1] := UInt<2>(1) - wire T_185180 : UInt<2>[3] - T_185180[0] := UInt<2>(1) - T_185180[1] := UInt<2>(2) - T_185180[2] := UInt<2>(3) - wire T_185181 : UInt<2>[2] - T_185181[0] := UInt<2>(2) - T_185181[1] := UInt<2>(3) - wire T_185182 : UInt<2>[1] - T_185182[0] := UInt<2>(3) - wire T_185183 : UInt<3>[3] - T_185183[0] := UInt<3>(0) - T_185183[1] := UInt<3>(1) - T_185183[2] := UInt<3>(2) - wire T_185184 : UInt<2>[2] - T_185184[0] := UInt<2>(0) - T_185184[1] := UInt<2>(1) - wire T_185185 : UInt<2>[3] - T_185185[0] := UInt<2>(1) - T_185185[1] := UInt<2>(2) - T_185185[2] := UInt<2>(3) - wire T_185186 : UInt<2>[2] - T_185186[0] := UInt<2>(2) - T_185186[1] := UInt<2>(3) - wire T_185187 : UInt<2>[1] - T_185187[0] := UInt<2>(3) - wire T_185188 : UInt<3>[3] - T_185188[0] := UInt<3>(0) - T_185188[1] := UInt<3>(1) - T_185188[2] := UInt<3>(2) - wire T_185189 : UInt<2>[2] - T_185189[0] := UInt<2>(0) - T_185189[1] := UInt<2>(1) - wire T_185190 : UInt<2>[3] - T_185190[0] := UInt<2>(1) - T_185190[1] := UInt<2>(2) - T_185190[2] := UInt<2>(3) - wire T_185191 : UInt<2>[2] - T_185191[0] := UInt<2>(2) - T_185191[1] := UInt<2>(3) - wire T_185192 : UInt<2>[1] - T_185192[0] := UInt<2>(3) - wire T_185193 : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>} - T_185193.state := UInt<2>(0) - wire T_185194 : UInt<3>[3] - T_185194[0] := UInt<3>(0) - T_185194[1] := UInt<3>(1) - T_185194[2] := UInt<3>(2) - wire T_185195 : UInt<2>[2] - T_185195[0] := UInt<2>(0) - T_185195[1] := UInt<2>(1) - wire T_185196 : UInt<2>[3] - T_185196[0] := UInt<2>(1) - T_185196[1] := UInt<2>(2) - T_185196[2] := UInt<2>(3) - wire T_185197 : UInt<2>[2] - T_185197[0] := UInt<2>(2) - T_185197[1] := UInt<2>(3) - wire T_185198 : UInt<2>[1] - T_185198[0] := UInt<2>(3) - reg new_coh_state : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>} - onreset new_coh_state := T_185193 - wire T_185199 : UInt<3>[3] - T_185199[0] := UInt<3>(0) - T_185199[1] := UInt<3>(1) - T_185199[2] := UInt<3>(2) - wire T_185200 : UInt<2>[2] - T_185200[0] := UInt<2>(0) - T_185200[1] := UInt<2>(1) - wire T_185201 : UInt<2>[3] - T_185201[0] := UInt<2>(1) - T_185201[1] := UInt<2>(2) - T_185201[2] := UInt<2>(3) - wire T_185202 : UInt<2>[2] - T_185202[0] := UInt<2>(2) - T_185202[1] := UInt<2>(3) - wire T_185203 : UInt<2>[1] - T_185203[0] := UInt<2>(3) - wire T_185204 : UInt<3>[3] - T_185204[0] := UInt<3>(0) - T_185204[1] := UInt<3>(1) - T_185204[2] := UInt<3>(2) - wire T_185205 : UInt<2>[2] - T_185205[0] := UInt<2>(0) - T_185205[1] := UInt<2>(1) - wire T_185206 : UInt<2>[3] - T_185206[0] := UInt<2>(1) - T_185206[1] := UInt<2>(2) - T_185206[2] := UInt<2>(3) - wire T_185207 : UInt<2>[2] - T_185207[0] := UInt<2>(2) - T_185207[1] := UInt<2>(3) - wire T_185208 : UInt<2>[1] - T_185208[0] := UInt<2>(3) - reg req : {addr : UInt<40>, tag : UInt<8>, cmd : UInt<5>, typ : UInt<3>, kill : UInt<1>, phys : UInt<1>, sdq_id : UInt<5>, tag_match : UInt<1>, old_meta : {tag : UInt<20>, coh : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}, way_en : UInt<4>} - node req_idx = bits(req.addr, 11, 6) - node T_185209 = bits(req_bits.addr, 11, 6) - node idx_match = eq(req_idx, T_185209) - node T_185210 = eq(req_bits.cmd, UInt<5>(1)) - node T_185211 = eq(req_bits.cmd, UInt<5>(7)) - node T_185212 = or(T_185210, T_185211) - node T_185213 = bit(req_bits.cmd, 3) - node T_185214 = eq(req_bits.cmd, UInt<5>(4)) - node T_185215 = or(T_185213, T_185214) - node T_185216 = or(T_185212, T_185215) - node T_185217 = eq(req_bits.cmd, UInt<5>(3)) - node T_185218 = or(T_185216, T_185217) - node T_185219 = eq(req_bits.cmd, UInt<5>(6)) - node T_185220 = or(T_185218, T_185219) - node T_185221 = eq(req.cmd, UInt<5>(1)) - node T_185222 = eq(req.cmd, UInt<5>(7)) - node T_185223 = or(T_185221, T_185222) - node T_185224 = bit(req.cmd, 3) - node T_185225 = eq(req.cmd, UInt<5>(4)) - node T_185226 = or(T_185224, T_185225) - node T_185227 = or(T_185223, T_185226) - node T_185228 = eq(req.cmd, UInt<5>(3)) - node T_185229 = or(T_185227, T_185228) - node T_185230 = eq(req.cmd, UInt<5>(6)) - node T_185231 = or(T_185229, T_185230) - node T_185232 = eq(T_185231, UInt<1>(0)) - node cmd_requires_second_acquire = and(T_185220, T_185232) - wire states_before_refill : UInt<4>[3] - states_before_refill[0] := UInt<4>(1) - states_before_refill[1] := UInt<4>(2) - states_before_refill[2] := UInt<4>(3) - node T_185233 = eq(states_before_refill[0], state) - node T_185234 = eq(states_before_refill[1], state) - node T_185235 = eq(states_before_refill[2], state) - node T_185236 = or(UInt<1>(0), T_185233) - node T_185237 = or(T_185236, T_185234) - node T_185238 = or(T_185237, T_185235) - wire T_185239 : UInt<4>[2] - T_185239[0] := UInt<4>(4) - T_185239[1] := UInt<4>(5) - node T_185240 = eq(T_185239[0], state) - node T_185241 = eq(T_185239[1], state) - node T_185242 = or(UInt<1>(0), T_185240) - node T_185243 = or(T_185242, T_185241) - node T_185244 = eq(cmd_requires_second_acquire, UInt<1>(0)) - node T_185245 = and(T_185243, T_185244) - node T_185246 = or(T_185238, T_185245) - node sec_rdy = and(idx_match, T_185246) - wire T_185247 : UInt<3>[1] - T_185247[0] := UInt<3>(5) - node T_185248 = eq(T_185247[0], mem_grant.bits.g_type) - node T_185249 = or(UInt<1>(0), T_185248) - node T_185250 = eq(T_185164[0], mem_grant.bits.g_type) - node T_185251 = eq(T_185164[1], mem_grant.bits.g_type) - node T_185252 = or(UInt<1>(0), T_185250) - node T_185253 = or(T_185252, T_185251) - wire T_185254 : UInt<1> - T_185254 := T_185253 - when mem_grant.bits.is_builtin_type : T_185254 := T_185249 - node gnt_multi_data = and(UInt<1>(1), T_185254) - node T_185255 = and(mem_grant.valid, gnt_multi_data) - reg refill_cnt : UInt<2> - onreset refill_cnt := UInt<2>(0) - when T_185255 : - node T_185256 = eq(refill_cnt, UInt<2>(3)) - node T_185257 = and(UInt<1>(0), T_185256) - node T_185258 = addw(refill_cnt, UInt<1>(1)) - wire T_185259 : UInt<2> - T_185259 := T_185258 - when T_185257 : T_185259 := UInt<1>(0) - refill_cnt := T_185259 - node refill_count_done = and(T_185255, T_185256) - node T_185260 = eq(gnt_multi_data, UInt<1>(0)) - node T_185261 = or(T_185260, refill_count_done) - node refill_done = and(mem_grant.valid, T_185261) - inst rpq of Queue_140921 - node T_185262 = and(req_pri_val, req_pri_rdy) - node T_185263 = and(req_sec_val, sec_rdy) - node T_185264 = or(T_185262, T_185263) - node T_185265 = eq(req_bits.cmd, UInt<5>(2)) - node T_185266 = eq(req_bits.cmd, UInt<5>(3)) - node T_185267 = or(T_185265, T_185266) - node T_185268 = eq(T_185267, UInt<1>(0)) - node T_185269 = and(T_185264, T_185268) - rpq.enq.valid := T_185269 - rpq.enq.bits := req_bits - node T_185270 = eq(state, UInt<4>(8)) - node T_185271 = and(replay.ready, T_185270) - node T_185272 = eq(state, UInt<4>(0)) - node T_185273 = or(T_185271, T_185272) - rpq.deq.ready := T_185273 - node T_185274 = eq(req.cmd, UInt<5>(1)) - node T_185275 = eq(req.cmd, UInt<5>(7)) - node T_185276 = or(T_185274, T_185275) - node T_185277 = bit(req.cmd, 3) - node T_185278 = eq(req.cmd, UInt<5>(4)) - node T_185279 = or(T_185277, T_185278) - node T_185280 = or(T_185276, T_185279) - wire T_185281 : UInt<2> - T_185281 := UInt<2>(2) - when T_185280 : T_185281 := UInt<2>(3) - node T_185282 = eq(UInt<2>(2), mem_grant.bits.g_type) - wire T_185283 : UInt<2> - T_185283 := UInt<2>(0) - when T_185282 : T_185283 := UInt<2>(3) - node T_185284 = eq(UInt<2>(1), mem_grant.bits.g_type) - wire T_185285 : UInt<2> - T_185285 := T_185283 - when T_185284 : T_185285 := T_185281 - node T_185286 = eq(UInt<2>(0), mem_grant.bits.g_type) - wire T_185287 : UInt<2> - T_185287 := T_185285 - when T_185286 : T_185287 := UInt<2>(1) - wire T_185288 : UInt<2> - T_185288 := T_185287 - when mem_grant.bits.is_builtin_type : T_185288 := UInt<2>(0) - wire T_185289 : UInt<3>[3] - T_185289[0] := UInt<3>(0) - T_185289[1] := UInt<3>(1) - T_185289[2] := UInt<3>(2) - wire T_185290 : UInt<2>[2] - T_185290[0] := UInt<2>(0) - T_185290[1] := UInt<2>(1) - wire T_185291 : UInt<2>[3] - T_185291[0] := UInt<2>(1) - T_185291[1] := UInt<2>(2) - T_185291[2] := UInt<2>(3) - wire T_185292 : UInt<2>[2] - T_185292[0] := UInt<2>(2) - T_185292[1] := UInt<2>(3) - wire T_185293 : UInt<2>[1] - T_185293[0] := UInt<2>(3) - wire T_185294 : UInt<3>[3] - T_185294[0] := UInt<3>(0) - T_185294[1] := UInt<3>(1) - T_185294[2] := UInt<3>(2) - wire T_185295 : UInt<2>[2] - T_185295[0] := UInt<2>(0) - T_185295[1] := UInt<2>(1) - wire T_185296 : UInt<2>[3] - T_185296[0] := UInt<2>(1) - T_185296[1] := UInt<2>(2) - T_185296[2] := UInt<2>(3) - wire T_185297 : UInt<2>[2] - T_185297[0] := UInt<2>(2) - T_185297[1] := UInt<2>(3) - wire T_185298 : UInt<2>[1] - T_185298[0] := UInt<2>(3) - wire coh_on_grant : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>} - coh_on_grant.state := T_185288 - node T_185299 = eq(req_bits.cmd, UInt<5>(1)) - node T_185300 = eq(req_bits.cmd, UInt<5>(7)) - node T_185301 = or(T_185299, T_185300) - node T_185302 = bit(req_bits.cmd, 3) - node T_185303 = eq(req_bits.cmd, UInt<5>(4)) - node T_185304 = or(T_185302, T_185303) - node T_185305 = or(T_185301, T_185304) - wire T_185306 : UInt<2> - T_185306 := req_bits.old_meta.coh.state - when T_185305 : T_185306 := UInt<2>(3) - wire T_185307 : UInt<3>[3] - T_185307[0] := UInt<3>(0) - T_185307[1] := UInt<3>(1) - T_185307[2] := UInt<3>(2) - wire T_185308 : UInt<2>[2] - T_185308[0] := UInt<2>(0) - T_185308[1] := UInt<2>(1) - wire T_185309 : UInt<2>[3] - T_185309[0] := UInt<2>(1) - T_185309[1] := UInt<2>(2) - T_185309[2] := UInt<2>(3) - wire T_185310 : UInt<2>[2] - T_185310[0] := UInt<2>(2) - T_185310[1] := UInt<2>(3) - wire T_185311 : UInt<2>[1] - T_185311[0] := UInt<2>(3) - wire T_185312 : UInt<3>[3] - T_185312[0] := UInt<3>(0) - T_185312[1] := UInt<3>(1) - T_185312[2] := UInt<3>(2) - wire T_185313 : UInt<2>[2] - T_185313[0] := UInt<2>(0) - T_185313[1] := UInt<2>(1) - wire T_185314 : UInt<2>[3] - T_185314[0] := UInt<2>(1) - T_185314[1] := UInt<2>(2) - T_185314[2] := UInt<2>(3) - wire T_185315 : UInt<2>[2] - T_185315[0] := UInt<2>(2) - T_185315[1] := UInt<2>(3) - wire T_185316 : UInt<2>[1] - T_185316[0] := UInt<2>(3) - wire coh_on_hit : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>} - coh_on_hit.state := T_185306 - - - node T_185317 = eq(state, UInt<4>(8)) - node T_185318 = eq(rpq.deq.valid, UInt<1>(0)) - node T_185319 = and(T_185317, T_185318) - when T_185319 : state := UInt<4>(0) - - node T_185320 = eq(state, UInt<4>(7)) - when T_185320 : state := UInt<4>(8) - - - node T_185321 = eq(state, UInt<4>(6)) - node T_185322 = and(T_185321, meta_write.ready) - when T_185322 : state := UInt<4>(7) - - node T_185323 = eq(state, UInt<4>(5)) - when T_185323 : - when mem_grant.valid : new_coh_state := coh_on_grant - when refill_done : state := UInt<4>(6) - - node T_185324 = and(mem_req.ready, mem_req.valid) - when T_185324 : state := UInt<4>(5) - - - node T_185325 = eq(state, UInt<4>(3)) - node T_185326 = and(T_185325, meta_write.ready) - when T_185326 : state := UInt<4>(4) - - - node T_185327 = eq(state, UInt<4>(2)) - node T_185328 = and(T_185327, mem_grant.valid) - when T_185328 : state := UInt<4>(3) - - node T_185329 = and(wb_req.ready, wb_req.valid) - when T_185329 : - node T_185330 = eq(UInt<1>(0), UInt<1>(0)) - wire T_185331 : UInt<4> - T_185331 := UInt<4>(3) - when T_185330 : T_185331 := UInt<4>(2) - state := T_185331 - - node T_185332 = and(req_sec_val, req_sec_rdy) - when T_185332 : when cmd_requires_second_acquire : req.cmd := req_bits.cmd - - node T_185333 = and(req_pri_val, req_pri_rdy) - when T_185333 : - req := req_bits - when req_bits.tag_match : - - node T_185337 = eq(req_bits.cmd, UInt<5>(1)) - node T_185338 = eq(req_bits.cmd, UInt<5>(7)) - node T_185339 = or(T_185337, T_185338) - node T_185340 = bit(req_bits.cmd, 3) - node T_185341 = eq(req_bits.cmd, UInt<5>(4)) - node T_185342 = or(T_185340, T_185341) - node T_185343 = or(T_185339, T_185342) - node T_185344 = eq(req_bits.cmd, UInt<5>(3)) - node T_185345 = or(T_185343, T_185344) - node T_185346 = eq(req_bits.cmd, UInt<5>(6)) - node T_185347 = or(T_185345, T_185346) - node T_185348 = eq(T_185131[0], req_bits.old_meta.coh.state) - node T_185349 = eq(T_185131[1], req_bits.old_meta.coh.state) - node T_185350 = or(UInt<1>(0), T_185348) - node T_185351 = or(T_185350, T_185349) - node T_185352 = eq(T_185130[0], req_bits.old_meta.coh.state) - node T_185353 = eq(T_185130[1], req_bits.old_meta.coh.state) - node T_185354 = eq(T_185130[2], req_bits.old_meta.coh.state) - node T_185355 = or(UInt<1>(0), T_185352) - node T_185356 = or(T_185355, T_185353) - node T_185357 = or(T_185356, T_185354) - wire T_185358 : UInt<1> - T_185358 := T_185357 - when T_185347 : T_185358 := T_185351 - when T_185358 : - state := UInt<4>(6) - new_coh_state := coh_on_hit - else : - state := UInt<4>(4) - else : - - node T_185334 = eq(T_185132[0], req_bits.old_meta.coh.state) - node T_185335 = or(UInt<1>(0), T_185334) - wire T_185336 : UInt<4> - T_185336 := UInt<4>(3) - when T_185335 : T_185336 := UInt<4>(1) - state := T_185336 - node T_185359 = neq(state, UInt<4>(0)) - node T_185360 = and(T_185359, idx_match) - idx_match := T_185360 - refill.way_en := req.way_en - node T_185361 = cat(req_idx, refill_cnt) - node T_185362 = shl(T_185361, 4) - refill.addr := T_185362 - node T_185363 = shr(req.addr, 12) - tag := T_185363 - node T_185364 = eq(state, UInt<4>(0)) - req_pri_rdy := T_185364 - node T_185365 = and(sec_rdy, rpq.enq.ready) - req_sec_rdy := T_185365 - reg meta_hazard : UInt<2> - onreset meta_hazard := UInt<2>(0) - - node T_185366 = neq(meta_hazard, UInt<1>(0)) - when T_185366 : - node T_185367 = addw(meta_hazard, UInt<1>(1)) - meta_hazard := T_185367 - - node T_185368 = and(meta_write.ready, meta_write.valid) - when T_185368 : meta_hazard := UInt<1>(1) - node T_185369 = eq(idx_match, UInt<1>(0)) - node T_185370 = eq(states_before_refill[0], state) - node T_185371 = eq(states_before_refill[1], state) - node T_185372 = eq(states_before_refill[2], state) - node T_185373 = or(UInt<1>(0), T_185370) - node T_185374 = or(T_185373, T_185371) - node T_185375 = or(T_185374, T_185372) - node T_185376 = eq(T_185375, UInt<1>(0)) - node T_185377 = eq(meta_hazard, UInt<1>(0)) - node T_185378 = and(T_185376, T_185377) - node T_185379 = or(T_185369, T_185378) - probe_rdy := T_185379 - node T_185380 = eq(state, UInt<4>(6)) - node T_185381 = eq(state, UInt<4>(3)) - node T_185382 = or(T_185380, T_185381) - meta_write.valid := T_185382 - meta_write.bits.idx := req_idx - node T_185383 = eq(state, UInt<4>(3)) - node T_185384 = eq(T_185207[0], req.old_meta.coh.state) - node T_185385 = eq(T_185207[1], req.old_meta.coh.state) - node T_185386 = or(UInt<1>(0), T_185384) - node T_185387 = or(T_185386, T_185385) - wire T_185388 : UInt<2> - T_185388 := req.old_meta.coh.state - when T_185387 : T_185388 := UInt<2>(1) - node T_185389 = eq(req.old_meta.coh.state, UInt<2>(3)) - wire T_185390 : UInt<2> - T_185390 := req.old_meta.coh.state - when T_185389 : T_185390 := UInt<2>(2) - node T_185391 = eq(UInt<5>(19), UInt<5>(16)) - wire T_185392 : UInt<2> - T_185392 := req.old_meta.coh.state - when T_185391 : T_185392 := T_185390 - node T_185393 = eq(UInt<5>(17), UInt<5>(16)) - wire T_185394 : UInt<2> - T_185394 := T_185392 - when T_185393 : T_185394 := T_185388 - node T_185395 = eq(UInt<5>(16), UInt<5>(16)) - wire T_185396 : UInt<2> - T_185396 := T_185394 - when T_185395 : T_185396 := UInt<2>(0) - wire T_185397 : UInt<3>[3] - T_185397[0] := UInt<3>(0) - T_185397[1] := UInt<3>(1) - T_185397[2] := UInt<3>(2) - wire T_185398 : UInt<2>[2] - T_185398[0] := UInt<2>(0) - T_185398[1] := UInt<2>(1) - wire T_185399 : UInt<2>[3] - T_185399[0] := UInt<2>(1) - T_185399[1] := UInt<2>(2) - T_185399[2] := UInt<2>(3) - wire T_185400 : UInt<2>[2] - T_185400[0] := UInt<2>(2) - T_185400[1] := UInt<2>(3) - wire T_185401 : UInt<2>[1] - T_185401[0] := UInt<2>(3) - wire T_185402 : UInt<3>[3] - T_185402[0] := UInt<3>(0) - T_185402[1] := UInt<3>(1) - T_185402[2] := UInt<3>(2) - wire T_185403 : UInt<2>[2] - T_185403[0] := UInt<2>(0) - T_185403[1] := UInt<2>(1) - wire T_185404 : UInt<2>[3] - T_185404[0] := UInt<2>(1) - T_185404[1] := UInt<2>(2) - T_185404[2] := UInt<2>(3) - wire T_185405 : UInt<2>[2] - T_185405[0] := UInt<2>(2) - T_185405[1] := UInt<2>(3) - wire T_185406 : UInt<2>[1] - T_185406[0] := UInt<2>(3) - wire T_185407 : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>} - T_185407.state := T_185396 - wire T_185408 : UInt<3>[3] - T_185408[0] := UInt<3>(0) - T_185408[1] := UInt<3>(1) - T_185408[2] := UInt<3>(2) - wire T_185409 : UInt<2>[2] - T_185409[0] := UInt<2>(0) - T_185409[1] := UInt<2>(1) - wire T_185410 : UInt<2>[3] - T_185410[0] := UInt<2>(1) - T_185410[1] := UInt<2>(2) - T_185410[2] := UInt<2>(3) - wire T_185411 : UInt<2>[2] - T_185411[0] := UInt<2>(2) - T_185411[1] := UInt<2>(3) - wire T_185412 : UInt<2>[1] - T_185412[0] := UInt<2>(3) - wire T_185413 : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>} - T_185413 := new_coh_state - when T_185383 : T_185413 := T_185407 - meta_write.bits.data.coh := T_185413 - meta_write.bits.data.tag := tag - meta_write.bits.way_en := req.way_en - node T_185414 = eq(state, UInt<4>(1)) - wb_req.valid := T_185414 - node T_185415 = cat(req.old_meta.tag, req_idx) - node T_185416 = eq(T_185208[0], req.old_meta.coh.state) - node T_185417 = or(UInt<1>(0), T_185416) - wire T_185418 : UInt<3> - T_185418 := UInt<3>(3) - when T_185417 : T_185418 := UInt<3>(0) - wire T_185419 : UInt<3> - T_185419 := UInt<3>(4) - when T_185417 : T_185419 := UInt<3>(1) - wire T_185420 : UInt<3> - T_185420 := UInt<3>(5) - when T_185417 : T_185420 := UInt<3>(2) - node T_185421 = eq(UInt<5>(19), UInt<5>(16)) - wire T_185422 : UInt<3> - T_185422 := UInt<3>(5) - when T_185421 : T_185422 := T_185420 - node T_185423 = eq(UInt<5>(17), UInt<5>(16)) - wire T_185424 : UInt<3> - T_185424 := T_185422 - when T_185423 : T_185424 := T_185419 - node T_185425 = eq(UInt<5>(16), UInt<5>(16)) - wire T_185426 : UInt<3> - T_185426 := T_185424 - when T_185425 : T_185426 := T_185418 - wire T_185427 : UInt<3>[3] - T_185427[0] := UInt<3>(0) - T_185427[1] := UInt<3>(1) - T_185427[2] := UInt<3>(2) - wire T_185428 : UInt<2>[2] - T_185428[0] := UInt<2>(0) - T_185428[1] := UInt<2>(1) - wire T_185429 : UInt<2>[3] - T_185429[0] := UInt<2>(1) - T_185429[1] := UInt<2>(2) - T_185429[2] := UInt<2>(3) - wire T_185430 : UInt<2>[2] - T_185430[0] := UInt<2>(2) - T_185430[1] := UInt<2>(3) - wire T_185431 : UInt<2>[1] - T_185431[0] := UInt<2>(3) - wire T_185432 : UInt<3>[3] - T_185432[0] := UInt<3>(0) - T_185432[1] := UInt<3>(1) - T_185432[2] := UInt<3>(2) - wire T_185433 : UInt<2>[2] - T_185433[0] := UInt<2>(0) - T_185433[1] := UInt<2>(1) - wire T_185434 : UInt<2>[3] - T_185434[0] := UInt<2>(1) - T_185434[1] := UInt<2>(2) - T_185434[2] := UInt<2>(3) - wire T_185435 : UInt<2>[2] - T_185435[0] := UInt<2>(2) - T_185435[1] := UInt<2>(3) - wire T_185436 : UInt<2>[1] - T_185436[0] := UInt<2>(3) - wire T_185437 : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>} - T_185437.r_type := T_185426 - T_185437.client_xact_id := UInt<1>(1) - T_185437.addr_block := T_185415 - T_185437.addr_beat := UInt<1>(0) - T_185437.data := UInt<1>(0) - T_185437.voluntary := UInt<1>(1) - wb_req.bits := T_185437 - wb_req.bits.way_en := req.way_en - node T_185438 = eq(state, UInt<4>(4)) - mem_req.valid := T_185438 - node T_185439 = cat(tag, req_idx) - node T_185440 = eq(req.cmd, UInt<5>(1)) - node T_185441 = eq(req.cmd, UInt<5>(7)) - node T_185442 = or(T_185440, T_185441) - node T_185443 = bit(req.cmd, 3) - node T_185444 = eq(req.cmd, UInt<5>(4)) - node T_185445 = or(T_185443, T_185444) - node T_185446 = or(T_185442, T_185445) - node T_185447 = eq(req.cmd, UInt<5>(3)) - node T_185448 = or(T_185446, T_185447) - node T_185449 = eq(req.cmd, UInt<5>(6)) - node T_185450 = or(T_185448, T_185449) - wire T_185451 : UInt<1> - T_185451 := UInt<1>(0) - when T_185450 : T_185451 := UInt<1>(1) - node T_185452 = cat(req.cmd, UInt<1>(1)) - wire T_185453 : UInt<3>[3] - T_185453[0] := UInt<3>(0) - T_185453[1] := UInt<3>(1) - T_185453[2] := UInt<3>(2) - wire T_185454 : UInt<2>[2] - T_185454[0] := UInt<2>(0) - T_185454[1] := UInt<2>(1) - wire T_185455 : UInt<2>[3] - T_185455[0] := UInt<2>(1) - T_185455[1] := UInt<2>(2) - T_185455[2] := UInt<2>(3) - wire T_185456 : UInt<2>[2] - T_185456[0] := UInt<2>(2) - T_185456[1] := UInt<2>(3) - wire T_185457 : UInt<2>[1] - T_185457[0] := UInt<2>(3) - wire T_185458 : UInt<3>[3] - T_185458[0] := UInt<3>(0) - T_185458[1] := UInt<3>(1) - T_185458[2] := UInt<3>(2) - wire T_185459 : UInt<2>[2] - T_185459[0] := UInt<2>(0) - T_185459[1] := UInt<2>(1) - wire T_185460 : UInt<2>[3] - T_185460[0] := UInt<2>(1) - T_185460[1] := UInt<2>(2) - T_185460[2] := UInt<2>(3) - wire T_185461 : UInt<2>[2] - T_185461[0] := UInt<2>(2) - T_185461[1] := UInt<2>(3) - wire T_185462 : UInt<2>[1] - T_185462[0] := UInt<2>(3) - wire T_185463 : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>} - T_185463.is_builtin_type := UInt<1>(0) - T_185463.a_type := T_185451 - T_185463.client_xact_id := UInt<1>(1) - T_185463.addr_block := T_185439 - T_185463.addr_beat := UInt<1>(0) - T_185463.data := UInt<1>(0) - T_185463.union := T_185452 - mem_req.bits := T_185463 - node T_185464 = eq(state, UInt<4>(8)) - meta_read.valid := T_185464 - meta_read.bits.idx := req_idx - meta_read.bits.tag := tag - node T_185465 = eq(state, UInt<4>(8)) - node T_185466 = and(T_185465, rpq.deq.valid) - replay.valid := T_185466 - replay.bits := rpq.deq.bits - replay.bits.phys := UInt<1>(1) - node T_185467 = bits(rpq.deq.bits.addr, 5, 0) - node T_185468 = cat(req_idx, T_185467) - node T_185469 = cat(tag, T_185468) - replay.bits.addr := T_185469 - - node T_185470 = eq(meta_read.ready, UInt<1>(0)) - when T_185470 : - rpq.deq.ready := UInt<1>(0) - replay.bits.cmd := UInt<5>(5) - module MSHRFile : - input req : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<40>, tag : UInt<8>, cmd : UInt<5>, typ : UInt<3>, kill : UInt<1>, phys : UInt<1>, data : UInt<64>, tag_match : UInt<1>, old_meta : {tag : UInt<20>, coh : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}, way_en : UInt<4>}} - output secondary_miss : UInt<1> - output mem_req : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}} - output refill : {way_en : UInt<4>, addr : UInt<12>} - output meta_read : {flip ready : UInt<1>, valid : UInt<1>, bits : {idx : UInt<6>, tag : UInt<20>}} - output meta_write : {flip ready : UInt<1>, valid : UInt<1>, bits : {idx : UInt<6>, way_en : UInt<4>, data : {tag : UInt<20>, coh : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}}} - output replay : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<40>, tag : UInt<8>, cmd : UInt<5>, typ : UInt<3>, kill : UInt<1>, phys : UInt<1>, data : UInt<64>}} - input mem_grant : {valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}} - output wb_req : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>, way_en : UInt<4>}} - output probe_rdy : UInt<1> - output fence_rdy : UInt<1> - - wire T_185471 : UInt<3>[3] - T_185471[0] := UInt<3>(0) - T_185471[1] := UInt<3>(1) - T_185471[2] := UInt<3>(2) - wire T_185472 : UInt<2>[2] - T_185472[0] := UInt<2>(0) - T_185472[1] := UInt<2>(1) - wire T_185473 : UInt<2>[3] - T_185473[0] := UInt<2>(1) - T_185473[1] := UInt<2>(2) - T_185473[2] := UInt<2>(3) - wire T_185474 : UInt<2>[2] - T_185474[0] := UInt<2>(2) - T_185474[1] := UInt<2>(3) - wire T_185475 : UInt<2>[1] - T_185475[0] := UInt<2>(3) - wire T_185476 : UInt<3>[3] - T_185476[0] := UInt<3>(0) - T_185476[1] := UInt<3>(1) - T_185476[2] := UInt<3>(2) - wire T_185477 : UInt<2>[2] - T_185477[0] := UInt<2>(0) - T_185477[1] := UInt<2>(1) - wire T_185478 : UInt<2>[3] - T_185478[0] := UInt<2>(1) - T_185478[1] := UInt<2>(2) - T_185478[2] := UInt<2>(3) - wire T_185479 : UInt<2>[2] - T_185479[0] := UInt<2>(2) - T_185479[1] := UInt<2>(3) - wire T_185480 : UInt<2>[1] - T_185480[0] := UInt<2>(3) - wire T_185481 : UInt<3>[3] - T_185481[0] := UInt<3>(0) - T_185481[1] := UInt<3>(1) - T_185481[2] := UInt<3>(2) - wire T_185482 : UInt<2>[2] - T_185482[0] := UInt<2>(0) - T_185482[1] := UInt<2>(1) - wire T_185483 : UInt<2>[3] - T_185483[0] := UInt<2>(1) - T_185483[1] := UInt<2>(2) - T_185483[2] := UInt<2>(3) - wire T_185484 : UInt<2>[2] - T_185484[0] := UInt<2>(2) - T_185484[1] := UInt<2>(3) - wire T_185485 : UInt<2>[1] - T_185485[0] := UInt<2>(3) - wire T_185486 : UInt<3>[3] - T_185486[0] := UInt<3>(0) - T_185486[1] := UInt<3>(1) - T_185486[2] := UInt<3>(2) - wire T_185487 : UInt<2>[2] - T_185487[0] := UInt<2>(0) - T_185487[1] := UInt<2>(1) - wire T_185488 : UInt<2>[3] - T_185488[0] := UInt<2>(1) - T_185488[1] := UInt<2>(2) - T_185488[2] := UInt<2>(3) - wire T_185489 : UInt<2>[2] - T_185489[0] := UInt<2>(2) - T_185489[1] := UInt<2>(3) - wire T_185490 : UInt<2>[1] - T_185490[0] := UInt<2>(3) - wire T_185491 : UInt<3>[3] - T_185491[0] := UInt<3>(0) - T_185491[1] := UInt<3>(1) - T_185491[2] := UInt<3>(2) - wire T_185492 : UInt<2>[2] - T_185492[0] := UInt<2>(0) - T_185492[1] := UInt<2>(1) - wire T_185493 : UInt<2>[3] - T_185493[0] := UInt<2>(1) - T_185493[1] := UInt<2>(2) - T_185493[2] := UInt<2>(3) - wire T_185494 : UInt<2>[2] - T_185494[0] := UInt<2>(2) - T_185494[1] := UInt<2>(3) - wire T_185495 : UInt<2>[1] - T_185495[0] := UInt<2>(3) - wire T_185496 : UInt<3>[3] - T_185496[0] := UInt<3>(0) - T_185496[1] := UInt<3>(1) - T_185496[2] := UInt<3>(2) - wire T_185497 : UInt<2>[2] - T_185497[0] := UInt<2>(0) - T_185497[1] := UInt<2>(1) - wire T_185498 : UInt<2>[3] - T_185498[0] := UInt<2>(1) - T_185498[1] := UInt<2>(2) - T_185498[2] := UInt<2>(3) - wire T_185499 : UInt<2>[2] - T_185499[0] := UInt<2>(2) - T_185499[1] := UInt<2>(3) - wire T_185500 : UInt<2>[1] - T_185500[0] := UInt<2>(3) - wire T_185501 : UInt<3>[3] - T_185501[0] := UInt<3>(0) - T_185501[1] := UInt<3>(1) - T_185501[2] := UInt<3>(2) - wire T_185502 : UInt<2>[2] - T_185502[0] := UInt<2>(0) - T_185502[1] := UInt<2>(1) - wire T_185503 : UInt<2>[3] - T_185503[0] := UInt<2>(1) - T_185503[1] := UInt<2>(2) - T_185503[2] := UInt<2>(3) - wire T_185504 : UInt<2>[2] - T_185504[0] := UInt<2>(2) - T_185504[1] := UInt<2>(3) - wire T_185505 : UInt<2>[1] - T_185505[0] := UInt<2>(3) - wire T_185506 : UInt<3>[3] - T_185506[0] := UInt<3>(0) - T_185506[1] := UInt<3>(1) - T_185506[2] := UInt<3>(2) - wire T_185507 : UInt<2>[2] - T_185507[0] := UInt<2>(0) - T_185507[1] := UInt<2>(1) - wire T_185508 : UInt<2>[3] - T_185508[0] := UInt<2>(1) - T_185508[1] := UInt<2>(2) - T_185508[2] := UInt<2>(3) - wire T_185509 : UInt<2>[2] - T_185509[0] := UInt<2>(2) - T_185509[1] := UInt<2>(3) - wire T_185510 : UInt<2>[1] - T_185510[0] := UInt<2>(3) - wire T_185511 : UInt<3>[3] - T_185511[0] := UInt<3>(0) - T_185511[1] := UInt<3>(1) - T_185511[2] := UInt<3>(2) - wire T_185512 : UInt<2>[2] - T_185512[0] := UInt<2>(0) - T_185512[1] := UInt<2>(1) - wire T_185513 : UInt<2>[3] - T_185513[0] := UInt<2>(1) - T_185513[1] := UInt<2>(2) - T_185513[2] := UInt<2>(3) - wire T_185514 : UInt<2>[2] - T_185514[0] := UInt<2>(2) - T_185514[1] := UInt<2>(3) - wire T_185515 : UInt<2>[1] - T_185515[0] := UInt<2>(3) - wire T_185516 : UInt<3>[3] - T_185516[0] := UInt<3>(0) - T_185516[1] := UInt<3>(1) - T_185516[2] := UInt<3>(2) - wire T_185517 : UInt<2>[2] - T_185517[0] := UInt<2>(0) - T_185517[1] := UInt<2>(1) - wire T_185518 : UInt<2>[3] - T_185518[0] := UInt<2>(1) - T_185518[1] := UInt<2>(2) - T_185518[2] := UInt<2>(3) - wire T_185519 : UInt<2>[2] - T_185519[0] := UInt<2>(2) - T_185519[1] := UInt<2>(3) - wire T_185520 : UInt<2>[1] - T_185520[0] := UInt<2>(3) - wire T_185521 : UInt<3>[3] - T_185521[0] := UInt<3>(0) - T_185521[1] := UInt<3>(1) - T_185521[2] := UInt<3>(2) - wire T_185522 : UInt<2>[2] - T_185522[0] := UInt<2>(0) - T_185522[1] := UInt<2>(1) - wire T_185523 : UInt<2>[3] - T_185523[0] := UInt<2>(1) - T_185523[1] := UInt<2>(2) - T_185523[2] := UInt<2>(3) - wire T_185524 : UInt<2>[2] - T_185524[0] := UInt<2>(2) - T_185524[1] := UInt<2>(3) - wire T_185525 : UInt<2>[1] - T_185525[0] := UInt<2>(3) - reg sdq_val : UInt<17> - onreset sdq_val := UInt<17>(0) - node T_185526 = bits(sdq_val, 16, 0) - node T_185527 = not(T_185526) - node T_185528 = bit(T_185527, 0) - node T_185529 = bit(T_185527, 1) - node T_185530 = bit(T_185527, 2) - node T_185531 = bit(T_185527, 3) - node T_185532 = bit(T_185527, 4) - node T_185533 = bit(T_185527, 5) - node T_185534 = bit(T_185527, 6) - node T_185535 = bit(T_185527, 7) - node T_185536 = bit(T_185527, 8) - node T_185537 = bit(T_185527, 9) - node T_185538 = bit(T_185527, 10) - node T_185539 = bit(T_185527, 11) - node T_185540 = bit(T_185527, 12) - node T_185541 = bit(T_185527, 13) - node T_185542 = bit(T_185527, 14) - node T_185543 = bit(T_185527, 15) - node T_185544 = bit(T_185527, 16) - wire T_185545 : UInt<1>[17] - T_185545[0] := T_185528 - T_185545[1] := T_185529 - T_185545[2] := T_185530 - T_185545[3] := T_185531 - T_185545[4] := T_185532 - T_185545[5] := T_185533 - T_185545[6] := T_185534 - T_185545[7] := T_185535 - T_185545[8] := T_185536 - T_185545[9] := T_185537 - T_185545[10] := T_185538 - T_185545[11] := T_185539 - T_185545[12] := T_185540 - T_185545[13] := T_185541 - T_185545[14] := T_185542 - T_185545[15] := T_185543 - T_185545[16] := T_185544 - wire T_185546 : UInt<5> - T_185546 := UInt<5>(16) - when T_185545[15] : T_185546 := UInt<4>(15) - wire T_185547 : UInt<5> - T_185547 := T_185546 - when T_185545[14] : T_185547 := UInt<4>(14) - wire T_185548 : UInt<5> - T_185548 := T_185547 - when T_185545[13] : T_185548 := UInt<4>(13) - wire T_185549 : UInt<5> - T_185549 := T_185548 - when T_185545[12] : T_185549 := UInt<4>(12) - wire T_185550 : UInt<5> - T_185550 := T_185549 - when T_185545[11] : T_185550 := UInt<4>(11) - wire T_185551 : UInt<5> - T_185551 := T_185550 - when T_185545[10] : T_185551 := UInt<4>(10) - wire T_185552 : UInt<5> - T_185552 := T_185551 - when T_185545[9] : T_185552 := UInt<4>(9) - wire T_185553 : UInt<5> - T_185553 := T_185552 - when T_185545[8] : T_185553 := UInt<4>(8) - wire T_185554 : UInt<5> - T_185554 := T_185553 - when T_185545[7] : T_185554 := UInt<3>(7) - wire T_185555 : UInt<5> - T_185555 := T_185554 - when T_185545[6] : T_185555 := UInt<3>(6) - wire T_185556 : UInt<5> - T_185556 := T_185555 - when T_185545[5] : T_185556 := UInt<3>(5) - wire T_185557 : UInt<5> - T_185557 := T_185556 - when T_185545[4] : T_185557 := UInt<3>(4) - wire T_185558 : UInt<5> - T_185558 := T_185557 - when T_185545[3] : T_185558 := UInt<2>(3) - wire T_185559 : UInt<5> - T_185559 := T_185558 - when T_185545[2] : T_185559 := UInt<2>(2) - wire T_185560 : UInt<5> - T_185560 := T_185559 - when T_185545[1] : T_185560 := UInt<1>(1) - wire sdq_alloc_id : UInt<5> - sdq_alloc_id := T_185560 - when T_185545[0] : sdq_alloc_id := UInt<1>(0) - node T_185561 = eq(sdq_val, UInt<1>(-1)) - node sdq_rdy = eq(T_185561, UInt<1>(0)) - node T_185562 = and(req.valid, req.ready) - node T_185563 = eq(req.bits.cmd, UInt<5>(1)) - node T_185564 = eq(req.bits.cmd, UInt<5>(7)) - node T_185565 = or(T_185563, T_185564) - node T_185566 = bit(req.bits.cmd, 3) - node T_185567 = eq(req.bits.cmd, UInt<5>(4)) - node T_185568 = or(T_185566, T_185567) - node T_185569 = or(T_185565, T_185568) - node sdq_enq = and(T_185562, T_185569) - cmem sdq : UInt<64>[17] - when sdq_enq : - accessor T_185570 = sdq[sdq_alloc_id] - T_185570 := req.bits.data - wire idxMatch : UInt<1>[2] - wire tagList : UInt[2] - wire T_185571 : UInt<1> - T_185571 := UInt<1>(0) - when idxMatch[0] : T_185571 := tagList[0] - wire T_185572 : UInt<1> - T_185572 := UInt<1>(0) - when idxMatch[1] : T_185572 := tagList[1] - node T_185573 = or(T_185571, T_185572) - wire T_185574 : UInt - node T_185575 = bits(T_185573, -2, 0) - T_185574 := T_185575 - node T_185576 = shr(req.bits.addr, 12) - node tag_match = eq(T_185574, T_185576) - wire wbTagList : UInt[2] - wire refillMux : {way_en : UInt<4>, addr : UInt<12>}[2] - inst meta_read_arb of Arbiter_135527 - wire T_185577 : UInt<3>[3] - T_185577[0] := UInt<3>(0) - T_185577[1] := UInt<3>(1) - T_185577[2] := UInt<3>(2) - wire T_185578 : UInt<2>[2] - T_185578[0] := UInt<2>(0) - T_185578[1] := UInt<2>(1) - wire T_185579 : UInt<2>[3] - T_185579[0] := UInt<2>(1) - T_185579[1] := UInt<2>(2) - T_185579[2] := UInt<2>(3) - wire T_185580 : UInt<2>[2] - T_185580[0] := UInt<2>(2) - T_185580[1] := UInt<2>(3) - wire T_185581 : UInt<2>[1] - T_185581[0] := UInt<2>(3) - wire T_185582 : UInt<3>[3] - T_185582[0] := UInt<3>(0) - T_185582[1] := UInt<3>(1) - T_185582[2] := UInt<3>(2) - wire T_185583 : UInt<2>[2] - T_185583[0] := UInt<2>(0) - T_185583[1] := UInt<2>(1) - wire T_185584 : UInt<2>[3] - T_185584[0] := UInt<2>(1) - T_185584[1] := UInt<2>(2) - T_185584[2] := UInt<2>(3) - wire T_185585 : UInt<2>[2] - T_185585[0] := UInt<2>(2) - T_185585[1] := UInt<2>(3) - wire T_185586 : UInt<2>[1] - T_185586[0] := UInt<2>(3) - inst meta_write_arb of Arbiter_136117 - wire T_185587 : UInt<3>[3] - T_185587[0] := UInt<3>(0) - T_185587[1] := UInt<3>(1) - T_185587[2] := UInt<3>(2) - wire T_185588 : UInt<2>[2] - T_185588[0] := UInt<2>(0) - T_185588[1] := UInt<2>(1) - wire T_185589 : UInt<2>[3] - T_185589[0] := UInt<2>(1) - T_185589[1] := UInt<2>(2) - T_185589[2] := UInt<2>(3) - wire T_185590 : UInt<2>[2] - T_185590[0] := UInt<2>(2) - T_185590[1] := UInt<2>(3) - wire T_185591 : UInt<2>[1] - T_185591[0] := UInt<2>(3) - inst mem_req_arb of LockingArbiter - wire T_185592 : UInt<3>[3] - T_185592[0] := UInt<3>(0) - T_185592[1] := UInt<3>(1) - T_185592[2] := UInt<3>(2) - wire T_185593 : UInt<2>[2] - T_185593[0] := UInt<2>(0) - T_185593[1] := UInt<2>(1) - wire T_185594 : UInt<2>[3] - T_185594[0] := UInt<2>(1) - T_185594[1] := UInt<2>(2) - T_185594[2] := UInt<2>(3) - wire T_185595 : UInt<2>[2] - T_185595[0] := UInt<2>(2) - T_185595[1] := UInt<2>(3) - wire T_185596 : UInt<2>[1] - T_185596[0] := UInt<2>(3) - inst wb_req_arb of Arbiter_137146 - inst replay_arb of Arbiter_137247 - inst alloc_arb of Arbiter_137299 - fence_rdy := UInt<1>(1) - probe_rdy := UInt<1>(1) - inst T_185597 of MSHR - idxMatch[0] := T_185597.idx_match - tagList[0] := T_185597.tag - node T_185598 = dshr(T_185597.wb_req.bits.addr_block, UInt<3>(6)) - wbTagList[0] := T_185598 - alloc_arb.in[0].valid := T_185597.req_pri_rdy - T_185597.req_pri_val := alloc_arb.in[0].ready - node T_185599 = and(req.valid, sdq_rdy) - node T_185600 = and(T_185599, tag_match) - T_185597.req_sec_val := T_185600 - T_185597.req_bits := req.bits - T_185597.req_bits.sdq_id := sdq_alloc_id - T_185597.meta_read <> meta_read_arb.in[0] - T_185597.meta_write <> meta_write_arb.in[0] - T_185597.mem_req <> mem_req_arb.in[0] - T_185597.wb_req <> wb_req_arb.in[0] - T_185597.replay <> replay_arb.in[0] - node T_185601 = eq(mem_grant.bits.client_xact_id, UInt<1>(0)) - node T_185602 = and(mem_grant.valid, T_185601) - T_185597.mem_grant.valid := T_185602 - T_185597.mem_grant.bits := mem_grant.bits - refillMux[0] := T_185597.refill - node T_185603 = or(UInt<1>(0), T_185597.req_pri_rdy) - node T_185604 = or(UInt<1>(0), T_185597.req_sec_rdy) - node T_185605 = or(UInt<1>(0), T_185597.idx_match) - - node T_185606 = eq(T_185597.req_pri_rdy, UInt<1>(0)) - when T_185606 : fence_rdy := UInt<1>(0) - - node T_185607 = eq(T_185597.probe_rdy, UInt<1>(0)) - when T_185607 : probe_rdy := UInt<1>(0) - inst T_185608 of MSHR_141857 - idxMatch[1] := T_185608.idx_match - tagList[1] := T_185608.tag - node T_185609 = dshr(T_185608.wb_req.bits.addr_block, UInt<3>(6)) - wbTagList[1] := T_185609 - alloc_arb.in[1].valid := T_185608.req_pri_rdy - T_185608.req_pri_val := alloc_arb.in[1].ready - node T_185610 = and(req.valid, sdq_rdy) - node T_185611 = and(T_185610, tag_match) - T_185608.req_sec_val := T_185611 - T_185608.req_bits := req.bits - T_185608.req_bits.sdq_id := sdq_alloc_id - T_185608.meta_read <> meta_read_arb.in[1] - T_185608.meta_write <> meta_write_arb.in[1] - T_185608.mem_req <> mem_req_arb.in[1] - T_185608.wb_req <> wb_req_arb.in[1] - T_185608.replay <> replay_arb.in[1] - node T_185612 = eq(mem_grant.bits.client_xact_id, UInt<1>(1)) - node T_185613 = and(mem_grant.valid, T_185612) - T_185608.mem_grant.valid := T_185613 - T_185608.mem_grant.bits := mem_grant.bits - refillMux[1] := T_185608.refill - node pri_rdy = or(T_185603, T_185608.req_pri_rdy) - node sec_rdy = or(T_185604, T_185608.req_sec_rdy) - node idx_match = or(T_185605, T_185608.idx_match) - - node T_185614 = eq(T_185608.req_pri_rdy, UInt<1>(0)) - when T_185614 : fence_rdy := UInt<1>(0) - - node T_185615 = eq(T_185608.probe_rdy, UInt<1>(0)) - when T_185615 : probe_rdy := UInt<1>(0) - node T_185616 = and(req.valid, sdq_rdy) - node T_185617 = eq(idx_match, UInt<1>(0)) - node T_185618 = and(T_185616, T_185617) - alloc_arb.out.ready := T_185618 - meta_read_arb.out <> meta_read - meta_write_arb.out <> meta_write - mem_req_arb.out <> mem_req - wb_req_arb.out <> wb_req - node T_185619 = and(tag_match, sec_rdy) - wire T_185620 : UInt<1> - T_185620 := pri_rdy - when idx_match : T_185620 := T_185619 - node T_185621 = and(T_185620, sdq_rdy) - req.ready := T_185621 - secondary_miss := idx_match - accessor T_185622 = refillMux[mem_grant.bits.client_xact_id] - refill := T_185622 - node T_185623 = and(replay.ready, replay.valid) - node T_185624 = eq(replay.bits.cmd, UInt<5>(1)) - node T_185625 = eq(replay.bits.cmd, UInt<5>(7)) - node T_185626 = or(T_185624, T_185625) - node T_185627 = bit(replay.bits.cmd, 3) - node T_185628 = eq(replay.bits.cmd, UInt<5>(4)) - node T_185629 = or(T_185627, T_185628) - node T_185630 = or(T_185626, T_185629) - node free_sdq = and(T_185623, T_185630) - reg T_185631 : UInt<5> - when free_sdq : T_185631 := replay_arb.out.bits.sdq_id - accessor T_185632 = sdq[T_185631] - replay.bits.data := T_185632 - replay <> replay_arb.out - - node T_185633 = or(replay.valid, sdq_enq) - when T_185633 : - node T_185634 = dshl(UInt<1>(1), replay_arb.out.bits.sdq_id) - node T_185635 = subw(UInt<17>(0), UInt<5>(17)) - node T_185636 = and(T_185634, T_185635) - node T_185637 = not(T_185636) - node T_185638 = and(sdq_val, T_185637) - node T_185639 = bits(sdq_val, 16, 0) - node T_185640 = not(T_185639) - node T_185641 = bit(T_185640, 0) - node T_185642 = bit(T_185640, 1) - node T_185643 = bit(T_185640, 2) - node T_185644 = bit(T_185640, 3) - node T_185645 = bit(T_185640, 4) - node T_185646 = bit(T_185640, 5) - node T_185647 = bit(T_185640, 6) - node T_185648 = bit(T_185640, 7) - node T_185649 = bit(T_185640, 8) - node T_185650 = bit(T_185640, 9) - node T_185651 = bit(T_185640, 10) - node T_185652 = bit(T_185640, 11) - node T_185653 = bit(T_185640, 12) - node T_185654 = bit(T_185640, 13) - node T_185655 = bit(T_185640, 14) - node T_185656 = bit(T_185640, 15) - node T_185657 = bit(T_185640, 16) - wire T_185658 : UInt<17>[17] - T_185658[0] := UInt<17>(1) - T_185658[1] := UInt<17>(2) - T_185658[2] := UInt<17>(4) - T_185658[3] := UInt<17>(8) - T_185658[4] := UInt<17>(16) - T_185658[5] := UInt<17>(32) - T_185658[6] := UInt<17>(64) - T_185658[7] := UInt<17>(128) - T_185658[8] := UInt<17>(256) - T_185658[9] := UInt<17>(512) - T_185658[10] := UInt<17>(1024) - T_185658[11] := UInt<17>(2048) - T_185658[12] := UInt<17>(4096) - T_185658[13] := UInt<17>(8192) - T_185658[14] := UInt<17>(16384) - T_185658[15] := UInt<17>(32768) - T_185658[16] := UInt<17>(65536) - wire T_185659 : UInt<17> - T_185659 := UInt<17>(0) - when T_185657 : T_185659 := T_185658[16] - wire T_185660 : UInt<17> - T_185660 := T_185659 - when T_185656 : T_185660 := T_185658[15] - wire T_185661 : UInt<17> - T_185661 := T_185660 - when T_185655 : T_185661 := T_185658[14] - wire T_185662 : UInt<17> - T_185662 := T_185661 - when T_185654 : T_185662 := T_185658[13] - wire T_185663 : UInt<17> - T_185663 := T_185662 - when T_185653 : T_185663 := T_185658[12] - wire T_185664 : UInt<17> - T_185664 := T_185663 - when T_185652 : T_185664 := T_185658[11] - wire T_185665 : UInt<17> - T_185665 := T_185664 - when T_185651 : T_185665 := T_185658[10] - wire T_185666 : UInt<17> - T_185666 := T_185665 - when T_185650 : T_185666 := T_185658[9] - wire T_185667 : UInt<17> - T_185667 := T_185666 - when T_185649 : T_185667 := T_185658[8] - wire T_185668 : UInt<17> - T_185668 := T_185667 - when T_185648 : T_185668 := T_185658[7] - wire T_185669 : UInt<17> - T_185669 := T_185668 - when T_185647 : T_185669 := T_185658[6] - wire T_185670 : UInt<17> - T_185670 := T_185669 - when T_185646 : T_185670 := T_185658[5] - wire T_185671 : UInt<17> - T_185671 := T_185670 - when T_185645 : T_185671 := T_185658[4] - wire T_185672 : UInt<17> - T_185672 := T_185671 - when T_185644 : T_185672 := T_185658[3] - wire T_185673 : UInt<17> - T_185673 := T_185672 - when T_185643 : T_185673 := T_185658[2] - wire T_185674 : UInt<17> - T_185674 := T_185673 - when T_185642 : T_185674 := T_185658[1] - wire T_185675 : UInt<17> - T_185675 := T_185674 - when T_185641 : T_185675 := T_185658[0] - node T_185676 = subw(UInt<17>(0), UInt<5>(17)) - node T_185677 = and(T_185675, T_185676) - node T_185678 = or(T_185638, T_185677) - sdq_val := T_185678 - module RocketCAM_142285 : - input clear : UInt<1> - input clear_mask : UInt<8> - input tag : UInt<34> - output hit : UInt<1> - output hits : UInt<8> - output valid_bits : UInt<8> - input write : UInt<1> - input write_tag : UInt<34> - input write_addr : UInt<3> - - cmem cam_tags : UInt<34>[8] - reg vb_array : UInt<8> - onreset vb_array := UInt<8>(0) - when write : - node T_185679 = dshl(UInt<1>(1), write_addr) - node T_185680 = or(vb_array, T_185679) - node T_185681 = not(vb_array) - node T_185682 = or(T_185681, T_185679) - node T_185683 = not(T_185682) - wire T_185684 : UInt<9> - T_185684 := T_185683 - when UInt<1>(1) : T_185684 := T_185680 - vb_array := T_185684 - accessor T_185685 = cam_tags[write_addr] - T_185685 := write_tag - when clear : - node T_185686 = not(clear_mask) - node T_185687 = and(vb_array, T_185686) - vb_array := T_185687 - node T_185688 = bit(vb_array, 0) - accessor T_185689 = cam_tags[UInt<1>(0)] - node T_185690 = eq(T_185689, tag) - node T_185691 = and(T_185688, T_185690) - node T_185692 = bit(vb_array, 1) - accessor T_185693 = cam_tags[UInt<1>(1)] - node T_185694 = eq(T_185693, tag) - node T_185695 = and(T_185692, T_185694) - node T_185696 = bit(vb_array, 2) - accessor T_185697 = cam_tags[UInt<2>(2)] - node T_185698 = eq(T_185697, tag) - node T_185699 = and(T_185696, T_185698) - node T_185700 = bit(vb_array, 3) - accessor T_185701 = cam_tags[UInt<2>(3)] - node T_185702 = eq(T_185701, tag) - node T_185703 = and(T_185700, T_185702) - node T_185704 = bit(vb_array, 4) - accessor T_185705 = cam_tags[UInt<3>(4)] - node T_185706 = eq(T_185705, tag) - node T_185707 = and(T_185704, T_185706) - node T_185708 = bit(vb_array, 5) - accessor T_185709 = cam_tags[UInt<3>(5)] - node T_185710 = eq(T_185709, tag) - node T_185711 = and(T_185708, T_185710) - node T_185712 = bit(vb_array, 6) - accessor T_185713 = cam_tags[UInt<3>(6)] - node T_185714 = eq(T_185713, tag) - node T_185715 = and(T_185712, T_185714) - node T_185716 = bit(vb_array, 7) - accessor T_185717 = cam_tags[UInt<3>(7)] - node T_185718 = eq(T_185717, tag) - node T_185719 = and(T_185716, T_185718) - valid_bits := vb_array - wire T_185720 : UInt<1>[8] - T_185720[0] := T_185691 - T_185720[1] := T_185695 - T_185720[2] := T_185699 - T_185720[3] := T_185703 - T_185720[4] := T_185707 - T_185720[5] := T_185711 - T_185720[6] := T_185715 - T_185720[7] := T_185719 - node T_185721 = cat(T_185720[7], T_185720[6]) - node T_185722 = cat(T_185720[5], T_185720[4]) - node T_185723 = cat(T_185721, T_185722) - node T_185724 = cat(T_185720[3], T_185720[2]) - node T_185725 = cat(T_185720[1], T_185720[0]) - node T_185726 = cat(T_185724, T_185725) - node T_185727 = cat(T_185723, T_185726) - hits := T_185727 - node T_185728 = eq(hits, UInt<1>(0)) - node T_185729 = eq(T_185728, UInt<1>(0)) - hit := T_185729 - module TLB_142822 : - input req : {flip ready : UInt<1>, valid : UInt<1>, bits : {asid : UInt<7>, vpn : UInt<28>, passthrough : UInt<1>, instruction : UInt<1>, store : UInt<1>}} - output resp : {miss : UInt<1>, ppn : UInt<20>, xcpt_ld : UInt<1>, xcpt_st : UInt<1>, xcpt_if : UInt<1>, hit_idx : UInt<8>} - output ptw : {req : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<27>, prv : UInt<2>, store : UInt<1>, fetch : UInt<1>}}, flip resp : {valid : UInt<1>, bits : {error : UInt<1>, pte : {ppn : UInt<20>, reserved_for_software : UInt<3>, d : UInt<1>, r : UInt<1>, typ : UInt<4>, v : UInt<1>}}}, flip status : {sd : UInt<1>, zero2 : UInt<31>, sd_rv32 : UInt<1>, zero1 : UInt<9>, vm : UInt<5>, mprv : UInt<1>, xs : UInt<2>, fs : UInt<2>, prv3 : UInt<2>, ie3 : UInt<1>, prv2 : UInt<2>, ie2 : UInt<1>, prv1 : UInt<2>, ie1 : UInt<1>, prv : UInt<2>, ie : UInt<1>}, flip invalidate : UInt<1>} - - reg state : UInt<2> - onreset state := UInt<2>(0) - reg r_refill_tag : UInt - reg r_refill_waddr : UInt - reg r_req : {asid : UInt<7>, vpn : UInt<28>, passthrough : UInt<1>, instruction : UInt<1>, store : UInt<1>} - inst tag_cam of RocketCAM_142285 - cmem tag_ram : UInt<20>[8] - node lookup_tag = cat(req.bits.asid, req.bits.vpn) - tag_cam.tag := lookup_tag - node T_185730 = eq(state, UInt<2>(2)) - node T_185731 = and(T_185730, ptw.resp.valid) - tag_cam.write := T_185731 - tag_cam.write_tag := r_refill_tag - tag_cam.write_addr := r_refill_waddr - node T_185732 = bits(tag_cam.hits, 7, 4) - node T_185733 = bits(tag_cam.hits, 3, 0) - node T_185734 = eq(T_185732, UInt<1>(0)) - node T_185735 = eq(T_185734, UInt<1>(0)) - node T_185736 = or(T_185732, T_185733) - node T_185737 = bits(T_185736, 3, 2) - node T_185738 = bits(T_185736, 1, 0) - node T_185739 = eq(T_185737, UInt<1>(0)) - node T_185740 = eq(T_185739, UInt<1>(0)) - node T_185741 = or(T_185737, T_185738) - node T_185742 = bit(T_185741, 1) - node T_185743 = cat(T_185740, T_185742) - node tag_hit_addr = cat(T_185735, T_185743) - reg valid_array : UInt<1>[8] - reg ur_array : UInt<1>[8] - reg uw_array : UInt<1>[8] - reg ux_array : UInt<1>[8] - reg sr_array : UInt<1>[8] - reg sw_array : UInt<1>[8] - reg sx_array : UInt<1>[8] - reg dirty_array : UInt<1>[8] - when ptw.resp.valid : - accessor T_185744 = tag_ram[r_refill_waddr] - T_185744 := ptw.resp.bits.pte.ppn - accessor T_185745 = valid_array[r_refill_waddr] - node T_185746 = eq(ptw.resp.bits.error, UInt<1>(0)) - T_185745 := T_185746 - accessor T_185747 = ur_array[r_refill_waddr] - node T_185748 = geq(ptw.resp.bits.pte.typ, UInt<2>(2)) - node T_185749 = and(ptw.resp.bits.pte.v, T_185748) - node T_185750 = lt(ptw.resp.bits.pte.typ, UInt<4>(8)) - node T_185751 = and(T_185749, T_185750) - node T_185752 = eq(ptw.resp.bits.error, UInt<1>(0)) - node T_185753 = and(T_185751, T_185752) - T_185747 := T_185753 - accessor T_185754 = uw_array[r_refill_waddr] - node T_185755 = geq(ptw.resp.bits.pte.typ, UInt<2>(2)) - node T_185756 = and(ptw.resp.bits.pte.v, T_185755) - node T_185757 = lt(ptw.resp.bits.pte.typ, UInt<4>(8)) - node T_185758 = and(T_185756, T_185757) - node T_185759 = bit(ptw.resp.bits.pte.typ, 0) - node T_185760 = and(T_185758, T_185759) - node T_185761 = eq(ptw.resp.bits.error, UInt<1>(0)) - node T_185762 = and(T_185760, T_185761) - T_185754 := T_185762 - accessor T_185763 = ux_array[r_refill_waddr] - node T_185764 = geq(ptw.resp.bits.pte.typ, UInt<2>(2)) - node T_185765 = and(ptw.resp.bits.pte.v, T_185764) - node T_185766 = lt(ptw.resp.bits.pte.typ, UInt<4>(8)) - node T_185767 = and(T_185765, T_185766) - node T_185768 = bit(ptw.resp.bits.pte.typ, 1) - node T_185769 = and(T_185767, T_185768) - node T_185770 = eq(ptw.resp.bits.error, UInt<1>(0)) - node T_185771 = and(T_185769, T_185770) - T_185763 := T_185771 - accessor T_185772 = sr_array[r_refill_waddr] - node T_185773 = geq(ptw.resp.bits.pte.typ, UInt<2>(2)) - node T_185774 = and(ptw.resp.bits.pte.v, T_185773) - node T_185775 = eq(ptw.resp.bits.error, UInt<1>(0)) - node T_185776 = and(T_185774, T_185775) - T_185772 := T_185776 - accessor T_185777 = sw_array[r_refill_waddr] - node T_185778 = geq(ptw.resp.bits.pte.typ, UInt<2>(2)) - node T_185779 = and(ptw.resp.bits.pte.v, T_185778) - node T_185780 = bit(ptw.resp.bits.pte.typ, 0) - node T_185781 = and(T_185779, T_185780) - node T_185782 = eq(ptw.resp.bits.error, UInt<1>(0)) - node T_185783 = and(T_185781, T_185782) - T_185777 := T_185783 - accessor T_185784 = sx_array[r_refill_waddr] - node T_185785 = geq(ptw.resp.bits.pte.typ, UInt<3>(4)) - node T_185786 = and(ptw.resp.bits.pte.v, T_185785) - node T_185787 = bit(ptw.resp.bits.pte.typ, 1) - node T_185788 = and(T_185786, T_185787) - node T_185789 = eq(ptw.resp.bits.error, UInt<1>(0)) - node T_185790 = and(T_185788, T_185789) - T_185784 := T_185790 - accessor T_185791 = dirty_array[r_refill_waddr] - T_185791 := ptw.resp.bits.pte.d - node T_185792 = eq(tag_cam.valid_bits, UInt<1>(-1)) - node has_invalid_entry = eq(T_185792, UInt<1>(0)) - node T_185793 = not(tag_cam.valid_bits) - node T_185794 = bit(T_185793, 0) - node T_185795 = bit(T_185793, 1) - node T_185796 = bit(T_185793, 2) - node T_185797 = bit(T_185793, 3) - node T_185798 = bit(T_185793, 4) - node T_185799 = bit(T_185793, 5) - node T_185800 = bit(T_185793, 6) - node T_185801 = bit(T_185793, 7) - wire T_185802 : UInt<1>[8] - T_185802[0] := T_185794 - T_185802[1] := T_185795 - T_185802[2] := T_185796 - T_185802[3] := T_185797 - T_185802[4] := T_185798 - T_185802[5] := T_185799 - T_185802[6] := T_185800 - T_185802[7] := T_185801 - wire T_185803 : UInt<3> - T_185803 := UInt<3>(7) - when T_185802[6] : T_185803 := UInt<3>(6) - wire T_185804 : UInt<3> - T_185804 := T_185803 - when T_185802[5] : T_185804 := UInt<3>(5) - wire T_185805 : UInt<3> - T_185805 := T_185804 - when T_185802[4] : T_185805 := UInt<3>(4) - wire T_185806 : UInt<3> - T_185806 := T_185805 - when T_185802[3] : T_185806 := UInt<2>(3) - wire T_185807 : UInt<3> - T_185807 := T_185806 - when T_185802[2] : T_185807 := UInt<2>(2) - wire T_185808 : UInt<3> - T_185808 := T_185807 - when T_185802[1] : T_185808 := UInt<1>(1) - wire invalid_entry : UInt<3> - invalid_entry := T_185808 - when T_185802[0] : invalid_entry := UInt<1>(0) - reg T_185809 : UInt<8> - node T_185810 = dshr(T_185809, UInt<1>(1)) - node T_185811 = bit(T_185810, 0) - node T_185812 = cat(UInt<1>(1), T_185811) - node T_185813 = dshr(T_185809, T_185812) - node T_185814 = bit(T_185813, 0) - node T_185815 = cat(T_185812, T_185814) - node T_185816 = dshr(T_185809, T_185815) - node T_185817 = bit(T_185816, 0) - node T_185818 = cat(T_185815, T_185817) - node T_185819 = bits(T_185818, 2, 0) - wire repl_waddr : UInt<3> - repl_waddr := T_185819 - when has_invalid_entry : repl_waddr := invalid_entry - node T_185820 = eq(req.bits.instruction, UInt<1>(0)) - node T_185821 = and(ptw.status.mprv, T_185820) - wire priv : UInt<2> - priv := ptw.status.prv - when T_185821 : priv := ptw.status.prv1 - node priv_s = eq(priv, UInt<1>(1)) - node priv_uses_vm = leq(priv, UInt<1>(1)) - node T_185822 = eq(r_req.store, UInt<1>(0)) - node T_185823 = or(r_req.instruction, r_req.store) - node T_185824 = eq(T_185823, UInt<1>(0)) - node T_185825 = cat(r_req.store, T_185824) - node req_xwr = cat(T_185822, T_185825) - node T_185826 = cat(sr_array[7], sr_array[6]) - node T_185827 = cat(sr_array[5], sr_array[4]) - node T_185828 = cat(T_185826, T_185827) - node T_185829 = cat(sr_array[3], sr_array[2]) - node T_185830 = cat(sr_array[1], sr_array[0]) - node T_185831 = cat(T_185829, T_185830) - node T_185832 = cat(T_185828, T_185831) - node T_185833 = cat(ur_array[7], ur_array[6]) - node T_185834 = cat(ur_array[5], ur_array[4]) - node T_185835 = cat(T_185833, T_185834) - node T_185836 = cat(ur_array[3], ur_array[2]) - node T_185837 = cat(ur_array[1], ur_array[0]) - node T_185838 = cat(T_185836, T_185837) - node T_185839 = cat(T_185835, T_185838) - wire r_array : UInt<8> - r_array := T_185839 - when priv_s : r_array := T_185832 - node T_185840 = cat(sw_array[7], sw_array[6]) - node T_185841 = cat(sw_array[5], sw_array[4]) - node T_185842 = cat(T_185840, T_185841) - node T_185843 = cat(sw_array[3], sw_array[2]) - node T_185844 = cat(sw_array[1], sw_array[0]) - node T_185845 = cat(T_185843, T_185844) - node T_185846 = cat(T_185842, T_185845) - node T_185847 = cat(uw_array[7], uw_array[6]) - node T_185848 = cat(uw_array[5], uw_array[4]) - node T_185849 = cat(T_185847, T_185848) - node T_185850 = cat(uw_array[3], uw_array[2]) - node T_185851 = cat(uw_array[1], uw_array[0]) - node T_185852 = cat(T_185850, T_185851) - node T_185853 = cat(T_185849, T_185852) - wire w_array : UInt<8> - w_array := T_185853 - when priv_s : w_array := T_185846 - node T_185854 = cat(sx_array[7], sx_array[6]) - node T_185855 = cat(sx_array[5], sx_array[4]) - node T_185856 = cat(T_185854, T_185855) - node T_185857 = cat(sx_array[3], sx_array[2]) - node T_185858 = cat(sx_array[1], sx_array[0]) - node T_185859 = cat(T_185857, T_185858) - node T_185860 = cat(T_185856, T_185859) - node T_185861 = cat(ux_array[7], ux_array[6]) - node T_185862 = cat(ux_array[5], ux_array[4]) - node T_185863 = cat(T_185861, T_185862) - node T_185864 = cat(ux_array[3], ux_array[2]) - node T_185865 = cat(ux_array[1], ux_array[0]) - node T_185866 = cat(T_185864, T_185865) - node T_185867 = cat(T_185863, T_185866) - wire x_array : UInt<8> - x_array := T_185867 - when priv_s : x_array := T_185860 - node T_185868 = bit(ptw.status.vm, 3) - node vm_enabled = and(T_185868, priv_uses_vm) - node T_185869 = bit(req.bits.vpn, 27) - node T_185870 = bit(req.bits.vpn, 26) - node bad_va = neq(T_185869, T_185870) - node T_185871 = cat(dirty_array[7], dirty_array[6]) - node T_185872 = cat(dirty_array[5], dirty_array[4]) - node T_185873 = cat(T_185871, T_185872) - node T_185874 = cat(dirty_array[3], dirty_array[2]) - node T_185875 = cat(dirty_array[1], dirty_array[0]) - node T_185876 = cat(T_185874, T_185875) - node T_185877 = cat(T_185873, T_185876) - wire T_185878 : UInt<1> - T_185878 := UInt<1>(0) - when req.bits.store : T_185878 := w_array - node T_185879 = not(T_185878) - node T_185880 = or(T_185877, T_185879) - node tag_hits = and(tag_cam.hits, T_185880) - node T_185881 = eq(tag_hits, UInt<1>(0)) - node tag_hit = eq(T_185881, UInt<1>(0)) - node tlb_hit = and(vm_enabled, tag_hit) - node T_185882 = eq(tag_hit, UInt<1>(0)) - node T_185883 = and(vm_enabled, T_185882) - node T_185884 = eq(bad_va, UInt<1>(0)) - node tlb_miss = and(T_185883, T_185884) - - node T_185885 = and(req.valid, tlb_hit) - when T_185885 : - node T_185886 = bits(tag_cam.hits, 7, 4) - node T_185887 = bits(tag_cam.hits, 3, 0) - node T_185888 = eq(T_185886, UInt<1>(0)) - node T_185889 = eq(T_185888, UInt<1>(0)) - node T_185890 = or(T_185886, T_185887) - node T_185891 = bits(T_185890, 3, 2) - node T_185892 = bits(T_185890, 1, 0) - node T_185893 = eq(T_185891, UInt<1>(0)) - node T_185894 = eq(T_185893, UInt<1>(0)) - node T_185895 = or(T_185891, T_185892) - node T_185896 = bit(T_185895, 1) - node T_185897 = cat(T_185894, T_185896) - node T_185898 = cat(T_185889, T_185897) - node T_185899 = bit(T_185898, 2) - node T_185900 = dshl(UInt<8>(1), UInt<1>(1)) - node T_185901 = bits(T_185900, 7, 0) - node T_185902 = not(T_185901) - node T_185903 = and(T_185809, T_185902) - wire T_185904 : UInt<8> - T_185904 := T_185901 - when T_185899 : T_185904 := UInt<1>(0) - node T_185905 = or(T_185903, T_185904) - node T_185906 = cat(UInt<1>(1), T_185899) - node T_185907 = bit(T_185898, 1) - node T_185908 = dshl(UInt<8>(1), T_185906) - node T_185909 = bits(T_185908, 7, 0) - node T_185910 = not(T_185909) - node T_185911 = and(T_185905, T_185910) - wire T_185912 : UInt<8> - T_185912 := T_185909 - when T_185907 : T_185912 := UInt<1>(0) - node T_185913 = or(T_185911, T_185912) - node T_185914 = cat(T_185906, T_185907) - node T_185915 = bit(T_185898, 0) - node T_185916 = dshl(UInt<8>(1), T_185914) - node T_185917 = bits(T_185916, 7, 0) - node T_185918 = not(T_185917) - node T_185919 = and(T_185913, T_185918) - wire T_185920 : UInt<8> - T_185920 := T_185917 - when T_185915 : T_185920 := UInt<1>(0) - node T_185921 = or(T_185919, T_185920) - node T_185922 = cat(T_185914, T_185915) - T_185809 := T_185921 - node T_185923 = eq(state, UInt<2>(0)) - req.ready := T_185923 - node T_185924 = and(r_array, tag_cam.hits) - node T_185925 = eq(T_185924, UInt<1>(0)) - node T_185926 = eq(T_185925, UInt<1>(0)) - node T_185927 = eq(T_185926, UInt<1>(0)) - node T_185928 = and(tlb_hit, T_185927) - node T_185929 = or(bad_va, T_185928) - resp.xcpt_ld := T_185929 - node T_185930 = and(w_array, tag_cam.hits) - node T_185931 = eq(T_185930, UInt<1>(0)) - node T_185932 = eq(T_185931, UInt<1>(0)) - node T_185933 = eq(T_185932, UInt<1>(0)) - node T_185934 = and(tlb_hit, T_185933) - node T_185935 = or(bad_va, T_185934) - resp.xcpt_st := T_185935 - node T_185936 = and(x_array, tag_cam.hits) - node T_185937 = eq(T_185936, UInt<1>(0)) - node T_185938 = eq(T_185937, UInt<1>(0)) - node T_185939 = eq(T_185938, UInt<1>(0)) - node T_185940 = and(tlb_hit, T_185939) - node T_185941 = or(bad_va, T_185940) - resp.xcpt_if := T_185941 - resp.miss := tlb_miss - node T_185942 = eq(req.bits.passthrough, UInt<1>(0)) - node T_185943 = and(vm_enabled, T_185942) - node T_185944 = bit(tag_cam.hits, 0) - node T_185945 = bit(tag_cam.hits, 1) - node T_185946 = bit(tag_cam.hits, 2) - node T_185947 = bit(tag_cam.hits, 3) - node T_185948 = bit(tag_cam.hits, 4) - node T_185949 = bit(tag_cam.hits, 5) - node T_185950 = bit(tag_cam.hits, 6) - node T_185951 = bit(tag_cam.hits, 7) - accessor T_185952 = tag_ram[UInt<1>(0)] - accessor T_185953 = tag_ram[UInt<1>(1)] - accessor T_185954 = tag_ram[UInt<2>(2)] - accessor T_185955 = tag_ram[UInt<2>(3)] - accessor T_185956 = tag_ram[UInt<3>(4)] - accessor T_185957 = tag_ram[UInt<3>(5)] - accessor T_185958 = tag_ram[UInt<3>(6)] - accessor T_185959 = tag_ram[UInt<3>(7)] - wire T_185960 : UInt<1> - T_185960 := UInt<1>(0) - when T_185944 : T_185960 := T_185952 - wire T_185961 : UInt<1> - T_185961 := UInt<1>(0) - when T_185945 : T_185961 := T_185953 - wire T_185962 : UInt<1> - T_185962 := UInt<1>(0) - when T_185946 : T_185962 := T_185954 - wire T_185963 : UInt<1> - T_185963 := UInt<1>(0) - when T_185947 : T_185963 := T_185955 - wire T_185964 : UInt<1> - T_185964 := UInt<1>(0) - when T_185948 : T_185964 := T_185956 - wire T_185965 : UInt<1> - T_185965 := UInt<1>(0) - when T_185949 : T_185965 := T_185957 - wire T_185966 : UInt<1> - T_185966 := UInt<1>(0) - when T_185950 : T_185966 := T_185958 - wire T_185967 : UInt<1> - T_185967 := UInt<1>(0) - when T_185951 : T_185967 := T_185959 - node T_185968 = or(T_185960, T_185961) - node T_185969 = or(T_185968, T_185962) - node T_185970 = or(T_185969, T_185963) - node T_185971 = or(T_185970, T_185964) - node T_185972 = or(T_185971, T_185965) - node T_185973 = or(T_185972, T_185966) - node T_185974 = or(T_185973, T_185967) - wire T_185975 : UInt<20> - node T_185976 = bits(T_185974, 19, 0) - T_185975 := T_185976 - node T_185977 = bits(req.bits.vpn, 19, 0) - wire T_185978 : UInt<20> - T_185978 := T_185977 - when T_185943 : T_185978 := T_185975 - resp.ppn := T_185978 - resp.hit_idx := tag_cam.hits - node T_185979 = and(req.ready, req.valid) - node T_185980 = or(ptw.invalidate, T_185979) - tag_cam.clear := T_185980 - node T_185981 = cat(valid_array[7], valid_array[6]) - node T_185982 = cat(valid_array[5], valid_array[4]) - node T_185983 = cat(T_185981, T_185982) - node T_185984 = cat(valid_array[3], valid_array[2]) - node T_185985 = cat(valid_array[1], valid_array[0]) - node T_185986 = cat(T_185984, T_185985) - node T_185987 = cat(T_185983, T_185986) - node T_185988 = not(T_185987) - node T_185989 = not(tag_hits) - node T_185990 = and(tag_cam.hits, T_185989) - node T_185991 = or(T_185988, T_185990) - tag_cam.clear_mask := T_185991 - when ptw.invalidate : tag_cam.clear_mask := SInt<1>(-1) - node T_185992 = eq(state, UInt<2>(1)) - ptw.req.valid := T_185992 - ptw.req.bits.addr := r_refill_tag - ptw.req.bits.prv := ptw.status.prv - ptw.req.bits.store := r_req.store - ptw.req.bits.fetch := r_req.instruction - - - node T_185993 = and(req.ready, req.valid) - node T_185994 = and(T_185993, tlb_miss) - when T_185994 : - state := UInt<2>(1) - r_refill_tag := lookup_tag - r_refill_waddr := repl_waddr - r_req := req.bits - - node T_185995 = eq(state, UInt<2>(1)) - when T_185995 : - when ptw.invalidate : state := UInt<2>(0) - when ptw.req.ready : - state := UInt<2>(2) - when ptw.invalidate : state := UInt<2>(3) - - - node T_185996 = eq(state, UInt<2>(2)) - node T_185997 = and(T_185996, ptw.invalidate) - when T_185997 : state := UInt<2>(3) - when ptw.resp.valid : state := UInt<2>(0) - module MetadataArray_144779 : - input read : {flip ready : UInt<1>, valid : UInt<1>, bits : {idx : UInt<6>}} - input write : {flip ready : UInt<1>, valid : UInt<1>, bits : {idx : UInt<6>, way_en : UInt<4>, data : {tag : UInt<20>, coh : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}}} - output resp : {tag : UInt<20>, coh : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}[4] - - wire T_185998 : UInt<3>[3] - T_185998[0] := UInt<3>(0) - T_185998[1] := UInt<3>(1) - T_185998[2] := UInt<3>(2) - wire T_185999 : UInt<2>[2] - T_185999[0] := UInt<2>(0) - T_185999[1] := UInt<2>(1) - wire T_186000 : UInt<2>[3] - T_186000[0] := UInt<2>(1) - T_186000[1] := UInt<2>(2) - T_186000[2] := UInt<2>(3) - wire T_186001 : UInt<2>[2] - T_186001[0] := UInt<2>(2) - T_186001[1] := UInt<2>(3) - wire T_186002 : UInt<2>[1] - T_186002[0] := UInt<2>(3) - wire T_186003 : UInt<3>[3] - T_186003[0] := UInt<3>(0) - T_186003[1] := UInt<3>(1) - T_186003[2] := UInt<3>(2) - wire T_186004 : UInt<2>[2] - T_186004[0] := UInt<2>(0) - T_186004[1] := UInt<2>(1) - wire T_186005 : UInt<2>[3] - T_186005[0] := UInt<2>(1) - T_186005[1] := UInt<2>(2) - T_186005[2] := UInt<2>(3) - wire T_186006 : UInt<2>[2] - T_186006[0] := UInt<2>(2) - T_186006[1] := UInt<2>(3) - wire T_186007 : UInt<2>[1] - T_186007[0] := UInt<2>(3) - wire T_186008 : UInt<3>[3] - T_186008[0] := UInt<3>(0) - T_186008[1] := UInt<3>(1) - T_186008[2] := UInt<3>(2) - wire T_186009 : UInt<2>[2] - T_186009[0] := UInt<2>(0) - T_186009[1] := UInt<2>(1) - wire T_186010 : UInt<2>[3] - T_186010[0] := UInt<2>(1) - T_186010[1] := UInt<2>(2) - T_186010[2] := UInt<2>(3) - wire T_186011 : UInt<2>[2] - T_186011[0] := UInt<2>(2) - T_186011[1] := UInt<2>(3) - wire T_186012 : UInt<2>[1] - T_186012[0] := UInt<2>(3) - wire T_186013 : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>} - T_186013.state := UInt<2>(0) - wire T_186014 : UInt<3>[3] - T_186014[0] := UInt<3>(0) - T_186014[1] := UInt<3>(1) - T_186014[2] := UInt<3>(2) - wire T_186015 : UInt<2>[2] - T_186015[0] := UInt<2>(0) - T_186015[1] := UInt<2>(1) - wire T_186016 : UInt<2>[3] - T_186016[0] := UInt<2>(1) - T_186016[1] := UInt<2>(2) - T_186016[2] := UInt<2>(3) - wire T_186017 : UInt<2>[2] - T_186017[0] := UInt<2>(2) - T_186017[1] := UInt<2>(3) - wire T_186018 : UInt<2>[1] - T_186018[0] := UInt<2>(3) - wire T_186019 : UInt<3>[3] - T_186019[0] := UInt<3>(0) - T_186019[1] := UInt<3>(1) - T_186019[2] := UInt<3>(2) - wire T_186020 : UInt<2>[2] - T_186020[0] := UInt<2>(0) - T_186020[1] := UInt<2>(1) - wire T_186021 : UInt<2>[3] - T_186021[0] := UInt<2>(1) - T_186021[1] := UInt<2>(2) - T_186021[2] := UInt<2>(3) - wire T_186022 : UInt<2>[2] - T_186022[0] := UInt<2>(2) - T_186022[1] := UInt<2>(3) - wire T_186023 : UInt<2>[1] - T_186023[0] := UInt<2>(3) - wire rstVal : {tag : UInt<20>, coh : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}} - rstVal.tag := UInt<1>(0) - rstVal.coh := T_186013 - wire T_186024 : UInt<3>[3] - T_186024[0] := UInt<3>(0) - T_186024[1] := UInt<3>(1) - T_186024[2] := UInt<3>(2) - wire T_186025 : UInt<2>[2] - T_186025[0] := UInt<2>(0) - T_186025[1] := UInt<2>(1) - wire T_186026 : UInt<2>[3] - T_186026[0] := UInt<2>(1) - T_186026[1] := UInt<2>(2) - T_186026[2] := UInt<2>(3) - wire T_186027 : UInt<2>[2] - T_186027[0] := UInt<2>(2) - T_186027[1] := UInt<2>(3) - wire T_186028 : UInt<2>[1] - T_186028[0] := UInt<2>(3) - wire T_186029 : UInt<3>[3] - T_186029[0] := UInt<3>(0) - T_186029[1] := UInt<3>(1) - T_186029[2] := UInt<3>(2) - wire T_186030 : UInt<2>[2] - T_186030[0] := UInt<2>(0) - T_186030[1] := UInt<2>(1) - wire T_186031 : UInt<2>[3] - T_186031[0] := UInt<2>(1) - T_186031[1] := UInt<2>(2) - T_186031[2] := UInt<2>(3) - wire T_186032 : UInt<2>[2] - T_186032[0] := UInt<2>(2) - T_186032[1] := UInt<2>(3) - wire T_186033 : UInt<2>[1] - T_186033[0] := UInt<2>(3) - wire T_186034 : UInt<3>[3] - T_186034[0] := UInt<3>(0) - T_186034[1] := UInt<3>(1) - T_186034[2] := UInt<3>(2) - wire T_186035 : UInt<2>[2] - T_186035[0] := UInt<2>(0) - T_186035[1] := UInt<2>(1) - wire T_186036 : UInt<2>[3] - T_186036[0] := UInt<2>(1) - T_186036[1] := UInt<2>(2) - T_186036[2] := UInt<2>(3) - wire T_186037 : UInt<2>[2] - T_186037[0] := UInt<2>(2) - T_186037[1] := UInt<2>(3) - wire T_186038 : UInt<2>[1] - T_186038[0] := UInt<2>(3) - wire T_186039 : UInt<3>[3] - T_186039[0] := UInt<3>(0) - T_186039[1] := UInt<3>(1) - T_186039[2] := UInt<3>(2) - wire T_186040 : UInt<2>[2] - T_186040[0] := UInt<2>(0) - T_186040[1] := UInt<2>(1) - wire T_186041 : UInt<2>[3] - T_186041[0] := UInt<2>(1) - T_186041[1] := UInt<2>(2) - T_186041[2] := UInt<2>(3) - wire T_186042 : UInt<2>[2] - T_186042[0] := UInt<2>(2) - T_186042[1] := UInt<2>(3) - wire T_186043 : UInt<2>[1] - T_186043[0] := UInt<2>(3) - wire T_186044 : UInt<3>[3] - T_186044[0] := UInt<3>(0) - T_186044[1] := UInt<3>(1) - T_186044[2] := UInt<3>(2) - wire T_186045 : UInt<2>[2] - T_186045[0] := UInt<2>(0) - T_186045[1] := UInt<2>(1) - wire T_186046 : UInt<2>[3] - T_186046[0] := UInt<2>(1) - T_186046[1] := UInt<2>(2) - T_186046[2] := UInt<2>(3) - wire T_186047 : UInt<2>[2] - T_186047[0] := UInt<2>(2) - T_186047[1] := UInt<2>(3) - wire T_186048 : UInt<2>[1] - T_186048[0] := UInt<2>(3) - wire T_186049 : UInt<3>[3] - T_186049[0] := UInt<3>(0) - T_186049[1] := UInt<3>(1) - T_186049[2] := UInt<3>(2) - wire T_186050 : UInt<2>[2] - T_186050[0] := UInt<2>(0) - T_186050[1] := UInt<2>(1) - wire T_186051 : UInt<2>[3] - T_186051[0] := UInt<2>(1) - T_186051[1] := UInt<2>(2) - T_186051[2] := UInt<2>(3) - wire T_186052 : UInt<2>[2] - T_186052[0] := UInt<2>(2) - T_186052[1] := UInt<2>(3) - wire T_186053 : UInt<2>[1] - T_186053[0] := UInt<2>(3) - wire T_186054 : UInt<3>[3] - T_186054[0] := UInt<3>(0) - T_186054[1] := UInt<3>(1) - T_186054[2] := UInt<3>(2) - wire T_186055 : UInt<2>[2] - T_186055[0] := UInt<2>(0) - T_186055[1] := UInt<2>(1) - wire T_186056 : UInt<2>[3] - T_186056[0] := UInt<2>(1) - T_186056[1] := UInt<2>(2) - T_186056[2] := UInt<2>(3) - wire T_186057 : UInt<2>[2] - T_186057[0] := UInt<2>(2) - T_186057[1] := UInt<2>(3) - wire T_186058 : UInt<2>[1] - T_186058[0] := UInt<2>(3) - wire T_186059 : UInt<3>[3] - T_186059[0] := UInt<3>(0) - T_186059[1] := UInt<3>(1) - T_186059[2] := UInt<3>(2) - wire T_186060 : UInt<2>[2] - T_186060[0] := UInt<2>(0) - T_186060[1] := UInt<2>(1) - wire T_186061 : UInt<2>[3] - T_186061[0] := UInt<2>(1) - T_186061[1] := UInt<2>(2) - T_186061[2] := UInt<2>(3) - wire T_186062 : UInt<2>[2] - T_186062[0] := UInt<2>(2) - T_186062[1] := UInt<2>(3) - wire T_186063 : UInt<2>[1] - T_186063[0] := UInt<2>(3) - wire T_186064 : UInt<3>[3] - T_186064[0] := UInt<3>(0) - T_186064[1] := UInt<3>(1) - T_186064[2] := UInt<3>(2) - wire T_186065 : UInt<2>[2] - T_186065[0] := UInt<2>(0) - T_186065[1] := UInt<2>(1) - wire T_186066 : UInt<2>[3] - T_186066[0] := UInt<2>(1) - T_186066[1] := UInt<2>(2) - T_186066[2] := UInt<2>(3) - wire T_186067 : UInt<2>[2] - T_186067[0] := UInt<2>(2) - T_186067[1] := UInt<2>(3) - wire T_186068 : UInt<2>[1] - T_186068[0] := UInt<2>(3) - wire T_186069 : UInt<3>[3] - T_186069[0] := UInt<3>(0) - T_186069[1] := UInt<3>(1) - T_186069[2] := UInt<3>(2) - wire T_186070 : UInt<2>[2] - T_186070[0] := UInt<2>(0) - T_186070[1] := UInt<2>(1) - wire T_186071 : UInt<2>[3] - T_186071[0] := UInt<2>(1) - T_186071[1] := UInt<2>(2) - T_186071[2] := UInt<2>(3) - wire T_186072 : UInt<2>[2] - T_186072[0] := UInt<2>(2) - T_186072[1] := UInt<2>(3) - wire T_186073 : UInt<2>[1] - T_186073[0] := UInt<2>(3) - wire resp : {tag : UInt<20>, coh : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}[4] - resp[0] := T_186074 - resp[1] := T_186075 - resp[2] := T_186076 - resp[3] := T_186077 - reg rst_cnt : UInt<7> - onreset rst_cnt := UInt<7>(0) - node rst = lt(rst_cnt, UInt<7>(64)) - wire waddr : UInt<6> - waddr := write.bits.idx - when rst : waddr := rst_cnt - wire T_186078 : UInt<3>[3] - T_186078[0] := UInt<3>(0) - T_186078[1] := UInt<3>(1) - T_186078[2] := UInt<3>(2) - wire T_186079 : UInt<2>[2] - T_186079[0] := UInt<2>(0) - T_186079[1] := UInt<2>(1) - wire T_186080 : UInt<2>[3] - T_186080[0] := UInt<2>(1) - T_186080[1] := UInt<2>(2) - T_186080[2] := UInt<2>(3) - wire T_186081 : UInt<2>[2] - T_186081[0] := UInt<2>(2) - T_186081[1] := UInt<2>(3) - wire T_186082 : UInt<2>[1] - T_186082[0] := UInt<2>(3) - wire T_186083 : {tag : UInt<20>, coh : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}} - T_186083 := write.bits.data - when rst : T_186083 := rstVal - node T_186084 = cat(T_186083.coh.state, UInt<1>(0)) - node T_186085 = cat(T_186083.tag, T_186084) - node T_186086 = cat(T_186085, UInt<4>(0)) - node T_186087 = cat(UInt<1>(0), T_186083.coh.state) - node T_186088 = cat(T_186087, UInt<2>(0)) - node T_186089 = cat(T_186088, UInt<4>(0)) - node wdata = cat(T_186086, T_186089) - node T_186090 = asSInt(write.bits.way_en) - wire T_186091 : SInt<4> - T_186091 := T_186090 - when rst : T_186091 := SInt<1>(-1) - node wmask = asUInt(T_186091) - when rst : - node T_186092 = addw(rst_cnt, UInt<1>(1)) - rst_cnt := T_186092 - cmem T_186093 : UInt<144>[64] - - node T_186094 = or(rst, write.valid) - when T_186094 : - node T_186095 = cat(wdata, wdata) - node T_186096 = cat(T_186095, T_186095) - node T_186097 = bit(wmask, 0) - node T_186098 = bit(wmask, 1) - node T_186099 = bit(wmask, 2) - node T_186100 = bit(wmask, 3) - wire T_186101 : UInt<1>[4] - T_186101[0] := T_186097 - T_186101[1] := T_186098 - T_186101[2] := T_186099 - T_186101[3] := T_186100 - node T_186102 = subw(UInt<36>(0), UInt<6>(36)) - node T_186103 = subw(UInt<36>(0), UInt<6>(36)) - node T_186104 = subw(UInt<36>(0), UInt<6>(36)) - node T_186105 = subw(UInt<36>(0), UInt<6>(36)) - wire T_186106 : UInt<36>[4] - T_186106[0] := T_186102 - T_186106[1] := T_186103 - T_186106[2] := T_186104 - T_186106[3] := T_186105 - node T_186107 = cat(T_186106[3], T_186106[2]) - node T_186108 = cat(T_186106[1], T_186106[0]) - node T_186109 = cat(T_186107, T_186108) - accessor T_186110 = T_186093[waddr] - node T_186111 = not(T_186109) - node T_186112 = and(T_186110, T_186111) - node T_186113 = and(T_186096, T_186109) - node T_186114 = or(T_186112, T_186113) - wire T_186115 : UInt<144> - node T_186116 = bits(T_186114, 143, 0) - T_186115 := T_186116 - accessor T_186117 = T_186093[waddr] - T_186117 := T_186115 - reg T_186118 : UInt<6> - when read.valid : T_186118 := read.bits.idx - accessor tags = T_186093[T_186118] - wire T_186119 : UInt<3>[3] - T_186119[0] := UInt<3>(0) - T_186119[1] := UInt<3>(1) - T_186119[2] := UInt<3>(2) - wire T_186120 : UInt<2>[2] - T_186120[0] := UInt<2>(0) - T_186120[1] := UInt<2>(1) - wire T_186121 : UInt<2>[3] - T_186121[0] := UInt<2>(1) - T_186121[1] := UInt<2>(2) - T_186121[2] := UInt<2>(3) - wire T_186122 : UInt<2>[2] - T_186122[0] := UInt<2>(2) - T_186122[1] := UInt<2>(3) - wire T_186123 : UInt<2>[1] - T_186123[0] := UInt<2>(3) - wire T_186124 : UInt<3>[3] - T_186124[0] := UInt<3>(0) - T_186124[1] := UInt<3>(1) - T_186124[2] := UInt<3>(2) - wire T_186125 : UInt<2>[2] - T_186125[0] := UInt<2>(0) - T_186125[1] := UInt<2>(1) - wire T_186126 : UInt<2>[3] - T_186126[0] := UInt<2>(1) - T_186126[1] := UInt<2>(2) - T_186126[2] := UInt<2>(3) - wire T_186127 : UInt<2>[2] - T_186127[0] := UInt<2>(2) - T_186127[1] := UInt<2>(3) - wire T_186128 : UInt<2>[1] - T_186128[0] := UInt<2>(3) - wire T_186129 : UInt<3>[3] - T_186129[0] := UInt<3>(0) - T_186129[1] := UInt<3>(1) - T_186129[2] := UInt<3>(2) - wire T_186130 : UInt<2>[2] - T_186130[0] := UInt<2>(0) - T_186130[1] := UInt<2>(1) - wire T_186131 : UInt<2>[3] - T_186131[0] := UInt<2>(1) - T_186131[1] := UInt<2>(2) - T_186131[2] := UInt<2>(3) - wire T_186132 : UInt<2>[2] - T_186132[0] := UInt<2>(2) - T_186132[1] := UInt<2>(3) - wire T_186133 : UInt<2>[1] - T_186133[0] := UInt<2>(3) - wire T_186134 : UInt<3>[3] - T_186134[0] := UInt<3>(0) - T_186134[1] := UInt<3>(1) - T_186134[2] := UInt<3>(2) - wire T_186135 : UInt<2>[2] - T_186135[0] := UInt<2>(0) - T_186135[1] := UInt<2>(1) - wire T_186136 : UInt<2>[3] - T_186136[0] := UInt<2>(1) - T_186136[1] := UInt<2>(2) - T_186136[2] := UInt<2>(3) - wire T_186137 : UInt<2>[2] - T_186137[0] := UInt<2>(2) - T_186137[1] := UInt<2>(3) - wire T_186138 : UInt<2>[1] - T_186138[0] := UInt<2>(3) - wire T_186139 : UInt<3>[3] - T_186139[0] := UInt<3>(0) - T_186139[1] := UInt<3>(1) - T_186139[2] := UInt<3>(2) - wire T_186140 : UInt<2>[2] - T_186140[0] := UInt<2>(0) - T_186140[1] := UInt<2>(1) - wire T_186141 : UInt<2>[3] - T_186141[0] := UInt<2>(1) - T_186141[1] := UInt<2>(2) - T_186141[2] := UInt<2>(3) - wire T_186142 : UInt<2>[2] - T_186142[0] := UInt<2>(2) - T_186142[1] := UInt<2>(3) - wire T_186143 : UInt<2>[1] - T_186143[0] := UInt<2>(3) - wire T_186144 : UInt<3>[3] - T_186144[0] := UInt<3>(0) - T_186144[1] := UInt<3>(1) - T_186144[2] := UInt<3>(2) - wire T_186145 : UInt<2>[2] - T_186145[0] := UInt<2>(0) - T_186145[1] := UInt<2>(1) - wire T_186146 : UInt<2>[3] - T_186146[0] := UInt<2>(1) - T_186146[1] := UInt<2>(2) - T_186146[2] := UInt<2>(3) - wire T_186147 : UInt<2>[2] - T_186147[0] := UInt<2>(2) - T_186147[1] := UInt<2>(3) - wire T_186148 : UInt<2>[1] - T_186148[0] := UInt<2>(3) - wire T_186149 : UInt<3>[3] - T_186149[0] := UInt<3>(0) - T_186149[1] := UInt<3>(1) - T_186149[2] := UInt<3>(2) - wire T_186150 : UInt<2>[2] - T_186150[0] := UInt<2>(0) - T_186150[1] := UInt<2>(1) - wire T_186151 : UInt<2>[3] - T_186151[0] := UInt<2>(1) - T_186151[1] := UInt<2>(2) - T_186151[2] := UInt<2>(3) - wire T_186152 : UInt<2>[2] - T_186152[0] := UInt<2>(2) - T_186152[1] := UInt<2>(3) - wire T_186153 : UInt<2>[1] - T_186153[0] := UInt<2>(3) - wire T_186154 : UInt<3>[3] - T_186154[0] := UInt<3>(0) - T_186154[1] := UInt<3>(1) - T_186154[2] := UInt<3>(2) - wire T_186155 : UInt<2>[2] - T_186155[0] := UInt<2>(0) - T_186155[1] := UInt<2>(1) - wire T_186156 : UInt<2>[3] - T_186156[0] := UInt<2>(1) - T_186156[1] := UInt<2>(2) - T_186156[2] := UInt<2>(3) - wire T_186157 : UInt<2>[2] - T_186157[0] := UInt<2>(2) - T_186157[1] := UInt<2>(3) - wire T_186158 : UInt<2>[1] - T_186158[0] := UInt<2>(3) - wire T_186159 : UInt<3>[3] - T_186159[0] := UInt<3>(0) - T_186159[1] := UInt<3>(1) - T_186159[2] := UInt<3>(2) - wire T_186160 : UInt<2>[2] - T_186160[0] := UInt<2>(0) - T_186160[1] := UInt<2>(1) - wire T_186161 : UInt<2>[3] - T_186161[0] := UInt<2>(1) - T_186161[1] := UInt<2>(2) - T_186161[2] := UInt<2>(3) - wire T_186162 : UInt<2>[2] - T_186162[0] := UInt<2>(2) - T_186162[1] := UInt<2>(3) - wire T_186163 : UInt<2>[1] - T_186163[0] := UInt<2>(3) - wire T_186164 : UInt<3>[3] - T_186164[0] := UInt<3>(0) - T_186164[1] := UInt<3>(1) - T_186164[2] := UInt<3>(2) - wire T_186165 : UInt<2>[2] - T_186165[0] := UInt<2>(0) - T_186165[1] := UInt<2>(1) - wire T_186166 : UInt<2>[3] - T_186166[0] := UInt<2>(1) - T_186166[1] := UInt<2>(2) - T_186166[2] := UInt<2>(3) - wire T_186167 : UInt<2>[2] - T_186167[0] := UInt<2>(2) - T_186167[1] := UInt<2>(3) - wire T_186168 : UInt<2>[1] - T_186168[0] := UInt<2>(3) - wire T_186169 : {tag : UInt<20>, coh : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}[4] - node T_186170 = bits(tags, 0, 0) - T_186169[0].coh.makeVoluntaryWriteback$default$4 := T_186170 - node T_186171 = bits(tags, 1, 1) - T_186169[0].coh.makeVoluntaryWriteback$default$3 := T_186171 - node T_186172 = bits(tags, 2, 2) - T_186169[0].coh.makeVoluntaryRelease$default$5 := T_186172 - node T_186173 = bits(tags, 3, 3) - T_186169[0].coh.makeVoluntaryRelease$default$4 := T_186173 - node T_186174 = bits(tags, 4, 4) - T_186169[0].coh.makeRelease$default$3 := T_186174 - node T_186175 = bits(tags, 5, 5) - T_186169[0].coh.makeRelease$default$2 := T_186175 - node T_186176 = bits(tags, 7, 6) - T_186169[0].coh.state := T_186176 - node T_186177 = bits(tags, 8, 8) - T_186169[0].coh.makeVoluntaryWriteback$default$4 := T_186177 - node T_186178 = bits(tags, 9, 9) - T_186169[0].coh.makeVoluntaryWriteback$default$3 := T_186178 - node T_186179 = bits(tags, 10, 10) - T_186169[0].coh.makeVoluntaryRelease$default$5 := T_186179 - node T_186180 = bits(tags, 11, 11) - T_186169[0].coh.makeVoluntaryRelease$default$4 := T_186180 - node T_186181 = bits(tags, 12, 12) - T_186169[0].coh.makeRelease$default$3 := T_186181 - node T_186182 = bits(tags, 13, 13) - T_186169[0].coh.makeRelease$default$2 := T_186182 - node T_186183 = bits(tags, 15, 14) - T_186169[0].coh.state := T_186183 - node T_186184 = bits(tags, 35, 16) - T_186169[0].tag := T_186184 - node T_186185 = bits(tags, 36, 36) - T_186169[1].coh.makeVoluntaryWriteback$default$4 := T_186185 - node T_186186 = bits(tags, 37, 37) - T_186169[1].coh.makeVoluntaryWriteback$default$3 := T_186186 - node T_186187 = bits(tags, 38, 38) - T_186169[1].coh.makeVoluntaryRelease$default$5 := T_186187 - node T_186188 = bits(tags, 39, 39) - T_186169[1].coh.makeVoluntaryRelease$default$4 := T_186188 - node T_186189 = bits(tags, 40, 40) - T_186169[1].coh.makeRelease$default$3 := T_186189 - node T_186190 = bits(tags, 41, 41) - T_186169[1].coh.makeRelease$default$2 := T_186190 - node T_186191 = bits(tags, 43, 42) - T_186169[1].coh.state := T_186191 - node T_186192 = bits(tags, 44, 44) - T_186169[1].coh.makeVoluntaryWriteback$default$4 := T_186192 - node T_186193 = bits(tags, 45, 45) - T_186169[1].coh.makeVoluntaryWriteback$default$3 := T_186193 - node T_186194 = bits(tags, 46, 46) - T_186169[1].coh.makeVoluntaryRelease$default$5 := T_186194 - node T_186195 = bits(tags, 47, 47) - T_186169[1].coh.makeVoluntaryRelease$default$4 := T_186195 - node T_186196 = bits(tags, 48, 48) - T_186169[1].coh.makeRelease$default$3 := T_186196 - node T_186197 = bits(tags, 49, 49) - T_186169[1].coh.makeRelease$default$2 := T_186197 - node T_186198 = bits(tags, 51, 50) - T_186169[1].coh.state := T_186198 - node T_186199 = bits(tags, 71, 52) - T_186169[1].tag := T_186199 - node T_186200 = bits(tags, 72, 72) - T_186169[2].coh.makeVoluntaryWriteback$default$4 := T_186200 - node T_186201 = bits(tags, 73, 73) - T_186169[2].coh.makeVoluntaryWriteback$default$3 := T_186201 - node T_186202 = bits(tags, 74, 74) - T_186169[2].coh.makeVoluntaryRelease$default$5 := T_186202 - node T_186203 = bits(tags, 75, 75) - T_186169[2].coh.makeVoluntaryRelease$default$4 := T_186203 - node T_186204 = bits(tags, 76, 76) - T_186169[2].coh.makeRelease$default$3 := T_186204 - node T_186205 = bits(tags, 77, 77) - T_186169[2].coh.makeRelease$default$2 := T_186205 - node T_186206 = bits(tags, 79, 78) - T_186169[2].coh.state := T_186206 - node T_186207 = bits(tags, 80, 80) - T_186169[2].coh.makeVoluntaryWriteback$default$4 := T_186207 - node T_186208 = bits(tags, 81, 81) - T_186169[2].coh.makeVoluntaryWriteback$default$3 := T_186208 - node T_186209 = bits(tags, 82, 82) - T_186169[2].coh.makeVoluntaryRelease$default$5 := T_186209 - node T_186210 = bits(tags, 83, 83) - T_186169[2].coh.makeVoluntaryRelease$default$4 := T_186210 - node T_186211 = bits(tags, 84, 84) - T_186169[2].coh.makeRelease$default$3 := T_186211 - node T_186212 = bits(tags, 85, 85) - T_186169[2].coh.makeRelease$default$2 := T_186212 - node T_186213 = bits(tags, 87, 86) - T_186169[2].coh.state := T_186213 - node T_186214 = bits(tags, 107, 88) - T_186169[2].tag := T_186214 - node T_186215 = bits(tags, 108, 108) - T_186169[3].coh.makeVoluntaryWriteback$default$4 := T_186215 - node T_186216 = bits(tags, 109, 109) - T_186169[3].coh.makeVoluntaryWriteback$default$3 := T_186216 - node T_186217 = bits(tags, 110, 110) - T_186169[3].coh.makeVoluntaryRelease$default$5 := T_186217 - node T_186218 = bits(tags, 111, 111) - T_186169[3].coh.makeVoluntaryRelease$default$4 := T_186218 - node T_186219 = bits(tags, 112, 112) - T_186169[3].coh.makeRelease$default$3 := T_186219 - node T_186220 = bits(tags, 113, 113) - T_186169[3].coh.makeRelease$default$2 := T_186220 - node T_186221 = bits(tags, 115, 114) - T_186169[3].coh.state := T_186221 - node T_186222 = bits(tags, 116, 116) - T_186169[3].coh.makeVoluntaryWriteback$default$4 := T_186222 - node T_186223 = bits(tags, 117, 117) - T_186169[3].coh.makeVoluntaryWriteback$default$3 := T_186223 - node T_186224 = bits(tags, 118, 118) - T_186169[3].coh.makeVoluntaryRelease$default$5 := T_186224 - node T_186225 = bits(tags, 119, 119) - T_186169[3].coh.makeVoluntaryRelease$default$4 := T_186225 - node T_186226 = bits(tags, 120, 120) - T_186169[3].coh.makeRelease$default$3 := T_186226 - node T_186227 = bits(tags, 121, 121) - T_186169[3].coh.makeRelease$default$2 := T_186227 - node T_186228 = bits(tags, 123, 122) - T_186169[3].coh.state := T_186228 - node T_186229 = bits(tags, 143, 124) - T_186169[3].tag := T_186229 - resp[0] := T_186169[0] - resp[1] := T_186169[1] - resp[2] := T_186169[2] - resp[3] := T_186169[3] - node T_186230 = eq(rst, UInt<1>(0)) - node T_186231 = eq(write.valid, UInt<1>(0)) - node T_186232 = and(T_186230, T_186231) - read.ready := T_186232 - node T_186233 = eq(rst, UInt<1>(0)) - write.ready := T_186233 - module Arbiter_144889 : - input in : {flip ready : UInt<1>, valid : UInt<1>, bits : {idx : UInt<6>}}[5] - output out : {flip ready : UInt<1>, valid : UInt<1>, bits : {idx : UInt<6>}} - output chosen : UInt<3> - - wire T_186234 : UInt<3> - node T_186235 = or(UInt<1>(0), in[0].valid) - node T_186236 = eq(T_186235, UInt<1>(0)) - node T_186237 = or(UInt<1>(0), in[0].valid) - node T_186238 = or(T_186237, in[1].valid) - node T_186239 = eq(T_186238, UInt<1>(0)) - node T_186240 = or(UInt<1>(0), in[0].valid) - node T_186241 = or(T_186240, in[1].valid) - node T_186242 = or(T_186241, in[2].valid) - node T_186243 = eq(T_186242, UInt<1>(0)) - node T_186244 = or(UInt<1>(0), in[0].valid) - node T_186245 = or(T_186244, in[1].valid) - node T_186246 = or(T_186245, in[2].valid) - node T_186247 = or(T_186246, in[3].valid) - node T_186248 = eq(T_186247, UInt<1>(0)) - node T_186249 = eq(UInt<3>(4), UInt<1>(0)) - wire T_186250 : UInt<1> - T_186250 := UInt<1>(1) - when UInt<1>(0) : T_186250 := T_186249 - node T_186251 = and(T_186250, out.ready) - in[0].ready := T_186251 - node T_186252 = eq(UInt<3>(4), UInt<1>(1)) - wire T_186253 : UInt<1> - T_186253 := T_186236 - when UInt<1>(0) : T_186253 := T_186252 - node T_186254 = and(T_186253, out.ready) - in[1].ready := T_186254 - node T_186255 = eq(UInt<3>(4), UInt<2>(2)) - wire T_186256 : UInt<1> - T_186256 := T_186239 - when UInt<1>(0) : T_186256 := T_186255 - node T_186257 = and(T_186256, out.ready) - in[2].ready := T_186257 - node T_186258 = eq(UInt<3>(4), UInt<2>(3)) - wire T_186259 : UInt<1> - T_186259 := T_186243 - when UInt<1>(0) : T_186259 := T_186258 - node T_186260 = and(T_186259, out.ready) - in[3].ready := T_186260 - node T_186261 = eq(UInt<3>(4), UInt<3>(4)) - wire T_186262 : UInt<1> - T_186262 := T_186248 - when UInt<1>(0) : T_186262 := T_186261 - node T_186263 = and(T_186262, out.ready) - in[4].ready := T_186263 - accessor T_186264 = in[T_186234] - out.valid := T_186264.valid - accessor T_186265 = in[T_186234] - out.bits := T_186265.bits - chosen := T_186234 - wire T_186266 : UInt<3> - T_186266 := UInt<3>(4) - when in[3].valid : T_186266 := UInt<2>(3) - wire T_186267 : UInt<3> - T_186267 := T_186266 - when in[2].valid : T_186267 := UInt<2>(2) - wire T_186268 : UInt<3> - T_186268 := T_186267 - when in[1].valid : T_186268 := UInt<1>(1) - wire T_186269 : UInt<3> - T_186269 := T_186268 - when in[0].valid : T_186269 := UInt<1>(0) - wire T_186270 : UInt<3> - T_186270 := T_186269 - when UInt<1>(0) : T_186270 := UInt<3>(4) - T_186234 := T_186270 - module Arbiter_145479 : - input in : {flip ready : UInt<1>, valid : UInt<1>, bits : {idx : UInt<6>, way_en : UInt<4>, data : {tag : UInt<20>, coh : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}}}[2] - output out : {flip ready : UInt<1>, valid : UInt<1>, bits : {idx : UInt<6>, way_en : UInt<4>, data : {tag : UInt<20>, coh : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}}} - output chosen : UInt<1> - - wire T_186271 : UInt<3>[3] - T_186271[0] := UInt<3>(0) - T_186271[1] := UInt<3>(1) - T_186271[2] := UInt<3>(2) - wire T_186272 : UInt<2>[2] - T_186272[0] := UInt<2>(0) - T_186272[1] := UInt<2>(1) - wire T_186273 : UInt<2>[3] - T_186273[0] := UInt<2>(1) - T_186273[1] := UInt<2>(2) - T_186273[2] := UInt<2>(3) - wire T_186274 : UInt<2>[2] - T_186274[0] := UInt<2>(2) - T_186274[1] := UInt<2>(3) - wire T_186275 : UInt<2>[1] - T_186275[0] := UInt<2>(3) - wire T_186276 : UInt<3>[3] - T_186276[0] := UInt<3>(0) - T_186276[1] := UInt<3>(1) - T_186276[2] := UInt<3>(2) - wire T_186277 : UInt<2>[2] - T_186277[0] := UInt<2>(0) - T_186277[1] := UInt<2>(1) - wire T_186278 : UInt<2>[3] - T_186278[0] := UInt<2>(1) - T_186278[1] := UInt<2>(2) - T_186278[2] := UInt<2>(3) - wire T_186279 : UInt<2>[2] - T_186279[0] := UInt<2>(2) - T_186279[1] := UInt<2>(3) - wire T_186280 : UInt<2>[1] - T_186280[0] := UInt<2>(3) - wire T_186281 : UInt<3>[3] - T_186281[0] := UInt<3>(0) - T_186281[1] := UInt<3>(1) - T_186281[2] := UInt<3>(2) - wire T_186282 : UInt<2>[2] - T_186282[0] := UInt<2>(0) - T_186282[1] := UInt<2>(1) - wire T_186283 : UInt<2>[3] - T_186283[0] := UInt<2>(1) - T_186283[1] := UInt<2>(2) - T_186283[2] := UInt<2>(3) - wire T_186284 : UInt<2>[2] - T_186284[0] := UInt<2>(2) - T_186284[1] := UInt<2>(3) - wire T_186285 : UInt<2>[1] - T_186285[0] := UInt<2>(3) - wire T_186286 : UInt<3>[3] - T_186286[0] := UInt<3>(0) - T_186286[1] := UInt<3>(1) - T_186286[2] := UInt<3>(2) - wire T_186287 : UInt<2>[2] - T_186287[0] := UInt<2>(0) - T_186287[1] := UInt<2>(1) - wire T_186288 : UInt<2>[3] - T_186288[0] := UInt<2>(1) - T_186288[1] := UInt<2>(2) - T_186288[2] := UInt<2>(3) - wire T_186289 : UInt<2>[2] - T_186289[0] := UInt<2>(2) - T_186289[1] := UInt<2>(3) - wire T_186290 : UInt<2>[1] - T_186290[0] := UInt<2>(3) - wire T_186291 : UInt<1> - node T_186292 = or(UInt<1>(0), in[0].valid) - node T_186293 = eq(T_186292, UInt<1>(0)) - node T_186294 = eq(UInt<1>(1), UInt<1>(0)) - wire T_186295 : UInt<1> - T_186295 := UInt<1>(1) - when UInt<1>(0) : T_186295 := T_186294 - node T_186296 = and(T_186295, out.ready) - in[0].ready := T_186296 - node T_186297 = eq(UInt<1>(1), UInt<1>(1)) - wire T_186298 : UInt<1> - T_186298 := T_186293 - when UInt<1>(0) : T_186298 := T_186297 - node T_186299 = and(T_186298, out.ready) - in[1].ready := T_186299 - wire T_186300 : UInt<3>[3] - T_186300[0] := UInt<3>(0) - T_186300[1] := UInt<3>(1) - T_186300[2] := UInt<3>(2) - wire T_186301 : UInt<2>[2] - T_186301[0] := UInt<2>(0) - T_186301[1] := UInt<2>(1) - wire T_186302 : UInt<2>[3] - T_186302[0] := UInt<2>(1) - T_186302[1] := UInt<2>(2) - T_186302[2] := UInt<2>(3) - wire T_186303 : UInt<2>[2] - T_186303[0] := UInt<2>(2) - T_186303[1] := UInt<2>(3) - wire T_186304 : UInt<2>[1] - T_186304[0] := UInt<2>(3) - accessor T_186305 = in[T_186291] - out.valid := T_186305.valid - wire T_186306 : UInt<3>[3] - T_186306[0] := UInt<3>(0) - T_186306[1] := UInt<3>(1) - T_186306[2] := UInt<3>(2) - wire T_186307 : UInt<2>[2] - T_186307[0] := UInt<2>(0) - T_186307[1] := UInt<2>(1) - wire T_186308 : UInt<2>[3] - T_186308[0] := UInt<2>(1) - T_186308[1] := UInt<2>(2) - T_186308[2] := UInt<2>(3) - wire T_186309 : UInt<2>[2] - T_186309[0] := UInt<2>(2) - T_186309[1] := UInt<2>(3) - wire T_186310 : UInt<2>[1] - T_186310[0] := UInt<2>(3) - accessor T_186311 = in[T_186291] - out.bits := T_186311.bits - chosen := T_186291 - wire T_186312 : UInt<1> - T_186312 := UInt<1>(1) - when in[0].valid : T_186312 := UInt<1>(0) - wire T_186313 : UInt<1> - T_186313 := T_186312 - when UInt<1>(0) : T_186313 := UInt<1>(1) - T_186291 := T_186313 - module DataArray : - input read : {flip ready : UInt<1>, valid : UInt<1>, bits : {way_en : UInt<4>, addr : UInt<12>}} - input write : {flip ready : UInt<1>, valid : UInt<1>, bits : {way_en : UInt<4>, addr : UInt<12>, wmask : UInt<2>, data : UInt<128>}} - output resp : UInt<128>[4] - - wire resp : UInt<128>[4] - resp[0] := T_186314 - resp[1] := T_186315 - resp[2] := T_186316 - resp[3] := T_186317 - node waddr = shr(write.bits.addr, 4) - node raddr = shr(read.bits.addr, 4) - node T_186318 = bits(write.bits.way_en, 1, 0) - node T_186319 = bits(read.bits.way_en, 1, 0) - wire T_186320 : UInt<128>[2] - reg T_186321 : UInt<12> - when read.valid : T_186321 := read.bits.addr - cmem T_186322 : UInt<128>[256] - - - node T_186323 = eq(T_186318, UInt<1>(0)) - node T_186324 = eq(T_186323, UInt<1>(0)) - node T_186325 = and(T_186324, write.valid) - node T_186326 = bit(write.bits.wmask, 0) - node T_186327 = and(T_186325, T_186326) - when T_186327 : - node T_186328 = bits(write.bits.data, 63, 0) - node T_186329 = cat(T_186328, T_186328) - node T_186330 = bit(T_186318, 0) - node T_186331 = bit(T_186318, 1) - wire T_186332 : UInt<1>[2] - T_186332[0] := T_186330 - T_186332[1] := T_186331 - node T_186333 = subw(UInt<64>(0), UInt<7>(64)) - node T_186334 = subw(UInt<64>(0), UInt<7>(64)) - wire T_186335 : UInt<64>[2] - T_186335[0] := T_186333 - T_186335[1] := T_186334 - node T_186336 = cat(T_186335[1], T_186335[0]) - accessor T_186337 = T_186322[waddr] - node T_186338 = not(T_186336) - node T_186339 = and(T_186337, T_186338) - node T_186340 = and(T_186329, T_186336) - node T_186341 = or(T_186339, T_186340) - wire T_186342 : UInt<128> - node T_186343 = bits(T_186341, 127, 0) - T_186342 := T_186343 - accessor T_186344 = T_186322[waddr] - T_186344 := T_186342 - node T_186345 = eq(T_186319, UInt<1>(0)) - node T_186346 = eq(T_186345, UInt<1>(0)) - node T_186347 = and(T_186346, read.valid) - reg T_186348 : UInt<8> - when T_186347 : T_186348 := raddr - accessor T_186349 = T_186322[T_186348] - T_186320[0] := T_186349 - cmem T_186350 : UInt<128>[256] - - - node T_186351 = eq(T_186318, UInt<1>(0)) - node T_186352 = eq(T_186351, UInt<1>(0)) - node T_186353 = and(T_186352, write.valid) - node T_186354 = bit(write.bits.wmask, 1) - node T_186355 = and(T_186353, T_186354) - when T_186355 : - node T_186356 = bits(write.bits.data, 127, 64) - node T_186357 = cat(T_186356, T_186356) - node T_186358 = bit(T_186318, 0) - node T_186359 = bit(T_186318, 1) - wire T_186360 : UInt<1>[2] - T_186360[0] := T_186358 - T_186360[1] := T_186359 - node T_186361 = subw(UInt<64>(0), UInt<7>(64)) - node T_186362 = subw(UInt<64>(0), UInt<7>(64)) - wire T_186363 : UInt<64>[2] - T_186363[0] := T_186361 - T_186363[1] := T_186362 - node T_186364 = cat(T_186363[1], T_186363[0]) - accessor T_186365 = T_186350[waddr] - node T_186366 = not(T_186364) - node T_186367 = and(T_186365, T_186366) - node T_186368 = and(T_186357, T_186364) - node T_186369 = or(T_186367, T_186368) - wire T_186370 : UInt<128> - node T_186371 = bits(T_186369, 127, 0) - T_186370 := T_186371 - accessor T_186372 = T_186350[waddr] - T_186372 := T_186370 - node T_186373 = eq(T_186319, UInt<1>(0)) - node T_186374 = eq(T_186373, UInt<1>(0)) - node T_186375 = and(T_186374, read.valid) - reg T_186376 : UInt<8> - when T_186375 : T_186376 := raddr - accessor T_186377 = T_186350[T_186376] - T_186320[1] := T_186377 - node T_186378 = bits(T_186320[0], 63, 0) - node T_186379 = bits(T_186320[1], 63, 0) - wire T_186380 : UInt<64>[2] - T_186380[0] := T_186378 - T_186380[1] := T_186379 - node T_186381 = bits(T_186321, 3, 3) - accessor T_186382 = T_186380[T_186381] - wire T_186383 : UInt<64>[2] - T_186383[0] := T_186382 - T_186383[1] := T_186380[1] - node T_186384 = cat(T_186383[1], T_186383[0]) - resp[0] := T_186384 - node T_186385 = bits(T_186320[0], 127, 64) - node T_186386 = bits(T_186320[1], 127, 64) - wire T_186387 : UInt<64>[2] - T_186387[0] := T_186385 - T_186387[1] := T_186386 - node T_186388 = bits(T_186321, 3, 3) - accessor T_186389 = T_186387[T_186388] - wire T_186390 : UInt<64>[2] - T_186390[0] := T_186389 - T_186390[1] := T_186387[1] - node T_186391 = cat(T_186390[1], T_186390[0]) - resp[1] := T_186391 - node T_186392 = bits(write.bits.way_en, 3, 2) - node T_186393 = bits(read.bits.way_en, 3, 2) - wire T_186394 : UInt<128>[2] - reg T_186395 : UInt<12> - when read.valid : T_186395 := read.bits.addr - cmem T_186396 : UInt<128>[256] - - - node T_186397 = eq(T_186392, UInt<1>(0)) - node T_186398 = eq(T_186397, UInt<1>(0)) - node T_186399 = and(T_186398, write.valid) - node T_186400 = bit(write.bits.wmask, 0) - node T_186401 = and(T_186399, T_186400) - when T_186401 : - node T_186402 = bits(write.bits.data, 63, 0) - node T_186403 = cat(T_186402, T_186402) - node T_186404 = bit(T_186392, 0) - node T_186405 = bit(T_186392, 1) - wire T_186406 : UInt<1>[2] - T_186406[0] := T_186404 - T_186406[1] := T_186405 - node T_186407 = subw(UInt<64>(0), UInt<7>(64)) - node T_186408 = subw(UInt<64>(0), UInt<7>(64)) - wire T_186409 : UInt<64>[2] - T_186409[0] := T_186407 - T_186409[1] := T_186408 - node T_186410 = cat(T_186409[1], T_186409[0]) - accessor T_186411 = T_186396[waddr] - node T_186412 = not(T_186410) - node T_186413 = and(T_186411, T_186412) - node T_186414 = and(T_186403, T_186410) - node T_186415 = or(T_186413, T_186414) - wire T_186416 : UInt<128> - node T_186417 = bits(T_186415, 127, 0) - T_186416 := T_186417 - accessor T_186418 = T_186396[waddr] - T_186418 := T_186416 - node T_186419 = eq(T_186393, UInt<1>(0)) - node T_186420 = eq(T_186419, UInt<1>(0)) - node T_186421 = and(T_186420, read.valid) - reg T_186422 : UInt<8> - when T_186421 : T_186422 := raddr - accessor T_186423 = T_186396[T_186422] - T_186394[0] := T_186423 - cmem T_186424 : UInt<128>[256] - - - node T_186425 = eq(T_186392, UInt<1>(0)) - node T_186426 = eq(T_186425, UInt<1>(0)) - node T_186427 = and(T_186426, write.valid) - node T_186428 = bit(write.bits.wmask, 1) - node T_186429 = and(T_186427, T_186428) - when T_186429 : - node T_186430 = bits(write.bits.data, 127, 64) - node T_186431 = cat(T_186430, T_186430) - node T_186432 = bit(T_186392, 0) - node T_186433 = bit(T_186392, 1) - wire T_186434 : UInt<1>[2] - T_186434[0] := T_186432 - T_186434[1] := T_186433 - node T_186435 = subw(UInt<64>(0), UInt<7>(64)) - node T_186436 = subw(UInt<64>(0), UInt<7>(64)) - wire T_186437 : UInt<64>[2] - T_186437[0] := T_186435 - T_186437[1] := T_186436 - node T_186438 = cat(T_186437[1], T_186437[0]) - accessor T_186439 = T_186424[waddr] - node T_186440 = not(T_186438) - node T_186441 = and(T_186439, T_186440) - node T_186442 = and(T_186431, T_186438) - node T_186443 = or(T_186441, T_186442) - wire T_186444 : UInt<128> - node T_186445 = bits(T_186443, 127, 0) - T_186444 := T_186445 - accessor T_186446 = T_186424[waddr] - T_186446 := T_186444 - node T_186447 = eq(T_186393, UInt<1>(0)) - node T_186448 = eq(T_186447, UInt<1>(0)) - node T_186449 = and(T_186448, read.valid) - reg T_186450 : UInt<8> - when T_186449 : T_186450 := raddr - accessor T_186451 = T_186424[T_186450] - T_186394[1] := T_186451 - node T_186452 = bits(T_186394[0], 63, 0) - node T_186453 = bits(T_186394[1], 63, 0) - wire T_186454 : UInt<64>[2] - T_186454[0] := T_186452 - T_186454[1] := T_186453 - node T_186455 = bits(T_186395, 3, 3) - accessor T_186456 = T_186454[T_186455] - wire T_186457 : UInt<64>[2] - T_186457[0] := T_186456 - T_186457[1] := T_186454[1] - node T_186458 = cat(T_186457[1], T_186457[0]) - resp[2] := T_186458 - node T_186459 = bits(T_186394[0], 127, 64) - node T_186460 = bits(T_186394[1], 127, 64) - wire T_186461 : UInt<64>[2] - T_186461[0] := T_186459 - T_186461[1] := T_186460 - node T_186462 = bits(T_186395, 3, 3) - accessor T_186463 = T_186461[T_186462] - wire T_186464 : UInt<64>[2] - T_186464[0] := T_186463 - T_186464[1] := T_186461[1] - node T_186465 = cat(T_186464[1], T_186464[0]) - resp[3] := T_186465 - read.ready := UInt<1>(1) - write.ready := UInt<1>(1) - module Arbiter_145852 : - input in : {flip ready : UInt<1>, valid : UInt<1>, bits : {way_en : UInt<4>, addr : UInt<12>}}[4] - output out : {flip ready : UInt<1>, valid : UInt<1>, bits : {way_en : UInt<4>, addr : UInt<12>}} - output chosen : UInt<2> - - wire T_186466 : UInt<2> - node T_186467 = or(UInt<1>(0), in[0].valid) - node T_186468 = eq(T_186467, UInt<1>(0)) - node T_186469 = or(UInt<1>(0), in[0].valid) - node T_186470 = or(T_186469, in[1].valid) - node T_186471 = eq(T_186470, UInt<1>(0)) - node T_186472 = or(UInt<1>(0), in[0].valid) - node T_186473 = or(T_186472, in[1].valid) - node T_186474 = or(T_186473, in[2].valid) - node T_186475 = eq(T_186474, UInt<1>(0)) - node T_186476 = eq(UInt<2>(3), UInt<1>(0)) - wire T_186477 : UInt<1> - T_186477 := UInt<1>(1) - when UInt<1>(0) : T_186477 := T_186476 - node T_186478 = and(T_186477, out.ready) - in[0].ready := T_186478 - node T_186479 = eq(UInt<2>(3), UInt<1>(1)) - wire T_186480 : UInt<1> - T_186480 := T_186468 - when UInt<1>(0) : T_186480 := T_186479 - node T_186481 = and(T_186480, out.ready) - in[1].ready := T_186481 - node T_186482 = eq(UInt<2>(3), UInt<2>(2)) - wire T_186483 : UInt<1> - T_186483 := T_186471 - when UInt<1>(0) : T_186483 := T_186482 - node T_186484 = and(T_186483, out.ready) - in[2].ready := T_186484 - node T_186485 = eq(UInt<2>(3), UInt<2>(3)) - wire T_186486 : UInt<1> - T_186486 := T_186475 - when UInt<1>(0) : T_186486 := T_186485 - node T_186487 = and(T_186486, out.ready) - in[3].ready := T_186487 - accessor T_186488 = in[T_186466] - out.valid := T_186488.valid - accessor T_186489 = in[T_186466] - out.bits := T_186489.bits - chosen := T_186466 - wire T_186490 : UInt<2> - T_186490 := UInt<2>(3) - when in[2].valid : T_186490 := UInt<2>(2) - wire T_186491 : UInt<2> - T_186491 := T_186490 - when in[1].valid : T_186491 := UInt<1>(1) - wire T_186492 : UInt<2> - T_186492 := T_186491 - when in[0].valid : T_186492 := UInt<1>(0) - wire T_186493 : UInt<2> - T_186493 := T_186492 - when UInt<1>(0) : T_186493 := UInt<2>(3) - T_186466 := T_186493 - module Arbiter_145932 : - input in : {flip ready : UInt<1>, valid : UInt<1>, bits : {way_en : UInt<4>, addr : UInt<12>, wmask : UInt<2>, data : UInt<128>}}[2] - output out : {flip ready : UInt<1>, valid : UInt<1>, bits : {way_en : UInt<4>, addr : UInt<12>, wmask : UInt<2>, data : UInt<128>}} - output chosen : UInt<1> - - wire T_186494 : UInt<1> - node T_186495 = or(UInt<1>(0), in[0].valid) - node T_186496 = eq(T_186495, UInt<1>(0)) - node T_186497 = eq(UInt<1>(1), UInt<1>(0)) - wire T_186498 : UInt<1> - T_186498 := UInt<1>(1) - when UInt<1>(0) : T_186498 := T_186497 - node T_186499 = and(T_186498, out.ready) - in[0].ready := T_186499 - node T_186500 = eq(UInt<1>(1), UInt<1>(1)) - wire T_186501 : UInt<1> - T_186501 := T_186496 - when UInt<1>(0) : T_186501 := T_186500 - node T_186502 = and(T_186501, out.ready) - in[1].ready := T_186502 - accessor T_186503 = in[T_186494] - out.valid := T_186503.valid - accessor T_186504 = in[T_186494] - out.bits := T_186504.bits - chosen := T_186494 - wire T_186505 : UInt<1> - T_186505 := UInt<1>(1) - when in[0].valid : T_186505 := UInt<1>(0) - wire T_186506 : UInt<1> - T_186506 := T_186505 - when UInt<1>(0) : T_186506 := UInt<1>(1) - T_186494 := T_186506 - module AMOALU_147223 : - input addr : UInt<6> - input cmd : UInt<5> - input typ : UInt<3> - input lhs : UInt<64> - input rhs : UInt<64> - output out : UInt<64> - - node T_186507 = eq(typ, UInt<3>(0)) - node T_186508 = eq(typ, UInt<3>(4)) - node T_186509 = or(T_186507, T_186508) - node T_186510 = eq(typ, UInt<3>(1)) - node T_186511 = eq(typ, UInt<3>(5)) - node T_186512 = or(T_186510, T_186511) - node T_186513 = eq(typ, UInt<3>(2)) - node T_186514 = eq(typ, UInt<3>(6)) - node T_186515 = or(T_186513, T_186514) - node T_186516 = bits(rhs, 31, 0) - node T_186517 = cat(T_186516, T_186516) - wire rhs : UInt<64> - rhs := rhs - when T_186515 : rhs := T_186517 - node T_186518 = eq(cmd, UInt<5>(12)) - node T_186519 = eq(cmd, UInt<5>(13)) - node sgned = or(T_186518, T_186519) - node T_186520 = eq(cmd, UInt<5>(13)) - node T_186521 = eq(cmd, UInt<5>(15)) - node max = or(T_186520, T_186521) - node T_186522 = eq(cmd, UInt<5>(12)) - node T_186523 = eq(cmd, UInt<5>(14)) - node min = or(T_186522, T_186523) - node T_186524 = eq(typ, UInt<3>(2)) - node T_186525 = eq(typ, UInt<3>(6)) - node T_186526 = or(T_186524, T_186525) - node T_186527 = eq(typ, UInt<3>(0)) - node T_186528 = or(T_186526, T_186527) - node T_186529 = eq(typ, UInt<3>(4)) - node word = or(T_186528, T_186529) - node T_186530 = not(UInt<64>(0)) - node T_186531 = bit(addr, 2) - node T_186532 = dshl(T_186531, UInt<5>(31)) - node mask = xor(T_186530, T_186532) - node T_186533 = and(lhs, mask) - node T_186534 = and(rhs, mask) - node adder_out = addw(T_186533, T_186534) - node T_186535 = bit(addr, 2) - node T_186536 = eq(T_186535, UInt<1>(0)) - node T_186537 = and(word, T_186536) - node T_186538 = bit(lhs, 31) - node T_186539 = bit(lhs, 63) - wire cmp_lhs : UInt<1> - cmp_lhs := T_186539 - when T_186537 : cmp_lhs := T_186538 - node T_186540 = bit(addr, 2) - node T_186541 = eq(T_186540, UInt<1>(0)) - node T_186542 = and(word, T_186541) - node T_186543 = bit(rhs, 31) - node T_186544 = bit(rhs, 63) - wire cmp_rhs : UInt<1> - cmp_rhs := T_186544 - when T_186542 : cmp_rhs := T_186543 - node T_186545 = bits(lhs, 31, 0) - node T_186546 = bits(rhs, 31, 0) - node lt_lo = lt(T_186545, T_186546) - node T_186547 = bits(lhs, 63, 32) - node T_186548 = bits(rhs, 63, 32) - node lt_hi = lt(T_186547, T_186548) - node T_186549 = bits(lhs, 63, 32) - node T_186550 = bits(rhs, 63, 32) - node eq_hi = eq(T_186549, T_186550) - node T_186551 = bit(addr, 2) - wire T_186552 : UInt<1> - T_186552 := lt_lo - when T_186551 : T_186552 := lt_hi - node T_186553 = and(eq_hi, lt_lo) - node T_186554 = or(lt_hi, T_186553) - wire lt : UInt<1> - lt := T_186554 - when word : lt := T_186552 - node T_186555 = eq(cmp_lhs, cmp_rhs) - wire T_186556 : UInt<1> - T_186556 := cmp_rhs - when sgned : T_186556 := cmp_lhs - wire less : UInt<1> - less := T_186556 - when T_186555 : less := lt - node T_186557 = eq(cmd, UInt<5>(8)) - node T_186558 = eq(cmd, UInt<5>(11)) - node T_186559 = and(lhs, rhs) - node T_186560 = eq(cmd, UInt<5>(10)) - node T_186561 = or(lhs, rhs) - node T_186562 = eq(cmd, UInt<5>(9)) - node T_186563 = xor(lhs, rhs) - wire T_186564 : UInt<1> - T_186564 := max - when less : T_186564 := min - node T_186565 = bits(rhs, 7, 0) - node T_186566 = cat(T_186565, T_186565) - node T_186567 = cat(T_186566, T_186566) - node T_186568 = cat(T_186567, T_186567) - node T_186569 = bits(rhs, 15, 0) - node T_186570 = cat(T_186569, T_186569) - node T_186571 = cat(T_186570, T_186570) - wire T_186572 : UInt<64> - T_186572 := rhs - when T_186512 : T_186572 := T_186571 - wire T_186573 : UInt<64> - T_186573 := T_186572 - when T_186509 : T_186573 := T_186568 - wire T_186574 : UInt<64> - T_186574 := T_186573 - when T_186564 : T_186574 := lhs - wire T_186575 : UInt<64> - T_186575 := T_186574 - when T_186562 : T_186575 := T_186563 - wire T_186576 : UInt<64> - T_186576 := T_186575 - when T_186560 : T_186576 := T_186561 - wire T_186577 : UInt<64> - T_186577 := T_186576 - when T_186558 : T_186577 := T_186559 - wire out : UInt<64> - out := T_186577 - when T_186557 : out := adder_out - node T_186578 = bits(addr, 2, 0) - node T_186579 = dshl(UInt<1>(1), T_186578) - node T_186580 = bits(addr, 2, 1) - node T_186581 = cat(T_186580, UInt<1>(0)) - node T_186582 = dshl(UInt<2>(3), T_186581) - node T_186583 = bit(addr, 2) - node T_186584 = cat(T_186583, UInt<2>(0)) - node T_186585 = dshl(UInt<4>(15), T_186584) - wire T_186586 : UInt<8> - T_186586 := UInt<8>(255) - when T_186515 : T_186586 := T_186585 - wire T_186587 : UInt<8> - T_186587 := T_186586 - when T_186512 : T_186587 := T_186582 - wire T_186588 : UInt<8> - T_186588 := T_186587 - when T_186509 : T_186588 := T_186579 - node T_186589 = bit(T_186588, 0) - node T_186590 = bit(T_186588, 1) - node T_186591 = bit(T_186588, 2) - node T_186592 = bit(T_186588, 3) - node T_186593 = bit(T_186588, 4) - node T_186594 = bit(T_186588, 5) - node T_186595 = bit(T_186588, 6) - node T_186596 = bit(T_186588, 7) - wire T_186597 : UInt<1>[8] - T_186597[0] := T_186589 - T_186597[1] := T_186590 - T_186597[2] := T_186591 - T_186597[3] := T_186592 - T_186597[4] := T_186593 - T_186597[5] := T_186594 - T_186597[6] := T_186595 - T_186597[7] := T_186596 - node T_186598 = subw(UInt<8>(0), UInt<4>(8)) - node T_186599 = subw(UInt<8>(0), UInt<4>(8)) - node T_186600 = subw(UInt<8>(0), UInt<4>(8)) - node T_186601 = subw(UInt<8>(0), UInt<4>(8)) - node T_186602 = subw(UInt<8>(0), UInt<4>(8)) - node T_186603 = subw(UInt<8>(0), UInt<4>(8)) - node T_186604 = subw(UInt<8>(0), UInt<4>(8)) - node T_186605 = subw(UInt<8>(0), UInt<4>(8)) - wire T_186606 : UInt<8>[8] - T_186606[0] := T_186598 - T_186606[1] := T_186599 - T_186606[2] := T_186600 - T_186606[3] := T_186601 - T_186606[4] := T_186602 - T_186606[5] := T_186603 - T_186606[6] := T_186604 - T_186606[7] := T_186605 - node T_186607 = cat(T_186606[7], T_186606[6]) - node T_186608 = cat(T_186606[5], T_186606[4]) - node T_186609 = cat(T_186607, T_186608) - node T_186610 = cat(T_186606[3], T_186606[2]) - node T_186611 = cat(T_186606[1], T_186606[0]) - node T_186612 = cat(T_186610, T_186611) - node wmask = cat(T_186609, T_186612) - node T_186613 = and(wmask, out) - node T_186614 = not(wmask) - node T_186615 = and(T_186614, lhs) - node T_186616 = or(T_186613, T_186615) - out := T_186616 - module LockingArbiter_148764 : - input in : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}[2] - output out : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}} - output chosen : UInt<1> - - wire T_186617 : UInt<3>[3] - T_186617[0] := UInt<3>(0) - T_186617[1] := UInt<3>(1) - T_186617[2] := UInt<3>(2) - wire T_186618 : UInt<2>[2] - T_186618[0] := UInt<2>(0) - T_186618[1] := UInt<2>(1) - wire T_186619 : UInt<2>[3] - T_186619[0] := UInt<2>(1) - T_186619[1] := UInt<2>(2) - T_186619[2] := UInt<2>(3) - wire T_186620 : UInt<2>[2] - T_186620[0] := UInt<2>(2) - T_186620[1] := UInt<2>(3) - wire T_186621 : UInt<2>[1] - T_186621[0] := UInt<2>(3) - wire T_186622 : UInt<3>[3] - T_186622[0] := UInt<3>(0) - T_186622[1] := UInt<3>(1) - T_186622[2] := UInt<3>(2) - wire T_186623 : UInt<2>[2] - T_186623[0] := UInt<2>(0) - T_186623[1] := UInt<2>(1) - wire T_186624 : UInt<2>[3] - T_186624[0] := UInt<2>(1) - T_186624[1] := UInt<2>(2) - T_186624[2] := UInt<2>(3) - wire T_186625 : UInt<2>[2] - T_186625[0] := UInt<2>(2) - T_186625[1] := UInt<2>(3) - wire T_186626 : UInt<2>[1] - T_186626[0] := UInt<2>(3) - wire T_186627 : UInt<3>[3] - T_186627[0] := UInt<3>(0) - T_186627[1] := UInt<3>(1) - T_186627[2] := UInt<3>(2) - wire T_186628 : UInt<2>[2] - T_186628[0] := UInt<2>(0) - T_186628[1] := UInt<2>(1) - wire T_186629 : UInt<2>[3] - T_186629[0] := UInt<2>(1) - T_186629[1] := UInt<2>(2) - T_186629[2] := UInt<2>(3) - wire T_186630 : UInt<2>[2] - T_186630[0] := UInt<2>(2) - T_186630[1] := UInt<2>(3) - wire T_186631 : UInt<2>[1] - T_186631[0] := UInt<2>(3) - wire T_186632 : UInt<3>[3] - T_186632[0] := UInt<3>(0) - T_186632[1] := UInt<3>(1) - T_186632[2] := UInt<3>(2) - wire T_186633 : UInt<2>[2] - T_186633[0] := UInt<2>(0) - T_186633[1] := UInt<2>(1) - wire T_186634 : UInt<2>[3] - T_186634[0] := UInt<2>(1) - T_186634[1] := UInt<2>(2) - T_186634[2] := UInt<2>(3) - wire T_186635 : UInt<2>[2] - T_186635[0] := UInt<2>(2) - T_186635[1] := UInt<2>(3) - wire T_186636 : UInt<2>[1] - T_186636[0] := UInt<2>(3) - reg T_186637 : UInt<1> - onreset T_186637 := UInt<1>(0) - reg T_186638 : UInt<1> - onreset T_186638 := UInt<1>(1) - wire T_186639 : UInt<1> - node T_186640 = or(UInt<1>(0), in[0].valid) - node T_186641 = eq(T_186640, UInt<1>(0)) - node T_186642 = eq(T_186638, UInt<1>(0)) - wire T_186643 : UInt<1> - T_186643 := UInt<1>(1) - when T_186637 : T_186643 := T_186642 - node T_186644 = and(T_186643, out.ready) - in[0].ready := T_186644 - node T_186645 = eq(T_186638, UInt<1>(1)) - wire T_186646 : UInt<1> - T_186646 := T_186641 - when T_186637 : T_186646 := T_186645 - node T_186647 = and(T_186646, out.ready) - in[1].ready := T_186647 - wire T_186648 : UInt<3>[3] - T_186648[0] := UInt<3>(0) - T_186648[1] := UInt<3>(1) - T_186648[2] := UInt<3>(2) - wire T_186649 : UInt<2>[2] - T_186649[0] := UInt<2>(0) - T_186649[1] := UInt<2>(1) - wire T_186650 : UInt<2>[3] - T_186650[0] := UInt<2>(1) - T_186650[1] := UInt<2>(2) - T_186650[2] := UInt<2>(3) - wire T_186651 : UInt<2>[2] - T_186651[0] := UInt<2>(2) - T_186651[1] := UInt<2>(3) - wire T_186652 : UInt<2>[1] - T_186652[0] := UInt<2>(3) - accessor T_186653 = in[T_186639] - out.valid := T_186653.valid - wire T_186654 : UInt<3>[3] - T_186654[0] := UInt<3>(0) - T_186654[1] := UInt<3>(1) - T_186654[2] := UInt<3>(2) - wire T_186655 : UInt<2>[2] - T_186655[0] := UInt<2>(0) - T_186655[1] := UInt<2>(1) - wire T_186656 : UInt<2>[3] - T_186656[0] := UInt<2>(1) - T_186656[1] := UInt<2>(2) - T_186656[2] := UInt<2>(3) - wire T_186657 : UInt<2>[2] - T_186657[0] := UInt<2>(2) - T_186657[1] := UInt<2>(3) - wire T_186658 : UInt<2>[1] - T_186658[0] := UInt<2>(3) - accessor T_186659 = in[T_186639] - out.bits := T_186659.bits - chosen := T_186639 - reg T_186660 : UInt<2> - onreset T_186660 := UInt<2>(0) - node T_186661 = addw(T_186660, UInt<1>(1)) - - node T_186662 = and(out.ready, out.valid) - when T_186662 : - - - node T_186663 = eq(T_186632[0], out.bits.r_type) - node T_186664 = eq(T_186632[1], out.bits.r_type) - node T_186665 = eq(T_186632[2], out.bits.r_type) - node T_186666 = or(UInt<1>(0), T_186663) - node T_186667 = or(T_186666, T_186664) - node T_186668 = or(T_186667, T_186665) - node T_186669 = and(UInt<1>(1), T_186668) - when T_186669 : - T_186660 := T_186661 - - node T_186670 = eq(T_186637, UInt<1>(0)) - when T_186670 : - T_186637 := UInt<1>(1) - node T_186671 = and(in[0].ready, in[0].valid) - node T_186672 = and(in[1].ready, in[1].valid) - wire T_186673 : UInt<1>[2] - T_186673[0] := T_186671 - T_186673[1] := T_186672 - wire T_186674 : UInt<1> - T_186674 := UInt<1>(1) - when T_186673[0] : T_186674 := UInt<1>(0) - T_186638 := T_186674 - - node T_186675 = eq(T_186661, UInt<1>(0)) - when T_186675 : T_186637 := UInt<1>(0) - wire choose : UInt<1> - choose := UInt<1>(1) - when in[0].valid : choose := UInt<1>(0) - wire T_186676 : UInt<1> - T_186676 := choose - when T_186637 : T_186676 := T_186638 - T_186639 := T_186676 - module FlowThroughSerializer_148912 : - input in : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}} - output out : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}} - output cnt : UInt<1> - output done : UInt<1> - - wire T_186677 : UInt<3>[3] - T_186677[0] := UInt<3>(0) - T_186677[1] := UInt<3>(1) - T_186677[2] := UInt<3>(2) - wire T_186678 : UInt<2>[2] - T_186678[0] := UInt<2>(0) - T_186678[1] := UInt<2>(1) - wire T_186679 : UInt<2>[3] - T_186679[0] := UInt<2>(1) - T_186679[1] := UInt<2>(2) - T_186679[2] := UInt<2>(3) - wire T_186680 : UInt<2>[2] - T_186680[0] := UInt<2>(2) - T_186680[1] := UInt<2>(3) - wire T_186681 : UInt<2>[1] - T_186681[0] := UInt<2>(3) - wire T_186682 : UInt<3>[3] - T_186682[0] := UInt<3>(0) - T_186682[1] := UInt<3>(1) - T_186682[2] := UInt<3>(2) - wire T_186683 : UInt<2>[2] - T_186683[0] := UInt<2>(0) - T_186683[1] := UInt<2>(1) - wire T_186684 : UInt<2>[3] - T_186684[0] := UInt<2>(1) - T_186684[1] := UInt<2>(2) - T_186684[2] := UInt<2>(3) - wire T_186685 : UInt<2>[2] - T_186685[0] := UInt<2>(2) - T_186685[1] := UInt<2>(3) - wire T_186686 : UInt<2>[1] - T_186686[0] := UInt<2>(3) - in <> out - cnt := T_186687 - done := UInt<1>(1) - module Arbiter_149454 : - input in : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>, way_en : UInt<4>}}[2] - output out : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>, way_en : UInt<4>}} - output chosen : UInt<1> - - wire T_186688 : UInt<3>[3] - T_186688[0] := UInt<3>(0) - T_186688[1] := UInt<3>(1) - T_186688[2] := UInt<3>(2) - wire T_186689 : UInt<2>[2] - T_186689[0] := UInt<2>(0) - T_186689[1] := UInt<2>(1) - wire T_186690 : UInt<2>[3] - T_186690[0] := UInt<2>(1) - T_186690[1] := UInt<2>(2) - T_186690[2] := UInt<2>(3) - wire T_186691 : UInt<2>[2] - T_186691[0] := UInt<2>(2) - T_186691[1] := UInt<2>(3) - wire T_186692 : UInt<2>[1] - T_186692[0] := UInt<2>(3) - wire T_186693 : UInt<3>[3] - T_186693[0] := UInt<3>(0) - T_186693[1] := UInt<3>(1) - T_186693[2] := UInt<3>(2) - wire T_186694 : UInt<2>[2] - T_186694[0] := UInt<2>(0) - T_186694[1] := UInt<2>(1) - wire T_186695 : UInt<2>[3] - T_186695[0] := UInt<2>(1) - T_186695[1] := UInt<2>(2) - T_186695[2] := UInt<2>(3) - wire T_186696 : UInt<2>[2] - T_186696[0] := UInt<2>(2) - T_186696[1] := UInt<2>(3) - wire T_186697 : UInt<2>[1] - T_186697[0] := UInt<2>(3) - wire T_186698 : UInt<3>[3] - T_186698[0] := UInt<3>(0) - T_186698[1] := UInt<3>(1) - T_186698[2] := UInt<3>(2) - wire T_186699 : UInt<2>[2] - T_186699[0] := UInt<2>(0) - T_186699[1] := UInt<2>(1) - wire T_186700 : UInt<2>[3] - T_186700[0] := UInt<2>(1) - T_186700[1] := UInt<2>(2) - T_186700[2] := UInt<2>(3) - wire T_186701 : UInt<2>[2] - T_186701[0] := UInt<2>(2) - T_186701[1] := UInt<2>(3) - wire T_186702 : UInt<2>[1] - T_186702[0] := UInt<2>(3) - wire T_186703 : UInt<3>[3] - T_186703[0] := UInt<3>(0) - T_186703[1] := UInt<3>(1) - T_186703[2] := UInt<3>(2) - wire T_186704 : UInt<2>[2] - T_186704[0] := UInt<2>(0) - T_186704[1] := UInt<2>(1) - wire T_186705 : UInt<2>[3] - T_186705[0] := UInt<2>(1) - T_186705[1] := UInt<2>(2) - T_186705[2] := UInt<2>(3) - wire T_186706 : UInt<2>[2] - T_186706[0] := UInt<2>(2) - T_186706[1] := UInt<2>(3) - wire T_186707 : UInt<2>[1] - T_186707[0] := UInt<2>(3) - wire T_186708 : UInt<1> - node T_186709 = or(UInt<1>(0), in[0].valid) - node T_186710 = eq(T_186709, UInt<1>(0)) - node T_186711 = eq(UInt<1>(1), UInt<1>(0)) - wire T_186712 : UInt<1> - T_186712 := UInt<1>(1) - when UInt<1>(0) : T_186712 := T_186711 - node T_186713 = and(T_186712, out.ready) - in[0].ready := T_186713 - node T_186714 = eq(UInt<1>(1), UInt<1>(1)) - wire T_186715 : UInt<1> - T_186715 := T_186710 - when UInt<1>(0) : T_186715 := T_186714 - node T_186716 = and(T_186715, out.ready) - in[1].ready := T_186716 - wire T_186717 : UInt<3>[3] - T_186717[0] := UInt<3>(0) - T_186717[1] := UInt<3>(1) - T_186717[2] := UInt<3>(2) - wire T_186718 : UInt<2>[2] - T_186718[0] := UInt<2>(0) - T_186718[1] := UInt<2>(1) - wire T_186719 : UInt<2>[3] - T_186719[0] := UInt<2>(1) - T_186719[1] := UInt<2>(2) - T_186719[2] := UInt<2>(3) - wire T_186720 : UInt<2>[2] - T_186720[0] := UInt<2>(2) - T_186720[1] := UInt<2>(3) - wire T_186721 : UInt<2>[1] - T_186721[0] := UInt<2>(3) - accessor T_186722 = in[T_186708] - out.valid := T_186722.valid - wire T_186723 : UInt<3>[3] - T_186723[0] := UInt<3>(0) - T_186723[1] := UInt<3>(1) - T_186723[2] := UInt<3>(2) - wire T_186724 : UInt<2>[2] - T_186724[0] := UInt<2>(0) - T_186724[1] := UInt<2>(1) - wire T_186725 : UInt<2>[3] - T_186725[0] := UInt<2>(1) - T_186725[1] := UInt<2>(2) - T_186725[2] := UInt<2>(3) - wire T_186726 : UInt<2>[2] - T_186726[0] := UInt<2>(2) - T_186726[1] := UInt<2>(3) - wire T_186727 : UInt<2>[1] - T_186727[0] := UInt<2>(3) - accessor T_186728 = in[T_186708] - out.bits := T_186728.bits - chosen := T_186708 - wire T_186729 : UInt<1> - T_186729 := UInt<1>(1) - when in[0].valid : T_186729 := UInt<1>(0) - wire T_186730 : UInt<1> - T_186730 := T_186729 - when UInt<1>(0) : T_186730 := UInt<1>(1) - T_186708 := T_186730 - module HellaCache : - input cpu : {req : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<40>, tag : UInt<8>, cmd : UInt<5>, typ : UInt<3>, kill : UInt<1>, phys : UInt<1>, data : UInt<64>}}, flip resp : {valid : UInt<1>, bits : {addr : UInt<40>, tag : UInt<8>, cmd : UInt<5>, typ : UInt<3>, data : UInt<64>, nack : UInt<1>, replay : UInt<1>, has_data : UInt<1>, data_subword : UInt<64>, store_data : UInt<64>}}, flip replay_next : {valid : UInt<1>, bits : UInt<8>}, flip xcpt : {ma : {ld : UInt<1>, st : UInt<1>}, pf : {ld : UInt<1>, st : UInt<1>}}, invalidate_lr : UInt<1>, flip ordered : UInt<1>} - output ptw : {req : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<27>, prv : UInt<2>, store : UInt<1>, fetch : UInt<1>}}, flip resp : {valid : UInt<1>, bits : {error : UInt<1>, pte : {ppn : UInt<20>, reserved_for_software : UInt<3>, d : UInt<1>, r : UInt<1>, typ : UInt<4>, v : UInt<1>}}}, flip status : {sd : UInt<1>, zero2 : UInt<31>, sd_rv32 : UInt<1>, zero1 : UInt<9>, vm : UInt<5>, mprv : UInt<1>, xs : UInt<2>, fs : UInt<2>, prv3 : UInt<2>, ie3 : UInt<1>, prv2 : UInt<2>, ie2 : UInt<1>, prv1 : UInt<2>, ie1 : UInt<1>, prv : UInt<2>, ie : UInt<1>}, flip invalidate : UInt<1>} - output mem__ : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}, flip probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>}}, release : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}} - - wire T_186731 : UInt<3>[3] - T_186731[0] := UInt<3>(0) - T_186731[1] := UInt<3>(1) - T_186731[2] := UInt<3>(2) - wire T_186732 : UInt<2>[2] - T_186732[0] := UInt<2>(0) - T_186732[1] := UInt<2>(1) - wire T_186733 : UInt<2>[3] - T_186733[0] := UInt<2>(1) - T_186733[1] := UInt<2>(2) - T_186733[2] := UInt<2>(3) - wire T_186734 : UInt<2>[2] - T_186734[0] := UInt<2>(2) - T_186734[1] := UInt<2>(3) - wire T_186735 : UInt<2>[1] - T_186735[0] := UInt<2>(3) - wire T_186736 : UInt<3>[3] - T_186736[0] := UInt<3>(0) - T_186736[1] := UInt<3>(1) - T_186736[2] := UInt<3>(2) - wire T_186737 : UInt<2>[2] - T_186737[0] := UInt<2>(0) - T_186737[1] := UInt<2>(1) - wire T_186738 : UInt<2>[3] - T_186738[0] := UInt<2>(1) - T_186738[1] := UInt<2>(2) - T_186738[2] := UInt<2>(3) - wire T_186739 : UInt<2>[2] - T_186739[0] := UInt<2>(2) - T_186739[1] := UInt<2>(3) - wire T_186740 : UInt<2>[1] - T_186740[0] := UInt<2>(3) - wire T_186741 : UInt<3>[3] - T_186741[0] := UInt<3>(0) - T_186741[1] := UInt<3>(1) - T_186741[2] := UInt<3>(2) - wire T_186742 : UInt<2>[2] - T_186742[0] := UInt<2>(0) - T_186742[1] := UInt<2>(1) - wire T_186743 : UInt<2>[3] - T_186743[0] := UInt<2>(1) - T_186743[1] := UInt<2>(2) - T_186743[2] := UInt<2>(3) - wire T_186744 : UInt<2>[2] - T_186744[0] := UInt<2>(2) - T_186744[1] := UInt<2>(3) - wire T_186745 : UInt<2>[1] - T_186745[0] := UInt<2>(3) - wire T_186746 : UInt<3>[3] - T_186746[0] := UInt<3>(0) - T_186746[1] := UInt<3>(1) - T_186746[2] := UInt<3>(2) - wire T_186747 : UInt<2>[2] - T_186747[0] := UInt<2>(0) - T_186747[1] := UInt<2>(1) - wire T_186748 : UInt<2>[3] - T_186748[0] := UInt<2>(1) - T_186748[1] := UInt<2>(2) - T_186748[2] := UInt<2>(3) - wire T_186749 : UInt<2>[2] - T_186749[0] := UInt<2>(2) - T_186749[1] := UInt<2>(3) - wire T_186750 : UInt<2>[1] - T_186750[0] := UInt<2>(3) - wire T_186751 : UInt<3>[3] - T_186751[0] := UInt<3>(0) - T_186751[1] := UInt<3>(1) - T_186751[2] := UInt<3>(2) - wire T_186752 : UInt<2>[2] - T_186752[0] := UInt<2>(0) - T_186752[1] := UInt<2>(1) - wire T_186753 : UInt<2>[3] - T_186753[0] := UInt<2>(1) - T_186753[1] := UInt<2>(2) - T_186753[2] := UInt<2>(3) - wire T_186754 : UInt<2>[2] - T_186754[0] := UInt<2>(2) - T_186754[1] := UInt<2>(3) - wire T_186755 : UInt<2>[1] - T_186755[0] := UInt<2>(3) - wire T_186756 : UInt<3>[3] - T_186756[0] := UInt<3>(0) - T_186756[1] := UInt<3>(1) - T_186756[2] := UInt<3>(2) - wire T_186757 : UInt<2>[2] - T_186757[0] := UInt<2>(0) - T_186757[1] := UInt<2>(1) - wire T_186758 : UInt<2>[3] - T_186758[0] := UInt<2>(1) - T_186758[1] := UInt<2>(2) - T_186758[2] := UInt<2>(3) - wire T_186759 : UInt<2>[2] - T_186759[0] := UInt<2>(2) - T_186759[1] := UInt<2>(3) - wire T_186760 : UInt<2>[1] - T_186760[0] := UInt<2>(3) - wire T_186761 : UInt<3>[3] - T_186761[0] := UInt<3>(0) - T_186761[1] := UInt<3>(1) - T_186761[2] := UInt<3>(2) - wire T_186762 : UInt<2>[2] - T_186762[0] := UInt<2>(0) - T_186762[1] := UInt<2>(1) - wire T_186763 : UInt<2>[3] - T_186763[0] := UInt<2>(1) - T_186763[1] := UInt<2>(2) - T_186763[2] := UInt<2>(3) - wire T_186764 : UInt<2>[2] - T_186764[0] := UInt<2>(2) - T_186764[1] := UInt<2>(3) - wire T_186765 : UInt<2>[1] - T_186765[0] := UInt<2>(3) - wire T_186766 : UInt<3>[3] - T_186766[0] := UInt<3>(0) - T_186766[1] := UInt<3>(1) - T_186766[2] := UInt<3>(2) - wire T_186767 : UInt<2>[2] - T_186767[0] := UInt<2>(0) - T_186767[1] := UInt<2>(1) - wire T_186768 : UInt<2>[3] - T_186768[0] := UInt<2>(1) - T_186768[1] := UInt<2>(2) - T_186768[2] := UInt<2>(3) - wire T_186769 : UInt<2>[2] - T_186769[0] := UInt<2>(2) - T_186769[1] := UInt<2>(3) - wire T_186770 : UInt<2>[1] - T_186770[0] := UInt<2>(3) - wire T_186771 : UInt<3>[3] - T_186771[0] := UInt<3>(0) - T_186771[1] := UInt<3>(1) - T_186771[2] := UInt<3>(2) - wire T_186772 : UInt<2>[2] - T_186772[0] := UInt<2>(0) - T_186772[1] := UInt<2>(1) - wire T_186773 : UInt<2>[3] - T_186773[0] := UInt<2>(1) - T_186773[1] := UInt<2>(2) - T_186773[2] := UInt<2>(3) - wire T_186774 : UInt<2>[2] - T_186774[0] := UInt<2>(2) - T_186774[1] := UInt<2>(3) - wire T_186775 : UInt<2>[1] - T_186775[0] := UInt<2>(3) - inst wb of WritebackUnit - inst prober of ProbeUnit - inst mshrs of MSHRFile - cpu.req.ready := UInt<1>(1) - node T_186776 = and(cpu.req.ready, cpu.req.valid) - reg s1_valid : UInt<1> - onreset s1_valid := UInt<1>(0) - s1_valid := T_186776 - reg s1_req : {addr : UInt<40>, tag : UInt<8>, cmd : UInt<5>, typ : UInt<3>, kill : UInt<1>, phys : UInt<1>, data : UInt<64>} - node T_186777 = eq(cpu.req.bits.kill, UInt<1>(0)) - node s1_valid_masked = and(s1_valid, T_186777) - reg s1_replay : UInt<1> - onreset s1_replay := UInt<1>(0) - reg s1_clk_en : UInt<1> - reg s2_valid : UInt<1> - onreset s2_valid := UInt<1>(0) - s2_valid := s1_valid_masked - reg s2_req : {addr : UInt<40>, tag : UInt<8>, cmd : UInt<5>, typ : UInt<3>, kill : UInt<1>, phys : UInt<1>, data : UInt<64>} - reg T_186778 : UInt<1> - onreset T_186778 := UInt<1>(0) - T_186778 := s1_replay - node T_186779 = neq(s2_req.cmd, UInt<5>(5)) - node s2_replay = and(T_186778, T_186779) - wire s2_recycle : UInt<1> - wire s2_valid_masked : UInt<1> - reg s3_valid : UInt<1> - onreset s3_valid := UInt<1>(0) - reg s3_req : {addr : UInt<40>, tag : UInt<8>, cmd : UInt<5>, typ : UInt<3>, kill : UInt<1>, phys : UInt<1>, data : UInt<64>} - reg s3_way : UInt - reg s1_recycled : UInt<1> - onreset s1_recycled := UInt<1>(0) - when s1_clk_en : s1_recycled := s2_recycle - node T_186780 = eq(s1_req.cmd, UInt<5>(0)) - node T_186781 = eq(s1_req.cmd, UInt<5>(6)) - node T_186782 = or(T_186780, T_186781) - node T_186783 = bit(s1_req.cmd, 3) - node T_186784 = eq(s1_req.cmd, UInt<5>(4)) - node T_186785 = or(T_186783, T_186784) - node s1_read = or(T_186782, T_186785) - node T_186786 = eq(s1_req.cmd, UInt<5>(1)) - node T_186787 = eq(s1_req.cmd, UInt<5>(7)) - node T_186788 = or(T_186786, T_186787) - node T_186789 = bit(s1_req.cmd, 3) - node T_186790 = eq(s1_req.cmd, UInt<5>(4)) - node T_186791 = or(T_186789, T_186790) - node s1_write = or(T_186788, T_186791) - node s1_sc = eq(s1_req.cmd, UInt<5>(7)) - node T_186792 = or(s1_read, s1_write) - node T_186793 = eq(s1_req.cmd, UInt<5>(2)) - node T_186794 = eq(s1_req.cmd, UInt<5>(3)) - node T_186795 = or(T_186793, T_186794) - node s1_readwrite = or(T_186792, T_186795) - inst dtlb of TLB_142822 - dtlb.ptw <> ptw - node T_186796 = and(s1_valid_masked, s1_readwrite) - node T_186797 = eq(s1_req.phys, UInt<1>(0)) - node T_186798 = and(T_186796, T_186797) - dtlb.req.valid := T_186798 - dtlb.req.bits.passthrough := s1_req.phys - dtlb.req.bits.asid := UInt<1>(0) - node T_186799 = shr(s1_req.addr, 12) - dtlb.req.bits.vpn := T_186799 - dtlb.req.bits.instruction := UInt<1>(0) - dtlb.req.bits.store := s1_write - - - node T_186800 = eq(dtlb.req.ready, UInt<1>(0)) - node T_186801 = eq(cpu.req.bits.phys, UInt<1>(0)) - node T_186802 = and(T_186800, T_186801) - when T_186802 : cpu.req.ready := UInt<1>(0) - when cpu.req.valid : s1_req := cpu.req.bits - when wb.meta_read.valid : - node T_186803 = cat(wb.meta_read.bits.tag, wb.meta_read.bits.idx) - node T_186804 = shl(T_186803, 6) - s1_req.addr := T_186804 - s1_req.phys := UInt<1>(1) - when prober.meta_read.valid : - node T_186805 = cat(prober.meta_read.bits.tag, prober.meta_read.bits.idx) - node T_186806 = shl(T_186805, 6) - s1_req.addr := T_186806 - s1_req.phys := UInt<1>(1) - when mshrs.replay.valid : s1_req := mshrs.replay.bits - when s2_recycle : s1_req := s2_req - node T_186807 = bits(s1_req.addr, 11, 0) - node s1_addr = cat(dtlb.resp.ppn, T_186807) - when s1_clk_en : - s2_req.kill := s1_req.kill - s2_req.typ := s1_req.typ - s2_req.phys := s1_req.phys - s2_req.addr := s1_addr - when s1_write : - wire T_186808 : UInt<64> - T_186808 := cpu.req.bits.data - when s1_replay : T_186808 := mshrs.replay.bits.data - s2_req.data := T_186808 - when s1_recycled : s2_req.data := s1_req.data - s2_req.tag := s1_req.tag - s2_req.cmd := s1_req.cmd - node T_186809 = eq(s1_req.typ, UInt<3>(1)) - node T_186810 = eq(s1_req.typ, UInt<3>(5)) - node T_186811 = or(T_186809, T_186810) - node T_186812 = bit(s1_req.addr, 0) - node T_186813 = neq(T_186812, UInt<1>(0)) - node T_186814 = and(T_186811, T_186813) - node T_186815 = eq(s1_req.typ, UInt<3>(2)) - node T_186816 = eq(s1_req.typ, UInt<3>(6)) - node T_186817 = or(T_186815, T_186816) - node T_186818 = bits(s1_req.addr, 1, 0) - node T_186819 = neq(T_186818, UInt<1>(0)) - node T_186820 = and(T_186817, T_186819) - node T_186821 = or(T_186814, T_186820) - node T_186822 = eq(s1_req.typ, UInt<3>(3)) - node T_186823 = bits(s1_req.addr, 2, 0) - node T_186824 = neq(T_186823, UInt<1>(0)) - node T_186825 = and(T_186822, T_186824) - node misaligned = or(T_186821, T_186825) - node T_186826 = and(s1_read, misaligned) - cpu.xcpt.ma.ld := T_186826 - node T_186827 = and(s1_write, misaligned) - cpu.xcpt.ma.st := T_186827 - node T_186828 = eq(s1_req.phys, UInt<1>(0)) - node T_186829 = and(T_186828, s1_read) - node T_186830 = and(T_186829, dtlb.resp.xcpt_ld) - cpu.xcpt.pf.ld := T_186830 - node T_186831 = eq(s1_req.phys, UInt<1>(0)) - node T_186832 = and(T_186831, s1_write) - node T_186833 = and(T_186832, dtlb.resp.xcpt_st) - cpu.xcpt.pf.st := T_186833 - node T_186834 = or(cpu.xcpt.ma.ld, cpu.xcpt.ma.st) - node T_186835 = or(T_186834, cpu.xcpt.pf.ld) - node T_186836 = or(T_186835, cpu.xcpt.pf.st) - reg T_186837 : UInt<1> - T_186837 := T_186836 - node T_186838 = and(T_186837, cpu.resp.valid) - node T_186839 = eq(T_186838, UInt<1>(0)) - inst meta of MetadataArray_144779 - inst metaReadArb of Arbiter_144889 - wire T_186840 : UInt<3>[3] - T_186840[0] := UInt<3>(0) - T_186840[1] := UInt<3>(1) - T_186840[2] := UInt<3>(2) - wire T_186841 : UInt<2>[2] - T_186841[0] := UInt<2>(0) - T_186841[1] := UInt<2>(1) - wire T_186842 : UInt<2>[3] - T_186842[0] := UInt<2>(1) - T_186842[1] := UInt<2>(2) - T_186842[2] := UInt<2>(3) - wire T_186843 : UInt<2>[2] - T_186843[0] := UInt<2>(2) - T_186843[1] := UInt<2>(3) - wire T_186844 : UInt<2>[1] - T_186844[0] := UInt<2>(3) - wire T_186845 : UInt<3>[3] - T_186845[0] := UInt<3>(0) - T_186845[1] := UInt<3>(1) - T_186845[2] := UInt<3>(2) - wire T_186846 : UInt<2>[2] - T_186846[0] := UInt<2>(0) - T_186846[1] := UInt<2>(1) - wire T_186847 : UInt<2>[3] - T_186847[0] := UInt<2>(1) - T_186847[1] := UInt<2>(2) - T_186847[2] := UInt<2>(3) - wire T_186848 : UInt<2>[2] - T_186848[0] := UInt<2>(2) - T_186848[1] := UInt<2>(3) - wire T_186849 : UInt<2>[1] - T_186849[0] := UInt<2>(3) - inst metaWriteArb of Arbiter_145479 - metaReadArb.out <> meta.read - metaWriteArb.out <> meta.write - inst data of DataArray - inst readArb of Arbiter_145852 - inst writeArb of Arbiter_145932 - data.write.valid := writeArb.out.valid - writeArb.out.ready := data.write.ready - data.write.bits := writeArb.out.bits - node T_186850 = bits(writeArb.out.bits.data, 63, 0) - node T_186851 = bits(writeArb.out.bits.data, 127, 64) - wire T_186852 : UInt<64>[2] - T_186852[0] := T_186850 - T_186852[1] := T_186851 - node T_186853 = cat(T_186852[1], T_186852[0]) - data.write.bits.data := T_186853 - metaReadArb.in[4].valid := cpu.req.valid - node T_186854 = shr(cpu.req.bits.addr, 6) - metaReadArb.in[4].bits.idx := T_186854 - - node T_186855 = eq(metaReadArb.in[4].ready, UInt<1>(0)) - when T_186855 : cpu.req.ready := UInt<1>(0) - readArb.in[3].valid := cpu.req.valid - readArb.in[3].bits.addr := cpu.req.bits.addr - readArb.in[3].bits.way_en := SInt<1>(-1) - - node T_186856 = eq(readArb.in[3].ready, UInt<1>(0)) - when T_186856 : cpu.req.ready := UInt<1>(0) - metaReadArb.in[0].valid := s2_recycle - node T_186857 = shr(s2_req.addr, 6) - metaReadArb.in[0].bits.idx := T_186857 - readArb.in[0].valid := s2_recycle - readArb.in[0].bits.addr := s2_req.addr - readArb.in[0].bits.way_en := SInt<1>(-1) - node T_186858 = shr(s1_addr, 12) - node T_186859 = eq(meta.resp[0].tag, T_186858) - node T_186860 = shr(s1_addr, 12) - node T_186861 = eq(meta.resp[1].tag, T_186860) - node T_186862 = shr(s1_addr, 12) - node T_186863 = eq(meta.resp[2].tag, T_186862) - node T_186864 = shr(s1_addr, 12) - node T_186865 = eq(meta.resp[3].tag, T_186864) - wire T_186866 : UInt<1>[4] - T_186866[0] := T_186859 - T_186866[1] := T_186861 - T_186866[2] := T_186863 - T_186866[3] := T_186865 - node T_186867 = cat(T_186866[3], T_186866[2]) - node T_186868 = cat(T_186866[1], T_186866[0]) - node s1_tag_eq_way = cat(T_186867, T_186868) - node T_186869 = bit(s1_tag_eq_way, 0) - node T_186870 = neq(meta.resp[0].coh.state, UInt<2>(0)) - node T_186871 = and(T_186869, T_186870) - node T_186872 = bit(s1_tag_eq_way, 1) - node T_186873 = neq(meta.resp[1].coh.state, UInt<2>(0)) - node T_186874 = and(T_186872, T_186873) - node T_186875 = bit(s1_tag_eq_way, 2) - node T_186876 = neq(meta.resp[2].coh.state, UInt<2>(0)) - node T_186877 = and(T_186875, T_186876) - node T_186878 = bit(s1_tag_eq_way, 3) - node T_186879 = neq(meta.resp[3].coh.state, UInt<2>(0)) - node T_186880 = and(T_186878, T_186879) - wire T_186881 : UInt<1>[4] - T_186881[0] := T_186871 - T_186881[1] := T_186874 - T_186881[2] := T_186877 - T_186881[3] := T_186880 - node T_186882 = cat(T_186881[3], T_186881[2]) - node T_186883 = cat(T_186881[1], T_186881[0]) - node s1_tag_match_way = cat(T_186882, T_186883) - s1_clk_en := metaReadArb.out.valid - node T_186884 = eq(s1_valid, UInt<1>(0)) - node T_186885 = and(s1_clk_en, T_186884) - node T_186886 = eq(s1_replay, UInt<1>(0)) - node s1_writeback = and(T_186885, T_186886) - reg s2_tag_match_way : UInt<4> - when s1_clk_en : s2_tag_match_way := s1_tag_match_way - node T_186887 = eq(s2_tag_match_way, UInt<1>(0)) - node s2_tag_match = eq(T_186887, UInt<1>(0)) - wire T_186888 : UInt<3>[3] - T_186888[0] := UInt<3>(0) - T_186888[1] := UInt<3>(1) - T_186888[2] := UInt<3>(2) - wire T_186889 : UInt<2>[2] - T_186889[0] := UInt<2>(0) - T_186889[1] := UInt<2>(1) - wire T_186890 : UInt<2>[3] - T_186890[0] := UInt<2>(1) - T_186890[1] := UInt<2>(2) - T_186890[2] := UInt<2>(3) - wire T_186891 : UInt<2>[2] - T_186891[0] := UInt<2>(2) - T_186891[1] := UInt<2>(3) - wire T_186892 : UInt<2>[1] - T_186892[0] := UInt<2>(3) - reg T_186893 : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>} - when s1_clk_en : T_186893 := meta.resp[0].coh - wire T_186894 : UInt<3>[3] - T_186894[0] := UInt<3>(0) - T_186894[1] := UInt<3>(1) - T_186894[2] := UInt<3>(2) - wire T_186895 : UInt<2>[2] - T_186895[0] := UInt<2>(0) - T_186895[1] := UInt<2>(1) - wire T_186896 : UInt<2>[3] - T_186896[0] := UInt<2>(1) - T_186896[1] := UInt<2>(2) - T_186896[2] := UInt<2>(3) - wire T_186897 : UInt<2>[2] - T_186897[0] := UInt<2>(2) - T_186897[1] := UInt<2>(3) - wire T_186898 : UInt<2>[1] - T_186898[0] := UInt<2>(3) - reg T_186899 : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>} - when s1_clk_en : T_186899 := meta.resp[1].coh - wire T_186900 : UInt<3>[3] - T_186900[0] := UInt<3>(0) - T_186900[1] := UInt<3>(1) - T_186900[2] := UInt<3>(2) - wire T_186901 : UInt<2>[2] - T_186901[0] := UInt<2>(0) - T_186901[1] := UInt<2>(1) - wire T_186902 : UInt<2>[3] - T_186902[0] := UInt<2>(1) - T_186902[1] := UInt<2>(2) - T_186902[2] := UInt<2>(3) - wire T_186903 : UInt<2>[2] - T_186903[0] := UInt<2>(2) - T_186903[1] := UInt<2>(3) - wire T_186904 : UInt<2>[1] - T_186904[0] := UInt<2>(3) - reg T_186905 : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>} - when s1_clk_en : T_186905 := meta.resp[2].coh - wire T_186906 : UInt<3>[3] - T_186906[0] := UInt<3>(0) - T_186906[1] := UInt<3>(1) - T_186906[2] := UInt<3>(2) - wire T_186907 : UInt<2>[2] - T_186907[0] := UInt<2>(0) - T_186907[1] := UInt<2>(1) - wire T_186908 : UInt<2>[3] - T_186908[0] := UInt<2>(1) - T_186908[1] := UInt<2>(2) - T_186908[2] := UInt<2>(3) - wire T_186909 : UInt<2>[2] - T_186909[0] := UInt<2>(2) - T_186909[1] := UInt<2>(3) - wire T_186910 : UInt<2>[1] - T_186910[0] := UInt<2>(3) - reg T_186911 : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>} - when s1_clk_en : T_186911 := meta.resp[3].coh - wire T_186912 : UInt<3>[3] - T_186912[0] := UInt<3>(0) - T_186912[1] := UInt<3>(1) - T_186912[2] := UInt<3>(2) - wire T_186913 : UInt<2>[2] - T_186913[0] := UInt<2>(0) - T_186913[1] := UInt<2>(1) - wire T_186914 : UInt<2>[3] - T_186914[0] := UInt<2>(1) - T_186914[1] := UInt<2>(2) - T_186914[2] := UInt<2>(3) - wire T_186915 : UInt<2>[2] - T_186915[0] := UInt<2>(2) - T_186915[1] := UInt<2>(3) - wire T_186916 : UInt<2>[1] - T_186916[0] := UInt<2>(3) - wire T_186917 : UInt<3>[3] - T_186917[0] := UInt<3>(0) - T_186917[1] := UInt<3>(1) - T_186917[2] := UInt<3>(2) - wire T_186918 : UInt<2>[2] - T_186918[0] := UInt<2>(0) - T_186918[1] := UInt<2>(1) - wire T_186919 : UInt<2>[3] - T_186919[0] := UInt<2>(1) - T_186919[1] := UInt<2>(2) - T_186919[2] := UInt<2>(3) - wire T_186920 : UInt<2>[2] - T_186920[0] := UInt<2>(2) - T_186920[1] := UInt<2>(3) - wire T_186921 : UInt<2>[1] - T_186921[0] := UInt<2>(3) - wire T_186922 : UInt<3>[3] - T_186922[0] := UInt<3>(0) - T_186922[1] := UInt<3>(1) - T_186922[2] := UInt<3>(2) - wire T_186923 : UInt<2>[2] - T_186923[0] := UInt<2>(0) - T_186923[1] := UInt<2>(1) - wire T_186924 : UInt<2>[3] - T_186924[0] := UInt<2>(1) - T_186924[1] := UInt<2>(2) - T_186924[2] := UInt<2>(3) - wire T_186925 : UInt<2>[2] - T_186925[0] := UInt<2>(2) - T_186925[1] := UInt<2>(3) - wire T_186926 : UInt<2>[1] - T_186926[0] := UInt<2>(3) - wire T_186927 : UInt<3>[3] - T_186927[0] := UInt<3>(0) - T_186927[1] := UInt<3>(1) - T_186927[2] := UInt<3>(2) - wire T_186928 : UInt<2>[2] - T_186928[0] := UInt<2>(0) - T_186928[1] := UInt<2>(1) - wire T_186929 : UInt<2>[3] - T_186929[0] := UInt<2>(1) - T_186929[1] := UInt<2>(2) - T_186929[2] := UInt<2>(3) - wire T_186930 : UInt<2>[2] - T_186930[0] := UInt<2>(2) - T_186930[1] := UInt<2>(3) - wire T_186931 : UInt<2>[1] - T_186931[0] := UInt<2>(3) - wire T_186932 : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}[4] - T_186932[0] := T_186893 - T_186932[1] := T_186899 - T_186932[2] := T_186905 - T_186932[3] := T_186911 - node T_186933 = bit(s2_tag_match_way, 0) - node T_186934 = bit(s2_tag_match_way, 1) - node T_186935 = bit(s2_tag_match_way, 2) - node T_186936 = bit(s2_tag_match_way, 3) - node T_186937 = cat(T_186932[0].state, UInt<2>(0)) - node T_186938 = cat(T_186937, UInt<4>(0)) - wire T_186939 : UInt<1> - T_186939 := UInt<1>(0) - when T_186933 : T_186939 := T_186938 - node T_186940 = cat(T_186932[1].state, UInt<2>(0)) - node T_186941 = cat(T_186940, UInt<4>(0)) - wire T_186942 : UInt<1> - T_186942 := UInt<1>(0) - when T_186934 : T_186942 := T_186941 - node T_186943 = cat(T_186932[2].state, UInt<2>(0)) - node T_186944 = cat(T_186943, UInt<4>(0)) - wire T_186945 : UInt<1> - T_186945 := UInt<1>(0) - when T_186935 : T_186945 := T_186944 - node T_186946 = cat(T_186932[3].state, UInt<2>(0)) - node T_186947 = cat(T_186946, UInt<4>(0)) - wire T_186948 : UInt<1> - T_186948 := UInt<1>(0) - when T_186936 : T_186948 := T_186947 - node T_186949 = or(T_186939, T_186942) - node T_186950 = or(T_186949, T_186945) - node T_186951 = or(T_186950, T_186948) - wire T_186952 : UInt<3>[3] - T_186952[0] := UInt<3>(0) - T_186952[1] := UInt<3>(1) - T_186952[2] := UInt<3>(2) - wire T_186953 : UInt<2>[2] - T_186953[0] := UInt<2>(0) - T_186953[1] := UInt<2>(1) - wire T_186954 : UInt<2>[3] - T_186954[0] := UInt<2>(1) - T_186954[1] := UInt<2>(2) - T_186954[2] := UInt<2>(3) - wire T_186955 : UInt<2>[2] - T_186955[0] := UInt<2>(2) - T_186955[1] := UInt<2>(3) - wire T_186956 : UInt<2>[1] - T_186956[0] := UInt<2>(3) - wire T_186957 : UInt<3>[3] - T_186957[0] := UInt<3>(0) - T_186957[1] := UInt<3>(1) - T_186957[2] := UInt<3>(2) - wire T_186958 : UInt<2>[2] - T_186958[0] := UInt<2>(0) - T_186958[1] := UInt<2>(1) - wire T_186959 : UInt<2>[3] - T_186959[0] := UInt<2>(1) - T_186959[1] := UInt<2>(2) - T_186959[2] := UInt<2>(3) - wire T_186960 : UInt<2>[2] - T_186960[0] := UInt<2>(2) - T_186960[1] := UInt<2>(3) - wire T_186961 : UInt<2>[1] - T_186961[0] := UInt<2>(3) - wire s2_hit_state : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>} - node T_186962 = bits(T_186951, 0, 0) - s2_hit_state.makeVoluntaryWriteback$default$4 := T_186962 - node T_186963 = bits(T_186951, 1, 1) - s2_hit_state.makeVoluntaryWriteback$default$3 := T_186963 - node T_186964 = bits(T_186951, 2, 2) - s2_hit_state.makeVoluntaryRelease$default$5 := T_186964 - node T_186965 = bits(T_186951, 3, 3) - s2_hit_state.makeVoluntaryRelease$default$4 := T_186965 - node T_186966 = bits(T_186951, 4, 4) - s2_hit_state.makeRelease$default$3 := T_186966 - node T_186967 = bits(T_186951, 5, 5) - s2_hit_state.makeRelease$default$2 := T_186967 - node T_186968 = bits(T_186951, 7, 6) - s2_hit_state.state := T_186968 - node T_186969 = eq(s2_req.cmd, UInt<5>(1)) - node T_186970 = eq(s2_req.cmd, UInt<5>(7)) - node T_186971 = or(T_186969, T_186970) - node T_186972 = bit(s2_req.cmd, 3) - node T_186973 = eq(s2_req.cmd, UInt<5>(4)) - node T_186974 = or(T_186972, T_186973) - node T_186975 = or(T_186971, T_186974) - node T_186976 = eq(s2_req.cmd, UInt<5>(3)) - node T_186977 = or(T_186975, T_186976) - node T_186978 = eq(s2_req.cmd, UInt<5>(6)) - node T_186979 = or(T_186977, T_186978) - node T_186980 = eq(T_186960[0], s2_hit_state.state) - node T_186981 = eq(T_186960[1], s2_hit_state.state) - node T_186982 = or(UInt<1>(0), T_186980) - node T_186983 = or(T_186982, T_186981) - node T_186984 = eq(T_186959[0], s2_hit_state.state) - node T_186985 = eq(T_186959[1], s2_hit_state.state) - node T_186986 = eq(T_186959[2], s2_hit_state.state) - node T_186987 = or(UInt<1>(0), T_186984) - node T_186988 = or(T_186987, T_186985) - node T_186989 = or(T_186988, T_186986) - wire T_186990 : UInt<1> - T_186990 := T_186989 - when T_186979 : T_186990 := T_186983 - node T_186991 = and(s2_tag_match, T_186990) - node T_186992 = eq(s2_req.cmd, UInt<5>(1)) - node T_186993 = eq(s2_req.cmd, UInt<5>(7)) - node T_186994 = or(T_186992, T_186993) - node T_186995 = bit(s2_req.cmd, 3) - node T_186996 = eq(s2_req.cmd, UInt<5>(4)) - node T_186997 = or(T_186995, T_186996) - node T_186998 = or(T_186994, T_186997) - wire T_186999 : UInt<2> - T_186999 := s2_hit_state.state - when T_186998 : T_186999 := UInt<2>(3) - wire T_187000 : UInt<3>[3] - T_187000[0] := UInt<3>(0) - T_187000[1] := UInt<3>(1) - T_187000[2] := UInt<3>(2) - wire T_187001 : UInt<2>[2] - T_187001[0] := UInt<2>(0) - T_187001[1] := UInt<2>(1) - wire T_187002 : UInt<2>[3] - T_187002[0] := UInt<2>(1) - T_187002[1] := UInt<2>(2) - T_187002[2] := UInt<2>(3) - wire T_187003 : UInt<2>[2] - T_187003[0] := UInt<2>(2) - T_187003[1] := UInt<2>(3) - wire T_187004 : UInt<2>[1] - T_187004[0] := UInt<2>(3) - wire T_187005 : UInt<3>[3] - T_187005[0] := UInt<3>(0) - T_187005[1] := UInt<3>(1) - T_187005[2] := UInt<3>(2) - wire T_187006 : UInt<2>[2] - T_187006[0] := UInt<2>(0) - T_187006[1] := UInt<2>(1) - wire T_187007 : UInt<2>[3] - T_187007[0] := UInt<2>(1) - T_187007[1] := UInt<2>(2) - T_187007[2] := UInt<2>(3) - wire T_187008 : UInt<2>[2] - T_187008[0] := UInt<2>(2) - T_187008[1] := UInt<2>(3) - wire T_187009 : UInt<2>[1] - T_187009[0] := UInt<2>(3) - wire T_187010 : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>} - T_187010.state := T_186999 - node T_187011 = eq(s2_hit_state.state, T_187010.state) - node s2_hit = and(T_186991, T_187011) - reg lrsc_count : UInt<1> - onreset lrsc_count := UInt<1>(0) - node T_187012 = eq(lrsc_count, UInt<1>(0)) - node lrsc_valid = eq(T_187012, UInt<1>(0)) - reg lrsc_addr : UInt - node s2_lr = eq(s2_req.cmd, UInt<5>(6)) - node s2_sc = eq(s2_req.cmd, UInt<5>(7)) - node T_187013 = shr(s2_req.addr, 6) - node T_187014 = eq(lrsc_addr, T_187013) - node s2_lrsc_addr_match = and(lrsc_valid, T_187014) - node T_187015 = eq(s2_lrsc_addr_match, UInt<1>(0)) - node s2_sc_fail = and(s2_sc, T_187015) - when lrsc_valid : - node T_187016 = subw(lrsc_count, UInt<1>(1)) - lrsc_count := T_187016 - - - node T_187017 = and(s2_valid_masked, s2_hit) - node T_187018 = or(T_187017, s2_replay) - when T_187018 : - when s2_lr : - - node T_187019 = eq(lrsc_valid, UInt<1>(0)) - when T_187019 : lrsc_count := UInt<5>(31) - node T_187020 = shr(s2_req.addr, 6) - lrsc_addr := T_187020 - when s2_sc : lrsc_count := UInt<1>(0) - when cpu.invalidate_lr : lrsc_count := UInt<1>(0) - wire s2_data : UInt<128>[4] - wire T_187021 : UInt<64>[2] - T_187021[0] := T_187022 - T_187021[1] := T_187023 - reg T_187024 : UInt<64>[2] - node T_187025 = bit(s1_tag_eq_way, 0) - node T_187026 = and(s1_clk_en, T_187025) - node T_187027 = eq(UInt<1>(1), UInt<1>(0)) - node T_187028 = or(UInt<1>(1), T_187027) - node T_187029 = or(T_187028, s1_writeback) - node T_187030 = and(T_187026, T_187029) - when T_187030 : - node T_187031 = shr(data.resp[0], 0) - T_187024[0] := T_187031 - node T_187032 = eq(UInt<1>(1), UInt<1>(0)) - node T_187033 = or(UInt<1>(0), T_187032) - node T_187034 = or(T_187033, s1_writeback) - node T_187035 = and(T_187026, T_187034) - when T_187035 : - node T_187036 = shr(data.resp[0], 64) - T_187024[1] := T_187036 - node T_187037 = cat(T_187024[1], T_187024[0]) - s2_data[0] := T_187037 - wire T_187038 : UInt<64>[2] - T_187038[0] := T_187039 - T_187038[1] := T_187040 - reg T_187041 : UInt<64>[2] - node T_187042 = bit(s1_tag_eq_way, 1) - node T_187043 = and(s1_clk_en, T_187042) - node T_187044 = eq(UInt<1>(1), UInt<1>(0)) - node T_187045 = or(UInt<1>(1), T_187044) - node T_187046 = or(T_187045, s1_writeback) - node T_187047 = and(T_187043, T_187046) - when T_187047 : - node T_187048 = shr(data.resp[1], 0) - T_187041[0] := T_187048 - node T_187049 = eq(UInt<1>(1), UInt<1>(0)) - node T_187050 = or(UInt<1>(0), T_187049) - node T_187051 = or(T_187050, s1_writeback) - node T_187052 = and(T_187043, T_187051) - when T_187052 : - node T_187053 = shr(data.resp[1], 64) - T_187041[1] := T_187053 - node T_187054 = cat(T_187041[1], T_187041[0]) - s2_data[1] := T_187054 - wire T_187055 : UInt<64>[2] - T_187055[0] := T_187056 - T_187055[1] := T_187057 - reg T_187058 : UInt<64>[2] - node T_187059 = bit(s1_tag_eq_way, 2) - node T_187060 = and(s1_clk_en, T_187059) - node T_187061 = eq(UInt<1>(1), UInt<1>(0)) - node T_187062 = or(UInt<1>(1), T_187061) - node T_187063 = or(T_187062, s1_writeback) - node T_187064 = and(T_187060, T_187063) - when T_187064 : - node T_187065 = shr(data.resp[2], 0) - T_187058[0] := T_187065 - node T_187066 = eq(UInt<1>(1), UInt<1>(0)) - node T_187067 = or(UInt<1>(0), T_187066) - node T_187068 = or(T_187067, s1_writeback) - node T_187069 = and(T_187060, T_187068) - when T_187069 : - node T_187070 = shr(data.resp[2], 64) - T_187058[1] := T_187070 - node T_187071 = cat(T_187058[1], T_187058[0]) - s2_data[2] := T_187071 - wire T_187072 : UInt<64>[2] - T_187072[0] := T_187073 - T_187072[1] := T_187074 - reg T_187075 : UInt<64>[2] - node T_187076 = bit(s1_tag_eq_way, 3) - node T_187077 = and(s1_clk_en, T_187076) - node T_187078 = eq(UInt<1>(1), UInt<1>(0)) - node T_187079 = or(UInt<1>(1), T_187078) - node T_187080 = or(T_187079, s1_writeback) - node T_187081 = and(T_187077, T_187080) - when T_187081 : - node T_187082 = shr(data.resp[3], 0) - T_187075[0] := T_187082 - node T_187083 = eq(UInt<1>(1), UInt<1>(0)) - node T_187084 = or(UInt<1>(0), T_187083) - node T_187085 = or(T_187084, s1_writeback) - node T_187086 = and(T_187077, T_187085) - when T_187086 : - node T_187087 = shr(data.resp[3], 64) - T_187075[1] := T_187087 - node T_187088 = cat(T_187075[1], T_187075[0]) - s2_data[3] := T_187088 - node T_187089 = bit(s2_tag_match_way, 0) - node T_187090 = bit(s2_tag_match_way, 1) - node T_187091 = bit(s2_tag_match_way, 2) - node T_187092 = bit(s2_tag_match_way, 3) - wire T_187093 : UInt<1> - T_187093 := UInt<1>(0) - when T_187089 : T_187093 := s2_data[0] - wire T_187094 : UInt<1> - T_187094 := UInt<1>(0) - when T_187090 : T_187094 := s2_data[1] - wire T_187095 : UInt<1> - T_187095 := UInt<1>(0) - when T_187091 : T_187095 := s2_data[2] - wire T_187096 : UInt<1> - T_187096 := UInt<1>(0) - when T_187092 : T_187096 := s2_data[3] - node T_187097 = or(T_187093, T_187094) - node T_187098 = or(T_187097, T_187095) - node T_187099 = or(T_187098, T_187096) - wire s2_data_muxed : UInt<128> - node T_187100 = bits(T_187099, 127, 0) - s2_data_muxed := T_187100 - node T_187101 = bits(s2_data_muxed, 63, 0) - node T_187102 = bits(s2_data_muxed, 127, 64) - wire T_187103 : UInt<64>[2] - T_187103[0] := T_187101 - T_187103[1] := T_187102 - node s2_data_corrected = cat(T_187103[1], T_187103[0]) - wire T_187104 : UInt<64>[2] - T_187104[0] := T_187101 - T_187104[1] := T_187102 - node s2_data_uncorrected = cat(T_187104[1], T_187104[0]) - wire T_187105 : UInt<1>[2] - T_187105[0] := UInt<1>(0) - T_187105[1] := UInt<1>(0) - node T_187106 = cat(T_187105[1], T_187105[0]) - node T_187107 = dshr(T_187106, UInt<1>(0)) - node s2_data_correctable = bit(T_187107, 0) - node T_187108 = and(s2_valid_masked, s2_hit) - node T_187109 = or(T_187108, s2_replay) - node T_187110 = eq(s2_sc_fail, UInt<1>(0)) - node T_187111 = and(T_187109, T_187110) - node T_187112 = eq(s2_req.cmd, UInt<5>(1)) - node T_187113 = eq(s2_req.cmd, UInt<5>(7)) - node T_187114 = or(T_187112, T_187113) - node T_187115 = bit(s2_req.cmd, 3) - node T_187116 = eq(s2_req.cmd, UInt<5>(4)) - node T_187117 = or(T_187115, T_187116) - node T_187118 = or(T_187114, T_187117) - node T_187119 = and(T_187111, T_187118) - s3_valid := T_187119 - inst amoalu of AMOALU_147223 - - - node T_187120 = or(s2_valid, s2_replay) - node T_187121 = eq(s2_req.cmd, UInt<5>(1)) - node T_187122 = eq(s2_req.cmd, UInt<5>(7)) - node T_187123 = or(T_187121, T_187122) - node T_187124 = bit(s2_req.cmd, 3) - node T_187125 = eq(s2_req.cmd, UInt<5>(4)) - node T_187126 = or(T_187124, T_187125) - node T_187127 = or(T_187123, T_187126) - node T_187128 = or(T_187127, s2_data_correctable) - node T_187129 = and(T_187120, T_187128) - when T_187129 : - s3_req := s2_req - wire T_187130 : UInt<64> - T_187130 := amoalu.out - when s2_data_correctable : T_187130 := s2_data_corrected - s3_req.data := T_187130 - s3_way := s2_tag_match_way - writeArb.in[0].bits.addr := s3_req.addr - node rowIdx = bits(s3_req.addr, 3, 3) - node rowWMask = dshl(UInt<1>(1), rowIdx) - writeArb.in[0].bits.wmask := rowWMask - node T_187131 = cat(s3_req.data, s3_req.data) - writeArb.in[0].bits.data := T_187131 - writeArb.in[0].valid := s3_valid - writeArb.in[0].bits.way_en := s3_way - wire T_187132 : UInt<1> - T_187132 := UInt<1>(0) - reg T_187133 : UInt<16> - onreset T_187133 := UInt<16>(1) - when T_187132 : - node T_187134 = bit(T_187133, 0) - node T_187135 = bit(T_187133, 2) - node T_187136 = xor(T_187134, T_187135) - node T_187137 = bit(T_187133, 3) - node T_187138 = xor(T_187136, T_187137) - node T_187139 = bit(T_187133, 5) - node T_187140 = xor(T_187138, T_187139) - node T_187141 = bits(T_187133, 15, 1) - node T_187142 = cat(T_187140, T_187141) - T_187133 := T_187142 - node T_187143 = bits(T_187133, 1, 0) - node s1_replaced_way_en = dshl(UInt<1>(1), T_187143) - node T_187144 = bits(T_187133, 1, 0) - reg T_187145 : UInt<2> - when s1_clk_en : T_187145 := T_187144 - node s2_replaced_way_en = dshl(UInt<1>(1), T_187145) - node T_187146 = bit(s1_replaced_way_en, 0) - node T_187147 = and(s1_clk_en, T_187146) - wire T_187148 : UInt<3>[3] - T_187148[0] := UInt<3>(0) - T_187148[1] := UInt<3>(1) - T_187148[2] := UInt<3>(2) - wire T_187149 : UInt<2>[2] - T_187149[0] := UInt<2>(0) - T_187149[1] := UInt<2>(1) - wire T_187150 : UInt<2>[3] - T_187150[0] := UInt<2>(1) - T_187150[1] := UInt<2>(2) - T_187150[2] := UInt<2>(3) - wire T_187151 : UInt<2>[2] - T_187151[0] := UInt<2>(2) - T_187151[1] := UInt<2>(3) - wire T_187152 : UInt<2>[1] - T_187152[0] := UInt<2>(3) - reg T_187153 : {tag : UInt<20>, coh : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}} - when T_187147 : T_187153 := meta.resp[0] - node T_187154 = bit(s1_replaced_way_en, 1) - node T_187155 = and(s1_clk_en, T_187154) - wire T_187156 : UInt<3>[3] - T_187156[0] := UInt<3>(0) - T_187156[1] := UInt<3>(1) - T_187156[2] := UInt<3>(2) - wire T_187157 : UInt<2>[2] - T_187157[0] := UInt<2>(0) - T_187157[1] := UInt<2>(1) - wire T_187158 : UInt<2>[3] - T_187158[0] := UInt<2>(1) - T_187158[1] := UInt<2>(2) - T_187158[2] := UInt<2>(3) - wire T_187159 : UInt<2>[2] - T_187159[0] := UInt<2>(2) - T_187159[1] := UInt<2>(3) - wire T_187160 : UInt<2>[1] - T_187160[0] := UInt<2>(3) - reg T_187161 : {tag : UInt<20>, coh : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}} - when T_187155 : T_187161 := meta.resp[1] - node T_187162 = bit(s1_replaced_way_en, 2) - node T_187163 = and(s1_clk_en, T_187162) - wire T_187164 : UInt<3>[3] - T_187164[0] := UInt<3>(0) - T_187164[1] := UInt<3>(1) - T_187164[2] := UInt<3>(2) - wire T_187165 : UInt<2>[2] - T_187165[0] := UInt<2>(0) - T_187165[1] := UInt<2>(1) - wire T_187166 : UInt<2>[3] - T_187166[0] := UInt<2>(1) - T_187166[1] := UInt<2>(2) - T_187166[2] := UInt<2>(3) - wire T_187167 : UInt<2>[2] - T_187167[0] := UInt<2>(2) - T_187167[1] := UInt<2>(3) - wire T_187168 : UInt<2>[1] - T_187168[0] := UInt<2>(3) - reg T_187169 : {tag : UInt<20>, coh : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}} - when T_187163 : T_187169 := meta.resp[2] - node T_187170 = bit(s1_replaced_way_en, 3) - node T_187171 = and(s1_clk_en, T_187170) - wire T_187172 : UInt<3>[3] - T_187172[0] := UInt<3>(0) - T_187172[1] := UInt<3>(1) - T_187172[2] := UInt<3>(2) - wire T_187173 : UInt<2>[2] - T_187173[0] := UInt<2>(0) - T_187173[1] := UInt<2>(1) - wire T_187174 : UInt<2>[3] - T_187174[0] := UInt<2>(1) - T_187174[1] := UInt<2>(2) - T_187174[2] := UInt<2>(3) - wire T_187175 : UInt<2>[2] - T_187175[0] := UInt<2>(2) - T_187175[1] := UInt<2>(3) - wire T_187176 : UInt<2>[1] - T_187176[0] := UInt<2>(3) - reg T_187177 : {tag : UInt<20>, coh : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}} - when T_187171 : T_187177 := meta.resp[3] - wire T_187178 : UInt<3>[3] - T_187178[0] := UInt<3>(0) - T_187178[1] := UInt<3>(1) - T_187178[2] := UInt<3>(2) - wire T_187179 : UInt<2>[2] - T_187179[0] := UInt<2>(0) - T_187179[1] := UInt<2>(1) - wire T_187180 : UInt<2>[3] - T_187180[0] := UInt<2>(1) - T_187180[1] := UInt<2>(2) - T_187180[2] := UInt<2>(3) - wire T_187181 : UInt<2>[2] - T_187181[0] := UInt<2>(2) - T_187181[1] := UInt<2>(3) - wire T_187182 : UInt<2>[1] - T_187182[0] := UInt<2>(3) - wire T_187183 : UInt<3>[3] - T_187183[0] := UInt<3>(0) - T_187183[1] := UInt<3>(1) - T_187183[2] := UInt<3>(2) - wire T_187184 : UInt<2>[2] - T_187184[0] := UInt<2>(0) - T_187184[1] := UInt<2>(1) - wire T_187185 : UInt<2>[3] - T_187185[0] := UInt<2>(1) - T_187185[1] := UInt<2>(2) - T_187185[2] := UInt<2>(3) - wire T_187186 : UInt<2>[2] - T_187186[0] := UInt<2>(2) - T_187186[1] := UInt<2>(3) - wire T_187187 : UInt<2>[1] - T_187187[0] := UInt<2>(3) - wire T_187188 : UInt<3>[3] - T_187188[0] := UInt<3>(0) - T_187188[1] := UInt<3>(1) - T_187188[2] := UInt<3>(2) - wire T_187189 : UInt<2>[2] - T_187189[0] := UInt<2>(0) - T_187189[1] := UInt<2>(1) - wire T_187190 : UInt<2>[3] - T_187190[0] := UInt<2>(1) - T_187190[1] := UInt<2>(2) - T_187190[2] := UInt<2>(3) - wire T_187191 : UInt<2>[2] - T_187191[0] := UInt<2>(2) - T_187191[1] := UInt<2>(3) - wire T_187192 : UInt<2>[1] - T_187192[0] := UInt<2>(3) - wire T_187193 : UInt<3>[3] - T_187193[0] := UInt<3>(0) - T_187193[1] := UInt<3>(1) - T_187193[2] := UInt<3>(2) - wire T_187194 : UInt<2>[2] - T_187194[0] := UInt<2>(0) - T_187194[1] := UInt<2>(1) - wire T_187195 : UInt<2>[3] - T_187195[0] := UInt<2>(1) - T_187195[1] := UInt<2>(2) - T_187195[2] := UInt<2>(3) - wire T_187196 : UInt<2>[2] - T_187196[0] := UInt<2>(2) - T_187196[1] := UInt<2>(3) - wire T_187197 : UInt<2>[1] - T_187197[0] := UInt<2>(3) - wire T_187198 : {tag : UInt<20>, coh : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}}[4] - T_187198[0] := T_187153 - T_187198[1] := T_187161 - T_187198[2] := T_187169 - T_187198[3] := T_187177 - node T_187199 = bit(s2_replaced_way_en, 0) - node T_187200 = bit(s2_replaced_way_en, 1) - node T_187201 = bit(s2_replaced_way_en, 2) - node T_187202 = bit(s2_replaced_way_en, 3) - node T_187203 = cat(T_187198[0].coh.state, UInt<1>(0)) - node T_187204 = cat(T_187198[0].tag, T_187203) - node T_187205 = cat(T_187204, UInt<4>(0)) - node T_187206 = cat(UInt<1>(0), T_187198[0].coh.state) - node T_187207 = cat(T_187206, UInt<2>(0)) - node T_187208 = cat(T_187207, UInt<4>(0)) - node T_187209 = cat(T_187205, T_187208) - wire T_187210 : UInt<1> - T_187210 := UInt<1>(0) - when T_187199 : T_187210 := T_187209 - node T_187211 = cat(T_187198[1].coh.state, UInt<1>(0)) - node T_187212 = cat(T_187198[1].tag, T_187211) - node T_187213 = cat(T_187212, UInt<4>(0)) - node T_187214 = cat(UInt<1>(0), T_187198[1].coh.state) - node T_187215 = cat(T_187214, UInt<2>(0)) - node T_187216 = cat(T_187215, UInt<4>(0)) - node T_187217 = cat(T_187213, T_187216) - wire T_187218 : UInt<1> - T_187218 := UInt<1>(0) - when T_187200 : T_187218 := T_187217 - node T_187219 = cat(T_187198[2].coh.state, UInt<1>(0)) - node T_187220 = cat(T_187198[2].tag, T_187219) - node T_187221 = cat(T_187220, UInt<4>(0)) - node T_187222 = cat(UInt<1>(0), T_187198[2].coh.state) - node T_187223 = cat(T_187222, UInt<2>(0)) - node T_187224 = cat(T_187223, UInt<4>(0)) - node T_187225 = cat(T_187221, T_187224) - wire T_187226 : UInt<1> - T_187226 := UInt<1>(0) - when T_187201 : T_187226 := T_187225 - node T_187227 = cat(T_187198[3].coh.state, UInt<1>(0)) - node T_187228 = cat(T_187198[3].tag, T_187227) - node T_187229 = cat(T_187228, UInt<4>(0)) - node T_187230 = cat(UInt<1>(0), T_187198[3].coh.state) - node T_187231 = cat(T_187230, UInt<2>(0)) - node T_187232 = cat(T_187231, UInt<4>(0)) - node T_187233 = cat(T_187229, T_187232) - wire T_187234 : UInt<1> - T_187234 := UInt<1>(0) - when T_187202 : T_187234 := T_187233 - node T_187235 = or(T_187210, T_187218) - node T_187236 = or(T_187235, T_187226) - node T_187237 = or(T_187236, T_187234) - wire T_187238 : UInt<3>[3] - T_187238[0] := UInt<3>(0) - T_187238[1] := UInt<3>(1) - T_187238[2] := UInt<3>(2) - wire T_187239 : UInt<2>[2] - T_187239[0] := UInt<2>(0) - T_187239[1] := UInt<2>(1) - wire T_187240 : UInt<2>[3] - T_187240[0] := UInt<2>(1) - T_187240[1] := UInt<2>(2) - T_187240[2] := UInt<2>(3) - wire T_187241 : UInt<2>[2] - T_187241[0] := UInt<2>(2) - T_187241[1] := UInt<2>(3) - wire T_187242 : UInt<2>[1] - T_187242[0] := UInt<2>(3) - wire T_187243 : UInt<3>[3] - T_187243[0] := UInt<3>(0) - T_187243[1] := UInt<3>(1) - T_187243[2] := UInt<3>(2) - wire T_187244 : UInt<2>[2] - T_187244[0] := UInt<2>(0) - T_187244[1] := UInt<2>(1) - wire T_187245 : UInt<2>[3] - T_187245[0] := UInt<2>(1) - T_187245[1] := UInt<2>(2) - T_187245[2] := UInt<2>(3) - wire T_187246 : UInt<2>[2] - T_187246[0] := UInt<2>(2) - T_187246[1] := UInt<2>(3) - wire T_187247 : UInt<2>[1] - T_187247[0] := UInt<2>(3) - wire s2_repl_meta : {tag : UInt<20>, coh : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}} - node T_187248 = bits(T_187237, 0, 0) - s2_repl_meta.coh.makeVoluntaryWriteback$default$4 := T_187248 - node T_187249 = bits(T_187237, 1, 1) - s2_repl_meta.coh.makeVoluntaryWriteback$default$3 := T_187249 - node T_187250 = bits(T_187237, 2, 2) - s2_repl_meta.coh.makeVoluntaryRelease$default$5 := T_187250 - node T_187251 = bits(T_187237, 3, 3) - s2_repl_meta.coh.makeVoluntaryRelease$default$4 := T_187251 - node T_187252 = bits(T_187237, 4, 4) - s2_repl_meta.coh.makeRelease$default$3 := T_187252 - node T_187253 = bits(T_187237, 5, 5) - s2_repl_meta.coh.makeRelease$default$2 := T_187253 - node T_187254 = bits(T_187237, 7, 6) - s2_repl_meta.coh.state := T_187254 - node T_187255 = bits(T_187237, 8, 8) - s2_repl_meta.coh.makeVoluntaryWriteback$default$4 := T_187255 - node T_187256 = bits(T_187237, 9, 9) - s2_repl_meta.coh.makeVoluntaryWriteback$default$3 := T_187256 - node T_187257 = bits(T_187237, 10, 10) - s2_repl_meta.coh.makeVoluntaryRelease$default$5 := T_187257 - node T_187258 = bits(T_187237, 11, 11) - s2_repl_meta.coh.makeVoluntaryRelease$default$4 := T_187258 - node T_187259 = bits(T_187237, 12, 12) - s2_repl_meta.coh.makeRelease$default$3 := T_187259 - node T_187260 = bits(T_187237, 13, 13) - s2_repl_meta.coh.makeRelease$default$2 := T_187260 - node T_187261 = bits(T_187237, 15, 14) - s2_repl_meta.coh.state := T_187261 - node T_187262 = bits(T_187237, 35, 16) - s2_repl_meta.tag := T_187262 - node T_187263 = eq(s2_hit, UInt<1>(0)) - node T_187264 = and(s2_valid_masked, T_187263) - node T_187265 = eq(s2_req.cmd, UInt<5>(2)) - node T_187266 = eq(s2_req.cmd, UInt<5>(3)) - node T_187267 = or(T_187265, T_187266) - node T_187268 = eq(s2_req.cmd, UInt<5>(0)) - node T_187269 = eq(s2_req.cmd, UInt<5>(6)) - node T_187270 = or(T_187268, T_187269) - node T_187271 = bit(s2_req.cmd, 3) - node T_187272 = eq(s2_req.cmd, UInt<5>(4)) - node T_187273 = or(T_187271, T_187272) - node T_187274 = or(T_187270, T_187273) - node T_187275 = or(T_187267, T_187274) - node T_187276 = eq(s2_req.cmd, UInt<5>(1)) - node T_187277 = eq(s2_req.cmd, UInt<5>(7)) - node T_187278 = or(T_187276, T_187277) - node T_187279 = bit(s2_req.cmd, 3) - node T_187280 = eq(s2_req.cmd, UInt<5>(4)) - node T_187281 = or(T_187279, T_187280) - node T_187282 = or(T_187278, T_187281) - node T_187283 = or(T_187275, T_187282) - node T_187284 = and(T_187264, T_187283) - mshrs.req.valid := T_187284 - mshrs.req.bits := s2_req - mshrs.req.bits.tag_match := s2_tag_match - wire T_187285 : UInt<3>[3] - T_187285[0] := UInt<3>(0) - T_187285[1] := UInt<3>(1) - T_187285[2] := UInt<3>(2) - wire T_187286 : UInt<2>[2] - T_187286[0] := UInt<2>(0) - T_187286[1] := UInt<2>(1) - wire T_187287 : UInt<2>[3] - T_187287[0] := UInt<2>(1) - T_187287[1] := UInt<2>(2) - T_187287[2] := UInt<2>(3) - wire T_187288 : UInt<2>[2] - T_187288[0] := UInt<2>(2) - T_187288[1] := UInt<2>(3) - wire T_187289 : UInt<2>[1] - T_187289[0] := UInt<2>(3) - wire T_187290 : UInt<3>[3] - T_187290[0] := UInt<3>(0) - T_187290[1] := UInt<3>(1) - T_187290[2] := UInt<3>(2) - wire T_187291 : UInt<2>[2] - T_187291[0] := UInt<2>(0) - T_187291[1] := UInt<2>(1) - wire T_187292 : UInt<2>[3] - T_187292[0] := UInt<2>(1) - T_187292[1] := UInt<2>(2) - T_187292[2] := UInt<2>(3) - wire T_187293 : UInt<2>[2] - T_187293[0] := UInt<2>(2) - T_187293[1] := UInt<2>(3) - wire T_187294 : UInt<2>[1] - T_187294[0] := UInt<2>(3) - wire T_187295 : {tag : UInt<20>, coh : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}} - T_187295.tag := s2_repl_meta.tag - T_187295.coh := s2_hit_state - wire T_187296 : UInt<3>[3] - T_187296[0] := UInt<3>(0) - T_187296[1] := UInt<3>(1) - T_187296[2] := UInt<3>(2) - wire T_187297 : UInt<2>[2] - T_187297[0] := UInt<2>(0) - T_187297[1] := UInt<2>(1) - wire T_187298 : UInt<2>[3] - T_187298[0] := UInt<2>(1) - T_187298[1] := UInt<2>(2) - T_187298[2] := UInt<2>(3) - wire T_187299 : UInt<2>[2] - T_187299[0] := UInt<2>(2) - T_187299[1] := UInt<2>(3) - wire T_187300 : UInt<2>[1] - T_187300[0] := UInt<2>(3) - wire T_187301 : {tag : UInt<20>, coh : {state : UInt<2>, makeRelease$default$2 : UInt<1>, makeRelease$default$3 : UInt<1>, makeVoluntaryRelease$default$4 : UInt<1>, makeVoluntaryRelease$default$5 : UInt<1>, makeVoluntaryWriteback$default$3 : UInt<1>, makeVoluntaryWriteback$default$4 : UInt<1>}} - T_187301 := s2_repl_meta - when s2_tag_match : T_187301 := T_187295 - mshrs.req.bits.old_meta := T_187301 - wire T_187302 : UInt<5> - T_187302 := s2_replaced_way_en - when s2_tag_match : T_187302 := s2_tag_match_way - mshrs.req.bits.way_en := T_187302 - mshrs.req.bits.data := s2_req.data - - node T_187303 = and(mshrs.req.ready, mshrs.req.valid) - when T_187303 : T_187132 := UInt<1>(1) - mem__.acquire <> mshrs.mem_req - readArb.in[1].valid := mshrs.replay.valid - readArb.in[1].bits := mshrs.replay.bits - readArb.in[1].bits.way_en := SInt<1>(-1) - mshrs.replay.ready := readArb.in[1].ready - node T_187304 = and(mshrs.replay.valid, readArb.in[1].ready) - s1_replay := T_187304 - metaReadArb.in[1] <> mshrs.meta_read - metaWriteArb.in[0] <> mshrs.meta_write - wire T_187305 : UInt<3>[3] - T_187305[0] := UInt<3>(0) - T_187305[1] := UInt<3>(1) - T_187305[2] := UInt<3>(2) - wire T_187306 : UInt<2>[2] - T_187306[0] := UInt<2>(0) - T_187306[1] := UInt<2>(1) - wire T_187307 : UInt<2>[3] - T_187307[0] := UInt<2>(1) - T_187307[1] := UInt<2>(2) - T_187307[2] := UInt<2>(3) - wire T_187308 : UInt<2>[2] - T_187308[0] := UInt<2>(2) - T_187308[1] := UInt<2>(3) - wire T_187309 : UInt<2>[1] - T_187309[0] := UInt<2>(3) - inst releaseArb of LockingArbiter_148764 - releaseArb.out <> mem__.release - node T_187310 = eq(lrsc_valid, UInt<1>(0)) - node T_187311 = and(mem__.probe.valid, T_187310) - prober.req.valid := T_187311 - node T_187312 = eq(lrsc_valid, UInt<1>(0)) - node T_187313 = and(prober.req.ready, T_187312) - mem__.probe.ready := T_187313 - prober.req.bits := mem__.probe.bits - prober.rep <> releaseArb.in[1] - prober.way_en := s2_tag_match_way - prober.block_state := s2_hit_state - prober.meta_read <> metaReadArb.in[2] - prober.meta_write <> metaWriteArb.in[1] - prober.mshr_rdy := mshrs.probe_rdy - inst T_187314 of FlowThroughSerializer_148912 - T_187314.in.valid := mem__.grant.valid - T_187314.in.bits := mem__.grant.bits - mem__.grant.ready := T_187314.in.ready - node T_187315 = and(T_187314.out.ready, T_187314.out.valid) - mshrs.mem_grant.valid := T_187315 - mshrs.mem_grant.bits := T_187314.out.bits - wire T_187316 : UInt<3>[2] - T_187316[0] := UInt<3>(5) - T_187316[1] := UInt<3>(4) - node T_187317 = eq(T_187316[0], T_187314.out.bits.g_type) - node T_187318 = eq(T_187316[1], T_187314.out.bits.g_type) - node T_187319 = or(UInt<1>(0), T_187317) - node T_187320 = or(T_187319, T_187318) - node T_187321 = eq(T_186683[0], T_187314.out.bits.g_type) - node T_187322 = eq(T_186683[1], T_187314.out.bits.g_type) - node T_187323 = or(UInt<1>(0), T_187321) - node T_187324 = or(T_187323, T_187322) - wire T_187325 : UInt<1> - T_187325 := T_187324 - when T_187314.out.bits.is_builtin_type : T_187325 := T_187320 - node T_187326 = eq(T_187325, UInt<1>(0)) - node T_187327 = or(writeArb.in[1].ready, T_187326) - T_187314.out.ready := T_187327 - wire T_187328 : UInt<3>[2] - T_187328[0] := UInt<3>(5) - T_187328[1] := UInt<3>(4) - node T_187329 = eq(T_187328[0], T_187314.out.bits.g_type) - node T_187330 = eq(T_187328[1], T_187314.out.bits.g_type) - node T_187331 = or(UInt<1>(0), T_187329) - node T_187332 = or(T_187331, T_187330) - node T_187333 = eq(T_186683[0], T_187314.out.bits.g_type) - node T_187334 = eq(T_186683[1], T_187314.out.bits.g_type) - node T_187335 = or(UInt<1>(0), T_187333) - node T_187336 = or(T_187335, T_187334) - wire T_187337 : UInt<1> - T_187337 := T_187336 - when T_187314.out.bits.is_builtin_type : T_187337 := T_187332 - node T_187338 = and(T_187314.out.valid, T_187337) - writeArb.in[1].valid := T_187338 - writeArb.in[1].bits.addr := mshrs.refill.addr - writeArb.in[1].bits.way_en := mshrs.refill.way_en - writeArb.in[1].bits.wmask := SInt<1>(-1) - node T_187339 = bits(T_187314.out.bits.data, 127, 0) - writeArb.in[1].bits.data := T_187339 - node T_187340 = eq(T_187314.out.valid, UInt<1>(0)) - node T_187341 = or(T_187340, T_187314.out.ready) - readArb.out.ready := T_187341 - readArb.out <> data.read - wire T_187342 : UInt<3>[3] - T_187342[0] := UInt<3>(0) - T_187342[1] := UInt<3>(1) - T_187342[2] := UInt<3>(2) - wire T_187343 : UInt<2>[2] - T_187343[0] := UInt<2>(0) - T_187343[1] := UInt<2>(1) - wire T_187344 : UInt<2>[3] - T_187344[0] := UInt<2>(1) - T_187344[1] := UInt<2>(2) - T_187344[2] := UInt<2>(3) - wire T_187345 : UInt<2>[2] - T_187345[0] := UInt<2>(2) - T_187345[1] := UInt<2>(3) - wire T_187346 : UInt<2>[1] - T_187346[0] := UInt<2>(3) - inst wbArb of Arbiter_149454 - prober.wb_req <> wbArb.in[0] - mshrs.wb_req <> wbArb.in[1] - wbArb.out <> wb.req - wb.meta_read <> metaReadArb.in[3] - wb.data_req <> readArb.in[2] - wb.data_resp := s2_data_corrected - releaseArb.in[0] <> wb.release - reg s4_valid : UInt<1> - onreset s4_valid := UInt<1>(0) - s4_valid := s3_valid - node T_187347 = and(s3_valid, metaReadArb.out.valid) - reg s4_req : {addr : UInt<40>, tag : UInt<8>, cmd : UInt<5>, typ : UInt<3>, kill : UInt<1>, phys : UInt<1>, data : UInt<64>} - when T_187347 : s4_req := s3_req - node T_187348 = or(s2_valid_masked, s2_replay) - node T_187349 = eq(s2_sc_fail, UInt<1>(0)) - node T_187350 = and(T_187348, T_187349) - node T_187351 = shr(s1_addr, 3) - node T_187352 = shr(s2_req.addr, 3) - node T_187353 = eq(T_187351, T_187352) - node T_187354 = and(T_187350, T_187353) - node T_187355 = eq(s2_req.cmd, UInt<5>(1)) - node T_187356 = eq(s2_req.cmd, UInt<5>(7)) - node T_187357 = or(T_187355, T_187356) - node T_187358 = bit(s2_req.cmd, 3) - node T_187359 = eq(s2_req.cmd, UInt<5>(4)) - node T_187360 = or(T_187358, T_187359) - node T_187361 = or(T_187357, T_187360) - node T_187362 = and(T_187354, T_187361) - node T_187363 = shr(s1_addr, 3) - node T_187364 = shr(s3_req.addr, 3) - node T_187365 = eq(T_187363, T_187364) - node T_187366 = and(s3_valid, T_187365) - node T_187367 = eq(s3_req.cmd, UInt<5>(1)) - node T_187368 = eq(s3_req.cmd, UInt<5>(7)) - node T_187369 = or(T_187367, T_187368) - node T_187370 = bit(s3_req.cmd, 3) - node T_187371 = eq(s3_req.cmd, UInt<5>(4)) - node T_187372 = or(T_187370, T_187371) - node T_187373 = or(T_187369, T_187372) - node T_187374 = and(T_187366, T_187373) - node T_187375 = shr(s1_addr, 3) - node T_187376 = shr(s4_req.addr, 3) - node T_187377 = eq(T_187375, T_187376) - node T_187378 = and(s4_valid, T_187377) - node T_187379 = eq(s4_req.cmd, UInt<5>(1)) - node T_187380 = eq(s4_req.cmd, UInt<5>(7)) - node T_187381 = or(T_187379, T_187380) - node T_187382 = bit(s4_req.cmd, 3) - node T_187383 = eq(s4_req.cmd, UInt<5>(4)) - node T_187384 = or(T_187382, T_187383) - node T_187385 = or(T_187381, T_187384) - node T_187386 = and(T_187378, T_187385) - reg s2_store_bypass_data : UInt<64> - reg s2_store_bypass : UInt<1> - when s1_clk_en : - s2_store_bypass := UInt<1>(0) - - - node T_187387 = or(T_187362, T_187374) - node T_187388 = or(T_187387, T_187386) - when T_187388 : - wire T_187389 : UInt<64> - T_187389 := s4_req.data - when T_187374 : T_187389 := s3_req.data - wire T_187390 : UInt<64> - T_187390 := T_187389 - when T_187362 : T_187390 := amoalu.out - s2_store_bypass_data := T_187390 - s2_store_bypass := UInt<1>(1) - node s2_data_word_prebypass = dshr(s2_data_uncorrected, UInt<7>(0)) - wire s2_data_word : UInt<128> - s2_data_word := s2_data_word_prebypass - when s2_store_bypass : s2_data_word := s2_store_bypass_data - node T_187391 = eq(s2_req.typ, UInt<3>(0)) - node T_187392 = eq(s2_req.typ, UInt<3>(4)) - node T_187393 = or(T_187391, T_187392) - node T_187394 = eq(s2_req.typ, UInt<3>(1)) - node T_187395 = eq(s2_req.typ, UInt<3>(5)) - node T_187396 = or(T_187394, T_187395) - node T_187397 = eq(s2_req.typ, UInt<3>(2)) - node T_187398 = eq(s2_req.typ, UInt<3>(6)) - node T_187399 = or(T_187397, T_187398) - node T_187400 = eq(s2_req.typ, UInt<3>(0)) - node T_187401 = eq(s2_req.typ, UInt<3>(1)) - node T_187402 = or(T_187400, T_187401) - node T_187403 = eq(s2_req.typ, UInt<3>(2)) - node T_187404 = or(T_187402, T_187403) - node T_187405 = eq(s2_req.typ, UInt<3>(3)) - node T_187406 = or(T_187404, T_187405) - node T_187407 = bit(s2_req.addr, 2) - node T_187408 = bits(s2_data_word, 63, 32) - node T_187409 = bits(s2_data_word, 31, 0) - wire T_187410 : UInt<32> - T_187410 := T_187409 - when T_187407 : T_187410 := T_187408 - node T_187411 = bit(T_187410, 31) - node T_187412 = and(T_187406, T_187411) - node T_187413 = subw(UInt<32>(0), UInt<6>(32)) - node T_187414 = bits(s2_data_word, 63, 32) - wire T_187415 : UInt<32> - T_187415 := T_187414 - when T_187399 : T_187415 := T_187413 - node T_187416 = cat(T_187415, T_187410) - node T_187417 = bit(s2_req.addr, 1) - node T_187418 = bits(T_187416, 31, 16) - node T_187419 = bits(T_187416, 15, 0) - wire T_187420 : UInt<16> - T_187420 := T_187419 - when T_187417 : T_187420 := T_187418 - node T_187421 = bit(T_187420, 15) - node T_187422 = and(T_187406, T_187421) - node T_187423 = subw(UInt<48>(0), UInt<6>(48)) - node T_187424 = bits(T_187416, 63, 16) - wire T_187425 : UInt<48> - T_187425 := T_187424 - when T_187396 : T_187425 := T_187423 - node T_187426 = cat(T_187425, T_187420) - node T_187427 = bit(s2_req.addr, 0) - node T_187428 = bits(T_187426, 15, 8) - node T_187429 = bits(T_187426, 7, 0) - wire T_187430 : UInt<8> - T_187430 := T_187429 - when T_187427 : T_187430 := T_187428 - wire T_187431 : UInt<8> - T_187431 := T_187430 - when s2_sc : T_187431 := UInt<1>(0) - node T_187432 = or(s2_sc, T_187393) - node T_187433 = bit(T_187431, 7) - node T_187434 = and(T_187406, T_187433) - node T_187435 = subw(UInt<56>(0), UInt<6>(56)) - node T_187436 = bits(T_187426, 63, 8) - wire T_187437 : UInt<56> - T_187437 := T_187436 - when T_187432 : T_187437 := T_187435 - node T_187438 = cat(T_187437, T_187431) - amoalu := s2_req - amoalu.lhs := s2_data_word - amoalu.rhs := s2_req.data - node T_187439 = and(dtlb.req.valid, dtlb.resp.miss) - node T_187440 = bits(s1_req.addr, 11, 6) - node T_187441 = eq(T_187440, prober.meta_write.bits.idx) - node T_187442 = eq(prober.req.ready, UInt<1>(0)) - node T_187443 = and(T_187441, T_187442) - node s1_nack = or(T_187439, T_187443) - node T_187444 = or(s1_valid, s1_replay) - reg s2_nack_hit : UInt<1> - when T_187444 : s2_nack_hit := s1_nack - when s2_nack_hit : mshrs.req.valid := UInt<1>(0) - node s2_nack_victim = and(s2_hit, mshrs.secondary_miss) - node T_187445 = eq(s2_hit, UInt<1>(0)) - node T_187446 = eq(mshrs.req.ready, UInt<1>(0)) - node s2_nack_miss = and(T_187445, T_187446) - node T_187447 = or(s2_nack_hit, s2_nack_victim) - node s2_nack = or(T_187447, s2_nack_miss) - node T_187448 = eq(s2_nack, UInt<1>(0)) - node T_187449 = and(s2_valid, T_187448) - s2_valid_masked := T_187449 - node T_187450 = or(s2_valid, s2_replay) - node T_187451 = and(T_187450, s2_hit) - node s2_recycle_ecc = and(T_187451, s2_data_correctable) - reg s2_recycle_next : UInt<1> - onreset s2_recycle_next := UInt<1>(0) - - node T_187452 = or(s1_valid, s1_replay) - when T_187452 : s2_recycle_next := s2_recycle_ecc - node T_187453 = or(s2_recycle_ecc, s2_recycle_next) - s2_recycle := T_187453 - reg block_miss : UInt<1> - onreset block_miss := UInt<1>(0) - node T_187454 = or(s2_valid, block_miss) - node T_187455 = and(T_187454, s2_nack_miss) - block_miss := T_187455 - when block_miss : cpu.req.ready := UInt<1>(0) - node T_187456 = and(s2_valid_masked, s2_hit) - node T_187457 = or(s2_replay, T_187456) - node T_187458 = eq(s2_data_correctable, UInt<1>(0)) - node T_187459 = and(T_187457, T_187458) - cpu.resp.valid := T_187459 - node T_187460 = and(s2_valid, s2_nack) - cpu.resp.bits.nack := T_187460 - cpu.resp.bits := s2_req - node T_187461 = eq(s2_req.cmd, UInt<5>(0)) - node T_187462 = eq(s2_req.cmd, UInt<5>(6)) - node T_187463 = or(T_187461, T_187462) - node T_187464 = bit(s2_req.cmd, 3) - node T_187465 = eq(s2_req.cmd, UInt<5>(4)) - node T_187466 = or(T_187464, T_187465) - node T_187467 = or(T_187463, T_187466) - node T_187468 = or(T_187467, s2_sc) - cpu.resp.bits.has_data := T_187468 - cpu.resp.bits.replay := s2_replay - cpu.resp.bits.data := T_187416 - node T_187469 = or(T_187438, s2_sc_fail) - cpu.resp.bits.data_subword := T_187469 - cpu.resp.bits.store_data := s2_req.data - node T_187470 = eq(s1_valid, UInt<1>(0)) - node T_187471 = and(mshrs.fence_rdy, T_187470) - node T_187472 = eq(s2_valid, UInt<1>(0)) - node T_187473 = and(T_187471, T_187472) - cpu.ordered := T_187473 - node T_187474 = or(s1_read, s1_sc) - node T_187475 = and(s1_replay, T_187474) - cpu.replay_next.valid := T_187475 - cpu.replay_next.bits := s1_req.tag - module RRArbiter_150123 : - input in : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<27>, prv : UInt<2>, store : UInt<1>, fetch : UInt<1>}}[2] - output out : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<27>, prv : UInt<2>, store : UInt<1>, fetch : UInt<1>}} - output chosen : UInt<1> - - wire T_187476 : UInt<1> - reg T_187477 : UInt<1> - onreset T_187477 := UInt<1>(0) - node T_187478 = gt(UInt<1>(0), T_187477) - node T_187479 = and(in[0].valid, T_187478) - node T_187480 = gt(UInt<1>(1), T_187477) - node T_187481 = and(in[1].valid, T_187480) - node T_187482 = or(UInt<1>(0), T_187479) - node T_187483 = eq(T_187482, UInt<1>(0)) - node T_187484 = or(UInt<1>(0), T_187479) - node T_187485 = or(T_187484, T_187481) - node T_187486 = eq(T_187485, UInt<1>(0)) - node T_187487 = or(UInt<1>(0), T_187479) - node T_187488 = or(T_187487, T_187481) - node T_187489 = or(T_187488, in[0].valid) - node T_187490 = eq(T_187489, UInt<1>(0)) - node T_187491 = gt(UInt<1>(0), T_187477) - node T_187492 = and(UInt<1>(1), T_187491) - node T_187493 = or(T_187492, T_187486) - node T_187494 = gt(UInt<1>(1), T_187477) - node T_187495 = and(T_187483, T_187494) - node T_187496 = or(T_187495, T_187490) - node T_187497 = eq(UInt<1>(1), UInt<1>(0)) - wire T_187498 : UInt<1> - T_187498 := T_187493 - when UInt<1>(0) : T_187498 := T_187497 - node T_187499 = and(T_187498, out.ready) - in[0].ready := T_187499 - node T_187500 = eq(UInt<1>(1), UInt<1>(1)) - wire T_187501 : UInt<1> - T_187501 := T_187496 - when UInt<1>(0) : T_187501 := T_187500 - node T_187502 = and(T_187501, out.ready) - in[1].ready := T_187502 - accessor T_187503 = in[T_187476] - out.valid := T_187503.valid - accessor T_187504 = in[T_187476] - out.bits := T_187504.bits - chosen := T_187476 - wire T_187505 : UInt<1> - T_187505 := UInt<1>(1) - when in[0].valid : T_187505 := UInt<1>(0) - node T_187506 = gt(UInt<1>(1), T_187477) - node T_187507 = and(in[1].valid, T_187506) - wire T_187508 : UInt<1> - T_187508 := T_187505 - when T_187507 : T_187508 := UInt<1>(1) - wire T_187509 : UInt<1> - T_187509 := T_187508 - when UInt<1>(0) : T_187509 := UInt<1>(1) - T_187476 := T_187509 - - node T_187510 = and(out.ready, out.valid) - when T_187510 : T_187477 := T_187476 - module PTW : - input requestor : {req : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<27>, prv : UInt<2>, store : UInt<1>, fetch : UInt<1>}}, flip resp : {valid : UInt<1>, bits : {error : UInt<1>, pte : {ppn : UInt<20>, reserved_for_software : UInt<3>, d : UInt<1>, r : UInt<1>, typ : UInt<4>, v : UInt<1>}}}, flip status : {sd : UInt<1>, zero2 : UInt<31>, sd_rv32 : UInt<1>, zero1 : UInt<9>, vm : UInt<5>, mprv : UInt<1>, xs : UInt<2>, fs : UInt<2>, prv3 : UInt<2>, ie3 : UInt<1>, prv2 : UInt<2>, ie2 : UInt<1>, prv1 : UInt<2>, ie1 : UInt<1>, prv : UInt<2>, ie : UInt<1>}, flip invalidate : UInt<1>}[2] - output mem__ : {req : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<40>, tag : UInt<8>, cmd : UInt<5>, typ : UInt<3>, kill : UInt<1>, phys : UInt<1>, data : UInt<64>}}, flip resp : {valid : UInt<1>, bits : {addr : UInt<40>, tag : UInt<8>, cmd : UInt<5>, typ : UInt<3>, data : UInt<64>, nack : UInt<1>, replay : UInt<1>, has_data : UInt<1>, data_subword : UInt<64>, store_data : UInt<64>}}, flip replay_next : {valid : UInt<1>, bits : UInt<8>}, flip xcpt : {ma : {ld : UInt<1>, st : UInt<1>}, pf : {ld : UInt<1>, st : UInt<1>}}, invalidate_lr : UInt<1>, flip ordered : UInt<1>} - output dpath : {flip ptbr : UInt<32>, flip invalidate : UInt<1>, flip status : {sd : UInt<1>, zero2 : UInt<31>, sd_rv32 : UInt<1>, zero1 : UInt<9>, vm : UInt<5>, mprv : UInt<1>, xs : UInt<2>, fs : UInt<2>, prv3 : UInt<2>, ie3 : UInt<1>, prv2 : UInt<2>, ie2 : UInt<1>, prv1 : UInt<2>, ie1 : UInt<1>, prv : UInt<2>, ie : UInt<1>}} - - wire requestor : {req : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<27>, prv : UInt<2>, store : UInt<1>, fetch : UInt<1>}}, flip resp : {valid : UInt<1>, bits : {error : UInt<1>, pte : {ppn : UInt<20>, reserved_for_software : UInt<3>, d : UInt<1>, r : UInt<1>, typ : UInt<4>, v : UInt<1>}}}, flip status : {sd : UInt<1>, zero2 : UInt<31>, sd_rv32 : UInt<1>, zero1 : UInt<9>, vm : UInt<5>, mprv : UInt<1>, xs : UInt<2>, fs : UInt<2>, prv3 : UInt<2>, ie3 : UInt<1>, prv2 : UInt<2>, ie2 : UInt<1>, prv1 : UInt<2>, ie1 : UInt<1>, prv : UInt<2>, ie : UInt<1>}, flip invalidate : UInt<1>}[2] - requestor[0] := T_187511 - requestor[1] := T_187512 - reg state : UInt<3> - onreset state := UInt<3>(0) - reg count : UInt<2> - reg r_req : {addr : UInt<27>, prv : UInt<2>, store : UInt<1>, fetch : UInt<1>} - reg r_req_dest : UInt - reg r_pte : {ppn : UInt<20>, reserved_for_software : UInt<3>, d : UInt<1>, r : UInt<1>, typ : UInt<4>, v : UInt<1>} - node T_187513 = shr(r_req.addr, 18) - node T_187514 = bits(T_187513, 8, 0) - node T_187515 = shr(r_req.addr, 9) - node T_187516 = bits(T_187515, 8, 0) - node T_187517 = shr(r_req.addr, 0) - node T_187518 = bits(T_187517, 8, 0) - wire T_187519 : UInt<9>[3] - T_187519[0] := T_187514 - T_187519[1] := T_187516 - T_187519[2] := T_187518 - accessor vpn_idx = T_187519[count] - inst arb of RRArbiter_150123 - arb.in[0] <> requestor[0].req - arb.in[1] <> requestor[1].req - node T_187520 = eq(state, UInt<3>(0)) - arb.out.ready := T_187520 - wire pte : {ppn : UInt<20>, reserved_for_software : UInt<3>, d : UInt<1>, r : UInt<1>, typ : UInt<4>, v : UInt<1>} - node T_187521 = bits(mem__.resp.bits.data, 0, 0) - pte.v := T_187521 - node T_187522 = bits(mem__.resp.bits.data, 4, 1) - pte.typ := T_187522 - node T_187523 = bits(mem__.resp.bits.data, 5, 5) - pte.r := T_187523 - node T_187524 = bits(mem__.resp.bits.data, 6, 6) - pte.d := T_187524 - node T_187525 = bits(mem__.resp.bits.data, 9, 7) - pte.reserved_for_software := T_187525 - node T_187526 = bits(mem__.resp.bits.data, 29, 10) - pte.ppn := T_187526 - node T_187527 = cat(r_pte.ppn, vpn_idx) - node pte_addr = shl(T_187527, 3) - - node T_187528 = and(arb.out.ready, arb.out.valid) - when T_187528 : - r_req := arb.out.bits - r_req_dest := arb.chosen - node T_187529 = bits(dpath.ptbr, 31, 12) - r_pte.ppn := T_187529 - reg T_187530 : UInt<3> - reg T_187531 : UInt<1>[3] - onreset T_187531 := T_187532 - node T_187533 = cat(T_187531[1], T_187531[0]) - node T_187534 = cat(T_187531[2], T_187533) - cmem T_187535 : UInt<32>[3] - cmem T_187536 : UInt<20>[3] - accessor T_187537 = T_187535[UInt<1>(0)] - node T_187538 = eq(T_187537, pte_addr) - accessor T_187539 = T_187535[UInt<1>(1)] - node T_187540 = eq(T_187539, pte_addr) - accessor T_187541 = T_187535[UInt<2>(2)] - node T_187542 = eq(T_187541, pte_addr) - wire T_187543 : UInt<1>[3] - T_187543[0] := T_187538 - T_187543[1] := T_187540 - T_187543[2] := T_187542 - node T_187544 = cat(T_187543[1], T_187543[0]) - node T_187545 = cat(T_187543[2], T_187544) - node T_187546 = and(T_187545, T_187534) - node T_187547 = eq(T_187546, UInt<1>(0)) - node pte_cache_hit = eq(T_187547, UInt<1>(0)) - - - node T_187548 = lt(pte.typ, UInt<2>(2)) - node T_187549 = and(pte.v, T_187548) - node T_187550 = and(mem__.resp.valid, T_187549) - node T_187551 = eq(pte_cache_hit, UInt<1>(0)) - node T_187552 = and(T_187550, T_187551) - when T_187552 : - node T_187553 = eq(T_187534, UInt<1>(-1)) - node T_187554 = dshr(T_187530, UInt<1>(1)) - node T_187555 = bit(T_187554, 0) - node T_187556 = cat(UInt<1>(1), T_187555) - node T_187557 = dshr(T_187530, T_187556) - node T_187558 = bit(T_187557, 0) - node T_187559 = cat(T_187556, T_187558) - node T_187560 = bits(T_187559, 1, 0) - node T_187561 = not(T_187534) - node T_187562 = bit(T_187561, 0) - node T_187563 = bit(T_187561, 1) - node T_187564 = bit(T_187561, 2) - wire T_187565 : UInt<1>[3] - T_187565[0] := T_187562 - T_187565[1] := T_187563 - T_187565[2] := T_187564 - wire T_187566 : UInt<2> - T_187566 := UInt<2>(2) - when T_187565[1] : T_187566 := UInt<1>(1) - wire T_187567 : UInt<2> - T_187567 := T_187566 - when T_187565[0] : T_187567 := UInt<1>(0) - wire T_187568 : UInt<2> - T_187568 := T_187567 - when T_187553 : T_187568 := T_187560 - accessor T_187569 = T_187531[T_187568] - T_187569 := UInt<1>(1) - accessor T_187570 = T_187535[T_187568] - T_187570 := pte_addr - accessor T_187571 = T_187536[T_187568] - T_187571 := pte.ppn - - - node T_187572 = eq(state, UInt<3>(1)) - node T_187573 = and(pte_cache_hit, T_187572) - when T_187573 : - node T_187574 = bits(T_187546, 2, 2) - node T_187575 = bits(T_187546, 1, 0) - node T_187576 = eq(T_187574, UInt<1>(0)) - node T_187577 = eq(T_187576, UInt<1>(0)) - node T_187578 = or(T_187574, T_187575) - node T_187579 = bit(T_187578, 1) - node T_187580 = cat(T_187577, T_187579) - node T_187581 = bit(T_187580, 1) - node T_187582 = dshl(UInt<3>(1), UInt<1>(1)) - node T_187583 = bits(T_187582, 2, 0) - node T_187584 = not(T_187583) - node T_187585 = and(T_187530, T_187584) - wire T_187586 : UInt<3> - T_187586 := T_187583 - when T_187581 : T_187586 := UInt<1>(0) - node T_187587 = or(T_187585, T_187586) - node T_187588 = cat(UInt<1>(1), T_187581) - node T_187589 = bit(T_187580, 0) - node T_187590 = dshl(UInt<3>(1), T_187588) - node T_187591 = bits(T_187590, 2, 0) - node T_187592 = not(T_187591) - node T_187593 = and(T_187587, T_187592) - wire T_187594 : UInt<3> - T_187594 := T_187591 - when T_187589 : T_187594 := UInt<1>(0) - node T_187595 = or(T_187593, T_187594) - node T_187596 = cat(T_187588, T_187589) - T_187530 := T_187595 - - node T_187597 = or(reset, dpath.invalidate) - when T_187597 : - T_187531[0] := UInt<1>(0) - T_187531[1] := UInt<1>(0) - T_187531[2] := UInt<1>(0) - node T_187598 = bit(T_187546, 0) - node T_187599 = bit(T_187546, 1) - node T_187600 = bit(T_187546, 2) - accessor T_187601 = T_187536[UInt<1>(0)] - accessor T_187602 = T_187536[UInt<1>(1)] - accessor T_187603 = T_187536[UInt<2>(2)] - wire T_187604 : UInt<1> - T_187604 := UInt<1>(0) - when T_187598 : T_187604 := T_187601 - wire T_187605 : UInt<1> - T_187605 := UInt<1>(0) - when T_187599 : T_187605 := T_187602 - wire T_187606 : UInt<1> - T_187606 := UInt<1>(0) - when T_187600 : T_187606 := T_187603 - node T_187607 = or(T_187604, T_187605) - node T_187608 = or(T_187607, T_187606) - wire pte_cache_data : UInt<20> - node T_187609 = bits(T_187608, 19, 0) - pte_cache_data := T_187609 - node T_187610 = bit(r_req.prv, 0) - node T_187611 = geq(pte.typ, UInt<3>(4)) - node T_187612 = and(pte.v, T_187611) - node T_187613 = bit(pte.typ, 1) - node T_187614 = and(T_187612, T_187613) - node T_187615 = geq(pte.typ, UInt<2>(2)) - node T_187616 = and(pte.v, T_187615) - node T_187617 = bit(pte.typ, 0) - node T_187618 = and(T_187616, T_187617) - node T_187619 = geq(pte.typ, UInt<2>(2)) - node T_187620 = and(pte.v, T_187619) - wire T_187621 : UInt<1> - T_187621 := T_187620 - when r_req.store : T_187621 := T_187618 - wire T_187622 : UInt<1> - T_187622 := T_187621 - when r_req.fetch : T_187622 := T_187614 - node T_187623 = geq(pte.typ, UInt<2>(2)) - node T_187624 = and(pte.v, T_187623) - node T_187625 = lt(pte.typ, UInt<4>(8)) - node T_187626 = and(T_187624, T_187625) - node T_187627 = bit(pte.typ, 1) - node T_187628 = and(T_187626, T_187627) - node T_187629 = geq(pte.typ, UInt<2>(2)) - node T_187630 = and(pte.v, T_187629) - node T_187631 = lt(pte.typ, UInt<4>(8)) - node T_187632 = and(T_187630, T_187631) - node T_187633 = bit(pte.typ, 0) - node T_187634 = and(T_187632, T_187633) - node T_187635 = geq(pte.typ, UInt<2>(2)) - node T_187636 = and(pte.v, T_187635) - node T_187637 = lt(pte.typ, UInt<4>(8)) - node T_187638 = and(T_187636, T_187637) - wire T_187639 : UInt<1> - T_187639 := T_187638 - when r_req.store : T_187639 := T_187634 - wire T_187640 : UInt<1> - T_187640 := T_187639 - when r_req.fetch : T_187640 := T_187628 - wire perm_ok : UInt<1> - perm_ok := T_187640 - when T_187610 : perm_ok := T_187622 - node T_187641 = eq(pte.r, UInt<1>(0)) - node T_187642 = eq(pte.d, UInt<1>(0)) - node T_187643 = and(r_req.store, T_187642) - node T_187644 = or(T_187641, T_187643) - node set_dirty_bit = and(perm_ok, T_187644) - - - node T_187645 = eq(state, UInt<3>(2)) - node T_187646 = and(mem__.resp.valid, T_187645) - node T_187647 = eq(set_dirty_bit, UInt<1>(0)) - node T_187648 = and(T_187646, T_187647) - when T_187648 : r_pte := pte - wire T_187649 : {ppn : UInt<20>, reserved_for_software : UInt<3>, d : UInt<1>, r : UInt<1>, typ : UInt<4>, v : UInt<1>} - T_187649.v := UInt<1>(0) - T_187649.typ := UInt<4>(0) - T_187649.r := UInt<1>(0) - T_187649.d := UInt<1>(0) - T_187649.reserved_for_software := UInt<3>(0) - T_187649.ppn := UInt<20>(0) - wire pte_wdata : {ppn : UInt<20>, reserved_for_software : UInt<3>, d : UInt<1>, r : UInt<1>, typ : UInt<4>, v : UInt<1>} - pte_wdata := T_187649 - pte_wdata.r := UInt<1>(1) - pte_wdata.d := r_req.store - node T_187650 = eq(state, UInt<3>(1)) - node T_187651 = eq(state, UInt<3>(3)) - node T_187652 = or(T_187650, T_187651) - mem__.req.valid := T_187652 - mem__.req.bits.phys := UInt<1>(1) - node T_187653 = eq(state, UInt<3>(3)) - wire T_187654 : UInt<5> - T_187654 := UInt<5>(0) - when T_187653 : T_187654 := UInt<5>(10) - mem__.req.bits.cmd := T_187654 - mem__.req.bits.typ := UInt<3>(3) - mem__.req.bits.addr := pte_addr - mem__.req.bits.kill := UInt<1>(0) - node T_187655 = cat(pte_wdata.reserved_for_software, pte_wdata.d) - node T_187656 = cat(pte_wdata.ppn, T_187655) - node T_187657 = cat(pte_wdata.typ, pte_wdata.v) - node T_187658 = cat(pte_wdata.r, T_187657) - node T_187659 = cat(T_187656, T_187658) - mem__.req.bits.data := T_187659 - node resp_err = eq(state, UInt<3>(6)) - node T_187660 = eq(state, UInt<3>(5)) - node resp_val = or(T_187660, resp_err) - node r_resp_ppn = dshr(mem__.req.bits.addr, UInt<4>(12)) - node T_187661 = shr(r_resp_ppn, 18) - node T_187662 = bits(r_req.addr, 17, 0) - node T_187663 = cat(T_187661, T_187662) - node T_187664 = shr(r_resp_ppn, 9) - node T_187665 = bits(r_req.addr, 8, 0) - node T_187666 = cat(T_187664, T_187665) - wire T_187667 : UInt<40>[3] - T_187667[0] := T_187663 - T_187667[1] := T_187666 - T_187667[2] := r_resp_ppn - accessor resp_ppn = T_187667[count] - node T_187668 = eq(r_req_dest, UInt<1>(0)) - node T_187669 = and(resp_val, T_187668) - requestor[0].resp.valid := T_187669 - requestor[0].resp.bits.error := resp_err - requestor[0].resp.bits.pte := r_pte - requestor[0].resp.bits.pte.ppn := resp_ppn - requestor[0].invalidate := dpath.invalidate - requestor[0].status := dpath.status - node T_187670 = eq(r_req_dest, UInt<1>(1)) - node T_187671 = and(resp_val, T_187670) - requestor[1].resp.valid := T_187671 - requestor[1].resp.bits.error := resp_err - requestor[1].resp.bits.pte := r_pte - requestor[1].resp.bits.pte.ppn := resp_ppn - requestor[1].invalidate := dpath.invalidate - requestor[1].status := dpath.status - - node T_187672 = eq(UInt<3>(0), state) - when T_187672 : - when arb.out.valid : state := UInt<3>(1) - count := UInt<1>(0) - - node T_187673 = eq(UInt<3>(1), state) - when T_187673 : - - node T_187674 = lt(count, UInt<2>(2)) - node T_187675 = and(pte_cache_hit, T_187674) - when T_187675 : - mem__.req.valid := UInt<1>(0) - state := UInt<3>(1) - node T_187676 = addw(count, UInt<1>(1)) - count := T_187676 - r_pte.ppn := pte_cache_data - else : - when mem__.req.ready : state := UInt<3>(2) - - node T_187677 = eq(UInt<3>(2), state) - when T_187677 : - when mem__.resp.bits.nack : state := UInt<3>(1) - when mem__.resp.valid : - state := UInt<3>(6) - - - node T_187678 = lt(pte.typ, UInt<2>(2)) - node T_187679 = and(pte.v, T_187678) - node T_187680 = lt(count, UInt<2>(2)) - node T_187681 = and(T_187679, T_187680) - when T_187681 : - state := UInt<3>(1) - node T_187682 = addw(count, UInt<1>(1)) - count := T_187682 - - - node T_187683 = geq(pte.typ, UInt<2>(2)) - node T_187684 = and(pte.v, T_187683) - when T_187684 : - wire T_187685 : UInt<3> - T_187685 := UInt<3>(5) - when set_dirty_bit : T_187685 := UInt<3>(3) - state := T_187685 - - node T_187686 = eq(UInt<3>(3), state) - when T_187686 : when mem__.req.ready : state := UInt<3>(4) - - node T_187687 = eq(UInt<3>(4), state) - when T_187687 : - when mem__.resp.bits.nack : state := UInt<3>(3) - when mem__.resp.valid : state := UInt<3>(1) - - node T_187688 = eq(UInt<3>(5), state) - when T_187688 : state := UInt<3>(0) - - node T_187689 = eq(UInt<3>(6), state) - when T_187689 : state := UInt<3>(0) - module CSRFile : - output host : {flip reset : UInt<1>, flip id : UInt<1>, flip pcr_req : {flip ready : UInt<1>, valid : UInt<1>, bits : {rw : UInt<1>, addr : UInt<12>, data : UInt<64>}}, pcr_rep : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<64>}, ipi_req : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<1>}, flip ipi_rep : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<1>}, debug_stats_pcr : UInt<1>} - output rw : {flip addr : UInt<12>, flip cmd : UInt<3>, rdata : UInt<64>, flip wdata : UInt<64>} - output csr_replay : UInt<1> - output csr_stall : UInt<1> - output csr_xcpt : UInt<1> - output eret : UInt<1> - output status : {sd : UInt<1>, zero2 : UInt<31>, sd_rv32 : UInt<1>, zero1 : UInt<9>, vm : UInt<5>, mprv : UInt<1>, xs : UInt<2>, fs : UInt<2>, prv3 : UInt<2>, ie3 : UInt<1>, prv2 : UInt<2>, ie2 : UInt<1>, prv1 : UInt<2>, ie1 : UInt<1>, prv : UInt<2>, ie : UInt<1>} - output ptbr : UInt<32> - output evec : UInt<40> - input exception : UInt<1> - input retire : UInt<1> - input uarch_counters : UInt<1>[16] - output custom_mrw_csrs : UInt[0] - input cause : UInt<64> - input pc : UInt<40> - output fatc : UInt<1> - output time : UInt<64> - output fcsr_rm : UInt<3> - input fcsr_flags : {valid : UInt<1>, bits : UInt<5>} - input rocc : {flip cmd : {flip ready : UInt<1>, valid : UInt<1>, bits : {inst__ : {funct : UInt<7>, rs2 : UInt<5>, rs1 : UInt<5>, xd : UInt<1>, xs1 : UInt<1>, xs2 : UInt<1>, rd : UInt<5>, opcode : UInt<7>}, rs1 : UInt<64>, rs2 : UInt<64>}}, resp : {flip ready : UInt<1>, valid : UInt<1>, bits : {rd : UInt<5>, data : UInt<64>}}, mem__ : {req : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<40>, tag : UInt<8>, cmd : UInt<5>, typ : UInt<3>, kill : UInt<1>, phys : UInt<1>, data : UInt<64>}}, flip resp : {valid : UInt<1>, bits : {addr : UInt<40>, tag : UInt<8>, cmd : UInt<5>, typ : UInt<3>, data : UInt<64>, nack : UInt<1>, replay : UInt<1>, has_data : UInt<1>, data_subword : UInt<64>, store_data : UInt<64>}}, flip replay_next : {valid : UInt<1>, bits : UInt<8>}, flip xcpt : {ma : {ld : UInt<1>, st : UInt<1>}, pf : {ld : UInt<1>, st : UInt<1>}}, invalidate_lr : UInt<1>, flip ordered : UInt<1>}, busy : UInt<1>, flip s : UInt<1>, interrupt : UInt<1>, imem : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}}, dmem : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}}, iptw : {req : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<27>, prv : UInt<2>, store : UInt<1>, fetch : UInt<1>}}, flip resp : {valid : UInt<1>, bits : {error : UInt<1>, pte : {ppn : UInt<20>, reserved_for_software : UInt<3>, d : UInt<1>, r : UInt<1>, typ : UInt<4>, v : UInt<1>}}}, flip status : {sd : UInt<1>, zero2 : UInt<31>, sd_rv32 : UInt<1>, zero1 : UInt<9>, vm : UInt<5>, mprv : UInt<1>, xs : UInt<2>, fs : UInt<2>, prv3 : UInt<2>, ie3 : UInt<1>, prv2 : UInt<2>, ie2 : UInt<1>, prv1 : UInt<2>, ie1 : UInt<1>, prv : UInt<2>, ie : UInt<1>}, flip invalidate : UInt<1>}, dptw : {req : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<27>, prv : UInt<2>, store : UInt<1>, fetch : UInt<1>}}, flip resp : {valid : UInt<1>, bits : {error : UInt<1>, pte : {ppn : UInt<20>, reserved_for_software : UInt<3>, d : UInt<1>, r : UInt<1>, typ : UInt<4>, v : UInt<1>}}}, flip status : {sd : UInt<1>, zero2 : UInt<31>, sd_rv32 : UInt<1>, zero1 : UInt<9>, vm : UInt<5>, mprv : UInt<1>, xs : UInt<2>, fs : UInt<2>, prv3 : UInt<2>, ie3 : UInt<1>, prv2 : UInt<2>, ie2 : UInt<1>, prv1 : UInt<2>, ie1 : UInt<1>, prv : UInt<2>, ie : UInt<1>}, flip invalidate : UInt<1>}, pptw : {req : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<27>, prv : UInt<2>, store : UInt<1>, fetch : UInt<1>}}, flip resp : {valid : UInt<1>, bits : {error : UInt<1>, pte : {ppn : UInt<20>, reserved_for_software : UInt<3>, d : UInt<1>, r : UInt<1>, typ : UInt<4>, v : UInt<1>}}}, flip status : {sd : UInt<1>, zero2 : UInt<31>, sd_rv32 : UInt<1>, zero1 : UInt<9>, vm : UInt<5>, mprv : UInt<1>, xs : UInt<2>, fs : UInt<2>, prv3 : UInt<2>, ie3 : UInt<1>, prv2 : UInt<2>, ie2 : UInt<1>, prv1 : UInt<2>, ie1 : UInt<1>, prv : UInt<2>, ie : UInt<1>}, flip invalidate : UInt<1>}, flip exception : UInt<1>} - output interrupt : UInt<1> - output interrupt_cause : UInt<64> - - wire uarch_counters : UInt<1>[16] - uarch_counters[0] := T_187690 - uarch_counters[1] := T_187691 - uarch_counters[2] := T_187692 - uarch_counters[3] := T_187693 - uarch_counters[4] := T_187694 - uarch_counters[5] := T_187695 - uarch_counters[6] := T_187696 - uarch_counters[7] := T_187697 - uarch_counters[8] := T_187698 - uarch_counters[9] := T_187699 - uarch_counters[10] := T_187700 - uarch_counters[11] := T_187701 - uarch_counters[12] := T_187702 - uarch_counters[13] := T_187703 - uarch_counters[14] := T_187704 - uarch_counters[15] := T_187705 - wire custom_mrw_csrs : UInt[0] - wire T_187706 : UInt<3>[3] - T_187706[0] := UInt<3>(0) - T_187706[1] := UInt<3>(1) - T_187706[2] := UInt<3>(2) - wire T_187707 : UInt<2>[2] - T_187707[0] := UInt<2>(0) - T_187707[1] := UInt<2>(1) - wire T_187708 : UInt<2>[3] - T_187708[0] := UInt<2>(1) - T_187708[1] := UInt<2>(2) - T_187708[2] := UInt<2>(3) - wire T_187709 : UInt<2>[2] - T_187709[0] := UInt<2>(2) - T_187709[1] := UInt<2>(3) - wire T_187710 : UInt<2>[1] - T_187710[0] := UInt<2>(3) - wire T_187711 : UInt<3>[3] - T_187711[0] := UInt<3>(0) - T_187711[1] := UInt<3>(1) - T_187711[2] := UInt<3>(2) - wire T_187712 : UInt<2>[2] - T_187712[0] := UInt<2>(0) - T_187712[1] := UInt<2>(1) - wire T_187713 : UInt<2>[3] - T_187713[0] := UInt<2>(1) - T_187713[1] := UInt<2>(2) - T_187713[2] := UInt<2>(3) - wire T_187714 : UInt<2>[2] - T_187714[0] := UInt<2>(2) - T_187714[1] := UInt<2>(3) - wire T_187715 : UInt<2>[1] - T_187715[0] := UInt<2>(3) - wire T_187716 : UInt<3>[3] - T_187716[0] := UInt<3>(0) - T_187716[1] := UInt<3>(1) - T_187716[2] := UInt<3>(2) - wire T_187717 : UInt<2>[2] - T_187717[0] := UInt<2>(0) - T_187717[1] := UInt<2>(1) - wire T_187718 : UInt<2>[3] - T_187718[0] := UInt<2>(1) - T_187718[1] := UInt<2>(2) - T_187718[2] := UInt<2>(3) - wire T_187719 : UInt<2>[2] - T_187719[0] := UInt<2>(2) - T_187719[1] := UInt<2>(3) - wire T_187720 : UInt<2>[1] - T_187720[0] := UInt<2>(3) - wire T_187721 : UInt<3>[3] - T_187721[0] := UInt<3>(0) - T_187721[1] := UInt<3>(1) - T_187721[2] := UInt<3>(2) - wire T_187722 : UInt<2>[2] - T_187722[0] := UInt<2>(0) - T_187722[1] := UInt<2>(1) - wire T_187723 : UInt<2>[3] - T_187723[0] := UInt<2>(1) - T_187723[1] := UInt<2>(2) - T_187723[2] := UInt<2>(3) - wire T_187724 : UInt<2>[2] - T_187724[0] := UInt<2>(2) - T_187724[1] := UInt<2>(3) - wire T_187725 : UInt<2>[1] - T_187725[0] := UInt<2>(3) - wire T_187726 : UInt<3>[3] - T_187726[0] := UInt<3>(0) - T_187726[1] := UInt<3>(1) - T_187726[2] := UInt<3>(2) - wire T_187727 : UInt<2>[2] - T_187727[0] := UInt<2>(0) - T_187727[1] := UInt<2>(1) - wire T_187728 : UInt<2>[3] - T_187728[0] := UInt<2>(1) - T_187728[1] := UInt<2>(2) - T_187728[2] := UInt<2>(3) - wire T_187729 : UInt<2>[2] - T_187729[0] := UInt<2>(2) - T_187729[1] := UInt<2>(3) - wire T_187730 : UInt<2>[1] - T_187730[0] := UInt<2>(3) - wire T_187731 : UInt<3>[3] - T_187731[0] := UInt<3>(0) - T_187731[1] := UInt<3>(1) - T_187731[2] := UInt<3>(2) - wire T_187732 : UInt<2>[2] - T_187732[0] := UInt<2>(0) - T_187732[1] := UInt<2>(1) - wire T_187733 : UInt<2>[3] - T_187733[0] := UInt<2>(1) - T_187733[1] := UInt<2>(2) - T_187733[2] := UInt<2>(3) - wire T_187734 : UInt<2>[2] - T_187734[0] := UInt<2>(2) - T_187734[1] := UInt<2>(3) - wire T_187735 : UInt<2>[1] - T_187735[0] := UInt<2>(3) - wire T_187736 : UInt<3>[3] - T_187736[0] := UInt<3>(0) - T_187736[1] := UInt<3>(1) - T_187736[2] := UInt<3>(2) - wire T_187737 : UInt<2>[2] - T_187737[0] := UInt<2>(0) - T_187737[1] := UInt<2>(1) - wire T_187738 : UInt<2>[3] - T_187738[0] := UInt<2>(1) - T_187738[1] := UInt<2>(2) - T_187738[2] := UInt<2>(3) - wire T_187739 : UInt<2>[2] - T_187739[0] := UInt<2>(2) - T_187739[1] := UInt<2>(3) - wire T_187740 : UInt<2>[1] - T_187740[0] := UInt<2>(3) - wire T_187741 : UInt<3>[3] - T_187741[0] := UInt<3>(0) - T_187741[1] := UInt<3>(1) - T_187741[2] := UInt<3>(2) - wire T_187742 : UInt<2>[2] - T_187742[0] := UInt<2>(0) - T_187742[1] := UInt<2>(1) - wire T_187743 : UInt<2>[3] - T_187743[0] := UInt<2>(1) - T_187743[1] := UInt<2>(2) - T_187743[2] := UInt<2>(3) - wire T_187744 : UInt<2>[2] - T_187744[0] := UInt<2>(2) - T_187744[1] := UInt<2>(3) - wire T_187745 : UInt<2>[1] - T_187745[0] := UInt<2>(3) - wire T_187746 : UInt<3>[3] - T_187746[0] := UInt<3>(0) - T_187746[1] := UInt<3>(1) - T_187746[2] := UInt<3>(2) - wire T_187747 : UInt<2>[2] - T_187747[0] := UInt<2>(0) - T_187747[1] := UInt<2>(1) - wire T_187748 : UInt<2>[3] - T_187748[0] := UInt<2>(1) - T_187748[1] := UInt<2>(2) - T_187748[2] := UInt<2>(3) - wire T_187749 : UInt<2>[2] - T_187749[0] := UInt<2>(2) - T_187749[1] := UInt<2>(3) - wire T_187750 : UInt<2>[1] - T_187750[0] := UInt<2>(3) - wire T_187751 : UInt<3>[3] - T_187751[0] := UInt<3>(0) - T_187751[1] := UInt<3>(1) - T_187751[2] := UInt<3>(2) - wire T_187752 : UInt<2>[2] - T_187752[0] := UInt<2>(0) - T_187752[1] := UInt<2>(1) - wire T_187753 : UInt<2>[3] - T_187753[0] := UInt<2>(1) - T_187753[1] := UInt<2>(2) - T_187753[2] := UInt<2>(3) - wire T_187754 : UInt<2>[2] - T_187754[0] := UInt<2>(2) - T_187754[1] := UInt<2>(3) - wire T_187755 : UInt<2>[1] - T_187755[0] := UInt<2>(3) - reg reg_mstatus : {sd : UInt<1>, zero2 : UInt<31>, sd_rv32 : UInt<1>, zero1 : UInt<9>, vm : UInt<5>, mprv : UInt<1>, xs : UInt<2>, fs : UInt<2>, prv3 : UInt<2>, ie3 : UInt<1>, prv2 : UInt<2>, ie2 : UInt<1>, prv1 : UInt<2>, ie1 : UInt<1>, prv : UInt<2>, ie : UInt<1>} - wire T_187756 : {mtip : UInt<1>, htip : UInt<1>, stip : UInt<1>, utip : UInt<1>, msip : UInt<1>, hsip : UInt<1>, ssip : UInt<1>, usip : UInt<1>} - T_187756.usip := UInt<1>(0) - T_187756.ssip := UInt<1>(0) - T_187756.hsip := UInt<1>(0) - T_187756.msip := UInt<1>(0) - T_187756.utip := UInt<1>(0) - T_187756.stip := UInt<1>(0) - T_187756.htip := UInt<1>(0) - T_187756.mtip := UInt<1>(0) - reg reg_mie : {mtip : UInt<1>, htip : UInt<1>, stip : UInt<1>, utip : UInt<1>, msip : UInt<1>, hsip : UInt<1>, ssip : UInt<1>, usip : UInt<1>} - onreset reg_mie := T_187756 - wire T_187757 : {mtip : UInt<1>, htip : UInt<1>, stip : UInt<1>, utip : UInt<1>, msip : UInt<1>, hsip : UInt<1>, ssip : UInt<1>, usip : UInt<1>} - T_187757.usip := UInt<1>(0) - T_187757.ssip := UInt<1>(0) - T_187757.hsip := UInt<1>(0) - T_187757.msip := UInt<1>(0) - T_187757.utip := UInt<1>(0) - T_187757.stip := UInt<1>(0) - T_187757.htip := UInt<1>(0) - T_187757.mtip := UInt<1>(0) - reg reg_mip : {mtip : UInt<1>, htip : UInt<1>, stip : UInt<1>, utip : UInt<1>, msip : UInt<1>, hsip : UInt<1>, ssip : UInt<1>, usip : UInt<1>} - onreset reg_mip := T_187757 - reg reg_mepc : UInt<40> - reg reg_mcause : UInt<64> - reg reg_mbadaddr : UInt<40> - reg reg_mscratch : UInt<64> - reg reg_sepc : UInt<40> - reg reg_scause : UInt<64> - reg reg_sbadaddr : UInt<40> - reg reg_sscratch : UInt<64> - reg reg_stvec : UInt<39> - reg reg_mtimecmp : UInt<64> - reg reg_sptbr : UInt<32> - reg reg_wfi : UInt<1> - onreset reg_wfi := UInt<1>(0) - reg reg_tohost : UInt<64> - onreset reg_tohost := UInt<64>(0) - reg reg_fromhost : UInt<64> - onreset reg_fromhost := UInt<64>(0) - reg reg_stats : UInt<1> - onreset reg_stats := UInt<1>(0) - reg reg_time : UInt<64> - reg T_187758 : UInt<6> - onreset T_187758 := UInt<6>(0) - node T_187759 = eq(UInt<1>(1), UInt<1>(0)) - node T_187760 = eq(T_187759, UInt<1>(0)) - node T_187761 = addw(T_187758, UInt<7>(1)) - when T_187760 : - node T_187762 = bits(T_187761, 5, 0) - T_187758 := T_187762 - reg T_187763 : UInt<58> - onreset T_187763 := UInt<58>(0) - - - node T_187764 = bit(T_187761, 6) - node T_187765 = and(T_187760, T_187764) - when T_187765 : - node T_187766 = addw(T_187763, UInt<1>(1)) - T_187763 := T_187766 - node T_187767 = cat(T_187763, T_187758) - reg T_187768 : UInt<6> - onreset T_187768 := UInt<6>(0) - node T_187769 = eq(retire, UInt<1>(0)) - node T_187770 = eq(T_187769, UInt<1>(0)) - node T_187771 = addw(T_187768, UInt<7>(1)) - when T_187770 : - node T_187772 = bits(T_187771, 5, 0) - T_187768 := T_187772 - reg T_187773 : UInt<58> - onreset T_187773 := UInt<58>(0) - - - node T_187774 = bit(T_187771, 6) - node T_187775 = and(T_187770, T_187774) - when T_187775 : - node T_187776 = addw(T_187773, UInt<1>(1)) - T_187773 := T_187776 - node T_187777 = cat(T_187773, T_187768) - reg T_187778 : UInt<6> - onreset T_187778 := UInt<6>(0) - node T_187779 = eq(uarch_counters[0], UInt<1>(0)) - node T_187780 = eq(T_187779, UInt<1>(0)) - node T_187781 = addw(T_187778, UInt<7>(1)) - when T_187780 : - node T_187782 = bits(T_187781, 5, 0) - T_187778 := T_187782 - reg T_187783 : UInt<58> - onreset T_187783 := UInt<58>(0) - - - node T_187784 = bit(T_187781, 6) - node T_187785 = and(T_187780, T_187784) - when T_187785 : - node T_187786 = addw(T_187783, UInt<1>(1)) - T_187783 := T_187786 - node T_187787 = cat(T_187783, T_187778) - reg T_187788 : UInt<6> - onreset T_187788 := UInt<6>(0) - node T_187789 = eq(uarch_counters[1], UInt<1>(0)) - node T_187790 = eq(T_187789, UInt<1>(0)) - node T_187791 = addw(T_187788, UInt<7>(1)) - when T_187790 : - node T_187792 = bits(T_187791, 5, 0) - T_187788 := T_187792 - reg T_187793 : UInt<58> - onreset T_187793 := UInt<58>(0) - - - node T_187794 = bit(T_187791, 6) - node T_187795 = and(T_187790, T_187794) - when T_187795 : - node T_187796 = addw(T_187793, UInt<1>(1)) - T_187793 := T_187796 - node T_187797 = cat(T_187793, T_187788) - reg T_187798 : UInt<6> - onreset T_187798 := UInt<6>(0) - node T_187799 = eq(uarch_counters[2], UInt<1>(0)) - node T_187800 = eq(T_187799, UInt<1>(0)) - node T_187801 = addw(T_187798, UInt<7>(1)) - when T_187800 : - node T_187802 = bits(T_187801, 5, 0) - T_187798 := T_187802 - reg T_187803 : UInt<58> - onreset T_187803 := UInt<58>(0) - - - node T_187804 = bit(T_187801, 6) - node T_187805 = and(T_187800, T_187804) - when T_187805 : - node T_187806 = addw(T_187803, UInt<1>(1)) - T_187803 := T_187806 - node T_187807 = cat(T_187803, T_187798) - reg T_187808 : UInt<6> - onreset T_187808 := UInt<6>(0) - node T_187809 = eq(uarch_counters[3], UInt<1>(0)) - node T_187810 = eq(T_187809, UInt<1>(0)) - node T_187811 = addw(T_187808, UInt<7>(1)) - when T_187810 : - node T_187812 = bits(T_187811, 5, 0) - T_187808 := T_187812 - reg T_187813 : UInt<58> - onreset T_187813 := UInt<58>(0) - - - node T_187814 = bit(T_187811, 6) - node T_187815 = and(T_187810, T_187814) - when T_187815 : - node T_187816 = addw(T_187813, UInt<1>(1)) - T_187813 := T_187816 - node T_187817 = cat(T_187813, T_187808) - reg T_187818 : UInt<6> - onreset T_187818 := UInt<6>(0) - node T_187819 = eq(uarch_counters[4], UInt<1>(0)) - node T_187820 = eq(T_187819, UInt<1>(0)) - node T_187821 = addw(T_187818, UInt<7>(1)) - when T_187820 : - node T_187822 = bits(T_187821, 5, 0) - T_187818 := T_187822 - reg T_187823 : UInt<58> - onreset T_187823 := UInt<58>(0) - - - node T_187824 = bit(T_187821, 6) - node T_187825 = and(T_187820, T_187824) - when T_187825 : - node T_187826 = addw(T_187823, UInt<1>(1)) - T_187823 := T_187826 - node T_187827 = cat(T_187823, T_187818) - reg T_187828 : UInt<6> - onreset T_187828 := UInt<6>(0) - node T_187829 = eq(uarch_counters[5], UInt<1>(0)) - node T_187830 = eq(T_187829, UInt<1>(0)) - node T_187831 = addw(T_187828, UInt<7>(1)) - when T_187830 : - node T_187832 = bits(T_187831, 5, 0) - T_187828 := T_187832 - reg T_187833 : UInt<58> - onreset T_187833 := UInt<58>(0) - - - node T_187834 = bit(T_187831, 6) - node T_187835 = and(T_187830, T_187834) - when T_187835 : - node T_187836 = addw(T_187833, UInt<1>(1)) - T_187833 := T_187836 - node T_187837 = cat(T_187833, T_187828) - reg T_187838 : UInt<6> - onreset T_187838 := UInt<6>(0) - node T_187839 = eq(uarch_counters[6], UInt<1>(0)) - node T_187840 = eq(T_187839, UInt<1>(0)) - node T_187841 = addw(T_187838, UInt<7>(1)) - when T_187840 : - node T_187842 = bits(T_187841, 5, 0) - T_187838 := T_187842 - reg T_187843 : UInt<58> - onreset T_187843 := UInt<58>(0) - - - node T_187844 = bit(T_187841, 6) - node T_187845 = and(T_187840, T_187844) - when T_187845 : - node T_187846 = addw(T_187843, UInt<1>(1)) - T_187843 := T_187846 - node T_187847 = cat(T_187843, T_187838) - reg T_187848 : UInt<6> - onreset T_187848 := UInt<6>(0) - node T_187849 = eq(uarch_counters[7], UInt<1>(0)) - node T_187850 = eq(T_187849, UInt<1>(0)) - node T_187851 = addw(T_187848, UInt<7>(1)) - when T_187850 : - node T_187852 = bits(T_187851, 5, 0) - T_187848 := T_187852 - reg T_187853 : UInt<58> - onreset T_187853 := UInt<58>(0) - - - node T_187854 = bit(T_187851, 6) - node T_187855 = and(T_187850, T_187854) - when T_187855 : - node T_187856 = addw(T_187853, UInt<1>(1)) - T_187853 := T_187856 - node T_187857 = cat(T_187853, T_187848) - reg T_187858 : UInt<6> - onreset T_187858 := UInt<6>(0) - node T_187859 = eq(uarch_counters[8], UInt<1>(0)) - node T_187860 = eq(T_187859, UInt<1>(0)) - node T_187861 = addw(T_187858, UInt<7>(1)) - when T_187860 : - node T_187862 = bits(T_187861, 5, 0) - T_187858 := T_187862 - reg T_187863 : UInt<58> - onreset T_187863 := UInt<58>(0) - - - node T_187864 = bit(T_187861, 6) - node T_187865 = and(T_187860, T_187864) - when T_187865 : - node T_187866 = addw(T_187863, UInt<1>(1)) - T_187863 := T_187866 - node T_187867 = cat(T_187863, T_187858) - reg T_187868 : UInt<6> - onreset T_187868 := UInt<6>(0) - node T_187869 = eq(uarch_counters[9], UInt<1>(0)) - node T_187870 = eq(T_187869, UInt<1>(0)) - node T_187871 = addw(T_187868, UInt<7>(1)) - when T_187870 : - node T_187872 = bits(T_187871, 5, 0) - T_187868 := T_187872 - reg T_187873 : UInt<58> - onreset T_187873 := UInt<58>(0) - - - node T_187874 = bit(T_187871, 6) - node T_187875 = and(T_187870, T_187874) - when T_187875 : - node T_187876 = addw(T_187873, UInt<1>(1)) - T_187873 := T_187876 - node T_187877 = cat(T_187873, T_187868) - reg T_187878 : UInt<6> - onreset T_187878 := UInt<6>(0) - node T_187879 = eq(uarch_counters[10], UInt<1>(0)) - node T_187880 = eq(T_187879, UInt<1>(0)) - node T_187881 = addw(T_187878, UInt<7>(1)) - when T_187880 : - node T_187882 = bits(T_187881, 5, 0) - T_187878 := T_187882 - reg T_187883 : UInt<58> - onreset T_187883 := UInt<58>(0) - - - node T_187884 = bit(T_187881, 6) - node T_187885 = and(T_187880, T_187884) - when T_187885 : - node T_187886 = addw(T_187883, UInt<1>(1)) - T_187883 := T_187886 - node T_187887 = cat(T_187883, T_187878) - reg T_187888 : UInt<6> - onreset T_187888 := UInt<6>(0) - node T_187889 = eq(uarch_counters[11], UInt<1>(0)) - node T_187890 = eq(T_187889, UInt<1>(0)) - node T_187891 = addw(T_187888, UInt<7>(1)) - when T_187890 : - node T_187892 = bits(T_187891, 5, 0) - T_187888 := T_187892 - reg T_187893 : UInt<58> - onreset T_187893 := UInt<58>(0) - - - node T_187894 = bit(T_187891, 6) - node T_187895 = and(T_187890, T_187894) - when T_187895 : - node T_187896 = addw(T_187893, UInt<1>(1)) - T_187893 := T_187896 - node T_187897 = cat(T_187893, T_187888) - reg T_187898 : UInt<6> - onreset T_187898 := UInt<6>(0) - node T_187899 = eq(uarch_counters[12], UInt<1>(0)) - node T_187900 = eq(T_187899, UInt<1>(0)) - node T_187901 = addw(T_187898, UInt<7>(1)) - when T_187900 : - node T_187902 = bits(T_187901, 5, 0) - T_187898 := T_187902 - reg T_187903 : UInt<58> - onreset T_187903 := UInt<58>(0) - - - node T_187904 = bit(T_187901, 6) - node T_187905 = and(T_187900, T_187904) - when T_187905 : - node T_187906 = addw(T_187903, UInt<1>(1)) - T_187903 := T_187906 - node T_187907 = cat(T_187903, T_187898) - reg T_187908 : UInt<6> - onreset T_187908 := UInt<6>(0) - node T_187909 = eq(uarch_counters[13], UInt<1>(0)) - node T_187910 = eq(T_187909, UInt<1>(0)) - node T_187911 = addw(T_187908, UInt<7>(1)) - when T_187910 : - node T_187912 = bits(T_187911, 5, 0) - T_187908 := T_187912 - reg T_187913 : UInt<58> - onreset T_187913 := UInt<58>(0) - - - node T_187914 = bit(T_187911, 6) - node T_187915 = and(T_187910, T_187914) - when T_187915 : - node T_187916 = addw(T_187913, UInt<1>(1)) - T_187913 := T_187916 - node T_187917 = cat(T_187913, T_187908) - reg T_187918 : UInt<6> - onreset T_187918 := UInt<6>(0) - node T_187919 = eq(uarch_counters[14], UInt<1>(0)) - node T_187920 = eq(T_187919, UInt<1>(0)) - node T_187921 = addw(T_187918, UInt<7>(1)) - when T_187920 : - node T_187922 = bits(T_187921, 5, 0) - T_187918 := T_187922 - reg T_187923 : UInt<58> - onreset T_187923 := UInt<58>(0) - - - node T_187924 = bit(T_187921, 6) - node T_187925 = and(T_187920, T_187924) - when T_187925 : - node T_187926 = addw(T_187923, UInt<1>(1)) - T_187923 := T_187926 - node T_187927 = cat(T_187923, T_187918) - reg T_187928 : UInt<6> - onreset T_187928 := UInt<6>(0) - node T_187929 = eq(uarch_counters[15], UInt<1>(0)) - node T_187930 = eq(T_187929, UInt<1>(0)) - node T_187931 = addw(T_187928, UInt<7>(1)) - when T_187930 : - node T_187932 = bits(T_187931, 5, 0) - T_187928 := T_187932 - reg T_187933 : UInt<58> - onreset T_187933 := UInt<58>(0) - - - node T_187934 = bit(T_187931, 6) - node T_187935 = and(T_187930, T_187934) - when T_187935 : - node T_187936 = addw(T_187933, UInt<1>(1)) - T_187933 := T_187936 - node T_187937 = cat(T_187933, T_187928) - reg reg_fflags : UInt<5> - reg reg_frm : UInt<3> - node irq_rocc = and(UInt<1>(0), rocc.interrupt) - interrupt_cause := UInt<1>(0) - node T_187938 = bit(interrupt_cause, 63) - interrupt := T_187938 - wire some_interrupt_pending : UInt<1> - some_interrupt_pending := UInt<1>(0) - node T_187939 = and(reg_mie.ssip, reg_mip.ssip) - - - node T_187940 = lt(reg_mstatus.prv, UInt<1>(1)) - node T_187941 = eq(reg_mstatus.prv, UInt<1>(1)) - node T_187942 = and(T_187941, reg_mstatus.ie) - node T_187943 = or(T_187940, T_187942) - node T_187944 = and(T_187939, T_187943) - when T_187944 : interrupt_cause := UInt<64>(9223372036854775808) - - - node T_187945 = leq(reg_mstatus.prv, UInt<1>(1)) - node T_187946 = and(T_187939, T_187945) - when T_187946 : some_interrupt_pending := UInt<1>(1) - node T_187947 = and(reg_mie.msip, reg_mip.msip) - - - node T_187948 = lt(reg_mstatus.prv, UInt<2>(3)) - node T_187949 = eq(reg_mstatus.prv, UInt<2>(3)) - node T_187950 = and(T_187949, reg_mstatus.ie) - node T_187951 = or(T_187948, T_187950) - node T_187952 = and(T_187947, T_187951) - when T_187952 : interrupt_cause := UInt<64>(9223372036854775808) - - - node T_187953 = leq(reg_mstatus.prv, UInt<2>(3)) - node T_187954 = and(T_187947, T_187953) - when T_187954 : some_interrupt_pending := UInt<1>(1) - node T_187955 = and(reg_mie.stip, reg_mip.stip) - - - node T_187956 = lt(reg_mstatus.prv, UInt<1>(1)) - node T_187957 = eq(reg_mstatus.prv, UInt<1>(1)) - node T_187958 = and(T_187957, reg_mstatus.ie) - node T_187959 = or(T_187956, T_187958) - node T_187960 = and(T_187955, T_187959) - when T_187960 : interrupt_cause := UInt<64>(9223372036854775809) - - - node T_187961 = leq(reg_mstatus.prv, UInt<1>(1)) - node T_187962 = and(T_187955, T_187961) - when T_187962 : some_interrupt_pending := UInt<1>(1) - node T_187963 = and(reg_mie.mtip, reg_mip.mtip) - - - node T_187964 = lt(reg_mstatus.prv, UInt<2>(3)) - node T_187965 = eq(reg_mstatus.prv, UInt<2>(3)) - node T_187966 = and(T_187965, reg_mstatus.ie) - node T_187967 = or(T_187964, T_187966) - node T_187968 = and(T_187963, T_187967) - when T_187968 : interrupt_cause := UInt<64>(9223372036854775809) - - - node T_187969 = leq(reg_mstatus.prv, UInt<2>(3)) - node T_187970 = and(T_187963, T_187969) - when T_187970 : some_interrupt_pending := UInt<1>(1) - node T_187971 = neq(reg_fromhost, UInt<1>(0)) - - - node T_187972 = lt(reg_mstatus.prv, UInt<2>(3)) - node T_187973 = eq(reg_mstatus.prv, UInt<2>(3)) - node T_187974 = and(T_187973, reg_mstatus.ie) - node T_187975 = or(T_187972, T_187974) - node T_187976 = and(T_187971, T_187975) - when T_187976 : interrupt_cause := UInt<64>(9223372036854775810) - - - node T_187977 = leq(reg_mstatus.prv, UInt<2>(3)) - node T_187978 = and(T_187971, T_187977) - when T_187978 : some_interrupt_pending := UInt<1>(1) - - - node T_187979 = lt(reg_mstatus.prv, UInt<2>(3)) - node T_187980 = eq(reg_mstatus.prv, UInt<2>(3)) - node T_187981 = and(T_187980, reg_mstatus.ie) - node T_187982 = or(T_187979, T_187981) - node T_187983 = and(irq_rocc, T_187982) - when T_187983 : interrupt_cause := UInt<64>(9223372036854775811) - - - node T_187984 = leq(reg_mstatus.prv, UInt<2>(3)) - node T_187985 = and(irq_rocc, T_187984) - when T_187985 : some_interrupt_pending := UInt<1>(1) - node system_insn = eq(rw.cmd, UInt<3>(4)) - node T_187986 = neq(rw.cmd, UInt<3>(0)) - node T_187987 = eq(system_insn, UInt<1>(0)) - node cpu_ren = and(T_187986, T_187987) - reg host_pcr_req_valid : UInt<1> - node T_187988 = eq(cpu_ren, UInt<1>(0)) - node host_pcr_req_fire = and(host_pcr_req_valid, T_187988) - reg host_pcr_rep_valid : UInt<1> - reg host_pcr_bits : {rw : UInt<1>, addr : UInt<12>, data : UInt<64>} - node T_187989 = eq(host_pcr_req_valid, UInt<1>(0)) - node T_187990 = eq(host_pcr_rep_valid, UInt<1>(0)) - node T_187991 = and(T_187989, T_187990) - host.pcr_req.ready := T_187991 - host.pcr_rep.valid := host_pcr_rep_valid - host.pcr_rep.bits := host_pcr_bits.data - - node T_187992 = and(host.pcr_req.ready, host.pcr_req.valid) - when T_187992 : - host_pcr_req_valid := UInt<1>(1) - host_pcr_bits := host.pcr_req.bits - when host_pcr_req_fire : - host_pcr_req_valid := UInt<1>(0) - host_pcr_rep_valid := UInt<1>(1) - host_pcr_bits.data := rw.rdata - - node T_187993 = and(host.pcr_rep.ready, host.pcr_rep.valid) - when T_187993 : host_pcr_rep_valid := UInt<1>(0) - host.debug_stats_pcr := reg_stats - node T_187994 = cat(status.sd, status.zero2) - node T_187995 = cat(status.sd_rv32, status.zero1) - node T_187996 = cat(T_187994, T_187995) - node T_187997 = cat(status.vm, status.mprv) - node T_187998 = cat(status.xs, status.fs) - node T_187999 = cat(T_187997, T_187998) - node T_188000 = cat(T_187996, T_187999) - node T_188001 = cat(status.prv3, status.ie3) - node T_188002 = cat(status.prv2, status.ie2) - node T_188003 = cat(T_188001, T_188002) - node T_188004 = cat(status.prv1, status.ie1) - node T_188005 = cat(status.prv, status.ie) - node T_188006 = cat(T_188004, T_188005) - node T_188007 = cat(T_188003, T_188006) - node read_mstatus = cat(T_188000, T_188007) - node T_188008 = cat(reg_frm, reg_fflags) - node T_188009 = cat(reg_mip.mtip, reg_mip.htip) - node T_188010 = cat(reg_mip.stip, reg_mip.utip) - node T_188011 = cat(T_188009, T_188010) - node T_188012 = cat(reg_mip.msip, reg_mip.hsip) - node T_188013 = cat(reg_mip.ssip, reg_mip.usip) - node T_188014 = cat(T_188012, T_188013) - node T_188015 = cat(T_188011, T_188014) - node T_188016 = cat(reg_mie.mtip, reg_mie.htip) - node T_188017 = cat(reg_mie.stip, reg_mie.utip) - node T_188018 = cat(T_188016, T_188017) - node T_188019 = cat(reg_mie.msip, reg_mie.hsip) - node T_188020 = cat(reg_mie.ssip, reg_mie.usip) - node T_188021 = cat(T_188019, T_188020) - node T_188022 = cat(T_188018, T_188021) - node T_188023 = bit(reg_mepc, 39) - node T_188024 = subw(UInt<24>(0), UInt<5>(24)) - node T_188025 = cat(T_188024, reg_mepc) - node T_188026 = bit(reg_mbadaddr, 39) - node T_188027 = subw(UInt<24>(0), UInt<5>(24)) - node T_188028 = cat(T_188027, reg_mbadaddr) - wire T_188029 : {sd : UInt<1>, zero4 : UInt<31>, sd_rv32 : UInt<1>, zero3 : UInt<14>, mprv : UInt<1>, xs : UInt<2>, fs : UInt<2>, zero2 : UInt<7>, ps : UInt<1>, pie : UInt<1>, zero1 : UInt<2>, ie : UInt<1>} - node T_188030 = bits(read_mstatus, 0, 0) - T_188029.ie := T_188030 - node T_188031 = bits(read_mstatus, 2, 1) - T_188029.zero1 := T_188031 - node T_188032 = bits(read_mstatus, 3, 3) - T_188029.pie := T_188032 - node T_188033 = bits(read_mstatus, 4, 4) - T_188029.ps := T_188033 - node T_188034 = bits(read_mstatus, 11, 5) - T_188029.zero2 := T_188034 - node T_188035 = bits(read_mstatus, 13, 12) - T_188029.fs := T_188035 - node T_188036 = bits(read_mstatus, 15, 14) - T_188029.xs := T_188036 - node T_188037 = bits(read_mstatus, 16, 16) - T_188029.mprv := T_188037 - node T_188038 = bits(read_mstatus, 30, 17) - T_188029.zero3 := T_188038 - node T_188039 = bits(read_mstatus, 31, 31) - T_188029.sd_rv32 := T_188039 - node T_188040 = bits(read_mstatus, 62, 32) - T_188029.zero4 := T_188040 - node T_188041 = bits(read_mstatus, 63, 63) - T_188029.sd := T_188041 - wire T_188042 : {sd : UInt<1>, zero4 : UInt<31>, sd_rv32 : UInt<1>, zero3 : UInt<14>, mprv : UInt<1>, xs : UInt<2>, fs : UInt<2>, zero2 : UInt<7>, ps : UInt<1>, pie : UInt<1>, zero1 : UInt<2>, ie : UInt<1>} - T_188042 := T_188029 - T_188042.zero1 := UInt<1>(0) - T_188042.zero2 := UInt<1>(0) - T_188042.zero3 := UInt<1>(0) - T_188042.zero4 := UInt<1>(0) - wire T_188043 : {mtip : UInt<1>, htip : UInt<1>, stip : UInt<1>, utip : UInt<1>, msip : UInt<1>, hsip : UInt<1>, ssip : UInt<1>, usip : UInt<1>} - T_188043.usip := UInt<1>(0) - T_188043.ssip := UInt<1>(0) - T_188043.hsip := UInt<1>(0) - T_188043.msip := UInt<1>(0) - T_188043.utip := UInt<1>(0) - T_188043.stip := UInt<1>(0) - T_188043.htip := UInt<1>(0) - T_188043.mtip := UInt<1>(0) - wire T_188044 : {mtip : UInt<1>, htip : UInt<1>, stip : UInt<1>, utip : UInt<1>, msip : UInt<1>, hsip : UInt<1>, ssip : UInt<1>, usip : UInt<1>} - T_188044 := T_188043 - T_188044.ssip := reg_mip.ssip - T_188044.stip := reg_mip.stip - wire T_188045 : {mtip : UInt<1>, htip : UInt<1>, stip : UInt<1>, utip : UInt<1>, msip : UInt<1>, hsip : UInt<1>, ssip : UInt<1>, usip : UInt<1>} - T_188045.usip := UInt<1>(0) - T_188045.ssip := UInt<1>(0) - T_188045.hsip := UInt<1>(0) - T_188045.msip := UInt<1>(0) - T_188045.utip := UInt<1>(0) - T_188045.stip := UInt<1>(0) - T_188045.htip := UInt<1>(0) - T_188045.mtip := UInt<1>(0) - wire T_188046 : {mtip : UInt<1>, htip : UInt<1>, stip : UInt<1>, utip : UInt<1>, msip : UInt<1>, hsip : UInt<1>, ssip : UInt<1>, usip : UInt<1>} - T_188046 := T_188045 - T_188046.ssip := reg_mie.ssip - T_188046.stip := reg_mie.stip - node T_188047 = cat(T_188042.zero4, T_188042.sd_rv32) - node T_188048 = cat(T_188042.sd, T_188047) - node T_188049 = cat(T_188042.mprv, T_188042.xs) - node T_188050 = cat(T_188042.zero3, T_188049) - node T_188051 = cat(T_188048, T_188050) - node T_188052 = cat(T_188042.zero2, T_188042.ps) - node T_188053 = cat(T_188042.fs, T_188052) - node T_188054 = cat(T_188042.zero1, T_188042.ie) - node T_188055 = cat(T_188042.pie, T_188054) - node T_188056 = cat(T_188053, T_188055) - node T_188057 = cat(T_188051, T_188056) - node T_188058 = cat(T_188044.mtip, T_188044.htip) - node T_188059 = cat(T_188044.stip, T_188044.utip) - node T_188060 = cat(T_188058, T_188059) - node T_188061 = cat(T_188044.msip, T_188044.hsip) - node T_188062 = cat(T_188044.ssip, T_188044.usip) - node T_188063 = cat(T_188061, T_188062) - node T_188064 = cat(T_188060, T_188063) - node T_188065 = cat(T_188046.mtip, T_188046.htip) - node T_188066 = cat(T_188046.stip, T_188046.utip) - node T_188067 = cat(T_188065, T_188066) - node T_188068 = cat(T_188046.msip, T_188046.hsip) - node T_188069 = cat(T_188046.ssip, T_188046.usip) - node T_188070 = cat(T_188068, T_188069) - node T_188071 = cat(T_188067, T_188070) - node T_188072 = bit(reg_sbadaddr, 39) - node T_188073 = subw(UInt<24>(0), UInt<5>(24)) - node T_188074 = cat(T_188073, reg_sbadaddr) - node T_188075 = bit(reg_sepc, 39) - node T_188076 = subw(UInt<24>(0), UInt<5>(24)) - node T_188077 = cat(T_188076, reg_sepc) - node T_188078 = bit(reg_stvec, 38) - node T_188079 = subw(UInt<25>(0), UInt<5>(25)) - node T_188080 = cat(T_188079, reg_stvec) - wire addr : UInt<12> - addr := host_pcr_bits.addr - when cpu_ren : addr := rw.addr - node T_188081 = eq(addr, UInt<1>(1)) - node T_188082 = eq(addr, UInt<2>(2)) - node T_188083 = eq(addr, UInt<2>(3)) - node T_188084 = eq(addr, UInt<12>(3072)) - node T_188085 = eq(addr, UInt<12>(2304)) - node T_188086 = eq(addr, UInt<12>(3074)) - node T_188087 = eq(addr, UInt<12>(2306)) - node T_188088 = eq(addr, UInt<12>(3073)) - node T_188089 = eq(addr, UInt<12>(2305)) - node T_188090 = eq(addr, UInt<12>(3329)) - node T_188091 = eq(addr, UInt<12>(2561)) - node T_188092 = eq(addr, UInt<11>(1793)) - node T_188093 = eq(addr, UInt<12>(3840)) - node T_188094 = eq(addr, UInt<12>(3841)) - node T_188095 = eq(addr, UInt<10>(768)) - node T_188096 = eq(addr, UInt<10>(770)) - node T_188097 = eq(addr, UInt<11>(1922)) - node T_188098 = eq(addr, UInt<10>(769)) - node T_188099 = eq(addr, UInt<10>(836)) - node T_188100 = eq(addr, UInt<10>(772)) - node T_188101 = eq(addr, UInt<10>(832)) - node T_188102 = eq(addr, UInt<10>(833)) - node T_188103 = eq(addr, UInt<10>(835)) - node T_188104 = eq(addr, UInt<10>(834)) - node T_188105 = eq(addr, UInt<10>(801)) - node T_188106 = eq(addr, UInt<12>(3856)) - node T_188107 = eq(addr, UInt<11>(1923)) - node T_188108 = eq(addr, UInt<8>(192)) - node T_188109 = eq(addr, UInt<11>(1920)) - node T_188110 = eq(addr, UInt<11>(1921)) - node T_188111 = eq(addr, UInt<9>(256)) - node T_188112 = eq(addr, UInt<9>(324)) - node T_188113 = eq(addr, UInt<9>(260)) - node T_188114 = eq(addr, UInt<9>(320)) - node T_188115 = eq(addr, UInt<12>(3394)) - node T_188116 = eq(addr, UInt<12>(3395)) - node T_188117 = eq(addr, UInt<9>(384)) - node T_188118 = eq(addr, UInt<9>(385)) - node T_188119 = eq(addr, UInt<9>(321)) - node T_188120 = eq(addr, UInt<9>(257)) - node T_188121 = eq(addr, UInt<12>(3264)) - node T_188122 = eq(addr, UInt<12>(3265)) - node T_188123 = eq(addr, UInt<12>(3266)) - node T_188124 = eq(addr, UInt<12>(3267)) - node T_188125 = eq(addr, UInt<12>(3268)) - node T_188126 = eq(addr, UInt<12>(3269)) - node T_188127 = eq(addr, UInt<12>(3270)) - node T_188128 = eq(addr, UInt<12>(3271)) - node T_188129 = eq(addr, UInt<12>(3272)) - node T_188130 = eq(addr, UInt<12>(3273)) - node T_188131 = eq(addr, UInt<12>(3274)) - node T_188132 = eq(addr, UInt<12>(3275)) - node T_188133 = eq(addr, UInt<12>(3276)) - node T_188134 = eq(addr, UInt<12>(3277)) - node T_188135 = eq(addr, UInt<12>(3278)) - node T_188136 = eq(addr, UInt<12>(3279)) - node T_188137 = or(T_188081, T_188082) - node T_188138 = or(T_188137, T_188083) - node T_188139 = or(T_188138, T_188084) - node T_188140 = or(T_188139, T_188085) - node T_188141 = or(T_188140, T_188086) - node T_188142 = or(T_188141, T_188087) - node T_188143 = or(T_188142, T_188088) - node T_188144 = or(T_188143, T_188089) - node T_188145 = or(T_188144, T_188090) - node T_188146 = or(T_188145, T_188091) - node T_188147 = or(T_188146, T_188092) - node T_188148 = or(T_188147, T_188093) - node T_188149 = or(T_188148, T_188094) - node T_188150 = or(T_188149, T_188095) - node T_188151 = or(T_188150, T_188096) - node T_188152 = or(T_188151, T_188097) - node T_188153 = or(T_188152, T_188098) - node T_188154 = or(T_188153, T_188099) - node T_188155 = or(T_188154, T_188100) - node T_188156 = or(T_188155, T_188101) - node T_188157 = or(T_188156, T_188102) - node T_188158 = or(T_188157, T_188103) - node T_188159 = or(T_188158, T_188104) - node T_188160 = or(T_188159, T_188105) - node T_188161 = or(T_188160, T_188106) - node T_188162 = or(T_188161, T_188107) - node T_188163 = or(T_188162, T_188108) - node T_188164 = or(T_188163, T_188109) - node T_188165 = or(T_188164, T_188110) - node T_188166 = or(T_188165, T_188111) - node T_188167 = or(T_188166, T_188112) - node T_188168 = or(T_188167, T_188113) - node T_188169 = or(T_188168, T_188114) - node T_188170 = or(T_188169, T_188115) - node T_188171 = or(T_188170, T_188116) - node T_188172 = or(T_188171, T_188117) - node T_188173 = or(T_188172, T_188118) - node T_188174 = or(T_188173, T_188119) - node T_188175 = or(T_188174, T_188120) - node T_188176 = or(T_188175, T_188121) - node T_188177 = or(T_188176, T_188122) - node T_188178 = or(T_188177, T_188123) - node T_188179 = or(T_188178, T_188124) - node T_188180 = or(T_188179, T_188125) - node T_188181 = or(T_188180, T_188126) - node T_188182 = or(T_188181, T_188127) - node T_188183 = or(T_188182, T_188128) - node T_188184 = or(T_188183, T_188129) - node T_188185 = or(T_188184, T_188130) - node T_188186 = or(T_188185, T_188131) - node T_188187 = or(T_188186, T_188132) - node T_188188 = or(T_188187, T_188133) - node T_188189 = or(T_188188, T_188134) - node T_188190 = or(T_188189, T_188135) - node addr_valid = or(T_188190, T_188136) - node T_188191 = or(T_188081, T_188082) - node fp_csr = or(T_188191, T_188083) - node csr_addr_priv = bits(rw.addr, 9, 8) - node priv_sufficient = geq(reg_mstatus.prv, csr_addr_priv) - node T_188192 = bits(rw.addr, 11, 10) - node read_only = eq(T_188192, UInt<1>(-1)) - node T_188193 = neq(rw.cmd, UInt<3>(5)) - node T_188194 = and(cpu_ren, T_188193) - node cpu_wen = and(T_188194, priv_sufficient) - node T_188195 = eq(read_only, UInt<1>(0)) - node T_188196 = and(cpu_wen, T_188195) - node T_188197 = and(host_pcr_req_fire, host_pcr_bits.rw) - node wen = or(T_188196, T_188197) - node T_188198 = eq(rw.cmd, UInt<3>(1)) - node T_188199 = eq(rw.cmd, UInt<3>(3)) - node T_188200 = not(rw.wdata) - node T_188201 = and(rw.rdata, T_188200) - node T_188202 = eq(rw.cmd, UInt<3>(2)) - node T_188203 = or(rw.rdata, rw.wdata) - wire T_188204 : UInt<64> - T_188204 := host_pcr_bits.data - when T_188202 : T_188204 := T_188203 - wire T_188205 : UInt<64> - T_188205 := T_188204 - when T_188199 : T_188205 := T_188201 - wire wdata : UInt<64> - wdata := T_188205 - when T_188198 : wdata := rw.wdata - node T_188206 = bit(rw.addr, 8) - node T_188207 = eq(T_188206, UInt<1>(0)) - node T_188208 = bit(rw.addr, 0) - node T_188209 = eq(T_188208, UInt<1>(0)) - node T_188210 = and(T_188207, T_188209) - node insn_call = and(T_188210, system_insn) - node T_188211 = bit(rw.addr, 8) - node T_188212 = eq(T_188211, UInt<1>(0)) - node T_188213 = bit(rw.addr, 0) - node T_188214 = and(T_188212, T_188213) - node insn_break = and(T_188214, system_insn) - node T_188215 = bit(rw.addr, 8) - node T_188216 = bit(rw.addr, 1) - node T_188217 = eq(T_188216, UInt<1>(0)) - node T_188218 = and(T_188215, T_188217) - node T_188219 = bit(rw.addr, 0) - node T_188220 = eq(T_188219, UInt<1>(0)) - node T_188221 = and(T_188218, T_188220) - node T_188222 = and(T_188221, system_insn) - node insn_ret = and(T_188222, priv_sufficient) - node T_188223 = bit(rw.addr, 8) - node T_188224 = bit(rw.addr, 1) - node T_188225 = eq(T_188224, UInt<1>(0)) - node T_188226 = and(T_188223, T_188225) - node T_188227 = bit(rw.addr, 0) - node T_188228 = and(T_188226, T_188227) - node T_188229 = and(T_188228, system_insn) - node insn_sfence_vm = and(T_188229, priv_sufficient) - node T_188230 = bit(rw.addr, 2) - node maybe_insn_redirect_trap = and(T_188230, system_insn) - node insn_redirect_trap = and(maybe_insn_redirect_trap, priv_sufficient) - node T_188231 = bit(rw.addr, 8) - node T_188232 = bit(rw.addr, 1) - node T_188233 = and(T_188231, T_188232) - node T_188234 = bit(rw.addr, 0) - node T_188235 = eq(T_188234, UInt<1>(0)) - node T_188236 = and(T_188233, T_188235) - node T_188237 = and(T_188236, system_insn) - node insn_wfi = and(T_188237, priv_sufficient) - node T_188238 = and(cpu_wen, read_only) - node T_188239 = eq(priv_sufficient, UInt<1>(0)) - node T_188240 = eq(addr_valid, UInt<1>(0)) - node T_188241 = or(T_188239, T_188240) - node T_188242 = eq(status.fs, UInt<1>(0)) - node T_188243 = eq(T_188242, UInt<1>(0)) - node T_188244 = eq(T_188243, UInt<1>(0)) - node T_188245 = and(fp_csr, T_188244) - node T_188246 = or(T_188241, T_188245) - node T_188247 = and(cpu_ren, T_188246) - node T_188248 = or(T_188238, T_188247) - node T_188249 = eq(priv_sufficient, UInt<1>(0)) - node T_188250 = and(system_insn, T_188249) - node T_188251 = or(T_188248, T_188250) - node T_188252 = or(T_188251, insn_call) - node csr_xcpt = or(T_188252, insn_break) - when insn_wfi : reg_wfi := UInt<1>(1) - when some_interrupt_pending : reg_wfi := UInt<1>(0) - fatc := insn_sfence_vm - node T_188253 = or(exception, csr_xcpt) - node T_188254 = shl(reg_mstatus.prv, 6) - node T_188255 = addw(T_188254, UInt<9>(256)) - node T_188256 = bit(reg_stvec, 38) - node T_188257 = cat(T_188256, reg_stvec) - node T_188258 = bit(reg_mstatus.prv, 1) - wire T_188259 : UInt<40> - T_188259 := reg_sepc - when T_188258 : T_188259 := reg_mepc - wire T_188260 : UInt<40> - T_188260 := T_188259 - when maybe_insn_redirect_trap : T_188260 := T_188257 - wire T_188261 : UInt<40> - T_188261 := T_188260 - when T_188253 : T_188261 := T_188255 - evec := T_188261 - ptbr := reg_sptbr - csr_xcpt := csr_xcpt - node T_188262 = or(insn_ret, insn_redirect_trap) - eret := T_188262 - status := reg_mstatus - node T_188263 = eq(reg_mstatus.fs, UInt<1>(0)) - node T_188264 = eq(T_188263, UInt<1>(0)) - node T_188265 = asSInt(T_188264) - status.fs := T_188265 - node T_188266 = eq(reg_mstatus.xs, UInt<1>(0)) - node T_188267 = eq(T_188266, UInt<1>(0)) - node T_188268 = asSInt(T_188267) - status.xs := T_188268 - node T_188269 = eq(reg_mstatus.xs, UInt<1>(0)) - node T_188270 = eq(T_188269, UInt<1>(0)) - node T_188271 = eq(reg_mstatus.fs, UInt<1>(0)) - node T_188272 = eq(T_188271, UInt<1>(0)) - node T_188273 = or(T_188270, T_188272) - status.sd := T_188273 - - node T_188274 = or(exception, csr_xcpt) - when T_188274 : - reg_mstatus.ie := UInt<1>(0) - reg_mstatus.prv := UInt<2>(3) - reg_mstatus.mprv := UInt<1>(0) - reg_mstatus.prv1 := reg_mstatus.prv - reg_mstatus.ie1 := reg_mstatus.ie - reg_mstatus.prv2 := reg_mstatus.prv1 - reg_mstatus.ie2 := reg_mstatus.ie1 - node T_188275 = not(pc) - node T_188276 = or(T_188275, UInt<2>(3)) - node T_188277 = not(T_188276) - reg_mepc := T_188277 - reg_mcause := cause - when csr_xcpt : - reg_mcause := UInt<2>(2) - when insn_break : reg_mcause := UInt<2>(3) - when insn_call : - node T_188278 = addw(reg_mstatus.prv, UInt<4>(8)) - reg_mcause := T_188278 - reg_mbadaddr := pc - - - node T_188279 = eq(cause, UInt<3>(5)) - node T_188280 = eq(cause, UInt<3>(4)) - node T_188281 = or(T_188279, T_188280) - node T_188282 = eq(cause, UInt<3>(7)) - node T_188283 = or(T_188281, T_188282) - node T_188284 = eq(cause, UInt<3>(6)) - node T_188285 = or(T_188283, T_188284) - when T_188285 : - node T_188286 = bits(rw.wdata, 63, 39) - node T_188287 = bits(rw.wdata, 38, 0) - node T_188288 = asSInt(T_188287) - node T_188289 = lt(T_188288, SInt<1>(0)) - node T_188290 = eq(T_188286, UInt<1>(-1)) - node T_188291 = eq(T_188286, UInt<1>(0)) - node T_188292 = eq(T_188291, UInt<1>(0)) - wire T_188293 : UInt<1> - T_188293 := T_188292 - when T_188289 : T_188293 := T_188290 - node T_188294 = cat(T_188293, T_188287) - reg_mbadaddr := T_188294 - when insn_ret : - reg_mstatus.ie := reg_mstatus.ie1 - reg_mstatus.prv := reg_mstatus.prv1 - reg_mstatus.prv1 := reg_mstatus.prv2 - reg_mstatus.ie1 := reg_mstatus.ie2 - reg_mstatus.prv2 := UInt<1>(0) - reg_mstatus.ie2 := UInt<1>(1) - when insn_redirect_trap : - reg_mstatus.prv := UInt<1>(1) - reg_sbadaddr := reg_mbadaddr - reg_scause := reg_mcause - reg_sepc := reg_mepc - node T_188295 = cat(UInt<1>(0), insn_redirect_trap) - node T_188296 = addw(insn_ret, T_188295) - node T_188297 = cat(UInt<1>(0), csr_replay) - node T_188298 = addw(csr_xcpt, T_188297) - node T_188299 = cat(UInt<1>(0), T_188298) - node T_188300 = addw(exception, T_188299) - node T_188301 = cat(UInt<1>(0), T_188300) - node T_188302 = addw(T_188296, T_188301) - node T_188303 = leq(T_188302, UInt<1>(1)) - - node T_188304 = geq(reg_time, reg_mtimecmp) - when T_188304 : reg_mip.mtip := UInt<1>(1) - time := T_187767 - node T_188305 = and(cpu_wen, T_188107) - host.ipi_req.valid := T_188305 - host.ipi_req.bits := rw.wdata - node T_188306 = eq(host.ipi_req.ready, UInt<1>(0)) - node T_188307 = and(host.ipi_req.valid, T_188306) - csr_replay := T_188307 - csr_stall := reg_wfi - - - node T_188308 = eq(host_pcr_bits.rw, UInt<1>(0)) - node T_188309 = and(host_pcr_req_fire, T_188308) - node T_188310 = and(T_188309, T_188109) - when T_188310 : reg_tohost := UInt<1>(0) - wire T_188311 : UInt<1> - T_188311 := UInt<1>(0) - when T_188081 : T_188311 := reg_fflags - wire T_188312 : UInt<1> - T_188312 := UInt<1>(0) - when T_188082 : T_188312 := reg_frm - wire T_188313 : UInt<1> - T_188313 := UInt<1>(0) - when T_188083 : T_188313 := T_188008 - wire T_188314 : UInt<1> - T_188314 := UInt<1>(0) - when T_188084 : T_188314 := T_187767 - wire T_188315 : UInt<1> - T_188315 := UInt<1>(0) - when T_188085 : T_188315 := T_187767 - wire T_188316 : UInt<1> - T_188316 := UInt<1>(0) - when T_188086 : T_188316 := T_187777 - wire T_188317 : UInt<1> - T_188317 := UInt<1>(0) - when T_188087 : T_188317 := T_187777 - wire T_188318 : UInt<1> - T_188318 := UInt<1>(0) - when T_188088 : T_188318 := reg_time - wire T_188319 : UInt<1> - T_188319 := UInt<1>(0) - when T_188089 : T_188319 := reg_time - wire T_188320 : UInt<1> - T_188320 := UInt<1>(0) - when T_188090 : T_188320 := reg_time - wire T_188321 : UInt<1> - T_188321 := UInt<1>(0) - when T_188091 : T_188321 := reg_time - wire T_188322 : UInt<1> - T_188322 := UInt<1>(0) - when T_188092 : T_188322 := reg_time - wire T_188323 : UInt<1> - T_188323 := UInt<1>(0) - when T_188093 : T_188323 := UInt<64>(9223372036855042345) - wire T_188324 : UInt<1> - T_188324 := UInt<1>(0) - when T_188094 : T_188324 := UInt<1>(1) - wire T_188325 : UInt<1> - T_188325 := UInt<1>(0) - when T_188095 : T_188325 := read_mstatus - wire T_188326 : UInt<1> - T_188326 := UInt<1>(0) - when T_188096 : T_188326 := UInt<1>(0) - wire T_188327 : UInt<1> - T_188327 := UInt<1>(0) - when T_188097 : T_188327 := UInt<1>(0) - wire T_188328 : UInt<1> - T_188328 := UInt<1>(0) - when T_188098 : T_188328 := UInt<9>(256) - wire T_188329 : UInt<1> - T_188329 := UInt<1>(0) - when T_188099 : T_188329 := T_188015 - wire T_188330 : UInt<1> - T_188330 := UInt<1>(0) - when T_188100 : T_188330 := T_188022 - wire T_188331 : UInt<1> - T_188331 := UInt<1>(0) - when T_188101 : T_188331 := reg_mscratch - wire T_188332 : UInt<1> - T_188332 := UInt<1>(0) - when T_188102 : T_188332 := T_188025 - wire T_188333 : UInt<1> - T_188333 := UInt<1>(0) - when T_188103 : T_188333 := T_188028 - wire T_188334 : UInt<1> - T_188334 := UInt<1>(0) - when T_188104 : T_188334 := reg_mcause - wire T_188335 : UInt<1> - T_188335 := UInt<1>(0) - when T_188105 : T_188335 := reg_mtimecmp - wire T_188336 : UInt<1> - T_188336 := UInt<1>(0) - when T_188106 : T_188336 := host.id - wire T_188337 : UInt<1> - T_188337 := UInt<1>(0) - when T_188107 : T_188337 := host.id - wire T_188338 : UInt<1> - T_188338 := UInt<1>(0) - when T_188108 : T_188338 := reg_stats - wire T_188339 : UInt<1> - T_188339 := UInt<1>(0) - when T_188109 : T_188339 := reg_tohost - wire T_188340 : UInt<1> - T_188340 := UInt<1>(0) - when T_188110 : T_188340 := reg_fromhost - wire T_188341 : UInt<1> - T_188341 := UInt<1>(0) - when T_188111 : T_188341 := T_188057 - wire T_188342 : UInt<1> - T_188342 := UInt<1>(0) - when T_188112 : T_188342 := T_188064 - wire T_188343 : UInt<1> - T_188343 := UInt<1>(0) - when T_188113 : T_188343 := T_188071 - wire T_188344 : UInt<1> - T_188344 := UInt<1>(0) - when T_188114 : T_188344 := reg_sscratch - wire T_188345 : UInt<1> - T_188345 := UInt<1>(0) - when T_188115 : T_188345 := reg_scause - wire T_188346 : UInt<1> - T_188346 := UInt<1>(0) - when T_188116 : T_188346 := T_188074 - wire T_188347 : UInt<1> - T_188347 := UInt<1>(0) - when T_188117 : T_188347 := reg_sptbr - wire T_188348 : UInt<1> - T_188348 := UInt<1>(0) - when T_188118 : T_188348 := UInt<1>(0) - wire T_188349 : UInt<1> - T_188349 := UInt<1>(0) - when T_188119 : T_188349 := T_188077 - wire T_188350 : UInt<1> - T_188350 := UInt<1>(0) - when T_188120 : T_188350 := T_188080 - wire T_188351 : UInt<1> - T_188351 := UInt<1>(0) - when T_188121 : T_188351 := T_187787 - wire T_188352 : UInt<1> - T_188352 := UInt<1>(0) - when T_188122 : T_188352 := T_187797 - wire T_188353 : UInt<1> - T_188353 := UInt<1>(0) - when T_188123 : T_188353 := T_187807 - wire T_188354 : UInt<1> - T_188354 := UInt<1>(0) - when T_188124 : T_188354 := T_187817 - wire T_188355 : UInt<1> - T_188355 := UInt<1>(0) - when T_188125 : T_188355 := T_187827 - wire T_188356 : UInt<1> - T_188356 := UInt<1>(0) - when T_188126 : T_188356 := T_187837 - wire T_188357 : UInt<1> - T_188357 := UInt<1>(0) - when T_188127 : T_188357 := T_187847 - wire T_188358 : UInt<1> - T_188358 := UInt<1>(0) - when T_188128 : T_188358 := T_187857 - wire T_188359 : UInt<1> - T_188359 := UInt<1>(0) - when T_188129 : T_188359 := T_187867 - wire T_188360 : UInt<1> - T_188360 := UInt<1>(0) - when T_188130 : T_188360 := T_187877 - wire T_188361 : UInt<1> - T_188361 := UInt<1>(0) - when T_188131 : T_188361 := T_187887 - wire T_188362 : UInt<1> - T_188362 := UInt<1>(0) - when T_188132 : T_188362 := T_187897 - wire T_188363 : UInt<1> - T_188363 := UInt<1>(0) - when T_188133 : T_188363 := T_187907 - wire T_188364 : UInt<1> - T_188364 := UInt<1>(0) - when T_188134 : T_188364 := T_187917 - wire T_188365 : UInt<1> - T_188365 := UInt<1>(0) - when T_188135 : T_188365 := T_187927 - wire T_188366 : UInt<1> - T_188366 := UInt<1>(0) - when T_188136 : T_188366 := T_187937 - node T_188367 = or(T_188311, T_188312) - node T_188368 = or(T_188367, T_188313) - node T_188369 = or(T_188368, T_188314) - node T_188370 = or(T_188369, T_188315) - node T_188371 = or(T_188370, T_188316) - node T_188372 = or(T_188371, T_188317) - node T_188373 = or(T_188372, T_188318) - node T_188374 = or(T_188373, T_188319) - node T_188375 = or(T_188374, T_188320) - node T_188376 = or(T_188375, T_188321) - node T_188377 = or(T_188376, T_188322) - node T_188378 = or(T_188377, T_188323) - node T_188379 = or(T_188378, T_188324) - node T_188380 = or(T_188379, T_188325) - node T_188381 = or(T_188380, T_188326) - node T_188382 = or(T_188381, T_188327) - node T_188383 = or(T_188382, T_188328) - node T_188384 = or(T_188383, T_188329) - node T_188385 = or(T_188384, T_188330) - node T_188386 = or(T_188385, T_188331) - node T_188387 = or(T_188386, T_188332) - node T_188388 = or(T_188387, T_188333) - node T_188389 = or(T_188388, T_188334) - node T_188390 = or(T_188389, T_188335) - node T_188391 = or(T_188390, T_188336) - node T_188392 = or(T_188391, T_188337) - node T_188393 = or(T_188392, T_188338) - node T_188394 = or(T_188393, T_188339) - node T_188395 = or(T_188394, T_188340) - node T_188396 = or(T_188395, T_188341) - node T_188397 = or(T_188396, T_188342) - node T_188398 = or(T_188397, T_188343) - node T_188399 = or(T_188398, T_188344) - node T_188400 = or(T_188399, T_188345) - node T_188401 = or(T_188400, T_188346) - node T_188402 = or(T_188401, T_188347) - node T_188403 = or(T_188402, T_188348) - node T_188404 = or(T_188403, T_188349) - node T_188405 = or(T_188404, T_188350) - node T_188406 = or(T_188405, T_188351) - node T_188407 = or(T_188406, T_188352) - node T_188408 = or(T_188407, T_188353) - node T_188409 = or(T_188408, T_188354) - node T_188410 = or(T_188409, T_188355) - node T_188411 = or(T_188410, T_188356) - node T_188412 = or(T_188411, T_188357) - node T_188413 = or(T_188412, T_188358) - node T_188414 = or(T_188413, T_188359) - node T_188415 = or(T_188414, T_188360) - node T_188416 = or(T_188415, T_188361) - node T_188417 = or(T_188416, T_188362) - node T_188418 = or(T_188417, T_188363) - node T_188419 = or(T_188418, T_188364) - node T_188420 = or(T_188419, T_188365) - node T_188421 = or(T_188420, T_188366) - wire T_188422 : UInt<5> - node T_188423 = bits(T_188421, 4, 0) - T_188422 := T_188423 - rw.rdata := T_188422 - fcsr_rm := reg_frm - when fcsr_flags.valid : - node T_188424 = or(reg_fflags, fcsr_flags.bits) - reg_fflags := T_188424 - when wen : - when T_188095 : - wire T_188425 : {sd : UInt<1>, zero2 : UInt<31>, sd_rv32 : UInt<1>, zero1 : UInt<9>, vm : UInt<5>, mprv : UInt<1>, xs : UInt<2>, fs : UInt<2>, prv3 : UInt<2>, ie3 : UInt<1>, prv2 : UInt<2>, ie2 : UInt<1>, prv1 : UInt<2>, ie1 : UInt<1>, prv : UInt<2>, ie : UInt<1>} - node T_188426 = bits(wdata, 0, 0) - T_188425.ie := T_188426 - node T_188427 = bits(wdata, 2, 1) - T_188425.prv := T_188427 - node T_188428 = bits(wdata, 3, 3) - T_188425.ie1 := T_188428 - node T_188429 = bits(wdata, 5, 4) - T_188425.prv1 := T_188429 - node T_188430 = bits(wdata, 6, 6) - T_188425.ie2 := T_188430 - node T_188431 = bits(wdata, 8, 7) - T_188425.prv2 := T_188431 - node T_188432 = bits(wdata, 9, 9) - T_188425.ie3 := T_188432 - node T_188433 = bits(wdata, 11, 10) - T_188425.prv3 := T_188433 - node T_188434 = bits(wdata, 13, 12) - T_188425.fs := T_188434 - node T_188435 = bits(wdata, 15, 14) - T_188425.xs := T_188435 - node T_188436 = bits(wdata, 16, 16) - T_188425.mprv := T_188436 - node T_188437 = bits(wdata, 21, 17) - T_188425.vm := T_188437 - node T_188438 = bits(wdata, 30, 22) - T_188425.zero1 := T_188438 - node T_188439 = bits(wdata, 31, 31) - T_188425.sd_rv32 := T_188439 - node T_188440 = bits(wdata, 62, 32) - T_188425.zero2 := T_188440 - node T_188441 = bits(wdata, 63, 63) - T_188425.sd := T_188441 - reg_mstatus.ie := T_188425.ie - reg_mstatus.ie1 := T_188425.ie1 - wire T_188442 : UInt<2>[3] - T_188442[0] := UInt<2>(3) - T_188442[1] := UInt<1>(0) - T_188442[2] := UInt<1>(1) - reg_mstatus.mprv := T_188425.mprv - - - node T_188443 = eq(T_188442[0], T_188425.prv) - node T_188444 = eq(T_188442[1], T_188425.prv) - node T_188445 = eq(T_188442[2], T_188425.prv) - node T_188446 = or(UInt<1>(0), T_188443) - node T_188447 = or(T_188446, T_188444) - node T_188448 = or(T_188447, T_188445) - when T_188448 : reg_mstatus.prv := T_188425.prv - - - node T_188449 = eq(T_188442[0], T_188425.prv1) - node T_188450 = eq(T_188442[1], T_188425.prv1) - node T_188451 = eq(T_188442[2], T_188425.prv1) - node T_188452 = or(UInt<1>(0), T_188449) - node T_188453 = or(T_188452, T_188450) - node T_188454 = or(T_188453, T_188451) - when T_188454 : reg_mstatus.prv1 := T_188425.prv1 - - - node T_188455 = eq(T_188442[0], T_188425.prv2) - node T_188456 = eq(T_188442[1], T_188425.prv2) - node T_188457 = eq(T_188442[2], T_188425.prv2) - node T_188458 = or(UInt<1>(0), T_188455) - node T_188459 = or(T_188458, T_188456) - node T_188460 = or(T_188459, T_188457) - when T_188460 : reg_mstatus.prv2 := T_188425.prv2 - reg_mstatus.ie2 := T_188425.ie2 - - node T_188461 = eq(T_188425.vm, UInt<1>(0)) - when T_188461 : reg_mstatus.vm := UInt<1>(0) - - node T_188462 = eq(T_188425.vm, UInt<4>(9)) - when T_188462 : reg_mstatus.vm := UInt<4>(9) - reg_mstatus.fs := T_188425.fs - when T_188099 : - wire T_188463 : {mtip : UInt<1>, htip : UInt<1>, stip : UInt<1>, utip : UInt<1>, msip : UInt<1>, hsip : UInt<1>, ssip : UInt<1>, usip : UInt<1>} - node T_188464 = bits(wdata, 0, 0) - T_188463.usip := T_188464 - node T_188465 = bits(wdata, 1, 1) - T_188463.ssip := T_188465 - node T_188466 = bits(wdata, 2, 2) - T_188463.hsip := T_188466 - node T_188467 = bits(wdata, 3, 3) - T_188463.msip := T_188467 - node T_188468 = bits(wdata, 4, 4) - T_188463.utip := T_188468 - node T_188469 = bits(wdata, 5, 5) - T_188463.stip := T_188469 - node T_188470 = bits(wdata, 6, 6) - T_188463.htip := T_188470 - node T_188471 = bits(wdata, 7, 7) - T_188463.mtip := T_188471 - reg_mip.ssip := T_188463.ssip - reg_mip.stip := T_188463.stip - reg_mip.msip := T_188463.msip - when T_188100 : - wire T_188472 : {mtip : UInt<1>, htip : UInt<1>, stip : UInt<1>, utip : UInt<1>, msip : UInt<1>, hsip : UInt<1>, ssip : UInt<1>, usip : UInt<1>} - node T_188473 = bits(wdata, 0, 0) - T_188472.usip := T_188473 - node T_188474 = bits(wdata, 1, 1) - T_188472.ssip := T_188474 - node T_188475 = bits(wdata, 2, 2) - T_188472.hsip := T_188475 - node T_188476 = bits(wdata, 3, 3) - T_188472.msip := T_188476 - node T_188477 = bits(wdata, 4, 4) - T_188472.utip := T_188477 - node T_188478 = bits(wdata, 5, 5) - T_188472.stip := T_188478 - node T_188479 = bits(wdata, 6, 6) - T_188472.htip := T_188479 - node T_188480 = bits(wdata, 7, 7) - T_188472.mtip := T_188480 - reg_mie.ssip := T_188472.ssip - reg_mie.stip := T_188472.stip - reg_mie.msip := T_188472.msip - reg_mie.mtip := T_188472.mtip - when T_188081 : reg_fflags := wdata - when T_188082 : reg_frm := wdata - when T_188083 : - reg_fflags := wdata - node T_188481 = shr(wdata, 5) - reg_frm := T_188481 - when T_188102 : - node T_188482 = bits(wdata, 39, 0) - node T_188483 = asSInt(T_188482) - node T_188484 = and(T_188483, SInt<3>(-4)) - reg_mepc := T_188484 - when T_188101 : reg_mscratch := wdata - when T_188104 : - node T_188485 = and(wdata, UInt<64>(9223372036854775839)) - reg_mcause := T_188485 - when T_188103 : - node T_188486 = bits(wdata, 39, 0) - reg_mbadaddr := T_188486 - when T_188087 : - node T_188487 = bits(wdata, 5, 0) - T_187768 := T_188487 - node T_188488 = bits(wdata, 63, 6) - T_187773 := T_188488 - when T_188105 : - reg_mtimecmp := wdata - reg_mip.mtip := UInt<1>(0) - when T_188097 : reg_time := wdata - when T_188110 : - - node T_188489 = eq(reg_fromhost, UInt<1>(0)) - node T_188490 = eq(host_pcr_req_fire, UInt<1>(0)) - node T_188491 = or(T_188489, T_188490) - when T_188491 : reg_fromhost := wdata - when T_188109 : - - node T_188492 = eq(reg_tohost, UInt<1>(0)) - node T_188493 = or(T_188492, host_pcr_req_fire) - when T_188493 : reg_tohost := wdata - when T_188108 : - node T_188494 = bit(wdata, 0) - reg_stats := T_188494 - when T_188111 : - wire T_188495 : {sd : UInt<1>, zero4 : UInt<31>, sd_rv32 : UInt<1>, zero3 : UInt<14>, mprv : UInt<1>, xs : UInt<2>, fs : UInt<2>, zero2 : UInt<7>, ps : UInt<1>, pie : UInt<1>, zero1 : UInt<2>, ie : UInt<1>} - node T_188496 = bits(wdata, 0, 0) - T_188495.ie := T_188496 - node T_188497 = bits(wdata, 2, 1) - T_188495.zero1 := T_188497 - node T_188498 = bits(wdata, 3, 3) - T_188495.pie := T_188498 - node T_188499 = bits(wdata, 4, 4) - T_188495.ps := T_188499 - node T_188500 = bits(wdata, 11, 5) - T_188495.zero2 := T_188500 - node T_188501 = bits(wdata, 13, 12) - T_188495.fs := T_188501 - node T_188502 = bits(wdata, 15, 14) - T_188495.xs := T_188502 - node T_188503 = bits(wdata, 16, 16) - T_188495.mprv := T_188503 - node T_188504 = bits(wdata, 30, 17) - T_188495.zero3 := T_188504 - node T_188505 = bits(wdata, 31, 31) - T_188495.sd_rv32 := T_188505 - node T_188506 = bits(wdata, 62, 32) - T_188495.zero4 := T_188506 - node T_188507 = bits(wdata, 63, 63) - T_188495.sd := T_188507 - reg_mstatus.ie := T_188495.ie - reg_mstatus.ie1 := T_188495.pie - wire T_188508 : UInt<1> - T_188508 := UInt<1>(0) - when T_188495.ps : T_188508 := UInt<1>(1) - reg_mstatus.prv1 := T_188508 - reg_mstatus.mprv := T_188495.mprv - reg_mstatus.fs := T_188495.fs - when T_188112 : - wire T_188509 : {mtip : UInt<1>, htip : UInt<1>, stip : UInt<1>, utip : UInt<1>, msip : UInt<1>, hsip : UInt<1>, ssip : UInt<1>, usip : UInt<1>} - node T_188510 = bits(wdata, 0, 0) - T_188509.usip := T_188510 - node T_188511 = bits(wdata, 1, 1) - T_188509.ssip := T_188511 - node T_188512 = bits(wdata, 2, 2) - T_188509.hsip := T_188512 - node T_188513 = bits(wdata, 3, 3) - T_188509.msip := T_188513 - node T_188514 = bits(wdata, 4, 4) - T_188509.utip := T_188514 - node T_188515 = bits(wdata, 5, 5) - T_188509.stip := T_188515 - node T_188516 = bits(wdata, 6, 6) - T_188509.htip := T_188516 - node T_188517 = bits(wdata, 7, 7) - T_188509.mtip := T_188517 - reg_mip.ssip := T_188509.ssip - when T_188113 : - wire T_188518 : {mtip : UInt<1>, htip : UInt<1>, stip : UInt<1>, utip : UInt<1>, msip : UInt<1>, hsip : UInt<1>, ssip : UInt<1>, usip : UInt<1>} - node T_188519 = bits(wdata, 0, 0) - T_188518.usip := T_188519 - node T_188520 = bits(wdata, 1, 1) - T_188518.ssip := T_188520 - node T_188521 = bits(wdata, 2, 2) - T_188518.hsip := T_188521 - node T_188522 = bits(wdata, 3, 3) - T_188518.msip := T_188522 - node T_188523 = bits(wdata, 4, 4) - T_188518.utip := T_188523 - node T_188524 = bits(wdata, 5, 5) - T_188518.stip := T_188524 - node T_188525 = bits(wdata, 6, 6) - T_188518.htip := T_188525 - node T_188526 = bits(wdata, 7, 7) - T_188518.mtip := T_188526 - reg_mie.ssip := T_188518.ssip - reg_mie.stip := T_188518.stip - when T_188114 : reg_sscratch := wdata - when T_188117 : - node T_188527 = bits(wdata, 31, 12) - node T_188528 = cat(T_188527, UInt<12>(0)) - reg_sptbr := T_188528 - when T_188119 : - node T_188529 = bits(wdata, 39, 0) - node T_188530 = asSInt(T_188529) - node T_188531 = and(T_188530, SInt<3>(-4)) - reg_sepc := T_188531 - when T_188120 : - node T_188532 = bits(wdata, 38, 0) - node T_188533 = asSInt(T_188532) - node T_188534 = and(T_188533, SInt<3>(-4)) - reg_stvec := T_188534 - host.ipi_rep.ready := UInt<1>(1) - when host.ipi_rep.valid : reg_mip.msip := UInt<1>(1) - when reset : - reg_mstatus.zero1 := UInt<1>(0) - reg_mstatus.zero2 := UInt<1>(0) - reg_mstatus.ie := UInt<1>(0) - reg_mstatus.prv := UInt<2>(3) - reg_mstatus.ie1 := UInt<1>(0) - reg_mstatus.prv1 := UInt<2>(3) - reg_mstatus.ie2 := UInt<1>(0) - reg_mstatus.prv2 := UInt<1>(0) - reg_mstatus.ie3 := UInt<1>(0) - reg_mstatus.prv3 := UInt<1>(0) - reg_mstatus.mprv := UInt<1>(0) - reg_mstatus.vm := UInt<1>(0) - reg_mstatus.fs := UInt<1>(0) - reg_mstatus.xs := UInt<1>(0) - reg_mstatus.sd_rv32 := UInt<1>(0) - reg_mstatus.sd := UInt<1>(0) - module ALU : - input dw : UInt<1> - input fn : UInt<4> - input in2 : UInt<64> - input in1 : UInt<64> - output out : UInt<64> - output adder_out : UInt<64> - - node T_188535 = bit(fn, 3) - node T_188536 = subw(UInt<1>(0), in2) - wire T_188537 : UInt<64> - T_188537 := in2 - when T_188535 : T_188537 := T_188536 - node sum = addw(in1, T_188537) - node T_188538 = bit(fn, 0) - node T_188539 = bit(fn, 2) - node T_188540 = eq(T_188539, UInt<1>(0)) - node T_188541 = eq(sum, UInt<1>(0)) - node T_188542 = bit(in1, 63) - node T_188543 = bit(in2, 63) - node T_188544 = eq(T_188542, T_188543) - node T_188545 = bit(sum, 63) - node T_188546 = bit(fn, 1) - node T_188547 = bit(in2, 63) - node T_188548 = bit(in1, 63) - wire T_188549 : UInt<1> - T_188549 := T_188548 - when T_188546 : T_188549 := T_188547 - wire T_188550 : UInt<1> - T_188550 := T_188549 - when T_188544 : T_188550 := T_188545 - wire T_188551 : UInt<1> - T_188551 := T_188550 - when T_188540 : T_188551 := T_188541 - node cmp = xor(T_188538, T_188551) - node T_188552 = bit(in2, 5) - node T_188553 = and(dw, UInt<1>(1)) - node T_188554 = eq(UInt<1>(1), T_188553) - node T_188555 = and(T_188552, T_188554) - node T_188556 = bits(in2, 4, 0) - node shamt = cat(T_188555, T_188556) - node T_188557 = bit(fn, 3) - node T_188558 = bit(in1, 31) - node T_188559 = subw(UInt<32>(0), UInt<6>(32)) - wire shin_hi_32 : UInt<32> - shin_hi_32 := UInt<32>(0) - when T_188557 : shin_hi_32 := T_188559 - node T_188560 = and(dw, UInt<1>(1)) - node T_188561 = eq(UInt<1>(1), T_188560) - node T_188562 = bits(in1, 63, 32) - wire shin_hi : UInt<32> - shin_hi := shin_hi_32 - when T_188561 : shin_hi := T_188562 - node T_188563 = bits(in1, 31, 0) - node shin_r = cat(shin_hi, T_188563) - node T_188564 = eq(fn, UInt<3>(5)) - node T_188565 = eq(fn, UInt<4>(11)) - node T_188566 = or(T_188564, T_188565) - node T_188567 = dshl(UInt<32>(4294967295), UInt<6>(32)) - node T_188568 = xor(UInt<64>(18446744073709551615), T_188567) - node T_188569 = dshr(shin_r, UInt<6>(32)) - node T_188570 = and(T_188569, T_188568) - node T_188571 = bits(shin_r, 31, 0) - node T_188572 = dshl(T_188571, UInt<6>(32)) - node T_188573 = not(T_188568) - node T_188574 = and(T_188572, T_188573) - node T_188575 = or(T_188570, T_188574) - node T_188576 = bits(T_188568, 47, 0) - node T_188577 = dshl(T_188576, UInt<5>(16)) - node T_188578 = xor(T_188568, T_188577) - node T_188579 = dshr(T_188575, UInt<5>(16)) - node T_188580 = and(T_188579, T_188578) - node T_188581 = bits(T_188575, 47, 0) - node T_188582 = dshl(T_188581, UInt<5>(16)) - node T_188583 = not(T_188578) - node T_188584 = and(T_188582, T_188583) - node T_188585 = or(T_188580, T_188584) - node T_188586 = bits(T_188578, 55, 0) - node T_188587 = dshl(T_188586, UInt<4>(8)) - node T_188588 = xor(T_188578, T_188587) - node T_188589 = dshr(T_188585, UInt<4>(8)) - node T_188590 = and(T_188589, T_188588) - node T_188591 = bits(T_188585, 55, 0) - node T_188592 = dshl(T_188591, UInt<4>(8)) - node T_188593 = not(T_188588) - node T_188594 = and(T_188592, T_188593) - node T_188595 = or(T_188590, T_188594) - node T_188596 = bits(T_188588, 59, 0) - node T_188597 = dshl(T_188596, UInt<3>(4)) - node T_188598 = xor(T_188588, T_188597) - node T_188599 = dshr(T_188595, UInt<3>(4)) - node T_188600 = and(T_188599, T_188598) - node T_188601 = bits(T_188595, 59, 0) - node T_188602 = dshl(T_188601, UInt<3>(4)) - node T_188603 = not(T_188598) - node T_188604 = and(T_188602, T_188603) - node T_188605 = or(T_188600, T_188604) - node T_188606 = bits(T_188598, 61, 0) - node T_188607 = dshl(T_188606, UInt<2>(2)) - node T_188608 = xor(T_188598, T_188607) - node T_188609 = dshr(T_188605, UInt<2>(2)) - node T_188610 = and(T_188609, T_188608) - node T_188611 = bits(T_188605, 61, 0) - node T_188612 = dshl(T_188611, UInt<2>(2)) - node T_188613 = not(T_188608) - node T_188614 = and(T_188612, T_188613) - node T_188615 = or(T_188610, T_188614) - node T_188616 = bits(T_188608, 62, 0) - node T_188617 = dshl(T_188616, UInt<1>(1)) - node T_188618 = xor(T_188608, T_188617) - node T_188619 = dshr(T_188615, UInt<1>(1)) - node T_188620 = and(T_188619, T_188618) - node T_188621 = bits(T_188615, 62, 0) - node T_188622 = dshl(T_188621, UInt<1>(1)) - node T_188623 = not(T_188618) - node T_188624 = and(T_188622, T_188623) - node T_188625 = or(T_188620, T_188624) - wire shin : UInt<96> - shin := T_188625 - when T_188566 : shin := shin_r - node T_188626 = bit(fn, 3) - node T_188627 = bit(shin, 63) - node T_188628 = and(T_188626, T_188627) - node T_188629 = cat(T_188628, shin) - node T_188630 = asSInt(T_188629) - node T_188631 = dshr(T_188630, shamt) - node shout_r = bits(T_188631, 63, 0) - node T_188632 = dshl(UInt<32>(4294967295), UInt<6>(32)) - node T_188633 = xor(UInt<64>(18446744073709551615), T_188632) - node T_188634 = dshr(shout_r, UInt<6>(32)) - node T_188635 = and(T_188634, T_188633) - node T_188636 = bits(shout_r, 31, 0) - node T_188637 = dshl(T_188636, UInt<6>(32)) - node T_188638 = not(T_188633) - node T_188639 = and(T_188637, T_188638) - node T_188640 = or(T_188635, T_188639) - node T_188641 = bits(T_188633, 47, 0) - node T_188642 = dshl(T_188641, UInt<5>(16)) - node T_188643 = xor(T_188633, T_188642) - node T_188644 = dshr(T_188640, UInt<5>(16)) - node T_188645 = and(T_188644, T_188643) - node T_188646 = bits(T_188640, 47, 0) - node T_188647 = dshl(T_188646, UInt<5>(16)) - node T_188648 = not(T_188643) - node T_188649 = and(T_188647, T_188648) - node T_188650 = or(T_188645, T_188649) - node T_188651 = bits(T_188643, 55, 0) - node T_188652 = dshl(T_188651, UInt<4>(8)) - node T_188653 = xor(T_188643, T_188652) - node T_188654 = dshr(T_188650, UInt<4>(8)) - node T_188655 = and(T_188654, T_188653) - node T_188656 = bits(T_188650, 55, 0) - node T_188657 = dshl(T_188656, UInt<4>(8)) - node T_188658 = not(T_188653) - node T_188659 = and(T_188657, T_188658) - node T_188660 = or(T_188655, T_188659) - node T_188661 = bits(T_188653, 59, 0) - node T_188662 = dshl(T_188661, UInt<3>(4)) - node T_188663 = xor(T_188653, T_188662) - node T_188664 = dshr(T_188660, UInt<3>(4)) - node T_188665 = and(T_188664, T_188663) - node T_188666 = bits(T_188660, 59, 0) - node T_188667 = dshl(T_188666, UInt<3>(4)) - node T_188668 = not(T_188663) - node T_188669 = and(T_188667, T_188668) - node T_188670 = or(T_188665, T_188669) - node T_188671 = bits(T_188663, 61, 0) - node T_188672 = dshl(T_188671, UInt<2>(2)) - node T_188673 = xor(T_188663, T_188672) - node T_188674 = dshr(T_188670, UInt<2>(2)) - node T_188675 = and(T_188674, T_188673) - node T_188676 = bits(T_188670, 61, 0) - node T_188677 = dshl(T_188676, UInt<2>(2)) - node T_188678 = not(T_188673) - node T_188679 = and(T_188677, T_188678) - node T_188680 = or(T_188675, T_188679) - node T_188681 = bits(T_188673, 62, 0) - node T_188682 = dshl(T_188681, UInt<1>(1)) - node T_188683 = xor(T_188673, T_188682) - node T_188684 = dshr(T_188680, UInt<1>(1)) - node T_188685 = and(T_188684, T_188683) - node T_188686 = bits(T_188680, 62, 0) - node T_188687 = dshl(T_188686, UInt<1>(1)) - node T_188688 = not(T_188683) - node T_188689 = and(T_188687, T_188688) - node shout_l = or(T_188685, T_188689) - node T_188690 = eq(fn, UInt<1>(0)) - node T_188691 = eq(fn, UInt<4>(10)) - node T_188692 = or(T_188690, T_188691) - node T_188693 = eq(fn, UInt<3>(5)) - node T_188694 = eq(fn, UInt<4>(11)) - node T_188695 = or(T_188693, T_188694) - node T_188696 = eq(fn, UInt<1>(1)) - node T_188697 = eq(fn, UInt<3>(7)) - node T_188698 = and(in1, in2) - node T_188699 = eq(fn, UInt<3>(6)) - node T_188700 = or(in1, in2) - node T_188701 = eq(fn, UInt<3>(4)) - node T_188702 = xor(in1, in2) - wire T_188703 : UInt<1> - T_188703 := cmp - when T_188701 : T_188703 := T_188702 - wire T_188704 : UInt<1> - T_188704 := T_188703 - when T_188699 : T_188704 := T_188700 - wire T_188705 : UInt<1> - T_188705 := T_188704 - when T_188697 : T_188705 := T_188698 - wire T_188706 : UInt<1> - T_188706 := T_188705 - when T_188696 : T_188706 := shout_l - wire T_188707 : UInt<1> - T_188707 := T_188706 - when T_188695 : T_188707 := shout_r - wire out64 : UInt<1> - out64 := T_188707 - when T_188692 : out64 := sum - node T_188708 = and(dw, UInt<1>(1)) - node T_188709 = eq(UInt<1>(1), T_188708) - node T_188710 = bits(out64, 63, 32) - node T_188711 = bit(out64, 31) - node T_188712 = subw(UInt<32>(0), UInt<6>(32)) - wire out_hi : UInt<32> - out_hi := T_188712 - when T_188709 : out_hi := T_188710 - node T_188713 = bits(out64, 31, 0) - node T_188714 = cat(out_hi, T_188713) - out := T_188714 - adder_out := sum - module MulDiv : - input req : {flip ready : UInt<1>, valid : UInt<1>, bits : {fn : UInt<4>, dw : UInt<1>, in1 : UInt<64>, in2 : UInt<64>, tag : UInt<5>}} - input kill : UInt<1> - output resp : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<64>, tag : UInt<5>}} - - reg state : UInt<3> - onreset state := UInt<3>(0) - reg req : {fn : UInt<4>, dw : UInt<1>, in1 : UInt<64>, in2 : UInt<64>, tag : UInt<5>} - reg count : UInt<7> - reg neg_out : UInt<1> - reg isMul : UInt<1> - reg isHi : UInt<1> - reg divisor : UInt<65> - reg remainder : UInt<130> - node T_188715 = and(req.bits.fn, UInt<4>(4)) - node T_188716 = eq(T_188715, UInt<4>(0)) - node T_188717 = and(req.bits.fn, UInt<4>(8)) - node T_188718 = eq(T_188717, UInt<4>(8)) - node T_188719 = or(UInt<1>(0), T_188716) - node T_188720 = or(T_188719, T_188718) - node T_188721 = and(req.bits.fn, UInt<4>(5)) - node T_188722 = eq(T_188721, UInt<4>(1)) - node T_188723 = and(req.bits.fn, UInt<4>(2)) - node T_188724 = eq(T_188723, UInt<4>(2)) - node T_188725 = or(UInt<1>(0), T_188722) - node T_188726 = or(T_188725, T_188724) - node T_188727 = or(T_188726, T_188718) - node T_188728 = and(req.bits.fn, UInt<4>(9)) - node T_188729 = eq(T_188728, UInt<4>(0)) - node T_188730 = and(req.bits.fn, UInt<4>(3)) - node T_188731 = eq(T_188730, UInt<4>(0)) - node T_188732 = or(UInt<1>(0), T_188729) - node T_188733 = or(T_188732, T_188716) - node T_188734 = or(T_188733, T_188731) - node T_188735 = or(UInt<1>(0), T_188729) - node T_188736 = or(T_188735, T_188716) - node cmdMul = bit(T_188720, 0) - node cmdHi = bit(T_188727, 0) - node lhsSigned = bit(T_188734, 0) - node rhsSigned = bit(T_188736, 0) - node T_188737 = and(req.bits.dw, UInt<1>(1)) - node T_188738 = eq(UInt<1>(1), T_188737) - node T_188739 = bit(req.bits.in1, 63) - node T_188740 = bit(req.bits.in1, 31) - wire T_188741 : UInt<1> - T_188741 := T_188740 - when T_188738 : T_188741 := T_188739 - node lhs_sign = and(lhsSigned, T_188741) - node T_188742 = and(req.bits.dw, UInt<1>(1)) - node T_188743 = eq(UInt<1>(1), T_188742) - node T_188744 = bits(req.bits.in1, 63, 32) - node T_188745 = subw(UInt<32>(0), UInt<6>(32)) - wire T_188746 : UInt<32> - T_188746 := T_188745 - when T_188743 : T_188746 := T_188744 - node T_188747 = bits(req.bits.in1, 31, 0) - node lhs_in = cat(T_188746, T_188747) - node T_188748 = and(req.bits.dw, UInt<1>(1)) - node T_188749 = eq(UInt<1>(1), T_188748) - node T_188750 = bit(req.bits.in2, 63) - node T_188751 = bit(req.bits.in2, 31) - wire T_188752 : UInt<1> - T_188752 := T_188751 - when T_188749 : T_188752 := T_188750 - node rhs_sign = and(rhsSigned, T_188752) - node T_188753 = and(req.bits.dw, UInt<1>(1)) - node T_188754 = eq(UInt<1>(1), T_188753) - node T_188755 = bits(req.bits.in2, 63, 32) - node T_188756 = subw(UInt<32>(0), UInt<6>(32)) - wire T_188757 : UInt<32> - T_188757 := T_188756 - when T_188754 : T_188757 := T_188755 - node T_188758 = bits(req.bits.in2, 31, 0) - node rhs_in = cat(T_188757, T_188758) - node T_188759 = bits(remainder, 128, 64) - node T_188760 = bits(divisor, 64, 0) - node subtractor = subw(T_188759, T_188760) - node less = bit(subtractor, 64) - node T_188761 = bits(remainder, 63, 0) - node negated_remainder = subw(UInt<1>(0), T_188761) - - node T_188762 = eq(state, UInt<3>(1)) - when T_188762 : - - - node T_188763 = bit(remainder, 63) - node T_188764 = or(T_188763, isMul) - when T_188764 : remainder := negated_remainder - - - node T_188765 = bit(divisor, 63) - node T_188766 = or(T_188765, isMul) - when T_188766 : divisor := subtractor - state := UInt<3>(2) - - node T_188767 = eq(state, UInt<3>(4)) - when T_188767 : - remainder := negated_remainder - state := UInt<3>(5) - - node T_188768 = eq(state, UInt<3>(3)) - when T_188768 : - node T_188769 = bits(remainder, 128, 65) - remainder := T_188769 - wire T_188770 : UInt<3> - T_188770 := UInt<3>(5) - when neg_out : T_188770 := UInt<3>(4) - state := T_188770 - - - node T_188771 = eq(state, UInt<3>(2)) - node T_188772 = and(T_188771, isMul) - when T_188772 : - node T_188773 = bits(remainder, 129, 65) - node T_188774 = bits(remainder, 63, 0) - node T_188775 = cat(T_188773, T_188774) - node T_188776 = bits(T_188775, 63, 0) - node T_188777 = bits(T_188775, 128, 64) - node T_188778 = asSInt(T_188777) - node T_188779 = asSInt(divisor) - node T_188780 = bits(T_188776, 7, 0) - node T_188781 = mul(T_188779, T_188780) - node T_188782 = addw(T_188781, T_188778) - node T_188783 = bits(T_188776, 63, 8) - node T_188784 = asUInt(T_188782) - node T_188785 = cat(T_188784, T_188783) - node T_188786 = mul(count, UInt<4>(8)) - node T_188787 = bits(T_188786, 5, 0) - node T_188788 = dshr(SInt<65>(-18446744073709551616), T_188787) - node T_188789 = bits(T_188788, 63, 0) - node T_188790 = neq(count, UInt<3>(7)) - node T_188791 = and(UInt<1>(1), T_188790) - node T_188792 = neq(count, UInt<1>(0)) - node T_188793 = and(T_188791, T_188792) - node T_188794 = eq(isHi, UInt<1>(0)) - node T_188795 = and(T_188793, T_188794) - node T_188796 = not(T_188789) - node T_188797 = and(T_188776, T_188796) - node T_188798 = eq(T_188797, UInt<1>(0)) - node T_188799 = and(T_188795, T_188798) - node T_188800 = mul(count, UInt<4>(8)) - node T_188801 = subw(UInt<7>(64), T_188800) - node T_188802 = bits(T_188801, 5, 0) - node T_188803 = dshr(T_188775, T_188802) - node T_188804 = bits(T_188785, 128, 64) - wire T_188805 : UInt<129> - T_188805 := T_188785 - when T_188799 : T_188805 := T_188803 - node T_188806 = bits(T_188805, 63, 0) - node T_188807 = cat(T_188804, T_188806) - node T_188808 = shr(T_188807, 64) - node T_188809 = bits(T_188807, 63, 0) - node T_188810 = cat(UInt<1>(0), T_188809) - node T_188811 = cat(T_188808, T_188810) - node T_188812 = asSInt(T_188811) - remainder := T_188812 - node T_188813 = addw(count, UInt<1>(1)) - count := T_188813 - - - node T_188814 = eq(count, UInt<3>(7)) - node T_188815 = or(T_188799, T_188814) - when T_188815 : - wire T_188816 : UInt<3> - T_188816 := UInt<3>(5) - when isHi : T_188816 := UInt<3>(3) - state := T_188816 - - - node T_188817 = eq(state, UInt<3>(2)) - node T_188818 = eq(isMul, UInt<1>(0)) - node T_188819 = and(T_188817, T_188818) - when T_188819 : - - node T_188820 = eq(count, UInt<7>(64)) - when T_188820 : - wire T_188821 : UInt<3> - T_188821 := UInt<3>(5) - when neg_out : T_188821 := UInt<3>(4) - wire T_188822 : UInt<3> - T_188822 := T_188821 - when isHi : T_188822 := UInt<3>(3) - state := T_188822 - node T_188823 = addw(count, UInt<1>(1)) - count := T_188823 - node T_188824 = bits(remainder, 127, 64) - node T_188825 = bits(subtractor, 63, 0) - wire T_188826 : UInt<64> - T_188826 := T_188825 - when less : T_188826 := T_188824 - node T_188827 = bits(remainder, 63, 0) - node T_188828 = eq(less, UInt<1>(0)) - node T_188829 = cat(T_188827, T_188828) - node T_188830 = cat(T_188826, T_188829) - remainder := T_188830 - node T_188831 = bits(divisor, 63, 0) - node T_188832 = bit(T_188831, 63) - node T_188833 = bit(T_188831, 62) - node T_188834 = bit(T_188831, 61) - node T_188835 = bit(T_188831, 60) - node T_188836 = bit(T_188831, 59) - node T_188837 = bit(T_188831, 58) - node T_188838 = bit(T_188831, 57) - node T_188839 = bit(T_188831, 56) - node T_188840 = bit(T_188831, 55) - node T_188841 = bit(T_188831, 54) - node T_188842 = bit(T_188831, 53) - node T_188843 = bit(T_188831, 52) - node T_188844 = bit(T_188831, 51) - node T_188845 = bit(T_188831, 50) - node T_188846 = bit(T_188831, 49) - node T_188847 = bit(T_188831, 48) - node T_188848 = bit(T_188831, 47) - node T_188849 = bit(T_188831, 46) - node T_188850 = bit(T_188831, 45) - node T_188851 = bit(T_188831, 44) - node T_188852 = bit(T_188831, 43) - node T_188853 = bit(T_188831, 42) - node T_188854 = bit(T_188831, 41) - node T_188855 = bit(T_188831, 40) - node T_188856 = bit(T_188831, 39) - node T_188857 = bit(T_188831, 38) - node T_188858 = bit(T_188831, 37) - node T_188859 = bit(T_188831, 36) - node T_188860 = bit(T_188831, 35) - node T_188861 = bit(T_188831, 34) - node T_188862 = bit(T_188831, 33) - node T_188863 = bit(T_188831, 32) - node T_188864 = bit(T_188831, 31) - node T_188865 = bit(T_188831, 30) - node T_188866 = bit(T_188831, 29) - node T_188867 = bit(T_188831, 28) - node T_188868 = bit(T_188831, 27) - node T_188869 = bit(T_188831, 26) - node T_188870 = bit(T_188831, 25) - node T_188871 = bit(T_188831, 24) - node T_188872 = bit(T_188831, 23) - node T_188873 = bit(T_188831, 22) - node T_188874 = bit(T_188831, 21) - node T_188875 = bit(T_188831, 20) - node T_188876 = bit(T_188831, 19) - node T_188877 = bit(T_188831, 18) - node T_188878 = bit(T_188831, 17) - node T_188879 = bit(T_188831, 16) - node T_188880 = bit(T_188831, 15) - node T_188881 = bit(T_188831, 14) - node T_188882 = bit(T_188831, 13) - node T_188883 = bit(T_188831, 12) - node T_188884 = bit(T_188831, 11) - node T_188885 = bit(T_188831, 10) - node T_188886 = bit(T_188831, 9) - node T_188887 = bit(T_188831, 8) - node T_188888 = bit(T_188831, 7) - node T_188889 = bit(T_188831, 6) - node T_188890 = bit(T_188831, 5) - node T_188891 = bit(T_188831, 4) - node T_188892 = bit(T_188831, 3) - node T_188893 = bit(T_188831, 2) - node T_188894 = bit(T_188831, 1) - wire T_188895 : UInt<1> - T_188895 := T_188894 - when T_188893 : T_188895 := UInt<2>(2) - wire T_188896 : UInt<1> - T_188896 := T_188895 - when T_188892 : T_188896 := UInt<2>(3) - wire T_188897 : UInt<1> - T_188897 := T_188896 - when T_188891 : T_188897 := UInt<3>(4) - wire T_188898 : UInt<1> - T_188898 := T_188897 - when T_188890 : T_188898 := UInt<3>(5) - wire T_188899 : UInt<1> - T_188899 := T_188898 - when T_188889 : T_188899 := UInt<3>(6) - wire T_188900 : UInt<1> - T_188900 := T_188899 - when T_188888 : T_188900 := UInt<3>(7) - wire T_188901 : UInt<1> - T_188901 := T_188900 - when T_188887 : T_188901 := UInt<4>(8) - wire T_188902 : UInt<1> - T_188902 := T_188901 - when T_188886 : T_188902 := UInt<4>(9) - wire T_188903 : UInt<1> - T_188903 := T_188902 - when T_188885 : T_188903 := UInt<4>(10) - wire T_188904 : UInt<1> - T_188904 := T_188903 - when T_188884 : T_188904 := UInt<4>(11) - wire T_188905 : UInt<1> - T_188905 := T_188904 - when T_188883 : T_188905 := UInt<4>(12) - wire T_188906 : UInt<1> - T_188906 := T_188905 - when T_188882 : T_188906 := UInt<4>(13) - wire T_188907 : UInt<1> - T_188907 := T_188906 - when T_188881 : T_188907 := UInt<4>(14) - wire T_188908 : UInt<1> - T_188908 := T_188907 - when T_188880 : T_188908 := UInt<4>(15) - wire T_188909 : UInt<1> - T_188909 := T_188908 - when T_188879 : T_188909 := UInt<5>(16) - wire T_188910 : UInt<1> - T_188910 := T_188909 - when T_188878 : T_188910 := UInt<5>(17) - wire T_188911 : UInt<1> - T_188911 := T_188910 - when T_188877 : T_188911 := UInt<5>(18) - wire T_188912 : UInt<1> - T_188912 := T_188911 - when T_188876 : T_188912 := UInt<5>(19) - wire T_188913 : UInt<1> - T_188913 := T_188912 - when T_188875 : T_188913 := UInt<5>(20) - wire T_188914 : UInt<1> - T_188914 := T_188913 - when T_188874 : T_188914 := UInt<5>(21) - wire T_188915 : UInt<1> - T_188915 := T_188914 - when T_188873 : T_188915 := UInt<5>(22) - wire T_188916 : UInt<1> - T_188916 := T_188915 - when T_188872 : T_188916 := UInt<5>(23) - wire T_188917 : UInt<1> - T_188917 := T_188916 - when T_188871 : T_188917 := UInt<5>(24) - wire T_188918 : UInt<1> - T_188918 := T_188917 - when T_188870 : T_188918 := UInt<5>(25) - wire T_188919 : UInt<1> - T_188919 := T_188918 - when T_188869 : T_188919 := UInt<5>(26) - wire T_188920 : UInt<1> - T_188920 := T_188919 - when T_188868 : T_188920 := UInt<5>(27) - wire T_188921 : UInt<1> - T_188921 := T_188920 - when T_188867 : T_188921 := UInt<5>(28) - wire T_188922 : UInt<1> - T_188922 := T_188921 - when T_188866 : T_188922 := UInt<5>(29) - wire T_188923 : UInt<1> - T_188923 := T_188922 - when T_188865 : T_188923 := UInt<5>(30) - wire T_188924 : UInt<1> - T_188924 := T_188923 - when T_188864 : T_188924 := UInt<5>(31) - wire T_188925 : UInt<1> - T_188925 := T_188924 - when T_188863 : T_188925 := UInt<6>(32) - wire T_188926 : UInt<1> - T_188926 := T_188925 - when T_188862 : T_188926 := UInt<6>(33) - wire T_188927 : UInt<1> - T_188927 := T_188926 - when T_188861 : T_188927 := UInt<6>(34) - wire T_188928 : UInt<1> - T_188928 := T_188927 - when T_188860 : T_188928 := UInt<6>(35) - wire T_188929 : UInt<1> - T_188929 := T_188928 - when T_188859 : T_188929 := UInt<6>(36) - wire T_188930 : UInt<1> - T_188930 := T_188929 - when T_188858 : T_188930 := UInt<6>(37) - wire T_188931 : UInt<1> - T_188931 := T_188930 - when T_188857 : T_188931 := UInt<6>(38) - wire T_188932 : UInt<1> - T_188932 := T_188931 - when T_188856 : T_188932 := UInt<6>(39) - wire T_188933 : UInt<1> - T_188933 := T_188932 - when T_188855 : T_188933 := UInt<6>(40) - wire T_188934 : UInt<1> - T_188934 := T_188933 - when T_188854 : T_188934 := UInt<6>(41) - wire T_188935 : UInt<1> - T_188935 := T_188934 - when T_188853 : T_188935 := UInt<6>(42) - wire T_188936 : UInt<1> - T_188936 := T_188935 - when T_188852 : T_188936 := UInt<6>(43) - wire T_188937 : UInt<1> - T_188937 := T_188936 - when T_188851 : T_188937 := UInt<6>(44) - wire T_188938 : UInt<1> - T_188938 := T_188937 - when T_188850 : T_188938 := UInt<6>(45) - wire T_188939 : UInt<1> - T_188939 := T_188938 - when T_188849 : T_188939 := UInt<6>(46) - wire T_188940 : UInt<1> - T_188940 := T_188939 - when T_188848 : T_188940 := UInt<6>(47) - wire T_188941 : UInt<1> - T_188941 := T_188940 - when T_188847 : T_188941 := UInt<6>(48) - wire T_188942 : UInt<1> - T_188942 := T_188941 - when T_188846 : T_188942 := UInt<6>(49) - wire T_188943 : UInt<1> - T_188943 := T_188942 - when T_188845 : T_188943 := UInt<6>(50) - wire T_188944 : UInt<1> - T_188944 := T_188943 - when T_188844 : T_188944 := UInt<6>(51) - wire T_188945 : UInt<1> - T_188945 := T_188944 - when T_188843 : T_188945 := UInt<6>(52) - wire T_188946 : UInt<1> - T_188946 := T_188945 - when T_188842 : T_188946 := UInt<6>(53) - wire T_188947 : UInt<1> - T_188947 := T_188946 - when T_188841 : T_188947 := UInt<6>(54) - wire T_188948 : UInt<1> - T_188948 := T_188947 - when T_188840 : T_188948 := UInt<6>(55) - wire T_188949 : UInt<1> - T_188949 := T_188948 - when T_188839 : T_188949 := UInt<6>(56) - wire T_188950 : UInt<1> - T_188950 := T_188949 - when T_188838 : T_188950 := UInt<6>(57) - wire T_188951 : UInt<1> - T_188951 := T_188950 - when T_188837 : T_188951 := UInt<6>(58) - wire T_188952 : UInt<1> - T_188952 := T_188951 - when T_188836 : T_188952 := UInt<6>(59) - wire T_188953 : UInt<1> - T_188953 := T_188952 - when T_188835 : T_188953 := UInt<6>(60) - wire T_188954 : UInt<1> - T_188954 := T_188953 - when T_188834 : T_188954 := UInt<6>(61) - wire T_188955 : UInt<1> - T_188955 := T_188954 - when T_188833 : T_188955 := UInt<6>(62) - wire T_188956 : UInt<1> - T_188956 := T_188955 - when T_188832 : T_188956 := UInt<6>(63) - node T_188957 = bits(remainder, 63, 0) - node T_188958 = bit(T_188957, 63) - node T_188959 = bit(T_188957, 62) - node T_188960 = bit(T_188957, 61) - node T_188961 = bit(T_188957, 60) - node T_188962 = bit(T_188957, 59) - node T_188963 = bit(T_188957, 58) - node T_188964 = bit(T_188957, 57) - node T_188965 = bit(T_188957, 56) - node T_188966 = bit(T_188957, 55) - node T_188967 = bit(T_188957, 54) - node T_188968 = bit(T_188957, 53) - node T_188969 = bit(T_188957, 52) - node T_188970 = bit(T_188957, 51) - node T_188971 = bit(T_188957, 50) - node T_188972 = bit(T_188957, 49) - node T_188973 = bit(T_188957, 48) - node T_188974 = bit(T_188957, 47) - node T_188975 = bit(T_188957, 46) - node T_188976 = bit(T_188957, 45) - node T_188977 = bit(T_188957, 44) - node T_188978 = bit(T_188957, 43) - node T_188979 = bit(T_188957, 42) - node T_188980 = bit(T_188957, 41) - node T_188981 = bit(T_188957, 40) - node T_188982 = bit(T_188957, 39) - node T_188983 = bit(T_188957, 38) - node T_188984 = bit(T_188957, 37) - node T_188985 = bit(T_188957, 36) - node T_188986 = bit(T_188957, 35) - node T_188987 = bit(T_188957, 34) - node T_188988 = bit(T_188957, 33) - node T_188989 = bit(T_188957, 32) - node T_188990 = bit(T_188957, 31) - node T_188991 = bit(T_188957, 30) - node T_188992 = bit(T_188957, 29) - node T_188993 = bit(T_188957, 28) - node T_188994 = bit(T_188957, 27) - node T_188995 = bit(T_188957, 26) - node T_188996 = bit(T_188957, 25) - node T_188997 = bit(T_188957, 24) - node T_188998 = bit(T_188957, 23) - node T_188999 = bit(T_188957, 22) - node T_189000 = bit(T_188957, 21) - node T_189001 = bit(T_188957, 20) - node T_189002 = bit(T_188957, 19) - node T_189003 = bit(T_188957, 18) - node T_189004 = bit(T_188957, 17) - node T_189005 = bit(T_188957, 16) - node T_189006 = bit(T_188957, 15) - node T_189007 = bit(T_188957, 14) - node T_189008 = bit(T_188957, 13) - node T_189009 = bit(T_188957, 12) - node T_189010 = bit(T_188957, 11) - node T_189011 = bit(T_188957, 10) - node T_189012 = bit(T_188957, 9) - node T_189013 = bit(T_188957, 8) - node T_189014 = bit(T_188957, 7) - node T_189015 = bit(T_188957, 6) - node T_189016 = bit(T_188957, 5) - node T_189017 = bit(T_188957, 4) - node T_189018 = bit(T_188957, 3) - node T_189019 = bit(T_188957, 2) - node T_189020 = bit(T_188957, 1) - wire T_189021 : UInt<1> - T_189021 := T_189020 - when T_189019 : T_189021 := UInt<2>(2) - wire T_189022 : UInt<1> - T_189022 := T_189021 - when T_189018 : T_189022 := UInt<2>(3) - wire T_189023 : UInt<1> - T_189023 := T_189022 - when T_189017 : T_189023 := UInt<3>(4) - wire T_189024 : UInt<1> - T_189024 := T_189023 - when T_189016 : T_189024 := UInt<3>(5) - wire T_189025 : UInt<1> - T_189025 := T_189024 - when T_189015 : T_189025 := UInt<3>(6) - wire T_189026 : UInt<1> - T_189026 := T_189025 - when T_189014 : T_189026 := UInt<3>(7) - wire T_189027 : UInt<1> - T_189027 := T_189026 - when T_189013 : T_189027 := UInt<4>(8) - wire T_189028 : UInt<1> - T_189028 := T_189027 - when T_189012 : T_189028 := UInt<4>(9) - wire T_189029 : UInt<1> - T_189029 := T_189028 - when T_189011 : T_189029 := UInt<4>(10) - wire T_189030 : UInt<1> - T_189030 := T_189029 - when T_189010 : T_189030 := UInt<4>(11) - wire T_189031 : UInt<1> - T_189031 := T_189030 - when T_189009 : T_189031 := UInt<4>(12) - wire T_189032 : UInt<1> - T_189032 := T_189031 - when T_189008 : T_189032 := UInt<4>(13) - wire T_189033 : UInt<1> - T_189033 := T_189032 - when T_189007 : T_189033 := UInt<4>(14) - wire T_189034 : UInt<1> - T_189034 := T_189033 - when T_189006 : T_189034 := UInt<4>(15) - wire T_189035 : UInt<1> - T_189035 := T_189034 - when T_189005 : T_189035 := UInt<5>(16) - wire T_189036 : UInt<1> - T_189036 := T_189035 - when T_189004 : T_189036 := UInt<5>(17) - wire T_189037 : UInt<1> - T_189037 := T_189036 - when T_189003 : T_189037 := UInt<5>(18) - wire T_189038 : UInt<1> - T_189038 := T_189037 - when T_189002 : T_189038 := UInt<5>(19) - wire T_189039 : UInt<1> - T_189039 := T_189038 - when T_189001 : T_189039 := UInt<5>(20) - wire T_189040 : UInt<1> - T_189040 := T_189039 - when T_189000 : T_189040 := UInt<5>(21) - wire T_189041 : UInt<1> - T_189041 := T_189040 - when T_188999 : T_189041 := UInt<5>(22) - wire T_189042 : UInt<1> - T_189042 := T_189041 - when T_188998 : T_189042 := UInt<5>(23) - wire T_189043 : UInt<1> - T_189043 := T_189042 - when T_188997 : T_189043 := UInt<5>(24) - wire T_189044 : UInt<1> - T_189044 := T_189043 - when T_188996 : T_189044 := UInt<5>(25) - wire T_189045 : UInt<1> - T_189045 := T_189044 - when T_188995 : T_189045 := UInt<5>(26) - wire T_189046 : UInt<1> - T_189046 := T_189045 - when T_188994 : T_189046 := UInt<5>(27) - wire T_189047 : UInt<1> - T_189047 := T_189046 - when T_188993 : T_189047 := UInt<5>(28) - wire T_189048 : UInt<1> - T_189048 := T_189047 - when T_188992 : T_189048 := UInt<5>(29) - wire T_189049 : UInt<1> - T_189049 := T_189048 - when T_188991 : T_189049 := UInt<5>(30) - wire T_189050 : UInt<1> - T_189050 := T_189049 - when T_188990 : T_189050 := UInt<5>(31) - wire T_189051 : UInt<1> - T_189051 := T_189050 - when T_188989 : T_189051 := UInt<6>(32) - wire T_189052 : UInt<1> - T_189052 := T_189051 - when T_188988 : T_189052 := UInt<6>(33) - wire T_189053 : UInt<1> - T_189053 := T_189052 - when T_188987 : T_189053 := UInt<6>(34) - wire T_189054 : UInt<1> - T_189054 := T_189053 - when T_188986 : T_189054 := UInt<6>(35) - wire T_189055 : UInt<1> - T_189055 := T_189054 - when T_188985 : T_189055 := UInt<6>(36) - wire T_189056 : UInt<1> - T_189056 := T_189055 - when T_188984 : T_189056 := UInt<6>(37) - wire T_189057 : UInt<1> - T_189057 := T_189056 - when T_188983 : T_189057 := UInt<6>(38) - wire T_189058 : UInt<1> - T_189058 := T_189057 - when T_188982 : T_189058 := UInt<6>(39) - wire T_189059 : UInt<1> - T_189059 := T_189058 - when T_188981 : T_189059 := UInt<6>(40) - wire T_189060 : UInt<1> - T_189060 := T_189059 - when T_188980 : T_189060 := UInt<6>(41) - wire T_189061 : UInt<1> - T_189061 := T_189060 - when T_188979 : T_189061 := UInt<6>(42) - wire T_189062 : UInt<1> - T_189062 := T_189061 - when T_188978 : T_189062 := UInt<6>(43) - wire T_189063 : UInt<1> - T_189063 := T_189062 - when T_188977 : T_189063 := UInt<6>(44) - wire T_189064 : UInt<1> - T_189064 := T_189063 - when T_188976 : T_189064 := UInt<6>(45) - wire T_189065 : UInt<1> - T_189065 := T_189064 - when T_188975 : T_189065 := UInt<6>(46) - wire T_189066 : UInt<1> - T_189066 := T_189065 - when T_188974 : T_189066 := UInt<6>(47) - wire T_189067 : UInt<1> - T_189067 := T_189066 - when T_188973 : T_189067 := UInt<6>(48) - wire T_189068 : UInt<1> - T_189068 := T_189067 - when T_188972 : T_189068 := UInt<6>(49) - wire T_189069 : UInt<1> - T_189069 := T_189068 - when T_188971 : T_189069 := UInt<6>(50) - wire T_189070 : UInt<1> - T_189070 := T_189069 - when T_188970 : T_189070 := UInt<6>(51) - wire T_189071 : UInt<1> - T_189071 := T_189070 - when T_188969 : T_189071 := UInt<6>(52) - wire T_189072 : UInt<1> - T_189072 := T_189071 - when T_188968 : T_189072 := UInt<6>(53) - wire T_189073 : UInt<1> - T_189073 := T_189072 - when T_188967 : T_189073 := UInt<6>(54) - wire T_189074 : UInt<1> - T_189074 := T_189073 - when T_188966 : T_189074 := UInt<6>(55) - wire T_189075 : UInt<1> - T_189075 := T_189074 - when T_188965 : T_189075 := UInt<6>(56) - wire T_189076 : UInt<1> - T_189076 := T_189075 - when T_188964 : T_189076 := UInt<6>(57) - wire T_189077 : UInt<1> - T_189077 := T_189076 - when T_188963 : T_189077 := UInt<6>(58) - wire T_189078 : UInt<1> - T_189078 := T_189077 - when T_188962 : T_189078 := UInt<6>(59) - wire T_189079 : UInt<1> - T_189079 := T_189078 - when T_188961 : T_189079 := UInt<6>(60) - wire T_189080 : UInt<1> - T_189080 := T_189079 - when T_188960 : T_189080 := UInt<6>(61) - wire T_189081 : UInt<1> - T_189081 := T_189080 - when T_188959 : T_189081 := UInt<6>(62) - wire T_189082 : UInt<1> - T_189082 := T_189081 - when T_188958 : T_189082 := UInt<6>(63) - node T_189083 = addw(UInt<6>(63), T_188956) - node T_189084 = subw(T_189083, T_189082) - node T_189085 = gt(T_188956, T_189082) - node T_189086 = eq(count, UInt<1>(0)) - node T_189087 = and(T_189086, less) - node T_189088 = gt(T_189084, UInt<1>(0)) - node T_189089 = or(T_189088, T_189085) - node T_189090 = and(T_189087, T_189089) - - node T_189091 = and(UInt<1>(1), T_189090) - when T_189091 : - node T_189092 = bits(T_189084, 5, 0) - wire T_189093 : UInt<6> - T_189093 := T_189092 - when T_189085 : T_189093 := UInt<6>(63) - node T_189094 = bits(remainder, 63, 0) - node T_189095 = dshl(T_189094, T_189093) - remainder := T_189095 - count := T_189093 - - - node T_189096 = eq(count, UInt<1>(0)) - node T_189097 = eq(less, UInt<1>(0)) - node T_189098 = and(T_189096, T_189097) - node T_189099 = eq(isHi, UInt<1>(0)) - node T_189100 = and(T_189098, T_189099) - when T_189100 : neg_out := UInt<1>(0) - - - node T_189101 = and(resp.ready, resp.valid) - node T_189102 = or(T_189101, kill) - when T_189102 : state := UInt<3>(0) - - node T_189103 = and(req.ready, req.valid) - when T_189103 : - node T_189104 = eq(cmdMul, UInt<1>(0)) - node T_189105 = and(rhs_sign, T_189104) - node T_189106 = or(lhs_sign, T_189105) - wire T_189107 : UInt<3> - T_189107 := UInt<3>(2) - when T_189106 : T_189107 := UInt<3>(1) - state := T_189107 - isMul := cmdMul - isHi := cmdHi - count := UInt<1>(0) - node T_189108 = eq(cmdMul, UInt<1>(0)) - node T_189109 = neq(lhs_sign, rhs_sign) - wire T_189110 : UInt<1> - T_189110 := T_189109 - when cmdHi : T_189110 := lhs_sign - node T_189111 = and(T_189108, T_189110) - neg_out := T_189111 - node T_189112 = cat(rhs_sign, rhs_in) - divisor := T_189112 - remainder := lhs_in - req := req.bits - resp.bits := req - node T_189113 = and(req.dw, UInt<1>(1)) - node T_189114 = eq(UInt<1>(0), T_189113) - node T_189115 = bit(remainder, 31) - node T_189116 = subw(UInt<32>(0), UInt<6>(32)) - node T_189117 = bits(remainder, 31, 0) - node T_189118 = cat(T_189116, T_189117) - node T_189119 = bits(remainder, 63, 0) - wire T_189120 : UInt<64> - T_189120 := T_189119 - when T_189114 : T_189120 := T_189118 - resp.bits.data := T_189120 - node T_189121 = eq(state, UInt<3>(5)) - resp.valid := T_189121 - node T_189122 = eq(state, UInt<3>(0)) - req.ready := T_189122 - module Rocket : - output host : {flip reset : UInt<1>, flip id : UInt<1>, flip pcr_req : {flip ready : UInt<1>, valid : UInt<1>, bits : {rw : UInt<1>, addr : UInt<12>, data : UInt<64>}}, pcr_rep : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<64>}, ipi_req : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<1>}, flip ipi_rep : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<1>}, debug_stats_pcr : UInt<1>} - output imem : {req : {valid : UInt<1>, bits : {pc : UInt<40>}}, flip resp : {flip ready : UInt<1>, valid : UInt<1>, bits : {pc : UInt<40>, data : UInt<32>[1], mask : UInt<1>, xcpt_if : UInt<1>}}, flip btb_resp : {valid : UInt<1>, bits : {taken : UInt<1>, mask : UInt<1>, bridx : UInt<1>, target : UInt<39>, entry : UInt<6>, bht : {history : UInt<7>, value : UInt<2>}}}, btb_update : {valid : UInt<1>, bits : {prediction : {valid : UInt<1>, bits : {taken : UInt<1>, mask : UInt<1>, bridx : UInt<1>, target : UInt<39>, entry : UInt<6>, bht : {history : UInt<7>, value : UInt<2>}}}, pc : UInt<39>, target : UInt<39>, taken : UInt<1>, isJump : UInt<1>, isReturn : UInt<1>, br_pc : UInt<39>}}, bht_update : {valid : UInt<1>, bits : {prediction : {valid : UInt<1>, bits : {taken : UInt<1>, mask : UInt<1>, bridx : UInt<1>, target : UInt<39>, entry : UInt<6>, bht : {history : UInt<7>, value : UInt<2>}}}, pc : UInt<39>, taken : UInt<1>, mispredict : UInt<1>}}, ras_update : {valid : UInt<1>, bits : {isCall : UInt<1>, isReturn : UInt<1>, returnAddr : UInt<39>, prediction : {valid : UInt<1>, bits : {taken : UInt<1>, mask : UInt<1>, bridx : UInt<1>, target : UInt<39>, entry : UInt<6>, bht : {history : UInt<7>, value : UInt<2>}}}}}, invalidate : UInt<1>, flip npc : UInt<40>} - output dmem : {req : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<40>, tag : UInt<8>, cmd : UInt<5>, typ : UInt<3>, kill : UInt<1>, phys : UInt<1>, data : UInt<64>}}, flip resp : {valid : UInt<1>, bits : {addr : UInt<40>, tag : UInt<8>, cmd : UInt<5>, typ : UInt<3>, data : UInt<64>, nack : UInt<1>, replay : UInt<1>, has_data : UInt<1>, data_subword : UInt<64>, store_data : UInt<64>}}, flip replay_next : {valid : UInt<1>, bits : UInt<8>}, flip xcpt : {ma : {ld : UInt<1>, st : UInt<1>}, pf : {ld : UInt<1>, st : UInt<1>}}, invalidate_lr : UInt<1>, flip ordered : UInt<1>} - input ptw : {flip ptbr : UInt<32>, flip invalidate : UInt<1>, flip status : {sd : UInt<1>, zero2 : UInt<31>, sd_rv32 : UInt<1>, zero1 : UInt<9>, vm : UInt<5>, mprv : UInt<1>, xs : UInt<2>, fs : UInt<2>, prv3 : UInt<2>, ie3 : UInt<1>, prv2 : UInt<2>, ie2 : UInt<1>, prv1 : UInt<2>, ie1 : UInt<1>, prv : UInt<2>, ie : UInt<1>}} - input fpu : {flip inst__ : UInt<32>, flip fromint_data : UInt<64>, flip fcsr_rm : UInt<3>, fcsr_flags : {valid : UInt<1>, bits : UInt<5>}, store_data : UInt<64>, toint_data : UInt<64>, flip dmem_resp_val : UInt<1>, flip dmem_resp_type : UInt<3>, flip dmem_resp_tag : UInt<5>, flip dmem_resp_data : UInt<64>, flip valid : UInt<1>, fcsr_rdy : UInt<1>, nack_mem : UInt<1>, illegal_rm : UInt<1>, flip killx : UInt<1>, flip killm : UInt<1>, dec : {cmd : UInt<5>, ldst : UInt<1>, wen : UInt<1>, ren1 : UInt<1>, ren2 : UInt<1>, ren3 : UInt<1>, swap12 : UInt<1>, swap23 : UInt<1>, single : UInt<1>, fromint : UInt<1>, toint : UInt<1>, fastpipe : UInt<1>, fma : UInt<1>, div : UInt<1>, sqrt : UInt<1>, round : UInt<1>, wflags : UInt<1>}, sboard_set : UInt<1>, sboard_clr : UInt<1>, sboard_clra : UInt<5>} - input rocc : {flip cmd : {flip ready : UInt<1>, valid : UInt<1>, bits : {inst__ : {funct : UInt<7>, rs2 : UInt<5>, rs1 : UInt<5>, xd : UInt<1>, xs1 : UInt<1>, xs2 : UInt<1>, rd : UInt<5>, opcode : UInt<7>}, rs1 : UInt<64>, rs2 : UInt<64>}}, resp : {flip ready : UInt<1>, valid : UInt<1>, bits : {rd : UInt<5>, data : UInt<64>}}, mem__ : {req : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<40>, tag : UInt<8>, cmd : UInt<5>, typ : UInt<3>, kill : UInt<1>, phys : UInt<1>, data : UInt<64>}}, flip resp : {valid : UInt<1>, bits : {addr : UInt<40>, tag : UInt<8>, cmd : UInt<5>, typ : UInt<3>, data : UInt<64>, nack : UInt<1>, replay : UInt<1>, has_data : UInt<1>, data_subword : UInt<64>, store_data : UInt<64>}}, flip replay_next : {valid : UInt<1>, bits : UInt<8>}, flip xcpt : {ma : {ld : UInt<1>, st : UInt<1>}, pf : {ld : UInt<1>, st : UInt<1>}}, invalidate_lr : UInt<1>, flip ordered : UInt<1>}, busy : UInt<1>, flip s : UInt<1>, interrupt : UInt<1>, imem : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}}, dmem : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}}, iptw : {req : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<27>, prv : UInt<2>, store : UInt<1>, fetch : UInt<1>}}, flip resp : {valid : UInt<1>, bits : {error : UInt<1>, pte : {ppn : UInt<20>, reserved_for_software : UInt<3>, d : UInt<1>, r : UInt<1>, typ : UInt<4>, v : UInt<1>}}}, flip status : {sd : UInt<1>, zero2 : UInt<31>, sd_rv32 : UInt<1>, zero1 : UInt<9>, vm : UInt<5>, mprv : UInt<1>, xs : UInt<2>, fs : UInt<2>, prv3 : UInt<2>, ie3 : UInt<1>, prv2 : UInt<2>, ie2 : UInt<1>, prv1 : UInt<2>, ie1 : UInt<1>, prv : UInt<2>, ie : UInt<1>}, flip invalidate : UInt<1>}, dptw : {req : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<27>, prv : UInt<2>, store : UInt<1>, fetch : UInt<1>}}, flip resp : {valid : UInt<1>, bits : {error : UInt<1>, pte : {ppn : UInt<20>, reserved_for_software : UInt<3>, d : UInt<1>, r : UInt<1>, typ : UInt<4>, v : UInt<1>}}}, flip status : {sd : UInt<1>, zero2 : UInt<31>, sd_rv32 : UInt<1>, zero1 : UInt<9>, vm : UInt<5>, mprv : UInt<1>, xs : UInt<2>, fs : UInt<2>, prv3 : UInt<2>, ie3 : UInt<1>, prv2 : UInt<2>, ie2 : UInt<1>, prv1 : UInt<2>, ie1 : UInt<1>, prv : UInt<2>, ie : UInt<1>}, flip invalidate : UInt<1>}, pptw : {req : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<27>, prv : UInt<2>, store : UInt<1>, fetch : UInt<1>}}, flip resp : {valid : UInt<1>, bits : {error : UInt<1>, pte : {ppn : UInt<20>, reserved_for_software : UInt<3>, d : UInt<1>, r : UInt<1>, typ : UInt<4>, v : UInt<1>}}}, flip status : {sd : UInt<1>, zero2 : UInt<31>, sd_rv32 : UInt<1>, zero1 : UInt<9>, vm : UInt<5>, mprv : UInt<1>, xs : UInt<2>, fs : UInt<2>, prv3 : UInt<2>, ie3 : UInt<1>, prv2 : UInt<2>, ie2 : UInt<1>, prv1 : UInt<2>, ie1 : UInt<1>, prv : UInt<2>, ie : UInt<1>}, flip invalidate : UInt<1>}, flip exception : UInt<1>} - - wire data : UInt<32>[1] - T_189123.data[0] := T_189124 - wire data : UInt<32>[1] - imem.resp.bits.data[0] := T_189125 - wire T_189126 : UInt<3>[3] - T_189126[0] := UInt<3>(0) - T_189126[1] := UInt<3>(1) - T_189126[2] := UInt<3>(2) - wire T_189127 : UInt<2>[2] - T_189127[0] := UInt<2>(0) - T_189127[1] := UInt<2>(1) - wire T_189128 : UInt<2>[3] - T_189128[0] := UInt<2>(1) - T_189128[1] := UInt<2>(2) - T_189128[2] := UInt<2>(3) - wire T_189129 : UInt<2>[2] - T_189129[0] := UInt<2>(2) - T_189129[1] := UInt<2>(3) - wire T_189130 : UInt<2>[1] - T_189130[0] := UInt<2>(3) - wire T_189131 : UInt<3>[3] - T_189131[0] := UInt<3>(0) - T_189131[1] := UInt<3>(1) - T_189131[2] := UInt<3>(2) - wire T_189132 : UInt<2>[2] - T_189132[0] := UInt<2>(0) - T_189132[1] := UInt<2>(1) - wire T_189133 : UInt<2>[3] - T_189133[0] := UInt<2>(1) - T_189133[1] := UInt<2>(2) - T_189133[2] := UInt<2>(3) - wire T_189134 : UInt<2>[2] - T_189134[0] := UInt<2>(2) - T_189134[1] := UInt<2>(3) - wire T_189135 : UInt<2>[1] - T_189135[0] := UInt<2>(3) - wire T_189136 : UInt<3>[3] - T_189136[0] := UInt<3>(0) - T_189136[1] := UInt<3>(1) - T_189136[2] := UInt<3>(2) - wire T_189137 : UInt<2>[2] - T_189137[0] := UInt<2>(0) - T_189137[1] := UInt<2>(1) - wire T_189138 : UInt<2>[3] - T_189138[0] := UInt<2>(1) - T_189138[1] := UInt<2>(2) - T_189138[2] := UInt<2>(3) - wire T_189139 : UInt<2>[2] - T_189139[0] := UInt<2>(2) - T_189139[1] := UInt<2>(3) - wire T_189140 : UInt<2>[1] - T_189140[0] := UInt<2>(3) - wire T_189141 : UInt<3>[3] - T_189141[0] := UInt<3>(0) - T_189141[1] := UInt<3>(1) - T_189141[2] := UInt<3>(2) - wire T_189142 : UInt<2>[2] - T_189142[0] := UInt<2>(0) - T_189142[1] := UInt<2>(1) - wire T_189143 : UInt<2>[3] - T_189143[0] := UInt<2>(1) - T_189143[1] := UInt<2>(2) - T_189143[2] := UInt<2>(3) - wire T_189144 : UInt<2>[2] - T_189144[0] := UInt<2>(2) - T_189144[1] := UInt<2>(3) - wire T_189145 : UInt<2>[1] - T_189145[0] := UInt<2>(3) - wire T_189146 : UInt<3>[3] - T_189146[0] := UInt<3>(0) - T_189146[1] := UInt<3>(1) - T_189146[2] := UInt<3>(2) - wire T_189147 : UInt<2>[2] - T_189147[0] := UInt<2>(0) - T_189147[1] := UInt<2>(1) - wire T_189148 : UInt<2>[3] - T_189148[0] := UInt<2>(1) - T_189148[1] := UInt<2>(2) - T_189148[2] := UInt<2>(3) - wire T_189149 : UInt<2>[2] - T_189149[0] := UInt<2>(2) - T_189149[1] := UInt<2>(3) - wire T_189150 : UInt<2>[1] - T_189150[0] := UInt<2>(3) - wire T_189151 : UInt<3>[3] - T_189151[0] := UInt<3>(0) - T_189151[1] := UInt<3>(1) - T_189151[2] := UInt<3>(2) - wire T_189152 : UInt<2>[2] - T_189152[0] := UInt<2>(0) - T_189152[1] := UInt<2>(1) - wire T_189153 : UInt<2>[3] - T_189153[0] := UInt<2>(1) - T_189153[1] := UInt<2>(2) - T_189153[2] := UInt<2>(3) - wire T_189154 : UInt<2>[2] - T_189154[0] := UInt<2>(2) - T_189154[1] := UInt<2>(3) - wire T_189155 : UInt<2>[1] - T_189155[0] := UInt<2>(3) - wire T_189156 : UInt<3>[3] - T_189156[0] := UInt<3>(0) - T_189156[1] := UInt<3>(1) - T_189156[2] := UInt<3>(2) - wire T_189157 : UInt<2>[2] - T_189157[0] := UInt<2>(0) - T_189157[1] := UInt<2>(1) - wire T_189158 : UInt<2>[3] - T_189158[0] := UInt<2>(1) - T_189158[1] := UInt<2>(2) - T_189158[2] := UInt<2>(3) - wire T_189159 : UInt<2>[2] - T_189159[0] := UInt<2>(2) - T_189159[1] := UInt<2>(3) - wire T_189160 : UInt<2>[1] - T_189160[0] := UInt<2>(3) - wire T_189161 : UInt<3>[3] - T_189161[0] := UInt<3>(0) - T_189161[1] := UInt<3>(1) - T_189161[2] := UInt<3>(2) - wire T_189162 : UInt<2>[2] - T_189162[0] := UInt<2>(0) - T_189162[1] := UInt<2>(1) - wire T_189163 : UInt<2>[3] - T_189163[0] := UInt<2>(1) - T_189163[1] := UInt<2>(2) - T_189163[2] := UInt<2>(3) - wire T_189164 : UInt<2>[2] - T_189164[0] := UInt<2>(2) - T_189164[1] := UInt<2>(3) - wire T_189165 : UInt<2>[1] - T_189165[0] := UInt<2>(3) - wire T_189166 : UInt<3>[3] - T_189166[0] := UInt<3>(0) - T_189166[1] := UInt<3>(1) - T_189166[2] := UInt<3>(2) - wire T_189167 : UInt<2>[2] - T_189167[0] := UInt<2>(0) - T_189167[1] := UInt<2>(1) - wire T_189168 : UInt<2>[3] - T_189168[0] := UInt<2>(1) - T_189168[1] := UInt<2>(2) - T_189168[2] := UInt<2>(3) - wire T_189169 : UInt<2>[2] - T_189169[0] := UInt<2>(2) - T_189169[1] := UInt<2>(3) - wire T_189170 : UInt<2>[1] - T_189170[0] := UInt<2>(3) - wire T_189171 : UInt<3>[3] - T_189171[0] := UInt<3>(0) - T_189171[1] := UInt<3>(1) - T_189171[2] := UInt<3>(2) - wire T_189172 : UInt<2>[2] - T_189172[0] := UInt<2>(0) - T_189172[1] := UInt<2>(1) - wire T_189173 : UInt<2>[3] - T_189173[0] := UInt<2>(1) - T_189173[1] := UInt<2>(2) - T_189173[2] := UInt<2>(3) - wire T_189174 : UInt<2>[2] - T_189174[0] := UInt<2>(2) - T_189174[1] := UInt<2>(3) - wire T_189175 : UInt<2>[1] - T_189175[0] := UInt<2>(3) - reg ex_ctrl : {legal : UInt<1>, fp : UInt<1>, rocc : UInt<1>, branch : UInt<1>, jal : UInt<1>, jalr : UInt<1>, rxs2 : UInt<1>, rxs1 : UInt<1>, sel_alu2 : UInt<2>, sel_alu1 : UInt<2>, sel_imm : UInt<3>, alu_dw : UInt<1>, alu_fn : UInt<4>, mem__ : UInt<1>, mem_cmd : UInt<5>, mem_type : UInt<3>, rfs1 : UInt<1>, rfs2 : UInt<1>, rfs3 : UInt<1>, wfd : UInt<1>, div : UInt<1>, wxd : UInt<1>, csr : UInt<3>, fence_i : UInt<1>, fence : UInt<1>, amo : UInt<1>} - reg mem_ctrl : {legal : UInt<1>, fp : UInt<1>, rocc : UInt<1>, branch : UInt<1>, jal : UInt<1>, jalr : UInt<1>, rxs2 : UInt<1>, rxs1 : UInt<1>, sel_alu2 : UInt<2>, sel_alu1 : UInt<2>, sel_imm : UInt<3>, alu_dw : UInt<1>, alu_fn : UInt<4>, mem__ : UInt<1>, mem_cmd : UInt<5>, mem_type : UInt<3>, rfs1 : UInt<1>, rfs2 : UInt<1>, rfs3 : UInt<1>, wfd : UInt<1>, div : UInt<1>, wxd : UInt<1>, csr : UInt<3>, fence_i : UInt<1>, fence : UInt<1>, amo : UInt<1>} - reg wb_ctrl : {legal : UInt<1>, fp : UInt<1>, rocc : UInt<1>, branch : UInt<1>, jal : UInt<1>, jalr : UInt<1>, rxs2 : UInt<1>, rxs1 : UInt<1>, sel_alu2 : UInt<2>, sel_alu1 : UInt<2>, sel_imm : UInt<3>, alu_dw : UInt<1>, alu_fn : UInt<4>, mem__ : UInt<1>, mem_cmd : UInt<5>, mem_type : UInt<3>, rfs1 : UInt<1>, rfs2 : UInt<1>, rfs3 : UInt<1>, wfd : UInt<1>, div : UInt<1>, wxd : UInt<1>, csr : UInt<3>, fence_i : UInt<1>, fence : UInt<1>, amo : UInt<1>} - reg ex_reg_xcpt_interrupt : UInt<1> - reg ex_reg_valid : UInt<1> - reg ex_reg_btb_hit : UInt<1> - reg ex_reg_btb_resp : {taken : UInt<1>, mask : UInt<1>, bridx : UInt<1>, target : UInt<39>, entry : UInt<6>, bht : {history : UInt<7>, value : UInt<2>}} - reg ex_reg_xcpt : UInt<1> - reg ex_reg_flush_pipe : UInt<1> - reg ex_reg_load_use : UInt<1> - reg ex_reg_cause : UInt - reg ex_reg_pc : UInt - reg ex_reg_inst : UInt - reg mem_reg_xcpt_interrupt : UInt<1> - reg mem_reg_valid : UInt<1> - reg mem_reg_btb_hit : UInt<1> - reg mem_reg_btb_resp : {taken : UInt<1>, mask : UInt<1>, bridx : UInt<1>, target : UInt<39>, entry : UInt<6>, bht : {history : UInt<7>, value : UInt<2>}} - reg mem_reg_xcpt : UInt<1> - reg mem_reg_replay : UInt<1> - reg mem_reg_flush_pipe : UInt<1> - reg mem_reg_cause : UInt - reg mem_reg_slow_bypass : UInt<1> - reg mem_reg_pc : UInt - reg mem_reg_inst : UInt - reg mem_reg_wdata : UInt - reg mem_reg_rs2 : UInt - wire take_pc_mem : UInt<1> - reg wb_reg_valid : UInt<1> - reg wb_reg_xcpt : UInt<1> - reg wb_reg_replay : UInt<1> - reg wb_reg_cause : UInt - reg wb_reg_rocc_pending : UInt<1> - onreset wb_reg_rocc_pending := UInt<1>(0) - reg wb_reg_pc : UInt - reg wb_reg_inst : UInt - reg wb_reg_wdata : UInt - reg wb_reg_rs2 : UInt - wire take_pc_wb : UInt<1> - node take_pc_mem_wb = or(take_pc_wb, take_pc_mem) - wire id_ctrl : {legal : UInt<1>, fp : UInt<1>, rocc : UInt<1>, branch : UInt<1>, jal : UInt<1>, jalr : UInt<1>, rxs2 : UInt<1>, rxs1 : UInt<1>, sel_alu2 : UInt<2>, sel_alu1 : UInt<2>, sel_imm : UInt<3>, alu_dw : UInt<1>, alu_fn : UInt<4>, mem__ : UInt<1>, mem_cmd : UInt<5>, mem_type : UInt<3>, rfs1 : UInt<1>, rfs2 : UInt<1>, rfs3 : UInt<1>, wfd : UInt<1>, div : UInt<1>, wxd : UInt<1>, csr : UInt<3>, fence_i : UInt<1>, fence : UInt<1>, amo : UInt<1>} - node T_189176 = and(imem.resp.bits.data[0], UInt<32>(8319)) - node T_189177 = eq(T_189176, UInt<32>(3)) - node T_189178 = and(imem.resp.bits.data[0], UInt<32>(4207)) - node T_189179 = eq(T_189178, UInt<32>(3)) - node T_189180 = and(imem.resp.bits.data[0], UInt<32>(24703)) - node T_189181 = eq(T_189180, UInt<32>(15)) - node T_189182 = and(imem.resp.bits.data[0], UInt<32>(28791)) - node T_189183 = eq(T_189182, UInt<32>(19)) - node T_189184 = and(imem.resp.bits.data[0], UInt<32>(95)) - node T_189185 = eq(T_189184, UInt<32>(23)) - node T_189186 = and(imem.resp.bits.data[0], UInt<32>(4227858559)) - node T_189187 = eq(T_189186, UInt<32>(51)) - node T_189188 = and(imem.resp.bits.data[0], UInt<32>(3187699831)) - node T_189189 = eq(T_189188, UInt<32>(51)) - node T_189190 = and(imem.resp.bits.data[0], UInt<32>(67108979)) - node T_189191 = eq(T_189190, UInt<32>(67)) - node T_189192 = and(imem.resp.bits.data[0], UInt<32>(3825205375)) - node T_189193 = eq(T_189192, UInt<32>(83)) - node T_189194 = and(imem.resp.bits.data[0], UInt<32>(28795)) - node T_189195 = eq(T_189194, UInt<32>(99)) - node T_189196 = and(imem.resp.bits.data[0], UInt<32>(127)) - node T_189197 = eq(T_189196, UInt<32>(111)) - node T_189198 = and(imem.resp.bits.data[0], UInt<32>(4293918719)) - node T_189199 = eq(T_189198, UInt<32>(115)) - node T_189200 = and(imem.resp.bits.data[0], UInt<32>(4227870815)) - node T_189201 = eq(T_189200, UInt<32>(4115)) - node T_189202 = and(imem.resp.bits.data[0], UInt<32>(4261425247)) - node T_189203 = eq(T_189202, UInt<32>(4123)) - node T_189204 = and(imem.resp.bits.data[0], UInt<32>(24667)) - node T_189205 = eq(T_189204, UInt<32>(8195)) - node T_189206 = and(imem.resp.bits.data[0], UInt<32>(8319)) - node T_189207 = eq(T_189206, UInt<32>(8211)) - node T_189208 = and(imem.resp.bits.data[0], UInt<32>(402677887)) - node T_189209 = eq(T_189208, UInt<32>(8239)) - node T_189210 = and(imem.resp.bits.data[0], UInt<32>(8319)) - node T_189211 = eq(T_189210, UInt<32>(8307)) - node T_189212 = and(imem.resp.bits.data[0], UInt<32>(3154145407)) - node T_189213 = eq(T_189212, UInt<32>(20499)) - node T_189214 = and(imem.resp.bits.data[0], UInt<32>(3187699807)) - node T_189215 = eq(T_189214, UInt<32>(20507)) - node T_189216 = and(imem.resp.bits.data[0], UInt<32>(3187699831)) - node T_189217 = eq(T_189216, UInt<32>(20531)) - node T_189218 = and(imem.resp.bits.data[0], UInt<32>(4261429367)) - node T_189219 = eq(T_189218, UInt<32>(33570867)) - node T_189220 = and(imem.resp.bits.data[0], UInt<32>(3892338815)) - node T_189221 = eq(T_189220, UInt<32>(134225967)) - node T_189222 = and(imem.resp.bits.data[0], UInt<32>(4292870143)) - node T_189223 = eq(T_189222, UInt<32>(268435571)) - node T_189224 = and(imem.resp.bits.data[0], UInt<32>(4193280127)) - node T_189225 = eq(T_189224, UInt<32>(268443695)) - node T_189226 = and(imem.resp.bits.data[0], UInt<32>(4293951487)) - node T_189227 = eq(T_189226, UInt<32>(269484147)) - node T_189228 = and(imem.resp.bits.data[0], UInt<32>(4093665407)) - node T_189229 = eq(T_189228, UInt<32>(536870995)) - node T_189230 = and(imem.resp.bits.data[0], UInt<32>(2080399487)) - node T_189231 = eq(T_189230, UInt<32>(536870995)) - node T_189232 = and(imem.resp.bits.data[0], UInt<32>(2080395391)) - node T_189233 = eq(T_189232, UInt<32>(536870995)) - node T_189234 = eq(imem.resp.bits.data[0], UInt<32>(810549363)) - node T_189235 = and(imem.resp.bits.data[0], UInt<32>(2146435199)) - node T_189236 = eq(T_189235, UInt<32>(1074790483)) - node T_189237 = and(imem.resp.bits.data[0], UInt<32>(2146435199)) - node T_189238 = eq(T_189237, UInt<32>(1107296339)) - node T_189239 = and(imem.resp.bits.data[0], UInt<32>(4260364415)) - node T_189240 = eq(T_189239, UInt<32>(1476395091)) - node T_189241 = and(imem.resp.bits.data[0], UInt<32>(3988783231)) - node T_189242 = eq(T_189241, UInt<32>(3221225555)) - node T_189243 = and(imem.resp.bits.data[0], UInt<32>(4260388991)) - node T_189244 = eq(T_189243, UInt<32>(3758096467)) - node T_189245 = and(imem.resp.bits.data[0], UInt<32>(3991957631)) - node T_189246 = eq(T_189245, UInt<32>(3758096467)) - node T_189247 = and(imem.resp.bits.data[0], UInt<32>(24639)) - node T_189248 = eq(T_189247, UInt<32>(35)) - node T_189249 = and(imem.resp.bits.data[0], UInt<32>(12399)) - node T_189250 = eq(T_189249, UInt<32>(4195)) - node T_189251 = and(imem.resp.bits.data[0], UInt<32>(16511)) - node T_189252 = eq(T_189251, UInt<32>(16483)) - node T_189253 = and(imem.resp.bits.data[0], UInt<32>(4227887223)) - node T_189254 = eq(T_189253, UInt<32>(51)) - node T_189255 = or(UInt<1>(0), T_189177) - node T_189256 = or(T_189255, T_189179) - node T_189257 = or(T_189256, T_189181) - node T_189258 = or(T_189257, T_189183) - node T_189259 = or(T_189258, T_189185) - node T_189260 = or(T_189259, T_189187) - node T_189261 = or(T_189260, T_189189) - node T_189262 = or(T_189261, T_189191) - node T_189263 = or(T_189262, T_189193) - node T_189264 = or(T_189263, T_189195) - node T_189265 = or(T_189264, T_189197) - node T_189266 = or(T_189265, T_189199) - node T_189267 = or(T_189266, T_189201) - node T_189268 = or(T_189267, T_189203) - node T_189269 = or(T_189268, T_189205) - node T_189270 = or(T_189269, T_189207) - node T_189271 = or(T_189270, T_189209) - node T_189272 = or(T_189271, T_189211) - node T_189273 = or(T_189272, T_189213) - node T_189274 = or(T_189273, T_189215) - node T_189275 = or(T_189274, T_189217) - node T_189276 = or(T_189275, T_189219) - node T_189277 = or(T_189276, T_189221) - node T_189278 = or(T_189277, T_189223) - node T_189279 = or(T_189278, T_189225) - node T_189280 = or(T_189279, T_189227) - node T_189281 = or(T_189280, T_189229) - node T_189282 = or(T_189281, T_189231) - node T_189283 = or(T_189282, T_189233) - node T_189284 = or(T_189283, T_189234) - node T_189285 = or(T_189284, T_189236) - node T_189286 = or(T_189285, T_189238) - node T_189287 = or(T_189286, T_189240) - node T_189288 = or(T_189287, T_189242) - node T_189289 = or(T_189288, T_189244) - node T_189290 = or(T_189289, T_189246) - node T_189291 = or(T_189290, T_189248) - node T_189292 = or(T_189291, T_189250) - node T_189293 = or(T_189292, T_189252) - node T_189294 = or(T_189293, T_189254) - node T_189295 = and(imem.resp.bits.data[0], UInt<32>(92)) - node T_189296 = eq(T_189295, UInt<32>(4)) - node T_189297 = and(imem.resp.bits.data[0], UInt<32>(96)) - node T_189298 = eq(T_189297, UInt<32>(64)) - node T_189299 = or(UInt<1>(0), T_189296) - node T_189300 = or(T_189299, T_189298) - node T_189301 = and(imem.resp.bits.data[0], UInt<32>(116)) - node T_189302 = eq(T_189301, UInt<32>(96)) - node T_189303 = or(UInt<1>(0), T_189302) - node T_189304 = and(imem.resp.bits.data[0], UInt<32>(104)) - node T_189305 = eq(T_189304, UInt<32>(104)) - node T_189306 = or(UInt<1>(0), T_189305) - node T_189307 = and(imem.resp.bits.data[0], UInt<32>(8252)) - node T_189308 = eq(T_189307, UInt<32>(36)) - node T_189309 = or(UInt<1>(0), T_189308) - node T_189310 = and(imem.resp.bits.data[0], UInt<32>(100)) - node T_189311 = eq(T_189310, UInt<32>(32)) - node T_189312 = and(imem.resp.bits.data[0], UInt<32>(52)) - node T_189313 = eq(T_189312, UInt<32>(32)) - node T_189314 = and(imem.resp.bits.data[0], UInt<32>(8264)) - node T_189315 = eq(T_189314, UInt<32>(8200)) - node T_189316 = or(UInt<1>(0), T_189311) - node T_189317 = or(T_189316, T_189313) - node T_189318 = or(T_189317, T_189315) - node T_189319 = and(imem.resp.bits.data[0], UInt<32>(68)) - node T_189320 = eq(T_189319, UInt<32>(0)) - node T_189321 = and(imem.resp.bits.data[0], UInt<32>(16420)) - node T_189322 = eq(T_189321, UInt<32>(32)) - node T_189323 = and(imem.resp.bits.data[0], UInt<32>(56)) - node T_189324 = eq(T_189323, UInt<32>(32)) - node T_189325 = and(imem.resp.bits.data[0], UInt<32>(8272)) - node T_189326 = eq(T_189325, UInt<32>(8192)) - node T_189327 = and(imem.resp.bits.data[0], UInt<32>(2415919156)) - node T_189328 = eq(T_189327, UInt<32>(2415919120)) - node T_189329 = or(UInt<1>(0), T_189320) - node T_189330 = or(T_189329, T_189322) - node T_189331 = or(T_189330, T_189324) - node T_189332 = or(T_189331, T_189326) - node T_189333 = or(T_189332, T_189328) - node T_189334 = and(imem.resp.bits.data[0], UInt<32>(88)) - node T_189335 = eq(T_189334, UInt<32>(0)) - node T_189336 = and(imem.resp.bits.data[0], UInt<32>(32)) - node T_189337 = eq(T_189336, UInt<32>(0)) - node T_189338 = and(imem.resp.bits.data[0], UInt<32>(12)) - node T_189339 = eq(T_189338, UInt<32>(4)) - node T_189340 = and(imem.resp.bits.data[0], UInt<32>(72)) - node T_189341 = eq(T_189340, UInt<32>(72)) - node T_189342 = and(imem.resp.bits.data[0], UInt<32>(16464)) - node T_189343 = eq(T_189342, UInt<32>(16464)) - node T_189344 = or(UInt<1>(0), T_189335) - node T_189345 = or(T_189344, T_189337) - node T_189346 = or(T_189345, T_189339) - node T_189347 = or(T_189346, T_189341) - node T_189348 = or(T_189347, T_189343) - node T_189349 = and(imem.resp.bits.data[0], UInt<32>(72)) - node T_189350 = eq(T_189349, UInt<32>(0)) - node T_189351 = and(imem.resp.bits.data[0], UInt<32>(24)) - node T_189352 = eq(T_189351, UInt<32>(0)) - node T_189353 = and(imem.resp.bits.data[0], UInt<32>(16392)) - node T_189354 = eq(T_189353, UInt<32>(16384)) - node T_189355 = or(UInt<1>(0), T_189350) - node T_189356 = or(T_189355, T_189320) - node T_189357 = or(T_189356, T_189352) - node T_189358 = or(T_189357, T_189354) - node T_189359 = cat(T_189358, T_189348) - node T_189360 = and(imem.resp.bits.data[0], UInt<32>(16388)) - node T_189361 = eq(T_189360, UInt<32>(0)) - node T_189362 = and(imem.resp.bits.data[0], UInt<32>(80)) - node T_189363 = eq(T_189362, UInt<32>(0)) - node T_189364 = and(imem.resp.bits.data[0], UInt<32>(36)) - node T_189365 = eq(T_189364, UInt<32>(0)) - node T_189366 = or(UInt<1>(0), T_189361) - node T_189367 = or(T_189366, T_189363) - node T_189368 = or(T_189367, T_189320) - node T_189369 = or(T_189368, T_189365) - node T_189370 = or(T_189369, T_189352) - node T_189371 = and(imem.resp.bits.data[0], UInt<32>(52)) - node T_189372 = eq(T_189371, UInt<32>(20)) - node T_189373 = or(UInt<1>(0), T_189372) - node T_189374 = or(T_189373, T_189341) - node T_189375 = cat(T_189374, T_189370) - node T_189376 = and(imem.resp.bits.data[0], UInt<32>(24)) - node T_189377 = eq(T_189376, UInt<32>(8)) - node T_189378 = and(imem.resp.bits.data[0], UInt<32>(68)) - node T_189379 = eq(T_189378, UInt<32>(64)) - node T_189380 = or(UInt<1>(0), T_189377) - node T_189381 = or(T_189380, T_189379) - node T_189382 = and(imem.resp.bits.data[0], UInt<32>(20)) - node T_189383 = eq(T_189382, UInt<32>(20)) - node T_189384 = or(UInt<1>(0), T_189377) - node T_189385 = or(T_189384, T_189383) - node T_189386 = and(imem.resp.bits.data[0], UInt<32>(48)) - node T_189387 = eq(T_189386, UInt<32>(0)) - node T_189388 = and(imem.resp.bits.data[0], UInt<32>(8220)) - node T_189389 = eq(T_189388, UInt<32>(4)) - node T_189390 = and(imem.resp.bits.data[0], UInt<32>(20)) - node T_189391 = eq(T_189390, UInt<32>(16)) - node T_189392 = or(UInt<1>(0), T_189387) - node T_189393 = or(T_189392, T_189389) - node T_189394 = or(T_189393, T_189391) - node T_189395 = cat(T_189385, T_189381) - node T_189396 = cat(T_189394, T_189395) - node T_189397 = and(imem.resp.bits.data[0], UInt<32>(16)) - node T_189398 = eq(T_189397, UInt<32>(0)) - node T_189399 = and(imem.resp.bits.data[0], UInt<32>(8)) - node T_189400 = eq(T_189399, UInt<32>(0)) - node T_189401 = or(UInt<1>(0), T_189398) - node T_189402 = or(T_189401, T_189400) - node T_189403 = and(imem.resp.bits.data[0], UInt<32>(12372)) - node T_189404 = eq(T_189403, UInt<32>(4112)) - node T_189405 = and(imem.resp.bits.data[0], UInt<32>(4184)) - node T_189406 = eq(T_189405, UInt<32>(4160)) - node T_189407 = and(imem.resp.bits.data[0], UInt<32>(28740)) - node T_189408 = eq(T_189407, UInt<32>(28672)) - node T_189409 = or(UInt<1>(0), T_189404) - node T_189410 = or(T_189409, T_189406) - node T_189411 = or(T_189410, T_189408) - node T_189412 = and(imem.resp.bits.data[0], UInt<32>(8280)) - node T_189413 = eq(T_189412, UInt<32>(8256)) - node T_189414 = and(imem.resp.bits.data[0], UInt<32>(12372)) - node T_189415 = eq(T_189414, UInt<32>(12304)) - node T_189416 = and(imem.resp.bits.data[0], UInt<32>(24660)) - node T_189417 = eq(T_189416, UInt<32>(24592)) - node T_189418 = and(imem.resp.bits.data[0], UInt<32>(1073754164)) - node T_189419 = eq(T_189418, UInt<32>(1073741872)) - node T_189420 = and(imem.resp.bits.data[0], UInt<32>(1073746004)) - node T_189421 = eq(T_189420, UInt<32>(1073745936)) - node T_189422 = or(UInt<1>(0), T_189413) - node T_189423 = or(T_189422, T_189415) - node T_189424 = or(T_189423, T_189417) - node T_189425 = or(T_189424, T_189419) - node T_189426 = or(T_189425, T_189421) - node T_189427 = and(imem.resp.bits.data[0], UInt<32>(8276)) - node T_189428 = eq(T_189427, UInt<32>(8208)) - node T_189429 = and(imem.resp.bits.data[0], UInt<32>(1073758292)) - node T_189430 = eq(T_189429, UInt<32>(16400)) - node T_189431 = and(imem.resp.bits.data[0], UInt<32>(20564)) - node T_189432 = eq(T_189431, UInt<32>(16400)) - node T_189433 = and(imem.resp.bits.data[0], UInt<32>(16472)) - node T_189434 = eq(T_189433, UInt<32>(16448)) - node T_189435 = or(UInt<1>(0), T_189428) - node T_189436 = or(T_189435, T_189430) - node T_189437 = or(T_189436, T_189432) - node T_189438 = or(T_189437, T_189434) - node T_189439 = and(imem.resp.bits.data[0], UInt<32>(84)) - node T_189440 = eq(T_189439, UInt<32>(64)) - node T_189441 = and(imem.resp.bits.data[0], UInt<32>(24660)) - node T_189442 = eq(T_189441, UInt<32>(8208)) - node T_189443 = and(imem.resp.bits.data[0], UInt<32>(1073754196)) - node T_189444 = eq(T_189443, UInt<32>(1073745936)) - node T_189445 = or(UInt<1>(0), T_189440) - node T_189446 = or(T_189445, T_189442) - node T_189447 = or(T_189446, T_189419) - node T_189448 = or(T_189447, T_189444) - node T_189449 = cat(T_189426, T_189411) - node T_189450 = cat(T_189438, T_189449) - node T_189451 = cat(T_189448, T_189450) - node T_189452 = and(imem.resp.bits.data[0], UInt<32>(16479)) - node T_189453 = eq(T_189452, UInt<32>(3)) - node T_189454 = and(imem.resp.bits.data[0], UInt<32>(4223)) - node T_189455 = eq(T_189454, UInt<32>(3)) - node T_189456 = or(UInt<1>(0), T_189453) - node T_189457 = or(T_189456, T_189177) - node T_189458 = or(T_189457, T_189455) - node T_189459 = or(T_189458, T_189205) - node T_189460 = or(T_189459, T_189209) - node T_189461 = or(T_189460, T_189221) - node T_189462 = or(T_189461, T_189225) - node T_189463 = and(imem.resp.bits.data[0], UInt<32>(40)) - node T_189464 = eq(T_189463, UInt<32>(32)) - node T_189465 = and(imem.resp.bits.data[0], UInt<32>(402653216)) - node T_189466 = eq(T_189465, UInt<32>(402653216)) - node T_189467 = and(imem.resp.bits.data[0], UInt<32>(536870944)) - node T_189468 = eq(T_189467, UInt<32>(536870944)) - node T_189469 = or(UInt<1>(0), T_189464) - node T_189470 = or(T_189469, T_189466) - node T_189471 = or(T_189470, T_189468) - node T_189472 = and(imem.resp.bits.data[0], UInt<32>(268435464)) - node T_189473 = eq(T_189472, UInt<32>(268435464)) - node T_189474 = and(imem.resp.bits.data[0], UInt<32>(1073741832)) - node T_189475 = eq(T_189474, UInt<32>(1073741832)) - node T_189476 = or(UInt<1>(0), T_189473) - node T_189477 = or(T_189476, T_189475) - node T_189478 = and(imem.resp.bits.data[0], UInt<32>(134217736)) - node T_189479 = eq(T_189478, UInt<32>(134217736)) - node T_189480 = and(imem.resp.bits.data[0], UInt<32>(2147483656)) - node T_189481 = eq(T_189480, UInt<32>(2147483656)) - node T_189482 = or(UInt<1>(0), T_189479) - node T_189483 = or(T_189482, T_189473) - node T_189484 = or(T_189483, T_189481) - node T_189485 = and(imem.resp.bits.data[0], UInt<32>(402653192)) - node T_189486 = eq(T_189485, UInt<32>(8)) - node T_189487 = or(UInt<1>(0), T_189486) - node T_189488 = cat(T_189477, T_189471) - node T_189489 = cat(T_189484, T_189488) - node T_189490 = cat(T_189487, T_189489) - node T_189491 = cat(UInt<1>(0), T_189490) - node T_189492 = and(imem.resp.bits.data[0], UInt<32>(4096)) - node T_189493 = eq(T_189492, UInt<32>(4096)) - node T_189494 = or(UInt<1>(0), T_189493) - node T_189495 = and(imem.resp.bits.data[0], UInt<32>(8192)) - node T_189496 = eq(T_189495, UInt<32>(8192)) - node T_189497 = or(UInt<1>(0), T_189496) - node T_189498 = and(imem.resp.bits.data[0], UInt<32>(16384)) - node T_189499 = eq(T_189498, UInt<32>(16384)) - node T_189500 = or(UInt<1>(0), T_189499) - node T_189501 = cat(T_189497, T_189494) - node T_189502 = cat(T_189500, T_189501) - node T_189503 = and(imem.resp.bits.data[0], UInt<32>(2147483744)) - node T_189504 = eq(T_189503, UInt<32>(64)) - node T_189505 = and(imem.resp.bits.data[0], UInt<32>(268435552)) - node T_189506 = eq(T_189505, UInt<32>(64)) - node T_189507 = and(imem.resp.bits.data[0], UInt<32>(112)) - node T_189508 = eq(T_189507, UInt<32>(64)) - node T_189509 = or(UInt<1>(0), T_189504) - node T_189510 = or(T_189509, T_189506) - node T_189511 = or(T_189510, T_189508) - node T_189512 = and(imem.resp.bits.data[0], UInt<32>(124)) - node T_189513 = eq(T_189512, UInt<32>(36)) - node T_189514 = and(imem.resp.bits.data[0], UInt<32>(1073741920)) - node T_189515 = eq(T_189514, UInt<32>(64)) - node T_189516 = and(imem.resp.bits.data[0], UInt<32>(2415919200)) - node T_189517 = eq(T_189516, UInt<32>(268435520)) - node T_189518 = or(UInt<1>(0), T_189513) - node T_189519 = or(T_189518, T_189515) - node T_189520 = or(T_189519, T_189508) - node T_189521 = or(T_189520, T_189517) - node T_189522 = or(UInt<1>(0), T_189508) - node T_189523 = and(imem.resp.bits.data[0], UInt<32>(60)) - node T_189524 = eq(T_189523, UInt<32>(4)) - node T_189525 = and(imem.resp.bits.data[0], UInt<32>(268435552)) - node T_189526 = eq(T_189525, UInt<32>(268435520)) - node T_189527 = or(UInt<1>(0), T_189524) - node T_189528 = or(T_189527, T_189504) - node T_189529 = or(T_189528, T_189508) - node T_189530 = or(T_189529, T_189526) - node T_189531 = and(imem.resp.bits.data[0], UInt<32>(33554548)) - node T_189532 = eq(T_189531, UInt<32>(33554480)) - node T_189533 = or(UInt<1>(0), T_189532) - node T_189534 = and(imem.resp.bits.data[0], UInt<32>(100)) - node T_189535 = eq(T_189534, UInt<32>(0)) - node T_189536 = and(imem.resp.bits.data[0], UInt<32>(80)) - node T_189537 = eq(T_189536, UInt<32>(16)) - node T_189538 = and(imem.resp.bits.data[0], UInt<32>(8228)) - node T_189539 = eq(T_189538, UInt<32>(36)) - node T_189540 = and(imem.resp.bits.data[0], UInt<32>(40)) - node T_189541 = eq(T_189540, UInt<32>(40)) - node T_189542 = and(imem.resp.bits.data[0], UInt<32>(4144)) - node T_189543 = eq(T_189542, UInt<32>(4144)) - node T_189544 = and(imem.resp.bits.data[0], UInt<32>(8240)) - node T_189545 = eq(T_189544, UInt<32>(8240)) - node T_189546 = and(imem.resp.bits.data[0], UInt<32>(2415919120)) - node T_189547 = eq(T_189546, UInt<32>(2147483664)) - node T_189548 = or(UInt<1>(0), T_189535) - node T_189549 = or(T_189548, T_189537) - node T_189550 = or(T_189549, T_189539) - node T_189551 = or(T_189550, T_189541) - node T_189552 = or(T_189551, T_189543) - node T_189553 = or(T_189552, T_189545) - node T_189554 = or(T_189553, T_189547) - node T_189555 = and(imem.resp.bits.data[0], UInt<32>(4208)) - node T_189556 = eq(T_189555, UInt<32>(4208)) - node T_189557 = or(UInt<1>(0), T_189556) - node T_189558 = and(imem.resp.bits.data[0], UInt<32>(8304)) - node T_189559 = eq(T_189558, UInt<32>(8304)) - node T_189560 = or(UInt<1>(0), T_189559) - node T_189561 = and(imem.resp.bits.data[0], UInt<32>(12400)) - node T_189562 = eq(T_189561, UInt<32>(112)) - node T_189563 = or(UInt<1>(0), T_189562) - node T_189564 = cat(T_189560, T_189557) - node T_189565 = cat(T_189563, T_189564) - node T_189566 = and(imem.resp.bits.data[0], UInt<32>(12376)) - node T_189567 = eq(T_189566, UInt<32>(4104)) - node T_189568 = or(UInt<1>(0), T_189567) - node T_189569 = and(imem.resp.bits.data[0], UInt<32>(12376)) - node T_189570 = eq(T_189569, UInt<32>(8)) - node T_189571 = or(UInt<1>(0), T_189570) - node T_189572 = and(imem.resp.bits.data[0], UInt<32>(24648)) - node T_189573 = eq(T_189572, UInt<32>(8200)) - node T_189574 = or(UInt<1>(0), T_189573) - wire T_189575 : UInt<1>[26] - T_189575[0] := id_ctrl.legal - T_189575[1] := id_ctrl.fp - T_189575[2] := id_ctrl.rocc - T_189575[3] := id_ctrl.branch - T_189575[4] := id_ctrl.jal - T_189575[5] := id_ctrl.jalr - T_189575[6] := id_ctrl.rxs2 - T_189575[7] := id_ctrl.rxs1 - T_189575[8] := id_ctrl.sel_alu2 - T_189575[9] := id_ctrl.sel_alu1 - T_189575[10] := id_ctrl.sel_imm - T_189575[11] := id_ctrl.alu_dw - T_189575[12] := id_ctrl.alu_fn - T_189575[13] := id_ctrl.mem__ - T_189575[14] := id_ctrl.mem_cmd - T_189575[15] := id_ctrl.mem_type - T_189575[16] := id_ctrl.rfs1 - T_189575[17] := id_ctrl.rfs2 - T_189575[18] := id_ctrl.rfs3 - T_189575[19] := id_ctrl.wfd - T_189575[20] := id_ctrl.div - T_189575[21] := id_ctrl.wxd - T_189575[22] := id_ctrl.csr - T_189575[23] := id_ctrl.fence_i - T_189575[24] := id_ctrl.fence - T_189575[25] := id_ctrl.amo - T_189575[0] := T_189294 - T_189575[1] := T_189300 - T_189575[2] := UInt<1>(0) - T_189575[3] := T_189303 - T_189575[4] := T_189306 - T_189575[5] := T_189309 - T_189575[6] := T_189318 - T_189575[7] := T_189333 - T_189575[8] := T_189359 - T_189575[9] := T_189375 - T_189575[10] := T_189396 - T_189575[11] := T_189402 - T_189575[12] := T_189451 - T_189575[13] := T_189462 - T_189575[14] := T_189491 - T_189575[15] := T_189502 - T_189575[16] := T_189511 - T_189575[17] := T_189521 - T_189575[18] := T_189522 - T_189575[19] := T_189530 - T_189575[20] := T_189533 - T_189575[21] := T_189554 - T_189575[22] := T_189565 - T_189575[23] := T_189568 - T_189575[24] := T_189571 - T_189575[25] := T_189574 - node id_raddr3 = bits(imem.resp.bits.data[0], 31, 27) - node id_raddr2 = bits(imem.resp.bits.data[0], 24, 20) - node id_raddr1 = bits(imem.resp.bits.data[0], 19, 15) - node id_waddr = bits(imem.resp.bits.data[0], 11, 7) - wire id_load_use : UInt<1> - reg id_reg_fence : UInt<1> - onreset id_reg_fence := UInt<1>(0) - cmem T_189576 : UInt<64>[31] - wire T_189577 : UInt - node T_189578 = not(id_raddr1) - accessor T_189579 = T_189576[T_189578] - T_189577 := T_189579 - wire T_189580 : UInt - node T_189581 = not(id_raddr2) - accessor T_189582 = T_189576[T_189581] - T_189580 := T_189582 - wire ctrl_killd : UInt<1> - inst csr of CSRFile - node id_csr_en = neq(id_ctrl.csr, UInt<3>(0)) - node id_system_insn = eq(id_ctrl.csr, UInt<3>(4)) - node T_189583 = eq(id_ctrl.csr, UInt<3>(2)) - node T_189584 = eq(id_ctrl.csr, UInt<3>(3)) - node T_189585 = or(T_189583, T_189584) - node T_189586 = eq(id_raddr1, UInt<1>(0)) - node id_csr_ren = and(T_189585, T_189586) - wire id_csr : UInt<3> - id_csr := id_ctrl.csr - when id_csr_ren : id_csr := UInt<3>(5) - node id_csr_addr = bits(imem.resp.bits.data[0], 31, 20) - node T_189587 = eq(id_csr_ren, UInt<1>(0)) - node T_189588 = and(id_csr_en, T_189587) - node T_189589 = and(id_csr_addr, UInt<12>(2244)) - node T_189590 = eq(T_189589, UInt<12>(64)) - node T_189591 = or(UInt<1>(0), T_189590) - node T_189592 = bit(T_189591, 0) - node T_189593 = eq(T_189592, UInt<1>(0)) - node T_189594 = and(T_189588, T_189593) - node id_csr_flush = or(id_system_insn, T_189594) - node T_189595 = eq(id_ctrl.legal, UInt<1>(0)) - node T_189596 = eq(csr.status.fs, UInt<1>(0)) - node T_189597 = eq(T_189596, UInt<1>(0)) - node T_189598 = eq(T_189597, UInt<1>(0)) - node T_189599 = and(id_ctrl.fp, T_189598) - node T_189600 = or(T_189595, T_189599) - node T_189601 = eq(csr.status.xs, UInt<1>(0)) - node T_189602 = eq(T_189601, UInt<1>(0)) - node T_189603 = eq(T_189602, UInt<1>(0)) - node T_189604 = and(id_ctrl.rocc, T_189603) - node id_illegal_insn = or(T_189600, T_189604) - node id_amo_aq = bit(imem.resp.bits.data[0], 26) - node id_amo_rl = bit(imem.resp.bits.data[0], 25) - node T_189605 = and(id_ctrl.amo, id_amo_rl) - node id_fence_next = or(id_ctrl.fence, T_189605) - node T_189606 = eq(dmem.ordered, UInt<1>(0)) - node id_mem_busy = or(T_189606, dmem.req.valid) - node T_189607 = and(ex_reg_valid, ex_ctrl.rocc) - node T_189608 = or(rocc.busy, T_189607) - node T_189609 = and(mem_reg_valid, mem_ctrl.rocc) - node T_189610 = or(T_189608, T_189609) - node T_189611 = and(wb_reg_valid, wb_ctrl.rocc) - node T_189612 = or(T_189610, T_189611) - node id_rocc_busy = and(UInt<1>(0), T_189612) - node T_189613 = and(id_reg_fence, id_mem_busy) - node T_189614 = or(id_fence_next, T_189613) - id_reg_fence := T_189614 - node T_189615 = and(id_rocc_busy, id_ctrl.fence) - node T_189616 = and(id_ctrl.amo, id_amo_aq) - node T_189617 = or(T_189616, id_ctrl.fence_i) - node T_189618 = or(id_ctrl.mem__, id_ctrl.rocc) - node T_189619 = and(id_reg_fence, T_189618) - node T_189620 = or(T_189617, T_189619) - node T_189621 = or(T_189620, id_csr_en) - node T_189622 = and(id_mem_busy, T_189621) - node id_do_fence = or(T_189615, T_189622) - node T_189623 = or(csr.interrupt, imem.resp.bits.xcpt_if) - node id_xcpt = or(T_189623, id_illegal_insn) - wire T_189624 : UInt<2> - T_189624 := UInt<2>(2) - when imem.resp.bits.xcpt_if : T_189624 := UInt<1>(1) - wire id_cause : UInt<2> - id_cause := T_189624 - when csr.interrupt : id_cause := csr.interrupt_cause - node ex_waddr = bits(ex_reg_inst, 11, 7) - node mem_waddr = bits(mem_reg_inst, 11, 7) - node wb_waddr = bits(wb_reg_inst, 11, 7) - node T_189625 = and(ex_reg_valid, ex_ctrl.wxd) - node T_189626 = and(mem_reg_valid, mem_ctrl.wxd) - node T_189627 = eq(mem_ctrl.mem__, UInt<1>(0)) - node T_189628 = and(T_189626, T_189627) - node T_189629 = and(mem_reg_valid, mem_ctrl.wxd) - node T_189630 = eq(UInt<1>(0), id_raddr1) - node T_189631 = and(UInt<1>(1), T_189630) - node T_189632 = eq(ex_waddr, id_raddr1) - node T_189633 = and(T_189625, T_189632) - node T_189634 = eq(mem_waddr, id_raddr1) - node T_189635 = and(T_189628, T_189634) - node T_189636 = eq(mem_waddr, id_raddr1) - node T_189637 = and(T_189629, T_189636) - node T_189638 = eq(UInt<1>(0), id_raddr2) - node T_189639 = and(UInt<1>(1), T_189638) - node T_189640 = eq(ex_waddr, id_raddr2) - node T_189641 = and(T_189625, T_189640) - node T_189642 = eq(mem_waddr, id_raddr2) - node T_189643 = and(T_189628, T_189642) - node T_189644 = eq(mem_waddr, id_raddr2) - node T_189645 = and(T_189629, T_189644) - wire bypass_mux : UInt<1>[4] - bypass_mux[0] := UInt<1>(0) - bypass_mux[1] := mem_reg_wdata - bypass_mux[2] := wb_reg_wdata - bypass_mux[3] := dmem.resp.bits.data - wire T_189646 : UInt<1>[2] - T_189646[0] := T_189647 - T_189646[1] := T_189648 - reg ex_reg_rs_bypass : UInt<1>[2] - wire T_189649 : UInt[2] - T_189649[0] := T_189650 - T_189649[1] := T_189651 - reg ex_reg_rs_lsb : UInt[2] - wire T_189652 : UInt[2] - T_189652[0] := T_189653 - T_189652[1] := T_189654 - reg ex_reg_rs_msb : UInt[2] - accessor T_189655 = bypass_mux[ex_reg_rs_lsb[0]] - node T_189656 = cat(ex_reg_rs_msb[0], ex_reg_rs_lsb[0]) - wire T_189657 : UInt - T_189657 := T_189656 - when ex_reg_rs_bypass[0] : T_189657 := T_189655 - accessor T_189658 = bypass_mux[ex_reg_rs_lsb[1]] - node T_189659 = cat(ex_reg_rs_msb[1], ex_reg_rs_lsb[1]) - wire T_189660 : UInt - T_189660 := T_189659 - when ex_reg_rs_bypass[1] : T_189660 := T_189658 - node T_189661 = eq(ex_ctrl.sel_imm, UInt<3>(5)) - node T_189662 = bit(ex_reg_inst, 31) - node T_189663 = asSInt(T_189662) - wire T_189664 : SInt<1> - T_189664 := T_189663 - when T_189661 : T_189664 := SInt<1>(0) - node T_189665 = eq(ex_ctrl.sel_imm, UInt<3>(2)) - node T_189666 = bits(ex_reg_inst, 30, 20) - node T_189667 = asSInt(T_189666) - wire T_189668 : SInt<1> - T_189668 := T_189664 - when T_189665 : T_189668 := T_189667 - node T_189669 = neq(ex_ctrl.sel_imm, UInt<3>(2)) - node T_189670 = neq(ex_ctrl.sel_imm, UInt<3>(3)) - node T_189671 = and(T_189669, T_189670) - node T_189672 = bits(ex_reg_inst, 19, 12) - node T_189673 = asSInt(T_189672) - wire T_189674 : SInt<8> - T_189674 := T_189673 - when T_189671 : T_189674 := T_189664 - node T_189675 = eq(ex_ctrl.sel_imm, UInt<3>(2)) - node T_189676 = eq(ex_ctrl.sel_imm, UInt<3>(5)) - node T_189677 = or(T_189675, T_189676) - node T_189678 = eq(ex_ctrl.sel_imm, UInt<3>(3)) - node T_189679 = bit(ex_reg_inst, 20) - node T_189680 = asSInt(T_189679) - node T_189681 = eq(ex_ctrl.sel_imm, UInt<3>(1)) - node T_189682 = bit(ex_reg_inst, 7) - node T_189683 = asSInt(T_189682) - wire T_189684 : SInt<1> - T_189684 := T_189664 - when T_189681 : T_189684 := T_189683 - wire T_189685 : SInt<1> - T_189685 := T_189684 - when T_189678 : T_189685 := T_189680 - wire T_189686 : SInt<1> - T_189686 := T_189685 - when T_189677 : T_189686 := SInt<1>(0) - node T_189687 = eq(ex_ctrl.sel_imm, UInt<3>(2)) - node T_189688 = eq(ex_ctrl.sel_imm, UInt<3>(5)) - node T_189689 = or(T_189687, T_189688) - node T_189690 = bits(ex_reg_inst, 30, 25) - wire T_189691 : UInt<6> - T_189691 := T_189690 - when T_189689 : T_189691 := UInt<1>(0) - node T_189692 = eq(ex_ctrl.sel_imm, UInt<3>(2)) - node T_189693 = eq(ex_ctrl.sel_imm, UInt<3>(0)) - node T_189694 = eq(ex_ctrl.sel_imm, UInt<3>(1)) - node T_189695 = or(T_189693, T_189694) - node T_189696 = bits(ex_reg_inst, 11, 8) - node T_189697 = eq(ex_ctrl.sel_imm, UInt<3>(5)) - node T_189698 = bits(ex_reg_inst, 19, 16) - node T_189699 = bits(ex_reg_inst, 24, 21) - wire T_189700 : UInt<4> - T_189700 := T_189699 - when T_189697 : T_189700 := T_189698 - wire T_189701 : UInt<4> - T_189701 := T_189700 - when T_189695 : T_189701 := T_189696 - wire T_189702 : UInt<4> - T_189702 := T_189701 - when T_189692 : T_189702 := UInt<1>(0) - node T_189703 = eq(ex_ctrl.sel_imm, UInt<3>(0)) - node T_189704 = bit(ex_reg_inst, 7) - node T_189705 = eq(ex_ctrl.sel_imm, UInt<3>(4)) - node T_189706 = bit(ex_reg_inst, 20) - node T_189707 = eq(ex_ctrl.sel_imm, UInt<3>(5)) - node T_189708 = bit(ex_reg_inst, 15) - wire T_189709 : UInt<1> - T_189709 := UInt<1>(0) - when T_189707 : T_189709 := T_189708 - wire T_189710 : UInt<1> - T_189710 := T_189709 - when T_189705 : T_189710 := T_189706 - wire T_189711 : UInt<1> - T_189711 := T_189710 - when T_189703 : T_189711 := T_189704 - node T_189712 = asUInt(T_189664) - node T_189713 = asUInt(T_189668) - node T_189714 = asUInt(T_189674) - node T_189715 = cat(T_189713, T_189714) - node T_189716 = cat(T_189712, T_189715) - node T_189717 = asUInt(T_189686) - node T_189718 = cat(T_189717, T_189691) - node T_189719 = cat(T_189702, T_189711) - node T_189720 = cat(T_189718, T_189719) - node T_189721 = cat(T_189716, T_189720) - node ex_imm = asSInt(T_189721) - node T_189722 = asSInt(T_189657) - node T_189723 = asSInt(ex_reg_pc) - node T_189724 = eq(UInt<2>(2), ex_ctrl.sel_alu1) - wire T_189725 : SInt<1> - T_189725 := SInt<1>(0) - when T_189724 : T_189725 := T_189723 - node T_189726 = eq(UInt<2>(1), ex_ctrl.sel_alu1) - wire ex_op1 : SInt<1> - ex_op1 := T_189725 - when T_189726 : ex_op1 := T_189722 - node T_189727 = asSInt(T_189660) - node T_189728 = eq(UInt<2>(1), ex_ctrl.sel_alu2) - wire T_189729 : SInt<1> - T_189729 := SInt<1>(0) - when T_189728 : T_189729 := SInt<4>(4) - node T_189730 = eq(UInt<2>(3), ex_ctrl.sel_alu2) - wire T_189731 : SInt<1> - T_189731 := T_189729 - when T_189730 : T_189731 := ex_imm - node T_189732 = eq(UInt<2>(2), ex_ctrl.sel_alu2) - wire ex_op2 : SInt<1> - ex_op2 := T_189731 - when T_189732 : ex_op2 := T_189727 - inst alu of ALU - alu.dw := ex_ctrl.alu_dw - alu.fn := ex_ctrl.alu_fn - node T_189733 = asUInt(ex_op2) - alu.in2 := T_189733 - alu.in1 := ex_op1 - inst div of MulDiv - node T_189734 = and(ex_reg_valid, ex_ctrl.div) - div.req.valid := T_189734 - div.req.bits.dw := ex_ctrl.alu_dw - div.req.bits.fn := ex_ctrl.alu_fn - div.req.bits.in1 := T_189657 - div.req.bits.in2 := T_189660 - div.req.bits.tag := ex_waddr - node T_189735 = eq(ctrl_killd, UInt<1>(0)) - ex_reg_valid := T_189735 - node T_189736 = eq(ctrl_killd, UInt<1>(0)) - node T_189737 = and(T_189736, id_xcpt) - ex_reg_xcpt := T_189737 - node T_189738 = eq(take_pc_mem_wb, UInt<1>(0)) - node T_189739 = and(csr.interrupt, T_189738) - node T_189740 = and(T_189739, imem.resp.valid) - ex_reg_xcpt_interrupt := T_189740 - when id_xcpt : ex_reg_cause := id_cause - - node T_189741 = eq(ctrl_killd, UInt<1>(0)) - when T_189741 : - ex_ctrl := id_ctrl - ex_ctrl.csr := id_csr - ex_reg_btb_hit := imem.btb_resp.valid - when imem.btb_resp.valid : ex_reg_btb_resp := imem.btb_resp.bits - node T_189742 = or(id_ctrl.fence_i, id_csr_flush) - ex_reg_flush_pipe := T_189742 - ex_reg_load_use := id_load_use - node T_189743 = or(T_189631, T_189633) - node T_189744 = or(T_189743, T_189635) - node T_189745 = or(T_189744, T_189637) - wire T_189746 : UInt<2> - T_189746 := UInt<2>(3) - when T_189635 : T_189746 := UInt<2>(2) - wire T_189747 : UInt<2> - T_189747 := T_189746 - when T_189633 : T_189747 := UInt<1>(1) - wire T_189748 : UInt<2> - T_189748 := T_189747 - when T_189631 : T_189748 := UInt<1>(0) - ex_reg_rs_bypass[0] := T_189745 - ex_reg_rs_lsb[0] := T_189748 - - - node T_189749 = eq(T_189745, UInt<1>(0)) - node T_189750 = and(id_ctrl.rxs1, T_189749) - when T_189750 : - node T_189751 = bits(T_189577, 1, 0) - ex_reg_rs_lsb[0] := T_189751 - node T_189752 = shr(T_189577, 2) - ex_reg_rs_msb[0] := T_189752 - node T_189753 = or(T_189639, T_189641) - node T_189754 = or(T_189753, T_189643) - node T_189755 = or(T_189754, T_189645) - wire T_189756 : UInt<2> - T_189756 := UInt<2>(3) - when T_189643 : T_189756 := UInt<2>(2) - wire T_189757 : UInt<2> - T_189757 := T_189756 - when T_189641 : T_189757 := UInt<1>(1) - wire T_189758 : UInt<2> - T_189758 := T_189757 - when T_189639 : T_189758 := UInt<1>(0) - ex_reg_rs_bypass[1] := T_189755 - ex_reg_rs_lsb[1] := T_189758 - - - node T_189759 = eq(T_189755, UInt<1>(0)) - node T_189760 = and(id_ctrl.rxs2, T_189759) - when T_189760 : - node T_189761 = bits(T_189580, 1, 0) - ex_reg_rs_lsb[1] := T_189761 - node T_189762 = shr(T_189580, 2) - ex_reg_rs_msb[1] := T_189762 - - - node T_189763 = eq(ctrl_killd, UInt<1>(0)) - node T_189764 = or(T_189763, csr.interrupt) - when T_189764 : - ex_reg_inst := imem.resp.bits.data[0] - ex_reg_pc := imem.resp.bits.pc - node T_189765 = eq(dmem.resp.valid, UInt<1>(0)) - node wb_dcache_miss = and(wb_ctrl.mem__, T_189765) - node T_189766 = eq(dmem.req.ready, UInt<1>(0)) - node T_189767 = and(ex_ctrl.mem__, T_189766) - node T_189768 = eq(div.req.ready, UInt<1>(0)) - node T_189769 = and(ex_ctrl.div, T_189768) - node replay_ex_structural = or(T_189767, T_189769) - node replay_ex_load_use = and(wb_dcache_miss, ex_reg_load_use) - node T_189770 = or(replay_ex_structural, replay_ex_load_use) - node replay_ex = and(ex_reg_valid, T_189770) - node T_189771 = or(take_pc_mem_wb, replay_ex) - node T_189772 = eq(ex_reg_valid, UInt<1>(0)) - node ctrl_killx = or(T_189771, T_189772) - node T_189773 = eq(ex_ctrl.mem_cmd, UInt<5>(7)) - wire T_189774 : UInt<3>[4] - T_189774[0] := UInt<3>(0) - T_189774[1] := UInt<3>(4) - T_189774[2] := UInt<3>(1) - T_189774[3] := UInt<3>(5) - node T_189775 = eq(T_189774[0], ex_ctrl.mem_type) - node T_189776 = eq(T_189774[1], ex_ctrl.mem_type) - node T_189777 = eq(T_189774[2], ex_ctrl.mem_type) - node T_189778 = eq(T_189774[3], ex_ctrl.mem_type) - node T_189779 = or(UInt<1>(0), T_189775) - node T_189780 = or(T_189779, T_189776) - node T_189781 = or(T_189780, T_189777) - node T_189782 = or(T_189781, T_189778) - node ex_slow_bypass = or(T_189773, T_189782) - node T_189783 = or(ex_reg_xcpt_interrupt, ex_reg_xcpt) - node T_189784 = and(ex_ctrl.fp, fpu.illegal_rm) - node ex_xcpt = or(T_189783, T_189784) - wire ex_cause : UInt<2> - ex_cause := UInt<2>(2) - when T_189783 : ex_cause := ex_reg_cause - node mem_br_taken = bit(mem_reg_wdata, 0) - node T_189785 = asSInt(mem_reg_pc) - node T_189786 = and(mem_ctrl.branch, mem_br_taken) - node T_189787 = eq(UInt<3>(1), UInt<3>(5)) - node T_189788 = bit(mem_reg_inst, 31) - node T_189789 = asSInt(T_189788) - wire T_189790 : SInt<1> - T_189790 := T_189789 - when T_189787 : T_189790 := SInt<1>(0) - node T_189791 = eq(UInt<3>(1), UInt<3>(2)) - node T_189792 = bits(mem_reg_inst, 30, 20) - node T_189793 = asSInt(T_189792) - wire T_189794 : SInt<1> - T_189794 := T_189790 - when T_189791 : T_189794 := T_189793 - node T_189795 = neq(UInt<3>(1), UInt<3>(2)) - node T_189796 = neq(UInt<3>(1), UInt<3>(3)) - node T_189797 = and(T_189795, T_189796) - node T_189798 = bits(mem_reg_inst, 19, 12) - node T_189799 = asSInt(T_189798) - wire T_189800 : SInt<8> - T_189800 := T_189799 - when T_189797 : T_189800 := T_189790 - node T_189801 = eq(UInt<3>(1), UInt<3>(2)) - node T_189802 = eq(UInt<3>(1), UInt<3>(5)) - node T_189803 = or(T_189801, T_189802) - node T_189804 = eq(UInt<3>(1), UInt<3>(3)) - node T_189805 = bit(mem_reg_inst, 20) - node T_189806 = asSInt(T_189805) - node T_189807 = eq(UInt<3>(1), UInt<3>(1)) - node T_189808 = bit(mem_reg_inst, 7) - node T_189809 = asSInt(T_189808) - wire T_189810 : SInt<1> - T_189810 := T_189790 - when T_189807 : T_189810 := T_189809 - wire T_189811 : SInt<1> - T_189811 := T_189810 - when T_189804 : T_189811 := T_189806 - wire T_189812 : SInt<1> - T_189812 := T_189811 - when T_189803 : T_189812 := SInt<1>(0) - node T_189813 = eq(UInt<3>(1), UInt<3>(2)) - node T_189814 = eq(UInt<3>(1), UInt<3>(5)) - node T_189815 = or(T_189813, T_189814) - node T_189816 = bits(mem_reg_inst, 30, 25) - wire T_189817 : UInt<6> - T_189817 := T_189816 - when T_189815 : T_189817 := UInt<1>(0) - node T_189818 = eq(UInt<3>(1), UInt<3>(2)) - node T_189819 = eq(UInt<3>(1), UInt<3>(0)) - node T_189820 = eq(UInt<3>(1), UInt<3>(1)) - node T_189821 = or(T_189819, T_189820) - node T_189822 = bits(mem_reg_inst, 11, 8) - node T_189823 = eq(UInt<3>(1), UInt<3>(5)) - node T_189824 = bits(mem_reg_inst, 19, 16) - node T_189825 = bits(mem_reg_inst, 24, 21) - wire T_189826 : UInt<4> - T_189826 := T_189825 - when T_189823 : T_189826 := T_189824 - wire T_189827 : UInt<4> - T_189827 := T_189826 - when T_189821 : T_189827 := T_189822 - wire T_189828 : UInt<4> - T_189828 := T_189827 - when T_189818 : T_189828 := UInt<1>(0) - node T_189829 = eq(UInt<3>(1), UInt<3>(0)) - node T_189830 = bit(mem_reg_inst, 7) - node T_189831 = eq(UInt<3>(1), UInt<3>(4)) - node T_189832 = bit(mem_reg_inst, 20) - node T_189833 = eq(UInt<3>(1), UInt<3>(5)) - node T_189834 = bit(mem_reg_inst, 15) - wire T_189835 : UInt<1> - T_189835 := UInt<1>(0) - when T_189833 : T_189835 := T_189834 - wire T_189836 : UInt<1> - T_189836 := T_189835 - when T_189831 : T_189836 := T_189832 - wire T_189837 : UInt<1> - T_189837 := T_189836 - when T_189829 : T_189837 := T_189830 - node T_189838 = asUInt(T_189790) - node T_189839 = asUInt(T_189794) - node T_189840 = asUInt(T_189800) - node T_189841 = cat(T_189839, T_189840) - node T_189842 = cat(T_189838, T_189841) - node T_189843 = asUInt(T_189812) - node T_189844 = cat(T_189843, T_189817) - node T_189845 = cat(T_189828, T_189837) - node T_189846 = cat(T_189844, T_189845) - node T_189847 = cat(T_189842, T_189846) - node T_189848 = asSInt(T_189847) - node T_189849 = eq(UInt<3>(3), UInt<3>(5)) - node T_189850 = bit(mem_reg_inst, 31) - node T_189851 = asSInt(T_189850) - wire T_189852 : SInt<1> - T_189852 := T_189851 - when T_189849 : T_189852 := SInt<1>(0) - node T_189853 = eq(UInt<3>(3), UInt<3>(2)) - node T_189854 = bits(mem_reg_inst, 30, 20) - node T_189855 = asSInt(T_189854) - wire T_189856 : SInt<1> - T_189856 := T_189852 - when T_189853 : T_189856 := T_189855 - node T_189857 = neq(UInt<3>(3), UInt<3>(2)) - node T_189858 = neq(UInt<3>(3), UInt<3>(3)) - node T_189859 = and(T_189857, T_189858) - node T_189860 = bits(mem_reg_inst, 19, 12) - node T_189861 = asSInt(T_189860) - wire T_189862 : SInt<8> - T_189862 := T_189861 - when T_189859 : T_189862 := T_189852 - node T_189863 = eq(UInt<3>(3), UInt<3>(2)) - node T_189864 = eq(UInt<3>(3), UInt<3>(5)) - node T_189865 = or(T_189863, T_189864) - node T_189866 = eq(UInt<3>(3), UInt<3>(3)) - node T_189867 = bit(mem_reg_inst, 20) - node T_189868 = asSInt(T_189867) - node T_189869 = eq(UInt<3>(3), UInt<3>(1)) - node T_189870 = bit(mem_reg_inst, 7) - node T_189871 = asSInt(T_189870) - wire T_189872 : SInt<1> - T_189872 := T_189852 - when T_189869 : T_189872 := T_189871 - wire T_189873 : SInt<1> - T_189873 := T_189872 - when T_189866 : T_189873 := T_189868 - wire T_189874 : SInt<1> - T_189874 := T_189873 - when T_189865 : T_189874 := SInt<1>(0) - node T_189875 = eq(UInt<3>(3), UInt<3>(2)) - node T_189876 = eq(UInt<3>(3), UInt<3>(5)) - node T_189877 = or(T_189875, T_189876) - node T_189878 = bits(mem_reg_inst, 30, 25) - wire T_189879 : UInt<6> - T_189879 := T_189878 - when T_189877 : T_189879 := UInt<1>(0) - node T_189880 = eq(UInt<3>(3), UInt<3>(2)) - node T_189881 = eq(UInt<3>(3), UInt<3>(0)) - node T_189882 = eq(UInt<3>(3), UInt<3>(1)) - node T_189883 = or(T_189881, T_189882) - node T_189884 = bits(mem_reg_inst, 11, 8) - node T_189885 = eq(UInt<3>(3), UInt<3>(5)) - node T_189886 = bits(mem_reg_inst, 19, 16) - node T_189887 = bits(mem_reg_inst, 24, 21) - wire T_189888 : UInt<4> - T_189888 := T_189887 - when T_189885 : T_189888 := T_189886 - wire T_189889 : UInt<4> - T_189889 := T_189888 - when T_189883 : T_189889 := T_189884 - wire T_189890 : UInt<4> - T_189890 := T_189889 - when T_189880 : T_189890 := UInt<1>(0) - node T_189891 = eq(UInt<3>(3), UInt<3>(0)) - node T_189892 = bit(mem_reg_inst, 7) - node T_189893 = eq(UInt<3>(3), UInt<3>(4)) - node T_189894 = bit(mem_reg_inst, 20) - node T_189895 = eq(UInt<3>(3), UInt<3>(5)) - node T_189896 = bit(mem_reg_inst, 15) - wire T_189897 : UInt<1> - T_189897 := UInt<1>(0) - when T_189895 : T_189897 := T_189896 - wire T_189898 : UInt<1> - T_189898 := T_189897 - when T_189893 : T_189898 := T_189894 - wire T_189899 : UInt<1> - T_189899 := T_189898 - when T_189891 : T_189899 := T_189892 - node T_189900 = asUInt(T_189852) - node T_189901 = asUInt(T_189856) - node T_189902 = asUInt(T_189862) - node T_189903 = cat(T_189901, T_189902) - node T_189904 = cat(T_189900, T_189903) - node T_189905 = asUInt(T_189874) - node T_189906 = cat(T_189905, T_189879) - node T_189907 = cat(T_189890, T_189899) - node T_189908 = cat(T_189906, T_189907) - node T_189909 = cat(T_189904, T_189908) - node T_189910 = asSInt(T_189909) - wire T_189911 : SInt<4> - T_189911 := SInt<4>(4) - when mem_ctrl.jal : T_189911 := T_189910 - wire T_189912 : SInt<4> - T_189912 := T_189911 - when T_189786 : T_189912 := T_189848 - node mem_br_target = addw(T_189785, T_189912) - node T_189913 = asSInt(mem_reg_wdata) - wire T_189914 : SInt - T_189914 := T_189913 - when mem_ctrl.jalr : T_189914 := mem_br_target - node mem_int_wdata = asUInt(T_189914) - node T_189915 = shr(mem_reg_wdata, 38) - node T_189916 = bits(mem_reg_wdata, 39, 38) - node T_189917 = eq(T_189915, UInt<1>(0)) - node T_189918 = eq(T_189915, UInt<1>(1)) - node T_189919 = or(T_189917, T_189918) - node T_189920 = neq(T_189916, UInt<1>(0)) - node T_189921 = eq(T_189915, SInt<1>(-1)) - node T_189922 = eq(T_189915, SInt<2>(-2)) - node T_189923 = or(T_189921, T_189922) - node T_189924 = eq(T_189916, SInt<1>(-1)) - node T_189925 = bit(T_189916, 0) - wire T_189926 : UInt<1> - T_189926 := T_189925 - when T_189923 : T_189926 := T_189924 - wire T_189927 : UInt<1> - T_189927 := T_189926 - when T_189919 : T_189927 := T_189920 - node T_189928 = bits(mem_reg_wdata, 38, 0) - node T_189929 = cat(T_189927, T_189928) - node T_189930 = asSInt(T_189929) - wire T_189931 : SInt - T_189931 := mem_br_target - when mem_ctrl.jalr : T_189931 := T_189930 - node T_189932 = and(T_189931, SInt<2>(-2)) - node mem_npc = asUInt(T_189932) - node T_189933 = neq(mem_npc, ex_reg_pc) - node T_189934 = eq(ex_reg_valid, UInt<1>(0)) - node mem_wrong_npc = or(T_189933, T_189934) - node mem_npc_misaligned = bit(mem_npc, 1) - node T_189935 = and(mem_wrong_npc, mem_reg_valid) - node T_189936 = or(mem_ctrl.branch, mem_ctrl.jalr) - node T_189937 = or(T_189936, mem_ctrl.jal) - node mem_misprediction = and(T_189935, T_189937) - node T_189938 = or(mem_misprediction, mem_reg_flush_pipe) - node want_take_pc_mem = and(mem_reg_valid, T_189938) - node T_189939 = eq(mem_npc_misaligned, UInt<1>(0)) - node T_189940 = and(want_take_pc_mem, T_189939) - take_pc_mem := T_189940 - node T_189941 = eq(ctrl_killx, UInt<1>(0)) - mem_reg_valid := T_189941 - node T_189942 = eq(take_pc_mem_wb, UInt<1>(0)) - node T_189943 = and(T_189942, replay_ex) - mem_reg_replay := T_189943 - node T_189944 = eq(ctrl_killx, UInt<1>(0)) - node T_189945 = and(T_189944, ex_xcpt) - mem_reg_xcpt := T_189945 - node T_189946 = eq(take_pc_mem_wb, UInt<1>(0)) - node T_189947 = and(T_189946, ex_reg_xcpt_interrupt) - mem_reg_xcpt_interrupt := T_189947 - when ex_xcpt : mem_reg_cause := ex_cause - - node T_189948 = or(ex_reg_valid, ex_reg_xcpt_interrupt) - when T_189948 : - mem_ctrl := ex_ctrl - mem_reg_btb_hit := ex_reg_btb_hit - when ex_reg_btb_hit : mem_reg_btb_resp := ex_reg_btb_resp - mem_reg_flush_pipe := ex_reg_flush_pipe - mem_reg_slow_bypass := ex_slow_bypass - mem_reg_inst := ex_reg_inst - mem_reg_pc := ex_reg_pc - mem_reg_wdata := alu.out - - - node T_189949 = or(ex_ctrl.mem__, ex_ctrl.rocc) - node T_189950 = and(ex_ctrl.rxs2, T_189949) - when T_189950 : mem_reg_rs2 := T_189660 - node T_189951 = or(mem_reg_xcpt_interrupt, mem_reg_xcpt) - node T_189952 = and(want_take_pc_mem, mem_npc_misaligned) - node T_189953 = and(mem_reg_valid, mem_ctrl.mem__) - node T_189954 = and(T_189953, dmem.xcpt.ma.st) - node T_189955 = and(mem_reg_valid, mem_ctrl.mem__) - node T_189956 = and(T_189955, dmem.xcpt.ma.ld) - node T_189957 = and(mem_reg_valid, mem_ctrl.mem__) - node T_189958 = and(T_189957, dmem.xcpt.pf.st) - node T_189959 = and(mem_reg_valid, mem_ctrl.mem__) - node T_189960 = and(T_189959, dmem.xcpt.pf.ld) - node T_189961 = or(T_189951, T_189952) - node T_189962 = or(T_189961, T_189954) - node T_189963 = or(T_189962, T_189956) - node T_189964 = or(T_189963, T_189958) - node mem_xcpt = or(T_189964, T_189960) - wire T_189965 : UInt<3> - T_189965 := UInt<3>(5) - when T_189958 : T_189965 := UInt<3>(7) - wire T_189966 : UInt<3> - T_189966 := T_189965 - when T_189956 : T_189966 := UInt<3>(4) - wire T_189967 : UInt<3> - T_189967 := T_189966 - when T_189954 : T_189967 := UInt<3>(6) - wire T_189968 : UInt<3> - T_189968 := T_189967 - when T_189952 : T_189968 := UInt<1>(0) - wire mem_cause : UInt<3> - mem_cause := T_189968 - when T_189951 : mem_cause := mem_reg_cause - node T_189969 = and(mem_reg_valid, mem_ctrl.wxd) - node dcache_kill_mem = and(T_189969, dmem.replay_next.valid) - node T_189970 = and(mem_reg_valid, mem_ctrl.fp) - node fpu_kill_mem = and(T_189970, fpu.nack_mem) - node T_189971 = or(dcache_kill_mem, mem_reg_replay) - node replay_mem = or(T_189971, fpu_kill_mem) - node T_189972 = or(dcache_kill_mem, take_pc_wb) - node T_189973 = or(T_189972, mem_reg_xcpt) - node T_189974 = eq(mem_reg_valid, UInt<1>(0)) - node killm_common = or(T_189973, T_189974) - node T_189975 = and(div.req.ready, div.req.valid) - reg T_189976 : UInt<1> - T_189976 := T_189975 - node T_189977 = and(killm_common, T_189976) - div.kill := T_189977 - node T_189978 = or(killm_common, mem_xcpt) - node ctrl_killm = or(T_189978, fpu_kill_mem) - node T_189979 = eq(ctrl_killm, UInt<1>(0)) - wb_reg_valid := T_189979 - node T_189980 = eq(take_pc_wb, UInt<1>(0)) - node T_189981 = and(replay_mem, T_189980) - wb_reg_replay := T_189981 - node T_189982 = eq(take_pc_wb, UInt<1>(0)) - node T_189983 = and(mem_xcpt, T_189982) - wb_reg_xcpt := T_189983 - when mem_xcpt : wb_reg_cause := mem_cause - - - node T_189984 = or(mem_reg_valid, mem_reg_replay) - node T_189985 = or(T_189984, mem_reg_xcpt_interrupt) - when T_189985 : - wb_ctrl := mem_ctrl - node T_189986 = and(mem_ctrl.fp, mem_ctrl.wxd) - wire T_189987 : UInt - T_189987 := mem_int_wdata - when T_189986 : T_189987 := fpu.toint_data - wb_reg_wdata := T_189987 - when mem_ctrl.rocc : wb_reg_rs2 := mem_reg_rs2 - wb_reg_inst := mem_reg_inst - wb_reg_pc := mem_reg_pc - node T_189988 = or(wb_ctrl.div, wb_dcache_miss) - node wb_set_sboard = or(T_189988, wb_ctrl.rocc) - node T_189989 = or(dmem.resp.bits.nack, wb_reg_replay) - node replay_wb_common = or(T_189989, csr.csr_replay) - node T_189990 = and(wb_reg_valid, wb_ctrl.rocc) - node T_189991 = eq(replay_wb_common, UInt<1>(0)) - node wb_rocc_val = and(T_189990, T_189991) - node T_189992 = and(wb_reg_valid, wb_ctrl.rocc) - node T_189993 = eq(rocc.cmd.ready, UInt<1>(0)) - node T_189994 = and(T_189992, T_189993) - node replay_wb = or(replay_wb_common, T_189994) - node wb_xcpt = or(wb_reg_xcpt, csr.csr_xcpt) - node T_189995 = or(replay_wb, wb_xcpt) - node T_189996 = or(T_189995, csr.eret) - take_pc_wb := T_189996 - when wb_rocc_val : - node T_189997 = eq(rocc.cmd.ready, UInt<1>(0)) - wb_reg_rocc_pending := T_189997 - when wb_reg_xcpt : wb_reg_rocc_pending := UInt<1>(0) - node T_189998 = bit(dmem.resp.bits.tag, 0) - node T_189999 = bit(T_189998, 0) - node dmem_resp_xpu = eq(T_189999, UInt<1>(0)) - node T_190000 = bit(dmem.resp.bits.tag, 0) - node dmem_resp_fpu = bit(T_190000, 0) - node dmem_resp_waddr = dshr(dmem.resp.bits.tag, UInt<1>(1)) - node dmem_resp_valid = and(dmem.resp.valid, dmem.resp.bits.has_data) - node dmem_resp_replay = and(dmem.resp.bits.replay, dmem.resp.bits.has_data) - node T_190001 = and(wb_reg_valid, wb_ctrl.wxd) - node T_190002 = eq(T_190001, UInt<1>(0)) - div.resp.ready := T_190002 - wire ll_wdata : UInt<64> - ll_wdata := div.resp.bits.data - wire ll_waddr : UInt<5> - ll_waddr := div.resp.bits.tag - node T_190003 = and(div.resp.ready, div.resp.valid) - wire ll_wen : UInt<1> - ll_wen := T_190003 - - node T_190004 = and(dmem_resp_replay, dmem_resp_xpu) - when T_190004 : - div.resp.ready := UInt<1>(0) - ll_waddr := dmem_resp_waddr - ll_wen := UInt<1>(1) - node T_190005 = eq(replay_wb, UInt<1>(0)) - node T_190006 = and(wb_reg_valid, T_190005) - node T_190007 = eq(csr.csr_xcpt, UInt<1>(0)) - node wb_valid = and(T_190006, T_190007) - node wb_wen = and(wb_valid, wb_ctrl.wxd) - node rf_wen = or(wb_wen, ll_wen) - wire rf_waddr : UInt<5> - rf_waddr := wb_waddr - when ll_wen : rf_waddr := ll_waddr - node T_190008 = and(dmem_resp_valid, dmem_resp_xpu) - node T_190009 = neq(wb_ctrl.csr, UInt<3>(0)) - wire T_190010 : UInt - T_190010 := wb_reg_wdata - when T_190009 : T_190010 := csr.rw.rdata - wire T_190011 : UInt - T_190011 := T_190010 - when ll_wen : T_190011 := ll_wdata - wire rf_wdata : UInt - rf_wdata := T_190011 - when T_190008 : rf_wdata := dmem.resp.bits.data_subword - when rf_wen : - node T_190012 = neq(rf_waddr, UInt<1>(0)) - when T_190012 : - node T_190013 = not(rf_waddr) - accessor T_190014 = T_189576[T_190013] - T_190014 := rf_wdata - - node T_190015 = eq(rf_waddr, id_raddr1) - when T_190015 : T_189577 := rf_wdata - - node T_190016 = eq(rf_waddr, id_raddr2) - when T_190016 : T_189580 := rf_wdata - csr.exception := wb_reg_xcpt - csr.cause := wb_reg_cause - csr.retire := wb_valid - csr.host <> host - fpu.fcsr_rm := csr.fcsr_rm - csr.fcsr_flags := fpu.fcsr_flags - csr.rocc <> rocc - csr.pc := wb_reg_pc - csr.uarch_counters[0] := UInt<1>(0) - csr.uarch_counters[1] := UInt<1>(0) - csr.uarch_counters[2] := UInt<1>(0) - csr.uarch_counters[3] := UInt<1>(0) - csr.uarch_counters[4] := UInt<1>(0) - csr.uarch_counters[5] := UInt<1>(0) - csr.uarch_counters[6] := UInt<1>(0) - csr.uarch_counters[7] := UInt<1>(0) - csr.uarch_counters[8] := UInt<1>(0) - csr.uarch_counters[9] := UInt<1>(0) - csr.uarch_counters[10] := UInt<1>(0) - csr.uarch_counters[11] := UInt<1>(0) - csr.uarch_counters[12] := UInt<1>(0) - csr.uarch_counters[13] := UInt<1>(0) - csr.uarch_counters[14] := UInt<1>(0) - csr.uarch_counters[15] := UInt<1>(0) - ptw.ptbr := csr.ptbr - ptw.invalidate := csr.fatc - ptw.status := csr.status - node T_190017 = bits(wb_reg_inst, 31, 20) - csr.rw.addr := T_190017 - wire T_190018 : UInt<3> - T_190018 := UInt<3>(0) - when wb_reg_valid : T_190018 := wb_ctrl.csr - csr.rw.cmd := T_190018 - csr.rw.wdata := wb_reg_wdata - node T_190019 = neq(id_raddr1, UInt<1>(0)) - node T_190020 = and(id_ctrl.rxs1, T_190019) - node T_190021 = neq(id_raddr2, UInt<1>(0)) - node T_190022 = and(id_ctrl.rxs2, T_190021) - node T_190023 = neq(id_waddr, UInt<1>(0)) - node T_190024 = and(id_ctrl.wxd, T_190023) - reg T_190025 : UInt<32> - onreset T_190025 := UInt<32>(0) - node T_190026 = dshl(UInt<1>(1), ll_waddr) - wire T_190027 : UInt<1> - T_190027 := UInt<1>(0) - when ll_wen : T_190027 := T_190026 - node T_190028 = not(T_190027) - node T_190029 = and(T_190025, T_190028) - node T_190030 = or(UInt<1>(0), ll_wen) - when T_190030 : T_190025 := T_190029 - node T_190031 = dshr(T_190029, id_raddr1) - node T_190032 = bit(T_190031, 0) - node T_190033 = and(T_190020, T_190032) - node T_190034 = dshr(T_190029, id_raddr2) - node T_190035 = bit(T_190034, 0) - node T_190036 = and(T_190022, T_190035) - node T_190037 = dshr(T_190029, id_waddr) - node T_190038 = bit(T_190037, 0) - node T_190039 = and(T_190024, T_190038) - node T_190040 = or(T_190033, T_190036) - node id_sboard_hazard = or(T_190040, T_190039) - node T_190041 = and(wb_set_sboard, wb_wen) - node T_190042 = dshl(UInt<1>(1), wb_waddr) - wire T_190043 : UInt<1> - T_190043 := UInt<1>(0) - when T_190041 : T_190043 := T_190042 - node T_190044 = or(T_190029, T_190043) - node T_190045 = or(T_190030, T_190041) - when T_190045 : T_190025 := T_190044 - node T_190046 = neq(ex_ctrl.csr, UInt<3>(0)) - node T_190047 = or(T_190046, ex_ctrl.jalr) - node T_190048 = or(T_190047, ex_ctrl.mem__) - node T_190049 = or(T_190048, ex_ctrl.div) - node T_190050 = or(T_190049, ex_ctrl.fp) - node ex_cannot_bypass = or(T_190050, ex_ctrl.rocc) - node T_190051 = eq(id_raddr1, ex_waddr) - node T_190052 = and(T_190020, T_190051) - node T_190053 = eq(id_raddr2, ex_waddr) - node T_190054 = and(T_190022, T_190053) - node T_190055 = eq(id_waddr, ex_waddr) - node T_190056 = and(T_190024, T_190055) - node T_190057 = or(T_190052, T_190054) - node T_190058 = or(T_190057, T_190056) - node data_hazard_ex = and(ex_ctrl.wxd, T_190058) - node T_190059 = eq(id_raddr1, ex_waddr) - node T_190060 = and(fpu.dec.ren1, T_190059) - node T_190061 = eq(id_raddr2, ex_waddr) - node T_190062 = and(fpu.dec.ren2, T_190061) - node T_190063 = eq(id_raddr3, ex_waddr) - node T_190064 = and(fpu.dec.ren3, T_190063) - node T_190065 = eq(id_waddr, ex_waddr) - node T_190066 = and(fpu.dec.wen, T_190065) - node T_190067 = or(T_190060, T_190062) - node T_190068 = or(T_190067, T_190064) - node T_190069 = or(T_190068, T_190066) - node fp_data_hazard_ex = and(ex_ctrl.wfd, T_190069) - node T_190070 = and(data_hazard_ex, ex_cannot_bypass) - node T_190071 = or(T_190070, fp_data_hazard_ex) - node id_ex_hazard = and(ex_reg_valid, T_190071) - node mem_mem_cmd_bh = and(UInt<1>(1), mem_reg_slow_bypass) - node T_190072 = neq(mem_ctrl.csr, UInt<3>(0)) - node T_190073 = and(mem_ctrl.mem__, mem_mem_cmd_bh) - node T_190074 = or(T_190072, T_190073) - node T_190075 = or(T_190074, mem_ctrl.div) - node T_190076 = or(T_190075, mem_ctrl.fp) - node mem_cannot_bypass = or(T_190076, mem_ctrl.rocc) - node T_190077 = eq(id_raddr1, mem_waddr) - node T_190078 = and(T_190020, T_190077) - node T_190079 = eq(id_raddr2, mem_waddr) - node T_190080 = and(T_190022, T_190079) - node T_190081 = eq(id_waddr, mem_waddr) - node T_190082 = and(T_190024, T_190081) - node T_190083 = or(T_190078, T_190080) - node T_190084 = or(T_190083, T_190082) - node data_hazard_mem = and(mem_ctrl.wxd, T_190084) - node T_190085 = eq(id_raddr1, mem_waddr) - node T_190086 = and(fpu.dec.ren1, T_190085) - node T_190087 = eq(id_raddr2, mem_waddr) - node T_190088 = and(fpu.dec.ren2, T_190087) - node T_190089 = eq(id_raddr3, mem_waddr) - node T_190090 = and(fpu.dec.ren3, T_190089) - node T_190091 = eq(id_waddr, mem_waddr) - node T_190092 = and(fpu.dec.wen, T_190091) - node T_190093 = or(T_190086, T_190088) - node T_190094 = or(T_190093, T_190090) - node T_190095 = or(T_190094, T_190092) - node fp_data_hazard_mem = and(mem_ctrl.wfd, T_190095) - node T_190096 = and(data_hazard_mem, mem_cannot_bypass) - node T_190097 = or(T_190096, fp_data_hazard_mem) - node id_mem_hazard = and(mem_reg_valid, T_190097) - node T_190098 = and(mem_reg_valid, data_hazard_mem) - node T_190099 = and(T_190098, mem_ctrl.mem__) - id_load_use := T_190099 - node T_190100 = eq(id_raddr1, wb_waddr) - node T_190101 = and(T_190020, T_190100) - node T_190102 = eq(id_raddr2, wb_waddr) - node T_190103 = and(T_190022, T_190102) - node T_190104 = eq(id_waddr, wb_waddr) - node T_190105 = and(T_190024, T_190104) - node T_190106 = or(T_190101, T_190103) - node T_190107 = or(T_190106, T_190105) - node data_hazard_wb = and(wb_ctrl.wxd, T_190107) - node T_190108 = eq(id_raddr1, wb_waddr) - node T_190109 = and(fpu.dec.ren1, T_190108) - node T_190110 = eq(id_raddr2, wb_waddr) - node T_190111 = and(fpu.dec.ren2, T_190110) - node T_190112 = eq(id_raddr3, wb_waddr) - node T_190113 = and(fpu.dec.ren3, T_190112) - node T_190114 = eq(id_waddr, wb_waddr) - node T_190115 = and(fpu.dec.wen, T_190114) - node T_190116 = or(T_190109, T_190111) - node T_190117 = or(T_190116, T_190113) - node T_190118 = or(T_190117, T_190115) - node fp_data_hazard_wb = and(wb_ctrl.wfd, T_190118) - node T_190119 = and(data_hazard_wb, wb_set_sboard) - node T_190120 = or(T_190119, fp_data_hazard_wb) - node id_wb_hazard = and(wb_reg_valid, T_190120) - reg T_190121 : UInt<32> - onreset T_190121 := UInt<32>(0) - node T_190122 = and(wb_dcache_miss, wb_ctrl.wfd) - node T_190123 = or(T_190122, fpu.sboard_set) - node T_190124 = and(T_190123, wb_valid) - node T_190125 = dshl(UInt<1>(1), wb_waddr) - wire T_190126 : UInt<1> - T_190126 := UInt<1>(0) - when T_190124 : T_190126 := T_190125 - node T_190127 = or(T_190121, T_190126) - node T_190128 = or(UInt<1>(0), T_190124) - when T_190128 : T_190121 := T_190127 - node T_190129 = and(dmem_resp_replay, dmem_resp_fpu) - node T_190130 = dshl(UInt<1>(1), dmem_resp_waddr) - wire T_190131 : UInt<1> - T_190131 := UInt<1>(0) - when T_190129 : T_190131 := T_190130 - node T_190132 = not(T_190131) - node T_190133 = and(T_190127, T_190132) - node T_190134 = or(T_190128, T_190129) - when T_190134 : T_190121 := T_190133 - node T_190135 = dshl(UInt<1>(1), fpu.sboard_clra) - wire T_190136 : UInt<1> - T_190136 := UInt<1>(0) - when fpu.sboard_clr : T_190136 := T_190135 - node T_190137 = not(T_190136) - node T_190138 = and(T_190133, T_190137) - node T_190139 = or(T_190134, fpu.sboard_clr) - when T_190139 : T_190121 := T_190138 - node T_190140 = eq(fpu.fcsr_rdy, UInt<1>(0)) - node T_190141 = and(id_csr_en, T_190140) - node T_190142 = dshr(T_190121, id_raddr1) - node T_190143 = bit(T_190142, 0) - node T_190144 = and(fpu.dec.ren1, T_190143) - node T_190145 = dshr(T_190121, id_raddr2) - node T_190146 = bit(T_190145, 0) - node T_190147 = and(fpu.dec.ren2, T_190146) - node T_190148 = dshr(T_190121, id_raddr3) - node T_190149 = bit(T_190148, 0) - node T_190150 = and(fpu.dec.ren3, T_190149) - node T_190151 = dshr(T_190121, id_waddr) - node T_190152 = bit(T_190151, 0) - node T_190153 = and(fpu.dec.wen, T_190152) - node T_190154 = or(T_190144, T_190147) - node T_190155 = or(T_190154, T_190150) - node T_190156 = or(T_190155, T_190153) - node id_stall_fpu = or(T_190141, T_190156) - node T_190157 = or(id_ex_hazard, id_mem_hazard) - node T_190158 = or(T_190157, id_wb_hazard) - node T_190159 = or(T_190158, id_sboard_hazard) - node T_190160 = and(id_ctrl.fp, id_stall_fpu) - node T_190161 = or(T_190159, T_190160) - node T_190162 = eq(dmem.req.ready, UInt<1>(0)) - node T_190163 = and(id_ctrl.mem__, T_190162) - node T_190164 = or(T_190161, T_190163) - node T_190165 = and(UInt<1>(0), wb_reg_rocc_pending) - node T_190166 = and(T_190165, id_ctrl.rocc) - node T_190167 = eq(rocc.cmd.ready, UInt<1>(0)) - node T_190168 = and(T_190166, T_190167) - node T_190169 = or(T_190164, T_190168) - node T_190170 = or(T_190169, id_do_fence) - node ctrl_stalld = or(T_190170, csr.csr_stall) - node T_190171 = eq(imem.resp.valid, UInt<1>(0)) - node T_190172 = or(T_190171, take_pc_mem_wb) - node T_190173 = or(T_190172, ctrl_stalld) - node T_190174 = or(T_190173, csr.interrupt) - ctrl_killd := T_190174 - imem.req.valid := take_pc_mem_wb - node T_190175 = or(wb_xcpt, csr.eret) - wire T_190176 : UInt - T_190176 := mem_npc - when replay_wb : T_190176 := wb_reg_pc - wire T_190177 : UInt - T_190177 := T_190176 - when T_190175 : T_190177 := csr.evec - imem.req.bits.pc := T_190177 - node T_190178 = and(wb_reg_valid, wb_ctrl.fence_i) - imem.invalidate := T_190178 - node T_190179 = eq(ctrl_stalld, UInt<1>(0)) - node T_190180 = or(T_190179, csr.interrupt) - imem.resp.ready := T_190180 - node T_190181 = eq(mem_npc_misaligned, UInt<1>(0)) - node T_190182 = and(mem_reg_valid, T_190181) - node T_190183 = and(T_190182, mem_wrong_npc) - node T_190184 = and(mem_ctrl.branch, mem_br_taken) - node T_190185 = or(T_190184, mem_ctrl.jalr) - node T_190186 = or(T_190185, mem_ctrl.jal) - node T_190187 = and(T_190183, T_190186) - node T_190188 = eq(take_pc_wb, UInt<1>(0)) - node T_190189 = and(T_190187, T_190188) - imem.btb_update.valid := T_190189 - node T_190190 = or(mem_ctrl.jal, mem_ctrl.jalr) - imem.btb_update.bits.isJump := T_190190 - node T_190191 = bits(mem_reg_inst, 19, 15) - node T_190192 = and(T_190191, UInt<5>(25)) - node T_190193 = eq(UInt<1>(1), T_190192) - node T_190194 = and(mem_ctrl.jalr, T_190193) - imem.btb_update.bits.isReturn := T_190194 - imem.btb_update.bits.pc := mem_reg_pc - imem.btb_update.bits.target := imem.req.bits.pc - imem.btb_update.bits.br_pc := mem_reg_pc - imem.btb_update.bits.prediction.valid := mem_reg_btb_hit - imem.btb_update.bits.prediction.bits := mem_reg_btb_resp - node T_190195 = and(mem_reg_valid, mem_ctrl.branch) - node T_190196 = eq(take_pc_wb, UInt<1>(0)) - node T_190197 = and(T_190195, T_190196) - imem.bht_update.valid := T_190197 - imem.bht_update.bits.pc := mem_reg_pc - imem.bht_update.bits.taken := mem_br_taken - imem.bht_update.bits.mispredict := mem_wrong_npc - imem.bht_update.bits.prediction := imem.btb_update.bits.prediction - node T_190198 = and(mem_reg_valid, imem.btb_update.bits.isJump) - node T_190199 = eq(mem_npc_misaligned, UInt<1>(0)) - node T_190200 = and(T_190198, T_190199) - node T_190201 = eq(take_pc_wb, UInt<1>(0)) - node T_190202 = and(T_190200, T_190201) - imem.ras_update.valid := T_190202 - imem.ras_update.bits.returnAddr := mem_int_wdata - node T_190203 = bit(mem_waddr, 0) - node T_190204 = and(mem_ctrl.wxd, T_190203) - imem.ras_update.bits.isCall := T_190204 - imem.ras_update.bits.isReturn := imem.btb_update.bits.isReturn - imem.ras_update.bits.prediction := imem.btb_update.bits.prediction - node T_190205 = eq(ctrl_killd, UInt<1>(0)) - node T_190206 = and(T_190205, id_ctrl.fp) - fpu.valid := T_190206 - fpu.killx := ctrl_killx - fpu.killm := killm_common - fpu.inst__ := imem.resp.bits.data[0] - fpu.fromint_data := T_189657 - node T_190207 = and(dmem_resp_valid, dmem_resp_fpu) - fpu.dmem_resp_val := T_190207 - fpu.dmem_resp_data := dmem.resp.bits.data - fpu.dmem_resp_type := dmem.resp.bits.typ - fpu.dmem_resp_tag := dmem_resp_waddr - node T_190208 = and(ex_reg_valid, ex_ctrl.mem__) - dmem.req.valid := T_190208 - node T_190209 = or(killm_common, mem_xcpt) - dmem.req.bits.kill := T_190209 - dmem.req.bits.cmd := ex_ctrl.mem_cmd - dmem.req.bits.typ := ex_ctrl.mem_type - dmem.req.bits.phys := UInt<1>(0) - node T_190210 = shr(T_189657, 38) - node T_190211 = bits(alu.adder_out, 39, 38) - node T_190212 = eq(T_190210, UInt<1>(0)) - node T_190213 = eq(T_190210, UInt<1>(1)) - node T_190214 = or(T_190212, T_190213) - node T_190215 = neq(T_190211, UInt<1>(0)) - node T_190216 = eq(T_190210, SInt<1>(-1)) - node T_190217 = eq(T_190210, SInt<2>(-2)) - node T_190218 = or(T_190216, T_190217) - node T_190219 = eq(T_190211, SInt<1>(-1)) - node T_190220 = bit(T_190211, 0) - wire T_190221 : UInt<1> - T_190221 := T_190220 - when T_190218 : T_190221 := T_190219 - wire T_190222 : UInt<1> - T_190222 := T_190221 - when T_190214 : T_190222 := T_190215 - node T_190223 = bits(alu.adder_out, 38, 0) - node T_190224 = cat(T_190222, T_190223) - dmem.req.bits.addr := T_190224 - node T_190225 = cat(ex_waddr, ex_ctrl.fp) - dmem.req.bits.tag := T_190225 - wire T_190226 : UInt - T_190226 := mem_reg_rs2 - when mem_ctrl.fp : T_190226 := fpu.store_data - dmem.req.bits.data := T_190226 - dmem.invalidate_lr := wb_xcpt - rocc.cmd.valid := wb_rocc_val - node T_190227 = eq(csr.status.xs, UInt<1>(0)) - node T_190228 = eq(T_190227, UInt<1>(0)) - node T_190229 = and(wb_xcpt, T_190228) - rocc.exception := T_190229 - node T_190230 = eq(csr.status.prv, UInt<1>(0)) - node T_190231 = eq(T_190230, UInt<1>(0)) - rocc.s := T_190231 - wire T_190232 : {funct : UInt<7>, rs2 : UInt<5>, rs1 : UInt<5>, xd : UInt<1>, xs1 : UInt<1>, xs2 : UInt<1>, rd : UInt<5>, opcode : UInt<7>} - node T_190233 = bits(wb_reg_inst, 6, 0) - T_190232.opcode := T_190233 - node T_190234 = bits(wb_reg_inst, 11, 7) - T_190232.rd := T_190234 - node T_190235 = bits(wb_reg_inst, 12, 12) - T_190232.xs2 := T_190235 - node T_190236 = bits(wb_reg_inst, 13, 13) - T_190232.xs1 := T_190236 - node T_190237 = bits(wb_reg_inst, 14, 14) - T_190232.xd := T_190237 - node T_190238 = bits(wb_reg_inst, 19, 15) - T_190232.rs1 := T_190238 - node T_190239 = bits(wb_reg_inst, 24, 20) - T_190232.rs2 := T_190239 - node T_190240 = bits(wb_reg_inst, 31, 25) - T_190232.funct := T_190240 - rocc.cmd.bits.inst__ := T_190232 - rocc.cmd.bits.rs1 := wb_reg_wdata - rocc.cmd.bits.rs2 := wb_reg_rs2 - node T_190241 = bits(csr.time, 32, 0) - wire T_190242 : UInt<1> - T_190242 := UInt<1>(0) - when rf_wen : T_190242 := rf_waddr - node T_190243 = bits(wb_reg_inst, 19, 15) - reg T_190244 : UInt - T_190244 := T_189657 - reg T_190245 : UInt - T_190245 := T_190244 - node T_190246 = bits(wb_reg_inst, 24, 20) - reg T_190247 : UInt - T_190247 := T_189660 - reg T_190248 : UInt - T_190248 := T_190247 - module HellaCacheArbiter : - input requestor : {req : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<40>, tag : UInt<8>, cmd : UInt<5>, typ : UInt<3>, kill : UInt<1>, phys : UInt<1>, data : UInt<64>}}, flip resp : {valid : UInt<1>, bits : {addr : UInt<40>, tag : UInt<8>, cmd : UInt<5>, typ : UInt<3>, data : UInt<64>, nack : UInt<1>, replay : UInt<1>, has_data : UInt<1>, data_subword : UInt<64>, store_data : UInt<64>}}, flip replay_next : {valid : UInt<1>, bits : UInt<8>}, flip xcpt : {ma : {ld : UInt<1>, st : UInt<1>}, pf : {ld : UInt<1>, st : UInt<1>}}, invalidate_lr : UInt<1>, flip ordered : UInt<1>}[2] - output mem__ : {req : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<40>, tag : UInt<8>, cmd : UInt<5>, typ : UInt<3>, kill : UInt<1>, phys : UInt<1>, data : UInt<64>}}, flip resp : {valid : UInt<1>, bits : {addr : UInt<40>, tag : UInt<8>, cmd : UInt<5>, typ : UInt<3>, data : UInt<64>, nack : UInt<1>, replay : UInt<1>, has_data : UInt<1>, data_subword : UInt<64>, store_data : UInt<64>}}, flip replay_next : {valid : UInt<1>, bits : UInt<8>}, flip xcpt : {ma : {ld : UInt<1>, st : UInt<1>}, pf : {ld : UInt<1>, st : UInt<1>}}, invalidate_lr : UInt<1>, flip ordered : UInt<1>} - - wire requestor : {req : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<40>, tag : UInt<8>, cmd : UInt<5>, typ : UInt<3>, kill : UInt<1>, phys : UInt<1>, data : UInt<64>}}, flip resp : {valid : UInt<1>, bits : {addr : UInt<40>, tag : UInt<8>, cmd : UInt<5>, typ : UInt<3>, data : UInt<64>, nack : UInt<1>, replay : UInt<1>, has_data : UInt<1>, data_subword : UInt<64>, store_data : UInt<64>}}, flip replay_next : {valid : UInt<1>, bits : UInt<8>}, flip xcpt : {ma : {ld : UInt<1>, st : UInt<1>}, pf : {ld : UInt<1>, st : UInt<1>}}, invalidate_lr : UInt<1>, flip ordered : UInt<1>}[2] - requestor[0] := T_190249 - requestor[1] := T_190250 - reg T_190251 : UInt<1> - T_190251 := requestor[0].req.valid - reg T_190252 : UInt<1> - T_190252 := requestor[1].req.valid - node T_190253 = or(requestor[0].req.valid, requestor[1].req.valid) - mem__.req.valid := T_190253 - requestor[0].req.ready := mem__.req.ready - node T_190254 = eq(requestor[0].req.valid, UInt<1>(0)) - node T_190255 = and(requestor[0].req.ready, T_190254) - requestor[1].req.ready := T_190255 - mem__.req.bits := requestor[1].req.bits - node T_190256 = cat(requestor[1].req.bits.tag, UInt<1>(1)) - mem__.req.bits.tag := T_190256 - when requestor[0].req.valid : - mem__.req.bits.cmd := requestor[0].req.bits.cmd - mem__.req.bits.typ := requestor[0].req.bits.typ - mem__.req.bits.addr := requestor[0].req.bits.addr - mem__.req.bits.phys := requestor[0].req.bits.phys - node T_190257 = cat(requestor[0].req.bits.tag, UInt<1>(0)) - mem__.req.bits.tag := T_190257 - when T_190251 : - mem__.req.bits.kill := requestor[0].req.bits.kill - mem__.req.bits.data := requestor[0].req.bits.data - node T_190258 = bits(mem__.resp.bits.tag, 0, 0) - node T_190259 = eq(T_190258, UInt<1>(0)) - node T_190260 = and(mem__.resp.valid, T_190259) - requestor[0].resp.valid := T_190260 - requestor[0].xcpt := mem__.xcpt - requestor[0].ordered := mem__.ordered - requestor[0].resp.bits := mem__.resp.bits - node T_190261 = dshr(mem__.resp.bits.tag, UInt<1>(1)) - requestor[0].resp.bits.tag := T_190261 - node T_190262 = and(mem__.resp.bits.nack, T_190259) - requestor[0].resp.bits.nack := T_190262 - node T_190263 = and(mem__.resp.bits.replay, T_190259) - requestor[0].resp.bits.replay := T_190263 - node T_190264 = bits(mem__.replay_next.bits, 0, 0) - node T_190265 = eq(T_190264, UInt<1>(0)) - node T_190266 = and(mem__.replay_next.valid, T_190265) - requestor[0].replay_next.valid := T_190266 - node T_190267 = dshr(mem__.replay_next.bits, UInt<1>(1)) - requestor[0].replay_next.bits := T_190267 - node T_190268 = bits(mem__.resp.bits.tag, 0, 0) - node T_190269 = eq(T_190268, UInt<1>(1)) - node T_190270 = and(mem__.resp.valid, T_190269) - requestor[1].resp.valid := T_190270 - requestor[1].xcpt := mem__.xcpt - requestor[1].ordered := mem__.ordered - requestor[1].resp.bits := mem__.resp.bits - node T_190271 = dshr(mem__.resp.bits.tag, UInt<1>(1)) - requestor[1].resp.bits.tag := T_190271 - node T_190272 = and(mem__.resp.bits.nack, T_190269) - requestor[1].resp.bits.nack := T_190272 - node T_190273 = and(mem__.resp.bits.replay, T_190269) - requestor[1].resp.bits.replay := T_190273 - node T_190274 = bits(mem__.replay_next.bits, 0, 0) - node T_190275 = eq(T_190274, UInt<1>(1)) - node T_190276 = and(mem__.replay_next.valid, T_190275) - requestor[1].replay_next.valid := T_190276 - node T_190277 = dshr(mem__.replay_next.bits, UInt<1>(1)) - requestor[1].replay_next.bits := T_190277 - module FPUDecoder : - input inst__ : UInt<32> - output sigs : {cmd : UInt<5>, ldst : UInt<1>, wen : UInt<1>, ren1 : UInt<1>, ren2 : UInt<1>, ren3 : UInt<1>, swap12 : UInt<1>, swap23 : UInt<1>, single : UInt<1>, fromint : UInt<1>, toint : UInt<1>, fastpipe : UInt<1>, fma : UInt<1>, div : UInt<1>, sqrt : UInt<1>, round : UInt<1>, wflags : UInt<1>} - - node T_190278 = and(inst__, UInt<32>(4)) - node T_190279 = eq(T_190278, UInt<32>(4)) - node T_190280 = and(inst__, UInt<32>(134217744)) - node T_190281 = eq(T_190280, UInt<32>(134217744)) - node T_190282 = or(UInt<1>(0), T_190279) - node T_190283 = or(T_190282, T_190281) - node T_190284 = and(inst__, UInt<32>(8)) - node T_190285 = eq(T_190284, UInt<32>(8)) - node T_190286 = and(inst__, UInt<32>(268435472)) - node T_190287 = eq(T_190286, UInt<32>(268435472)) - node T_190288 = or(UInt<1>(0), T_190285) - node T_190289 = or(T_190288, T_190287) - node T_190290 = and(inst__, UInt<32>(64)) - node T_190291 = eq(T_190290, UInt<32>(0)) - node T_190292 = and(inst__, UInt<32>(536870912)) - node T_190293 = eq(T_190292, UInt<32>(536870912)) - node T_190294 = or(UInt<1>(0), T_190291) - node T_190295 = or(T_190294, T_190293) - node T_190296 = and(inst__, UInt<32>(1073741824)) - node T_190297 = eq(T_190296, UInt<32>(1073741824)) - node T_190298 = or(UInt<1>(0), T_190291) - node T_190299 = or(T_190298, T_190297) - node T_190300 = and(inst__, UInt<32>(16)) - node T_190301 = eq(T_190300, UInt<32>(0)) - node T_190302 = or(UInt<1>(0), T_190301) - node T_190303 = cat(T_190289, T_190283) - node T_190304 = cat(T_190295, T_190303) - node T_190305 = cat(T_190299, T_190304) - node T_190306 = cat(T_190302, T_190305) - node T_190307 = or(UInt<1>(0), T_190291) - node T_190308 = and(inst__, UInt<32>(2147483680)) - node T_190309 = eq(T_190308, UInt<32>(0)) - node T_190310 = and(inst__, UInt<32>(48)) - node T_190311 = eq(T_190310, UInt<32>(0)) - node T_190312 = and(inst__, UInt<32>(268435488)) - node T_190313 = eq(T_190312, UInt<32>(268435456)) - node T_190314 = or(UInt<1>(0), T_190309) - node T_190315 = or(T_190314, T_190311) - node T_190316 = or(T_190315, T_190313) - node T_190317 = and(inst__, UInt<32>(2147483652)) - node T_190318 = eq(T_190317, UInt<32>(0)) - node T_190319 = and(inst__, UInt<32>(268435460)) - node T_190320 = eq(T_190319, UInt<32>(0)) - node T_190321 = and(inst__, UInt<32>(80)) - node T_190322 = eq(T_190321, UInt<32>(64)) - node T_190323 = or(UInt<1>(0), T_190318) - node T_190324 = or(T_190323, T_190320) - node T_190325 = or(T_190324, T_190322) - node T_190326 = and(inst__, UInt<32>(1073741828)) - node T_190327 = eq(T_190326, UInt<32>(0)) - node T_190328 = and(inst__, UInt<32>(32)) - node T_190329 = eq(T_190328, UInt<32>(32)) - node T_190330 = or(UInt<1>(0), T_190327) - node T_190331 = or(T_190330, T_190329) - node T_190332 = or(T_190331, T_190322) - node T_190333 = or(UInt<1>(0), T_190322) - node T_190334 = and(inst__, UInt<32>(1342177296)) - node T_190335 = eq(T_190334, UInt<32>(1342177296)) - node T_190336 = or(UInt<1>(0), T_190291) - node T_190337 = or(T_190336, T_190335) - node T_190338 = and(inst__, UInt<32>(805306384)) - node T_190339 = eq(T_190338, UInt<32>(16)) - node T_190340 = or(UInt<1>(0), T_190339) - node T_190341 = and(inst__, UInt<32>(4160)) - node T_190342 = eq(T_190341, UInt<32>(0)) - node T_190343 = and(inst__, UInt<32>(33554496)) - node T_190344 = eq(T_190343, UInt<32>(64)) - node T_190345 = or(UInt<1>(0), T_190342) - node T_190346 = or(T_190345, T_190344) - node T_190347 = and(inst__, UInt<32>(2415919120)) - node T_190348 = eq(T_190347, UInt<32>(2415919120)) - node T_190349 = or(UInt<1>(0), T_190348) - node T_190350 = and(inst__, UInt<32>(2415919120)) - node T_190351 = eq(T_190350, UInt<32>(2147483664)) - node T_190352 = or(UInt<1>(0), T_190329) - node T_190353 = or(T_190352, T_190351) - node T_190354 = and(inst__, UInt<32>(2684354576)) - node T_190355 = eq(T_190354, UInt<32>(536870928)) - node T_190356 = and(inst__, UInt<32>(3489660944)) - node T_190357 = eq(T_190356, UInt<32>(1073741840)) - node T_190358 = or(UInt<1>(0), T_190355) - node T_190359 = or(T_190358, T_190357) - node T_190360 = and(inst__, UInt<32>(1879048196)) - node T_190361 = eq(T_190360, UInt<32>(0)) - node T_190362 = and(inst__, UInt<32>(1744830468)) - node T_190363 = eq(T_190362, UInt<32>(0)) - node T_190364 = or(UInt<1>(0), T_190361) - node T_190365 = or(T_190364, T_190363) - node T_190366 = or(T_190365, T_190322) - node T_190367 = and(inst__, UInt<32>(1476395024)) - node T_190368 = eq(T_190367, UInt<32>(402653200)) - node T_190369 = or(UInt<1>(0), T_190368) - node T_190370 = and(inst__, UInt<32>(3489660944)) - node T_190371 = eq(T_190370, UInt<32>(1342177296)) - node T_190372 = or(UInt<1>(0), T_190371) - node T_190373 = and(inst__, UInt<32>(536870916)) - node T_190374 = eq(T_190373, UInt<32>(0)) - node T_190375 = and(inst__, UInt<32>(1073750016)) - node T_190376 = eq(T_190375, UInt<32>(1073741824)) - node T_190377 = or(UInt<1>(0), T_190374) - node T_190378 = or(T_190377, T_190322) - node T_190379 = or(T_190378, T_190376) - node T_190380 = and(inst__, UInt<32>(134225920)) - node T_190381 = eq(T_190380, UInt<32>(134217728)) - node T_190382 = and(inst__, UInt<32>(3221225476)) - node T_190383 = eq(T_190382, UInt<32>(2147483648)) - node T_190384 = or(UInt<1>(0), T_190374) - node T_190385 = or(T_190384, T_190322) - node T_190386 = or(T_190385, T_190381) - node T_190387 = or(T_190386, T_190383) - wire T_190388 : UInt<5>[17] - T_190388[0] := sigs.cmd - T_190388[1] := sigs.ldst - T_190388[2] := sigs.wen - T_190388[3] := sigs.ren1 - T_190388[4] := sigs.ren2 - T_190388[5] := sigs.ren3 - T_190388[6] := sigs.swap12 - T_190388[7] := sigs.swap23 - T_190388[8] := sigs.single - T_190388[9] := sigs.fromint - T_190388[10] := sigs.toint - T_190388[11] := sigs.fastpipe - T_190388[12] := sigs.fma - T_190388[13] := sigs.div - T_190388[14] := sigs.sqrt - T_190388[15] := sigs.round - T_190388[16] := sigs.wflags - T_190388[0] := T_190306 - T_190388[1] := T_190307 - T_190388[2] := T_190316 - T_190388[3] := T_190325 - T_190388[4] := T_190332 - T_190388[5] := T_190333 - T_190388[6] := T_190337 - T_190388[7] := T_190340 - T_190388[8] := T_190346 - T_190388[9] := T_190349 - T_190388[10] := T_190353 - T_190388[11] := T_190359 - T_190388[12] := T_190366 - T_190388[13] := T_190369 - T_190388[14] := T_190372 - T_190388[15] := T_190379 - T_190388[16] := T_190387 - module mulAddSubRecodedFloatN : - input op : UInt<2> - input a : UInt<33> - input b : UInt<33> - input c : UInt<33> - input roundingMode : UInt<2> - output out : UInt<33> - output exceptionFlags : UInt<5> - - node signA = bit(a, 32) - node expA = bits(a, 31, 23) - node fractA = bits(a, 22, 0) - node T_190389 = bits(expA, 8, 6) - node isZeroA = eq(T_190389, UInt<1>(0)) - node T_190390 = bits(expA, 8, 7) - node isSpecialA = eq(T_190390, UInt<2>(3)) - node T_190391 = bit(expA, 6) - node T_190392 = eq(T_190391, UInt<1>(0)) - node isInfA = and(isSpecialA, T_190392) - node T_190393 = bit(expA, 6) - node isNaNA = and(isSpecialA, T_190393) - node T_190394 = bit(fractA, 22) - node T_190395 = eq(T_190394, UInt<1>(0)) - node isSigNaNA = and(isNaNA, T_190395) - node T_190396 = eq(isZeroA, UInt<1>(0)) - node sigA = cat(T_190396, fractA) - node signB = bit(b, 32) - node expB = bits(b, 31, 23) - node fractB = bits(b, 22, 0) - node T_190397 = bits(expB, 8, 6) - node isZeroB = eq(T_190397, UInt<1>(0)) - node T_190398 = bits(expB, 8, 7) - node isSpecialB = eq(T_190398, UInt<2>(3)) - node T_190399 = bit(expB, 6) - node T_190400 = eq(T_190399, UInt<1>(0)) - node isInfB = and(isSpecialB, T_190400) - node T_190401 = bit(expB, 6) - node isNaNB = and(isSpecialB, T_190401) - node T_190402 = bit(fractB, 22) - node T_190403 = eq(T_190402, UInt<1>(0)) - node isSigNaNB = and(isNaNB, T_190403) - node T_190404 = eq(isZeroB, UInt<1>(0)) - node sigB = cat(T_190404, fractB) - node T_190405 = bit(c, 32) - node T_190406 = bit(op, 0) - node opSignC = xor(T_190405, T_190406) - node expC = bits(c, 31, 23) - node fractC = bits(c, 22, 0) - node T_190407 = bits(expC, 8, 6) - node isZeroC = eq(T_190407, UInt<1>(0)) - node T_190408 = bits(expC, 8, 7) - node isSpecialC = eq(T_190408, UInt<2>(3)) - node T_190409 = bit(expC, 6) - node T_190410 = eq(T_190409, UInt<1>(0)) - node isInfC = and(isSpecialC, T_190410) - node T_190411 = bit(expC, 6) - node isNaNC = and(isSpecialC, T_190411) - node T_190412 = bit(fractC, 22) - node T_190413 = eq(T_190412, UInt<1>(0)) - node isSigNaNC = and(isNaNC, T_190413) - node T_190414 = eq(isZeroC, UInt<1>(0)) - node sigC = cat(T_190414, fractC) - node roundingMode_nearest_even = eq(roundingMode, UInt<2>(0)) - node roundingMode_minMag = eq(roundingMode, UInt<2>(1)) - node roundingMode_min = eq(roundingMode, UInt<2>(2)) - node roundingMode_max = eq(roundingMode, UInt<2>(3)) - node T_190415 = xor(signA, signB) - node T_190416 = bit(op, 1) - node signProd = xor(T_190415, T_190416) - node isZeroProd = or(isZeroA, isZeroB) - node T_190417 = bit(expB, 8) - node T_190418 = eq(T_190417, UInt<1>(0)) - node T_190419 = subw(UInt<3>(0), UInt<2>(3)) - node T_190420 = bits(expB, 7, 0) - node T_190421 = cat(T_190419, T_190420) - node T_190422 = addw(T_190421, expA) - node sExpAlignedProd = addw(T_190422, UInt<5>(27)) - node doSubMags = xor(signProd, opSignC) - node sNatCAlignDist = subw(sExpAlignedProd, expC) - node T_190423 = bit(sNatCAlignDist, 10) - node CAlignDist_floor = or(isZeroProd, T_190423) - node T_190424 = bits(sNatCAlignDist, 9, 0) - node T_190425 = eq(T_190424, UInt<1>(0)) - node CAlignDist_0 = or(CAlignDist_floor, T_190425) - node T_190426 = eq(isZeroC, UInt<1>(0)) - node T_190427 = bits(sNatCAlignDist, 9, 0) - node T_190428 = lt(T_190427, UInt<5>(25)) - node T_190429 = or(CAlignDist_floor, T_190428) - node isCDominant = and(T_190426, T_190429) - node T_190430 = bits(sNatCAlignDist, 9, 0) - node T_190431 = lt(T_190430, UInt<7>(74)) - wire T_190432 : UInt<7> - T_190432 := UInt<7>(74) - when T_190431 : T_190432 := sNatCAlignDist - wire T_190433 : UInt<7> - T_190433 := T_190432 - when CAlignDist_floor : T_190433 := UInt<1>(0) - node CAlignDist = bits(T_190433, 6, 0) - wire sExpSum : UInt<11> - sExpSum := sExpAlignedProd - when CAlignDist_floor : sExpSum := expC - node T_190434 = dshr(SInt<129>(-340282366920938463463374607431768211456), CAlignDist) - node T_190435 = bits(T_190434, 77, 54) - node T_190436 = bits(T_190435, 15, 0) - node T_190437 = dshl(UInt<8>(255), UInt<4>(8)) - node T_190438 = xor(UInt<16>(65535), T_190437) - node T_190439 = dshr(T_190436, UInt<4>(8)) - node T_190440 = and(T_190439, T_190438) - node T_190441 = bits(T_190436, 7, 0) - node T_190442 = dshl(T_190441, UInt<4>(8)) - node T_190443 = not(T_190438) - node T_190444 = and(T_190442, T_190443) - node T_190445 = or(T_190440, T_190444) - node T_190446 = bits(T_190438, 11, 0) - node T_190447 = dshl(T_190446, UInt<3>(4)) - node T_190448 = xor(T_190438, T_190447) - node T_190449 = dshr(T_190445, UInt<3>(4)) - node T_190450 = and(T_190449, T_190448) - node T_190451 = bits(T_190445, 11, 0) - node T_190452 = dshl(T_190451, UInt<3>(4)) - node T_190453 = not(T_190448) - node T_190454 = and(T_190452, T_190453) - node T_190455 = or(T_190450, T_190454) - node T_190456 = bits(T_190448, 13, 0) - node T_190457 = dshl(T_190456, UInt<2>(2)) - node T_190458 = xor(T_190448, T_190457) - node T_190459 = dshr(T_190455, UInt<2>(2)) - node T_190460 = and(T_190459, T_190458) - node T_190461 = bits(T_190455, 13, 0) - node T_190462 = dshl(T_190461, UInt<2>(2)) - node T_190463 = not(T_190458) - node T_190464 = and(T_190462, T_190463) - node T_190465 = or(T_190460, T_190464) - node T_190466 = bits(T_190458, 14, 0) - node T_190467 = dshl(T_190466, UInt<1>(1)) - node T_190468 = xor(T_190458, T_190467) - node T_190469 = dshr(T_190465, UInt<1>(1)) - node T_190470 = and(T_190469, T_190468) - node T_190471 = bits(T_190465, 14, 0) - node T_190472 = dshl(T_190471, UInt<1>(1)) - node T_190473 = not(T_190468) - node T_190474 = and(T_190472, T_190473) - node T_190475 = or(T_190470, T_190474) - node T_190476 = bits(T_190435, 23, 16) - node T_190477 = dshl(UInt<4>(15), UInt<3>(4)) - node T_190478 = xor(UInt<8>(255), T_190477) - node T_190479 = dshr(T_190476, UInt<3>(4)) - node T_190480 = and(T_190479, T_190478) - node T_190481 = bits(T_190476, 3, 0) - node T_190482 = dshl(T_190481, UInt<3>(4)) - node T_190483 = not(T_190478) - node T_190484 = and(T_190482, T_190483) - node T_190485 = or(T_190480, T_190484) - node T_190486 = bits(T_190478, 5, 0) - node T_190487 = dshl(T_190486, UInt<2>(2)) - node T_190488 = xor(T_190478, T_190487) - node T_190489 = dshr(T_190485, UInt<2>(2)) - node T_190490 = and(T_190489, T_190488) - node T_190491 = bits(T_190485, 5, 0) - node T_190492 = dshl(T_190491, UInt<2>(2)) - node T_190493 = not(T_190488) - node T_190494 = and(T_190492, T_190493) - node T_190495 = or(T_190490, T_190494) - node T_190496 = bits(T_190488, 6, 0) - node T_190497 = dshl(T_190496, UInt<1>(1)) - node T_190498 = xor(T_190488, T_190497) - node T_190499 = dshr(T_190495, UInt<1>(1)) - node T_190500 = and(T_190499, T_190498) - node T_190501 = bits(T_190495, 6, 0) - node T_190502 = dshl(T_190501, UInt<1>(1)) - node T_190503 = not(T_190498) - node T_190504 = and(T_190502, T_190503) - node T_190505 = or(T_190500, T_190504) - node CExtraMask = cat(T_190475, T_190505) - node T_190506 = not(sigC) - wire negSigC : UInt<24> - negSigC := sigC - when doSubMags : negSigC := T_190506 - node T_190507 = subw(UInt<50>(0), UInt<6>(50)) - node T_190508 = cat(negSigC, T_190507) - node T_190509 = cat(doSubMags, T_190508) - node T_190510 = asSInt(T_190509) - node T_190511 = dshr(T_190510, CAlignDist) - node T_190512 = and(sigC, CExtraMask) - node T_190513 = neq(T_190512, UInt<1>(0)) - node T_190514 = xor(T_190513, doSubMags) - node T_190515 = asUInt(T_190511) - node T_190516 = cat(T_190515, T_190514) - node alignedNegSigC = bits(T_190516, 74, 0) - node T_190517 = mul(sigA, sigB) - node T_190518 = dshl(T_190517, UInt<1>(1)) - node sigSum = addw(T_190518, alignedNegSigC) - node T_190519 = bits(sigSum, 50, 1) - node T_190520 = xor(UInt<50>(0), T_190519) - node T_190521 = or(UInt<50>(0), T_190519) - node T_190522 = dshl(T_190521, UInt<1>(1)) - node T_190523 = xor(T_190520, T_190522) - node T_190524 = bit(T_190523, 49) - node T_190525 = bit(T_190523, 48) - node T_190526 = bit(T_190523, 47) - node T_190527 = bit(T_190523, 46) - node T_190528 = bit(T_190523, 45) - node T_190529 = bit(T_190523, 44) - node T_190530 = bit(T_190523, 43) - node T_190531 = bit(T_190523, 42) - node T_190532 = bit(T_190523, 41) - node T_190533 = bit(T_190523, 40) - node T_190534 = bit(T_190523, 39) - node T_190535 = bit(T_190523, 38) - node T_190536 = bit(T_190523, 37) - node T_190537 = bit(T_190523, 36) - node T_190538 = bit(T_190523, 35) - node T_190539 = bit(T_190523, 34) - node T_190540 = bit(T_190523, 33) - node T_190541 = bit(T_190523, 32) - node T_190542 = bit(T_190523, 31) - node T_190543 = bit(T_190523, 30) - node T_190544 = bit(T_190523, 29) - node T_190545 = bit(T_190523, 28) - node T_190546 = bit(T_190523, 27) - node T_190547 = bit(T_190523, 26) - node T_190548 = bit(T_190523, 25) - node T_190549 = bit(T_190523, 24) - node T_190550 = bit(T_190523, 23) - node T_190551 = bit(T_190523, 22) - node T_190552 = bit(T_190523, 21) - node T_190553 = bit(T_190523, 20) - node T_190554 = bit(T_190523, 19) - node T_190555 = bit(T_190523, 18) - node T_190556 = bit(T_190523, 17) - node T_190557 = bit(T_190523, 16) - node T_190558 = bit(T_190523, 15) - node T_190559 = bit(T_190523, 14) - node T_190560 = bit(T_190523, 13) - node T_190561 = bit(T_190523, 12) - node T_190562 = bit(T_190523, 11) - node T_190563 = bit(T_190523, 10) - node T_190564 = bit(T_190523, 9) - node T_190565 = bit(T_190523, 8) - node T_190566 = bit(T_190523, 7) - node T_190567 = bit(T_190523, 6) - node T_190568 = bit(T_190523, 5) - node T_190569 = bit(T_190523, 4) - node T_190570 = bit(T_190523, 3) - node T_190571 = bit(T_190523, 2) - node T_190572 = bit(T_190523, 1) - node T_190573 = bit(T_190523, 0) - wire T_190574 : UInt<7> - T_190574 := UInt<7>(73) - when T_190572 : T_190574 := UInt<7>(72) - wire T_190575 : UInt<7> - T_190575 := T_190574 - when T_190571 : T_190575 := UInt<7>(71) - wire T_190576 : UInt<7> - T_190576 := T_190575 - when T_190570 : T_190576 := UInt<7>(70) - wire T_190577 : UInt<7> - T_190577 := T_190576 - when T_190569 : T_190577 := UInt<7>(69) - wire T_190578 : UInt<7> - T_190578 := T_190577 - when T_190568 : T_190578 := UInt<7>(68) - wire T_190579 : UInt<7> - T_190579 := T_190578 - when T_190567 : T_190579 := UInt<7>(67) - wire T_190580 : UInt<7> - T_190580 := T_190579 - when T_190566 : T_190580 := UInt<7>(66) - wire T_190581 : UInt<7> - T_190581 := T_190580 - when T_190565 : T_190581 := UInt<7>(65) - wire T_190582 : UInt<7> - T_190582 := T_190581 - when T_190564 : T_190582 := UInt<7>(64) - wire T_190583 : UInt<7> - T_190583 := T_190582 - when T_190563 : T_190583 := UInt<7>(63) - wire T_190584 : UInt<7> - T_190584 := T_190583 - when T_190562 : T_190584 := UInt<7>(62) - wire T_190585 : UInt<7> - T_190585 := T_190584 - when T_190561 : T_190585 := UInt<7>(61) - wire T_190586 : UInt<7> - T_190586 := T_190585 - when T_190560 : T_190586 := UInt<7>(60) - wire T_190587 : UInt<7> - T_190587 := T_190586 - when T_190559 : T_190587 := UInt<7>(59) - wire T_190588 : UInt<7> - T_190588 := T_190587 - when T_190558 : T_190588 := UInt<7>(58) - wire T_190589 : UInt<7> - T_190589 := T_190588 - when T_190557 : T_190589 := UInt<7>(57) - wire T_190590 : UInt<7> - T_190590 := T_190589 - when T_190556 : T_190590 := UInt<7>(56) - wire T_190591 : UInt<7> - T_190591 := T_190590 - when T_190555 : T_190591 := UInt<7>(55) - wire T_190592 : UInt<7> - T_190592 := T_190591 - when T_190554 : T_190592 := UInt<7>(54) - wire T_190593 : UInt<7> - T_190593 := T_190592 - when T_190553 : T_190593 := UInt<7>(53) - wire T_190594 : UInt<7> - T_190594 := T_190593 - when T_190552 : T_190594 := UInt<7>(52) - wire T_190595 : UInt<7> - T_190595 := T_190594 - when T_190551 : T_190595 := UInt<7>(51) - wire T_190596 : UInt<7> - T_190596 := T_190595 - when T_190550 : T_190596 := UInt<7>(50) - wire T_190597 : UInt<7> - T_190597 := T_190596 - when T_190549 : T_190597 := UInt<7>(49) - wire T_190598 : UInt<7> - T_190598 := T_190597 - when T_190548 : T_190598 := UInt<7>(48) - wire T_190599 : UInt<7> - T_190599 := T_190598 - when T_190547 : T_190599 := UInt<7>(47) - wire T_190600 : UInt<7> - T_190600 := T_190599 - when T_190546 : T_190600 := UInt<7>(46) - wire T_190601 : UInt<7> - T_190601 := T_190600 - when T_190545 : T_190601 := UInt<7>(45) - wire T_190602 : UInt<7> - T_190602 := T_190601 - when T_190544 : T_190602 := UInt<7>(44) - wire T_190603 : UInt<7> - T_190603 := T_190602 - when T_190543 : T_190603 := UInt<7>(43) - wire T_190604 : UInt<7> - T_190604 := T_190603 - when T_190542 : T_190604 := UInt<7>(42) - wire T_190605 : UInt<7> - T_190605 := T_190604 - when T_190541 : T_190605 := UInt<7>(41) - wire T_190606 : UInt<7> - T_190606 := T_190605 - when T_190540 : T_190606 := UInt<7>(40) - wire T_190607 : UInt<7> - T_190607 := T_190606 - when T_190539 : T_190607 := UInt<7>(39) - wire T_190608 : UInt<7> - T_190608 := T_190607 - when T_190538 : T_190608 := UInt<7>(38) - wire T_190609 : UInt<7> - T_190609 := T_190608 - when T_190537 : T_190609 := UInt<7>(37) - wire T_190610 : UInt<7> - T_190610 := T_190609 - when T_190536 : T_190610 := UInt<7>(36) - wire T_190611 : UInt<7> - T_190611 := T_190610 - when T_190535 : T_190611 := UInt<7>(35) - wire T_190612 : UInt<7> - T_190612 := T_190611 - when T_190534 : T_190612 := UInt<7>(34) - wire T_190613 : UInt<7> - T_190613 := T_190612 - when T_190533 : T_190613 := UInt<7>(33) - wire T_190614 : UInt<7> - T_190614 := T_190613 - when T_190532 : T_190614 := UInt<7>(32) - wire T_190615 : UInt<7> - T_190615 := T_190614 - when T_190531 : T_190615 := UInt<7>(31) - wire T_190616 : UInt<7> - T_190616 := T_190615 - when T_190530 : T_190616 := UInt<7>(30) - wire T_190617 : UInt<7> - T_190617 := T_190616 - when T_190529 : T_190617 := UInt<7>(29) - wire T_190618 : UInt<7> - T_190618 := T_190617 - when T_190528 : T_190618 := UInt<7>(28) - wire T_190619 : UInt<7> - T_190619 := T_190618 - when T_190527 : T_190619 := UInt<7>(27) - wire T_190620 : UInt<7> - T_190620 := T_190619 - when T_190526 : T_190620 := UInt<7>(26) - wire T_190621 : UInt<7> - T_190621 := T_190620 - when T_190525 : T_190621 := UInt<7>(25) - wire estNormPos_dist : UInt<7> - estNormPos_dist := T_190621 - when T_190524 : estNormPos_dist := UInt<7>(24) - node T_190622 = bits(sigSum, 33, 18) - node T_190623 = neq(T_190622, UInt<1>(0)) - node T_190624 = bits(sigSum, 17, 0) - node T_190625 = neq(T_190624, UInt<1>(0)) - node firstReduceSigSum = cat(T_190623, T_190625) - node notSigSum = not(sigSum) - node T_190626 = bits(notSigSum, 33, 18) - node T_190627 = neq(T_190626, UInt<1>(0)) - node T_190628 = bits(notSigSum, 17, 0) - node T_190629 = neq(T_190628, UInt<1>(0)) - node firstReduceNotSigSum = cat(T_190627, T_190629) - node T_190630 = or(CAlignDist_0, doSubMags) - node T_190631 = subw(CAlignDist, UInt<1>(1)) - node T_190632 = bits(T_190631, 4, 0) - wire CDom_estNormDist : UInt<5> - CDom_estNormDist := T_190632 - when T_190630 : CDom_estNormDist := CAlignDist - node T_190633 = not(doSubMags) - node T_190634 = bit(CDom_estNormDist, 4) - node T_190635 = not(T_190634) - node T_190636 = and(T_190633, T_190635) - node T_190637 = asSInt(T_190636) - node T_190638 = bits(sigSum, 74, 34) - node T_190639 = neq(firstReduceSigSum, UInt<1>(0)) - node T_190640 = cat(T_190638, T_190639) - node T_190641 = asSInt(T_190640) - node T_190642 = and(T_190637, T_190641) - node T_190643 = not(doSubMags) - node T_190644 = bit(CDom_estNormDist, 4) - node T_190645 = and(T_190643, T_190644) - node T_190646 = asSInt(T_190645) - node T_190647 = bits(sigSum, 58, 18) - node T_190648 = bit(firstReduceSigSum, 0) - node T_190649 = cat(T_190647, T_190648) - node T_190650 = asSInt(T_190649) - node T_190651 = and(T_190646, T_190650) - node T_190652 = or(T_190642, T_190651) - node T_190653 = bit(CDom_estNormDist, 4) - node T_190654 = not(T_190653) - node T_190655 = and(doSubMags, T_190654) - node T_190656 = asSInt(T_190655) - node T_190657 = bits(notSigSum, 74, 34) - node T_190658 = neq(firstReduceNotSigSum, UInt<1>(0)) - node T_190659 = cat(T_190657, T_190658) - node T_190660 = asSInt(T_190659) - node T_190661 = and(T_190656, T_190660) - node T_190662 = or(T_190652, T_190661) - node T_190663 = bit(CDom_estNormDist, 4) - node T_190664 = and(doSubMags, T_190663) - node T_190665 = asSInt(T_190664) - node T_190666 = bits(notSigSum, 58, 18) - node T_190667 = bit(firstReduceNotSigSum, 0) - node T_190668 = cat(T_190666, T_190667) - node T_190669 = asSInt(T_190668) - node T_190670 = and(T_190665, T_190669) - node T_190671 = or(T_190662, T_190670) - node CDom_firstNormAbsSigSum = asUInt(T_190671) - node T_190672 = bits(sigSum, 50, 18) - node T_190673 = bit(firstReduceNotSigSum, 0) - node T_190674 = not(T_190673) - node T_190675 = bit(firstReduceSigSum, 0) - wire T_190676 : UInt<1> - T_190676 := T_190675 - when doSubMags : T_190676 := T_190674 - node T_190677 = cat(T_190672, T_190676) - node T_190678 = bits(sigSum, 42, 1) - node T_190679 = bit(estNormPos_dist, 5) - node T_190680 = bit(estNormPos_dist, 4) - node T_190681 = bits(sigSum, 26, 1) - node T_190682 = subw(UInt<16>(0), UInt<5>(16)) - node T_190683 = cat(T_190681, T_190682) - wire T_190684 : UInt<42> - T_190684 := T_190678 - when T_190680 : T_190684 := T_190683 - node T_190685 = bit(estNormPos_dist, 4) - node T_190686 = bits(sigSum, 10, 1) - node T_190687 = subw(UInt<32>(0), UInt<6>(32)) - node T_190688 = cat(T_190686, T_190687) - wire T_190689 : UInt<42> - T_190689 := T_190688 - when T_190685 : T_190689 := T_190677 - wire notCDom_pos_firstNormAbsSigSum : UInt<42> - notCDom_pos_firstNormAbsSigSum := T_190689 - when T_190679 : notCDom_pos_firstNormAbsSigSum := T_190684 - node T_190690 = bits(notSigSum, 49, 18) - node T_190691 = bit(firstReduceNotSigSum, 0) - node T_190692 = cat(T_190690, T_190691) - node T_190693 = bits(notSigSum, 42, 1) - node T_190694 = bit(estNormPos_dist, 5) - node T_190695 = bit(estNormPos_dist, 4) - node T_190696 = bits(notSigSum, 27, 1) - node T_190697 = dshl(T_190696, UInt<5>(16)) - wire T_190698 : UInt<42> - T_190698 := T_190693 - when T_190695 : T_190698 := T_190697 - node T_190699 = bit(estNormPos_dist, 4) - node T_190700 = bits(notSigSum, 11, 1) - node T_190701 = dshl(T_190700, UInt<6>(32)) - wire T_190702 : UInt<75> - T_190702 := T_190701 - when T_190699 : T_190702 := T_190692 - wire notCDom_neg_cFirstNormAbsSigSum : UInt<75> - notCDom_neg_cFirstNormAbsSigSum := T_190702 - when T_190694 : notCDom_neg_cFirstNormAbsSigSum := T_190698 - node notCDom_signSigSum = bit(sigSum, 51) - node T_190703 = not(isZeroC) - node T_190704 = and(doSubMags, T_190703) - wire doNegSignSum : UInt<1> - doNegSignSum := notCDom_signSigSum - when isCDominant : doNegSignSum := T_190704 - wire T_190705 : UInt<7> - T_190705 := estNormPos_dist - when notCDom_signSigSum : T_190705 := estNormPos_dist - wire estNormDist : UInt<7> - estNormDist := T_190705 - when isCDominant : estNormDist := CDom_estNormDist - wire T_190706 : UInt<75> - T_190706 := notCDom_neg_cFirstNormAbsSigSum - when isCDominant : T_190706 := CDom_firstNormAbsSigSum - wire T_190707 : UInt<42> - T_190707 := notCDom_pos_firstNormAbsSigSum - when isCDominant : T_190707 := CDom_firstNormAbsSigSum - wire cFirstNormAbsSigSum : UInt<42> - cFirstNormAbsSigSum := T_190707 - when notCDom_signSigSum : cFirstNormAbsSigSum := T_190706 - node T_190708 = not(isCDominant) - node T_190709 = not(notCDom_signSigSum) - node T_190710 = and(T_190708, T_190709) - node doIncrSig = and(T_190710, doSubMags) - node estNormDist_5 = bits(estNormDist, 3, 0) - node normTo2ShiftDist = not(estNormDist_5) - node T_190711 = dshr(SInt<17>(-65536), normTo2ShiftDist) - node T_190712 = bits(T_190711, 15, 1) - node T_190713 = bits(T_190712, 7, 0) - node T_190714 = dshl(UInt<4>(15), UInt<3>(4)) - node T_190715 = xor(UInt<8>(255), T_190714) - node T_190716 = dshr(T_190713, UInt<3>(4)) - node T_190717 = and(T_190716, T_190715) - node T_190718 = bits(T_190713, 3, 0) - node T_190719 = dshl(T_190718, UInt<3>(4)) - node T_190720 = not(T_190715) - node T_190721 = and(T_190719, T_190720) - node T_190722 = or(T_190717, T_190721) - node T_190723 = bits(T_190715, 5, 0) - node T_190724 = dshl(T_190723, UInt<2>(2)) - node T_190725 = xor(T_190715, T_190724) - node T_190726 = dshr(T_190722, UInt<2>(2)) - node T_190727 = and(T_190726, T_190725) - node T_190728 = bits(T_190722, 5, 0) - node T_190729 = dshl(T_190728, UInt<2>(2)) - node T_190730 = not(T_190725) - node T_190731 = and(T_190729, T_190730) - node T_190732 = or(T_190727, T_190731) - node T_190733 = bits(T_190725, 6, 0) - node T_190734 = dshl(T_190733, UInt<1>(1)) - node T_190735 = xor(T_190725, T_190734) - node T_190736 = dshr(T_190732, UInt<1>(1)) - node T_190737 = and(T_190736, T_190735) - node T_190738 = bits(T_190732, 6, 0) - node T_190739 = dshl(T_190738, UInt<1>(1)) - node T_190740 = not(T_190735) - node T_190741 = and(T_190739, T_190740) - node T_190742 = or(T_190737, T_190741) - node T_190743 = bits(T_190712, 14, 8) - node T_190744 = bits(T_190743, 3, 0) - node T_190745 = bits(T_190744, 1, 0) - node T_190746 = bits(T_190745, 0, 0) - node T_190747 = bits(T_190745, 1, 1) - node T_190748 = cat(T_190746, T_190747) - node T_190749 = bits(T_190744, 3, 2) - node T_190750 = bits(T_190749, 0, 0) - node T_190751 = bits(T_190749, 1, 1) - node T_190752 = cat(T_190750, T_190751) - node T_190753 = cat(T_190748, T_190752) - node T_190754 = bits(T_190743, 6, 4) - node T_190755 = bits(T_190754, 1, 0) - node T_190756 = bits(T_190755, 0, 0) - node T_190757 = bits(T_190755, 1, 1) - node T_190758 = cat(T_190756, T_190757) - node T_190759 = bits(T_190754, 2, 2) - node T_190760 = cat(T_190758, T_190759) - node T_190761 = cat(T_190753, T_190760) - node T_190762 = cat(T_190742, T_190761) - node absSigSumExtraMask = cat(T_190762, UInt<1>(1)) - node T_190763 = bits(cFirstNormAbsSigSum, 42, 1) - node T_190764 = dshr(T_190763, normTo2ShiftDist) - node T_190765 = bits(cFirstNormAbsSigSum, 15, 0) - node T_190766 = not(T_190765) - node T_190767 = and(T_190766, absSigSumExtraMask) - node T_190768 = eq(T_190767, UInt<1>(0)) - node T_190769 = bits(cFirstNormAbsSigSum, 15, 0) - node T_190770 = and(T_190769, absSigSumExtraMask) - node T_190771 = neq(T_190770, UInt<1>(0)) - wire T_190772 : UInt<1> - T_190772 := T_190771 - when doIncrSig : T_190772 := T_190768 - node T_190773 = cat(T_190764, T_190772) - node sigX3 = bits(T_190773, 27, 0) - node T_190774 = bits(sigX3, 27, 26) - node sigX3Shift1 = eq(T_190774, UInt<1>(0)) - node sExpX3 = subw(sExpSum, estNormDist) - node T_190775 = bits(sigX3, 27, 25) - node isZeroY = eq(T_190775, UInt<1>(0)) - node T_190776 = not(isZeroY) - node T_190777 = xor(signProd, doNegSignSum) - node signY = and(T_190776, T_190777) - node sExpX3_13 = bits(sExpX3, 9, 0) - node T_190778 = bit(sExpX3, 10) - node T_190779 = subw(UInt<27>(0), UInt<5>(27)) - node T_190780 = not(sExpX3_13) - node T_190781 = dshr(SInt<1025>(-179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216), T_190780) - node T_190782 = bits(T_190781, 131, 107) - node T_190783 = bits(T_190782, 15, 0) - node T_190784 = dshl(UInt<8>(255), UInt<4>(8)) - node T_190785 = xor(UInt<16>(65535), T_190784) - node T_190786 = dshr(T_190783, UInt<4>(8)) - node T_190787 = and(T_190786, T_190785) - node T_190788 = bits(T_190783, 7, 0) - node T_190789 = dshl(T_190788, UInt<4>(8)) - node T_190790 = not(T_190785) - node T_190791 = and(T_190789, T_190790) - node T_190792 = or(T_190787, T_190791) - node T_190793 = bits(T_190785, 11, 0) - node T_190794 = dshl(T_190793, UInt<3>(4)) - node T_190795 = xor(T_190785, T_190794) - node T_190796 = dshr(T_190792, UInt<3>(4)) - node T_190797 = and(T_190796, T_190795) - node T_190798 = bits(T_190792, 11, 0) - node T_190799 = dshl(T_190798, UInt<3>(4)) - node T_190800 = not(T_190795) - node T_190801 = and(T_190799, T_190800) - node T_190802 = or(T_190797, T_190801) - node T_190803 = bits(T_190795, 13, 0) - node T_190804 = dshl(T_190803, UInt<2>(2)) - node T_190805 = xor(T_190795, T_190804) - node T_190806 = dshr(T_190802, UInt<2>(2)) - node T_190807 = and(T_190806, T_190805) - node T_190808 = bits(T_190802, 13, 0) - node T_190809 = dshl(T_190808, UInt<2>(2)) - node T_190810 = not(T_190805) - node T_190811 = and(T_190809, T_190810) - node T_190812 = or(T_190807, T_190811) - node T_190813 = bits(T_190805, 14, 0) - node T_190814 = dshl(T_190813, UInt<1>(1)) - node T_190815 = xor(T_190805, T_190814) - node T_190816 = dshr(T_190812, UInt<1>(1)) - node T_190817 = and(T_190816, T_190815) - node T_190818 = bits(T_190812, 14, 0) - node T_190819 = dshl(T_190818, UInt<1>(1)) - node T_190820 = not(T_190815) - node T_190821 = and(T_190819, T_190820) - node T_190822 = or(T_190817, T_190821) - node T_190823 = bits(T_190782, 24, 16) - node T_190824 = bits(T_190823, 7, 0) - node T_190825 = dshl(UInt<4>(15), UInt<3>(4)) - node T_190826 = xor(UInt<8>(255), T_190825) - node T_190827 = dshr(T_190824, UInt<3>(4)) - node T_190828 = and(T_190827, T_190826) - node T_190829 = bits(T_190824, 3, 0) - node T_190830 = dshl(T_190829, UInt<3>(4)) - node T_190831 = not(T_190826) - node T_190832 = and(T_190830, T_190831) - node T_190833 = or(T_190828, T_190832) - node T_190834 = bits(T_190826, 5, 0) - node T_190835 = dshl(T_190834, UInt<2>(2)) - node T_190836 = xor(T_190826, T_190835) - node T_190837 = dshr(T_190833, UInt<2>(2)) - node T_190838 = and(T_190837, T_190836) - node T_190839 = bits(T_190833, 5, 0) - node T_190840 = dshl(T_190839, UInt<2>(2)) - node T_190841 = not(T_190836) - node T_190842 = and(T_190840, T_190841) - node T_190843 = or(T_190838, T_190842) - node T_190844 = bits(T_190836, 6, 0) - node T_190845 = dshl(T_190844, UInt<1>(1)) - node T_190846 = xor(T_190836, T_190845) - node T_190847 = dshr(T_190843, UInt<1>(1)) - node T_190848 = and(T_190847, T_190846) - node T_190849 = bits(T_190843, 6, 0) - node T_190850 = dshl(T_190849, UInt<1>(1)) - node T_190851 = not(T_190846) - node T_190852 = and(T_190850, T_190851) - node T_190853 = or(T_190848, T_190852) - node T_190854 = bits(T_190823, 8, 8) - node T_190855 = cat(T_190853, T_190854) - node T_190856 = cat(T_190822, T_190855) - node T_190857 = bit(sigX3, 26) - node T_190858 = or(T_190856, T_190857) - node T_190859 = cat(T_190858, UInt<2>(3)) - node roundMask = or(T_190779, T_190859) - node T_190860 = dshr(roundMask, UInt<1>(1)) - node T_190861 = not(T_190860) - node roundPosMask = and(T_190861, roundMask) - node T_190862 = and(sigX3, roundPosMask) - node roundPosBit = neq(T_190862, UInt<1>(0)) - node T_190863 = dshr(roundMask, UInt<1>(1)) - node T_190864 = and(sigX3, T_190863) - node anyRoundExtra = neq(T_190864, UInt<1>(0)) - node T_190865 = not(sigX3) - node T_190866 = dshr(roundMask, UInt<1>(1)) - node T_190867 = and(T_190865, T_190866) - node allRoundExtra = eq(T_190867, UInt<1>(0)) - node anyRound = or(roundPosBit, anyRoundExtra) - node allRound = and(roundPosBit, allRoundExtra) - wire roundDirectUp : UInt<1> - roundDirectUp := roundingMode_max - when signY : roundDirectUp := roundingMode_min - node T_190868 = not(doIncrSig) - node T_190869 = and(T_190868, roundingMode_nearest_even) - node T_190870 = and(T_190869, roundPosBit) - node T_190871 = and(T_190870, anyRoundExtra) - node T_190872 = not(doIncrSig) - node T_190873 = and(T_190872, roundDirectUp) - node T_190874 = and(T_190873, anyRound) - node T_190875 = or(T_190871, T_190874) - node T_190876 = and(doIncrSig, allRound) - node T_190877 = or(T_190875, T_190876) - node T_190878 = and(doIncrSig, roundingMode_nearest_even) - node T_190879 = and(T_190878, roundPosBit) - node T_190880 = or(T_190877, T_190879) - node T_190881 = and(doIncrSig, roundDirectUp) - node roundUp = or(T_190880, T_190881) - node T_190882 = not(roundPosBit) - node T_190883 = and(roundingMode_nearest_even, T_190882) - node T_190884 = and(T_190883, allRoundExtra) - node T_190885 = and(roundingMode_nearest_even, roundPosBit) - node T_190886 = not(anyRoundExtra) - node T_190887 = and(T_190885, T_190886) - wire roundEven : UInt<1> - roundEven := T_190887 - when doIncrSig : roundEven := T_190884 - node T_190888 = not(allRound) - wire roundInexact : UInt<1> - roundInexact := anyRound - when doIncrSig : roundInexact := T_190888 - node T_190889 = or(sigX3, roundMask) - node T_190890 = dshr(T_190889, UInt<2>(2)) - node T_190891 = addw(T_190890, UInt<1>(1)) - node roundUp_sigY3 = bits(T_190891, 25, 0) - node T_190892 = not(roundUp) - node T_190893 = not(roundEven) - node T_190894 = and(T_190892, T_190893) - node T_190895 = not(roundMask) - node T_190896 = and(sigX3, T_190895) - node T_190897 = dshr(T_190896, UInt<2>(2)) - wire T_190898 : UInt<1> - T_190898 := UInt<1>(0) - when T_190894 : T_190898 := T_190897 - wire T_190899 : UInt<1> - T_190899 := UInt<1>(0) - when roundUp : T_190899 := roundUp_sigY3 - node T_190900 = or(T_190898, T_190899) - node T_190901 = dshr(roundMask, UInt<1>(1)) - node T_190902 = not(T_190901) - node T_190903 = and(roundUp_sigY3, T_190902) - wire T_190904 : UInt<1> - T_190904 := UInt<1>(0) - when roundEven : T_190904 := T_190903 - node sigY3 = or(T_190900, T_190904) - node T_190905 = bit(sigY3, 25) - node T_190906 = addw(sExpX3, UInt<1>(1)) - wire T_190907 : UInt<1> - T_190907 := UInt<1>(0) - when T_190905 : T_190907 := T_190906 - node T_190908 = bit(sigY3, 24) - wire T_190909 : UInt<1> - T_190909 := UInt<1>(0) - when T_190908 : T_190909 := sExpX3 - node T_190910 = or(T_190907, T_190909) - node T_190911 = bits(sigY3, 25, 24) - node T_190912 = eq(T_190911, UInt<1>(0)) - node T_190913 = subw(sExpX3, UInt<1>(1)) - wire T_190914 : UInt<1> - T_190914 := UInt<1>(0) - when T_190912 : T_190914 := T_190913 - node sExpY = or(T_190910, T_190914) - node expY = bits(sExpY, 8, 0) - node T_190915 = bits(sigY3, 22, 0) - node T_190916 = bits(sigY3, 23, 1) - wire fractY : UInt<23> - fractY := T_190916 - when sigX3Shift1 : fractY := T_190915 - node T_190917 = bits(sExpY, 9, 7) - node overflowY = eq(T_190917, UInt<2>(3)) - node T_190918 = bit(sExpY, 9) - node T_190919 = bits(sExpY, 8, 0) - node T_190920 = lt(T_190919, UInt<7>(107)) - node totalUnderflowY = or(T_190918, T_190920) - node T_190921 = bit(sExpX3, 10) - wire T_190922 : UInt<8> - T_190922 := UInt<8>(129) - when sigX3Shift1 : T_190922 := UInt<8>(130) - node T_190923 = leq(sExpX3_13, T_190922) - node T_190924 = or(T_190921, T_190923) - node underflowY = and(roundInexact, T_190924) - node T_190925 = and(roundingMode_min, signY) - node T_190926 = or(roundingMode_nearest_even, T_190925) - node T_190927 = not(signY) - node T_190928 = and(roundingMode_max, T_190927) - node overflowY_roundMagUp = or(T_190926, T_190928) - node mulSpecial = or(isSpecialA, isSpecialB) - node addSpecial = or(mulSpecial, isSpecialC) - node notSpecial_addZeros = and(isZeroProd, isZeroC) - node T_190929 = not(addSpecial) - node T_190930 = not(notSpecial_addZeros) - node commonCase = and(T_190929, T_190930) - node T_190931 = and(isInfA, isZeroB) - node T_190932 = and(isZeroA, isInfB) - node T_190933 = or(T_190931, T_190932) - node T_190934 = not(isNaNA) - node T_190935 = not(isNaNB) - node T_190936 = and(T_190934, T_190935) - node T_190937 = or(isInfA, isInfB) - node T_190938 = and(T_190936, T_190937) - node T_190939 = and(T_190938, isInfC) - node T_190940 = and(T_190939, doSubMags) - node notSigNaN_invalid = or(T_190933, T_190940) - node T_190941 = or(isSigNaNA, isSigNaNB) - node T_190942 = or(T_190941, isSigNaNC) - node invalid = or(T_190942, notSigNaN_invalid) - node overflow = and(commonCase, overflowY) - node underflow = and(commonCase, underflowY) - node T_190943 = and(commonCase, roundInexact) - node inexact = or(overflow, T_190943) - node T_190944 = or(notSpecial_addZeros, isZeroY) - node notSpecial_isZeroOut = or(T_190944, totalUnderflowY) - node T_190945 = not(overflowY_roundMagUp) - node isSatOut = and(overflow, T_190945) - node T_190946 = or(isInfA, isInfB) - node T_190947 = or(T_190946, isInfC) - node T_190948 = and(overflow, overflowY_roundMagUp) - node notNaN_isInfOut = or(T_190947, T_190948) - node T_190949 = or(isNaNA, isNaNB) - node T_190950 = or(T_190949, isNaNC) - node isNaNOut = or(T_190950, notSigNaN_invalid) - node T_190951 = eq(doSubMags, UInt<1>(0)) - node T_190952 = and(T_190951, opSignC) - node T_190953 = and(isNaNOut, UInt<1>(1)) - node T_190954 = or(T_190952, T_190953) - node T_190955 = eq(isSpecialC, UInt<1>(0)) - node T_190956 = and(mulSpecial, T_190955) - node T_190957 = and(T_190956, signProd) - node T_190958 = or(T_190954, T_190957) - node T_190959 = eq(mulSpecial, UInt<1>(0)) - node T_190960 = and(T_190959, isSpecialC) - node T_190961 = and(T_190960, opSignC) - node T_190962 = or(T_190958, T_190961) - node T_190963 = eq(mulSpecial, UInt<1>(0)) - node T_190964 = and(T_190963, notSpecial_addZeros) - node T_190965 = and(T_190964, doSubMags) - node T_190966 = and(T_190965, UInt<1>(0)) - node T_190967 = or(T_190962, T_190966) - node T_190968 = and(commonCase, signY) - node signOut = or(T_190967, T_190968) - wire T_190969 : UInt<9> - T_190969 := UInt<9>(0) - when notSpecial_isZeroOut : T_190969 := UInt<9>(448) - node T_190970 = not(T_190969) - node T_190971 = and(expY, T_190970) - wire T_190972 : UInt<9> - T_190972 := UInt<9>(0) - when isSatOut : T_190972 := UInt<8>(128) - node T_190973 = not(T_190972) - node T_190974 = and(T_190971, T_190973) - wire T_190975 : UInt<9> - T_190975 := UInt<9>(0) - when notNaN_isInfOut : T_190975 := UInt<7>(64) - node T_190976 = not(T_190975) - node T_190977 = and(T_190974, T_190976) - wire T_190978 : UInt<9> - T_190978 := UInt<9>(0) - when isSatOut : T_190978 := UInt<9>(383) - node T_190979 = or(T_190977, T_190978) - wire T_190980 : UInt<9> - T_190980 := UInt<9>(0) - when notNaN_isInfOut : T_190980 := UInt<9>(384) - node T_190981 = or(T_190979, T_190980) - wire T_190982 : UInt<9> - T_190982 := UInt<9>(0) - when isNaNOut : T_190982 := UInt<9>(448) - node expOut = or(T_190981, T_190982) - node T_190983 = or(isNaNOut, isSatOut) - node T_190984 = subw(UInt<23>(0), UInt<5>(23)) - node fractOut = or(fractY, T_190984) - node T_190985 = cat(expOut, fractOut) - node T_190986 = cat(signOut, T_190985) - out := T_190986 - node T_190987 = cat(invalid, UInt<1>(0)) - node T_190988 = cat(underflow, inexact) - node T_190989 = cat(overflow, T_190988) - node T_190990 = cat(T_190987, T_190989) - exceptionFlags := T_190990 - module FPUFMAPipe : - input in : {valid : UInt<1>, bits : {cmd : UInt<5>, ldst : UInt<1>, wen : UInt<1>, ren1 : UInt<1>, ren2 : UInt<1>, ren3 : UInt<1>, swap12 : UInt<1>, swap23 : UInt<1>, single : UInt<1>, fromint : UInt<1>, toint : UInt<1>, fastpipe : UInt<1>, fma : UInt<1>, div : UInt<1>, sqrt : UInt<1>, round : UInt<1>, wflags : UInt<1>, rm : UInt<3>, typ : UInt<2>, in1 : UInt<65>, in2 : UInt<65>, in3 : UInt<65>}} - output out : {valid : UInt<1>, bits : {data : UInt<65>, exc : UInt<5>}} - - node one = shl(UInt<1>(1), 31) - node T_190991 = bit(in.bits.in1, 32) - node T_190992 = bit(in.bits.in2, 32) - node T_190993 = xor(T_190991, T_190992) - node zero = shl(T_190993, 32) - reg valid : UInt<1> - valid := in.valid - reg in : {cmd : UInt<5>, ldst : UInt<1>, wen : UInt<1>, ren1 : UInt<1>, ren2 : UInt<1>, ren3 : UInt<1>, swap12 : UInt<1>, swap23 : UInt<1>, single : UInt<1>, fromint : UInt<1>, toint : UInt<1>, fastpipe : UInt<1>, fma : UInt<1>, div : UInt<1>, sqrt : UInt<1>, round : UInt<1>, wflags : UInt<1>, rm : UInt<3>, typ : UInt<2>, in1 : UInt<65>, in2 : UInt<65>, in3 : UInt<65>} - when in.valid : - in := in.bits - node T_190994 = bit(in.bits.cmd, 1) - node T_190995 = or(in.bits.ren3, in.bits.swap23) - node T_190996 = and(T_190994, T_190995) - node T_190997 = bit(in.bits.cmd, 0) - node T_190998 = cat(T_190996, T_190997) - in.cmd := T_190998 - when in.bits.swap23 : in.in2 := one - node T_190999 = or(in.bits.ren3, in.bits.swap23) - - node T_191000 = eq(T_190999, UInt<1>(0)) - when T_191000 : in.in3 := zero - inst fma of mulAddSubRecodedFloatN - fma.op := in.cmd - fma.roundingMode := in.rm - fma.a := in.in1 - fma.b := in.in2 - fma.c := in.in3 - wire res : {data : UInt<65>, exc : UInt<5>} - res.data := fma.out - res.exc := fma.exceptionFlags - reg T_191001 : UInt<1> - onreset T_191001 := UInt<1>(0) - T_191001 := valid - reg T_191002 : {data : UInt<65>, exc : UInt<5>} - when valid : T_191002 := res - T_191003.valid <> T_191001 - T_191003.bits <> T_191002 - out := T_191003 - module mulAddSubRecodedFloatN_160940 : - input op : UInt<2> - input a : UInt<65> - input b : UInt<65> - input c : UInt<65> - input roundingMode : UInt<2> - output out : UInt<65> - output exceptionFlags : UInt<5> - - node signA = bit(a, 64) - node expA = bits(a, 63, 52) - node fractA = bits(a, 51, 0) - node T_191004 = bits(expA, 11, 9) - node isZeroA = eq(T_191004, UInt<1>(0)) - node T_191005 = bits(expA, 11, 10) - node isSpecialA = eq(T_191005, UInt<2>(3)) - node T_191006 = bit(expA, 9) - node T_191007 = eq(T_191006, UInt<1>(0)) - node isInfA = and(isSpecialA, T_191007) - node T_191008 = bit(expA, 9) - node isNaNA = and(isSpecialA, T_191008) - node T_191009 = bit(fractA, 51) - node T_191010 = eq(T_191009, UInt<1>(0)) - node isSigNaNA = and(isNaNA, T_191010) - node T_191011 = eq(isZeroA, UInt<1>(0)) - node sigA = cat(T_191011, fractA) - node signB = bit(b, 64) - node expB = bits(b, 63, 52) - node fractB = bits(b, 51, 0) - node T_191012 = bits(expB, 11, 9) - node isZeroB = eq(T_191012, UInt<1>(0)) - node T_191013 = bits(expB, 11, 10) - node isSpecialB = eq(T_191013, UInt<2>(3)) - node T_191014 = bit(expB, 9) - node T_191015 = eq(T_191014, UInt<1>(0)) - node isInfB = and(isSpecialB, T_191015) - node T_191016 = bit(expB, 9) - node isNaNB = and(isSpecialB, T_191016) - node T_191017 = bit(fractB, 51) - node T_191018 = eq(T_191017, UInt<1>(0)) - node isSigNaNB = and(isNaNB, T_191018) - node T_191019 = eq(isZeroB, UInt<1>(0)) - node sigB = cat(T_191019, fractB) - node T_191020 = bit(c, 64) - node T_191021 = bit(op, 0) - node opSignC = xor(T_191020, T_191021) - node expC = bits(c, 63, 52) - node fractC = bits(c, 51, 0) - node T_191022 = bits(expC, 11, 9) - node isZeroC = eq(T_191022, UInt<1>(0)) - node T_191023 = bits(expC, 11, 10) - node isSpecialC = eq(T_191023, UInt<2>(3)) - node T_191024 = bit(expC, 9) - node T_191025 = eq(T_191024, UInt<1>(0)) - node isInfC = and(isSpecialC, T_191025) - node T_191026 = bit(expC, 9) - node isNaNC = and(isSpecialC, T_191026) - node T_191027 = bit(fractC, 51) - node T_191028 = eq(T_191027, UInt<1>(0)) - node isSigNaNC = and(isNaNC, T_191028) - node T_191029 = eq(isZeroC, UInt<1>(0)) - node sigC = cat(T_191029, fractC) - node roundingMode_nearest_even = eq(roundingMode, UInt<2>(0)) - node roundingMode_minMag = eq(roundingMode, UInt<2>(1)) - node roundingMode_min = eq(roundingMode, UInt<2>(2)) - node roundingMode_max = eq(roundingMode, UInt<2>(3)) - node T_191030 = xor(signA, signB) - node T_191031 = bit(op, 1) - node signProd = xor(T_191030, T_191031) - node isZeroProd = or(isZeroA, isZeroB) - node T_191032 = bit(expB, 11) - node T_191033 = eq(T_191032, UInt<1>(0)) - node T_191034 = subw(UInt<3>(0), UInt<2>(3)) - node T_191035 = bits(expB, 10, 0) - node T_191036 = cat(T_191034, T_191035) - node T_191037 = addw(T_191036, expA) - node sExpAlignedProd = addw(T_191037, UInt<6>(56)) - node doSubMags = xor(signProd, opSignC) - node sNatCAlignDist = subw(sExpAlignedProd, expC) - node T_191038 = bit(sNatCAlignDist, 13) - node CAlignDist_floor = or(isZeroProd, T_191038) - node T_191039 = bits(sNatCAlignDist, 12, 0) - node T_191040 = eq(T_191039, UInt<1>(0)) - node CAlignDist_0 = or(CAlignDist_floor, T_191040) - node T_191041 = eq(isZeroC, UInt<1>(0)) - node T_191042 = bits(sNatCAlignDist, 12, 0) - node T_191043 = lt(T_191042, UInt<6>(54)) - node T_191044 = or(CAlignDist_floor, T_191043) - node isCDominant = and(T_191041, T_191044) - node T_191045 = bits(sNatCAlignDist, 12, 0) - node T_191046 = lt(T_191045, UInt<8>(161)) - wire T_191047 : UInt<8> - T_191047 := UInt<8>(161) - when T_191046 : T_191047 := sNatCAlignDist - wire T_191048 : UInt<8> - T_191048 := T_191047 - when CAlignDist_floor : T_191048 := UInt<1>(0) - node CAlignDist = bits(T_191048, 7, 0) - wire sExpSum : UInt<14> - sExpSum := sExpAlignedProd - when CAlignDist_floor : sExpSum := expC - node T_191049 = dshr(SInt<257>(-115792089237316195423570985008687907853269984665640564039457584007913129639936), CAlignDist) - node T_191050 = bits(T_191049, 147, 95) - node T_191051 = bits(T_191050, 31, 0) - node T_191052 = dshl(UInt<16>(65535), UInt<5>(16)) - node T_191053 = xor(UInt<32>(4294967295), T_191052) - node T_191054 = dshr(T_191051, UInt<5>(16)) - node T_191055 = and(T_191054, T_191053) - node T_191056 = bits(T_191051, 15, 0) - node T_191057 = dshl(T_191056, UInt<5>(16)) - node T_191058 = not(T_191053) - node T_191059 = and(T_191057, T_191058) - node T_191060 = or(T_191055, T_191059) - node T_191061 = bits(T_191053, 23, 0) - node T_191062 = dshl(T_191061, UInt<4>(8)) - node T_191063 = xor(T_191053, T_191062) - node T_191064 = dshr(T_191060, UInt<4>(8)) - node T_191065 = and(T_191064, T_191063) - node T_191066 = bits(T_191060, 23, 0) - node T_191067 = dshl(T_191066, UInt<4>(8)) - node T_191068 = not(T_191063) - node T_191069 = and(T_191067, T_191068) - node T_191070 = or(T_191065, T_191069) - node T_191071 = bits(T_191063, 27, 0) - node T_191072 = dshl(T_191071, UInt<3>(4)) - node T_191073 = xor(T_191063, T_191072) - node T_191074 = dshr(T_191070, UInt<3>(4)) - node T_191075 = and(T_191074, T_191073) - node T_191076 = bits(T_191070, 27, 0) - node T_191077 = dshl(T_191076, UInt<3>(4)) - node T_191078 = not(T_191073) - node T_191079 = and(T_191077, T_191078) - node T_191080 = or(T_191075, T_191079) - node T_191081 = bits(T_191073, 29, 0) - node T_191082 = dshl(T_191081, UInt<2>(2)) - node T_191083 = xor(T_191073, T_191082) - node T_191084 = dshr(T_191080, UInt<2>(2)) - node T_191085 = and(T_191084, T_191083) - node T_191086 = bits(T_191080, 29, 0) - node T_191087 = dshl(T_191086, UInt<2>(2)) - node T_191088 = not(T_191083) - node T_191089 = and(T_191087, T_191088) - node T_191090 = or(T_191085, T_191089) - node T_191091 = bits(T_191083, 30, 0) - node T_191092 = dshl(T_191091, UInt<1>(1)) - node T_191093 = xor(T_191083, T_191092) - node T_191094 = dshr(T_191090, UInt<1>(1)) - node T_191095 = and(T_191094, T_191093) - node T_191096 = bits(T_191090, 30, 0) - node T_191097 = dshl(T_191096, UInt<1>(1)) - node T_191098 = not(T_191093) - node T_191099 = and(T_191097, T_191098) - node T_191100 = or(T_191095, T_191099) - node T_191101 = bits(T_191050, 52, 32) - node T_191102 = bits(T_191101, 15, 0) - node T_191103 = dshl(UInt<8>(255), UInt<4>(8)) - node T_191104 = xor(UInt<16>(65535), T_191103) - node T_191105 = dshr(T_191102, UInt<4>(8)) - node T_191106 = and(T_191105, T_191104) - node T_191107 = bits(T_191102, 7, 0) - node T_191108 = dshl(T_191107, UInt<4>(8)) - node T_191109 = not(T_191104) - node T_191110 = and(T_191108, T_191109) - node T_191111 = or(T_191106, T_191110) - node T_191112 = bits(T_191104, 11, 0) - node T_191113 = dshl(T_191112, UInt<3>(4)) - node T_191114 = xor(T_191104, T_191113) - node T_191115 = dshr(T_191111, UInt<3>(4)) - node T_191116 = and(T_191115, T_191114) - node T_191117 = bits(T_191111, 11, 0) - node T_191118 = dshl(T_191117, UInt<3>(4)) - node T_191119 = not(T_191114) - node T_191120 = and(T_191118, T_191119) - node T_191121 = or(T_191116, T_191120) - node T_191122 = bits(T_191114, 13, 0) - node T_191123 = dshl(T_191122, UInt<2>(2)) - node T_191124 = xor(T_191114, T_191123) - node T_191125 = dshr(T_191121, UInt<2>(2)) - node T_191126 = and(T_191125, T_191124) - node T_191127 = bits(T_191121, 13, 0) - node T_191128 = dshl(T_191127, UInt<2>(2)) - node T_191129 = not(T_191124) - node T_191130 = and(T_191128, T_191129) - node T_191131 = or(T_191126, T_191130) - node T_191132 = bits(T_191124, 14, 0) - node T_191133 = dshl(T_191132, UInt<1>(1)) - node T_191134 = xor(T_191124, T_191133) - node T_191135 = dshr(T_191131, UInt<1>(1)) - node T_191136 = and(T_191135, T_191134) - node T_191137 = bits(T_191131, 14, 0) - node T_191138 = dshl(T_191137, UInt<1>(1)) - node T_191139 = not(T_191134) - node T_191140 = and(T_191138, T_191139) - node T_191141 = or(T_191136, T_191140) - node T_191142 = bits(T_191101, 20, 16) - node T_191143 = bits(T_191142, 3, 0) - node T_191144 = bits(T_191143, 1, 0) - node T_191145 = bits(T_191144, 0, 0) - node T_191146 = bits(T_191144, 1, 1) - node T_191147 = cat(T_191145, T_191146) - node T_191148 = bits(T_191143, 3, 2) - node T_191149 = bits(T_191148, 0, 0) - node T_191150 = bits(T_191148, 1, 1) - node T_191151 = cat(T_191149, T_191150) - node T_191152 = cat(T_191147, T_191151) - node T_191153 = bits(T_191142, 4, 4) - node T_191154 = cat(T_191152, T_191153) - node T_191155 = cat(T_191141, T_191154) - node CExtraMask = cat(T_191100, T_191155) - node T_191156 = not(sigC) - wire negSigC : UInt<53> - negSigC := sigC - when doSubMags : negSigC := T_191156 - node T_191157 = subw(UInt<108>(0), UInt<7>(108)) - node T_191158 = cat(negSigC, T_191157) - node T_191159 = cat(doSubMags, T_191158) - node T_191160 = asSInt(T_191159) - node T_191161 = dshr(T_191160, CAlignDist) - node T_191162 = and(sigC, CExtraMask) - node T_191163 = neq(T_191162, UInt<1>(0)) - node T_191164 = xor(T_191163, doSubMags) - node T_191165 = asUInt(T_191161) - node T_191166 = cat(T_191165, T_191164) - node alignedNegSigC = bits(T_191166, 161, 0) - node T_191167 = mul(sigA, sigB) - node T_191168 = dshl(T_191167, UInt<1>(1)) - node sigSum = addw(T_191168, alignedNegSigC) - node T_191169 = bits(sigSum, 108, 1) - node T_191170 = xor(UInt<108>(0), T_191169) - node T_191171 = or(UInt<108>(0), T_191169) - node T_191172 = dshl(T_191171, UInt<1>(1)) - node T_191173 = xor(T_191170, T_191172) - node T_191174 = bit(T_191173, 107) - node T_191175 = bit(T_191173, 106) - node T_191176 = bit(T_191173, 105) - node T_191177 = bit(T_191173, 104) - node T_191178 = bit(T_191173, 103) - node T_191179 = bit(T_191173, 102) - node T_191180 = bit(T_191173, 101) - node T_191181 = bit(T_191173, 100) - node T_191182 = bit(T_191173, 99) - node T_191183 = bit(T_191173, 98) - node T_191184 = bit(T_191173, 97) - node T_191185 = bit(T_191173, 96) - node T_191186 = bit(T_191173, 95) - node T_191187 = bit(T_191173, 94) - node T_191188 = bit(T_191173, 93) - node T_191189 = bit(T_191173, 92) - node T_191190 = bit(T_191173, 91) - node T_191191 = bit(T_191173, 90) - node T_191192 = bit(T_191173, 89) - node T_191193 = bit(T_191173, 88) - node T_191194 = bit(T_191173, 87) - node T_191195 = bit(T_191173, 86) - node T_191196 = bit(T_191173, 85) - node T_191197 = bit(T_191173, 84) - node T_191198 = bit(T_191173, 83) - node T_191199 = bit(T_191173, 82) - node T_191200 = bit(T_191173, 81) - node T_191201 = bit(T_191173, 80) - node T_191202 = bit(T_191173, 79) - node T_191203 = bit(T_191173, 78) - node T_191204 = bit(T_191173, 77) - node T_191205 = bit(T_191173, 76) - node T_191206 = bit(T_191173, 75) - node T_191207 = bit(T_191173, 74) - node T_191208 = bit(T_191173, 73) - node T_191209 = bit(T_191173, 72) - node T_191210 = bit(T_191173, 71) - node T_191211 = bit(T_191173, 70) - node T_191212 = bit(T_191173, 69) - node T_191213 = bit(T_191173, 68) - node T_191214 = bit(T_191173, 67) - node T_191215 = bit(T_191173, 66) - node T_191216 = bit(T_191173, 65) - node T_191217 = bit(T_191173, 64) - node T_191218 = bit(T_191173, 63) - node T_191219 = bit(T_191173, 62) - node T_191220 = bit(T_191173, 61) - node T_191221 = bit(T_191173, 60) - node T_191222 = bit(T_191173, 59) - node T_191223 = bit(T_191173, 58) - node T_191224 = bit(T_191173, 57) - node T_191225 = bit(T_191173, 56) - node T_191226 = bit(T_191173, 55) - node T_191227 = bit(T_191173, 54) - node T_191228 = bit(T_191173, 53) - node T_191229 = bit(T_191173, 52) - node T_191230 = bit(T_191173, 51) - node T_191231 = bit(T_191173, 50) - node T_191232 = bit(T_191173, 49) - node T_191233 = bit(T_191173, 48) - node T_191234 = bit(T_191173, 47) - node T_191235 = bit(T_191173, 46) - node T_191236 = bit(T_191173, 45) - node T_191237 = bit(T_191173, 44) - node T_191238 = bit(T_191173, 43) - node T_191239 = bit(T_191173, 42) - node T_191240 = bit(T_191173, 41) - node T_191241 = bit(T_191173, 40) - node T_191242 = bit(T_191173, 39) - node T_191243 = bit(T_191173, 38) - node T_191244 = bit(T_191173, 37) - node T_191245 = bit(T_191173, 36) - node T_191246 = bit(T_191173, 35) - node T_191247 = bit(T_191173, 34) - node T_191248 = bit(T_191173, 33) - node T_191249 = bit(T_191173, 32) - node T_191250 = bit(T_191173, 31) - node T_191251 = bit(T_191173, 30) - node T_191252 = bit(T_191173, 29) - node T_191253 = bit(T_191173, 28) - node T_191254 = bit(T_191173, 27) - node T_191255 = bit(T_191173, 26) - node T_191256 = bit(T_191173, 25) - node T_191257 = bit(T_191173, 24) - node T_191258 = bit(T_191173, 23) - node T_191259 = bit(T_191173, 22) - node T_191260 = bit(T_191173, 21) - node T_191261 = bit(T_191173, 20) - node T_191262 = bit(T_191173, 19) - node T_191263 = bit(T_191173, 18) - node T_191264 = bit(T_191173, 17) - node T_191265 = bit(T_191173, 16) - node T_191266 = bit(T_191173, 15) - node T_191267 = bit(T_191173, 14) - node T_191268 = bit(T_191173, 13) - node T_191269 = bit(T_191173, 12) - node T_191270 = bit(T_191173, 11) - node T_191271 = bit(T_191173, 10) - node T_191272 = bit(T_191173, 9) - node T_191273 = bit(T_191173, 8) - node T_191274 = bit(T_191173, 7) - node T_191275 = bit(T_191173, 6) - node T_191276 = bit(T_191173, 5) - node T_191277 = bit(T_191173, 4) - node T_191278 = bit(T_191173, 3) - node T_191279 = bit(T_191173, 2) - node T_191280 = bit(T_191173, 1) - node T_191281 = bit(T_191173, 0) - wire T_191282 : UInt<8> - T_191282 := UInt<8>(160) - when T_191280 : T_191282 := UInt<8>(159) - wire T_191283 : UInt<8> - T_191283 := T_191282 - when T_191279 : T_191283 := UInt<8>(158) - wire T_191284 : UInt<8> - T_191284 := T_191283 - when T_191278 : T_191284 := UInt<8>(157) - wire T_191285 : UInt<8> - T_191285 := T_191284 - when T_191277 : T_191285 := UInt<8>(156) - wire T_191286 : UInt<8> - T_191286 := T_191285 - when T_191276 : T_191286 := UInt<8>(155) - wire T_191287 : UInt<8> - T_191287 := T_191286 - when T_191275 : T_191287 := UInt<8>(154) - wire T_191288 : UInt<8> - T_191288 := T_191287 - when T_191274 : T_191288 := UInt<8>(153) - wire T_191289 : UInt<8> - T_191289 := T_191288 - when T_191273 : T_191289 := UInt<8>(152) - wire T_191290 : UInt<8> - T_191290 := T_191289 - when T_191272 : T_191290 := UInt<8>(151) - wire T_191291 : UInt<8> - T_191291 := T_191290 - when T_191271 : T_191291 := UInt<8>(150) - wire T_191292 : UInt<8> - T_191292 := T_191291 - when T_191270 : T_191292 := UInt<8>(149) - wire T_191293 : UInt<8> - T_191293 := T_191292 - when T_191269 : T_191293 := UInt<8>(148) - wire T_191294 : UInt<8> - T_191294 := T_191293 - when T_191268 : T_191294 := UInt<8>(147) - wire T_191295 : UInt<8> - T_191295 := T_191294 - when T_191267 : T_191295 := UInt<8>(146) - wire T_191296 : UInt<8> - T_191296 := T_191295 - when T_191266 : T_191296 := UInt<8>(145) - wire T_191297 : UInt<8> - T_191297 := T_191296 - when T_191265 : T_191297 := UInt<8>(144) - wire T_191298 : UInt<8> - T_191298 := T_191297 - when T_191264 : T_191298 := UInt<8>(143) - wire T_191299 : UInt<8> - T_191299 := T_191298 - when T_191263 : T_191299 := UInt<8>(142) - wire T_191300 : UInt<8> - T_191300 := T_191299 - when T_191262 : T_191300 := UInt<8>(141) - wire T_191301 : UInt<8> - T_191301 := T_191300 - when T_191261 : T_191301 := UInt<8>(140) - wire T_191302 : UInt<8> - T_191302 := T_191301 - when T_191260 : T_191302 := UInt<8>(139) - wire T_191303 : UInt<8> - T_191303 := T_191302 - when T_191259 : T_191303 := UInt<8>(138) - wire T_191304 : UInt<8> - T_191304 := T_191303 - when T_191258 : T_191304 := UInt<8>(137) - wire T_191305 : UInt<8> - T_191305 := T_191304 - when T_191257 : T_191305 := UInt<8>(136) - wire T_191306 : UInt<8> - T_191306 := T_191305 - when T_191256 : T_191306 := UInt<8>(135) - wire T_191307 : UInt<8> - T_191307 := T_191306 - when T_191255 : T_191307 := UInt<8>(134) - wire T_191308 : UInt<8> - T_191308 := T_191307 - when T_191254 : T_191308 := UInt<8>(133) - wire T_191309 : UInt<8> - T_191309 := T_191308 - when T_191253 : T_191309 := UInt<8>(132) - wire T_191310 : UInt<8> - T_191310 := T_191309 - when T_191252 : T_191310 := UInt<8>(131) - wire T_191311 : UInt<8> - T_191311 := T_191310 - when T_191251 : T_191311 := UInt<8>(130) - wire T_191312 : UInt<8> - T_191312 := T_191311 - when T_191250 : T_191312 := UInt<8>(129) - wire T_191313 : UInt<8> - T_191313 := T_191312 - when T_191249 : T_191313 := UInt<8>(128) - wire T_191314 : UInt<8> - T_191314 := T_191313 - when T_191248 : T_191314 := UInt<8>(127) - wire T_191315 : UInt<8> - T_191315 := T_191314 - when T_191247 : T_191315 := UInt<8>(126) - wire T_191316 : UInt<8> - T_191316 := T_191315 - when T_191246 : T_191316 := UInt<8>(125) - wire T_191317 : UInt<8> - T_191317 := T_191316 - when T_191245 : T_191317 := UInt<8>(124) - wire T_191318 : UInt<8> - T_191318 := T_191317 - when T_191244 : T_191318 := UInt<8>(123) - wire T_191319 : UInt<8> - T_191319 := T_191318 - when T_191243 : T_191319 := UInt<8>(122) - wire T_191320 : UInt<8> - T_191320 := T_191319 - when T_191242 : T_191320 := UInt<8>(121) - wire T_191321 : UInt<8> - T_191321 := T_191320 - when T_191241 : T_191321 := UInt<8>(120) - wire T_191322 : UInt<8> - T_191322 := T_191321 - when T_191240 : T_191322 := UInt<8>(119) - wire T_191323 : UInt<8> - T_191323 := T_191322 - when T_191239 : T_191323 := UInt<8>(118) - wire T_191324 : UInt<8> - T_191324 := T_191323 - when T_191238 : T_191324 := UInt<8>(117) - wire T_191325 : UInt<8> - T_191325 := T_191324 - when T_191237 : T_191325 := UInt<8>(116) - wire T_191326 : UInt<8> - T_191326 := T_191325 - when T_191236 : T_191326 := UInt<8>(115) - wire T_191327 : UInt<8> - T_191327 := T_191326 - when T_191235 : T_191327 := UInt<8>(114) - wire T_191328 : UInt<8> - T_191328 := T_191327 - when T_191234 : T_191328 := UInt<8>(113) - wire T_191329 : UInt<8> - T_191329 := T_191328 - when T_191233 : T_191329 := UInt<8>(112) - wire T_191330 : UInt<8> - T_191330 := T_191329 - when T_191232 : T_191330 := UInt<8>(111) - wire T_191331 : UInt<8> - T_191331 := T_191330 - when T_191231 : T_191331 := UInt<8>(110) - wire T_191332 : UInt<8> - T_191332 := T_191331 - when T_191230 : T_191332 := UInt<8>(109) - wire T_191333 : UInt<8> - T_191333 := T_191332 - when T_191229 : T_191333 := UInt<8>(108) - wire T_191334 : UInt<8> - T_191334 := T_191333 - when T_191228 : T_191334 := UInt<8>(107) - wire T_191335 : UInt<8> - T_191335 := T_191334 - when T_191227 : T_191335 := UInt<8>(106) - wire T_191336 : UInt<8> - T_191336 := T_191335 - when T_191226 : T_191336 := UInt<8>(105) - wire T_191337 : UInt<8> - T_191337 := T_191336 - when T_191225 : T_191337 := UInt<8>(104) - wire T_191338 : UInt<8> - T_191338 := T_191337 - when T_191224 : T_191338 := UInt<8>(103) - wire T_191339 : UInt<8> - T_191339 := T_191338 - when T_191223 : T_191339 := UInt<8>(102) - wire T_191340 : UInt<8> - T_191340 := T_191339 - when T_191222 : T_191340 := UInt<8>(101) - wire T_191341 : UInt<8> - T_191341 := T_191340 - when T_191221 : T_191341 := UInt<8>(100) - wire T_191342 : UInt<8> - T_191342 := T_191341 - when T_191220 : T_191342 := UInt<8>(99) - wire T_191343 : UInt<8> - T_191343 := T_191342 - when T_191219 : T_191343 := UInt<8>(98) - wire T_191344 : UInt<8> - T_191344 := T_191343 - when T_191218 : T_191344 := UInt<8>(97) - wire T_191345 : UInt<8> - T_191345 := T_191344 - when T_191217 : T_191345 := UInt<8>(96) - wire T_191346 : UInt<8> - T_191346 := T_191345 - when T_191216 : T_191346 := UInt<8>(95) - wire T_191347 : UInt<8> - T_191347 := T_191346 - when T_191215 : T_191347 := UInt<8>(94) - wire T_191348 : UInt<8> - T_191348 := T_191347 - when T_191214 : T_191348 := UInt<8>(93) - wire T_191349 : UInt<8> - T_191349 := T_191348 - when T_191213 : T_191349 := UInt<8>(92) - wire T_191350 : UInt<8> - T_191350 := T_191349 - when T_191212 : T_191350 := UInt<8>(91) - wire T_191351 : UInt<8> - T_191351 := T_191350 - when T_191211 : T_191351 := UInt<8>(90) - wire T_191352 : UInt<8> - T_191352 := T_191351 - when T_191210 : T_191352 := UInt<8>(89) - wire T_191353 : UInt<8> - T_191353 := T_191352 - when T_191209 : T_191353 := UInt<8>(88) - wire T_191354 : UInt<8> - T_191354 := T_191353 - when T_191208 : T_191354 := UInt<8>(87) - wire T_191355 : UInt<8> - T_191355 := T_191354 - when T_191207 : T_191355 := UInt<8>(86) - wire T_191356 : UInt<8> - T_191356 := T_191355 - when T_191206 : T_191356 := UInt<8>(85) - wire T_191357 : UInt<8> - T_191357 := T_191356 - when T_191205 : T_191357 := UInt<8>(84) - wire T_191358 : UInt<8> - T_191358 := T_191357 - when T_191204 : T_191358 := UInt<8>(83) - wire T_191359 : UInt<8> - T_191359 := T_191358 - when T_191203 : T_191359 := UInt<8>(82) - wire T_191360 : UInt<8> - T_191360 := T_191359 - when T_191202 : T_191360 := UInt<8>(81) - wire T_191361 : UInt<8> - T_191361 := T_191360 - when T_191201 : T_191361 := UInt<8>(80) - wire T_191362 : UInt<8> - T_191362 := T_191361 - when T_191200 : T_191362 := UInt<8>(79) - wire T_191363 : UInt<8> - T_191363 := T_191362 - when T_191199 : T_191363 := UInt<8>(78) - wire T_191364 : UInt<8> - T_191364 := T_191363 - when T_191198 : T_191364 := UInt<8>(77) - wire T_191365 : UInt<8> - T_191365 := T_191364 - when T_191197 : T_191365 := UInt<8>(76) - wire T_191366 : UInt<8> - T_191366 := T_191365 - when T_191196 : T_191366 := UInt<8>(75) - wire T_191367 : UInt<8> - T_191367 := T_191366 - when T_191195 : T_191367 := UInt<8>(74) - wire T_191368 : UInt<8> - T_191368 := T_191367 - when T_191194 : T_191368 := UInt<8>(73) - wire T_191369 : UInt<8> - T_191369 := T_191368 - when T_191193 : T_191369 := UInt<8>(72) - wire T_191370 : UInt<8> - T_191370 := T_191369 - when T_191192 : T_191370 := UInt<8>(71) - wire T_191371 : UInt<8> - T_191371 := T_191370 - when T_191191 : T_191371 := UInt<8>(70) - wire T_191372 : UInt<8> - T_191372 := T_191371 - when T_191190 : T_191372 := UInt<8>(69) - wire T_191373 : UInt<8> - T_191373 := T_191372 - when T_191189 : T_191373 := UInt<8>(68) - wire T_191374 : UInt<8> - T_191374 := T_191373 - when T_191188 : T_191374 := UInt<8>(67) - wire T_191375 : UInt<8> - T_191375 := T_191374 - when T_191187 : T_191375 := UInt<8>(66) - wire T_191376 : UInt<8> - T_191376 := T_191375 - when T_191186 : T_191376 := UInt<8>(65) - wire T_191377 : UInt<8> - T_191377 := T_191376 - when T_191185 : T_191377 := UInt<8>(64) - wire T_191378 : UInt<8> - T_191378 := T_191377 - when T_191184 : T_191378 := UInt<8>(63) - wire T_191379 : UInt<8> - T_191379 := T_191378 - when T_191183 : T_191379 := UInt<8>(62) - wire T_191380 : UInt<8> - T_191380 := T_191379 - when T_191182 : T_191380 := UInt<8>(61) - wire T_191381 : UInt<8> - T_191381 := T_191380 - when T_191181 : T_191381 := UInt<8>(60) - wire T_191382 : UInt<8> - T_191382 := T_191381 - when T_191180 : T_191382 := UInt<8>(59) - wire T_191383 : UInt<8> - T_191383 := T_191382 - when T_191179 : T_191383 := UInt<8>(58) - wire T_191384 : UInt<8> - T_191384 := T_191383 - when T_191178 : T_191384 := UInt<8>(57) - wire T_191385 : UInt<8> - T_191385 := T_191384 - when T_191177 : T_191385 := UInt<8>(56) - wire T_191386 : UInt<8> - T_191386 := T_191385 - when T_191176 : T_191386 := UInt<8>(55) - wire T_191387 : UInt<8> - T_191387 := T_191386 - when T_191175 : T_191387 := UInt<8>(54) - wire estNormPos_dist : UInt<8> - estNormPos_dist := T_191387 - when T_191174 : estNormPos_dist := UInt<8>(53) - node T_191388 = bits(sigSum, 75, 44) - node T_191389 = neq(T_191388, UInt<1>(0)) - node T_191390 = bits(sigSum, 43, 0) - node T_191391 = neq(T_191390, UInt<1>(0)) - node firstReduceSigSum = cat(T_191389, T_191391) - node notSigSum = not(sigSum) - node T_191392 = bits(notSigSum, 75, 44) - node T_191393 = neq(T_191392, UInt<1>(0)) - node T_191394 = bits(notSigSum, 43, 0) - node T_191395 = neq(T_191394, UInt<1>(0)) - node firstReduceNotSigSum = cat(T_191393, T_191395) - node T_191396 = or(CAlignDist_0, doSubMags) - node T_191397 = subw(CAlignDist, UInt<1>(1)) - node T_191398 = bits(T_191397, 5, 0) - wire CDom_estNormDist : UInt<6> - CDom_estNormDist := T_191398 - when T_191396 : CDom_estNormDist := CAlignDist - node T_191399 = not(doSubMags) - node T_191400 = bit(CDom_estNormDist, 5) - node T_191401 = not(T_191400) - node T_191402 = and(T_191399, T_191401) - node T_191403 = asSInt(T_191402) - node T_191404 = bits(sigSum, 161, 76) - node T_191405 = neq(firstReduceSigSum, UInt<1>(0)) - node T_191406 = cat(T_191404, T_191405) - node T_191407 = asSInt(T_191406) - node T_191408 = and(T_191403, T_191407) - node T_191409 = not(doSubMags) - node T_191410 = bit(CDom_estNormDist, 5) - node T_191411 = and(T_191409, T_191410) - node T_191412 = asSInt(T_191411) - node T_191413 = bits(sigSum, 129, 44) - node T_191414 = bit(firstReduceSigSum, 0) - node T_191415 = cat(T_191413, T_191414) - node T_191416 = asSInt(T_191415) - node T_191417 = and(T_191412, T_191416) - node T_191418 = or(T_191408, T_191417) - node T_191419 = bit(CDom_estNormDist, 5) - node T_191420 = not(T_191419) - node T_191421 = and(doSubMags, T_191420) - node T_191422 = asSInt(T_191421) - node T_191423 = bits(notSigSum, 161, 76) - node T_191424 = neq(firstReduceNotSigSum, UInt<1>(0)) - node T_191425 = cat(T_191423, T_191424) - node T_191426 = asSInt(T_191425) - node T_191427 = and(T_191422, T_191426) - node T_191428 = or(T_191418, T_191427) - node T_191429 = bit(CDom_estNormDist, 5) - node T_191430 = and(doSubMags, T_191429) - node T_191431 = asSInt(T_191430) - node T_191432 = bits(notSigSum, 129, 44) - node T_191433 = bit(firstReduceNotSigSum, 0) - node T_191434 = cat(T_191432, T_191433) - node T_191435 = asSInt(T_191434) - node T_191436 = and(T_191431, T_191435) - node T_191437 = or(T_191428, T_191436) - node CDom_firstNormAbsSigSum = asUInt(T_191437) - node T_191438 = bits(sigSum, 108, 44) - node T_191439 = bit(firstReduceNotSigSum, 0) - node T_191440 = not(T_191439) - node T_191441 = bit(firstReduceSigSum, 0) - wire T_191442 : UInt<1> - T_191442 := T_191441 - when doSubMags : T_191442 := T_191440 - node T_191443 = cat(T_191438, T_191442) - node T_191444 = bits(sigSum, 97, 1) - node T_191445 = bit(estNormPos_dist, 4) - node T_191446 = bits(sigSum, 1, 1) - node T_191447 = subw(UInt<86>(0), UInt<7>(86)) - node T_191448 = cat(T_191446, T_191447) - wire T_191449 : UInt<87> - T_191449 := T_191448 - when T_191445 : T_191449 := T_191443 - node T_191450 = bits(sigSum, 97, 12) - node T_191451 = bits(notSigSum, 11, 1) - node T_191452 = eq(T_191451, UInt<1>(0)) - node T_191453 = bits(sigSum, 11, 1) - node T_191454 = neq(T_191453, UInt<1>(0)) - wire T_191455 : UInt<1> - T_191455 := T_191454 - when doSubMags : T_191455 := T_191452 - node T_191456 = cat(T_191450, T_191455) - node T_191457 = bit(estNormPos_dist, 6) - node T_191458 = bit(estNormPos_dist, 5) - node T_191459 = bits(sigSum, 65, 1) - node T_191460 = subw(UInt<22>(0), UInt<5>(22)) - node T_191461 = cat(T_191459, T_191460) - wire T_191462 : UInt<87> - T_191462 := T_191456 - when T_191458 : T_191462 := T_191461 - node T_191463 = bit(estNormPos_dist, 5) - node T_191464 = bits(sigSum, 33, 1) - node T_191465 = subw(UInt<54>(0), UInt<6>(54)) - node T_191466 = cat(T_191464, T_191465) - wire T_191467 : UInt<87> - T_191467 := T_191466 - when T_191463 : T_191467 := T_191449 - wire notCDom_pos_firstNormAbsSigSum : UInt<87> - notCDom_pos_firstNormAbsSigSum := T_191467 - when T_191457 : notCDom_pos_firstNormAbsSigSum := T_191462 - node T_191468 = bits(notSigSum, 107, 44) - node T_191469 = bit(firstReduceNotSigSum, 0) - node T_191470 = cat(T_191468, T_191469) - node T_191471 = bits(notSigSum, 97, 1) - node T_191472 = bit(estNormPos_dist, 4) - node T_191473 = bits(notSigSum, 2, 1) - node T_191474 = dshl(T_191473, UInt<7>(86)) - wire T_191475 : UInt<130> - T_191475 := T_191474 - when T_191472 : T_191475 := T_191470 - node T_191476 = bits(notSigSum, 98, 12) - node T_191477 = bits(notSigSum, 11, 1) - node T_191478 = neq(T_191477, UInt<1>(0)) - node T_191479 = cat(T_191476, T_191478) - node T_191480 = bit(estNormPos_dist, 6) - node T_191481 = bit(estNormPos_dist, 5) - node T_191482 = bits(notSigSum, 66, 1) - node T_191483 = dshl(T_191482, UInt<5>(22)) - wire T_191484 : UInt<88> - T_191484 := T_191479 - when T_191481 : T_191484 := T_191483 - node T_191485 = bit(estNormPos_dist, 5) - node T_191486 = bits(notSigSum, 34, 1) - node T_191487 = dshl(T_191486, UInt<6>(54)) - wire T_191488 : UInt<98> - T_191488 := T_191487 - when T_191485 : T_191488 := T_191475 - wire notCDom_neg_cFirstNormAbsSigSum : UInt<98> - notCDom_neg_cFirstNormAbsSigSum := T_191488 - when T_191480 : notCDom_neg_cFirstNormAbsSigSum := T_191484 - node notCDom_signSigSum = bit(sigSum, 109) - node T_191489 = not(isZeroC) - node T_191490 = and(doSubMags, T_191489) - wire doNegSignSum : UInt<1> - doNegSignSum := notCDom_signSigSum - when isCDominant : doNegSignSum := T_191490 - wire T_191491 : UInt<8> - T_191491 := estNormPos_dist - when notCDom_signSigSum : T_191491 := estNormPos_dist - wire estNormDist : UInt<8> - estNormDist := T_191491 - when isCDominant : estNormDist := CDom_estNormDist - wire T_191492 : UInt<98> - T_191492 := notCDom_neg_cFirstNormAbsSigSum - when isCDominant : T_191492 := CDom_firstNormAbsSigSum - wire T_191493 : UInt<87> - T_191493 := notCDom_pos_firstNormAbsSigSum - when isCDominant : T_191493 := CDom_firstNormAbsSigSum - wire cFirstNormAbsSigSum : UInt<87> - cFirstNormAbsSigSum := T_191493 - when notCDom_signSigSum : cFirstNormAbsSigSum := T_191492 - node T_191494 = not(isCDominant) - node T_191495 = not(notCDom_signSigSum) - node T_191496 = and(T_191494, T_191495) - node doIncrSig = and(T_191496, doSubMags) - node estNormDist_5 = bits(estNormDist, 4, 0) - node normTo2ShiftDist = not(estNormDist_5) - node T_191497 = dshr(SInt<33>(-4294967296), normTo2ShiftDist) - node T_191498 = bits(T_191497, 31, 1) - node T_191499 = bits(T_191498, 15, 0) - node T_191500 = dshl(UInt<8>(255), UInt<4>(8)) - node T_191501 = xor(UInt<16>(65535), T_191500) - node T_191502 = dshr(T_191499, UInt<4>(8)) - node T_191503 = and(T_191502, T_191501) - node T_191504 = bits(T_191499, 7, 0) - node T_191505 = dshl(T_191504, UInt<4>(8)) - node T_191506 = not(T_191501) - node T_191507 = and(T_191505, T_191506) - node T_191508 = or(T_191503, T_191507) - node T_191509 = bits(T_191501, 11, 0) - node T_191510 = dshl(T_191509, UInt<3>(4)) - node T_191511 = xor(T_191501, T_191510) - node T_191512 = dshr(T_191508, UInt<3>(4)) - node T_191513 = and(T_191512, T_191511) - node T_191514 = bits(T_191508, 11, 0) - node T_191515 = dshl(T_191514, UInt<3>(4)) - node T_191516 = not(T_191511) - node T_191517 = and(T_191515, T_191516) - node T_191518 = or(T_191513, T_191517) - node T_191519 = bits(T_191511, 13, 0) - node T_191520 = dshl(T_191519, UInt<2>(2)) - node T_191521 = xor(T_191511, T_191520) - node T_191522 = dshr(T_191518, UInt<2>(2)) - node T_191523 = and(T_191522, T_191521) - node T_191524 = bits(T_191518, 13, 0) - node T_191525 = dshl(T_191524, UInt<2>(2)) - node T_191526 = not(T_191521) - node T_191527 = and(T_191525, T_191526) - node T_191528 = or(T_191523, T_191527) - node T_191529 = bits(T_191521, 14, 0) - node T_191530 = dshl(T_191529, UInt<1>(1)) - node T_191531 = xor(T_191521, T_191530) - node T_191532 = dshr(T_191528, UInt<1>(1)) - node T_191533 = and(T_191532, T_191531) - node T_191534 = bits(T_191528, 14, 0) - node T_191535 = dshl(T_191534, UInt<1>(1)) - node T_191536 = not(T_191531) - node T_191537 = and(T_191535, T_191536) - node T_191538 = or(T_191533, T_191537) - node T_191539 = bits(T_191498, 30, 16) - node T_191540 = bits(T_191539, 7, 0) - node T_191541 = dshl(UInt<4>(15), UInt<3>(4)) - node T_191542 = xor(UInt<8>(255), T_191541) - node T_191543 = dshr(T_191540, UInt<3>(4)) - node T_191544 = and(T_191543, T_191542) - node T_191545 = bits(T_191540, 3, 0) - node T_191546 = dshl(T_191545, UInt<3>(4)) - node T_191547 = not(T_191542) - node T_191548 = and(T_191546, T_191547) - node T_191549 = or(T_191544, T_191548) - node T_191550 = bits(T_191542, 5, 0) - node T_191551 = dshl(T_191550, UInt<2>(2)) - node T_191552 = xor(T_191542, T_191551) - node T_191553 = dshr(T_191549, UInt<2>(2)) - node T_191554 = and(T_191553, T_191552) - node T_191555 = bits(T_191549, 5, 0) - node T_191556 = dshl(T_191555, UInt<2>(2)) - node T_191557 = not(T_191552) - node T_191558 = and(T_191556, T_191557) - node T_191559 = or(T_191554, T_191558) - node T_191560 = bits(T_191552, 6, 0) - node T_191561 = dshl(T_191560, UInt<1>(1)) - node T_191562 = xor(T_191552, T_191561) - node T_191563 = dshr(T_191559, UInt<1>(1)) - node T_191564 = and(T_191563, T_191562) - node T_191565 = bits(T_191559, 6, 0) - node T_191566 = dshl(T_191565, UInt<1>(1)) - node T_191567 = not(T_191562) - node T_191568 = and(T_191566, T_191567) - node T_191569 = or(T_191564, T_191568) - node T_191570 = bits(T_191539, 14, 8) - node T_191571 = bits(T_191570, 3, 0) - node T_191572 = bits(T_191571, 1, 0) - node T_191573 = bits(T_191572, 0, 0) - node T_191574 = bits(T_191572, 1, 1) - node T_191575 = cat(T_191573, T_191574) - node T_191576 = bits(T_191571, 3, 2) - node T_191577 = bits(T_191576, 0, 0) - node T_191578 = bits(T_191576, 1, 1) - node T_191579 = cat(T_191577, T_191578) - node T_191580 = cat(T_191575, T_191579) - node T_191581 = bits(T_191570, 6, 4) - node T_191582 = bits(T_191581, 1, 0) - node T_191583 = bits(T_191582, 0, 0) - node T_191584 = bits(T_191582, 1, 1) - node T_191585 = cat(T_191583, T_191584) - node T_191586 = bits(T_191581, 2, 2) - node T_191587 = cat(T_191585, T_191586) - node T_191588 = cat(T_191580, T_191587) - node T_191589 = cat(T_191569, T_191588) - node T_191590 = cat(T_191538, T_191589) - node absSigSumExtraMask = cat(T_191590, UInt<1>(1)) - node T_191591 = bits(cFirstNormAbsSigSum, 87, 1) - node T_191592 = dshr(T_191591, normTo2ShiftDist) - node T_191593 = bits(cFirstNormAbsSigSum, 31, 0) - node T_191594 = not(T_191593) - node T_191595 = and(T_191594, absSigSumExtraMask) - node T_191596 = eq(T_191595, UInt<1>(0)) - node T_191597 = bits(cFirstNormAbsSigSum, 31, 0) - node T_191598 = and(T_191597, absSigSumExtraMask) - node T_191599 = neq(T_191598, UInt<1>(0)) - wire T_191600 : UInt<1> - T_191600 := T_191599 - when doIncrSig : T_191600 := T_191596 - node T_191601 = cat(T_191592, T_191600) - node sigX3 = bits(T_191601, 56, 0) - node T_191602 = bits(sigX3, 56, 55) - node sigX3Shift1 = eq(T_191602, UInt<1>(0)) - node sExpX3 = subw(sExpSum, estNormDist) - node T_191603 = bits(sigX3, 56, 54) - node isZeroY = eq(T_191603, UInt<1>(0)) - node T_191604 = not(isZeroY) - node T_191605 = xor(signProd, doNegSignSum) - node signY = and(T_191604, T_191605) - node sExpX3_13 = bits(sExpX3, 12, 0) - node T_191606 = bit(sExpX3, 13) - node T_191607 = subw(UInt<56>(0), UInt<6>(56)) - node T_191608 = not(sExpX3_13) - node T_191609 = dshr(SInt<8193>(-1090748135619415929462984244733782862448264161996232692431832786189721331849119295216264234525201987223957291796157025273109870820177184063610979765077554799078906298842192989538609825228048205159696851613591638196771886542609324560121290553901886301017900252535799917200010079600026535836800905297805880952350501630195475653911005312364560014847426035293551245843928918752768696279344088055617515694349945406677825140814900616105920256438504578013326493565836047242407382442812245131517757519164899226365743722432277368075027627883045206501792761700945699168497257879683851737049996900961120515655050115561271491492515342105748966629547032786321505730828430221664970324396138635251626409516168005427623435996308921691446181187406395310665404885739434832877428167407495370993511868756359970390117021823616749458620969857006263612082706715408157066575137281027022310927564910276759160520878304632411049364568754920967322982459184763427383790272448438018526977764941072715611580434690827459339991961414242741410599117426060556483763756314527611362658628383368621157993638020878537675545336789915694234433955666315070087213535470255670312004130725495834508357439653828936077080978550578912967907352780054935621561090795845172954115972927479877527738560008204118558930004777748727761853813510493840581861598652211605960308356405941821189714037868726219481498727603653616298856174822413033485438785324024751419417183012281078209729303537372804574372095228703622776363945290869806258422355148507571039619387449629866808188769662815778153079393179093143648340761738581819563002994422790754955061288818308430079648693232179158765918035565216157115402992120276155607873107937477466841528362987708699450152031231862594203085693838944657061346236704234026821102958954951197087076546186622796294536451620756509351018906023773821539532776208676978589731966330308893304665169436185078350641568336944530051437491311298834367265238595404904273455928723949525227184617404367854754610474377019768025576605881038077270707717942221977090385438585844095492116099852538903974655703943973086090930596963360767529964938414598185705963754561497355827813623833288906309004288017321424808663962671333528009232758350873059614118723781422101460198615747386855096896089189180441339558524822867541113212638793675567650340362970031930023397828465318547238244232028015189689660418822976000815437610652254270163595650875433851147123214227266605403581781469090806576468950587661997186505665475715792896), T_191608) - node T_191610 = bits(T_191609, 1027, 974) - node T_191611 = bits(T_191610, 31, 0) - node T_191612 = dshl(UInt<16>(65535), UInt<5>(16)) - node T_191613 = xor(UInt<32>(4294967295), T_191612) - node T_191614 = dshr(T_191611, UInt<5>(16)) - node T_191615 = and(T_191614, T_191613) - node T_191616 = bits(T_191611, 15, 0) - node T_191617 = dshl(T_191616, UInt<5>(16)) - node T_191618 = not(T_191613) - node T_191619 = and(T_191617, T_191618) - node T_191620 = or(T_191615, T_191619) - node T_191621 = bits(T_191613, 23, 0) - node T_191622 = dshl(T_191621, UInt<4>(8)) - node T_191623 = xor(T_191613, T_191622) - node T_191624 = dshr(T_191620, UInt<4>(8)) - node T_191625 = and(T_191624, T_191623) - node T_191626 = bits(T_191620, 23, 0) - node T_191627 = dshl(T_191626, UInt<4>(8)) - node T_191628 = not(T_191623) - node T_191629 = and(T_191627, T_191628) - node T_191630 = or(T_191625, T_191629) - node T_191631 = bits(T_191623, 27, 0) - node T_191632 = dshl(T_191631, UInt<3>(4)) - node T_191633 = xor(T_191623, T_191632) - node T_191634 = dshr(T_191630, UInt<3>(4)) - node T_191635 = and(T_191634, T_191633) - node T_191636 = bits(T_191630, 27, 0) - node T_191637 = dshl(T_191636, UInt<3>(4)) - node T_191638 = not(T_191633) - node T_191639 = and(T_191637, T_191638) - node T_191640 = or(T_191635, T_191639) - node T_191641 = bits(T_191633, 29, 0) - node T_191642 = dshl(T_191641, UInt<2>(2)) - node T_191643 = xor(T_191633, T_191642) - node T_191644 = dshr(T_191640, UInt<2>(2)) - node T_191645 = and(T_191644, T_191643) - node T_191646 = bits(T_191640, 29, 0) - node T_191647 = dshl(T_191646, UInt<2>(2)) - node T_191648 = not(T_191643) - node T_191649 = and(T_191647, T_191648) - node T_191650 = or(T_191645, T_191649) - node T_191651 = bits(T_191643, 30, 0) - node T_191652 = dshl(T_191651, UInt<1>(1)) - node T_191653 = xor(T_191643, T_191652) - node T_191654 = dshr(T_191650, UInt<1>(1)) - node T_191655 = and(T_191654, T_191653) - node T_191656 = bits(T_191650, 30, 0) - node T_191657 = dshl(T_191656, UInt<1>(1)) - node T_191658 = not(T_191653) - node T_191659 = and(T_191657, T_191658) - node T_191660 = or(T_191655, T_191659) - node T_191661 = bits(T_191610, 53, 32) - node T_191662 = bits(T_191661, 15, 0) - node T_191663 = dshl(UInt<8>(255), UInt<4>(8)) - node T_191664 = xor(UInt<16>(65535), T_191663) - node T_191665 = dshr(T_191662, UInt<4>(8)) - node T_191666 = and(T_191665, T_191664) - node T_191667 = bits(T_191662, 7, 0) - node T_191668 = dshl(T_191667, UInt<4>(8)) - node T_191669 = not(T_191664) - node T_191670 = and(T_191668, T_191669) - node T_191671 = or(T_191666, T_191670) - node T_191672 = bits(T_191664, 11, 0) - node T_191673 = dshl(T_191672, UInt<3>(4)) - node T_191674 = xor(T_191664, T_191673) - node T_191675 = dshr(T_191671, UInt<3>(4)) - node T_191676 = and(T_191675, T_191674) - node T_191677 = bits(T_191671, 11, 0) - node T_191678 = dshl(T_191677, UInt<3>(4)) - node T_191679 = not(T_191674) - node T_191680 = and(T_191678, T_191679) - node T_191681 = or(T_191676, T_191680) - node T_191682 = bits(T_191674, 13, 0) - node T_191683 = dshl(T_191682, UInt<2>(2)) - node T_191684 = xor(T_191674, T_191683) - node T_191685 = dshr(T_191681, UInt<2>(2)) - node T_191686 = and(T_191685, T_191684) - node T_191687 = bits(T_191681, 13, 0) - node T_191688 = dshl(T_191687, UInt<2>(2)) - node T_191689 = not(T_191684) - node T_191690 = and(T_191688, T_191689) - node T_191691 = or(T_191686, T_191690) - node T_191692 = bits(T_191684, 14, 0) - node T_191693 = dshl(T_191692, UInt<1>(1)) - node T_191694 = xor(T_191684, T_191693) - node T_191695 = dshr(T_191691, UInt<1>(1)) - node T_191696 = and(T_191695, T_191694) - node T_191697 = bits(T_191691, 14, 0) - node T_191698 = dshl(T_191697, UInt<1>(1)) - node T_191699 = not(T_191694) - node T_191700 = and(T_191698, T_191699) - node T_191701 = or(T_191696, T_191700) - node T_191702 = bits(T_191661, 21, 16) - node T_191703 = bits(T_191702, 3, 0) - node T_191704 = bits(T_191703, 1, 0) - node T_191705 = bits(T_191704, 0, 0) - node T_191706 = bits(T_191704, 1, 1) - node T_191707 = cat(T_191705, T_191706) - node T_191708 = bits(T_191703, 3, 2) - node T_191709 = bits(T_191708, 0, 0) - node T_191710 = bits(T_191708, 1, 1) - node T_191711 = cat(T_191709, T_191710) - node T_191712 = cat(T_191707, T_191711) - node T_191713 = bits(T_191702, 5, 4) - node T_191714 = bits(T_191713, 0, 0) - node T_191715 = bits(T_191713, 1, 1) - node T_191716 = cat(T_191714, T_191715) - node T_191717 = cat(T_191712, T_191716) - node T_191718 = cat(T_191701, T_191717) - node T_191719 = cat(T_191660, T_191718) - node T_191720 = bit(sigX3, 55) - node T_191721 = or(T_191719, T_191720) - node T_191722 = cat(T_191721, UInt<2>(3)) - node roundMask = or(T_191607, T_191722) - node T_191723 = dshr(roundMask, UInt<1>(1)) - node T_191724 = not(T_191723) - node roundPosMask = and(T_191724, roundMask) - node T_191725 = and(sigX3, roundPosMask) - node roundPosBit = neq(T_191725, UInt<1>(0)) - node T_191726 = dshr(roundMask, UInt<1>(1)) - node T_191727 = and(sigX3, T_191726) - node anyRoundExtra = neq(T_191727, UInt<1>(0)) - node T_191728 = not(sigX3) - node T_191729 = dshr(roundMask, UInt<1>(1)) - node T_191730 = and(T_191728, T_191729) - node allRoundExtra = eq(T_191730, UInt<1>(0)) - node anyRound = or(roundPosBit, anyRoundExtra) - node allRound = and(roundPosBit, allRoundExtra) - wire roundDirectUp : UInt<1> - roundDirectUp := roundingMode_max - when signY : roundDirectUp := roundingMode_min - node T_191731 = not(doIncrSig) - node T_191732 = and(T_191731, roundingMode_nearest_even) - node T_191733 = and(T_191732, roundPosBit) - node T_191734 = and(T_191733, anyRoundExtra) - node T_191735 = not(doIncrSig) - node T_191736 = and(T_191735, roundDirectUp) - node T_191737 = and(T_191736, anyRound) - node T_191738 = or(T_191734, T_191737) - node T_191739 = and(doIncrSig, allRound) - node T_191740 = or(T_191738, T_191739) - node T_191741 = and(doIncrSig, roundingMode_nearest_even) - node T_191742 = and(T_191741, roundPosBit) - node T_191743 = or(T_191740, T_191742) - node T_191744 = and(doIncrSig, roundDirectUp) - node roundUp = or(T_191743, T_191744) - node T_191745 = not(roundPosBit) - node T_191746 = and(roundingMode_nearest_even, T_191745) - node T_191747 = and(T_191746, allRoundExtra) - node T_191748 = and(roundingMode_nearest_even, roundPosBit) - node T_191749 = not(anyRoundExtra) - node T_191750 = and(T_191748, T_191749) - wire roundEven : UInt<1> - roundEven := T_191750 - when doIncrSig : roundEven := T_191747 - node T_191751 = not(allRound) - wire roundInexact : UInt<1> - roundInexact := anyRound - when doIncrSig : roundInexact := T_191751 - node T_191752 = or(sigX3, roundMask) - node T_191753 = dshr(T_191752, UInt<2>(2)) - node T_191754 = addw(T_191753, UInt<1>(1)) - node roundUp_sigY3 = bits(T_191754, 54, 0) - node T_191755 = not(roundUp) - node T_191756 = not(roundEven) - node T_191757 = and(T_191755, T_191756) - node T_191758 = not(roundMask) - node T_191759 = and(sigX3, T_191758) - node T_191760 = dshr(T_191759, UInt<2>(2)) - wire T_191761 : UInt<1> - T_191761 := UInt<1>(0) - when T_191757 : T_191761 := T_191760 - wire T_191762 : UInt<1> - T_191762 := UInt<1>(0) - when roundUp : T_191762 := roundUp_sigY3 - node T_191763 = or(T_191761, T_191762) - node T_191764 = dshr(roundMask, UInt<1>(1)) - node T_191765 = not(T_191764) - node T_191766 = and(roundUp_sigY3, T_191765) - wire T_191767 : UInt<1> - T_191767 := UInt<1>(0) - when roundEven : T_191767 := T_191766 - node sigY3 = or(T_191763, T_191767) - node T_191768 = bit(sigY3, 54) - node T_191769 = addw(sExpX3, UInt<1>(1)) - wire T_191770 : UInt<1> - T_191770 := UInt<1>(0) - when T_191768 : T_191770 := T_191769 - node T_191771 = bit(sigY3, 53) - wire T_191772 : UInt<1> - T_191772 := UInt<1>(0) - when T_191771 : T_191772 := sExpX3 - node T_191773 = or(T_191770, T_191772) - node T_191774 = bits(sigY3, 54, 53) - node T_191775 = eq(T_191774, UInt<1>(0)) - node T_191776 = subw(sExpX3, UInt<1>(1)) - wire T_191777 : UInt<1> - T_191777 := UInt<1>(0) - when T_191775 : T_191777 := T_191776 - node sExpY = or(T_191773, T_191777) - node expY = bits(sExpY, 11, 0) - node T_191778 = bits(sigY3, 51, 0) - node T_191779 = bits(sigY3, 52, 1) - wire fractY : UInt<52> - fractY := T_191779 - when sigX3Shift1 : fractY := T_191778 - node T_191780 = bits(sExpY, 12, 10) - node overflowY = eq(T_191780, UInt<2>(3)) - node T_191781 = bit(sExpY, 12) - node T_191782 = bits(sExpY, 11, 0) - node T_191783 = lt(T_191782, UInt<10>(974)) - node totalUnderflowY = or(T_191781, T_191783) - node T_191784 = bit(sExpX3, 13) - wire T_191785 : UInt<11> - T_191785 := UInt<11>(1025) - when sigX3Shift1 : T_191785 := UInt<11>(1026) - node T_191786 = leq(sExpX3_13, T_191785) - node T_191787 = or(T_191784, T_191786) - node underflowY = and(roundInexact, T_191787) - node T_191788 = and(roundingMode_min, signY) - node T_191789 = or(roundingMode_nearest_even, T_191788) - node T_191790 = not(signY) - node T_191791 = and(roundingMode_max, T_191790) - node overflowY_roundMagUp = or(T_191789, T_191791) - node mulSpecial = or(isSpecialA, isSpecialB) - node addSpecial = or(mulSpecial, isSpecialC) - node notSpecial_addZeros = and(isZeroProd, isZeroC) - node T_191792 = not(addSpecial) - node T_191793 = not(notSpecial_addZeros) - node commonCase = and(T_191792, T_191793) - node T_191794 = and(isInfA, isZeroB) - node T_191795 = and(isZeroA, isInfB) - node T_191796 = or(T_191794, T_191795) - node T_191797 = not(isNaNA) - node T_191798 = not(isNaNB) - node T_191799 = and(T_191797, T_191798) - node T_191800 = or(isInfA, isInfB) - node T_191801 = and(T_191799, T_191800) - node T_191802 = and(T_191801, isInfC) - node T_191803 = and(T_191802, doSubMags) - node notSigNaN_invalid = or(T_191796, T_191803) - node T_191804 = or(isSigNaNA, isSigNaNB) - node T_191805 = or(T_191804, isSigNaNC) - node invalid = or(T_191805, notSigNaN_invalid) - node overflow = and(commonCase, overflowY) - node underflow = and(commonCase, underflowY) - node T_191806 = and(commonCase, roundInexact) - node inexact = or(overflow, T_191806) - node T_191807 = or(notSpecial_addZeros, isZeroY) - node notSpecial_isZeroOut = or(T_191807, totalUnderflowY) - node T_191808 = not(overflowY_roundMagUp) - node isSatOut = and(overflow, T_191808) - node T_191809 = or(isInfA, isInfB) - node T_191810 = or(T_191809, isInfC) - node T_191811 = and(overflow, overflowY_roundMagUp) - node notNaN_isInfOut = or(T_191810, T_191811) - node T_191812 = or(isNaNA, isNaNB) - node T_191813 = or(T_191812, isNaNC) - node isNaNOut = or(T_191813, notSigNaN_invalid) - node T_191814 = eq(doSubMags, UInt<1>(0)) - node T_191815 = and(T_191814, opSignC) - node T_191816 = and(isNaNOut, UInt<1>(1)) - node T_191817 = or(T_191815, T_191816) - node T_191818 = eq(isSpecialC, UInt<1>(0)) - node T_191819 = and(mulSpecial, T_191818) - node T_191820 = and(T_191819, signProd) - node T_191821 = or(T_191817, T_191820) - node T_191822 = eq(mulSpecial, UInt<1>(0)) - node T_191823 = and(T_191822, isSpecialC) - node T_191824 = and(T_191823, opSignC) - node T_191825 = or(T_191821, T_191824) - node T_191826 = eq(mulSpecial, UInt<1>(0)) - node T_191827 = and(T_191826, notSpecial_addZeros) - node T_191828 = and(T_191827, doSubMags) - node T_191829 = and(T_191828, UInt<1>(0)) - node T_191830 = or(T_191825, T_191829) - node T_191831 = and(commonCase, signY) - node signOut = or(T_191830, T_191831) - wire T_191832 : UInt<12> - T_191832 := UInt<12>(0) - when notSpecial_isZeroOut : T_191832 := UInt<12>(3584) - node T_191833 = not(T_191832) - node T_191834 = and(expY, T_191833) - wire T_191835 : UInt<12> - T_191835 := UInt<12>(0) - when isSatOut : T_191835 := UInt<11>(1024) - node T_191836 = not(T_191835) - node T_191837 = and(T_191834, T_191836) - wire T_191838 : UInt<12> - T_191838 := UInt<12>(0) - when notNaN_isInfOut : T_191838 := UInt<10>(512) - node T_191839 = not(T_191838) - node T_191840 = and(T_191837, T_191839) - wire T_191841 : UInt<12> - T_191841 := UInt<12>(0) - when isSatOut : T_191841 := UInt<12>(3071) - node T_191842 = or(T_191840, T_191841) - wire T_191843 : UInt<12> - T_191843 := UInt<12>(0) - when notNaN_isInfOut : T_191843 := UInt<12>(3072) - node T_191844 = or(T_191842, T_191843) - wire T_191845 : UInt<12> - T_191845 := UInt<12>(0) - when isNaNOut : T_191845 := UInt<12>(3584) - node expOut = or(T_191844, T_191845) - node T_191846 = or(isNaNOut, isSatOut) - node T_191847 = subw(UInt<52>(0), UInt<6>(52)) - node fractOut = or(fractY, T_191847) - node T_191848 = cat(expOut, fractOut) - node T_191849 = cat(signOut, T_191848) - out := T_191849 - node T_191850 = cat(invalid, UInt<1>(0)) - node T_191851 = cat(underflow, inexact) - node T_191852 = cat(overflow, T_191851) - node T_191853 = cat(T_191850, T_191852) - exceptionFlags := T_191853 - module FPUFMAPipe_160964 : - input in : {valid : UInt<1>, bits : {cmd : UInt<5>, ldst : UInt<1>, wen : UInt<1>, ren1 : UInt<1>, ren2 : UInt<1>, ren3 : UInt<1>, swap12 : UInt<1>, swap23 : UInt<1>, single : UInt<1>, fromint : UInt<1>, toint : UInt<1>, fastpipe : UInt<1>, fma : UInt<1>, div : UInt<1>, sqrt : UInt<1>, round : UInt<1>, wflags : UInt<1>, rm : UInt<3>, typ : UInt<2>, in1 : UInt<65>, in2 : UInt<65>, in3 : UInt<65>}} - output out : {valid : UInt<1>, bits : {data : UInt<65>, exc : UInt<5>}} - - node one = shl(UInt<1>(1), 63) - node T_191854 = bit(in.bits.in1, 64) - node T_191855 = bit(in.bits.in2, 64) - node T_191856 = xor(T_191854, T_191855) - node zero = shl(T_191856, 64) - reg valid : UInt<1> - valid := in.valid - reg in : {cmd : UInt<5>, ldst : UInt<1>, wen : UInt<1>, ren1 : UInt<1>, ren2 : UInt<1>, ren3 : UInt<1>, swap12 : UInt<1>, swap23 : UInt<1>, single : UInt<1>, fromint : UInt<1>, toint : UInt<1>, fastpipe : UInt<1>, fma : UInt<1>, div : UInt<1>, sqrt : UInt<1>, round : UInt<1>, wflags : UInt<1>, rm : UInt<3>, typ : UInt<2>, in1 : UInt<65>, in2 : UInt<65>, in3 : UInt<65>} - when in.valid : - in := in.bits - node T_191857 = bit(in.bits.cmd, 1) - node T_191858 = or(in.bits.ren3, in.bits.swap23) - node T_191859 = and(T_191857, T_191858) - node T_191860 = bit(in.bits.cmd, 0) - node T_191861 = cat(T_191859, T_191860) - in.cmd := T_191861 - when in.bits.swap23 : in.in2 := one - node T_191862 = or(in.bits.ren3, in.bits.swap23) - - node T_191863 = eq(T_191862, UInt<1>(0)) - when T_191863 : in.in3 := zero - inst fma of mulAddSubRecodedFloatN_160940 - fma.op := in.cmd - fma.roundingMode := in.rm - fma.a := in.in1 - fma.b := in.in2 - fma.c := in.in3 - wire res : {data : UInt<65>, exc : UInt<5>} - res.data := fma.out - res.exc := fma.exceptionFlags - reg T_191864 : UInt<1> - onreset T_191864 := UInt<1>(0) - T_191864 := valid - reg T_191865 : {data : UInt<65>, exc : UInt<5>} - when valid : T_191865 := res - reg T_191866 : UInt<1> - onreset T_191866 := UInt<1>(0) - T_191866 := T_191864 - reg T_191867 : {data : UInt<65>, exc : UInt<5>} - when T_191864 : T_191867 := T_191865 - T_191868.valid <> T_191866 - T_191868.bits <> T_191867 - out := T_191868 - module recodedFloatNCompare : - input a : UInt<65> - input b : UInt<65> - output a_eq_b : UInt<1> - output a_lt_b : UInt<1> - output a_eq_b_invalid : UInt<1> - output a_lt_b_invalid : UInt<1> - - node signA = bit(a, 64) - node expA = bits(a, 63, 52) - node sigA = bits(a, 51, 0) - node codeA = bits(expA, 11, 9) - node T_191869 = eq(codeA, UInt<1>(0)) - node T_191870 = eq(T_191869, UInt<1>(0)) - node isZeroA = eq(T_191870, UInt<1>(0)) - node isNaNA = eq(codeA, UInt<1>(-1)) - node T_191871 = bit(sigA, 51) - node T_191872 = eq(T_191871, UInt<1>(0)) - node isSignalingNaNA = and(isNaNA, T_191872) - node signB = bit(b, 64) - node expB = bits(b, 63, 52) - node sigB = bits(b, 51, 0) - node codeB = bits(expB, 11, 9) - node T_191873 = eq(codeB, UInt<1>(0)) - node T_191874 = eq(T_191873, UInt<1>(0)) - node isZeroB = eq(T_191874, UInt<1>(0)) - node isNaNB = eq(codeB, UInt<1>(-1)) - node T_191875 = bit(sigB, 51) - node T_191876 = eq(T_191875, UInt<1>(0)) - node isSignalingNaNB = and(isNaNB, T_191876) - node signEqual = eq(signA, signB) - node expEqual = eq(expA, expB) - node T_191877 = eq(sigA, sigB) - node magEqual = and(expEqual, T_191877) - node T_191878 = lt(expA, expB) - node T_191879 = lt(sigA, sigB) - node T_191880 = and(expEqual, T_191879) - node magLess = or(T_191878, T_191880) - node T_191881 = or(isSignalingNaNA, isSignalingNaNB) - a_eq_b_invalid := T_191881 - node T_191882 = or(isNaNA, isNaNB) - a_lt_b_invalid := T_191882 - node T_191883 = eq(isNaNA, UInt<1>(0)) - node T_191884 = and(T_191883, magEqual) - node T_191885 = or(isZeroA, signEqual) - node T_191886 = and(T_191884, T_191885) - a_eq_b := T_191886 - node T_191887 = eq(a_lt_b_invalid, UInt<1>(0)) - node T_191888 = eq(magLess, UInt<1>(0)) - node T_191889 = and(signA, T_191888) - node T_191890 = eq(magEqual, UInt<1>(0)) - node T_191891 = and(T_191889, T_191890) - node T_191892 = and(isZeroA, isZeroB) - node T_191893 = eq(T_191892, UInt<1>(0)) - wire T_191894 : UInt<1> - T_191894 := magLess - when signA : T_191894 := T_191893 - wire T_191895 : UInt<1> - T_191895 := T_191894 - when signB : T_191895 := T_191891 - node T_191896 = and(T_191887, T_191895) - a_lt_b := T_191896 - module FPToInt : - input in : {valid : UInt<1>, bits : {cmd : UInt<5>, ldst : UInt<1>, wen : UInt<1>, ren1 : UInt<1>, ren2 : UInt<1>, ren3 : UInt<1>, swap12 : UInt<1>, swap23 : UInt<1>, single : UInt<1>, fromint : UInt<1>, toint : UInt<1>, fastpipe : UInt<1>, fma : UInt<1>, div : UInt<1>, sqrt : UInt<1>, round : UInt<1>, wflags : UInt<1>, rm : UInt<3>, typ : UInt<2>, in1 : UInt<65>, in2 : UInt<65>, in3 : UInt<65>}} - output as_double : {cmd : UInt<5>, ldst : UInt<1>, wen : UInt<1>, ren1 : UInt<1>, ren2 : UInt<1>, ren3 : UInt<1>, swap12 : UInt<1>, swap23 : UInt<1>, single : UInt<1>, fromint : UInt<1>, toint : UInt<1>, fastpipe : UInt<1>, fma : UInt<1>, div : UInt<1>, sqrt : UInt<1>, round : UInt<1>, wflags : UInt<1>, rm : UInt<3>, typ : UInt<2>, in1 : UInt<65>, in2 : UInt<65>, in3 : UInt<65>} - output out : {valid : UInt<1>, bits : {lt : UInt<1>, store : UInt<64>, toint : UInt<64>, exc : UInt<5>}} - - reg in : {cmd : UInt<5>, ldst : UInt<1>, wen : UInt<1>, ren1 : UInt<1>, ren2 : UInt<1>, ren3 : UInt<1>, swap12 : UInt<1>, swap23 : UInt<1>, single : UInt<1>, fromint : UInt<1>, toint : UInt<1>, fastpipe : UInt<1>, fma : UInt<1>, div : UInt<1>, sqrt : UInt<1>, round : UInt<1>, wflags : UInt<1>, rm : UInt<3>, typ : UInt<2>, in1 : UInt<65>, in2 : UInt<65>, in3 : UInt<65>} - reg valid : UInt<1> - valid := in.valid - when in.valid : - in := in.bits - - - node T_191897 = eq(in.bits.ldst, UInt<1>(0)) - node T_191898 = and(in.bits.single, T_191897) - node T_191899 = and(in.bits.cmd, UInt<4>(12)) - node T_191900 = eq(UInt<4>(12), T_191899) - node T_191901 = eq(T_191900, UInt<1>(0)) - node T_191902 = and(T_191898, T_191901) - when T_191902 : - node T_191903 = bit(in.bits.in1, 32) - node T_191904 = bits(in.bits.in1, 22, 0) - node T_191905 = bits(in.bits.in1, 31, 23) - node T_191906 = bits(in.bits.in1, 31, 29) - node T_191907 = bits(in.bits.in1, 30, 23) - node T_191908 = eq(T_191906, UInt<1>(-1)) - node T_191909 = bit(T_191904, 22) - node T_191910 = eq(T_191909, UInt<1>(0)) - node T_191911 = and(T_191908, T_191910) - node T_191912 = lt(T_191906, UInt<1>(1)) - node T_191913 = lt(T_191906, UInt<3>(4)) - node T_191914 = cat(UInt<3>(7), T_191907) - node T_191915 = lt(T_191906, UInt<3>(6)) - node T_191916 = cat(UInt<4>(8), T_191907) - node T_191917 = lt(T_191906, UInt<3>(7)) - wire T_191918 : UInt<12> - T_191918 := UInt<12>(3584) - when T_191917 : T_191918 := UInt<12>(3072) - wire T_191919 : UInt<12> - T_191919 := T_191918 - when T_191915 : T_191919 := T_191916 - wire T_191920 : UInt<12> - T_191920 := T_191919 - when T_191913 : T_191920 := T_191914 - wire T_191921 : UInt<12> - T_191921 := T_191920 - when T_191912 : T_191921 := T_191907 - node T_191922 = subw(UInt<52>(0), UInt<6>(52)) - node T_191923 = dshl(T_191904, UInt<5>(29)) - node T_191924 = or(T_191922, T_191923) - node T_191925 = cat(T_191921, T_191924) - node T_191926 = cat(T_191903, T_191925) - node T_191927 = dshl(T_191911, UInt<3>(4)) - in.in1 := T_191926 - node T_191928 = bit(in.bits.in2, 32) - node T_191929 = bits(in.bits.in2, 22, 0) - node T_191930 = bits(in.bits.in2, 31, 23) - node T_191931 = bits(in.bits.in2, 31, 29) - node T_191932 = bits(in.bits.in2, 30, 23) - node T_191933 = eq(T_191931, UInt<1>(-1)) - node T_191934 = bit(T_191929, 22) - node T_191935 = eq(T_191934, UInt<1>(0)) - node T_191936 = and(T_191933, T_191935) - node T_191937 = lt(T_191931, UInt<1>(1)) - node T_191938 = lt(T_191931, UInt<3>(4)) - node T_191939 = cat(UInt<3>(7), T_191932) - node T_191940 = lt(T_191931, UInt<3>(6)) - node T_191941 = cat(UInt<4>(8), T_191932) - node T_191942 = lt(T_191931, UInt<3>(7)) - wire T_191943 : UInt<12> - T_191943 := UInt<12>(3584) - when T_191942 : T_191943 := UInt<12>(3072) - wire T_191944 : UInt<12> - T_191944 := T_191943 - when T_191940 : T_191944 := T_191941 - wire T_191945 : UInt<12> - T_191945 := T_191944 - when T_191938 : T_191945 := T_191939 - wire T_191946 : UInt<12> - T_191946 := T_191945 - when T_191937 : T_191946 := T_191932 - node T_191947 = subw(UInt<52>(0), UInt<6>(52)) - node T_191948 = dshl(T_191929, UInt<5>(29)) - node T_191949 = or(T_191947, T_191948) - node T_191950 = cat(T_191946, T_191949) - node T_191951 = cat(T_191928, T_191950) - node T_191952 = dshl(T_191936, UInt<3>(4)) - in.in2 := T_191951 - node T_191953 = bit(in.in1, 32) - node T_191954 = bits(in.in1, 31, 23) - node T_191955 = bits(in.in1, 22, 0) - node T_191956 = bits(T_191954, 6, 0) - node T_191957 = lt(T_191956, UInt<2>(2)) - node T_191958 = bits(T_191954, 8, 6) - node T_191959 = eq(T_191958, UInt<1>(1)) - node T_191960 = bits(T_191954, 8, 7) - node T_191961 = eq(T_191960, UInt<1>(1)) - node T_191962 = and(T_191961, T_191957) - node T_191963 = or(T_191959, T_191962) - node T_191964 = bits(T_191954, 8, 7) - node T_191965 = eq(T_191964, UInt<1>(1)) - node T_191966 = eq(T_191957, UInt<1>(0)) - node T_191967 = and(T_191965, T_191966) - node T_191968 = bits(T_191954, 8, 7) - node T_191969 = eq(T_191968, UInt<2>(2)) - node T_191970 = or(T_191967, T_191969) - node T_191971 = bits(T_191954, 8, 7) - node T_191972 = eq(T_191971, UInt<2>(3)) - node T_191973 = bit(T_191954, 6) - node T_191974 = and(T_191972, T_191973) - node T_191975 = bits(T_191954, 4, 0) - node T_191976 = subw(UInt<2>(2), T_191975) - node T_191977 = cat(UInt<1>(1), T_191955) - node T_191978 = dshr(T_191977, T_191976) - node T_191979 = bits(T_191978, 22, 0) - node T_191980 = bits(T_191954, 7, 0) - node T_191981 = subw(T_191980, UInt<8>(129)) - node T_191982 = subw(UInt<8>(0), UInt<4>(8)) - wire T_191983 : UInt<8> - T_191983 := T_191982 - when T_191970 : T_191983 := T_191981 - node T_191984 = or(T_191970, T_191974) - wire T_191985 : UInt<1> - T_191985 := UInt<1>(0) - when T_191963 : T_191985 := T_191979 - wire T_191986 : UInt<1> - T_191986 := T_191985 - when T_191984 : T_191986 := T_191955 - node T_191987 = cat(T_191983, T_191986) - node unrec_s = cat(T_191953, T_191987) - node T_191988 = bit(in.in1, 64) - node T_191989 = bits(in.in1, 63, 52) - node T_191990 = bits(in.in1, 51, 0) - node T_191991 = bits(T_191989, 9, 0) - node T_191992 = lt(T_191991, UInt<2>(2)) - node T_191993 = bits(T_191989, 11, 9) - node T_191994 = eq(T_191993, UInt<1>(1)) - node T_191995 = bits(T_191989, 11, 10) - node T_191996 = eq(T_191995, UInt<1>(1)) - node T_191997 = and(T_191996, T_191992) - node T_191998 = or(T_191994, T_191997) - node T_191999 = bits(T_191989, 11, 10) - node T_192000 = eq(T_191999, UInt<1>(1)) - node T_192001 = eq(T_191992, UInt<1>(0)) - node T_192002 = and(T_192000, T_192001) - node T_192003 = bits(T_191989, 11, 10) - node T_192004 = eq(T_192003, UInt<2>(2)) - node T_192005 = or(T_192002, T_192004) - node T_192006 = bits(T_191989, 11, 10) - node T_192007 = eq(T_192006, UInt<2>(3)) - node T_192008 = bit(T_191989, 9) - node T_192009 = and(T_192007, T_192008) - node T_192010 = bits(T_191989, 5, 0) - node T_192011 = subw(UInt<2>(2), T_192010) - node T_192012 = cat(UInt<1>(1), T_191990) - node T_192013 = dshr(T_192012, T_192011) - node T_192014 = bits(T_192013, 51, 0) - node T_192015 = bits(T_191989, 10, 0) - node T_192016 = subw(T_192015, UInt<11>(1025)) - node T_192017 = subw(UInt<11>(0), UInt<4>(11)) - wire T_192018 : UInt<11> - T_192018 := T_192017 - when T_192005 : T_192018 := T_192016 - node T_192019 = or(T_192005, T_192009) - wire T_192020 : UInt<1> - T_192020 := UInt<1>(0) - when T_191998 : T_192020 := T_192014 - wire T_192021 : UInt<1> - T_192021 := T_192020 - when T_192019 : T_192021 := T_191990 - node T_192022 = cat(T_192018, T_192021) - node unrec_d = cat(T_191988, T_192022) - node T_192023 = bit(unrec_s, 31) - node T_192024 = subw(UInt<32>(0), UInt<6>(32)) - node T_192025 = cat(T_192024, unrec_s) - wire unrec_out : UInt<13> - unrec_out := unrec_d - when in.single : unrec_out := T_192025 - node T_192026 = bit(in.in1, 32) - node T_192027 = bits(in.in1, 31, 23) - node T_192028 = bits(in.in1, 22, 0) - node T_192029 = bits(T_192027, 8, 6) - node T_192030 = bits(T_192029, 2, 1) - node T_192031 = eq(T_192030, UInt<2>(3)) - node T_192032 = bits(T_192027, 6, 0) - node T_192033 = lt(T_192032, UInt<2>(2)) - node T_192034 = eq(T_192029, UInt<1>(1)) - node T_192035 = eq(T_192030, UInt<1>(1)) - node T_192036 = and(T_192035, T_192033) - node T_192037 = or(T_192034, T_192036) - node T_192038 = eq(T_192030, UInt<1>(1)) - node T_192039 = eq(T_192033, UInt<1>(0)) - node T_192040 = and(T_192038, T_192039) - node T_192041 = eq(T_192030, UInt<2>(2)) - node T_192042 = or(T_192040, T_192041) - node T_192043 = eq(T_192029, UInt<1>(0)) - node T_192044 = bit(T_192027, 6) - node T_192045 = eq(T_192044, UInt<1>(0)) - node T_192046 = and(T_192031, T_192045) - node T_192047 = eq(T_192029, UInt<1>(-1)) - node T_192048 = bit(T_192028, 22) - node T_192049 = eq(T_192048, UInt<1>(0)) - node T_192050 = and(T_192047, T_192049) - node T_192051 = bit(T_192028, 22) - node T_192052 = and(T_192047, T_192051) - node T_192053 = eq(T_192026, UInt<1>(0)) - node T_192054 = and(T_192046, T_192053) - node T_192055 = eq(T_192026, UInt<1>(0)) - node T_192056 = and(T_192042, T_192055) - node T_192057 = eq(T_192026, UInt<1>(0)) - node T_192058 = and(T_192037, T_192057) - node T_192059 = eq(T_192026, UInt<1>(0)) - node T_192060 = and(T_192043, T_192059) - node T_192061 = and(T_192043, T_192026) - node T_192062 = and(T_192037, T_192026) - node T_192063 = and(T_192042, T_192026) - node T_192064 = and(T_192046, T_192026) - node T_192065 = cat(T_192052, T_192050) - node T_192066 = cat(T_192056, T_192058) - node T_192067 = cat(T_192054, T_192066) - node T_192068 = cat(T_192065, T_192067) - node T_192069 = cat(T_192060, T_192061) - node T_192070 = cat(T_192063, T_192064) - node T_192071 = cat(T_192062, T_192070) - node T_192072 = cat(T_192069, T_192071) - node classify_s = cat(T_192068, T_192072) - node T_192073 = bit(in.in1, 64) - node T_192074 = bits(in.in1, 63, 52) - node T_192075 = bits(in.in1, 51, 0) - node T_192076 = bits(T_192074, 11, 9) - node T_192077 = bits(T_192076, 2, 1) - node T_192078 = eq(T_192077, UInt<2>(3)) - node T_192079 = bits(T_192074, 9, 0) - node T_192080 = lt(T_192079, UInt<2>(2)) - node T_192081 = eq(T_192076, UInt<1>(1)) - node T_192082 = eq(T_192077, UInt<1>(1)) - node T_192083 = and(T_192082, T_192080) - node T_192084 = or(T_192081, T_192083) - node T_192085 = eq(T_192077, UInt<1>(1)) - node T_192086 = eq(T_192080, UInt<1>(0)) - node T_192087 = and(T_192085, T_192086) - node T_192088 = eq(T_192077, UInt<2>(2)) - node T_192089 = or(T_192087, T_192088) - node T_192090 = eq(T_192076, UInt<1>(0)) - node T_192091 = bit(T_192074, 9) - node T_192092 = eq(T_192091, UInt<1>(0)) - node T_192093 = and(T_192078, T_192092) - node T_192094 = eq(T_192076, UInt<1>(-1)) - node T_192095 = bit(T_192075, 51) - node T_192096 = eq(T_192095, UInt<1>(0)) - node T_192097 = and(T_192094, T_192096) - node T_192098 = bit(T_192075, 51) - node T_192099 = and(T_192094, T_192098) - node T_192100 = eq(T_192073, UInt<1>(0)) - node T_192101 = and(T_192093, T_192100) - node T_192102 = eq(T_192073, UInt<1>(0)) - node T_192103 = and(T_192089, T_192102) - node T_192104 = eq(T_192073, UInt<1>(0)) - node T_192105 = and(T_192084, T_192104) - node T_192106 = eq(T_192073, UInt<1>(0)) - node T_192107 = and(T_192090, T_192106) - node T_192108 = and(T_192090, T_192073) - node T_192109 = and(T_192084, T_192073) - node T_192110 = and(T_192089, T_192073) - node T_192111 = and(T_192093, T_192073) - node T_192112 = cat(T_192099, T_192097) - node T_192113 = cat(T_192103, T_192105) - node T_192114 = cat(T_192101, T_192113) - node T_192115 = cat(T_192112, T_192114) - node T_192116 = cat(T_192107, T_192108) - node T_192117 = cat(T_192110, T_192111) - node T_192118 = cat(T_192109, T_192117) - node T_192119 = cat(T_192116, T_192118) - node classify_d = cat(T_192115, T_192119) - wire classify_out : UInt<10> - classify_out := classify_d - when in.single : classify_out := classify_s - inst dcmp of recodedFloatNCompare - dcmp.a := in.in1 - dcmp.b := in.in2 - node T_192120 = not(in.rm) - node T_192121 = cat(dcmp.a_lt_b, dcmp.a_eq_b) - node T_192122 = and(T_192120, T_192121) - node T_192123 = eq(T_192122, UInt<1>(0)) - node dcmp_out = eq(T_192123, UInt<1>(0)) - node T_192124 = not(in.rm) - node T_192125 = cat(dcmp.a_lt_b_invalid, dcmp.a_eq_b_invalid) - node T_192126 = and(T_192124, T_192125) - node T_192127 = eq(T_192126, UInt<1>(0)) - node T_192128 = eq(T_192127, UInt<1>(0)) - node dcmp_exc = dshl(T_192128, UInt<3>(4)) - node T_192129 = xor(in.typ, UInt<1>(1)) - node T_192130 = bit(in.in1, 64) - node T_192131 = bits(in.in1, 63, 52) - node T_192132 = bits(in.in1, 51, 0) - node T_192133 = bits(T_192131, 10, 0) - node T_192134 = eq(T_192133, UInt<1>(-1)) - node T_192135 = eq(T_192134, UInt<1>(0)) - node T_192136 = bit(T_192131, 11) - node T_192137 = eq(T_192136, UInt<1>(0)) - node T_192138 = bits(T_192131, 11, 9) - node T_192139 = eq(T_192138, UInt<1>(0)) - node T_192140 = bits(T_192131, 11, 10) - node T_192141 = eq(T_192140, UInt<1>(-1)) - node T_192142 = bits(T_192131, 5, 0) - wire T_192143 : UInt<6> - T_192143 := T_192142 - when T_192137 : T_192143 := UInt<1>(0) - node T_192144 = eq(T_192137, UInt<1>(0)) - node T_192145 = cat(T_192144, T_192132) - node T_192146 = dshl(T_192145, T_192143) - node T_192147 = bits(T_192146, 115, 52) - node T_192148 = bits(T_192146, 52, 51) - node T_192149 = bits(T_192146, 50, 0) - node T_192150 = eq(T_192149, UInt<1>(0)) - node T_192151 = eq(T_192150, UInt<1>(0)) - node T_192152 = cat(T_192148, T_192151) - node T_192153 = bits(T_192152, 1, 0) - node T_192154 = eq(T_192153, UInt<1>(0)) - node T_192155 = eq(T_192154, UInt<1>(0)) - node T_192156 = eq(T_192135, UInt<1>(0)) - node T_192157 = and(T_192156, T_192155) - node T_192158 = bits(T_192152, 2, 1) - node T_192159 = eq(T_192158, UInt<1>(-1)) - node T_192160 = bits(T_192152, 1, 0) - node T_192161 = eq(T_192160, UInt<1>(-1)) - node T_192162 = or(T_192159, T_192161) - wire T_192163 : UInt<1> - T_192163 := T_192162 - when T_192137 : T_192163 := T_192157 - node T_192164 = eq(T_192139, UInt<1>(0)) - wire T_192165 : UInt<1> - T_192165 := T_192155 - when T_192137 : T_192165 := T_192164 - node T_192166 = eq(in.rm, UInt<2>(0)) - node T_192167 = eq(in.rm, UInt<2>(2)) - node T_192168 = and(T_192130, T_192165) - node T_192169 = eq(in.rm, UInt<2>(3)) - node T_192170 = eq(T_192130, UInt<1>(0)) - node T_192171 = and(T_192170, T_192165) - wire T_192172 : UInt<1> - T_192172 := UInt<1>(0) - when T_192169 : T_192172 := T_192171 - wire T_192173 : UInt<1> - T_192173 := T_192172 - when T_192167 : T_192173 := T_192168 - wire T_192174 : UInt<1> - T_192174 := T_192173 - when T_192166 : T_192174 := T_192163 - node T_192175 = not(T_192147) - wire T_192176 : UInt<64> - T_192176 := T_192147 - when T_192130 : T_192176 := T_192175 - node T_192177 = xor(T_192174, T_192130) - node T_192178 = addw(T_192176, UInt<1>(1)) - wire T_192179 : UInt<64> - T_192179 := T_192176 - when T_192177 : T_192179 := T_192178 - node T_192180 = asSInt(T_192179) - node T_192181 = eq(T_192147, UInt<1>(-1)) - node T_192182 = and(T_192174, T_192181) - node T_192183 = eq(T_192130, UInt<1>(0)) - node T_192184 = and(T_192183, T_192182) - node T_192185 = eq(T_192130, UInt<1>(0)) - node T_192186 = or(T_192185, T_192174) - node T_192187 = eq(T_192147, UInt<1>(0)) - node T_192188 = eq(T_192187, UInt<1>(0)) - node T_192189 = or(T_192186, T_192188) - node T_192190 = bits(T_192131, 10, 0) - node T_192191 = eq(T_192129, UInt<2>(0)) - node T_192192 = and(T_192130, T_192174) - node T_192193 = eq(T_192190, UInt<5>(31)) - node T_192194 = geq(T_192190, UInt<6>(32)) - wire T_192195 : UInt<1> - T_192195 := T_192194 - when T_192193 : T_192195 := T_192182 - node T_192196 = or(T_192130, T_192195) - wire T_192197 : UInt<1> - T_192197 := T_192196 - when T_192137 : T_192197 := T_192192 - node T_192198 = eq(T_192129, UInt<2>(1)) - node T_192199 = eq(T_192190, UInt<5>(30)) - node T_192200 = eq(T_192190, UInt<5>(31)) - node T_192201 = geq(T_192190, UInt<6>(32)) - wire T_192202 : UInt<1> - T_192202 := T_192201 - when T_192200 : T_192202 := T_192189 - wire T_192203 : UInt<1> - T_192203 := T_192202 - when T_192199 : T_192203 := T_192184 - wire T_192204 : UInt<1> - T_192204 := T_192203 - when T_192137 : T_192204 := UInt<1>(0) - node T_192205 = eq(T_192129, UInt<2>(2)) - node T_192206 = and(T_192130, T_192174) - node T_192207 = eq(T_192190, UInt<6>(63)) - node T_192208 = geq(T_192190, UInt<7>(64)) - wire T_192209 : UInt<1> - T_192209 := T_192208 - when T_192207 : T_192209 := T_192182 - node T_192210 = or(T_192130, T_192209) - wire T_192211 : UInt<1> - T_192211 := T_192210 - when T_192137 : T_192211 := T_192206 - node T_192212 = eq(T_192190, UInt<6>(62)) - node T_192213 = eq(T_192190, UInt<6>(63)) - node T_192214 = geq(T_192190, UInt<7>(64)) - wire T_192215 : UInt<1> - T_192215 := T_192214 - when T_192213 : T_192215 := T_192189 - wire T_192216 : UInt<1> - T_192216 := T_192215 - when T_192212 : T_192216 := T_192184 - wire T_192217 : UInt<1> - T_192217 := T_192216 - when T_192137 : T_192217 := UInt<1>(0) - wire T_192218 : UInt<1> - T_192218 := T_192217 - when T_192205 : T_192218 := T_192211 - wire T_192219 : UInt<1> - T_192219 := T_192218 - when T_192198 : T_192219 := T_192204 - wire T_192220 : UInt<1> - T_192220 := T_192219 - when T_192191 : T_192220 := T_192197 - node T_192221 = or(T_192141, T_192220) - node T_192222 = eq(T_192129, UInt<2>(3)) - node T_192223 = and(T_192222, T_192130) - node T_192224 = eq(T_192129, UInt<2>(1)) - node T_192225 = and(T_192224, T_192130) - node T_192226 = eq(T_192129, UInt<2>(3)) - node T_192227 = eq(T_192130, UInt<1>(0)) - node T_192228 = and(T_192226, T_192227) - node T_192229 = eq(T_192129, UInt<2>(1)) - node T_192230 = eq(T_192130, UInt<1>(0)) - node T_192231 = and(T_192229, T_192230) - wire T_192232 : SInt<1> - T_192232 := SInt<1>(-1) - when T_192231 : T_192232 := SInt<32>(2147483647) - wire T_192233 : SInt<1> - T_192233 := T_192232 - when T_192228 : T_192233 := SInt<64>(9223372036854775807) - wire T_192234 : SInt<1> - T_192234 := T_192233 - when T_192225 : T_192234 := SInt<32>(-2147483648) - wire T_192235 : SInt<1> - T_192235 := T_192234 - when T_192223 : T_192235 := SInt<64>(-9223372036854775808) - node T_192236 = eq(T_192221, UInt<1>(0)) - node T_192237 = and(T_192155, T_192236) - wire T_192238 : SInt<64> - T_192238 := T_192180 - when T_192221 : T_192238 := T_192235 - node T_192239 = cat(UInt<3>(0), T_192237) - node T_192240 = cat(T_192221, T_192239) - node T_192241 = bit(in.rm, 0) - wire T_192242 : UInt<13> - T_192242 := unrec_out - when T_192241 : T_192242 := classify_out - out.bits.toint := T_192242 - out.bits.store := unrec_out - out.bits.exc := UInt<1>(0) - - - node T_192243 = and(in.cmd, UInt<4>(12)) - node T_192244 = eq(UInt<3>(4), T_192243) - when T_192244 : - out.bits.toint := dcmp_out - out.bits.exc := dcmp_exc - - - node T_192245 = and(in.cmd, UInt<4>(12)) - node T_192246 = eq(UInt<4>(8), T_192245) - when T_192246 : - node T_192247 = bit(in.typ, 1) - node T_192248 = bits(T_192238, 31, 0) - node T_192249 = asSInt(T_192248) - wire T_192250 : SInt<32> - T_192250 := T_192249 - when T_192247 : T_192250 := T_192238 - out.bits.toint := T_192250 - out.bits.exc := T_192240 - out.valid := valid - out.bits.lt := dcmp.a_lt_b - as_double := in - module IntToFP : - input in : {valid : UInt<1>, bits : {cmd : UInt<5>, ldst : UInt<1>, wen : UInt<1>, ren1 : UInt<1>, ren2 : UInt<1>, ren3 : UInt<1>, swap12 : UInt<1>, swap23 : UInt<1>, single : UInt<1>, fromint : UInt<1>, toint : UInt<1>, fastpipe : UInt<1>, fma : UInt<1>, div : UInt<1>, sqrt : UInt<1>, round : UInt<1>, wflags : UInt<1>, rm : UInt<3>, typ : UInt<2>, in1 : UInt<65>, in2 : UInt<65>, in3 : UInt<65>}} - output out : {valid : UInt<1>, bits : {data : UInt<65>, exc : UInt<5>}} - - reg T_192251 : UInt<1> - onreset T_192251 := UInt<1>(0) - T_192251 := in.valid - reg T_192252 : {cmd : UInt<5>, ldst : UInt<1>, wen : UInt<1>, ren1 : UInt<1>, ren2 : UInt<1>, ren3 : UInt<1>, swap12 : UInt<1>, swap23 : UInt<1>, single : UInt<1>, fromint : UInt<1>, toint : UInt<1>, fastpipe : UInt<1>, fma : UInt<1>, div : UInt<1>, sqrt : UInt<1>, round : UInt<1>, wflags : UInt<1>, rm : UInt<3>, typ : UInt<2>, in1 : UInt<65>, in2 : UInt<65>, in3 : UInt<65>} - when in.valid : T_192252 := in.bits - in.valid <> T_192251 - in.bits <> T_192252 - wire mux : {data : UInt<65>, exc : UInt<5>} - mux.exc := UInt<1>(0) - node T_192253 = bit(in.bits.in1, 63) - node T_192254 = bits(in.bits.in1, 62, 52) - node T_192255 = bits(in.bits.in1, 51, 0) - node T_192256 = eq(T_192254, UInt<1>(0)) - node T_192257 = eq(T_192255, UInt<1>(0)) - node T_192258 = and(T_192256, T_192257) - node T_192259 = eq(T_192257, UInt<1>(0)) - node T_192260 = and(T_192256, T_192259) - node T_192261 = shl(T_192255, 12) - node T_192262 = bit(T_192261, 63) - node T_192263 = bit(T_192261, 62) - node T_192264 = bit(T_192261, 61) - node T_192265 = bit(T_192261, 60) - node T_192266 = bit(T_192261, 59) - node T_192267 = bit(T_192261, 58) - node T_192268 = bit(T_192261, 57) - node T_192269 = bit(T_192261, 56) - node T_192270 = bit(T_192261, 55) - node T_192271 = bit(T_192261, 54) - node T_192272 = bit(T_192261, 53) - node T_192273 = bit(T_192261, 52) - node T_192274 = bit(T_192261, 51) - node T_192275 = bit(T_192261, 50) - node T_192276 = bit(T_192261, 49) - node T_192277 = bit(T_192261, 48) - node T_192278 = bit(T_192261, 47) - node T_192279 = bit(T_192261, 46) - node T_192280 = bit(T_192261, 45) - node T_192281 = bit(T_192261, 44) - node T_192282 = bit(T_192261, 43) - node T_192283 = bit(T_192261, 42) - node T_192284 = bit(T_192261, 41) - node T_192285 = bit(T_192261, 40) - node T_192286 = bit(T_192261, 39) - node T_192287 = bit(T_192261, 38) - node T_192288 = bit(T_192261, 37) - node T_192289 = bit(T_192261, 36) - node T_192290 = bit(T_192261, 35) - node T_192291 = bit(T_192261, 34) - node T_192292 = bit(T_192261, 33) - node T_192293 = bit(T_192261, 32) - node T_192294 = bit(T_192261, 31) - node T_192295 = bit(T_192261, 30) - node T_192296 = bit(T_192261, 29) - node T_192297 = bit(T_192261, 28) - node T_192298 = bit(T_192261, 27) - node T_192299 = bit(T_192261, 26) - node T_192300 = bit(T_192261, 25) - node T_192301 = bit(T_192261, 24) - node T_192302 = bit(T_192261, 23) - node T_192303 = bit(T_192261, 22) - node T_192304 = bit(T_192261, 21) - node T_192305 = bit(T_192261, 20) - node T_192306 = bit(T_192261, 19) - node T_192307 = bit(T_192261, 18) - node T_192308 = bit(T_192261, 17) - node T_192309 = bit(T_192261, 16) - node T_192310 = bit(T_192261, 15) - node T_192311 = bit(T_192261, 14) - node T_192312 = bit(T_192261, 13) - node T_192313 = bit(T_192261, 12) - node T_192314 = bit(T_192261, 11) - node T_192315 = bit(T_192261, 10) - node T_192316 = bit(T_192261, 9) - node T_192317 = bit(T_192261, 8) - node T_192318 = bit(T_192261, 7) - node T_192319 = bit(T_192261, 6) - node T_192320 = bit(T_192261, 5) - node T_192321 = bit(T_192261, 4) - node T_192322 = bit(T_192261, 3) - node T_192323 = bit(T_192261, 2) - node T_192324 = bit(T_192261, 1) - wire T_192325 : UInt<1> - T_192325 := T_192324 - when T_192323 : T_192325 := UInt<2>(2) - wire T_192326 : UInt<1> - T_192326 := T_192325 - when T_192322 : T_192326 := UInt<2>(3) - wire T_192327 : UInt<1> - T_192327 := T_192326 - when T_192321 : T_192327 := UInt<3>(4) - wire T_192328 : UInt<1> - T_192328 := T_192327 - when T_192320 : T_192328 := UInt<3>(5) - wire T_192329 : UInt<1> - T_192329 := T_192328 - when T_192319 : T_192329 := UInt<3>(6) - wire T_192330 : UInt<1> - T_192330 := T_192329 - when T_192318 : T_192330 := UInt<3>(7) - wire T_192331 : UInt<1> - T_192331 := T_192330 - when T_192317 : T_192331 := UInt<4>(8) - wire T_192332 : UInt<1> - T_192332 := T_192331 - when T_192316 : T_192332 := UInt<4>(9) - wire T_192333 : UInt<1> - T_192333 := T_192332 - when T_192315 : T_192333 := UInt<4>(10) - wire T_192334 : UInt<1> - T_192334 := T_192333 - when T_192314 : T_192334 := UInt<4>(11) - wire T_192335 : UInt<1> - T_192335 := T_192334 - when T_192313 : T_192335 := UInt<4>(12) - wire T_192336 : UInt<1> - T_192336 := T_192335 - when T_192312 : T_192336 := UInt<4>(13) - wire T_192337 : UInt<1> - T_192337 := T_192336 - when T_192311 : T_192337 := UInt<4>(14) - wire T_192338 : UInt<1> - T_192338 := T_192337 - when T_192310 : T_192338 := UInt<4>(15) - wire T_192339 : UInt<1> - T_192339 := T_192338 - when T_192309 : T_192339 := UInt<5>(16) - wire T_192340 : UInt<1> - T_192340 := T_192339 - when T_192308 : T_192340 := UInt<5>(17) - wire T_192341 : UInt<1> - T_192341 := T_192340 - when T_192307 : T_192341 := UInt<5>(18) - wire T_192342 : UInt<1> - T_192342 := T_192341 - when T_192306 : T_192342 := UInt<5>(19) - wire T_192343 : UInt<1> - T_192343 := T_192342 - when T_192305 : T_192343 := UInt<5>(20) - wire T_192344 : UInt<1> - T_192344 := T_192343 - when T_192304 : T_192344 := UInt<5>(21) - wire T_192345 : UInt<1> - T_192345 := T_192344 - when T_192303 : T_192345 := UInt<5>(22) - wire T_192346 : UInt<1> - T_192346 := T_192345 - when T_192302 : T_192346 := UInt<5>(23) - wire T_192347 : UInt<1> - T_192347 := T_192346 - when T_192301 : T_192347 := UInt<5>(24) - wire T_192348 : UInt<1> - T_192348 := T_192347 - when T_192300 : T_192348 := UInt<5>(25) - wire T_192349 : UInt<1> - T_192349 := T_192348 - when T_192299 : T_192349 := UInt<5>(26) - wire T_192350 : UInt<1> - T_192350 := T_192349 - when T_192298 : T_192350 := UInt<5>(27) - wire T_192351 : UInt<1> - T_192351 := T_192350 - when T_192297 : T_192351 := UInt<5>(28) - wire T_192352 : UInt<1> - T_192352 := T_192351 - when T_192296 : T_192352 := UInt<5>(29) - wire T_192353 : UInt<1> - T_192353 := T_192352 - when T_192295 : T_192353 := UInt<5>(30) - wire T_192354 : UInt<1> - T_192354 := T_192353 - when T_192294 : T_192354 := UInt<5>(31) - wire T_192355 : UInt<1> - T_192355 := T_192354 - when T_192293 : T_192355 := UInt<6>(32) - wire T_192356 : UInt<1> - T_192356 := T_192355 - when T_192292 : T_192356 := UInt<6>(33) - wire T_192357 : UInt<1> - T_192357 := T_192356 - when T_192291 : T_192357 := UInt<6>(34) - wire T_192358 : UInt<1> - T_192358 := T_192357 - when T_192290 : T_192358 := UInt<6>(35) - wire T_192359 : UInt<1> - T_192359 := T_192358 - when T_192289 : T_192359 := UInt<6>(36) - wire T_192360 : UInt<1> - T_192360 := T_192359 - when T_192288 : T_192360 := UInt<6>(37) - wire T_192361 : UInt<1> - T_192361 := T_192360 - when T_192287 : T_192361 := UInt<6>(38) - wire T_192362 : UInt<1> - T_192362 := T_192361 - when T_192286 : T_192362 := UInt<6>(39) - wire T_192363 : UInt<1> - T_192363 := T_192362 - when T_192285 : T_192363 := UInt<6>(40) - wire T_192364 : UInt<1> - T_192364 := T_192363 - when T_192284 : T_192364 := UInt<6>(41) - wire T_192365 : UInt<1> - T_192365 := T_192364 - when T_192283 : T_192365 := UInt<6>(42) - wire T_192366 : UInt<1> - T_192366 := T_192365 - when T_192282 : T_192366 := UInt<6>(43) - wire T_192367 : UInt<1> - T_192367 := T_192366 - when T_192281 : T_192367 := UInt<6>(44) - wire T_192368 : UInt<1> - T_192368 := T_192367 - when T_192280 : T_192368 := UInt<6>(45) - wire T_192369 : UInt<1> - T_192369 := T_192368 - when T_192279 : T_192369 := UInt<6>(46) - wire T_192370 : UInt<1> - T_192370 := T_192369 - when T_192278 : T_192370 := UInt<6>(47) - wire T_192371 : UInt<1> - T_192371 := T_192370 - when T_192277 : T_192371 := UInt<6>(48) - wire T_192372 : UInt<1> - T_192372 := T_192371 - when T_192276 : T_192372 := UInt<6>(49) - wire T_192373 : UInt<1> - T_192373 := T_192372 - when T_192275 : T_192373 := UInt<6>(50) - wire T_192374 : UInt<1> - T_192374 := T_192373 - when T_192274 : T_192374 := UInt<6>(51) - wire T_192375 : UInt<1> - T_192375 := T_192374 - when T_192273 : T_192375 := UInt<6>(52) - wire T_192376 : UInt<1> - T_192376 := T_192375 - when T_192272 : T_192376 := UInt<6>(53) - wire T_192377 : UInt<1> - T_192377 := T_192376 - when T_192271 : T_192377 := UInt<6>(54) - wire T_192378 : UInt<1> - T_192378 := T_192377 - when T_192270 : T_192378 := UInt<6>(55) - wire T_192379 : UInt<1> - T_192379 := T_192378 - when T_192269 : T_192379 := UInt<6>(56) - wire T_192380 : UInt<1> - T_192380 := T_192379 - when T_192268 : T_192380 := UInt<6>(57) - wire T_192381 : UInt<1> - T_192381 := T_192380 - when T_192267 : T_192381 := UInt<6>(58) - wire T_192382 : UInt<1> - T_192382 := T_192381 - when T_192266 : T_192382 := UInt<6>(59) - wire T_192383 : UInt<1> - T_192383 := T_192382 - when T_192265 : T_192383 := UInt<6>(60) - wire T_192384 : UInt<1> - T_192384 := T_192383 - when T_192264 : T_192384 := UInt<6>(61) - wire T_192385 : UInt<1> - T_192385 := T_192384 - when T_192263 : T_192385 := UInt<6>(62) - wire T_192386 : UInt<1> - T_192386 := T_192385 - when T_192262 : T_192386 := UInt<6>(63) - node T_192387 = not(T_192386) - node T_192388 = dshl(T_192261, T_192387) - node T_192389 = subw(UInt<6>(0), UInt<3>(6)) - node T_192390 = not(T_192387) - node T_192391 = cat(T_192389, T_192390) - node T_192392 = bits(T_192388, 62, 11) - wire T_192393 : UInt<7> - T_192393 := T_192391 - when T_192257 : T_192393 := UInt<1>(0) - wire T_192394 : UInt<11> - T_192394 := T_192254 - when T_192256 : T_192394 := T_192393 - wire T_192395 : UInt<1> - T_192395 := UInt<1>(1) - when T_192260 : T_192395 := UInt<2>(2) - node T_192396 = or(UInt<11>(1024), T_192395) - wire T_192397 : UInt<11> - T_192397 := T_192396 - when T_192258 : T_192397 := UInt<1>(0) - node T_192398 = addw(T_192394, T_192397) - node T_192399 = bits(T_192398, 11, 10) - node T_192400 = eq(T_192399, UInt<1>(-1)) - node T_192401 = eq(T_192257, UInt<1>(0)) - node T_192402 = and(T_192400, T_192401) - node T_192403 = dshl(T_192402, UInt<4>(9)) - node T_192404 = or(T_192398, T_192403) - wire T_192405 : UInt<52> - T_192405 := T_192255 - when T_192256 : T_192405 := T_192392 - node T_192406 = cat(T_192404, T_192405) - node T_192407 = cat(T_192253, T_192406) - mux.data := T_192407 - when in.bits.single : - node T_192408 = bit(in.bits.in1, 31) - node T_192409 = bits(in.bits.in1, 30, 23) - node T_192410 = bits(in.bits.in1, 22, 0) - node T_192411 = eq(T_192409, UInt<1>(0)) - node T_192412 = eq(T_192410, UInt<1>(0)) - node T_192413 = and(T_192411, T_192412) - node T_192414 = eq(T_192412, UInt<1>(0)) - node T_192415 = and(T_192411, T_192414) - node T_192416 = shl(T_192410, 9) - node T_192417 = bit(T_192416, 31) - node T_192418 = bit(T_192416, 30) - node T_192419 = bit(T_192416, 29) - node T_192420 = bit(T_192416, 28) - node T_192421 = bit(T_192416, 27) - node T_192422 = bit(T_192416, 26) - node T_192423 = bit(T_192416, 25) - node T_192424 = bit(T_192416, 24) - node T_192425 = bit(T_192416, 23) - node T_192426 = bit(T_192416, 22) - node T_192427 = bit(T_192416, 21) - node T_192428 = bit(T_192416, 20) - node T_192429 = bit(T_192416, 19) - node T_192430 = bit(T_192416, 18) - node T_192431 = bit(T_192416, 17) - node T_192432 = bit(T_192416, 16) - node T_192433 = bit(T_192416, 15) - node T_192434 = bit(T_192416, 14) - node T_192435 = bit(T_192416, 13) - node T_192436 = bit(T_192416, 12) - node T_192437 = bit(T_192416, 11) - node T_192438 = bit(T_192416, 10) - node T_192439 = bit(T_192416, 9) - node T_192440 = bit(T_192416, 8) - node T_192441 = bit(T_192416, 7) - node T_192442 = bit(T_192416, 6) - node T_192443 = bit(T_192416, 5) - node T_192444 = bit(T_192416, 4) - node T_192445 = bit(T_192416, 3) - node T_192446 = bit(T_192416, 2) - node T_192447 = bit(T_192416, 1) - wire T_192448 : UInt<1> - T_192448 := T_192447 - when T_192446 : T_192448 := UInt<2>(2) - wire T_192449 : UInt<1> - T_192449 := T_192448 - when T_192445 : T_192449 := UInt<2>(3) - wire T_192450 : UInt<1> - T_192450 := T_192449 - when T_192444 : T_192450 := UInt<3>(4) - wire T_192451 : UInt<1> - T_192451 := T_192450 - when T_192443 : T_192451 := UInt<3>(5) - wire T_192452 : UInt<1> - T_192452 := T_192451 - when T_192442 : T_192452 := UInt<3>(6) - wire T_192453 : UInt<1> - T_192453 := T_192452 - when T_192441 : T_192453 := UInt<3>(7) - wire T_192454 : UInt<1> - T_192454 := T_192453 - when T_192440 : T_192454 := UInt<4>(8) - wire T_192455 : UInt<1> - T_192455 := T_192454 - when T_192439 : T_192455 := UInt<4>(9) - wire T_192456 : UInt<1> - T_192456 := T_192455 - when T_192438 : T_192456 := UInt<4>(10) - wire T_192457 : UInt<1> - T_192457 := T_192456 - when T_192437 : T_192457 := UInt<4>(11) - wire T_192458 : UInt<1> - T_192458 := T_192457 - when T_192436 : T_192458 := UInt<4>(12) - wire T_192459 : UInt<1> - T_192459 := T_192458 - when T_192435 : T_192459 := UInt<4>(13) - wire T_192460 : UInt<1> - T_192460 := T_192459 - when T_192434 : T_192460 := UInt<4>(14) - wire T_192461 : UInt<1> - T_192461 := T_192460 - when T_192433 : T_192461 := UInt<4>(15) - wire T_192462 : UInt<1> - T_192462 := T_192461 - when T_192432 : T_192462 := UInt<5>(16) - wire T_192463 : UInt<1> - T_192463 := T_192462 - when T_192431 : T_192463 := UInt<5>(17) - wire T_192464 : UInt<1> - T_192464 := T_192463 - when T_192430 : T_192464 := UInt<5>(18) - wire T_192465 : UInt<1> - T_192465 := T_192464 - when T_192429 : T_192465 := UInt<5>(19) - wire T_192466 : UInt<1> - T_192466 := T_192465 - when T_192428 : T_192466 := UInt<5>(20) - wire T_192467 : UInt<1> - T_192467 := T_192466 - when T_192427 : T_192467 := UInt<5>(21) - wire T_192468 : UInt<1> - T_192468 := T_192467 - when T_192426 : T_192468 := UInt<5>(22) - wire T_192469 : UInt<1> - T_192469 := T_192468 - when T_192425 : T_192469 := UInt<5>(23) - wire T_192470 : UInt<1> - T_192470 := T_192469 - when T_192424 : T_192470 := UInt<5>(24) - wire T_192471 : UInt<1> - T_192471 := T_192470 - when T_192423 : T_192471 := UInt<5>(25) - wire T_192472 : UInt<1> - T_192472 := T_192471 - when T_192422 : T_192472 := UInt<5>(26) - wire T_192473 : UInt<1> - T_192473 := T_192472 - when T_192421 : T_192473 := UInt<5>(27) - wire T_192474 : UInt<1> - T_192474 := T_192473 - when T_192420 : T_192474 := UInt<5>(28) - wire T_192475 : UInt<1> - T_192475 := T_192474 - when T_192419 : T_192475 := UInt<5>(29) - wire T_192476 : UInt<1> - T_192476 := T_192475 - when T_192418 : T_192476 := UInt<5>(30) - wire T_192477 : UInt<1> - T_192477 := T_192476 - when T_192417 : T_192477 := UInt<5>(31) - node T_192478 = not(T_192477) - node T_192479 = dshl(T_192416, T_192478) - node T_192480 = subw(UInt<4>(0), UInt<3>(4)) - node T_192481 = not(T_192478) - node T_192482 = cat(T_192480, T_192481) - node T_192483 = bits(T_192479, 30, 8) - wire T_192484 : UInt<5> - T_192484 := T_192482 - when T_192412 : T_192484 := UInt<1>(0) - wire T_192485 : UInt<8> - T_192485 := T_192409 - when T_192411 : T_192485 := T_192484 - wire T_192486 : UInt<1> - T_192486 := UInt<1>(1) - when T_192415 : T_192486 := UInt<2>(2) - node T_192487 = or(UInt<8>(128), T_192486) - wire T_192488 : UInt<8> - T_192488 := T_192487 - when T_192413 : T_192488 := UInt<1>(0) - node T_192489 = addw(T_192485, T_192488) - node T_192490 = bits(T_192489, 8, 7) - node T_192491 = eq(T_192490, UInt<1>(-1)) - node T_192492 = eq(T_192412, UInt<1>(0)) - node T_192493 = and(T_192491, T_192492) - node T_192494 = dshl(T_192493, UInt<3>(6)) - node T_192495 = or(T_192489, T_192494) - wire T_192496 : UInt<23> - T_192496 := T_192410 - when T_192411 : T_192496 := T_192483 - node T_192497 = cat(T_192495, T_192496) - node T_192498 = cat(T_192408, T_192497) - node T_192499 = asUInt(SInt<32>(-1)) - node T_192500 = cat(T_192499, T_192498) - mux.data := T_192500 - - - node T_192501 = and(in.bits.cmd, UInt<3>(4)) - node T_192502 = eq(UInt<1>(0), T_192501) - when T_192502 : when in.bits.single : - node T_192624 = bits(in.bits.in1, 63, 0) - node T_192625 = xor(in.bits.typ, UInt<1>(1)) - node T_192626 = eq(T_192625, UInt<2>(1)) - node T_192627 = bit(T_192624, 31) - node T_192628 = eq(T_192625, UInt<2>(3)) - node T_192629 = bit(T_192624, 63) - wire T_192630 : UInt<1> - T_192630 := UInt<1>(0) - when T_192628 : T_192630 := T_192629 - wire T_192631 : UInt<1> - T_192631 := T_192630 - when T_192626 : T_192631 := T_192627 - node T_192632 = subw(UInt<1>(0), T_192624) - wire T_192633 : UInt<64> - T_192633 := T_192624 - when T_192631 : T_192633 := T_192632 - node T_192634 = eq(T_192625, UInt<2>(3)) - node T_192635 = eq(T_192625, UInt<2>(2)) - node T_192636 = or(T_192634, T_192635) - node T_192637 = bits(T_192633, 31, 0) - wire T_192638 : UInt<32> - T_192638 := T_192637 - when T_192636 : T_192638 := T_192633 - node T_192639 = bit(T_192638, 31) - node T_192640 = bit(T_192638, 30) - node T_192641 = bit(T_192638, 29) - node T_192642 = bit(T_192638, 28) - node T_192643 = bit(T_192638, 27) - node T_192644 = bit(T_192638, 26) - node T_192645 = bit(T_192638, 25) - node T_192646 = bit(T_192638, 24) - node T_192647 = bit(T_192638, 23) - node T_192648 = bit(T_192638, 22) - node T_192649 = bit(T_192638, 21) - node T_192650 = bit(T_192638, 20) - node T_192651 = bit(T_192638, 19) - node T_192652 = bit(T_192638, 18) - node T_192653 = bit(T_192638, 17) - node T_192654 = bit(T_192638, 16) - node T_192655 = bit(T_192638, 15) - node T_192656 = bit(T_192638, 14) - node T_192657 = bit(T_192638, 13) - node T_192658 = bit(T_192638, 12) - node T_192659 = bit(T_192638, 11) - node T_192660 = bit(T_192638, 10) - node T_192661 = bit(T_192638, 9) - node T_192662 = bit(T_192638, 8) - node T_192663 = bit(T_192638, 7) - node T_192664 = bit(T_192638, 6) - node T_192665 = bit(T_192638, 5) - node T_192666 = bit(T_192638, 4) - node T_192667 = bit(T_192638, 3) - node T_192668 = bit(T_192638, 2) - node T_192669 = bit(T_192638, 1) - wire T_192670 : UInt<1> - T_192670 := T_192669 - when T_192668 : T_192670 := UInt<2>(2) - wire T_192671 : UInt<1> - T_192671 := T_192670 - when T_192667 : T_192671 := UInt<2>(3) - wire T_192672 : UInt<1> - T_192672 := T_192671 - when T_192666 : T_192672 := UInt<3>(4) - wire T_192673 : UInt<1> - T_192673 := T_192672 - when T_192665 : T_192673 := UInt<3>(5) - wire T_192674 : UInt<1> - T_192674 := T_192673 - when T_192664 : T_192674 := UInt<3>(6) - wire T_192675 : UInt<1> - T_192675 := T_192674 - when T_192663 : T_192675 := UInt<3>(7) - wire T_192676 : UInt<1> - T_192676 := T_192675 - when T_192662 : T_192676 := UInt<4>(8) - wire T_192677 : UInt<1> - T_192677 := T_192676 - when T_192661 : T_192677 := UInt<4>(9) - wire T_192678 : UInt<1> - T_192678 := T_192677 - when T_192660 : T_192678 := UInt<4>(10) - wire T_192679 : UInt<1> - T_192679 := T_192678 - when T_192659 : T_192679 := UInt<4>(11) - wire T_192680 : UInt<1> - T_192680 := T_192679 - when T_192658 : T_192680 := UInt<4>(12) - wire T_192681 : UInt<1> - T_192681 := T_192680 - when T_192657 : T_192681 := UInt<4>(13) - wire T_192682 : UInt<1> - T_192682 := T_192681 - when T_192656 : T_192682 := UInt<4>(14) - wire T_192683 : UInt<1> - T_192683 := T_192682 - when T_192655 : T_192683 := UInt<4>(15) - wire T_192684 : UInt<1> - T_192684 := T_192683 - when T_192654 : T_192684 := UInt<5>(16) - wire T_192685 : UInt<1> - T_192685 := T_192684 - when T_192653 : T_192685 := UInt<5>(17) - wire T_192686 : UInt<1> - T_192686 := T_192685 - when T_192652 : T_192686 := UInt<5>(18) - wire T_192687 : UInt<1> - T_192687 := T_192686 - when T_192651 : T_192687 := UInt<5>(19) - wire T_192688 : UInt<1> - T_192688 := T_192687 - when T_192650 : T_192688 := UInt<5>(20) - wire T_192689 : UInt<1> - T_192689 := T_192688 - when T_192649 : T_192689 := UInt<5>(21) - wire T_192690 : UInt<1> - T_192690 := T_192689 - when T_192648 : T_192690 := UInt<5>(22) - wire T_192691 : UInt<1> - T_192691 := T_192690 - when T_192647 : T_192691 := UInt<5>(23) - wire T_192692 : UInt<1> - T_192692 := T_192691 - when T_192646 : T_192692 := UInt<5>(24) - wire T_192693 : UInt<1> - T_192693 := T_192692 - when T_192645 : T_192693 := UInt<5>(25) - wire T_192694 : UInt<1> - T_192694 := T_192693 - when T_192644 : T_192694 := UInt<5>(26) - wire T_192695 : UInt<1> - T_192695 := T_192694 - when T_192643 : T_192695 := UInt<5>(27) - wire T_192696 : UInt<1> - T_192696 := T_192695 - when T_192642 : T_192696 := UInt<5>(28) - wire T_192697 : UInt<1> - T_192697 := T_192696 - when T_192641 : T_192697 := UInt<5>(29) - wire T_192698 : UInt<1> - T_192698 := T_192697 - when T_192640 : T_192698 := UInt<5>(30) - wire T_192699 : UInt<1> - T_192699 := T_192698 - when T_192639 : T_192699 := UInt<5>(31) - node T_192700 = not(T_192699) - node T_192701 = dshl(T_192638, T_192700) - node T_192702 = bits(T_192701, 40, 39) - node T_192703 = bits(T_192701, 38, 0) - node T_192704 = eq(T_192703, UInt<1>(0)) - node T_192705 = eq(T_192704, UInt<1>(0)) - node T_192706 = cat(T_192702, T_192705) - node T_192707 = bits(T_192706, 1, 0) - node T_192708 = eq(T_192707, UInt<1>(0)) - node T_192709 = eq(T_192708, UInt<1>(0)) - node T_192710 = eq(in.bits.rm, UInt<2>(0)) - node T_192711 = bits(T_192706, 2, 1) - node T_192712 = eq(T_192711, UInt<1>(-1)) - node T_192713 = bits(T_192706, 1, 0) - node T_192714 = eq(T_192713, UInt<1>(-1)) - node T_192715 = or(T_192712, T_192714) - node T_192716 = eq(in.bits.rm, UInt<2>(2)) - node T_192717 = and(T_192631, T_192709) - node T_192718 = eq(in.bits.rm, UInt<2>(3)) - node T_192719 = eq(T_192631, UInt<1>(0)) - node T_192720 = and(T_192719, T_192709) - wire T_192721 : UInt<1> - T_192721 := UInt<1>(0) - when T_192718 : T_192721 := T_192720 - wire T_192722 : UInt<1> - T_192722 := T_192721 - when T_192716 : T_192722 := T_192717 - wire T_192723 : UInt<1> - T_192723 := T_192722 - when T_192710 : T_192723 := T_192715 - node T_192724 = bits(T_192701, 63, 40) - node T_192725 = cat(UInt<1>(0), T_192724) - node T_192726 = addw(T_192725, UInt<1>(1)) - wire T_192727 : UInt<25> - T_192727 := T_192725 - when T_192723 : T_192727 := T_192726 - node T_192728 = not(T_192700) - node T_192729 = cat(UInt<1>(0), T_192728) - node T_192730 = cat(UInt<1>(0), T_192729) - node T_192731 = bit(T_192727, 24) - node T_192732 = addw(T_192730, T_192731) - node T_192733 = bit(T_192701, 63) - node T_192734 = bits(T_192732, 7, 0) - wire T_192735 : UInt<8> - T_192735 := T_192734 - when UInt<1>(0) : T_192735 := UInt<8>(128) - node T_192736 = cat(T_192733, T_192735) - node T_192737 = or(UInt<1>(0), UInt<1>(0)) - node T_192738 = or(T_192709, T_192737) - node T_192739 = bits(T_192727, 22, 0) - node T_192740 = cat(T_192736, T_192739) - node T_192741 = cat(T_192631, T_192740) - node T_192742 = cat(UInt<2>(0), T_192737) - node T_192743 = cat(UInt<1>(0), T_192738) - node T_192744 = cat(T_192742, T_192743) - node T_192745 = asUInt(SInt<32>(-1)) - node T_192746 = cat(T_192745, T_192741) - mux.data := T_192746 - mux.exc := T_192744 - else : - - node T_192503 = bits(in.bits.in1, 63, 0) - node T_192504 = xor(in.bits.typ, UInt<1>(1)) - node T_192505 = eq(T_192504, UInt<2>(1)) - node T_192506 = bit(T_192503, 31) - node T_192507 = eq(T_192504, UInt<2>(3)) - node T_192508 = bit(T_192503, 63) - wire T_192509 : UInt<1> - T_192509 := UInt<1>(0) - when T_192507 : T_192509 := T_192508 - wire T_192510 : UInt<1> - T_192510 := T_192509 - when T_192505 : T_192510 := T_192506 - node T_192511 = subw(UInt<1>(0), T_192503) - wire T_192512 : UInt<64> - T_192512 := T_192503 - when T_192510 : T_192512 := T_192511 - node T_192513 = eq(T_192504, UInt<2>(3)) - node T_192514 = eq(T_192504, UInt<2>(2)) - node T_192515 = or(T_192513, T_192514) - node T_192516 = bits(T_192512, 31, 0) - wire T_192517 : UInt<32> - T_192517 := T_192516 - when T_192515 : T_192517 := T_192512 - node T_192518 = bit(T_192517, 31) - node T_192519 = bit(T_192517, 30) - node T_192520 = bit(T_192517, 29) - node T_192521 = bit(T_192517, 28) - node T_192522 = bit(T_192517, 27) - node T_192523 = bit(T_192517, 26) - node T_192524 = bit(T_192517, 25) - node T_192525 = bit(T_192517, 24) - node T_192526 = bit(T_192517, 23) - node T_192527 = bit(T_192517, 22) - node T_192528 = bit(T_192517, 21) - node T_192529 = bit(T_192517, 20) - node T_192530 = bit(T_192517, 19) - node T_192531 = bit(T_192517, 18) - node T_192532 = bit(T_192517, 17) - node T_192533 = bit(T_192517, 16) - node T_192534 = bit(T_192517, 15) - node T_192535 = bit(T_192517, 14) - node T_192536 = bit(T_192517, 13) - node T_192537 = bit(T_192517, 12) - node T_192538 = bit(T_192517, 11) - node T_192539 = bit(T_192517, 10) - node T_192540 = bit(T_192517, 9) - node T_192541 = bit(T_192517, 8) - node T_192542 = bit(T_192517, 7) - node T_192543 = bit(T_192517, 6) - node T_192544 = bit(T_192517, 5) - node T_192545 = bit(T_192517, 4) - node T_192546 = bit(T_192517, 3) - node T_192547 = bit(T_192517, 2) - node T_192548 = bit(T_192517, 1) - wire T_192549 : UInt<1> - T_192549 := T_192548 - when T_192547 : T_192549 := UInt<2>(2) - wire T_192550 : UInt<1> - T_192550 := T_192549 - when T_192546 : T_192550 := UInt<2>(3) - wire T_192551 : UInt<1> - T_192551 := T_192550 - when T_192545 : T_192551 := UInt<3>(4) - wire T_192552 : UInt<1> - T_192552 := T_192551 - when T_192544 : T_192552 := UInt<3>(5) - wire T_192553 : UInt<1> - T_192553 := T_192552 - when T_192543 : T_192553 := UInt<3>(6) - wire T_192554 : UInt<1> - T_192554 := T_192553 - when T_192542 : T_192554 := UInt<3>(7) - wire T_192555 : UInt<1> - T_192555 := T_192554 - when T_192541 : T_192555 := UInt<4>(8) - wire T_192556 : UInt<1> - T_192556 := T_192555 - when T_192540 : T_192556 := UInt<4>(9) - wire T_192557 : UInt<1> - T_192557 := T_192556 - when T_192539 : T_192557 := UInt<4>(10) - wire T_192558 : UInt<1> - T_192558 := T_192557 - when T_192538 : T_192558 := UInt<4>(11) - wire T_192559 : UInt<1> - T_192559 := T_192558 - when T_192537 : T_192559 := UInt<4>(12) - wire T_192560 : UInt<1> - T_192560 := T_192559 - when T_192536 : T_192560 := UInt<4>(13) - wire T_192561 : UInt<1> - T_192561 := T_192560 - when T_192535 : T_192561 := UInt<4>(14) - wire T_192562 : UInt<1> - T_192562 := T_192561 - when T_192534 : T_192562 := UInt<4>(15) - wire T_192563 : UInt<1> - T_192563 := T_192562 - when T_192533 : T_192563 := UInt<5>(16) - wire T_192564 : UInt<1> - T_192564 := T_192563 - when T_192532 : T_192564 := UInt<5>(17) - wire T_192565 : UInt<1> - T_192565 := T_192564 - when T_192531 : T_192565 := UInt<5>(18) - wire T_192566 : UInt<1> - T_192566 := T_192565 - when T_192530 : T_192566 := UInt<5>(19) - wire T_192567 : UInt<1> - T_192567 := T_192566 - when T_192529 : T_192567 := UInt<5>(20) - wire T_192568 : UInt<1> - T_192568 := T_192567 - when T_192528 : T_192568 := UInt<5>(21) - wire T_192569 : UInt<1> - T_192569 := T_192568 - when T_192527 : T_192569 := UInt<5>(22) - wire T_192570 : UInt<1> - T_192570 := T_192569 - when T_192526 : T_192570 := UInt<5>(23) - wire T_192571 : UInt<1> - T_192571 := T_192570 - when T_192525 : T_192571 := UInt<5>(24) - wire T_192572 : UInt<1> - T_192572 := T_192571 - when T_192524 : T_192572 := UInt<5>(25) - wire T_192573 : UInt<1> - T_192573 := T_192572 - when T_192523 : T_192573 := UInt<5>(26) - wire T_192574 : UInt<1> - T_192574 := T_192573 - when T_192522 : T_192574 := UInt<5>(27) - wire T_192575 : UInt<1> - T_192575 := T_192574 - when T_192521 : T_192575 := UInt<5>(28) - wire T_192576 : UInt<1> - T_192576 := T_192575 - when T_192520 : T_192576 := UInt<5>(29) - wire T_192577 : UInt<1> - T_192577 := T_192576 - when T_192519 : T_192577 := UInt<5>(30) - wire T_192578 : UInt<1> - T_192578 := T_192577 - when T_192518 : T_192578 := UInt<5>(31) - node T_192579 = not(T_192578) - node T_192580 = dshl(T_192517, T_192579) - node T_192581 = bits(T_192580, 11, 10) - node T_192582 = bits(T_192580, 9, 0) - node T_192583 = eq(T_192582, UInt<1>(0)) - node T_192584 = eq(T_192583, UInt<1>(0)) - node T_192585 = cat(T_192581, T_192584) - node T_192586 = bits(T_192585, 1, 0) - node T_192587 = eq(T_192586, UInt<1>(0)) - node T_192588 = eq(T_192587, UInt<1>(0)) - node T_192589 = eq(in.bits.rm, UInt<2>(0)) - node T_192590 = bits(T_192585, 2, 1) - node T_192591 = eq(T_192590, UInt<1>(-1)) - node T_192592 = bits(T_192585, 1, 0) - node T_192593 = eq(T_192592, UInt<1>(-1)) - node T_192594 = or(T_192591, T_192593) - node T_192595 = eq(in.bits.rm, UInt<2>(2)) - node T_192596 = and(T_192510, T_192588) - node T_192597 = eq(in.bits.rm, UInt<2>(3)) - node T_192598 = eq(T_192510, UInt<1>(0)) - node T_192599 = and(T_192598, T_192588) - wire T_192600 : UInt<1> - T_192600 := UInt<1>(0) - when T_192597 : T_192600 := T_192599 - wire T_192601 : UInt<1> - T_192601 := T_192600 - when T_192595 : T_192601 := T_192596 - wire T_192602 : UInt<1> - T_192602 := T_192601 - when T_192589 : T_192602 := T_192594 - node T_192603 = bits(T_192580, 63, 11) - node T_192604 = cat(UInt<1>(0), T_192603) - node T_192605 = addw(T_192604, UInt<1>(1)) - wire T_192606 : UInt<54> - T_192606 := T_192604 - when T_192602 : T_192606 := T_192605 - node T_192607 = not(T_192579) - node T_192608 = cat(UInt<4>(0), T_192607) - node T_192609 = cat(UInt<1>(0), T_192608) - node T_192610 = bit(T_192606, 53) - node T_192611 = addw(T_192609, T_192610) - node T_192612 = bit(T_192580, 63) - node T_192613 = bits(T_192611, 10, 0) - wire T_192614 : UInt<11> - T_192614 := T_192613 - when UInt<1>(0) : T_192614 := UInt<11>(1024) - node T_192615 = cat(T_192612, T_192614) - node T_192616 = or(UInt<1>(0), UInt<1>(0)) - node T_192617 = or(T_192588, T_192616) - node T_192618 = bits(T_192606, 51, 0) - node T_192619 = cat(T_192615, T_192618) - node T_192620 = cat(T_192510, T_192619) - node T_192621 = cat(UInt<2>(0), T_192616) - node T_192622 = cat(UInt<1>(0), T_192617) - node T_192623 = cat(T_192621, T_192622) - mux.data := T_192620 - mux.exc := T_192623 - reg T_192747 : UInt<1> - onreset T_192747 := UInt<1>(0) - T_192747 := in.valid - reg T_192748 : {data : UInt<65>, exc : UInt<5>} - when in.valid : T_192748 := mux - reg T_192749 : UInt<1> - onreset T_192749 := UInt<1>(0) - T_192749 := T_192747 - reg T_192750 : {data : UInt<65>, exc : UInt<5>} - when T_192747 : T_192750 := T_192748 - T_192751.valid <> T_192749 - T_192751.bits <> T_192750 - out <> T_192751 - module FPToFP : - input in : {valid : UInt<1>, bits : {cmd : UInt<5>, ldst : UInt<1>, wen : UInt<1>, ren1 : UInt<1>, ren2 : UInt<1>, ren3 : UInt<1>, swap12 : UInt<1>, swap23 : UInt<1>, single : UInt<1>, fromint : UInt<1>, toint : UInt<1>, fastpipe : UInt<1>, fma : UInt<1>, div : UInt<1>, sqrt : UInt<1>, round : UInt<1>, wflags : UInt<1>, rm : UInt<3>, typ : UInt<2>, in1 : UInt<65>, in2 : UInt<65>, in3 : UInt<65>}} - output out : {valid : UInt<1>, bits : {data : UInt<65>, exc : UInt<5>}} - input lt : UInt<1> - - reg T_192752 : UInt<1> - onreset T_192752 := UInt<1>(0) - T_192752 := in.valid - reg T_192753 : {cmd : UInt<5>, ldst : UInt<1>, wen : UInt<1>, ren1 : UInt<1>, ren2 : UInt<1>, ren3 : UInt<1>, swap12 : UInt<1>, swap23 : UInt<1>, single : UInt<1>, fromint : UInt<1>, toint : UInt<1>, fastpipe : UInt<1>, fma : UInt<1>, div : UInt<1>, sqrt : UInt<1>, round : UInt<1>, wflags : UInt<1>, rm : UInt<3>, typ : UInt<2>, in1 : UInt<65>, in2 : UInt<65>, in3 : UInt<65>} - when in.valid : T_192753 := in.bits - in.valid <> T_192752 - in.bits <> T_192753 - node T_192754 = and(in.bits.cmd, UInt<3>(5)) - node isSgnj = eq(UInt<3>(4), T_192754) - node T_192755 = and(in.bits.single, isSgnj) - node T_192756 = bit(in.bits.rm, 1) - node T_192757 = eq(T_192755, UInt<1>(0)) - node T_192758 = or(T_192756, T_192757) - node T_192759 = bit(in.bits.in1, 32) - node T_192760 = bit(in.bits.rm, 0) - wire T_192761 : UInt<1> - T_192761 := T_192760 - when T_192758 : T_192761 := T_192759 - node T_192762 = bit(in.bits.in2, 32) - node T_192763 = and(T_192755, T_192762) - node sign_s = xor(T_192761, T_192763) - node T_192764 = eq(in.bits.single, UInt<1>(0)) - node T_192765 = and(T_192764, isSgnj) - node T_192766 = bit(in.bits.rm, 1) - node T_192767 = eq(T_192765, UInt<1>(0)) - node T_192768 = or(T_192766, T_192767) - node T_192769 = bit(in.bits.in1, 64) - node T_192770 = bit(in.bits.rm, 0) - wire T_192771 : UInt<1> - T_192771 := T_192770 - when T_192768 : T_192771 := T_192769 - node T_192772 = bit(in.bits.in2, 64) - node T_192773 = and(T_192765, T_192772) - node sign_d = xor(T_192771, T_192773) - node T_192774 = bits(in.bits.in1, 63, 33) - node T_192775 = bits(in.bits.in1, 31, 0) - node T_192776 = cat(sign_d, T_192774) - node T_192777 = cat(sign_s, T_192775) - node fsgnj = cat(T_192776, T_192777) - node T_192778 = bit(in.bits.in1, 32) - node T_192779 = bits(in.bits.in1, 22, 0) - node T_192780 = bits(in.bits.in1, 31, 23) - node T_192781 = bits(in.bits.in1, 31, 29) - node T_192782 = bits(in.bits.in1, 30, 23) - node T_192783 = eq(T_192781, UInt<1>(-1)) - node T_192784 = bit(T_192779, 22) - node T_192785 = eq(T_192784, UInt<1>(0)) - node T_192786 = and(T_192783, T_192785) - node T_192787 = lt(T_192781, UInt<1>(1)) - node T_192788 = lt(T_192781, UInt<3>(4)) - node T_192789 = cat(UInt<3>(7), T_192782) - node T_192790 = lt(T_192781, UInt<3>(6)) - node T_192791 = cat(UInt<4>(8), T_192782) - node T_192792 = lt(T_192781, UInt<3>(7)) - wire T_192793 : UInt<12> - T_192793 := UInt<12>(3584) - when T_192792 : T_192793 := UInt<12>(3072) - wire T_192794 : UInt<12> - T_192794 := T_192793 - when T_192790 : T_192794 := T_192791 - wire T_192795 : UInt<12> - T_192795 := T_192794 - when T_192788 : T_192795 := T_192789 - wire T_192796 : UInt<12> - T_192796 := T_192795 - when T_192787 : T_192796 := T_192782 - node T_192797 = subw(UInt<52>(0), UInt<6>(52)) - node T_192798 = dshl(T_192779, UInt<5>(29)) - node T_192799 = or(T_192797, T_192798) - node T_192800 = cat(T_192796, T_192799) - node T_192801 = cat(T_192778, T_192800) - node T_192802 = dshl(T_192786, UInt<3>(4)) - node T_192803 = bit(in.bits.in1, 64) - node T_192804 = bits(in.bits.in1, 51, 0) - node T_192805 = bits(in.bits.in1, 63, 52) - node T_192806 = bits(in.bits.in1, 63, 61) - node T_192807 = bits(in.bits.in1, 62, 52) - node T_192808 = eq(T_192806, UInt<1>(-1)) - node T_192809 = bit(T_192804, 51) - node T_192810 = eq(T_192809, UInt<1>(0)) - node T_192811 = and(T_192808, T_192810) - node T_192812 = eq(T_192806, UInt<1>(0)) - node T_192813 = eq(T_192812, UInt<1>(0)) - node T_192814 = eq(T_192813, UInt<1>(0)) - node T_192815 = bits(T_192806, 2, 1) - node T_192816 = eq(T_192815, UInt<1>(-1)) - node T_192817 = or(T_192814, T_192816) - node T_192818 = geq(T_192805, UInt<11>(1898)) - node T_192819 = leq(T_192805, UInt<11>(1921)) - node T_192820 = and(T_192818, T_192819) - node T_192821 = lt(T_192805, UInt<11>(1898)) - node T_192822 = eq(T_192817, UInt<1>(0)) - node T_192823 = and(T_192821, T_192822) - node T_192824 = gt(T_192805, UInt<12>(2175)) - node T_192825 = eq(T_192817, UInt<1>(0)) - node T_192826 = and(T_192824, T_192825) - node T_192827 = addw(UInt<11>(1921), UInt<1>(1)) - node T_192828 = subw(T_192827, T_192805) - wire T_192829 : UInt<1> - T_192829 := UInt<1>(0) - when T_192820 : T_192829 := T_192828 - node T_192830 = bits(T_192829, 4, 0) - node T_192831 = bits(T_192804, 51, 28) - node T_192832 = cat(T_192831, UInt<24>(0)) - node T_192833 = cat(UInt<1>(1), T_192832) - node T_192834 = dshr(T_192833, T_192830) - node T_192835 = bits(T_192834, 23, 0) - node T_192836 = neq(T_192835, UInt<1>(0)) - node T_192837 = bits(T_192804, 27, 0) - node T_192838 = neq(T_192837, UInt<1>(0)) - node T_192839 = or(T_192836, T_192838) - node T_192840 = bits(T_192834, 25, 24) - node T_192841 = cat(T_192840, T_192839) - node T_192842 = bits(T_192841, 1, 0) - node T_192843 = neq(T_192842, UInt<1>(0)) - node T_192844 = eq(T_192817, UInt<1>(0)) - node T_192845 = and(T_192843, T_192844) - node T_192846 = eq(in.bits.rm, UInt<2>(0)) - node T_192847 = bits(T_192841, 1, 0) - node T_192848 = eq(T_192847, UInt<1>(-1)) - node T_192849 = bits(T_192841, 2, 1) - node T_192850 = eq(T_192849, UInt<1>(-1)) - node T_192851 = or(T_192848, T_192850) - node T_192852 = eq(in.bits.rm, UInt<2>(2)) - node T_192853 = and(T_192803, T_192845) - node T_192854 = eq(in.bits.rm, UInt<2>(3)) - node T_192855 = eq(T_192803, UInt<1>(0)) - node T_192856 = and(T_192855, T_192845) - wire T_192857 : UInt<1> - T_192857 := UInt<1>(0) - when T_192854 : T_192857 := T_192856 - wire T_192858 : UInt<1> - T_192858 := T_192857 - when T_192852 : T_192858 := T_192853 - wire T_192859 : UInt<1> - T_192859 := T_192858 - when T_192846 : T_192859 := T_192851 - node T_192860 = dshl(UInt<25>(33554431), T_192830) - node T_192861 = bits(T_192860, 24, 0) - node T_192862 = bits(T_192804, 51, 29) - node T_192863 = cat(UInt<2>(1), T_192862) - node T_192864 = not(T_192861) - node T_192865 = or(T_192863, T_192864) - node T_192866 = addw(T_192865, UInt<1>(1)) - wire T_192867 : UInt<25> - T_192867 := T_192865 - when T_192859 : T_192867 := T_192866 - node T_192868 = bits(T_192805, 8, 0) - node T_192869 = addw(T_192868, UInt<9>(256)) - node T_192870 = bit(T_192867, 24) - node T_192871 = addw(T_192869, UInt<1>(1)) - wire T_192872 : UInt<9> - T_192872 := T_192869 - when T_192870 : T_192872 := T_192871 - node T_192873 = eq(in.bits.rm, UInt<2>(2)) - node T_192874 = and(T_192873, T_192803) - node T_192875 = eq(in.bits.rm, UInt<2>(3)) - node T_192876 = eq(T_192803, UInt<1>(0)) - node T_192877 = and(T_192875, T_192876) - node T_192878 = or(T_192874, T_192877) - node T_192879 = eq(in.bits.rm, UInt<2>(0)) - node T_192880 = or(T_192878, T_192879) - node T_192881 = eq(T_192880, UInt<1>(0)) - node T_192882 = subw(UInt<23>(0), UInt<5>(23)) - wire T_192883 : UInt<9> - T_192883 := UInt<9>(383) - when T_192880 : T_192883 := UInt<9>(384) - wire T_192884 : UInt<1> - T_192884 := UInt<1>(0) - when T_192878 : T_192884 := UInt<7>(107) - node T_192885 = dshl(T_192806, UInt<3>(6)) - wire T_192886 : UInt<9> - T_192886 := T_192872 - when T_192823 : T_192886 := T_192884 - wire T_192887 : UInt<9> - T_192887 := T_192886 - when T_192826 : T_192887 := T_192883 - wire T_192888 : UInt<9> - T_192888 := T_192887 - when T_192817 : T_192888 := T_192885 - node T_192889 = subw(UInt<23>(0), UInt<5>(23)) - node T_192890 = bits(T_192867, 22, 0) - wire T_192891 : UInt<23> - T_192891 := T_192890 - when T_192823 : T_192891 := UInt<1>(0) - wire T_192892 : UInt<23> - T_192892 := T_192891 - when T_192826 : T_192892 := T_192882 - wire T_192893 : UInt<23> - T_192893 := T_192892 - when T_192817 : T_192893 := T_192889 - node T_192894 = cat(T_192888, T_192893) - node T_192895 = cat(T_192803, T_192894) - node T_192896 = and(T_192820, T_192845) - node T_192897 = or(T_192823, T_192896) - node T_192898 = eq(T_192805, UInt<12>(2175)) - node T_192899 = bit(T_192867, 24) - node T_192900 = and(T_192898, T_192899) - node T_192901 = or(T_192826, T_192900) - node T_192902 = or(T_192845, T_192826) - node T_192903 = or(T_192902, T_192823) - node T_192904 = cat(T_192811, UInt<1>(0)) - node T_192905 = cat(T_192897, T_192903) - node T_192906 = cat(T_192901, T_192905) - node T_192907 = cat(T_192904, T_192906) - node T_192908 = bits(in.bits.in1, 31, 29) - node T_192909 = eq(T_192908, UInt<1>(-1)) - node T_192910 = bits(in.bits.in1, 63, 61) - node T_192911 = eq(T_192910, UInt<1>(-1)) - wire isnan1 : UInt<1> - isnan1 := T_192911 - when in.bits.single : isnan1 := T_192909 - node T_192912 = bits(in.bits.in2, 31, 29) - node T_192913 = eq(T_192912, UInt<1>(-1)) - node T_192914 = bits(in.bits.in2, 63, 61) - node T_192915 = eq(T_192914, UInt<1>(-1)) - wire isnan2 : UInt<1> - isnan2 := T_192915 - when in.bits.single : isnan2 := T_192913 - node T_192916 = bit(in.bits.in1, 22) - node T_192917 = bit(in.bits.in1, 51) - wire T_192918 : UInt<1> - T_192918 := T_192917 - when in.bits.single : T_192918 := T_192916 - node T_192919 = not(T_192918) - node issnan1 = and(isnan1, T_192919) - node T_192920 = bit(in.bits.in2, 22) - node T_192921 = bit(in.bits.in2, 51) - wire T_192922 : UInt<1> - T_192922 := T_192921 - when in.bits.single : T_192922 := T_192920 - node T_192923 = not(T_192922) - node issnan2 = and(isnan2, T_192923) - node T_192924 = or(issnan1, issnan2) - node minmax_exc = cat(T_192924, UInt<4>(0)) - node isMax = bit(in.bits.rm, 0) - node T_192925 = neq(isMax, lt) - node T_192926 = eq(isnan1, UInt<1>(0)) - node T_192927 = and(T_192925, T_192926) - node isLHS = or(isnan2, T_192927) - wire mux : {data : UInt<65>, exc : UInt<5>} - mux.exc := minmax_exc - mux.data := in.bits.in2 - when isSgnj : mux.exc := UInt<1>(0) - - node T_192928 = or(isSgnj, isLHS) - when T_192928 : mux.data := fsgnj - - - node T_192929 = and(in.bits.cmd, UInt<3>(4)) - node T_192930 = eq(UInt<1>(0), T_192929) - when T_192930 : when in.bits.single : - node T_192931 = asUInt(SInt<32>(-1)) - node T_192932 = cat(T_192931, T_192895) - mux.data := T_192932 - mux.exc := T_192907 - else : - - mux.data := T_192801 - mux.exc := T_192802 - reg T_192933 : UInt<1> - onreset T_192933 := UInt<1>(0) - T_192933 := in.valid - reg T_192934 : {data : UInt<65>, exc : UInt<5>} - when in.valid : T_192934 := mux - T_192935.valid <> T_192933 - T_192935.bits <> T_192934 - out <> T_192935 - module divSqrtRecodedFloat64_mulAddZ31 : - output inReady_div : UInt<1> - output inReady_sqrt : UInt<1> - input inValid : UInt<1> - input sqrtOp : UInt<1> - input a : UInt<65> - input b : UInt<65> - input roundingMode : UInt<2> - output outValid_div : UInt<1> - output outValid_sqrt : UInt<1> - output out : UInt<65> - output exceptionFlags : UInt<5> - output usingMulAdd : UInt<4> - output latchMulAddA_0 : UInt<1> - output mulAddA_0 : UInt<54> - output latchMulAddB_0 : UInt<1> - output mulAddB_0 : UInt<54> - output mulAddC_2 : UInt<105> - input mulAddResult_3 : UInt<105> - - reg valid_PA : UInt<1> - onreset valid_PA := UInt<1>(0) - reg sqrtOp_PA : UInt<1> - reg sign_PA : UInt<1> - reg specialCodeB_PA : UInt<3> - reg fractB_51_PA : UInt<1> - reg roundingMode_PA : UInt<2> - reg specialCodeA_PA : UInt<3> - reg fractA_51_PA : UInt<1> - reg exp_PA : UInt<14> - reg fractB_other_PA : UInt<51> - reg fractA_other_PA : UInt<51> - reg valid_PB : UInt<1> - onreset valid_PB := UInt<1>(0) - reg sqrtOp_PB : UInt<1> - reg sign_PB : UInt<1> - reg specialCodeA_PB : UInt<3> - reg fractA_51_PB : UInt<1> - reg specialCodeB_PB : UInt<3> - reg fractB_51_PB : UInt<1> - reg roundingMode_PB : UInt<2> - reg exp_PB : UInt<14> - reg fractA_0_PB : UInt<1> - reg fractB_other_PB : UInt<51> - reg valid_PC : UInt<1> - onreset valid_PC := UInt<1>(0) - reg sqrtOp_PC : UInt<1> - reg sign_PC : UInt<1> - reg specialCodeA_PC : UInt<3> - reg fractA_51_PC : UInt<1> - reg specialCodeB_PC : UInt<3> - reg fractB_51_PC : UInt<1> - reg roundingMode_PC : UInt<2> - reg exp_PC : UInt<14> - reg fractA_0_PC : UInt<1> - reg fractB_other_PC : UInt<51> - reg cycleNum_A : UInt<3> - onreset cycleNum_A := UInt<3>(0) - reg cycleNum_B : UInt<4> - onreset cycleNum_B := UInt<4>(0) - reg cycleNum_C : UInt<3> - onreset cycleNum_C := UInt<3>(0) - reg cycleNum_E : UInt<3> - onreset cycleNum_E := UInt<3>(0) - reg fractR0_A : UInt<9> - reg hiSqrR0_A_sqrt : UInt<10> - reg partNegSigma0_A : UInt<21> - reg nextMulAdd9A_A : UInt<9> - reg nextMulAdd9B_A : UInt<9> - reg ER1_B_sqrt : UInt<17> - reg ESqrR1_B_sqrt : UInt<32> - reg sigX1_B : UInt<58> - reg sqrSigma1_C : UInt<33> - reg sigXN_C : UInt<58> - reg u_C_sqrt : UInt<31> - reg E_E_div : UInt<1> - reg sigT_E : UInt<53> - reg extraT_E : UInt<1> - reg isNegRemT_E : UInt<1> - reg trueEqX_E1 : UInt<1> - wire ready_PA : UInt<1> - wire ready_PB : UInt<1> - wire ready_PC : UInt<1> - wire leaving_PA : UInt<1> - wire leaving_PB : UInt<1> - wire leaving_PC : UInt<1> - wire cyc_B10_sqrt : UInt<1> - wire cyc_B9_sqrt : UInt<1> - wire cyc_B8_sqrt : UInt<1> - wire cyc_B7_sqrt : UInt<1> - wire cyc_B6 : UInt<1> - wire cyc_B5 : UInt<1> - wire cyc_B4 : UInt<1> - wire cyc_B3 : UInt<1> - wire cyc_B2 : UInt<1> - wire cyc_B1 : UInt<1> - wire cyc_B6_div : UInt<1> - wire cyc_B5_div : UInt<1> - wire cyc_B4_div : UInt<1> - wire cyc_B3_div : UInt<1> - wire cyc_B2_div : UInt<1> - wire cyc_B1_div : UInt<1> - wire cyc_B6_sqrt : UInt<1> - wire cyc_B5_sqrt : UInt<1> - wire cyc_B4_sqrt : UInt<1> - wire cyc_B3_sqrt : UInt<1> - wire cyc_B2_sqrt : UInt<1> - wire cyc_B1_sqrt : UInt<1> - wire cyc_C5 : UInt<1> - wire cyc_C4 : UInt<1> - wire cyc_C3 : UInt<1> - wire cyc_C2 : UInt<1> - wire cyc_C1 : UInt<1> - wire cyc_E4 : UInt<1> - wire cyc_E3 : UInt<1> - wire cyc_E2 : UInt<1> - wire cyc_E1 : UInt<1> - wire zSigma1_B4 : UInt - wire sigXNU_B3_CX : UInt - wire zComplSigT_C1_sqrt : UInt - wire zComplSigT_C1 : UInt - node T_192936 = not(cyc_B6_sqrt) - node T_192937 = and(ready_PA, T_192936) - node T_192938 = not(cyc_B5_sqrt) - node T_192939 = and(T_192937, T_192938) - node T_192940 = not(cyc_B4_sqrt) - node T_192941 = and(T_192939, T_192940) - node T_192942 = not(cyc_B3) - node T_192943 = and(T_192941, T_192942) - node T_192944 = not(cyc_B2) - node T_192945 = and(T_192943, T_192944) - node T_192946 = not(cyc_B1_sqrt) - node T_192947 = and(T_192945, T_192946) - node T_192948 = not(cyc_C5) - node T_192949 = and(T_192947, T_192948) - node T_192950 = not(cyc_C4) - node T_192951 = and(T_192949, T_192950) - inReady_div := T_192951 - node T_192952 = not(cyc_B6_sqrt) - node T_192953 = and(ready_PA, T_192952) - node T_192954 = not(cyc_B5_sqrt) - node T_192955 = and(T_192953, T_192954) - node T_192956 = not(cyc_B4_sqrt) - node T_192957 = and(T_192955, T_192956) - node T_192958 = not(cyc_B2_div) - node T_192959 = and(T_192957, T_192958) - node T_192960 = not(cyc_B1_sqrt) - node T_192961 = and(T_192959, T_192960) - inReady_sqrt := T_192961 - node T_192962 = and(inReady_div, inValid) - node T_192963 = not(sqrtOp) - node cyc_S_div = and(T_192962, T_192963) - node T_192964 = and(inReady_sqrt, inValid) - node cyc_S_sqrt = and(T_192964, sqrtOp) - node cyc_S = or(cyc_S_div, cyc_S_sqrt) - node signA_S = bit(a, 64) - node expA_S = bits(a, 63, 52) - node fractA_S = bits(a, 51, 0) - node specialCodeA_S = bits(expA_S, 11, 9) - node isZeroA_S = eq(specialCodeA_S, UInt<3>(0)) - node T_192965 = bits(specialCodeA_S, 2, 1) - node isSpecialA_S = eq(T_192965, UInt<2>(3)) - node signB_S = bit(b, 64) - node expB_S = bits(b, 63, 52) - node fractB_S = bits(b, 51, 0) - node specialCodeB_S = bits(expB_S, 11, 9) - node isZeroB_S = eq(specialCodeB_S, UInt<3>(0)) - node T_192966 = bits(specialCodeB_S, 2, 1) - node isSpecialB_S = eq(T_192966, UInt<2>(3)) - node T_192967 = xor(signA_S, signB_S) - wire sign_S : UInt<1> - sign_S := T_192967 - when sqrtOp : sign_S := signB_S - node T_192968 = not(isSpecialA_S) - node T_192969 = not(isSpecialB_S) - node T_192970 = and(T_192968, T_192969) - node T_192971 = not(isZeroA_S) - node T_192972 = and(T_192970, T_192971) - node T_192973 = not(isZeroB_S) - node normalCase_S_div = and(T_192972, T_192973) - node T_192974 = not(isSpecialB_S) - node T_192975 = not(isZeroB_S) - node T_192976 = and(T_192974, T_192975) - node T_192977 = not(signB_S) - node normalCase_S_sqrt = and(T_192976, T_192977) - wire normalCase_S : UInt<1> - normalCase_S := normalCase_S_div - when sqrtOp : normalCase_S := normalCase_S_sqrt - node cyc_A4_div = and(cyc_S_div, normalCase_S_div) - node cyc_A7_sqrt = and(cyc_S_sqrt, normalCase_S_sqrt) - node entering_PA_normalCase = or(cyc_A4_div, cyc_A7_sqrt) - node T_192978 = not(ready_PB) - node T_192979 = or(valid_PA, T_192978) - node T_192980 = and(cyc_S, T_192979) - node entering_PA = or(entering_PA_normalCase, T_192980) - node T_192981 = not(normalCase_S) - node T_192982 = and(cyc_S, T_192981) - node T_192983 = not(valid_PA) - node T_192984 = and(T_192982, T_192983) - node T_192985 = not(valid_PB) - node T_192986 = not(ready_PC) - node T_192987 = and(T_192985, T_192986) - node T_192988 = or(leaving_PB, T_192987) - node entering_PB_S = and(T_192984, T_192988) - node T_192989 = not(normalCase_S) - node T_192990 = and(cyc_S, T_192989) - node T_192991 = not(valid_PA) - node T_192992 = and(T_192990, T_192991) - node T_192993 = not(valid_PB) - node T_192994 = and(T_192992, T_192993) - node entering_PC_S = and(T_192994, ready_PC) - - node T_192995 = or(entering_PA, leaving_PA) - when T_192995 : valid_PA := entering_PA - when entering_PA : - sqrtOp_PA := sqrtOp - sign_PA := sign_S - specialCodeB_PA := specialCodeB_S - node T_192996 = bit(fractB_S, 51) - fractB_51_PA := T_192996 - roundingMode_PA := roundingMode - - - node T_192997 = not(sqrtOp) - node T_192998 = and(entering_PA, T_192997) - when T_192998 : - specialCodeA_PA := specialCodeA_S - node T_192999 = bit(fractA_S, 51) - fractA_51_PA := T_192999 - when entering_PA_normalCase : - node T_193000 = bit(expB_S, 11) - node T_193001 = subw(UInt<3>(0), UInt<2>(3)) - node T_193002 = bits(expB_S, 10, 0) - node T_193003 = not(T_193002) - node T_193004 = cat(T_193001, T_193003) - node T_193005 = addw(expA_S, T_193004) - wire T_193006 : UInt<14> - T_193006 := T_193005 - when sqrtOp : T_193006 := expB_S - exp_PA := T_193006 - node T_193007 = bits(fractB_S, 50, 0) - fractB_other_PA := T_193007 - when cyc_A4_div : - node T_193008 = bits(fractA_S, 50, 0) - fractA_other_PA := T_193008 - node isZeroA_PA = eq(specialCodeA_PA, UInt<3>(0)) - node T_193009 = bits(specialCodeA_PA, 2, 1) - node isSpecialA_PA = eq(T_193009, UInt<2>(3)) - node T_193010 = cat(fractA_51_PA, fractA_other_PA) - node sigA_PA = cat(UInt<1>(1), T_193010) - node isZeroB_PA = eq(specialCodeB_PA, UInt<3>(0)) - node T_193011 = bits(specialCodeB_PA, 2, 1) - node isSpecialB_PA = eq(T_193011, UInt<2>(3)) - node T_193012 = cat(fractB_51_PA, fractB_other_PA) - node sigB_PA = cat(UInt<1>(1), T_193012) - node T_193013 = not(isSpecialB_PA) - node T_193014 = not(isZeroB_PA) - node T_193015 = and(T_193013, T_193014) - node T_193016 = not(sign_PA) - node T_193017 = and(T_193015, T_193016) - node T_193018 = not(isSpecialA_PA) - node T_193019 = not(isSpecialB_PA) - node T_193020 = and(T_193018, T_193019) - node T_193021 = not(isZeroA_PA) - node T_193022 = and(T_193020, T_193021) - node T_193023 = not(isZeroB_PA) - node T_193024 = and(T_193022, T_193023) - wire normalCase_PA : UInt<1> - normalCase_PA := T_193024 - when sqrtOp_PA : normalCase_PA := T_193017 - node valid_normalCase_leaving_PA = or(cyc_B4_div, cyc_B7_sqrt) - wire valid_leaving_PA : UInt<1> - valid_leaving_PA := ready_PB - when normalCase_PA : valid_leaving_PA := valid_normalCase_leaving_PA - node T_193025 = and(valid_PA, valid_leaving_PA) - leaving_PA := T_193025 - node T_193026 = not(valid_PA) - node T_193027 = or(T_193026, valid_leaving_PA) - ready_PA := T_193027 - node T_193028 = and(valid_PA, normalCase_PA) - node entering_PB_normalCase = and(T_193028, valid_normalCase_leaving_PA) - node entering_PB = or(entering_PB_S, leaving_PA) - - node T_193029 = or(entering_PB, leaving_PB) - when T_193029 : valid_PB := entering_PB - when entering_PB : - wire T_193030 : UInt<1> - T_193030 := sqrtOp - when valid_PA : T_193030 := sqrtOp_PA - sqrtOp_PB := T_193030 - wire T_193031 : UInt<1> - T_193031 := sign_S - when valid_PA : T_193031 := sign_PA - sign_PB := T_193031 - wire T_193032 : UInt<3> - T_193032 := specialCodeA_S - when valid_PA : T_193032 := specialCodeA_PA - specialCodeA_PB := T_193032 - node T_193033 = bit(fractA_S, 51) - wire T_193034 : UInt<1> - T_193034 := T_193033 - when valid_PA : T_193034 := fractA_51_PA - fractA_51_PB := T_193034 - wire T_193035 : UInt<3> - T_193035 := specialCodeB_S - when valid_PA : T_193035 := specialCodeB_PA - specialCodeB_PB := T_193035 - node T_193036 = bit(fractB_S, 51) - wire T_193037 : UInt<1> - T_193037 := T_193036 - when valid_PA : T_193037 := fractB_51_PA - fractB_51_PB := T_193037 - wire T_193038 : UInt<2> - T_193038 := roundingMode - when valid_PA : T_193038 := roundingMode_PA - roundingMode_PB := T_193038 - when entering_PB_normalCase : - exp_PB := exp_PA - node T_193039 = bit(fractA_other_PA, 0) - fractA_0_PB := T_193039 - fractB_other_PB := fractB_other_PA - node isZeroA_PB = eq(specialCodeA_PB, UInt<3>(0)) - node T_193040 = bits(specialCodeA_PB, 2, 1) - node isSpecialA_PB = eq(T_193040, UInt<2>(3)) - node isZeroB_PB = eq(specialCodeB_PB, UInt<3>(0)) - node T_193041 = bits(specialCodeB_PB, 2, 1) - node isSpecialB_PB = eq(T_193041, UInt<2>(3)) - node T_193042 = not(isSpecialB_PB) - node T_193043 = not(isZeroB_PB) - node T_193044 = and(T_193042, T_193043) - node T_193045 = not(sign_PB) - node T_193046 = and(T_193044, T_193045) - node T_193047 = not(isSpecialA_PB) - node T_193048 = not(isSpecialB_PB) - node T_193049 = and(T_193047, T_193048) - node T_193050 = not(isZeroA_PB) - node T_193051 = and(T_193049, T_193050) - node T_193052 = not(isZeroB_PB) - node T_193053 = and(T_193051, T_193052) - wire normalCase_PB : UInt<1> - normalCase_PB := T_193053 - when sqrtOp_PB : normalCase_PB := T_193046 - wire valid_leaving_PB : UInt<1> - valid_leaving_PB := ready_PC - when normalCase_PB : valid_leaving_PB := cyc_C3 - node T_193054 = and(valid_PB, valid_leaving_PB) - leaving_PB := T_193054 - node T_193055 = not(valid_PB) - node T_193056 = or(T_193055, valid_leaving_PB) - ready_PB := T_193056 - node T_193057 = and(valid_PB, normalCase_PB) - node entering_PC_normalCase = and(T_193057, cyc_C3) - node entering_PC = or(entering_PC_S, leaving_PB) - - node T_193058 = or(entering_PC, leaving_PC) - when T_193058 : valid_PC := entering_PC - when entering_PC : - wire T_193059 : UInt<1> - T_193059 := sqrtOp - when valid_PB : T_193059 := sqrtOp_PB - sqrtOp_PC := T_193059 - wire T_193060 : UInt<1> - T_193060 := sign_S - when valid_PB : T_193060 := sign_PB - sign_PC := T_193060 - wire T_193061 : UInt<3> - T_193061 := specialCodeA_S - when valid_PB : T_193061 := specialCodeA_PB - specialCodeA_PC := T_193061 - node T_193062 = bit(fractA_S, 51) - wire T_193063 : UInt<1> - T_193063 := T_193062 - when valid_PB : T_193063 := fractA_51_PB - fractA_51_PC := T_193063 - wire T_193064 : UInt<3> - T_193064 := specialCodeB_S - when valid_PB : T_193064 := specialCodeB_PB - specialCodeB_PC := T_193064 - node T_193065 = bit(fractB_S, 51) - wire T_193066 : UInt<1> - T_193066 := T_193065 - when valid_PB : T_193066 := fractB_51_PB - fractB_51_PC := T_193066 - wire T_193067 : UInt<2> - T_193067 := roundingMode - when valid_PB : T_193067 := roundingMode_PB - roundingMode_PC := T_193067 - when entering_PC_normalCase : - exp_PC := exp_PB - fractA_0_PC := fractA_0_PB - fractB_other_PC := fractB_other_PB - node isZeroA_PC = eq(specialCodeA_PC, UInt<3>(0)) - node T_193068 = bits(specialCodeA_PC, 2, 1) - node isSpecialA_PC = eq(T_193068, UInt<2>(3)) - node T_193069 = bit(specialCodeA_PC, 0) - node T_193070 = not(T_193069) - node isInfA_PC = and(isSpecialA_PC, T_193070) - node T_193071 = bit(specialCodeA_PC, 0) - node isNaNA_PC = and(isSpecialA_PC, T_193071) - node T_193072 = not(fractA_51_PC) - node isSigNaNA_PC = and(isNaNA_PC, T_193072) - node isZeroB_PC = eq(specialCodeB_PC, UInt<3>(0)) - node T_193073 = bits(specialCodeB_PC, 2, 1) - node isSpecialB_PC = eq(T_193073, UInt<2>(3)) - node T_193074 = bit(specialCodeB_PC, 0) - node T_193075 = not(T_193074) - node isInfB_PC = and(isSpecialB_PC, T_193075) - node T_193076 = bit(specialCodeB_PC, 0) - node isNaNB_PC = and(isSpecialB_PC, T_193076) - node T_193077 = not(fractB_51_PC) - node isSigNaNB_PC = and(isNaNB_PC, T_193077) - node T_193078 = cat(fractB_51_PC, fractB_other_PC) - node sigB_PC = cat(UInt<1>(1), T_193078) - node T_193079 = not(isSpecialB_PC) - node T_193080 = not(isZeroB_PC) - node T_193081 = and(T_193079, T_193080) - node T_193082 = not(sign_PC) - node T_193083 = and(T_193081, T_193082) - node T_193084 = not(isSpecialA_PC) - node T_193085 = not(isSpecialB_PC) - node T_193086 = and(T_193084, T_193085) - node T_193087 = not(isZeroA_PC) - node T_193088 = and(T_193086, T_193087) - node T_193089 = not(isZeroB_PC) - node T_193090 = and(T_193088, T_193089) - wire normalCase_PC : UInt<1> - normalCase_PC := T_193090 - when sqrtOp_PC : normalCase_PC := T_193083 - node expP2_PC = addw(exp_PC, UInt<2>(2)) - node T_193091 = bit(exp_PC, 0) - node T_193092 = bits(expP2_PC, 13, 1) - node T_193093 = cat(T_193092, UInt<1>(0)) - node T_193094 = bits(exp_PC, 13, 1) - node T_193095 = cat(T_193094, UInt<1>(1)) - wire expP1_PC : UInt<14> - expP1_PC := T_193095 - when T_193091 : expP1_PC := T_193093 - node roundingMode_near_even_PC = eq(roundingMode_PC, UInt<2>(0)) - node roundingMode_minMag_PC = eq(roundingMode_PC, UInt<2>(1)) - node roundingMode_min_PC = eq(roundingMode_PC, UInt<2>(2)) - node roundingMode_max_PC = eq(roundingMode_PC, UInt<2>(3)) - wire roundMagUp_PC : UInt<1> - roundMagUp_PC := roundingMode_max_PC - when sign_PC : roundMagUp_PC := roundingMode_min_PC - node overflowY_roundMagUp_PC = or(roundingMode_near_even_PC, roundMagUp_PC) - node T_193096 = not(roundMagUp_PC) - node T_193097 = not(roundingMode_near_even_PC) - node roundMagDown_PC = and(T_193096, T_193097) - node T_193098 = not(normalCase_PC) - node valid_leaving_PC = or(T_193098, cyc_E1) - node T_193099 = and(valid_PC, valid_leaving_PC) - leaving_PC := T_193099 - node T_193100 = not(valid_PC) - node T_193101 = or(T_193100, valid_leaving_PC) - ready_PC := T_193101 - node T_193102 = not(sqrtOp_PC) - node T_193103 = and(leaving_PC, T_193102) - outValid_div := T_193103 - node T_193104 = and(leaving_PC, sqrtOp_PC) - outValid_sqrt := T_193104 - - - node T_193105 = neq(cycleNum_A, UInt<1>(0)) - node T_193106 = or(entering_PA_normalCase, T_193105) - when T_193106 : - wire T_193107 : UInt<1> - T_193107 := UInt<1>(0) - when cyc_A4_div : T_193107 := UInt<2>(3) - wire T_193108 : UInt<1> - T_193108 := UInt<1>(0) - when cyc_A7_sqrt : T_193108 := UInt<3>(6) - node T_193109 = or(T_193107, T_193108) - node T_193110 = not(entering_PA_normalCase) - node T_193111 = subw(cycleNum_A, UInt<1>(1)) - wire T_193112 : UInt<1> - T_193112 := UInt<1>(0) - when T_193110 : T_193112 := T_193111 - node T_193113 = or(T_193109, T_193112) - cycleNum_A := T_193113 - node cyc_A6_sqrt = eq(cycleNum_A, UInt<3>(6)) - node cyc_A5_sqrt = eq(cycleNum_A, UInt<3>(5)) - node cyc_A4_sqrt = eq(cycleNum_A, UInt<3>(4)) - node cyc_A4 = or(cyc_A4_sqrt, cyc_A4_div) - node cyc_A3 = eq(cycleNum_A, UInt<2>(3)) - node cyc_A2 = eq(cycleNum_A, UInt<2>(2)) - node cyc_A1 = eq(cycleNum_A, UInt<1>(1)) - node T_193114 = not(sqrtOp_PA) - node cyc_A3_div = and(cyc_A3, T_193114) - node T_193115 = not(sqrtOp_PA) - node cyc_A2_div = and(cyc_A2, T_193115) - node T_193116 = not(sqrtOp_PA) - node cyc_A1_div = and(cyc_A1, T_193116) - node cyc_A3_sqrt = and(cyc_A3, sqrtOp_PA) - node cyc_A2_sqrt = and(cyc_A2, sqrtOp_PA) - node cyc_A1_sqrt = and(cyc_A1, sqrtOp_PA) - - - node T_193117 = neq(cycleNum_B, UInt<1>(0)) - node T_193118 = or(cyc_A1, T_193117) - when T_193118 : - wire T_193119 : UInt<3> - T_193119 := UInt<3>(6) - when sqrtOp_PA : T_193119 := UInt<4>(10) - node T_193120 = subw(cycleNum_B, UInt<1>(1)) - wire T_193121 : UInt<4> - T_193121 := T_193120 - when cyc_A1 : T_193121 := T_193119 - cycleNum_B := T_193121 - node T_193122 = eq(cycleNum_B, UInt<4>(10)) - cyc_B10_sqrt := T_193122 - node T_193123 = eq(cycleNum_B, UInt<4>(9)) - cyc_B9_sqrt := T_193123 - node T_193124 = eq(cycleNum_B, UInt<4>(8)) - cyc_B8_sqrt := T_193124 - node T_193125 = eq(cycleNum_B, UInt<3>(7)) - cyc_B7_sqrt := T_193125 - node T_193126 = eq(cycleNum_B, UInt<3>(6)) - cyc_B6 := T_193126 - node T_193127 = eq(cycleNum_B, UInt<3>(5)) - cyc_B5 := T_193127 - node T_193128 = eq(cycleNum_B, UInt<3>(4)) - cyc_B4 := T_193128 - node T_193129 = eq(cycleNum_B, UInt<2>(3)) - cyc_B3 := T_193129 - node T_193130 = eq(cycleNum_B, UInt<2>(2)) - cyc_B2 := T_193130 - node T_193131 = eq(cycleNum_B, UInt<1>(1)) - cyc_B1 := T_193131 - node T_193132 = and(cyc_B6, valid_PA) - node T_193133 = not(sqrtOp_PA) - node T_193134 = and(T_193132, T_193133) - cyc_B6_div := T_193134 - node T_193135 = and(cyc_B5, valid_PA) - node T_193136 = not(sqrtOp_PA) - node T_193137 = and(T_193135, T_193136) - cyc_B5_div := T_193137 - node T_193138 = and(cyc_B4, valid_PA) - node T_193139 = not(sqrtOp_PA) - node T_193140 = and(T_193138, T_193139) - cyc_B4_div := T_193140 - node T_193141 = not(sqrtOp_PB) - node T_193142 = and(cyc_B3, T_193141) - cyc_B3_div := T_193142 - node T_193143 = not(sqrtOp_PB) - node T_193144 = and(cyc_B2, T_193143) - cyc_B2_div := T_193144 - node T_193145 = not(sqrtOp_PB) - node T_193146 = and(cyc_B1, T_193145) - cyc_B1_div := T_193146 - node T_193147 = and(cyc_B6, valid_PB) - node T_193148 = and(T_193147, sqrtOp_PB) - cyc_B6_sqrt := T_193148 - node T_193149 = and(cyc_B5, valid_PB) - node T_193150 = and(T_193149, sqrtOp_PB) - cyc_B5_sqrt := T_193150 - node T_193151 = and(cyc_B4, valid_PB) - node T_193152 = and(T_193151, sqrtOp_PB) - cyc_B4_sqrt := T_193152 - node T_193153 = and(cyc_B3, sqrtOp_PB) - cyc_B3_sqrt := T_193153 - node T_193154 = and(cyc_B2, sqrtOp_PB) - cyc_B2_sqrt := T_193154 - node T_193155 = and(cyc_B1, sqrtOp_PB) - cyc_B1_sqrt := T_193155 - - - node T_193156 = neq(cycleNum_C, UInt<1>(0)) - node T_193157 = or(cyc_B1, T_193156) - when T_193157 : - wire T_193158 : UInt<3> - T_193158 := UInt<3>(5) - when sqrtOp_PB : T_193158 := UInt<3>(6) - node T_193159 = subw(cycleNum_C, UInt<1>(1)) - wire T_193160 : UInt<3> - T_193160 := T_193159 - when cyc_B1 : T_193160 := T_193158 - cycleNum_C := T_193160 - node cyc_C6_sqrt = eq(cycleNum_C, UInt<3>(6)) - node T_193161 = eq(cycleNum_C, UInt<3>(5)) - cyc_C5 := T_193161 - node T_193162 = eq(cycleNum_C, UInt<3>(4)) - cyc_C4 := T_193162 - node T_193163 = eq(cycleNum_C, UInt<2>(3)) - cyc_C3 := T_193163 - node T_193164 = eq(cycleNum_C, UInt<2>(2)) - cyc_C2 := T_193164 - node T_193165 = eq(cycleNum_C, UInt<1>(1)) - cyc_C1 := T_193165 - node T_193166 = not(sqrtOp_PB) - node cyc_C5_div = and(cyc_C5, T_193166) - node T_193167 = not(sqrtOp_PB) - node cyc_C4_div = and(cyc_C4, T_193167) - node T_193168 = not(sqrtOp_PB) - node cyc_C3_div = and(cyc_C3, T_193168) - node T_193169 = not(sqrtOp_PC) - node cyc_C2_div = and(cyc_C2, T_193169) - node T_193170 = not(sqrtOp_PC) - node cyc_C1_div = and(cyc_C1, T_193170) - node cyc_C5_sqrt = and(cyc_C5, sqrtOp_PB) - node cyc_C4_sqrt = and(cyc_C4, sqrtOp_PB) - node cyc_C3_sqrt = and(cyc_C3, sqrtOp_PB) - node cyc_C2_sqrt = and(cyc_C2, sqrtOp_PC) - node cyc_C1_sqrt = and(cyc_C1, sqrtOp_PC) - - - node T_193171 = neq(cycleNum_E, UInt<1>(0)) - node T_193172 = or(cyc_C1, T_193171) - when T_193172 : - node T_193173 = subw(cycleNum_E, UInt<1>(1)) - wire T_193174 : UInt<3> - T_193174 := T_193173 - when cyc_C1 : T_193174 := UInt<3>(4) - cycleNum_E := T_193174 - node T_193175 = eq(cycleNum_E, UInt<3>(4)) - cyc_E4 := T_193175 - node T_193176 = eq(cycleNum_E, UInt<2>(3)) - cyc_E3 := T_193176 - node T_193177 = eq(cycleNum_E, UInt<2>(2)) - cyc_E2 := T_193177 - node T_193178 = eq(cycleNum_E, UInt<1>(1)) - cyc_E1 := T_193178 - node T_193179 = not(sqrtOp_PC) - node cyc_E4_div = and(cyc_E4, T_193179) - node T_193180 = not(sqrtOp_PC) - node cyc_E3_div = and(cyc_E3, T_193180) - node T_193181 = not(sqrtOp_PC) - node cyc_E2_div = and(cyc_E2, T_193181) - node T_193182 = not(sqrtOp_PC) - node cyc_E1_div = and(cyc_E1, T_193182) - node cyc_E4_sqrt = and(cyc_E4, sqrtOp_PC) - node cyc_E3_sqrt = and(cyc_E3, sqrtOp_PC) - node cyc_E2_sqrt = and(cyc_E2, sqrtOp_PC) - node cyc_E1_sqrt = and(cyc_E1, sqrtOp_PC) - wire zFractB_A4_div : UInt<1> - zFractB_A4_div := UInt<1>(0) - when cyc_A4_div : zFractB_A4_div := fractB_S - node T_193183 = bits(fractB_S, 51, 49) - node T_193184 = eq(T_193183, UInt<1>(0)) - node zLinPiece_0_A4_div = and(cyc_A4_div, T_193184) - node T_193185 = bits(fractB_S, 51, 49) - node T_193186 = eq(T_193185, UInt<1>(1)) - node zLinPiece_1_A4_div = and(cyc_A4_div, T_193186) - node T_193187 = bits(fractB_S, 51, 49) - node T_193188 = eq(T_193187, UInt<2>(2)) - node zLinPiece_2_A4_div = and(cyc_A4_div, T_193188) - node T_193189 = bits(fractB_S, 51, 49) - node T_193190 = eq(T_193189, UInt<2>(3)) - node zLinPiece_3_A4_div = and(cyc_A4_div, T_193190) - node T_193191 = bits(fractB_S, 51, 49) - node T_193192 = eq(T_193191, UInt<3>(4)) - node zLinPiece_4_A4_div = and(cyc_A4_div, T_193192) - node T_193193 = bits(fractB_S, 51, 49) - node T_193194 = eq(T_193193, UInt<3>(5)) - node zLinPiece_5_A4_div = and(cyc_A4_div, T_193194) - node T_193195 = bits(fractB_S, 51, 49) - node T_193196 = eq(T_193195, UInt<3>(6)) - node zLinPiece_6_A4_div = and(cyc_A4_div, T_193196) - node T_193197 = bits(fractB_S, 51, 49) - node T_193198 = eq(T_193197, UInt<3>(7)) - node zLinPiece_7_A4_div = and(cyc_A4_div, T_193198) - wire T_193199 : UInt<1> - T_193199 := UInt<1>(0) - when zLinPiece_0_A4_div : T_193199 := UInt<9>(455) - wire T_193200 : UInt<1> - T_193200 := UInt<1>(0) - when zLinPiece_1_A4_div : T_193200 := UInt<9>(364) - node T_193201 = or(T_193199, T_193200) - wire T_193202 : UInt<1> - T_193202 := UInt<1>(0) - when zLinPiece_2_A4_div : T_193202 := UInt<9>(298) - node T_193203 = or(T_193201, T_193202) - wire T_193204 : UInt<1> - T_193204 := UInt<1>(0) - when zLinPiece_3_A4_div : T_193204 := UInt<9>(248) - node T_193205 = or(T_193203, T_193204) - wire T_193206 : UInt<1> - T_193206 := UInt<1>(0) - when zLinPiece_4_A4_div : T_193206 := UInt<9>(210) - node T_193207 = or(T_193205, T_193206) - wire T_193208 : UInt<1> - T_193208 := UInt<1>(0) - when zLinPiece_5_A4_div : T_193208 := UInt<9>(180) - node T_193209 = or(T_193207, T_193208) - wire T_193210 : UInt<1> - T_193210 := UInt<1>(0) - when zLinPiece_6_A4_div : T_193210 := UInt<9>(156) - node T_193211 = or(T_193209, T_193210) - wire T_193212 : UInt<1> - T_193212 := UInt<1>(0) - when zLinPiece_7_A4_div : T_193212 := UInt<9>(137) - node zK1_A4_div = or(T_193211, T_193212) - node T_193213 = not(UInt<12>(4067)) - wire T_193214 : UInt<1> - T_193214 := UInt<1>(0) - when zLinPiece_0_A4_div : T_193214 := T_193213 - node T_193215 = not(UInt<12>(3165)) - wire T_193216 : UInt<1> - T_193216 := UInt<1>(0) - when zLinPiece_1_A4_div : T_193216 := T_193215 - node T_193217 = or(T_193214, T_193216) - node T_193218 = not(UInt<12>(2442)) - wire T_193219 : UInt<1> - T_193219 := UInt<1>(0) - when zLinPiece_2_A4_div : T_193219 := T_193218 - node T_193220 = or(T_193217, T_193219) - node T_193221 = not(UInt<12>(1849)) - wire T_193222 : UInt<1> - T_193222 := UInt<1>(0) - when zLinPiece_3_A4_div : T_193222 := T_193221 - node T_193223 = or(T_193220, T_193222) - node T_193224 = not(UInt<12>(1355)) - wire T_193225 : UInt<1> - T_193225 := UInt<1>(0) - when zLinPiece_4_A4_div : T_193225 := T_193224 - node T_193226 = or(T_193223, T_193225) - node T_193227 = not(UInt<12>(937)) - wire T_193228 : UInt<1> - T_193228 := UInt<1>(0) - when zLinPiece_5_A4_div : T_193228 := T_193227 - node T_193229 = or(T_193226, T_193228) - node T_193230 = not(UInt<12>(578)) - wire T_193231 : UInt<1> - T_193231 := UInt<1>(0) - when zLinPiece_6_A4_div : T_193231 := T_193230 - node T_193232 = or(T_193229, T_193231) - node T_193233 = not(UInt<12>(267)) - wire T_193234 : UInt<1> - T_193234 := UInt<1>(0) - when zLinPiece_7_A4_div : T_193234 := T_193233 - node zComplFractK0_A4_div = or(T_193232, T_193234) - wire zFractB_A7_sqrt : UInt<1> - zFractB_A7_sqrt := UInt<1>(0) - when cyc_A7_sqrt : zFractB_A7_sqrt := fractB_S - node T_193235 = bit(expB_S, 0) - node T_193236 = not(T_193235) - node T_193237 = and(cyc_A7_sqrt, T_193236) - node T_193238 = bit(fractB_S, 51) - node T_193239 = not(T_193238) - node zQuadPiece_0_A7_sqrt = and(T_193237, T_193239) - node T_193240 = bit(expB_S, 0) - node T_193241 = not(T_193240) - node T_193242 = and(cyc_A7_sqrt, T_193241) - node T_193243 = bit(fractB_S, 51) - node zQuadPiece_1_A7_sqrt = and(T_193242, T_193243) - node T_193244 = bit(expB_S, 0) - node T_193245 = and(cyc_A7_sqrt, T_193244) - node T_193246 = bit(fractB_S, 51) - node T_193247 = not(T_193246) - node zQuadPiece_2_A7_sqrt = and(T_193245, T_193247) - node T_193248 = bit(expB_S, 0) - node T_193249 = and(cyc_A7_sqrt, T_193248) - node T_193250 = bit(fractB_S, 51) - node zQuadPiece_3_A7_sqrt = and(T_193249, T_193250) - wire T_193251 : UInt<1> - T_193251 := UInt<1>(0) - when zQuadPiece_0_A7_sqrt : T_193251 := UInt<9>(456) - wire T_193252 : UInt<1> - T_193252 := UInt<1>(0) - when zQuadPiece_1_A7_sqrt : T_193252 := UInt<9>(193) - node T_193253 = or(T_193251, T_193252) - wire T_193254 : UInt<1> - T_193254 := UInt<1>(0) - when zQuadPiece_2_A7_sqrt : T_193254 := UInt<9>(323) - node T_193255 = or(T_193253, T_193254) - wire T_193256 : UInt<1> - T_193256 := UInt<1>(0) - when zQuadPiece_3_A7_sqrt : T_193256 := UInt<9>(137) - node zK2_A7_sqrt = or(T_193255, T_193256) - node T_193257 = not(UInt<10>(976)) - wire T_193258 : UInt<1> - T_193258 := UInt<1>(0) - when zQuadPiece_0_A7_sqrt : T_193258 := T_193257 - node T_193259 = not(UInt<10>(544)) - wire T_193260 : UInt<1> - T_193260 := UInt<1>(0) - when zQuadPiece_1_A7_sqrt : T_193260 := T_193259 - node T_193261 = or(T_193258, T_193260) - node T_193262 = not(UInt<10>(690)) - wire T_193263 : UInt<1> - T_193263 := UInt<1>(0) - when zQuadPiece_2_A7_sqrt : T_193263 := T_193262 - node T_193264 = or(T_193261, T_193263) - node T_193265 = not(UInt<10>(385)) - wire T_193266 : UInt<1> - T_193266 := UInt<1>(0) - when zQuadPiece_3_A7_sqrt : T_193266 := T_193265 - node zComplK1_A7_sqrt = or(T_193264, T_193266) - node T_193267 = bit(exp_PA, 0) - node T_193268 = not(T_193267) - node T_193269 = and(cyc_A6_sqrt, T_193268) - node T_193270 = bit(sigB_PA, 51) - node T_193271 = not(T_193270) - node zQuadPiece_0_A6_sqrt = and(T_193269, T_193271) - node T_193272 = bit(exp_PA, 0) - node T_193273 = not(T_193272) - node T_193274 = and(cyc_A6_sqrt, T_193273) - node T_193275 = bit(sigB_PA, 51) - node zQuadPiece_1_A6_sqrt = and(T_193274, T_193275) - node T_193276 = bit(exp_PA, 0) - node T_193277 = and(cyc_A6_sqrt, T_193276) - node T_193278 = bit(sigB_PA, 51) - node T_193279 = not(T_193278) - node zQuadPiece_2_A6_sqrt = and(T_193277, T_193279) - node T_193280 = bit(exp_PA, 0) - node T_193281 = and(cyc_A6_sqrt, T_193280) - node T_193282 = bit(sigB_PA, 51) - node zQuadPiece_3_A6_sqrt = and(T_193281, T_193282) - node T_193283 = not(UInt<13>(8165)) - wire T_193284 : UInt<1> - T_193284 := UInt<1>(0) - when zQuadPiece_0_A6_sqrt : T_193284 := T_193283 - node T_193285 = not(UInt<13>(5173)) - wire T_193286 : UInt<1> - T_193286 := UInt<1>(0) - when zQuadPiece_1_A6_sqrt : T_193286 := T_193285 - node T_193287 = or(T_193284, T_193286) - node T_193288 = not(UInt<13>(3372)) - wire T_193289 : UInt<1> - T_193289 := UInt<1>(0) - when zQuadPiece_2_A6_sqrt : T_193289 := T_193288 - node T_193290 = or(T_193287, T_193289) - node T_193291 = not(UInt<13>(1256)) - wire T_193292 : UInt<1> - T_193292 := UInt<1>(0) - when zQuadPiece_3_A6_sqrt : T_193292 := T_193291 - node zComplFractK0_A6_sqrt = or(T_193290, T_193292) - node T_193293 = bits(zFractB_A4_div, 48, 40) - node T_193294 = or(T_193293, zK2_A7_sqrt) - node T_193295 = not(cyc_S) - wire T_193296 : UInt<1> - T_193296 := UInt<1>(0) - when T_193295 : T_193296 := nextMulAdd9A_A - node mulAdd9A_A = or(T_193294, T_193296) - node T_193297 = bits(zFractB_A7_sqrt, 50, 42) - node T_193298 = or(zK1_A4_div, T_193297) - node T_193299 = not(cyc_S) - wire T_193300 : UInt<1> - T_193300 := UInt<1>(0) - when T_193299 : T_193300 := nextMulAdd9B_A - node mulAdd9B_A = or(T_193298, T_193300) - node T_193301 = shl(zComplK1_A7_sqrt, 10) - node T_193302 = subw(UInt<6>(0), UInt<3>(6)) - node T_193303 = cat(zComplFractK0_A6_sqrt, T_193302) - node T_193304 = cat(cyc_A6_sqrt, T_193303) - node T_193305 = or(T_193301, T_193304) - node T_193306 = subw(UInt<8>(0), UInt<4>(8)) - node T_193307 = cat(zComplFractK0_A4_div, T_193306) - node T_193308 = cat(cyc_A4_div, T_193307) - node T_193309 = or(T_193305, T_193308) - node T_193310 = shl(fractR0_A, 10) - node T_193311 = addw(UInt<20>(262144), T_193310) - wire T_193312 : UInt<1> - T_193312 := UInt<1>(0) - when cyc_A5_sqrt : T_193312 := T_193311 - node T_193313 = or(T_193309, T_193312) - node T_193314 = bit(hiSqrR0_A_sqrt, 9) - node T_193315 = not(T_193314) - node T_193316 = and(cyc_A4_sqrt, T_193315) - wire T_193317 : UInt<1> - T_193317 := UInt<1>(0) - when T_193316 : T_193317 := UInt<11>(1024) - node T_193318 = or(T_193313, T_193317) - node T_193319 = bit(hiSqrR0_A_sqrt, 9) - node T_193320 = and(cyc_A4_sqrt, T_193319) - node T_193321 = or(T_193320, cyc_A3_div) - node T_193322 = bits(sigB_PA, 46, 26) - node T_193323 = addw(T_193322, UInt<11>(1024)) - wire T_193324 : UInt<1> - T_193324 := UInt<1>(0) - when T_193321 : T_193324 := T_193323 - node T_193325 = or(T_193318, T_193324) - node T_193326 = or(cyc_A3_sqrt, cyc_A2) - wire T_193327 : UInt<1> - T_193327 := UInt<1>(0) - when T_193326 : T_193327 := partNegSigma0_A - node T_193328 = or(T_193325, T_193327) - node T_193329 = shl(fractR0_A, 16) - wire T_193330 : UInt<1> - T_193330 := UInt<1>(0) - when cyc_A1_sqrt : T_193330 := T_193329 - node T_193331 = or(T_193328, T_193330) - node T_193332 = shl(fractR0_A, 15) - wire T_193333 : UInt<1> - T_193333 := UInt<1>(0) - when cyc_A1_div : T_193333 := T_193332 - node mulAdd9C_A = or(T_193331, T_193333) - node T_193334 = mul(mulAdd9A_A, mulAdd9B_A) - node T_193335 = bits(mulAdd9C_A, 17, 0) - node T_193336 = cat(UInt<1>(0), T_193335) - node loMulAdd9Out_A = addw(T_193334, T_193336) - node T_193337 = bit(loMulAdd9Out_A, 18) - node T_193338 = bits(mulAdd9C_A, 24, 18) - node T_193339 = addw(T_193338, UInt<1>(1)) - node T_193340 = bits(mulAdd9C_A, 24, 18) - wire T_193341 : UInt<7> - T_193341 := T_193340 - when T_193337 : T_193341 := T_193339 - node T_193342 = bits(loMulAdd9Out_A, 17, 0) - node mulAdd9Out_A = cat(T_193341, T_193342) - node T_193343 = bit(mulAdd9Out_A, 19) - node T_193344 = and(cyc_A6_sqrt, T_193343) - node T_193345 = not(mulAdd9Out_A) - node T_193346 = shr(T_193345, 10) - wire T_193347 : UInt<1> - T_193347 := UInt<1>(0) - when T_193344 : T_193347 := T_193346 - node zFractR0_A6_sqrt = bits(T_193347, 8, 0) - node T_193348 = bit(exp_PA, 0) - node T_193349 = shl(mulAdd9Out_A, 1) - wire sqrR0_A5_sqrt : UInt<25> - sqrR0_A5_sqrt := mulAdd9Out_A - when T_193348 : sqrR0_A5_sqrt := T_193349 - node T_193350 = bit(mulAdd9Out_A, 20) - node T_193351 = and(cyc_A4_div, T_193350) - node T_193352 = not(mulAdd9Out_A) - node T_193353 = shr(T_193352, 11) - wire T_193354 : UInt<1> - T_193354 := UInt<1>(0) - when T_193351 : T_193354 := T_193353 - node zFractR0_A4_div = bits(T_193354, 8, 0) - node T_193355 = bit(mulAdd9Out_A, 11) - node T_193356 = and(cyc_A2, T_193355) - node T_193357 = not(mulAdd9Out_A) - node T_193358 = shr(T_193357, 2) - wire T_193359 : UInt<1> - T_193359 := UInt<1>(0) - when T_193356 : T_193359 := T_193358 - node zSigma0_A2 = bits(T_193359, 8, 0) - node T_193360 = shr(mulAdd9Out_A, 10) - node T_193361 = shr(mulAdd9Out_A, 9) - wire T_193362 : UInt<16> - T_193362 := T_193361 - when sqrtOp_PA : T_193362 := T_193360 - node fractR1_A1 = bits(T_193362, 14, 0) - node r1_A1 = cat(UInt<1>(1), fractR1_A1) - node T_193363 = bit(exp_PA, 0) - node T_193364 = shl(r1_A1, 1) - wire ER1_A1_sqrt : UInt<16> - ER1_A1_sqrt := r1_A1 - when T_193363 : ER1_A1_sqrt := T_193364 - - node T_193365 = or(cyc_A6_sqrt, cyc_A4_div) - when T_193365 : - node T_193366 = or(zFractR0_A6_sqrt, zFractR0_A4_div) - fractR0_A := T_193366 - when cyc_A5_sqrt : - node T_193367 = shr(sqrR0_A5_sqrt, 10) - hiSqrR0_A_sqrt := T_193367 - - node T_193368 = or(cyc_A4_sqrt, cyc_A3) - when T_193368 : - node T_193369 = shr(mulAdd9Out_A, 9) - wire T_193370 : UInt<16> - T_193370 := T_193369 - when cyc_A4_sqrt : T_193370 := mulAdd9Out_A - node T_193371 = bits(T_193370, 20, 0) - partNegSigma0_A := T_193371 - - - node T_193372 = or(cyc_A7_sqrt, cyc_A6_sqrt) - node T_193373 = or(T_193372, cyc_A5_sqrt) - node T_193374 = or(T_193373, cyc_A4) - node T_193375 = or(T_193374, cyc_A3) - node T_193376 = or(T_193375, cyc_A2) - when T_193376 : - node T_193377 = not(mulAdd9Out_A) - node T_193378 = shr(T_193377, 11) - wire T_193379 : UInt<1> - T_193379 := UInt<1>(0) - when cyc_A7_sqrt : T_193379 := T_193378 - node T_193380 = or(T_193379, zFractR0_A6_sqrt) - node T_193381 = bits(sigB_PA, 43, 35) - wire T_193382 : UInt<1> - T_193382 := UInt<1>(0) - when cyc_A4_sqrt : T_193382 := T_193381 - node T_193383 = or(T_193380, T_193382) - node T_193384 = bits(zFractB_A4_div, 43, 35) - node T_193385 = or(T_193383, T_193384) - node T_193386 = or(cyc_A5_sqrt, cyc_A3) - node T_193387 = bits(sigB_PA, 52, 44) - wire T_193388 : UInt<1> - T_193388 := UInt<1>(0) - when T_193386 : T_193388 := T_193387 - node T_193389 = or(T_193385, T_193388) - node T_193390 = or(T_193389, zSigma0_A2) - nextMulAdd9A_A := T_193390 - - - node T_193391 = or(cyc_A7_sqrt, cyc_A6_sqrt) - node T_193392 = or(T_193391, cyc_A5_sqrt) - node T_193393 = or(T_193392, cyc_A4) - node T_193394 = or(T_193393, cyc_A2) - when T_193394 : - node T_193395 = bits(zFractB_A7_sqrt, 50, 42) - node T_193396 = or(T_193395, zFractR0_A6_sqrt) - node T_193397 = bits(sqrR0_A5_sqrt, 9, 1) - wire T_193398 : UInt<1> - T_193398 := UInt<1>(0) - when cyc_A5_sqrt : T_193398 := T_193397 - node T_193399 = or(T_193396, T_193398) - node T_193400 = or(T_193399, zFractR0_A4_div) - node T_193401 = bits(hiSqrR0_A_sqrt, 8, 0) - wire T_193402 : UInt<1> - T_193402 := UInt<1>(0) - when cyc_A4_sqrt : T_193402 := T_193401 - node T_193403 = or(T_193400, T_193402) - node T_193404 = bits(fractR0_A, 8, 1) - node T_193405 = cat(UInt<1>(1), T_193404) - wire T_193406 : UInt<1> - T_193406 := UInt<1>(0) - when cyc_A2 : T_193406 := T_193405 - node T_193407 = or(T_193403, T_193406) - nextMulAdd9B_A := T_193407 - when cyc_A1_sqrt : ER1_B_sqrt := ER1_A1_sqrt - node T_193408 = or(cyc_A1, cyc_B7_sqrt) - node T_193409 = or(T_193408, cyc_B6_div) - node T_193410 = or(T_193409, cyc_B4) - node T_193411 = or(T_193410, cyc_B3) - node T_193412 = or(T_193411, cyc_C6_sqrt) - node T_193413 = or(T_193412, cyc_C4) - node T_193414 = or(T_193413, cyc_C1) - latchMulAddA_0 := T_193414 - node T_193415 = shl(ER1_A1_sqrt, 36) - wire T_193416 : UInt<1> - T_193416 := UInt<1>(0) - when cyc_A1_sqrt : T_193416 := T_193415 - node T_193417 = or(cyc_B7_sqrt, cyc_A1_div) - wire T_193418 : UInt<1> - T_193418 := UInt<1>(0) - when T_193417 : T_193418 := sigB_PA - node T_193419 = or(T_193416, T_193418) - wire T_193420 : UInt<1> - T_193420 := UInt<1>(0) - when cyc_B6_div : T_193420 := sigA_PA - node T_193421 = or(T_193419, T_193420) - node T_193422 = bits(zSigma1_B4, 45, 12) - node T_193423 = or(T_193421, T_193422) - node T_193424 = or(cyc_B3, cyc_C6_sqrt) - node T_193425 = bits(sigXNU_B3_CX, 57, 12) - wire T_193426 : UInt<1> - T_193426 := UInt<1>(0) - when T_193424 : T_193426 := T_193425 - node T_193427 = or(T_193423, T_193426) - node T_193428 = bits(sigXN_C, 57, 25) - node T_193429 = shl(T_193428, 13) - wire T_193430 : UInt<1> - T_193430 := UInt<1>(0) - when cyc_C4_div : T_193430 := T_193429 - node T_193431 = or(T_193427, T_193430) - node T_193432 = shl(u_C_sqrt, 15) - wire T_193433 : UInt<1> - T_193433 := UInt<1>(0) - when cyc_C4_sqrt : T_193433 := T_193432 - node T_193434 = or(T_193431, T_193433) - wire T_193435 : UInt<1> - T_193435 := UInt<1>(0) - when cyc_C1_div : T_193435 := sigB_PC - node T_193436 = or(T_193434, T_193435) - node T_193437 = or(T_193436, zComplSigT_C1_sqrt) - mulAddA_0 := T_193437 - node T_193438 = or(cyc_A1, cyc_B7_sqrt) - node T_193439 = or(T_193438, cyc_B6_sqrt) - node T_193440 = or(T_193439, cyc_B4) - node T_193441 = or(T_193440, cyc_C6_sqrt) - node T_193442 = or(T_193441, cyc_C4) - node T_193443 = or(T_193442, cyc_C1) - latchMulAddB_0 := T_193443 - node T_193444 = shl(r1_A1, 36) - wire T_193445 : UInt<1> - T_193445 := UInt<1>(0) - when cyc_A1 : T_193445 := T_193444 - node T_193446 = shl(ESqrR1_B_sqrt, 19) - wire T_193447 : UInt<1> - T_193447 := UInt<1>(0) - when cyc_B7_sqrt : T_193447 := T_193446 - node T_193448 = or(T_193445, T_193447) - node T_193449 = shl(ER1_B_sqrt, 36) - wire T_193450 : UInt<1> - T_193450 := UInt<1>(0) - when cyc_B6_sqrt : T_193450 := T_193449 - node T_193451 = or(T_193448, T_193450) - node T_193452 = or(T_193451, zSigma1_B4) - node T_193453 = bits(sqrSigma1_C, 30, 1) - wire T_193454 : UInt<1> - T_193454 := UInt<1>(0) - when cyc_C6_sqrt : T_193454 := T_193453 - node T_193455 = or(T_193452, T_193454) - wire T_193456 : UInt<1> - T_193456 := UInt<1>(0) - when cyc_C4 : T_193456 := sqrSigma1_C - node T_193457 = or(T_193455, T_193456) - node T_193458 = or(T_193457, zComplSigT_C1) - mulAddB_0 := T_193458 - node T_193459 = or(cyc_A4, cyc_A3_div) - node T_193460 = or(T_193459, cyc_A1_div) - node T_193461 = or(T_193460, cyc_B10_sqrt) - node T_193462 = or(T_193461, cyc_B9_sqrt) - node T_193463 = or(T_193462, cyc_B7_sqrt) - node T_193464 = or(T_193463, cyc_B6) - node T_193465 = or(T_193464, cyc_B5_sqrt) - node T_193466 = or(T_193465, cyc_B3_sqrt) - node T_193467 = or(T_193466, cyc_B2_div) - node T_193468 = or(T_193467, cyc_B1_sqrt) - node T_193469 = or(T_193468, cyc_C4) - node T_193470 = or(cyc_A3, cyc_A2_div) - node T_193471 = or(T_193470, cyc_B9_sqrt) - node T_193472 = or(T_193471, cyc_B8_sqrt) - node T_193473 = or(T_193472, cyc_B6) - node T_193474 = or(T_193473, cyc_B5) - node T_193475 = or(T_193474, cyc_B4_sqrt) - node T_193476 = or(T_193475, cyc_B2_sqrt) - node T_193477 = or(T_193476, cyc_B1_div) - node T_193478 = or(T_193477, cyc_C6_sqrt) - node T_193479 = or(T_193478, cyc_C3) - node T_193480 = or(cyc_A2, cyc_A1_div) - node T_193481 = or(T_193480, cyc_B8_sqrt) - node T_193482 = or(T_193481, cyc_B7_sqrt) - node T_193483 = or(T_193482, cyc_B5) - node T_193484 = or(T_193483, cyc_B4) - node T_193485 = or(T_193484, cyc_B3_sqrt) - node T_193486 = or(T_193485, cyc_B1_sqrt) - node T_193487 = or(T_193486, cyc_C5) - node T_193488 = or(T_193487, cyc_C2) - node T_193489 = or(latchMulAddA_0, cyc_B6) - node T_193490 = or(T_193489, cyc_B2_sqrt) - node T_193491 = cat(T_193469, T_193479) - node T_193492 = cat(T_193488, T_193490) - node T_193493 = cat(T_193491, T_193492) - usingMulAdd := T_193493 - node T_193494 = shl(sigX1_B, 47) - wire T_193495 : UInt<1> - T_193495 := UInt<1>(0) - when cyc_B1 : T_193495 := T_193494 - node T_193496 = shl(sigX1_B, 46) - wire T_193497 : UInt<1> - T_193497 := UInt<1>(0) - when cyc_C6_sqrt : T_193497 := T_193496 - node T_193498 = or(T_193495, T_193497) - node T_193499 = or(cyc_C4_sqrt, cyc_C2) - node T_193500 = shl(sigXN_C, 47) - wire T_193501 : UInt<1> - T_193501 := UInt<1>(0) - when T_193499 : T_193501 := T_193500 - node T_193502 = or(T_193498, T_193501) - node T_193503 = not(E_E_div) - node T_193504 = and(cyc_E3_div, T_193503) - node T_193505 = shl(fractA_0_PC, 53) - wire T_193506 : UInt<1> - T_193506 := UInt<1>(0) - when T_193504 : T_193506 := T_193505 - node T_193507 = or(T_193502, T_193506) - node T_193508 = bit(exp_PC, 0) - node T_193509 = bit(sigB_PC, 0) - node T_193510 = cat(T_193509, UInt<1>(0)) - node T_193511 = bit(sigB_PC, 1) - node T_193512 = bit(sigB_PC, 0) - node T_193513 = xor(T_193511, T_193512) - node T_193514 = bit(sigB_PC, 0) - node T_193515 = cat(T_193513, T_193514) - wire T_193516 : UInt<2> - T_193516 := T_193515 - when T_193508 : T_193516 := T_193510 - node T_193517 = not(extraT_E) - node T_193518 = cat(T_193517, UInt<1>(0)) - node T_193519 = xor(T_193516, T_193518) - node T_193520 = shl(T_193519, 54) - wire T_193521 : UInt<1> - T_193521 := UInt<1>(0) - when cyc_E3_sqrt : T_193521 := T_193520 - node T_193522 = or(T_193507, T_193521) - mulAddC_2 := T_193522 - node ESqrR1_B8_sqrt = bits(mulAddResult_3, 103, 72) - node T_193523 = bits(mulAddResult_3, 90, 45) - node T_193524 = not(T_193523) - wire T_193525 : UInt<1> - T_193525 := UInt<1>(0) - when cyc_B4 : T_193525 := T_193524 - zSigma1_B4 := T_193525 - node sqrSigma1_B1 = bits(mulAddResult_3, 79, 47) - node T_193526 = bits(mulAddResult_3, 104, 47) - sigXNU_B3_CX := T_193526 - node T_193527 = bit(mulAddResult_3, 104) - node E_C1_div = not(T_193527) - node T_193528 = not(E_C1_div) - node T_193529 = and(cyc_C1_div, T_193528) - node T_193530 = or(T_193529, cyc_C1_sqrt) - node T_193531 = bits(mulAddResult_3, 104, 51) - node T_193532 = not(T_193531) - wire T_193533 : UInt<1> - T_193533 := UInt<1>(0) - when T_193530 : T_193533 := T_193532 - node T_193534 = and(cyc_C1_div, E_C1_div) - node T_193535 = bits(mulAddResult_3, 102, 50) - node T_193536 = not(T_193535) - node T_193537 = cat(UInt<1>(0), T_193536) - wire T_193538 : UInt<1> - T_193538 := UInt<1>(0) - when T_193534 : T_193538 := T_193537 - node T_193539 = or(T_193533, T_193538) - zComplSigT_C1 := T_193539 - node T_193540 = bits(mulAddResult_3, 104, 51) - node T_193541 = not(T_193540) - wire T_193542 : UInt<1> - T_193542 := UInt<1>(0) - when cyc_C1_sqrt : T_193542 := T_193541 - zComplSigT_C1_sqrt := T_193542 - node sigT_C1 = not(zComplSigT_C1) - node remT_E2 = bits(mulAddResult_3, 55, 0) - when cyc_B8_sqrt : ESqrR1_B_sqrt := ESqrR1_B8_sqrt - when cyc_B3 : sigX1_B := sigXNU_B3_CX - when cyc_B1 : sqrSigma1_C := sqrSigma1_B1 - - - node T_193543 = or(cyc_C6_sqrt, cyc_C5_div) - node T_193544 = or(T_193543, cyc_C3_sqrt) - when T_193544 : sigXN_C := sigXNU_B3_CX - when cyc_C5_sqrt : - node T_193545 = bits(sigXNU_B3_CX, 56, 26) - u_C_sqrt := T_193545 - when cyc_C1 : - E_E_div := E_C1_div - node T_193546 = bits(sigT_C1, 53, 1) - sigT_E := T_193546 - node T_193547 = bit(sigT_C1, 0) - extraT_E := T_193547 - when cyc_E2 : - node T_193548 = bit(remT_E2, 55) - node T_193549 = bit(remT_E2, 53) - wire T_193550 : UInt<1> - T_193550 := T_193549 - when sqrtOp_PC : T_193550 := T_193548 - isNegRemT_E := T_193550 - node T_193551 = bits(remT_E2, 53, 0) - node T_193552 = eq(T_193551, UInt<1>(0)) - node T_193553 = not(sqrtOp_PC) - node T_193554 = bits(remT_E2, 55, 54) - node T_193555 = eq(T_193554, UInt<1>(0)) - node T_193556 = or(T_193553, T_193555) - node T_193557 = and(T_193552, T_193556) - trueEqX_E1 := T_193557 - node T_193558 = not(sqrtOp_PC) - node T_193559 = and(T_193558, E_E_div) - wire T_193560 : UInt<1> - T_193560 := UInt<1>(0) - when T_193559 : T_193560 := exp_PC - node T_193561 = not(sqrtOp_PC) - node T_193562 = not(E_E_div) - node T_193563 = and(T_193561, T_193562) - wire T_193564 : UInt<1> - T_193564 := UInt<1>(0) - when T_193563 : T_193564 := expP1_PC - node T_193565 = or(T_193560, T_193564) - node T_193566 = shr(exp_PC, 1) - node T_193567 = addw(T_193566, UInt<12>(1024)) - wire T_193568 : UInt<1> - T_193568 := UInt<1>(0) - when sqrtOp_PC : T_193568 := T_193567 - node sExpX_E = or(T_193565, T_193568) - node posExpX_E = bits(sExpX_E, 12, 0) - node T_193569 = bits(posExpX_E, 12, 6) - node posExpX_0001111_E = eq(T_193569, UInt<7>(15)) - node T_193570 = bit(posExpX_E, 5) - node T_193571 = not(T_193570) - node posExpX_00011110_E = and(posExpX_0001111_E, T_193571) - node T_193572 = bit(posExpX_E, 4) - node T_193573 = not(T_193572) - node posExpX_000111100_E = and(posExpX_00011110_E, T_193573) - node T_193574 = bits(sExpX_E, 2, 0) - node exp3X_lt_001_E = lt(T_193574, UInt<3>(1)) - node T_193575 = bits(sExpX_E, 2, 0) - node exp3X_lt_010_E = lt(T_193575, UInt<3>(2)) - node T_193576 = bits(sExpX_E, 2, 0) - node exp3X_lt_011_E = lt(T_193576, UInt<3>(3)) - node T_193577 = bits(sExpX_E, 2, 0) - node exp3X_lt_100_E = lt(T_193577, UInt<3>(4)) - node T_193578 = bits(sExpX_E, 2, 0) - node exp3X_lt_101_E = lt(T_193578, UInt<3>(5)) - node T_193579 = bits(sExpX_E, 2, 0) - node exp3X_lt_110_E = lt(T_193579, UInt<3>(6)) - node T_193580 = bits(sExpX_E, 2, 0) - node exp3X_lt_111_E = lt(T_193580, UInt<3>(7)) - node T_193581 = bits(sExpX_E, 4, 3) - node exp5X_00_E = eq(T_193581, UInt<2>(0)) - node T_193582 = bits(sExpX_E, 4, 3) - node exp5X_01_E = eq(T_193582, UInt<2>(1)) - node T_193583 = bits(sExpX_E, 4, 3) - node exp5X_10_E = eq(T_193583, UInt<2>(2)) - node exp5X_lt_00001_E = and(exp5X_00_E, exp3X_lt_001_E) - node exp5X_lt_00010_E = and(exp5X_00_E, exp3X_lt_010_E) - node exp5X_lt_00011_E = and(exp5X_00_E, exp3X_lt_011_E) - node exp5X_lt_00100_E = and(exp5X_00_E, exp3X_lt_100_E) - node exp5X_lt_00101_E = and(exp5X_00_E, exp3X_lt_101_E) - node exp5X_lt_00110_E = and(exp5X_00_E, exp3X_lt_110_E) - node exp5X_lt_00111_E = and(exp5X_00_E, exp3X_lt_111_E) - node T_193584 = and(exp5X_01_E, exp3X_lt_001_E) - node exp5X_lt_01001_E = or(exp5X_00_E, T_193584) - node T_193585 = and(exp5X_01_E, exp3X_lt_010_E) - node exp5X_lt_01010_E = or(exp5X_00_E, T_193585) - node T_193586 = and(exp5X_01_E, exp3X_lt_011_E) - node exp5X_lt_01011_E = or(exp5X_00_E, T_193586) - node T_193587 = and(exp5X_01_E, exp3X_lt_100_E) - node exp5X_lt_01100_E = or(exp5X_00_E, T_193587) - node T_193588 = and(exp5X_01_E, exp3X_lt_101_E) - node exp5X_lt_01101_E = or(exp5X_00_E, T_193588) - node T_193589 = and(exp5X_01_E, exp3X_lt_110_E) - node exp5X_lt_01110_E = or(exp5X_00_E, T_193589) - node T_193590 = and(exp5X_01_E, exp3X_lt_111_E) - node exp5X_lt_01111_E = or(exp5X_00_E, T_193590) - node T_193591 = bit(sExpX_E, 4) - node exp5X_lt_10000_E = not(T_193591) - node T_193592 = bit(sExpX_E, 4) - node T_193593 = not(T_193592) - node T_193594 = and(exp5X_10_E, exp3X_lt_001_E) - node exp5X_lt_10001_E = or(T_193593, T_193594) - node T_193595 = bit(sExpX_E, 4) - node T_193596 = not(T_193595) - node T_193597 = and(exp5X_10_E, exp3X_lt_010_E) - node exp5X_lt_10010_E = or(T_193596, T_193597) - node T_193598 = bit(sExpX_E, 4) - node T_193599 = not(T_193598) - node T_193600 = and(exp5X_10_E, exp3X_lt_011_E) - node exp5X_lt_10011_E = or(T_193599, T_193600) - node T_193601 = bit(sExpX_E, 4) - node T_193602 = not(T_193601) - node T_193603 = and(exp5X_10_E, exp3X_lt_100_E) - node exp5X_lt_10100_E = or(T_193602, T_193603) - node T_193604 = bit(sExpX_E, 4) - node T_193605 = not(T_193604) - node T_193606 = and(exp5X_10_E, exp3X_lt_101_E) - node exp5X_lt_10101_E = or(T_193605, T_193606) - node T_193607 = bit(sExpX_E, 4) - node T_193608 = not(T_193607) - node T_193609 = and(exp5X_10_E, exp3X_lt_110_E) - node exp5X_lt_10110_E = or(T_193608, T_193609) - node T_193610 = bit(sExpX_E, 4) - node T_193611 = not(T_193610) - node T_193612 = and(exp5X_10_E, exp3X_lt_111_E) - node exp5X_lt_10111_E = or(T_193611, T_193612) - node T_193613 = bits(sExpX_E, 4, 3) - node exp5X_lt_11000_E = neq(T_193613, UInt<2>(3)) - node exp5X_lt_11001_E = or(exp5X_lt_11000_E, exp3X_lt_001_E) - node exp5X_lt_11010_E = or(exp5X_lt_11000_E, exp3X_lt_010_E) - node exp5X_lt_11011_E = or(exp5X_lt_11000_E, exp3X_lt_011_E) - node exp5X_lt_11100_E = or(exp5X_lt_11000_E, exp3X_lt_100_E) - node exp5X_lt_11101_E = or(exp5X_lt_11000_E, exp3X_lt_101_E) - node exp5X_lt_11110_E = or(exp5X_lt_11000_E, exp3X_lt_110_E) - node exp5X_lt_11111_E = or(exp5X_lt_11000_E, exp3X_lt_111_E) - node T_193614 = bits(sExpX_E, 3, 0) - node T_193615 = lt(T_193614, UInt<4>(14)) - node T_193616 = and(posExpX_000111100_E, T_193615) - node T_193617 = bits(sExpX_E, 3, 0) - node T_193618 = lt(T_193617, UInt<4>(15)) - node T_193619 = and(posExpX_000111100_E, T_193618) - node T_193620 = and(posExpX_00011110_E, exp5X_lt_10001_E) - node T_193621 = and(posExpX_00011110_E, exp5X_lt_10010_E) - node T_193622 = and(posExpX_00011110_E, exp5X_lt_10011_E) - node T_193623 = and(posExpX_00011110_E, exp5X_lt_10100_E) - node T_193624 = and(posExpX_00011110_E, exp5X_lt_10101_E) - node T_193625 = and(posExpX_00011110_E, exp5X_lt_10110_E) - node T_193626 = and(posExpX_00011110_E, exp5X_lt_10111_E) - node T_193627 = and(posExpX_00011110_E, exp5X_lt_11000_E) - node T_193628 = and(posExpX_00011110_E, exp5X_lt_11001_E) - node T_193629 = and(posExpX_00011110_E, exp5X_lt_11010_E) - node T_193630 = and(posExpX_00011110_E, exp5X_lt_11011_E) - node T_193631 = and(posExpX_00011110_E, exp5X_lt_11100_E) - node T_193632 = and(posExpX_00011110_E, exp5X_lt_11101_E) - node T_193633 = and(posExpX_00011110_E, exp5X_lt_11110_E) - node T_193634 = and(posExpX_00011110_E, exp5X_lt_11111_E) - node T_193635 = bit(sExpX_E, 5) - node T_193636 = not(T_193635) - node T_193637 = or(T_193636, exp5X_lt_00001_E) - node T_193638 = and(posExpX_0001111_E, T_193637) - node T_193639 = bit(sExpX_E, 5) - node T_193640 = not(T_193639) - node T_193641 = or(T_193640, exp5X_lt_00010_E) - node T_193642 = and(posExpX_0001111_E, T_193641) - node T_193643 = bit(sExpX_E, 5) - node T_193644 = not(T_193643) - node T_193645 = or(T_193644, exp5X_lt_00011_E) - node T_193646 = and(posExpX_0001111_E, T_193645) - node T_193647 = bit(sExpX_E, 5) - node T_193648 = not(T_193647) - node T_193649 = or(T_193648, exp5X_lt_00100_E) - node T_193650 = and(posExpX_0001111_E, T_193649) - node T_193651 = bit(sExpX_E, 5) - node T_193652 = not(T_193651) - node T_193653 = or(T_193652, exp5X_lt_00101_E) - node T_193654 = and(posExpX_0001111_E, T_193653) - node T_193655 = bit(sExpX_E, 5) - node T_193656 = not(T_193655) - node T_193657 = or(T_193656, exp5X_lt_00110_E) - node T_193658 = and(posExpX_0001111_E, T_193657) - node T_193659 = bit(sExpX_E, 5) - node T_193660 = not(T_193659) - node T_193661 = or(T_193660, exp5X_lt_00111_E) - node T_193662 = and(posExpX_0001111_E, T_193661) - node T_193663 = bit(sExpX_E, 5) - node T_193664 = not(T_193663) - node T_193665 = or(T_193664, exp5X_00_E) - node T_193666 = and(posExpX_0001111_E, T_193665) - node T_193667 = bit(sExpX_E, 5) - node T_193668 = not(T_193667) - node T_193669 = or(T_193668, exp5X_lt_01001_E) - node T_193670 = and(posExpX_0001111_E, T_193669) - node T_193671 = bit(sExpX_E, 5) - node T_193672 = not(T_193671) - node T_193673 = or(T_193672, exp5X_lt_01010_E) - node T_193674 = and(posExpX_0001111_E, T_193673) - node T_193675 = bit(sExpX_E, 5) - node T_193676 = not(T_193675) - node T_193677 = or(T_193676, exp5X_lt_01011_E) - node T_193678 = and(posExpX_0001111_E, T_193677) - node T_193679 = bit(sExpX_E, 5) - node T_193680 = not(T_193679) - node T_193681 = or(T_193680, exp5X_lt_01100_E) - node T_193682 = and(posExpX_0001111_E, T_193681) - node T_193683 = bit(sExpX_E, 5) - node T_193684 = not(T_193683) - node T_193685 = or(T_193684, exp5X_lt_01101_E) - node T_193686 = and(posExpX_0001111_E, T_193685) - node T_193687 = bit(sExpX_E, 5) - node T_193688 = not(T_193687) - node T_193689 = or(T_193688, exp5X_lt_01110_E) - node T_193690 = and(posExpX_0001111_E, T_193689) - node T_193691 = bit(sExpX_E, 5) - node T_193692 = not(T_193691) - node T_193693 = or(T_193692, exp5X_lt_01111_E) - node T_193694 = and(posExpX_0001111_E, T_193693) - node T_193695 = bit(sExpX_E, 5) - node T_193696 = not(T_193695) - node T_193697 = or(T_193696, exp5X_lt_10000_E) - node T_193698 = and(posExpX_0001111_E, T_193697) - node T_193699 = bit(sExpX_E, 5) - node T_193700 = not(T_193699) - node T_193701 = or(T_193700, exp5X_lt_10001_E) - node T_193702 = and(posExpX_0001111_E, T_193701) - node T_193703 = bit(sExpX_E, 5) - node T_193704 = not(T_193703) - node T_193705 = or(T_193704, exp5X_lt_10010_E) - node T_193706 = and(posExpX_0001111_E, T_193705) - node T_193707 = bit(sExpX_E, 5) - node T_193708 = not(T_193707) - node T_193709 = or(T_193708, exp5X_lt_10011_E) - node T_193710 = and(posExpX_0001111_E, T_193709) - node T_193711 = bit(sExpX_E, 5) - node T_193712 = not(T_193711) - node T_193713 = or(T_193712, exp5X_lt_10100_E) - node T_193714 = and(posExpX_0001111_E, T_193713) - node T_193715 = bit(sExpX_E, 5) - node T_193716 = not(T_193715) - node T_193717 = or(T_193716, exp5X_lt_10101_E) - node T_193718 = and(posExpX_0001111_E, T_193717) - node T_193719 = bit(sExpX_E, 5) - node T_193720 = not(T_193719) - node T_193721 = or(T_193720, exp5X_lt_10110_E) - node T_193722 = and(posExpX_0001111_E, T_193721) - node T_193723 = bit(sExpX_E, 5) - node T_193724 = not(T_193723) - node T_193725 = or(T_193724, exp5X_lt_10111_E) - node T_193726 = and(posExpX_0001111_E, T_193725) - node T_193727 = bit(sExpX_E, 5) - node T_193728 = not(T_193727) - node T_193729 = or(T_193728, exp5X_lt_11000_E) - node T_193730 = and(posExpX_0001111_E, T_193729) - node T_193731 = bit(sExpX_E, 5) - node T_193732 = not(T_193731) - node T_193733 = or(T_193732, exp5X_lt_11001_E) - node T_193734 = and(posExpX_0001111_E, T_193733) - node T_193735 = bit(sExpX_E, 5) - node T_193736 = not(T_193735) - node T_193737 = or(T_193736, exp5X_lt_11010_E) - node T_193738 = and(posExpX_0001111_E, T_193737) - node T_193739 = bit(sExpX_E, 5) - node T_193740 = not(T_193739) - node T_193741 = or(T_193740, exp5X_lt_11011_E) - node T_193742 = and(posExpX_0001111_E, T_193741) - node T_193743 = bit(sExpX_E, 5) - node T_193744 = not(T_193743) - node T_193745 = or(T_193744, exp5X_lt_11100_E) - node T_193746 = and(posExpX_0001111_E, T_193745) - node T_193747 = bit(sExpX_E, 5) - node T_193748 = not(T_193747) - node T_193749 = or(T_193748, exp5X_lt_11101_E) - node T_193750 = and(posExpX_0001111_E, T_193749) - node T_193751 = bit(sExpX_E, 5) - node T_193752 = not(T_193751) - node T_193753 = or(T_193752, exp5X_lt_11110_E) - node T_193754 = and(posExpX_0001111_E, T_193753) - node T_193755 = bit(sExpX_E, 5) - node T_193756 = not(T_193755) - node T_193757 = or(T_193756, exp5X_lt_11111_E) - node T_193758 = and(posExpX_0001111_E, T_193757) - node T_193759 = lt(posExpX_E, UInt<13>(1025)) - node T_193760 = lt(posExpX_E, UInt<13>(1026)) - node T_193761 = cat(T_193619, posExpX_000111100_E) - node T_193762 = cat(T_193616, T_193761) - node T_193763 = cat(T_193621, T_193622) - node T_193764 = cat(T_193620, T_193763) - node T_193765 = cat(T_193762, T_193764) - node T_193766 = cat(T_193624, T_193625) - node T_193767 = cat(T_193623, T_193766) - node T_193768 = cat(T_193626, T_193627) - node T_193769 = cat(T_193628, T_193629) - node T_193770 = cat(T_193768, T_193769) - node T_193771 = cat(T_193767, T_193770) - node T_193772 = cat(T_193765, T_193771) - node T_193773 = cat(T_193631, T_193632) - node T_193774 = cat(T_193630, T_193773) - node T_193775 = cat(T_193634, posExpX_00011110_E) - node T_193776 = cat(T_193633, T_193775) - node T_193777 = cat(T_193774, T_193776) - node T_193778 = cat(T_193642, T_193646) - node T_193779 = cat(T_193638, T_193778) - node T_193780 = cat(T_193650, T_193654) - node T_193781 = cat(T_193658, T_193662) - node T_193782 = cat(T_193780, T_193781) - node T_193783 = cat(T_193779, T_193782) - node T_193784 = cat(T_193777, T_193783) - node T_193785 = cat(T_193772, T_193784) - node T_193786 = cat(T_193670, T_193674) - node T_193787 = cat(T_193666, T_193786) - node T_193788 = cat(T_193682, T_193686) - node T_193789 = cat(T_193678, T_193788) - node T_193790 = cat(T_193787, T_193789) - node T_193791 = cat(T_193694, T_193698) - node T_193792 = cat(T_193690, T_193791) - node T_193793 = cat(T_193702, T_193706) - node T_193794 = cat(T_193710, T_193714) - node T_193795 = cat(T_193793, T_193794) - node T_193796 = cat(T_193792, T_193795) - node T_193797 = cat(T_193790, T_193796) - node T_193798 = cat(T_193722, T_193726) - node T_193799 = cat(T_193718, T_193798) - node T_193800 = cat(T_193730, T_193734) - node T_193801 = cat(T_193738, T_193742) - node T_193802 = cat(T_193800, T_193801) - node T_193803 = cat(T_193799, T_193802) - node T_193804 = cat(T_193750, T_193754) - node T_193805 = cat(T_193746, T_193804) - node T_193806 = cat(T_193758, posExpX_0001111_E) - node T_193807 = cat(T_193759, T_193760) - node T_193808 = cat(T_193806, T_193807) - node T_193809 = cat(T_193805, T_193808) - node T_193810 = cat(T_193803, T_193809) - node T_193811 = cat(T_193797, T_193810) - node roundMask_E = cat(T_193785, T_193811) - node T_193812 = cat(UInt<1>(0), roundMask_E) - node T_193813 = not(T_193812) - node T_193814 = cat(roundMask_E, UInt<1>(1)) - node incrPosMask_E = and(T_193813, T_193814) - node T_193815 = shr(incrPosMask_E, 1) - node T_193816 = and(sigT_E, T_193815) - node hiRoundPosBitT_E = neq(T_193816, UInt<1>(0)) - node T_193817 = shr(roundMask_E, 1) - node T_193818 = and(sigT_E, T_193817) - node all0sHiRoundExtraT_E = eq(T_193818, UInt<1>(0)) - node T_193819 = not(sigT_E) - node T_193820 = shr(roundMask_E, 1) - node T_193821 = and(T_193819, T_193820) - node all1sHiRoundExtraT_E = eq(T_193821, UInt<1>(0)) - node T_193822 = bit(roundMask_E, 0) - node T_193823 = not(T_193822) - node T_193824 = or(T_193823, hiRoundPosBitT_E) - node all1sHiRoundT_E = and(T_193824, all1sHiRoundExtraT_E) - node T_193825 = addw(UInt<54>(0), sigT_E) - node sigAdjT_E = addw(T_193825, roundMagUp_PC) - node T_193826 = not(roundMask_E) - node T_193827 = cat(UInt<1>(1), T_193826) - node sigY0_E = and(sigAdjT_E, T_193827) - node T_193828 = cat(UInt<1>(0), roundMask_E) - node T_193829 = or(sigAdjT_E, T_193828) - node sigY1_E = addw(T_193829, UInt<1>(1)) - node T_193830 = not(isNegRemT_E) - node T_193831 = not(trueEqX_E1) - node T_193832 = and(T_193830, T_193831) - wire trueLtX_E1 : UInt<1> - trueLtX_E1 := isNegRemT_E - when sqrtOp_PC : trueLtX_E1 := T_193832 - node T_193833 = bit(roundMask_E, 0) - node T_193834 = not(trueLtX_E1) - node T_193835 = and(T_193833, T_193834) - node T_193836 = and(T_193835, all1sHiRoundExtraT_E) - node T_193837 = and(T_193836, extraT_E) - node hiRoundPosBit_E1 = xor(hiRoundPosBitT_E, T_193837) - node T_193838 = not(trueEqX_E1) - node T_193839 = not(extraT_E) - node T_193840 = or(T_193838, T_193839) - node T_193841 = not(all1sHiRoundExtraT_E) - node anyRoundExtra_E1 = or(T_193840, T_193841) - node T_193842 = and(roundingMode_near_even_PC, hiRoundPosBit_E1) - node T_193843 = not(anyRoundExtra_E1) - node T_193844 = and(T_193842, T_193843) - wire roundEvenMask_E1 : UInt<1> - roundEvenMask_E1 := UInt<1>(0) - when T_193844 : roundEvenMask_E1 := incrPosMask_E - node T_193845 = and(roundMagDown_PC, extraT_E) - node T_193846 = not(trueLtX_E1) - node T_193847 = and(T_193845, T_193846) - node T_193848 = and(T_193847, all1sHiRoundT_E) - node T_193849 = not(trueLtX_E1) - node T_193850 = and(extraT_E, T_193849) - node T_193851 = not(trueEqX_E1) - node T_193852 = and(T_193850, T_193851) - node T_193853 = not(all1sHiRoundT_E) - node T_193854 = or(T_193852, T_193853) - node T_193855 = and(roundMagUp_PC, T_193854) - node T_193856 = or(T_193848, T_193855) - node T_193857 = not(trueLtX_E1) - node T_193858 = or(extraT_E, T_193857) - node T_193859 = bit(roundMask_E, 0) - node T_193860 = not(T_193859) - node T_193861 = and(T_193858, T_193860) - node T_193862 = or(hiRoundPosBitT_E, T_193861) - node T_193863 = not(trueLtX_E1) - node T_193864 = and(extraT_E, T_193863) - node T_193865 = and(T_193864, all1sHiRoundExtraT_E) - node T_193866 = or(T_193862, T_193865) - node T_193867 = and(roundingMode_near_even_PC, T_193866) - node T_193868 = or(T_193856, T_193867) - wire T_193869 : UInt<54> - T_193869 := sigY0_E - when T_193868 : T_193869 := sigY1_E - node T_193870 = not(roundEvenMask_E1) - node sigY_E1 = and(T_193869, T_193870) - node fractY_E1 = bits(sigY_E1, 51, 0) - node inexactY_E1 = or(hiRoundPosBit_E1, anyRoundExtra_E1) - node T_193871 = bit(sigY_E1, 53) - node T_193872 = not(T_193871) - wire T_193873 : UInt<1> - T_193873 := UInt<1>(0) - when T_193872 : T_193873 := sExpX_E - node T_193874 = bit(sigY_E1, 53) - node T_193875 = not(sqrtOp_PC) - node T_193876 = and(T_193874, T_193875) - node T_193877 = and(T_193876, E_E_div) - wire T_193878 : UInt<1> - T_193878 := UInt<1>(0) - when T_193877 : T_193878 := expP1_PC - node T_193879 = or(T_193873, T_193878) - node T_193880 = bit(sigY_E1, 53) - node T_193881 = not(sqrtOp_PC) - node T_193882 = and(T_193880, T_193881) - node T_193883 = not(E_E_div) - node T_193884 = and(T_193882, T_193883) - wire T_193885 : UInt<1> - T_193885 := UInt<1>(0) - when T_193884 : T_193885 := expP2_PC - node T_193886 = or(T_193879, T_193885) - node T_193887 = bit(sigY_E1, 53) - node T_193888 = and(T_193887, sqrtOp_PC) - node T_193889 = shr(expP2_PC, 1) - node T_193890 = addw(T_193889, UInt<12>(1024)) - wire T_193891 : UInt<1> - T_193891 := UInt<1>(0) - when T_193888 : T_193891 := T_193890 - node sExpY_E1 = or(T_193886, T_193891) - node expY_E1 = bits(sExpY_E1, 11, 0) - node T_193892 = bit(sExpY_E1, 13) - node T_193893 = not(T_193892) - node T_193894 = bits(sExpY_E1, 12, 10) - node T_193895 = leq(UInt<3>(3), T_193894) - node overflowY_E1 = and(T_193893, T_193895) - node T_193896 = bit(sExpY_E1, 13) - node T_193897 = bits(sExpY_E1, 12, 0) - node T_193898 = lt(T_193897, UInt<13>(974)) - node totalUnderflowY_E1 = or(T_193896, T_193898) - node T_193899 = leq(posExpX_E, UInt<13>(1025)) - node T_193900 = and(T_193899, inexactY_E1) - node underflowY_E1 = or(totalUnderflowY_E1, T_193900) - node T_193901 = not(isNaNB_PC) - node T_193902 = not(isZeroB_PC) - node T_193903 = and(T_193901, T_193902) - node T_193904 = and(T_193903, sign_PC) - node T_193905 = and(isZeroA_PC, isZeroB_PC) - node T_193906 = and(isInfA_PC, isInfB_PC) - node T_193907 = or(T_193905, T_193906) - wire notSigNaN_invalid_PC : UInt<1> - notSigNaN_invalid_PC := T_193907 - when sqrtOp_PC : notSigNaN_invalid_PC := T_193904 - node T_193908 = not(sqrtOp_PC) - node T_193909 = and(T_193908, isSigNaNA_PC) - node T_193910 = or(T_193909, isSigNaNB_PC) - node invalid_PC = or(T_193910, notSigNaN_invalid_PC) - node T_193911 = not(sqrtOp_PC) - node T_193912 = not(isSpecialA_PC) - node T_193913 = and(T_193911, T_193912) - node T_193914 = not(isZeroA_PC) - node T_193915 = and(T_193913, T_193914) - node infinity_PC = and(T_193915, isZeroB_PC) - node overflow_E1 = and(normalCase_PC, overflowY_E1) - node underflow_E1 = and(normalCase_PC, underflowY_E1) - node T_193916 = or(overflow_E1, underflow_E1) - node T_193917 = and(normalCase_PC, inexactY_E1) - node inexact_E1 = or(T_193916, T_193917) - node T_193918 = or(isZeroA_PC, isInfB_PC) - node T_193919 = not(roundMagUp_PC) - node T_193920 = and(totalUnderflowY_E1, T_193919) - node T_193921 = or(T_193918, T_193920) - wire notSpecial_isZeroOut_E1 : UInt<1> - notSpecial_isZeroOut_E1 := T_193921 - when sqrtOp_PC : notSpecial_isZeroOut_E1 := isZeroB_PC - node T_193922 = and(normalCase_PC, totalUnderflowY_E1) - node pegMinFiniteMagOut_E1 = and(T_193922, roundMagUp_PC) - node T_193923 = not(overflowY_roundMagUp_PC) - node pegMaxFiniteMagOut_E1 = and(overflow_E1, T_193923) - node T_193924 = or(isInfA_PC, isZeroB_PC) - node T_193925 = and(overflow_E1, overflowY_roundMagUp_PC) - node T_193926 = or(T_193924, T_193925) - wire notNaN_isInfOut_E1 : UInt<1> - notNaN_isInfOut_E1 := T_193926 - when sqrtOp_PC : notNaN_isInfOut_E1 := isInfB_PC - node T_193927 = not(sqrtOp_PC) - node T_193928 = and(T_193927, isNaNA_PC) - node T_193929 = or(T_193928, isNaNB_PC) - node isNaNOut_PC = or(T_193929, notSigNaN_invalid_PC) - node T_193930 = and(isZeroB_PC, sign_PC) - wire T_193931 : UInt<1> - T_193931 := sign_PC - when sqrtOp_PC : T_193931 := T_193930 - node signOut_PC = or(isNaNOut_PC, T_193931) - node T_193932 = not(UInt<12>(511)) - wire T_193933 : UInt<1> - T_193933 := UInt<1>(0) - when notSpecial_isZeroOut_E1 : T_193933 := T_193932 - node T_193934 = not(T_193933) - node T_193935 = and(expY_E1, T_193934) - node T_193936 = not(UInt<12>(974)) - wire T_193937 : UInt<1> - T_193937 := UInt<1>(0) - when pegMinFiniteMagOut_E1 : T_193937 := T_193936 - node T_193938 = not(T_193937) - node T_193939 = and(T_193935, T_193938) - node T_193940 = not(UInt<12>(3071)) - wire T_193941 : UInt<1> - T_193941 := UInt<1>(0) - when pegMaxFiniteMagOut_E1 : T_193941 := T_193940 - node T_193942 = not(T_193941) - node T_193943 = and(T_193939, T_193942) - node T_193944 = not(UInt<12>(3583)) - wire T_193945 : UInt<1> - T_193945 := UInt<1>(0) - when notNaN_isInfOut_E1 : T_193945 := T_193944 - node T_193946 = not(T_193945) - node T_193947 = and(T_193943, T_193946) - wire T_193948 : UInt<1> - T_193948 := UInt<1>(0) - when pegMinFiniteMagOut_E1 : T_193948 := UInt<12>(974) - node T_193949 = or(T_193947, T_193948) - wire T_193950 : UInt<1> - T_193950 := UInt<1>(0) - when pegMaxFiniteMagOut_E1 : T_193950 := UInt<12>(3071) - node T_193951 = or(T_193949, T_193950) - wire T_193952 : UInt<1> - T_193952 := UInt<1>(0) - when notNaN_isInfOut_E1 : T_193952 := UInt<12>(3072) - node T_193953 = or(T_193951, T_193952) - wire T_193954 : UInt<1> - T_193954 := UInt<1>(0) - when isNaNOut_PC : T_193954 := UInt<12>(3584) - node expOut_E1 = or(T_193953, T_193954) - node T_193955 = and(totalUnderflowY_E1, roundMagUp_PC) - wire T_193956 : UInt<52> - T_193956 := fractY_E1 - when T_193955 : T_193956 := UInt<1>(0) - node T_193957 = or(isNaNOut_PC, pegMaxFiniteMagOut_E1) - wire T_193958 : UInt<1> - T_193958 := UInt<1>(0) - when T_193957 : T_193958 := UInt<52>(4503599627370495) - node fractOut_E1 = or(T_193956, T_193958) - node T_193959 = cat(expOut_E1, fractOut_E1) - node T_193960 = cat(signOut_PC, T_193959) - out := T_193960 - node T_193961 = cat(invalid_PC, infinity_PC) - node T_193962 = cat(underflow_E1, inexact_E1) - node T_193963 = cat(overflow_E1, T_193962) - node T_193964 = cat(T_193961, T_193963) - exceptionFlags := T_193964 - module mul54 : - input val_s0 : UInt<1> - input latch_a_s0 : UInt<1> - input a_s0 : UInt<54> - input latch_b_s0 : UInt<1> - input b_s0 : UInt<54> - input c_s2 : UInt<105> - output result_s3 : UInt<105> - - reg val_s1 : UInt<1> - reg val_s2 : UInt<1> - reg reg_a_s1 : UInt<54> - reg reg_b_s1 : UInt<54> - reg reg_a_s2 : UInt<54> - reg reg_b_s2 : UInt<54> - reg reg_result_s3 : UInt<105> - val_s1 := val_s0 - val_s2 := val_s1 - when val_s0 : - when latch_a_s0 : reg_a_s1 := a_s0 - when latch_b_s0 : reg_b_s1 := b_s0 - when val_s1 : - reg_a_s2 := reg_a_s1 - reg_b_s2 := reg_b_s1 - when val_s2 : - node T_193965 = mul(reg_a_s2, reg_b_s2) - node T_193966 = addw(T_193965, c_s2) - reg_result_s3 := T_193966 - result_s3 := reg_result_s3 - module divSqrtRecodedFloat64 : - output inReady_div : UInt<1> - output inReady_sqrt : UInt<1> - input inValid : UInt<1> - input sqrtOp : UInt<1> - input a : UInt<65> - input b : UInt<65> - input roundingMode : UInt<2> - output outValid_div : UInt<1> - output outValid_sqrt : UInt<1> - output out : UInt<65> - output exceptionFlags : UInt<5> - - inst ds of divSqrtRecodedFloat64_mulAddZ31 - inReady_div := ds.inReady_div - inReady_sqrt := ds.inReady_sqrt - ds.inValid := inValid - ds.sqrtOp := sqrtOp - ds.a := a - ds.b := b - ds.roundingMode := roundingMode - outValid_div := ds.outValid_div - outValid_sqrt := ds.outValid_sqrt - out := ds.out - exceptionFlags := ds.exceptionFlags - inst mul of mul54 - node T_193967 = bit(ds.usingMulAdd, 0) - mul.val_s0 := T_193967 - mul.latch_a_s0 := ds.latchMulAddA_0 - mul.a_s0 := ds.mulAddA_0 - mul.latch_b_s0 := ds.latchMulAddB_0 - mul.b_s0 := ds.mulAddB_0 - mul.c_s2 := ds.mulAddC_2 - ds.mulAddResult_3 := mul.result_s3 - module FPU : - input inst__ : UInt<32> - input fromint_data : UInt<64> - input fcsr_rm : UInt<3> - output fcsr_flags : {valid : UInt<1>, bits : UInt<5>} - output store_data : UInt<64> - output toint_data : UInt<64> - input dmem_resp_val : UInt<1> - input dmem_resp_type : UInt<3> - input dmem_resp_tag : UInt<5> - input dmem_resp_data : UInt<64> - input valid : UInt<1> - output fcsr_rdy : UInt<1> - output nack_mem : UInt<1> - output illegal_rm : UInt<1> - input killx : UInt<1> - input killm : UInt<1> - output dec : {cmd : UInt<5>, ldst : UInt<1>, wen : UInt<1>, ren1 : UInt<1>, ren2 : UInt<1>, ren3 : UInt<1>, swap12 : UInt<1>, swap23 : UInt<1>, single : UInt<1>, fromint : UInt<1>, toint : UInt<1>, fastpipe : UInt<1>, fma : UInt<1>, div : UInt<1>, sqrt : UInt<1>, round : UInt<1>, wflags : UInt<1>} - output sboard_set : UInt<1> - output sboard_clr : UInt<1> - output sboard_clra : UInt<5> - - reg ex_reg_valid : UInt<1> - onreset ex_reg_valid := UInt<1>(0) - ex_reg_valid := valid - reg ex_reg_inst : UInt<32> - when valid : ex_reg_inst := inst__ - node T_193968 = eq(killx, UInt<1>(0)) - node T_193969 = and(ex_reg_valid, T_193968) - reg mem_reg_valid : UInt<1> - onreset mem_reg_valid := UInt<1>(0) - mem_reg_valid := T_193969 - reg mem_reg_inst : UInt<32> - when ex_reg_valid : mem_reg_inst := ex_reg_inst - node killm = or(killm, nack_mem) - node T_193970 = eq(killm, UInt<1>(0)) - node T_193971 = and(mem_reg_valid, T_193970) - reg wb_reg_valid : UInt<1> - onreset wb_reg_valid := UInt<1>(0) - wb_reg_valid := T_193971 - inst fp_decoder of FPUDecoder - fp_decoder.inst__ := inst__ - reg ex_ctrl : {cmd : UInt<5>, ldst : UInt<1>, wen : UInt<1>, ren1 : UInt<1>, ren2 : UInt<1>, ren3 : UInt<1>, swap12 : UInt<1>, swap23 : UInt<1>, single : UInt<1>, fromint : UInt<1>, toint : UInt<1>, fastpipe : UInt<1>, fma : UInt<1>, div : UInt<1>, sqrt : UInt<1>, round : UInt<1>, wflags : UInt<1>} - when valid : ex_ctrl := fp_decoder.sigs - reg mem_ctrl : {cmd : UInt<5>, ldst : UInt<1>, wen : UInt<1>, ren1 : UInt<1>, ren2 : UInt<1>, ren3 : UInt<1>, swap12 : UInt<1>, swap23 : UInt<1>, single : UInt<1>, fromint : UInt<1>, toint : UInt<1>, fastpipe : UInt<1>, fma : UInt<1>, div : UInt<1>, sqrt : UInt<1>, round : UInt<1>, wflags : UInt<1>} - when ex_reg_valid : mem_ctrl := ex_ctrl - reg wb_ctrl : {cmd : UInt<5>, ldst : UInt<1>, wen : UInt<1>, ren1 : UInt<1>, ren2 : UInt<1>, ren3 : UInt<1>, swap12 : UInt<1>, swap23 : UInt<1>, single : UInt<1>, fromint : UInt<1>, toint : UInt<1>, fastpipe : UInt<1>, fma : UInt<1>, div : UInt<1>, sqrt : UInt<1>, round : UInt<1>, wflags : UInt<1>} - when mem_reg_valid : wb_ctrl := mem_ctrl - reg load_wb : UInt<1> - load_wb := dmem_resp_val - node T_193972 = eq(dmem_resp_type, UInt<3>(2)) - node T_193973 = eq(dmem_resp_type, UInt<3>(6)) - node T_193974 = or(T_193972, T_193973) - reg load_wb_single : UInt<1> - when dmem_resp_val : load_wb_single := T_193974 - reg load_wb_data : UInt<64> - when dmem_resp_val : load_wb_data := dmem_resp_data - reg load_wb_tag : UInt<5> - when dmem_resp_val : load_wb_tag := dmem_resp_tag - node T_193975 = bit(load_wb_data, 31) - node T_193976 = bits(load_wb_data, 30, 23) - node T_193977 = bits(load_wb_data, 22, 0) - node T_193978 = eq(T_193976, UInt<1>(0)) - node T_193979 = eq(T_193977, UInt<1>(0)) - node T_193980 = and(T_193978, T_193979) - node T_193981 = eq(T_193979, UInt<1>(0)) - node T_193982 = and(T_193978, T_193981) - node T_193983 = shl(T_193977, 9) - node T_193984 = bit(T_193983, 31) - node T_193985 = bit(T_193983, 30) - node T_193986 = bit(T_193983, 29) - node T_193987 = bit(T_193983, 28) - node T_193988 = bit(T_193983, 27) - node T_193989 = bit(T_193983, 26) - node T_193990 = bit(T_193983, 25) - node T_193991 = bit(T_193983, 24) - node T_193992 = bit(T_193983, 23) - node T_193993 = bit(T_193983, 22) - node T_193994 = bit(T_193983, 21) - node T_193995 = bit(T_193983, 20) - node T_193996 = bit(T_193983, 19) - node T_193997 = bit(T_193983, 18) - node T_193998 = bit(T_193983, 17) - node T_193999 = bit(T_193983, 16) - node T_194000 = bit(T_193983, 15) - node T_194001 = bit(T_193983, 14) - node T_194002 = bit(T_193983, 13) - node T_194003 = bit(T_193983, 12) - node T_194004 = bit(T_193983, 11) - node T_194005 = bit(T_193983, 10) - node T_194006 = bit(T_193983, 9) - node T_194007 = bit(T_193983, 8) - node T_194008 = bit(T_193983, 7) - node T_194009 = bit(T_193983, 6) - node T_194010 = bit(T_193983, 5) - node T_194011 = bit(T_193983, 4) - node T_194012 = bit(T_193983, 3) - node T_194013 = bit(T_193983, 2) - node T_194014 = bit(T_193983, 1) - wire T_194015 : UInt<1> - T_194015 := T_194014 - when T_194013 : T_194015 := UInt<2>(2) - wire T_194016 : UInt<1> - T_194016 := T_194015 - when T_194012 : T_194016 := UInt<2>(3) - wire T_194017 : UInt<1> - T_194017 := T_194016 - when T_194011 : T_194017 := UInt<3>(4) - wire T_194018 : UInt<1> - T_194018 := T_194017 - when T_194010 : T_194018 := UInt<3>(5) - wire T_194019 : UInt<1> - T_194019 := T_194018 - when T_194009 : T_194019 := UInt<3>(6) - wire T_194020 : UInt<1> - T_194020 := T_194019 - when T_194008 : T_194020 := UInt<3>(7) - wire T_194021 : UInt<1> - T_194021 := T_194020 - when T_194007 : T_194021 := UInt<4>(8) - wire T_194022 : UInt<1> - T_194022 := T_194021 - when T_194006 : T_194022 := UInt<4>(9) - wire T_194023 : UInt<1> - T_194023 := T_194022 - when T_194005 : T_194023 := UInt<4>(10) - wire T_194024 : UInt<1> - T_194024 := T_194023 - when T_194004 : T_194024 := UInt<4>(11) - wire T_194025 : UInt<1> - T_194025 := T_194024 - when T_194003 : T_194025 := UInt<4>(12) - wire T_194026 : UInt<1> - T_194026 := T_194025 - when T_194002 : T_194026 := UInt<4>(13) - wire T_194027 : UInt<1> - T_194027 := T_194026 - when T_194001 : T_194027 := UInt<4>(14) - wire T_194028 : UInt<1> - T_194028 := T_194027 - when T_194000 : T_194028 := UInt<4>(15) - wire T_194029 : UInt<1> - T_194029 := T_194028 - when T_193999 : T_194029 := UInt<5>(16) - wire T_194030 : UInt<1> - T_194030 := T_194029 - when T_193998 : T_194030 := UInt<5>(17) - wire T_194031 : UInt<1> - T_194031 := T_194030 - when T_193997 : T_194031 := UInt<5>(18) - wire T_194032 : UInt<1> - T_194032 := T_194031 - when T_193996 : T_194032 := UInt<5>(19) - wire T_194033 : UInt<1> - T_194033 := T_194032 - when T_193995 : T_194033 := UInt<5>(20) - wire T_194034 : UInt<1> - T_194034 := T_194033 - when T_193994 : T_194034 := UInt<5>(21) - wire T_194035 : UInt<1> - T_194035 := T_194034 - when T_193993 : T_194035 := UInt<5>(22) - wire T_194036 : UInt<1> - T_194036 := T_194035 - when T_193992 : T_194036 := UInt<5>(23) - wire T_194037 : UInt<1> - T_194037 := T_194036 - when T_193991 : T_194037 := UInt<5>(24) - wire T_194038 : UInt<1> - T_194038 := T_194037 - when T_193990 : T_194038 := UInt<5>(25) - wire T_194039 : UInt<1> - T_194039 := T_194038 - when T_193989 : T_194039 := UInt<5>(26) - wire T_194040 : UInt<1> - T_194040 := T_194039 - when T_193988 : T_194040 := UInt<5>(27) - wire T_194041 : UInt<1> - T_194041 := T_194040 - when T_193987 : T_194041 := UInt<5>(28) - wire T_194042 : UInt<1> - T_194042 := T_194041 - when T_193986 : T_194042 := UInt<5>(29) - wire T_194043 : UInt<1> - T_194043 := T_194042 - when T_193985 : T_194043 := UInt<5>(30) - wire T_194044 : UInt<1> - T_194044 := T_194043 - when T_193984 : T_194044 := UInt<5>(31) - node T_194045 = not(T_194044) - node T_194046 = dshl(T_193983, T_194045) - node T_194047 = subw(UInt<4>(0), UInt<3>(4)) - node T_194048 = not(T_194045) - node T_194049 = cat(T_194047, T_194048) - node T_194050 = bits(T_194046, 30, 8) - wire T_194051 : UInt<5> - T_194051 := T_194049 - when T_193979 : T_194051 := UInt<1>(0) - wire T_194052 : UInt<8> - T_194052 := T_193976 - when T_193978 : T_194052 := T_194051 - wire T_194053 : UInt<1> - T_194053 := UInt<1>(1) - when T_193982 : T_194053 := UInt<2>(2) - node T_194054 = or(UInt<8>(128), T_194053) - wire T_194055 : UInt<8> - T_194055 := T_194054 - when T_193980 : T_194055 := UInt<1>(0) - node T_194056 = addw(T_194052, T_194055) - node T_194057 = bits(T_194056, 8, 7) - node T_194058 = eq(T_194057, UInt<1>(-1)) - node T_194059 = eq(T_193979, UInt<1>(0)) - node T_194060 = and(T_194058, T_194059) - node T_194061 = dshl(T_194060, UInt<3>(6)) - node T_194062 = or(T_194056, T_194061) - wire T_194063 : UInt<23> - T_194063 := T_193977 - when T_193978 : T_194063 := T_194050 - node T_194064 = cat(T_194062, T_194063) - node rec_s = cat(T_193975, T_194064) - node T_194065 = bit(load_wb_data, 63) - node T_194066 = bits(load_wb_data, 62, 52) - node T_194067 = bits(load_wb_data, 51, 0) - node T_194068 = eq(T_194066, UInt<1>(0)) - node T_194069 = eq(T_194067, UInt<1>(0)) - node T_194070 = and(T_194068, T_194069) - node T_194071 = eq(T_194069, UInt<1>(0)) - node T_194072 = and(T_194068, T_194071) - node T_194073 = shl(T_194067, 12) - node T_194074 = bit(T_194073, 63) - node T_194075 = bit(T_194073, 62) - node T_194076 = bit(T_194073, 61) - node T_194077 = bit(T_194073, 60) - node T_194078 = bit(T_194073, 59) - node T_194079 = bit(T_194073, 58) - node T_194080 = bit(T_194073, 57) - node T_194081 = bit(T_194073, 56) - node T_194082 = bit(T_194073, 55) - node T_194083 = bit(T_194073, 54) - node T_194084 = bit(T_194073, 53) - node T_194085 = bit(T_194073, 52) - node T_194086 = bit(T_194073, 51) - node T_194087 = bit(T_194073, 50) - node T_194088 = bit(T_194073, 49) - node T_194089 = bit(T_194073, 48) - node T_194090 = bit(T_194073, 47) - node T_194091 = bit(T_194073, 46) - node T_194092 = bit(T_194073, 45) - node T_194093 = bit(T_194073, 44) - node T_194094 = bit(T_194073, 43) - node T_194095 = bit(T_194073, 42) - node T_194096 = bit(T_194073, 41) - node T_194097 = bit(T_194073, 40) - node T_194098 = bit(T_194073, 39) - node T_194099 = bit(T_194073, 38) - node T_194100 = bit(T_194073, 37) - node T_194101 = bit(T_194073, 36) - node T_194102 = bit(T_194073, 35) - node T_194103 = bit(T_194073, 34) - node T_194104 = bit(T_194073, 33) - node T_194105 = bit(T_194073, 32) - node T_194106 = bit(T_194073, 31) - node T_194107 = bit(T_194073, 30) - node T_194108 = bit(T_194073, 29) - node T_194109 = bit(T_194073, 28) - node T_194110 = bit(T_194073, 27) - node T_194111 = bit(T_194073, 26) - node T_194112 = bit(T_194073, 25) - node T_194113 = bit(T_194073, 24) - node T_194114 = bit(T_194073, 23) - node T_194115 = bit(T_194073, 22) - node T_194116 = bit(T_194073, 21) - node T_194117 = bit(T_194073, 20) - node T_194118 = bit(T_194073, 19) - node T_194119 = bit(T_194073, 18) - node T_194120 = bit(T_194073, 17) - node T_194121 = bit(T_194073, 16) - node T_194122 = bit(T_194073, 15) - node T_194123 = bit(T_194073, 14) - node T_194124 = bit(T_194073, 13) - node T_194125 = bit(T_194073, 12) - node T_194126 = bit(T_194073, 11) - node T_194127 = bit(T_194073, 10) - node T_194128 = bit(T_194073, 9) - node T_194129 = bit(T_194073, 8) - node T_194130 = bit(T_194073, 7) - node T_194131 = bit(T_194073, 6) - node T_194132 = bit(T_194073, 5) - node T_194133 = bit(T_194073, 4) - node T_194134 = bit(T_194073, 3) - node T_194135 = bit(T_194073, 2) - node T_194136 = bit(T_194073, 1) - wire T_194137 : UInt<1> - T_194137 := T_194136 - when T_194135 : T_194137 := UInt<2>(2) - wire T_194138 : UInt<1> - T_194138 := T_194137 - when T_194134 : T_194138 := UInt<2>(3) - wire T_194139 : UInt<1> - T_194139 := T_194138 - when T_194133 : T_194139 := UInt<3>(4) - wire T_194140 : UInt<1> - T_194140 := T_194139 - when T_194132 : T_194140 := UInt<3>(5) - wire T_194141 : UInt<1> - T_194141 := T_194140 - when T_194131 : T_194141 := UInt<3>(6) - wire T_194142 : UInt<1> - T_194142 := T_194141 - when T_194130 : T_194142 := UInt<3>(7) - wire T_194143 : UInt<1> - T_194143 := T_194142 - when T_194129 : T_194143 := UInt<4>(8) - wire T_194144 : UInt<1> - T_194144 := T_194143 - when T_194128 : T_194144 := UInt<4>(9) - wire T_194145 : UInt<1> - T_194145 := T_194144 - when T_194127 : T_194145 := UInt<4>(10) - wire T_194146 : UInt<1> - T_194146 := T_194145 - when T_194126 : T_194146 := UInt<4>(11) - wire T_194147 : UInt<1> - T_194147 := T_194146 - when T_194125 : T_194147 := UInt<4>(12) - wire T_194148 : UInt<1> - T_194148 := T_194147 - when T_194124 : T_194148 := UInt<4>(13) - wire T_194149 : UInt<1> - T_194149 := T_194148 - when T_194123 : T_194149 := UInt<4>(14) - wire T_194150 : UInt<1> - T_194150 := T_194149 - when T_194122 : T_194150 := UInt<4>(15) - wire T_194151 : UInt<1> - T_194151 := T_194150 - when T_194121 : T_194151 := UInt<5>(16) - wire T_194152 : UInt<1> - T_194152 := T_194151 - when T_194120 : T_194152 := UInt<5>(17) - wire T_194153 : UInt<1> - T_194153 := T_194152 - when T_194119 : T_194153 := UInt<5>(18) - wire T_194154 : UInt<1> - T_194154 := T_194153 - when T_194118 : T_194154 := UInt<5>(19) - wire T_194155 : UInt<1> - T_194155 := T_194154 - when T_194117 : T_194155 := UInt<5>(20) - wire T_194156 : UInt<1> - T_194156 := T_194155 - when T_194116 : T_194156 := UInt<5>(21) - wire T_194157 : UInt<1> - T_194157 := T_194156 - when T_194115 : T_194157 := UInt<5>(22) - wire T_194158 : UInt<1> - T_194158 := T_194157 - when T_194114 : T_194158 := UInt<5>(23) - wire T_194159 : UInt<1> - T_194159 := T_194158 - when T_194113 : T_194159 := UInt<5>(24) - wire T_194160 : UInt<1> - T_194160 := T_194159 - when T_194112 : T_194160 := UInt<5>(25) - wire T_194161 : UInt<1> - T_194161 := T_194160 - when T_194111 : T_194161 := UInt<5>(26) - wire T_194162 : UInt<1> - T_194162 := T_194161 - when T_194110 : T_194162 := UInt<5>(27) - wire T_194163 : UInt<1> - T_194163 := T_194162 - when T_194109 : T_194163 := UInt<5>(28) - wire T_194164 : UInt<1> - T_194164 := T_194163 - when T_194108 : T_194164 := UInt<5>(29) - wire T_194165 : UInt<1> - T_194165 := T_194164 - when T_194107 : T_194165 := UInt<5>(30) - wire T_194166 : UInt<1> - T_194166 := T_194165 - when T_194106 : T_194166 := UInt<5>(31) - wire T_194167 : UInt<1> - T_194167 := T_194166 - when T_194105 : T_194167 := UInt<6>(32) - wire T_194168 : UInt<1> - T_194168 := T_194167 - when T_194104 : T_194168 := UInt<6>(33) - wire T_194169 : UInt<1> - T_194169 := T_194168 - when T_194103 : T_194169 := UInt<6>(34) - wire T_194170 : UInt<1> - T_194170 := T_194169 - when T_194102 : T_194170 := UInt<6>(35) - wire T_194171 : UInt<1> - T_194171 := T_194170 - when T_194101 : T_194171 := UInt<6>(36) - wire T_194172 : UInt<1> - T_194172 := T_194171 - when T_194100 : T_194172 := UInt<6>(37) - wire T_194173 : UInt<1> - T_194173 := T_194172 - when T_194099 : T_194173 := UInt<6>(38) - wire T_194174 : UInt<1> - T_194174 := T_194173 - when T_194098 : T_194174 := UInt<6>(39) - wire T_194175 : UInt<1> - T_194175 := T_194174 - when T_194097 : T_194175 := UInt<6>(40) - wire T_194176 : UInt<1> - T_194176 := T_194175 - when T_194096 : T_194176 := UInt<6>(41) - wire T_194177 : UInt<1> - T_194177 := T_194176 - when T_194095 : T_194177 := UInt<6>(42) - wire T_194178 : UInt<1> - T_194178 := T_194177 - when T_194094 : T_194178 := UInt<6>(43) - wire T_194179 : UInt<1> - T_194179 := T_194178 - when T_194093 : T_194179 := UInt<6>(44) - wire T_194180 : UInt<1> - T_194180 := T_194179 - when T_194092 : T_194180 := UInt<6>(45) - wire T_194181 : UInt<1> - T_194181 := T_194180 - when T_194091 : T_194181 := UInt<6>(46) - wire T_194182 : UInt<1> - T_194182 := T_194181 - when T_194090 : T_194182 := UInt<6>(47) - wire T_194183 : UInt<1> - T_194183 := T_194182 - when T_194089 : T_194183 := UInt<6>(48) - wire T_194184 : UInt<1> - T_194184 := T_194183 - when T_194088 : T_194184 := UInt<6>(49) - wire T_194185 : UInt<1> - T_194185 := T_194184 - when T_194087 : T_194185 := UInt<6>(50) - wire T_194186 : UInt<1> - T_194186 := T_194185 - when T_194086 : T_194186 := UInt<6>(51) - wire T_194187 : UInt<1> - T_194187 := T_194186 - when T_194085 : T_194187 := UInt<6>(52) - wire T_194188 : UInt<1> - T_194188 := T_194187 - when T_194084 : T_194188 := UInt<6>(53) - wire T_194189 : UInt<1> - T_194189 := T_194188 - when T_194083 : T_194189 := UInt<6>(54) - wire T_194190 : UInt<1> - T_194190 := T_194189 - when T_194082 : T_194190 := UInt<6>(55) - wire T_194191 : UInt<1> - T_194191 := T_194190 - when T_194081 : T_194191 := UInt<6>(56) - wire T_194192 : UInt<1> - T_194192 := T_194191 - when T_194080 : T_194192 := UInt<6>(57) - wire T_194193 : UInt<1> - T_194193 := T_194192 - when T_194079 : T_194193 := UInt<6>(58) - wire T_194194 : UInt<1> - T_194194 := T_194193 - when T_194078 : T_194194 := UInt<6>(59) - wire T_194195 : UInt<1> - T_194195 := T_194194 - when T_194077 : T_194195 := UInt<6>(60) - wire T_194196 : UInt<1> - T_194196 := T_194195 - when T_194076 : T_194196 := UInt<6>(61) - wire T_194197 : UInt<1> - T_194197 := T_194196 - when T_194075 : T_194197 := UInt<6>(62) - wire T_194198 : UInt<1> - T_194198 := T_194197 - when T_194074 : T_194198 := UInt<6>(63) - node T_194199 = not(T_194198) - node T_194200 = dshl(T_194073, T_194199) - node T_194201 = subw(UInt<6>(0), UInt<3>(6)) - node T_194202 = not(T_194199) - node T_194203 = cat(T_194201, T_194202) - node T_194204 = bits(T_194200, 62, 11) - wire T_194205 : UInt<7> - T_194205 := T_194203 - when T_194069 : T_194205 := UInt<1>(0) - wire T_194206 : UInt<11> - T_194206 := T_194066 - when T_194068 : T_194206 := T_194205 - wire T_194207 : UInt<1> - T_194207 := UInt<1>(1) - when T_194072 : T_194207 := UInt<2>(2) - node T_194208 = or(UInt<11>(1024), T_194207) - wire T_194209 : UInt<11> - T_194209 := T_194208 - when T_194070 : T_194209 := UInt<1>(0) - node T_194210 = addw(T_194206, T_194209) - node T_194211 = bits(T_194210, 11, 10) - node T_194212 = eq(T_194211, UInt<1>(-1)) - node T_194213 = eq(T_194069, UInt<1>(0)) - node T_194214 = and(T_194212, T_194213) - node T_194215 = dshl(T_194214, UInt<4>(9)) - node T_194216 = or(T_194210, T_194215) - wire T_194217 : UInt<52> - T_194217 := T_194067 - when T_194068 : T_194217 := T_194204 - node T_194218 = cat(T_194216, T_194217) - node rec_d = cat(T_194065, T_194218) - node T_194219 = asUInt(SInt<32>(-1)) - node T_194220 = cat(T_194219, rec_s) - wire load_wb_data_recoded : UInt<64> - load_wb_data_recoded := rec_d - when load_wb_single : load_wb_data_recoded := T_194220 - cmem regfile : UInt<65>[32] - when load_wb : - accessor T_194221 = regfile[load_wb_tag] - T_194221 := load_wb_data_recoded - reg ex_ra1 : UInt - reg ex_ra2 : UInt - reg ex_ra3 : UInt - when valid : - when fp_decoder.sigs.ren1 : - - node T_194222 = eq(fp_decoder.sigs.swap12, UInt<1>(0)) - when T_194222 : - node T_194223 = bits(inst__, 19, 15) - ex_ra1 := T_194223 - when fp_decoder.sigs.swap12 : - node T_194224 = bits(inst__, 19, 15) - ex_ra2 := T_194224 - when fp_decoder.sigs.ren2 : - when fp_decoder.sigs.swap12 : - node T_194225 = bits(inst__, 24, 20) - ex_ra1 := T_194225 - when fp_decoder.sigs.swap23 : - node T_194226 = bits(inst__, 24, 20) - ex_ra3 := T_194226 - - - node T_194227 = eq(fp_decoder.sigs.swap12, UInt<1>(0)) - node T_194228 = eq(fp_decoder.sigs.swap23, UInt<1>(0)) - node T_194229 = and(T_194227, T_194228) - when T_194229 : - node T_194230 = bits(inst__, 24, 20) - ex_ra2 := T_194230 - when fp_decoder.sigs.ren3 : - node T_194231 = bits(inst__, 31, 27) - ex_ra3 := T_194231 - accessor ex_rs1 = regfile[ex_ra1] - accessor ex_rs2 = regfile[ex_ra2] - accessor ex_rs3 = regfile[ex_ra3] - node T_194232 = bits(ex_reg_inst, 14, 12) - node T_194233 = eq(T_194232, UInt<3>(7)) - node T_194234 = bits(ex_reg_inst, 14, 12) - wire ex_rm : UInt<3> - ex_rm := T_194234 - when T_194233 : ex_rm := fcsr_rm - wire req : {cmd : UInt<5>, ldst : UInt<1>, wen : UInt<1>, ren1 : UInt<1>, ren2 : UInt<1>, ren3 : UInt<1>, swap12 : UInt<1>, swap23 : UInt<1>, single : UInt<1>, fromint : UInt<1>, toint : UInt<1>, fastpipe : UInt<1>, fma : UInt<1>, div : UInt<1>, sqrt : UInt<1>, round : UInt<1>, wflags : UInt<1>, rm : UInt<3>, typ : UInt<2>, in1 : UInt<65>, in2 : UInt<65>, in3 : UInt<65>} - req := ex_ctrl - req.rm := ex_rm - req.in1 := ex_rs1 - req.in2 := ex_rs2 - req.in3 := ex_rs3 - node T_194235 = bits(ex_reg_inst, 21, 20) - req.typ := T_194235 - inst sfma of FPUFMAPipe - node T_194236 = and(ex_reg_valid, ex_ctrl.fma) - node T_194237 = and(T_194236, ex_ctrl.single) - sfma.in.valid := T_194237 - sfma.in.bits := req - inst dfma of FPUFMAPipe_160964 - node T_194238 = and(ex_reg_valid, ex_ctrl.fma) - node T_194239 = eq(ex_ctrl.single, UInt<1>(0)) - node T_194240 = and(T_194238, T_194239) - dfma.in.valid := T_194240 - dfma.in.bits := req - inst fpiu of FPToInt - node T_194241 = or(ex_ctrl.toint, ex_ctrl.div) - node T_194242 = or(T_194241, ex_ctrl.sqrt) - node T_194243 = and(ex_ctrl.cmd, UInt<4>(13)) - node T_194244 = eq(UInt<3>(5), T_194243) - node T_194245 = or(T_194242, T_194244) - node T_194246 = and(ex_reg_valid, T_194245) - fpiu.in.valid := T_194246 - fpiu.in.bits := req - store_data := fpiu.out.bits.store - toint_data := fpiu.out.bits.toint - inst ifpu of IntToFP - node T_194247 = and(ex_reg_valid, ex_ctrl.fromint) - ifpu.in.valid := T_194247 - ifpu.in.bits := req - ifpu.in.bits.in1 := fromint_data - inst fpmu of FPToFP - node T_194248 = and(ex_reg_valid, ex_ctrl.fastpipe) - fpmu.in.valid := T_194248 - fpmu.in.bits := req - fpmu.lt := fpiu.out.bits.lt - reg divSqrt_wen : UInt<1> - divSqrt_wen := UInt<1>(0) - wire divSqrt_inReady : UInt<1> - divSqrt_inReady := UInt<1>(0) - reg divSqrt_waddr : UInt - wire divSqrt_wdata : UInt - wire divSqrt_flags : UInt - reg divSqrt_in_flight : UInt<1> - onreset divSqrt_in_flight := UInt<1>(0) - node T_194249 = asUInt(SInt<32>(-1)) - node T_194250 = cat(T_194249, sfma.out.bits.data) - wire T_194251 : UInt<1> - T_194251 := UInt<1>(0) - when mem_ctrl.fastpipe : T_194251 := UInt<1>(1) - wire T_194252 : UInt<1> - T_194252 := UInt<1>(0) - when mem_ctrl.fromint : T_194252 := UInt<2>(2) - node T_194253 = and(mem_ctrl.fma, mem_ctrl.single) - wire T_194254 : UInt<1> - T_194254 := UInt<1>(0) - when T_194253 : T_194254 := UInt<1>(1) - node T_194255 = eq(mem_ctrl.single, UInt<1>(0)) - node T_194256 = and(mem_ctrl.fma, T_194255) - wire T_194257 : UInt<1> - T_194257 := UInt<1>(0) - when T_194256 : T_194257 := UInt<2>(2) - node T_194258 = or(T_194251, T_194252) - node T_194259 = or(T_194258, T_194254) - node memLatencyMask = or(T_194259, T_194257) - reg wen : UInt<2> - onreset wen := UInt<2>(0) - wire T_194260 : UInt[2] - T_194260[0] := T_194261 - T_194260[1] := T_194262 - reg winfo : UInt[2] - node T_194263 = or(mem_ctrl.fma, mem_ctrl.fastpipe) - node T_194264 = or(T_194263, mem_ctrl.fromint) - node mem_wen = and(mem_reg_valid, T_194264) - wire T_194265 : UInt<1> - T_194265 := UInt<1>(0) - when ex_ctrl.fastpipe : T_194265 := UInt<2>(2) - wire T_194266 : UInt<1> - T_194266 := UInt<1>(0) - when ex_ctrl.fromint : T_194266 := UInt<3>(4) - node T_194267 = and(ex_ctrl.fma, ex_ctrl.single) - wire T_194268 : UInt<1> - T_194268 := UInt<1>(0) - when T_194267 : T_194268 := UInt<2>(2) - node T_194269 = eq(ex_ctrl.single, UInt<1>(0)) - node T_194270 = and(ex_ctrl.fma, T_194269) - wire T_194271 : UInt<1> - T_194271 := UInt<1>(0) - when T_194270 : T_194271 := UInt<3>(4) - node T_194272 = or(T_194265, T_194266) - node T_194273 = or(T_194272, T_194268) - node T_194274 = or(T_194273, T_194271) - node T_194275 = and(memLatencyMask, T_194274) - node T_194276 = eq(T_194275, UInt<1>(0)) - node T_194277 = eq(T_194276, UInt<1>(0)) - node T_194278 = and(mem_wen, T_194277) - wire T_194279 : UInt<1> - T_194279 := UInt<1>(0) - when ex_ctrl.fastpipe : T_194279 := UInt<3>(4) - wire T_194280 : UInt<1> - T_194280 := UInt<1>(0) - when ex_ctrl.fromint : T_194280 := UInt<4>(8) - node T_194281 = and(ex_ctrl.fma, ex_ctrl.single) - wire T_194282 : UInt<1> - T_194282 := UInt<1>(0) - when T_194281 : T_194282 := UInt<3>(4) - node T_194283 = eq(ex_ctrl.single, UInt<1>(0)) - node T_194284 = and(ex_ctrl.fma, T_194283) - wire T_194285 : UInt<1> - T_194285 := UInt<1>(0) - when T_194284 : T_194285 := UInt<4>(8) - node T_194286 = or(T_194279, T_194280) - node T_194287 = or(T_194286, T_194282) - node T_194288 = or(T_194287, T_194285) - node T_194289 = and(wen, T_194288) - node T_194290 = eq(T_194289, UInt<1>(0)) - node T_194291 = eq(T_194290, UInt<1>(0)) - node T_194292 = or(T_194278, T_194291) - reg write_port_busy : UInt<1> - when ex_reg_valid : write_port_busy := T_194292 - wire T_194293 : UInt<1> - T_194293 := UInt<1>(0) - when mem_ctrl.fastpipe : T_194293 := UInt<1>(0) - wire T_194294 : UInt<1> - T_194294 := UInt<1>(0) - when mem_ctrl.fromint : T_194294 := UInt<1>(1) - node T_194295 = and(mem_ctrl.fma, mem_ctrl.single) - wire T_194296 : UInt<1> - T_194296 := UInt<1>(0) - when T_194295 : T_194296 := UInt<2>(2) - node T_194297 = eq(mem_ctrl.single, UInt<1>(0)) - node T_194298 = and(mem_ctrl.fma, T_194297) - wire T_194299 : UInt<1> - T_194299 := UInt<1>(0) - when T_194298 : T_194299 := UInt<2>(3) - node T_194300 = or(T_194293, T_194294) - node T_194301 = or(T_194300, T_194296) - node T_194302 = or(T_194301, T_194299) - node T_194303 = bits(mem_reg_inst, 11, 7) - node mem_winfo = cat(T_194302, T_194303) - - node T_194304 = bit(wen, 1) - when T_194304 : winfo[0] := winfo[1] - node T_194305 = shr(wen, 1) - wen := T_194305 - when mem_wen : - - node T_194306 = eq(killm, UInt<1>(0)) - when T_194306 : - node T_194307 = shr(wen, 1) - node T_194308 = or(T_194307, memLatencyMask) - wen := T_194308 - - - node T_194309 = eq(write_port_busy, UInt<1>(0)) - node T_194310 = bit(memLatencyMask, 0) - node T_194311 = and(T_194309, T_194310) - when T_194311 : winfo[0] := mem_winfo - - - node T_194312 = eq(write_port_busy, UInt<1>(0)) - node T_194313 = bit(memLatencyMask, 1) - node T_194314 = and(T_194312, T_194313) - when T_194314 : winfo[1] := mem_winfo - node T_194315 = bits(winfo[0], 4, 0) - wire waddr : UInt<5> - waddr := T_194315 - when divSqrt_wen : waddr := divSqrt_waddr - node wsrc = shr(winfo[0], 5) - wire T_194316 : UInt<65>[4] - T_194316[0] := fpmu.out.bits.data - T_194316[1] := ifpu.out.bits.data - T_194316[2] := T_194250 - T_194316[3] := dfma.out.bits.data - accessor T_194317 = T_194316[wsrc] - wire wdata : UInt<65> - wdata := T_194317 - when divSqrt_wen : wdata := divSqrt_wdata - wire T_194318 : UInt<5>[4] - T_194318[0] := fpmu.out.bits.exc - T_194318[1] := ifpu.out.bits.exc - T_194318[2] := sfma.out.bits.exc - T_194318[3] := dfma.out.bits.exc - accessor wexc = T_194318[wsrc] - - - node T_194319 = bit(wen, 0) - node T_194320 = or(T_194319, divSqrt_wen) - when T_194320 : - accessor T_194321 = regfile[waddr] - T_194321 := wdata - node wb_toint_valid = and(wb_reg_valid, wb_ctrl.toint) - reg wb_toint_exc : UInt<5> - when mem_ctrl.toint : wb_toint_exc := fpiu.out.bits.exc - node T_194322 = or(wb_toint_valid, divSqrt_wen) - node T_194323 = bit(wen, 0) - node T_194324 = or(T_194322, T_194323) - fcsr_flags.valid := T_194324 - wire T_194325 : UInt<1> - T_194325 := UInt<1>(0) - when wb_toint_valid : T_194325 := wb_toint_exc - wire T_194326 : UInt<1> - T_194326 := UInt<1>(0) - when divSqrt_wen : T_194326 := divSqrt_flags - node T_194327 = or(T_194325, T_194326) - node T_194328 = bit(wen, 0) - wire T_194329 : UInt<1> - T_194329 := UInt<1>(0) - when T_194328 : T_194329 := wexc - node T_194330 = or(T_194327, T_194329) - fcsr_flags.bits := T_194330 - node T_194331 = or(mem_ctrl.div, mem_ctrl.sqrt) - node T_194332 = and(mem_reg_valid, T_194331) - node T_194333 = eq(divSqrt_inReady, UInt<1>(0)) - node T_194334 = eq(wen, UInt<1>(0)) - node T_194335 = eq(T_194334, UInt<1>(0)) - node T_194336 = or(T_194333, T_194335) - node units_busy = and(T_194332, T_194336) - node T_194337 = and(ex_reg_valid, ex_ctrl.wflags) - node T_194338 = and(mem_reg_valid, mem_ctrl.wflags) - node T_194339 = or(T_194337, T_194338) - node T_194340 = and(wb_reg_valid, wb_ctrl.toint) - node T_194341 = or(T_194339, T_194340) - node T_194342 = eq(wen, UInt<1>(0)) - node T_194343 = eq(T_194342, UInt<1>(0)) - node T_194344 = or(T_194341, T_194343) - node T_194345 = or(T_194344, divSqrt_in_flight) - node T_194346 = eq(T_194345, UInt<1>(0)) - fcsr_rdy := T_194346 - node T_194347 = or(units_busy, write_port_busy) - node T_194348 = or(T_194347, divSqrt_in_flight) - nack_mem := T_194348 - dec <> fp_decoder.sigs - node T_194349 = or(UInt<1>(0), mem_ctrl.div) - node T_194350 = or(T_194349, mem_ctrl.sqrt) - reg T_194351 : UInt<1> - T_194351 := T_194350 - node T_194352 = and(wb_reg_valid, T_194351) - sboard_set := T_194352 - node T_194353 = bit(wen, 0) - node T_194354 = and(T_194353, UInt<1>(0)) - node T_194355 = or(divSqrt_wen, T_194354) - sboard_clr := T_194355 - sboard_clra := waddr - node T_194356 = bit(ex_rm, 2) - node T_194357 = and(T_194356, ex_ctrl.round) - illegal_rm := T_194357 - divSqrt_wdata := UInt<1>(0) - divSqrt_flags := UInt<1>(0) - reg T_194358 : UInt<1> - reg T_194359 : UInt - reg T_194360 : UInt - reg T_194361 : UInt - inst T_194362 of divSqrtRecodedFloat64 - wire T_194363 : UInt<1> - T_194363 := T_194362.inReady_div - when T_194362.sqrtOp : T_194363 := T_194362.inReady_sqrt - divSqrt_inReady := T_194363 - node T_194364 = or(T_194362.outValid_div, T_194362.outValid_sqrt) - node T_194365 = eq(wen, UInt<1>(0)) - node T_194366 = eq(T_194365, UInt<1>(0)) - node T_194367 = eq(T_194366, UInt<1>(0)) - node T_194368 = and(mem_reg_valid, T_194367) - node T_194369 = eq(divSqrt_in_flight, UInt<1>(0)) - node T_194370 = and(T_194368, T_194369) - node T_194371 = eq(killm, UInt<1>(0)) - node T_194372 = and(T_194370, T_194371) - node T_194373 = or(mem_ctrl.div, mem_ctrl.sqrt) - node T_194374 = and(T_194372, T_194373) - T_194362.inValid := T_194374 - T_194362.sqrtOp := mem_ctrl.sqrt - T_194362.a := fpiu.as_double.in1 - T_194362.b := fpiu.as_double.in2 - T_194362.roundingMode := fpiu.as_double.rm - - node T_194375 = and(T_194362.inValid, divSqrt_inReady) - when T_194375 : - divSqrt_in_flight := UInt<1>(1) - T_194358 := mem_ctrl.single - node T_194376 = bits(mem_reg_inst, 11, 7) - divSqrt_waddr := T_194376 - T_194359 := T_194362.roundingMode - when T_194364 : - divSqrt_wen := UInt<1>(1) - T_194361 := T_194362.out - divSqrt_in_flight := UInt<1>(0) - T_194360 := T_194362.exceptionFlags - node T_194377 = bit(T_194361, 64) - node T_194378 = bits(T_194361, 51, 0) - node T_194379 = bits(T_194361, 63, 52) - node T_194380 = bits(T_194361, 63, 61) - node T_194381 = bits(T_194361, 62, 52) - node T_194382 = eq(T_194380, UInt<1>(-1)) - node T_194383 = bit(T_194378, 51) - node T_194384 = eq(T_194383, UInt<1>(0)) - node T_194385 = and(T_194382, T_194384) - node T_194386 = eq(T_194380, UInt<1>(0)) - node T_194387 = eq(T_194386, UInt<1>(0)) - node T_194388 = eq(T_194387, UInt<1>(0)) - node T_194389 = bits(T_194380, 2, 1) - node T_194390 = eq(T_194389, UInt<1>(-1)) - node T_194391 = or(T_194388, T_194390) - node T_194392 = geq(T_194379, UInt<11>(1898)) - node T_194393 = leq(T_194379, UInt<11>(1921)) - node T_194394 = and(T_194392, T_194393) - node T_194395 = lt(T_194379, UInt<11>(1898)) - node T_194396 = eq(T_194391, UInt<1>(0)) - node T_194397 = and(T_194395, T_194396) - node T_194398 = gt(T_194379, UInt<12>(2175)) - node T_194399 = eq(T_194391, UInt<1>(0)) - node T_194400 = and(T_194398, T_194399) - node T_194401 = addw(UInt<11>(1921), UInt<1>(1)) - node T_194402 = subw(T_194401, T_194379) - wire T_194403 : UInt<1> - T_194403 := UInt<1>(0) - when T_194394 : T_194403 := T_194402 - node T_194404 = bits(T_194403, 4, 0) - node T_194405 = bits(T_194378, 51, 28) - node T_194406 = cat(T_194405, UInt<24>(0)) - node T_194407 = cat(UInt<1>(1), T_194406) - node T_194408 = dshr(T_194407, T_194404) - node T_194409 = bits(T_194408, 23, 0) - node T_194410 = neq(T_194409, UInt<1>(0)) - node T_194411 = bits(T_194378, 27, 0) - node T_194412 = neq(T_194411, UInt<1>(0)) - node T_194413 = or(T_194410, T_194412) - node T_194414 = bits(T_194408, 25, 24) - node T_194415 = cat(T_194414, T_194413) - node T_194416 = bits(T_194415, 1, 0) - node T_194417 = neq(T_194416, UInt<1>(0)) - node T_194418 = eq(T_194391, UInt<1>(0)) - node T_194419 = and(T_194417, T_194418) - node T_194420 = eq(ex_rm, UInt<2>(0)) - node T_194421 = bits(T_194415, 1, 0) - node T_194422 = eq(T_194421, UInt<1>(-1)) - node T_194423 = bits(T_194415, 2, 1) - node T_194424 = eq(T_194423, UInt<1>(-1)) - node T_194425 = or(T_194422, T_194424) - node T_194426 = eq(ex_rm, UInt<2>(2)) - node T_194427 = and(T_194377, T_194419) - node T_194428 = eq(ex_rm, UInt<2>(3)) - node T_194429 = eq(T_194377, UInt<1>(0)) - node T_194430 = and(T_194429, T_194419) - wire T_194431 : UInt<1> - T_194431 := UInt<1>(0) - when T_194428 : T_194431 := T_194430 - wire T_194432 : UInt<1> - T_194432 := T_194431 - when T_194426 : T_194432 := T_194427 - wire T_194433 : UInt<1> - T_194433 := T_194432 - when T_194420 : T_194433 := T_194425 - node T_194434 = dshl(UInt<25>(33554431), T_194404) - node T_194435 = bits(T_194434, 24, 0) - node T_194436 = bits(T_194378, 51, 29) - node T_194437 = cat(UInt<2>(1), T_194436) - node T_194438 = not(T_194435) - node T_194439 = or(T_194437, T_194438) - node T_194440 = addw(T_194439, UInt<1>(1)) - wire T_194441 : UInt<25> - T_194441 := T_194439 - when T_194433 : T_194441 := T_194440 - node T_194442 = bits(T_194379, 8, 0) - node T_194443 = addw(T_194442, UInt<9>(256)) - node T_194444 = bit(T_194441, 24) - node T_194445 = addw(T_194443, UInt<1>(1)) - wire T_194446 : UInt<9> - T_194446 := T_194443 - when T_194444 : T_194446 := T_194445 - node T_194447 = eq(ex_rm, UInt<2>(2)) - node T_194448 = and(T_194447, T_194377) - node T_194449 = eq(ex_rm, UInt<2>(3)) - node T_194450 = eq(T_194377, UInt<1>(0)) - node T_194451 = and(T_194449, T_194450) - node T_194452 = or(T_194448, T_194451) - node T_194453 = eq(ex_rm, UInt<2>(0)) - node T_194454 = or(T_194452, T_194453) - node T_194455 = eq(T_194454, UInt<1>(0)) - node T_194456 = subw(UInt<23>(0), UInt<5>(23)) - wire T_194457 : UInt<9> - T_194457 := UInt<9>(383) - when T_194454 : T_194457 := UInt<9>(384) - wire T_194458 : UInt<1> - T_194458 := UInt<1>(0) - when T_194452 : T_194458 := UInt<7>(107) - node T_194459 = dshl(T_194380, UInt<3>(6)) - wire T_194460 : UInt<9> - T_194460 := T_194446 - when T_194397 : T_194460 := T_194458 - wire T_194461 : UInt<9> - T_194461 := T_194460 - when T_194400 : T_194461 := T_194457 - wire T_194462 : UInt<9> - T_194462 := T_194461 - when T_194391 : T_194462 := T_194459 - node T_194463 = subw(UInt<23>(0), UInt<5>(23)) - node T_194464 = bits(T_194441, 22, 0) - wire T_194465 : UInt<23> - T_194465 := T_194464 - when T_194397 : T_194465 := UInt<1>(0) - wire T_194466 : UInt<23> - T_194466 := T_194465 - when T_194400 : T_194466 := T_194456 - wire T_194467 : UInt<23> - T_194467 := T_194466 - when T_194391 : T_194467 := T_194463 - node T_194468 = cat(T_194462, T_194467) - node T_194469 = cat(T_194377, T_194468) - node T_194470 = and(T_194394, T_194419) - node T_194471 = or(T_194397, T_194470) - node T_194472 = eq(T_194379, UInt<12>(2175)) - node T_194473 = bit(T_194441, 24) - node T_194474 = and(T_194472, T_194473) - node T_194475 = or(T_194400, T_194474) - node T_194476 = or(T_194419, T_194400) - node T_194477 = or(T_194476, T_194397) - node T_194478 = cat(T_194385, UInt<1>(0)) - node T_194479 = cat(T_194471, T_194477) - node T_194480 = cat(T_194475, T_194479) - node T_194481 = cat(T_194478, T_194480) - wire T_194482 : UInt - T_194482 := T_194361 - when T_194358 : T_194482 := T_194469 - divSqrt_wdata := T_194482 - wire T_194483 : UInt<1> - T_194483 := UInt<1>(0) - when T_194358 : T_194483 := T_194481 - node T_194484 = or(T_194360, T_194483) - divSqrt_flags := T_194484 - module RocketTile : - output cached : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}, flip probe : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, p_type : UInt<2>}}, release : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, r_type : UInt<3>, voluntary : UInt<1>}}} - output uncached : {acquire : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_block : UInt<26>, client_xact_id : UInt<1>, addr_beat : UInt<2>, data : UInt<128>, is_builtin_type : UInt<1>, a_type : UInt<3>, union : UInt<17>}}, flip grant : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr_beat : UInt<2>, data : UInt<128>, client_xact_id : UInt<1>, manager_xact_id : UInt<2>, is_builtin_type : UInt<1>, g_type : UInt<4>}}} - output host : {flip reset : UInt<1>, flip id : UInt<1>, flip pcr_req : {flip ready : UInt<1>, valid : UInt<1>, bits : {rw : UInt<1>, addr : UInt<12>, data : UInt<64>}}, pcr_rep : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<64>}, ipi_req : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<1>}, flip ipi_rep : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<1>}, debug_stats_pcr : UInt<1>} - - wire T_194485 : UInt<3>[3] - T_194485[0] := UInt<3>(0) - T_194485[1] := UInt<3>(1) - T_194485[2] := UInt<3>(2) - wire T_194486 : UInt<2>[2] - T_194486[0] := UInt<2>(0) - T_194486[1] := UInt<2>(1) - wire T_194487 : UInt<2>[3] - T_194487[0] := UInt<2>(1) - T_194487[1] := UInt<2>(2) - T_194487[2] := UInt<2>(3) - wire T_194488 : UInt<2>[2] - T_194488[0] := UInt<2>(2) - T_194488[1] := UInt<2>(3) - wire T_194489 : UInt<2>[1] - T_194489[0] := UInt<2>(3) - wire T_194490 : UInt<3>[3] - T_194490[0] := UInt<3>(0) - T_194490[1] := UInt<3>(1) - T_194490[2] := UInt<3>(2) - wire T_194491 : UInt<2>[2] - T_194491[0] := UInt<2>(0) - T_194491[1] := UInt<2>(1) - wire T_194492 : UInt<2>[3] - T_194492[0] := UInt<2>(1) - T_194492[1] := UInt<2>(2) - T_194492[2] := UInt<2>(3) - wire T_194493 : UInt<2>[2] - T_194493[0] := UInt<2>(2) - T_194493[1] := UInt<2>(3) - wire T_194494 : UInt<2>[1] - T_194494[0] := UInt<2>(3) - wire T_194495 : UInt<3>[3] - T_194495[0] := UInt<3>(0) - T_194495[1] := UInt<3>(1) - T_194495[2] := UInt<3>(2) - wire T_194496 : UInt<2>[2] - T_194496[0] := UInt<2>(0) - T_194496[1] := UInt<2>(1) - wire T_194497 : UInt<2>[3] - T_194497[0] := UInt<2>(1) - T_194497[1] := UInt<2>(2) - T_194497[2] := UInt<2>(3) - wire T_194498 : UInt<2>[2] - T_194498[0] := UInt<2>(2) - T_194498[1] := UInt<2>(3) - wire T_194499 : UInt<2>[1] - T_194499[0] := UInt<2>(3) - wire T_194500 : UInt<3>[3] - T_194500[0] := UInt<3>(0) - T_194500[1] := UInt<3>(1) - T_194500[2] := UInt<3>(2) - wire T_194501 : UInt<2>[2] - T_194501[0] := UInt<2>(0) - T_194501[1] := UInt<2>(1) - wire T_194502 : UInt<2>[3] - T_194502[0] := UInt<2>(1) - T_194502[1] := UInt<2>(2) - T_194502[2] := UInt<2>(3) - wire T_194503 : UInt<2>[2] - T_194503[0] := UInt<2>(2) - T_194503[1] := UInt<2>(3) - wire T_194504 : UInt<2>[1] - T_194504[0] := UInt<2>(3) - wire T_194505 : UInt<3>[3] - T_194505[0] := UInt<3>(0) - T_194505[1] := UInt<3>(1) - T_194505[2] := UInt<3>(2) - wire T_194506 : UInt<2>[2] - T_194506[0] := UInt<2>(0) - T_194506[1] := UInt<2>(1) - wire T_194507 : UInt<2>[3] - T_194507[0] := UInt<2>(1) - T_194507[1] := UInt<2>(2) - T_194507[2] := UInt<2>(3) - wire T_194508 : UInt<2>[2] - T_194508[0] := UInt<2>(2) - T_194508[1] := UInt<2>(3) - wire T_194509 : UInt<2>[1] - T_194509[0] := UInt<2>(3) - wire T_194510 : UInt<3>[3] - T_194510[0] := UInt<3>(0) - T_194510[1] := UInt<3>(1) - T_194510[2] := UInt<3>(2) - wire T_194511 : UInt<2>[2] - T_194511[0] := UInt<2>(0) - T_194511[1] := UInt<2>(1) - wire T_194512 : UInt<2>[3] - T_194512[0] := UInt<2>(1) - T_194512[1] := UInt<2>(2) - T_194512[2] := UInt<2>(3) - wire T_194513 : UInt<2>[2] - T_194513[0] := UInt<2>(2) - T_194513[1] := UInt<2>(3) - wire T_194514 : UInt<2>[1] - T_194514[0] := UInt<2>(3) - wire T_194515 : UInt<3>[3] - T_194515[0] := UInt<3>(0) - T_194515[1] := UInt<3>(1) - T_194515[2] := UInt<3>(2) - wire T_194516 : UInt<2>[2] - T_194516[0] := UInt<2>(0) - T_194516[1] := UInt<2>(1) - wire T_194517 : UInt<2>[3] - T_194517[0] := UInt<2>(1) - T_194517[1] := UInt<2>(2) - T_194517[2] := UInt<2>(3) - wire T_194518 : UInt<2>[2] - T_194518[0] := UInt<2>(2) - T_194518[1] := UInt<2>(3) - wire T_194519 : UInt<2>[1] - T_194519[0] := UInt<2>(3) - wire T_194520 : UInt<3>[3] - T_194520[0] := UInt<3>(0) - T_194520[1] := UInt<3>(1) - T_194520[2] := UInt<3>(2) - wire T_194521 : UInt<2>[2] - T_194521[0] := UInt<2>(0) - T_194521[1] := UInt<2>(1) - wire T_194522 : UInt<2>[3] - T_194522[0] := UInt<2>(1) - T_194522[1] := UInt<2>(2) - T_194522[2] := UInt<2>(3) - wire T_194523 : UInt<2>[2] - T_194523[0] := UInt<2>(2) - T_194523[1] := UInt<2>(3) - wire T_194524 : UInt<2>[1] - T_194524[0] := UInt<2>(3) - wire T_194525 : UInt<3>[3] - T_194525[0] := UInt<3>(0) - T_194525[1] := UInt<3>(1) - T_194525[2] := UInt<3>(2) - wire T_194526 : UInt<2>[2] - T_194526[0] := UInt<2>(0) - T_194526[1] := UInt<2>(1) - wire T_194527 : UInt<2>[3] - T_194527[0] := UInt<2>(1) - T_194527[1] := UInt<2>(2) - T_194527[2] := UInt<2>(3) - wire T_194528 : UInt<2>[2] - T_194528[0] := UInt<2>(2) - T_194528[1] := UInt<2>(3) - wire T_194529 : UInt<2>[1] - T_194529[0] := UInt<2>(3) - wire T_194530 : UInt<3>[3] - T_194530[0] := UInt<3>(0) - T_194530[1] := UInt<3>(1) - T_194530[2] := UInt<3>(2) - wire T_194531 : UInt<2>[2] - T_194531[0] := UInt<2>(0) - T_194531[1] := UInt<2>(1) - wire T_194532 : UInt<2>[3] - T_194532[0] := UInt<2>(1) - T_194532[1] := UInt<2>(2) - T_194532[2] := UInt<2>(3) - wire T_194533 : UInt<2>[2] - T_194533[0] := UInt<2>(2) - T_194533[1] := UInt<2>(3) - wire T_194534 : UInt<2>[1] - T_194534[0] := UInt<2>(3) - wire T_194535 : UInt<3>[3] - T_194535[0] := UInt<3>(0) - T_194535[1] := UInt<3>(1) - T_194535[2] := UInt<3>(2) - wire T_194536 : UInt<2>[2] - T_194536[0] := UInt<2>(0) - T_194536[1] := UInt<2>(1) - wire T_194537 : UInt<2>[3] - T_194537[0] := UInt<2>(1) - T_194537[1] := UInt<2>(2) - T_194537[2] := UInt<2>(3) - wire T_194538 : UInt<2>[2] - T_194538[0] := UInt<2>(2) - T_194538[1] := UInt<2>(3) - wire T_194539 : UInt<2>[1] - T_194539[0] := UInt<2>(3) - wire T_194540 : UInt<3>[3] - T_194540[0] := UInt<3>(0) - T_194540[1] := UInt<3>(1) - T_194540[2] := UInt<3>(2) - wire T_194541 : UInt<2>[2] - T_194541[0] := UInt<2>(0) - T_194541[1] := UInt<2>(1) - wire T_194542 : UInt<2>[3] - T_194542[0] := UInt<2>(1) - T_194542[1] := UInt<2>(2) - T_194542[2] := UInt<2>(3) - wire T_194543 : UInt<2>[2] - T_194543[0] := UInt<2>(2) - T_194543[1] := UInt<2>(3) - wire T_194544 : UInt<2>[1] - T_194544[0] := UInt<2>(3) - wire T_194545 : UInt<3>[3] - T_194545[0] := UInt<3>(0) - T_194545[1] := UInt<3>(1) - T_194545[2] := UInt<3>(2) - wire T_194546 : UInt<2>[2] - T_194546[0] := UInt<2>(0) - T_194546[1] := UInt<2>(1) - wire T_194547 : UInt<2>[3] - T_194547[0] := UInt<2>(1) - T_194547[1] := UInt<2>(2) - T_194547[2] := UInt<2>(3) - wire T_194548 : UInt<2>[2] - T_194548[0] := UInt<2>(2) - T_194548[1] := UInt<2>(3) - wire T_194549 : UInt<2>[1] - T_194549[0] := UInt<2>(3) - wire T_194550 : UInt<3>[3] - T_194550[0] := UInt<3>(0) - T_194550[1] := UInt<3>(1) - T_194550[2] := UInt<3>(2) - wire T_194551 : UInt<2>[2] - T_194551[0] := UInt<2>(0) - T_194551[1] := UInt<2>(1) - wire T_194552 : UInt<2>[3] - T_194552[0] := UInt<2>(1) - T_194552[1] := UInt<2>(2) - T_194552[2] := UInt<2>(3) - wire T_194553 : UInt<2>[2] - T_194553[0] := UInt<2>(2) - T_194553[1] := UInt<2>(3) - wire T_194554 : UInt<2>[1] - T_194554[0] := UInt<2>(3) - inst icache of Frontend - inst dcache of HellaCache - inst ptw of PTW - inst core of Rocket - dcache.cpu.invalidate_lr := core.dmem.invalidate_lr - inst dcArb of HellaCacheArbiter - dcArb.requestor[0] <> ptw.mem__ - dcArb.requestor[1] <> core.dmem - dcArb.mem__ <> dcache.cpu - ptw.requestor[0] <> icache.ptw - ptw.requestor[1] <> dcache.ptw - core.host <> host - core.imem <> icache.cpu - core.ptw <> ptw.dpath - inst T_194555 of FPU - T_194555 <> core.fpu - cached <> dcache.mem__ - uncached <> icache.mem__ - module Queue_165173 : - input enq : {flip ready : UInt<1>, valid : UInt<1>, bits : {rw : UInt<1>, addr : UInt<12>, data : UInt<64>}} - output deq : {flip ready : UInt<1>, valid : UInt<1>, bits : {rw : UInt<1>, addr : UInt<12>, data : UInt<64>}} - output count : UInt<2> - - cmem ram : {rw : UInt<1>, addr : UInt<12>, data : UInt<64>}[2] - reg T_194556 : UInt<1> - onreset T_194556 := UInt<1>(0) - reg T_194557 : UInt<1> - onreset T_194557 := UInt<1>(0) - reg maybe_full : UInt<1> - onreset maybe_full := UInt<1>(0) - node ptr_match = eq(T_194556, T_194557) - node T_194558 = eq(maybe_full, UInt<1>(0)) - node empty = and(ptr_match, T_194558) - node full = and(ptr_match, maybe_full) - node maybe_flow = and(UInt<1>(0), empty) - node do_flow = and(maybe_flow, deq.ready) - node T_194559 = and(enq.ready, enq.valid) - node T_194560 = eq(do_flow, UInt<1>(0)) - node do_enq = and(T_194559, T_194560) - node T_194561 = and(deq.ready, deq.valid) - node T_194562 = eq(do_flow, UInt<1>(0)) - node do_deq = and(T_194561, T_194562) - when do_enq : - accessor T_194563 = ram[T_194556] - T_194563 := enq.bits - node T_194564 = eq(T_194556, UInt<1>(1)) - node T_194565 = and(UInt<1>(0), T_194564) - node T_194566 = addw(T_194556, UInt<1>(1)) - wire T_194567 : UInt<1> - T_194567 := T_194566 - when T_194565 : T_194567 := UInt<1>(0) - T_194556 := T_194567 - when do_deq : - node T_194568 = eq(T_194557, UInt<1>(1)) - node T_194569 = and(UInt<1>(0), T_194568) - node T_194570 = addw(T_194557, UInt<1>(1)) - wire T_194571 : UInt<1> - T_194571 := T_194570 - when T_194569 : T_194571 := UInt<1>(0) - T_194557 := T_194571 - - node T_194572 = neq(do_enq, do_deq) - when T_194572 : maybe_full := do_enq - node T_194573 = eq(empty, UInt<1>(0)) - node T_194574 = and(UInt<1>(0), enq.valid) - node T_194575 = or(T_194573, T_194574) - deq.valid := T_194575 - node T_194576 = eq(full, UInt<1>(0)) - node T_194577 = and(UInt<1>(0), deq.ready) - node T_194578 = or(T_194576, T_194577) - enq.ready := T_194578 - accessor T_194579 = ram[T_194557] - wire T_194580 : {rw : UInt<1>, addr : UInt<12>, data : UInt<64>} - T_194580 := T_194579 - when maybe_flow : T_194580 := enq.bits - deq.bits := T_194580 - node ptr_diff = subw(T_194556, T_194557) - node T_194581 = and(maybe_full, ptr_match) - node T_194582 = cat(T_194581, ptr_diff) - count := T_194582 - module Queue_165245 : - input enq : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<64>} - output deq : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<64>} - output count : UInt<2> - - cmem ram : UInt<64>[2] - reg T_194583 : UInt<1> - onreset T_194583 := UInt<1>(0) - reg T_194584 : UInt<1> - onreset T_194584 := UInt<1>(0) - reg maybe_full : UInt<1> - onreset maybe_full := UInt<1>(0) - node ptr_match = eq(T_194583, T_194584) - node T_194585 = eq(maybe_full, UInt<1>(0)) - node empty = and(ptr_match, T_194585) - node full = and(ptr_match, maybe_full) - node maybe_flow = and(UInt<1>(0), empty) - node do_flow = and(maybe_flow, deq.ready) - node T_194586 = and(enq.ready, enq.valid) - node T_194587 = eq(do_flow, UInt<1>(0)) - node do_enq = and(T_194586, T_194587) - node T_194588 = and(deq.ready, deq.valid) - node T_194589 = eq(do_flow, UInt<1>(0)) - node do_deq = and(T_194588, T_194589) - when do_enq : - accessor T_194590 = ram[T_194583] - T_194590 := enq.bits - node T_194591 = eq(T_194583, UInt<1>(1)) - node T_194592 = and(UInt<1>(0), T_194591) - node T_194593 = addw(T_194583, UInt<1>(1)) - wire T_194594 : UInt<1> - T_194594 := T_194593 - when T_194592 : T_194594 := UInt<1>(0) - T_194583 := T_194594 - when do_deq : - node T_194595 = eq(T_194584, UInt<1>(1)) - node T_194596 = and(UInt<1>(0), T_194595) - node T_194597 = addw(T_194584, UInt<1>(1)) - wire T_194598 : UInt<1> - T_194598 := T_194597 - when T_194596 : T_194598 := UInt<1>(0) - T_194584 := T_194598 - - node T_194599 = neq(do_enq, do_deq) - when T_194599 : maybe_full := do_enq - node T_194600 = eq(empty, UInt<1>(0)) - node T_194601 = and(UInt<1>(0), enq.valid) - node T_194602 = or(T_194600, T_194601) - deq.valid := T_194602 - node T_194603 = eq(full, UInt<1>(0)) - node T_194604 = and(UInt<1>(0), deq.ready) - node T_194605 = or(T_194603, T_194604) - enq.ready := T_194605 - accessor T_194606 = ram[T_194584] - wire T_194607 : UInt<64> - T_194607 := T_194606 - when maybe_flow : T_194607 := enq.bits - deq.bits := T_194607 - node ptr_diff = subw(T_194583, T_194584) - node T_194608 = and(maybe_full, ptr_match) - node T_194609 = cat(T_194608, ptr_diff) - count := T_194609 - module Queue_165317 : - input enq : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<1>} - output deq : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<1>} - output count : UInt<2> - - cmem ram : UInt<1>[2] - reg T_194610 : UInt<1> - onreset T_194610 := UInt<1>(0) - reg T_194611 : UInt<1> - onreset T_194611 := UInt<1>(0) - reg maybe_full : UInt<1> - onreset maybe_full := UInt<1>(0) - node ptr_match = eq(T_194610, T_194611) - node T_194612 = eq(maybe_full, UInt<1>(0)) - node empty = and(ptr_match, T_194612) - node full = and(ptr_match, maybe_full) - node maybe_flow = and(UInt<1>(0), empty) - node do_flow = and(maybe_flow, deq.ready) - node T_194613 = and(enq.ready, enq.valid) - node T_194614 = eq(do_flow, UInt<1>(0)) - node do_enq = and(T_194613, T_194614) - node T_194615 = and(deq.ready, deq.valid) - node T_194616 = eq(do_flow, UInt<1>(0)) - node do_deq = and(T_194615, T_194616) - when do_enq : - accessor T_194617 = ram[T_194610] - T_194617 := enq.bits - node T_194618 = eq(T_194610, UInt<1>(1)) - node T_194619 = and(UInt<1>(0), T_194618) - node T_194620 = addw(T_194610, UInt<1>(1)) - wire T_194621 : UInt<1> - T_194621 := T_194620 - when T_194619 : T_194621 := UInt<1>(0) - T_194610 := T_194621 - when do_deq : - node T_194622 = eq(T_194611, UInt<1>(1)) - node T_194623 = and(UInt<1>(0), T_194622) - node T_194624 = addw(T_194611, UInt<1>(1)) - wire T_194625 : UInt<1> - T_194625 := T_194624 - when T_194623 : T_194625 := UInt<1>(0) - T_194611 := T_194625 - - node T_194626 = neq(do_enq, do_deq) - when T_194626 : maybe_full := do_enq - node T_194627 = eq(empty, UInt<1>(0)) - node T_194628 = and(UInt<1>(0), enq.valid) - node T_194629 = or(T_194627, T_194628) - deq.valid := T_194629 - node T_194630 = eq(full, UInt<1>(0)) - node T_194631 = and(UInt<1>(0), deq.ready) - node T_194632 = or(T_194630, T_194631) - enq.ready := T_194632 - accessor T_194633 = ram[T_194611] - wire T_194634 : UInt<1> - T_194634 := T_194633 - when maybe_flow : T_194634 := enq.bits - deq.bits := T_194634 - node ptr_diff = subw(T_194610, T_194611) - node T_194635 = and(maybe_full, ptr_match) - node T_194636 = cat(T_194635, ptr_diff) - count := T_194636 - module Queue_165389 : - input enq : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<1>} - output deq : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<1>} - output count : UInt<2> - - cmem ram : UInt<1>[2] - reg T_194637 : UInt<1> - onreset T_194637 := UInt<1>(0) - reg T_194638 : UInt<1> - onreset T_194638 := UInt<1>(0) - reg maybe_full : UInt<1> - onreset maybe_full := UInt<1>(0) - node ptr_match = eq(T_194637, T_194638) - node T_194639 = eq(maybe_full, UInt<1>(0)) - node empty = and(ptr_match, T_194639) - node full = and(ptr_match, maybe_full) - node maybe_flow = and(UInt<1>(0), empty) - node do_flow = and(maybe_flow, deq.ready) - node T_194640 = and(enq.ready, enq.valid) - node T_194641 = eq(do_flow, UInt<1>(0)) - node do_enq = and(T_194640, T_194641) - node T_194642 = and(deq.ready, deq.valid) - node T_194643 = eq(do_flow, UInt<1>(0)) - node do_deq = and(T_194642, T_194643) - when do_enq : - accessor T_194644 = ram[T_194637] - T_194644 := enq.bits - node T_194645 = eq(T_194637, UInt<1>(1)) - node T_194646 = and(UInt<1>(0), T_194645) - node T_194647 = addw(T_194637, UInt<1>(1)) - wire T_194648 : UInt<1> - T_194648 := T_194647 - when T_194646 : T_194648 := UInt<1>(0) - T_194637 := T_194648 - when do_deq : - node T_194649 = eq(T_194638, UInt<1>(1)) - node T_194650 = and(UInt<1>(0), T_194649) - node T_194651 = addw(T_194638, UInt<1>(1)) - wire T_194652 : UInt<1> - T_194652 := T_194651 - when T_194650 : T_194652 := UInt<1>(0) - T_194638 := T_194652 - - node T_194653 = neq(do_enq, do_deq) - when T_194653 : maybe_full := do_enq - node T_194654 = eq(empty, UInt<1>(0)) - node T_194655 = and(UInt<1>(0), enq.valid) - node T_194656 = or(T_194654, T_194655) - deq.valid := T_194656 - node T_194657 = eq(full, UInt<1>(0)) - node T_194658 = and(UInt<1>(0), deq.ready) - node T_194659 = or(T_194657, T_194658) - enq.ready := T_194659 - accessor T_194660 = ram[T_194638] - wire T_194661 : UInt<1> - T_194661 := T_194660 - when maybe_flow : T_194661 := enq.bits - deq.bits := T_194661 - node ptr_diff = subw(T_194637, T_194638) - node T_194662 = and(maybe_full, ptr_match) - node T_194663 = cat(T_194662, ptr_diff) - count := T_194663 - module MultiChannelTop : - output host : {clk : UInt<1>, clk_edge : UInt<1>, flip in : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<16>}, out : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<16>}, debug_stats_pcr : UInt<1>} - output mem_backup_ctrl : {flip en : UInt<1>, flip in_valid : UInt<1>, flip out_ready : UInt<1>, out_valid : UInt<1>} - output mem__ : {req_cmd : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<26>, tag : UInt<5>, rw : UInt<1>}}, req_data : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<128>}}, flip resp : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<128>, tag : UInt<5>}}}[1] - - wire mem__ : {req_cmd : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<26>, tag : UInt<5>, rw : UInt<1>}}, req_data : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<128>}}, flip resp : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<128>, tag : UInt<5>}}}[1] - mem__[0] := T_194664 - inst uncore of Uncore - inst T_194665 of RocketTile - T_194665.host.id := UInt<1>(0) - reg T_194666 : UInt<1> - T_194666 := uncore.htif[0].reset - reg T_194667 : UInt<1> - T_194667 := T_194666 - T_194665.host.reset := T_194667 - inst T_194668 of Queue_165173 - T_194668.enq.valid := uncore.htif[0].pcr_req.valid - T_194668.enq.bits := uncore.htif[0].pcr_req.bits - uncore.htif[0].pcr_req.ready := T_194668.enq.ready - T_194665.host.pcr_req <> T_194668.deq - inst T_194669 of Queue_165245 - T_194669.enq.valid := T_194665.host.pcr_rep.valid - T_194669.enq.bits := T_194665.host.pcr_rep.bits - T_194665.host.pcr_rep.ready := T_194669.enq.ready - uncore.htif[0].pcr_rep <> T_194669.deq - inst T_194670 of Queue_165317 - T_194670.enq.valid := T_194665.host.ipi_req.valid - T_194670.enq.bits := T_194665.host.ipi_req.bits - T_194665.host.ipi_req.ready := T_194670.enq.ready - uncore.htif[0].ipi_req <> T_194670.deq - inst T_194671 of Queue_165389 - T_194671.enq.valid := uncore.htif[0].ipi_rep.valid - T_194671.enq.bits := uncore.htif[0].ipi_rep.bits - uncore.htif[0].ipi_rep.ready := T_194671.enq.ready - T_194665.host.ipi_rep <> T_194671.deq - uncore.htif[0].debug_stats_pcr := T_194665.host.debug_stats_pcr - uncore.tiles_cached[0] <> T_194665.cached - uncore.tiles_uncached[0] <> T_194665.uncached - uncore.host <> host - uncore.mem__[0] <> mem__[0] - uncore.mem_backup_ctrl <> mem_backup_ctrl - module MemIOArbiter_165478 : - input inner : {req_cmd : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<26>, tag : UInt<5>, rw : UInt<1>}}, req_data : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<128>}}, flip resp : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<128>, tag : UInt<5>}}}[1] - output outer : {req_cmd : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<26>, tag : UInt<5>, rw : UInt<1>}}, req_data : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<128>}}, flip resp : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<128>, tag : UInt<5>}}} - - wire inner : {req_cmd : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<26>, tag : UInt<5>, rw : UInt<1>}}, req_data : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<128>}}, flip resp : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<128>, tag : UInt<5>}}}[1] - inner[0] := T_194672 - inner[0] <> outer - module Top : - output host : {clk : UInt<1>, clk_edge : UInt<1>, flip in : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<16>}, out : {flip ready : UInt<1>, valid : UInt<1>, bits : UInt<16>}, debug_stats_pcr : UInt<1>} - output mem_backup_ctrl : {flip en : UInt<1>, flip in_valid : UInt<1>, flip out_ready : UInt<1>, out_valid : UInt<1>} - output mem__ : {req_cmd : {flip ready : UInt<1>, valid : UInt<1>, bits : {addr : UInt<26>, tag : UInt<5>, rw : UInt<1>}}, req_data : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<128>}}, flip resp : {flip ready : UInt<1>, valid : UInt<1>, bits : {data : UInt<128>, tag : UInt<5>}}} - - inst temp of MultiChannelTop - inst arb of MemIOArbiter_165478 - arb.inner[0] <> temp.mem__[0] - mem__ <> arb.outer - mem_backup_ctrl <> temp.mem_backup_ctrl - host <> temp.host -- cgit v1.2.3