From 7a1457b2e211e3cca086d06807b75f62d7663b64 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=8BLaraib=20Khan?= <​laraib.khan@lampromellon.com> Date: Thu, 3 Dec 2020 11:39:11 +0500 Subject: [PATCH] axi to ahb update --- axi4_to_ahb.fir | 1089 ++++++++--------- axi4_to_ahb.v | 353 +++--- src/main/scala/lib/axi4_to_ahb.scala | 39 +- target/scala-2.12/classes/lib/AXImain$.class | Bin 3898 -> 3898 bytes .../lib/AXImain$delayedInit$body.class | Bin 732 -> 732 bytes .../scala-2.12/classes/lib/axi4_to_ahb.class | Bin 106987 -> 106871 bytes 6 files changed, 748 insertions(+), 733 deletions(-) diff --git a/axi4_to_ahb.fir b/axi4_to_ahb.fir index 65ef74e4..03f62457 100644 --- a/axi4_to_ahb.fir +++ b/axi4_to_ahb.fir @@ -545,14 +545,14 @@ circuit axi4_to_ahb : node _T_83 = bits(_T_58, 7, 7) @[axi4_to_ahb.scala 175:44] node _T_84 = geq(UInt<3>("h07"), _T_61) @[axi4_to_ahb.scala 175:62] node _T_85 = and(_T_83, _T_84) @[axi4_to_ahb.scala 175:48] - node _T_86 = mux(_T_85, UInt<3>("h07"), UInt<4>("h08")) @[Mux.scala 98:16] - node _T_87 = mux(_T_82, UInt<3>("h06"), _T_86) @[Mux.scala 98:16] - node _T_88 = mux(_T_79, UInt<3>("h05"), _T_87) @[Mux.scala 98:16] - node _T_89 = mux(_T_76, UInt<3>("h04"), _T_88) @[Mux.scala 98:16] - node _T_90 = mux(_T_73, UInt<2>("h03"), _T_89) @[Mux.scala 98:16] - node _T_91 = mux(_T_70, UInt<2>("h02"), _T_90) @[Mux.scala 98:16] - node _T_92 = mux(_T_67, UInt<1>("h01"), _T_91) @[Mux.scala 98:16] - node _T_93 = mux(_T_64, UInt<1>("h00"), _T_92) @[Mux.scala 98:16] + node _T_86 = mux(_T_64, UInt<1>("h00"), UInt<4>("h08")) @[Mux.scala 98:16] + node _T_87 = mux(_T_67, UInt<1>("h01"), _T_86) @[Mux.scala 98:16] + node _T_88 = mux(_T_70, UInt<2>("h02"), _T_87) @[Mux.scala 98:16] + node _T_89 = mux(_T_73, UInt<2>("h03"), _T_88) @[Mux.scala 98:16] + node _T_90 = mux(_T_76, UInt<3>("h04"), _T_89) @[Mux.scala 98:16] + node _T_91 = mux(_T_79, UInt<3>("h05"), _T_90) @[Mux.scala 98:16] + node _T_92 = mux(_T_82, UInt<3>("h06"), _T_91) @[Mux.scala 98:16] + node _T_93 = mux(_T_85, UInt<3>("h07"), _T_92) @[Mux.scala 98:16] node _T_94 = bits(master_addr, 2, 0) @[axi4_to_ahb.scala 233:124] node _T_95 = mux(_T_57, _T_93, _T_94) @[axi4_to_ahb.scala 233:30] buf_cmd_byte_ptr <= _T_95 @[axi4_to_ahb.scala 233:24] @@ -620,7 +620,7 @@ circuit axi4_to_ahb : node _T_139 = bits(master_opc, 2, 1) @[axi4_to_ahb.scala 252:82] node _T_140 = eq(_T_139, UInt<1>("h01")) @[axi4_to_ahb.scala 252:89] node _T_141 = and(master_valid, _T_140) @[axi4_to_ahb.scala 252:70] - node _T_142 = eq(_T_141, UInt<1>("h00")) @[axi4_to_ahb.scala 252:55] + node _T_142 = not(_T_141) @[axi4_to_ahb.scala 252:55] node _T_143 = and(_T_138, _T_142) @[axi4_to_ahb.scala 252:53] master_ready <= _T_143 @[axi4_to_ahb.scala 252:20] node _T_144 = and(master_valid, master_ready) @[axi4_to_ahb.scala 253:34] @@ -740,14 +740,14 @@ circuit axi4_to_ahb : node _T_220 = bits(_T_195, 7, 7) @[axi4_to_ahb.scala 175:44] node _T_221 = geq(UInt<3>("h07"), _T_198) @[axi4_to_ahb.scala 175:62] node _T_222 = and(_T_220, _T_221) @[axi4_to_ahb.scala 175:48] - node _T_223 = mux(_T_222, UInt<3>("h07"), UInt<4>("h08")) @[Mux.scala 98:16] - node _T_224 = mux(_T_219, UInt<3>("h06"), _T_223) @[Mux.scala 98:16] - node _T_225 = mux(_T_216, UInt<3>("h05"), _T_224) @[Mux.scala 98:16] - node _T_226 = mux(_T_213, UInt<3>("h04"), _T_225) @[Mux.scala 98:16] - node _T_227 = mux(_T_210, UInt<2>("h03"), _T_226) @[Mux.scala 98:16] - node _T_228 = mux(_T_207, UInt<2>("h02"), _T_227) @[Mux.scala 98:16] - node _T_229 = mux(_T_204, UInt<1>("h01"), _T_228) @[Mux.scala 98:16] - node _T_230 = mux(_T_201, UInt<1>("h00"), _T_229) @[Mux.scala 98:16] + node _T_223 = mux(_T_201, UInt<1>("h00"), UInt<4>("h08")) @[Mux.scala 98:16] + node _T_224 = mux(_T_204, UInt<1>("h01"), _T_223) @[Mux.scala 98:16] + node _T_225 = mux(_T_207, UInt<2>("h02"), _T_224) @[Mux.scala 98:16] + node _T_226 = mux(_T_210, UInt<2>("h03"), _T_225) @[Mux.scala 98:16] + node _T_227 = mux(_T_213, UInt<3>("h04"), _T_226) @[Mux.scala 98:16] + node _T_228 = mux(_T_216, UInt<3>("h05"), _T_227) @[Mux.scala 98:16] + node _T_229 = mux(_T_219, UInt<3>("h06"), _T_228) @[Mux.scala 98:16] + node _T_230 = mux(_T_222, UInt<3>("h07"), _T_229) @[Mux.scala 98:16] node _T_231 = mux(_T_193, _T_230, buf_cmd_byte_ptrQ) @[axi4_to_ahb.scala 291:30] buf_cmd_byte_ptr <= _T_231 @[axi4_to_ahb.scala 291:24] node _T_232 = eq(buf_cmd_byte_ptrQ, UInt<3>("h07")) @[axi4_to_ahb.scala 292:65] @@ -781,14 +781,14 @@ circuit axi4_to_ahb : node _T_260 = bits(_T_235, 7, 7) @[axi4_to_ahb.scala 175:44] node _T_261 = geq(UInt<3>("h07"), _T_238) @[axi4_to_ahb.scala 175:62] node _T_262 = and(_T_260, _T_261) @[axi4_to_ahb.scala 175:48] - node _T_263 = mux(_T_262, UInt<3>("h07"), UInt<4>("h08")) @[Mux.scala 98:16] - node _T_264 = mux(_T_259, UInt<3>("h06"), _T_263) @[Mux.scala 98:16] - node _T_265 = mux(_T_256, UInt<3>("h05"), _T_264) @[Mux.scala 98:16] - node _T_266 = mux(_T_253, UInt<3>("h04"), _T_265) @[Mux.scala 98:16] - node _T_267 = mux(_T_250, UInt<2>("h03"), _T_266) @[Mux.scala 98:16] - node _T_268 = mux(_T_247, UInt<2>("h02"), _T_267) @[Mux.scala 98:16] - node _T_269 = mux(_T_244, UInt<1>("h01"), _T_268) @[Mux.scala 98:16] - node _T_270 = mux(_T_241, UInt<1>("h00"), _T_269) @[Mux.scala 98:16] + node _T_263 = mux(_T_241, UInt<1>("h00"), UInt<4>("h08")) @[Mux.scala 98:16] + node _T_264 = mux(_T_244, UInt<1>("h01"), _T_263) @[Mux.scala 98:16] + node _T_265 = mux(_T_247, UInt<2>("h02"), _T_264) @[Mux.scala 98:16] + node _T_266 = mux(_T_250, UInt<2>("h03"), _T_265) @[Mux.scala 98:16] + node _T_267 = mux(_T_253, UInt<3>("h04"), _T_266) @[Mux.scala 98:16] + node _T_268 = mux(_T_256, UInt<3>("h05"), _T_267) @[Mux.scala 98:16] + node _T_269 = mux(_T_259, UInt<3>("h06"), _T_268) @[Mux.scala 98:16] + node _T_270 = mux(_T_262, UInt<3>("h07"), _T_269) @[Mux.scala 98:16] node _T_271 = dshr(buf_byteen, _T_270) @[axi4_to_ahb.scala 292:92] node _T_272 = bits(_T_271, 0, 0) @[axi4_to_ahb.scala 292:92] node _T_273 = eq(_T_272, UInt<1>("h00")) @[axi4_to_ahb.scala 292:163] @@ -808,617 +808,614 @@ circuit axi4_to_ahb : node _T_282 = and(cmd_doneQ, ahb_hready_q) @[axi4_to_ahb.scala 297:34] node _T_283 = or(_T_282, ahb_hresp_q) @[axi4_to_ahb.scala 297:50] buf_state_en <= _T_283 @[axi4_to_ahb.scala 297:20] - node _T_284 = and(cmd_doneQ, ahb_hready_q) @[axi4_to_ahb.scala 298:35] - node _T_285 = or(_T_284, ahb_hresp_q) @[axi4_to_ahb.scala 298:51] - node _T_286 = eq(ahb_hresp_q, UInt<1>("h00")) @[axi4_to_ahb.scala 298:68] - node _T_287 = and(_T_285, _T_286) @[axi4_to_ahb.scala 298:66] - node _T_288 = and(_T_287, slave_ready) @[axi4_to_ahb.scala 298:81] - master_ready <= _T_288 @[axi4_to_ahb.scala 298:20] - node _T_289 = eq(slave_ready, UInt<1>("h00")) @[axi4_to_ahb.scala 299:42] - node _T_290 = or(ahb_hresp_q, _T_289) @[axi4_to_ahb.scala 299:40] - node _T_291 = bits(_T_290, 0, 0) @[axi4_to_ahb.scala 299:62] - node _T_292 = and(master_valid, master_ready) @[axi4_to_ahb.scala 299:90] - node _T_293 = bits(_T_292, 0, 0) @[axi4_to_ahb.scala 299:112] - node _T_294 = bits(master_opc, 2, 1) @[axi4_to_ahb.scala 299:131] - node _T_295 = eq(_T_294, UInt<2>("h01")) @[axi4_to_ahb.scala 299:138] - node _T_296 = mux(_T_295, UInt<3>("h02"), UInt<3>("h01")) @[axi4_to_ahb.scala 299:119] - node _T_297 = mux(_T_293, _T_296, UInt<3>("h00")) @[axi4_to_ahb.scala 299:75] - node _T_298 = mux(_T_291, UInt<3>("h05"), _T_297) @[axi4_to_ahb.scala 299:26] - buf_nxtstate <= _T_298 @[axi4_to_ahb.scala 299:20] + node _T_284 = eq(ahb_hresp_q, UInt<1>("h00")) @[axi4_to_ahb.scala 298:38] + node _T_285 = and(buf_state_en, _T_284) @[axi4_to_ahb.scala 298:36] + node _T_286 = and(_T_285, slave_ready) @[axi4_to_ahb.scala 298:51] + master_ready <= _T_286 @[axi4_to_ahb.scala 298:20] + node _T_287 = eq(slave_ready, UInt<1>("h00")) @[axi4_to_ahb.scala 299:42] + node _T_288 = or(ahb_hresp_q, _T_287) @[axi4_to_ahb.scala 299:40] + node _T_289 = and(master_valid, master_valid) @[axi4_to_ahb.scala 299:80] + node _T_290 = bits(master_opc, 2, 1) @[axi4_to_ahb.scala 299:111] + node _T_291 = eq(_T_290, UInt<1>("h01")) @[axi4_to_ahb.scala 299:117] + node _T_292 = bits(_T_291, 0, 0) @[axi4_to_ahb.scala 299:132] + node _T_293 = mux(_T_292, UInt<3>("h02"), UInt<3>("h01")) @[axi4_to_ahb.scala 299:99] + node _T_294 = mux(_T_289, _T_293, UInt<3>("h00")) @[axi4_to_ahb.scala 299:65] + node _T_295 = mux(_T_288, UInt<3>("h05"), _T_294) @[axi4_to_ahb.scala 299:26] + buf_nxtstate <= _T_295 @[axi4_to_ahb.scala 299:20] slvbuf_error_in <= ahb_hresp_q @[axi4_to_ahb.scala 300:23] slvbuf_error_en <= buf_state_en @[axi4_to_ahb.scala 301:23] - node _T_299 = bits(master_opc, 2, 1) @[axi4_to_ahb.scala 302:34] - node _T_300 = eq(_T_299, UInt<1>("h01")) @[axi4_to_ahb.scala 302:41] - buf_write_in <= _T_300 @[axi4_to_ahb.scala 302:20] - node _T_301 = eq(buf_nxtstate, UInt<3>("h02")) @[axi4_to_ahb.scala 303:50] - node _T_302 = eq(buf_nxtstate, UInt<3>("h01")) @[axi4_to_ahb.scala 303:78] - node _T_303 = or(_T_301, _T_302) @[axi4_to_ahb.scala 303:62] - node _T_304 = and(buf_state_en, _T_303) @[axi4_to_ahb.scala 303:33] - buf_wr_en <= _T_304 @[axi4_to_ahb.scala 303:17] + node _T_296 = bits(master_opc, 2, 1) @[axi4_to_ahb.scala 302:33] + node _T_297 = eq(_T_296, UInt<1>("h01")) @[axi4_to_ahb.scala 302:39] + buf_write_in <= _T_297 @[axi4_to_ahb.scala 302:20] + node _T_298 = eq(buf_nxtstate, UInt<3>("h02")) @[axi4_to_ahb.scala 303:50] + node _T_299 = eq(buf_nxtstate, UInt<3>("h01")) @[axi4_to_ahb.scala 303:78] + node _T_300 = or(_T_298, _T_299) @[axi4_to_ahb.scala 303:62] + node _T_301 = and(buf_state_en, _T_300) @[axi4_to_ahb.scala 303:33] + buf_wr_en <= _T_301 @[axi4_to_ahb.scala 303:17] buf_data_wr_en <= buf_wr_en @[axi4_to_ahb.scala 304:22] - node _T_305 = bits(ahb_htrans_q, 1, 0) @[axi4_to_ahb.scala 305:63] - node _T_306 = neq(_T_305, UInt<2>("h00")) @[axi4_to_ahb.scala 305:70] - node _T_307 = and(ahb_hready_q, _T_306) @[axi4_to_ahb.scala 305:48] - node _T_308 = eq(buf_cmd_byte_ptrQ, UInt<3>("h07")) @[axi4_to_ahb.scala 305:109] - node _T_309 = bits(buf_cmd_byte_ptrQ, 2, 0) @[axi4_to_ahb.scala 305:170] - node _T_310 = bits(buf_byteen, 7, 0) @[axi4_to_ahb.scala 305:188] - node _T_311 = add(_T_309, UInt<1>("h01")) @[axi4_to_ahb.scala 174:52] - node _T_312 = tail(_T_311, 1) @[axi4_to_ahb.scala 174:52] - node _T_313 = mux(UInt<1>("h01"), _T_312, _T_309) @[axi4_to_ahb.scala 174:24] - node _T_314 = bits(_T_310, 0, 0) @[axi4_to_ahb.scala 175:44] - node _T_315 = geq(UInt<1>("h00"), _T_313) @[axi4_to_ahb.scala 175:62] + node _T_302 = bits(ahb_htrans_q, 1, 0) @[axi4_to_ahb.scala 305:65] + node _T_303 = neq(_T_302, UInt<1>("h00")) @[axi4_to_ahb.scala 305:71] + node _T_304 = and(ahb_hready_q, _T_303) @[axi4_to_ahb.scala 305:50] + node _T_305 = eq(buf_cmd_byte_ptrQ, UInt<3>("h07")) @[axi4_to_ahb.scala 306:29] + node _T_306 = bits(buf_cmd_byte_ptrQ, 2, 0) @[axi4_to_ahb.scala 306:85] + node _T_307 = bits(buf_byteen, 7, 0) @[axi4_to_ahb.scala 306:101] + node _T_308 = add(_T_306, UInt<1>("h01")) @[axi4_to_ahb.scala 174:52] + node _T_309 = tail(_T_308, 1) @[axi4_to_ahb.scala 174:52] + node _T_310 = mux(UInt<1>("h01"), _T_309, _T_306) @[axi4_to_ahb.scala 174:24] + node _T_311 = bits(_T_307, 0, 0) @[axi4_to_ahb.scala 175:44] + node _T_312 = geq(UInt<1>("h00"), _T_310) @[axi4_to_ahb.scala 175:62] + node _T_313 = and(_T_311, _T_312) @[axi4_to_ahb.scala 175:48] + node _T_314 = bits(_T_307, 1, 1) @[axi4_to_ahb.scala 175:44] + node _T_315 = geq(UInt<1>("h01"), _T_310) @[axi4_to_ahb.scala 175:62] node _T_316 = and(_T_314, _T_315) @[axi4_to_ahb.scala 175:48] - node _T_317 = bits(_T_310, 1, 1) @[axi4_to_ahb.scala 175:44] - node _T_318 = geq(UInt<1>("h01"), _T_313) @[axi4_to_ahb.scala 175:62] + node _T_317 = bits(_T_307, 2, 2) @[axi4_to_ahb.scala 175:44] + node _T_318 = geq(UInt<2>("h02"), _T_310) @[axi4_to_ahb.scala 175:62] node _T_319 = and(_T_317, _T_318) @[axi4_to_ahb.scala 175:48] - node _T_320 = bits(_T_310, 2, 2) @[axi4_to_ahb.scala 175:44] - node _T_321 = geq(UInt<2>("h02"), _T_313) @[axi4_to_ahb.scala 175:62] + node _T_320 = bits(_T_307, 3, 3) @[axi4_to_ahb.scala 175:44] + node _T_321 = geq(UInt<2>("h03"), _T_310) @[axi4_to_ahb.scala 175:62] node _T_322 = and(_T_320, _T_321) @[axi4_to_ahb.scala 175:48] - node _T_323 = bits(_T_310, 3, 3) @[axi4_to_ahb.scala 175:44] - node _T_324 = geq(UInt<2>("h03"), _T_313) @[axi4_to_ahb.scala 175:62] + node _T_323 = bits(_T_307, 4, 4) @[axi4_to_ahb.scala 175:44] + node _T_324 = geq(UInt<3>("h04"), _T_310) @[axi4_to_ahb.scala 175:62] node _T_325 = and(_T_323, _T_324) @[axi4_to_ahb.scala 175:48] - node _T_326 = bits(_T_310, 4, 4) @[axi4_to_ahb.scala 175:44] - node _T_327 = geq(UInt<3>("h04"), _T_313) @[axi4_to_ahb.scala 175:62] + node _T_326 = bits(_T_307, 5, 5) @[axi4_to_ahb.scala 175:44] + node _T_327 = geq(UInt<3>("h05"), _T_310) @[axi4_to_ahb.scala 175:62] node _T_328 = and(_T_326, _T_327) @[axi4_to_ahb.scala 175:48] - node _T_329 = bits(_T_310, 5, 5) @[axi4_to_ahb.scala 175:44] - node _T_330 = geq(UInt<3>("h05"), _T_313) @[axi4_to_ahb.scala 175:62] + node _T_329 = bits(_T_307, 6, 6) @[axi4_to_ahb.scala 175:44] + node _T_330 = geq(UInt<3>("h06"), _T_310) @[axi4_to_ahb.scala 175:62] node _T_331 = and(_T_329, _T_330) @[axi4_to_ahb.scala 175:48] - node _T_332 = bits(_T_310, 6, 6) @[axi4_to_ahb.scala 175:44] - node _T_333 = geq(UInt<3>("h06"), _T_313) @[axi4_to_ahb.scala 175:62] + node _T_332 = bits(_T_307, 7, 7) @[axi4_to_ahb.scala 175:44] + node _T_333 = geq(UInt<3>("h07"), _T_310) @[axi4_to_ahb.scala 175:62] node _T_334 = and(_T_332, _T_333) @[axi4_to_ahb.scala 175:48] - node _T_335 = bits(_T_310, 7, 7) @[axi4_to_ahb.scala 175:44] - node _T_336 = geq(UInt<3>("h07"), _T_313) @[axi4_to_ahb.scala 175:62] - node _T_337 = and(_T_335, _T_336) @[axi4_to_ahb.scala 175:48] - node _T_338 = mux(_T_337, UInt<3>("h07"), UInt<4>("h08")) @[Mux.scala 98:16] - node _T_339 = mux(_T_334, UInt<3>("h06"), _T_338) @[Mux.scala 98:16] - node _T_340 = mux(_T_331, UInt<3>("h05"), _T_339) @[Mux.scala 98:16] - node _T_341 = mux(_T_328, UInt<3>("h04"), _T_340) @[Mux.scala 98:16] - node _T_342 = mux(_T_325, UInt<2>("h03"), _T_341) @[Mux.scala 98:16] - node _T_343 = mux(_T_322, UInt<2>("h02"), _T_342) @[Mux.scala 98:16] - node _T_344 = mux(_T_319, UInt<1>("h01"), _T_343) @[Mux.scala 98:16] - node _T_345 = mux(_T_316, UInt<1>("h00"), _T_344) @[Mux.scala 98:16] - node _T_346 = dshr(buf_byteen, _T_345) @[axi4_to_ahb.scala 305:136] - node _T_347 = bits(_T_346, 0, 0) @[axi4_to_ahb.scala 305:136] - node _T_348 = eq(_T_347, UInt<1>("h00")) @[axi4_to_ahb.scala 305:205] - node _T_349 = or(_T_308, _T_348) @[axi4_to_ahb.scala 305:123] - node _T_350 = and(_T_307, _T_349) @[axi4_to_ahb.scala 305:87] - node _T_351 = or(ahb_hresp_q, _T_350) @[axi4_to_ahb.scala 305:32] - cmd_done <= _T_351 @[axi4_to_ahb.scala 305:16] - node _T_352 = and(buf_state_en, buf_write_in) @[axi4_to_ahb.scala 306:33] - node _T_353 = eq(buf_nxtstate, UInt<3>("h02")) @[axi4_to_ahb.scala 306:64] - node _T_354 = and(_T_352, _T_353) @[axi4_to_ahb.scala 306:48] - bypass_en <= _T_354 @[axi4_to_ahb.scala 306:17] - node _T_355 = or(cmd_done, cmd_doneQ) @[axi4_to_ahb.scala 307:44] - node _T_356 = eq(_T_355, UInt<1>("h00")) @[axi4_to_ahb.scala 307:33] - node _T_357 = or(_T_356, bypass_en) @[axi4_to_ahb.scala 307:57] - node _T_358 = bits(_T_357, 0, 0) @[Bitwise.scala 72:15] - node _T_359 = mux(_T_358, UInt<2>("h03"), UInt<2>("h00")) @[Bitwise.scala 72:12] - node _T_360 = and(_T_359, UInt<2>("h02")) @[axi4_to_ahb.scala 307:71] - io.ahb_htrans <= _T_360 @[axi4_to_ahb.scala 307:21] - node _T_361 = neq(buf_nxtstate, UInt<3>("h05")) @[axi4_to_ahb.scala 308:55] - node _T_362 = and(buf_state_en, _T_361) @[axi4_to_ahb.scala 308:39] - slave_valid_pre <= _T_362 @[axi4_to_ahb.scala 308:23] - node _T_363 = and(ahb_hready_q, ahb_hwrite_q) @[axi4_to_ahb.scala 309:33] - node _T_364 = bits(ahb_htrans_q, 1, 0) @[axi4_to_ahb.scala 309:63] - node _T_365 = neq(_T_364, UInt<2>("h00")) @[axi4_to_ahb.scala 309:70] - node _T_366 = and(_T_363, _T_365) @[axi4_to_ahb.scala 309:48] - trxn_done <= _T_366 @[axi4_to_ahb.scala 309:17] - node _T_367 = or(trxn_done, bypass_en) @[axi4_to_ahb.scala 310:40] - buf_cmd_byte_ptr_en <= _T_367 @[axi4_to_ahb.scala 310:27] - node _T_368 = bits(buf_byteen_in, 7, 0) @[axi4_to_ahb.scala 311:81] - node _T_369 = add(UInt<3>("h00"), UInt<1>("h01")) @[axi4_to_ahb.scala 174:52] - node _T_370 = tail(_T_369, 1) @[axi4_to_ahb.scala 174:52] - node _T_371 = mux(UInt<1>("h00"), _T_370, UInt<3>("h00")) @[axi4_to_ahb.scala 174:24] - node _T_372 = bits(_T_368, 0, 0) @[axi4_to_ahb.scala 175:44] - node _T_373 = geq(UInt<1>("h00"), _T_371) @[axi4_to_ahb.scala 175:62] + node _T_335 = mux(_T_313, UInt<1>("h00"), UInt<4>("h08")) @[Mux.scala 98:16] + node _T_336 = mux(_T_316, UInt<1>("h01"), _T_335) @[Mux.scala 98:16] + node _T_337 = mux(_T_319, UInt<2>("h02"), _T_336) @[Mux.scala 98:16] + node _T_338 = mux(_T_322, UInt<2>("h03"), _T_337) @[Mux.scala 98:16] + node _T_339 = mux(_T_325, UInt<3>("h04"), _T_338) @[Mux.scala 98:16] + node _T_340 = mux(_T_328, UInt<3>("h05"), _T_339) @[Mux.scala 98:16] + node _T_341 = mux(_T_331, UInt<3>("h06"), _T_340) @[Mux.scala 98:16] + node _T_342 = mux(_T_334, UInt<3>("h07"), _T_341) @[Mux.scala 98:16] + node _T_343 = dshr(buf_byteen, _T_342) @[axi4_to_ahb.scala 306:51] + node _T_344 = bits(_T_343, 0, 0) @[axi4_to_ahb.scala 306:51] + node _T_345 = eq(_T_344, UInt<1>("h00")) @[axi4_to_ahb.scala 306:116] + node _T_346 = or(_T_305, _T_345) @[axi4_to_ahb.scala 306:38] + node _T_347 = and(_T_304, _T_346) @[axi4_to_ahb.scala 305:80] + node _T_348 = or(ahb_hresp_q, _T_347) @[axi4_to_ahb.scala 305:34] + cmd_done <= _T_348 @[axi4_to_ahb.scala 305:16] + node _T_349 = and(buf_state_en, buf_write_in) @[axi4_to_ahb.scala 307:33] + node _T_350 = eq(buf_nxtstate, UInt<3>("h02")) @[axi4_to_ahb.scala 307:64] + node _T_351 = and(_T_349, _T_350) @[axi4_to_ahb.scala 307:48] + bypass_en <= _T_351 @[axi4_to_ahb.scala 307:17] + node _T_352 = or(cmd_done, cmd_doneQ) @[axi4_to_ahb.scala 308:44] + node _T_353 = eq(_T_352, UInt<1>("h00")) @[axi4_to_ahb.scala 308:33] + node _T_354 = or(_T_353, bypass_en) @[axi4_to_ahb.scala 308:57] + node _T_355 = bits(_T_354, 0, 0) @[Bitwise.scala 72:15] + node _T_356 = mux(_T_355, UInt<2>("h03"), UInt<2>("h00")) @[Bitwise.scala 72:12] + node _T_357 = and(_T_356, UInt<2>("h02")) @[axi4_to_ahb.scala 308:71] + io.ahb_htrans <= _T_357 @[axi4_to_ahb.scala 308:21] + node _T_358 = neq(buf_nxtstate, UInt<3>("h05")) @[axi4_to_ahb.scala 309:55] + node _T_359 = and(buf_state_en, _T_358) @[axi4_to_ahb.scala 309:39] + slave_valid_pre <= _T_359 @[axi4_to_ahb.scala 309:23] + node _T_360 = and(ahb_hready_q, ahb_hwrite_q) @[axi4_to_ahb.scala 310:33] + node _T_361 = bits(ahb_htrans_q, 1, 0) @[axi4_to_ahb.scala 310:63] + node _T_362 = neq(_T_361, UInt<1>("h00")) @[axi4_to_ahb.scala 310:69] + node _T_363 = and(_T_360, _T_362) @[axi4_to_ahb.scala 310:48] + trxn_done <= _T_363 @[axi4_to_ahb.scala 310:17] + node _T_364 = or(trxn_done, bypass_en) @[axi4_to_ahb.scala 311:40] + buf_cmd_byte_ptr_en <= _T_364 @[axi4_to_ahb.scala 311:27] + node _T_365 = bits(buf_byteen_in, 7, 0) @[axi4_to_ahb.scala 312:79] + node _T_366 = add(UInt<3>("h00"), UInt<1>("h01")) @[axi4_to_ahb.scala 174:52] + node _T_367 = tail(_T_366, 1) @[axi4_to_ahb.scala 174:52] + node _T_368 = mux(UInt<1>("h00"), _T_367, UInt<3>("h00")) @[axi4_to_ahb.scala 174:24] + node _T_369 = bits(_T_365, 0, 0) @[axi4_to_ahb.scala 175:44] + node _T_370 = geq(UInt<1>("h00"), _T_368) @[axi4_to_ahb.scala 175:62] + node _T_371 = and(_T_369, _T_370) @[axi4_to_ahb.scala 175:48] + node _T_372 = bits(_T_365, 1, 1) @[axi4_to_ahb.scala 175:44] + node _T_373 = geq(UInt<1>("h01"), _T_368) @[axi4_to_ahb.scala 175:62] node _T_374 = and(_T_372, _T_373) @[axi4_to_ahb.scala 175:48] - node _T_375 = bits(_T_368, 1, 1) @[axi4_to_ahb.scala 175:44] - node _T_376 = geq(UInt<1>("h01"), _T_371) @[axi4_to_ahb.scala 175:62] + node _T_375 = bits(_T_365, 2, 2) @[axi4_to_ahb.scala 175:44] + node _T_376 = geq(UInt<2>("h02"), _T_368) @[axi4_to_ahb.scala 175:62] node _T_377 = and(_T_375, _T_376) @[axi4_to_ahb.scala 175:48] - node _T_378 = bits(_T_368, 2, 2) @[axi4_to_ahb.scala 175:44] - node _T_379 = geq(UInt<2>("h02"), _T_371) @[axi4_to_ahb.scala 175:62] + node _T_378 = bits(_T_365, 3, 3) @[axi4_to_ahb.scala 175:44] + node _T_379 = geq(UInt<2>("h03"), _T_368) @[axi4_to_ahb.scala 175:62] node _T_380 = and(_T_378, _T_379) @[axi4_to_ahb.scala 175:48] - node _T_381 = bits(_T_368, 3, 3) @[axi4_to_ahb.scala 175:44] - node _T_382 = geq(UInt<2>("h03"), _T_371) @[axi4_to_ahb.scala 175:62] + node _T_381 = bits(_T_365, 4, 4) @[axi4_to_ahb.scala 175:44] + node _T_382 = geq(UInt<3>("h04"), _T_368) @[axi4_to_ahb.scala 175:62] node _T_383 = and(_T_381, _T_382) @[axi4_to_ahb.scala 175:48] - node _T_384 = bits(_T_368, 4, 4) @[axi4_to_ahb.scala 175:44] - node _T_385 = geq(UInt<3>("h04"), _T_371) @[axi4_to_ahb.scala 175:62] + node _T_384 = bits(_T_365, 5, 5) @[axi4_to_ahb.scala 175:44] + node _T_385 = geq(UInt<3>("h05"), _T_368) @[axi4_to_ahb.scala 175:62] node _T_386 = and(_T_384, _T_385) @[axi4_to_ahb.scala 175:48] - node _T_387 = bits(_T_368, 5, 5) @[axi4_to_ahb.scala 175:44] - node _T_388 = geq(UInt<3>("h05"), _T_371) @[axi4_to_ahb.scala 175:62] + node _T_387 = bits(_T_365, 6, 6) @[axi4_to_ahb.scala 175:44] + node _T_388 = geq(UInt<3>("h06"), _T_368) @[axi4_to_ahb.scala 175:62] node _T_389 = and(_T_387, _T_388) @[axi4_to_ahb.scala 175:48] - node _T_390 = bits(_T_368, 6, 6) @[axi4_to_ahb.scala 175:44] - node _T_391 = geq(UInt<3>("h06"), _T_371) @[axi4_to_ahb.scala 175:62] + node _T_390 = bits(_T_365, 7, 7) @[axi4_to_ahb.scala 175:44] + node _T_391 = geq(UInt<3>("h07"), _T_368) @[axi4_to_ahb.scala 175:62] node _T_392 = and(_T_390, _T_391) @[axi4_to_ahb.scala 175:48] - node _T_393 = bits(_T_368, 7, 7) @[axi4_to_ahb.scala 175:44] - node _T_394 = geq(UInt<3>("h07"), _T_371) @[axi4_to_ahb.scala 175:62] - node _T_395 = and(_T_393, _T_394) @[axi4_to_ahb.scala 175:48] - node _T_396 = mux(_T_395, UInt<3>("h07"), UInt<4>("h08")) @[Mux.scala 98:16] - node _T_397 = mux(_T_392, UInt<3>("h06"), _T_396) @[Mux.scala 98:16] - node _T_398 = mux(_T_389, UInt<3>("h05"), _T_397) @[Mux.scala 98:16] - node _T_399 = mux(_T_386, UInt<3>("h04"), _T_398) @[Mux.scala 98:16] - node _T_400 = mux(_T_383, UInt<2>("h03"), _T_399) @[Mux.scala 98:16] - node _T_401 = mux(_T_380, UInt<2>("h02"), _T_400) @[Mux.scala 98:16] - node _T_402 = mux(_T_377, UInt<1>("h01"), _T_401) @[Mux.scala 98:16] - node _T_403 = mux(_T_374, UInt<1>("h00"), _T_402) @[Mux.scala 98:16] - node _T_404 = bits(buf_cmd_byte_ptrQ, 2, 0) @[axi4_to_ahb.scala 311:147] - node _T_405 = bits(buf_byteen, 7, 0) @[axi4_to_ahb.scala 311:165] - node _T_406 = add(_T_404, UInt<1>("h01")) @[axi4_to_ahb.scala 174:52] - node _T_407 = tail(_T_406, 1) @[axi4_to_ahb.scala 174:52] - node _T_408 = mux(UInt<1>("h01"), _T_407, _T_404) @[axi4_to_ahb.scala 174:24] - node _T_409 = bits(_T_405, 0, 0) @[axi4_to_ahb.scala 175:44] - node _T_410 = geq(UInt<1>("h00"), _T_408) @[axi4_to_ahb.scala 175:62] + node _T_393 = mux(_T_371, UInt<1>("h00"), UInt<4>("h08")) @[Mux.scala 98:16] + node _T_394 = mux(_T_374, UInt<1>("h01"), _T_393) @[Mux.scala 98:16] + node _T_395 = mux(_T_377, UInt<2>("h02"), _T_394) @[Mux.scala 98:16] + node _T_396 = mux(_T_380, UInt<2>("h03"), _T_395) @[Mux.scala 98:16] + node _T_397 = mux(_T_383, UInt<3>("h04"), _T_396) @[Mux.scala 98:16] + node _T_398 = mux(_T_386, UInt<3>("h05"), _T_397) @[Mux.scala 98:16] + node _T_399 = mux(_T_389, UInt<3>("h06"), _T_398) @[Mux.scala 98:16] + node _T_400 = mux(_T_392, UInt<3>("h07"), _T_399) @[Mux.scala 98:16] + node _T_401 = bits(buf_cmd_byte_ptrQ, 2, 0) @[axi4_to_ahb.scala 312:141] + node _T_402 = bits(buf_byteen, 7, 0) @[axi4_to_ahb.scala 312:157] + node _T_403 = add(_T_401, UInt<1>("h01")) @[axi4_to_ahb.scala 174:52] + node _T_404 = tail(_T_403, 1) @[axi4_to_ahb.scala 174:52] + node _T_405 = mux(UInt<1>("h01"), _T_404, _T_401) @[axi4_to_ahb.scala 174:24] + node _T_406 = bits(_T_402, 0, 0) @[axi4_to_ahb.scala 175:44] + node _T_407 = geq(UInt<1>("h00"), _T_405) @[axi4_to_ahb.scala 175:62] + node _T_408 = and(_T_406, _T_407) @[axi4_to_ahb.scala 175:48] + node _T_409 = bits(_T_402, 1, 1) @[axi4_to_ahb.scala 175:44] + node _T_410 = geq(UInt<1>("h01"), _T_405) @[axi4_to_ahb.scala 175:62] node _T_411 = and(_T_409, _T_410) @[axi4_to_ahb.scala 175:48] - node _T_412 = bits(_T_405, 1, 1) @[axi4_to_ahb.scala 175:44] - node _T_413 = geq(UInt<1>("h01"), _T_408) @[axi4_to_ahb.scala 175:62] + node _T_412 = bits(_T_402, 2, 2) @[axi4_to_ahb.scala 175:44] + node _T_413 = geq(UInt<2>("h02"), _T_405) @[axi4_to_ahb.scala 175:62] node _T_414 = and(_T_412, _T_413) @[axi4_to_ahb.scala 175:48] - node _T_415 = bits(_T_405, 2, 2) @[axi4_to_ahb.scala 175:44] - node _T_416 = geq(UInt<2>("h02"), _T_408) @[axi4_to_ahb.scala 175:62] + node _T_415 = bits(_T_402, 3, 3) @[axi4_to_ahb.scala 175:44] + node _T_416 = geq(UInt<2>("h03"), _T_405) @[axi4_to_ahb.scala 175:62] node _T_417 = and(_T_415, _T_416) @[axi4_to_ahb.scala 175:48] - node _T_418 = bits(_T_405, 3, 3) @[axi4_to_ahb.scala 175:44] - node _T_419 = geq(UInt<2>("h03"), _T_408) @[axi4_to_ahb.scala 175:62] + node _T_418 = bits(_T_402, 4, 4) @[axi4_to_ahb.scala 175:44] + node _T_419 = geq(UInt<3>("h04"), _T_405) @[axi4_to_ahb.scala 175:62] node _T_420 = and(_T_418, _T_419) @[axi4_to_ahb.scala 175:48] - node _T_421 = bits(_T_405, 4, 4) @[axi4_to_ahb.scala 175:44] - node _T_422 = geq(UInt<3>("h04"), _T_408) @[axi4_to_ahb.scala 175:62] + node _T_421 = bits(_T_402, 5, 5) @[axi4_to_ahb.scala 175:44] + node _T_422 = geq(UInt<3>("h05"), _T_405) @[axi4_to_ahb.scala 175:62] node _T_423 = and(_T_421, _T_422) @[axi4_to_ahb.scala 175:48] - node _T_424 = bits(_T_405, 5, 5) @[axi4_to_ahb.scala 175:44] - node _T_425 = geq(UInt<3>("h05"), _T_408) @[axi4_to_ahb.scala 175:62] + node _T_424 = bits(_T_402, 6, 6) @[axi4_to_ahb.scala 175:44] + node _T_425 = geq(UInt<3>("h06"), _T_405) @[axi4_to_ahb.scala 175:62] node _T_426 = and(_T_424, _T_425) @[axi4_to_ahb.scala 175:48] - node _T_427 = bits(_T_405, 6, 6) @[axi4_to_ahb.scala 175:44] - node _T_428 = geq(UInt<3>("h06"), _T_408) @[axi4_to_ahb.scala 175:62] + node _T_427 = bits(_T_402, 7, 7) @[axi4_to_ahb.scala 175:44] + node _T_428 = geq(UInt<3>("h07"), _T_405) @[axi4_to_ahb.scala 175:62] node _T_429 = and(_T_427, _T_428) @[axi4_to_ahb.scala 175:48] - node _T_430 = bits(_T_405, 7, 7) @[axi4_to_ahb.scala 175:44] - node _T_431 = geq(UInt<3>("h07"), _T_408) @[axi4_to_ahb.scala 175:62] - node _T_432 = and(_T_430, _T_431) @[axi4_to_ahb.scala 175:48] - node _T_433 = mux(_T_432, UInt<3>("h07"), UInt<4>("h08")) @[Mux.scala 98:16] - node _T_434 = mux(_T_429, UInt<3>("h06"), _T_433) @[Mux.scala 98:16] - node _T_435 = mux(_T_426, UInt<3>("h05"), _T_434) @[Mux.scala 98:16] - node _T_436 = mux(_T_423, UInt<3>("h04"), _T_435) @[Mux.scala 98:16] - node _T_437 = mux(_T_420, UInt<2>("h03"), _T_436) @[Mux.scala 98:16] - node _T_438 = mux(_T_417, UInt<2>("h02"), _T_437) @[Mux.scala 98:16] - node _T_439 = mux(_T_414, UInt<1>("h01"), _T_438) @[Mux.scala 98:16] - node _T_440 = mux(_T_411, UInt<1>("h00"), _T_439) @[Mux.scala 98:16] - node _T_441 = mux(trxn_done, _T_440, buf_cmd_byte_ptrQ) @[axi4_to_ahb.scala 311:102] - node _T_442 = mux(bypass_en, _T_403, _T_441) @[axi4_to_ahb.scala 311:30] - buf_cmd_byte_ptr <= _T_442 @[axi4_to_ahb.scala 311:24] + node _T_430 = mux(_T_408, UInt<1>("h00"), UInt<4>("h08")) @[Mux.scala 98:16] + node _T_431 = mux(_T_411, UInt<1>("h01"), _T_430) @[Mux.scala 98:16] + node _T_432 = mux(_T_414, UInt<2>("h02"), _T_431) @[Mux.scala 98:16] + node _T_433 = mux(_T_417, UInt<2>("h03"), _T_432) @[Mux.scala 98:16] + node _T_434 = mux(_T_420, UInt<3>("h04"), _T_433) @[Mux.scala 98:16] + node _T_435 = mux(_T_423, UInt<3>("h05"), _T_434) @[Mux.scala 98:16] + node _T_436 = mux(_T_426, UInt<3>("h06"), _T_435) @[Mux.scala 98:16] + node _T_437 = mux(_T_429, UInt<3>("h07"), _T_436) @[Mux.scala 98:16] + node _T_438 = mux(trxn_done, _T_437, buf_cmd_byte_ptrQ) @[axi4_to_ahb.scala 312:97] + node _T_439 = mux(bypass_en, _T_400, _T_438) @[axi4_to_ahb.scala 312:30] + buf_cmd_byte_ptr <= _T_439 @[axi4_to_ahb.scala 312:24] skip @[Conditional.scala 39:67] else : @[Conditional.scala 39:67] - node _T_443 = eq(UInt<3>("h05"), buf_state) @[Conditional.scala 37:30] - when _T_443 : @[Conditional.scala 39:67] - buf_nxtstate <= UInt<3>("h00") @[axi4_to_ahb.scala 315:20] - buf_state_en <= slave_ready @[axi4_to_ahb.scala 316:20] - slvbuf_error_en <= UInt<1>("h01") @[axi4_to_ahb.scala 317:23] - slave_valid_pre <= UInt<1>("h01") @[axi4_to_ahb.scala 318:23] + node _T_440 = eq(UInt<3>("h05"), buf_state) @[Conditional.scala 37:30] + when _T_440 : @[Conditional.scala 39:67] + buf_nxtstate <= UInt<3>("h00") @[axi4_to_ahb.scala 334:20] + buf_state_en <= slave_ready @[axi4_to_ahb.scala 335:20] + slvbuf_error_en <= UInt<1>("h01") @[axi4_to_ahb.scala 336:23] + slave_valid_pre <= UInt<1>("h01") @[axi4_to_ahb.scala 337:23] skip @[Conditional.scala 39:67] - cmd_done_rst <= slave_valid_pre @[axi4_to_ahb.scala 322:16] - node _T_444 = bits(master_addr, 31, 3) @[axi4_to_ahb.scala 323:33] - node _T_445 = bits(master_opc, 2, 1) @[axi4_to_ahb.scala 323:73] - node _T_446 = eq(_T_445, UInt<1>("h01")) @[axi4_to_ahb.scala 323:80] - node _T_447 = and(buf_aligned_in, _T_446) @[axi4_to_ahb.scala 323:60] - node _T_448 = bits(_T_447, 0, 0) @[axi4_to_ahb.scala 323:100] - node _T_449 = bits(master_byteen, 7, 0) @[axi4_to_ahb.scala 323:132] - node _T_450 = bits(_T_449, 7, 0) @[axi4_to_ahb.scala 166:50] - node _T_451 = eq(_T_450, UInt<8>("h0ff")) @[axi4_to_ahb.scala 166:57] - node _T_452 = bits(_T_449, 7, 0) @[axi4_to_ahb.scala 166:81] - node _T_453 = eq(_T_452, UInt<8>("h0f")) @[axi4_to_ahb.scala 166:88] - node _T_454 = or(_T_451, _T_453) @[axi4_to_ahb.scala 166:70] - node _T_455 = bits(_T_449, 7, 0) @[axi4_to_ahb.scala 166:117] - node _T_456 = eq(_T_455, UInt<8>("h03")) @[axi4_to_ahb.scala 166:124] - node _T_457 = or(_T_454, _T_456) @[axi4_to_ahb.scala 166:106] - node _T_458 = bits(_T_457, 0, 0) @[Bitwise.scala 72:15] - node _T_459 = mux(_T_458, UInt<3>("h07"), UInt<3>("h00")) @[Bitwise.scala 72:12] - node _T_460 = and(UInt<3>("h00"), _T_459) @[axi4_to_ahb.scala 166:29] - node _T_461 = bits(_T_449, 7, 0) @[axi4_to_ahb.scala 167:35] - node _T_462 = eq(_T_461, UInt<8>("h0c")) @[axi4_to_ahb.scala 167:42] - node _T_463 = bits(_T_462, 0, 0) @[Bitwise.scala 72:15] - node _T_464 = mux(_T_463, UInt<3>("h07"), UInt<3>("h00")) @[Bitwise.scala 72:12] - node _T_465 = and(UInt<2>("h02"), _T_464) @[axi4_to_ahb.scala 167:15] - node _T_466 = or(_T_460, _T_465) @[axi4_to_ahb.scala 166:146] - node _T_467 = bits(_T_449, 7, 0) @[axi4_to_ahb.scala 168:36] - node _T_468 = eq(_T_467, UInt<8>("h0f0")) @[axi4_to_ahb.scala 168:43] - node _T_469 = bits(_T_449, 7, 0) @[axi4_to_ahb.scala 168:67] - node _T_470 = eq(_T_469, UInt<8>("h03")) @[axi4_to_ahb.scala 168:74] - node _T_471 = or(_T_468, _T_470) @[axi4_to_ahb.scala 168:56] - node _T_472 = bits(_T_471, 0, 0) @[Bitwise.scala 72:15] - node _T_473 = mux(_T_472, UInt<3>("h07"), UInt<3>("h00")) @[Bitwise.scala 72:12] - node _T_474 = and(UInt<3>("h04"), _T_473) @[axi4_to_ahb.scala 168:15] - node _T_475 = or(_T_466, _T_474) @[axi4_to_ahb.scala 167:63] - node _T_476 = bits(_T_449, 7, 0) @[axi4_to_ahb.scala 169:37] - node _T_477 = eq(_T_476, UInt<8>("h0c0")) @[axi4_to_ahb.scala 169:44] - node _T_478 = bits(_T_477, 0, 0) @[Bitwise.scala 72:15] - node _T_479 = mux(_T_478, UInt<3>("h07"), UInt<3>("h00")) @[Bitwise.scala 72:12] - node _T_480 = and(UInt<3>("h06"), _T_479) @[axi4_to_ahb.scala 169:17] - node _T_481 = or(_T_475, _T_480) @[axi4_to_ahb.scala 168:96] - node _T_482 = bits(_T_449, 7, 0) @[axi4_to_ahb.scala 170:37] - node _T_483 = eq(_T_482, UInt<8>("h0c0")) @[axi4_to_ahb.scala 170:44] - node _T_484 = bits(_T_483, 0, 0) @[Bitwise.scala 72:15] - node _T_485 = mux(_T_484, UInt<3>("h07"), UInt<3>("h00")) @[Bitwise.scala 72:12] - node _T_486 = and(UInt<3>("h06"), _T_485) @[axi4_to_ahb.scala 170:17] - node _T_487 = bits(master_addr, 2, 0) @[axi4_to_ahb.scala 323:152] - node _T_488 = mux(_T_448, _T_481, _T_487) @[axi4_to_ahb.scala 323:43] - node _T_489 = cat(_T_444, _T_488) @[Cat.scala 29:58] - buf_addr_in <= _T_489 @[axi4_to_ahb.scala 323:15] - node _T_490 = bits(master_tag, 0, 0) @[axi4_to_ahb.scala 324:27] - buf_tag_in <= _T_490 @[axi4_to_ahb.scala 324:14] - node _T_491 = bits(wrbuf_byteen, 7, 0) @[axi4_to_ahb.scala 325:32] - buf_byteen_in <= _T_491 @[axi4_to_ahb.scala 325:17] - node _T_492 = eq(buf_state, UInt<3>("h03")) @[axi4_to_ahb.scala 326:33] - node _T_493 = bits(ahb_hrdata_q, 63, 0) @[axi4_to_ahb.scala 326:59] - node _T_494 = bits(master_wdata, 63, 0) @[axi4_to_ahb.scala 326:80] - node _T_495 = mux(_T_492, _T_493, _T_494) @[axi4_to_ahb.scala 326:21] - buf_data_in <= _T_495 @[axi4_to_ahb.scala 326:15] - node _T_496 = bits(master_size, 1, 0) @[axi4_to_ahb.scala 327:52] - node _T_497 = eq(_T_496, UInt<2>("h03")) @[axi4_to_ahb.scala 327:58] - node _T_498 = and(buf_aligned_in, _T_497) @[axi4_to_ahb.scala 327:38] - node _T_499 = bits(master_opc, 2, 1) @[axi4_to_ahb.scala 327:84] - node _T_500 = eq(_T_499, UInt<1>("h01")) @[axi4_to_ahb.scala 327:91] - node _T_501 = and(_T_498, _T_500) @[axi4_to_ahb.scala 327:71] - node _T_502 = bits(_T_501, 0, 0) @[axi4_to_ahb.scala 327:111] - node _T_503 = bits(master_byteen, 7, 0) @[axi4_to_ahb.scala 327:142] - node _T_504 = bits(_T_503, 7, 0) @[axi4_to_ahb.scala 160:40] - node _T_505 = eq(_T_504, UInt<8>("h0ff")) @[axi4_to_ahb.scala 160:47] - node _T_506 = bits(_T_505, 0, 0) @[Bitwise.scala 72:15] - node _T_507 = mux(_T_506, UInt<2>("h03"), UInt<2>("h00")) @[Bitwise.scala 72:12] - node _T_508 = and(UInt<2>("h03"), _T_507) @[axi4_to_ahb.scala 160:23] - node _T_509 = bits(_T_503, 7, 0) @[axi4_to_ahb.scala 161:35] - node _T_510 = eq(_T_509, UInt<8>("h0f0")) @[axi4_to_ahb.scala 161:42] - node _T_511 = bits(_T_503, 7, 0) @[axi4_to_ahb.scala 161:64] - node _T_512 = eq(_T_511, UInt<8>("h0f")) @[axi4_to_ahb.scala 161:71] - node _T_513 = or(_T_510, _T_512) @[axi4_to_ahb.scala 161:55] - node _T_514 = bits(_T_513, 0, 0) @[Bitwise.scala 72:15] - node _T_515 = mux(_T_514, UInt<2>("h03"), UInt<2>("h00")) @[Bitwise.scala 72:12] - node _T_516 = and(UInt<2>("h02"), _T_515) @[axi4_to_ahb.scala 161:16] - node _T_517 = or(_T_508, _T_516) @[axi4_to_ahb.scala 160:62] - node _T_518 = bits(_T_503, 7, 0) @[axi4_to_ahb.scala 162:40] - node _T_519 = eq(_T_518, UInt<8>("h0c0")) @[axi4_to_ahb.scala 162:47] - node _T_520 = bits(_T_503, 7, 0) @[axi4_to_ahb.scala 162:69] - node _T_521 = eq(_T_520, UInt<6>("h030")) @[axi4_to_ahb.scala 162:76] - node _T_522 = or(_T_519, _T_521) @[axi4_to_ahb.scala 162:60] - node _T_523 = bits(_T_503, 7, 0) @[axi4_to_ahb.scala 162:98] - node _T_524 = eq(_T_523, UInt<8>("h0c")) @[axi4_to_ahb.scala 162:105] - node _T_525 = or(_T_522, _T_524) @[axi4_to_ahb.scala 162:89] - node _T_526 = bits(_T_503, 7, 0) @[axi4_to_ahb.scala 162:132] - node _T_527 = eq(_T_526, UInt<8>("h03")) @[axi4_to_ahb.scala 162:139] - node _T_528 = or(_T_525, _T_527) @[axi4_to_ahb.scala 162:123] - node _T_529 = bits(_T_528, 0, 0) @[Bitwise.scala 72:15] - node _T_530 = mux(_T_529, UInt<2>("h03"), UInt<2>("h00")) @[Bitwise.scala 72:12] - node _T_531 = and(UInt<2>("h01"), _T_530) @[axi4_to_ahb.scala 162:21] - node _T_532 = or(_T_517, _T_531) @[axi4_to_ahb.scala 161:93] - node _T_533 = bits(master_size, 1, 0) @[axi4_to_ahb.scala 327:161] - node _T_534 = mux(_T_502, _T_532, _T_533) @[axi4_to_ahb.scala 327:21] - buf_size_in <= _T_534 @[axi4_to_ahb.scala 327:15] - node _T_535 = bits(master_opc, 2, 0) @[axi4_to_ahb.scala 328:32] - node _T_536 = eq(_T_535, UInt<1>("h00")) @[axi4_to_ahb.scala 328:39] - node _T_537 = bits(master_size, 1, 0) @[axi4_to_ahb.scala 329:17] - node _T_538 = eq(_T_537, UInt<1>("h00")) @[axi4_to_ahb.scala 329:24] - node _T_539 = or(_T_536, _T_538) @[axi4_to_ahb.scala 328:48] - node _T_540 = bits(master_size, 1, 0) @[axi4_to_ahb.scala 329:47] - node _T_541 = eq(_T_540, UInt<2>("h01")) @[axi4_to_ahb.scala 329:54] - node _T_542 = or(_T_539, _T_541) @[axi4_to_ahb.scala 329:33] - node _T_543 = bits(master_size, 1, 0) @[axi4_to_ahb.scala 329:86] - node _T_544 = eq(_T_543, UInt<2>("h02")) @[axi4_to_ahb.scala 329:93] - node _T_545 = or(_T_542, _T_544) @[axi4_to_ahb.scala 329:72] - node _T_546 = bits(master_size, 1, 0) @[axi4_to_ahb.scala 330:18] - node _T_547 = eq(_T_546, UInt<2>("h03")) @[axi4_to_ahb.scala 330:25] - node _T_548 = bits(master_byteen, 7, 0) @[axi4_to_ahb.scala 330:55] - node _T_549 = eq(_T_548, UInt<2>("h03")) @[axi4_to_ahb.scala 330:62] - node _T_550 = bits(master_byteen, 7, 0) @[axi4_to_ahb.scala 330:90] - node _T_551 = eq(_T_550, UInt<4>("h0c")) @[axi4_to_ahb.scala 330:97] - node _T_552 = or(_T_549, _T_551) @[axi4_to_ahb.scala 330:74] - node _T_553 = bits(master_byteen, 7, 0) @[axi4_to_ahb.scala 330:125] - node _T_554 = eq(_T_553, UInt<6>("h030")) @[axi4_to_ahb.scala 330:132] - node _T_555 = or(_T_552, _T_554) @[axi4_to_ahb.scala 330:109] - node _T_556 = bits(master_byteen, 7, 0) @[axi4_to_ahb.scala 330:161] - node _T_557 = eq(_T_556, UInt<8>("h0c0")) @[axi4_to_ahb.scala 330:168] - node _T_558 = or(_T_555, _T_557) @[axi4_to_ahb.scala 330:145] - node _T_559 = bits(master_byteen, 7, 0) @[axi4_to_ahb.scala 331:21] - node _T_560 = eq(_T_559, UInt<4>("h0f")) @[axi4_to_ahb.scala 331:28] - node _T_561 = or(_T_558, _T_560) @[axi4_to_ahb.scala 330:181] - node _T_562 = bits(master_byteen, 7, 0) @[axi4_to_ahb.scala 331:56] - node _T_563 = eq(_T_562, UInt<8>("h0f0")) @[axi4_to_ahb.scala 331:63] - node _T_564 = or(_T_561, _T_563) @[axi4_to_ahb.scala 331:40] - node _T_565 = bits(master_byteen, 7, 0) @[axi4_to_ahb.scala 331:92] - node _T_566 = eq(_T_565, UInt<8>("h0ff")) @[axi4_to_ahb.scala 331:99] - node _T_567 = or(_T_564, _T_566) @[axi4_to_ahb.scala 331:76] - node _T_568 = and(_T_547, _T_567) @[axi4_to_ahb.scala 330:38] - node _T_569 = or(_T_545, _T_568) @[axi4_to_ahb.scala 329:106] - buf_aligned_in <= _T_569 @[axi4_to_ahb.scala 328:18] - node _T_570 = bits(bypass_en, 0, 0) @[axi4_to_ahb.scala 333:39] - node _T_571 = bits(master_addr, 31, 3) @[axi4_to_ahb.scala 333:58] - node _T_572 = bits(buf_cmd_byte_ptr, 2, 0) @[axi4_to_ahb.scala 333:83] + cmd_done_rst <= slave_valid_pre @[axi4_to_ahb.scala 341:16] + node _T_441 = bits(master_addr, 31, 3) @[axi4_to_ahb.scala 342:33] + node _T_442 = bits(master_opc, 2, 1) @[axi4_to_ahb.scala 342:73] + node _T_443 = eq(_T_442, UInt<1>("h01")) @[axi4_to_ahb.scala 342:80] + node _T_444 = and(buf_aligned_in, _T_443) @[axi4_to_ahb.scala 342:60] + node _T_445 = bits(_T_444, 0, 0) @[axi4_to_ahb.scala 342:100] + node _T_446 = bits(master_byteen, 7, 0) @[axi4_to_ahb.scala 342:132] + node _T_447 = bits(_T_446, 7, 0) @[axi4_to_ahb.scala 166:50] + node _T_448 = eq(_T_447, UInt<8>("h0ff")) @[axi4_to_ahb.scala 166:57] + node _T_449 = bits(_T_446, 7, 0) @[axi4_to_ahb.scala 166:81] + node _T_450 = eq(_T_449, UInt<8>("h0f")) @[axi4_to_ahb.scala 166:88] + node _T_451 = or(_T_448, _T_450) @[axi4_to_ahb.scala 166:70] + node _T_452 = bits(_T_446, 7, 0) @[axi4_to_ahb.scala 166:117] + node _T_453 = eq(_T_452, UInt<8>("h03")) @[axi4_to_ahb.scala 166:124] + node _T_454 = or(_T_451, _T_453) @[axi4_to_ahb.scala 166:106] + node _T_455 = bits(_T_454, 0, 0) @[Bitwise.scala 72:15] + node _T_456 = mux(_T_455, UInt<3>("h07"), UInt<3>("h00")) @[Bitwise.scala 72:12] + node _T_457 = and(UInt<3>("h00"), _T_456) @[axi4_to_ahb.scala 166:29] + node _T_458 = bits(_T_446, 7, 0) @[axi4_to_ahb.scala 167:35] + node _T_459 = eq(_T_458, UInt<8>("h0c")) @[axi4_to_ahb.scala 167:42] + node _T_460 = bits(_T_459, 0, 0) @[Bitwise.scala 72:15] + node _T_461 = mux(_T_460, UInt<3>("h07"), UInt<3>("h00")) @[Bitwise.scala 72:12] + node _T_462 = and(UInt<2>("h02"), _T_461) @[axi4_to_ahb.scala 167:15] + node _T_463 = or(_T_457, _T_462) @[axi4_to_ahb.scala 166:146] + node _T_464 = bits(_T_446, 7, 0) @[axi4_to_ahb.scala 168:36] + node _T_465 = eq(_T_464, UInt<8>("h0f0")) @[axi4_to_ahb.scala 168:43] + node _T_466 = bits(_T_446, 7, 0) @[axi4_to_ahb.scala 168:67] + node _T_467 = eq(_T_466, UInt<8>("h03")) @[axi4_to_ahb.scala 168:74] + node _T_468 = or(_T_465, _T_467) @[axi4_to_ahb.scala 168:56] + node _T_469 = bits(_T_468, 0, 0) @[Bitwise.scala 72:15] + node _T_470 = mux(_T_469, UInt<3>("h07"), UInt<3>("h00")) @[Bitwise.scala 72:12] + node _T_471 = and(UInt<3>("h04"), _T_470) @[axi4_to_ahb.scala 168:15] + node _T_472 = or(_T_463, _T_471) @[axi4_to_ahb.scala 167:63] + node _T_473 = bits(_T_446, 7, 0) @[axi4_to_ahb.scala 169:37] + node _T_474 = eq(_T_473, UInt<8>("h0c0")) @[axi4_to_ahb.scala 169:44] + node _T_475 = bits(_T_474, 0, 0) @[Bitwise.scala 72:15] + node _T_476 = mux(_T_475, UInt<3>("h07"), UInt<3>("h00")) @[Bitwise.scala 72:12] + node _T_477 = and(UInt<3>("h06"), _T_476) @[axi4_to_ahb.scala 169:17] + node _T_478 = or(_T_472, _T_477) @[axi4_to_ahb.scala 168:96] + node _T_479 = bits(_T_446, 7, 0) @[axi4_to_ahb.scala 170:37] + node _T_480 = eq(_T_479, UInt<8>("h0c0")) @[axi4_to_ahb.scala 170:44] + node _T_481 = bits(_T_480, 0, 0) @[Bitwise.scala 72:15] + node _T_482 = mux(_T_481, UInt<3>("h07"), UInt<3>("h00")) @[Bitwise.scala 72:12] + node _T_483 = and(UInt<3>("h06"), _T_482) @[axi4_to_ahb.scala 170:17] + node _T_484 = bits(master_addr, 2, 0) @[axi4_to_ahb.scala 342:152] + node _T_485 = mux(_T_445, _T_478, _T_484) @[axi4_to_ahb.scala 342:43] + node _T_486 = cat(_T_441, _T_485) @[Cat.scala 29:58] + buf_addr_in <= _T_486 @[axi4_to_ahb.scala 342:15] + node _T_487 = bits(master_tag, 0, 0) @[axi4_to_ahb.scala 343:27] + buf_tag_in <= _T_487 @[axi4_to_ahb.scala 343:14] + node _T_488 = bits(wrbuf_byteen, 7, 0) @[axi4_to_ahb.scala 344:32] + buf_byteen_in <= _T_488 @[axi4_to_ahb.scala 344:17] + node _T_489 = eq(buf_state, UInt<3>("h03")) @[axi4_to_ahb.scala 345:33] + node _T_490 = bits(ahb_hrdata_q, 63, 0) @[axi4_to_ahb.scala 345:59] + node _T_491 = bits(master_wdata, 63, 0) @[axi4_to_ahb.scala 345:80] + node _T_492 = mux(_T_489, _T_490, _T_491) @[axi4_to_ahb.scala 345:21] + buf_data_in <= _T_492 @[axi4_to_ahb.scala 345:15] + node _T_493 = bits(master_size, 1, 0) @[axi4_to_ahb.scala 346:52] + node _T_494 = eq(_T_493, UInt<2>("h03")) @[axi4_to_ahb.scala 346:58] + node _T_495 = and(buf_aligned_in, _T_494) @[axi4_to_ahb.scala 346:38] + node _T_496 = bits(master_opc, 2, 1) @[axi4_to_ahb.scala 346:84] + node _T_497 = eq(_T_496, UInt<1>("h01")) @[axi4_to_ahb.scala 346:91] + node _T_498 = and(_T_495, _T_497) @[axi4_to_ahb.scala 346:71] + node _T_499 = bits(_T_498, 0, 0) @[axi4_to_ahb.scala 346:111] + node _T_500 = bits(master_byteen, 7, 0) @[axi4_to_ahb.scala 346:142] + node _T_501 = bits(_T_500, 7, 0) @[axi4_to_ahb.scala 160:40] + node _T_502 = eq(_T_501, UInt<8>("h0ff")) @[axi4_to_ahb.scala 160:47] + node _T_503 = bits(_T_502, 0, 0) @[Bitwise.scala 72:15] + node _T_504 = mux(_T_503, UInt<2>("h03"), UInt<2>("h00")) @[Bitwise.scala 72:12] + node _T_505 = and(UInt<2>("h03"), _T_504) @[axi4_to_ahb.scala 160:23] + node _T_506 = bits(_T_500, 7, 0) @[axi4_to_ahb.scala 161:35] + node _T_507 = eq(_T_506, UInt<8>("h0f0")) @[axi4_to_ahb.scala 161:42] + node _T_508 = bits(_T_500, 7, 0) @[axi4_to_ahb.scala 161:64] + node _T_509 = eq(_T_508, UInt<8>("h0f")) @[axi4_to_ahb.scala 161:71] + node _T_510 = or(_T_507, _T_509) @[axi4_to_ahb.scala 161:55] + node _T_511 = bits(_T_510, 0, 0) @[Bitwise.scala 72:15] + node _T_512 = mux(_T_511, UInt<2>("h03"), UInt<2>("h00")) @[Bitwise.scala 72:12] + node _T_513 = and(UInt<2>("h02"), _T_512) @[axi4_to_ahb.scala 161:16] + node _T_514 = or(_T_505, _T_513) @[axi4_to_ahb.scala 160:62] + node _T_515 = bits(_T_500, 7, 0) @[axi4_to_ahb.scala 162:40] + node _T_516 = eq(_T_515, UInt<8>("h0c0")) @[axi4_to_ahb.scala 162:47] + node _T_517 = bits(_T_500, 7, 0) @[axi4_to_ahb.scala 162:69] + node _T_518 = eq(_T_517, UInt<6>("h030")) @[axi4_to_ahb.scala 162:76] + node _T_519 = or(_T_516, _T_518) @[axi4_to_ahb.scala 162:60] + node _T_520 = bits(_T_500, 7, 0) @[axi4_to_ahb.scala 162:98] + node _T_521 = eq(_T_520, UInt<8>("h0c")) @[axi4_to_ahb.scala 162:105] + node _T_522 = or(_T_519, _T_521) @[axi4_to_ahb.scala 162:89] + node _T_523 = bits(_T_500, 7, 0) @[axi4_to_ahb.scala 162:132] + node _T_524 = eq(_T_523, UInt<8>("h03")) @[axi4_to_ahb.scala 162:139] + node _T_525 = or(_T_522, _T_524) @[axi4_to_ahb.scala 162:123] + node _T_526 = bits(_T_525, 0, 0) @[Bitwise.scala 72:15] + node _T_527 = mux(_T_526, UInt<2>("h03"), UInt<2>("h00")) @[Bitwise.scala 72:12] + node _T_528 = and(UInt<2>("h01"), _T_527) @[axi4_to_ahb.scala 162:21] + node _T_529 = or(_T_514, _T_528) @[axi4_to_ahb.scala 161:93] + node _T_530 = bits(master_size, 1, 0) @[axi4_to_ahb.scala 346:161] + node _T_531 = mux(_T_499, _T_529, _T_530) @[axi4_to_ahb.scala 346:21] + buf_size_in <= _T_531 @[axi4_to_ahb.scala 346:15] + node _T_532 = bits(master_opc, 2, 0) @[axi4_to_ahb.scala 347:32] + node _T_533 = eq(_T_532, UInt<1>("h00")) @[axi4_to_ahb.scala 347:39] + node _T_534 = bits(master_size, 1, 0) @[axi4_to_ahb.scala 348:17] + node _T_535 = eq(_T_534, UInt<1>("h00")) @[axi4_to_ahb.scala 348:24] + node _T_536 = or(_T_533, _T_535) @[axi4_to_ahb.scala 347:48] + node _T_537 = bits(master_size, 1, 0) @[axi4_to_ahb.scala 348:47] + node _T_538 = eq(_T_537, UInt<2>("h01")) @[axi4_to_ahb.scala 348:54] + node _T_539 = or(_T_536, _T_538) @[axi4_to_ahb.scala 348:33] + node _T_540 = bits(master_size, 1, 0) @[axi4_to_ahb.scala 348:86] + node _T_541 = eq(_T_540, UInt<2>("h02")) @[axi4_to_ahb.scala 348:93] + node _T_542 = or(_T_539, _T_541) @[axi4_to_ahb.scala 348:72] + node _T_543 = bits(master_size, 1, 0) @[axi4_to_ahb.scala 349:18] + node _T_544 = eq(_T_543, UInt<2>("h03")) @[axi4_to_ahb.scala 349:25] + node _T_545 = bits(master_byteen, 7, 0) @[axi4_to_ahb.scala 349:55] + node _T_546 = eq(_T_545, UInt<2>("h03")) @[axi4_to_ahb.scala 349:62] + node _T_547 = bits(master_byteen, 7, 0) @[axi4_to_ahb.scala 349:90] + node _T_548 = eq(_T_547, UInt<4>("h0c")) @[axi4_to_ahb.scala 349:97] + node _T_549 = or(_T_546, _T_548) @[axi4_to_ahb.scala 349:74] + node _T_550 = bits(master_byteen, 7, 0) @[axi4_to_ahb.scala 349:125] + node _T_551 = eq(_T_550, UInt<6>("h030")) @[axi4_to_ahb.scala 349:132] + node _T_552 = or(_T_549, _T_551) @[axi4_to_ahb.scala 349:109] + node _T_553 = bits(master_byteen, 7, 0) @[axi4_to_ahb.scala 349:161] + node _T_554 = eq(_T_553, UInt<8>("h0c0")) @[axi4_to_ahb.scala 349:168] + node _T_555 = or(_T_552, _T_554) @[axi4_to_ahb.scala 349:145] + node _T_556 = bits(master_byteen, 7, 0) @[axi4_to_ahb.scala 350:21] + node _T_557 = eq(_T_556, UInt<4>("h0f")) @[axi4_to_ahb.scala 350:28] + node _T_558 = or(_T_555, _T_557) @[axi4_to_ahb.scala 349:181] + node _T_559 = bits(master_byteen, 7, 0) @[axi4_to_ahb.scala 350:56] + node _T_560 = eq(_T_559, UInt<8>("h0f0")) @[axi4_to_ahb.scala 350:63] + node _T_561 = or(_T_558, _T_560) @[axi4_to_ahb.scala 350:40] + node _T_562 = bits(master_byteen, 7, 0) @[axi4_to_ahb.scala 350:92] + node _T_563 = eq(_T_562, UInt<8>("h0ff")) @[axi4_to_ahb.scala 350:99] + node _T_564 = or(_T_561, _T_563) @[axi4_to_ahb.scala 350:76] + node _T_565 = and(_T_544, _T_564) @[axi4_to_ahb.scala 349:38] + node _T_566 = or(_T_542, _T_565) @[axi4_to_ahb.scala 348:106] + buf_aligned_in <= _T_566 @[axi4_to_ahb.scala 347:18] + node _T_567 = bits(bypass_en, 0, 0) @[axi4_to_ahb.scala 352:39] + node _T_568 = bits(master_addr, 31, 3) @[axi4_to_ahb.scala 352:58] + node _T_569 = bits(buf_cmd_byte_ptr, 2, 0) @[axi4_to_ahb.scala 352:83] + node _T_570 = cat(_T_568, _T_569) @[Cat.scala 29:58] + node _T_571 = bits(buf_addr, 31, 3) @[axi4_to_ahb.scala 352:104] + node _T_572 = bits(buf_cmd_byte_ptr, 2, 0) @[axi4_to_ahb.scala 352:129] node _T_573 = cat(_T_571, _T_572) @[Cat.scala 29:58] - node _T_574 = bits(buf_addr, 31, 3) @[axi4_to_ahb.scala 333:104] - node _T_575 = bits(buf_cmd_byte_ptr, 2, 0) @[axi4_to_ahb.scala 333:129] - node _T_576 = cat(_T_574, _T_575) @[Cat.scala 29:58] - node _T_577 = mux(_T_570, _T_573, _T_576) @[axi4_to_ahb.scala 333:22] - io.ahb_haddr <= _T_577 @[axi4_to_ahb.scala 333:16] - node _T_578 = bits(bypass_en, 0, 0) @[axi4_to_ahb.scala 334:39] - node _T_579 = bits(buf_aligned_in, 0, 0) @[Bitwise.scala 72:15] - node _T_580 = mux(_T_579, UInt<2>("h03"), UInt<2>("h00")) @[Bitwise.scala 72:12] - node _T_581 = bits(buf_size_in, 1, 0) @[axi4_to_ahb.scala 334:90] - node _T_582 = and(_T_580, _T_581) @[axi4_to_ahb.scala 334:77] - node _T_583 = cat(UInt<1>("h00"), _T_582) @[Cat.scala 29:58] - node _T_584 = bits(buf_aligned, 0, 0) @[Bitwise.scala 72:15] - node _T_585 = mux(_T_584, UInt<2>("h03"), UInt<2>("h00")) @[Bitwise.scala 72:12] - node _T_586 = bits(buf_size, 1, 0) @[axi4_to_ahb.scala 334:144] - node _T_587 = and(_T_585, _T_586) @[axi4_to_ahb.scala 334:134] - node _T_588 = cat(UInt<1>("h00"), _T_587) @[Cat.scala 29:58] - node _T_589 = mux(_T_578, _T_583, _T_588) @[axi4_to_ahb.scala 334:22] - io.ahb_hsize <= _T_589 @[axi4_to_ahb.scala 334:16] - io.ahb_hburst <= UInt<1>("h00") @[axi4_to_ahb.scala 336:17] - io.ahb_hmastlock <= UInt<1>("h00") @[axi4_to_ahb.scala 337:20] - node _T_590 = bits(io.axi_arprot, 2, 2) @[axi4_to_ahb.scala 338:47] - node _T_591 = not(_T_590) @[axi4_to_ahb.scala 338:33] - node _T_592 = cat(UInt<1>("h01"), _T_591) @[Cat.scala 29:58] - io.ahb_hprot <= _T_592 @[axi4_to_ahb.scala 338:16] - node _T_593 = bits(bypass_en, 0, 0) @[axi4_to_ahb.scala 339:40] - node _T_594 = bits(master_opc, 2, 1) @[axi4_to_ahb.scala 339:55] - node _T_595 = eq(_T_594, UInt<1>("h01")) @[axi4_to_ahb.scala 339:62] - node _T_596 = mux(_T_593, _T_595, buf_write) @[axi4_to_ahb.scala 339:23] - io.ahb_hwrite <= _T_596 @[axi4_to_ahb.scala 339:17] - node _T_597 = bits(buf_data, 63, 0) @[axi4_to_ahb.scala 340:28] - io.ahb_hwdata <= _T_597 @[axi4_to_ahb.scala 340:17] - slave_valid <= slave_valid_pre @[axi4_to_ahb.scala 342:15] - node _T_598 = bits(slvbuf_write, 0, 0) @[axi4_to_ahb.scala 343:43] - node _T_599 = mux(_T_598, UInt<2>("h03"), UInt<1>("h00")) @[axi4_to_ahb.scala 343:23] - node _T_600 = bits(slvbuf_error, 0, 0) @[Bitwise.scala 72:15] - node _T_601 = mux(_T_600, UInt<2>("h03"), UInt<2>("h00")) @[Bitwise.scala 72:12] - node _T_602 = and(_T_601, UInt<2>("h02")) @[axi4_to_ahb.scala 343:88] - node _T_603 = cat(_T_599, _T_602) @[Cat.scala 29:58] - slave_opc <= _T_603 @[axi4_to_ahb.scala 343:13] - node _T_604 = bits(slvbuf_error, 0, 0) @[axi4_to_ahb.scala 344:41] - node _T_605 = bits(last_bus_addr, 31, 0) @[axi4_to_ahb.scala 344:66] - node _T_606 = cat(_T_605, _T_605) @[Cat.scala 29:58] - node _T_607 = eq(buf_state, UInt<3>("h05")) @[axi4_to_ahb.scala 344:91] - node _T_608 = bits(buf_data, 63, 0) @[axi4_to_ahb.scala 344:110] - node _T_609 = bits(ahb_hrdata_q, 63, 0) @[axi4_to_ahb.scala 344:131] - node _T_610 = mux(_T_607, _T_608, _T_609) @[axi4_to_ahb.scala 344:79] - node _T_611 = mux(_T_604, _T_606, _T_610) @[axi4_to_ahb.scala 344:21] - slave_rdata <= _T_611 @[axi4_to_ahb.scala 344:15] - node _T_612 = bits(slvbuf_tag, 0, 0) @[axi4_to_ahb.scala 345:26] - slave_tag <= _T_612 @[axi4_to_ahb.scala 345:13] - node _T_613 = bits(io.ahb_htrans, 1, 0) @[axi4_to_ahb.scala 347:33] - node _T_614 = neq(_T_613, UInt<1>("h00")) @[axi4_to_ahb.scala 347:40] - node _T_615 = and(_T_614, io.ahb_hready) @[axi4_to_ahb.scala 347:52] - node _T_616 = and(_T_615, io.ahb_hwrite) @[axi4_to_ahb.scala 347:68] - last_addr_en <= _T_616 @[axi4_to_ahb.scala 347:16] - node _T_617 = and(io.axi_awvalid, io.axi_awready) @[axi4_to_ahb.scala 349:30] - node _T_618 = and(_T_617, master_ready) @[axi4_to_ahb.scala 349:47] - wrbuf_en <= _T_618 @[axi4_to_ahb.scala 349:12] - node _T_619 = and(io.axi_wvalid, io.axi_wready) @[axi4_to_ahb.scala 350:34] - node _T_620 = and(_T_619, master_ready) @[axi4_to_ahb.scala 350:50] - wrbuf_data_en <= _T_620 @[axi4_to_ahb.scala 350:17] - node _T_621 = and(master_valid, master_ready) @[axi4_to_ahb.scala 351:34] - node _T_622 = bits(master_opc, 2, 1) @[axi4_to_ahb.scala 351:62] - node _T_623 = eq(_T_622, UInt<1>("h01")) @[axi4_to_ahb.scala 351:69] - node _T_624 = and(_T_621, _T_623) @[axi4_to_ahb.scala 351:49] - wrbuf_cmd_sent <= _T_624 @[axi4_to_ahb.scala 351:18] - node _T_625 = eq(wrbuf_en, UInt<1>("h00")) @[axi4_to_ahb.scala 352:33] - node _T_626 = and(wrbuf_cmd_sent, _T_625) @[axi4_to_ahb.scala 352:31] - wrbuf_rst <= _T_626 @[axi4_to_ahb.scala 352:13] - node _T_627 = eq(wrbuf_cmd_sent, UInt<1>("h00")) @[axi4_to_ahb.scala 354:35] - node _T_628 = and(wrbuf_vld, _T_627) @[axi4_to_ahb.scala 354:33] - node _T_629 = eq(_T_628, UInt<1>("h00")) @[axi4_to_ahb.scala 354:21] - node _T_630 = and(_T_629, master_ready) @[axi4_to_ahb.scala 354:52] - io.axi_awready <= _T_630 @[axi4_to_ahb.scala 354:18] - node _T_631 = eq(wrbuf_cmd_sent, UInt<1>("h00")) @[axi4_to_ahb.scala 355:39] - node _T_632 = and(wrbuf_data_vld, _T_631) @[axi4_to_ahb.scala 355:37] - node _T_633 = eq(_T_632, UInt<1>("h00")) @[axi4_to_ahb.scala 355:20] - node _T_634 = and(_T_633, master_ready) @[axi4_to_ahb.scala 355:56] - io.axi_wready <= _T_634 @[axi4_to_ahb.scala 355:17] - node _T_635 = and(wrbuf_vld, wrbuf_data_vld) @[axi4_to_ahb.scala 356:33] - node _T_636 = eq(_T_635, UInt<1>("h00")) @[axi4_to_ahb.scala 356:21] - node _T_637 = and(_T_636, master_ready) @[axi4_to_ahb.scala 356:51] - io.axi_arready <= _T_637 @[axi4_to_ahb.scala 356:18] - io.axi_rlast <= UInt<1>("h01") @[axi4_to_ahb.scala 357:16] - node _T_638 = bits(wrbuf_en, 0, 0) @[axi4_to_ahb.scala 359:71] - node _T_639 = mux(_T_638, UInt<1>("h01"), wrbuf_vld) @[axi4_to_ahb.scala 359:55] - node _T_640 = eq(wrbuf_rst, UInt<1>("h00")) @[axi4_to_ahb.scala 359:91] - node _T_641 = and(_T_639, _T_640) @[axi4_to_ahb.scala 359:89] - reg _T_642 : UInt, bus_clk with : (reset => (reset, UInt<1>("h00"))) @[axi4_to_ahb.scala 359:51] - _T_642 <= _T_641 @[axi4_to_ahb.scala 359:51] - wrbuf_vld <= _T_642 @[axi4_to_ahb.scala 359:21] - node _T_643 = bits(wrbuf_data_en, 0, 0) @[axi4_to_ahb.scala 360:76] - node _T_644 = mux(_T_643, UInt<1>("h01"), wrbuf_data_vld) @[axi4_to_ahb.scala 360:55] - node _T_645 = eq(wrbuf_rst, UInt<1>("h00")) @[axi4_to_ahb.scala 360:102] - node _T_646 = and(_T_644, _T_645) @[axi4_to_ahb.scala 360:100] - reg _T_647 : UInt, bus_clk with : (reset => (reset, UInt<1>("h00"))) @[axi4_to_ahb.scala 360:51] - _T_647 <= _T_646 @[axi4_to_ahb.scala 360:51] - wrbuf_data_vld <= _T_647 @[axi4_to_ahb.scala 360:21] - node _T_648 = bits(io.axi_awid, 0, 0) @[axi4_to_ahb.scala 361:65] - node _T_649 = bits(wrbuf_en, 0, 0) @[axi4_to_ahb.scala 361:99] + node _T_574 = mux(_T_567, _T_570, _T_573) @[axi4_to_ahb.scala 352:22] + io.ahb_haddr <= _T_574 @[axi4_to_ahb.scala 352:16] + node _T_575 = bits(bypass_en, 0, 0) @[axi4_to_ahb.scala 353:39] + node _T_576 = bits(buf_aligned_in, 0, 0) @[Bitwise.scala 72:15] + node _T_577 = mux(_T_576, UInt<2>("h03"), UInt<2>("h00")) @[Bitwise.scala 72:12] + node _T_578 = bits(buf_size_in, 1, 0) @[axi4_to_ahb.scala 353:90] + node _T_579 = and(_T_577, _T_578) @[axi4_to_ahb.scala 353:77] + node _T_580 = cat(UInt<1>("h00"), _T_579) @[Cat.scala 29:58] + node _T_581 = bits(buf_aligned, 0, 0) @[Bitwise.scala 72:15] + node _T_582 = mux(_T_581, UInt<2>("h03"), UInt<2>("h00")) @[Bitwise.scala 72:12] + node _T_583 = bits(buf_size, 1, 0) @[axi4_to_ahb.scala 353:144] + node _T_584 = and(_T_582, _T_583) @[axi4_to_ahb.scala 353:134] + node _T_585 = cat(UInt<1>("h00"), _T_584) @[Cat.scala 29:58] + node _T_586 = mux(_T_575, _T_580, _T_585) @[axi4_to_ahb.scala 353:22] + io.ahb_hsize <= _T_586 @[axi4_to_ahb.scala 353:16] + io.ahb_hburst <= UInt<1>("h00") @[axi4_to_ahb.scala 355:17] + io.ahb_hmastlock <= UInt<1>("h00") @[axi4_to_ahb.scala 356:20] + node _T_587 = bits(io.axi_arprot, 2, 2) @[axi4_to_ahb.scala 357:47] + node _T_588 = not(_T_587) @[axi4_to_ahb.scala 357:33] + node _T_589 = cat(UInt<1>("h01"), _T_588) @[Cat.scala 29:58] + io.ahb_hprot <= _T_589 @[axi4_to_ahb.scala 357:16] + node _T_590 = bits(bypass_en, 0, 0) @[axi4_to_ahb.scala 358:40] + node _T_591 = bits(master_opc, 2, 1) @[axi4_to_ahb.scala 358:55] + node _T_592 = eq(_T_591, UInt<1>("h01")) @[axi4_to_ahb.scala 358:62] + node _T_593 = mux(_T_590, _T_592, buf_write) @[axi4_to_ahb.scala 358:23] + io.ahb_hwrite <= _T_593 @[axi4_to_ahb.scala 358:17] + node _T_594 = bits(buf_data, 63, 0) @[axi4_to_ahb.scala 359:28] + io.ahb_hwdata <= _T_594 @[axi4_to_ahb.scala 359:17] + slave_valid <= slave_valid_pre @[axi4_to_ahb.scala 361:15] + node _T_595 = bits(slvbuf_write, 0, 0) @[axi4_to_ahb.scala 362:43] + node _T_596 = mux(_T_595, UInt<2>("h03"), UInt<1>("h00")) @[axi4_to_ahb.scala 362:23] + node _T_597 = bits(slvbuf_error, 0, 0) @[Bitwise.scala 72:15] + node _T_598 = mux(_T_597, UInt<2>("h03"), UInt<2>("h00")) @[Bitwise.scala 72:12] + node _T_599 = and(_T_598, UInt<2>("h02")) @[axi4_to_ahb.scala 362:88] + node _T_600 = cat(_T_596, _T_599) @[Cat.scala 29:58] + slave_opc <= _T_600 @[axi4_to_ahb.scala 362:13] + node _T_601 = bits(slvbuf_error, 0, 0) @[axi4_to_ahb.scala 363:41] + node _T_602 = bits(last_bus_addr, 31, 0) @[axi4_to_ahb.scala 363:66] + node _T_603 = cat(_T_602, _T_602) @[Cat.scala 29:58] + node _T_604 = eq(buf_state, UInt<3>("h05")) @[axi4_to_ahb.scala 363:91] + node _T_605 = bits(buf_data, 63, 0) @[axi4_to_ahb.scala 363:110] + node _T_606 = bits(ahb_hrdata_q, 63, 0) @[axi4_to_ahb.scala 363:131] + node _T_607 = mux(_T_604, _T_605, _T_606) @[axi4_to_ahb.scala 363:79] + node _T_608 = mux(_T_601, _T_603, _T_607) @[axi4_to_ahb.scala 363:21] + slave_rdata <= _T_608 @[axi4_to_ahb.scala 363:15] + node _T_609 = bits(slvbuf_tag, 0, 0) @[axi4_to_ahb.scala 364:26] + slave_tag <= _T_609 @[axi4_to_ahb.scala 364:13] + node _T_610 = bits(io.ahb_htrans, 1, 0) @[axi4_to_ahb.scala 366:33] + node _T_611 = neq(_T_610, UInt<1>("h00")) @[axi4_to_ahb.scala 366:40] + node _T_612 = and(_T_611, io.ahb_hready) @[axi4_to_ahb.scala 366:52] + node _T_613 = and(_T_612, io.ahb_hwrite) @[axi4_to_ahb.scala 366:68] + last_addr_en <= _T_613 @[axi4_to_ahb.scala 366:16] + node _T_614 = and(io.axi_awvalid, io.axi_awready) @[axi4_to_ahb.scala 368:30] + node _T_615 = and(_T_614, master_ready) @[axi4_to_ahb.scala 368:47] + wrbuf_en <= _T_615 @[axi4_to_ahb.scala 368:12] + node _T_616 = and(io.axi_wvalid, io.axi_wready) @[axi4_to_ahb.scala 369:34] + node _T_617 = and(_T_616, master_ready) @[axi4_to_ahb.scala 369:50] + wrbuf_data_en <= _T_617 @[axi4_to_ahb.scala 369:17] + node _T_618 = and(master_valid, master_ready) @[axi4_to_ahb.scala 370:34] + node _T_619 = bits(master_opc, 2, 1) @[axi4_to_ahb.scala 370:62] + node _T_620 = eq(_T_619, UInt<1>("h01")) @[axi4_to_ahb.scala 370:69] + node _T_621 = and(_T_618, _T_620) @[axi4_to_ahb.scala 370:49] + wrbuf_cmd_sent <= _T_621 @[axi4_to_ahb.scala 370:18] + node _T_622 = eq(wrbuf_en, UInt<1>("h00")) @[axi4_to_ahb.scala 371:33] + node _T_623 = and(wrbuf_cmd_sent, _T_622) @[axi4_to_ahb.scala 371:31] + wrbuf_rst <= _T_623 @[axi4_to_ahb.scala 371:13] + node _T_624 = eq(wrbuf_cmd_sent, UInt<1>("h00")) @[axi4_to_ahb.scala 373:35] + node _T_625 = and(wrbuf_vld, _T_624) @[axi4_to_ahb.scala 373:33] + node _T_626 = eq(_T_625, UInt<1>("h00")) @[axi4_to_ahb.scala 373:21] + node _T_627 = and(_T_626, master_ready) @[axi4_to_ahb.scala 373:52] + io.axi_awready <= _T_627 @[axi4_to_ahb.scala 373:18] + node _T_628 = eq(wrbuf_cmd_sent, UInt<1>("h00")) @[axi4_to_ahb.scala 374:39] + node _T_629 = and(wrbuf_data_vld, _T_628) @[axi4_to_ahb.scala 374:37] + node _T_630 = eq(_T_629, UInt<1>("h00")) @[axi4_to_ahb.scala 374:20] + node _T_631 = and(_T_630, master_ready) @[axi4_to_ahb.scala 374:56] + io.axi_wready <= _T_631 @[axi4_to_ahb.scala 374:17] + node _T_632 = and(wrbuf_vld, wrbuf_data_vld) @[axi4_to_ahb.scala 375:33] + node _T_633 = eq(_T_632, UInt<1>("h00")) @[axi4_to_ahb.scala 375:21] + node _T_634 = and(_T_633, master_ready) @[axi4_to_ahb.scala 375:51] + io.axi_arready <= _T_634 @[axi4_to_ahb.scala 375:18] + io.axi_rlast <= UInt<1>("h01") @[axi4_to_ahb.scala 376:16] + node _T_635 = bits(wrbuf_en, 0, 0) @[axi4_to_ahb.scala 378:71] + node _T_636 = mux(_T_635, UInt<1>("h01"), wrbuf_vld) @[axi4_to_ahb.scala 378:55] + node _T_637 = eq(wrbuf_rst, UInt<1>("h00")) @[axi4_to_ahb.scala 378:91] + node _T_638 = and(_T_636, _T_637) @[axi4_to_ahb.scala 378:89] + reg _T_639 : UInt, bus_clk with : (reset => (reset, UInt<1>("h00"))) @[axi4_to_ahb.scala 378:51] + _T_639 <= _T_638 @[axi4_to_ahb.scala 378:51] + wrbuf_vld <= _T_639 @[axi4_to_ahb.scala 378:21] + node _T_640 = bits(wrbuf_data_en, 0, 0) @[axi4_to_ahb.scala 379:76] + node _T_641 = mux(_T_640, UInt<1>("h01"), wrbuf_data_vld) @[axi4_to_ahb.scala 379:55] + node _T_642 = eq(wrbuf_rst, UInt<1>("h00")) @[axi4_to_ahb.scala 379:102] + node _T_643 = and(_T_641, _T_642) @[axi4_to_ahb.scala 379:100] + reg _T_644 : UInt, bus_clk with : (reset => (reset, UInt<1>("h00"))) @[axi4_to_ahb.scala 379:51] + _T_644 <= _T_643 @[axi4_to_ahb.scala 379:51] + wrbuf_data_vld <= _T_644 @[axi4_to_ahb.scala 379:21] + node _T_645 = bits(io.axi_awid, 0, 0) @[axi4_to_ahb.scala 380:65] + node _T_646 = bits(wrbuf_en, 0, 0) @[axi4_to_ahb.scala 380:99] + reg _T_647 : UInt, bus_clk with : (reset => (reset, UInt<1>("h00"))) @[Reg.scala 27:20] + when _T_646 : @[Reg.scala 28:19] + _T_647 <= _T_645 @[Reg.scala 28:23] + skip @[Reg.scala 28:19] + wrbuf_tag <= _T_647 @[axi4_to_ahb.scala 380:21] + node _T_648 = bits(io.axi_awsize, 2, 0) @[axi4_to_ahb.scala 381:67] + node _T_649 = bits(wrbuf_en, 0, 0) @[axi4_to_ahb.scala 381:95] reg _T_650 : UInt, bus_clk with : (reset => (reset, UInt<1>("h00"))) @[Reg.scala 27:20] when _T_649 : @[Reg.scala 28:19] _T_650 <= _T_648 @[Reg.scala 28:23] skip @[Reg.scala 28:19] - wrbuf_tag <= _T_650 @[axi4_to_ahb.scala 361:21] - node _T_651 = bits(io.axi_awsize, 2, 0) @[axi4_to_ahb.scala 362:67] - node _T_652 = bits(wrbuf_en, 0, 0) @[axi4_to_ahb.scala 362:95] - reg _T_653 : UInt, bus_clk with : (reset => (reset, UInt<1>("h00"))) @[Reg.scala 27:20] - when _T_652 : @[Reg.scala 28:19] - _T_653 <= _T_651 @[Reg.scala 28:23] - skip @[Reg.scala 28:19] - wrbuf_size <= _T_653 @[axi4_to_ahb.scala 362:21] - node _T_654 = bits(wrbuf_en, 0, 0) @[axi4_to_ahb.scala 363:55] + wrbuf_size <= _T_650 @[axi4_to_ahb.scala 381:21] + node _T_651 = bits(wrbuf_en, 0, 0) @[axi4_to_ahb.scala 382:55] inst rvclkhdr_2 of rvclkhdr_2 @[el2_lib.scala 508:23] rvclkhdr_2.clock <= clock rvclkhdr_2.reset <= reset rvclkhdr_2.io.clk <= bus_clk @[el2_lib.scala 510:18] - rvclkhdr_2.io.en <= _T_654 @[el2_lib.scala 511:17] + rvclkhdr_2.io.en <= _T_651 @[el2_lib.scala 511:17] rvclkhdr_2.io.scan_mode <= io.scan_mode @[el2_lib.scala 512:24] - reg _T_655 : UInt, rvclkhdr_2.io.l1clk with : (reset => (reset, UInt<1>("h00"))) @[el2_lib.scala 514:16] - _T_655 <= io.axi_awaddr @[el2_lib.scala 514:16] - wrbuf_addr <= _T_655 @[axi4_to_ahb.scala 363:21] - node _T_656 = bits(wrbuf_data_en, 0, 0) @[axi4_to_ahb.scala 364:59] + reg _T_652 : UInt, rvclkhdr_2.io.l1clk with : (reset => (reset, UInt<1>("h00"))) @[el2_lib.scala 514:16] + _T_652 <= io.axi_awaddr @[el2_lib.scala 514:16] + wrbuf_addr <= _T_652 @[axi4_to_ahb.scala 382:21] + node _T_653 = bits(wrbuf_data_en, 0, 0) @[axi4_to_ahb.scala 383:59] inst rvclkhdr_3 of rvclkhdr_3 @[el2_lib.scala 508:23] rvclkhdr_3.clock <= clock rvclkhdr_3.reset <= reset rvclkhdr_3.io.clk <= bus_clk @[el2_lib.scala 510:18] - rvclkhdr_3.io.en <= _T_656 @[el2_lib.scala 511:17] + rvclkhdr_3.io.en <= _T_653 @[el2_lib.scala 511:17] rvclkhdr_3.io.scan_mode <= io.scan_mode @[el2_lib.scala 512:24] - reg _T_657 : UInt, rvclkhdr_3.io.l1clk with : (reset => (reset, UInt<1>("h00"))) @[el2_lib.scala 514:16] - _T_657 <= io.axi_wdata @[el2_lib.scala 514:16] - wrbuf_data <= _T_657 @[axi4_to_ahb.scala 364:21] - node _T_658 = bits(io.axi_wstrb, 7, 0) @[axi4_to_ahb.scala 365:66] - node _T_659 = bits(wrbuf_data_en, 0, 0) @[axi4_to_ahb.scala 365:99] - reg _T_660 : UInt, bus_clk with : (reset => (reset, UInt<1>("h00"))) @[Reg.scala 27:20] + reg _T_654 : UInt, rvclkhdr_3.io.l1clk with : (reset => (reset, UInt<1>("h00"))) @[el2_lib.scala 514:16] + _T_654 <= io.axi_wdata @[el2_lib.scala 514:16] + wrbuf_data <= _T_654 @[axi4_to_ahb.scala 383:21] + node _T_655 = bits(io.axi_wstrb, 7, 0) @[axi4_to_ahb.scala 384:66] + node _T_656 = bits(wrbuf_data_en, 0, 0) @[axi4_to_ahb.scala 384:99] + reg _T_657 : UInt, bus_clk with : (reset => (reset, UInt<1>("h00"))) @[Reg.scala 27:20] + when _T_656 : @[Reg.scala 28:19] + _T_657 <= _T_655 @[Reg.scala 28:23] + skip @[Reg.scala 28:19] + wrbuf_byteen <= _T_657 @[axi4_to_ahb.scala 384:21] + node _T_658 = bits(io.ahb_haddr, 31, 0) @[axi4_to_ahb.scala 385:67] + node _T_659 = bits(last_addr_en, 0, 0) @[axi4_to_ahb.scala 385:100] + reg _T_660 : UInt, ahbm_clk with : (reset => (reset, UInt<1>("h00"))) @[Reg.scala 27:20] when _T_659 : @[Reg.scala 28:19] _T_660 <= _T_658 @[Reg.scala 28:23] skip @[Reg.scala 28:19] - wrbuf_byteen <= _T_660 @[axi4_to_ahb.scala 365:21] - node _T_661 = bits(io.ahb_haddr, 31, 0) @[axi4_to_ahb.scala 366:67] - node _T_662 = bits(last_addr_en, 0, 0) @[axi4_to_ahb.scala 366:100] - reg _T_663 : UInt, ahbm_clk with : (reset => (reset, UInt<1>("h00"))) @[Reg.scala 27:20] - when _T_662 : @[Reg.scala 28:19] - _T_663 <= _T_661 @[Reg.scala 28:23] + last_bus_addr <= _T_660 @[axi4_to_ahb.scala 385:21] + node _T_661 = bits(buf_wr_en, 0, 0) @[axi4_to_ahb.scala 386:89] + reg _T_662 : UInt, buf_clk with : (reset => (reset, UInt<1>("h00"))) @[Reg.scala 27:20] + when _T_661 : @[Reg.scala 28:19] + _T_662 <= buf_write_in @[Reg.scala 28:23] skip @[Reg.scala 28:19] - last_bus_addr <= _T_663 @[axi4_to_ahb.scala 366:21] - node _T_664 = bits(buf_wr_en, 0, 0) @[axi4_to_ahb.scala 367:89] + buf_write <= _T_662 @[axi4_to_ahb.scala 386:21] + node _T_663 = bits(buf_tag_in, 0, 0) @[axi4_to_ahb.scala 387:64] + node _T_664 = bits(buf_wr_en, 0, 0) @[axi4_to_ahb.scala 387:99] reg _T_665 : UInt, buf_clk with : (reset => (reset, UInt<1>("h00"))) @[Reg.scala 27:20] when _T_664 : @[Reg.scala 28:19] - _T_665 <= buf_write_in @[Reg.scala 28:23] + _T_665 <= _T_663 @[Reg.scala 28:23] skip @[Reg.scala 28:19] - buf_write <= _T_665 @[axi4_to_ahb.scala 367:21] - node _T_666 = bits(buf_tag_in, 0, 0) @[axi4_to_ahb.scala 368:64] - node _T_667 = bits(buf_wr_en, 0, 0) @[axi4_to_ahb.scala 368:99] - reg _T_668 : UInt, buf_clk with : (reset => (reset, UInt<1>("h00"))) @[Reg.scala 27:20] - when _T_667 : @[Reg.scala 28:19] - _T_668 <= _T_666 @[Reg.scala 28:23] - skip @[Reg.scala 28:19] - buf_tag <= _T_668 @[axi4_to_ahb.scala 368:21] - node _T_669 = bits(buf_addr_in, 31, 0) @[axi4_to_ahb.scala 369:42] - node _T_670 = and(buf_wr_en, io.bus_clk_en) @[axi4_to_ahb.scala 369:61] - node _T_671 = bits(_T_670, 0, 0) @[axi4_to_ahb.scala 369:78] + buf_tag <= _T_665 @[axi4_to_ahb.scala 387:21] + node _T_666 = bits(buf_addr_in, 31, 0) @[axi4_to_ahb.scala 388:42] + node _T_667 = and(buf_wr_en, io.bus_clk_en) @[axi4_to_ahb.scala 388:61] + node _T_668 = bits(_T_667, 0, 0) @[axi4_to_ahb.scala 388:78] inst rvclkhdr_4 of rvclkhdr_4 @[el2_lib.scala 508:23] rvclkhdr_4.clock <= clock rvclkhdr_4.reset <= reset rvclkhdr_4.io.clk <= clock @[el2_lib.scala 510:18] - rvclkhdr_4.io.en <= _T_671 @[el2_lib.scala 511:17] + rvclkhdr_4.io.en <= _T_668 @[el2_lib.scala 511:17] rvclkhdr_4.io.scan_mode <= io.scan_mode @[el2_lib.scala 512:24] - reg _T_672 : UInt, rvclkhdr_4.io.l1clk with : (reset => (reset, UInt<1>("h00"))) @[el2_lib.scala 514:16] - _T_672 <= _T_669 @[el2_lib.scala 514:16] - buf_addr <= _T_672 @[axi4_to_ahb.scala 369:21] - node _T_673 = bits(buf_size_in, 1, 0) @[axi4_to_ahb.scala 370:65] - node _T_674 = bits(buf_wr_en, 0, 0) @[axi4_to_ahb.scala 370:94] - reg _T_675 : UInt, buf_clk with : (reset => (reset, UInt<1>("h00"))) @[Reg.scala 27:20] - when _T_674 : @[Reg.scala 28:19] - _T_675 <= _T_673 @[Reg.scala 28:23] + reg _T_669 : UInt, rvclkhdr_4.io.l1clk with : (reset => (reset, UInt<1>("h00"))) @[el2_lib.scala 514:16] + _T_669 <= _T_666 @[el2_lib.scala 514:16] + buf_addr <= _T_669 @[axi4_to_ahb.scala 388:21] + node _T_670 = bits(buf_size_in, 1, 0) @[axi4_to_ahb.scala 389:65] + node _T_671 = bits(buf_wr_en, 0, 0) @[axi4_to_ahb.scala 389:94] + reg _T_672 : UInt, buf_clk with : (reset => (reset, UInt<1>("h00"))) @[Reg.scala 27:20] + when _T_671 : @[Reg.scala 28:19] + _T_672 <= _T_670 @[Reg.scala 28:23] skip @[Reg.scala 28:19] - buf_size <= _T_675 @[axi4_to_ahb.scala 370:21] - node _T_676 = bits(buf_wr_en, 0, 0) @[axi4_to_ahb.scala 371:91] + buf_size <= _T_672 @[axi4_to_ahb.scala 389:21] + node _T_673 = bits(buf_wr_en, 0, 0) @[axi4_to_ahb.scala 390:91] + reg _T_674 : UInt, buf_clk with : (reset => (reset, UInt<1>("h00"))) @[Reg.scala 27:20] + when _T_673 : @[Reg.scala 28:19] + _T_674 <= buf_aligned_in @[Reg.scala 28:23] + skip @[Reg.scala 28:19] + buf_aligned <= _T_674 @[axi4_to_ahb.scala 390:21] + node _T_675 = bits(buf_byteen_in, 7, 0) @[axi4_to_ahb.scala 391:67] + node _T_676 = bits(buf_wr_en, 0, 0) @[axi4_to_ahb.scala 391:96] reg _T_677 : UInt, buf_clk with : (reset => (reset, UInt<1>("h00"))) @[Reg.scala 27:20] when _T_676 : @[Reg.scala 28:19] - _T_677 <= buf_aligned_in @[Reg.scala 28:23] + _T_677 <= _T_675 @[Reg.scala 28:23] skip @[Reg.scala 28:19] - buf_aligned <= _T_677 @[axi4_to_ahb.scala 371:21] - node _T_678 = bits(buf_byteen_in, 7, 0) @[axi4_to_ahb.scala 372:67] - node _T_679 = bits(buf_wr_en, 0, 0) @[axi4_to_ahb.scala 372:96] - reg _T_680 : UInt, buf_clk with : (reset => (reset, UInt<1>("h00"))) @[Reg.scala 27:20] - when _T_679 : @[Reg.scala 28:19] - _T_680 <= _T_678 @[Reg.scala 28:23] - skip @[Reg.scala 28:19] - buf_byteen <= _T_680 @[axi4_to_ahb.scala 372:21] - node _T_681 = bits(buf_data_in, 63, 0) @[axi4_to_ahb.scala 373:42] - node _T_682 = and(buf_data_wr_en, io.bus_clk_en) @[axi4_to_ahb.scala 373:66] - node _T_683 = bits(_T_682, 0, 0) @[axi4_to_ahb.scala 373:89] + buf_byteen <= _T_677 @[axi4_to_ahb.scala 391:21] + node _T_678 = bits(buf_data_in, 63, 0) @[axi4_to_ahb.scala 392:42] + node _T_679 = and(buf_data_wr_en, io.bus_clk_en) @[axi4_to_ahb.scala 392:66] + node _T_680 = bits(_T_679, 0, 0) @[axi4_to_ahb.scala 392:89] inst rvclkhdr_5 of rvclkhdr_5 @[el2_lib.scala 508:23] rvclkhdr_5.clock <= clock rvclkhdr_5.reset <= reset rvclkhdr_5.io.clk <= clock @[el2_lib.scala 510:18] - rvclkhdr_5.io.en <= _T_683 @[el2_lib.scala 511:17] + rvclkhdr_5.io.en <= _T_680 @[el2_lib.scala 511:17] rvclkhdr_5.io.scan_mode <= io.scan_mode @[el2_lib.scala 512:24] - reg _T_684 : UInt, rvclkhdr_5.io.l1clk with : (reset => (reset, UInt<1>("h00"))) @[el2_lib.scala 514:16] - _T_684 <= _T_681 @[el2_lib.scala 514:16] - buf_data <= _T_684 @[axi4_to_ahb.scala 373:21] - node _T_685 = bits(slvbuf_wr_en, 0, 0) @[axi4_to_ahb.scala 374:89] + reg _T_681 : UInt, rvclkhdr_5.io.l1clk with : (reset => (reset, UInt<1>("h00"))) @[el2_lib.scala 514:16] + _T_681 <= _T_678 @[el2_lib.scala 514:16] + buf_data <= _T_681 @[axi4_to_ahb.scala 392:21] + node _T_682 = bits(slvbuf_wr_en, 0, 0) @[axi4_to_ahb.scala 393:89] + reg _T_683 : UInt, buf_clk with : (reset => (reset, UInt<1>("h00"))) @[Reg.scala 27:20] + when _T_682 : @[Reg.scala 28:19] + _T_683 <= buf_write @[Reg.scala 28:23] + skip @[Reg.scala 28:19] + slvbuf_write <= _T_683 @[axi4_to_ahb.scala 393:21] + node _T_684 = bits(buf_tag, 0, 0) @[axi4_to_ahb.scala 394:61] + node _T_685 = bits(slvbuf_wr_en, 0, 0) @[axi4_to_ahb.scala 394:99] reg _T_686 : UInt, buf_clk with : (reset => (reset, UInt<1>("h00"))) @[Reg.scala 27:20] when _T_685 : @[Reg.scala 28:19] - _T_686 <= buf_write @[Reg.scala 28:23] + _T_686 <= _T_684 @[Reg.scala 28:23] skip @[Reg.scala 28:19] - slvbuf_write <= _T_686 @[axi4_to_ahb.scala 374:21] - node _T_687 = bits(buf_tag, 0, 0) @[axi4_to_ahb.scala 375:61] - node _T_688 = bits(slvbuf_wr_en, 0, 0) @[axi4_to_ahb.scala 375:99] - reg _T_689 : UInt, buf_clk with : (reset => (reset, UInt<1>("h00"))) @[Reg.scala 27:20] - when _T_688 : @[Reg.scala 28:19] - _T_689 <= _T_687 @[Reg.scala 28:23] + slvbuf_tag <= _T_686 @[axi4_to_ahb.scala 394:21] + node _T_687 = bits(slvbuf_error_en, 0, 0) @[axi4_to_ahb.scala 395:99] + reg _T_688 : UInt, ahbm_clk with : (reset => (reset, UInt<1>("h00"))) @[Reg.scala 27:20] + when _T_687 : @[Reg.scala 28:19] + _T_688 <= slvbuf_error_in @[Reg.scala 28:23] skip @[Reg.scala 28:19] - slvbuf_tag <= _T_689 @[axi4_to_ahb.scala 375:21] - node _T_690 = bits(slvbuf_error_en, 0, 0) @[axi4_to_ahb.scala 376:99] - reg _T_691 : UInt, ahbm_clk with : (reset => (reset, UInt<1>("h00"))) @[Reg.scala 27:20] - when _T_690 : @[Reg.scala 28:19] - _T_691 <= slvbuf_error_in @[Reg.scala 28:23] + slvbuf_error <= _T_688 @[axi4_to_ahb.scala 395:21] + node _T_689 = bits(cmd_done, 0, 0) @[axi4_to_ahb.scala 396:72] + node _T_690 = mux(_T_689, UInt<1>("h01"), cmd_doneQ) @[axi4_to_ahb.scala 396:56] + node _T_691 = eq(cmd_done_rst, UInt<1>("h00")) @[axi4_to_ahb.scala 396:92] + node _T_692 = and(_T_690, _T_691) @[axi4_to_ahb.scala 396:90] + reg _T_693 : UInt, ahbm_clk with : (reset => (reset, UInt<1>("h00"))) @[axi4_to_ahb.scala 396:52] + _T_693 <= _T_692 @[axi4_to_ahb.scala 396:52] + cmd_doneQ <= _T_693 @[axi4_to_ahb.scala 396:21] + node _T_694 = bits(buf_cmd_byte_ptr, 2, 0) @[axi4_to_ahb.scala 397:71] + node _T_695 = bits(buf_cmd_byte_ptr_en, 0, 0) @[axi4_to_ahb.scala 397:110] + reg _T_696 : UInt, ahbm_clk with : (reset => (reset, UInt<1>("h00"))) @[Reg.scala 27:20] + when _T_695 : @[Reg.scala 28:19] + _T_696 <= _T_694 @[Reg.scala 28:23] skip @[Reg.scala 28:19] - slvbuf_error <= _T_691 @[axi4_to_ahb.scala 376:21] - node _T_692 = bits(cmd_done, 0, 0) @[axi4_to_ahb.scala 377:72] - node _T_693 = mux(_T_692, UInt<1>("h01"), cmd_doneQ) @[axi4_to_ahb.scala 377:56] - node _T_694 = eq(cmd_done_rst, UInt<1>("h00")) @[axi4_to_ahb.scala 377:92] - node _T_695 = and(_T_693, _T_694) @[axi4_to_ahb.scala 377:90] - reg _T_696 : UInt, ahbm_clk with : (reset => (reset, UInt<1>("h00"))) @[axi4_to_ahb.scala 377:52] - _T_696 <= _T_695 @[axi4_to_ahb.scala 377:52] - cmd_doneQ <= _T_696 @[axi4_to_ahb.scala 377:21] - node _T_697 = bits(buf_cmd_byte_ptr, 2, 0) @[axi4_to_ahb.scala 378:71] - node _T_698 = bits(buf_cmd_byte_ptr_en, 0, 0) @[axi4_to_ahb.scala 378:110] - reg _T_699 : UInt, ahbm_clk with : (reset => (reset, UInt<1>("h00"))) @[Reg.scala 27:20] - when _T_698 : @[Reg.scala 28:19] - _T_699 <= _T_697 @[Reg.scala 28:23] - skip @[Reg.scala 28:19] - buf_cmd_byte_ptrQ <= _T_699 @[axi4_to_ahb.scala 378:21] - reg _T_700 : UInt<1>, ahbm_clk with : (reset => (reset, UInt<1>("h00"))) @[axi4_to_ahb.scala 379:52] - _T_700 <= io.ahb_hready @[axi4_to_ahb.scala 379:52] - ahb_hready_q <= _T_700 @[axi4_to_ahb.scala 379:21] - node _T_701 = bits(io.ahb_htrans, 1, 0) @[axi4_to_ahb.scala 380:66] - reg _T_702 : UInt, ahbm_clk with : (reset => (reset, UInt<1>("h00"))) @[axi4_to_ahb.scala 380:52] - _T_702 <= _T_701 @[axi4_to_ahb.scala 380:52] - ahb_htrans_q <= _T_702 @[axi4_to_ahb.scala 380:21] - reg _T_703 : UInt<1>, ahbm_addr_clk with : (reset => (reset, UInt<1>("h00"))) @[axi4_to_ahb.scala 381:57] - _T_703 <= io.ahb_hwrite @[axi4_to_ahb.scala 381:57] - ahb_hwrite_q <= _T_703 @[axi4_to_ahb.scala 381:21] - reg _T_704 : UInt<1>, ahbm_clk with : (reset => (reset, UInt<1>("h00"))) @[axi4_to_ahb.scala 382:52] - _T_704 <= io.ahb_hresp @[axi4_to_ahb.scala 382:52] - ahb_hresp_q <= _T_704 @[axi4_to_ahb.scala 382:21] - node _T_705 = bits(io.ahb_hrdata, 63, 0) @[axi4_to_ahb.scala 383:71] - reg _T_706 : UInt, ahbm_data_clk with : (reset => (reset, UInt<1>("h00"))) @[axi4_to_ahb.scala 383:57] - _T_706 <= _T_705 @[axi4_to_ahb.scala 383:57] - ahb_hrdata_q <= _T_706 @[axi4_to_ahb.scala 383:21] - node _T_707 = or(buf_wr_en, slvbuf_wr_en) @[axi4_to_ahb.scala 385:43] - node _T_708 = or(_T_707, io.clk_override) @[axi4_to_ahb.scala 385:58] - node _T_709 = and(io.bus_clk_en, _T_708) @[axi4_to_ahb.scala 385:30] - buf_clken <= _T_709 @[axi4_to_ahb.scala 385:13] - node _T_710 = bits(io.ahb_htrans, 1, 1) @[axi4_to_ahb.scala 386:69] - node _T_711 = and(io.ahb_hready, _T_710) @[axi4_to_ahb.scala 386:54] - node _T_712 = or(_T_711, io.clk_override) @[axi4_to_ahb.scala 386:74] - node _T_713 = and(io.bus_clk_en, _T_712) @[axi4_to_ahb.scala 386:36] - ahbm_addr_clken <= _T_713 @[axi4_to_ahb.scala 386:19] - node _T_714 = neq(buf_state, UInt<3>("h00")) @[axi4_to_ahb.scala 387:50] - node _T_715 = or(_T_714, io.clk_override) @[axi4_to_ahb.scala 387:60] - node _T_716 = and(io.bus_clk_en, _T_715) @[axi4_to_ahb.scala 387:36] - ahbm_data_clken <= _T_716 @[axi4_to_ahb.scala 387:19] + buf_cmd_byte_ptrQ <= _T_696 @[axi4_to_ahb.scala 397:21] + reg _T_697 : UInt<1>, ahbm_clk with : (reset => (reset, UInt<1>("h00"))) @[axi4_to_ahb.scala 398:52] + _T_697 <= io.ahb_hready @[axi4_to_ahb.scala 398:52] + ahb_hready_q <= _T_697 @[axi4_to_ahb.scala 398:21] + node _T_698 = bits(io.ahb_htrans, 1, 0) @[axi4_to_ahb.scala 399:66] + reg _T_699 : UInt, ahbm_clk with : (reset => (reset, UInt<1>("h00"))) @[axi4_to_ahb.scala 399:52] + _T_699 <= _T_698 @[axi4_to_ahb.scala 399:52] + ahb_htrans_q <= _T_699 @[axi4_to_ahb.scala 399:21] + reg _T_700 : UInt<1>, ahbm_addr_clk with : (reset => (reset, UInt<1>("h00"))) @[axi4_to_ahb.scala 400:57] + _T_700 <= io.ahb_hwrite @[axi4_to_ahb.scala 400:57] + ahb_hwrite_q <= _T_700 @[axi4_to_ahb.scala 400:21] + reg _T_701 : UInt<1>, ahbm_clk with : (reset => (reset, UInt<1>("h00"))) @[axi4_to_ahb.scala 401:52] + _T_701 <= io.ahb_hresp @[axi4_to_ahb.scala 401:52] + ahb_hresp_q <= _T_701 @[axi4_to_ahb.scala 401:21] + node _T_702 = bits(io.ahb_hrdata, 63, 0) @[axi4_to_ahb.scala 402:71] + reg _T_703 : UInt, ahbm_data_clk with : (reset => (reset, UInt<1>("h00"))) @[axi4_to_ahb.scala 402:57] + _T_703 <= _T_702 @[axi4_to_ahb.scala 402:57] + ahb_hrdata_q <= _T_703 @[axi4_to_ahb.scala 402:21] + node _T_704 = or(buf_wr_en, slvbuf_wr_en) @[axi4_to_ahb.scala 404:43] + node _T_705 = or(_T_704, io.clk_override) @[axi4_to_ahb.scala 404:58] + node _T_706 = and(io.bus_clk_en, _T_705) @[axi4_to_ahb.scala 404:30] + buf_clken <= _T_706 @[axi4_to_ahb.scala 404:13] + node _T_707 = bits(io.ahb_htrans, 1, 1) @[axi4_to_ahb.scala 405:69] + node _T_708 = and(io.ahb_hready, _T_707) @[axi4_to_ahb.scala 405:54] + node _T_709 = or(_T_708, io.clk_override) @[axi4_to_ahb.scala 405:74] + node _T_710 = and(io.bus_clk_en, _T_709) @[axi4_to_ahb.scala 405:36] + ahbm_addr_clken <= _T_710 @[axi4_to_ahb.scala 405:19] + node _T_711 = neq(buf_state, UInt<3>("h00")) @[axi4_to_ahb.scala 406:50] + node _T_712 = or(_T_711, io.clk_override) @[axi4_to_ahb.scala 406:60] + node _T_713 = and(io.bus_clk_en, _T_712) @[axi4_to_ahb.scala 406:36] + ahbm_data_clken <= _T_713 @[axi4_to_ahb.scala 406:19] inst rvclkhdr_6 of rvclkhdr_6 @[el2_lib.scala 483:22] rvclkhdr_6.clock <= clock rvclkhdr_6.reset <= reset rvclkhdr_6.io.clk <= clock @[el2_lib.scala 484:17] rvclkhdr_6.io.en <= buf_clken @[el2_lib.scala 485:16] rvclkhdr_6.io.scan_mode <= io.scan_mode @[el2_lib.scala 486:23] - buf_clk <= rvclkhdr_6.io.l1clk @[axi4_to_ahb.scala 390:12] + buf_clk <= rvclkhdr_6.io.l1clk @[axi4_to_ahb.scala 409:12] inst rvclkhdr_7 of rvclkhdr_7 @[el2_lib.scala 483:22] rvclkhdr_7.clock <= clock rvclkhdr_7.reset <= reset rvclkhdr_7.io.clk <= clock @[el2_lib.scala 484:17] rvclkhdr_7.io.en <= io.bus_clk_en @[el2_lib.scala 485:16] rvclkhdr_7.io.scan_mode <= io.scan_mode @[el2_lib.scala 486:23] - ahbm_clk <= rvclkhdr_7.io.l1clk @[axi4_to_ahb.scala 391:12] + ahbm_clk <= rvclkhdr_7.io.l1clk @[axi4_to_ahb.scala 410:12] inst rvclkhdr_8 of rvclkhdr_8 @[el2_lib.scala 483:22] rvclkhdr_8.clock <= clock rvclkhdr_8.reset <= reset rvclkhdr_8.io.clk <= clock @[el2_lib.scala 484:17] rvclkhdr_8.io.en <= ahbm_addr_clken @[el2_lib.scala 485:16] rvclkhdr_8.io.scan_mode <= io.scan_mode @[el2_lib.scala 486:23] - ahbm_addr_clk <= rvclkhdr_8.io.l1clk @[axi4_to_ahb.scala 392:17] + ahbm_addr_clk <= rvclkhdr_8.io.l1clk @[axi4_to_ahb.scala 411:17] inst rvclkhdr_9 of rvclkhdr_9 @[el2_lib.scala 483:22] rvclkhdr_9.clock <= clock rvclkhdr_9.reset <= reset rvclkhdr_9.io.clk <= clock @[el2_lib.scala 484:17] rvclkhdr_9.io.en <= ahbm_data_clken @[el2_lib.scala 485:16] rvclkhdr_9.io.scan_mode <= io.scan_mode @[el2_lib.scala 486:23] - ahbm_data_clk <= rvclkhdr_9.io.l1clk @[axi4_to_ahb.scala 393:17] + ahbm_data_clk <= rvclkhdr_9.io.l1clk @[axi4_to_ahb.scala 412:17] diff --git a/axi4_to_ahb.v b/axi4_to_ahb.v index fb5d18b2..f2a982d1 100644 --- a/axi4_to_ahb.v +++ b/axi4_to_ahb.v @@ -132,25 +132,25 @@ module axi4_to_ahb( wire rvclkhdr_9_io_clk; // @[el2_lib.scala 483:22] wire rvclkhdr_9_io_en; // @[el2_lib.scala 483:22] wire rvclkhdr_9_io_scan_mode; // @[el2_lib.scala 483:22] - wire ahbm_clk = rvclkhdr_7_io_l1clk; // @[axi4_to_ahb.scala 63:22 axi4_to_ahb.scala 391:12] + wire ahbm_clk = rvclkhdr_7_io_l1clk; // @[axi4_to_ahb.scala 63:22 axi4_to_ahb.scala 410:12] reg [2:0] buf_state; // @[axi4_to_ahb.scala 69:45] wire _T_49 = 3'h0 == buf_state; // @[Conditional.scala 37:30] wire bus_clk = rvclkhdr_io_l1clk; // @[axi4_to_ahb.scala 89:21 axi4_to_ahb.scala 201:11] - reg wrbuf_vld; // @[axi4_to_ahb.scala 359:51] - reg wrbuf_data_vld; // @[axi4_to_ahb.scala 360:51] + reg wrbuf_vld; // @[axi4_to_ahb.scala 378:51] + reg wrbuf_data_vld; // @[axi4_to_ahb.scala 379:51] wire wr_cmd_vld = wrbuf_vld & wrbuf_data_vld; // @[axi4_to_ahb.scala 178:27] wire master_valid = wr_cmd_vld | io_axi_arvalid; // @[axi4_to_ahb.scala 179:30] wire _T_101 = 3'h1 == buf_state; // @[Conditional.scala 37:30] - reg ahb_hready_q; // @[axi4_to_ahb.scala 379:52] - reg [1:0] ahb_htrans_q; // @[axi4_to_ahb.scala 380:52] + reg ahb_hready_q; // @[axi4_to_ahb.scala 398:52] + reg [1:0] ahb_htrans_q; // @[axi4_to_ahb.scala 399:52] wire _T_108 = ahb_htrans_q != 2'h0; // @[axi4_to_ahb.scala 241:58] wire _T_109 = ahb_hready_q & _T_108; // @[axi4_to_ahb.scala 241:36] - wire ahbm_addr_clk = rvclkhdr_8_io_l1clk; // @[axi4_to_ahb.scala 64:27 axi4_to_ahb.scala 392:17] - reg ahb_hwrite_q; // @[axi4_to_ahb.scala 381:57] + wire ahbm_addr_clk = rvclkhdr_8_io_l1clk; // @[axi4_to_ahb.scala 64:27 axi4_to_ahb.scala 411:17] + reg ahb_hwrite_q; // @[axi4_to_ahb.scala 400:57] wire _T_110 = ~ahb_hwrite_q; // @[axi4_to_ahb.scala 241:72] wire _T_111 = _T_109 & _T_110; // @[axi4_to_ahb.scala 241:70] wire _T_136 = 3'h6 == buf_state; // @[Conditional.scala 37:30] - reg ahb_hresp_q; // @[axi4_to_ahb.scala 382:52] + reg ahb_hresp_q; // @[axi4_to_ahb.scala 401:52] wire _T_156 = ahb_hready_q | ahb_hresp_q; // @[axi4_to_ahb.scala 255:37] wire _T_175 = 3'h7 == buf_state; // @[Conditional.scala 37:30] wire _T_186 = 3'h3 == buf_state; // @[Conditional.scala 37:30] @@ -165,12 +165,12 @@ module axi4_to_ahb( wire _GEN_79 = _T_136 ? 1'h0 : _GEN_59; // @[Conditional.scala 39:67] wire _GEN_95 = _T_101 ? 1'h0 : _GEN_79; // @[Conditional.scala 39:67] wire trxn_done = _T_49 ? 1'h0 : _GEN_95; // @[Conditional.scala 40:58] - reg cmd_doneQ; // @[axi4_to_ahb.scala 377:52] + reg cmd_doneQ; // @[axi4_to_ahb.scala 396:52] wire _T_282 = cmd_doneQ & ahb_hready_q; // @[axi4_to_ahb.scala 297:34] wire _T_283 = _T_282 | ahb_hresp_q; // @[axi4_to_ahb.scala 297:50] - wire _T_443 = 3'h5 == buf_state; // @[Conditional.scala 37:30] + wire _T_440 = 3'h5 == buf_state; // @[Conditional.scala 37:30] wire slave_ready = io_axi_bready & io_axi_rready; // @[axi4_to_ahb.scala 196:32] - wire _GEN_1 = _T_443 & slave_ready; // @[Conditional.scala 39:67] + wire _GEN_1 = _T_440 & slave_ready; // @[Conditional.scala 39:67] wire _GEN_3 = _T_281 ? _T_283 : _GEN_1; // @[Conditional.scala 39:67] wire _GEN_20 = _T_188 ? trxn_done : _GEN_3; // @[Conditional.scala 39:67] wire _GEN_35 = _T_186 ? _T_156 : _GEN_20; // @[Conditional.scala 39:67] @@ -199,9 +199,9 @@ module axi4_to_ahb( wire _T_141 = master_valid & _T_51; // @[axi4_to_ahb.scala 252:70] wire _T_142 = ~_T_141; // @[axi4_to_ahb.scala 252:55] wire _T_143 = _T_138 & _T_142; // @[axi4_to_ahb.scala 252:53] - wire _T_287 = _T_283 & _T_137; // @[axi4_to_ahb.scala 298:66] - wire _T_288 = _T_287 & slave_ready; // @[axi4_to_ahb.scala 298:81] - wire _GEN_4 = _T_281 & _T_288; // @[Conditional.scala 39:67] + wire _T_285 = buf_state_en & _T_137; // @[axi4_to_ahb.scala 298:36] + wire _T_286 = _T_285 & slave_ready; // @[axi4_to_ahb.scala 298:51] + wire _GEN_4 = _T_281 & _T_286; // @[Conditional.scala 39:67] wire _GEN_26 = _T_188 ? 1'h0 : _GEN_4; // @[Conditional.scala 39:67] wire _GEN_45 = _T_186 ? 1'h0 : _GEN_26; // @[Conditional.scala 39:67] wire _GEN_62 = _T_175 ? 1'h0 : _GEN_45; // @[Conditional.scala 39:67] @@ -212,12 +212,12 @@ module axi4_to_ahb( wire _T_152 = _T_149 & _T_103; // @[axi4_to_ahb.scala 254:97] wire [2:0] _T_154 = _T_152 ? 3'h6 : 3'h3; // @[axi4_to_ahb.scala 254:67] wire [2:0] _T_155 = ahb_hresp_q ? 3'h7 : _T_154; // @[axi4_to_ahb.scala 254:26] - wire _T_289 = ~slave_ready; // @[axi4_to_ahb.scala 299:42] - wire _T_290 = ahb_hresp_q | _T_289; // @[axi4_to_ahb.scala 299:40] - wire [2:0] _T_296 = _T_51 ? 3'h2 : 3'h1; // @[axi4_to_ahb.scala 299:119] - wire [2:0] _T_297 = _T_149 ? _T_296 : 3'h0; // @[axi4_to_ahb.scala 299:75] - wire [2:0] _T_298 = _T_290 ? 3'h5 : _T_297; // @[axi4_to_ahb.scala 299:26] - wire [2:0] _GEN_5 = _T_281 ? _T_298 : 3'h0; // @[Conditional.scala 39:67] + wire _T_287 = ~slave_ready; // @[axi4_to_ahb.scala 299:42] + wire _T_288 = ahb_hresp_q | _T_287; // @[axi4_to_ahb.scala 299:40] + wire [2:0] _T_293 = _T_51 ? 3'h2 : 3'h1; // @[axi4_to_ahb.scala 299:99] + wire [2:0] _T_294 = master_valid ? _T_293 : 3'h0; // @[axi4_to_ahb.scala 299:65] + wire [2:0] _T_295 = _T_288 ? 3'h5 : _T_294; // @[axi4_to_ahb.scala 299:26] + wire [2:0] _GEN_5 = _T_281 ? _T_295 : 3'h0; // @[Conditional.scala 39:67] wire [2:0] _GEN_18 = _T_188 ? 3'h4 : _GEN_5; // @[Conditional.scala 39:67] wire [2:0] _GEN_34 = _T_186 ? 3'h5 : _GEN_18; // @[Conditional.scala 39:67] wire [2:0] _GEN_50 = _T_175 ? 3'h3 : _GEN_34; // @[Conditional.scala 39:67] @@ -231,56 +231,55 @@ module axi4_to_ahb( wire [2:0] master_size = wr_cmd_vld ? wrbuf_size : io_axi_arsize; // @[axi4_to_ahb.scala 183:21] reg [7:0] wrbuf_byteen; // @[Reg.scala 27:20] reg [63:0] wrbuf_data; // @[el2_lib.scala 514:16] - wire _T_158 = buf_state_en & _T_137; // @[axi4_to_ahb.scala 259:39] - wire _T_361 = buf_nxtstate != 3'h5; // @[axi4_to_ahb.scala 308:55] - wire _T_362 = buf_state_en & _T_361; // @[axi4_to_ahb.scala 308:39] - wire _GEN_14 = _T_281 ? _T_362 : _T_443; // @[Conditional.scala 39:67] + wire _T_358 = buf_nxtstate != 3'h5; // @[axi4_to_ahb.scala 309:55] + wire _T_359 = buf_state_en & _T_358; // @[axi4_to_ahb.scala 309:39] + wire _GEN_14 = _T_281 ? _T_359 : _T_440; // @[Conditional.scala 39:67] wire _GEN_33 = _T_188 ? 1'h0 : _GEN_14; // @[Conditional.scala 39:67] wire _GEN_49 = _T_186 ? 1'h0 : _GEN_33; // @[Conditional.scala 39:67] wire _GEN_52 = _T_175 ? buf_state_en : _GEN_49; // @[Conditional.scala 39:67] - wire _GEN_73 = _T_136 ? _T_158 : _GEN_52; // @[Conditional.scala 39:67] + wire _GEN_73 = _T_136 ? _T_285 : _GEN_52; // @[Conditional.scala 39:67] wire _GEN_94 = _T_101 ? 1'h0 : _GEN_73; // @[Conditional.scala 39:67] wire slave_valid_pre = _T_49 ? 1'h0 : _GEN_94; // @[Conditional.scala 40:58] wire _T_25 = slave_valid_pre & slave_ready; // @[axi4_to_ahb.scala 188:32] - wire buf_clk = rvclkhdr_6_io_l1clk; // @[axi4_to_ahb.scala 157:21 axi4_to_ahb.scala 390:12] + wire buf_clk = rvclkhdr_6_io_l1clk; // @[axi4_to_ahb.scala 157:21 axi4_to_ahb.scala 409:12] reg slvbuf_write; // @[Reg.scala 27:20] - wire [1:0] _T_599 = slvbuf_write ? 2'h3 : 2'h0; // @[axi4_to_ahb.scala 343:23] + wire [1:0] _T_596 = slvbuf_write ? 2'h3 : 2'h0; // @[axi4_to_ahb.scala 362:23] reg slvbuf_error; // @[Reg.scala 27:20] - wire [1:0] _T_601 = slvbuf_error ? 2'h3 : 2'h0; // @[Bitwise.scala 72:12] - wire [1:0] _T_602 = _T_601 & 2'h2; // @[axi4_to_ahb.scala 343:88] - wire [3:0] slave_opc = {_T_599,_T_602}; // @[Cat.scala 29:58] + wire [1:0] _T_598 = slvbuf_error ? 2'h3 : 2'h0; // @[Bitwise.scala 72:12] + wire [1:0] _T_599 = _T_598 & 2'h2; // @[axi4_to_ahb.scala 362:88] + wire [3:0] slave_opc = {_T_596,_T_599}; // @[Cat.scala 29:58] wire [1:0] _T_30 = slave_opc[1] ? 2'h3 : 2'h0; // @[axi4_to_ahb.scala 189:49] reg slvbuf_tag; // @[Reg.scala 27:20] wire _T_35 = slave_opc[3:2] == 2'h0; // @[axi4_to_ahb.scala 192:65] reg [31:0] last_bus_addr; // @[Reg.scala 27:20] - wire [63:0] _T_606 = {last_bus_addr,last_bus_addr}; // @[Cat.scala 29:58] - wire _T_607 = buf_state == 3'h5; // @[axi4_to_ahb.scala 344:91] + wire [63:0] _T_603 = {last_bus_addr,last_bus_addr}; // @[Cat.scala 29:58] + wire _T_604 = buf_state == 3'h5; // @[axi4_to_ahb.scala 363:91] reg [63:0] buf_data; // @[el2_lib.scala 514:16] - wire ahbm_data_clk = rvclkhdr_9_io_l1clk; // @[axi4_to_ahb.scala 65:27 axi4_to_ahb.scala 393:17] - reg [63:0] ahb_hrdata_q; // @[axi4_to_ahb.scala 383:57] - wire [63:0] _T_610 = _T_607 ? buf_data : ahb_hrdata_q; // @[axi4_to_ahb.scala 344:79] + wire ahbm_data_clk = rvclkhdr_9_io_l1clk; // @[axi4_to_ahb.scala 65:27 axi4_to_ahb.scala 412:17] + reg [63:0] ahb_hrdata_q; // @[axi4_to_ahb.scala 402:57] + wire [63:0] _T_607 = _T_604 ? buf_data : ahb_hrdata_q; // @[axi4_to_ahb.scala 363:79] wire _T_44 = io_axi_awvalid & io_axi_awready; // @[axi4_to_ahb.scala 199:56] wire _T_45 = io_axi_wvalid & io_axi_wready; // @[axi4_to_ahb.scala 199:91] wire _T_46 = _T_44 | _T_45; // @[axi4_to_ahb.scala 199:74] wire _T_55 = buf_nxtstate == 3'h2; // @[axi4_to_ahb.scala 230:54] wire _T_56 = buf_state_en & _T_55; // @[axi4_to_ahb.scala 230:38] - wire [3:0] _T_86 = wrbuf_byteen[7] ? 4'h7 : 4'h8; // @[Mux.scala 98:16] - wire [3:0] _T_87 = wrbuf_byteen[6] ? 4'h6 : _T_86; // @[Mux.scala 98:16] - wire [3:0] _T_88 = wrbuf_byteen[5] ? 4'h5 : _T_87; // @[Mux.scala 98:16] - wire [3:0] _T_89 = wrbuf_byteen[4] ? 4'h4 : _T_88; // @[Mux.scala 98:16] - wire [3:0] _T_90 = wrbuf_byteen[3] ? 4'h3 : _T_89; // @[Mux.scala 98:16] - wire [3:0] _T_91 = wrbuf_byteen[2] ? 4'h2 : _T_90; // @[Mux.scala 98:16] - wire [3:0] _T_92 = wrbuf_byteen[1] ? 4'h1 : _T_91; // @[Mux.scala 98:16] - wire [3:0] _T_93 = wrbuf_byteen[0] ? 4'h0 : _T_92; // @[Mux.scala 98:16] + wire [3:0] _T_86 = wrbuf_byteen[0] ? 4'h0 : 4'h8; // @[Mux.scala 98:16] + wire [3:0] _T_87 = wrbuf_byteen[1] ? 4'h1 : _T_86; // @[Mux.scala 98:16] + wire [3:0] _T_88 = wrbuf_byteen[2] ? 4'h2 : _T_87; // @[Mux.scala 98:16] + wire [3:0] _T_89 = wrbuf_byteen[3] ? 4'h3 : _T_88; // @[Mux.scala 98:16] + wire [3:0] _T_90 = wrbuf_byteen[4] ? 4'h4 : _T_89; // @[Mux.scala 98:16] + wire [3:0] _T_91 = wrbuf_byteen[5] ? 4'h5 : _T_90; // @[Mux.scala 98:16] + wire [3:0] _T_92 = wrbuf_byteen[6] ? 4'h6 : _T_91; // @[Mux.scala 98:16] + wire [3:0] _T_93 = wrbuf_byteen[7] ? 4'h7 : _T_92; // @[Mux.scala 98:16] wire [3:0] _T_95 = buf_write_in ? _T_93 : {{1'd0}, master_addr[2:0]}; // @[axi4_to_ahb.scala 233:30] wire _T_96 = buf_nxtstate == 3'h1; // @[axi4_to_ahb.scala 235:51] wire _T_126 = master_ready & master_valid; // @[axi4_to_ahb.scala 246:33] wire _T_162 = buf_nxtstate == 3'h6; // @[axi4_to_ahb.scala 261:64] wire _T_163 = _T_126 & _T_162; // @[axi4_to_ahb.scala 261:48] wire _T_164 = _T_163 & buf_state_en; // @[axi4_to_ahb.scala 261:79] - wire _T_352 = buf_state_en & buf_write_in; // @[axi4_to_ahb.scala 306:33] - wire _T_354 = _T_352 & _T_55; // @[axi4_to_ahb.scala 306:48] - wire _GEN_12 = _T_281 & _T_354; // @[Conditional.scala 39:67] + wire _T_349 = buf_state_en & buf_write_in; // @[axi4_to_ahb.scala 307:33] + wire _T_351 = _T_349 & _T_55; // @[axi4_to_ahb.scala 307:48] + wire _GEN_12 = _T_281 & _T_351; // @[Conditional.scala 39:67] wire _GEN_32 = _T_188 ? 1'h0 : _GEN_12; // @[Conditional.scala 39:67] wire _GEN_48 = _T_186 ? 1'h0 : _GEN_32; // @[Conditional.scala 39:67] wire _GEN_65 = _T_175 ? 1'h0 : _GEN_48; // @[Conditional.scala 39:67] @@ -321,14 +320,14 @@ module axi4_to_ahb( wire _T_216 = buf_byteen[5] & _T_215; // @[axi4_to_ahb.scala 175:48] wire _T_218 = 3'h6 >= _T_197; // @[axi4_to_ahb.scala 175:62] wire _T_219 = buf_byteen[6] & _T_218; // @[axi4_to_ahb.scala 175:48] - wire [3:0] _T_223 = buf_byteen[7] ? 4'h7 : 4'h8; // @[Mux.scala 98:16] - wire [3:0] _T_224 = _T_219 ? 4'h6 : _T_223; // @[Mux.scala 98:16] - wire [3:0] _T_225 = _T_216 ? 4'h5 : _T_224; // @[Mux.scala 98:16] - wire [3:0] _T_226 = _T_213 ? 4'h4 : _T_225; // @[Mux.scala 98:16] - wire [3:0] _T_227 = _T_210 ? 4'h3 : _T_226; // @[Mux.scala 98:16] - wire [3:0] _T_228 = _T_207 ? 4'h2 : _T_227; // @[Mux.scala 98:16] - wire [3:0] _T_229 = _T_204 ? 4'h1 : _T_228; // @[Mux.scala 98:16] - wire [3:0] _T_230 = _T_201 ? 4'h0 : _T_229; // @[Mux.scala 98:16] + wire [3:0] _T_223 = _T_201 ? 4'h0 : 4'h8; // @[Mux.scala 98:16] + wire [3:0] _T_224 = _T_204 ? 4'h1 : _T_223; // @[Mux.scala 98:16] + wire [3:0] _T_225 = _T_207 ? 4'h2 : _T_224; // @[Mux.scala 98:16] + wire [3:0] _T_226 = _T_210 ? 4'h3 : _T_225; // @[Mux.scala 98:16] + wire [3:0] _T_227 = _T_213 ? 4'h4 : _T_226; // @[Mux.scala 98:16] + wire [3:0] _T_228 = _T_216 ? 4'h5 : _T_227; // @[Mux.scala 98:16] + wire [3:0] _T_229 = _T_219 ? 4'h6 : _T_228; // @[Mux.scala 98:16] + wire [3:0] _T_230 = buf_byteen[7] ? 4'h7 : _T_229; // @[Mux.scala 98:16] wire [3:0] _T_231 = trxn_done ? _T_230 : {{1'd0}, buf_cmd_byte_ptrQ}; // @[axi4_to_ahb.scala 291:30] wire _T_232 = buf_cmd_byte_ptrQ == 3'h7; // @[axi4_to_ahb.scala 292:65] reg buf_aligned; // @[Reg.scala 27:20] @@ -337,10 +336,10 @@ module axi4_to_ahb( wire _T_273 = ~_T_271[0]; // @[axi4_to_ahb.scala 292:163] wire _T_274 = _T_233 | _T_273; // @[axi4_to_ahb.scala 292:79] wire _T_275 = trxn_done & _T_274; // @[axi4_to_ahb.scala 292:29] - wire _T_349 = _T_232 | _T_273; // @[axi4_to_ahb.scala 305:123] - wire _T_350 = _T_109 & _T_349; // @[axi4_to_ahb.scala 305:87] - wire _T_351 = ahb_hresp_q | _T_350; // @[axi4_to_ahb.scala 305:32] - wire _GEN_11 = _T_281 & _T_351; // @[Conditional.scala 39:67] + wire _T_346 = _T_232 | _T_273; // @[axi4_to_ahb.scala 306:38] + wire _T_347 = _T_109 & _T_346; // @[axi4_to_ahb.scala 305:80] + wire _T_348 = ahb_hresp_q | _T_347; // @[axi4_to_ahb.scala 305:34] + wire _GEN_11 = _T_281 & _T_348; // @[Conditional.scala 39:67] wire _GEN_24 = _T_188 ? _T_275 : _GEN_11; // @[Conditional.scala 39:67] wire _GEN_43 = _T_186 ? 1'h0 : _GEN_24; // @[Conditional.scala 39:67] wire _GEN_61 = _T_175 ? 1'h0 : _GEN_43; // @[Conditional.scala 39:67] @@ -351,16 +350,16 @@ module axi4_to_ahb( wire _T_277 = ~_T_276; // @[axi4_to_ahb.scala 293:32] wire [1:0] _T_279 = _T_277 ? 2'h3 : 2'h0; // @[Bitwise.scala 72:12] wire [1:0] _T_280 = _T_279 & 2'h2; // @[axi4_to_ahb.scala 293:57] - wire _T_303 = _T_55 | _T_96; // @[axi4_to_ahb.scala 303:62] - wire _T_304 = buf_state_en & _T_303; // @[axi4_to_ahb.scala 303:33] - wire _T_357 = _T_277 | bypass_en; // @[axi4_to_ahb.scala 307:57] - wire [1:0] _T_359 = _T_357 ? 2'h3 : 2'h0; // @[Bitwise.scala 72:12] - wire [1:0] _T_360 = _T_359 & 2'h2; // @[axi4_to_ahb.scala 307:71] - wire _T_367 = trxn_done | bypass_en; // @[axi4_to_ahb.scala 310:40] - wire [3:0] _T_442 = bypass_en ? _T_93 : _T_231; // @[axi4_to_ahb.scala 311:30] + wire _T_300 = _T_55 | _T_96; // @[axi4_to_ahb.scala 303:62] + wire _T_301 = buf_state_en & _T_300; // @[axi4_to_ahb.scala 303:33] + wire _T_354 = _T_277 | bypass_en; // @[axi4_to_ahb.scala 308:57] + wire [1:0] _T_356 = _T_354 ? 2'h3 : 2'h0; // @[Bitwise.scala 72:12] + wire [1:0] _T_357 = _T_356 & 2'h2; // @[axi4_to_ahb.scala 308:71] + wire _T_364 = trxn_done | bypass_en; // @[axi4_to_ahb.scala 311:40] + wire [3:0] _T_439 = bypass_en ? _T_93 : _T_231; // @[axi4_to_ahb.scala 312:30] wire _GEN_6 = _T_281 & ahb_hresp_q; // @[Conditional.scala 39:67] - wire _GEN_7 = _T_281 ? buf_state_en : _T_443; // @[Conditional.scala 39:67] - wire _GEN_9 = _T_281 & _T_304; // @[Conditional.scala 39:67] + wire _GEN_7 = _T_281 ? buf_state_en : _T_440; // @[Conditional.scala 39:67] + wire _GEN_9 = _T_281 & _T_301; // @[Conditional.scala 39:67] wire _GEN_30 = _T_188 ? 1'h0 : _GEN_9; // @[Conditional.scala 39:67] wire _GEN_47 = _T_186 ? 1'h0 : _GEN_30; // @[Conditional.scala 39:67] wire _GEN_64 = _T_175 ? 1'h0 : _GEN_47; // @[Conditional.scala 39:67] @@ -368,9 +367,9 @@ module axi4_to_ahb( wire _GEN_87 = _T_101 ? master_ready : _GEN_67; // @[Conditional.scala 39:67] wire buf_wr_en = _T_49 ? buf_state_en : _GEN_87; // @[Conditional.scala 40:58] wire _GEN_10 = _T_281 & buf_wr_en; // @[Conditional.scala 39:67] - wire [1:0] _GEN_13 = _T_281 ? _T_360 : 2'h0; // @[Conditional.scala 39:67] - wire _GEN_16 = _T_281 & _T_367; // @[Conditional.scala 39:67] - wire [3:0] _GEN_17 = _T_281 ? _T_442 : 4'h0; // @[Conditional.scala 39:67] + wire [1:0] _GEN_13 = _T_281 ? _T_357 : 2'h0; // @[Conditional.scala 39:67] + wire _GEN_16 = _T_281 & _T_364; // @[Conditional.scala 39:67] + wire [3:0] _GEN_17 = _T_281 ? _T_439 : 4'h0; // @[Conditional.scala 39:67] wire _GEN_21 = _T_188 ? buf_state_en : _GEN_16; // @[Conditional.scala 39:67] wire _GEN_22 = _T_188 & buf_state_en; // @[Conditional.scala 39:67] wire [3:0] _GEN_23 = _T_188 ? _T_231 : _GEN_17; // @[Conditional.scala 39:67] @@ -406,93 +405,93 @@ module axi4_to_ahb( wire [3:0] _GEN_105 = _T_49 ? _T_95 : _GEN_89; // @[Conditional.scala 40:58] wire slvbuf_wr_en = _T_49 ? 1'h0 : _GEN_85; // @[Conditional.scala 40:58] wire slvbuf_error_en = _T_49 ? 1'h0 : _GEN_93; // @[Conditional.scala 40:58] - wire _T_538 = master_size[1:0] == 2'h0; // @[axi4_to_ahb.scala 329:24] - wire _T_539 = _T_103 | _T_538; // @[axi4_to_ahb.scala 328:48] - wire _T_541 = master_size[1:0] == 2'h1; // @[axi4_to_ahb.scala 329:54] - wire _T_542 = _T_539 | _T_541; // @[axi4_to_ahb.scala 329:33] - wire _T_544 = master_size[1:0] == 2'h2; // @[axi4_to_ahb.scala 329:93] - wire _T_545 = _T_542 | _T_544; // @[axi4_to_ahb.scala 329:72] - wire _T_547 = master_size[1:0] == 2'h3; // @[axi4_to_ahb.scala 330:25] - wire _T_549 = wrbuf_byteen == 8'h3; // @[axi4_to_ahb.scala 330:62] - wire _T_551 = wrbuf_byteen == 8'hc; // @[axi4_to_ahb.scala 330:97] - wire _T_552 = _T_549 | _T_551; // @[axi4_to_ahb.scala 330:74] - wire _T_554 = wrbuf_byteen == 8'h30; // @[axi4_to_ahb.scala 330:132] - wire _T_555 = _T_552 | _T_554; // @[axi4_to_ahb.scala 330:109] - wire _T_557 = wrbuf_byteen == 8'hc0; // @[axi4_to_ahb.scala 330:168] - wire _T_558 = _T_555 | _T_557; // @[axi4_to_ahb.scala 330:145] - wire _T_560 = wrbuf_byteen == 8'hf; // @[axi4_to_ahb.scala 331:28] - wire _T_561 = _T_558 | _T_560; // @[axi4_to_ahb.scala 330:181] - wire _T_563 = wrbuf_byteen == 8'hf0; // @[axi4_to_ahb.scala 331:63] - wire _T_564 = _T_561 | _T_563; // @[axi4_to_ahb.scala 331:40] - wire _T_566 = wrbuf_byteen == 8'hff; // @[axi4_to_ahb.scala 331:99] - wire _T_567 = _T_564 | _T_566; // @[axi4_to_ahb.scala 331:76] - wire _T_568 = _T_547 & _T_567; // @[axi4_to_ahb.scala 330:38] - wire buf_aligned_in = _T_545 | _T_568; // @[axi4_to_ahb.scala 329:106] - wire _T_447 = buf_aligned_in & _T_51; // @[axi4_to_ahb.scala 323:60] - wire [2:0] _T_464 = _T_551 ? 3'h7 : 3'h0; // @[Bitwise.scala 72:12] - wire [2:0] _T_465 = 3'h2 & _T_464; // @[axi4_to_ahb.scala 167:15] - wire _T_471 = _T_563 | _T_549; // @[axi4_to_ahb.scala 168:56] - wire [2:0] _T_473 = _T_471 ? 3'h7 : 3'h0; // @[Bitwise.scala 72:12] - wire [2:0] _T_474 = 3'h4 & _T_473; // @[axi4_to_ahb.scala 168:15] - wire [2:0] _T_475 = _T_465 | _T_474; // @[axi4_to_ahb.scala 167:63] - wire [2:0] _T_479 = _T_557 ? 3'h7 : 3'h0; // @[Bitwise.scala 72:12] - wire [2:0] _T_480 = 3'h6 & _T_479; // @[axi4_to_ahb.scala 169:17] - wire [2:0] _T_481 = _T_475 | _T_480; // @[axi4_to_ahb.scala 168:96] - wire [2:0] _T_488 = _T_447 ? _T_481 : master_addr[2:0]; // @[axi4_to_ahb.scala 323:43] - wire _T_492 = buf_state == 3'h3; // @[axi4_to_ahb.scala 326:33] - wire _T_498 = buf_aligned_in & _T_547; // @[axi4_to_ahb.scala 327:38] - wire _T_501 = _T_498 & _T_51; // @[axi4_to_ahb.scala 327:71] - wire [1:0] _T_507 = _T_566 ? 2'h3 : 2'h0; // @[Bitwise.scala 72:12] - wire _T_513 = _T_563 | _T_560; // @[axi4_to_ahb.scala 161:55] - wire [1:0] _T_515 = _T_513 ? 2'h3 : 2'h0; // @[Bitwise.scala 72:12] - wire [1:0] _T_516 = 2'h2 & _T_515; // @[axi4_to_ahb.scala 161:16] - wire [1:0] _T_517 = _T_507 | _T_516; // @[axi4_to_ahb.scala 160:62] - wire _T_522 = _T_557 | _T_554; // @[axi4_to_ahb.scala 162:60] - wire _T_525 = _T_522 | _T_551; // @[axi4_to_ahb.scala 162:89] - wire _T_528 = _T_525 | _T_549; // @[axi4_to_ahb.scala 162:123] - wire [1:0] _T_530 = _T_528 ? 2'h3 : 2'h0; // @[Bitwise.scala 72:12] - wire [1:0] _T_531 = 2'h1 & _T_530; // @[axi4_to_ahb.scala 162:21] - wire [1:0] _T_532 = _T_517 | _T_531; // @[axi4_to_ahb.scala 161:93] - wire [1:0] _T_534 = _T_501 ? _T_532 : master_size[1:0]; // @[axi4_to_ahb.scala 327:21] - wire [2:0] buf_cmd_byte_ptr = _GEN_105[2:0]; // @[axi4_to_ahb.scala 217:20 axi4_to_ahb.scala 233:24 axi4_to_ahb.scala 247:24 axi4_to_ahb.scala 262:24 axi4_to_ahb.scala 272:24 axi4_to_ahb.scala 291:24 axi4_to_ahb.scala 311:24] - wire [31:0] _T_573 = {master_addr[31:3],buf_cmd_byte_ptr}; // @[Cat.scala 29:58] - wire [31:0] _T_576 = {buf_addr[31:3],buf_cmd_byte_ptr}; // @[Cat.scala 29:58] - wire [1:0] _T_580 = buf_aligned_in ? 2'h3 : 2'h0; // @[Bitwise.scala 72:12] - wire [2:0] buf_size_in = {{1'd0}, _T_534}; // @[axi4_to_ahb.scala 327:15] - wire [1:0] _T_582 = _T_580 & buf_size_in[1:0]; // @[axi4_to_ahb.scala 334:77] - wire [2:0] _T_583 = {1'h0,_T_582}; // @[Cat.scala 29:58] - wire [1:0] _T_585 = buf_aligned ? 2'h3 : 2'h0; // @[Bitwise.scala 72:12] + wire _T_535 = master_size[1:0] == 2'h0; // @[axi4_to_ahb.scala 348:24] + wire _T_536 = _T_103 | _T_535; // @[axi4_to_ahb.scala 347:48] + wire _T_538 = master_size[1:0] == 2'h1; // @[axi4_to_ahb.scala 348:54] + wire _T_539 = _T_536 | _T_538; // @[axi4_to_ahb.scala 348:33] + wire _T_541 = master_size[1:0] == 2'h2; // @[axi4_to_ahb.scala 348:93] + wire _T_542 = _T_539 | _T_541; // @[axi4_to_ahb.scala 348:72] + wire _T_544 = master_size[1:0] == 2'h3; // @[axi4_to_ahb.scala 349:25] + wire _T_546 = wrbuf_byteen == 8'h3; // @[axi4_to_ahb.scala 349:62] + wire _T_548 = wrbuf_byteen == 8'hc; // @[axi4_to_ahb.scala 349:97] + wire _T_549 = _T_546 | _T_548; // @[axi4_to_ahb.scala 349:74] + wire _T_551 = wrbuf_byteen == 8'h30; // @[axi4_to_ahb.scala 349:132] + wire _T_552 = _T_549 | _T_551; // @[axi4_to_ahb.scala 349:109] + wire _T_554 = wrbuf_byteen == 8'hc0; // @[axi4_to_ahb.scala 349:168] + wire _T_555 = _T_552 | _T_554; // @[axi4_to_ahb.scala 349:145] + wire _T_557 = wrbuf_byteen == 8'hf; // @[axi4_to_ahb.scala 350:28] + wire _T_558 = _T_555 | _T_557; // @[axi4_to_ahb.scala 349:181] + wire _T_560 = wrbuf_byteen == 8'hf0; // @[axi4_to_ahb.scala 350:63] + wire _T_561 = _T_558 | _T_560; // @[axi4_to_ahb.scala 350:40] + wire _T_563 = wrbuf_byteen == 8'hff; // @[axi4_to_ahb.scala 350:99] + wire _T_564 = _T_561 | _T_563; // @[axi4_to_ahb.scala 350:76] + wire _T_565 = _T_544 & _T_564; // @[axi4_to_ahb.scala 349:38] + wire buf_aligned_in = _T_542 | _T_565; // @[axi4_to_ahb.scala 348:106] + wire _T_444 = buf_aligned_in & _T_51; // @[axi4_to_ahb.scala 342:60] + wire [2:0] _T_461 = _T_548 ? 3'h7 : 3'h0; // @[Bitwise.scala 72:12] + wire [2:0] _T_462 = 3'h2 & _T_461; // @[axi4_to_ahb.scala 167:15] + wire _T_468 = _T_560 | _T_546; // @[axi4_to_ahb.scala 168:56] + wire [2:0] _T_470 = _T_468 ? 3'h7 : 3'h0; // @[Bitwise.scala 72:12] + wire [2:0] _T_471 = 3'h4 & _T_470; // @[axi4_to_ahb.scala 168:15] + wire [2:0] _T_472 = _T_462 | _T_471; // @[axi4_to_ahb.scala 167:63] + wire [2:0] _T_476 = _T_554 ? 3'h7 : 3'h0; // @[Bitwise.scala 72:12] + wire [2:0] _T_477 = 3'h6 & _T_476; // @[axi4_to_ahb.scala 169:17] + wire [2:0] _T_478 = _T_472 | _T_477; // @[axi4_to_ahb.scala 168:96] + wire [2:0] _T_485 = _T_444 ? _T_478 : master_addr[2:0]; // @[axi4_to_ahb.scala 342:43] + wire _T_489 = buf_state == 3'h3; // @[axi4_to_ahb.scala 345:33] + wire _T_495 = buf_aligned_in & _T_544; // @[axi4_to_ahb.scala 346:38] + wire _T_498 = _T_495 & _T_51; // @[axi4_to_ahb.scala 346:71] + wire [1:0] _T_504 = _T_563 ? 2'h3 : 2'h0; // @[Bitwise.scala 72:12] + wire _T_510 = _T_560 | _T_557; // @[axi4_to_ahb.scala 161:55] + wire [1:0] _T_512 = _T_510 ? 2'h3 : 2'h0; // @[Bitwise.scala 72:12] + wire [1:0] _T_513 = 2'h2 & _T_512; // @[axi4_to_ahb.scala 161:16] + wire [1:0] _T_514 = _T_504 | _T_513; // @[axi4_to_ahb.scala 160:62] + wire _T_519 = _T_554 | _T_551; // @[axi4_to_ahb.scala 162:60] + wire _T_522 = _T_519 | _T_548; // @[axi4_to_ahb.scala 162:89] + wire _T_525 = _T_522 | _T_546; // @[axi4_to_ahb.scala 162:123] + wire [1:0] _T_527 = _T_525 ? 2'h3 : 2'h0; // @[Bitwise.scala 72:12] + wire [1:0] _T_528 = 2'h1 & _T_527; // @[axi4_to_ahb.scala 162:21] + wire [1:0] _T_529 = _T_514 | _T_528; // @[axi4_to_ahb.scala 161:93] + wire [1:0] _T_531 = _T_498 ? _T_529 : master_size[1:0]; // @[axi4_to_ahb.scala 346:21] + wire [2:0] buf_cmd_byte_ptr = _GEN_105[2:0]; // @[axi4_to_ahb.scala 217:20 axi4_to_ahb.scala 233:24 axi4_to_ahb.scala 247:24 axi4_to_ahb.scala 262:24 axi4_to_ahb.scala 272:24 axi4_to_ahb.scala 291:24 axi4_to_ahb.scala 312:24] + wire [31:0] _T_570 = {master_addr[31:3],buf_cmd_byte_ptr}; // @[Cat.scala 29:58] + wire [31:0] _T_573 = {buf_addr[31:3],buf_cmd_byte_ptr}; // @[Cat.scala 29:58] + wire [1:0] _T_577 = buf_aligned_in ? 2'h3 : 2'h0; // @[Bitwise.scala 72:12] + wire [2:0] buf_size_in = {{1'd0}, _T_531}; // @[axi4_to_ahb.scala 346:15] + wire [1:0] _T_579 = _T_577 & buf_size_in[1:0]; // @[axi4_to_ahb.scala 353:77] + wire [2:0] _T_580 = {1'h0,_T_579}; // @[Cat.scala 29:58] + wire [1:0] _T_582 = buf_aligned ? 2'h3 : 2'h0; // @[Bitwise.scala 72:12] reg [1:0] buf_size; // @[Reg.scala 27:20] - wire [1:0] _T_587 = _T_585 & buf_size; // @[axi4_to_ahb.scala 334:134] - wire [2:0] _T_588 = {1'h0,_T_587}; // @[Cat.scala 29:58] - wire _T_591 = ~io_axi_arprot[2]; // @[axi4_to_ahb.scala 338:33] - wire [1:0] _T_592 = {1'h1,_T_591}; // @[Cat.scala 29:58] + wire [1:0] _T_584 = _T_582 & buf_size; // @[axi4_to_ahb.scala 353:134] + wire [2:0] _T_585 = {1'h0,_T_584}; // @[Cat.scala 29:58] + wire _T_588 = ~io_axi_arprot[2]; // @[axi4_to_ahb.scala 357:33] + wire [1:0] _T_589 = {1'h1,_T_588}; // @[Cat.scala 29:58] reg buf_write; // @[Reg.scala 27:20] - wire _T_614 = io_ahb_htrans != 2'h0; // @[axi4_to_ahb.scala 347:40] - wire _T_615 = _T_614 & io_ahb_hready; // @[axi4_to_ahb.scala 347:52] - wire last_addr_en = _T_615 & io_ahb_hwrite; // @[axi4_to_ahb.scala 347:68] - wire wrbuf_en = _T_44 & master_ready; // @[axi4_to_ahb.scala 349:47] - wire wrbuf_data_en = _T_45 & master_ready; // @[axi4_to_ahb.scala 350:50] - wire wrbuf_cmd_sent = _T_149 & _T_51; // @[axi4_to_ahb.scala 351:49] - wire _T_625 = ~wrbuf_en; // @[axi4_to_ahb.scala 352:33] - wire wrbuf_rst = wrbuf_cmd_sent & _T_625; // @[axi4_to_ahb.scala 352:31] - wire _T_627 = ~wrbuf_cmd_sent; // @[axi4_to_ahb.scala 354:35] - wire _T_628 = wrbuf_vld & _T_627; // @[axi4_to_ahb.scala 354:33] - wire _T_629 = ~_T_628; // @[axi4_to_ahb.scala 354:21] - wire _T_632 = wrbuf_data_vld & _T_627; // @[axi4_to_ahb.scala 355:37] - wire _T_633 = ~_T_632; // @[axi4_to_ahb.scala 355:20] - wire _T_636 = ~wr_cmd_vld; // @[axi4_to_ahb.scala 356:21] - wire _T_639 = wrbuf_en | wrbuf_vld; // @[axi4_to_ahb.scala 359:55] - wire _T_640 = ~wrbuf_rst; // @[axi4_to_ahb.scala 359:91] - wire _T_644 = wrbuf_data_en | wrbuf_data_vld; // @[axi4_to_ahb.scala 360:55] + wire _T_611 = io_ahb_htrans != 2'h0; // @[axi4_to_ahb.scala 366:40] + wire _T_612 = _T_611 & io_ahb_hready; // @[axi4_to_ahb.scala 366:52] + wire last_addr_en = _T_612 & io_ahb_hwrite; // @[axi4_to_ahb.scala 366:68] + wire wrbuf_en = _T_44 & master_ready; // @[axi4_to_ahb.scala 368:47] + wire wrbuf_data_en = _T_45 & master_ready; // @[axi4_to_ahb.scala 369:50] + wire wrbuf_cmd_sent = _T_149 & _T_51; // @[axi4_to_ahb.scala 370:49] + wire _T_622 = ~wrbuf_en; // @[axi4_to_ahb.scala 371:33] + wire wrbuf_rst = wrbuf_cmd_sent & _T_622; // @[axi4_to_ahb.scala 371:31] + wire _T_624 = ~wrbuf_cmd_sent; // @[axi4_to_ahb.scala 373:35] + wire _T_625 = wrbuf_vld & _T_624; // @[axi4_to_ahb.scala 373:33] + wire _T_626 = ~_T_625; // @[axi4_to_ahb.scala 373:21] + wire _T_629 = wrbuf_data_vld & _T_624; // @[axi4_to_ahb.scala 374:37] + wire _T_630 = ~_T_629; // @[axi4_to_ahb.scala 374:20] + wire _T_633 = ~wr_cmd_vld; // @[axi4_to_ahb.scala 375:21] + wire _T_636 = wrbuf_en | wrbuf_vld; // @[axi4_to_ahb.scala 378:55] + wire _T_637 = ~wrbuf_rst; // @[axi4_to_ahb.scala 378:91] + wire _T_641 = wrbuf_data_en | wrbuf_data_vld; // @[axi4_to_ahb.scala 379:55] reg buf_tag; // @[Reg.scala 27:20] - wire _T_694 = ~slave_valid_pre; // @[axi4_to_ahb.scala 377:92] - wire _T_707 = buf_wr_en | slvbuf_wr_en; // @[axi4_to_ahb.scala 385:43] - wire _T_708 = _T_707 | io_clk_override; // @[axi4_to_ahb.scala 385:58] - wire _T_711 = io_ahb_hready & io_ahb_htrans[1]; // @[axi4_to_ahb.scala 386:54] - wire _T_712 = _T_711 | io_clk_override; // @[axi4_to_ahb.scala 386:74] - wire _T_714 = buf_state != 3'h0; // @[axi4_to_ahb.scala 387:50] - wire _T_715 = _T_714 | io_clk_override; // @[axi4_to_ahb.scala 387:60] + wire _T_691 = ~slave_valid_pre; // @[axi4_to_ahb.scala 396:92] + wire _T_704 = buf_wr_en | slvbuf_wr_en; // @[axi4_to_ahb.scala 404:43] + wire _T_705 = _T_704 | io_clk_override; // @[axi4_to_ahb.scala 404:58] + wire _T_708 = io_ahb_hready & io_ahb_htrans[1]; // @[axi4_to_ahb.scala 405:54] + wire _T_709 = _T_708 | io_clk_override; // @[axi4_to_ahb.scala 405:74] + wire _T_711 = buf_state != 3'h0; // @[axi4_to_ahb.scala 406:50] + wire _T_712 = _T_711 | io_clk_override; // @[axi4_to_ahb.scala 406:60] rvclkhdr rvclkhdr ( // @[el2_lib.scala 483:22] .io_l1clk(rvclkhdr_io_l1clk), .io_clk(rvclkhdr_io_clk), @@ -553,25 +552,25 @@ module axi4_to_ahb( .io_en(rvclkhdr_9_io_en), .io_scan_mode(rvclkhdr_9_io_scan_mode) ); - assign io_axi_awready = _T_629 & master_ready; // @[axi4_to_ahb.scala 354:18] - assign io_axi_wready = _T_633 & master_ready; // @[axi4_to_ahb.scala 355:17] + assign io_axi_awready = _T_626 & master_ready; // @[axi4_to_ahb.scala 373:18] + assign io_axi_wready = _T_630 & master_ready; // @[axi4_to_ahb.scala 374:17] assign io_axi_bvalid = _T_25 & slave_opc[3]; // @[axi4_to_ahb.scala 188:17] assign io_axi_bresp = slave_opc[0] ? 2'h2 : _T_30; // @[axi4_to_ahb.scala 189:16] assign io_axi_bid = slvbuf_tag; // @[axi4_to_ahb.scala 190:14] - assign io_axi_arready = _T_636 & master_ready; // @[axi4_to_ahb.scala 356:18] + assign io_axi_arready = _T_633 & master_ready; // @[axi4_to_ahb.scala 375:18] assign io_axi_rvalid = _T_25 & _T_35; // @[axi4_to_ahb.scala 192:17] assign io_axi_rid = slvbuf_tag; // @[axi4_to_ahb.scala 194:14] - assign io_axi_rdata = slvbuf_error ? _T_606 : _T_610; // @[axi4_to_ahb.scala 195:16] + assign io_axi_rdata = slvbuf_error ? _T_603 : _T_607; // @[axi4_to_ahb.scala 195:16] assign io_axi_rresp = slave_opc[0] ? 2'h2 : _T_30; // @[axi4_to_ahb.scala 193:16] - assign io_axi_rlast = 1'h1; // @[axi4_to_ahb.scala 357:16] - assign io_ahb_haddr = bypass_en ? _T_573 : _T_576; // @[axi4_to_ahb.scala 333:16] - assign io_ahb_hburst = 3'h0; // @[axi4_to_ahb.scala 336:17] - assign io_ahb_hmastlock = 1'h0; // @[axi4_to_ahb.scala 337:20] - assign io_ahb_hprot = {{2'd0}, _T_592}; // @[axi4_to_ahb.scala 338:16] - assign io_ahb_hsize = bypass_en ? _T_583 : _T_588; // @[axi4_to_ahb.scala 334:16] - assign io_ahb_htrans = _T_49 ? _T_100 : _GEN_90; // @[axi4_to_ahb.scala 205:17 axi4_to_ahb.scala 236:21 axi4_to_ahb.scala 248:21 axi4_to_ahb.scala 263:21 axi4_to_ahb.scala 273:21 axi4_to_ahb.scala 293:21 axi4_to_ahb.scala 307:21] - assign io_ahb_hwrite = bypass_en ? _T_51 : buf_write; // @[axi4_to_ahb.scala 339:17] - assign io_ahb_hwdata = buf_data; // @[axi4_to_ahb.scala 340:17] + assign io_axi_rlast = 1'h1; // @[axi4_to_ahb.scala 376:16] + assign io_ahb_haddr = bypass_en ? _T_570 : _T_573; // @[axi4_to_ahb.scala 352:16] + assign io_ahb_hburst = 3'h0; // @[axi4_to_ahb.scala 355:17] + assign io_ahb_hmastlock = 1'h0; // @[axi4_to_ahb.scala 356:20] + assign io_ahb_hprot = {{2'd0}, _T_589}; // @[axi4_to_ahb.scala 357:16] + assign io_ahb_hsize = bypass_en ? _T_580 : _T_585; // @[axi4_to_ahb.scala 353:16] + assign io_ahb_htrans = _T_49 ? _T_100 : _GEN_90; // @[axi4_to_ahb.scala 205:17 axi4_to_ahb.scala 236:21 axi4_to_ahb.scala 248:21 axi4_to_ahb.scala 263:21 axi4_to_ahb.scala 273:21 axi4_to_ahb.scala 293:21 axi4_to_ahb.scala 308:21] + assign io_ahb_hwrite = bypass_en ? _T_51 : buf_write; // @[axi4_to_ahb.scala 358:17] + assign io_ahb_hwdata = buf_data; // @[axi4_to_ahb.scala 359:17] assign rvclkhdr_io_clk = clock; // @[el2_lib.scala 484:17] assign rvclkhdr_io_en = io_bus_clk_en; // @[el2_lib.scala 485:16] assign rvclkhdr_io_scan_mode = io_scan_mode; // @[el2_lib.scala 486:23] @@ -591,16 +590,16 @@ module axi4_to_ahb( assign rvclkhdr_5_io_en = buf_data_wr_en & io_bus_clk_en; // @[el2_lib.scala 511:17] assign rvclkhdr_5_io_scan_mode = io_scan_mode; // @[el2_lib.scala 512:24] assign rvclkhdr_6_io_clk = clock; // @[el2_lib.scala 484:17] - assign rvclkhdr_6_io_en = io_bus_clk_en & _T_708; // @[el2_lib.scala 485:16] + assign rvclkhdr_6_io_en = io_bus_clk_en & _T_705; // @[el2_lib.scala 485:16] assign rvclkhdr_6_io_scan_mode = io_scan_mode; // @[el2_lib.scala 486:23] assign rvclkhdr_7_io_clk = clock; // @[el2_lib.scala 484:17] assign rvclkhdr_7_io_en = io_bus_clk_en; // @[el2_lib.scala 485:16] assign rvclkhdr_7_io_scan_mode = io_scan_mode; // @[el2_lib.scala 486:23] assign rvclkhdr_8_io_clk = clock; // @[el2_lib.scala 484:17] - assign rvclkhdr_8_io_en = io_bus_clk_en & _T_712; // @[el2_lib.scala 485:16] + assign rvclkhdr_8_io_en = io_bus_clk_en & _T_709; // @[el2_lib.scala 485:16] assign rvclkhdr_8_io_scan_mode = io_scan_mode; // @[el2_lib.scala 486:23] assign rvclkhdr_9_io_clk = clock; // @[el2_lib.scala 484:17] - assign rvclkhdr_9_io_en = io_bus_clk_en & _T_715; // @[el2_lib.scala 485:16] + assign rvclkhdr_9_io_en = io_bus_clk_en & _T_712; // @[el2_lib.scala 485:16] assign rvclkhdr_9_io_scan_mode = io_scan_mode; // @[el2_lib.scala 486:23] `ifdef RANDOMIZE_GARBAGE_ASSIGN `define RANDOMIZE @@ -805,9 +804,9 @@ end // initial end else if (_T_188) begin buf_state <= 3'h4; end else if (_T_281) begin - if (_T_290) begin + if (_T_288) begin buf_state <= 3'h5; - end else if (_T_149) begin + end else if (master_valid) begin if (_T_51) begin buf_state <= 3'h2; end else begin @@ -825,14 +824,14 @@ end // initial if (reset) begin wrbuf_vld <= 1'h0; end else begin - wrbuf_vld <= _T_639 & _T_640; + wrbuf_vld <= _T_636 & _T_637; end end always @(posedge bus_clk or posedge reset) begin if (reset) begin wrbuf_data_vld <= 1'h0; end else begin - wrbuf_data_vld <= _T_644 & _T_640; + wrbuf_data_vld <= _T_641 & _T_637; end end always @(posedge ahbm_clk or posedge reset) begin @@ -867,7 +866,7 @@ end // initial if (reset) begin cmd_doneQ <= 1'h0; end else begin - cmd_doneQ <= _T_276 & _T_694; + cmd_doneQ <= _T_276 & _T_691; end end always @(posedge bus_clk or posedge reset) begin @@ -950,7 +949,7 @@ end // initial always @(posedge rvclkhdr_5_io_l1clk or posedge reset) begin if (reset) begin buf_data <= 64'h0; - end else if (_T_492) begin + end else if (_T_489) begin buf_data <= ahb_hrdata_q; end else begin buf_data <= wrbuf_data; @@ -967,7 +966,7 @@ end // initial if (reset) begin buf_addr <= 32'h0; end else begin - buf_addr <= {master_addr[31:3],_T_488}; + buf_addr <= {master_addr[31:3],_T_485}; end end always @(posedge ahbm_clk or posedge reset) begin diff --git a/src/main/scala/lib/axi4_to_ahb.scala b/src/main/scala/lib/axi4_to_ahb.scala index 8e6f7466..80734301 100644 --- a/src/main/scala/lib/axi4_to_ahb.scala +++ b/src/main/scala/lib/axi4_to_ahb.scala @@ -172,7 +172,7 @@ class axi4_to_ahb extends Module with el2_lib with RequireAsyncReset with Config } def get_nxtbyte_ptr(current_byte_ptr: UInt, byteen: UInt, get_next: Bool): UInt = { val start_ptr = Mux(get_next, current_byte_ptr + 1.U, current_byte_ptr) - val temp = (0 until 8).map(j => (byteen(j) & (j.asUInt() >= start_ptr)) -> j.U) + val temp = (0 until 8).map(j => (byteen(j) & (j.asUInt() >= start_ptr)) -> j.U).reverse MuxCase(8.U, temp) } wr_cmd_vld := wrbuf_vld & wrbuf_data_vld @@ -249,7 +249,7 @@ class axi4_to_ahb extends Module with el2_lib with RequireAsyncReset with Config } is(stream_rd) { - master_ready := (ahb_hready_q & !ahb_hresp_q) & !(master_valid & master_opc(2, 1) === "b01".U) + master_ready := (ahb_hready_q & !ahb_hresp_q) & ~(master_valid & master_opc(2, 1) === "b01".U) buf_wr_en := (master_valid & master_ready & (master_opc(2, 0) === "b000".U)) // update the fifo if we are streaming the read commands buf_nxtstate := Mux(ahb_hresp_q.asBool(), stream_err_rd, Mux((master_valid & master_ready & (master_opc(2, 0) === "b000".U)).asBool(), stream_rd, data_rd)) // assuming that the master accpets the slave response right away. buf_state_en := (ahb_hready_q | ahb_hresp_q) @@ -295,20 +295,39 @@ class axi4_to_ahb extends Module with el2_lib with RequireAsyncReset with Config is(data_wr) { buf_state_en := (cmd_doneQ & ahb_hready_q) | ahb_hresp_q - master_ready := ((cmd_doneQ & ahb_hready_q) | ahb_hresp_q) & !ahb_hresp_q & slave_ready - buf_nxtstate := Mux((ahb_hresp_q | !slave_ready).asBool(), done, Mux((master_valid & master_ready).asBool(), Mux((master_opc(2, 1) === "b01".U(2.W)), cmd_wr, cmd_rd), idle)) + master_ready := buf_state_en & !ahb_hresp_q & slave_ready + buf_nxtstate := Mux((ahb_hresp_q | !slave_ready),done ,Mux((master_valid & master_valid),Mux((master_opc(2,1) === 1.U).asBool(),cmd_wr,cmd_rd),idle)) slvbuf_error_in := ahb_hresp_q slvbuf_error_en := buf_state_en - buf_write_in := (master_opc(2, 1) === "b01".U) + buf_write_in := master_opc(2,1) === 1.U buf_wr_en := buf_state_en & ((buf_nxtstate === cmd_wr) | (buf_nxtstate === cmd_rd)) buf_data_wr_en := buf_wr_en - cmd_done := (ahb_hresp_q | (ahb_hready_q & (ahb_htrans_q(1, 0) =/= "b0".U(2.W)) & ((buf_cmd_byte_ptrQ === "b111".U) | (buf_byteen(get_nxtbyte_ptr(buf_cmd_byte_ptrQ(2, 0), buf_byteen(7, 0), true.B)) === "b0".U)))) - bypass_en := buf_state_en & buf_write_in & (buf_nxtstate === cmd_wr) // Only bypass for writes for the time being - io.ahb_htrans := Fill(2, (!(cmd_done | cmd_doneQ) | bypass_en)) & "b10".U + cmd_done := (ahb_hresp_q | (ahb_hready_q & (ahb_htrans_q(1,0) =/= 0.U) & + ((buf_cmd_byte_ptrQ === 7.U) | (buf_byteen(get_nxtbyte_ptr(buf_cmd_byte_ptrQ(2,0),buf_byteen(7,0),true.B)) === 0.U)))) + bypass_en := buf_state_en & buf_write_in & (buf_nxtstate === cmd_wr) + io.ahb_htrans := Fill(2, (!(cmd_done | cmd_doneQ) | bypass_en)) & 2.U slave_valid_pre := buf_state_en & (buf_nxtstate =/= done) - trxn_done := ahb_hready_q & ahb_hwrite_q & (ahb_htrans_q(1, 0) =/= "b0".U(2.W)) + trxn_done := ahb_hready_q & ahb_hwrite_q & (ahb_htrans_q(1,0) =/= 0.U) buf_cmd_byte_ptr_en := trxn_done | bypass_en - buf_cmd_byte_ptr := Mux(bypass_en, get_nxtbyte_ptr(0.U(3.W), buf_byteen_in(7, 0), false.B), Mux(trxn_done, get_nxtbyte_ptr(buf_cmd_byte_ptrQ(2, 0), buf_byteen(7, 0), true.B), buf_cmd_byte_ptrQ)) + buf_cmd_byte_ptr := Mux(bypass_en,get_nxtbyte_ptr(0.U(3.W),buf_byteen_in(7,0),false.B),Mux(trxn_done,get_nxtbyte_ptr(buf_cmd_byte_ptrQ(2,0),buf_byteen(7,0),true.B),buf_cmd_byte_ptrQ)) + + +// +// buf_state_en := (cmd_doneQ & ahb_hready_q) | ahb_hresp_q +// master_ready := ((cmd_doneQ & ahb_hready_q) | ahb_hresp_q) & !ahb_hresp_q & slave_ready +// buf_nxtstate := Mux((ahb_hresp_q | !slave_ready).asBool(), done, Mux((master_valid & master_ready).asBool(), Mux((master_opc(2, 1) === "b01".U(2.W)), cmd_wr, cmd_rd), idle)) +// slvbuf_error_in := ahb_hresp_q +// slvbuf_error_en := buf_state_en +// buf_write_in := (master_opc(2, 1) === "b01".U) +// buf_wr_en := buf_state_en & ((buf_nxtstate === cmd_wr) | (buf_nxtstate === cmd_rd)) +// buf_data_wr_en := buf_wr_en +// cmd_done := (ahb_hresp_q | (ahb_hready_q & (ahb_htrans_q(1, 0) =/= "b0".U(2.W)) & ((buf_cmd_byte_ptrQ === "b111".U) | (buf_byteen(get_nxtbyte_ptr(buf_cmd_byte_ptrQ(2, 0), buf_byteen(7, 0), true.B)) === "b0".U)))) +// bypass_en := buf_state_en & buf_write_in & (buf_nxtstate === cmd_wr) // Only bypass for writes for the time being +// io.ahb_htrans := Fill(2, (!(cmd_done | cmd_doneQ) | bypass_en)) & "b10".U +// slave_valid_pre := buf_state_en & (buf_nxtstate =/= done) +// trxn_done := ahb_hready_q & ahb_hwrite_q & (ahb_htrans_q(1, 0) =/= "b0".U(2.W)) +// buf_cmd_byte_ptr_en := trxn_done | bypass_en +// buf_cmd_byte_ptr := Mux(bypass_en, get_nxtbyte_ptr(0.U(3.W), buf_byteen_in(7, 0), false.B), Mux(trxn_done, get_nxtbyte_ptr(buf_cmd_byte_ptrQ(2, 0), buf_byteen(7, 0), true.B), buf_cmd_byte_ptrQ)) } is(done) { diff --git a/target/scala-2.12/classes/lib/AXImain$.class b/target/scala-2.12/classes/lib/AXImain$.class index eec2c3ccbb339381c747bb4bd8bd209fe9597c1e..35922595543b54d1afa6f60bac9b1afef1542663 100644 GIT binary patch delta 103 zcmdlbw@YrrXD-J1lfQ7;0?7m(@yVXto>0~*ZYv<`DYp%fRN{fi2LjofcwE6MBqs~< jT0&VVyv~dZC$HcQ$t!q6IeQs682cFXf#Pg@6+p6{Z#Mt}k074_ diff --git a/target/scala-2.12/classes/lib/AXImain$delayedInit$body.class b/target/scala-2.12/classes/lib/AXImain$delayedInit$body.class index 20bd63d0fa2c704b3390f4762ae4ba7564bafc58..606682c9f461c88f29150969509faaacebb44368 100644 GIT binary patch delta 19 Zcmcb^dWUs`Jrm>n$qq~bKyo6JHvmQ#28sXx delta 19 Zcmcb^dWUs`JriTkWCx}IAUToA8vsP-24nyL diff --git a/target/scala-2.12/classes/lib/axi4_to_ahb.class b/target/scala-2.12/classes/lib/axi4_to_ahb.class index 7c04d3b887ba1ab8cecda66b45ac6b516fac14a4..12b1239cd669b88e0c09964c116df23632cbebdf 100644 GIT binary patch literal 106871 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 T;)g-N0I?eVWMm&H@74bUs#}f5 literal 106987 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