Bus-buffer testing start

This commit is contained in:
waleed-lm 2020-11-07 19:08:38 +05:00
parent 4cb1f561c4
commit 80a8e5e534
4 changed files with 37 additions and 41 deletions

View File

@ -5802,34 +5802,34 @@ circuit el2_lsu_bus_buffer :
node _T_4374 = add(_T_4373, _T_4364) @[el2_lsu_bus_buffer.scala 545:126] node _T_4374 = add(_T_4373, _T_4364) @[el2_lsu_bus_buffer.scala 545:126]
node _T_4375 = add(_T_4374, _T_4360) @[el2_lsu_bus_buffer.scala 545:126] node _T_4375 = add(_T_4374, _T_4360) @[el2_lsu_bus_buffer.scala 545:126]
buf_numvld_cmd_any <= _T_4375 @[el2_lsu_bus_buffer.scala 545:22] buf_numvld_cmd_any <= _T_4375 @[el2_lsu_bus_buffer.scala 545:22]
node _T_4376 = bits(buf_write, 0, 0) @[el2_lsu_bus_buffer.scala 546:61] node _T_4376 = bits(buf_write, 0, 0) @[el2_lsu_bus_buffer.scala 546:60]
node _T_4377 = eq(_T_4376, UInt<3>("h01")) @[el2_lsu_bus_buffer.scala 546:64] node _T_4377 = eq(_T_4376, UInt<3>("h01")) @[el2_lsu_bus_buffer.scala 546:63]
node _T_4378 = bits(buf_write, 0, 0) @[el2_lsu_bus_buffer.scala 546:85] node _T_4378 = bits(buf_write, 0, 0) @[el2_lsu_bus_buffer.scala 546:86]
node _T_4379 = eq(_T_4378, UInt<3>("h02")) @[el2_lsu_bus_buffer.scala 546:88] node _T_4379 = eq(_T_4378, UInt<3>("h02")) @[el2_lsu_bus_buffer.scala 546:89]
node _T_4380 = or(_T_4377, _T_4379) @[el2_lsu_bus_buffer.scala 546:74] node _T_4380 = eq(buf_cmd_state_bus_en[0], UInt<1>("h00")) @[el2_lsu_bus_buffer.scala 546:101]
node _T_4381 = eq(buf_cmd_state_bus_en[0], UInt<1>("h00")) @[el2_lsu_bus_buffer.scala 546:102] node _T_4381 = and(_T_4379, _T_4380) @[el2_lsu_bus_buffer.scala 546:99]
node _T_4382 = and(_T_4380, _T_4381) @[el2_lsu_bus_buffer.scala 546:100] node _T_4382 = or(_T_4377, _T_4381) @[el2_lsu_bus_buffer.scala 546:73]
node _T_4383 = bits(buf_write, 1, 1) @[el2_lsu_bus_buffer.scala 546:61] node _T_4383 = bits(buf_write, 1, 1) @[el2_lsu_bus_buffer.scala 546:60]
node _T_4384 = eq(_T_4383, UInt<3>("h01")) @[el2_lsu_bus_buffer.scala 546:64] node _T_4384 = eq(_T_4383, UInt<3>("h01")) @[el2_lsu_bus_buffer.scala 546:63]
node _T_4385 = bits(buf_write, 1, 1) @[el2_lsu_bus_buffer.scala 546:85] node _T_4385 = bits(buf_write, 1, 1) @[el2_lsu_bus_buffer.scala 546:86]
node _T_4386 = eq(_T_4385, UInt<3>("h02")) @[el2_lsu_bus_buffer.scala 546:88] node _T_4386 = eq(_T_4385, UInt<3>("h02")) @[el2_lsu_bus_buffer.scala 546:89]
node _T_4387 = or(_T_4384, _T_4386) @[el2_lsu_bus_buffer.scala 546:74] node _T_4387 = eq(buf_cmd_state_bus_en[1], UInt<1>("h00")) @[el2_lsu_bus_buffer.scala 546:101]
node _T_4388 = eq(buf_cmd_state_bus_en[1], UInt<1>("h00")) @[el2_lsu_bus_buffer.scala 546:102] node _T_4388 = and(_T_4386, _T_4387) @[el2_lsu_bus_buffer.scala 546:99]
node _T_4389 = and(_T_4387, _T_4388) @[el2_lsu_bus_buffer.scala 546:100] node _T_4389 = or(_T_4384, _T_4388) @[el2_lsu_bus_buffer.scala 546:73]
node _T_4390 = bits(buf_write, 2, 2) @[el2_lsu_bus_buffer.scala 546:61] node _T_4390 = bits(buf_write, 2, 2) @[el2_lsu_bus_buffer.scala 546:60]
node _T_4391 = eq(_T_4390, UInt<3>("h01")) @[el2_lsu_bus_buffer.scala 546:64] node _T_4391 = eq(_T_4390, UInt<3>("h01")) @[el2_lsu_bus_buffer.scala 546:63]
node _T_4392 = bits(buf_write, 2, 2) @[el2_lsu_bus_buffer.scala 546:85] node _T_4392 = bits(buf_write, 2, 2) @[el2_lsu_bus_buffer.scala 546:86]
node _T_4393 = eq(_T_4392, UInt<3>("h02")) @[el2_lsu_bus_buffer.scala 546:88] node _T_4393 = eq(_T_4392, UInt<3>("h02")) @[el2_lsu_bus_buffer.scala 546:89]
node _T_4394 = or(_T_4391, _T_4393) @[el2_lsu_bus_buffer.scala 546:74] node _T_4394 = eq(buf_cmd_state_bus_en[2], UInt<1>("h00")) @[el2_lsu_bus_buffer.scala 546:101]
node _T_4395 = eq(buf_cmd_state_bus_en[2], UInt<1>("h00")) @[el2_lsu_bus_buffer.scala 546:102] node _T_4395 = and(_T_4393, _T_4394) @[el2_lsu_bus_buffer.scala 546:99]
node _T_4396 = and(_T_4394, _T_4395) @[el2_lsu_bus_buffer.scala 546:100] node _T_4396 = or(_T_4391, _T_4395) @[el2_lsu_bus_buffer.scala 546:73]
node _T_4397 = bits(buf_write, 3, 3) @[el2_lsu_bus_buffer.scala 546:61] node _T_4397 = bits(buf_write, 3, 3) @[el2_lsu_bus_buffer.scala 546:60]
node _T_4398 = eq(_T_4397, UInt<3>("h01")) @[el2_lsu_bus_buffer.scala 546:64] node _T_4398 = eq(_T_4397, UInt<3>("h01")) @[el2_lsu_bus_buffer.scala 546:63]
node _T_4399 = bits(buf_write, 3, 3) @[el2_lsu_bus_buffer.scala 546:85] node _T_4399 = bits(buf_write, 3, 3) @[el2_lsu_bus_buffer.scala 546:86]
node _T_4400 = eq(_T_4399, UInt<3>("h02")) @[el2_lsu_bus_buffer.scala 546:88] node _T_4400 = eq(_T_4399, UInt<3>("h02")) @[el2_lsu_bus_buffer.scala 546:89]
node _T_4401 = or(_T_4398, _T_4400) @[el2_lsu_bus_buffer.scala 546:74] node _T_4401 = eq(buf_cmd_state_bus_en[3], UInt<1>("h00")) @[el2_lsu_bus_buffer.scala 546:101]
node _T_4402 = eq(buf_cmd_state_bus_en[3], UInt<1>("h00")) @[el2_lsu_bus_buffer.scala 546:102] node _T_4402 = and(_T_4400, _T_4401) @[el2_lsu_bus_buffer.scala 546:99]
node _T_4403 = and(_T_4401, _T_4402) @[el2_lsu_bus_buffer.scala 546:100] node _T_4403 = or(_T_4398, _T_4402) @[el2_lsu_bus_buffer.scala 546:73]
node _T_4404 = add(_T_4403, _T_4396) @[el2_lsu_bus_buffer.scala 546:153] node _T_4404 = add(_T_4403, _T_4396) @[el2_lsu_bus_buffer.scala 546:153]
node _T_4405 = add(_T_4404, _T_4389) @[el2_lsu_bus_buffer.scala 546:153] node _T_4405 = add(_T_4404, _T_4389) @[el2_lsu_bus_buffer.scala 546:153]
node _T_4406 = add(_T_4405, _T_4382) @[el2_lsu_bus_buffer.scala 546:153] node _T_4406 = add(_T_4405, _T_4382) @[el2_lsu_bus_buffer.scala 546:153]

