quasar/design/sbox.fir

144 lines
9.2 KiB
Plaintext

;buildInfoPackage: chisel3, version: 3.3.1, scalaVersion: 2.12.11, sbtVersion: 1.3.10
circuit sbox :
module sbox :
input clock : Clock
input reset : UInt<1>
output io : {flip in : UInt<4>, flip op : UInt<1>, s_box_out : {valid : UInt<1>, bits : UInt<4>}, inv_s_box_out : {valid : UInt<1>, bits : UInt<4>}}
node _T = eq(io.op, UInt<1>("h00")) @[quasar_wrapper.scala 183:32]
io.s_box_out.valid <= _T @[quasar_wrapper.scala 183:29]
io.inv_s_box_out.valid <= io.op @[quasar_wrapper.scala 184:29]
node _T_1 = eq(io.in, UInt<1>("h00")) @[quasar_wrapper.scala 185:74]
node _T_2 = bits(_T_1, 0, 0) @[quasar_wrapper.scala 185:89]
node _T_3 = eq(io.in, UInt<1>("h01")) @[quasar_wrapper.scala 185:74]
node _T_4 = bits(_T_3, 0, 0) @[quasar_wrapper.scala 185:89]
node _T_5 = eq(io.in, UInt<2>("h02")) @[quasar_wrapper.scala 185:74]
node _T_6 = bits(_T_5, 0, 0) @[quasar_wrapper.scala 185:89]
node _T_7 = eq(io.in, UInt<2>("h03")) @[quasar_wrapper.scala 185:74]
node _T_8 = bits(_T_7, 0, 0) @[quasar_wrapper.scala 185:89]
node _T_9 = eq(io.in, UInt<3>("h04")) @[quasar_wrapper.scala 185:74]
node _T_10 = bits(_T_9, 0, 0) @[quasar_wrapper.scala 185:89]
node _T_11 = eq(io.in, UInt<3>("h05")) @[quasar_wrapper.scala 185:74]
node _T_12 = bits(_T_11, 0, 0) @[quasar_wrapper.scala 185:89]
node _T_13 = eq(io.in, UInt<3>("h06")) @[quasar_wrapper.scala 185:74]
node _T_14 = bits(_T_13, 0, 0) @[quasar_wrapper.scala 185:89]
node _T_15 = eq(io.in, UInt<3>("h07")) @[quasar_wrapper.scala 185:74]
node _T_16 = bits(_T_15, 0, 0) @[quasar_wrapper.scala 185:89]
node _T_17 = eq(io.in, UInt<4>("h08")) @[quasar_wrapper.scala 185:74]
node _T_18 = bits(_T_17, 0, 0) @[quasar_wrapper.scala 185:89]
node _T_19 = eq(io.in, UInt<4>("h09")) @[quasar_wrapper.scala 185:74]
node _T_20 = bits(_T_19, 0, 0) @[quasar_wrapper.scala 185:89]
node _T_21 = eq(io.in, UInt<4>("h0a")) @[quasar_wrapper.scala 185:74]
node _T_22 = bits(_T_21, 0, 0) @[quasar_wrapper.scala 185:89]
node _T_23 = eq(io.in, UInt<4>("h0b")) @[quasar_wrapper.scala 185:74]
node _T_24 = bits(_T_23, 0, 0) @[quasar_wrapper.scala 185:89]
node _T_25 = eq(io.in, UInt<4>("h0c")) @[quasar_wrapper.scala 185:74]
node _T_26 = bits(_T_25, 0, 0) @[quasar_wrapper.scala 185:89]
node _T_27 = eq(io.in, UInt<4>("h0d")) @[quasar_wrapper.scala 185:74]
node _T_28 = bits(_T_27, 0, 0) @[quasar_wrapper.scala 185:89]
node _T_29 = eq(io.in, UInt<4>("h0e")) @[quasar_wrapper.scala 185:74]
node _T_30 = bits(_T_29, 0, 0) @[quasar_wrapper.scala 185:89]
node _T_31 = eq(io.in, UInt<4>("h0f")) @[quasar_wrapper.scala 185:74]
node _T_32 = bits(_T_31, 0, 0) @[quasar_wrapper.scala 185:89]
node _T_33 = mux(_T_2, UInt<3>("h07"), UInt<1>("h00")) @[Mux.scala 27:72]
node _T_34 = mux(_T_4, UInt<2>("h03"), UInt<1>("h00")) @[Mux.scala 27:72]
node _T_35 = mux(_T_6, UInt<4>("h0e"), UInt<1>("h00")) @[Mux.scala 27:72]
node _T_36 = mux(_T_8, UInt<4>("h09"), UInt<1>("h00")) @[Mux.scala 27:72]
node _T_37 = mux(_T_10, UInt<1>("h00"), UInt<1>("h00")) @[Mux.scala 27:72]
node _T_38 = mux(_T_12, UInt<4>("h0d"), UInt<1>("h00")) @[Mux.scala 27:72]
node _T_39 = mux(_T_14, UInt<4>("h0a"), UInt<1>("h00")) @[Mux.scala 27:72]
node _T_40 = mux(_T_16, UInt<1>("h01"), UInt<1>("h00")) @[Mux.scala 27:72]
node _T_41 = mux(_T_18, UInt<3>("h05"), UInt<1>("h00")) @[Mux.scala 27:72]
node _T_42 = mux(_T_20, UInt<4>("h08"), UInt<1>("h00")) @[Mux.scala 27:72]
node _T_43 = mux(_T_22, UInt<4>("h0f"), UInt<1>("h00")) @[Mux.scala 27:72]
node _T_44 = mux(_T_24, UInt<3>("h04"), UInt<1>("h00")) @[Mux.scala 27:72]
node _T_45 = mux(_T_26, UInt<3>("h06"), UInt<1>("h00")) @[Mux.scala 27:72]
node _T_46 = mux(_T_28, UInt<2>("h02"), UInt<1>("h00")) @[Mux.scala 27:72]
node _T_47 = mux(_T_30, UInt<4>("h0c"), UInt<1>("h00")) @[Mux.scala 27:72]
node _T_48 = mux(_T_32, UInt<4>("h0b"), UInt<1>("h00")) @[Mux.scala 27:72]
node _T_49 = or(_T_33, _T_34) @[Mux.scala 27:72]
node _T_50 = or(_T_49, _T_35) @[Mux.scala 27:72]
node _T_51 = or(_T_50, _T_36) @[Mux.scala 27:72]
node _T_52 = or(_T_51, _T_37) @[Mux.scala 27:72]
node _T_53 = or(_T_52, _T_38) @[Mux.scala 27:72]
node _T_54 = or(_T_53, _T_39) @[Mux.scala 27:72]
node _T_55 = or(_T_54, _T_40) @[Mux.scala 27:72]
node _T_56 = or(_T_55, _T_41) @[Mux.scala 27:72]
node _T_57 = or(_T_56, _T_42) @[Mux.scala 27:72]
node _T_58 = or(_T_57, _T_43) @[Mux.scala 27:72]
node _T_59 = or(_T_58, _T_44) @[Mux.scala 27:72]
node _T_60 = or(_T_59, _T_45) @[Mux.scala 27:72]
node _T_61 = or(_T_60, _T_46) @[Mux.scala 27:72]
node _T_62 = or(_T_61, _T_47) @[Mux.scala 27:72]
node _T_63 = or(_T_62, _T_48) @[Mux.scala 27:72]
wire _T_64 : UInt<4> @[Mux.scala 27:72]
_T_64 <= _T_63 @[Mux.scala 27:72]
io.s_box_out.bits <= _T_64 @[quasar_wrapper.scala 185:21]
node _T_65 = eq(io.in, UInt<1>("h00")) @[quasar_wrapper.scala 186:78]
node _T_66 = bits(_T_65, 0, 0) @[quasar_wrapper.scala 186:93]
node _T_67 = eq(io.in, UInt<1>("h01")) @[quasar_wrapper.scala 186:78]
node _T_68 = bits(_T_67, 0, 0) @[quasar_wrapper.scala 186:93]
node _T_69 = eq(io.in, UInt<2>("h02")) @[quasar_wrapper.scala 186:78]
node _T_70 = bits(_T_69, 0, 0) @[quasar_wrapper.scala 186:93]
node _T_71 = eq(io.in, UInt<2>("h03")) @[quasar_wrapper.scala 186:78]
node _T_72 = bits(_T_71, 0, 0) @[quasar_wrapper.scala 186:93]
node _T_73 = eq(io.in, UInt<3>("h04")) @[quasar_wrapper.scala 186:78]
node _T_74 = bits(_T_73, 0, 0) @[quasar_wrapper.scala 186:93]
node _T_75 = eq(io.in, UInt<3>("h05")) @[quasar_wrapper.scala 186:78]
node _T_76 = bits(_T_75, 0, 0) @[quasar_wrapper.scala 186:93]
node _T_77 = eq(io.in, UInt<3>("h06")) @[quasar_wrapper.scala 186:78]
node _T_78 = bits(_T_77, 0, 0) @[quasar_wrapper.scala 186:93]
node _T_79 = eq(io.in, UInt<3>("h07")) @[quasar_wrapper.scala 186:78]
node _T_80 = bits(_T_79, 0, 0) @[quasar_wrapper.scala 186:93]
node _T_81 = eq(io.in, UInt<4>("h08")) @[quasar_wrapper.scala 186:78]
node _T_82 = bits(_T_81, 0, 0) @[quasar_wrapper.scala 186:93]
node _T_83 = eq(io.in, UInt<4>("h09")) @[quasar_wrapper.scala 186:78]
node _T_84 = bits(_T_83, 0, 0) @[quasar_wrapper.scala 186:93]
node _T_85 = eq(io.in, UInt<4>("h0a")) @[quasar_wrapper.scala 186:78]
node _T_86 = bits(_T_85, 0, 0) @[quasar_wrapper.scala 186:93]
node _T_87 = eq(io.in, UInt<4>("h0b")) @[quasar_wrapper.scala 186:78]
node _T_88 = bits(_T_87, 0, 0) @[quasar_wrapper.scala 186:93]
node _T_89 = eq(io.in, UInt<4>("h0c")) @[quasar_wrapper.scala 186:78]
node _T_90 = bits(_T_89, 0, 0) @[quasar_wrapper.scala 186:93]
node _T_91 = eq(io.in, UInt<4>("h0d")) @[quasar_wrapper.scala 186:78]
node _T_92 = bits(_T_91, 0, 0) @[quasar_wrapper.scala 186:93]
node _T_93 = eq(io.in, UInt<4>("h0e")) @[quasar_wrapper.scala 186:78]
node _T_94 = bits(_T_93, 0, 0) @[quasar_wrapper.scala 186:93]
node _T_95 = eq(io.in, UInt<4>("h0f")) @[quasar_wrapper.scala 186:78]
node _T_96 = bits(_T_95, 0, 0) @[quasar_wrapper.scala 186:93]
node _T_97 = mux(_T_66, UInt<3>("h04"), UInt<1>("h00")) @[Mux.scala 27:72]
node _T_98 = mux(_T_68, UInt<3>("h07"), UInt<1>("h00")) @[Mux.scala 27:72]
node _T_99 = mux(_T_70, UInt<4>("h0d"), UInt<1>("h00")) @[Mux.scala 27:72]
node _T_100 = mux(_T_72, UInt<1>("h01"), UInt<1>("h00")) @[Mux.scala 27:72]
node _T_101 = mux(_T_74, UInt<4>("h0b"), UInt<1>("h00")) @[Mux.scala 27:72]
node _T_102 = mux(_T_76, UInt<4>("h08"), UInt<1>("h00")) @[Mux.scala 27:72]
node _T_103 = mux(_T_78, UInt<4>("h0c"), UInt<1>("h00")) @[Mux.scala 27:72]
node _T_104 = mux(_T_80, UInt<1>("h00"), UInt<1>("h00")) @[Mux.scala 27:72]
node _T_105 = mux(_T_82, UInt<4>("h09"), UInt<1>("h00")) @[Mux.scala 27:72]
node _T_106 = mux(_T_84, UInt<2>("h03"), UInt<1>("h00")) @[Mux.scala 27:72]
node _T_107 = mux(_T_86, UInt<3>("h06"), UInt<1>("h00")) @[Mux.scala 27:72]
node _T_108 = mux(_T_88, UInt<4>("h0f"), UInt<1>("h00")) @[Mux.scala 27:72]
node _T_109 = mux(_T_90, UInt<4>("h0e"), UInt<1>("h00")) @[Mux.scala 27:72]
node _T_110 = mux(_T_92, UInt<3>("h05"), UInt<1>("h00")) @[Mux.scala 27:72]
node _T_111 = mux(_T_94, UInt<2>("h02"), UInt<1>("h00")) @[Mux.scala 27:72]
node _T_112 = mux(_T_96, UInt<4>("h0a"), UInt<1>("h00")) @[Mux.scala 27:72]
node _T_113 = or(_T_97, _T_98) @[Mux.scala 27:72]
node _T_114 = or(_T_113, _T_99) @[Mux.scala 27:72]
node _T_115 = or(_T_114, _T_100) @[Mux.scala 27:72]
node _T_116 = or(_T_115, _T_101) @[Mux.scala 27:72]
node _T_117 = or(_T_116, _T_102) @[Mux.scala 27:72]
node _T_118 = or(_T_117, _T_103) @[Mux.scala 27:72]
node _T_119 = or(_T_118, _T_104) @[Mux.scala 27:72]
node _T_120 = or(_T_119, _T_105) @[Mux.scala 27:72]
node _T_121 = or(_T_120, _T_106) @[Mux.scala 27:72]
node _T_122 = or(_T_121, _T_107) @[Mux.scala 27:72]
node _T_123 = or(_T_122, _T_108) @[Mux.scala 27:72]
node _T_124 = or(_T_123, _T_109) @[Mux.scala 27:72]
node _T_125 = or(_T_124, _T_110) @[Mux.scala 27:72]
node _T_126 = or(_T_125, _T_111) @[Mux.scala 27:72]
node _T_127 = or(_T_126, _T_112) @[Mux.scala 27:72]
wire _T_128 : UInt<4> @[Mux.scala 27:72]
_T_128 <= _T_127 @[Mux.scala 27:72]
io.inv_s_box_out.bits <= _T_128 @[quasar_wrapper.scala 186:25]