From 46d51ac4b47bd1ef31e65341e21d7bfcb89b551a Mon Sep 17 00:00:00 2001 From: Abdul Hameed Akram Date: Thu, 17 Dec 2020 17:39:01 +0500 Subject: [PATCH] dma updated --- .idea/codeStyles/Project.xml | 10 + build.sbt | 4 +- firrtl_black_box_resource_files.f | 6 +- quasar_wrapper.fir | 330 +++++++++--------- quasar_wrapper.v | 274 +++++++-------- src/main/scala/dma_ctrl.scala | 21 +- target/scala-2.12/classes/dma$.class | Bin 3807 -> 3807 bytes .../classes/dma$delayedInit$body.class | Bin 681 -> 681 bytes target/scala-2.12/classes/dma_ctrl.class | Bin 246085 -> 231991 bytes .../classes/lsu/lsu_bus_buffer.class | Bin 549110 -> 549111 bytes target/scala-2.12/classes/lsu/lsu_ecc.class | Bin 101393 -> 101393 bytes target/scala-2.12/classes/lsu/lsu_stbuf.class | Bin 194201 -> 194201 bytes 12 files changed, 323 insertions(+), 322 deletions(-) diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml index 919ce1f1..b60f49b8 100644 --- a/.idea/codeStyles/Project.xml +++ b/.idea/codeStyles/Project.xml @@ -2,6 +2,16 @@ + + + + \ No newline at end of file diff --git a/build.sbt b/build.sbt index dfa04954..a4c95998 100644 --- a/build.sbt +++ b/build.sbt @@ -26,7 +26,9 @@ def javacOptionsVersion(scalaVersion: String): Seq[String] = { } } -name := "chisel-module-template" +name := "Quasar" + +organization := "https://www.lampromellon.com/" version := "3.3.0" diff --git a/firrtl_black_box_resource_files.f b/firrtl_black_box_resource_files.f index 8ddad915..3db924db 100644 --- a/firrtl_black_box_resource_files.f +++ b/firrtl_black_box_resource_files.f @@ -1,3 +1,3 @@ -/home/waleedbinehsan/Downloads/Quasar/gated_latch.v -/home/waleedbinehsan/Downloads/Quasar/dmi_wrapper.sv -/home/waleedbinehsan/Downloads/Quasar/mem.sv \ No newline at end of file +/home/abdulhameed.akram/Videos/Quasar/gated_latch.v +/home/abdulhameed.akram/Videos/Quasar/dmi_wrapper.sv +/home/abdulhameed.akram/Videos/Quasar/mem.sv \ No newline at end of file diff --git a/quasar_wrapper.fir b/quasar_wrapper.fir index 6d160058..f737f225 100644 --- a/quasar_wrapper.fir +++ b/quasar_wrapper.fir @@ -108807,48 +108807,50 @@ circuit quasar_wrapper : node _T_1218 = orr(fifo_valid) @[dma_ctrl.scala 387:151] node _T_1219 = or(_T_1217, _T_1218) @[dma_ctrl.scala 387:137] node dma_free_clken = or(_T_1219, io.clk_override) @[dma_ctrl.scala 387:156] - inst dma_buffer_c1cgc of rvclkhdr_841 @[dma_ctrl.scala 389:32] - dma_buffer_c1cgc.clock <= clock - dma_buffer_c1cgc.reset <= reset - dma_buffer_c1cgc.io.en <= dma_buffer_c1_clken @[dma_ctrl.scala 390:33] - dma_buffer_c1cgc.io.scan_mode <= io.scan_mode @[dma_ctrl.scala 391:33] - dma_buffer_c1cgc.io.clk <= clock @[dma_ctrl.scala 392:33] - dma_buffer_c1_clk <= dma_buffer_c1cgc.io.l1clk @[dma_ctrl.scala 393:33] - inst dma_free_cgc of rvclkhdr_842 @[dma_ctrl.scala 395:28] - dma_free_cgc.clock <= clock - dma_free_cgc.reset <= reset - dma_free_cgc.io.en <= dma_free_clken @[dma_ctrl.scala 396:29] - dma_free_cgc.io.scan_mode <= io.scan_mode @[dma_ctrl.scala 397:29] - dma_free_cgc.io.clk <= clock @[dma_ctrl.scala 398:29] - dma_free_clk <= dma_free_cgc.io.l1clk @[dma_ctrl.scala 399:29] - inst dma_bus_cgc of rvclkhdr_843 @[dma_ctrl.scala 401:27] - dma_bus_cgc.clock <= clock - dma_bus_cgc.reset <= reset - dma_bus_cgc.io.en <= io.dma_bus_clk_en @[dma_ctrl.scala 402:28] - dma_bus_cgc.io.scan_mode <= io.scan_mode @[dma_ctrl.scala 403:28] - dma_bus_cgc.io.clk <= clock @[dma_ctrl.scala 404:28] - dma_bus_clk <= dma_bus_cgc.io.l1clk @[dma_ctrl.scala 405:28] - node wrbuf_en = and(io.dma_axi.aw.valid, io.dma_axi.aw.ready) @[dma_ctrl.scala 409:47] - node wrbuf_data_en = and(io.dma_axi.w.valid, io.dma_axi.w.ready) @[dma_ctrl.scala 410:46] - node wrbuf_cmd_sent = and(axi_mstr_prty_en, bus_cmd_write) @[dma_ctrl.scala 411:40] - node _T_1220 = bits(wrbuf_cmd_sent, 0, 0) @[dma_ctrl.scala 412:42] - node _T_1221 = eq(wrbuf_en, UInt<1>("h00")) @[dma_ctrl.scala 412:51] - node wrbuf_rst = and(_T_1220, _T_1221) @[dma_ctrl.scala 412:49] - node _T_1222 = bits(wrbuf_cmd_sent, 0, 0) @[dma_ctrl.scala 413:42] - node _T_1223 = eq(wrbuf_data_en, UInt<1>("h00")) @[dma_ctrl.scala 413:51] - node wrbuf_data_rst = and(_T_1222, _T_1223) @[dma_ctrl.scala 413:49] - node _T_1224 = mux(wrbuf_en, UInt<1>("h01"), wrbuf_vld) @[dma_ctrl.scala 415:63] - node _T_1225 = eq(wrbuf_rst, UInt<1>("h00")) @[dma_ctrl.scala 415:92] - node _T_1226 = and(_T_1224, _T_1225) @[dma_ctrl.scala 415:90] - reg _T_1227 : UInt, dma_bus_clk with : (reset => (reset, UInt<1>("h00"))) @[dma_ctrl.scala 415:59] - _T_1227 <= _T_1226 @[dma_ctrl.scala 415:59] - wrbuf_vld <= _T_1227 @[dma_ctrl.scala 415:25] - node _T_1228 = mux(wrbuf_data_en, UInt<1>("h01"), wrbuf_data_vld) @[dma_ctrl.scala 417:63] - node _T_1229 = eq(wrbuf_data_rst, UInt<1>("h00")) @[dma_ctrl.scala 417:102] - node _T_1230 = and(_T_1228, _T_1229) @[dma_ctrl.scala 417:100] - reg _T_1231 : UInt, dma_bus_clk with : (reset => (reset, UInt<1>("h00"))) @[dma_ctrl.scala 417:59] - _T_1231 <= _T_1230 @[dma_ctrl.scala 417:59] - wrbuf_data_vld <= _T_1231 @[dma_ctrl.scala 417:25] + node _T_1220 = bits(dma_buffer_c1_clken, 0, 0) @[dma_ctrl.scala 389:59] + inst rvclkhdr_10 of rvclkhdr_841 @[lib.scala 343:22] + rvclkhdr_10.clock <= clock + rvclkhdr_10.reset <= reset + rvclkhdr_10.io.clk <= clock @[lib.scala 344:17] + rvclkhdr_10.io.en <= _T_1220 @[lib.scala 345:16] + rvclkhdr_10.io.scan_mode <= io.scan_mode @[lib.scala 346:23] + dma_buffer_c1_clk <= rvclkhdr_10.io.l1clk @[dma_ctrl.scala 389:21] + node _T_1221 = bits(dma_free_clken, 0, 0) @[dma_ctrl.scala 390:60] + inst rvclkhdr_11 of rvclkhdr_842 @[lib.scala 343:22] + rvclkhdr_11.clock <= clock + rvclkhdr_11.reset <= reset + rvclkhdr_11.io.clk <= clock @[lib.scala 344:17] + rvclkhdr_11.io.en <= _T_1221 @[lib.scala 345:16] + rvclkhdr_11.io.scan_mode <= io.scan_mode @[lib.scala 346:23] + dma_free_clk <= rvclkhdr_11.io.l1clk @[dma_ctrl.scala 390:21] + inst rvclkhdr_12 of rvclkhdr_843 @[lib.scala 343:22] + rvclkhdr_12.clock <= clock + rvclkhdr_12.reset <= reset + rvclkhdr_12.io.clk <= clock @[lib.scala 344:17] + rvclkhdr_12.io.en <= io.dma_bus_clk_en @[lib.scala 345:16] + rvclkhdr_12.io.scan_mode <= io.scan_mode @[lib.scala 346:23] + dma_bus_clk <= rvclkhdr_12.io.l1clk @[dma_ctrl.scala 391:21] + node wrbuf_en = and(io.dma_axi.aw.valid, io.dma_axi.aw.ready) @[dma_ctrl.scala 396:47] + node wrbuf_data_en = and(io.dma_axi.w.valid, io.dma_axi.w.ready) @[dma_ctrl.scala 397:46] + node wrbuf_cmd_sent = and(axi_mstr_prty_en, bus_cmd_write) @[dma_ctrl.scala 398:40] + node _T_1222 = bits(wrbuf_cmd_sent, 0, 0) @[dma_ctrl.scala 399:42] + node _T_1223 = eq(wrbuf_en, UInt<1>("h00")) @[dma_ctrl.scala 399:51] + node wrbuf_rst = and(_T_1222, _T_1223) @[dma_ctrl.scala 399:49] + node _T_1224 = bits(wrbuf_cmd_sent, 0, 0) @[dma_ctrl.scala 400:42] + node _T_1225 = eq(wrbuf_data_en, UInt<1>("h00")) @[dma_ctrl.scala 400:51] + node wrbuf_data_rst = and(_T_1224, _T_1225) @[dma_ctrl.scala 400:49] + node _T_1226 = mux(wrbuf_en, UInt<1>("h01"), wrbuf_vld) @[dma_ctrl.scala 402:63] + node _T_1227 = eq(wrbuf_rst, UInt<1>("h00")) @[dma_ctrl.scala 402:92] + node _T_1228 = and(_T_1226, _T_1227) @[dma_ctrl.scala 402:90] + reg _T_1229 : UInt, dma_bus_clk with : (reset => (reset, UInt<1>("h00"))) @[dma_ctrl.scala 402:59] + _T_1229 <= _T_1228 @[dma_ctrl.scala 402:59] + wrbuf_vld <= _T_1229 @[dma_ctrl.scala 402:25] + node _T_1230 = mux(wrbuf_data_en, UInt<1>("h01"), wrbuf_data_vld) @[dma_ctrl.scala 404:63] + node _T_1231 = eq(wrbuf_data_rst, UInt<1>("h00")) @[dma_ctrl.scala 404:102] + node _T_1232 = and(_T_1230, _T_1231) @[dma_ctrl.scala 404:100] + reg _T_1233 : UInt, dma_bus_clk with : (reset => (reset, UInt<1>("h00"))) @[dma_ctrl.scala 404:59] + _T_1233 <= _T_1232 @[dma_ctrl.scala 404:59] + wrbuf_data_vld <= _T_1233 @[dma_ctrl.scala 404:25] reg wrbuf_tag : UInt, dma_bus_clk with : (reset => (reset, UInt<1>("h00"))) @[Reg.scala 27:20] when wrbuf_en : @[Reg.scala 28:19] wrbuf_tag <= io.dma_axi.aw.bits.id @[Reg.scala 28:23] @@ -108857,40 +108859,40 @@ circuit quasar_wrapper : when wrbuf_en : @[Reg.scala 28:19] wrbuf_sz <= io.dma_axi.aw.bits.size @[Reg.scala 28:23] skip @[Reg.scala 28:19] - node _T_1232 = and(wrbuf_en, io.dma_bus_clk_en) @[dma_ctrl.scala 427:68] - inst rvclkhdr_10 of rvclkhdr_844 @[lib.scala 368:23] - rvclkhdr_10.clock <= clock - rvclkhdr_10.reset <= reset - rvclkhdr_10.io.clk <= clock @[lib.scala 370:18] - rvclkhdr_10.io.en <= _T_1232 @[lib.scala 371:17] - rvclkhdr_10.io.scan_mode <= io.scan_mode @[lib.scala 372:24] - reg wrbuf_addr : UInt, rvclkhdr_10.io.l1clk with : (reset => (reset, UInt<1>("h00"))) @[lib.scala 374:16] + node _T_1234 = and(wrbuf_en, io.dma_bus_clk_en) @[dma_ctrl.scala 414:68] + inst rvclkhdr_13 of rvclkhdr_844 @[lib.scala 368:23] + rvclkhdr_13.clock <= clock + rvclkhdr_13.reset <= reset + rvclkhdr_13.io.clk <= clock @[lib.scala 370:18] + rvclkhdr_13.io.en <= _T_1234 @[lib.scala 371:17] + rvclkhdr_13.io.scan_mode <= io.scan_mode @[lib.scala 372:24] + reg wrbuf_addr : UInt, rvclkhdr_13.io.l1clk with : (reset => (reset, UInt<1>("h00"))) @[lib.scala 374:16] wrbuf_addr <= io.dma_axi.aw.bits.addr @[lib.scala 374:16] - node _T_1233 = and(wrbuf_data_en, io.dma_bus_clk_en) @[dma_ctrl.scala 429:72] - inst rvclkhdr_11 of rvclkhdr_845 @[lib.scala 368:23] - rvclkhdr_11.clock <= clock - rvclkhdr_11.reset <= reset - rvclkhdr_11.io.clk <= clock @[lib.scala 370:18] - rvclkhdr_11.io.en <= _T_1233 @[lib.scala 371:17] - rvclkhdr_11.io.scan_mode <= io.scan_mode @[lib.scala 372:24] - reg wrbuf_data : UInt, rvclkhdr_11.io.l1clk with : (reset => (reset, UInt<1>("h00"))) @[lib.scala 374:16] + node _T_1235 = and(wrbuf_data_en, io.dma_bus_clk_en) @[dma_ctrl.scala 416:72] + inst rvclkhdr_14 of rvclkhdr_845 @[lib.scala 368:23] + rvclkhdr_14.clock <= clock + rvclkhdr_14.reset <= reset + rvclkhdr_14.io.clk <= clock @[lib.scala 370:18] + rvclkhdr_14.io.en <= _T_1235 @[lib.scala 371:17] + rvclkhdr_14.io.scan_mode <= io.scan_mode @[lib.scala 372:24] + reg wrbuf_data : UInt, rvclkhdr_14.io.l1clk with : (reset => (reset, UInt<1>("h00"))) @[lib.scala 374:16] wrbuf_data <= io.dma_axi.w.bits.data @[lib.scala 374:16] reg wrbuf_byteen : UInt, dma_bus_clk with : (reset => (reset, UInt<1>("h00"))) @[Reg.scala 27:20] when wrbuf_data_en : @[Reg.scala 28:19] wrbuf_byteen <= io.dma_axi.w.bits.strb @[Reg.scala 28:23] skip @[Reg.scala 28:19] - node rdbuf_en = and(io.dma_axi.ar.valid, io.dma_axi.ar.ready) @[dma_ctrl.scala 437:59] - node _T_1234 = eq(bus_cmd_write, UInt<1>("h00")) @[dma_ctrl.scala 438:44] - node rdbuf_cmd_sent = and(axi_mstr_prty_en, _T_1234) @[dma_ctrl.scala 438:42] - node _T_1235 = bits(rdbuf_cmd_sent, 0, 0) @[dma_ctrl.scala 439:54] - node _T_1236 = eq(rdbuf_en, UInt<1>("h00")) @[dma_ctrl.scala 439:63] - node rdbuf_rst = and(_T_1235, _T_1236) @[dma_ctrl.scala 439:61] - node _T_1237 = mux(rdbuf_en, UInt<1>("h01"), rdbuf_vld) @[dma_ctrl.scala 441:51] - node _T_1238 = eq(rdbuf_rst, UInt<1>("h00")) @[dma_ctrl.scala 441:80] - node _T_1239 = and(_T_1237, _T_1238) @[dma_ctrl.scala 441:78] - reg _T_1240 : UInt, dma_bus_clk with : (reset => (reset, UInt<1>("h00"))) @[dma_ctrl.scala 441:47] - _T_1240 <= _T_1239 @[dma_ctrl.scala 441:47] - rdbuf_vld <= _T_1240 @[dma_ctrl.scala 441:13] + node rdbuf_en = and(io.dma_axi.ar.valid, io.dma_axi.ar.ready) @[dma_ctrl.scala 424:59] + node _T_1236 = eq(bus_cmd_write, UInt<1>("h00")) @[dma_ctrl.scala 425:44] + node rdbuf_cmd_sent = and(axi_mstr_prty_en, _T_1236) @[dma_ctrl.scala 425:42] + node _T_1237 = bits(rdbuf_cmd_sent, 0, 0) @[dma_ctrl.scala 426:54] + node _T_1238 = eq(rdbuf_en, UInt<1>("h00")) @[dma_ctrl.scala 426:63] + node rdbuf_rst = and(_T_1237, _T_1238) @[dma_ctrl.scala 426:61] + node _T_1239 = mux(rdbuf_en, UInt<1>("h01"), rdbuf_vld) @[dma_ctrl.scala 428:51] + node _T_1240 = eq(rdbuf_rst, UInt<1>("h00")) @[dma_ctrl.scala 428:80] + node _T_1241 = and(_T_1239, _T_1240) @[dma_ctrl.scala 428:78] + reg _T_1242 : UInt, dma_bus_clk with : (reset => (reset, UInt<1>("h00"))) @[dma_ctrl.scala 428:47] + _T_1242 <= _T_1241 @[dma_ctrl.scala 428:47] + rdbuf_vld <= _T_1242 @[dma_ctrl.scala 428:13] reg rdbuf_tag : UInt, dma_bus_clk with : (reset => (reset, UInt<1>("h00"))) @[Reg.scala 27:20] when rdbuf_en : @[Reg.scala 28:19] rdbuf_tag <= io.dma_axi.ar.bits.id @[Reg.scala 28:23] @@ -108899,102 +108901,102 @@ circuit quasar_wrapper : when rdbuf_en : @[Reg.scala 28:19] rdbuf_sz <= io.dma_axi.ar.bits.size @[Reg.scala 28:23] skip @[Reg.scala 28:19] - node _T_1241 = and(rdbuf_en, io.dma_bus_clk_en) @[dma_ctrl.scala 451:61] - inst rvclkhdr_12 of rvclkhdr_846 @[lib.scala 368:23] - rvclkhdr_12.clock <= clock - rvclkhdr_12.reset <= reset - rvclkhdr_12.io.clk <= clock @[lib.scala 370:18] - rvclkhdr_12.io.en <= _T_1241 @[lib.scala 371:17] - rvclkhdr_12.io.scan_mode <= io.scan_mode @[lib.scala 372:24] - reg rdbuf_addr : UInt, rvclkhdr_12.io.l1clk with : (reset => (reset, UInt<1>("h00"))) @[lib.scala 374:16] + node _T_1243 = and(rdbuf_en, io.dma_bus_clk_en) @[dma_ctrl.scala 438:61] + inst rvclkhdr_15 of rvclkhdr_846 @[lib.scala 368:23] + rvclkhdr_15.clock <= clock + rvclkhdr_15.reset <= reset + rvclkhdr_15.io.clk <= clock @[lib.scala 370:18] + rvclkhdr_15.io.en <= _T_1243 @[lib.scala 371:17] + rvclkhdr_15.io.scan_mode <= io.scan_mode @[lib.scala 372:24] + reg rdbuf_addr : UInt, rvclkhdr_15.io.l1clk with : (reset => (reset, UInt<1>("h00"))) @[lib.scala 374:16] rdbuf_addr <= io.dma_axi.ar.bits.addr @[lib.scala 374:16] - node _T_1242 = eq(wrbuf_cmd_sent, UInt<1>("h00")) @[dma_ctrl.scala 453:44] - node _T_1243 = and(wrbuf_vld, _T_1242) @[dma_ctrl.scala 453:42] - node _T_1244 = not(_T_1243) @[dma_ctrl.scala 453:30] - io.dma_axi.aw.ready <= _T_1244 @[dma_ctrl.scala 453:27] - node _T_1245 = eq(wrbuf_cmd_sent, UInt<1>("h00")) @[dma_ctrl.scala 454:49] - node _T_1246 = and(wrbuf_data_vld, _T_1245) @[dma_ctrl.scala 454:47] - node _T_1247 = not(_T_1246) @[dma_ctrl.scala 454:30] - io.dma_axi.w.ready <= _T_1247 @[dma_ctrl.scala 454:27] - node _T_1248 = eq(rdbuf_cmd_sent, UInt<1>("h00")) @[dma_ctrl.scala 455:44] - node _T_1249 = and(rdbuf_vld, _T_1248) @[dma_ctrl.scala 455:42] - node _T_1250 = not(_T_1249) @[dma_ctrl.scala 455:30] - io.dma_axi.ar.ready <= _T_1250 @[dma_ctrl.scala 455:27] - node _T_1251 = and(wrbuf_vld, wrbuf_data_vld) @[dma_ctrl.scala 459:51] - node _T_1252 = or(_T_1251, rdbuf_vld) @[dma_ctrl.scala 459:69] - bus_cmd_valid <= _T_1252 @[dma_ctrl.scala 459:37] - node _T_1253 = and(bus_cmd_valid, dma_fifo_ready) @[dma_ctrl.scala 460:54] - axi_mstr_prty_en <= _T_1253 @[dma_ctrl.scala 460:37] - bus_cmd_write <= axi_mstr_sel @[dma_ctrl.scala 461:37] - bus_cmd_posted_write <= UInt<1>("h00") @[dma_ctrl.scala 462:25] - node _T_1254 = bits(axi_mstr_sel, 0, 0) @[dma_ctrl.scala 463:57] - node _T_1255 = mux(_T_1254, wrbuf_addr, rdbuf_addr) @[dma_ctrl.scala 463:43] - bus_cmd_addr <= _T_1255 @[dma_ctrl.scala 463:37] - node _T_1256 = bits(axi_mstr_sel, 0, 0) @[dma_ctrl.scala 464:59] - node _T_1257 = mux(_T_1256, wrbuf_sz, rdbuf_sz) @[dma_ctrl.scala 464:45] - bus_cmd_sz <= _T_1257 @[dma_ctrl.scala 464:39] - bus_cmd_wdata <= wrbuf_data @[dma_ctrl.scala 465:37] - bus_cmd_byteen <= wrbuf_byteen @[dma_ctrl.scala 466:37] - node _T_1258 = bits(axi_mstr_sel, 0, 0) @[dma_ctrl.scala 467:57] - node _T_1259 = mux(_T_1258, wrbuf_tag, rdbuf_tag) @[dma_ctrl.scala 467:43] - bus_cmd_tag <= _T_1259 @[dma_ctrl.scala 467:37] - bus_cmd_mid <= UInt<1>("h00") @[dma_ctrl.scala 468:37] - bus_cmd_prty <= UInt<1>("h00") @[dma_ctrl.scala 469:37] - node _T_1260 = and(wrbuf_vld, wrbuf_data_vld) @[dma_ctrl.scala 473:43] - node _T_1261 = and(_T_1260, rdbuf_vld) @[dma_ctrl.scala 473:60] - node _T_1262 = eq(_T_1261, UInt<1>("h01")) @[dma_ctrl.scala 473:73] - node _T_1263 = and(wrbuf_vld, wrbuf_data_vld) @[dma_ctrl.scala 473:111] - node _T_1264 = mux(_T_1262, axi_mstr_priority, _T_1263) @[dma_ctrl.scala 473:31] - axi_mstr_sel <= _T_1264 @[dma_ctrl.scala 473:25] - node axi_mstr_prty_in = not(axi_mstr_priority) @[dma_ctrl.scala 474:27] - node _T_1265 = bits(axi_mstr_prty_en, 0, 0) @[dma_ctrl.scala 478:55] - reg _T_1266 : UInt, dma_bus_clk with : (reset => (reset, UInt<1>("h00"))) @[Reg.scala 27:20] - when _T_1265 : @[Reg.scala 28:19] - _T_1266 <= axi_mstr_prty_in @[Reg.scala 28:23] + node _T_1244 = eq(wrbuf_cmd_sent, UInt<1>("h00")) @[dma_ctrl.scala 440:44] + node _T_1245 = and(wrbuf_vld, _T_1244) @[dma_ctrl.scala 440:42] + node _T_1246 = not(_T_1245) @[dma_ctrl.scala 440:30] + io.dma_axi.aw.ready <= _T_1246 @[dma_ctrl.scala 440:27] + node _T_1247 = eq(wrbuf_cmd_sent, UInt<1>("h00")) @[dma_ctrl.scala 441:49] + node _T_1248 = and(wrbuf_data_vld, _T_1247) @[dma_ctrl.scala 441:47] + node _T_1249 = not(_T_1248) @[dma_ctrl.scala 441:30] + io.dma_axi.w.ready <= _T_1249 @[dma_ctrl.scala 441:27] + node _T_1250 = eq(rdbuf_cmd_sent, UInt<1>("h00")) @[dma_ctrl.scala 442:44] + node _T_1251 = and(rdbuf_vld, _T_1250) @[dma_ctrl.scala 442:42] + node _T_1252 = not(_T_1251) @[dma_ctrl.scala 442:30] + io.dma_axi.ar.ready <= _T_1252 @[dma_ctrl.scala 442:27] + node _T_1253 = and(wrbuf_vld, wrbuf_data_vld) @[dma_ctrl.scala 446:51] + node _T_1254 = or(_T_1253, rdbuf_vld) @[dma_ctrl.scala 446:69] + bus_cmd_valid <= _T_1254 @[dma_ctrl.scala 446:37] + node _T_1255 = and(bus_cmd_valid, dma_fifo_ready) @[dma_ctrl.scala 447:54] + axi_mstr_prty_en <= _T_1255 @[dma_ctrl.scala 447:37] + bus_cmd_write <= axi_mstr_sel @[dma_ctrl.scala 448:37] + bus_cmd_posted_write <= UInt<1>("h00") @[dma_ctrl.scala 449:25] + node _T_1256 = bits(axi_mstr_sel, 0, 0) @[dma_ctrl.scala 450:57] + node _T_1257 = mux(_T_1256, wrbuf_addr, rdbuf_addr) @[dma_ctrl.scala 450:43] + bus_cmd_addr <= _T_1257 @[dma_ctrl.scala 450:37] + node _T_1258 = bits(axi_mstr_sel, 0, 0) @[dma_ctrl.scala 451:59] + node _T_1259 = mux(_T_1258, wrbuf_sz, rdbuf_sz) @[dma_ctrl.scala 451:45] + bus_cmd_sz <= _T_1259 @[dma_ctrl.scala 451:39] + bus_cmd_wdata <= wrbuf_data @[dma_ctrl.scala 452:37] + bus_cmd_byteen <= wrbuf_byteen @[dma_ctrl.scala 453:37] + node _T_1260 = bits(axi_mstr_sel, 0, 0) @[dma_ctrl.scala 454:57] + node _T_1261 = mux(_T_1260, wrbuf_tag, rdbuf_tag) @[dma_ctrl.scala 454:43] + bus_cmd_tag <= _T_1261 @[dma_ctrl.scala 454:37] + bus_cmd_mid <= UInt<1>("h00") @[dma_ctrl.scala 455:37] + bus_cmd_prty <= UInt<1>("h00") @[dma_ctrl.scala 456:37] + node _T_1262 = and(wrbuf_vld, wrbuf_data_vld) @[dma_ctrl.scala 460:43] + node _T_1263 = and(_T_1262, rdbuf_vld) @[dma_ctrl.scala 460:60] + node _T_1264 = eq(_T_1263, UInt<1>("h01")) @[dma_ctrl.scala 460:73] + node _T_1265 = and(wrbuf_vld, wrbuf_data_vld) @[dma_ctrl.scala 460:111] + node _T_1266 = mux(_T_1264, axi_mstr_priority, _T_1265) @[dma_ctrl.scala 460:31] + axi_mstr_sel <= _T_1266 @[dma_ctrl.scala 460:25] + node axi_mstr_prty_in = not(axi_mstr_priority) @[dma_ctrl.scala 461:27] + node _T_1267 = bits(axi_mstr_prty_en, 0, 0) @[dma_ctrl.scala 465:55] + reg _T_1268 : UInt, dma_bus_clk with : (reset => (reset, UInt<1>("h00"))) @[Reg.scala 27:20] + when _T_1267 : @[Reg.scala 28:19] + _T_1268 <= axi_mstr_prty_in @[Reg.scala 28:23] skip @[Reg.scala 28:19] - axi_mstr_priority <= _T_1266 @[dma_ctrl.scala 477:27] - node _T_1267 = dshr(fifo_valid, RspPtr) @[dma_ctrl.scala 481:39] - node _T_1268 = bits(_T_1267, 0, 0) @[dma_ctrl.scala 481:39] - node _T_1269 = dshr(fifo_dbg, RspPtr) @[dma_ctrl.scala 481:59] - node _T_1270 = bits(_T_1269, 0, 0) @[dma_ctrl.scala 481:59] - node _T_1271 = eq(_T_1270, UInt<1>("h00")) @[dma_ctrl.scala 481:50] - node _T_1272 = and(_T_1268, _T_1271) @[dma_ctrl.scala 481:48] - node _T_1273 = dshr(fifo_done_bus, RspPtr) @[dma_ctrl.scala 481:83] - node _T_1274 = bits(_T_1273, 0, 0) @[dma_ctrl.scala 481:83] - node axi_rsp_valid = and(_T_1272, _T_1274) @[dma_ctrl.scala 481:68] - node _T_1275 = dshr(fifo_write, RspPtr) @[dma_ctrl.scala 483:39] - node axi_rsp_write = bits(_T_1275, 0, 0) @[dma_ctrl.scala 483:39] - node _T_1276 = bits(fifo_error[RspPtr], 0, 0) @[dma_ctrl.scala 484:51] - node _T_1277 = bits(fifo_error[RspPtr], 1, 1) @[dma_ctrl.scala 484:83] - node _T_1278 = mux(_T_1277, UInt<2>("h03"), UInt<1>("h00")) @[dma_ctrl.scala 484:64] - node axi_rsp_error = mux(_T_1276, UInt<2>("h02"), _T_1278) @[dma_ctrl.scala 484:32] - node _T_1279 = and(axi_rsp_valid, axi_rsp_write) @[dma_ctrl.scala 490:44] - io.dma_axi.b.valid <= _T_1279 @[dma_ctrl.scala 490:27] - node _T_1280 = bits(axi_rsp_error, 1, 0) @[dma_ctrl.scala 491:57] - io.dma_axi.b.bits.resp <= _T_1280 @[dma_ctrl.scala 491:41] - io.dma_axi.b.bits.id <= fifo_tag[RspPtr] @[dma_ctrl.scala 492:33] - node _T_1281 = eq(axi_rsp_write, UInt<1>("h00")) @[dma_ctrl.scala 494:46] - node _T_1282 = and(axi_rsp_valid, _T_1281) @[dma_ctrl.scala 494:44] - io.dma_axi.r.valid <= _T_1282 @[dma_ctrl.scala 494:27] - io.dma_axi.r.bits.resp <= axi_rsp_error @[dma_ctrl.scala 495:41] - node _T_1283 = bits(fifo_data[RspPtr], 63, 0) @[dma_ctrl.scala 496:59] - io.dma_axi.r.bits.data <= _T_1283 @[dma_ctrl.scala 496:43] - io.dma_axi.r.bits.last <= UInt<1>("h01") @[dma_ctrl.scala 497:41] - io.dma_axi.r.bits.id <= fifo_tag[RspPtr] @[dma_ctrl.scala 498:37] - bus_posted_write_done <= UInt<1>("h00") @[dma_ctrl.scala 500:25] - node _T_1284 = or(io.dma_axi.b.valid, io.dma_axi.r.valid) @[dma_ctrl.scala 501:60] - bus_rsp_valid <= _T_1284 @[dma_ctrl.scala 501:37] - node _T_1285 = and(io.dma_axi.b.valid, io.dma_axi.b.ready) @[dma_ctrl.scala 502:61] - node _T_1286 = and(io.dma_axi.r.valid, io.dma_axi.r.ready) @[dma_ctrl.scala 502:105] - node _T_1287 = or(_T_1285, _T_1286) @[dma_ctrl.scala 502:83] - bus_rsp_sent <= _T_1287 @[dma_ctrl.scala 502:37] - io.lsu_dma.dma_dccm_ctl.dma_mem_addr <= io.lsu_dma.dma_lsc_ctl.dma_mem_addr @[dma_ctrl.scala 503:40] - io.lsu_dma.dma_dccm_ctl.dma_mem_wdata <= io.lsu_dma.dma_lsc_ctl.dma_mem_wdata @[dma_ctrl.scala 504:41] - io.ifu_dma.dma_mem_ctl.dma_mem_sz <= io.lsu_dma.dma_lsc_ctl.dma_mem_sz @[dma_ctrl.scala 505:37] - io.ifu_dma.dma_mem_ctl.dma_mem_addr <= io.lsu_dma.dma_lsc_ctl.dma_mem_addr @[dma_ctrl.scala 506:39] - io.ifu_dma.dma_mem_ctl.dma_mem_wdata <= io.lsu_dma.dma_lsc_ctl.dma_mem_wdata @[dma_ctrl.scala 507:40] - io.ifu_dma.dma_mem_ctl.dma_mem_write <= io.lsu_dma.dma_lsc_ctl.dma_mem_write @[dma_ctrl.scala 508:40] - io.ifu_dma.dma_mem_ctl.dma_mem_tag <= io.lsu_dma.dma_mem_tag @[dma_ctrl.scala 509:38] + axi_mstr_priority <= _T_1268 @[dma_ctrl.scala 464:27] + node _T_1269 = dshr(fifo_valid, RspPtr) @[dma_ctrl.scala 468:39] + node _T_1270 = bits(_T_1269, 0, 0) @[dma_ctrl.scala 468:39] + node _T_1271 = dshr(fifo_dbg, RspPtr) @[dma_ctrl.scala 468:59] + node _T_1272 = bits(_T_1271, 0, 0) @[dma_ctrl.scala 468:59] + node _T_1273 = eq(_T_1272, UInt<1>("h00")) @[dma_ctrl.scala 468:50] + node _T_1274 = and(_T_1270, _T_1273) @[dma_ctrl.scala 468:48] + node _T_1275 = dshr(fifo_done_bus, RspPtr) @[dma_ctrl.scala 468:83] + node _T_1276 = bits(_T_1275, 0, 0) @[dma_ctrl.scala 468:83] + node axi_rsp_valid = and(_T_1274, _T_1276) @[dma_ctrl.scala 468:68] + node _T_1277 = dshr(fifo_write, RspPtr) @[dma_ctrl.scala 470:39] + node axi_rsp_write = bits(_T_1277, 0, 0) @[dma_ctrl.scala 470:39] + node _T_1278 = bits(fifo_error[RspPtr], 0, 0) @[dma_ctrl.scala 471:51] + node _T_1279 = bits(fifo_error[RspPtr], 1, 1) @[dma_ctrl.scala 471:83] + node _T_1280 = mux(_T_1279, UInt<2>("h03"), UInt<1>("h00")) @[dma_ctrl.scala 471:64] + node axi_rsp_error = mux(_T_1278, UInt<2>("h02"), _T_1280) @[dma_ctrl.scala 471:32] + node _T_1281 = and(axi_rsp_valid, axi_rsp_write) @[dma_ctrl.scala 477:44] + io.dma_axi.b.valid <= _T_1281 @[dma_ctrl.scala 477:27] + node _T_1282 = bits(axi_rsp_error, 1, 0) @[dma_ctrl.scala 478:57] + io.dma_axi.b.bits.resp <= _T_1282 @[dma_ctrl.scala 478:41] + io.dma_axi.b.bits.id <= fifo_tag[RspPtr] @[dma_ctrl.scala 479:33] + node _T_1283 = eq(axi_rsp_write, UInt<1>("h00")) @[dma_ctrl.scala 481:46] + node _T_1284 = and(axi_rsp_valid, _T_1283) @[dma_ctrl.scala 481:44] + io.dma_axi.r.valid <= _T_1284 @[dma_ctrl.scala 481:27] + io.dma_axi.r.bits.resp <= axi_rsp_error @[dma_ctrl.scala 482:41] + node _T_1285 = bits(fifo_data[RspPtr], 63, 0) @[dma_ctrl.scala 483:59] + io.dma_axi.r.bits.data <= _T_1285 @[dma_ctrl.scala 483:43] + io.dma_axi.r.bits.last <= UInt<1>("h01") @[dma_ctrl.scala 484:41] + io.dma_axi.r.bits.id <= fifo_tag[RspPtr] @[dma_ctrl.scala 485:37] + bus_posted_write_done <= UInt<1>("h00") @[dma_ctrl.scala 487:25] + node _T_1286 = or(io.dma_axi.b.valid, io.dma_axi.r.valid) @[dma_ctrl.scala 488:60] + bus_rsp_valid <= _T_1286 @[dma_ctrl.scala 488:37] + node _T_1287 = and(io.dma_axi.b.valid, io.dma_axi.b.ready) @[dma_ctrl.scala 489:61] + node _T_1288 = and(io.dma_axi.r.valid, io.dma_axi.r.ready) @[dma_ctrl.scala 489:105] + node _T_1289 = or(_T_1287, _T_1288) @[dma_ctrl.scala 489:83] + bus_rsp_sent <= _T_1289 @[dma_ctrl.scala 489:37] + io.lsu_dma.dma_dccm_ctl.dma_mem_addr <= io.lsu_dma.dma_lsc_ctl.dma_mem_addr @[dma_ctrl.scala 490:40] + io.lsu_dma.dma_dccm_ctl.dma_mem_wdata <= io.lsu_dma.dma_lsc_ctl.dma_mem_wdata @[dma_ctrl.scala 491:41] + io.ifu_dma.dma_mem_ctl.dma_mem_sz <= io.lsu_dma.dma_lsc_ctl.dma_mem_sz @[dma_ctrl.scala 492:37] + io.ifu_dma.dma_mem_ctl.dma_mem_addr <= io.lsu_dma.dma_lsc_ctl.dma_mem_addr @[dma_ctrl.scala 493:39] + io.ifu_dma.dma_mem_ctl.dma_mem_wdata <= io.lsu_dma.dma_lsc_ctl.dma_mem_wdata @[dma_ctrl.scala 494:40] + io.ifu_dma.dma_mem_ctl.dma_mem_write <= io.lsu_dma.dma_lsc_ctl.dma_mem_write @[dma_ctrl.scala 495:40] + io.ifu_dma.dma_mem_ctl.dma_mem_tag <= io.lsu_dma.dma_mem_tag @[dma_ctrl.scala 496:38] extmodule gated_latch_847 : output Q : Clock diff --git a/quasar_wrapper.v b/quasar_wrapper.v index e90c8a05..038c8c13 100644 --- a/quasar_wrapper.v +++ b/quasar_wrapper.v @@ -78495,31 +78495,31 @@ module dma_ctrl( wire rvclkhdr_9_io_clk; // @[lib.scala 368:23] wire rvclkhdr_9_io_en; // @[lib.scala 368:23] wire rvclkhdr_9_io_scan_mode; // @[lib.scala 368:23] - wire dma_buffer_c1cgc_io_l1clk; // @[dma_ctrl.scala 389:32] - wire dma_buffer_c1cgc_io_clk; // @[dma_ctrl.scala 389:32] - wire dma_buffer_c1cgc_io_en; // @[dma_ctrl.scala 389:32] - wire dma_buffer_c1cgc_io_scan_mode; // @[dma_ctrl.scala 389:32] - wire dma_free_cgc_io_l1clk; // @[dma_ctrl.scala 395:28] - wire dma_free_cgc_io_clk; // @[dma_ctrl.scala 395:28] - wire dma_free_cgc_io_en; // @[dma_ctrl.scala 395:28] - wire dma_free_cgc_io_scan_mode; // @[dma_ctrl.scala 395:28] - wire dma_bus_cgc_io_l1clk; // @[dma_ctrl.scala 401:27] - wire dma_bus_cgc_io_clk; // @[dma_ctrl.scala 401:27] - wire dma_bus_cgc_io_en; // @[dma_ctrl.scala 401:27] - wire dma_bus_cgc_io_scan_mode; // @[dma_ctrl.scala 401:27] - wire rvclkhdr_10_io_l1clk; // @[lib.scala 368:23] - wire rvclkhdr_10_io_clk; // @[lib.scala 368:23] - wire rvclkhdr_10_io_en; // @[lib.scala 368:23] - wire rvclkhdr_10_io_scan_mode; // @[lib.scala 368:23] - wire rvclkhdr_11_io_l1clk; // @[lib.scala 368:23] - wire rvclkhdr_11_io_clk; // @[lib.scala 368:23] - wire rvclkhdr_11_io_en; // @[lib.scala 368:23] - wire rvclkhdr_11_io_scan_mode; // @[lib.scala 368:23] - wire rvclkhdr_12_io_l1clk; // @[lib.scala 368:23] - wire rvclkhdr_12_io_clk; // @[lib.scala 368:23] - wire rvclkhdr_12_io_en; // @[lib.scala 368:23] - wire rvclkhdr_12_io_scan_mode; // @[lib.scala 368:23] - wire dma_free_clk = dma_free_cgc_io_l1clk; // @[dma_ctrl.scala 168:26 dma_ctrl.scala 399:29] + wire rvclkhdr_10_io_l1clk; // @[lib.scala 343:22] + wire rvclkhdr_10_io_clk; // @[lib.scala 343:22] + wire rvclkhdr_10_io_en; // @[lib.scala 343:22] + wire rvclkhdr_10_io_scan_mode; // @[lib.scala 343:22] + wire rvclkhdr_11_io_l1clk; // @[lib.scala 343:22] + wire rvclkhdr_11_io_clk; // @[lib.scala 343:22] + wire rvclkhdr_11_io_en; // @[lib.scala 343:22] + wire rvclkhdr_11_io_scan_mode; // @[lib.scala 343:22] + wire rvclkhdr_12_io_l1clk; // @[lib.scala 343:22] + wire rvclkhdr_12_io_clk; // @[lib.scala 343:22] + wire rvclkhdr_12_io_en; // @[lib.scala 343:22] + wire rvclkhdr_12_io_scan_mode; // @[lib.scala 343:22] + wire rvclkhdr_13_io_l1clk; // @[lib.scala 368:23] + wire rvclkhdr_13_io_clk; // @[lib.scala 368:23] + wire rvclkhdr_13_io_en; // @[lib.scala 368:23] + wire rvclkhdr_13_io_scan_mode; // @[lib.scala 368:23] + wire rvclkhdr_14_io_l1clk; // @[lib.scala 368:23] + wire rvclkhdr_14_io_clk; // @[lib.scala 368:23] + wire rvclkhdr_14_io_en; // @[lib.scala 368:23] + wire rvclkhdr_14_io_scan_mode; // @[lib.scala 368:23] + wire rvclkhdr_15_io_l1clk; // @[lib.scala 368:23] + wire rvclkhdr_15_io_clk; // @[lib.scala 368:23] + wire rvclkhdr_15_io_en; // @[lib.scala 368:23] + wire rvclkhdr_15_io_scan_mode; // @[lib.scala 368:23] + wire dma_free_clk = rvclkhdr_11_io_l1clk; // @[dma_ctrl.scala 168:26 dma_ctrl.scala 390:21] reg [2:0] RdPtr; // @[Reg.scala 27:20] reg [31:0] fifo_addr_4; // @[lib.scala 374:16] reg [31:0] fifo_addr_3; // @[lib.scala 374:16] @@ -78533,17 +78533,17 @@ module dma_ctrl( wire dma_mem_addr_in_dccm = dma_mem_addr_int[31:16] == 16'hf004; // @[lib.scala 361:39] wire dma_mem_addr_in_pic = dma_mem_addr_int[31:15] == 17'h1e018; // @[lib.scala 361:39] wire dma_mem_addr_in_iccm = dma_mem_addr_int[31:16] == 16'hee00; // @[lib.scala 361:39] - wire dma_bus_clk = dma_bus_cgc_io_l1clk; // @[dma_ctrl.scala 170:25 dma_ctrl.scala 405:28] - reg wrbuf_vld; // @[dma_ctrl.scala 415:59] - reg wrbuf_data_vld; // @[dma_ctrl.scala 417:59] - wire _T_1260 = wrbuf_vld & wrbuf_data_vld; // @[dma_ctrl.scala 473:43] - reg rdbuf_vld; // @[dma_ctrl.scala 441:47] - wire _T_1261 = _T_1260 & rdbuf_vld; // @[dma_ctrl.scala 473:60] + wire dma_bus_clk = rvclkhdr_12_io_l1clk; // @[dma_ctrl.scala 170:25 dma_ctrl.scala 391:21] + reg wrbuf_vld; // @[dma_ctrl.scala 402:59] + reg wrbuf_data_vld; // @[dma_ctrl.scala 404:59] + wire _T_1262 = wrbuf_vld & wrbuf_data_vld; // @[dma_ctrl.scala 460:43] + reg rdbuf_vld; // @[dma_ctrl.scala 428:47] + wire _T_1263 = _T_1262 & rdbuf_vld; // @[dma_ctrl.scala 460:60] reg axi_mstr_priority; // @[Reg.scala 27:20] - wire axi_mstr_sel = _T_1261 ? axi_mstr_priority : _T_1260; // @[dma_ctrl.scala 473:31] + wire axi_mstr_sel = _T_1263 ? axi_mstr_priority : _T_1262; // @[dma_ctrl.scala 460:31] reg [31:0] wrbuf_addr; // @[lib.scala 374:16] reg [31:0] rdbuf_addr; // @[lib.scala 374:16] - wire [31:0] bus_cmd_addr = axi_mstr_sel ? wrbuf_addr : rdbuf_addr; // @[dma_ctrl.scala 463:43] + wire [31:0] bus_cmd_addr = axi_mstr_sel ? wrbuf_addr : rdbuf_addr; // @[dma_ctrl.scala 450:43] wire [2:0] _GEN_90 = {{2'd0}, io_dbg_dma_dbg_ib_dbg_cmd_addr[2]}; // @[dma_ctrl.scala 195:91] wire [3:0] _T_17 = 3'h4 * _GEN_90; // @[dma_ctrl.scala 195:91] wire [18:0] _T_18 = 19'hf << _T_17; // @[dma_ctrl.scala 195:83] @@ -78552,15 +78552,15 @@ module dma_ctrl( wire [2:0] _T_23 = {1'h0,io_dbg_cmd_size}; // @[Cat.scala 29:58] reg [2:0] wrbuf_sz; // @[Reg.scala 27:20] reg [2:0] rdbuf_sz; // @[Reg.scala 27:20] - wire [2:0] bus_cmd_sz = axi_mstr_sel ? wrbuf_sz : rdbuf_sz; // @[dma_ctrl.scala 464:45] + wire [2:0] bus_cmd_sz = axi_mstr_sel ? wrbuf_sz : rdbuf_sz; // @[dma_ctrl.scala 451:45] wire [2:0] fifo_sz_in = io_dbg_dma_dbg_ib_dbg_cmd_valid ? _T_23 : bus_cmd_sz; // @[dma_ctrl.scala 197:33] wire fifo_write_in = io_dbg_dma_dbg_ib_dbg_cmd_valid ? io_dbg_dma_dbg_ib_dbg_cmd_write : axi_mstr_sel; // @[dma_ctrl.scala 199:33] - wire bus_cmd_valid = _T_1260 | rdbuf_vld; // @[dma_ctrl.scala 459:69] + wire bus_cmd_valid = _T_1262 | rdbuf_vld; // @[dma_ctrl.scala 446:69] reg fifo_full; // @[dma_ctrl.scala 373:12] reg dbg_dma_bubble_bus; // @[dma_ctrl.scala 377:12] wire _T_989 = fifo_full | dbg_dma_bubble_bus; // @[dma_ctrl.scala 299:39] wire dma_fifo_ready = ~_T_989; // @[dma_ctrl.scala 299:27] - wire axi_mstr_prty_en = bus_cmd_valid & dma_fifo_ready; // @[dma_ctrl.scala 460:54] + wire axi_mstr_prty_en = bus_cmd_valid & dma_fifo_ready; // @[dma_ctrl.scala 447:54] wire _T_28 = axi_mstr_prty_en & io_dma_bus_clk_en; // @[dma_ctrl.scala 206:80] wire _T_31 = io_dbg_dma_dbg_ib_dbg_cmd_valid & io_dbg_dma_dbg_ib_dbg_cmd_type[1]; // @[dma_ctrl.scala 206:136] wire _T_32 = _T_28 | _T_31; // @[dma_ctrl.scala 206:101] @@ -78597,7 +78597,7 @@ module dma_ctrl( wire [4:0] _T_992 = fifo_done >> RdPtr; // @[dma_ctrl.scala 303:58] wire _T_994 = ~_T_992[0]; // @[dma_ctrl.scala 303:48] wire _T_995 = _T_990[0] & _T_994; // @[dma_ctrl.scala 303:46] - wire dma_buffer_c1_clk = dma_buffer_c1cgc_io_l1clk; // @[dma_ctrl.scala 172:31 dma_ctrl.scala 393:33] + wire dma_buffer_c1_clk = rvclkhdr_10_io_l1clk; // @[dma_ctrl.scala 172:31 dma_ctrl.scala 389:21] reg _T_886; // @[Reg.scala 27:20] reg _T_884; // @[Reg.scala 27:20] reg _T_882; // @[Reg.scala 27:20] @@ -78850,7 +78850,7 @@ module dma_ctrl( wire _T_399 = fifo_done_en[4] | fifo_done[4]; // @[dma_ctrl.scala 218:75] wire _T_400 = _T_399 & io_dma_bus_clk_en; // @[dma_ctrl.scala 218:91] wire [4:0] fifo_done_bus_en = {_T_400,_T_396,_T_392,_T_388,_T_384}; // @[Cat.scala 29:58] - wire bus_rsp_sent = io_dma_axi_b_valid | io_dma_axi_r_valid; // @[dma_ctrl.scala 502:83] + wire bus_rsp_sent = io_dma_axi_b_valid | io_dma_axi_r_valid; // @[dma_ctrl.scala 489:83] wire _T_406 = bus_rsp_sent & io_dma_bus_clk_en; // @[dma_ctrl.scala 220:99] wire _T_407 = _T_406 | io_dma_dbg_cmd_done; // @[dma_ctrl.scala 220:120] reg [2:0] RspPtr; // @[Reg.scala 27:20] @@ -79003,38 +79003,38 @@ module dma_ctrl( wire _T_1216 = _T_1215 | io_dma_dbg_cmd_done; // @[dma_ctrl.scala 387:94] wire _T_1217 = _T_1216 | dma_dbg_cmd_done_q; // @[dma_ctrl.scala 387:116] wire _T_1219 = _T_1217 | _T_1143; // @[dma_ctrl.scala 387:137] - wire wrbuf_en = io_dma_axi_aw_valid & io_dma_axi_aw_ready; // @[dma_ctrl.scala 409:47] - wire wrbuf_data_en = io_dma_axi_w_valid & io_dma_axi_w_ready; // @[dma_ctrl.scala 410:46] - wire wrbuf_cmd_sent = axi_mstr_prty_en & axi_mstr_sel; // @[dma_ctrl.scala 411:40] - wire _T_1221 = ~wrbuf_en; // @[dma_ctrl.scala 412:51] - wire wrbuf_rst = wrbuf_cmd_sent & _T_1221; // @[dma_ctrl.scala 412:49] - wire _T_1223 = ~wrbuf_data_en; // @[dma_ctrl.scala 413:51] - wire wrbuf_data_rst = wrbuf_cmd_sent & _T_1223; // @[dma_ctrl.scala 413:49] - wire _T_1224 = wrbuf_en | wrbuf_vld; // @[dma_ctrl.scala 415:63] - wire _T_1225 = ~wrbuf_rst; // @[dma_ctrl.scala 415:92] - wire _T_1228 = wrbuf_data_en | wrbuf_data_vld; // @[dma_ctrl.scala 417:63] - wire _T_1229 = ~wrbuf_data_rst; // @[dma_ctrl.scala 417:102] - wire rdbuf_en = io_dma_axi_ar_valid & io_dma_axi_ar_ready; // @[dma_ctrl.scala 437:59] - wire _T_1234 = ~axi_mstr_sel; // @[dma_ctrl.scala 438:44] - wire rdbuf_cmd_sent = axi_mstr_prty_en & _T_1234; // @[dma_ctrl.scala 438:42] - wire _T_1236 = ~rdbuf_en; // @[dma_ctrl.scala 439:63] - wire rdbuf_rst = rdbuf_cmd_sent & _T_1236; // @[dma_ctrl.scala 439:61] - wire _T_1237 = rdbuf_en | rdbuf_vld; // @[dma_ctrl.scala 441:51] - wire _T_1238 = ~rdbuf_rst; // @[dma_ctrl.scala 441:80] - wire _T_1242 = ~wrbuf_cmd_sent; // @[dma_ctrl.scala 453:44] - wire _T_1243 = wrbuf_vld & _T_1242; // @[dma_ctrl.scala 453:42] - wire _T_1246 = wrbuf_data_vld & _T_1242; // @[dma_ctrl.scala 454:47] - wire _T_1248 = ~rdbuf_cmd_sent; // @[dma_ctrl.scala 455:44] - wire _T_1249 = rdbuf_vld & _T_1248; // @[dma_ctrl.scala 455:42] - wire axi_mstr_prty_in = ~axi_mstr_priority; // @[dma_ctrl.scala 474:27] - wire _T_1271 = ~_T_1108[0]; // @[dma_ctrl.scala 481:50] - wire _T_1272 = _T_1106[0] & _T_1271; // @[dma_ctrl.scala 481:48] - wire [4:0] _T_1273 = fifo_done_bus >> RspPtr; // @[dma_ctrl.scala 481:83] - wire axi_rsp_valid = _T_1272 & _T_1273[0]; // @[dma_ctrl.scala 481:68] - wire [4:0] _T_1275 = fifo_write >> RspPtr; // @[dma_ctrl.scala 483:39] - wire axi_rsp_write = _T_1275[0]; // @[dma_ctrl.scala 483:39] - wire [1:0] _T_1278 = _GEN_57[1] ? 2'h3 : 2'h0; // @[dma_ctrl.scala 484:64] - wire _T_1281 = ~axi_rsp_write; // @[dma_ctrl.scala 494:46] + wire wrbuf_en = io_dma_axi_aw_valid & io_dma_axi_aw_ready; // @[dma_ctrl.scala 396:47] + wire wrbuf_data_en = io_dma_axi_w_valid & io_dma_axi_w_ready; // @[dma_ctrl.scala 397:46] + wire wrbuf_cmd_sent = axi_mstr_prty_en & axi_mstr_sel; // @[dma_ctrl.scala 398:40] + wire _T_1223 = ~wrbuf_en; // @[dma_ctrl.scala 399:51] + wire wrbuf_rst = wrbuf_cmd_sent & _T_1223; // @[dma_ctrl.scala 399:49] + wire _T_1225 = ~wrbuf_data_en; // @[dma_ctrl.scala 400:51] + wire wrbuf_data_rst = wrbuf_cmd_sent & _T_1225; // @[dma_ctrl.scala 400:49] + wire _T_1226 = wrbuf_en | wrbuf_vld; // @[dma_ctrl.scala 402:63] + wire _T_1227 = ~wrbuf_rst; // @[dma_ctrl.scala 402:92] + wire _T_1230 = wrbuf_data_en | wrbuf_data_vld; // @[dma_ctrl.scala 404:63] + wire _T_1231 = ~wrbuf_data_rst; // @[dma_ctrl.scala 404:102] + wire rdbuf_en = io_dma_axi_ar_valid & io_dma_axi_ar_ready; // @[dma_ctrl.scala 424:59] + wire _T_1236 = ~axi_mstr_sel; // @[dma_ctrl.scala 425:44] + wire rdbuf_cmd_sent = axi_mstr_prty_en & _T_1236; // @[dma_ctrl.scala 425:42] + wire _T_1238 = ~rdbuf_en; // @[dma_ctrl.scala 426:63] + wire rdbuf_rst = rdbuf_cmd_sent & _T_1238; // @[dma_ctrl.scala 426:61] + wire _T_1239 = rdbuf_en | rdbuf_vld; // @[dma_ctrl.scala 428:51] + wire _T_1240 = ~rdbuf_rst; // @[dma_ctrl.scala 428:80] + wire _T_1244 = ~wrbuf_cmd_sent; // @[dma_ctrl.scala 440:44] + wire _T_1245 = wrbuf_vld & _T_1244; // @[dma_ctrl.scala 440:42] + wire _T_1248 = wrbuf_data_vld & _T_1244; // @[dma_ctrl.scala 441:47] + wire _T_1250 = ~rdbuf_cmd_sent; // @[dma_ctrl.scala 442:44] + wire _T_1251 = rdbuf_vld & _T_1250; // @[dma_ctrl.scala 442:42] + wire axi_mstr_prty_in = ~axi_mstr_priority; // @[dma_ctrl.scala 461:27] + wire _T_1273 = ~_T_1108[0]; // @[dma_ctrl.scala 468:50] + wire _T_1274 = _T_1106[0] & _T_1273; // @[dma_ctrl.scala 468:48] + wire [4:0] _T_1275 = fifo_done_bus >> RspPtr; // @[dma_ctrl.scala 468:83] + wire axi_rsp_valid = _T_1274 & _T_1275[0]; // @[dma_ctrl.scala 468:68] + wire [4:0] _T_1277 = fifo_write >> RspPtr; // @[dma_ctrl.scala 470:39] + wire axi_rsp_write = _T_1277[0]; // @[dma_ctrl.scala 470:39] + wire [1:0] _T_1280 = _GEN_57[1] ? 2'h3 : 2'h0; // @[dma_ctrl.scala 471:64] + wire _T_1283 = ~axi_rsp_write; // @[dma_ctrl.scala 481:46] rvclkhdr rvclkhdr ( // @[lib.scala 368:23] .io_l1clk(rvclkhdr_io_l1clk), .io_clk(rvclkhdr_io_clk), @@ -79095,42 +79095,42 @@ module dma_ctrl( .io_en(rvclkhdr_9_io_en), .io_scan_mode(rvclkhdr_9_io_scan_mode) ); - rvclkhdr dma_buffer_c1cgc ( // @[dma_ctrl.scala 389:32] - .io_l1clk(dma_buffer_c1cgc_io_l1clk), - .io_clk(dma_buffer_c1cgc_io_clk), - .io_en(dma_buffer_c1cgc_io_en), - .io_scan_mode(dma_buffer_c1cgc_io_scan_mode) - ); - rvclkhdr dma_free_cgc ( // @[dma_ctrl.scala 395:28] - .io_l1clk(dma_free_cgc_io_l1clk), - .io_clk(dma_free_cgc_io_clk), - .io_en(dma_free_cgc_io_en), - .io_scan_mode(dma_free_cgc_io_scan_mode) - ); - rvclkhdr dma_bus_cgc ( // @[dma_ctrl.scala 401:27] - .io_l1clk(dma_bus_cgc_io_l1clk), - .io_clk(dma_bus_cgc_io_clk), - .io_en(dma_bus_cgc_io_en), - .io_scan_mode(dma_bus_cgc_io_scan_mode) - ); - rvclkhdr rvclkhdr_10 ( // @[lib.scala 368:23] + rvclkhdr rvclkhdr_10 ( // @[lib.scala 343:22] .io_l1clk(rvclkhdr_10_io_l1clk), .io_clk(rvclkhdr_10_io_clk), .io_en(rvclkhdr_10_io_en), .io_scan_mode(rvclkhdr_10_io_scan_mode) ); - rvclkhdr rvclkhdr_11 ( // @[lib.scala 368:23] + rvclkhdr rvclkhdr_11 ( // @[lib.scala 343:22] .io_l1clk(rvclkhdr_11_io_l1clk), .io_clk(rvclkhdr_11_io_clk), .io_en(rvclkhdr_11_io_en), .io_scan_mode(rvclkhdr_11_io_scan_mode) ); - rvclkhdr rvclkhdr_12 ( // @[lib.scala 368:23] + rvclkhdr rvclkhdr_12 ( // @[lib.scala 343:22] .io_l1clk(rvclkhdr_12_io_l1clk), .io_clk(rvclkhdr_12_io_clk), .io_en(rvclkhdr_12_io_en), .io_scan_mode(rvclkhdr_12_io_scan_mode) ); + rvclkhdr rvclkhdr_13 ( // @[lib.scala 368:23] + .io_l1clk(rvclkhdr_13_io_l1clk), + .io_clk(rvclkhdr_13_io_clk), + .io_en(rvclkhdr_13_io_en), + .io_scan_mode(rvclkhdr_13_io_scan_mode) + ); + rvclkhdr rvclkhdr_14 ( // @[lib.scala 368:23] + .io_l1clk(rvclkhdr_14_io_l1clk), + .io_clk(rvclkhdr_14_io_clk), + .io_en(rvclkhdr_14_io_en), + .io_scan_mode(rvclkhdr_14_io_scan_mode) + ); + rvclkhdr rvclkhdr_15 ( // @[lib.scala 368:23] + .io_l1clk(rvclkhdr_15_io_l1clk), + .io_clk(rvclkhdr_15_io_clk), + .io_en(rvclkhdr_15_io_en), + .io_scan_mode(rvclkhdr_15_io_scan_mode) + ); assign io_dma_dbg_rddata = _GEN_47[2] ? _GEN_52[63:32] : _GEN_52[31:0]; // @[dma_ctrl.scala 325:25] assign io_dma_dbg_cmd_done = _T_1110 & _T_1111[0]; // @[dma_ctrl.scala 324:25] assign io_dma_dbg_cmd_fail = |_GEN_57; // @[dma_ctrl.scala 326:25] @@ -79142,28 +79142,28 @@ module dma_ctrl( assign io_dec_dma_tlu_dma_dma_pmu_any_write = _T_165 & io_lsu_dma_dma_lsc_ctl_dma_mem_write; // @[dma_ctrl.scala 368:42] assign io_dec_dma_tlu_dma_dma_dccm_stall_any = _T_1137 & _T_1138; // @[dma_ctrl.scala 332:41] assign io_dec_dma_tlu_dma_dma_iccm_stall_any = io_ifu_dma_dma_ifc_dma_iccm_stall_any; // @[dma_ctrl.scala 334:41] - assign io_dma_axi_aw_ready = ~_T_1243; // @[dma_ctrl.scala 453:27] - assign io_dma_axi_w_ready = ~_T_1246; // @[dma_ctrl.scala 454:27] - assign io_dma_axi_b_valid = axi_rsp_valid & axi_rsp_write; // @[dma_ctrl.scala 490:27] - assign io_dma_axi_ar_ready = ~_T_1249; // @[dma_ctrl.scala 455:27] - assign io_dma_axi_r_valid = axi_rsp_valid & _T_1281; // @[dma_ctrl.scala 494:27] - assign io_dma_axi_r_bits_data = 3'h4 == RspPtr ? fifo_data_4 : _GEN_51; // @[dma_ctrl.scala 496:43] - assign io_dma_axi_r_bits_resp = _GEN_57[0] ? 2'h2 : _T_1278; // @[dma_ctrl.scala 495:41] + assign io_dma_axi_aw_ready = ~_T_1245; // @[dma_ctrl.scala 440:27] + assign io_dma_axi_w_ready = ~_T_1248; // @[dma_ctrl.scala 441:27] + assign io_dma_axi_b_valid = axi_rsp_valid & axi_rsp_write; // @[dma_ctrl.scala 477:27] + assign io_dma_axi_ar_ready = ~_T_1251; // @[dma_ctrl.scala 442:27] + assign io_dma_axi_r_valid = axi_rsp_valid & _T_1283; // @[dma_ctrl.scala 481:27] + assign io_dma_axi_r_bits_data = 3'h4 == RspPtr ? fifo_data_4 : _GEN_51; // @[dma_ctrl.scala 483:43] + assign io_dma_axi_r_bits_resp = _GEN_57[0] ? 2'h2 : _T_1280; // @[dma_ctrl.scala 482:41] assign io_lsu_dma_dma_lsc_ctl_dma_dccm_req = _T_1137 & io_lsu_dma_dccm_ready; // @[dma_ctrl.scala 352:40] assign io_lsu_dma_dma_lsc_ctl_dma_mem_addr = _T_1184 ? _T_1188 : dma_mem_addr_int; // @[dma_ctrl.scala 357:40] assign io_lsu_dma_dma_lsc_ctl_dma_mem_sz = _T_1196 ? 3'h2 : dma_mem_sz_int; // @[dma_ctrl.scala 358:40] assign io_lsu_dma_dma_lsc_ctl_dma_mem_write = _T_1199[0]; // @[dma_ctrl.scala 360:40] assign io_lsu_dma_dma_lsc_ctl_dma_mem_wdata = 3'h4 == RdPtr ? fifo_data_4 : _GEN_77; // @[dma_ctrl.scala 361:40] - assign io_lsu_dma_dma_dccm_ctl_dma_mem_addr = io_lsu_dma_dma_lsc_ctl_dma_mem_addr; // @[dma_ctrl.scala 503:40] - assign io_lsu_dma_dma_dccm_ctl_dma_mem_wdata = io_lsu_dma_dma_lsc_ctl_dma_mem_wdata; // @[dma_ctrl.scala 504:41] + assign io_lsu_dma_dma_dccm_ctl_dma_mem_addr = io_lsu_dma_dma_lsc_ctl_dma_mem_addr; // @[dma_ctrl.scala 490:40] + assign io_lsu_dma_dma_dccm_ctl_dma_mem_wdata = io_lsu_dma_dma_lsc_ctl_dma_mem_wdata; // @[dma_ctrl.scala 491:41] assign io_lsu_dma_dma_mem_tag = RdPtr; // @[dma_ctrl.scala 354:28] assign io_ifu_dma_dma_ifc_dma_iccm_stall_any = _T_1140 & _T_1138; // @[dma_ctrl.scala 333:41] assign io_ifu_dma_dma_mem_ctl_dma_iccm_req = _T_1140 & io_iccm_ready; // @[dma_ctrl.scala 353:40] - assign io_ifu_dma_dma_mem_ctl_dma_mem_addr = io_lsu_dma_dma_lsc_ctl_dma_mem_addr; // @[dma_ctrl.scala 506:39] - assign io_ifu_dma_dma_mem_ctl_dma_mem_sz = io_lsu_dma_dma_lsc_ctl_dma_mem_sz; // @[dma_ctrl.scala 505:37] - assign io_ifu_dma_dma_mem_ctl_dma_mem_write = io_lsu_dma_dma_lsc_ctl_dma_mem_write; // @[dma_ctrl.scala 508:40] - assign io_ifu_dma_dma_mem_ctl_dma_mem_wdata = io_lsu_dma_dma_lsc_ctl_dma_mem_wdata; // @[dma_ctrl.scala 507:40] - assign io_ifu_dma_dma_mem_ctl_dma_mem_tag = io_lsu_dma_dma_mem_tag; // @[dma_ctrl.scala 509:38] + assign io_ifu_dma_dma_mem_ctl_dma_mem_addr = io_lsu_dma_dma_lsc_ctl_dma_mem_addr; // @[dma_ctrl.scala 493:39] + assign io_ifu_dma_dma_mem_ctl_dma_mem_sz = io_lsu_dma_dma_lsc_ctl_dma_mem_sz; // @[dma_ctrl.scala 492:37] + assign io_ifu_dma_dma_mem_ctl_dma_mem_write = io_lsu_dma_dma_lsc_ctl_dma_mem_write; // @[dma_ctrl.scala 495:40] + assign io_ifu_dma_dma_mem_ctl_dma_mem_wdata = io_lsu_dma_dma_lsc_ctl_dma_mem_wdata; // @[dma_ctrl.scala 494:40] + assign io_ifu_dma_dma_mem_ctl_dma_mem_tag = io_lsu_dma_dma_mem_tag; // @[dma_ctrl.scala 496:38] assign rvclkhdr_io_clk = clock; // @[lib.scala 370:18] assign rvclkhdr_io_en = fifo_cmd_en[0]; // @[lib.scala 371:17] assign rvclkhdr_io_scan_mode = io_scan_mode; // @[lib.scala 372:24] @@ -79194,24 +79194,24 @@ module dma_ctrl( assign rvclkhdr_9_io_clk = clock; // @[lib.scala 370:18] assign rvclkhdr_9_io_en = fifo_data_en[4]; // @[lib.scala 371:17] assign rvclkhdr_9_io_scan_mode = io_scan_mode; // @[lib.scala 372:24] - assign dma_buffer_c1cgc_io_clk = clock; // @[dma_ctrl.scala 392:33] - assign dma_buffer_c1cgc_io_en = _T_1213 | io_clk_override; // @[dma_ctrl.scala 390:33] - assign dma_buffer_c1cgc_io_scan_mode = io_scan_mode; // @[dma_ctrl.scala 391:33] - assign dma_free_cgc_io_clk = clock; // @[dma_ctrl.scala 398:29] - assign dma_free_cgc_io_en = _T_1219 | io_clk_override; // @[dma_ctrl.scala 396:29] - assign dma_free_cgc_io_scan_mode = io_scan_mode; // @[dma_ctrl.scala 397:29] - assign dma_bus_cgc_io_clk = clock; // @[dma_ctrl.scala 404:28] - assign dma_bus_cgc_io_en = io_dma_bus_clk_en; // @[dma_ctrl.scala 402:28] - assign dma_bus_cgc_io_scan_mode = io_scan_mode; // @[dma_ctrl.scala 403:28] - assign rvclkhdr_10_io_clk = clock; // @[lib.scala 370:18] - assign rvclkhdr_10_io_en = wrbuf_en & io_dma_bus_clk_en; // @[lib.scala 371:17] - assign rvclkhdr_10_io_scan_mode = io_scan_mode; // @[lib.scala 372:24] - assign rvclkhdr_11_io_clk = clock; // @[lib.scala 370:18] - assign rvclkhdr_11_io_en = wrbuf_data_en & io_dma_bus_clk_en; // @[lib.scala 371:17] - assign rvclkhdr_11_io_scan_mode = io_scan_mode; // @[lib.scala 372:24] - assign rvclkhdr_12_io_clk = clock; // @[lib.scala 370:18] - assign rvclkhdr_12_io_en = rdbuf_en & io_dma_bus_clk_en; // @[lib.scala 371:17] - assign rvclkhdr_12_io_scan_mode = io_scan_mode; // @[lib.scala 372:24] + assign rvclkhdr_10_io_clk = clock; // @[lib.scala 344:17] + assign rvclkhdr_10_io_en = _T_1213 | io_clk_override; // @[lib.scala 345:16] + assign rvclkhdr_10_io_scan_mode = io_scan_mode; // @[lib.scala 346:23] + assign rvclkhdr_11_io_clk = clock; // @[lib.scala 344:17] + assign rvclkhdr_11_io_en = _T_1219 | io_clk_override; // @[lib.scala 345:16] + assign rvclkhdr_11_io_scan_mode = io_scan_mode; // @[lib.scala 346:23] + assign rvclkhdr_12_io_clk = clock; // @[lib.scala 344:17] + assign rvclkhdr_12_io_en = io_dma_bus_clk_en; // @[lib.scala 345:16] + assign rvclkhdr_12_io_scan_mode = io_scan_mode; // @[lib.scala 346:23] + assign rvclkhdr_13_io_clk = clock; // @[lib.scala 370:18] + assign rvclkhdr_13_io_en = wrbuf_en & io_dma_bus_clk_en; // @[lib.scala 371:17] + assign rvclkhdr_13_io_scan_mode = io_scan_mode; // @[lib.scala 372:24] + assign rvclkhdr_14_io_clk = clock; // @[lib.scala 370:18] + assign rvclkhdr_14_io_en = wrbuf_data_en & io_dma_bus_clk_en; // @[lib.scala 371:17] + assign rvclkhdr_14_io_scan_mode = io_scan_mode; // @[lib.scala 372:24] + assign rvclkhdr_15_io_clk = clock; // @[lib.scala 370:18] + assign rvclkhdr_15_io_en = rdbuf_en & io_dma_bus_clk_en; // @[lib.scala 371:17] + assign rvclkhdr_15_io_scan_mode = io_scan_mode; // @[lib.scala 372:24] `ifdef RANDOMIZE_GARBAGE_ASSIGN `define RANDOMIZE `endif @@ -79682,21 +79682,21 @@ end // initial if (reset) begin wrbuf_vld <= 1'h0; end else begin - wrbuf_vld <= _T_1224 & _T_1225; + wrbuf_vld <= _T_1226 & _T_1227; end end always @(posedge dma_bus_clk or posedge reset) begin if (reset) begin wrbuf_data_vld <= 1'h0; end else begin - wrbuf_data_vld <= _T_1228 & _T_1229; + wrbuf_data_vld <= _T_1230 & _T_1231; end end always @(posedge dma_bus_clk or posedge reset) begin if (reset) begin rdbuf_vld <= 1'h0; end else begin - rdbuf_vld <= _T_1237 & _T_1238; + rdbuf_vld <= _T_1239 & _T_1240; end end always @(posedge dma_bus_clk or posedge reset) begin @@ -79706,14 +79706,14 @@ end // initial axi_mstr_priority <= axi_mstr_prty_in; end end - always @(posedge rvclkhdr_10_io_l1clk or posedge reset) begin + always @(posedge rvclkhdr_13_io_l1clk or posedge reset) begin if (reset) begin wrbuf_addr <= 32'h0; end else begin wrbuf_addr <= io_dma_axi_aw_bits_addr; end end - always @(posedge rvclkhdr_12_io_l1clk or posedge reset) begin + always @(posedge rvclkhdr_15_io_l1clk or posedge reset) begin if (reset) begin rdbuf_addr <= 32'h0; end else begin @@ -80011,7 +80011,7 @@ end // initial end end end - always @(posedge rvclkhdr_11_io_l1clk or posedge reset) begin + always @(posedge rvclkhdr_14_io_l1clk or posedge reset) begin if (reset) begin wrbuf_data <= 64'h0; end else begin @@ -80094,10 +80094,10 @@ end // initial end else if (fifo_cmd_en[0]) begin if (io_dbg_dma_dbg_ib_dbg_cmd_valid) begin _T_850 <= io_dbg_dma_dbg_ib_dbg_cmd_write; - end else if (_T_1261) begin + end else if (_T_1263) begin _T_850 <= axi_mstr_priority; end else begin - _T_850 <= _T_1260; + _T_850 <= _T_1262; end end end @@ -80107,10 +80107,10 @@ end // initial end else if (fifo_cmd_en[1]) begin if (io_dbg_dma_dbg_ib_dbg_cmd_valid) begin _T_852 <= io_dbg_dma_dbg_ib_dbg_cmd_write; - end else if (_T_1261) begin + end else if (_T_1263) begin _T_852 <= axi_mstr_priority; end else begin - _T_852 <= _T_1260; + _T_852 <= _T_1262; end end end @@ -80120,10 +80120,10 @@ end // initial end else if (fifo_cmd_en[2]) begin if (io_dbg_dma_dbg_ib_dbg_cmd_valid) begin _T_854 <= io_dbg_dma_dbg_ib_dbg_cmd_write; - end else if (_T_1261) begin + end else if (_T_1263) begin _T_854 <= axi_mstr_priority; end else begin - _T_854 <= _T_1260; + _T_854 <= _T_1262; end end end @@ -80133,10 +80133,10 @@ end // initial end else if (fifo_cmd_en[3]) begin if (io_dbg_dma_dbg_ib_dbg_cmd_valid) begin _T_856 <= io_dbg_dma_dbg_ib_dbg_cmd_write; - end else if (_T_1261) begin + end else if (_T_1263) begin _T_856 <= axi_mstr_priority; end else begin - _T_856 <= _T_1260; + _T_856 <= _T_1262; end end end diff --git a/src/main/scala/dma_ctrl.scala b/src/main/scala/dma_ctrl.scala index 1b3f75cf..8e80688b 100644 --- a/src/main/scala/dma_ctrl.scala +++ b/src/main/scala/dma_ctrl.scala @@ -386,23 +386,10 @@ class dma_ctrl extends Module with lib with RequireAsyncReset { val dma_buffer_c1_clken = (bus_cmd_valid & io.dma_bus_clk_en) | io.dbg_dma.dbg_ib.dbg_cmd_valid | io.clk_override val dma_free_clken = (bus_cmd_valid | bus_rsp_valid | io.dbg_dma.dbg_ib.dbg_cmd_valid | io.dma_dbg_cmd_done | dma_dbg_cmd_done_q | (fifo_valid.orR) | io.clk_override) - val dma_buffer_c1cgc = Module(new rvclkhdr) - dma_buffer_c1cgc.io.en := dma_buffer_c1_clken - dma_buffer_c1cgc.io.scan_mode := io.scan_mode - dma_buffer_c1cgc.io.clk := clock - dma_buffer_c1_clk := dma_buffer_c1cgc.io.l1clk - - val dma_free_cgc = Module(new rvclkhdr) - dma_free_cgc.io.en := dma_free_clken - dma_free_cgc.io.scan_mode := io.scan_mode - dma_free_cgc.io.clk := clock - dma_free_clk := dma_free_cgc.io.l1clk - - val dma_bus_cgc = Module(new rvclkhdr) - dma_bus_cgc.io.en := io.dma_bus_clk_en - dma_bus_cgc.io.scan_mode := io.scan_mode - dma_bus_cgc.io.clk := clock - dma_bus_clk := dma_bus_cgc.io.l1clk + dma_buffer_c1_clk := rvclkhdr(clock,dma_buffer_c1_clken.asBool,io.scan_mode) + dma_free_clk := rvclkhdr(clock,dma_free_clken.asBool(),io.scan_mode) + dma_bus_clk := rvclkhdr(clock,io.dma_bus_clk_en,io.scan_mode) + // Write channel buffer diff --git a/target/scala-2.12/classes/dma$.class b/target/scala-2.12/classes/dma$.class index cfdd5584524d53d4de517bea658fe09b8a7f663a..8d9f57c32d5aa26a59840c79c7fc25fb3654a086 100644 GIT binary patch delta 111 zcmcaFdtY|LVlF1e&y$yO*?=fP9`VV)xIAFYXl_doa~iibh`P)TRTBW>CG)sIlu1rL i#A5+tit;)!F@BjG$?L<$_=Q0osBSfHIY?54Z#MuO^&}?% delta 111 zcmcaFdtY|LVlE~ohRI90Y(SJCkND(YTploHG`A&)IgQ&IL|x{FstEw`l6hPp$|NTr i;<11+MR}c=m>4HV^7^nbF*2wF)ve|&2T7{%?FIm+K^NTs diff --git a/target/scala-2.12/classes/dma$delayedInit$body.class b/target/scala-2.12/classes/dma$delayedInit$body.class index d0fedd4c5e7635fabf7e5fb3afb922dbf3b6d172..ac330a5ddba8ab01324eb20ddcaeba4f15172532 100644 GIT binary patch delta 21 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 literal 246085 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 diff --git a/target/scala-2.12/classes/lsu/lsu_bus_buffer.class b/target/scala-2.12/classes/lsu/lsu_bus_buffer.class index 0eafb8ca1f2f67255e1ed5b248071782c475d217..8c5bb75008289b915003062d3d5c6e11dd8e8318 100644 GIT binary patch delta 85 zcmex%Q1Sag#SM={81pAT7Rh6@*c>F9t;T4+d7ri7WFYUsIW0y;%gx*uLbw^lCMVn$ iVKOvmF1_7edYci5nShuXh*^M`6^Plkm)>S?Yy|-0A0vtY delta 84 zcmexED diff --git a/target/scala-2.12/classes/lsu/lsu_ecc.class b/target/scala-2.12/classes/lsu/lsu_ecc.class index c8e3e981f30cc7a08d01a6694f226c16cdf33516..44fd112e055561c760ad8b9be5cc5e4eb5693496 100644 GIT binary patch delta 33 pcmbO@gKgprwhb#;7?mckVo74;+RV%Pj+fD-`H#@{KSGS6l>o)B3ugcT delta 33 pcmbO@gKgprwhb#;7_}y^Vo753+RV%Pj+fE2`H#@{KSGS6l>o}I3$OqH diff --git a/target/scala-2.12/classes/lsu/lsu_stbuf.class b/target/scala-2.12/classes/lsu/lsu_stbuf.class index e23ffed74e76c5166c4dcd717263416bed5af68d..4b69755680828ee16262b1b7d71fd958bdb2a637 100644 GIT binary patch delta 37 tcmbRFmV4$~?hP4SjK-5Qx$+pLHs9cq5MwlM{;1IYQGs#$M+K%8R{;(Q4s!qi delta 37 tcmbRFmV4$~?hP4SjLDNTx$+o|Hs9cq5MwlJ{;1IYQGs#$M+K%8R{<3}4!!^Y