View File

@ -1034,21 +1034,17 @@ module el2_lsu_bus_buffer(
wire _T_983 = obuf_wr_timer < 3'h7; // @[el2_lsu_bus_buffer.scala 296:95] wire _T_983 = obuf_wr_timer < 3'h7; // @[el2_lsu_bus_buffer.scala 296:95]
wire _T_984 = _T_982 & _T_983; // @[el2_lsu_bus_buffer.scala 296:79] wire _T_984 = _T_982 & _T_983; // @[el2_lsu_bus_buffer.scala 296:79]
wire [2:0] _T_986 = obuf_wr_timer + 3'h1; // @[el2_lsu_bus_buffer.scala 296:121] wire [2:0] _T_986 = obuf_wr_timer + 3'h1; // @[el2_lsu_bus_buffer.scala 296:121]
wire _T_4398 = _GEN_365 == 3'h1; // @[el2_lsu_bus_buffer.scala 546:64] wire _T_4398 = _GEN_365 == 3'h1; // @[el2_lsu_bus_buffer.scala 546:63]
wire _T_4401 = _T_4398 | _T_4350; // @[el2_lsu_bus_buffer.scala 546:74] wire _T_4403 = _T_4398 | _T_4372; // @[el2_lsu_bus_buffer.scala 546:73]
wire _T_4403 = _T_4401 & _T_4352; // @[el2_lsu_bus_buffer.scala 546:100] wire _T_4391 = _GEN_366 == 3'h1; // @[el2_lsu_bus_buffer.scala 546:63]
wire _T_4391 = _GEN_366 == 3'h1; // @[el2_lsu_bus_buffer.scala 546:64] wire _T_4396 = _T_4391 | _T_4368; // @[el2_lsu_bus_buffer.scala 546:73]
wire _T_4394 = _T_4391 | _T_4344; // @[el2_lsu_bus_buffer.scala 546:74]
wire _T_4396 = _T_4394 & _T_4346; // @[el2_lsu_bus_buffer.scala 546:100]
wire [1:0] _T_4404 = _T_4403 + _T_4396; // @[el2_lsu_bus_buffer.scala 546:153] wire [1:0] _T_4404 = _T_4403 + _T_4396; // @[el2_lsu_bus_buffer.scala 546:153]
wire _T_4384 = _GEN_367 == 3'h1; // @[el2_lsu_bus_buffer.scala 546:64] wire _T_4384 = _GEN_367 == 3'h1; // @[el2_lsu_bus_buffer.scala 546:63]
wire _T_4387 = _T_4384 | _T_4338; // @[el2_lsu_bus_buffer.scala 546:74] wire _T_4389 = _T_4384 | _T_4364; // @[el2_lsu_bus_buffer.scala 546:73]
wire _T_4389 = _T_4387 & _T_4340; // @[el2_lsu_bus_buffer.scala 546:100]
wire [1:0] _GEN_383 = {{1'd0}, _T_4389}; // @[el2_lsu_bus_buffer.scala 546:153] wire [1:0] _GEN_383 = {{1'd0}, _T_4389}; // @[el2_lsu_bus_buffer.scala 546:153]
wire [2:0] _T_4405 = _T_4404 + _GEN_383; // @[el2_lsu_bus_buffer.scala 546:153] wire [2:0] _T_4405 = _T_4404 + _GEN_383; // @[el2_lsu_bus_buffer.scala 546:153]
wire _T_4377 = _GEN_369 == 3'h1; // @[el2_lsu_bus_buffer.scala 546:64] wire _T_4377 = _GEN_369 == 3'h1; // @[el2_lsu_bus_buffer.scala 546:63]
wire _T_4380 = _T_4377 | _T_4332; // @[el2_lsu_bus_buffer.scala 546:74] wire _T_4382 = _T_4377 | _T_4360; // @[el2_lsu_bus_buffer.scala 546:73]
wire _T_4382 = _T_4380 & _T_4334; // @[el2_lsu_bus_buffer.scala 546:100]
wire [2:0] _GEN_386 = {{2'd0}, _T_4382}; // @[el2_lsu_bus_buffer.scala 546:153] wire [2:0] _GEN_386 = {{2'd0}, _T_4382}; // @[el2_lsu_bus_buffer.scala 546:153]
wire [3:0] buf_numvld_pend_any = _T_4405 + _GEN_386; // @[el2_lsu_bus_buffer.scala 546:153] wire [3:0] buf_numvld_pend_any = _T_4405 + _GEN_386; // @[el2_lsu_bus_buffer.scala 546:153]
wire _T_1013 = buf_numvld_pend_any == 4'h0; // @[el2_lsu_bus_buffer.scala 299:53] wire _T_1013 = buf_numvld_pend_any == 4'h0; // @[el2_lsu_bus_buffer.scala 299:53]

View File

@ -543,7 +543,7 @@ class el2_lsu_bus_buffer extends Module with RequireAsyncReset with el2_lib {
val buf_numvld_any = (0 until DEPTH).map(i=>(buf_state(i)=/=idle_C).asUInt).reverse.reduce(_ +& _) val buf_numvld_any = (0 until DEPTH).map(i=>(buf_state(i)=/=idle_C).asUInt).reverse.reduce(_ +& _)
buf_numvld_wrcmd_any := (0 until DEPTH).map(i=>(buf_write(i) & (buf_write(i)===cmd_C) & !buf_cmd_state_bus_en(i)).asUInt).reverse.reduce(_ +& _) buf_numvld_wrcmd_any := (0 until DEPTH).map(i=>(buf_write(i) & (buf_write(i)===cmd_C) & !buf_cmd_state_bus_en(i)).asUInt).reverse.reduce(_ +& _)
buf_numvld_cmd_any := (0 until DEPTH).map(i=>((buf_write(i)===cmd_C) & !buf_cmd_state_bus_en(i)).asUInt).reverse.reduce(_ +& _) buf_numvld_cmd_any := (0 until DEPTH).map(i=>((buf_write(i)===cmd_C) & !buf_cmd_state_bus_en(i)).asUInt).reverse.reduce(_ +& _)
buf_numvld_pend_any := (0 until DEPTH).map(i=>(((buf_write(i)===wait_C)|(buf_write(i)===cmd_C)) & !buf_cmd_state_bus_en(i)).asUInt).reverse.reduce(_ +& _) buf_numvld_pend_any := (0 until DEPTH).map(i=>((buf_write(i)===wait_C)| ((buf_write(i)===cmd_C) & !buf_cmd_state_bus_en(i))).asUInt).reverse.reduce(_ +& _)
any_done_wait_state := (0 until DEPTH).map(i=>buf_state(i)===done_wait_C).reverse.reduce(_|_) any_done_wait_state := (0 until DEPTH).map(i=>buf_state(i)===done_wait_C).reverse.reduce(_|_)
io.lsu_bus_buffer_pend_any := buf_numvld_pend_any.orR io.lsu_bus_buffer_pend_any := buf_numvld_pend_any.orR
io.lsu_bus_buffer_full_any := Mux(io.ldst_dual_d & io.dec_lsu_valid_raw_d, buf_numvld_any>=(DEPTH-1), buf_numvld_any===(DEPTH-1)) io.lsu_bus_buffer_full_any := Mux(io.ldst_dual_d & io.dec_lsu_valid_raw_d, buf_numvld_any>=(DEPTH-1), buf_numvld_any===(DEPTH-1))