From 3694303a8d09e4d4272a34ab070f2c4dce25bdcc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=80=8BLaraib=20Khan?= <​laraib.khan@lampromellon.com> Date: Mon, 30 Nov 2020 17:28:11 +0500 Subject: [PATCH] axi to ahb update --- axi4_to_ahb.fir | 1520 ++++++++--------- axi4_to_ahb.v | 469 ++--- src/main/scala/lib/axi4_to_ahb.scala | 7 +- 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 106282 -> 106109 bytes 6 files changed, 1038 insertions(+), 958 deletions(-) diff --git a/axi4_to_ahb.fir b/axi4_to_ahb.fir index aac228d4..e71dd238 100644 --- a/axi4_to_ahb.fir +++ b/axi4_to_ahb.fir @@ -245,9 +245,9 @@ circuit axi4_to_ahb : input reset : AsyncReset output io : {flip scan_mode : UInt<1>, flip bus_clk_en : UInt<1>, flip clk_override : UInt<1>, flip axi_awvalid : UInt<1>, flip axi_awid : UInt<1>, flip axi_awaddr : UInt<32>, flip axi_awsize : UInt<3>, flip axi_awprot : UInt<3>, flip axi_wvalid : UInt<1>, flip axi_wdata : UInt<64>, flip axi_wstrb : UInt<8>, flip axi_wlast : UInt<1>, flip axi_bready : UInt<1>, flip axi_arvalid : UInt<1>, flip axi_arid : UInt<1>, flip axi_araddr : UInt<32>, flip axi_arsize : UInt<3>, flip axi_arprot : UInt<3>, flip axi_rready : UInt<1>, flip ahb_hrdata : UInt<64>, flip ahb_hready : UInt<1>, flip ahb_hresp : UInt<1>, axi_awready : UInt<1>, axi_wready : UInt<1>, axi_bvalid : UInt<1>, axi_bresp : UInt<2>, axi_bid : UInt<1>, axi_arready : UInt<1>, axi_rvalid : UInt<1>, axi_rid : UInt<1>, axi_rdata : UInt<64>, axi_rresp : UInt<2>, axi_rlast : UInt<1>, ahb_haddr : UInt<32>, ahb_hburst : UInt<3>, ahb_hmastlock : UInt<1>, ahb_hprot : UInt<4>, ahb_hsize : UInt<3>, ahb_htrans : UInt<2>, ahb_hwrite : UInt<1>, ahb_hwdata : UInt<64>} - reg state : UInt<3>, clock with : (reset => (reset, UInt<3>("h00"))) @[axi4_to_ahb.scala 61:22] - reg buf_state : UInt<3>, clock with : (reset => (reset, UInt<3>("h00"))) @[axi4_to_ahb.scala 62:26] - reg buf_nxtstate : UInt<3>, clock with : (reset => (reset, UInt<3>("h00"))) @[axi4_to_ahb.scala 63:29] + wire buf_state : UInt<3> + buf_state <= UInt<3>("h00") + reg buf_nxtstate : UInt<3>, clock with : (reset => (reset, UInt<3>("h00"))) @[axi4_to_ahb.scala 62:29] wire slave_valid : UInt<1> slave_valid <= UInt<1>("h00") wire slave_ready : UInt<1> @@ -282,8 +282,8 @@ circuit axi4_to_ahb : wrbuf_byteen <= UInt<8>("h00") wire bus_write_clk_en : UInt<1> bus_write_clk_en <= UInt<1>("h00") - wire bus_clk : Clock @[axi4_to_ahb.scala 83:21] - wire bus_write_clk : Clock @[axi4_to_ahb.scala 84:27] + wire bus_clk : Clock @[axi4_to_ahb.scala 82:21] + wire bus_write_clk : Clock @[axi4_to_ahb.scala 83:27] wire master_valid : UInt<1> master_valid <= UInt<1>("h00") wire master_ready : UInt<1> @@ -396,160 +396,160 @@ circuit axi4_to_ahb : ahbm_addr_clken <= UInt<1>("h00") wire ahbm_data_clken : UInt<1> ahbm_data_clken <= UInt<1>("h00") - wire buf_clk : Clock @[axi4_to_ahb.scala 151:21] - wire ahbm_clk : Clock @[axi4_to_ahb.scala 153:22] - wire ahbm_addr_clk : Clock @[axi4_to_ahb.scala 154:27] - wire ahbm_data_clk : Clock @[axi4_to_ahb.scala 155:27] - node _T = and(io.axi_awvalid, io.axi_awready) @[axi4_to_ahb.scala 183:30] - node _T_1 = and(_T, master_ready) @[axi4_to_ahb.scala 183:47] - wrbuf_en <= _T_1 @[axi4_to_ahb.scala 183:12] - node _T_2 = and(io.axi_wvalid, io.axi_wready) @[axi4_to_ahb.scala 184:34] - node _T_3 = and(_T_2, master_ready) @[axi4_to_ahb.scala 184:50] - wrbuf_data_en <= _T_3 @[axi4_to_ahb.scala 184:17] - node _T_4 = and(master_valid, master_ready) @[axi4_to_ahb.scala 185:34] - node _T_5 = bits(master_opc, 2, 1) @[axi4_to_ahb.scala 185:62] - node _T_6 = eq(_T_5, UInt<1>("h01")) @[axi4_to_ahb.scala 185:69] - node _T_7 = and(_T_4, _T_6) @[axi4_to_ahb.scala 185:49] - wrbuf_cmd_sent <= _T_7 @[axi4_to_ahb.scala 185:18] - node _T_8 = eq(wrbuf_en, UInt<1>("h00")) @[axi4_to_ahb.scala 186:33] - node _T_9 = and(wrbuf_cmd_sent, _T_8) @[axi4_to_ahb.scala 186:31] - wrbuf_rst <= _T_9 @[axi4_to_ahb.scala 186:13] - node _T_10 = eq(wrbuf_cmd_sent, UInt<1>("h00")) @[axi4_to_ahb.scala 188:35] - node _T_11 = and(wrbuf_vld, _T_10) @[axi4_to_ahb.scala 188:33] - node _T_12 = eq(_T_11, UInt<1>("h00")) @[axi4_to_ahb.scala 188:21] - node _T_13 = and(_T_12, master_ready) @[axi4_to_ahb.scala 188:52] - io.axi_awready <= _T_13 @[axi4_to_ahb.scala 188:18] - node _T_14 = eq(wrbuf_cmd_sent, UInt<1>("h00")) @[axi4_to_ahb.scala 189:39] - node _T_15 = and(wrbuf_data_vld, _T_14) @[axi4_to_ahb.scala 189:37] - node _T_16 = eq(_T_15, UInt<1>("h00")) @[axi4_to_ahb.scala 189:20] - node _T_17 = and(_T_16, master_ready) @[axi4_to_ahb.scala 189:56] - io.axi_wready <= _T_17 @[axi4_to_ahb.scala 189:17] - node _T_18 = and(wrbuf_vld, wrbuf_data_vld) @[axi4_to_ahb.scala 190:33] - node _T_19 = eq(_T_18, UInt<1>("h00")) @[axi4_to_ahb.scala 190:21] - node _T_20 = and(_T_19, master_ready) @[axi4_to_ahb.scala 190:51] - io.axi_arready <= _T_20 @[axi4_to_ahb.scala 190:18] - io.axi_rlast <= UInt<1>("h01") @[axi4_to_ahb.scala 191:16] - node _T_21 = and(wrbuf_vld, wrbuf_data_vld) @[axi4_to_ahb.scala 193:27] - wr_cmd_vld <= _T_21 @[axi4_to_ahb.scala 193:14] - node _T_22 = or(wr_cmd_vld, io.axi_arvalid) @[axi4_to_ahb.scala 194:30] - master_valid <= _T_22 @[axi4_to_ahb.scala 194:16] - node _T_23 = bits(wr_cmd_vld, 0, 0) @[axi4_to_ahb.scala 195:38] - node _T_24 = bits(wrbuf_tag, 0, 0) @[axi4_to_ahb.scala 195:51] - node _T_25 = bits(io.axi_arid, 0, 0) @[axi4_to_ahb.scala 195:76] - node _T_26 = mux(_T_23, _T_24, _T_25) @[axi4_to_ahb.scala 195:20] - master_tag <= _T_26 @[axi4_to_ahb.scala 195:14] - node _T_27 = bits(wr_cmd_vld, 0, 0) @[axi4_to_ahb.scala 196:38] - node _T_28 = mux(_T_27, UInt<2>("h03"), UInt<1>("h00")) @[axi4_to_ahb.scala 196:20] - master_opc <= _T_28 @[axi4_to_ahb.scala 196:14] - node _T_29 = bits(wr_cmd_vld, 0, 0) @[axi4_to_ahb.scala 197:39] - node _T_30 = bits(wrbuf_addr, 31, 0) @[axi4_to_ahb.scala 197:53] - node _T_31 = bits(io.axi_araddr, 31, 0) @[axi4_to_ahb.scala 197:75] - node _T_32 = mux(_T_29, _T_30, _T_31) @[axi4_to_ahb.scala 197:21] - master_addr <= _T_32 @[axi4_to_ahb.scala 197:15] - node _T_33 = bits(wr_cmd_vld, 0, 0) @[axi4_to_ahb.scala 198:39] - node _T_34 = bits(wrbuf_size, 2, 0) @[axi4_to_ahb.scala 198:53] - node _T_35 = bits(io.axi_arsize, 2, 0) @[axi4_to_ahb.scala 198:74] - node _T_36 = mux(_T_33, _T_34, _T_35) @[axi4_to_ahb.scala 198:21] - master_size <= _T_36 @[axi4_to_ahb.scala 198:15] - node _T_37 = bits(wrbuf_byteen, 7, 0) @[axi4_to_ahb.scala 199:32] - master_byteen <= _T_37 @[axi4_to_ahb.scala 199:17] - node _T_38 = bits(wrbuf_data, 63, 0) @[axi4_to_ahb.scala 200:29] - master_wdata <= _T_38 @[axi4_to_ahb.scala 200:16] - node _T_39 = and(slave_valid, slave_ready) @[axi4_to_ahb.scala 203:32] - node _T_40 = bits(slave_opc, 3, 3) @[axi4_to_ahb.scala 203:57] - node _T_41 = and(_T_39, _T_40) @[axi4_to_ahb.scala 203:46] - io.axi_bvalid <= _T_41 @[axi4_to_ahb.scala 203:17] - node _T_42 = bits(slave_opc, 0, 0) @[axi4_to_ahb.scala 204:32] - node _T_43 = bits(slave_opc, 1, 1) @[axi4_to_ahb.scala 204:59] - node _T_44 = mux(_T_43, UInt<2>("h03"), UInt<1>("h00")) @[axi4_to_ahb.scala 204:49] - node _T_45 = mux(_T_42, UInt<2>("h02"), _T_44) @[axi4_to_ahb.scala 204:22] - io.axi_bresp <= _T_45 @[axi4_to_ahb.scala 204:16] - node _T_46 = bits(slave_tag, 0, 0) @[axi4_to_ahb.scala 205:26] - io.axi_bid <= _T_46 @[axi4_to_ahb.scala 205:14] - node _T_47 = and(slave_valid, slave_ready) @[axi4_to_ahb.scala 207:32] - node _T_48 = bits(slave_opc, 3, 2) @[axi4_to_ahb.scala 207:58] - node _T_49 = eq(_T_48, UInt<1>("h00")) @[axi4_to_ahb.scala 207:65] - node _T_50 = and(_T_47, _T_49) @[axi4_to_ahb.scala 207:46] - io.axi_rvalid <= _T_50 @[axi4_to_ahb.scala 207:17] - node _T_51 = bits(slave_opc, 0, 0) @[axi4_to_ahb.scala 208:32] - node _T_52 = bits(slave_opc, 1, 1) @[axi4_to_ahb.scala 208:59] - node _T_53 = mux(_T_52, UInt<2>("h03"), UInt<1>("h00")) @[axi4_to_ahb.scala 208:49] - node _T_54 = mux(_T_51, UInt<2>("h02"), _T_53) @[axi4_to_ahb.scala 208:22] - io.axi_rresp <= _T_54 @[axi4_to_ahb.scala 208:16] - node _T_55 = bits(slave_tag, 0, 0) @[axi4_to_ahb.scala 209:26] - io.axi_rid <= _T_55 @[axi4_to_ahb.scala 209:14] - node _T_56 = bits(slave_rdata, 63, 0) @[axi4_to_ahb.scala 210:30] - io.axi_rdata <= _T_56 @[axi4_to_ahb.scala 210:16] - node _T_57 = and(io.axi_bready, io.axi_rready) @[axi4_to_ahb.scala 211:32] - slave_ready <= _T_57 @[axi4_to_ahb.scala 211:15] - node _T_58 = and(io.axi_awvalid, io.axi_awready) @[axi4_to_ahb.scala 214:56] - node _T_59 = and(io.axi_wvalid, io.axi_wready) @[axi4_to_ahb.scala 214:91] - node _T_60 = or(_T_58, _T_59) @[axi4_to_ahb.scala 214:74] - node _T_61 = and(io.bus_clk_en, _T_60) @[axi4_to_ahb.scala 214:37] - bus_write_clk_en <= _T_61 @[axi4_to_ahb.scala 214:20] + wire buf_clk : Clock @[axi4_to_ahb.scala 150:21] + wire ahbm_clk : Clock @[axi4_to_ahb.scala 152:22] + wire ahbm_addr_clk : Clock @[axi4_to_ahb.scala 153:27] + wire ahbm_data_clk : Clock @[axi4_to_ahb.scala 154:27] + node _T = and(io.axi_awvalid, io.axi_awready) @[axi4_to_ahb.scala 182:30] + node _T_1 = and(_T, master_ready) @[axi4_to_ahb.scala 182:47] + wrbuf_en <= _T_1 @[axi4_to_ahb.scala 182:12] + node _T_2 = and(io.axi_wvalid, io.axi_wready) @[axi4_to_ahb.scala 183:34] + node _T_3 = and(_T_2, master_ready) @[axi4_to_ahb.scala 183:50] + wrbuf_data_en <= _T_3 @[axi4_to_ahb.scala 183:17] + node _T_4 = and(master_valid, master_ready) @[axi4_to_ahb.scala 184:34] + node _T_5 = bits(master_opc, 2, 1) @[axi4_to_ahb.scala 184:62] + node _T_6 = eq(_T_5, UInt<1>("h01")) @[axi4_to_ahb.scala 184:69] + node _T_7 = and(_T_4, _T_6) @[axi4_to_ahb.scala 184:49] + wrbuf_cmd_sent <= _T_7 @[axi4_to_ahb.scala 184:18] + node _T_8 = eq(wrbuf_en, UInt<1>("h00")) @[axi4_to_ahb.scala 185:33] + node _T_9 = and(wrbuf_cmd_sent, _T_8) @[axi4_to_ahb.scala 185:31] + wrbuf_rst <= _T_9 @[axi4_to_ahb.scala 185:13] + node _T_10 = eq(wrbuf_cmd_sent, UInt<1>("h00")) @[axi4_to_ahb.scala 187:35] + node _T_11 = and(wrbuf_vld, _T_10) @[axi4_to_ahb.scala 187:33] + node _T_12 = eq(_T_11, UInt<1>("h00")) @[axi4_to_ahb.scala 187:21] + node _T_13 = and(_T_12, master_ready) @[axi4_to_ahb.scala 187:52] + io.axi_awready <= _T_13 @[axi4_to_ahb.scala 187:18] + node _T_14 = eq(wrbuf_cmd_sent, UInt<1>("h00")) @[axi4_to_ahb.scala 188:39] + node _T_15 = and(wrbuf_data_vld, _T_14) @[axi4_to_ahb.scala 188:37] + node _T_16 = eq(_T_15, UInt<1>("h00")) @[axi4_to_ahb.scala 188:20] + node _T_17 = and(_T_16, master_ready) @[axi4_to_ahb.scala 188:56] + io.axi_wready <= _T_17 @[axi4_to_ahb.scala 188:17] + node _T_18 = and(wrbuf_vld, wrbuf_data_vld) @[axi4_to_ahb.scala 189:33] + node _T_19 = eq(_T_18, UInt<1>("h00")) @[axi4_to_ahb.scala 189:21] + node _T_20 = and(_T_19, master_ready) @[axi4_to_ahb.scala 189:51] + io.axi_arready <= _T_20 @[axi4_to_ahb.scala 189:18] + io.axi_rlast <= UInt<1>("h01") @[axi4_to_ahb.scala 190:16] + node _T_21 = and(wrbuf_vld, wrbuf_data_vld) @[axi4_to_ahb.scala 192:27] + wr_cmd_vld <= _T_21 @[axi4_to_ahb.scala 192:14] + node _T_22 = or(wr_cmd_vld, io.axi_arvalid) @[axi4_to_ahb.scala 193:30] + master_valid <= _T_22 @[axi4_to_ahb.scala 193:16] + node _T_23 = bits(wr_cmd_vld, 0, 0) @[axi4_to_ahb.scala 194:38] + node _T_24 = bits(wrbuf_tag, 0, 0) @[axi4_to_ahb.scala 194:51] + node _T_25 = bits(io.axi_arid, 0, 0) @[axi4_to_ahb.scala 194:76] + node _T_26 = mux(_T_23, _T_24, _T_25) @[axi4_to_ahb.scala 194:20] + master_tag <= _T_26 @[axi4_to_ahb.scala 194:14] + node _T_27 = bits(wr_cmd_vld, 0, 0) @[axi4_to_ahb.scala 195:38] + node _T_28 = mux(_T_27, UInt<2>("h03"), UInt<1>("h00")) @[axi4_to_ahb.scala 195:20] + master_opc <= _T_28 @[axi4_to_ahb.scala 195:14] + node _T_29 = bits(wr_cmd_vld, 0, 0) @[axi4_to_ahb.scala 196:39] + node _T_30 = bits(wrbuf_addr, 31, 0) @[axi4_to_ahb.scala 196:53] + node _T_31 = bits(io.axi_araddr, 31, 0) @[axi4_to_ahb.scala 196:75] + node _T_32 = mux(_T_29, _T_30, _T_31) @[axi4_to_ahb.scala 196:21] + master_addr <= _T_32 @[axi4_to_ahb.scala 196:15] + node _T_33 = bits(wr_cmd_vld, 0, 0) @[axi4_to_ahb.scala 197:39] + node _T_34 = bits(wrbuf_size, 2, 0) @[axi4_to_ahb.scala 197:53] + node _T_35 = bits(io.axi_arsize, 2, 0) @[axi4_to_ahb.scala 197:74] + node _T_36 = mux(_T_33, _T_34, _T_35) @[axi4_to_ahb.scala 197:21] + master_size <= _T_36 @[axi4_to_ahb.scala 197:15] + node _T_37 = bits(wrbuf_byteen, 7, 0) @[axi4_to_ahb.scala 198:32] + master_byteen <= _T_37 @[axi4_to_ahb.scala 198:17] + node _T_38 = bits(wrbuf_data, 63, 0) @[axi4_to_ahb.scala 199:29] + master_wdata <= _T_38 @[axi4_to_ahb.scala 199:16] + node _T_39 = and(slave_valid, slave_ready) @[axi4_to_ahb.scala 202:32] + node _T_40 = bits(slave_opc, 3, 3) @[axi4_to_ahb.scala 202:57] + node _T_41 = and(_T_39, _T_40) @[axi4_to_ahb.scala 202:46] + io.axi_bvalid <= _T_41 @[axi4_to_ahb.scala 202:17] + node _T_42 = bits(slave_opc, 0, 0) @[axi4_to_ahb.scala 203:32] + node _T_43 = bits(slave_opc, 1, 1) @[axi4_to_ahb.scala 203:59] + node _T_44 = mux(_T_43, UInt<2>("h03"), UInt<1>("h00")) @[axi4_to_ahb.scala 203:49] + node _T_45 = mux(_T_42, UInt<2>("h02"), _T_44) @[axi4_to_ahb.scala 203:22] + io.axi_bresp <= _T_45 @[axi4_to_ahb.scala 203:16] + node _T_46 = bits(slave_tag, 0, 0) @[axi4_to_ahb.scala 204:26] + io.axi_bid <= _T_46 @[axi4_to_ahb.scala 204:14] + node _T_47 = and(slave_valid, slave_ready) @[axi4_to_ahb.scala 206:32] + node _T_48 = bits(slave_opc, 3, 2) @[axi4_to_ahb.scala 206:58] + node _T_49 = eq(_T_48, UInt<1>("h00")) @[axi4_to_ahb.scala 206:65] + node _T_50 = and(_T_47, _T_49) @[axi4_to_ahb.scala 206:46] + io.axi_rvalid <= _T_50 @[axi4_to_ahb.scala 206:17] + node _T_51 = bits(slave_opc, 0, 0) @[axi4_to_ahb.scala 207:32] + node _T_52 = bits(slave_opc, 1, 1) @[axi4_to_ahb.scala 207:59] + node _T_53 = mux(_T_52, UInt<2>("h03"), UInt<1>("h00")) @[axi4_to_ahb.scala 207:49] + node _T_54 = mux(_T_51, UInt<2>("h02"), _T_53) @[axi4_to_ahb.scala 207:22] + io.axi_rresp <= _T_54 @[axi4_to_ahb.scala 207:16] + node _T_55 = bits(slave_tag, 0, 0) @[axi4_to_ahb.scala 208:26] + io.axi_rid <= _T_55 @[axi4_to_ahb.scala 208:14] + node _T_56 = bits(slave_rdata, 63, 0) @[axi4_to_ahb.scala 209:30] + io.axi_rdata <= _T_56 @[axi4_to_ahb.scala 209:16] + node _T_57 = and(io.axi_bready, io.axi_rready) @[axi4_to_ahb.scala 210:32] + slave_ready <= _T_57 @[axi4_to_ahb.scala 210:15] + node _T_58 = and(io.axi_awvalid, io.axi_awready) @[axi4_to_ahb.scala 213:56] + node _T_59 = and(io.axi_wvalid, io.axi_wready) @[axi4_to_ahb.scala 213:91] + node _T_60 = or(_T_58, _T_59) @[axi4_to_ahb.scala 213:74] + node _T_61 = and(io.bus_clk_en, _T_60) @[axi4_to_ahb.scala 213:37] + bus_write_clk_en <= _T_61 @[axi4_to_ahb.scala 213:20] inst rvclkhdr of rvclkhdr @[el2_lib.scala 483:22] rvclkhdr.clock <= clock rvclkhdr.reset <= reset rvclkhdr.io.clk <= clock @[el2_lib.scala 484:17] rvclkhdr.io.en <= io.bus_clk_en @[el2_lib.scala 485:16] rvclkhdr.io.scan_mode <= io.scan_mode @[el2_lib.scala 486:23] - bus_clk <= rvclkhdr.io.l1clk @[axi4_to_ahb.scala 216:11] - node _T_62 = bits(bus_write_clk_en, 0, 0) @[axi4_to_ahb.scala 217:59] + bus_clk <= rvclkhdr.io.l1clk @[axi4_to_ahb.scala 215:11] + node _T_62 = bits(bus_write_clk_en, 0, 0) @[axi4_to_ahb.scala 216:59] inst rvclkhdr_1 of rvclkhdr_1 @[el2_lib.scala 483:22] rvclkhdr_1.clock <= clock rvclkhdr_1.reset <= reset rvclkhdr_1.io.clk <= clock @[el2_lib.scala 484:17] rvclkhdr_1.io.en <= _T_62 @[el2_lib.scala 485:16] rvclkhdr_1.io.scan_mode <= io.scan_mode @[el2_lib.scala 486:23] - bus_write_clk <= rvclkhdr_1.io.l1clk @[axi4_to_ahb.scala 217:17] - io.ahb_htrans <= UInt<1>("h00") @[axi4_to_ahb.scala 220:17] - master_ready <= UInt<1>("h00") @[axi4_to_ahb.scala 221:16] - buf_state_en <= UInt<1>("h00") @[axi4_to_ahb.scala 222:16] + bus_write_clk <= rvclkhdr_1.io.l1clk @[axi4_to_ahb.scala 216:17] + io.ahb_htrans <= UInt<1>("h00") @[axi4_to_ahb.scala 219:17] + master_ready <= UInt<1>("h00") @[axi4_to_ahb.scala 220:16] + buf_state_en <= UInt<1>("h00") @[axi4_to_ahb.scala 221:16] node _T_63 = eq(UInt<3>("h00"), buf_state) @[Conditional.scala 37:30] when _T_63 : @[Conditional.scala 40:58] - master_ready <= UInt<1>("h01") @[axi4_to_ahb.scala 225:20] - node _T_64 = bits(master_opc, 2, 1) @[axi4_to_ahb.scala 226:34] - node _T_65 = eq(_T_64, UInt<1>("h01")) @[axi4_to_ahb.scala 226:41] - buf_write_in <= _T_65 @[axi4_to_ahb.scala 226:20] - node _T_66 = bits(buf_write_in, 0, 0) @[axi4_to_ahb.scala 227:46] - node _T_67 = mux(_T_66, UInt<3>("h02"), UInt<3>("h01")) @[axi4_to_ahb.scala 227:26] - buf_nxtstate <= _T_67 @[axi4_to_ahb.scala 227:20] - node _T_68 = and(master_valid, master_ready) @[axi4_to_ahb.scala 228:36] - buf_state_en <= _T_68 @[axi4_to_ahb.scala 228:20] - buf_wr_en <= buf_state_en @[axi4_to_ahb.scala 229:17] - node _T_69 = eq(buf_nxtstate, UInt<3>("h02")) @[axi4_to_ahb.scala 230:54] - node _T_70 = and(buf_state_en, _T_69) @[axi4_to_ahb.scala 230:38] - buf_data_wr_en <= _T_70 @[axi4_to_ahb.scala 230:22] - buf_cmd_byte_ptr_en <= buf_state_en @[axi4_to_ahb.scala 231:27] - node _T_71 = bits(buf_write_in, 0, 0) @[axi4_to_ahb.scala 233:50] - node _T_72 = bits(buf_byteen_in, 7, 0) @[axi4_to_ahb.scala 233:92] - node _T_73 = add(UInt<1>("h00"), UInt<1>("h01")) @[axi4_to_ahb.scala 177:52] - node _T_74 = tail(_T_73, 1) @[axi4_to_ahb.scala 177:52] - node _T_75 = mux(UInt<1>("h00"), _T_74, UInt<1>("h00")) @[axi4_to_ahb.scala 177:24] - node _T_76 = bits(_T_72, 0, 0) @[axi4_to_ahb.scala 178:44] - node _T_77 = geq(UInt<1>("h00"), _T_75) @[axi4_to_ahb.scala 178:62] - node _T_78 = and(_T_76, _T_77) @[axi4_to_ahb.scala 178:48] - node _T_79 = bits(_T_72, 1, 1) @[axi4_to_ahb.scala 178:44] - node _T_80 = geq(UInt<1>("h01"), _T_75) @[axi4_to_ahb.scala 178:62] - node _T_81 = and(_T_79, _T_80) @[axi4_to_ahb.scala 178:48] - node _T_82 = bits(_T_72, 2, 2) @[axi4_to_ahb.scala 178:44] - node _T_83 = geq(UInt<2>("h02"), _T_75) @[axi4_to_ahb.scala 178:62] - node _T_84 = and(_T_82, _T_83) @[axi4_to_ahb.scala 178:48] - node _T_85 = bits(_T_72, 3, 3) @[axi4_to_ahb.scala 178:44] - node _T_86 = geq(UInt<2>("h03"), _T_75) @[axi4_to_ahb.scala 178:62] - node _T_87 = and(_T_85, _T_86) @[axi4_to_ahb.scala 178:48] - node _T_88 = bits(_T_72, 4, 4) @[axi4_to_ahb.scala 178:44] - node _T_89 = geq(UInt<3>("h04"), _T_75) @[axi4_to_ahb.scala 178:62] - node _T_90 = and(_T_88, _T_89) @[axi4_to_ahb.scala 178:48] - node _T_91 = bits(_T_72, 5, 5) @[axi4_to_ahb.scala 178:44] - node _T_92 = geq(UInt<3>("h05"), _T_75) @[axi4_to_ahb.scala 178:62] - node _T_93 = and(_T_91, _T_92) @[axi4_to_ahb.scala 178:48] - node _T_94 = bits(_T_72, 6, 6) @[axi4_to_ahb.scala 178:44] - node _T_95 = geq(UInt<3>("h06"), _T_75) @[axi4_to_ahb.scala 178:62] - node _T_96 = and(_T_94, _T_95) @[axi4_to_ahb.scala 178:48] - node _T_97 = bits(_T_72, 7, 7) @[axi4_to_ahb.scala 178:44] - node _T_98 = geq(UInt<3>("h07"), _T_75) @[axi4_to_ahb.scala 178:62] - node _T_99 = and(_T_97, _T_98) @[axi4_to_ahb.scala 178:48] + master_ready <= UInt<1>("h01") @[axi4_to_ahb.scala 224:20] + node _T_64 = bits(master_opc, 2, 1) @[axi4_to_ahb.scala 225:34] + node _T_65 = eq(_T_64, UInt<1>("h01")) @[axi4_to_ahb.scala 225:41] + buf_write_in <= _T_65 @[axi4_to_ahb.scala 225:20] + node _T_66 = bits(buf_write_in, 0, 0) @[axi4_to_ahb.scala 226:46] + node _T_67 = mux(_T_66, UInt<3>("h02"), UInt<3>("h01")) @[axi4_to_ahb.scala 226:26] + buf_nxtstate <= _T_67 @[axi4_to_ahb.scala 226:20] + node _T_68 = and(master_valid, master_ready) @[axi4_to_ahb.scala 227:36] + buf_state_en <= _T_68 @[axi4_to_ahb.scala 227:20] + buf_wr_en <= buf_state_en @[axi4_to_ahb.scala 228:17] + node _T_69 = eq(buf_nxtstate, UInt<3>("h02")) @[axi4_to_ahb.scala 229:54] + node _T_70 = and(buf_state_en, _T_69) @[axi4_to_ahb.scala 229:38] + buf_data_wr_en <= _T_70 @[axi4_to_ahb.scala 229:22] + buf_cmd_byte_ptr_en <= buf_state_en @[axi4_to_ahb.scala 230:27] + node _T_71 = bits(buf_write_in, 0, 0) @[axi4_to_ahb.scala 232:50] + node _T_72 = bits(buf_byteen_in, 7, 0) @[axi4_to_ahb.scala 232:92] + node _T_73 = add(UInt<1>("h00"), UInt<1>("h01")) @[axi4_to_ahb.scala 176:52] + node _T_74 = tail(_T_73, 1) @[axi4_to_ahb.scala 176:52] + node _T_75 = mux(UInt<1>("h00"), _T_74, UInt<1>("h00")) @[axi4_to_ahb.scala 176:24] + node _T_76 = bits(_T_72, 0, 0) @[axi4_to_ahb.scala 177:44] + node _T_77 = geq(UInt<1>("h00"), _T_75) @[axi4_to_ahb.scala 177:62] + node _T_78 = and(_T_76, _T_77) @[axi4_to_ahb.scala 177:48] + node _T_79 = bits(_T_72, 1, 1) @[axi4_to_ahb.scala 177:44] + node _T_80 = geq(UInt<1>("h01"), _T_75) @[axi4_to_ahb.scala 177:62] + node _T_81 = and(_T_79, _T_80) @[axi4_to_ahb.scala 177:48] + node _T_82 = bits(_T_72, 2, 2) @[axi4_to_ahb.scala 177:44] + node _T_83 = geq(UInt<2>("h02"), _T_75) @[axi4_to_ahb.scala 177:62] + node _T_84 = and(_T_82, _T_83) @[axi4_to_ahb.scala 177:48] + node _T_85 = bits(_T_72, 3, 3) @[axi4_to_ahb.scala 177:44] + node _T_86 = geq(UInt<2>("h03"), _T_75) @[axi4_to_ahb.scala 177:62] + node _T_87 = and(_T_85, _T_86) @[axi4_to_ahb.scala 177:48] + node _T_88 = bits(_T_72, 4, 4) @[axi4_to_ahb.scala 177:44] + node _T_89 = geq(UInt<3>("h04"), _T_75) @[axi4_to_ahb.scala 177:62] + node _T_90 = and(_T_88, _T_89) @[axi4_to_ahb.scala 177:48] + node _T_91 = bits(_T_72, 5, 5) @[axi4_to_ahb.scala 177:44] + node _T_92 = geq(UInt<3>("h05"), _T_75) @[axi4_to_ahb.scala 177:62] + node _T_93 = and(_T_91, _T_92) @[axi4_to_ahb.scala 177:48] + node _T_94 = bits(_T_72, 6, 6) @[axi4_to_ahb.scala 177:44] + node _T_95 = geq(UInt<3>("h06"), _T_75) @[axi4_to_ahb.scala 177:62] + node _T_96 = and(_T_94, _T_95) @[axi4_to_ahb.scala 177:48] + node _T_97 = bits(_T_72, 7, 7) @[axi4_to_ahb.scala 177:44] + node _T_98 = geq(UInt<3>("h07"), _T_75) @[axi4_to_ahb.scala 177:62] + node _T_99 = and(_T_97, _T_98) @[axi4_to_ahb.scala 177:48] node _T_100 = mux(_T_99, UInt<3>("h07"), UInt<1>("h00")) @[Mux.scala 98:16] node _T_101 = mux(_T_96, UInt<3>("h06"), _T_100) @[Mux.scala 98:16] node _T_102 = mux(_T_93, UInt<3>("h05"), _T_101) @[Mux.scala 98:16] @@ -558,184 +558,184 @@ circuit axi4_to_ahb : node _T_105 = mux(_T_84, UInt<2>("h02"), _T_104) @[Mux.scala 98:16] node _T_106 = mux(_T_81, UInt<1>("h01"), _T_105) @[Mux.scala 98:16] node _T_107 = mux(_T_78, UInt<1>("h00"), _T_106) @[Mux.scala 98:16] - node _T_108 = bits(master_addr, 2, 0) @[axi4_to_ahb.scala 233:141] - node _T_109 = mux(_T_71, _T_107, _T_108) @[axi4_to_ahb.scala 233:30] - buf_cmd_byte_ptr <= _T_109 @[axi4_to_ahb.scala 233:24] - bypass_en <= buf_state_en @[axi4_to_ahb.scala 234:17] - node _T_110 = eq(buf_nxtstate, UInt<3>("h01")) @[axi4_to_ahb.scala 235:51] - node _T_111 = and(bypass_en, _T_110) @[axi4_to_ahb.scala 235:35] - rd_bypass_idle <= _T_111 @[axi4_to_ahb.scala 235:22] + node _T_108 = bits(master_addr, 2, 0) @[axi4_to_ahb.scala 232:141] + node _T_109 = mux(_T_71, _T_107, _T_108) @[axi4_to_ahb.scala 232:30] + buf_cmd_byte_ptr <= _T_109 @[axi4_to_ahb.scala 232:24] + bypass_en <= buf_state_en @[axi4_to_ahb.scala 233:17] + node _T_110 = eq(buf_nxtstate, UInt<3>("h01")) @[axi4_to_ahb.scala 234:51] + node _T_111 = and(bypass_en, _T_110) @[axi4_to_ahb.scala 234:35] + rd_bypass_idle <= _T_111 @[axi4_to_ahb.scala 234:22] node _T_112 = bits(bypass_en, 0, 0) @[Bitwise.scala 72:15] node _T_113 = mux(_T_112, UInt<2>("h03"), UInt<2>("h00")) @[Bitwise.scala 72:12] - node _T_114 = and(_T_113, UInt<2>("h02")) @[axi4_to_ahb.scala 236:45] - io.ahb_htrans <= _T_114 @[axi4_to_ahb.scala 236:21] + node _T_114 = and(_T_113, UInt<2>("h02")) @[axi4_to_ahb.scala 235:45] + io.ahb_htrans <= _T_114 @[axi4_to_ahb.scala 235:21] skip @[Conditional.scala 40:58] else : @[Conditional.scala 39:67] node _T_115 = eq(UInt<3>("h01"), buf_state) @[Conditional.scala 37:30] when _T_115 : @[Conditional.scala 39:67] - node _T_116 = bits(master_opc, 2, 0) @[axi4_to_ahb.scala 240:54] - node _T_117 = eq(_T_116, UInt<1>("h00")) @[axi4_to_ahb.scala 240:61] - node _T_118 = and(master_valid, _T_117) @[axi4_to_ahb.scala 240:41] - node _T_119 = bits(_T_118, 0, 0) @[axi4_to_ahb.scala 240:82] - node _T_120 = mux(_T_119, UInt<3>("h06"), UInt<3>("h03")) @[axi4_to_ahb.scala 240:26] - buf_nxtstate <= _T_120 @[axi4_to_ahb.scala 240:20] - node _T_121 = bits(ahb_htrans_q, 1, 0) @[axi4_to_ahb.scala 241:51] - node _T_122 = neq(_T_121, UInt<1>("h00")) @[axi4_to_ahb.scala 241:58] - node _T_123 = and(ahb_hready_q, _T_122) @[axi4_to_ahb.scala 241:36] - node _T_124 = eq(ahb_hwrite_q, UInt<1>("h00")) @[axi4_to_ahb.scala 241:72] - node _T_125 = and(_T_123, _T_124) @[axi4_to_ahb.scala 241:70] - buf_state_en <= _T_125 @[axi4_to_ahb.scala 241:20] - node _T_126 = eq(master_valid, UInt<1>("h00")) @[axi4_to_ahb.scala 242:34] - node _T_127 = and(buf_state_en, _T_126) @[axi4_to_ahb.scala 242:32] - cmd_done <= _T_127 @[axi4_to_ahb.scala 242:16] - slvbuf_wr_en <= buf_state_en @[axi4_to_ahb.scala 243:20] - node _T_128 = bits(ahb_htrans_q, 1, 0) @[axi4_to_ahb.scala 244:52] - node _T_129 = neq(_T_128, UInt<1>("h00")) @[axi4_to_ahb.scala 244:59] - node _T_130 = and(ahb_hready_q, _T_129) @[axi4_to_ahb.scala 244:37] - node _T_131 = eq(ahb_hwrite_q, UInt<1>("h00")) @[axi4_to_ahb.scala 244:73] - node _T_132 = and(_T_130, _T_131) @[axi4_to_ahb.scala 244:71] - node _T_133 = eq(buf_nxtstate, UInt<3>("h06")) @[axi4_to_ahb.scala 244:104] - node _T_134 = and(_T_132, _T_133) @[axi4_to_ahb.scala 244:88] - master_ready <= _T_134 @[axi4_to_ahb.scala 244:20] - buf_wr_en <= master_ready @[axi4_to_ahb.scala 245:17] - node _T_135 = and(master_ready, master_valid) @[axi4_to_ahb.scala 246:33] - bypass_en <= _T_135 @[axi4_to_ahb.scala 246:17] - node _T_136 = bits(bypass_en, 0, 0) @[axi4_to_ahb.scala 247:47] - node _T_137 = bits(master_addr, 2, 0) @[axi4_to_ahb.scala 247:62] - node _T_138 = bits(buf_addr, 2, 0) @[axi4_to_ahb.scala 247:78] - node _T_139 = mux(_T_136, _T_137, _T_138) @[axi4_to_ahb.scala 247:30] - buf_cmd_byte_ptr <= _T_139 @[axi4_to_ahb.scala 247:24] - node _T_140 = eq(buf_state_en, UInt<1>("h00")) @[axi4_to_ahb.scala 248:44] - node _T_141 = or(_T_140, bypass_en) @[axi4_to_ahb.scala 248:58] + node _T_116 = bits(master_opc, 2, 0) @[axi4_to_ahb.scala 239:54] + node _T_117 = eq(_T_116, UInt<1>("h00")) @[axi4_to_ahb.scala 239:61] + node _T_118 = and(master_valid, _T_117) @[axi4_to_ahb.scala 239:41] + node _T_119 = bits(_T_118, 0, 0) @[axi4_to_ahb.scala 239:82] + node _T_120 = mux(_T_119, UInt<3>("h06"), UInt<3>("h03")) @[axi4_to_ahb.scala 239:26] + buf_nxtstate <= _T_120 @[axi4_to_ahb.scala 239:20] + node _T_121 = bits(ahb_htrans_q, 1, 0) @[axi4_to_ahb.scala 240:51] + node _T_122 = neq(_T_121, UInt<1>("h00")) @[axi4_to_ahb.scala 240:58] + node _T_123 = and(ahb_hready_q, _T_122) @[axi4_to_ahb.scala 240:36] + node _T_124 = eq(ahb_hwrite_q, UInt<1>("h00")) @[axi4_to_ahb.scala 240:72] + node _T_125 = and(_T_123, _T_124) @[axi4_to_ahb.scala 240:70] + buf_state_en <= _T_125 @[axi4_to_ahb.scala 240:20] + node _T_126 = eq(master_valid, UInt<1>("h00")) @[axi4_to_ahb.scala 241:34] + node _T_127 = and(buf_state_en, _T_126) @[axi4_to_ahb.scala 241:32] + cmd_done <= _T_127 @[axi4_to_ahb.scala 241:16] + slvbuf_wr_en <= buf_state_en @[axi4_to_ahb.scala 242:20] + node _T_128 = bits(ahb_htrans_q, 1, 0) @[axi4_to_ahb.scala 243:52] + node _T_129 = neq(_T_128, UInt<1>("h00")) @[axi4_to_ahb.scala 243:59] + node _T_130 = and(ahb_hready_q, _T_129) @[axi4_to_ahb.scala 243:37] + node _T_131 = eq(ahb_hwrite_q, UInt<1>("h00")) @[axi4_to_ahb.scala 243:73] + node _T_132 = and(_T_130, _T_131) @[axi4_to_ahb.scala 243:71] + node _T_133 = eq(buf_nxtstate, UInt<3>("h06")) @[axi4_to_ahb.scala 243:104] + node _T_134 = and(_T_132, _T_133) @[axi4_to_ahb.scala 243:88] + master_ready <= _T_134 @[axi4_to_ahb.scala 243:20] + buf_wr_en <= master_ready @[axi4_to_ahb.scala 244:17] + node _T_135 = and(master_ready, master_valid) @[axi4_to_ahb.scala 245:33] + bypass_en <= _T_135 @[axi4_to_ahb.scala 245:17] + node _T_136 = bits(bypass_en, 0, 0) @[axi4_to_ahb.scala 246:47] + node _T_137 = bits(master_addr, 2, 0) @[axi4_to_ahb.scala 246:62] + node _T_138 = bits(buf_addr, 2, 0) @[axi4_to_ahb.scala 246:78] + node _T_139 = mux(_T_136, _T_137, _T_138) @[axi4_to_ahb.scala 246:30] + buf_cmd_byte_ptr <= _T_139 @[axi4_to_ahb.scala 246:24] + node _T_140 = eq(buf_state_en, UInt<1>("h00")) @[axi4_to_ahb.scala 247:44] + node _T_141 = or(_T_140, bypass_en) @[axi4_to_ahb.scala 247:58] node _T_142 = bits(_T_141, 0, 0) @[Bitwise.scala 72:15] node _T_143 = mux(_T_142, UInt<2>("h03"), UInt<2>("h00")) @[Bitwise.scala 72:12] - node _T_144 = and(UInt<2>("h02"), _T_143) @[axi4_to_ahb.scala 248:32] - io.ahb_htrans <= _T_144 @[axi4_to_ahb.scala 248:21] + node _T_144 = and(UInt<2>("h02"), _T_143) @[axi4_to_ahb.scala 247:32] + io.ahb_htrans <= _T_144 @[axi4_to_ahb.scala 247:21] skip @[Conditional.scala 39:67] else : @[Conditional.scala 39:67] node _T_145 = eq(UInt<3>("h06"), buf_state) @[Conditional.scala 37:30] when _T_145 : @[Conditional.scala 39:67] - node _T_146 = eq(ahb_hresp_q, UInt<1>("h00")) @[axi4_to_ahb.scala 252:39] - node _T_147 = and(ahb_hready_q, _T_146) @[axi4_to_ahb.scala 252:37] - node _T_148 = bits(master_opc, 2, 1) @[axi4_to_ahb.scala 252:82] - node _T_149 = eq(_T_148, UInt<1>("h01")) @[axi4_to_ahb.scala 252:89] - node _T_150 = and(master_valid, _T_149) @[axi4_to_ahb.scala 252:70] - node _T_151 = eq(_T_150, UInt<1>("h00")) @[axi4_to_ahb.scala 252:55] - node _T_152 = and(_T_147, _T_151) @[axi4_to_ahb.scala 252:53] - master_ready <= _T_152 @[axi4_to_ahb.scala 252:20] - node _T_153 = and(master_valid, master_ready) @[axi4_to_ahb.scala 253:34] - node _T_154 = bits(master_opc, 2, 0) @[axi4_to_ahb.scala 253:62] - node _T_155 = eq(_T_154, UInt<1>("h00")) @[axi4_to_ahb.scala 253:69] - node _T_156 = and(_T_153, _T_155) @[axi4_to_ahb.scala 253:49] - buf_wr_en <= _T_156 @[axi4_to_ahb.scala 253:17] - node _T_157 = bits(ahb_hresp_q, 0, 0) @[axi4_to_ahb.scala 254:45] - node _T_158 = bits(buf_wr_en, 0, 0) @[axi4_to_ahb.scala 254:84] - node _T_159 = mux(_T_158, UInt<3>("h06"), UInt<3>("h03")) @[axi4_to_ahb.scala 254:67] - node _T_160 = mux(_T_157, UInt<3>("h07"), _T_159) @[axi4_to_ahb.scala 254:26] - buf_nxtstate <= _T_160 @[axi4_to_ahb.scala 254:20] - node _T_161 = or(ahb_hready_q, ahb_hresp_q) @[axi4_to_ahb.scala 255:37] - buf_state_en <= _T_161 @[axi4_to_ahb.scala 255:20] - buf_data_wr_en <= buf_state_en @[axi4_to_ahb.scala 256:22] - slvbuf_error_in <= ahb_hresp_q @[axi4_to_ahb.scala 257:23] - slvbuf_error_en <= buf_state_en @[axi4_to_ahb.scala 258:23] - node _T_162 = eq(ahb_hresp_q, UInt<1>("h00")) @[axi4_to_ahb.scala 259:41] - node _T_163 = and(buf_state_en, _T_162) @[axi4_to_ahb.scala 259:39] - slave_valid_pre <= _T_163 @[axi4_to_ahb.scala 259:23] - node _T_164 = eq(master_valid, UInt<1>("h00")) @[axi4_to_ahb.scala 260:34] - node _T_165 = and(buf_state_en, _T_164) @[axi4_to_ahb.scala 260:32] - cmd_done <= _T_165 @[axi4_to_ahb.scala 260:16] - node _T_166 = and(master_ready, master_valid) @[axi4_to_ahb.scala 261:33] - node _T_167 = eq(buf_nxtstate, UInt<3>("h06")) @[axi4_to_ahb.scala 261:64] - node _T_168 = and(_T_166, _T_167) @[axi4_to_ahb.scala 261:48] - node _T_169 = and(_T_168, buf_state_en) @[axi4_to_ahb.scala 261:79] - bypass_en <= _T_169 @[axi4_to_ahb.scala 261:17] - node _T_170 = bits(bypass_en, 0, 0) @[axi4_to_ahb.scala 262:47] - node _T_171 = bits(master_addr, 2, 0) @[axi4_to_ahb.scala 262:62] - node _T_172 = bits(buf_addr, 2, 0) @[axi4_to_ahb.scala 262:78] - node _T_173 = mux(_T_170, _T_171, _T_172) @[axi4_to_ahb.scala 262:30] - buf_cmd_byte_ptr <= _T_173 @[axi4_to_ahb.scala 262:24] - node _T_174 = neq(buf_nxtstate, UInt<3>("h06")) @[axi4_to_ahb.scala 263:59] - node _T_175 = and(_T_174, buf_state_en) @[axi4_to_ahb.scala 263:74] - node _T_176 = eq(_T_175, UInt<1>("h00")) @[axi4_to_ahb.scala 263:43] + node _T_146 = eq(ahb_hresp_q, UInt<1>("h00")) @[axi4_to_ahb.scala 251:39] + node _T_147 = and(ahb_hready_q, _T_146) @[axi4_to_ahb.scala 251:37] + node _T_148 = bits(master_opc, 2, 1) @[axi4_to_ahb.scala 251:82] + node _T_149 = eq(_T_148, UInt<1>("h01")) @[axi4_to_ahb.scala 251:89] + node _T_150 = and(master_valid, _T_149) @[axi4_to_ahb.scala 251:70] + node _T_151 = eq(_T_150, UInt<1>("h00")) @[axi4_to_ahb.scala 251:55] + node _T_152 = and(_T_147, _T_151) @[axi4_to_ahb.scala 251:53] + master_ready <= _T_152 @[axi4_to_ahb.scala 251:20] + node _T_153 = and(master_valid, master_ready) @[axi4_to_ahb.scala 252:34] + node _T_154 = bits(master_opc, 2, 0) @[axi4_to_ahb.scala 252:62] + node _T_155 = eq(_T_154, UInt<1>("h00")) @[axi4_to_ahb.scala 252:69] + node _T_156 = and(_T_153, _T_155) @[axi4_to_ahb.scala 252:49] + buf_wr_en <= _T_156 @[axi4_to_ahb.scala 252:17] + node _T_157 = bits(ahb_hresp_q, 0, 0) @[axi4_to_ahb.scala 253:45] + node _T_158 = bits(buf_wr_en, 0, 0) @[axi4_to_ahb.scala 253:84] + node _T_159 = mux(_T_158, UInt<3>("h06"), UInt<3>("h03")) @[axi4_to_ahb.scala 253:67] + node _T_160 = mux(_T_157, UInt<3>("h07"), _T_159) @[axi4_to_ahb.scala 253:26] + buf_nxtstate <= _T_160 @[axi4_to_ahb.scala 253:20] + node _T_161 = or(ahb_hready_q, ahb_hresp_q) @[axi4_to_ahb.scala 254:37] + buf_state_en <= _T_161 @[axi4_to_ahb.scala 254:20] + buf_data_wr_en <= buf_state_en @[axi4_to_ahb.scala 255:22] + slvbuf_error_in <= ahb_hresp_q @[axi4_to_ahb.scala 256:23] + slvbuf_error_en <= buf_state_en @[axi4_to_ahb.scala 257:23] + node _T_162 = eq(ahb_hresp_q, UInt<1>("h00")) @[axi4_to_ahb.scala 258:41] + node _T_163 = and(buf_state_en, _T_162) @[axi4_to_ahb.scala 258:39] + slave_valid_pre <= _T_163 @[axi4_to_ahb.scala 258:23] + node _T_164 = eq(master_valid, UInt<1>("h00")) @[axi4_to_ahb.scala 259:34] + node _T_165 = and(buf_state_en, _T_164) @[axi4_to_ahb.scala 259:32] + cmd_done <= _T_165 @[axi4_to_ahb.scala 259:16] + node _T_166 = and(master_ready, master_valid) @[axi4_to_ahb.scala 260:33] + node _T_167 = eq(buf_nxtstate, UInt<3>("h06")) @[axi4_to_ahb.scala 260:64] + node _T_168 = and(_T_166, _T_167) @[axi4_to_ahb.scala 260:48] + node _T_169 = and(_T_168, buf_state_en) @[axi4_to_ahb.scala 260:79] + bypass_en <= _T_169 @[axi4_to_ahb.scala 260:17] + node _T_170 = bits(bypass_en, 0, 0) @[axi4_to_ahb.scala 261:47] + node _T_171 = bits(master_addr, 2, 0) @[axi4_to_ahb.scala 261:62] + node _T_172 = bits(buf_addr, 2, 0) @[axi4_to_ahb.scala 261:78] + node _T_173 = mux(_T_170, _T_171, _T_172) @[axi4_to_ahb.scala 261:30] + buf_cmd_byte_ptr <= _T_173 @[axi4_to_ahb.scala 261:24] + node _T_174 = neq(buf_nxtstate, UInt<3>("h06")) @[axi4_to_ahb.scala 262:59] + node _T_175 = and(_T_174, buf_state_en) @[axi4_to_ahb.scala 262:74] + node _T_176 = eq(_T_175, UInt<1>("h00")) @[axi4_to_ahb.scala 262:43] node _T_177 = bits(_T_176, 0, 0) @[Bitwise.scala 72:15] node _T_178 = mux(_T_177, UInt<2>("h03"), UInt<2>("h00")) @[Bitwise.scala 72:12] - node _T_179 = and(UInt<2>("h02"), _T_178) @[axi4_to_ahb.scala 263:32] - io.ahb_htrans <= _T_179 @[axi4_to_ahb.scala 263:21] - slvbuf_wr_en <= buf_wr_en @[axi4_to_ahb.scala 264:20] + node _T_179 = and(UInt<2>("h02"), _T_178) @[axi4_to_ahb.scala 262:32] + io.ahb_htrans <= _T_179 @[axi4_to_ahb.scala 262:21] + slvbuf_wr_en <= buf_wr_en @[axi4_to_ahb.scala 263:20] skip @[Conditional.scala 39:67] else : @[Conditional.scala 39:67] node _T_180 = eq(UInt<3>("h07"), buf_state) @[Conditional.scala 37:30] when _T_180 : @[Conditional.scala 39:67] - buf_nxtstate <= UInt<3>("h03") @[axi4_to_ahb.scala 268:20] - node _T_181 = bits(ahb_htrans_q, 1, 0) @[axi4_to_ahb.scala 269:51] - node _T_182 = neq(_T_181, UInt<1>("h00")) @[axi4_to_ahb.scala 269:58] - node _T_183 = and(ahb_hready_q, _T_182) @[axi4_to_ahb.scala 269:36] - node _T_184 = eq(ahb_hwrite_q, UInt<1>("h00")) @[axi4_to_ahb.scala 269:72] - node _T_185 = and(_T_183, _T_184) @[axi4_to_ahb.scala 269:70] - buf_state_en <= _T_185 @[axi4_to_ahb.scala 269:20] - slave_valid_pre <= buf_state_en @[axi4_to_ahb.scala 270:23] - slvbuf_wr_en <= buf_state_en @[axi4_to_ahb.scala 271:20] - node _T_186 = bits(buf_addr, 2, 0) @[axi4_to_ahb.scala 272:35] - buf_cmd_byte_ptr <= _T_186 @[axi4_to_ahb.scala 272:24] - node _T_187 = eq(buf_state_en, UInt<1>("h00")) @[axi4_to_ahb.scala 273:47] + buf_nxtstate <= UInt<3>("h03") @[axi4_to_ahb.scala 267:20] + node _T_181 = bits(ahb_htrans_q, 1, 0) @[axi4_to_ahb.scala 268:51] + node _T_182 = neq(_T_181, UInt<1>("h00")) @[axi4_to_ahb.scala 268:58] + node _T_183 = and(ahb_hready_q, _T_182) @[axi4_to_ahb.scala 268:36] + node _T_184 = eq(ahb_hwrite_q, UInt<1>("h00")) @[axi4_to_ahb.scala 268:72] + node _T_185 = and(_T_183, _T_184) @[axi4_to_ahb.scala 268:70] + buf_state_en <= _T_185 @[axi4_to_ahb.scala 268:20] + slave_valid_pre <= buf_state_en @[axi4_to_ahb.scala 269:23] + slvbuf_wr_en <= buf_state_en @[axi4_to_ahb.scala 270:20] + node _T_186 = bits(buf_addr, 2, 0) @[axi4_to_ahb.scala 271:35] + buf_cmd_byte_ptr <= _T_186 @[axi4_to_ahb.scala 271:24] + node _T_187 = eq(buf_state_en, UInt<1>("h00")) @[axi4_to_ahb.scala 272:47] node _T_188 = bits(_T_187, 0, 0) @[Bitwise.scala 72:15] node _T_189 = mux(_T_188, UInt<2>("h03"), UInt<2>("h00")) @[Bitwise.scala 72:12] - node _T_190 = and(UInt<2>("h02"), _T_189) @[axi4_to_ahb.scala 273:37] - io.ahb_htrans <= _T_190 @[axi4_to_ahb.scala 273:21] + node _T_190 = and(UInt<2>("h02"), _T_189) @[axi4_to_ahb.scala 272:37] + io.ahb_htrans <= _T_190 @[axi4_to_ahb.scala 272:21] skip @[Conditional.scala 39:67] else : @[Conditional.scala 39:67] node _T_191 = eq(UInt<3>("h03"), buf_state) @[Conditional.scala 37:30] when _T_191 : @[Conditional.scala 39:67] - buf_nxtstate <= UInt<3>("h05") @[axi4_to_ahb.scala 277:20] - node _T_192 = or(ahb_hready_q, ahb_hresp_q) @[axi4_to_ahb.scala 278:37] - buf_state_en <= _T_192 @[axi4_to_ahb.scala 278:20] - buf_data_wr_en <= buf_state_en @[axi4_to_ahb.scala 279:22] - slvbuf_error_in <= ahb_hresp_q @[axi4_to_ahb.scala 280:23] - slvbuf_error_en <= buf_state_en @[axi4_to_ahb.scala 281:23] - slvbuf_wr_en <= buf_state_en @[axi4_to_ahb.scala 282:20] + buf_nxtstate <= UInt<3>("h05") @[axi4_to_ahb.scala 276:20] + node _T_192 = or(ahb_hready_q, ahb_hresp_q) @[axi4_to_ahb.scala 277:37] + buf_state_en <= _T_192 @[axi4_to_ahb.scala 277:20] + buf_data_wr_en <= buf_state_en @[axi4_to_ahb.scala 278:22] + slvbuf_error_in <= ahb_hresp_q @[axi4_to_ahb.scala 279:23] + slvbuf_error_en <= buf_state_en @[axi4_to_ahb.scala 280:23] + slvbuf_wr_en <= buf_state_en @[axi4_to_ahb.scala 281:20] skip @[Conditional.scala 39:67] else : @[Conditional.scala 39:67] node _T_193 = eq(UInt<3>("h02"), buf_state) @[Conditional.scala 37:30] when _T_193 : @[Conditional.scala 39:67] - buf_nxtstate <= UInt<3>("h04") @[axi4_to_ahb.scala 286:20] - node _T_194 = and(ahb_hready_q, ahb_hwrite_q) @[axi4_to_ahb.scala 287:33] - node _T_195 = bits(ahb_htrans_q, 1, 0) @[axi4_to_ahb.scala 287:63] - node _T_196 = neq(_T_195, UInt<1>("h00")) @[axi4_to_ahb.scala 287:70] - node _T_197 = and(_T_194, _T_196) @[axi4_to_ahb.scala 287:48] - trxn_done <= _T_197 @[axi4_to_ahb.scala 287:17] - buf_state_en <= trxn_done @[axi4_to_ahb.scala 288:20] - buf_cmd_byte_ptr_en <= buf_state_en @[axi4_to_ahb.scala 289:27] - slvbuf_wr_en <= buf_state_en @[axi4_to_ahb.scala 290:20] - node _T_198 = bits(trxn_done, 0, 0) @[axi4_to_ahb.scala 291:47] - node _T_199 = bits(buf_cmd_byte_ptrQ, 2, 0) @[axi4_to_ahb.scala 291:85] - node _T_200 = bits(buf_byteen, 7, 0) @[axi4_to_ahb.scala 291:103] - node _T_201 = add(_T_199, UInt<1>("h01")) @[axi4_to_ahb.scala 177:52] - node _T_202 = tail(_T_201, 1) @[axi4_to_ahb.scala 177:52] - node _T_203 = mux(UInt<1>("h01"), _T_202, _T_199) @[axi4_to_ahb.scala 177:24] - node _T_204 = bits(_T_200, 0, 0) @[axi4_to_ahb.scala 178:44] - node _T_205 = geq(UInt<1>("h00"), _T_203) @[axi4_to_ahb.scala 178:62] - node _T_206 = and(_T_204, _T_205) @[axi4_to_ahb.scala 178:48] - node _T_207 = bits(_T_200, 1, 1) @[axi4_to_ahb.scala 178:44] - node _T_208 = geq(UInt<1>("h01"), _T_203) @[axi4_to_ahb.scala 178:62] - node _T_209 = and(_T_207, _T_208) @[axi4_to_ahb.scala 178:48] - node _T_210 = bits(_T_200, 2, 2) @[axi4_to_ahb.scala 178:44] - node _T_211 = geq(UInt<2>("h02"), _T_203) @[axi4_to_ahb.scala 178:62] - node _T_212 = and(_T_210, _T_211) @[axi4_to_ahb.scala 178:48] - node _T_213 = bits(_T_200, 3, 3) @[axi4_to_ahb.scala 178:44] - node _T_214 = geq(UInt<2>("h03"), _T_203) @[axi4_to_ahb.scala 178:62] - node _T_215 = and(_T_213, _T_214) @[axi4_to_ahb.scala 178:48] - node _T_216 = bits(_T_200, 4, 4) @[axi4_to_ahb.scala 178:44] - node _T_217 = geq(UInt<3>("h04"), _T_203) @[axi4_to_ahb.scala 178:62] - node _T_218 = and(_T_216, _T_217) @[axi4_to_ahb.scala 178:48] - node _T_219 = bits(_T_200, 5, 5) @[axi4_to_ahb.scala 178:44] - node _T_220 = geq(UInt<3>("h05"), _T_203) @[axi4_to_ahb.scala 178:62] - node _T_221 = and(_T_219, _T_220) @[axi4_to_ahb.scala 178:48] - node _T_222 = bits(_T_200, 6, 6) @[axi4_to_ahb.scala 178:44] - node _T_223 = geq(UInt<3>("h06"), _T_203) @[axi4_to_ahb.scala 178:62] - node _T_224 = and(_T_222, _T_223) @[axi4_to_ahb.scala 178:48] - node _T_225 = bits(_T_200, 7, 7) @[axi4_to_ahb.scala 178:44] - node _T_226 = geq(UInt<3>("h07"), _T_203) @[axi4_to_ahb.scala 178:62] - node _T_227 = and(_T_225, _T_226) @[axi4_to_ahb.scala 178:48] + buf_nxtstate <= UInt<3>("h04") @[axi4_to_ahb.scala 285:20] + node _T_194 = and(ahb_hready_q, ahb_hwrite_q) @[axi4_to_ahb.scala 286:33] + node _T_195 = bits(ahb_htrans_q, 1, 0) @[axi4_to_ahb.scala 286:63] + node _T_196 = neq(_T_195, UInt<1>("h00")) @[axi4_to_ahb.scala 286:70] + node _T_197 = and(_T_194, _T_196) @[axi4_to_ahb.scala 286:48] + trxn_done <= _T_197 @[axi4_to_ahb.scala 286:17] + buf_state_en <= trxn_done @[axi4_to_ahb.scala 287:20] + buf_cmd_byte_ptr_en <= buf_state_en @[axi4_to_ahb.scala 288:27] + slvbuf_wr_en <= buf_state_en @[axi4_to_ahb.scala 289:20] + node _T_198 = bits(trxn_done, 0, 0) @[axi4_to_ahb.scala 290:47] + node _T_199 = bits(buf_cmd_byte_ptrQ, 2, 0) @[axi4_to_ahb.scala 290:85] + node _T_200 = bits(buf_byteen, 7, 0) @[axi4_to_ahb.scala 290:103] + node _T_201 = add(_T_199, UInt<1>("h01")) @[axi4_to_ahb.scala 176:52] + node _T_202 = tail(_T_201, 1) @[axi4_to_ahb.scala 176:52] + node _T_203 = mux(UInt<1>("h01"), _T_202, _T_199) @[axi4_to_ahb.scala 176:24] + node _T_204 = bits(_T_200, 0, 0) @[axi4_to_ahb.scala 177:44] + node _T_205 = geq(UInt<1>("h00"), _T_203) @[axi4_to_ahb.scala 177:62] + node _T_206 = and(_T_204, _T_205) @[axi4_to_ahb.scala 177:48] + node _T_207 = bits(_T_200, 1, 1) @[axi4_to_ahb.scala 177:44] + node _T_208 = geq(UInt<1>("h01"), _T_203) @[axi4_to_ahb.scala 177:62] + node _T_209 = and(_T_207, _T_208) @[axi4_to_ahb.scala 177:48] + node _T_210 = bits(_T_200, 2, 2) @[axi4_to_ahb.scala 177:44] + node _T_211 = geq(UInt<2>("h02"), _T_203) @[axi4_to_ahb.scala 177:62] + node _T_212 = and(_T_210, _T_211) @[axi4_to_ahb.scala 177:48] + node _T_213 = bits(_T_200, 3, 3) @[axi4_to_ahb.scala 177:44] + node _T_214 = geq(UInt<2>("h03"), _T_203) @[axi4_to_ahb.scala 177:62] + node _T_215 = and(_T_213, _T_214) @[axi4_to_ahb.scala 177:48] + node _T_216 = bits(_T_200, 4, 4) @[axi4_to_ahb.scala 177:44] + node _T_217 = geq(UInt<3>("h04"), _T_203) @[axi4_to_ahb.scala 177:62] + node _T_218 = and(_T_216, _T_217) @[axi4_to_ahb.scala 177:48] + node _T_219 = bits(_T_200, 5, 5) @[axi4_to_ahb.scala 177:44] + node _T_220 = geq(UInt<3>("h05"), _T_203) @[axi4_to_ahb.scala 177:62] + node _T_221 = and(_T_219, _T_220) @[axi4_to_ahb.scala 177:48] + node _T_222 = bits(_T_200, 6, 6) @[axi4_to_ahb.scala 177:44] + node _T_223 = geq(UInt<3>("h06"), _T_203) @[axi4_to_ahb.scala 177:62] + node _T_224 = and(_T_222, _T_223) @[axi4_to_ahb.scala 177:48] + node _T_225 = bits(_T_200, 7, 7) @[axi4_to_ahb.scala 177:44] + node _T_226 = geq(UInt<3>("h07"), _T_203) @[axi4_to_ahb.scala 177:62] + node _T_227 = and(_T_225, _T_226) @[axi4_to_ahb.scala 177:48] node _T_228 = mux(_T_227, UInt<3>("h07"), UInt<1>("h00")) @[Mux.scala 98:16] node _T_229 = mux(_T_224, UInt<3>("h06"), _T_228) @[Mux.scala 98:16] node _T_230 = mux(_T_221, UInt<3>("h05"), _T_229) @[Mux.scala 98:16] @@ -744,39 +744,39 @@ circuit axi4_to_ahb : node _T_233 = mux(_T_212, UInt<2>("h02"), _T_232) @[Mux.scala 98:16] node _T_234 = mux(_T_209, UInt<1>("h01"), _T_233) @[Mux.scala 98:16] node _T_235 = mux(_T_206, UInt<1>("h00"), _T_234) @[Mux.scala 98:16] - node _T_236 = mux(_T_198, _T_235, buf_cmd_byte_ptrQ) @[axi4_to_ahb.scala 291:30] - buf_cmd_byte_ptr <= _T_236 @[axi4_to_ahb.scala 291:24] - node _T_237 = eq(buf_cmd_byte_ptrQ, UInt<3>("h07")) @[axi4_to_ahb.scala 292:65] - node _T_238 = or(buf_aligned, _T_237) @[axi4_to_ahb.scala 292:44] - node _T_239 = bits(buf_cmd_byte_ptrQ, 2, 0) @[axi4_to_ahb.scala 292:127] - node _T_240 = bits(buf_byteen, 7, 0) @[axi4_to_ahb.scala 292:145] - node _T_241 = add(_T_239, UInt<1>("h01")) @[axi4_to_ahb.scala 177:52] - node _T_242 = tail(_T_241, 1) @[axi4_to_ahb.scala 177:52] - node _T_243 = mux(UInt<1>("h01"), _T_242, _T_239) @[axi4_to_ahb.scala 177:24] - node _T_244 = bits(_T_240, 0, 0) @[axi4_to_ahb.scala 178:44] - node _T_245 = geq(UInt<1>("h00"), _T_243) @[axi4_to_ahb.scala 178:62] - node _T_246 = and(_T_244, _T_245) @[axi4_to_ahb.scala 178:48] - node _T_247 = bits(_T_240, 1, 1) @[axi4_to_ahb.scala 178:44] - node _T_248 = geq(UInt<1>("h01"), _T_243) @[axi4_to_ahb.scala 178:62] - node _T_249 = and(_T_247, _T_248) @[axi4_to_ahb.scala 178:48] - node _T_250 = bits(_T_240, 2, 2) @[axi4_to_ahb.scala 178:44] - node _T_251 = geq(UInt<2>("h02"), _T_243) @[axi4_to_ahb.scala 178:62] - node _T_252 = and(_T_250, _T_251) @[axi4_to_ahb.scala 178:48] - node _T_253 = bits(_T_240, 3, 3) @[axi4_to_ahb.scala 178:44] - node _T_254 = geq(UInt<2>("h03"), _T_243) @[axi4_to_ahb.scala 178:62] - node _T_255 = and(_T_253, _T_254) @[axi4_to_ahb.scala 178:48] - node _T_256 = bits(_T_240, 4, 4) @[axi4_to_ahb.scala 178:44] - node _T_257 = geq(UInt<3>("h04"), _T_243) @[axi4_to_ahb.scala 178:62] - node _T_258 = and(_T_256, _T_257) @[axi4_to_ahb.scala 178:48] - node _T_259 = bits(_T_240, 5, 5) @[axi4_to_ahb.scala 178:44] - node _T_260 = geq(UInt<3>("h05"), _T_243) @[axi4_to_ahb.scala 178:62] - node _T_261 = and(_T_259, _T_260) @[axi4_to_ahb.scala 178:48] - node _T_262 = bits(_T_240, 6, 6) @[axi4_to_ahb.scala 178:44] - node _T_263 = geq(UInt<3>("h06"), _T_243) @[axi4_to_ahb.scala 178:62] - node _T_264 = and(_T_262, _T_263) @[axi4_to_ahb.scala 178:48] - node _T_265 = bits(_T_240, 7, 7) @[axi4_to_ahb.scala 178:44] - node _T_266 = geq(UInt<3>("h07"), _T_243) @[axi4_to_ahb.scala 178:62] - node _T_267 = and(_T_265, _T_266) @[axi4_to_ahb.scala 178:48] + node _T_236 = mux(_T_198, _T_235, buf_cmd_byte_ptrQ) @[axi4_to_ahb.scala 290:30] + buf_cmd_byte_ptr <= _T_236 @[axi4_to_ahb.scala 290:24] + node _T_237 = eq(buf_cmd_byte_ptrQ, UInt<3>("h07")) @[axi4_to_ahb.scala 291:65] + node _T_238 = or(buf_aligned, _T_237) @[axi4_to_ahb.scala 291:44] + node _T_239 = bits(buf_cmd_byte_ptrQ, 2, 0) @[axi4_to_ahb.scala 291:127] + node _T_240 = bits(buf_byteen, 7, 0) @[axi4_to_ahb.scala 291:145] + node _T_241 = add(_T_239, UInt<1>("h01")) @[axi4_to_ahb.scala 176:52] + node _T_242 = tail(_T_241, 1) @[axi4_to_ahb.scala 176:52] + node _T_243 = mux(UInt<1>("h01"), _T_242, _T_239) @[axi4_to_ahb.scala 176:24] + node _T_244 = bits(_T_240, 0, 0) @[axi4_to_ahb.scala 177:44] + node _T_245 = geq(UInt<1>("h00"), _T_243) @[axi4_to_ahb.scala 177:62] + node _T_246 = and(_T_244, _T_245) @[axi4_to_ahb.scala 177:48] + node _T_247 = bits(_T_240, 1, 1) @[axi4_to_ahb.scala 177:44] + node _T_248 = geq(UInt<1>("h01"), _T_243) @[axi4_to_ahb.scala 177:62] + node _T_249 = and(_T_247, _T_248) @[axi4_to_ahb.scala 177:48] + node _T_250 = bits(_T_240, 2, 2) @[axi4_to_ahb.scala 177:44] + node _T_251 = geq(UInt<2>("h02"), _T_243) @[axi4_to_ahb.scala 177:62] + node _T_252 = and(_T_250, _T_251) @[axi4_to_ahb.scala 177:48] + node _T_253 = bits(_T_240, 3, 3) @[axi4_to_ahb.scala 177:44] + node _T_254 = geq(UInt<2>("h03"), _T_243) @[axi4_to_ahb.scala 177:62] + node _T_255 = and(_T_253, _T_254) @[axi4_to_ahb.scala 177:48] + node _T_256 = bits(_T_240, 4, 4) @[axi4_to_ahb.scala 177:44] + node _T_257 = geq(UInt<3>("h04"), _T_243) @[axi4_to_ahb.scala 177:62] + node _T_258 = and(_T_256, _T_257) @[axi4_to_ahb.scala 177:48] + node _T_259 = bits(_T_240, 5, 5) @[axi4_to_ahb.scala 177:44] + node _T_260 = geq(UInt<3>("h05"), _T_243) @[axi4_to_ahb.scala 177:62] + node _T_261 = and(_T_259, _T_260) @[axi4_to_ahb.scala 177:48] + node _T_262 = bits(_T_240, 6, 6) @[axi4_to_ahb.scala 177:44] + node _T_263 = geq(UInt<3>("h06"), _T_243) @[axi4_to_ahb.scala 177:62] + node _T_264 = and(_T_262, _T_263) @[axi4_to_ahb.scala 177:48] + node _T_265 = bits(_T_240, 7, 7) @[axi4_to_ahb.scala 177:44] + node _T_266 = geq(UInt<3>("h07"), _T_243) @[axi4_to_ahb.scala 177:62] + node _T_267 = and(_T_265, _T_266) @[axi4_to_ahb.scala 177:48] node _T_268 = mux(_T_267, UInt<3>("h07"), UInt<1>("h00")) @[Mux.scala 98:16] node _T_269 = mux(_T_264, UInt<3>("h06"), _T_268) @[Mux.scala 98:16] node _T_270 = mux(_T_261, UInt<3>("h05"), _T_269) @[Mux.scala 98:16] @@ -785,86 +785,86 @@ circuit axi4_to_ahb : node _T_273 = mux(_T_252, UInt<2>("h02"), _T_272) @[Mux.scala 98:16] node _T_274 = mux(_T_249, UInt<1>("h01"), _T_273) @[Mux.scala 98:16] node _T_275 = mux(_T_246, UInt<1>("h00"), _T_274) @[Mux.scala 98:16] - node _T_276 = dshr(buf_byteen, _T_275) @[axi4_to_ahb.scala 292:92] - node _T_277 = bits(_T_276, 0, 0) @[axi4_to_ahb.scala 292:92] - node _T_278 = eq(_T_277, UInt<1>("h00")) @[axi4_to_ahb.scala 292:163] - node _T_279 = or(_T_238, _T_278) @[axi4_to_ahb.scala 292:79] - node _T_280 = and(trxn_done, _T_279) @[axi4_to_ahb.scala 292:29] - cmd_done <= _T_280 @[axi4_to_ahb.scala 292:16] - node _T_281 = or(cmd_done, cmd_doneQ) @[axi4_to_ahb.scala 293:43] - node _T_282 = eq(_T_281, UInt<1>("h00")) @[axi4_to_ahb.scala 293:32] + node _T_276 = dshr(buf_byteen, _T_275) @[axi4_to_ahb.scala 291:92] + node _T_277 = bits(_T_276, 0, 0) @[axi4_to_ahb.scala 291:92] + node _T_278 = eq(_T_277, UInt<1>("h00")) @[axi4_to_ahb.scala 291:163] + node _T_279 = or(_T_238, _T_278) @[axi4_to_ahb.scala 291:79] + node _T_280 = and(trxn_done, _T_279) @[axi4_to_ahb.scala 291:29] + cmd_done <= _T_280 @[axi4_to_ahb.scala 291:16] + node _T_281 = or(cmd_done, cmd_doneQ) @[axi4_to_ahb.scala 292:43] + node _T_282 = eq(_T_281, UInt<1>("h00")) @[axi4_to_ahb.scala 292:32] node _T_283 = bits(_T_282, 0, 0) @[Bitwise.scala 72:15] node _T_284 = mux(_T_283, UInt<2>("h03"), UInt<2>("h00")) @[Bitwise.scala 72:12] - node _T_285 = and(_T_284, UInt<2>("h02")) @[axi4_to_ahb.scala 293:57] - io.ahb_htrans <= _T_285 @[axi4_to_ahb.scala 293:21] + node _T_285 = and(_T_284, UInt<2>("h02")) @[axi4_to_ahb.scala 292:57] + io.ahb_htrans <= _T_285 @[axi4_to_ahb.scala 292:21] skip @[Conditional.scala 39:67] else : @[Conditional.scala 39:67] node _T_286 = eq(UInt<3>("h04"), buf_state) @[Conditional.scala 37:30] when _T_286 : @[Conditional.scala 39:67] - node _T_287 = and(cmd_doneQ, ahb_hready_q) @[axi4_to_ahb.scala 297:34] - node _T_288 = or(_T_287, ahb_hresp_q) @[axi4_to_ahb.scala 297:50] - buf_state_en <= _T_288 @[axi4_to_ahb.scala 297:20] - node _T_289 = and(cmd_doneQ, ahb_hready_q) @[axi4_to_ahb.scala 298:35] - node _T_290 = or(_T_289, ahb_hresp_q) @[axi4_to_ahb.scala 298:51] - node _T_291 = eq(ahb_hresp_q, UInt<1>("h00")) @[axi4_to_ahb.scala 298:68] - node _T_292 = and(_T_290, _T_291) @[axi4_to_ahb.scala 298:66] - node _T_293 = and(_T_292, slave_ready) @[axi4_to_ahb.scala 298:81] - master_ready <= _T_293 @[axi4_to_ahb.scala 298:20] - node _T_294 = eq(slave_ready, UInt<1>("h00")) @[axi4_to_ahb.scala 299:42] - node _T_295 = or(ahb_hresp_q, _T_294) @[axi4_to_ahb.scala 299:40] - node _T_296 = bits(_T_295, 0, 0) @[axi4_to_ahb.scala 299:62] - node _T_297 = and(master_valid, master_ready) @[axi4_to_ahb.scala 299:90] - node _T_298 = bits(_T_297, 0, 0) @[axi4_to_ahb.scala 299:112] - node _T_299 = bits(master_opc, 2, 1) @[axi4_to_ahb.scala 299:131] - node _T_300 = eq(_T_299, UInt<1>("h01")) @[axi4_to_ahb.scala 299:138] - node _T_301 = mux(_T_300, UInt<3>("h02"), UInt<3>("h01")) @[axi4_to_ahb.scala 299:119] - node _T_302 = mux(_T_298, _T_301, UInt<3>("h00")) @[axi4_to_ahb.scala 299:75] - node _T_303 = mux(_T_296, UInt<3>("h05"), _T_302) @[axi4_to_ahb.scala 299:26] - buf_nxtstate <= _T_303 @[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_304 = bits(master_opc, 2, 1) @[axi4_to_ahb.scala 302:34] - node _T_305 = eq(_T_304, UInt<1>("h01")) @[axi4_to_ahb.scala 302:41] - buf_write_in <= _T_305 @[axi4_to_ahb.scala 302:20] - node _T_306 = eq(buf_nxtstate, UInt<3>("h02")) @[axi4_to_ahb.scala 303:50] - node _T_307 = eq(buf_nxtstate, UInt<3>("h01")) @[axi4_to_ahb.scala 303:78] - node _T_308 = or(_T_306, _T_307) @[axi4_to_ahb.scala 303:62] - node _T_309 = and(buf_state_en, _T_308) @[axi4_to_ahb.scala 303:33] - buf_wr_en <= _T_309 @[axi4_to_ahb.scala 303:17] - buf_data_wr_en <= buf_wr_en @[axi4_to_ahb.scala 304:22] - node _T_310 = bits(ahb_htrans_q, 1, 0) @[axi4_to_ahb.scala 305:63] - node _T_311 = neq(_T_310, UInt<1>("h00")) @[axi4_to_ahb.scala 305:70] - node _T_312 = and(ahb_hready_q, _T_311) @[axi4_to_ahb.scala 305:48] - node _T_313 = eq(buf_cmd_byte_ptrQ, UInt<3>("h07")) @[axi4_to_ahb.scala 305:104] - node _T_314 = bits(buf_cmd_byte_ptrQ, 2, 0) @[axi4_to_ahb.scala 305:166] - node _T_315 = bits(buf_byteen, 7, 0) @[axi4_to_ahb.scala 305:184] - node _T_316 = add(_T_314, UInt<1>("h01")) @[axi4_to_ahb.scala 177:52] - node _T_317 = tail(_T_316, 1) @[axi4_to_ahb.scala 177:52] - node _T_318 = mux(UInt<1>("h01"), _T_317, _T_314) @[axi4_to_ahb.scala 177:24] - node _T_319 = bits(_T_315, 0, 0) @[axi4_to_ahb.scala 178:44] - node _T_320 = geq(UInt<1>("h00"), _T_318) @[axi4_to_ahb.scala 178:62] - node _T_321 = and(_T_319, _T_320) @[axi4_to_ahb.scala 178:48] - node _T_322 = bits(_T_315, 1, 1) @[axi4_to_ahb.scala 178:44] - node _T_323 = geq(UInt<1>("h01"), _T_318) @[axi4_to_ahb.scala 178:62] - node _T_324 = and(_T_322, _T_323) @[axi4_to_ahb.scala 178:48] - node _T_325 = bits(_T_315, 2, 2) @[axi4_to_ahb.scala 178:44] - node _T_326 = geq(UInt<2>("h02"), _T_318) @[axi4_to_ahb.scala 178:62] - node _T_327 = and(_T_325, _T_326) @[axi4_to_ahb.scala 178:48] - node _T_328 = bits(_T_315, 3, 3) @[axi4_to_ahb.scala 178:44] - node _T_329 = geq(UInt<2>("h03"), _T_318) @[axi4_to_ahb.scala 178:62] - node _T_330 = and(_T_328, _T_329) @[axi4_to_ahb.scala 178:48] - node _T_331 = bits(_T_315, 4, 4) @[axi4_to_ahb.scala 178:44] - node _T_332 = geq(UInt<3>("h04"), _T_318) @[axi4_to_ahb.scala 178:62] - node _T_333 = and(_T_331, _T_332) @[axi4_to_ahb.scala 178:48] - node _T_334 = bits(_T_315, 5, 5) @[axi4_to_ahb.scala 178:44] - node _T_335 = geq(UInt<3>("h05"), _T_318) @[axi4_to_ahb.scala 178:62] - node _T_336 = and(_T_334, _T_335) @[axi4_to_ahb.scala 178:48] - node _T_337 = bits(_T_315, 6, 6) @[axi4_to_ahb.scala 178:44] - node _T_338 = geq(UInt<3>("h06"), _T_318) @[axi4_to_ahb.scala 178:62] - node _T_339 = and(_T_337, _T_338) @[axi4_to_ahb.scala 178:48] - node _T_340 = bits(_T_315, 7, 7) @[axi4_to_ahb.scala 178:44] - node _T_341 = geq(UInt<3>("h07"), _T_318) @[axi4_to_ahb.scala 178:62] - node _T_342 = and(_T_340, _T_341) @[axi4_to_ahb.scala 178:48] + node _T_287 = and(cmd_doneQ, ahb_hready_q) @[axi4_to_ahb.scala 296:34] + node _T_288 = or(_T_287, ahb_hresp_q) @[axi4_to_ahb.scala 296:50] + buf_state_en <= _T_288 @[axi4_to_ahb.scala 296:20] + node _T_289 = and(cmd_doneQ, ahb_hready_q) @[axi4_to_ahb.scala 297:35] + node _T_290 = or(_T_289, ahb_hresp_q) @[axi4_to_ahb.scala 297:51] + node _T_291 = eq(ahb_hresp_q, UInt<1>("h00")) @[axi4_to_ahb.scala 297:68] + node _T_292 = and(_T_290, _T_291) @[axi4_to_ahb.scala 297:66] + node _T_293 = and(_T_292, slave_ready) @[axi4_to_ahb.scala 297:81] + master_ready <= _T_293 @[axi4_to_ahb.scala 297:20] + node _T_294 = eq(slave_ready, UInt<1>("h00")) @[axi4_to_ahb.scala 298:42] + node _T_295 = or(ahb_hresp_q, _T_294) @[axi4_to_ahb.scala 298:40] + node _T_296 = bits(_T_295, 0, 0) @[axi4_to_ahb.scala 298:62] + node _T_297 = and(master_valid, master_ready) @[axi4_to_ahb.scala 298:90] + node _T_298 = bits(_T_297, 0, 0) @[axi4_to_ahb.scala 298:112] + node _T_299 = bits(master_opc, 2, 1) @[axi4_to_ahb.scala 298:131] + node _T_300 = eq(_T_299, UInt<1>("h01")) @[axi4_to_ahb.scala 298:138] + node _T_301 = mux(_T_300, UInt<3>("h02"), UInt<3>("h01")) @[axi4_to_ahb.scala 298:119] + node _T_302 = mux(_T_298, _T_301, UInt<3>("h00")) @[axi4_to_ahb.scala 298:75] + node _T_303 = mux(_T_296, UInt<3>("h05"), _T_302) @[axi4_to_ahb.scala 298:26] + buf_nxtstate <= _T_303 @[axi4_to_ahb.scala 298:20] + slvbuf_error_in <= ahb_hresp_q @[axi4_to_ahb.scala 299:23] + slvbuf_error_en <= buf_state_en @[axi4_to_ahb.scala 300:23] + node _T_304 = bits(master_opc, 2, 1) @[axi4_to_ahb.scala 301:34] + node _T_305 = eq(_T_304, UInt<1>("h01")) @[axi4_to_ahb.scala 301:41] + buf_write_in <= _T_305 @[axi4_to_ahb.scala 301:20] + node _T_306 = eq(buf_nxtstate, UInt<3>("h02")) @[axi4_to_ahb.scala 302:50] + node _T_307 = eq(buf_nxtstate, UInt<3>("h01")) @[axi4_to_ahb.scala 302:78] + node _T_308 = or(_T_306, _T_307) @[axi4_to_ahb.scala 302:62] + node _T_309 = and(buf_state_en, _T_308) @[axi4_to_ahb.scala 302:33] + buf_wr_en <= _T_309 @[axi4_to_ahb.scala 302:17] + buf_data_wr_en <= buf_wr_en @[axi4_to_ahb.scala 303:22] + node _T_310 = bits(ahb_htrans_q, 1, 0) @[axi4_to_ahb.scala 304:63] + node _T_311 = neq(_T_310, UInt<1>("h00")) @[axi4_to_ahb.scala 304:70] + node _T_312 = and(ahb_hready_q, _T_311) @[axi4_to_ahb.scala 304:48] + node _T_313 = eq(buf_cmd_byte_ptrQ, UInt<3>("h07")) @[axi4_to_ahb.scala 304:104] + node _T_314 = bits(buf_cmd_byte_ptrQ, 2, 0) @[axi4_to_ahb.scala 304:166] + node _T_315 = bits(buf_byteen, 7, 0) @[axi4_to_ahb.scala 304:184] + node _T_316 = add(_T_314, UInt<1>("h01")) @[axi4_to_ahb.scala 176:52] + node _T_317 = tail(_T_316, 1) @[axi4_to_ahb.scala 176:52] + node _T_318 = mux(UInt<1>("h01"), _T_317, _T_314) @[axi4_to_ahb.scala 176:24] + node _T_319 = bits(_T_315, 0, 0) @[axi4_to_ahb.scala 177:44] + node _T_320 = geq(UInt<1>("h00"), _T_318) @[axi4_to_ahb.scala 177:62] + node _T_321 = and(_T_319, _T_320) @[axi4_to_ahb.scala 177:48] + node _T_322 = bits(_T_315, 1, 1) @[axi4_to_ahb.scala 177:44] + node _T_323 = geq(UInt<1>("h01"), _T_318) @[axi4_to_ahb.scala 177:62] + node _T_324 = and(_T_322, _T_323) @[axi4_to_ahb.scala 177:48] + node _T_325 = bits(_T_315, 2, 2) @[axi4_to_ahb.scala 177:44] + node _T_326 = geq(UInt<2>("h02"), _T_318) @[axi4_to_ahb.scala 177:62] + node _T_327 = and(_T_325, _T_326) @[axi4_to_ahb.scala 177:48] + node _T_328 = bits(_T_315, 3, 3) @[axi4_to_ahb.scala 177:44] + node _T_329 = geq(UInt<2>("h03"), _T_318) @[axi4_to_ahb.scala 177:62] + node _T_330 = and(_T_328, _T_329) @[axi4_to_ahb.scala 177:48] + node _T_331 = bits(_T_315, 4, 4) @[axi4_to_ahb.scala 177:44] + node _T_332 = geq(UInt<3>("h04"), _T_318) @[axi4_to_ahb.scala 177:62] + node _T_333 = and(_T_331, _T_332) @[axi4_to_ahb.scala 177:48] + node _T_334 = bits(_T_315, 5, 5) @[axi4_to_ahb.scala 177:44] + node _T_335 = geq(UInt<3>("h05"), _T_318) @[axi4_to_ahb.scala 177:62] + node _T_336 = and(_T_334, _T_335) @[axi4_to_ahb.scala 177:48] + node _T_337 = bits(_T_315, 6, 6) @[axi4_to_ahb.scala 177:44] + node _T_338 = geq(UInt<3>("h06"), _T_318) @[axi4_to_ahb.scala 177:62] + node _T_339 = and(_T_337, _T_338) @[axi4_to_ahb.scala 177:48] + node _T_340 = bits(_T_315, 7, 7) @[axi4_to_ahb.scala 177:44] + node _T_341 = geq(UInt<3>("h07"), _T_318) @[axi4_to_ahb.scala 177:62] + node _T_342 = and(_T_340, _T_341) @[axi4_to_ahb.scala 177:48] node _T_343 = mux(_T_342, UInt<3>("h07"), UInt<1>("h00")) @[Mux.scala 98:16] node _T_344 = mux(_T_339, UInt<3>("h06"), _T_343) @[Mux.scala 98:16] node _T_345 = mux(_T_336, UInt<3>("h05"), _T_344) @[Mux.scala 98:16] @@ -873,63 +873,63 @@ circuit axi4_to_ahb : node _T_348 = mux(_T_327, UInt<2>("h02"), _T_347) @[Mux.scala 98:16] node _T_349 = mux(_T_324, UInt<1>("h01"), _T_348) @[Mux.scala 98:16] node _T_350 = mux(_T_321, UInt<1>("h00"), _T_349) @[Mux.scala 98:16] - node _T_351 = dshr(buf_byteen, _T_350) @[axi4_to_ahb.scala 305:131] - node _T_352 = bits(_T_351, 0, 0) @[axi4_to_ahb.scala 305:131] - node _T_353 = eq(_T_352, UInt<1>("h00")) @[axi4_to_ahb.scala 305:202] - node _T_354 = or(_T_313, _T_353) @[axi4_to_ahb.scala 305:118] - node _T_355 = and(_T_312, _T_354) @[axi4_to_ahb.scala 305:82] - node _T_356 = or(ahb_hresp_q, _T_355) @[axi4_to_ahb.scala 305:32] - cmd_done <= _T_356 @[axi4_to_ahb.scala 305:16] - node _T_357 = and(buf_state_en, buf_write_in) @[axi4_to_ahb.scala 306:33] - node _T_358 = eq(buf_nxtstate, UInt<3>("h02")) @[axi4_to_ahb.scala 306:64] - node _T_359 = and(_T_357, _T_358) @[axi4_to_ahb.scala 306:48] - bypass_en <= _T_359 @[axi4_to_ahb.scala 306:17] - node _T_360 = or(cmd_done, cmd_doneQ) @[axi4_to_ahb.scala 307:44] - node _T_361 = eq(_T_360, UInt<1>("h00")) @[axi4_to_ahb.scala 307:33] - node _T_362 = or(_T_361, bypass_en) @[axi4_to_ahb.scala 307:57] + node _T_351 = dshr(buf_byteen, _T_350) @[axi4_to_ahb.scala 304:131] + node _T_352 = bits(_T_351, 0, 0) @[axi4_to_ahb.scala 304:131] + node _T_353 = eq(_T_352, UInt<1>("h00")) @[axi4_to_ahb.scala 304:202] + node _T_354 = or(_T_313, _T_353) @[axi4_to_ahb.scala 304:118] + node _T_355 = and(_T_312, _T_354) @[axi4_to_ahb.scala 304:82] + node _T_356 = or(ahb_hresp_q, _T_355) @[axi4_to_ahb.scala 304:32] + cmd_done <= _T_356 @[axi4_to_ahb.scala 304:16] + node _T_357 = and(buf_state_en, buf_write_in) @[axi4_to_ahb.scala 305:33] + node _T_358 = eq(buf_nxtstate, UInt<3>("h02")) @[axi4_to_ahb.scala 305:64] + node _T_359 = and(_T_357, _T_358) @[axi4_to_ahb.scala 305:48] + bypass_en <= _T_359 @[axi4_to_ahb.scala 305:17] + node _T_360 = or(cmd_done, cmd_doneQ) @[axi4_to_ahb.scala 306:44] + node _T_361 = eq(_T_360, UInt<1>("h00")) @[axi4_to_ahb.scala 306:33] + node _T_362 = or(_T_361, bypass_en) @[axi4_to_ahb.scala 306:57] node _T_363 = bits(_T_362, 0, 0) @[Bitwise.scala 72:15] node _T_364 = mux(_T_363, UInt<2>("h03"), UInt<2>("h00")) @[Bitwise.scala 72:12] - node _T_365 = and(_T_364, UInt<2>("h02")) @[axi4_to_ahb.scala 307:71] - io.ahb_htrans <= _T_365 @[axi4_to_ahb.scala 307:21] - node _T_366 = neq(buf_nxtstate, UInt<3>("h05")) @[axi4_to_ahb.scala 308:55] - node _T_367 = and(buf_state_en, _T_366) @[axi4_to_ahb.scala 308:39] - slave_valid_pre <= _T_367 @[axi4_to_ahb.scala 308:23] - node _T_368 = and(ahb_hready_q, ahb_hwrite_q) @[axi4_to_ahb.scala 309:33] - node _T_369 = bits(ahb_htrans_q, 1, 0) @[axi4_to_ahb.scala 309:63] - node _T_370 = neq(_T_369, UInt<1>("h00")) @[axi4_to_ahb.scala 309:70] - node _T_371 = and(_T_368, _T_370) @[axi4_to_ahb.scala 309:48] - trxn_done <= _T_371 @[axi4_to_ahb.scala 309:17] - node _T_372 = or(trxn_done, bypass_en) @[axi4_to_ahb.scala 310:40] - buf_cmd_byte_ptr_en <= _T_372 @[axi4_to_ahb.scala 310:27] + node _T_365 = and(_T_364, UInt<2>("h02")) @[axi4_to_ahb.scala 306:71] + io.ahb_htrans <= _T_365 @[axi4_to_ahb.scala 306:21] + node _T_366 = neq(buf_nxtstate, UInt<3>("h05")) @[axi4_to_ahb.scala 307:55] + node _T_367 = and(buf_state_en, _T_366) @[axi4_to_ahb.scala 307:39] + slave_valid_pre <= _T_367 @[axi4_to_ahb.scala 307:23] + node _T_368 = and(ahb_hready_q, ahb_hwrite_q) @[axi4_to_ahb.scala 308:33] + node _T_369 = bits(ahb_htrans_q, 1, 0) @[axi4_to_ahb.scala 308:63] + node _T_370 = neq(_T_369, UInt<1>("h00")) @[axi4_to_ahb.scala 308:70] + node _T_371 = and(_T_368, _T_370) @[axi4_to_ahb.scala 308:48] + trxn_done <= _T_371 @[axi4_to_ahb.scala 308:17] + node _T_372 = or(trxn_done, bypass_en) @[axi4_to_ahb.scala 309:40] + buf_cmd_byte_ptr_en <= _T_372 @[axi4_to_ahb.scala 309:27] node _T_373 = mux(UInt<1>("h00"), UInt<3>("h07"), UInt<3>("h00")) @[Bitwise.scala 72:12] - node _T_374 = bits(buf_byteen_in, 7, 0) @[axi4_to_ahb.scala 313:85] - node _T_375 = add(_T_373, UInt<1>("h01")) @[axi4_to_ahb.scala 177:52] - node _T_376 = tail(_T_375, 1) @[axi4_to_ahb.scala 177:52] - node _T_377 = mux(UInt<1>("h00"), _T_376, _T_373) @[axi4_to_ahb.scala 177:24] - node _T_378 = bits(_T_374, 0, 0) @[axi4_to_ahb.scala 178:44] - node _T_379 = geq(UInt<1>("h00"), _T_377) @[axi4_to_ahb.scala 178:62] - node _T_380 = and(_T_378, _T_379) @[axi4_to_ahb.scala 178:48] - node _T_381 = bits(_T_374, 1, 1) @[axi4_to_ahb.scala 178:44] - node _T_382 = geq(UInt<1>("h01"), _T_377) @[axi4_to_ahb.scala 178:62] - node _T_383 = and(_T_381, _T_382) @[axi4_to_ahb.scala 178:48] - node _T_384 = bits(_T_374, 2, 2) @[axi4_to_ahb.scala 178:44] - node _T_385 = geq(UInt<2>("h02"), _T_377) @[axi4_to_ahb.scala 178:62] - node _T_386 = and(_T_384, _T_385) @[axi4_to_ahb.scala 178:48] - node _T_387 = bits(_T_374, 3, 3) @[axi4_to_ahb.scala 178:44] - node _T_388 = geq(UInt<2>("h03"), _T_377) @[axi4_to_ahb.scala 178:62] - node _T_389 = and(_T_387, _T_388) @[axi4_to_ahb.scala 178:48] - node _T_390 = bits(_T_374, 4, 4) @[axi4_to_ahb.scala 178:44] - node _T_391 = geq(UInt<3>("h04"), _T_377) @[axi4_to_ahb.scala 178:62] - node _T_392 = and(_T_390, _T_391) @[axi4_to_ahb.scala 178:48] - node _T_393 = bits(_T_374, 5, 5) @[axi4_to_ahb.scala 178:44] - node _T_394 = geq(UInt<3>("h05"), _T_377) @[axi4_to_ahb.scala 178:62] - node _T_395 = and(_T_393, _T_394) @[axi4_to_ahb.scala 178:48] - node _T_396 = bits(_T_374, 6, 6) @[axi4_to_ahb.scala 178:44] - node _T_397 = geq(UInt<3>("h06"), _T_377) @[axi4_to_ahb.scala 178:62] - node _T_398 = and(_T_396, _T_397) @[axi4_to_ahb.scala 178:48] - node _T_399 = bits(_T_374, 7, 7) @[axi4_to_ahb.scala 178:44] - node _T_400 = geq(UInt<3>("h07"), _T_377) @[axi4_to_ahb.scala 178:62] - node _T_401 = and(_T_399, _T_400) @[axi4_to_ahb.scala 178:48] + node _T_374 = bits(buf_byteen_in, 7, 0) @[axi4_to_ahb.scala 312:85] + node _T_375 = add(_T_373, UInt<1>("h01")) @[axi4_to_ahb.scala 176:52] + node _T_376 = tail(_T_375, 1) @[axi4_to_ahb.scala 176:52] + node _T_377 = mux(UInt<1>("h00"), _T_376, _T_373) @[axi4_to_ahb.scala 176:24] + node _T_378 = bits(_T_374, 0, 0) @[axi4_to_ahb.scala 177:44] + node _T_379 = geq(UInt<1>("h00"), _T_377) @[axi4_to_ahb.scala 177:62] + node _T_380 = and(_T_378, _T_379) @[axi4_to_ahb.scala 177:48] + node _T_381 = bits(_T_374, 1, 1) @[axi4_to_ahb.scala 177:44] + node _T_382 = geq(UInt<1>("h01"), _T_377) @[axi4_to_ahb.scala 177:62] + node _T_383 = and(_T_381, _T_382) @[axi4_to_ahb.scala 177:48] + node _T_384 = bits(_T_374, 2, 2) @[axi4_to_ahb.scala 177:44] + node _T_385 = geq(UInt<2>("h02"), _T_377) @[axi4_to_ahb.scala 177:62] + node _T_386 = and(_T_384, _T_385) @[axi4_to_ahb.scala 177:48] + node _T_387 = bits(_T_374, 3, 3) @[axi4_to_ahb.scala 177:44] + node _T_388 = geq(UInt<2>("h03"), _T_377) @[axi4_to_ahb.scala 177:62] + node _T_389 = and(_T_387, _T_388) @[axi4_to_ahb.scala 177:48] + node _T_390 = bits(_T_374, 4, 4) @[axi4_to_ahb.scala 177:44] + node _T_391 = geq(UInt<3>("h04"), _T_377) @[axi4_to_ahb.scala 177:62] + node _T_392 = and(_T_390, _T_391) @[axi4_to_ahb.scala 177:48] + node _T_393 = bits(_T_374, 5, 5) @[axi4_to_ahb.scala 177:44] + node _T_394 = geq(UInt<3>("h05"), _T_377) @[axi4_to_ahb.scala 177:62] + node _T_395 = and(_T_393, _T_394) @[axi4_to_ahb.scala 177:48] + node _T_396 = bits(_T_374, 6, 6) @[axi4_to_ahb.scala 177:44] + node _T_397 = geq(UInt<3>("h06"), _T_377) @[axi4_to_ahb.scala 177:62] + node _T_398 = and(_T_396, _T_397) @[axi4_to_ahb.scala 177:48] + node _T_399 = bits(_T_374, 7, 7) @[axi4_to_ahb.scala 177:44] + node _T_400 = geq(UInt<3>("h07"), _T_377) @[axi4_to_ahb.scala 177:62] + node _T_401 = and(_T_399, _T_400) @[axi4_to_ahb.scala 177:48] node _T_402 = mux(_T_401, UInt<3>("h07"), UInt<1>("h00")) @[Mux.scala 98:16] node _T_403 = mux(_T_398, UInt<3>("h06"), _T_402) @[Mux.scala 98:16] node _T_404 = mux(_T_395, UInt<3>("h05"), _T_403) @[Mux.scala 98:16] @@ -938,35 +938,35 @@ circuit axi4_to_ahb : node _T_407 = mux(_T_386, UInt<2>("h02"), _T_406) @[Mux.scala 98:16] node _T_408 = mux(_T_383, UInt<1>("h01"), _T_407) @[Mux.scala 98:16] node _T_409 = mux(_T_380, UInt<1>("h00"), _T_408) @[Mux.scala 98:16] - node _T_410 = bits(buf_cmd_byte_ptrQ, 2, 0) @[axi4_to_ahb.scala 313:151] - node _T_411 = bits(buf_byteen, 7, 0) @[axi4_to_ahb.scala 313:169] - node _T_412 = add(_T_410, UInt<1>("h01")) @[axi4_to_ahb.scala 177:52] - node _T_413 = tail(_T_412, 1) @[axi4_to_ahb.scala 177:52] - node _T_414 = mux(UInt<1>("h01"), _T_413, _T_410) @[axi4_to_ahb.scala 177:24] - node _T_415 = bits(_T_411, 0, 0) @[axi4_to_ahb.scala 178:44] - node _T_416 = geq(UInt<1>("h00"), _T_414) @[axi4_to_ahb.scala 178:62] - node _T_417 = and(_T_415, _T_416) @[axi4_to_ahb.scala 178:48] - node _T_418 = bits(_T_411, 1, 1) @[axi4_to_ahb.scala 178:44] - node _T_419 = geq(UInt<1>("h01"), _T_414) @[axi4_to_ahb.scala 178:62] - node _T_420 = and(_T_418, _T_419) @[axi4_to_ahb.scala 178:48] - node _T_421 = bits(_T_411, 2, 2) @[axi4_to_ahb.scala 178:44] - node _T_422 = geq(UInt<2>("h02"), _T_414) @[axi4_to_ahb.scala 178:62] - node _T_423 = and(_T_421, _T_422) @[axi4_to_ahb.scala 178:48] - node _T_424 = bits(_T_411, 3, 3) @[axi4_to_ahb.scala 178:44] - node _T_425 = geq(UInt<2>("h03"), _T_414) @[axi4_to_ahb.scala 178:62] - node _T_426 = and(_T_424, _T_425) @[axi4_to_ahb.scala 178:48] - node _T_427 = bits(_T_411, 4, 4) @[axi4_to_ahb.scala 178:44] - node _T_428 = geq(UInt<3>("h04"), _T_414) @[axi4_to_ahb.scala 178:62] - node _T_429 = and(_T_427, _T_428) @[axi4_to_ahb.scala 178:48] - node _T_430 = bits(_T_411, 5, 5) @[axi4_to_ahb.scala 178:44] - node _T_431 = geq(UInt<3>("h05"), _T_414) @[axi4_to_ahb.scala 178:62] - node _T_432 = and(_T_430, _T_431) @[axi4_to_ahb.scala 178:48] - node _T_433 = bits(_T_411, 6, 6) @[axi4_to_ahb.scala 178:44] - node _T_434 = geq(UInt<3>("h06"), _T_414) @[axi4_to_ahb.scala 178:62] - node _T_435 = and(_T_433, _T_434) @[axi4_to_ahb.scala 178:48] - node _T_436 = bits(_T_411, 7, 7) @[axi4_to_ahb.scala 178:44] - node _T_437 = geq(UInt<3>("h07"), _T_414) @[axi4_to_ahb.scala 178:62] - node _T_438 = and(_T_436, _T_437) @[axi4_to_ahb.scala 178:48] + node _T_410 = bits(buf_cmd_byte_ptrQ, 2, 0) @[axi4_to_ahb.scala 312:151] + node _T_411 = bits(buf_byteen, 7, 0) @[axi4_to_ahb.scala 312:169] + node _T_412 = add(_T_410, UInt<1>("h01")) @[axi4_to_ahb.scala 176:52] + node _T_413 = tail(_T_412, 1) @[axi4_to_ahb.scala 176:52] + node _T_414 = mux(UInt<1>("h01"), _T_413, _T_410) @[axi4_to_ahb.scala 176:24] + node _T_415 = bits(_T_411, 0, 0) @[axi4_to_ahb.scala 177:44] + node _T_416 = geq(UInt<1>("h00"), _T_414) @[axi4_to_ahb.scala 177:62] + node _T_417 = and(_T_415, _T_416) @[axi4_to_ahb.scala 177:48] + node _T_418 = bits(_T_411, 1, 1) @[axi4_to_ahb.scala 177:44] + node _T_419 = geq(UInt<1>("h01"), _T_414) @[axi4_to_ahb.scala 177:62] + node _T_420 = and(_T_418, _T_419) @[axi4_to_ahb.scala 177:48] + node _T_421 = bits(_T_411, 2, 2) @[axi4_to_ahb.scala 177:44] + node _T_422 = geq(UInt<2>("h02"), _T_414) @[axi4_to_ahb.scala 177:62] + node _T_423 = and(_T_421, _T_422) @[axi4_to_ahb.scala 177:48] + node _T_424 = bits(_T_411, 3, 3) @[axi4_to_ahb.scala 177:44] + node _T_425 = geq(UInt<2>("h03"), _T_414) @[axi4_to_ahb.scala 177:62] + node _T_426 = and(_T_424, _T_425) @[axi4_to_ahb.scala 177:48] + node _T_427 = bits(_T_411, 4, 4) @[axi4_to_ahb.scala 177:44] + node _T_428 = geq(UInt<3>("h04"), _T_414) @[axi4_to_ahb.scala 177:62] + node _T_429 = and(_T_427, _T_428) @[axi4_to_ahb.scala 177:48] + node _T_430 = bits(_T_411, 5, 5) @[axi4_to_ahb.scala 177:44] + node _T_431 = geq(UInt<3>("h05"), _T_414) @[axi4_to_ahb.scala 177:62] + node _T_432 = and(_T_430, _T_431) @[axi4_to_ahb.scala 177:48] + node _T_433 = bits(_T_411, 6, 6) @[axi4_to_ahb.scala 177:44] + node _T_434 = geq(UInt<3>("h06"), _T_414) @[axi4_to_ahb.scala 177:62] + node _T_435 = and(_T_433, _T_434) @[axi4_to_ahb.scala 177:48] + node _T_436 = bits(_T_411, 7, 7) @[axi4_to_ahb.scala 177:44] + node _T_437 = geq(UInt<3>("h07"), _T_414) @[axi4_to_ahb.scala 177:62] + node _T_438 = and(_T_436, _T_437) @[axi4_to_ahb.scala 177:48] node _T_439 = mux(_T_438, UInt<3>("h07"), UInt<1>("h00")) @[Mux.scala 98:16] node _T_440 = mux(_T_435, UInt<3>("h06"), _T_439) @[Mux.scala 98:16] node _T_441 = mux(_T_432, UInt<3>("h05"), _T_440) @[Mux.scala 98:16] @@ -975,238 +975,238 @@ circuit axi4_to_ahb : node _T_444 = mux(_T_423, UInt<2>("h02"), _T_443) @[Mux.scala 98:16] node _T_445 = mux(_T_420, UInt<1>("h01"), _T_444) @[Mux.scala 98:16] node _T_446 = mux(_T_417, UInt<1>("h00"), _T_445) @[Mux.scala 98:16] - node _T_447 = mux(trxn_done, _T_446, buf_cmd_byte_ptrQ) @[axi4_to_ahb.scala 313:106] - node _T_448 = mux(bypass_en, _T_409, _T_447) @[axi4_to_ahb.scala 313:30] - buf_cmd_byte_ptr <= _T_448 @[axi4_to_ahb.scala 313:24] + node _T_447 = mux(trxn_done, _T_446, buf_cmd_byte_ptrQ) @[axi4_to_ahb.scala 312:106] + node _T_448 = mux(bypass_en, _T_409, _T_447) @[axi4_to_ahb.scala 312:30] + buf_cmd_byte_ptr <= _T_448 @[axi4_to_ahb.scala 312:24] skip @[Conditional.scala 39:67] else : @[Conditional.scala 39:67] node _T_449 = eq(UInt<3>("h05"), buf_state) @[Conditional.scala 37:30] when _T_449 : @[Conditional.scala 39:67] - buf_nxtstate <= UInt<3>("h00") @[axi4_to_ahb.scala 316:20] - buf_state_en <= slave_ready @[axi4_to_ahb.scala 317:20] - slvbuf_error_en <= UInt<1>("h01") @[axi4_to_ahb.scala 318:23] - slave_valid_pre <= UInt<1>("h01") @[axi4_to_ahb.scala 319:23] + 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] skip @[Conditional.scala 39:67] - buf_rst <= UInt<1>("h00") @[axi4_to_ahb.scala 323:11] - cmd_done_rst <= slave_valid_pre @[axi4_to_ahb.scala 324:16] - node _T_450 = bits(master_opc, 2, 1) @[axi4_to_ahb.scala 325:68] - node _T_451 = eq(_T_450, UInt<1>("h01")) @[axi4_to_ahb.scala 325:75] - node _T_452 = and(buf_aligned_in, _T_451) @[axi4_to_ahb.scala 325:55] - node _T_453 = bits(_T_452, 0, 0) @[axi4_to_ahb.scala 325:95] - node _T_454 = bits(master_byteen, 7, 0) @[axi4_to_ahb.scala 325:127] + buf_rst <= UInt<1>("h00") @[axi4_to_ahb.scala 322:11] + cmd_done_rst <= slave_valid_pre @[axi4_to_ahb.scala 323:16] + node _T_450 = bits(master_opc, 2, 1) @[axi4_to_ahb.scala 324:68] + node _T_451 = eq(_T_450, UInt<1>("h01")) @[axi4_to_ahb.scala 324:75] + node _T_452 = and(buf_aligned_in, _T_451) @[axi4_to_ahb.scala 324:55] + node _T_453 = bits(_T_452, 0, 0) @[axi4_to_ahb.scala 324:95] + node _T_454 = bits(master_byteen, 7, 0) @[axi4_to_ahb.scala 324:127] wire _T_455 : UInt<8> _T_455 <= UInt<8>("h00") - node _T_456 = bits(_T_455, 7, 0) @[axi4_to_ahb.scala 169:44] - node _T_457 = eq(_T_456, UInt<8>("h0ff")) @[axi4_to_ahb.scala 169:51] - node _T_458 = bits(_T_455, 7, 0) @[axi4_to_ahb.scala 169:75] - node _T_459 = eq(_T_458, UInt<4>("h0f")) @[axi4_to_ahb.scala 169:82] - node _T_460 = or(_T_457, _T_459) @[axi4_to_ahb.scala 169:64] - node _T_461 = bits(_T_455, 7, 0) @[axi4_to_ahb.scala 169:106] - node _T_462 = eq(_T_461, UInt<2>("h03")) @[axi4_to_ahb.scala 169:113] - node _T_463 = or(_T_460, _T_462) @[axi4_to_ahb.scala 169:95] + node _T_456 = bits(_T_455, 7, 0) @[axi4_to_ahb.scala 168:44] + node _T_457 = eq(_T_456, UInt<8>("h0ff")) @[axi4_to_ahb.scala 168:51] + node _T_458 = bits(_T_455, 7, 0) @[axi4_to_ahb.scala 168:75] + node _T_459 = eq(_T_458, UInt<4>("h0f")) @[axi4_to_ahb.scala 168:82] + node _T_460 = or(_T_457, _T_459) @[axi4_to_ahb.scala 168:64] + node _T_461 = bits(_T_455, 7, 0) @[axi4_to_ahb.scala 168:106] + node _T_462 = eq(_T_461, UInt<2>("h03")) @[axi4_to_ahb.scala 168:113] + node _T_463 = or(_T_460, _T_462) @[axi4_to_ahb.scala 168:95] node _T_464 = bits(_T_463, 0, 0) @[Bitwise.scala 72:15] node _T_465 = mux(_T_464, UInt<3>("h07"), UInt<3>("h00")) @[Bitwise.scala 72:12] - node _T_466 = and(UInt<1>("h00"), _T_465) @[axi4_to_ahb.scala 169:24] - node _T_467 = bits(_T_455, 7, 0) @[axi4_to_ahb.scala 170:35] - node _T_468 = eq(_T_467, UInt<4>("h0c")) @[axi4_to_ahb.scala 170:42] + node _T_466 = and(UInt<1>("h00"), _T_465) @[axi4_to_ahb.scala 168:24] + node _T_467 = bits(_T_455, 7, 0) @[axi4_to_ahb.scala 169:35] + node _T_468 = eq(_T_467, UInt<4>("h0c")) @[axi4_to_ahb.scala 169:42] 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<2>("h02"), _T_470) @[axi4_to_ahb.scala 170:15] - node _T_472 = or(_T_466, _T_471) @[axi4_to_ahb.scala 169:128] - node _T_473 = bits(_T_455, 7, 0) @[axi4_to_ahb.scala 171:36] - node _T_474 = eq(_T_473, UInt<8>("h0f0")) @[axi4_to_ahb.scala 171:43] - node _T_475 = bits(_T_455, 7, 0) @[axi4_to_ahb.scala 171:67] - node _T_476 = eq(_T_475, UInt<2>("h03")) @[axi4_to_ahb.scala 171:74] - node _T_477 = or(_T_474, _T_476) @[axi4_to_ahb.scala 171:56] + node _T_471 = and(UInt<2>("h02"), _T_470) @[axi4_to_ahb.scala 169:15] + node _T_472 = or(_T_466, _T_471) @[axi4_to_ahb.scala 168:128] + node _T_473 = bits(_T_455, 7, 0) @[axi4_to_ahb.scala 170:36] + node _T_474 = eq(_T_473, UInt<8>("h0f0")) @[axi4_to_ahb.scala 170:43] + node _T_475 = bits(_T_455, 7, 0) @[axi4_to_ahb.scala 170:67] + node _T_476 = eq(_T_475, UInt<2>("h03")) @[axi4_to_ahb.scala 170:74] + node _T_477 = or(_T_474, _T_476) @[axi4_to_ahb.scala 170:56] 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>("h04"), _T_479) @[axi4_to_ahb.scala 171:15] - node _T_481 = bits(_T_455, 7, 0) @[axi4_to_ahb.scala 172:37] - node _T_482 = eq(_T_481, UInt<8>("h0c0")) @[axi4_to_ahb.scala 172:44] + node _T_480 = and(UInt<3>("h04"), _T_479) @[axi4_to_ahb.scala 170:15] + node _T_481 = bits(_T_455, 7, 0) @[axi4_to_ahb.scala 171:37] + node _T_482 = eq(_T_481, UInt<8>("h0c0")) @[axi4_to_ahb.scala 171:44] node _T_483 = bits(_T_482, 0, 0) @[Bitwise.scala 72:15] node _T_484 = mux(_T_483, UInt<3>("h07"), UInt<3>("h00")) @[Bitwise.scala 72:12] - node _T_485 = and(UInt<3>("h06"), _T_484) @[axi4_to_ahb.scala 172:17] - node _T_486 = or(_T_480, _T_485) @[axi4_to_ahb.scala 171:90] - node _T_487 = or(_T_472, _T_486) @[axi4_to_ahb.scala 170:58] - node _T_488 = bits(master_addr, 2, 0) @[axi4_to_ahb.scala 325:147] - node _T_489 = mux(_T_453, _T_487, _T_488) @[axi4_to_ahb.scala 325:38] + node _T_485 = and(UInt<3>("h06"), _T_484) @[axi4_to_ahb.scala 171:17] + node _T_486 = or(_T_480, _T_485) @[axi4_to_ahb.scala 170:90] + node _T_487 = or(_T_472, _T_486) @[axi4_to_ahb.scala 169:58] + node _T_488 = bits(master_addr, 2, 0) @[axi4_to_ahb.scala 324:147] + node _T_489 = mux(_T_453, _T_487, _T_488) @[axi4_to_ahb.scala 324:38] node _T_490 = cat(master_addr, _T_489) @[Cat.scala 29:58] - buf_addr_in <= _T_490 @[axi4_to_ahb.scala 325:15] - node _T_491 = bits(master_tag, 0, 0) @[axi4_to_ahb.scala 326:27] - buf_tag_in <= _T_491 @[axi4_to_ahb.scala 326:14] - node _T_492 = bits(wrbuf_byteen, 7, 0) @[axi4_to_ahb.scala 327:32] - buf_byteen_in <= _T_492 @[axi4_to_ahb.scala 327:17] - node _T_493 = eq(buf_state, UInt<3>("h03")) @[axi4_to_ahb.scala 328:33] - node _T_494 = bits(ahb_hrdata_q, 63, 0) @[axi4_to_ahb.scala 328:59] - node _T_495 = bits(master_wdata, 63, 0) @[axi4_to_ahb.scala 328:80] - node _T_496 = mux(_T_493, _T_494, _T_495) @[axi4_to_ahb.scala 328:21] - buf_data_in <= _T_496 @[axi4_to_ahb.scala 328:15] - node _T_497 = bits(master_size, 1, 0) @[axi4_to_ahb.scala 329:52] - node _T_498 = eq(_T_497, UInt<2>("h03")) @[axi4_to_ahb.scala 329:59] - node _T_499 = and(buf_aligned_in, _T_498) @[axi4_to_ahb.scala 329:38] - node _T_500 = bits(master_opc, 2, 1) @[axi4_to_ahb.scala 329:85] - node _T_501 = eq(_T_500, UInt<1>("h01")) @[axi4_to_ahb.scala 329:92] - node _T_502 = and(_T_499, _T_501) @[axi4_to_ahb.scala 329:72] - node _T_503 = bits(_T_502, 0, 0) @[axi4_to_ahb.scala 329:112] - node _T_504 = bits(master_byteen, 7, 0) @[axi4_to_ahb.scala 329:144] + buf_addr_in <= _T_490 @[axi4_to_ahb.scala 324:15] + node _T_491 = bits(master_tag, 0, 0) @[axi4_to_ahb.scala 325:27] + buf_tag_in <= _T_491 @[axi4_to_ahb.scala 325:14] + node _T_492 = bits(wrbuf_byteen, 7, 0) @[axi4_to_ahb.scala 326:32] + buf_byteen_in <= _T_492 @[axi4_to_ahb.scala 326:17] + node _T_493 = eq(buf_state, UInt<3>("h03")) @[axi4_to_ahb.scala 327:33] + node _T_494 = bits(ahb_hrdata_q, 63, 0) @[axi4_to_ahb.scala 327:59] + node _T_495 = bits(master_wdata, 63, 0) @[axi4_to_ahb.scala 327:80] + node _T_496 = mux(_T_493, _T_494, _T_495) @[axi4_to_ahb.scala 327:21] + buf_data_in <= _T_496 @[axi4_to_ahb.scala 327:15] + node _T_497 = bits(master_size, 1, 0) @[axi4_to_ahb.scala 328:52] + node _T_498 = eq(_T_497, UInt<2>("h03")) @[axi4_to_ahb.scala 328:59] + node _T_499 = and(buf_aligned_in, _T_498) @[axi4_to_ahb.scala 328:38] + node _T_500 = bits(master_opc, 2, 1) @[axi4_to_ahb.scala 328:85] + node _T_501 = eq(_T_500, UInt<1>("h01")) @[axi4_to_ahb.scala 328:92] + node _T_502 = and(_T_499, _T_501) @[axi4_to_ahb.scala 328:72] + node _T_503 = bits(_T_502, 0, 0) @[axi4_to_ahb.scala 328:112] + node _T_504 = bits(master_byteen, 7, 0) @[axi4_to_ahb.scala 328:144] wire _T_505 : UInt<8> _T_505 <= UInt<8>("h00") - node _T_506 = bits(_T_505, 7, 0) @[axi4_to_ahb.scala 161:43] - node _T_507 = eq(_T_506, UInt<8>("h0ff")) @[axi4_to_ahb.scala 161:50] + node _T_506 = bits(_T_505, 7, 0) @[axi4_to_ahb.scala 160:43] + node _T_507 = eq(_T_506, UInt<8>("h0ff")) @[axi4_to_ahb.scala 160:50] node _T_508 = bits(_T_507, 0, 0) @[Bitwise.scala 72:15] node _T_509 = mux(_T_508, UInt<2>("h03"), UInt<2>("h00")) @[Bitwise.scala 72:12] - node _T_510 = and(UInt<2>("h03"), _T_509) @[axi4_to_ahb.scala 161:25] - node _T_511 = bits(_T_505, 7, 0) @[axi4_to_ahb.scala 162:34] - node _T_512 = eq(_T_511, UInt<8>("h0f0")) @[axi4_to_ahb.scala 162:41] - node _T_513 = bits(_T_505, 7, 0) @[axi4_to_ahb.scala 162:63] - node _T_514 = eq(_T_513, UInt<4>("h0f")) @[axi4_to_ahb.scala 162:70] - node _T_515 = or(_T_512, _T_514) @[axi4_to_ahb.scala 162:54] + node _T_510 = and(UInt<2>("h03"), _T_509) @[axi4_to_ahb.scala 160:25] + node _T_511 = bits(_T_505, 7, 0) @[axi4_to_ahb.scala 161:34] + node _T_512 = eq(_T_511, UInt<8>("h0f0")) @[axi4_to_ahb.scala 161:41] + node _T_513 = bits(_T_505, 7, 0) @[axi4_to_ahb.scala 161:63] + node _T_514 = eq(_T_513, UInt<4>("h0f")) @[axi4_to_ahb.scala 161:70] + node _T_515 = or(_T_512, _T_514) @[axi4_to_ahb.scala 161:54] node _T_516 = bits(_T_515, 0, 0) @[Bitwise.scala 72:15] node _T_517 = mux(_T_516, UInt<2>("h03"), UInt<2>("h00")) @[Bitwise.scala 72:12] - node _T_518 = and(UInt<2>("h02"), _T_517) @[axi4_to_ahb.scala 162:16] - node _T_519 = or(_T_510, _T_518) @[axi4_to_ahb.scala 161:65] - node _T_520 = bits(_T_505, 7, 0) @[axi4_to_ahb.scala 163:34] - node _T_521 = eq(_T_520, UInt<8>("h0c0")) @[axi4_to_ahb.scala 163:41] - node _T_522 = bits(_T_505, 7, 0) @[axi4_to_ahb.scala 163:63] - node _T_523 = eq(_T_522, UInt<6>("h030")) @[axi4_to_ahb.scala 163:70] - node _T_524 = or(_T_521, _T_523) @[axi4_to_ahb.scala 163:54] - node _T_525 = bits(_T_505, 7, 0) @[axi4_to_ahb.scala 163:92] - node _T_526 = eq(_T_525, UInt<4>("h0c")) @[axi4_to_ahb.scala 163:99] - node _T_527 = or(_T_524, _T_526) @[axi4_to_ahb.scala 163:83] - node _T_528 = bits(_T_505, 7, 0) @[axi4_to_ahb.scala 163:121] - node _T_529 = eq(_T_528, UInt<2>("h03")) @[axi4_to_ahb.scala 163:128] - node _T_530 = or(_T_527, _T_529) @[axi4_to_ahb.scala 163:112] + node _T_518 = and(UInt<2>("h02"), _T_517) @[axi4_to_ahb.scala 161:16] + node _T_519 = or(_T_510, _T_518) @[axi4_to_ahb.scala 160:65] + node _T_520 = bits(_T_505, 7, 0) @[axi4_to_ahb.scala 162:34] + node _T_521 = eq(_T_520, UInt<8>("h0c0")) @[axi4_to_ahb.scala 162:41] + node _T_522 = bits(_T_505, 7, 0) @[axi4_to_ahb.scala 162:63] + node _T_523 = eq(_T_522, UInt<6>("h030")) @[axi4_to_ahb.scala 162:70] + node _T_524 = or(_T_521, _T_523) @[axi4_to_ahb.scala 162:54] + node _T_525 = bits(_T_505, 7, 0) @[axi4_to_ahb.scala 162:92] + node _T_526 = eq(_T_525, UInt<4>("h0c")) @[axi4_to_ahb.scala 162:99] + node _T_527 = or(_T_524, _T_526) @[axi4_to_ahb.scala 162:83] + node _T_528 = bits(_T_505, 7, 0) @[axi4_to_ahb.scala 162:121] + node _T_529 = eq(_T_528, UInt<2>("h03")) @[axi4_to_ahb.scala 162:128] + node _T_530 = or(_T_527, _T_529) @[axi4_to_ahb.scala 162:112] node _T_531 = bits(_T_530, 0, 0) @[Bitwise.scala 72:15] node _T_532 = mux(_T_531, UInt<2>("h03"), UInt<2>("h00")) @[Bitwise.scala 72:12] - node _T_533 = and(UInt<1>("h01"), _T_532) @[axi4_to_ahb.scala 163:16] - node _T_534 = or(_T_519, _T_533) @[axi4_to_ahb.scala 162:86] - node _T_535 = bits(master_size, 1, 0) @[axi4_to_ahb.scala 329:164] - node _T_536 = mux(_T_503, _T_534, _T_535) @[axi4_to_ahb.scala 329:21] - buf_size_in <= _T_536 @[axi4_to_ahb.scala 329:15] - node _T_537 = bits(master_opc, 2, 0) @[axi4_to_ahb.scala 330:32] - node _T_538 = eq(_T_537, UInt<1>("h00")) @[axi4_to_ahb.scala 330:39] - node _T_539 = bits(master_size, 1, 0) @[axi4_to_ahb.scala 331:17] - node _T_540 = eq(_T_539, UInt<1>("h00")) @[axi4_to_ahb.scala 331:24] - node _T_541 = or(_T_538, _T_540) @[axi4_to_ahb.scala 330:51] - node _T_542 = bits(master_size, 1, 0) @[axi4_to_ahb.scala 331:50] - node _T_543 = eq(_T_542, UInt<1>("h01")) @[axi4_to_ahb.scala 331:57] - node _T_544 = or(_T_541, _T_543) @[axi4_to_ahb.scala 331:36] - node _T_545 = bits(master_size, 1, 0) @[axi4_to_ahb.scala 331:84] - node _T_546 = eq(_T_545, UInt<2>("h02")) @[axi4_to_ahb.scala 331:91] - node _T_547 = or(_T_544, _T_546) @[axi4_to_ahb.scala 331:70] - node _T_548 = bits(master_size, 1, 0) @[axi4_to_ahb.scala 332:18] - node _T_549 = eq(_T_548, UInt<2>("h03")) @[axi4_to_ahb.scala 332:25] - node _T_550 = bits(master_byteen, 7, 0) @[axi4_to_ahb.scala 332:55] - node _T_551 = eq(_T_550, UInt<2>("h03")) @[axi4_to_ahb.scala 332:62] - node _T_552 = bits(master_byteen, 7, 0) @[axi4_to_ahb.scala 332:90] - node _T_553 = eq(_T_552, UInt<4>("h0c")) @[axi4_to_ahb.scala 332:97] - node _T_554 = or(_T_551, _T_553) @[axi4_to_ahb.scala 332:74] - node _T_555 = bits(master_byteen, 7, 0) @[axi4_to_ahb.scala 332:125] - node _T_556 = eq(_T_555, UInt<6>("h030")) @[axi4_to_ahb.scala 332:132] - node _T_557 = or(_T_554, _T_556) @[axi4_to_ahb.scala 332:109] - node _T_558 = bits(master_byteen, 7, 0) @[axi4_to_ahb.scala 332:161] - node _T_559 = eq(_T_558, UInt<8>("h0c0")) @[axi4_to_ahb.scala 332:168] - node _T_560 = or(_T_557, _T_559) @[axi4_to_ahb.scala 332:145] - node _T_561 = bits(master_byteen, 7, 0) @[axi4_to_ahb.scala 333:21] - node _T_562 = eq(_T_561, UInt<4>("h0f")) @[axi4_to_ahb.scala 333:28] - node _T_563 = or(_T_560, _T_562) @[axi4_to_ahb.scala 332:181] - node _T_564 = bits(master_byteen, 7, 0) @[axi4_to_ahb.scala 333:56] - node _T_565 = eq(_T_564, UInt<8>("h0f0")) @[axi4_to_ahb.scala 333:63] - node _T_566 = or(_T_563, _T_565) @[axi4_to_ahb.scala 333:40] - node _T_567 = bits(master_byteen, 7, 0) @[axi4_to_ahb.scala 333:92] - node _T_568 = eq(_T_567, UInt<8>("h0ff")) @[axi4_to_ahb.scala 333:99] - node _T_569 = or(_T_566, _T_568) @[axi4_to_ahb.scala 333:76] - node _T_570 = and(_T_549, _T_569) @[axi4_to_ahb.scala 332:38] - node _T_571 = or(_T_547, _T_570) @[axi4_to_ahb.scala 331:104] - buf_aligned_in <= _T_571 @[axi4_to_ahb.scala 330:18] - node _T_572 = bits(bypass_en, 0, 0) @[axi4_to_ahb.scala 335:39] - node _T_573 = bits(master_addr, 31, 3) @[axi4_to_ahb.scala 335:58] - node _T_574 = bits(buf_cmd_byte_ptr, 2, 0) @[axi4_to_ahb.scala 335:83] + node _T_533 = and(UInt<1>("h01"), _T_532) @[axi4_to_ahb.scala 162:16] + node _T_534 = or(_T_519, _T_533) @[axi4_to_ahb.scala 161:86] + node _T_535 = bits(master_size, 1, 0) @[axi4_to_ahb.scala 328:164] + node _T_536 = mux(_T_503, _T_534, _T_535) @[axi4_to_ahb.scala 328:21] + buf_size_in <= _T_536 @[axi4_to_ahb.scala 328:15] + node _T_537 = bits(master_opc, 2, 0) @[axi4_to_ahb.scala 329:32] + node _T_538 = eq(_T_537, UInt<1>("h00")) @[axi4_to_ahb.scala 329:39] + node _T_539 = bits(master_size, 1, 0) @[axi4_to_ahb.scala 330:17] + node _T_540 = eq(_T_539, UInt<1>("h00")) @[axi4_to_ahb.scala 330:24] + node _T_541 = or(_T_538, _T_540) @[axi4_to_ahb.scala 329:51] + node _T_542 = bits(master_size, 1, 0) @[axi4_to_ahb.scala 330:50] + node _T_543 = eq(_T_542, UInt<1>("h01")) @[axi4_to_ahb.scala 330:57] + node _T_544 = or(_T_541, _T_543) @[axi4_to_ahb.scala 330:36] + node _T_545 = bits(master_size, 1, 0) @[axi4_to_ahb.scala 330:84] + node _T_546 = eq(_T_545, UInt<2>("h02")) @[axi4_to_ahb.scala 330:91] + node _T_547 = or(_T_544, _T_546) @[axi4_to_ahb.scala 330:70] + node _T_548 = bits(master_size, 1, 0) @[axi4_to_ahb.scala 331:18] + node _T_549 = eq(_T_548, UInt<2>("h03")) @[axi4_to_ahb.scala 331:25] + node _T_550 = bits(master_byteen, 7, 0) @[axi4_to_ahb.scala 331:55] + node _T_551 = eq(_T_550, UInt<2>("h03")) @[axi4_to_ahb.scala 331:62] + node _T_552 = bits(master_byteen, 7, 0) @[axi4_to_ahb.scala 331:90] + node _T_553 = eq(_T_552, UInt<4>("h0c")) @[axi4_to_ahb.scala 331:97] + node _T_554 = or(_T_551, _T_553) @[axi4_to_ahb.scala 331:74] + node _T_555 = bits(master_byteen, 7, 0) @[axi4_to_ahb.scala 331:125] + node _T_556 = eq(_T_555, UInt<6>("h030")) @[axi4_to_ahb.scala 331:132] + node _T_557 = or(_T_554, _T_556) @[axi4_to_ahb.scala 331:109] + node _T_558 = bits(master_byteen, 7, 0) @[axi4_to_ahb.scala 331:161] + node _T_559 = eq(_T_558, UInt<8>("h0c0")) @[axi4_to_ahb.scala 331:168] + node _T_560 = or(_T_557, _T_559) @[axi4_to_ahb.scala 331:145] + node _T_561 = bits(master_byteen, 7, 0) @[axi4_to_ahb.scala 332:21] + node _T_562 = eq(_T_561, UInt<4>("h0f")) @[axi4_to_ahb.scala 332:28] + node _T_563 = or(_T_560, _T_562) @[axi4_to_ahb.scala 331:181] + node _T_564 = bits(master_byteen, 7, 0) @[axi4_to_ahb.scala 332:56] + node _T_565 = eq(_T_564, UInt<8>("h0f0")) @[axi4_to_ahb.scala 332:63] + node _T_566 = or(_T_563, _T_565) @[axi4_to_ahb.scala 332:40] + node _T_567 = bits(master_byteen, 7, 0) @[axi4_to_ahb.scala 332:92] + node _T_568 = eq(_T_567, UInt<8>("h0ff")) @[axi4_to_ahb.scala 332:99] + node _T_569 = or(_T_566, _T_568) @[axi4_to_ahb.scala 332:76] + node _T_570 = and(_T_549, _T_569) @[axi4_to_ahb.scala 331:38] + node _T_571 = or(_T_547, _T_570) @[axi4_to_ahb.scala 330:104] + buf_aligned_in <= _T_571 @[axi4_to_ahb.scala 329:18] + node _T_572 = bits(bypass_en, 0, 0) @[axi4_to_ahb.scala 334:39] + node _T_573 = bits(master_addr, 31, 3) @[axi4_to_ahb.scala 334:58] + node _T_574 = bits(buf_cmd_byte_ptr, 2, 0) @[axi4_to_ahb.scala 334:83] node _T_575 = cat(_T_573, _T_574) @[Cat.scala 29:58] - node _T_576 = bits(buf_addr, 31, 3) @[axi4_to_ahb.scala 335:104] - node _T_577 = bits(buf_cmd_byte_ptr, 2, 0) @[axi4_to_ahb.scala 335:129] + node _T_576 = bits(buf_addr, 31, 3) @[axi4_to_ahb.scala 334:104] + node _T_577 = bits(buf_cmd_byte_ptr, 2, 0) @[axi4_to_ahb.scala 334:129] node _T_578 = cat(_T_576, _T_577) @[Cat.scala 29:58] - node _T_579 = mux(_T_572, _T_575, _T_578) @[axi4_to_ahb.scala 335:22] - io.ahb_haddr <= _T_579 @[axi4_to_ahb.scala 335:16] - node _T_580 = bits(bypass_en, 0, 0) @[axi4_to_ahb.scala 336:39] + node _T_579 = mux(_T_572, _T_575, _T_578) @[axi4_to_ahb.scala 334:22] + io.ahb_haddr <= _T_579 @[axi4_to_ahb.scala 334:16] + node _T_580 = bits(bypass_en, 0, 0) @[axi4_to_ahb.scala 335:39] node _T_581 = bits(buf_aligned_in, 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_in, 1, 0) @[axi4_to_ahb.scala 336:93] - node _T_584 = and(_T_582, _T_583) @[axi4_to_ahb.scala 336:80] + node _T_583 = bits(buf_size_in, 1, 0) @[axi4_to_ahb.scala 335:93] + node _T_584 = and(_T_582, _T_583) @[axi4_to_ahb.scala 335:80] node _T_585 = cat(UInt<1>("h00"), _T_584) @[Cat.scala 29:58] node _T_586 = bits(buf_aligned, 0, 0) @[Bitwise.scala 72:15] node _T_587 = mux(_T_586, UInt<2>("h03"), UInt<2>("h00")) @[Bitwise.scala 72:12] - node _T_588 = bits(buf_size, 1, 0) @[axi4_to_ahb.scala 336:148] - node _T_589 = and(_T_587, _T_588) @[axi4_to_ahb.scala 336:138] + node _T_588 = bits(buf_size, 1, 0) @[axi4_to_ahb.scala 335:148] + node _T_589 = and(_T_587, _T_588) @[axi4_to_ahb.scala 335:138] node _T_590 = cat(UInt<1>("h00"), _T_589) @[Cat.scala 29:58] - node _T_591 = mux(_T_580, _T_585, _T_590) @[axi4_to_ahb.scala 336:22] - io.ahb_hsize <= _T_591 @[axi4_to_ahb.scala 336:16] - io.ahb_hburst <= UInt<1>("h00") @[axi4_to_ahb.scala 338:17] - io.ahb_hmastlock <= UInt<1>("h00") @[axi4_to_ahb.scala 339:20] - node _T_592 = bits(io.axi_arprot, 2, 2) @[axi4_to_ahb.scala 340:47] - node _T_593 = not(_T_592) @[axi4_to_ahb.scala 340:33] + node _T_591 = mux(_T_580, _T_585, _T_590) @[axi4_to_ahb.scala 335:22] + io.ahb_hsize <= _T_591 @[axi4_to_ahb.scala 335:16] + io.ahb_hburst <= UInt<1>("h00") @[axi4_to_ahb.scala 337:17] + io.ahb_hmastlock <= UInt<1>("h00") @[axi4_to_ahb.scala 338:20] + node _T_592 = bits(io.axi_arprot, 2, 2) @[axi4_to_ahb.scala 339:47] + node _T_593 = not(_T_592) @[axi4_to_ahb.scala 339:33] node _T_594 = cat(UInt<1>("h01"), _T_593) @[Cat.scala 29:58] - io.ahb_hprot <= _T_594 @[axi4_to_ahb.scala 340:16] - node _T_595 = bits(bypass_en, 0, 0) @[axi4_to_ahb.scala 341:40] - node _T_596 = bits(master_opc, 2, 1) @[axi4_to_ahb.scala 341:55] - node _T_597 = eq(_T_596, UInt<1>("h01")) @[axi4_to_ahb.scala 341:62] - node _T_598 = mux(_T_595, _T_597, buf_write) @[axi4_to_ahb.scala 341:23] - io.ahb_hwrite <= _T_598 @[axi4_to_ahb.scala 341:17] - node _T_599 = bits(buf_data, 63, 0) @[axi4_to_ahb.scala 342:28] - io.ahb_hwdata <= _T_599 @[axi4_to_ahb.scala 342:17] - slave_valid <= slave_valid_pre @[axi4_to_ahb.scala 344:15] - node _T_600 = bits(slvbuf_write, 0, 0) @[axi4_to_ahb.scala 345:43] - node _T_601 = mux(_T_600, UInt<2>("h03"), UInt<1>("h00")) @[axi4_to_ahb.scala 345:23] + io.ahb_hprot <= _T_594 @[axi4_to_ahb.scala 339:16] + node _T_595 = bits(bypass_en, 0, 0) @[axi4_to_ahb.scala 340:40] + node _T_596 = bits(master_opc, 2, 1) @[axi4_to_ahb.scala 340:55] + node _T_597 = eq(_T_596, UInt<1>("h01")) @[axi4_to_ahb.scala 340:62] + node _T_598 = mux(_T_595, _T_597, buf_write) @[axi4_to_ahb.scala 340:23] + io.ahb_hwrite <= _T_598 @[axi4_to_ahb.scala 340:17] + node _T_599 = bits(buf_data, 63, 0) @[axi4_to_ahb.scala 341:28] + io.ahb_hwdata <= _T_599 @[axi4_to_ahb.scala 341:17] + slave_valid <= slave_valid_pre @[axi4_to_ahb.scala 343:15] + node _T_600 = bits(slvbuf_write, 0, 0) @[axi4_to_ahb.scala 344:43] + node _T_601 = mux(_T_600, UInt<2>("h03"), UInt<1>("h00")) @[axi4_to_ahb.scala 344:23] node _T_602 = bits(slvbuf_error, 0, 0) @[Bitwise.scala 72:15] node _T_603 = mux(_T_602, UInt<2>("h03"), UInt<2>("h00")) @[Bitwise.scala 72:12] - node _T_604 = and(_T_603, UInt<2>("h02")) @[axi4_to_ahb.scala 345:88] + node _T_604 = and(_T_603, UInt<2>("h02")) @[axi4_to_ahb.scala 344:88] node _T_605 = cat(_T_601, _T_604) @[Cat.scala 29:58] - slave_opc <= _T_605 @[axi4_to_ahb.scala 345:13] - node _T_606 = bits(slvbuf_error, 0, 0) @[axi4_to_ahb.scala 346:41] - node _T_607 = bits(last_bus_addr, 31, 0) @[axi4_to_ahb.scala 346:66] + slave_opc <= _T_605 @[axi4_to_ahb.scala 344:13] + node _T_606 = bits(slvbuf_error, 0, 0) @[axi4_to_ahb.scala 345:41] + node _T_607 = bits(last_bus_addr, 31, 0) @[axi4_to_ahb.scala 345:66] node _T_608 = cat(_T_607, _T_607) @[Cat.scala 29:58] - node _T_609 = eq(buf_state, UInt<3>("h05")) @[axi4_to_ahb.scala 346:91] - node _T_610 = bits(buf_data, 63, 0) @[axi4_to_ahb.scala 346:110] - node _T_611 = bits(ahb_hrdata_q, 63, 0) @[axi4_to_ahb.scala 346:131] - node _T_612 = mux(_T_609, _T_610, _T_611) @[axi4_to_ahb.scala 346:79] - node _T_613 = mux(_T_606, _T_608, _T_612) @[axi4_to_ahb.scala 346:21] - slave_rdata <= _T_613 @[axi4_to_ahb.scala 346:15] - node _T_614 = bits(slvbuf_tag, 0, 0) @[axi4_to_ahb.scala 347:26] - slave_tag <= _T_614 @[axi4_to_ahb.scala 347:13] - node _T_615 = bits(io.ahb_htrans, 1, 0) @[axi4_to_ahb.scala 349:33] - node _T_616 = neq(_T_615, UInt<1>("h00")) @[axi4_to_ahb.scala 349:40] - node _T_617 = and(_T_616, io.ahb_hready) @[axi4_to_ahb.scala 349:52] - node _T_618 = and(_T_617, io.ahb_hwrite) @[axi4_to_ahb.scala 349:68] - last_addr_en <= _T_618 @[axi4_to_ahb.scala 349:16] - node _T_619 = bits(wrbuf_en, 0, 0) @[axi4_to_ahb.scala 352:68] - node _T_620 = mux(_T_619, UInt<1>("h01"), wrbuf_vld) @[axi4_to_ahb.scala 352:52] - node _T_621 = eq(wrbuf_rst, UInt<1>("h00")) @[axi4_to_ahb.scala 352:88] - node _T_622 = and(_T_620, _T_621) @[axi4_to_ahb.scala 352:86] - reg _T_623 : UInt, bus_clk with : (reset => (reset, UInt<1>("h00"))) @[axi4_to_ahb.scala 352:48] - _T_623 <= _T_622 @[axi4_to_ahb.scala 352:48] - wrbuf_vld <= _T_623 @[axi4_to_ahb.scala 352:18] - node _T_624 = bits(wrbuf_data_en, 0, 0) @[axi4_to_ahb.scala 353:73] - node _T_625 = mux(_T_624, UInt<1>("h01"), wrbuf_data_vld) @[axi4_to_ahb.scala 353:52] - node _T_626 = eq(wrbuf_rst, UInt<1>("h00")) @[axi4_to_ahb.scala 353:99] - node _T_627 = and(_T_625, _T_626) @[axi4_to_ahb.scala 353:97] - reg _T_628 : UInt, bus_clk with : (reset => (reset, UInt<1>("h00"))) @[axi4_to_ahb.scala 353:48] - _T_628 <= _T_627 @[axi4_to_ahb.scala 353:48] - wrbuf_data_vld <= _T_628 @[axi4_to_ahb.scala 353:18] - node _T_629 = bits(io.axi_awid, 0, 0) @[axi4_to_ahb.scala 355:57] - node _T_630 = bits(wrbuf_en, 0, 0) @[axi4_to_ahb.scala 355:91] + node _T_609 = eq(buf_state, UInt<3>("h05")) @[axi4_to_ahb.scala 345:91] + node _T_610 = bits(buf_data, 63, 0) @[axi4_to_ahb.scala 345:110] + node _T_611 = bits(ahb_hrdata_q, 63, 0) @[axi4_to_ahb.scala 345:131] + node _T_612 = mux(_T_609, _T_610, _T_611) @[axi4_to_ahb.scala 345:79] + node _T_613 = mux(_T_606, _T_608, _T_612) @[axi4_to_ahb.scala 345:21] + slave_rdata <= _T_613 @[axi4_to_ahb.scala 345:15] + node _T_614 = bits(slvbuf_tag, 0, 0) @[axi4_to_ahb.scala 346:26] + slave_tag <= _T_614 @[axi4_to_ahb.scala 346:13] + node _T_615 = bits(io.ahb_htrans, 1, 0) @[axi4_to_ahb.scala 348:33] + node _T_616 = neq(_T_615, UInt<1>("h00")) @[axi4_to_ahb.scala 348:40] + node _T_617 = and(_T_616, io.ahb_hready) @[axi4_to_ahb.scala 348:52] + node _T_618 = and(_T_617, io.ahb_hwrite) @[axi4_to_ahb.scala 348:68] + last_addr_en <= _T_618 @[axi4_to_ahb.scala 348:16] + node _T_619 = bits(wrbuf_en, 0, 0) @[axi4_to_ahb.scala 351:68] + node _T_620 = mux(_T_619, UInt<1>("h01"), wrbuf_vld) @[axi4_to_ahb.scala 351:52] + node _T_621 = eq(wrbuf_rst, UInt<1>("h00")) @[axi4_to_ahb.scala 351:88] + node _T_622 = and(_T_620, _T_621) @[axi4_to_ahb.scala 351:86] + reg _T_623 : UInt, bus_clk with : (reset => (reset, UInt<1>("h00"))) @[axi4_to_ahb.scala 351:48] + _T_623 <= _T_622 @[axi4_to_ahb.scala 351:48] + wrbuf_vld <= _T_623 @[axi4_to_ahb.scala 351:18] + node _T_624 = bits(wrbuf_data_en, 0, 0) @[axi4_to_ahb.scala 352:73] + node _T_625 = mux(_T_624, UInt<1>("h01"), wrbuf_data_vld) @[axi4_to_ahb.scala 352:52] + node _T_626 = eq(wrbuf_rst, UInt<1>("h00")) @[axi4_to_ahb.scala 352:99] + node _T_627 = and(_T_625, _T_626) @[axi4_to_ahb.scala 352:97] + reg _T_628 : UInt, bus_clk with : (reset => (reset, UInt<1>("h00"))) @[axi4_to_ahb.scala 352:48] + _T_628 <= _T_627 @[axi4_to_ahb.scala 352:48] + wrbuf_data_vld <= _T_628 @[axi4_to_ahb.scala 352:18] + node _T_629 = bits(io.axi_awid, 0, 0) @[axi4_to_ahb.scala 354:57] + node _T_630 = bits(wrbuf_en, 0, 0) @[axi4_to_ahb.scala 354:91] reg _T_631 : UInt, bus_clk with : (reset => (reset, UInt<1>("h00"))) @[Reg.scala 27:20] when _T_630 : @[Reg.scala 28:19] _T_631 <= _T_629 @[Reg.scala 28:23] skip @[Reg.scala 28:19] - wrbuf_tag <= _T_631 @[axi4_to_ahb.scala 355:13] - node _T_632 = bits(io.axi_awsize, 2, 0) @[axi4_to_ahb.scala 356:60] - node _T_633 = bits(wrbuf_en, 0, 0) @[axi4_to_ahb.scala 356:88] + wrbuf_tag <= _T_631 @[axi4_to_ahb.scala 354:13] + node _T_632 = bits(io.axi_awsize, 2, 0) @[axi4_to_ahb.scala 355:60] + node _T_633 = bits(wrbuf_en, 0, 0) @[axi4_to_ahb.scala 355:88] reg _T_634 : UInt, bus_clk with : (reset => (reset, UInt<1>("h00"))) @[Reg.scala 27:20] when _T_633 : @[Reg.scala 28:19] _T_634 <= _T_632 @[Reg.scala 28:23] skip @[Reg.scala 28:19] - wrbuf_size <= _T_634 @[axi4_to_ahb.scala 356:14] - node _T_635 = bits(wrbuf_en, 0, 0) @[axi4_to_ahb.scala 358:48] + wrbuf_size <= _T_634 @[axi4_to_ahb.scala 355:14] + node _T_635 = bits(wrbuf_en, 0, 0) @[axi4_to_ahb.scala 357:48] inst rvclkhdr_2 of rvclkhdr_2 @[el2_lib.scala 508:23] rvclkhdr_2.clock <= clock rvclkhdr_2.reset <= reset @@ -1215,8 +1215,8 @@ circuit axi4_to_ahb : rvclkhdr_2.io.scan_mode <= io.scan_mode @[el2_lib.scala 512:24] reg _T_636 : UInt, rvclkhdr_2.io.l1clk with : (reset => (reset, UInt<1>("h00"))) @[el2_lib.scala 514:16] _T_636 <= io.axi_awaddr @[el2_lib.scala 514:16] - wrbuf_addr <= _T_636 @[axi4_to_ahb.scala 358:14] - node _T_637 = bits(wrbuf_data_en, 0, 0) @[axi4_to_ahb.scala 359:52] + wrbuf_addr <= _T_636 @[axi4_to_ahb.scala 357:14] + node _T_637 = bits(wrbuf_data_en, 0, 0) @[axi4_to_ahb.scala 358:52] inst rvclkhdr_3 of rvclkhdr_3 @[el2_lib.scala 508:23] rvclkhdr_3.clock <= clock rvclkhdr_3.reset <= reset @@ -1225,44 +1225,44 @@ circuit axi4_to_ahb : rvclkhdr_3.io.scan_mode <= io.scan_mode @[el2_lib.scala 512:24] reg _T_638 : UInt, rvclkhdr_3.io.l1clk with : (reset => (reset, UInt<1>("h00"))) @[el2_lib.scala 514:16] _T_638 <= io.axi_wdata @[el2_lib.scala 514:16] - wrbuf_data <= _T_638 @[axi4_to_ahb.scala 359:14] - node _T_639 = bits(io.axi_wstrb, 7, 0) @[axi4_to_ahb.scala 362:27] - node _T_640 = bits(wrbuf_data_en, 0, 0) @[axi4_to_ahb.scala 362:60] + wrbuf_data <= _T_638 @[axi4_to_ahb.scala 358:14] + node _T_639 = bits(io.axi_wstrb, 7, 0) @[axi4_to_ahb.scala 361:27] + node _T_640 = bits(wrbuf_data_en, 0, 0) @[axi4_to_ahb.scala 361:60] reg _T_641 : UInt, bus_clk with : (reset => (reset, UInt<1>("h00"))) @[Reg.scala 27:20] when _T_640 : @[Reg.scala 28:19] _T_641 <= _T_639 @[Reg.scala 28:23] skip @[Reg.scala 28:19] - wrbuf_byteen <= _T_641 @[axi4_to_ahb.scala 361:16] - node _T_642 = bits(io.ahb_haddr, 31, 0) @[axi4_to_ahb.scala 365:27] - node _T_643 = bits(last_addr_en, 0, 0) @[axi4_to_ahb.scala 365:60] + wrbuf_byteen <= _T_641 @[axi4_to_ahb.scala 360:16] + node _T_642 = bits(io.ahb_haddr, 31, 0) @[axi4_to_ahb.scala 364:27] + node _T_643 = bits(last_addr_en, 0, 0) @[axi4_to_ahb.scala 364:60] reg _T_644 : UInt, ahbm_clk with : (reset => (reset, UInt<1>("h00"))) @[Reg.scala 27:20] when _T_643 : @[Reg.scala 28:19] _T_644 <= _T_642 @[Reg.scala 28:23] skip @[Reg.scala 28:19] - last_bus_addr <= _T_644 @[axi4_to_ahb.scala 364:17] - node _T_645 = bits(buf_state_en, 0, 0) @[axi4_to_ahb.scala 369:36] - node _T_646 = mux(_T_645, buf_nxtstate, buf_state) @[axi4_to_ahb.scala 369:16] - node _T_647 = eq(buf_rst, UInt<1>("h00")) @[axi4_to_ahb.scala 369:65] - node _T_648 = and(_T_646, _T_647) @[axi4_to_ahb.scala 369:63] - reg _T_649 : UInt, ahbm_clk with : (reset => (reset, UInt<1>("h00"))) @[axi4_to_ahb.scala 369:12] - _T_649 <= _T_648 @[axi4_to_ahb.scala 369:12] - buf_state <= _T_649 @[axi4_to_ahb.scala 368:13] - node _T_650 = bits(buf_wr_en, 0, 0) @[axi4_to_ahb.scala 373:50] + last_bus_addr <= _T_644 @[axi4_to_ahb.scala 363:17] + node _T_645 = bits(buf_state_en, 0, 0) @[axi4_to_ahb.scala 368:36] + node _T_646 = mux(_T_645, buf_nxtstate, buf_state) @[axi4_to_ahb.scala 368:16] + node _T_647 = eq(buf_rst, UInt<1>("h00")) @[axi4_to_ahb.scala 368:65] + node _T_648 = and(_T_646, _T_647) @[axi4_to_ahb.scala 368:63] + reg _T_649 : UInt, ahbm_clk with : (reset => (reset, UInt<1>("h00"))) @[axi4_to_ahb.scala 368:12] + _T_649 <= _T_648 @[axi4_to_ahb.scala 368:12] + buf_state <= _T_649 @[axi4_to_ahb.scala 367:13] + node _T_650 = bits(buf_wr_en, 0, 0) @[axi4_to_ahb.scala 372:50] reg _T_651 : UInt, buf_clk with : (reset => (reset, UInt<1>("h00"))) @[Reg.scala 27:20] when _T_650 : @[Reg.scala 28:19] _T_651 <= buf_write_in @[Reg.scala 28:23] skip @[Reg.scala 28:19] - buf_write <= _T_651 @[axi4_to_ahb.scala 372:13] - node _T_652 = bits(buf_tag_in, 0, 0) @[axi4_to_ahb.scala 376:25] - node _T_653 = bits(buf_wr_en, 0, 0) @[axi4_to_ahb.scala 376:60] + buf_write <= _T_651 @[axi4_to_ahb.scala 371:13] + node _T_652 = bits(buf_tag_in, 0, 0) @[axi4_to_ahb.scala 375:25] + node _T_653 = bits(buf_wr_en, 0, 0) @[axi4_to_ahb.scala 375:60] reg _T_654 : UInt, buf_clk with : (reset => (reset, UInt<1>("h00"))) @[Reg.scala 27:20] when _T_653 : @[Reg.scala 28:19] _T_654 <= _T_652 @[Reg.scala 28:23] skip @[Reg.scala 28:19] - buf_tag <= _T_654 @[axi4_to_ahb.scala 375:11] - node _T_655 = bits(buf_addr_in, 31, 0) @[axi4_to_ahb.scala 379:33] - node _T_656 = and(buf_wr_en, io.bus_clk_en) @[axi4_to_ahb.scala 379:52] - node _T_657 = bits(_T_656, 0, 0) @[axi4_to_ahb.scala 379:69] + buf_tag <= _T_654 @[axi4_to_ahb.scala 374:11] + node _T_655 = bits(buf_addr_in, 31, 0) @[axi4_to_ahb.scala 378:33] + node _T_656 = and(buf_wr_en, io.bus_clk_en) @[axi4_to_ahb.scala 378:52] + node _T_657 = bits(_T_656, 0, 0) @[axi4_to_ahb.scala 378:69] inst rvclkhdr_4 of rvclkhdr_4 @[el2_lib.scala 508:23] rvclkhdr_4.clock <= clock rvclkhdr_4.reset <= reset @@ -1271,30 +1271,30 @@ circuit axi4_to_ahb : rvclkhdr_4.io.scan_mode <= io.scan_mode @[el2_lib.scala 512:24] reg _T_658 : UInt, rvclkhdr_4.io.l1clk with : (reset => (reset, UInt<1>("h00"))) @[el2_lib.scala 514:16] _T_658 <= _T_655 @[el2_lib.scala 514:16] - buf_addr <= _T_658 @[axi4_to_ahb.scala 379:12] - node _T_659 = bits(buf_size, 1, 0) @[axi4_to_ahb.scala 382:23] - node _T_660 = bits(buf_wr_en, 0, 0) @[axi4_to_ahb.scala 382:52] + buf_addr <= _T_658 @[axi4_to_ahb.scala 378:12] + node _T_659 = bits(buf_size, 1, 0) @[axi4_to_ahb.scala 381:23] + node _T_660 = bits(buf_wr_en, 0, 0) @[axi4_to_ahb.scala 381:52] reg _T_661 : UInt, buf_clk with : (reset => (reset, UInt<1>("h00"))) @[Reg.scala 27:20] when _T_660 : @[Reg.scala 28:19] _T_661 <= _T_659 @[Reg.scala 28:23] skip @[Reg.scala 28:19] - buf_size <= _T_661 @[axi4_to_ahb.scala 381:12] - node _T_662 = bits(buf_wr_en, 0, 0) @[axi4_to_ahb.scala 385:52] + buf_size <= _T_661 @[axi4_to_ahb.scala 380:12] + node _T_662 = bits(buf_wr_en, 0, 0) @[axi4_to_ahb.scala 384:52] reg _T_663 : UInt, buf_clk with : (reset => (reset, UInt<1>("h00"))) @[Reg.scala 27:20] when _T_662 : @[Reg.scala 28:19] _T_663 <= buf_aligned_in @[Reg.scala 28:23] skip @[Reg.scala 28:19] - buf_aligned <= _T_663 @[axi4_to_ahb.scala 384:15] - node _T_664 = bits(buf_byteen, 7, 0) @[axi4_to_ahb.scala 388:25] - node _T_665 = bits(buf_wr_en, 0, 0) @[axi4_to_ahb.scala 388:54] + buf_aligned <= _T_663 @[axi4_to_ahb.scala 383:15] + node _T_664 = bits(buf_byteen_in, 7, 0) @[axi4_to_ahb.scala 387:28] + node _T_665 = bits(buf_wr_en, 0, 0) @[axi4_to_ahb.scala 387:57] reg _T_666 : UInt, buf_clk with : (reset => (reset, UInt<1>("h00"))) @[Reg.scala 27:20] when _T_665 : @[Reg.scala 28:19] _T_666 <= _T_664 @[Reg.scala 28:23] skip @[Reg.scala 28:19] - buf_byteen <= _T_666 @[axi4_to_ahb.scala 387:14] - node _T_667 = bits(buf_data_in, 63, 0) @[axi4_to_ahb.scala 391:33] - node _T_668 = and(buf_data_wr_en, io.bus_clk_en) @[axi4_to_ahb.scala 391:57] - node _T_669 = bits(_T_668, 0, 0) @[axi4_to_ahb.scala 391:80] + buf_byteen <= _T_666 @[axi4_to_ahb.scala 386:14] + node _T_667 = bits(buf_data_in, 63, 0) @[axi4_to_ahb.scala 390:33] + node _T_668 = and(buf_data_wr_en, io.bus_clk_en) @[axi4_to_ahb.scala 390:57] + node _T_669 = bits(_T_668, 0, 0) @[axi4_to_ahb.scala 390:80] inst rvclkhdr_5 of rvclkhdr_5 @[el2_lib.scala 508:23] rvclkhdr_5.clock <= clock rvclkhdr_5.reset <= reset @@ -1303,96 +1303,96 @@ circuit axi4_to_ahb : rvclkhdr_5.io.scan_mode <= io.scan_mode @[el2_lib.scala 512:24] reg _T_670 : UInt, rvclkhdr_5.io.l1clk with : (reset => (reset, UInt<1>("h00"))) @[el2_lib.scala 514:16] _T_670 <= _T_667 @[el2_lib.scala 514:16] - buf_data <= _T_670 @[axi4_to_ahb.scala 391:12] - node _T_671 = bits(slvbuf_wr_en, 0, 0) @[axi4_to_ahb.scala 394:50] + buf_data <= _T_670 @[axi4_to_ahb.scala 390:12] + node _T_671 = bits(slvbuf_wr_en, 0, 0) @[axi4_to_ahb.scala 393:50] 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 <= buf_write @[Reg.scala 28:23] skip @[Reg.scala 28:19] - slvbuf_write <= _T_672 @[axi4_to_ahb.scala 393:16] - node _T_673 = bits(buf_tag, 0, 0) @[axi4_to_ahb.scala 397:22] - node _T_674 = bits(slvbuf_wr_en, 0, 0) @[axi4_to_ahb.scala 397:60] + slvbuf_write <= _T_672 @[axi4_to_ahb.scala 392:16] + node _T_673 = bits(buf_tag, 0, 0) @[axi4_to_ahb.scala 396:22] + node _T_674 = bits(slvbuf_wr_en, 0, 0) @[axi4_to_ahb.scala 396:60] 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] skip @[Reg.scala 28:19] - slvbuf_tag <= _T_675 @[axi4_to_ahb.scala 396:14] - node _T_676 = bits(slvbuf_error_en, 0, 0) @[axi4_to_ahb.scala 400:59] + slvbuf_tag <= _T_675 @[axi4_to_ahb.scala 395:14] + node _T_676 = bits(slvbuf_error_en, 0, 0) @[axi4_to_ahb.scala 399:59] reg _T_677 : UInt, ahbm_clk with : (reset => (reset, UInt<1>("h00"))) @[Reg.scala 27:20] when _T_676 : @[Reg.scala 28:19] _T_677 <= slvbuf_error_in @[Reg.scala 28:23] skip @[Reg.scala 28:19] - slvbuf_error <= _T_677 @[axi4_to_ahb.scala 399:16] - node _T_678 = bits(cmd_done, 0, 0) @[axi4_to_ahb.scala 404:32] - node _T_679 = mux(_T_678, UInt<1>("h01"), cmd_doneQ) @[axi4_to_ahb.scala 404:16] - node _T_680 = eq(cmd_done_rst, UInt<1>("h00")) @[axi4_to_ahb.scala 404:52] - node _T_681 = and(_T_679, _T_680) @[axi4_to_ahb.scala 404:50] - reg _T_682 : UInt, ahbm_clk with : (reset => (reset, UInt<1>("h00"))) @[axi4_to_ahb.scala 404:12] - _T_682 <= _T_681 @[axi4_to_ahb.scala 404:12] - cmd_doneQ <= _T_682 @[axi4_to_ahb.scala 403:13] - node _T_683 = bits(buf_cmd_byte_ptr, 2, 0) @[axi4_to_ahb.scala 408:31] - node _T_684 = bits(buf_cmd_byte_ptr_en, 0, 0) @[axi4_to_ahb.scala 408:70] + slvbuf_error <= _T_677 @[axi4_to_ahb.scala 398:16] + node _T_678 = bits(cmd_done, 0, 0) @[axi4_to_ahb.scala 403:32] + node _T_679 = mux(_T_678, UInt<1>("h01"), cmd_doneQ) @[axi4_to_ahb.scala 403:16] + node _T_680 = eq(cmd_done_rst, UInt<1>("h00")) @[axi4_to_ahb.scala 403:52] + node _T_681 = and(_T_679, _T_680) @[axi4_to_ahb.scala 403:50] + reg _T_682 : UInt, ahbm_clk with : (reset => (reset, UInt<1>("h00"))) @[axi4_to_ahb.scala 403:12] + _T_682 <= _T_681 @[axi4_to_ahb.scala 403:12] + cmd_doneQ <= _T_682 @[axi4_to_ahb.scala 402:13] + node _T_683 = bits(buf_cmd_byte_ptr, 2, 0) @[axi4_to_ahb.scala 407:31] + node _T_684 = bits(buf_cmd_byte_ptr_en, 0, 0) @[axi4_to_ahb.scala 407:70] reg _T_685 : UInt, ahbm_clk with : (reset => (reset, UInt<1>("h00"))) @[Reg.scala 27:20] when _T_684 : @[Reg.scala 28:19] _T_685 <= _T_683 @[Reg.scala 28:23] skip @[Reg.scala 28:19] - buf_cmd_byte_ptrQ <= _T_685 @[axi4_to_ahb.scala 407:21] - reg _T_686 : UInt<1>, ahbm_clk with : (reset => (reset, UInt<1>("h00"))) @[axi4_to_ahb.scala 413:12] - _T_686 <= io.ahb_hready @[axi4_to_ahb.scala 413:12] - ahb_hready_q <= _T_686 @[axi4_to_ahb.scala 412:16] - node _T_687 = bits(io.ahb_htrans, 1, 0) @[axi4_to_ahb.scala 416:26] - reg _T_688 : UInt, ahbm_clk with : (reset => (reset, UInt<1>("h00"))) @[axi4_to_ahb.scala 416:12] - _T_688 <= _T_687 @[axi4_to_ahb.scala 416:12] - ahb_htrans_q <= _T_688 @[axi4_to_ahb.scala 415:16] - reg _T_689 : UInt<1>, ahbm_addr_clk with : (reset => (reset, UInt<1>("h00"))) @[axi4_to_ahb.scala 419:12] - _T_689 <= io.ahb_hwrite @[axi4_to_ahb.scala 419:12] - ahb_hwrite_q <= _T_689 @[axi4_to_ahb.scala 418:16] - reg _T_690 : UInt<1>, ahbm_clk with : (reset => (reset, UInt<1>("h00"))) @[axi4_to_ahb.scala 422:12] - _T_690 <= io.ahb_hresp @[axi4_to_ahb.scala 422:12] - ahb_hresp_q <= _T_690 @[axi4_to_ahb.scala 421:15] - node _T_691 = bits(io.ahb_hrdata, 63, 0) @[axi4_to_ahb.scala 425:26] - reg _T_692 : UInt, ahbm_data_clk with : (reset => (reset, UInt<1>("h00"))) @[axi4_to_ahb.scala 425:12] - _T_692 <= _T_691 @[axi4_to_ahb.scala 425:12] - ahb_hrdata_q <= _T_692 @[axi4_to_ahb.scala 424:16] - node _T_693 = or(buf_wr_en, slvbuf_wr_en) @[axi4_to_ahb.scala 428:43] - node _T_694 = or(_T_693, io.clk_override) @[axi4_to_ahb.scala 428:58] - node _T_695 = and(io.bus_clk_en, _T_694) @[axi4_to_ahb.scala 428:30] - buf_clken <= _T_695 @[axi4_to_ahb.scala 428:13] - node _T_696 = bits(io.ahb_htrans, 1, 1) @[axi4_to_ahb.scala 429:69] - node _T_697 = and(io.ahb_hready, _T_696) @[axi4_to_ahb.scala 429:54] - node _T_698 = or(_T_697, io.clk_override) @[axi4_to_ahb.scala 429:74] - node _T_699 = and(io.bus_clk_en, _T_698) @[axi4_to_ahb.scala 429:36] - ahbm_addr_clken <= _T_699 @[axi4_to_ahb.scala 429:19] - node _T_700 = neq(buf_state, UInt<3>("h00")) @[axi4_to_ahb.scala 430:50] - node _T_701 = or(_T_700, io.clk_override) @[axi4_to_ahb.scala 430:60] - node _T_702 = and(io.bus_clk_en, _T_701) @[axi4_to_ahb.scala 430:36] - ahbm_data_clken <= _T_702 @[axi4_to_ahb.scala 430:19] + buf_cmd_byte_ptrQ <= _T_685 @[axi4_to_ahb.scala 406:21] + reg _T_686 : UInt<1>, ahbm_clk with : (reset => (reset, UInt<1>("h00"))) @[axi4_to_ahb.scala 412:12] + _T_686 <= io.ahb_hready @[axi4_to_ahb.scala 412:12] + ahb_hready_q <= _T_686 @[axi4_to_ahb.scala 411:16] + node _T_687 = bits(io.ahb_htrans, 1, 0) @[axi4_to_ahb.scala 415:26] + reg _T_688 : UInt, ahbm_clk with : (reset => (reset, UInt<1>("h00"))) @[axi4_to_ahb.scala 415:12] + _T_688 <= _T_687 @[axi4_to_ahb.scala 415:12] + ahb_htrans_q <= _T_688 @[axi4_to_ahb.scala 414:16] + reg _T_689 : UInt<1>, ahbm_addr_clk with : (reset => (reset, UInt<1>("h00"))) @[axi4_to_ahb.scala 418:12] + _T_689 <= io.ahb_hwrite @[axi4_to_ahb.scala 418:12] + ahb_hwrite_q <= _T_689 @[axi4_to_ahb.scala 417:16] + reg _T_690 : UInt<1>, ahbm_clk with : (reset => (reset, UInt<1>("h00"))) @[axi4_to_ahb.scala 421:12] + _T_690 <= io.ahb_hresp @[axi4_to_ahb.scala 421:12] + ahb_hresp_q <= _T_690 @[axi4_to_ahb.scala 420:15] + node _T_691 = bits(io.ahb_hrdata, 63, 0) @[axi4_to_ahb.scala 424:26] + reg _T_692 : UInt, ahbm_data_clk with : (reset => (reset, UInt<1>("h00"))) @[axi4_to_ahb.scala 424:12] + _T_692 <= _T_691 @[axi4_to_ahb.scala 424:12] + ahb_hrdata_q <= _T_692 @[axi4_to_ahb.scala 423:16] + node _T_693 = or(buf_wr_en, slvbuf_wr_en) @[axi4_to_ahb.scala 427:43] + node _T_694 = or(_T_693, io.clk_override) @[axi4_to_ahb.scala 427:58] + node _T_695 = and(io.bus_clk_en, _T_694) @[axi4_to_ahb.scala 427:30] + buf_clken <= _T_695 @[axi4_to_ahb.scala 427:13] + node _T_696 = bits(io.ahb_htrans, 1, 1) @[axi4_to_ahb.scala 428:69] + node _T_697 = and(io.ahb_hready, _T_696) @[axi4_to_ahb.scala 428:54] + node _T_698 = or(_T_697, io.clk_override) @[axi4_to_ahb.scala 428:74] + node _T_699 = and(io.bus_clk_en, _T_698) @[axi4_to_ahb.scala 428:36] + ahbm_addr_clken <= _T_699 @[axi4_to_ahb.scala 428:19] + node _T_700 = neq(buf_state, UInt<3>("h00")) @[axi4_to_ahb.scala 429:50] + node _T_701 = or(_T_700, io.clk_override) @[axi4_to_ahb.scala 429:60] + node _T_702 = and(io.bus_clk_en, _T_701) @[axi4_to_ahb.scala 429:36] + ahbm_data_clken <= _T_702 @[axi4_to_ahb.scala 429: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 433:11] + buf_clk <= rvclkhdr_6.io.l1clk @[axi4_to_ahb.scala 432: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 434:12] + ahbm_clk <= rvclkhdr_7.io.l1clk @[axi4_to_ahb.scala 433: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 435:17] + ahbm_addr_clk <= rvclkhdr_8.io.l1clk @[axi4_to_ahb.scala 434: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 436:17] + ahbm_data_clk <= rvclkhdr_9.io.l1clk @[axi4_to_ahb.scala 435:17] diff --git a/axi4_to_ahb.v b/axi4_to_ahb.v index 5514e960..4dbc71e7 100644 --- a/axi4_to_ahb.v +++ b/axi4_to_ahb.v @@ -90,6 +90,7 @@ module axi4_to_ahb( reg [31:0] _RAND_22; reg [31:0] _RAND_23; reg [31:0] _RAND_24; + reg [31:0] _RAND_25; `endif // RANDOMIZE_REG_INIT wire rvclkhdr_io_l1clk; // @[el2_lib.scala 483:22] wire rvclkhdr_io_clk; // @[el2_lib.scala 483:22] @@ -131,47 +132,47 @@ 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] - reg [2:0] buf_state; // @[axi4_to_ahb.scala 62:26] - reg [2:0] buf_nxtstate; // @[axi4_to_ahb.scala 63:29] - wire _T = io_axi_awvalid & io_axi_awready; // @[axi4_to_ahb.scala 183:30] + reg [2:0] buf_nxtstate; // @[axi4_to_ahb.scala 62:29] + wire _T = io_axi_awvalid & io_axi_awready; // @[axi4_to_ahb.scala 182:30] + wire ahbm_clk = rvclkhdr_7_io_l1clk; // @[axi4_to_ahb.scala 152:22 axi4_to_ahb.scala 433:12] + reg [2:0] buf_state; // @[axi4_to_ahb.scala 368:12] wire _T_63 = 3'h0 == buf_state; // @[Conditional.scala 37:30] wire _T_115 = 3'h1 == buf_state; // @[Conditional.scala 37:30] - wire ahbm_clk = rvclkhdr_7_io_l1clk; // @[axi4_to_ahb.scala 153:22 axi4_to_ahb.scala 434:12] - reg ahb_hready_q; // @[axi4_to_ahb.scala 413:12] - reg [1:0] ahb_htrans_q; // @[axi4_to_ahb.scala 416:12] - wire _T_129 = ahb_htrans_q != 2'h0; // @[axi4_to_ahb.scala 244:59] - wire _T_130 = ahb_hready_q & _T_129; // @[axi4_to_ahb.scala 244:37] - wire ahbm_addr_clk = rvclkhdr_8_io_l1clk; // @[axi4_to_ahb.scala 154:27 axi4_to_ahb.scala 435:17] - reg ahb_hwrite_q; // @[axi4_to_ahb.scala 419:12] - wire _T_131 = ~ahb_hwrite_q; // @[axi4_to_ahb.scala 244:73] - wire _T_132 = _T_130 & _T_131; // @[axi4_to_ahb.scala 244:71] - wire _T_133 = buf_nxtstate == 3'h6; // @[axi4_to_ahb.scala 244:104] - wire _T_134 = _T_132 & _T_133; // @[axi4_to_ahb.scala 244:88] + reg ahb_hready_q; // @[axi4_to_ahb.scala 412:12] + reg [1:0] ahb_htrans_q; // @[axi4_to_ahb.scala 415:12] + wire _T_129 = ahb_htrans_q != 2'h0; // @[axi4_to_ahb.scala 243:59] + wire _T_130 = ahb_hready_q & _T_129; // @[axi4_to_ahb.scala 243:37] + wire ahbm_addr_clk = rvclkhdr_8_io_l1clk; // @[axi4_to_ahb.scala 153:27 axi4_to_ahb.scala 434:17] + reg ahb_hwrite_q; // @[axi4_to_ahb.scala 418:12] + wire _T_131 = ~ahb_hwrite_q; // @[axi4_to_ahb.scala 243:73] + wire _T_132 = _T_130 & _T_131; // @[axi4_to_ahb.scala 243:71] + wire _T_133 = buf_nxtstate == 3'h6; // @[axi4_to_ahb.scala 243:104] + wire _T_134 = _T_132 & _T_133; // @[axi4_to_ahb.scala 243:88] wire _T_145 = 3'h6 == buf_state; // @[Conditional.scala 37:30] - reg ahb_hresp_q; // @[axi4_to_ahb.scala 422:12] - wire _T_146 = ~ahb_hresp_q; // @[axi4_to_ahb.scala 252:39] - wire _T_147 = ahb_hready_q & _T_146; // @[axi4_to_ahb.scala 252:37] - wire bus_clk = rvclkhdr_io_l1clk; // @[axi4_to_ahb.scala 83:21 axi4_to_ahb.scala 216:11] - reg wrbuf_vld; // @[axi4_to_ahb.scala 352:48] - reg wrbuf_data_vld; // @[axi4_to_ahb.scala 353:48] - wire wr_cmd_vld = wrbuf_vld & wrbuf_data_vld; // @[axi4_to_ahb.scala 193:27] - wire master_valid = wr_cmd_vld | io_axi_arvalid; // @[axi4_to_ahb.scala 194:30] - wire [1:0] _T_28 = wr_cmd_vld ? 2'h3 : 2'h0; // @[axi4_to_ahb.scala 196:20] - wire [2:0] master_opc = {{1'd0}, _T_28}; // @[axi4_to_ahb.scala 196:14] - wire _T_149 = master_opc[2:1] == 2'h1; // @[axi4_to_ahb.scala 252:89] - wire _T_150 = master_valid & _T_149; // @[axi4_to_ahb.scala 252:70] - wire _T_151 = ~_T_150; // @[axi4_to_ahb.scala 252:55] - wire _T_152 = _T_147 & _T_151; // @[axi4_to_ahb.scala 252:53] + reg ahb_hresp_q; // @[axi4_to_ahb.scala 421:12] + wire _T_146 = ~ahb_hresp_q; // @[axi4_to_ahb.scala 251:39] + wire _T_147 = ahb_hready_q & _T_146; // @[axi4_to_ahb.scala 251:37] + wire bus_clk = rvclkhdr_io_l1clk; // @[axi4_to_ahb.scala 82:21 axi4_to_ahb.scala 215:11] + reg wrbuf_vld; // @[axi4_to_ahb.scala 351:48] + reg wrbuf_data_vld; // @[axi4_to_ahb.scala 352:48] + wire wr_cmd_vld = wrbuf_vld & wrbuf_data_vld; // @[axi4_to_ahb.scala 192:27] + wire master_valid = wr_cmd_vld | io_axi_arvalid; // @[axi4_to_ahb.scala 193:30] + wire [1:0] _T_28 = wr_cmd_vld ? 2'h3 : 2'h0; // @[axi4_to_ahb.scala 195:20] + wire [2:0] master_opc = {{1'd0}, _T_28}; // @[axi4_to_ahb.scala 195:14] + wire _T_149 = master_opc[2:1] == 2'h1; // @[axi4_to_ahb.scala 251:89] + wire _T_150 = master_valid & _T_149; // @[axi4_to_ahb.scala 251:70] + wire _T_151 = ~_T_150; // @[axi4_to_ahb.scala 251:55] + wire _T_152 = _T_147 & _T_151; // @[axi4_to_ahb.scala 251:53] wire _T_180 = 3'h7 == buf_state; // @[Conditional.scala 37:30] wire _T_191 = 3'h3 == buf_state; // @[Conditional.scala 37:30] wire _T_193 = 3'h2 == buf_state; // @[Conditional.scala 37:30] wire _T_286 = 3'h4 == buf_state; // @[Conditional.scala 37:30] - reg cmd_doneQ; // @[axi4_to_ahb.scala 404:12] - wire _T_289 = cmd_doneQ & ahb_hready_q; // @[axi4_to_ahb.scala 298:35] - wire _T_290 = _T_289 | ahb_hresp_q; // @[axi4_to_ahb.scala 298:51] - wire _T_292 = _T_290 & _T_146; // @[axi4_to_ahb.scala 298:66] - wire slave_ready = io_axi_bready & io_axi_rready; // @[axi4_to_ahb.scala 211:32] - wire _T_293 = _T_292 & slave_ready; // @[axi4_to_ahb.scala 298:81] + reg cmd_doneQ; // @[axi4_to_ahb.scala 403:12] + wire _T_289 = cmd_doneQ & ahb_hready_q; // @[axi4_to_ahb.scala 297:35] + wire _T_290 = _T_289 | ahb_hresp_q; // @[axi4_to_ahb.scala 297:51] + wire _T_292 = _T_290 & _T_146; // @[axi4_to_ahb.scala 297:66] + wire slave_ready = io_axi_bready & io_axi_rready; // @[axi4_to_ahb.scala 210:32] + wire _T_293 = _T_292 & slave_ready; // @[axi4_to_ahb.scala 297:81] wire _GEN_4 = _T_286 & _T_293; // @[Conditional.scala 39:67] wire _GEN_26 = _T_193 ? 1'h0 : _GEN_4; // @[Conditional.scala 39:67] wire _GEN_45 = _T_191 ? 1'h0 : _GEN_26; // @[Conditional.scala 39:67] @@ -179,29 +180,29 @@ module axi4_to_ahb( wire _GEN_66 = _T_145 ? _T_152 : _GEN_62; // @[Conditional.scala 39:67] wire _GEN_86 = _T_115 ? _T_134 : _GEN_66; // @[Conditional.scala 39:67] wire master_ready = _T_63 | _GEN_86; // @[Conditional.scala 40:58] - wire wrbuf_en = _T & master_ready; // @[axi4_to_ahb.scala 183:47] - wire _T_2 = io_axi_wvalid & io_axi_wready; // @[axi4_to_ahb.scala 184:34] - wire wrbuf_data_en = _T_2 & master_ready; // @[axi4_to_ahb.scala 184:50] - wire _T_4 = master_valid & master_ready; // @[axi4_to_ahb.scala 185:34] - wire wrbuf_cmd_sent = _T_4 & _T_149; // @[axi4_to_ahb.scala 185:49] - wire _T_8 = ~wrbuf_en; // @[axi4_to_ahb.scala 186:33] - wire wrbuf_rst = wrbuf_cmd_sent & _T_8; // @[axi4_to_ahb.scala 186:31] - wire _T_10 = ~wrbuf_cmd_sent; // @[axi4_to_ahb.scala 188:35] - wire _T_11 = wrbuf_vld & _T_10; // @[axi4_to_ahb.scala 188:33] - wire _T_12 = ~_T_11; // @[axi4_to_ahb.scala 188:21] - wire _T_15 = wrbuf_data_vld & _T_10; // @[axi4_to_ahb.scala 189:37] - wire _T_16 = ~_T_15; // @[axi4_to_ahb.scala 189:20] - wire _T_19 = ~wr_cmd_vld; // @[axi4_to_ahb.scala 190:21] + wire wrbuf_en = _T & master_ready; // @[axi4_to_ahb.scala 182:47] + wire _T_2 = io_axi_wvalid & io_axi_wready; // @[axi4_to_ahb.scala 183:34] + wire wrbuf_data_en = _T_2 & master_ready; // @[axi4_to_ahb.scala 183:50] + wire _T_4 = master_valid & master_ready; // @[axi4_to_ahb.scala 184:34] + wire wrbuf_cmd_sent = _T_4 & _T_149; // @[axi4_to_ahb.scala 184:49] + wire _T_8 = ~wrbuf_en; // @[axi4_to_ahb.scala 185:33] + wire wrbuf_rst = wrbuf_cmd_sent & _T_8; // @[axi4_to_ahb.scala 185:31] + wire _T_10 = ~wrbuf_cmd_sent; // @[axi4_to_ahb.scala 187:35] + wire _T_11 = wrbuf_vld & _T_10; // @[axi4_to_ahb.scala 187:33] + wire _T_12 = ~_T_11; // @[axi4_to_ahb.scala 187:21] + wire _T_15 = wrbuf_data_vld & _T_10; // @[axi4_to_ahb.scala 188:37] + wire _T_16 = ~_T_15; // @[axi4_to_ahb.scala 188:20] + wire _T_19 = ~wr_cmd_vld; // @[axi4_to_ahb.scala 189:21] reg wrbuf_tag; // @[Reg.scala 27:20] reg [31:0] wrbuf_addr; // @[el2_lib.scala 514:16] - wire [31:0] master_addr = wr_cmd_vld ? wrbuf_addr : io_axi_araddr; // @[axi4_to_ahb.scala 197:21] + wire [31:0] master_addr = wr_cmd_vld ? wrbuf_addr : io_axi_araddr; // @[axi4_to_ahb.scala 196:21] reg [2:0] wrbuf_size; // @[Reg.scala 27:20] - wire [2:0] master_size = wr_cmd_vld ? wrbuf_size : io_axi_arsize; // @[axi4_to_ahb.scala 198:21] + wire [2:0] master_size = wr_cmd_vld ? wrbuf_size : io_axi_arsize; // @[axi4_to_ahb.scala 197:21] reg [7:0] wrbuf_byteen; // @[Reg.scala 27:20] reg [63:0] wrbuf_data; // @[el2_lib.scala 514:16] - wire _T_161 = ahb_hready_q | ahb_hresp_q; // @[axi4_to_ahb.scala 255:37] - wire _T_194 = ahb_hready_q & ahb_hwrite_q; // @[axi4_to_ahb.scala 287:33] - wire _T_197 = _T_194 & _T_129; // @[axi4_to_ahb.scala 287:48] + wire _T_161 = ahb_hready_q | ahb_hresp_q; // @[axi4_to_ahb.scala 254:37] + wire _T_194 = ahb_hready_q & ahb_hwrite_q; // @[axi4_to_ahb.scala 286:33] + wire _T_197 = _T_194 & _T_129; // @[axi4_to_ahb.scala 286:48] wire _GEN_15 = _T_286 & _T_197; // @[Conditional.scala 39:67] wire _GEN_19 = _T_193 ? _T_197 : _GEN_15; // @[Conditional.scala 39:67] wire _GEN_40 = _T_191 ? 1'h0 : _GEN_19; // @[Conditional.scala 39:67] @@ -218,9 +219,9 @@ module axi4_to_ahb( wire _GEN_69 = _T_145 ? _T_161 : _GEN_51; // @[Conditional.scala 39:67] wire _GEN_83 = _T_115 ? _T_132 : _GEN_69; // @[Conditional.scala 39:67] wire buf_state_en = _T_63 ? _T_4 : _GEN_83; // @[Conditional.scala 40:58] - wire _T_163 = buf_state_en & _T_146; // @[axi4_to_ahb.scala 259:39] - wire _T_366 = buf_nxtstate != 3'h5; // @[axi4_to_ahb.scala 308:55] - wire _T_367 = buf_state_en & _T_366; // @[axi4_to_ahb.scala 308:39] + wire _T_163 = buf_state_en & _T_146; // @[axi4_to_ahb.scala 258:39] + wire _T_366 = buf_nxtstate != 3'h5; // @[axi4_to_ahb.scala 307:55] + wire _T_367 = buf_state_en & _T_366; // @[axi4_to_ahb.scala 307:39] wire _GEN_14 = _T_286 ? _T_367 : _T_449; // @[Conditional.scala 39:67] wire _GEN_33 = _T_193 ? 1'h0 : _GEN_14; // @[Conditional.scala 39:67] wire _GEN_49 = _T_191 ? 1'h0 : _GEN_33; // @[Conditional.scala 39:67] @@ -228,25 +229,25 @@ module axi4_to_ahb( wire _GEN_73 = _T_145 ? _T_163 : _GEN_52; // @[Conditional.scala 39:67] wire _GEN_94 = _T_115 ? 1'h0 : _GEN_73; // @[Conditional.scala 39:67] wire slave_valid_pre = _T_63 ? 1'h0 : _GEN_94; // @[Conditional.scala 40:58] - wire _T_39 = slave_valid_pre & slave_ready; // @[axi4_to_ahb.scala 203:32] - wire buf_clk = rvclkhdr_6_io_l1clk; // @[axi4_to_ahb.scala 151:21 axi4_to_ahb.scala 433:11] + wire _T_39 = slave_valid_pre & slave_ready; // @[axi4_to_ahb.scala 202:32] + wire buf_clk = rvclkhdr_6_io_l1clk; // @[axi4_to_ahb.scala 150:21 axi4_to_ahb.scala 432:12] reg slvbuf_write; // @[Reg.scala 27:20] - wire [1:0] _T_601 = slvbuf_write ? 2'h3 : 2'h0; // @[axi4_to_ahb.scala 345:23] + wire [1:0] _T_601 = slvbuf_write ? 2'h3 : 2'h0; // @[axi4_to_ahb.scala 344:23] reg slvbuf_error; // @[Reg.scala 27:20] wire [1:0] _T_603 = slvbuf_error ? 2'h3 : 2'h0; // @[Bitwise.scala 72:12] - wire [1:0] _T_604 = _T_603 & 2'h2; // @[axi4_to_ahb.scala 345:88] + wire [1:0] _T_604 = _T_603 & 2'h2; // @[axi4_to_ahb.scala 344:88] wire [3:0] slave_opc = {_T_601,_T_604}; // @[Cat.scala 29:58] - wire [1:0] _T_44 = slave_opc[1] ? 2'h3 : 2'h0; // @[axi4_to_ahb.scala 204:49] + wire [1:0] _T_44 = slave_opc[1] ? 2'h3 : 2'h0; // @[axi4_to_ahb.scala 203:49] reg slvbuf_tag; // @[Reg.scala 27:20] - wire _T_49 = slave_opc[3:2] == 2'h0; // @[axi4_to_ahb.scala 207:65] + wire _T_49 = slave_opc[3:2] == 2'h0; // @[axi4_to_ahb.scala 206:65] reg [31:0] last_bus_addr; // @[Reg.scala 27:20] wire [63:0] _T_608 = {last_bus_addr,last_bus_addr}; // @[Cat.scala 29:58] - wire _T_609 = buf_state == 3'h5; // @[axi4_to_ahb.scala 346:91] + wire _T_609 = buf_state == 3'h5; // @[axi4_to_ahb.scala 345:91] reg [63:0] buf_data; // @[el2_lib.scala 514:16] - wire ahbm_data_clk = rvclkhdr_9_io_l1clk; // @[axi4_to_ahb.scala 155:27 axi4_to_ahb.scala 436:17] - reg [63:0] ahb_hrdata_q; // @[axi4_to_ahb.scala 425:12] - wire [63:0] _T_612 = _T_609 ? buf_data : ahb_hrdata_q; // @[axi4_to_ahb.scala 346:79] - wire _T_60 = _T | _T_2; // @[axi4_to_ahb.scala 214:74] + wire ahbm_data_clk = rvclkhdr_9_io_l1clk; // @[axi4_to_ahb.scala 154:27 axi4_to_ahb.scala 435:17] + reg [63:0] ahb_hrdata_q; // @[axi4_to_ahb.scala 424:12] + wire [63:0] _T_612 = _T_609 ? buf_data : ahb_hrdata_q; // @[axi4_to_ahb.scala 345:79] + wire _T_60 = _T | _T_2; // @[axi4_to_ahb.scala 213:74] wire _GEN_8 = _T_286 & _T_149; // @[Conditional.scala 39:67] wire _GEN_29 = _T_193 ? 1'h0 : _GEN_8; // @[Conditional.scala 39:67] wire _GEN_46 = _T_191 ? 1'h0 : _GEN_29; // @[Conditional.scala 39:67] @@ -254,8 +255,8 @@ module axi4_to_ahb( wire _GEN_81 = _T_145 ? 1'h0 : _GEN_63; // @[Conditional.scala 39:67] wire _GEN_97 = _T_115 ? 1'h0 : _GEN_81; // @[Conditional.scala 39:67] wire buf_write_in = _T_63 ? _T_149 : _GEN_97; // @[Conditional.scala 40:58] - wire _T_69 = buf_nxtstate == 3'h2; // @[axi4_to_ahb.scala 230:54] - wire _T_70 = buf_state_en & _T_69; // @[axi4_to_ahb.scala 230:38] + wire _T_69 = buf_nxtstate == 3'h2; // @[axi4_to_ahb.scala 229:54] + wire _T_70 = buf_state_en & _T_69; // @[axi4_to_ahb.scala 229:38] wire [2:0] _T_100 = wrbuf_byteen[7] ? 3'h7 : 3'h0; // @[Mux.scala 98:16] wire [2:0] _T_101 = wrbuf_byteen[6] ? 3'h6 : _T_100; // @[Mux.scala 98:16] wire [2:0] _T_102 = wrbuf_byteen[5] ? 3'h5 : _T_101; // @[Mux.scala 98:16] @@ -264,13 +265,13 @@ module axi4_to_ahb( wire [2:0] _T_105 = wrbuf_byteen[2] ? 3'h2 : _T_104; // @[Mux.scala 98:16] wire [2:0] _T_106 = wrbuf_byteen[1] ? 3'h1 : _T_105; // @[Mux.scala 98:16] wire [2:0] _T_107 = wrbuf_byteen[0] ? 3'h0 : _T_106; // @[Mux.scala 98:16] - wire [2:0] _T_109 = buf_write_in ? _T_107 : master_addr[2:0]; // @[axi4_to_ahb.scala 233:30] - wire _T_110 = buf_nxtstate == 3'h1; // @[axi4_to_ahb.scala 235:51] - wire _T_135 = master_ready & master_valid; // @[axi4_to_ahb.scala 246:33] - wire _T_168 = _T_135 & _T_133; // @[axi4_to_ahb.scala 261:48] - wire _T_169 = _T_168 & buf_state_en; // @[axi4_to_ahb.scala 261:79] - wire _T_357 = buf_state_en & buf_write_in; // @[axi4_to_ahb.scala 306:33] - wire _T_359 = _T_357 & _T_69; // @[axi4_to_ahb.scala 306:48] + wire [2:0] _T_109 = buf_write_in ? _T_107 : master_addr[2:0]; // @[axi4_to_ahb.scala 232:30] + wire _T_110 = buf_nxtstate == 3'h1; // @[axi4_to_ahb.scala 234:51] + wire _T_135 = master_ready & master_valid; // @[axi4_to_ahb.scala 245:33] + wire _T_168 = _T_135 & _T_133; // @[axi4_to_ahb.scala 260:48] + wire _T_169 = _T_168 & buf_state_en; // @[axi4_to_ahb.scala 260:79] + wire _T_357 = buf_state_en & buf_write_in; // @[axi4_to_ahb.scala 305:33] + wire _T_359 = _T_357 & _T_69; // @[axi4_to_ahb.scala 305:48] wire _GEN_12 = _T_286 & _T_359; // @[Conditional.scala 39:67] wire _GEN_32 = _T_193 ? 1'h0 : _GEN_12; // @[Conditional.scala 39:67] wire _GEN_48 = _T_191 ? 1'h0 : _GEN_32; // @[Conditional.scala 39:67] @@ -279,20 +280,20 @@ module axi4_to_ahb( wire _GEN_88 = _T_115 ? _T_135 : _GEN_75; // @[Conditional.scala 39:67] wire bypass_en = _T_63 ? buf_state_en : _GEN_88; // @[Conditional.scala 40:58] wire [1:0] _T_113 = bypass_en ? 2'h3 : 2'h0; // @[Bitwise.scala 72:12] - wire [1:0] _T_114 = _T_113 & 2'h2; // @[axi4_to_ahb.scala 236:45] - wire _T_117 = master_opc == 3'h0; // @[axi4_to_ahb.scala 240:61] - wire _T_118 = master_valid & _T_117; // @[axi4_to_ahb.scala 240:41] - wire _T_126 = ~master_valid; // @[axi4_to_ahb.scala 242:34] - wire _T_127 = buf_state_en & _T_126; // @[axi4_to_ahb.scala 242:32] + wire [1:0] _T_114 = _T_113 & 2'h2; // @[axi4_to_ahb.scala 235:45] + wire _T_117 = master_opc == 3'h0; // @[axi4_to_ahb.scala 239:61] + wire _T_118 = master_valid & _T_117; // @[axi4_to_ahb.scala 239:41] + wire _T_126 = ~master_valid; // @[axi4_to_ahb.scala 241:34] + wire _T_127 = buf_state_en & _T_126; // @[axi4_to_ahb.scala 241:32] reg [31:0] buf_addr; // @[el2_lib.scala 514:16] - wire [2:0] _T_139 = bypass_en ? master_addr[2:0] : buf_addr[2:0]; // @[axi4_to_ahb.scala 247:30] - wire _T_140 = ~buf_state_en; // @[axi4_to_ahb.scala 248:44] - wire _T_141 = _T_140 | bypass_en; // @[axi4_to_ahb.scala 248:58] + wire [2:0] _T_139 = bypass_en ? master_addr[2:0] : buf_addr[2:0]; // @[axi4_to_ahb.scala 246:30] + wire _T_140 = ~buf_state_en; // @[axi4_to_ahb.scala 247:44] + wire _T_141 = _T_140 | bypass_en; // @[axi4_to_ahb.scala 247:58] wire [1:0] _T_143 = _T_141 ? 2'h3 : 2'h0; // @[Bitwise.scala 72:12] - wire [1:0] _T_144 = 2'h2 & _T_143; // @[axi4_to_ahb.scala 248:32] - wire _T_156 = _T_4 & _T_117; // @[axi4_to_ahb.scala 253:49] - wire _T_308 = _T_69 | _T_110; // @[axi4_to_ahb.scala 303:62] - wire _T_309 = buf_state_en & _T_308; // @[axi4_to_ahb.scala 303:33] + wire [1:0] _T_144 = 2'h2 & _T_143; // @[axi4_to_ahb.scala 247:32] + wire _T_156 = _T_4 & _T_117; // @[axi4_to_ahb.scala 252:49] + wire _T_308 = _T_69 | _T_110; // @[axi4_to_ahb.scala 302:62] + wire _T_309 = buf_state_en & _T_308; // @[axi4_to_ahb.scala 302:33] wire _GEN_9 = _T_286 & _T_309; // @[Conditional.scala 39:67] wire _GEN_30 = _T_193 ? 1'h0 : _GEN_9; // @[Conditional.scala 39:67] wire _GEN_47 = _T_191 ? 1'h0 : _GEN_30; // @[Conditional.scala 39:67] @@ -300,34 +301,67 @@ module axi4_to_ahb( wire _GEN_67 = _T_145 ? _T_156 : _GEN_64; // @[Conditional.scala 39:67] wire _GEN_87 = _T_115 ? master_ready : _GEN_67; // @[Conditional.scala 39:67] wire buf_wr_en = _T_63 ? buf_state_en : _GEN_87; // @[Conditional.scala 40:58] - wire _T_174 = buf_nxtstate != 3'h6; // @[axi4_to_ahb.scala 263:59] - wire _T_175 = _T_174 & buf_state_en; // @[axi4_to_ahb.scala 263:74] - wire _T_176 = ~_T_175; // @[axi4_to_ahb.scala 263:43] + wire _T_174 = buf_nxtstate != 3'h6; // @[axi4_to_ahb.scala 262:59] + wire _T_175 = _T_174 & buf_state_en; // @[axi4_to_ahb.scala 262:74] + wire _T_176 = ~_T_175; // @[axi4_to_ahb.scala 262:43] wire [1:0] _T_178 = _T_176 ? 2'h3 : 2'h0; // @[Bitwise.scala 72:12] - wire [1:0] _T_179 = 2'h2 & _T_178; // @[axi4_to_ahb.scala 263:32] + wire [1:0] _T_179 = 2'h2 & _T_178; // @[axi4_to_ahb.scala 262:32] wire [1:0] _T_189 = _T_140 ? 2'h3 : 2'h0; // @[Bitwise.scala 72:12] - wire [1:0] _T_190 = 2'h2 & _T_189; // @[axi4_to_ahb.scala 273:37] + wire [1:0] _T_190 = 2'h2 & _T_189; // @[axi4_to_ahb.scala 272:37] reg [2:0] buf_cmd_byte_ptrQ; // @[Reg.scala 27:20] - wire [2:0] _T_236 = trxn_done ? 3'h0 : buf_cmd_byte_ptrQ; // @[axi4_to_ahb.scala 291:30] - wire _T_356 = ahb_hresp_q | _T_130; // @[axi4_to_ahb.scala 305:32] + reg [7:0] buf_byteen; // @[Reg.scala 27:20] + wire [2:0] _T_202 = buf_cmd_byte_ptrQ + 3'h1; // @[axi4_to_ahb.scala 176:52] + wire _T_205 = 3'h0 >= _T_202; // @[axi4_to_ahb.scala 177:62] + wire _T_206 = buf_byteen[0] & _T_205; // @[axi4_to_ahb.scala 177:48] + wire _T_208 = 3'h1 >= _T_202; // @[axi4_to_ahb.scala 177:62] + wire _T_209 = buf_byteen[1] & _T_208; // @[axi4_to_ahb.scala 177:48] + wire _T_211 = 3'h2 >= _T_202; // @[axi4_to_ahb.scala 177:62] + wire _T_212 = buf_byteen[2] & _T_211; // @[axi4_to_ahb.scala 177:48] + wire _T_214 = 3'h3 >= _T_202; // @[axi4_to_ahb.scala 177:62] + wire _T_215 = buf_byteen[3] & _T_214; // @[axi4_to_ahb.scala 177:48] + wire _T_217 = 3'h4 >= _T_202; // @[axi4_to_ahb.scala 177:62] + wire _T_218 = buf_byteen[4] & _T_217; // @[axi4_to_ahb.scala 177:48] + wire _T_220 = 3'h5 >= _T_202; // @[axi4_to_ahb.scala 177:62] + wire _T_221 = buf_byteen[5] & _T_220; // @[axi4_to_ahb.scala 177:48] + wire _T_223 = 3'h6 >= _T_202; // @[axi4_to_ahb.scala 177:62] + wire _T_224 = buf_byteen[6] & _T_223; // @[axi4_to_ahb.scala 177:48] + wire [2:0] _T_228 = buf_byteen[7] ? 3'h7 : 3'h0; // @[Mux.scala 98:16] + wire [2:0] _T_229 = _T_224 ? 3'h6 : _T_228; // @[Mux.scala 98:16] + wire [2:0] _T_230 = _T_221 ? 3'h5 : _T_229; // @[Mux.scala 98:16] + wire [2:0] _T_231 = _T_218 ? 3'h4 : _T_230; // @[Mux.scala 98:16] + wire [2:0] _T_232 = _T_215 ? 3'h3 : _T_231; // @[Mux.scala 98:16] + wire [2:0] _T_233 = _T_212 ? 3'h2 : _T_232; // @[Mux.scala 98:16] + wire [2:0] _T_234 = _T_209 ? 3'h1 : _T_233; // @[Mux.scala 98:16] + wire [2:0] _T_235 = _T_206 ? 3'h0 : _T_234; // @[Mux.scala 98:16] + wire [2:0] _T_236 = trxn_done ? _T_235 : buf_cmd_byte_ptrQ; // @[axi4_to_ahb.scala 290:30] + wire _T_237 = buf_cmd_byte_ptrQ == 3'h7; // @[axi4_to_ahb.scala 291:65] + reg buf_aligned; // @[Reg.scala 27:20] + wire _T_238 = buf_aligned | _T_237; // @[axi4_to_ahb.scala 291:44] + wire [7:0] _T_276 = buf_byteen >> _T_235; // @[axi4_to_ahb.scala 291:92] + wire _T_278 = ~_T_276[0]; // @[axi4_to_ahb.scala 291:163] + wire _T_279 = _T_238 | _T_278; // @[axi4_to_ahb.scala 291:79] + wire _T_280 = trxn_done & _T_279; // @[axi4_to_ahb.scala 291:29] + wire _T_354 = _T_237 | _T_278; // @[axi4_to_ahb.scala 304:118] + wire _T_355 = _T_130 & _T_354; // @[axi4_to_ahb.scala 304:82] + wire _T_356 = ahb_hresp_q | _T_355; // @[axi4_to_ahb.scala 304:32] wire _GEN_11 = _T_286 & _T_356; // @[Conditional.scala 39:67] - wire _GEN_24 = _T_193 ? trxn_done : _GEN_11; // @[Conditional.scala 39:67] + wire _GEN_24 = _T_193 ? _T_280 : _GEN_11; // @[Conditional.scala 39:67] wire _GEN_43 = _T_191 ? 1'h0 : _GEN_24; // @[Conditional.scala 39:67] wire _GEN_61 = _T_180 ? 1'h0 : _GEN_43; // @[Conditional.scala 39:67] wire _GEN_74 = _T_145 ? _T_127 : _GEN_61; // @[Conditional.scala 39:67] wire _GEN_84 = _T_115 ? _T_127 : _GEN_74; // @[Conditional.scala 39:67] wire cmd_done = _T_63 ? 1'h0 : _GEN_84; // @[Conditional.scala 40:58] - wire _T_281 = cmd_done | cmd_doneQ; // @[axi4_to_ahb.scala 293:43] - wire _T_282 = ~_T_281; // @[axi4_to_ahb.scala 293:32] + wire _T_281 = cmd_done | cmd_doneQ; // @[axi4_to_ahb.scala 292:43] + wire _T_282 = ~_T_281; // @[axi4_to_ahb.scala 292:32] wire [1:0] _T_284 = _T_282 ? 2'h3 : 2'h0; // @[Bitwise.scala 72:12] - wire [1:0] _T_285 = _T_284 & 2'h2; // @[axi4_to_ahb.scala 293:57] - wire _T_294 = ~slave_ready; // @[axi4_to_ahb.scala 299:42] - wire _T_295 = ahb_hresp_q | _T_294; // @[axi4_to_ahb.scala 299:40] - wire _T_362 = _T_282 | bypass_en; // @[axi4_to_ahb.scala 307:57] + wire [1:0] _T_285 = _T_284 & 2'h2; // @[axi4_to_ahb.scala 292:57] + wire _T_294 = ~slave_ready; // @[axi4_to_ahb.scala 298:42] + wire _T_295 = ahb_hresp_q | _T_294; // @[axi4_to_ahb.scala 298:40] + wire _T_362 = _T_282 | bypass_en; // @[axi4_to_ahb.scala 306:57] wire [1:0] _T_364 = _T_362 ? 2'h3 : 2'h0; // @[Bitwise.scala 72:12] - wire [1:0] _T_365 = _T_364 & 2'h2; // @[axi4_to_ahb.scala 307:71] - wire _T_372 = trxn_done | bypass_en; // @[axi4_to_ahb.scala 310:40] - wire [2:0] _T_448 = bypass_en ? _T_107 : _T_236; // @[axi4_to_ahb.scala 313:30] + wire [1:0] _T_365 = _T_364 & 2'h2; // @[axi4_to_ahb.scala 306:71] + wire _T_372 = trxn_done | bypass_en; // @[axi4_to_ahb.scala 309:40] + wire [2:0] _T_448 = bypass_en ? _T_107 : _T_236; // @[axi4_to_ahb.scala 312:30] wire _GEN_6 = _T_286 & ahb_hresp_q; // @[Conditional.scala 39:67] wire _GEN_7 = _T_286 ? buf_state_en : _T_449; // @[Conditional.scala 39:67] wire _GEN_10 = _T_286 & buf_wr_en; // @[Conditional.scala 39:67] @@ -369,60 +403,59 @@ module axi4_to_ahb( wire [2:0] buf_cmd_byte_ptr = _T_63 ? _T_109 : _GEN_89; // @[Conditional.scala 40:58] wire slvbuf_wr_en = _T_63 ? 1'h0 : _GEN_85; // @[Conditional.scala 40:58] wire slvbuf_error_en = _T_63 ? 1'h0 : _GEN_93; // @[Conditional.scala 40:58] - wire _T_540 = master_size[1:0] == 2'h0; // @[axi4_to_ahb.scala 331:24] - wire _T_541 = _T_117 | _T_540; // @[axi4_to_ahb.scala 330:51] - wire _T_543 = master_size[1:0] == 2'h1; // @[axi4_to_ahb.scala 331:57] - wire _T_544 = _T_541 | _T_543; // @[axi4_to_ahb.scala 331:36] - wire _T_546 = master_size[1:0] == 2'h2; // @[axi4_to_ahb.scala 331:91] - wire _T_547 = _T_544 | _T_546; // @[axi4_to_ahb.scala 331:70] - wire _T_549 = master_size[1:0] == 2'h3; // @[axi4_to_ahb.scala 332:25] - wire _T_551 = wrbuf_byteen == 8'h3; // @[axi4_to_ahb.scala 332:62] - wire _T_553 = wrbuf_byteen == 8'hc; // @[axi4_to_ahb.scala 332:97] - wire _T_554 = _T_551 | _T_553; // @[axi4_to_ahb.scala 332:74] - wire _T_556 = wrbuf_byteen == 8'h30; // @[axi4_to_ahb.scala 332:132] - wire _T_557 = _T_554 | _T_556; // @[axi4_to_ahb.scala 332:109] - wire _T_559 = wrbuf_byteen == 8'hc0; // @[axi4_to_ahb.scala 332:168] - wire _T_560 = _T_557 | _T_559; // @[axi4_to_ahb.scala 332:145] - wire _T_562 = wrbuf_byteen == 8'hf; // @[axi4_to_ahb.scala 333:28] - wire _T_563 = _T_560 | _T_562; // @[axi4_to_ahb.scala 332:181] - wire _T_565 = wrbuf_byteen == 8'hf0; // @[axi4_to_ahb.scala 333:63] - wire _T_566 = _T_563 | _T_565; // @[axi4_to_ahb.scala 333:40] - wire _T_568 = wrbuf_byteen == 8'hff; // @[axi4_to_ahb.scala 333:99] - wire _T_569 = _T_566 | _T_568; // @[axi4_to_ahb.scala 333:76] - wire _T_570 = _T_549 & _T_569; // @[axi4_to_ahb.scala 332:38] - wire buf_aligned_in = _T_547 | _T_570; // @[axi4_to_ahb.scala 331:104] - wire _T_452 = buf_aligned_in & _T_149; // @[axi4_to_ahb.scala 325:55] - wire [2:0] _T_489 = _T_452 ? 3'h0 : master_addr[2:0]; // @[axi4_to_ahb.scala 325:38] + wire _T_540 = master_size[1:0] == 2'h0; // @[axi4_to_ahb.scala 330:24] + wire _T_541 = _T_117 | _T_540; // @[axi4_to_ahb.scala 329:51] + wire _T_543 = master_size[1:0] == 2'h1; // @[axi4_to_ahb.scala 330:57] + wire _T_544 = _T_541 | _T_543; // @[axi4_to_ahb.scala 330:36] + wire _T_546 = master_size[1:0] == 2'h2; // @[axi4_to_ahb.scala 330:91] + wire _T_547 = _T_544 | _T_546; // @[axi4_to_ahb.scala 330:70] + wire _T_549 = master_size[1:0] == 2'h3; // @[axi4_to_ahb.scala 331:25] + wire _T_551 = wrbuf_byteen == 8'h3; // @[axi4_to_ahb.scala 331:62] + wire _T_553 = wrbuf_byteen == 8'hc; // @[axi4_to_ahb.scala 331:97] + wire _T_554 = _T_551 | _T_553; // @[axi4_to_ahb.scala 331:74] + wire _T_556 = wrbuf_byteen == 8'h30; // @[axi4_to_ahb.scala 331:132] + wire _T_557 = _T_554 | _T_556; // @[axi4_to_ahb.scala 331:109] + wire _T_559 = wrbuf_byteen == 8'hc0; // @[axi4_to_ahb.scala 331:168] + wire _T_560 = _T_557 | _T_559; // @[axi4_to_ahb.scala 331:145] + wire _T_562 = wrbuf_byteen == 8'hf; // @[axi4_to_ahb.scala 332:28] + wire _T_563 = _T_560 | _T_562; // @[axi4_to_ahb.scala 331:181] + wire _T_565 = wrbuf_byteen == 8'hf0; // @[axi4_to_ahb.scala 332:63] + wire _T_566 = _T_563 | _T_565; // @[axi4_to_ahb.scala 332:40] + wire _T_568 = wrbuf_byteen == 8'hff; // @[axi4_to_ahb.scala 332:99] + wire _T_569 = _T_566 | _T_568; // @[axi4_to_ahb.scala 332:76] + wire _T_570 = _T_549 & _T_569; // @[axi4_to_ahb.scala 331:38] + wire buf_aligned_in = _T_547 | _T_570; // @[axi4_to_ahb.scala 330:104] + wire _T_452 = buf_aligned_in & _T_149; // @[axi4_to_ahb.scala 324:55] + wire [2:0] _T_489 = _T_452 ? 3'h0 : master_addr[2:0]; // @[axi4_to_ahb.scala 324:38] wire [34:0] _T_490 = {master_addr,_T_489}; // @[Cat.scala 29:58] - wire _T_493 = buf_state == 3'h3; // @[axi4_to_ahb.scala 328:33] - wire _T_499 = buf_aligned_in & _T_549; // @[axi4_to_ahb.scala 329:38] - wire _T_502 = _T_499 & _T_149; // @[axi4_to_ahb.scala 329:72] - wire [1:0] _T_536 = _T_502 ? 2'h0 : master_size[1:0]; // @[axi4_to_ahb.scala 329:21] + wire _T_493 = buf_state == 3'h3; // @[axi4_to_ahb.scala 327:33] + wire _T_499 = buf_aligned_in & _T_549; // @[axi4_to_ahb.scala 328:38] + wire _T_502 = _T_499 & _T_149; // @[axi4_to_ahb.scala 328:72] + wire [1:0] _T_536 = _T_502 ? 2'h0 : master_size[1:0]; // @[axi4_to_ahb.scala 328:21] wire [31:0] _T_575 = {master_addr[31:3],buf_cmd_byte_ptr}; // @[Cat.scala 29:58] wire [31:0] _T_578 = {buf_addr[31:3],buf_cmd_byte_ptr}; // @[Cat.scala 29:58] wire [1:0] _T_582 = buf_aligned_in ? 2'h3 : 2'h0; // @[Bitwise.scala 72:12] - wire [2:0] buf_size_in = {{1'd0}, _T_536}; // @[axi4_to_ahb.scala 329:15] - wire [1:0] _T_584 = _T_582 & buf_size_in[1:0]; // @[axi4_to_ahb.scala 336:80] + wire [2:0] buf_size_in = {{1'd0}, _T_536}; // @[axi4_to_ahb.scala 328:15] + wire [1:0] _T_584 = _T_582 & buf_size_in[1:0]; // @[axi4_to_ahb.scala 335:80] wire [2:0] _T_585 = {1'h0,_T_584}; // @[Cat.scala 29:58] - wire _T_593 = ~io_axi_arprot[2]; // @[axi4_to_ahb.scala 340:33] + wire _T_593 = ~io_axi_arprot[2]; // @[axi4_to_ahb.scala 339:33] wire [1:0] _T_594 = {1'h1,_T_593}; // @[Cat.scala 29:58] reg buf_write; // @[Reg.scala 27:20] - wire _T_616 = io_ahb_htrans != 2'h0; // @[axi4_to_ahb.scala 349:40] - wire _T_617 = _T_616 & io_ahb_hready; // @[axi4_to_ahb.scala 349:52] - wire last_addr_en = _T_617 & io_ahb_hwrite; // @[axi4_to_ahb.scala 349:68] - wire _T_620 = wrbuf_en | wrbuf_vld; // @[axi4_to_ahb.scala 352:52] - wire _T_621 = ~wrbuf_rst; // @[axi4_to_ahb.scala 352:88] - wire _T_625 = wrbuf_data_en | wrbuf_data_vld; // @[axi4_to_ahb.scala 353:52] - wire [2:0] _T_646 = buf_state_en ? buf_nxtstate : buf_state; // @[axi4_to_ahb.scala 369:16] - reg [2:0] _T_649; // @[axi4_to_ahb.scala 369:12] + wire _T_616 = io_ahb_htrans != 2'h0; // @[axi4_to_ahb.scala 348:40] + wire _T_617 = _T_616 & io_ahb_hready; // @[axi4_to_ahb.scala 348:52] + wire last_addr_en = _T_617 & io_ahb_hwrite; // @[axi4_to_ahb.scala 348:68] + wire _T_620 = wrbuf_en | wrbuf_vld; // @[axi4_to_ahb.scala 351:52] + wire _T_621 = ~wrbuf_rst; // @[axi4_to_ahb.scala 351:88] + wire _T_625 = wrbuf_data_en | wrbuf_data_vld; // @[axi4_to_ahb.scala 352:52] + wire [2:0] _T_646 = buf_state_en ? buf_nxtstate : buf_state; // @[axi4_to_ahb.scala 368:16] reg buf_tag; // @[Reg.scala 27:20] - wire _T_680 = ~slave_valid_pre; // @[axi4_to_ahb.scala 404:52] - wire _T_693 = buf_wr_en | slvbuf_wr_en; // @[axi4_to_ahb.scala 428:43] - wire _T_694 = _T_693 | io_clk_override; // @[axi4_to_ahb.scala 428:58] - wire _T_697 = io_ahb_hready & io_ahb_htrans[1]; // @[axi4_to_ahb.scala 429:54] - wire _T_698 = _T_697 | io_clk_override; // @[axi4_to_ahb.scala 429:74] - wire _T_700 = buf_state != 3'h0; // @[axi4_to_ahb.scala 430:50] - wire _T_701 = _T_700 | io_clk_override; // @[axi4_to_ahb.scala 430:60] + wire _T_680 = ~slave_valid_pre; // @[axi4_to_ahb.scala 403:52] + wire _T_693 = buf_wr_en | slvbuf_wr_en; // @[axi4_to_ahb.scala 427:43] + wire _T_694 = _T_693 | io_clk_override; // @[axi4_to_ahb.scala 427:58] + wire _T_697 = io_ahb_hready & io_ahb_htrans[1]; // @[axi4_to_ahb.scala 428:54] + wire _T_698 = _T_697 | io_clk_override; // @[axi4_to_ahb.scala 428:74] + wire _T_700 = buf_state != 3'h0; // @[axi4_to_ahb.scala 429:50] + wire _T_701 = _T_700 | io_clk_override; // @[axi4_to_ahb.scala 429:60] rvclkhdr rvclkhdr ( // @[el2_lib.scala 483:22] .io_l1clk(rvclkhdr_io_l1clk), .io_clk(rvclkhdr_io_clk), @@ -483,25 +516,25 @@ module axi4_to_ahb( .io_en(rvclkhdr_9_io_en), .io_scan_mode(rvclkhdr_9_io_scan_mode) ); - assign io_axi_awready = _T_12 & master_ready; // @[axi4_to_ahb.scala 188:18] - assign io_axi_wready = _T_16 & master_ready; // @[axi4_to_ahb.scala 189:17] - assign io_axi_bvalid = _T_39 & slave_opc[3]; // @[axi4_to_ahb.scala 203:17] - assign io_axi_bresp = slave_opc[0] ? 2'h2 : _T_44; // @[axi4_to_ahb.scala 204:16] - assign io_axi_bid = slvbuf_tag; // @[axi4_to_ahb.scala 205:14] - assign io_axi_arready = _T_19 & master_ready; // @[axi4_to_ahb.scala 190:18] - assign io_axi_rvalid = _T_39 & _T_49; // @[axi4_to_ahb.scala 207:17] - assign io_axi_rid = slvbuf_tag; // @[axi4_to_ahb.scala 209:14] - assign io_axi_rdata = slvbuf_error ? _T_608 : _T_612; // @[axi4_to_ahb.scala 210:16] - assign io_axi_rresp = slave_opc[0] ? 2'h2 : _T_44; // @[axi4_to_ahb.scala 208:16] - assign io_axi_rlast = 1'h1; // @[axi4_to_ahb.scala 191:16] - assign io_ahb_haddr = bypass_en ? _T_575 : _T_578; // @[axi4_to_ahb.scala 335:16] - assign io_ahb_hburst = 3'h0; // @[axi4_to_ahb.scala 338:17] - assign io_ahb_hmastlock = 1'h0; // @[axi4_to_ahb.scala 339:20] - assign io_ahb_hprot = {{2'd0}, _T_594}; // @[axi4_to_ahb.scala 340:16] - assign io_ahb_hsize = bypass_en ? _T_585 : 3'h0; // @[axi4_to_ahb.scala 336:16] - assign io_ahb_htrans = _T_63 ? _T_114 : _GEN_90; // @[axi4_to_ahb.scala 220: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_149 : buf_write; // @[axi4_to_ahb.scala 341:17] - assign io_ahb_hwdata = buf_data; // @[axi4_to_ahb.scala 342:17] + assign io_axi_awready = _T_12 & master_ready; // @[axi4_to_ahb.scala 187:18] + assign io_axi_wready = _T_16 & master_ready; // @[axi4_to_ahb.scala 188:17] + assign io_axi_bvalid = _T_39 & slave_opc[3]; // @[axi4_to_ahb.scala 202:17] + assign io_axi_bresp = slave_opc[0] ? 2'h2 : _T_44; // @[axi4_to_ahb.scala 203:16] + assign io_axi_bid = slvbuf_tag; // @[axi4_to_ahb.scala 204:14] + assign io_axi_arready = _T_19 & master_ready; // @[axi4_to_ahb.scala 189:18] + assign io_axi_rvalid = _T_39 & _T_49; // @[axi4_to_ahb.scala 206:17] + assign io_axi_rid = slvbuf_tag; // @[axi4_to_ahb.scala 208:14] + assign io_axi_rdata = slvbuf_error ? _T_608 : _T_612; // @[axi4_to_ahb.scala 209:16] + assign io_axi_rresp = slave_opc[0] ? 2'h2 : _T_44; // @[axi4_to_ahb.scala 207:16] + assign io_axi_rlast = 1'h1; // @[axi4_to_ahb.scala 190:16] + assign io_ahb_haddr = bypass_en ? _T_575 : _T_578; // @[axi4_to_ahb.scala 334:16] + assign io_ahb_hburst = 3'h0; // @[axi4_to_ahb.scala 337:17] + assign io_ahb_hmastlock = 1'h0; // @[axi4_to_ahb.scala 338:20] + assign io_ahb_hprot = {{2'd0}, _T_594}; // @[axi4_to_ahb.scala 339:16] + assign io_ahb_hsize = bypass_en ? _T_585 : 3'h0; // @[axi4_to_ahb.scala 335:16] + assign io_ahb_htrans = _T_63 ? _T_114 : _GEN_90; // @[axi4_to_ahb.scala 219:17 axi4_to_ahb.scala 235:21 axi4_to_ahb.scala 247:21 axi4_to_ahb.scala 262:21 axi4_to_ahb.scala 272:21 axi4_to_ahb.scala 292:21 axi4_to_ahb.scala 306:21] + assign io_ahb_hwrite = bypass_en ? _T_149 : buf_write; // @[axi4_to_ahb.scala 340:17] + assign io_ahb_hwdata = buf_data; // @[axi4_to_ahb.scala 341: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] @@ -568,9 +601,9 @@ initial begin `endif `ifdef RANDOMIZE_REG_INIT _RAND_0 = {1{`RANDOM}}; - buf_state = _RAND_0[2:0]; + buf_nxtstate = _RAND_0[2:0]; _RAND_1 = {1{`RANDOM}}; - buf_nxtstate = _RAND_1[2:0]; + buf_state = _RAND_1[2:0]; _RAND_2 = {1{`RANDOM}}; ahb_hready_q = _RAND_2[0:0]; _RAND_3 = {1{`RANDOM}}; @@ -612,17 +645,19 @@ initial begin _RAND_21 = {1{`RANDOM}}; buf_cmd_byte_ptrQ = _RAND_21[2:0]; _RAND_22 = {1{`RANDOM}}; - buf_write = _RAND_22[0:0]; + buf_byteen = _RAND_22[7:0]; _RAND_23 = {1{`RANDOM}}; - _T_649 = _RAND_23[2:0]; + buf_aligned = _RAND_23[0:0]; _RAND_24 = {1{`RANDOM}}; - buf_tag = _RAND_24[0:0]; + buf_write = _RAND_24[0:0]; + _RAND_25 = {1{`RANDOM}}; + buf_tag = _RAND_25[0:0]; `endif // RANDOMIZE_REG_INIT if (reset) begin - buf_state = 3'h0; + buf_nxtstate = 3'h0; end if (reset) begin - buf_nxtstate = 3'h0; + buf_state = 3'h0; end if (reset) begin ahb_hready_q = 1'h0; @@ -685,10 +720,13 @@ initial begin buf_cmd_byte_ptrQ = 3'h0; end if (reset) begin - buf_write = 1'h0; + buf_byteen = 8'h0; end if (reset) begin - _T_649 = 3'h0; + buf_aligned = 1'h0; + end + if (reset) begin + buf_write = 1'h0; end if (reset) begin buf_tag = 1'h0; @@ -699,13 +737,6 @@ end // initial `FIRRTL_AFTER_INITIAL `endif `endif // SYNTHESIS - always @(posedge clock or posedge reset) begin - if (reset) begin - buf_state <= 3'h0; - end else begin - buf_state <= _T_649; - end - end always @(posedge clock or posedge reset) begin if (reset) begin buf_nxtstate <= 3'h0; @@ -751,6 +782,13 @@ end // initial buf_nxtstate <= 3'h0; end end + always @(posedge ahbm_clk or posedge reset) begin + if (reset) begin + buf_state <= 3'h0; + end else begin + buf_state <= _T_646 & 3'h1; + end + end always @(posedge ahbm_clk or posedge reset) begin if (reset) begin ahb_hready_q <= 1'h0; @@ -946,7 +984,25 @@ end // initial buf_cmd_byte_ptrQ <= 3'h0; end else if (_T_193) begin if (trxn_done) begin - buf_cmd_byte_ptrQ <= 3'h0; + if (_T_206) begin + buf_cmd_byte_ptrQ <= 3'h0; + end else if (_T_209) begin + buf_cmd_byte_ptrQ <= 3'h1; + end else if (_T_212) begin + buf_cmd_byte_ptrQ <= 3'h2; + end else if (_T_215) begin + buf_cmd_byte_ptrQ <= 3'h3; + end else if (_T_218) begin + buf_cmd_byte_ptrQ <= 3'h4; + end else if (_T_221) begin + buf_cmd_byte_ptrQ <= 3'h5; + end else if (_T_224) begin + buf_cmd_byte_ptrQ <= 3'h6; + end else if (buf_byteen[7]) begin + buf_cmd_byte_ptrQ <= 3'h7; + end else begin + buf_cmd_byte_ptrQ <= 3'h0; + end end end else if (_T_286) begin if (bypass_en) begin @@ -970,13 +1026,45 @@ end // initial buf_cmd_byte_ptrQ <= 3'h0; end end else if (trxn_done) begin - buf_cmd_byte_ptrQ <= 3'h0; + if (_T_206) begin + buf_cmd_byte_ptrQ <= 3'h0; + end else if (_T_209) begin + buf_cmd_byte_ptrQ <= 3'h1; + end else if (_T_212) begin + buf_cmd_byte_ptrQ <= 3'h2; + end else if (_T_215) begin + buf_cmd_byte_ptrQ <= 3'h3; + end else if (_T_218) begin + buf_cmd_byte_ptrQ <= 3'h4; + end else if (_T_221) begin + buf_cmd_byte_ptrQ <= 3'h5; + end else if (_T_224) begin + buf_cmd_byte_ptrQ <= 3'h6; + end else if (buf_byteen[7]) begin + buf_cmd_byte_ptrQ <= 3'h7; + end else begin + buf_cmd_byte_ptrQ <= 3'h0; + end end end else begin buf_cmd_byte_ptrQ <= 3'h0; end end end + always @(posedge buf_clk or posedge reset) begin + if (reset) begin + buf_byteen <= 8'h0; + end else if (buf_wr_en) begin + buf_byteen <= wrbuf_byteen; + end + end + always @(posedge buf_clk or posedge reset) begin + if (reset) begin + buf_aligned <= 1'h0; + end else if (buf_wr_en) begin + buf_aligned <= buf_aligned_in; + end + end always @(posedge buf_clk or posedge reset) begin if (reset) begin buf_write <= 1'h0; @@ -998,13 +1086,6 @@ end // initial end end end - always @(posedge ahbm_clk or posedge reset) begin - if (reset) begin - _T_649 <= 3'h0; - end else begin - _T_649 <= _T_646 & 3'h1; - end - end always @(posedge buf_clk or posedge reset) begin if (reset) begin buf_tag <= 1'h0; diff --git a/src/main/scala/lib/axi4_to_ahb.scala b/src/main/scala/lib/axi4_to_ahb.scala index 00e6669b..f08ac950 100644 --- a/src/main/scala/lib/axi4_to_ahb.scala +++ b/src/main/scala/lib/axi4_to_ahb.scala @@ -58,8 +58,7 @@ class axi4_to_ahb_IO extends Bundle with Config { class axi4_to_ahb extends Module with el2_lib with RequireAsyncReset with Config { val io = IO(new axi4_to_ahb_IO) val idle :: cmd_rd :: cmd_wr :: data_rd :: data_wr :: done :: stream_rd :: stream_err_rd :: nil = Enum(8) - val state = RegInit(idle) // typedef enum - val buf_state = RegInit(idle) + val buf_state = WireInit(idle) val buf_nxtstate = RegInit(idle) //logic signals val slave_valid = WireInit(Bool(), init = false.B) @@ -385,7 +384,7 @@ class axi4_to_ahb extends Module with el2_lib with RequireAsyncReset with Config RegEnable(buf_aligned_in, 0.U, buf_wr_en.asBool()) } buf_byteen := withClock(buf_clk) { - RegEnable(buf_byteen(7, 0), 0.U, buf_wr_en.asBool()) + RegEnable(buf_byteen_in(7, 0), 0.U, buf_wr_en.asBool()) } //e buf_data := rvdffe(buf_data_in(63, 0),(buf_data_wr_en & io.bus_clk_en).asBool(),clock,io.scan_mode) @@ -430,7 +429,7 @@ class axi4_to_ahb extends Module with el2_lib with RequireAsyncReset with Config ahbm_data_clken := io.bus_clk_en & ((buf_state =/= idle) | io.clk_override) //Clkhdr - buf_clk := rvclkhdr(clock, buf_clken, io.scan_mode) + buf_clk := rvclkhdr(clock, buf_clken, io.scan_mode) ahbm_clk := rvclkhdr(clock, io.bus_clk_en, io.scan_mode) ahbm_addr_clk := rvclkhdr(clock, ahbm_addr_clken, io.scan_mode) ahbm_data_clk := rvclkhdr(clock, ahbm_data_clken, io.scan_mode) diff --git a/target/scala-2.12/classes/lib/AXImain$.class b/target/scala-2.12/classes/lib/AXImain$.class index 0098f42346eb98c13f2907fce6155da1133021cc..70a88c06fc2692575deec0ad63fff3cff7771ecd 100644 GIT binary patch delta 103 zcmdlbw@YrrXD-HVlfQ7;0?7m(@yVXto>0~*ZYv<`DYp%fRN{fi2LjofcwE6MBqs~< jT0&VVyv~d}Ca>TP<=oD|!MKA#A1KboR{0~*ZYv<`DYp%fRN{fi2LjofcwE6MBqs~< jT0&VVyv~d}C$HcQ<=nx*!MKw_A1KboR{h$qq~bKyo6JHvmVM2D$(M 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 103610ed5e2da11b915af1090181b7a07078da39..1aeba5c68d650dcf154e5be3d7cace3a2d27e0a8 100644 GIT binary patch literal 106109 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

dU@fiW|_>dj`3uDCqw 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 z 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