Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add OpenOCD test #211

Merged
merged 14 commits into from
Aug 2, 2024
Merged

Conversation

RRozak
Copy link
Member

@RRozak RRozak commented Jul 16, 2024

It adds OpenOCD test. Parts of the code were copied from caliptra-rtl, mainly from this PR: chipsalliance/caliptra-rtl#72.

Files from axi4_mux were taken from https://github.com/corundum/corundum/blob/master/fpga/lib/axi/rtl/

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit

verible-verilog-format

testbench/axi4_mux/arbiter.v|28|
testbench/axi4_mux/arbiter.v|35|
testbench/axi4_mux/arbiter.v|46|
testbench/axi4_mux/arbiter.v|51|
testbench/axi4_mux/arbiter.v|54|
testbench/axi4_mux/arbiter.v|59|
testbench/axi4_mux/arbiter.v|106|
testbench/axi4_mux/arbiter.v|111|
testbench/axi4_mux/arbiter.v|116|
testbench/axi4_mux/arbiter.v|137|
testbench/axi4_mux/arbiter.v|141 col 1|
testbench/axi4_mux/arbiter.v|142|
testbench/axi4_mux/arbiter.v|144|
testbench/axi4_mux/arbiter.v|146|
testbench/axi4_mux/arbiter.v|151|
testbench/axi4_mux/arbiter.v|156|
testbench/axi4_mux/axi_crossbar.v|28|
testbench/axi4_mux/axi_crossbar.v|35|
testbench/axi4_mux/axi_crossbar.v|46|
testbench/axi4_mux/axi_crossbar.v|51|
testbench/axi4_mux/axi_crossbar.v|129|
testbench/axi4_mux/axi_crossbar.v|137|
testbench/axi4_mux/axi_crossbar.v|183|
testbench/axi4_mux/axi_crossbar.v|229|
testbench/axi4_mux/axi_crossbar.v|259|
testbench/axi4_mux/axi_crossbar.v|262|
testbench/axi4_mux/axi_crossbar.v|286|
testbench/axi4_mux/axi_crossbar.v|289|
testbench/axi4_mux/axi_crossbar.v|315|
testbench/axi4_mux/axi_crossbar.v|342|
testbench/axi4_mux/axi_crossbar.v|345|
testbench/axi4_mux/axi_crossbar.v|365|
testbench/axi4_mux/axi_crossbar.v|368|
testbench/axi4_mux/axi_crossbar_addr.v|28|
testbench/axi4_mux/axi_crossbar_addr.v|35|
testbench/axi4_mux/axi_crossbar_addr.v|68|
testbench/axi4_mux/axi_crossbar_addr.v|76|
testbench/axi4_mux/axi_crossbar_addr.v|86|
testbench/axi4_mux/axi_crossbar_addr.v|102|
testbench/axi4_mux/axi_crossbar_addr.v|109|
testbench/axi4_mux/axi_crossbar_addr.v|113|
testbench/axi4_mux/axi_crossbar_addr.v|116|
testbench/axi4_mux/axi_crossbar_addr.v|120|
testbench/axi4_mux/axi_crossbar_addr.v|128|
testbench/axi4_mux/axi_crossbar_addr.v|142 col 1|
testbench/axi4_mux/axi_crossbar_addr.v|143|
testbench/axi4_mux/axi_crossbar_addr.v|145|
testbench/axi4_mux/axi_crossbar_addr.v|147|
testbench/axi4_mux/axi_crossbar_addr.v|149|
testbench/axi4_mux/axi_crossbar_addr.v|152|
testbench/axi4_mux/axi_crossbar_addr.v|157|
testbench/axi4_mux/axi_crossbar_addr.v|162|
testbench/axi4_mux/axi_crossbar_addr.v|166|
testbench/axi4_mux/axi_crossbar_addr.v|170|
testbench/axi4_mux/axi_crossbar_addr.v|178|
testbench/axi4_mux/axi_crossbar_addr.v|190|
testbench/axi4_mux/axi_crossbar_addr.v|205|
testbench/axi4_mux/axi_crossbar_addr.v|210|
testbench/axi4_mux/axi_crossbar_addr.v|230 col 1|
testbench/axi4_mux/axi_crossbar_addr.v|231|
testbench/axi4_mux/axi_crossbar_addr.v|233|
testbench/axi4_mux/axi_crossbar_addr.v|237|
testbench/axi4_mux/axi_crossbar_addr.v|239|
testbench/axi4_mux/axi_crossbar_addr.v|241|
testbench/axi4_mux/axi_crossbar_addr.v|248|
testbench/axi4_mux/axi_crossbar_addr.v|250|
testbench/axi4_mux/axi_crossbar_addr.v|254|
testbench/axi4_mux/axi_crossbar_addr.v|258|
testbench/axi4_mux/axi_crossbar_addr.v|261|
testbench/axi4_mux/axi_crossbar_addr.v|265|
testbench/axi4_mux/axi_crossbar_addr.v|268|
testbench/axi4_mux/axi_crossbar_addr.v|274|
testbench/axi4_mux/axi_crossbar_addr.v|281|
testbench/axi4_mux/axi_crossbar_addr.v|285|
testbench/axi4_mux/axi_crossbar_addr.v|289|
testbench/axi4_mux/axi_crossbar_addr.v|313 col 1|
testbench/axi4_mux/axi_crossbar_addr.v|314|
testbench/axi4_mux/axi_crossbar_addr.v|316|
testbench/axi4_mux/axi_crossbar_addr.v|333|
testbench/axi4_mux/axi_crossbar_addr.v|374|
testbench/axi4_mux/axi_crossbar_addr.v|380|
testbench/axi4_mux/axi_crossbar_addr.v|382 col 1|
testbench/axi4_mux/axi_crossbar_addr.v|383 col 1|
testbench/axi4_mux/axi_crossbar_addr.v|387|
testbench/axi4_mux/axi_crossbar_addr.v|389|
testbench/axi4_mux/axi_crossbar_addr.v|391|
testbench/axi4_mux/axi_crossbar_addr.v|397|
testbench/axi4_mux/axi_crossbar_addr.v|399|
testbench/axi4_mux/axi_crossbar_addr.v|415|
testbench/axi4_mux/axi_crossbar_rd.v|28|
testbench/axi4_mux/axi_crossbar_rd.v|35|
testbench/axi4_mux/axi_crossbar_rd.v|46|
testbench/axi4_mux/axi_crossbar_rd.v|51|
testbench/axi4_mux/axi_crossbar_rd.v|96|
testbench/axi4_mux/axi_crossbar_rd.v|104|
testbench/axi4_mux/axi_crossbar_rd.v|127|
testbench/axi4_mux/axi_crossbar_rd.v|149|
testbench/axi4_mux/axi_crossbar_rd.v|154|
testbench/axi4_mux/axi_crossbar_rd.v|156|
testbench/axi4_mux/axi_crossbar_rd.v|163|
testbench/axi4_mux/axi_crossbar_rd.v|169|
testbench/axi4_mux/axi_crossbar_rd.v|204|
testbench/axi4_mux/axi_crossbar_rd.v|239|
testbench/axi4_mux/axi_crossbar_rd.v|249|
testbench/axi4_mux/axi_crossbar_rd.v|254|
testbench/axi4_mux/axi_crossbar_rd.v|257|
testbench/axi4_mux/axi_crossbar_rd.v|262|
testbench/axi4_mux/axi_crossbar_rd.v|265|
testbench/axi4_mux/axi_crossbar_rd.v|269|
testbench/axi4_mux/axi_crossbar_rd.v|272|
testbench/axi4_mux/axi_crossbar_rd.v|317|
testbench/axi4_mux/axi_crossbar_rd.v|319|
testbench/axi4_mux/axi_crossbar_rd.v|324 col 1|
testbench/axi4_mux/axi_crossbar_rd.v|325|
testbench/axi4_mux/axi_crossbar_rd.v|366|
testbench/axi4_mux/axi_crossbar_rd.v|432|
testbench/axi4_mux/axi_crossbar_rd.v|450|
testbench/axi4_mux/axi_crossbar_wr.v|28|
testbench/axi4_mux/axi_crossbar_wr.v|35|
testbench/axi4_mux/axi_crossbar_wr.v|46|
testbench/axi4_mux/axi_crossbar_wr.v|51|
testbench/axi4_mux/axi_crossbar_wr.v|106|
testbench/axi4_mux/axi_crossbar_wr.v|114|
testbench/axi4_mux/axi_crossbar_wr.v|141|
testbench/axi4_mux/axi_crossbar_wr.v|167|
testbench/axi4_mux/axi_crossbar_wr.v|172|
testbench/axi4_mux/axi_crossbar_wr.v|174|
testbench/axi4_mux/axi_crossbar_wr.v|181|
testbench/axi4_mux/axi_crossbar_wr.v|187|
testbench/axi4_mux/axi_crossbar_wr.v|230|
testbench/axi4_mux/axi_crossbar_wr.v|270|
testbench/axi4_mux/axi_crossbar_wr.v|280|
testbench/axi4_mux/axi_crossbar_wr.v|285|
testbench/axi4_mux/axi_crossbar_wr.v|288|
testbench/axi4_mux/axi_crossbar_wr.v|293|
testbench/axi4_mux/axi_crossbar_wr.v|296|
testbench/axi4_mux/axi_crossbar_wr.v|300|
testbench/axi4_mux/axi_crossbar_wr.v|303|
testbench/axi4_mux/axi_crossbar_wr.v|329|
testbench/axi4_mux/axi_crossbar_wr.v|336|
testbench/axi4_mux/axi_crossbar_wr.v|340|
testbench/axi4_mux/axi_crossbar_wr.v|365|
testbench/axi4_mux/axi_crossbar_wr.v|372|
testbench/axi4_mux/axi_crossbar_wr.v|374 col 1|
testbench/axi4_mux/axi_crossbar_wr.v|375|
testbench/axi4_mux/axi_crossbar_wr.v|414|
testbench/axi4_mux/axi_crossbar_wr.v|490|
testbench/axi4_mux/axi_crossbar_wr.v|510|
testbench/axi4_mux/axi_crossbar_wr.v|559 col 1|
testbench/axi4_mux/axi_crossbar_wr.v|560|
testbench/axi4_mux/axi_crossbar_wr.v|585|
testbench/axi4_mux/axi_crossbar_wr.v|594|
testbench/axi4_mux/axi_crossbar_wr.v|597|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|28|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|35|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|42|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|47|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|139|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|147|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|190|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|236|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|282|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|285|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|288|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|290|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|292|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|294|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|296|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|298|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|300|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|302|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|304|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|306|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|308|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|310|
testbench/axi4_mux/axi_register_rd.v|28|
testbench/axi4_mux/axi_register_rd.v|35|
testbench/axi4_mux/axi_register_rd.v|42|
testbench/axi4_mux/axi_register_rd.v|59|
testbench/axi4_mux/axi_register_rd.v|67|
testbench/axi4_mux/axi_register_rd.v|91|
testbench/axi4_mux/axi_register_rd.v|113|
testbench/axi4_mux/axi_register_rd.v|187|
testbench/axi4_mux/axi_register_rd.v|191 col 1|
testbench/axi4_mux/axi_register_rd.v|192|
testbench/axi4_mux/axi_register_rd.v|200|
testbench/axi4_mux/axi_register_rd.v|211|
testbench/axi4_mux/axi_register_rd.v|238|
testbench/axi4_mux/axi_register_rd.v|307|
testbench/axi4_mux/axi_register_rd.v|312|
testbench/axi4_mux/axi_register_rd.v|316|
testbench/axi4_mux/axi_register_rd.v|330|
testbench/axi4_mux/axi_register_rd.v|405|
testbench/axi4_mux/axi_register_rd.v|409 col 1|
testbench/axi4_mux/axi_register_rd.v|410|
testbench/axi4_mux/axi_register_rd.v|418|
testbench/axi4_mux/axi_register_rd.v|429|
testbench/axi4_mux/axi_register_rd.v|444|
testbench/axi4_mux/axi_register_rd.v|453|
testbench/axi4_mux/axi_register_rd.v|456|
testbench/axi4_mux/axi_register_rd.v|459|
testbench/axi4_mux/axi_register_rd.v|466|
testbench/axi4_mux/axi_register_rd.v|469|
testbench/axi4_mux/axi_register_rd.v|471|
testbench/axi4_mux/axi_register_rd.v|478|
testbench/axi4_mux/axi_register_rd.v|481|
testbench/axi4_mux/axi_register_rd.v|485|
testbench/axi4_mux/axi_register_rd.v|487|
testbench/axi4_mux/axi_register_rd.v|495|
testbench/axi4_mux/axi_register_rd.v|504|
testbench/axi4_mux/axi_register_rd.v|514|
testbench/axi4_mux/axi_register_rd.v|516|
testbench/axi4_mux/axi_register_rd.v|525|
testbench/axi4_mux/axi_register_rd.v|527|
testbench/axi4_mux/axi_register_wr.v|28|
testbench/axi4_mux/axi_register_wr.v|35|
testbench/axi4_mux/axi_register_wr.v|42|
testbench/axi4_mux/axi_register_wr.v|66|
testbench/axi4_mux/axi_register_wr.v|74|
testbench/axi4_mux/axi_register_wr.v|102|
testbench/axi4_mux/axi_register_wr.v|128|
testbench/axi4_mux/axi_register_wr.v|202|
testbench/axi4_mux/axi_register_wr.v|206 col 1|
testbench/axi4_mux/axi_register_wr.v|207|
testbench/axi4_mux/axi_register_wr.v|215|
testbench/axi4_mux/axi_register_wr.v|226|
testbench/axi4_mux/axi_register_wr.v|253|
testbench/axi4_mux/axi_register_wr.v|322|
testbench/axi4_mux/axi_register_wr.v|327|
testbench/axi4_mux/axi_register_wr.v|331|
testbench/axi4_mux/axi_register_wr.v|345|
testbench/axi4_mux/axi_register_wr.v|417|
testbench/axi4_mux/axi_register_wr.v|421 col 1|
testbench/axi4_mux/axi_register_wr.v|422|
testbench/axi4_mux/axi_register_wr.v|430|
testbench/axi4_mux/axi_register_wr.v|441|
testbench/axi4_mux/axi_register_wr.v|454|
testbench/axi4_mux/axi_register_wr.v|462|
testbench/axi4_mux/axi_register_wr.v|465|
testbench/axi4_mux/axi_register_wr.v|468|
testbench/axi4_mux/axi_register_wr.v|474|
testbench/axi4_mux/axi_register_wr.v|477|
testbench/axi4_mux/axi_register_wr.v|479|
testbench/axi4_mux/axi_register_wr.v|485|
testbench/axi4_mux/axi_register_wr.v|488|
testbench/axi4_mux/axi_register_wr.v|492|
testbench/axi4_mux/axi_register_wr.v|494|
testbench/axi4_mux/axi_register_wr.v|502|
testbench/axi4_mux/axi_register_wr.v|511|
testbench/axi4_mux/axi_register_wr.v|520|
testbench/axi4_mux/axi_register_wr.v|522|
testbench/axi4_mux/axi_register_wr.v|530|
testbench/axi4_mux/axi_register_wr.v|532|
testbench/axi4_mux/axi_register_wr.v|534|
testbench/axi4_mux/axi_register_wr.v|537|
testbench/axi4_mux/axi_register_wr.v|540|
testbench/axi4_mux/axi_register_wr.v|545|
testbench/axi4_mux/axi_register_wr.v|550|
testbench/axi4_mux/axi_register_wr.v|555|
testbench/axi4_mux/axi_register_wr.v|557|
testbench/axi4_mux/axi_register_wr.v|562|
testbench/axi4_mux/axi_register_wr.v|565|
testbench/axi4_mux/axi_register_wr.v|570|
testbench/axi4_mux/axi_register_wr.v|574|
testbench/axi4_mux/axi_register_wr.v|580|
testbench/axi4_mux/axi_register_wr.v|584 col 1|
testbench/axi4_mux/axi_register_wr.v|585|
testbench/axi4_mux/axi_register_wr.v|593|
testbench/axi4_mux/axi_register_wr.v|604|
testbench/axi4_mux/axi_register_wr.v|615|
testbench/axi4_mux/axi_register_wr.v|622|
testbench/axi4_mux/axi_register_wr.v|625|
testbench/axi4_mux/axi_register_wr.v|628|
testbench/axi4_mux/axi_register_wr.v|633|
testbench/axi4_mux/axi_register_wr.v|636|
testbench/axi4_mux/axi_register_wr.v|638|
testbench/axi4_mux/axi_register_wr.v|643|
testbench/axi4_mux/axi_register_wr.v|646|
testbench/axi4_mux/axi_register_wr.v|650|
testbench/axi4_mux/axi_register_wr.v|652|
testbench/axi4_mux/axi_register_wr.v|660|
testbench/axi4_mux/axi_register_wr.v|669|
testbench/axi4_mux/axi_register_wr.v|677|
testbench/axi4_mux/axi_register_wr.v|679|
testbench/axi4_mux/axi_register_wr.v|686|
testbench/axi4_mux/axi_register_wr.v|688|
testbench/axi4_mux/priority_encoder.v|28|
testbench/axi4_mux/priority_encoder.v|35|
testbench/axi4_mux/priority_encoder.v|40|
testbench/axi4_mux/priority_encoder.v|45|
testbench/axi4_mux/priority_encoder.v|48|
testbench/axi4_mux/priority_encoder.v|51|
testbench/axi4_mux/priority_encoder.v|54|
testbench/axi4_mux/priority_encoder.v|57|
testbench/axi4_mux/priority_encoder.v|61|
testbench/axi4_mux/priority_encoder.v|74|
testbench/axi4_mux/priority_encoder.v|84 col 1|
testbench/axi4_mux/priority_encoder.v|85|
testbench/axi4_mux/priority_encoder.v|87|
testbench/jtagdpi/jtagdpi.sv|7|
testbench/jtagdpi/jtagdpi.sv|21|
testbench/jtagdpi/jtagdpi.sv|24|
testbench/jtagdpi/jtagdpi.sv|29|
testbench/jtagdpi/jtagdpi.sv|44|

Comment on lines +22 to +23
parameter AHB_LITE_ADDR_WIDTH = 32,
parameter AHB_LITE_DATA_WIDTH = 32,

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
parameter AHB_LITE_ADDR_WIDTH = 32,
parameter AHB_LITE_DATA_WIDTH = 32,
parameter AHB_LITE_ADDR_WIDTH = 32,
parameter AHB_LITE_DATA_WIDTH = 32,

Comment on lines +29 to +31
input logic hclk,
input logic hreset_n,
input logic force_bus_idle,

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
input logic hclk,
input logic hreset_n,
input logic force_bus_idle,
input logic hclk,
input logic hreset_n,
input logic force_bus_idle,

Comment on lines +36 to +46
input logic hsel_i_0,
input logic [AHB_LITE_ADDR_WIDTH-1:0] haddr_i_0,
input logic [AHB_LITE_DATA_WIDTH-1:0] hwdata_i_0,
input logic hwrite_i_0,
input logic [1:0] htrans_i_0,
input logic [2:0] hsize_i_0,
input logic hready_i_0,

output logic hresp_o_0,
output logic hready_o_0,
output logic [AHB_LITE_DATA_WIDTH-1:0] hrdata_o_0,

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
input logic hsel_i_0,
input logic [AHB_LITE_ADDR_WIDTH-1:0] haddr_i_0,
input logic [AHB_LITE_DATA_WIDTH-1:0] hwdata_i_0,
input logic hwrite_i_0,
input logic [1:0] htrans_i_0,
input logic [2:0] hsize_i_0,
input logic hready_i_0,
output logic hresp_o_0,
output logic hready_o_0,
output logic [AHB_LITE_DATA_WIDTH-1:0] hrdata_o_0,
input logic hsel_i_0,
input logic [AHB_LITE_ADDR_WIDTH-1:0] haddr_i_0,
input logic [AHB_LITE_DATA_WIDTH-1:0] hwdata_i_0,
input logic hwrite_i_0,
input logic [ 1:0] htrans_i_0,
input logic [ 2:0] hsize_i_0,
input logic hready_i_0,
output logic hresp_o_0,
output logic hready_o_0,
output logic [AHB_LITE_DATA_WIDTH-1:0] hrdata_o_0,

Comment on lines +51 to +61
input logic hsel_i_1,
input logic [AHB_LITE_ADDR_WIDTH-1:0] haddr_i_1,
input logic [AHB_LITE_DATA_WIDTH-1:0] hwdata_i_1,
input logic hwrite_i_1,
input logic [1:0] htrans_i_1,
input logic [2:0] hsize_i_1,
input logic hready_i_1,

output logic hresp_o_1,
output logic hready_o_1,
output logic [AHB_LITE_DATA_WIDTH-1:0] hrdata_o_1,

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
input logic hsel_i_1,
input logic [AHB_LITE_ADDR_WIDTH-1:0] haddr_i_1,
input logic [AHB_LITE_DATA_WIDTH-1:0] hwdata_i_1,
input logic hwrite_i_1,
input logic [1:0] htrans_i_1,
input logic [2:0] hsize_i_1,
input logic hready_i_1,
output logic hresp_o_1,
output logic hready_o_1,
output logic [AHB_LITE_DATA_WIDTH-1:0] hrdata_o_1,
input logic hsel_i_1,
input logic [AHB_LITE_ADDR_WIDTH-1:0] haddr_i_1,
input logic [AHB_LITE_DATA_WIDTH-1:0] hwdata_i_1,
input logic hwrite_i_1,
input logic [ 1:0] htrans_i_1,
input logic [ 2:0] hsize_i_1,
input logic hready_i_1,
output logic hresp_o_1,
output logic hready_o_1,
output logic [AHB_LITE_DATA_WIDTH-1:0] hrdata_o_1,

Comment on lines +66 to +76
input logic hresp_i,
input logic [AHB_LITE_DATA_WIDTH-1:0] hrdata_i,
input logic hreadyout_i,

output logic [AHB_LITE_ADDR_WIDTH-1:0] haddr_o,
output logic [AHB_LITE_DATA_WIDTH-1:0] hwdata_o,
output logic hsel_o,
output logic hwrite_o,
output logic hready_o,
output logic [1:0] htrans_o,
output logic [2:0] hsize_o

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
input logic hresp_i,
input logic [AHB_LITE_DATA_WIDTH-1:0] hrdata_i,
input logic hreadyout_i,
output logic [AHB_LITE_ADDR_WIDTH-1:0] haddr_o,
output logic [AHB_LITE_DATA_WIDTH-1:0] hwdata_o,
output logic hsel_o,
output logic hwrite_o,
output logic hready_o,
output logic [1:0] htrans_o,
output logic [2:0] hsize_o
input logic hresp_i,
input logic [AHB_LITE_DATA_WIDTH-1:0] hrdata_i,
input logic hreadyout_i,
output logic [AHB_LITE_ADDR_WIDTH-1:0] haddr_o,
output logic [AHB_LITE_DATA_WIDTH-1:0] hwdata_o,
output logic hsel_o,
output logic hwrite_o,
output logic hready_o,
output logic [ 1:0] htrans_o,
output logic [ 2:0] hsize_o

Comment on lines +206 to +210
arready <= 0;
rvalid <= 1;
rid <= arid;
rlast <= 1;
rresp <= 0;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
arready <= 0;
rvalid <= 1;
rid <= arid;
rlast <= 1;
rresp <= 0;
arready <= 0;
rvalid <= 1;
rid <= arid;
rlast <= 1;
rresp <= 0;

Comment on lines +212 to +214
rvalid <= 0;
arready <= 1;
rlast <= 0;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
rvalid <= 0;
arready <= 1;
rlast <= 0;
rvalid <= 0;
arready <= 1;
rlast <= 0;

Comment on lines +218 to +219
write_address = awaddr;
awready <= 0;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
write_address = awaddr;
awready <= 0;
write_address = awaddr;
awready <= 0;

Comment on lines +221 to +225
if (wvalid) begin
bid <= awid;
bvalid <= 1;
wready <= 0;
bresp <= 0;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
if (wvalid) begin
bid <= awid;
bvalid <= 1;
wready <= 0;
bresp <= 0;
if (wvalid) begin
bid <= awid;
bvalid <= 1;
wready <= 0;
bresp <= 0;

Comment on lines +234 to +238
end if (bready && bvalid) begin
bvalid <= 0;
awready <= 1;
wready <= 1;
end

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
end if (bready && bvalid) begin
bvalid <= 0;
awready <= 1;
wready <= 1;
end
end
if (bready && bvalid) begin
bvalid <= 0;
awready <= 1;
wready <= 1;
end

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit

verible-verilog-format

testbench/axi4_mux/axi_crossbar.v|345|
testbench/axi4_mux/axi_crossbar.v|365|
testbench/axi4_mux/axi_crossbar.v|368|
testbench/axi4_mux/axi_crossbar_addr.v|28|
testbench/axi4_mux/axi_crossbar_addr.v|35|
testbench/axi4_mux/axi_crossbar_addr.v|68|
testbench/axi4_mux/axi_crossbar_addr.v|76|
testbench/axi4_mux/axi_crossbar_addr.v|86|
testbench/axi4_mux/axi_crossbar_addr.v|102|
testbench/axi4_mux/axi_crossbar_addr.v|109|
testbench/axi4_mux/axi_crossbar_addr.v|113|
testbench/axi4_mux/axi_crossbar_addr.v|116|
testbench/axi4_mux/axi_crossbar_addr.v|120|
testbench/axi4_mux/axi_crossbar_addr.v|128|
testbench/axi4_mux/axi_crossbar_addr.v|142 col 1|
testbench/axi4_mux/axi_crossbar_addr.v|143|
testbench/axi4_mux/axi_crossbar_addr.v|145|
testbench/axi4_mux/axi_crossbar_addr.v|147|
testbench/axi4_mux/axi_crossbar_addr.v|149|
testbench/axi4_mux/axi_crossbar_addr.v|152|
testbench/axi4_mux/axi_crossbar_addr.v|157|
testbench/axi4_mux/axi_crossbar_addr.v|162|
testbench/axi4_mux/axi_crossbar_addr.v|166|
testbench/axi4_mux/axi_crossbar_addr.v|170|
testbench/axi4_mux/axi_crossbar_addr.v|178|
testbench/axi4_mux/axi_crossbar_addr.v|190|
testbench/axi4_mux/axi_crossbar_addr.v|205|
testbench/axi4_mux/axi_crossbar_addr.v|210|
testbench/axi4_mux/axi_crossbar_addr.v|230 col 1|
testbench/axi4_mux/axi_crossbar_addr.v|231|
testbench/axi4_mux/axi_crossbar_addr.v|233|
testbench/axi4_mux/axi_crossbar_addr.v|237|
testbench/axi4_mux/axi_crossbar_addr.v|239|
testbench/axi4_mux/axi_crossbar_addr.v|241|
testbench/axi4_mux/axi_crossbar_addr.v|248|
testbench/axi4_mux/axi_crossbar_addr.v|250|
testbench/axi4_mux/axi_crossbar_addr.v|254|
testbench/axi4_mux/axi_crossbar_addr.v|258|
testbench/axi4_mux/axi_crossbar_addr.v|261|
testbench/axi4_mux/axi_crossbar_addr.v|265|
testbench/axi4_mux/axi_crossbar_addr.v|268|
testbench/axi4_mux/axi_crossbar_addr.v|274|
testbench/axi4_mux/axi_crossbar_addr.v|281|
testbench/axi4_mux/axi_crossbar_addr.v|285|
testbench/axi4_mux/axi_crossbar_addr.v|289|
testbench/axi4_mux/axi_crossbar_addr.v|313 col 1|
testbench/axi4_mux/axi_crossbar_addr.v|314|
testbench/axi4_mux/axi_crossbar_addr.v|316|
testbench/axi4_mux/axi_crossbar_addr.v|333|
testbench/axi4_mux/axi_crossbar_addr.v|374|
testbench/axi4_mux/axi_crossbar_addr.v|380|
testbench/axi4_mux/axi_crossbar_addr.v|382 col 1|
testbench/axi4_mux/axi_crossbar_addr.v|383 col 1|
testbench/axi4_mux/axi_crossbar_addr.v|387|
testbench/axi4_mux/axi_crossbar_addr.v|389|
testbench/axi4_mux/axi_crossbar_addr.v|391|
testbench/axi4_mux/axi_crossbar_addr.v|397|
testbench/axi4_mux/axi_crossbar_addr.v|399|
testbench/axi4_mux/axi_crossbar_addr.v|415|
testbench/axi4_mux/axi_crossbar_rd.v|28|
testbench/axi4_mux/axi_crossbar_rd.v|35|
testbench/axi4_mux/axi_crossbar_rd.v|46|
testbench/axi4_mux/axi_crossbar_rd.v|51|
testbench/axi4_mux/axi_crossbar_rd.v|96|
testbench/axi4_mux/axi_crossbar_rd.v|104|
testbench/axi4_mux/axi_crossbar_rd.v|127|
testbench/axi4_mux/axi_crossbar_rd.v|149|
testbench/axi4_mux/axi_crossbar_rd.v|154|
testbench/axi4_mux/axi_crossbar_rd.v|156|
testbench/axi4_mux/axi_crossbar_rd.v|163|
testbench/axi4_mux/axi_crossbar_rd.v|169|
testbench/axi4_mux/axi_crossbar_rd.v|204|
testbench/axi4_mux/axi_crossbar_rd.v|239|
testbench/axi4_mux/axi_crossbar_rd.v|249|
testbench/axi4_mux/axi_crossbar_rd.v|254|
testbench/axi4_mux/axi_crossbar_rd.v|257|
testbench/axi4_mux/axi_crossbar_rd.v|262|
testbench/axi4_mux/axi_crossbar_rd.v|265|
testbench/axi4_mux/axi_crossbar_rd.v|269|
testbench/axi4_mux/axi_crossbar_rd.v|272|
testbench/axi4_mux/axi_crossbar_rd.v|317|
testbench/axi4_mux/axi_crossbar_rd.v|319|
testbench/axi4_mux/axi_crossbar_rd.v|324 col 1|
testbench/axi4_mux/axi_crossbar_rd.v|325|
testbench/axi4_mux/axi_crossbar_rd.v|366|
testbench/axi4_mux/axi_crossbar_rd.v|432|
testbench/axi4_mux/axi_crossbar_rd.v|450|
testbench/axi4_mux/axi_crossbar_wr.v|28|
testbench/axi4_mux/axi_crossbar_wr.v|35|
testbench/axi4_mux/axi_crossbar_wr.v|46|
testbench/axi4_mux/axi_crossbar_wr.v|51|
testbench/axi4_mux/axi_crossbar_wr.v|106|
testbench/axi4_mux/axi_crossbar_wr.v|114|
testbench/axi4_mux/axi_crossbar_wr.v|141|
testbench/axi4_mux/axi_crossbar_wr.v|167|
testbench/axi4_mux/axi_crossbar_wr.v|172|
testbench/axi4_mux/axi_crossbar_wr.v|174|
testbench/axi4_mux/axi_crossbar_wr.v|181|
testbench/axi4_mux/axi_crossbar_wr.v|187|
testbench/axi4_mux/axi_crossbar_wr.v|230|
testbench/axi4_mux/axi_crossbar_wr.v|270|
testbench/axi4_mux/axi_crossbar_wr.v|280|
testbench/axi4_mux/axi_crossbar_wr.v|285|
testbench/axi4_mux/axi_crossbar_wr.v|288|
testbench/axi4_mux/axi_crossbar_wr.v|293|
testbench/axi4_mux/axi_crossbar_wr.v|296|
testbench/axi4_mux/axi_crossbar_wr.v|300|
testbench/axi4_mux/axi_crossbar_wr.v|303|
testbench/axi4_mux/axi_crossbar_wr.v|329|
testbench/axi4_mux/axi_crossbar_wr.v|336|
testbench/axi4_mux/axi_crossbar_wr.v|340|
testbench/axi4_mux/axi_crossbar_wr.v|365|
testbench/axi4_mux/axi_crossbar_wr.v|372|
testbench/axi4_mux/axi_crossbar_wr.v|374 col 1|
testbench/axi4_mux/axi_crossbar_wr.v|375|
testbench/axi4_mux/axi_crossbar_wr.v|414|
testbench/axi4_mux/axi_crossbar_wr.v|490|
testbench/axi4_mux/axi_crossbar_wr.v|510|
testbench/axi4_mux/axi_crossbar_wr.v|559 col 1|
testbench/axi4_mux/axi_crossbar_wr.v|560|
testbench/axi4_mux/axi_crossbar_wr.v|585|
testbench/axi4_mux/axi_crossbar_wr.v|594|
testbench/axi4_mux/axi_crossbar_wr.v|597|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|28|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|35|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|42|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|47|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|139|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|147|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|190|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|236|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|282|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|285|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|288|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|290|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|292|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|294|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|296|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|298|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|300|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|302|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|304|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|306|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|308|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|310|
testbench/axi4_mux/axi_register_rd.v|28|
testbench/axi4_mux/axi_register_rd.v|35|
testbench/axi4_mux/axi_register_rd.v|42|
testbench/axi4_mux/axi_register_rd.v|59|
testbench/axi4_mux/axi_register_rd.v|67|
testbench/axi4_mux/axi_register_rd.v|91|
testbench/axi4_mux/axi_register_rd.v|113|
testbench/axi4_mux/axi_register_rd.v|187|
testbench/axi4_mux/axi_register_rd.v|191 col 1|
testbench/axi4_mux/axi_register_rd.v|192|
testbench/axi4_mux/axi_register_rd.v|200|
testbench/axi4_mux/axi_register_rd.v|211|
testbench/axi4_mux/axi_register_rd.v|238|
testbench/axi4_mux/axi_register_rd.v|307|
testbench/axi4_mux/axi_register_rd.v|312|
testbench/axi4_mux/axi_register_rd.v|316|
testbench/axi4_mux/axi_register_rd.v|330|
testbench/axi4_mux/axi_register_rd.v|405|
testbench/axi4_mux/axi_register_rd.v|409 col 1|
testbench/axi4_mux/axi_register_rd.v|410|
testbench/axi4_mux/axi_register_rd.v|418|
testbench/axi4_mux/axi_register_rd.v|429|
testbench/axi4_mux/axi_register_rd.v|444|
testbench/axi4_mux/axi_register_rd.v|453|
testbench/axi4_mux/axi_register_rd.v|456|
testbench/axi4_mux/axi_register_rd.v|459|
testbench/axi4_mux/axi_register_rd.v|466|
testbench/axi4_mux/axi_register_rd.v|469|
testbench/axi4_mux/axi_register_rd.v|471|
testbench/axi4_mux/axi_register_rd.v|478|
testbench/axi4_mux/axi_register_rd.v|481|
testbench/axi4_mux/axi_register_rd.v|485|
testbench/axi4_mux/axi_register_rd.v|487|
testbench/axi4_mux/axi_register_rd.v|495|
testbench/axi4_mux/axi_register_rd.v|504|
testbench/axi4_mux/axi_register_rd.v|514|
testbench/axi4_mux/axi_register_rd.v|516|
testbench/axi4_mux/axi_register_rd.v|525|
testbench/axi4_mux/axi_register_rd.v|527|
testbench/axi4_mux/axi_register_wr.v|28|
testbench/axi4_mux/axi_register_wr.v|35|
testbench/axi4_mux/axi_register_wr.v|42|
testbench/axi4_mux/axi_register_wr.v|66|
testbench/axi4_mux/axi_register_wr.v|74|
testbench/axi4_mux/axi_register_wr.v|102|
testbench/axi4_mux/axi_register_wr.v|128|
testbench/axi4_mux/axi_register_wr.v|202|
testbench/axi4_mux/axi_register_wr.v|206 col 1|
testbench/axi4_mux/axi_register_wr.v|207|
testbench/axi4_mux/axi_register_wr.v|215|
testbench/axi4_mux/axi_register_wr.v|226|
testbench/axi4_mux/axi_register_wr.v|253|
testbench/axi4_mux/axi_register_wr.v|322|
testbench/axi4_mux/axi_register_wr.v|327|
testbench/axi4_mux/axi_register_wr.v|331|
testbench/axi4_mux/axi_register_wr.v|345|
testbench/axi4_mux/axi_register_wr.v|417|
testbench/axi4_mux/axi_register_wr.v|421 col 1|
testbench/axi4_mux/axi_register_wr.v|422|
testbench/axi4_mux/axi_register_wr.v|430|
testbench/axi4_mux/axi_register_wr.v|441|
testbench/axi4_mux/axi_register_wr.v|454|
testbench/axi4_mux/axi_register_wr.v|462|
testbench/axi4_mux/axi_register_wr.v|465|
testbench/axi4_mux/axi_register_wr.v|468|
testbench/axi4_mux/axi_register_wr.v|474|
testbench/axi4_mux/axi_register_wr.v|477|
testbench/axi4_mux/axi_register_wr.v|479|
testbench/axi4_mux/axi_register_wr.v|485|
testbench/axi4_mux/axi_register_wr.v|488|
testbench/axi4_mux/axi_register_wr.v|492|
testbench/axi4_mux/axi_register_wr.v|494|
testbench/axi4_mux/axi_register_wr.v|502|
testbench/axi4_mux/axi_register_wr.v|511|
testbench/axi4_mux/axi_register_wr.v|520|
testbench/axi4_mux/axi_register_wr.v|522|
testbench/axi4_mux/axi_register_wr.v|530|
testbench/axi4_mux/axi_register_wr.v|532|
testbench/axi4_mux/axi_register_wr.v|534|
testbench/axi4_mux/axi_register_wr.v|537|
testbench/axi4_mux/axi_register_wr.v|540|
testbench/axi4_mux/axi_register_wr.v|545|
testbench/axi4_mux/axi_register_wr.v|550|
testbench/axi4_mux/axi_register_wr.v|555|
testbench/axi4_mux/axi_register_wr.v|557|
testbench/axi4_mux/axi_register_wr.v|562|
testbench/axi4_mux/axi_register_wr.v|565|
testbench/axi4_mux/axi_register_wr.v|570|
testbench/axi4_mux/axi_register_wr.v|574|
testbench/axi4_mux/axi_register_wr.v|580|
testbench/axi4_mux/axi_register_wr.v|584 col 1|
testbench/axi4_mux/axi_register_wr.v|585|
testbench/axi4_mux/axi_register_wr.v|593|
testbench/axi4_mux/axi_register_wr.v|604|
testbench/axi4_mux/axi_register_wr.v|615|
testbench/axi4_mux/axi_register_wr.v|622|
testbench/axi4_mux/axi_register_wr.v|625|
testbench/axi4_mux/axi_register_wr.v|628|
testbench/axi4_mux/axi_register_wr.v|633|
testbench/axi4_mux/axi_register_wr.v|636|
testbench/axi4_mux/axi_register_wr.v|638|
testbench/axi4_mux/axi_register_wr.v|643|
testbench/axi4_mux/axi_register_wr.v|646|
testbench/axi4_mux/axi_register_wr.v|650|
testbench/axi4_mux/axi_register_wr.v|652|
testbench/axi4_mux/axi_register_wr.v|660|
testbench/axi4_mux/axi_register_wr.v|669|
testbench/axi4_mux/axi_register_wr.v|677|
testbench/axi4_mux/axi_register_wr.v|679|
testbench/axi4_mux/axi_register_wr.v|686|
testbench/axi4_mux/axi_register_wr.v|688|
testbench/axi4_mux/priority_encoder.v|28|
testbench/axi4_mux/priority_encoder.v|35|
testbench/axi4_mux/priority_encoder.v|40|
testbench/axi4_mux/priority_encoder.v|45|
testbench/axi4_mux/priority_encoder.v|48|
testbench/axi4_mux/priority_encoder.v|51|
testbench/axi4_mux/priority_encoder.v|54|
testbench/axi4_mux/priority_encoder.v|57|
testbench/axi4_mux/priority_encoder.v|61|
testbench/axi4_mux/priority_encoder.v|74|
testbench/axi4_mux/priority_encoder.v|84 col 1|
testbench/axi4_mux/priority_encoder.v|85|
testbench/axi4_mux/priority_encoder.v|87|
testbench/jtagdpi/jtagdpi.sv|7|
testbench/jtagdpi/jtagdpi.sv|21|
testbench/jtagdpi/jtagdpi.sv|24|
testbench/jtagdpi/jtagdpi.sv|29|
testbench/jtagdpi/jtagdpi.sv|44|

Comment on lines +28 to +30
`resetall
`timescale 1ns / 1ps
`default_nettype none

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
`resetall
`timescale 1ns / 1ps
`default_nettype none
`resetall `timescale 1ns / 1ps `default_nettype none

Comment on lines +35 to +36
module arbiter #
(

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
module arbiter #
(
module arbiter #(

Comment on lines +46 to +49
)
(
input wire clk,
input wire rst,

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
)
(
input wire clk,
input wire rst,
) (
input wire clk,
input wire rst,

Comment on lines +51 to +52
input wire [PORTS-1:0] request,
input wire [PORTS-1:0] acknowledge,

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
input wire [PORTS-1:0] request,
input wire [PORTS-1:0] acknowledge,
input wire [PORTS-1:0] request,
input wire [PORTS-1:0] acknowledge,

input wire [PORTS-1:0] request,
input wire [PORTS-1:0] acknowledge,

output wire [PORTS-1:0] grant,

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
output wire [PORTS-1:0] grant,
output wire [ PORTS-1:0] grant,

Comment on lines +262 to +284
.s_axi_awid(s_axi_awid),
.s_axi_awaddr(s_axi_awaddr),
.s_axi_awlen(s_axi_awlen),
.s_axi_awsize(s_axi_awsize),
.s_axi_awburst(s_axi_awburst),
.s_axi_awlock(s_axi_awlock),
.s_axi_awcache(s_axi_awcache),
.s_axi_awprot(s_axi_awprot),
.s_axi_awqos(s_axi_awqos),
.s_axi_awuser(s_axi_awuser),
.s_axi_awvalid(s_axi_awvalid),
.s_axi_awready(s_axi_awready),
.s_axi_wdata(s_axi_wdata),
.s_axi_wstrb(s_axi_wstrb),
.s_axi_wlast(s_axi_wlast),
.s_axi_wuser(s_axi_wuser),
.s_axi_wvalid(s_axi_wvalid),
.s_axi_wready(s_axi_wready),
.s_axi_bid(s_axi_bid),
.s_axi_bresp(s_axi_bresp),
.s_axi_buser(s_axi_buser),
.s_axi_bvalid(s_axi_bvalid),
.s_axi_bready(s_axi_bready),

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
.s_axi_awid(s_axi_awid),
.s_axi_awaddr(s_axi_awaddr),
.s_axi_awlen(s_axi_awlen),
.s_axi_awsize(s_axi_awsize),
.s_axi_awburst(s_axi_awburst),
.s_axi_awlock(s_axi_awlock),
.s_axi_awcache(s_axi_awcache),
.s_axi_awprot(s_axi_awprot),
.s_axi_awqos(s_axi_awqos),
.s_axi_awuser(s_axi_awuser),
.s_axi_awvalid(s_axi_awvalid),
.s_axi_awready(s_axi_awready),
.s_axi_wdata(s_axi_wdata),
.s_axi_wstrb(s_axi_wstrb),
.s_axi_wlast(s_axi_wlast),
.s_axi_wuser(s_axi_wuser),
.s_axi_wvalid(s_axi_wvalid),
.s_axi_wready(s_axi_wready),
.s_axi_bid(s_axi_bid),
.s_axi_bresp(s_axi_bresp),
.s_axi_buser(s_axi_buser),
.s_axi_bvalid(s_axi_bvalid),
.s_axi_bready(s_axi_bready),
.s_axi_awid(s_axi_awid),
.s_axi_awaddr(s_axi_awaddr),
.s_axi_awlen(s_axi_awlen),
.s_axi_awsize(s_axi_awsize),
.s_axi_awburst(s_axi_awburst),
.s_axi_awlock(s_axi_awlock),
.s_axi_awcache(s_axi_awcache),
.s_axi_awprot(s_axi_awprot),
.s_axi_awqos(s_axi_awqos),
.s_axi_awuser(s_axi_awuser),
.s_axi_awvalid(s_axi_awvalid),
.s_axi_awready(s_axi_awready),
.s_axi_wdata(s_axi_wdata),
.s_axi_wstrb(s_axi_wstrb),
.s_axi_wlast(s_axi_wlast),
.s_axi_wuser(s_axi_wuser),
.s_axi_wvalid(s_axi_wvalid),
.s_axi_wready(s_axi_wready),
.s_axi_bid(s_axi_bid),
.s_axi_bresp(s_axi_bresp),
.s_axi_buser(s_axi_buser),
.s_axi_bvalid(s_axi_bvalid),
.s_axi_bready(s_axi_bready),

.s_axi_bvalid(s_axi_bvalid),
.s_axi_bready(s_axi_bready),

/*

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
/*
/*

Comment on lines +289 to +313
.m_axi_awid(m_axi_awid),
.m_axi_awaddr(m_axi_awaddr),
.m_axi_awlen(m_axi_awlen),
.m_axi_awsize(m_axi_awsize),
.m_axi_awburst(m_axi_awburst),
.m_axi_awlock(m_axi_awlock),
.m_axi_awcache(m_axi_awcache),
.m_axi_awprot(m_axi_awprot),
.m_axi_awqos(m_axi_awqos),
.m_axi_awregion(m_axi_awregion),
.m_axi_awuser(m_axi_awuser),
.m_axi_awvalid(m_axi_awvalid),
.m_axi_awready(m_axi_awready),
.m_axi_wdata(m_axi_wdata),
.m_axi_wstrb(m_axi_wstrb),
.m_axi_wlast(m_axi_wlast),
.m_axi_wuser(m_axi_wuser),
.m_axi_wvalid(m_axi_wvalid),
.m_axi_wready(m_axi_wready),
.m_axi_bid(m_axi_bid),
.m_axi_bresp(m_axi_bresp),
.m_axi_buser(m_axi_buser),
.m_axi_bvalid(m_axi_bvalid),
.m_axi_bready(m_axi_bready)
);

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
.m_axi_awid(m_axi_awid),
.m_axi_awaddr(m_axi_awaddr),
.m_axi_awlen(m_axi_awlen),
.m_axi_awsize(m_axi_awsize),
.m_axi_awburst(m_axi_awburst),
.m_axi_awlock(m_axi_awlock),
.m_axi_awcache(m_axi_awcache),
.m_axi_awprot(m_axi_awprot),
.m_axi_awqos(m_axi_awqos),
.m_axi_awregion(m_axi_awregion),
.m_axi_awuser(m_axi_awuser),
.m_axi_awvalid(m_axi_awvalid),
.m_axi_awready(m_axi_awready),
.m_axi_wdata(m_axi_wdata),
.m_axi_wstrb(m_axi_wstrb),
.m_axi_wlast(m_axi_wlast),
.m_axi_wuser(m_axi_wuser),
.m_axi_wvalid(m_axi_wvalid),
.m_axi_wready(m_axi_wready),
.m_axi_bid(m_axi_bid),
.m_axi_bresp(m_axi_bresp),
.m_axi_buser(m_axi_buser),
.m_axi_bvalid(m_axi_bvalid),
.m_axi_bready(m_axi_bready)
);
.m_axi_awid(m_axi_awid),
.m_axi_awaddr(m_axi_awaddr),
.m_axi_awlen(m_axi_awlen),
.m_axi_awsize(m_axi_awsize),
.m_axi_awburst(m_axi_awburst),
.m_axi_awlock(m_axi_awlock),
.m_axi_awcache(m_axi_awcache),
.m_axi_awprot(m_axi_awprot),
.m_axi_awqos(m_axi_awqos),
.m_axi_awregion(m_axi_awregion),
.m_axi_awuser(m_axi_awuser),
.m_axi_awvalid(m_axi_awvalid),
.m_axi_awready(m_axi_awready),
.m_axi_wdata(m_axi_wdata),
.m_axi_wstrb(m_axi_wstrb),
.m_axi_wlast(m_axi_wlast),
.m_axi_wuser(m_axi_wuser),
.m_axi_wvalid(m_axi_wvalid),
.m_axi_wready(m_axi_wready),
.m_axi_bid(m_axi_bid),
.m_axi_bresp(m_axi_bresp),
.m_axi_buser(m_axi_buser),
.m_axi_bvalid(m_axi_bvalid),
.m_axi_bready(m_axi_bready)
);

Comment on lines +315 to +340
axi_crossbar_rd #(
.S_COUNT(S_COUNT),
.M_COUNT(M_COUNT),
.DATA_WIDTH(DATA_WIDTH),
.ADDR_WIDTH(ADDR_WIDTH),
.STRB_WIDTH(STRB_WIDTH),
.S_ID_WIDTH(S_ID_WIDTH),
.M_ID_WIDTH(M_ID_WIDTH),
.ARUSER_ENABLE(ARUSER_ENABLE),
.ARUSER_WIDTH(ARUSER_WIDTH),
.RUSER_ENABLE(RUSER_ENABLE),
.RUSER_WIDTH(RUSER_WIDTH),
.S_THREADS(S_THREADS),
.S_ACCEPT(S_ACCEPT),
.M_REGIONS(M_REGIONS),
.M_BASE_ADDR(M_BASE_ADDR),
.M_ADDR_WIDTH(M_ADDR_WIDTH),
.M_CONNECT(M_CONNECT_READ),
.M_ISSUE(M_ISSUE),
.M_SECURE(M_SECURE),
.S_AR_REG_TYPE(S_AR_REG_TYPE),
.S_R_REG_TYPE (S_R_REG_TYPE)
)
axi_crossbar_rd_inst (
.clk(clk),
.rst(rst),

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
axi_crossbar_rd #(
.S_COUNT(S_COUNT),
.M_COUNT(M_COUNT),
.DATA_WIDTH(DATA_WIDTH),
.ADDR_WIDTH(ADDR_WIDTH),
.STRB_WIDTH(STRB_WIDTH),
.S_ID_WIDTH(S_ID_WIDTH),
.M_ID_WIDTH(M_ID_WIDTH),
.ARUSER_ENABLE(ARUSER_ENABLE),
.ARUSER_WIDTH(ARUSER_WIDTH),
.RUSER_ENABLE(RUSER_ENABLE),
.RUSER_WIDTH(RUSER_WIDTH),
.S_THREADS(S_THREADS),
.S_ACCEPT(S_ACCEPT),
.M_REGIONS(M_REGIONS),
.M_BASE_ADDR(M_BASE_ADDR),
.M_ADDR_WIDTH(M_ADDR_WIDTH),
.M_CONNECT(M_CONNECT_READ),
.M_ISSUE(M_ISSUE),
.M_SECURE(M_SECURE),
.S_AR_REG_TYPE(S_AR_REG_TYPE),
.S_R_REG_TYPE (S_R_REG_TYPE)
)
axi_crossbar_rd_inst (
.clk(clk),
.rst(rst),
axi_crossbar_rd #(
.S_COUNT(S_COUNT),
.M_COUNT(M_COUNT),
.DATA_WIDTH(DATA_WIDTH),
.ADDR_WIDTH(ADDR_WIDTH),
.STRB_WIDTH(STRB_WIDTH),
.S_ID_WIDTH(S_ID_WIDTH),
.M_ID_WIDTH(M_ID_WIDTH),
.ARUSER_ENABLE(ARUSER_ENABLE),
.ARUSER_WIDTH(ARUSER_WIDTH),
.RUSER_ENABLE(RUSER_ENABLE),
.RUSER_WIDTH(RUSER_WIDTH),
.S_THREADS(S_THREADS),
.S_ACCEPT(S_ACCEPT),
.M_REGIONS(M_REGIONS),
.M_BASE_ADDR(M_BASE_ADDR),
.M_ADDR_WIDTH(M_ADDR_WIDTH),
.M_CONNECT(M_CONNECT_READ),
.M_ISSUE(M_ISSUE),
.M_SECURE(M_SECURE),
.S_AR_REG_TYPE(S_AR_REG_TYPE),
.S_R_REG_TYPE(S_R_REG_TYPE)
) axi_crossbar_rd_inst (
.clk(clk),
.rst(rst),

.clk(clk),
.rst(rst),

/*

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
/*
/*

@RRozak RRozak force-pushed the rrozak/60812-openocd-tests branch from e0dbacc to 454f217 Compare July 16, 2024 12:53
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit

verible-verilog-format

testbench/axi4_mux/axi_crossbar_addr.v|233|
testbench/axi4_mux/axi_crossbar_addr.v|237|
testbench/axi4_mux/axi_crossbar_addr.v|239|
testbench/axi4_mux/axi_crossbar_addr.v|241|
testbench/axi4_mux/axi_crossbar_addr.v|248|
testbench/axi4_mux/axi_crossbar_addr.v|250|
testbench/axi4_mux/axi_crossbar_addr.v|254|
testbench/axi4_mux/axi_crossbar_addr.v|258|
testbench/axi4_mux/axi_crossbar_addr.v|261|
testbench/axi4_mux/axi_crossbar_addr.v|265|
testbench/axi4_mux/axi_crossbar_addr.v|268|
testbench/axi4_mux/axi_crossbar_addr.v|274|
testbench/axi4_mux/axi_crossbar_addr.v|281|
testbench/axi4_mux/axi_crossbar_addr.v|285|
testbench/axi4_mux/axi_crossbar_addr.v|289|
testbench/axi4_mux/axi_crossbar_addr.v|313 col 1|
testbench/axi4_mux/axi_crossbar_addr.v|314|
testbench/axi4_mux/axi_crossbar_addr.v|316|
testbench/axi4_mux/axi_crossbar_addr.v|333|
testbench/axi4_mux/axi_crossbar_addr.v|374|
testbench/axi4_mux/axi_crossbar_addr.v|380|
testbench/axi4_mux/axi_crossbar_addr.v|382 col 1|
testbench/axi4_mux/axi_crossbar_addr.v|383 col 1|
testbench/axi4_mux/axi_crossbar_addr.v|387|
testbench/axi4_mux/axi_crossbar_addr.v|389|
testbench/axi4_mux/axi_crossbar_addr.v|391|
testbench/axi4_mux/axi_crossbar_addr.v|397|
testbench/axi4_mux/axi_crossbar_addr.v|399|
testbench/axi4_mux/axi_crossbar_addr.v|415|
testbench/axi4_mux/axi_crossbar_rd.v|28|
testbench/axi4_mux/axi_crossbar_rd.v|35|
testbench/axi4_mux/axi_crossbar_rd.v|46|
testbench/axi4_mux/axi_crossbar_rd.v|51|
testbench/axi4_mux/axi_crossbar_rd.v|96|
testbench/axi4_mux/axi_crossbar_rd.v|104|
testbench/axi4_mux/axi_crossbar_rd.v|127|
testbench/axi4_mux/axi_crossbar_rd.v|149|
testbench/axi4_mux/axi_crossbar_rd.v|154|
testbench/axi4_mux/axi_crossbar_rd.v|156|
testbench/axi4_mux/axi_crossbar_rd.v|163|
testbench/axi4_mux/axi_crossbar_rd.v|169|
testbench/axi4_mux/axi_crossbar_rd.v|204|
testbench/axi4_mux/axi_crossbar_rd.v|239|
testbench/axi4_mux/axi_crossbar_rd.v|249|
testbench/axi4_mux/axi_crossbar_rd.v|254|
testbench/axi4_mux/axi_crossbar_rd.v|257|
testbench/axi4_mux/axi_crossbar_rd.v|262|
testbench/axi4_mux/axi_crossbar_rd.v|265|
testbench/axi4_mux/axi_crossbar_rd.v|269|
testbench/axi4_mux/axi_crossbar_rd.v|272|
testbench/axi4_mux/axi_crossbar_rd.v|317|
testbench/axi4_mux/axi_crossbar_rd.v|319|
testbench/axi4_mux/axi_crossbar_rd.v|324 col 1|
testbench/axi4_mux/axi_crossbar_rd.v|325|
testbench/axi4_mux/axi_crossbar_rd.v|366|
testbench/axi4_mux/axi_crossbar_rd.v|432|
testbench/axi4_mux/axi_crossbar_rd.v|450|
testbench/axi4_mux/axi_crossbar_wr.v|28|
testbench/axi4_mux/axi_crossbar_wr.v|35|
testbench/axi4_mux/axi_crossbar_wr.v|46|
testbench/axi4_mux/axi_crossbar_wr.v|51|
testbench/axi4_mux/axi_crossbar_wr.v|106|
testbench/axi4_mux/axi_crossbar_wr.v|114|
testbench/axi4_mux/axi_crossbar_wr.v|141|
testbench/axi4_mux/axi_crossbar_wr.v|167|
testbench/axi4_mux/axi_crossbar_wr.v|172|
testbench/axi4_mux/axi_crossbar_wr.v|174|
testbench/axi4_mux/axi_crossbar_wr.v|181|
testbench/axi4_mux/axi_crossbar_wr.v|187|
testbench/axi4_mux/axi_crossbar_wr.v|230|
testbench/axi4_mux/axi_crossbar_wr.v|270|
testbench/axi4_mux/axi_crossbar_wr.v|280|
testbench/axi4_mux/axi_crossbar_wr.v|285|
testbench/axi4_mux/axi_crossbar_wr.v|288|
testbench/axi4_mux/axi_crossbar_wr.v|293|
testbench/axi4_mux/axi_crossbar_wr.v|296|
testbench/axi4_mux/axi_crossbar_wr.v|300|
testbench/axi4_mux/axi_crossbar_wr.v|303|
testbench/axi4_mux/axi_crossbar_wr.v|329|
testbench/axi4_mux/axi_crossbar_wr.v|336|
testbench/axi4_mux/axi_crossbar_wr.v|340|
testbench/axi4_mux/axi_crossbar_wr.v|365|
testbench/axi4_mux/axi_crossbar_wr.v|372|
testbench/axi4_mux/axi_crossbar_wr.v|374 col 1|
testbench/axi4_mux/axi_crossbar_wr.v|375|
testbench/axi4_mux/axi_crossbar_wr.v|414|
testbench/axi4_mux/axi_crossbar_wr.v|490|
testbench/axi4_mux/axi_crossbar_wr.v|510|
testbench/axi4_mux/axi_crossbar_wr.v|559 col 1|
testbench/axi4_mux/axi_crossbar_wr.v|560|
testbench/axi4_mux/axi_crossbar_wr.v|585|
testbench/axi4_mux/axi_crossbar_wr.v|594|
testbench/axi4_mux/axi_crossbar_wr.v|597|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|28|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|35|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|42|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|47|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|139|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|147|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|190|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|236|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|282|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|285|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|288|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|290|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|292|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|294|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|296|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|298|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|300|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|302|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|304|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|306|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|308|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|310|
testbench/axi4_mux/axi_register_rd.v|28|
testbench/axi4_mux/axi_register_rd.v|35|
testbench/axi4_mux/axi_register_rd.v|42|
testbench/axi4_mux/axi_register_rd.v|59|
testbench/axi4_mux/axi_register_rd.v|67|
testbench/axi4_mux/axi_register_rd.v|91|
testbench/axi4_mux/axi_register_rd.v|113|
testbench/axi4_mux/axi_register_rd.v|187|
testbench/axi4_mux/axi_register_rd.v|191 col 1|
testbench/axi4_mux/axi_register_rd.v|192|
testbench/axi4_mux/axi_register_rd.v|200|
testbench/axi4_mux/axi_register_rd.v|211|
testbench/axi4_mux/axi_register_rd.v|238|
testbench/axi4_mux/axi_register_rd.v|307|
testbench/axi4_mux/axi_register_rd.v|312|
testbench/axi4_mux/axi_register_rd.v|316|
testbench/axi4_mux/axi_register_rd.v|330|
testbench/axi4_mux/axi_register_rd.v|405|
testbench/axi4_mux/axi_register_rd.v|409 col 1|
testbench/axi4_mux/axi_register_rd.v|410|
testbench/axi4_mux/axi_register_rd.v|418|
testbench/axi4_mux/axi_register_rd.v|429|
testbench/axi4_mux/axi_register_rd.v|444|
testbench/axi4_mux/axi_register_rd.v|453|
testbench/axi4_mux/axi_register_rd.v|456|
testbench/axi4_mux/axi_register_rd.v|459|
testbench/axi4_mux/axi_register_rd.v|466|
testbench/axi4_mux/axi_register_rd.v|469|
testbench/axi4_mux/axi_register_rd.v|471|
testbench/axi4_mux/axi_register_rd.v|478|
testbench/axi4_mux/axi_register_rd.v|481|
testbench/axi4_mux/axi_register_rd.v|485|
testbench/axi4_mux/axi_register_rd.v|487|
testbench/axi4_mux/axi_register_rd.v|495|
testbench/axi4_mux/axi_register_rd.v|504|
testbench/axi4_mux/axi_register_rd.v|514|
testbench/axi4_mux/axi_register_rd.v|516|
testbench/axi4_mux/axi_register_rd.v|525|
testbench/axi4_mux/axi_register_rd.v|527|
testbench/axi4_mux/axi_register_wr.v|28|
testbench/axi4_mux/axi_register_wr.v|35|
testbench/axi4_mux/axi_register_wr.v|42|
testbench/axi4_mux/axi_register_wr.v|66|
testbench/axi4_mux/axi_register_wr.v|74|
testbench/axi4_mux/axi_register_wr.v|102|
testbench/axi4_mux/axi_register_wr.v|128|
testbench/axi4_mux/axi_register_wr.v|202|
testbench/axi4_mux/axi_register_wr.v|206 col 1|
testbench/axi4_mux/axi_register_wr.v|207|
testbench/axi4_mux/axi_register_wr.v|215|
testbench/axi4_mux/axi_register_wr.v|226|
testbench/axi4_mux/axi_register_wr.v|253|
testbench/axi4_mux/axi_register_wr.v|322|
testbench/axi4_mux/axi_register_wr.v|327|
testbench/axi4_mux/axi_register_wr.v|331|
testbench/axi4_mux/axi_register_wr.v|345|
testbench/axi4_mux/axi_register_wr.v|417|
testbench/axi4_mux/axi_register_wr.v|421 col 1|
testbench/axi4_mux/axi_register_wr.v|422|
testbench/axi4_mux/axi_register_wr.v|430|
testbench/axi4_mux/axi_register_wr.v|441|
testbench/axi4_mux/axi_register_wr.v|454|
testbench/axi4_mux/axi_register_wr.v|462|
testbench/axi4_mux/axi_register_wr.v|465|
testbench/axi4_mux/axi_register_wr.v|468|
testbench/axi4_mux/axi_register_wr.v|474|
testbench/axi4_mux/axi_register_wr.v|477|
testbench/axi4_mux/axi_register_wr.v|479|
testbench/axi4_mux/axi_register_wr.v|485|
testbench/axi4_mux/axi_register_wr.v|488|
testbench/axi4_mux/axi_register_wr.v|492|
testbench/axi4_mux/axi_register_wr.v|494|
testbench/axi4_mux/axi_register_wr.v|502|
testbench/axi4_mux/axi_register_wr.v|511|
testbench/axi4_mux/axi_register_wr.v|520|
testbench/axi4_mux/axi_register_wr.v|522|
testbench/axi4_mux/axi_register_wr.v|530|
testbench/axi4_mux/axi_register_wr.v|532|
testbench/axi4_mux/axi_register_wr.v|534|
testbench/axi4_mux/axi_register_wr.v|537|
testbench/axi4_mux/axi_register_wr.v|540|
testbench/axi4_mux/axi_register_wr.v|545|
testbench/axi4_mux/axi_register_wr.v|550|
testbench/axi4_mux/axi_register_wr.v|555|
testbench/axi4_mux/axi_register_wr.v|557|
testbench/axi4_mux/axi_register_wr.v|562|
testbench/axi4_mux/axi_register_wr.v|565|
testbench/axi4_mux/axi_register_wr.v|570|
testbench/axi4_mux/axi_register_wr.v|574|
testbench/axi4_mux/axi_register_wr.v|580|
testbench/axi4_mux/axi_register_wr.v|584 col 1|
testbench/axi4_mux/axi_register_wr.v|585|
testbench/axi4_mux/axi_register_wr.v|593|
testbench/axi4_mux/axi_register_wr.v|604|
testbench/axi4_mux/axi_register_wr.v|615|
testbench/axi4_mux/axi_register_wr.v|622|
testbench/axi4_mux/axi_register_wr.v|625|
testbench/axi4_mux/axi_register_wr.v|628|
testbench/axi4_mux/axi_register_wr.v|633|
testbench/axi4_mux/axi_register_wr.v|636|
testbench/axi4_mux/axi_register_wr.v|638|
testbench/axi4_mux/axi_register_wr.v|643|
testbench/axi4_mux/axi_register_wr.v|646|
testbench/axi4_mux/axi_register_wr.v|650|
testbench/axi4_mux/axi_register_wr.v|652|
testbench/axi4_mux/axi_register_wr.v|660|
testbench/axi4_mux/axi_register_wr.v|669|
testbench/axi4_mux/axi_register_wr.v|677|
testbench/axi4_mux/axi_register_wr.v|679|
testbench/axi4_mux/axi_register_wr.v|686|
testbench/axi4_mux/axi_register_wr.v|688|
testbench/axi4_mux/priority_encoder.v|28|
testbench/axi4_mux/priority_encoder.v|35|
testbench/axi4_mux/priority_encoder.v|40|
testbench/axi4_mux/priority_encoder.v|45|
testbench/axi4_mux/priority_encoder.v|48|
testbench/axi4_mux/priority_encoder.v|51|
testbench/axi4_mux/priority_encoder.v|54|
testbench/axi4_mux/priority_encoder.v|57|
testbench/axi4_mux/priority_encoder.v|61|
testbench/axi4_mux/priority_encoder.v|74|
testbench/axi4_mux/priority_encoder.v|84 col 1|
testbench/axi4_mux/priority_encoder.v|85|
testbench/axi4_mux/priority_encoder.v|87|
testbench/jtagdpi/jtagdpi.sv|7|
testbench/jtagdpi/jtagdpi.sv|21|
testbench/jtagdpi/jtagdpi.sv|24|
testbench/jtagdpi/jtagdpi.sv|29|
testbench/jtagdpi/jtagdpi.sv|44|

Comment on lines +345 to +363
.s_axi_arid(s_axi_arid),
.s_axi_araddr(s_axi_araddr),
.s_axi_arlen(s_axi_arlen),
.s_axi_arsize(s_axi_arsize),
.s_axi_arburst(s_axi_arburst),
.s_axi_arlock(s_axi_arlock),
.s_axi_arcache(s_axi_arcache),
.s_axi_arprot(s_axi_arprot),
.s_axi_arqos(s_axi_arqos),
.s_axi_aruser(s_axi_aruser),
.s_axi_arvalid(s_axi_arvalid),
.s_axi_arready(s_axi_arready),
.s_axi_rid(s_axi_rid),
.s_axi_rdata(s_axi_rdata),
.s_axi_rresp(s_axi_rresp),
.s_axi_rlast(s_axi_rlast),
.s_axi_ruser(s_axi_ruser),
.s_axi_rvalid(s_axi_rvalid),
.s_axi_rready(s_axi_rready),

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
.s_axi_arid(s_axi_arid),
.s_axi_araddr(s_axi_araddr),
.s_axi_arlen(s_axi_arlen),
.s_axi_arsize(s_axi_arsize),
.s_axi_arburst(s_axi_arburst),
.s_axi_arlock(s_axi_arlock),
.s_axi_arcache(s_axi_arcache),
.s_axi_arprot(s_axi_arprot),
.s_axi_arqos(s_axi_arqos),
.s_axi_aruser(s_axi_aruser),
.s_axi_arvalid(s_axi_arvalid),
.s_axi_arready(s_axi_arready),
.s_axi_rid(s_axi_rid),
.s_axi_rdata(s_axi_rdata),
.s_axi_rresp(s_axi_rresp),
.s_axi_rlast(s_axi_rlast),
.s_axi_ruser(s_axi_ruser),
.s_axi_rvalid(s_axi_rvalid),
.s_axi_rready(s_axi_rready),
.s_axi_arid(s_axi_arid),
.s_axi_araddr(s_axi_araddr),
.s_axi_arlen(s_axi_arlen),
.s_axi_arsize(s_axi_arsize),
.s_axi_arburst(s_axi_arburst),
.s_axi_arlock(s_axi_arlock),
.s_axi_arcache(s_axi_arcache),
.s_axi_arprot(s_axi_arprot),
.s_axi_arqos(s_axi_arqos),
.s_axi_aruser(s_axi_aruser),
.s_axi_arvalid(s_axi_arvalid),
.s_axi_arready(s_axi_arready),
.s_axi_rid(s_axi_rid),
.s_axi_rdata(s_axi_rdata),
.s_axi_rresp(s_axi_rresp),
.s_axi_rlast(s_axi_rlast),
.s_axi_ruser(s_axi_ruser),
.s_axi_rvalid(s_axi_rvalid),
.s_axi_rready(s_axi_rready),

.s_axi_rvalid(s_axi_rvalid),
.s_axi_rready(s_axi_rready),

/*

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
/*
/*

Comment on lines +368 to +388
.m_axi_arid(m_axi_arid),
.m_axi_araddr(m_axi_araddr),
.m_axi_arlen(m_axi_arlen),
.m_axi_arsize(m_axi_arsize),
.m_axi_arburst(m_axi_arburst),
.m_axi_arlock(m_axi_arlock),
.m_axi_arcache(m_axi_arcache),
.m_axi_arprot(m_axi_arprot),
.m_axi_arqos(m_axi_arqos),
.m_axi_arregion(m_axi_arregion),
.m_axi_aruser(m_axi_aruser),
.m_axi_arvalid(m_axi_arvalid),
.m_axi_arready(m_axi_arready),
.m_axi_rid(m_axi_rid),
.m_axi_rdata(m_axi_rdata),
.m_axi_rresp(m_axi_rresp),
.m_axi_rlast(m_axi_rlast),
.m_axi_ruser(m_axi_ruser),
.m_axi_rvalid(m_axi_rvalid),
.m_axi_rready(m_axi_rready)
);

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
.m_axi_arid(m_axi_arid),
.m_axi_araddr(m_axi_araddr),
.m_axi_arlen(m_axi_arlen),
.m_axi_arsize(m_axi_arsize),
.m_axi_arburst(m_axi_arburst),
.m_axi_arlock(m_axi_arlock),
.m_axi_arcache(m_axi_arcache),
.m_axi_arprot(m_axi_arprot),
.m_axi_arqos(m_axi_arqos),
.m_axi_arregion(m_axi_arregion),
.m_axi_aruser(m_axi_aruser),
.m_axi_arvalid(m_axi_arvalid),
.m_axi_arready(m_axi_arready),
.m_axi_rid(m_axi_rid),
.m_axi_rdata(m_axi_rdata),
.m_axi_rresp(m_axi_rresp),
.m_axi_rlast(m_axi_rlast),
.m_axi_ruser(m_axi_ruser),
.m_axi_rvalid(m_axi_rvalid),
.m_axi_rready(m_axi_rready)
);
.m_axi_arid(m_axi_arid),
.m_axi_araddr(m_axi_araddr),
.m_axi_arlen(m_axi_arlen),
.m_axi_arsize(m_axi_arsize),
.m_axi_arburst(m_axi_arburst),
.m_axi_arlock(m_axi_arlock),
.m_axi_arcache(m_axi_arcache),
.m_axi_arprot(m_axi_arprot),
.m_axi_arqos(m_axi_arqos),
.m_axi_arregion(m_axi_arregion),
.m_axi_aruser(m_axi_aruser),
.m_axi_arvalid(m_axi_arvalid),
.m_axi_arready(m_axi_arready),
.m_axi_rid(m_axi_rid),
.m_axi_rdata(m_axi_rdata),
.m_axi_rresp(m_axi_rresp),
.m_axi_rlast(m_axi_rlast),
.m_axi_ruser(m_axi_ruser),
.m_axi_rvalid(m_axi_rvalid),
.m_axi_rready(m_axi_rready)
);

Comment on lines +28 to +30
`resetall
`timescale 1ns / 1ps
`default_nettype none

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
`resetall
`timescale 1ns / 1ps
`default_nettype none
`resetall `timescale 1ns / 1ps `default_nettype none

Comment on lines +35 to +36
module axi_crossbar_addr #
(

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
module axi_crossbar_addr #
(
module axi_crossbar_addr #(

Comment on lines +190 to +202
for (i = 0; i < M_COUNT*M_REGIONS; i = i + 1) begin
if ((M_BASE_ADDR_INT[i*ADDR_WIDTH +: ADDR_WIDTH] & (2**M_ADDR_WIDTH[i*32 +: 32]-1)) != 0) begin
$display("Region not aligned:");
$display("%2d (%2d): %x / %2d -- %x-%x",
i/M_REGIONS, i%M_REGIONS,
M_BASE_ADDR_INT[i*ADDR_WIDTH +: ADDR_WIDTH],
M_ADDR_WIDTH[i*32 +: 32],
M_BASE_ADDR_INT[i*ADDR_WIDTH +: ADDR_WIDTH] & ({ADDR_WIDTH{1'b1}} << M_ADDR_WIDTH[i*32 +: 32]),
M_BASE_ADDR_INT[i*ADDR_WIDTH +: ADDR_WIDTH] | ({ADDR_WIDTH{1'b1}} >> (ADDR_WIDTH - M_ADDR_WIDTH[i*32 +: 32]))
);
$error("Error: address range not aligned (instance %m)");
$finish;
end

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
for (i = 0; i < M_COUNT*M_REGIONS; i = i + 1) begin
if ((M_BASE_ADDR_INT[i*ADDR_WIDTH +: ADDR_WIDTH] & (2**M_ADDR_WIDTH[i*32 +: 32]-1)) != 0) begin
$display("Region not aligned:");
$display("%2d (%2d): %x / %2d -- %x-%x",
i/M_REGIONS, i%M_REGIONS,
M_BASE_ADDR_INT[i*ADDR_WIDTH +: ADDR_WIDTH],
M_ADDR_WIDTH[i*32 +: 32],
M_BASE_ADDR_INT[i*ADDR_WIDTH +: ADDR_WIDTH] & ({ADDR_WIDTH{1'b1}} << M_ADDR_WIDTH[i*32 +: 32]),
M_BASE_ADDR_INT[i*ADDR_WIDTH +: ADDR_WIDTH] | ({ADDR_WIDTH{1'b1}} >> (ADDR_WIDTH - M_ADDR_WIDTH[i*32 +: 32]))
);
$error("Error: address range not aligned (instance %m)");
$finish;
end
for (i = 0; i < M_COUNT * M_REGIONS; i = i + 1) begin
if ((M_BASE_ADDR_INT[i*ADDR_WIDTH +: ADDR_WIDTH] & (2**M_ADDR_WIDTH[i*32 +: 32]-1)) != 0) begin
$display("Region not aligned:");
$display(
"%2d (%2d): %x / %2d -- %x-%x", i / M_REGIONS, i % M_REGIONS,
M_BASE_ADDR_INT[i*ADDR_WIDTH+:ADDR_WIDTH], M_ADDR_WIDTH[i*32+:32],
M_BASE_ADDR_INT[i*ADDR_WIDTH+:ADDR_WIDTH] & ({ADDR_WIDTH{1'b1}} << M_ADDR_WIDTH[i*32+:32]),
M_BASE_ADDR_INT[i*ADDR_WIDTH+:ADDR_WIDTH] | ({ADDR_WIDTH{1'b1}} >> (ADDR_WIDTH - M_ADDR_WIDTH[i*32+:32])));
$error("Error: address range not aligned (instance %m)");
$finish;
end

Comment on lines +205 to +208
for (i = 0; i < M_COUNT*M_REGIONS; i = i + 1) begin
for (j = i+1; j < M_COUNT*M_REGIONS; j = j + 1) begin
if (M_ADDR_WIDTH[i*32 +: 32] && M_ADDR_WIDTH[j*32 +: 32]) begin
if (((M_BASE_ADDR_INT[i*ADDR_WIDTH +: ADDR_WIDTH] & ({ADDR_WIDTH{1'b1}} << M_ADDR_WIDTH[i*32 +: 32])) <= (M_BASE_ADDR_INT[j*ADDR_WIDTH +: ADDR_WIDTH] | ({ADDR_WIDTH{1'b1}} >> (ADDR_WIDTH - M_ADDR_WIDTH[j*32 +: 32]))))

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
for (i = 0; i < M_COUNT*M_REGIONS; i = i + 1) begin
for (j = i+1; j < M_COUNT*M_REGIONS; j = j + 1) begin
if (M_ADDR_WIDTH[i*32 +: 32] && M_ADDR_WIDTH[j*32 +: 32]) begin
if (((M_BASE_ADDR_INT[i*ADDR_WIDTH +: ADDR_WIDTH] & ({ADDR_WIDTH{1'b1}} << M_ADDR_WIDTH[i*32 +: 32])) <= (M_BASE_ADDR_INT[j*ADDR_WIDTH +: ADDR_WIDTH] | ({ADDR_WIDTH{1'b1}} >> (ADDR_WIDTH - M_ADDR_WIDTH[j*32 +: 32]))))
for (i = 0; i < M_COUNT * M_REGIONS; i = i + 1) begin
for (j = i + 1; j < M_COUNT * M_REGIONS; j = j + 1) begin
if (M_ADDR_WIDTH[i*32+:32] && M_ADDR_WIDTH[j*32+:32]) begin
if (((M_BASE_ADDR_INT[i*ADDR_WIDTH +: ADDR_WIDTH] & ({ADDR_WIDTH{1'b1}} << M_ADDR_WIDTH[i*32 +: 32])) <= (M_BASE_ADDR_INT[j*ADDR_WIDTH +: ADDR_WIDTH] | ({ADDR_WIDTH{1'b1}} >> (ADDR_WIDTH - M_ADDR_WIDTH[j*32 +: 32]))))

Comment on lines +210 to +228
$display("Overlapping regions:");
$display("%2d (%2d): %x / %2d -- %x-%x",
i/M_REGIONS, i%M_REGIONS,
M_BASE_ADDR_INT[i*ADDR_WIDTH +: ADDR_WIDTH],
M_ADDR_WIDTH[i*32 +: 32],
M_BASE_ADDR_INT[i*ADDR_WIDTH +: ADDR_WIDTH] & ({ADDR_WIDTH{1'b1}} << M_ADDR_WIDTH[i*32 +: 32]),
M_BASE_ADDR_INT[i*ADDR_WIDTH +: ADDR_WIDTH] | ({ADDR_WIDTH{1'b1}} >> (ADDR_WIDTH - M_ADDR_WIDTH[i*32 +: 32]))
);
$display("%2d (%2d): %x / %2d -- %x-%x",
j/M_REGIONS, j%M_REGIONS,
M_BASE_ADDR_INT[j*ADDR_WIDTH +: ADDR_WIDTH],
M_ADDR_WIDTH[j*32 +: 32],
M_BASE_ADDR_INT[j*ADDR_WIDTH +: ADDR_WIDTH] & ({ADDR_WIDTH{1'b1}} << M_ADDR_WIDTH[j*32 +: 32]),
M_BASE_ADDR_INT[j*ADDR_WIDTH +: ADDR_WIDTH] | ({ADDR_WIDTH{1'b1}} >> (ADDR_WIDTH - M_ADDR_WIDTH[j*32 +: 32]))
);
$error("Error: address ranges overlap (instance %m)");
$finish;
end
end

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
$display("Overlapping regions:");
$display("%2d (%2d): %x / %2d -- %x-%x",
i/M_REGIONS, i%M_REGIONS,
M_BASE_ADDR_INT[i*ADDR_WIDTH +: ADDR_WIDTH],
M_ADDR_WIDTH[i*32 +: 32],
M_BASE_ADDR_INT[i*ADDR_WIDTH +: ADDR_WIDTH] & ({ADDR_WIDTH{1'b1}} << M_ADDR_WIDTH[i*32 +: 32]),
M_BASE_ADDR_INT[i*ADDR_WIDTH +: ADDR_WIDTH] | ({ADDR_WIDTH{1'b1}} >> (ADDR_WIDTH - M_ADDR_WIDTH[i*32 +: 32]))
);
$display("%2d (%2d): %x / %2d -- %x-%x",
j/M_REGIONS, j%M_REGIONS,
M_BASE_ADDR_INT[j*ADDR_WIDTH +: ADDR_WIDTH],
M_ADDR_WIDTH[j*32 +: 32],
M_BASE_ADDR_INT[j*ADDR_WIDTH +: ADDR_WIDTH] & ({ADDR_WIDTH{1'b1}} << M_ADDR_WIDTH[j*32 +: 32]),
M_BASE_ADDR_INT[j*ADDR_WIDTH +: ADDR_WIDTH] | ({ADDR_WIDTH{1'b1}} >> (ADDR_WIDTH - M_ADDR_WIDTH[j*32 +: 32]))
);
$error("Error: address ranges overlap (instance %m)");
$finish;
end
end
$display("Overlapping regions:");
$display(
"%2d (%2d): %x / %2d -- %x-%x", i / M_REGIONS, i % M_REGIONS,
M_BASE_ADDR_INT[i*ADDR_WIDTH+:ADDR_WIDTH], M_ADDR_WIDTH[i*32+:32],
M_BASE_ADDR_INT[i*ADDR_WIDTH+:ADDR_WIDTH] & ({ADDR_WIDTH{1'b1}} << M_ADDR_WIDTH[i*32+:32]),
M_BASE_ADDR_INT[i*ADDR_WIDTH+:ADDR_WIDTH] | ({ADDR_WIDTH{1'b1}} >> (ADDR_WIDTH - M_ADDR_WIDTH[i*32+:32])));
$display(
"%2d (%2d): %x / %2d -- %x-%x", j / M_REGIONS, j % M_REGIONS,
M_BASE_ADDR_INT[j*ADDR_WIDTH+:ADDR_WIDTH], M_ADDR_WIDTH[j*32+:32],
M_BASE_ADDR_INT[j*ADDR_WIDTH+:ADDR_WIDTH] & ({ADDR_WIDTH{1'b1}} << M_ADDR_WIDTH[j*32+:32]),
M_BASE_ADDR_INT[j*ADDR_WIDTH+:ADDR_WIDTH] | ({ADDR_WIDTH{1'b1}} >> (ADDR_WIDTH - M_ADDR_WIDTH[j*32+:32])));
$error("Error: address ranges overlap (instance %m)");
$finish;
end

end
end
end
end

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
end
end
end

end
end
end
end

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
end
end

@RRozak RRozak force-pushed the rrozak/60812-openocd-tests branch from 454f217 to 28f12ba Compare July 16, 2024 12:55
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit

verible-verilog-format

testbench/axi4_mux/axi_crossbar_rd.v|35|
testbench/axi4_mux/axi_crossbar_rd.v|46|
testbench/axi4_mux/axi_crossbar_rd.v|51|
testbench/axi4_mux/axi_crossbar_rd.v|96|
testbench/axi4_mux/axi_crossbar_rd.v|104|
testbench/axi4_mux/axi_crossbar_rd.v|127|
testbench/axi4_mux/axi_crossbar_rd.v|149|
testbench/axi4_mux/axi_crossbar_rd.v|154|
testbench/axi4_mux/axi_crossbar_rd.v|156|
testbench/axi4_mux/axi_crossbar_rd.v|163|
testbench/axi4_mux/axi_crossbar_rd.v|169|
testbench/axi4_mux/axi_crossbar_rd.v|204|
testbench/axi4_mux/axi_crossbar_rd.v|239|
testbench/axi4_mux/axi_crossbar_rd.v|249|
testbench/axi4_mux/axi_crossbar_rd.v|254|
testbench/axi4_mux/axi_crossbar_rd.v|257|
testbench/axi4_mux/axi_crossbar_rd.v|262|
testbench/axi4_mux/axi_crossbar_rd.v|265|
testbench/axi4_mux/axi_crossbar_rd.v|269|
testbench/axi4_mux/axi_crossbar_rd.v|272|
testbench/axi4_mux/axi_crossbar_rd.v|317|
testbench/axi4_mux/axi_crossbar_rd.v|319|
testbench/axi4_mux/axi_crossbar_rd.v|324 col 1|
testbench/axi4_mux/axi_crossbar_rd.v|325|
testbench/axi4_mux/axi_crossbar_rd.v|366|
testbench/axi4_mux/axi_crossbar_rd.v|432|
testbench/axi4_mux/axi_crossbar_rd.v|450|
testbench/axi4_mux/axi_crossbar_wr.v|28|
testbench/axi4_mux/axi_crossbar_wr.v|35|
testbench/axi4_mux/axi_crossbar_wr.v|46|
testbench/axi4_mux/axi_crossbar_wr.v|51|
testbench/axi4_mux/axi_crossbar_wr.v|106|
testbench/axi4_mux/axi_crossbar_wr.v|114|
testbench/axi4_mux/axi_crossbar_wr.v|141|
testbench/axi4_mux/axi_crossbar_wr.v|167|
testbench/axi4_mux/axi_crossbar_wr.v|172|
testbench/axi4_mux/axi_crossbar_wr.v|174|
testbench/axi4_mux/axi_crossbar_wr.v|181|
testbench/axi4_mux/axi_crossbar_wr.v|187|
testbench/axi4_mux/axi_crossbar_wr.v|230|
testbench/axi4_mux/axi_crossbar_wr.v|270|
testbench/axi4_mux/axi_crossbar_wr.v|280|
testbench/axi4_mux/axi_crossbar_wr.v|285|
testbench/axi4_mux/axi_crossbar_wr.v|288|
testbench/axi4_mux/axi_crossbar_wr.v|293|
testbench/axi4_mux/axi_crossbar_wr.v|296|
testbench/axi4_mux/axi_crossbar_wr.v|300|
testbench/axi4_mux/axi_crossbar_wr.v|303|
testbench/axi4_mux/axi_crossbar_wr.v|329|
testbench/axi4_mux/axi_crossbar_wr.v|336|
testbench/axi4_mux/axi_crossbar_wr.v|340|
testbench/axi4_mux/axi_crossbar_wr.v|365|
testbench/axi4_mux/axi_crossbar_wr.v|372|
testbench/axi4_mux/axi_crossbar_wr.v|374 col 1|
testbench/axi4_mux/axi_crossbar_wr.v|375|
testbench/axi4_mux/axi_crossbar_wr.v|414|
testbench/axi4_mux/axi_crossbar_wr.v|490|
testbench/axi4_mux/axi_crossbar_wr.v|510|
testbench/axi4_mux/axi_crossbar_wr.v|559 col 1|
testbench/axi4_mux/axi_crossbar_wr.v|560|
testbench/axi4_mux/axi_crossbar_wr.v|585|
testbench/axi4_mux/axi_crossbar_wr.v|594|
testbench/axi4_mux/axi_crossbar_wr.v|597|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|28|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|35|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|42|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|47|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|139|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|147|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|190|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|236|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|282|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|285|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|288|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|290|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|292|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|294|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|296|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|298|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|300|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|302|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|304|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|306|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|308|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|310|
testbench/axi4_mux/axi_register_rd.v|28|
testbench/axi4_mux/axi_register_rd.v|35|
testbench/axi4_mux/axi_register_rd.v|42|
testbench/axi4_mux/axi_register_rd.v|59|
testbench/axi4_mux/axi_register_rd.v|67|
testbench/axi4_mux/axi_register_rd.v|91|
testbench/axi4_mux/axi_register_rd.v|113|
testbench/axi4_mux/axi_register_rd.v|187|
testbench/axi4_mux/axi_register_rd.v|191 col 1|
testbench/axi4_mux/axi_register_rd.v|192|
testbench/axi4_mux/axi_register_rd.v|200|
testbench/axi4_mux/axi_register_rd.v|211|
testbench/axi4_mux/axi_register_rd.v|238|
testbench/axi4_mux/axi_register_rd.v|307|
testbench/axi4_mux/axi_register_rd.v|312|
testbench/axi4_mux/axi_register_rd.v|316|
testbench/axi4_mux/axi_register_rd.v|330|
testbench/axi4_mux/axi_register_rd.v|405|
testbench/axi4_mux/axi_register_rd.v|409 col 1|
testbench/axi4_mux/axi_register_rd.v|410|
testbench/axi4_mux/axi_register_rd.v|418|
testbench/axi4_mux/axi_register_rd.v|429|
testbench/axi4_mux/axi_register_rd.v|444|
testbench/axi4_mux/axi_register_rd.v|453|
testbench/axi4_mux/axi_register_rd.v|456|
testbench/axi4_mux/axi_register_rd.v|459|
testbench/axi4_mux/axi_register_rd.v|466|
testbench/axi4_mux/axi_register_rd.v|469|
testbench/axi4_mux/axi_register_rd.v|471|
testbench/axi4_mux/axi_register_rd.v|478|
testbench/axi4_mux/axi_register_rd.v|481|
testbench/axi4_mux/axi_register_rd.v|485|
testbench/axi4_mux/axi_register_rd.v|487|
testbench/axi4_mux/axi_register_rd.v|495|
testbench/axi4_mux/axi_register_rd.v|504|
testbench/axi4_mux/axi_register_rd.v|514|
testbench/axi4_mux/axi_register_rd.v|516|
testbench/axi4_mux/axi_register_rd.v|525|
testbench/axi4_mux/axi_register_rd.v|527|
testbench/axi4_mux/axi_register_wr.v|28|
testbench/axi4_mux/axi_register_wr.v|35|
testbench/axi4_mux/axi_register_wr.v|42|
testbench/axi4_mux/axi_register_wr.v|66|
testbench/axi4_mux/axi_register_wr.v|74|
testbench/axi4_mux/axi_register_wr.v|102|
testbench/axi4_mux/axi_register_wr.v|128|
testbench/axi4_mux/axi_register_wr.v|202|
testbench/axi4_mux/axi_register_wr.v|206 col 1|
testbench/axi4_mux/axi_register_wr.v|207|
testbench/axi4_mux/axi_register_wr.v|215|
testbench/axi4_mux/axi_register_wr.v|226|
testbench/axi4_mux/axi_register_wr.v|253|
testbench/axi4_mux/axi_register_wr.v|322|
testbench/axi4_mux/axi_register_wr.v|327|
testbench/axi4_mux/axi_register_wr.v|331|
testbench/axi4_mux/axi_register_wr.v|345|
testbench/axi4_mux/axi_register_wr.v|417|
testbench/axi4_mux/axi_register_wr.v|421 col 1|
testbench/axi4_mux/axi_register_wr.v|422|
testbench/axi4_mux/axi_register_wr.v|430|
testbench/axi4_mux/axi_register_wr.v|441|
testbench/axi4_mux/axi_register_wr.v|454|
testbench/axi4_mux/axi_register_wr.v|462|
testbench/axi4_mux/axi_register_wr.v|465|
testbench/axi4_mux/axi_register_wr.v|468|
testbench/axi4_mux/axi_register_wr.v|474|
testbench/axi4_mux/axi_register_wr.v|477|
testbench/axi4_mux/axi_register_wr.v|479|
testbench/axi4_mux/axi_register_wr.v|485|
testbench/axi4_mux/axi_register_wr.v|488|
testbench/axi4_mux/axi_register_wr.v|492|
testbench/axi4_mux/axi_register_wr.v|494|
testbench/axi4_mux/axi_register_wr.v|502|
testbench/axi4_mux/axi_register_wr.v|511|
testbench/axi4_mux/axi_register_wr.v|520|
testbench/axi4_mux/axi_register_wr.v|522|
testbench/axi4_mux/axi_register_wr.v|530|
testbench/axi4_mux/axi_register_wr.v|532|
testbench/axi4_mux/axi_register_wr.v|534|
testbench/axi4_mux/axi_register_wr.v|537|
testbench/axi4_mux/axi_register_wr.v|540|
testbench/axi4_mux/axi_register_wr.v|545|
testbench/axi4_mux/axi_register_wr.v|550|
testbench/axi4_mux/axi_register_wr.v|555|
testbench/axi4_mux/axi_register_wr.v|557|
testbench/axi4_mux/axi_register_wr.v|562|
testbench/axi4_mux/axi_register_wr.v|565|
testbench/axi4_mux/axi_register_wr.v|570|
testbench/axi4_mux/axi_register_wr.v|574|
testbench/axi4_mux/axi_register_wr.v|580|
testbench/axi4_mux/axi_register_wr.v|584 col 1|
testbench/axi4_mux/axi_register_wr.v|585|
testbench/axi4_mux/axi_register_wr.v|593|
testbench/axi4_mux/axi_register_wr.v|604|
testbench/axi4_mux/axi_register_wr.v|615|
testbench/axi4_mux/axi_register_wr.v|622|
testbench/axi4_mux/axi_register_wr.v|625|
testbench/axi4_mux/axi_register_wr.v|628|
testbench/axi4_mux/axi_register_wr.v|633|
testbench/axi4_mux/axi_register_wr.v|636|
testbench/axi4_mux/axi_register_wr.v|638|
testbench/axi4_mux/axi_register_wr.v|643|
testbench/axi4_mux/axi_register_wr.v|646|
testbench/axi4_mux/axi_register_wr.v|650|
testbench/axi4_mux/axi_register_wr.v|652|
testbench/axi4_mux/axi_register_wr.v|660|
testbench/axi4_mux/axi_register_wr.v|669|
testbench/axi4_mux/axi_register_wr.v|677|
testbench/axi4_mux/axi_register_wr.v|679|
testbench/axi4_mux/axi_register_wr.v|686|
testbench/axi4_mux/axi_register_wr.v|688|
testbench/axi4_mux/priority_encoder.v|28|
testbench/axi4_mux/priority_encoder.v|35|
testbench/axi4_mux/priority_encoder.v|40|
testbench/axi4_mux/priority_encoder.v|45|
testbench/axi4_mux/priority_encoder.v|48|
testbench/axi4_mux/priority_encoder.v|51|
testbench/axi4_mux/priority_encoder.v|54|
testbench/axi4_mux/priority_encoder.v|57|
testbench/axi4_mux/priority_encoder.v|61|
testbench/axi4_mux/priority_encoder.v|74|
testbench/axi4_mux/priority_encoder.v|84 col 1|
testbench/axi4_mux/priority_encoder.v|85|
testbench/axi4_mux/priority_encoder.v|87|
testbench/jtagdpi/jtagdpi.sv|7|
testbench/jtagdpi/jtagdpi.sv|21|
testbench/jtagdpi/jtagdpi.sv|24|
testbench/jtagdpi/jtagdpi.sv|29|
testbench/jtagdpi/jtagdpi.sv|44|

Comment on lines +233 to +235
localparam [2:0]
STATE_IDLE = 3'd0,
STATE_DECODE = 3'd1;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
localparam [2:0]
STATE_IDLE = 3'd0,
STATE_DECODE = 3'd1;
localparam [2:0] STATE_IDLE = 3'd0, STATE_DECODE = 3'd1;

STATE_IDLE = 3'd0,
STATE_DECODE = 3'd1;

reg [2:0] state_reg = STATE_IDLE, state_next;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
reg [2:0] state_reg = STATE_IDLE, state_next;
reg [2:0] state_reg = STATE_IDLE, state_next;


reg [2:0] state_reg = STATE_IDLE, state_next;

reg s_axi_aready_reg = 0, s_axi_aready_next;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
reg s_axi_aready_reg = 0, s_axi_aready_next;
reg s_axi_aready_reg = 0, s_axi_aready_next;

Comment on lines +241 to +246
reg [3:0] m_axi_aregion_reg = 4'd0, m_axi_aregion_next;
reg [CL_M_COUNT-1:0] m_select_reg = 0, m_select_next;
reg m_axi_avalid_reg = 1'b0, m_axi_avalid_next;
reg m_decerr_reg = 1'b0, m_decerr_next;
reg m_wc_valid_reg = 1'b0, m_wc_valid_next;
reg m_rc_valid_reg = 1'b0, m_rc_valid_next;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
reg [3:0] m_axi_aregion_reg = 4'd0, m_axi_aregion_next;
reg [CL_M_COUNT-1:0] m_select_reg = 0, m_select_next;
reg m_axi_avalid_reg = 1'b0, m_axi_avalid_next;
reg m_decerr_reg = 1'b0, m_decerr_next;
reg m_wc_valid_reg = 1'b0, m_wc_valid_next;
reg m_rc_valid_reg = 1'b0, m_rc_valid_next;
reg [3:0] m_axi_aregion_reg = 4'd0, m_axi_aregion_next;
reg [CL_M_COUNT-1:0] m_select_reg = 0, m_select_next;
reg m_axi_avalid_reg = 1'b0, m_axi_avalid_next;
reg m_decerr_reg = 1'b0, m_decerr_next;
reg m_wc_valid_reg = 1'b0, m_wc_valid_next;
reg m_rc_valid_reg = 1'b0, m_rc_valid_next;

reg m_wc_valid_reg = 1'b0, m_wc_valid_next;
reg m_rc_valid_reg = 1'b0, m_rc_valid_next;

assign s_axi_aready = s_axi_aready_reg;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
assign s_axi_aready = s_axi_aready_reg;
assign s_axi_aready = s_axi_aready_reg;

Comment on lines +391 to +395
state_reg <= STATE_IDLE;
s_axi_aready_reg <= 1'b0;
m_axi_avalid_reg <= 1'b0;
m_wc_valid_reg <= 1'b0;
m_rc_valid_reg <= 1'b0;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
state_reg <= STATE_IDLE;
s_axi_aready_reg <= 1'b0;
m_axi_avalid_reg <= 1'b0;
m_wc_valid_reg <= 1'b0;
m_rc_valid_reg <= 1'b0;
state_reg <= STATE_IDLE;
s_axi_aready_reg <= 1'b0;
m_axi_avalid_reg <= 1'b0;
m_wc_valid_reg <= 1'b0;
m_rc_valid_reg <= 1'b0;

m_wc_valid_reg <= 1'b0;
m_rc_valid_reg <= 1'b0;

trans_count_reg <= 0;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
trans_count_reg <= 0;
trans_count_reg <= 0;

Comment on lines +399 to +409
state_reg <= state_next;
s_axi_aready_reg <= s_axi_aready_next;
m_axi_avalid_reg <= m_axi_avalid_next;
m_wc_valid_reg <= m_wc_valid_next;
m_rc_valid_reg <= m_rc_valid_next;

if (trans_start && !trans_complete) begin
trans_count_reg <= trans_count_reg + 1;
end else if (!trans_start && trans_complete) begin
trans_count_reg <= trans_count_reg - 1;
end

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
state_reg <= state_next;
s_axi_aready_reg <= s_axi_aready_next;
m_axi_avalid_reg <= m_axi_avalid_next;
m_wc_valid_reg <= m_wc_valid_next;
m_rc_valid_reg <= m_rc_valid_next;
if (trans_start && !trans_complete) begin
trans_count_reg <= trans_count_reg + 1;
end else if (!trans_start && trans_complete) begin
trans_count_reg <= trans_count_reg - 1;
end
state_reg <= state_next;
s_axi_aready_reg <= s_axi_aready_next;
m_axi_avalid_reg <= m_axi_avalid_next;
m_wc_valid_reg <= m_wc_valid_next;
m_rc_valid_reg <= m_rc_valid_next;
if (trans_start && !trans_complete) begin
trans_count_reg <= trans_count_reg + 1;
end else if (!trans_start && trans_complete) begin
trans_count_reg <= trans_count_reg - 1;
end

m_axi_aregion_reg <= m_axi_aregion_next;
m_select_reg <= m_select_next;
m_decerr_reg <= m_decerr_next;
end

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
end
end

Comment on lines +28 to +30
`resetall
`timescale 1ns / 1ps
`default_nettype none

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
`resetall
`timescale 1ns / 1ps
`default_nettype none
`resetall `timescale 1ns / 1ps `default_nettype none

@RRozak RRozak force-pushed the rrozak/60812-openocd-tests branch from 28f12ba to 62227d4 Compare July 17, 2024 06:25
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit

verible-verilog-format

testbench/axi4_mux/axi_crossbar_wr.v|51|
testbench/axi4_mux/axi_crossbar_wr.v|106|
testbench/axi4_mux/axi_crossbar_wr.v|114|
testbench/axi4_mux/axi_crossbar_wr.v|141|
testbench/axi4_mux/axi_crossbar_wr.v|167|
testbench/axi4_mux/axi_crossbar_wr.v|172|
testbench/axi4_mux/axi_crossbar_wr.v|174|
testbench/axi4_mux/axi_crossbar_wr.v|181|
testbench/axi4_mux/axi_crossbar_wr.v|187|
testbench/axi4_mux/axi_crossbar_wr.v|230|
testbench/axi4_mux/axi_crossbar_wr.v|270|
testbench/axi4_mux/axi_crossbar_wr.v|280|
testbench/axi4_mux/axi_crossbar_wr.v|285|
testbench/axi4_mux/axi_crossbar_wr.v|288|
testbench/axi4_mux/axi_crossbar_wr.v|293|
testbench/axi4_mux/axi_crossbar_wr.v|296|
testbench/axi4_mux/axi_crossbar_wr.v|300|
testbench/axi4_mux/axi_crossbar_wr.v|303|
testbench/axi4_mux/axi_crossbar_wr.v|329|
testbench/axi4_mux/axi_crossbar_wr.v|336|
testbench/axi4_mux/axi_crossbar_wr.v|340|
testbench/axi4_mux/axi_crossbar_wr.v|365|
testbench/axi4_mux/axi_crossbar_wr.v|372|
testbench/axi4_mux/axi_crossbar_wr.v|374 col 1|
testbench/axi4_mux/axi_crossbar_wr.v|375|
testbench/axi4_mux/axi_crossbar_wr.v|414|
testbench/axi4_mux/axi_crossbar_wr.v|490|
testbench/axi4_mux/axi_crossbar_wr.v|510|
testbench/axi4_mux/axi_crossbar_wr.v|559 col 1|
testbench/axi4_mux/axi_crossbar_wr.v|560|
testbench/axi4_mux/axi_crossbar_wr.v|585|
testbench/axi4_mux/axi_crossbar_wr.v|594|
testbench/axi4_mux/axi_crossbar_wr.v|597|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|28|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|35|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|42|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|47|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|139|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|147|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|190|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|236|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|282|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|285|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|288|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|290|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|292|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|294|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|296|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|298|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|300|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|302|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|304|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|306|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|308|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|310|
testbench/axi4_mux/axi_register_rd.v|28|
testbench/axi4_mux/axi_register_rd.v|35|
testbench/axi4_mux/axi_register_rd.v|42|
testbench/axi4_mux/axi_register_rd.v|59|
testbench/axi4_mux/axi_register_rd.v|67|
testbench/axi4_mux/axi_register_rd.v|91|
testbench/axi4_mux/axi_register_rd.v|113|
testbench/axi4_mux/axi_register_rd.v|187|
testbench/axi4_mux/axi_register_rd.v|191 col 1|
testbench/axi4_mux/axi_register_rd.v|192|
testbench/axi4_mux/axi_register_rd.v|200|
testbench/axi4_mux/axi_register_rd.v|211|
testbench/axi4_mux/axi_register_rd.v|238|
testbench/axi4_mux/axi_register_rd.v|307|
testbench/axi4_mux/axi_register_rd.v|312|
testbench/axi4_mux/axi_register_rd.v|316|
testbench/axi4_mux/axi_register_rd.v|330|
testbench/axi4_mux/axi_register_rd.v|405|
testbench/axi4_mux/axi_register_rd.v|409 col 1|
testbench/axi4_mux/axi_register_rd.v|410|
testbench/axi4_mux/axi_register_rd.v|418|
testbench/axi4_mux/axi_register_rd.v|429|
testbench/axi4_mux/axi_register_rd.v|444|
testbench/axi4_mux/axi_register_rd.v|453|
testbench/axi4_mux/axi_register_rd.v|456|
testbench/axi4_mux/axi_register_rd.v|459|
testbench/axi4_mux/axi_register_rd.v|466|
testbench/axi4_mux/axi_register_rd.v|469|
testbench/axi4_mux/axi_register_rd.v|471|
testbench/axi4_mux/axi_register_rd.v|478|
testbench/axi4_mux/axi_register_rd.v|481|
testbench/axi4_mux/axi_register_rd.v|485|
testbench/axi4_mux/axi_register_rd.v|487|
testbench/axi4_mux/axi_register_rd.v|495|
testbench/axi4_mux/axi_register_rd.v|504|
testbench/axi4_mux/axi_register_rd.v|514|
testbench/axi4_mux/axi_register_rd.v|516|
testbench/axi4_mux/axi_register_rd.v|525|
testbench/axi4_mux/axi_register_rd.v|527|
testbench/axi4_mux/axi_register_wr.v|28|
testbench/axi4_mux/axi_register_wr.v|35|
testbench/axi4_mux/axi_register_wr.v|42|
testbench/axi4_mux/axi_register_wr.v|66|
testbench/axi4_mux/axi_register_wr.v|74|
testbench/axi4_mux/axi_register_wr.v|102|
testbench/axi4_mux/axi_register_wr.v|128|
testbench/axi4_mux/axi_register_wr.v|202|
testbench/axi4_mux/axi_register_wr.v|206 col 1|
testbench/axi4_mux/axi_register_wr.v|207|
testbench/axi4_mux/axi_register_wr.v|215|
testbench/axi4_mux/axi_register_wr.v|226|
testbench/axi4_mux/axi_register_wr.v|253|
testbench/axi4_mux/axi_register_wr.v|322|
testbench/axi4_mux/axi_register_wr.v|327|
testbench/axi4_mux/axi_register_wr.v|331|
testbench/axi4_mux/axi_register_wr.v|345|
testbench/axi4_mux/axi_register_wr.v|417|
testbench/axi4_mux/axi_register_wr.v|421 col 1|
testbench/axi4_mux/axi_register_wr.v|422|
testbench/axi4_mux/axi_register_wr.v|430|
testbench/axi4_mux/axi_register_wr.v|441|
testbench/axi4_mux/axi_register_wr.v|454|
testbench/axi4_mux/axi_register_wr.v|462|
testbench/axi4_mux/axi_register_wr.v|465|
testbench/axi4_mux/axi_register_wr.v|468|
testbench/axi4_mux/axi_register_wr.v|474|
testbench/axi4_mux/axi_register_wr.v|477|
testbench/axi4_mux/axi_register_wr.v|479|
testbench/axi4_mux/axi_register_wr.v|485|
testbench/axi4_mux/axi_register_wr.v|488|
testbench/axi4_mux/axi_register_wr.v|492|
testbench/axi4_mux/axi_register_wr.v|494|
testbench/axi4_mux/axi_register_wr.v|502|
testbench/axi4_mux/axi_register_wr.v|511|
testbench/axi4_mux/axi_register_wr.v|520|
testbench/axi4_mux/axi_register_wr.v|522|
testbench/axi4_mux/axi_register_wr.v|530|
testbench/axi4_mux/axi_register_wr.v|532|
testbench/axi4_mux/axi_register_wr.v|534|
testbench/axi4_mux/axi_register_wr.v|537|
testbench/axi4_mux/axi_register_wr.v|540|
testbench/axi4_mux/axi_register_wr.v|545|
testbench/axi4_mux/axi_register_wr.v|550|
testbench/axi4_mux/axi_register_wr.v|555|
testbench/axi4_mux/axi_register_wr.v|557|
testbench/axi4_mux/axi_register_wr.v|562|
testbench/axi4_mux/axi_register_wr.v|565|
testbench/axi4_mux/axi_register_wr.v|570|
testbench/axi4_mux/axi_register_wr.v|574|
testbench/axi4_mux/axi_register_wr.v|580|
testbench/axi4_mux/axi_register_wr.v|584 col 1|
testbench/axi4_mux/axi_register_wr.v|585|
testbench/axi4_mux/axi_register_wr.v|593|
testbench/axi4_mux/axi_register_wr.v|604|
testbench/axi4_mux/axi_register_wr.v|615|
testbench/axi4_mux/axi_register_wr.v|622|
testbench/axi4_mux/axi_register_wr.v|625|
testbench/axi4_mux/axi_register_wr.v|628|
testbench/axi4_mux/axi_register_wr.v|633|
testbench/axi4_mux/axi_register_wr.v|636|
testbench/axi4_mux/axi_register_wr.v|638|
testbench/axi4_mux/axi_register_wr.v|643|
testbench/axi4_mux/axi_register_wr.v|646|
testbench/axi4_mux/axi_register_wr.v|650|
testbench/axi4_mux/axi_register_wr.v|652|
testbench/axi4_mux/axi_register_wr.v|660|
testbench/axi4_mux/axi_register_wr.v|669|
testbench/axi4_mux/axi_register_wr.v|677|
testbench/axi4_mux/axi_register_wr.v|679|
testbench/axi4_mux/axi_register_wr.v|686|
testbench/axi4_mux/axi_register_wr.v|688|
testbench/axi4_mux/priority_encoder.v|28|
testbench/axi4_mux/priority_encoder.v|35|
testbench/axi4_mux/priority_encoder.v|40|
testbench/axi4_mux/priority_encoder.v|45|
testbench/axi4_mux/priority_encoder.v|48|
testbench/axi4_mux/priority_encoder.v|51|
testbench/axi4_mux/priority_encoder.v|54|
testbench/axi4_mux/priority_encoder.v|57|
testbench/axi4_mux/priority_encoder.v|61|
testbench/axi4_mux/priority_encoder.v|74|
testbench/axi4_mux/priority_encoder.v|84 col 1|
testbench/axi4_mux/priority_encoder.v|85|
testbench/axi4_mux/priority_encoder.v|87|
testbench/jtagdpi/jtagdpi.sv|7|
testbench/jtagdpi/jtagdpi.sv|21|
testbench/jtagdpi/jtagdpi.sv|24|
testbench/jtagdpi/jtagdpi.sv|29|
testbench/jtagdpi/jtagdpi.sv|44|

Comment on lines +35 to +36
module axi_crossbar_rd #
(

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
module axi_crossbar_rd #
(
module axi_crossbar_rd #(

// Width of address bus in bits
parameter ADDR_WIDTH = 32,
// Width of wstrb (width of data bus in words)
parameter STRB_WIDTH = (DATA_WIDTH/8),

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
parameter STRB_WIDTH = (DATA_WIDTH/8),
parameter STRB_WIDTH = (DATA_WIDTH / 8),

parameter S_ID_WIDTH = 8,
// Output ID field width (towards AXI slaves)
// Additional bits required for response routing
parameter M_ID_WIDTH = S_ID_WIDTH+$clog2(S_COUNT),

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
parameter M_ID_WIDTH = S_ID_WIDTH+$clog2(S_COUNT),
parameter M_ID_WIDTH = S_ID_WIDTH + $clog2(S_COUNT),

Comment on lines +96 to +99
)
(
input wire clk,
input wire rst,

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
)
(
input wire clk,
input wire rst,
) (
input wire clk,
input wire rst,

Comment on lines +104 to +122
input wire [S_COUNT*S_ID_WIDTH-1:0] s_axi_arid,
input wire [S_COUNT*ADDR_WIDTH-1:0] s_axi_araddr,
input wire [S_COUNT*8-1:0] s_axi_arlen,
input wire [S_COUNT*3-1:0] s_axi_arsize,
input wire [S_COUNT*2-1:0] s_axi_arburst,
input wire [S_COUNT-1:0] s_axi_arlock,
input wire [S_COUNT*4-1:0] s_axi_arcache,
input wire [S_COUNT*3-1:0] s_axi_arprot,
input wire [S_COUNT*4-1:0] s_axi_arqos,
input wire [S_COUNT*ARUSER_WIDTH-1:0] s_axi_aruser,
input wire [S_COUNT-1:0] s_axi_arvalid,
output wire [S_COUNT-1:0] s_axi_arready,
output wire [S_COUNT*S_ID_WIDTH-1:0] s_axi_rid,
output wire [S_COUNT*DATA_WIDTH-1:0] s_axi_rdata,
output wire [S_COUNT*2-1:0] s_axi_rresp,
output wire [S_COUNT-1:0] s_axi_rlast,
output wire [S_COUNT*RUSER_WIDTH-1:0] s_axi_ruser,
output wire [S_COUNT-1:0] s_axi_rvalid,
input wire [S_COUNT-1:0] s_axi_rready,

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
input wire [S_COUNT*S_ID_WIDTH-1:0] s_axi_arid,
input wire [S_COUNT*ADDR_WIDTH-1:0] s_axi_araddr,
input wire [S_COUNT*8-1:0] s_axi_arlen,
input wire [S_COUNT*3-1:0] s_axi_arsize,
input wire [S_COUNT*2-1:0] s_axi_arburst,
input wire [S_COUNT-1:0] s_axi_arlock,
input wire [S_COUNT*4-1:0] s_axi_arcache,
input wire [S_COUNT*3-1:0] s_axi_arprot,
input wire [S_COUNT*4-1:0] s_axi_arqos,
input wire [S_COUNT*ARUSER_WIDTH-1:0] s_axi_aruser,
input wire [S_COUNT-1:0] s_axi_arvalid,
output wire [S_COUNT-1:0] s_axi_arready,
output wire [S_COUNT*S_ID_WIDTH-1:0] s_axi_rid,
output wire [S_COUNT*DATA_WIDTH-1:0] s_axi_rdata,
output wire [S_COUNT*2-1:0] s_axi_rresp,
output wire [S_COUNT-1:0] s_axi_rlast,
output wire [S_COUNT*RUSER_WIDTH-1:0] s_axi_ruser,
output wire [S_COUNT-1:0] s_axi_rvalid,
input wire [S_COUNT-1:0] s_axi_rready,
input wire [ S_COUNT*S_ID_WIDTH-1:0] s_axi_arid,
input wire [ S_COUNT*ADDR_WIDTH-1:0] s_axi_araddr,
input wire [ S_COUNT*8-1:0] s_axi_arlen,
input wire [ S_COUNT*3-1:0] s_axi_arsize,
input wire [ S_COUNT*2-1:0] s_axi_arburst,
input wire [ S_COUNT-1:0] s_axi_arlock,
input wire [ S_COUNT*4-1:0] s_axi_arcache,
input wire [ S_COUNT*3-1:0] s_axi_arprot,
input wire [ S_COUNT*4-1:0] s_axi_arqos,
input wire [S_COUNT*ARUSER_WIDTH-1:0] s_axi_aruser,
input wire [ S_COUNT-1:0] s_axi_arvalid,
output wire [ S_COUNT-1:0] s_axi_arready,
output wire [ S_COUNT*S_ID_WIDTH-1:0] s_axi_rid,
output wire [ S_COUNT*DATA_WIDTH-1:0] s_axi_rdata,
output wire [ S_COUNT*2-1:0] s_axi_rresp,
output wire [ S_COUNT-1:0] s_axi_rlast,
output wire [ S_COUNT*RUSER_WIDTH-1:0] s_axi_ruser,
output wire [ S_COUNT-1:0] s_axi_rvalid,
input wire [ S_COUNT-1:0] s_axi_rready,

Comment on lines +432 to +448
// in-flight transaction count
wire trans_start;
wire trans_complete;
reg [$clog2(M_ISSUE[n*32 +: 32]+1)-1:0] trans_count_reg = 0;

wire trans_limit = trans_count_reg >= M_ISSUE[n*32 +: 32] && !trans_complete;

always @(posedge clk) begin
if (rst) begin
trans_count_reg <= 0;
end else begin
if (trans_start && !trans_complete) begin
trans_count_reg <= trans_count_reg + 1;
end else if (!trans_start && trans_complete) begin
trans_count_reg <= trans_count_reg - 1;
end
end

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
// in-flight transaction count
wire trans_start;
wire trans_complete;
reg [$clog2(M_ISSUE[n*32 +: 32]+1)-1:0] trans_count_reg = 0;
wire trans_limit = trans_count_reg >= M_ISSUE[n*32 +: 32] && !trans_complete;
always @(posedge clk) begin
if (rst) begin
trans_count_reg <= 0;
end else begin
if (trans_start && !trans_complete) begin
trans_count_reg <= trans_count_reg + 1;
end else if (!trans_start && trans_complete) begin
trans_count_reg <= trans_count_reg - 1;
end
end
// in-flight transaction count
wire trans_start;
wire trans_complete;
reg [$clog2(M_ISSUE[n*32 +: 32]+1)-1:0] trans_count_reg = 0;
wire trans_limit = trans_count_reg >= M_ISSUE[n*32+:32] && !trans_complete;
always @(posedge clk) begin
if (rst) begin
trans_count_reg <= 0;
end else begin
if (trans_start && !trans_complete) begin
trans_count_reg <= trans_count_reg + 1;
end else if (!trans_start && trans_complete) begin
trans_count_reg <= trans_count_reg - 1;
end

Comment on lines +450 to +566
.rst(rst),
.request(a_request),
.acknowledge(a_acknowledge),
.grant(a_grant),
.grant_valid(a_grant_valid),
.grant_encoded(a_grant_encoded)
);

// address mux
wire [M_ID_WIDTH-1:0] s_axi_arid_mux = int_s_axi_arid[a_grant_encoded*S_ID_WIDTH +: S_ID_WIDTH] | (a_grant_encoded << S_ID_WIDTH);
wire [ADDR_WIDTH-1:0] s_axi_araddr_mux = int_s_axi_araddr[a_grant_encoded*ADDR_WIDTH +: ADDR_WIDTH];
wire [7:0] s_axi_arlen_mux = int_s_axi_arlen[a_grant_encoded*8 +: 8];
wire [2:0] s_axi_arsize_mux = int_s_axi_arsize[a_grant_encoded*3 +: 3];
wire [1:0] s_axi_arburst_mux = int_s_axi_arburst[a_grant_encoded*2 +: 2];
wire s_axi_arlock_mux = int_s_axi_arlock[a_grant_encoded];
wire [3:0] s_axi_arcache_mux = int_s_axi_arcache[a_grant_encoded*4 +: 4];
wire [2:0] s_axi_arprot_mux = int_s_axi_arprot[a_grant_encoded*3 +: 3];
wire [3:0] s_axi_arqos_mux = int_s_axi_arqos[a_grant_encoded*4 +: 4];
wire [3:0] s_axi_arregion_mux = int_s_axi_arregion[a_grant_encoded*4 +: 4];
wire [ARUSER_WIDTH-1:0] s_axi_aruser_mux = int_s_axi_aruser[a_grant_encoded*ARUSER_WIDTH +: ARUSER_WIDTH];
wire s_axi_arvalid_mux = int_axi_arvalid[a_grant_encoded*M_COUNT+n] && a_grant_valid;
wire s_axi_arready_mux;

assign int_axi_arready[n*S_COUNT +: S_COUNT] = (a_grant_valid && s_axi_arready_mux) << a_grant_encoded;

for (m = 0; m < S_COUNT; m = m + 1) begin
assign a_request[m] = int_axi_arvalid[m*M_COUNT+n] && !a_grant[m] && !trans_limit;
assign a_acknowledge[m] = a_grant[m] && int_axi_arvalid[m*M_COUNT+n] && s_axi_arready_mux;
end

assign trans_start = s_axi_arvalid_mux && s_axi_arready_mux && a_grant_valid;

// read response forwarding
wire [CL_S_COUNT-1:0] r_select = m_axi_rid[n*M_ID_WIDTH +: M_ID_WIDTH] >> S_ID_WIDTH;

assign int_axi_rvalid[n*S_COUNT +: S_COUNT] = int_m_axi_rvalid[n] << r_select;
assign int_m_axi_rready[n] = int_axi_rready[r_select*M_COUNT+n];

assign trans_complete = int_m_axi_rvalid[n] && int_m_axi_rready[n] && int_m_axi_rlast[n];

// M side register
axi_register_rd #(
.DATA_WIDTH(DATA_WIDTH),
.ADDR_WIDTH(ADDR_WIDTH),
.STRB_WIDTH(STRB_WIDTH),
.ID_WIDTH(M_ID_WIDTH),
.ARUSER_ENABLE(ARUSER_ENABLE),
.ARUSER_WIDTH(ARUSER_WIDTH),
.RUSER_ENABLE(RUSER_ENABLE),
.RUSER_WIDTH(RUSER_WIDTH),
.AR_REG_TYPE(M_AR_REG_TYPE[n*2 +: 2]),
.R_REG_TYPE(M_R_REG_TYPE[n*2 +: 2])
)
reg_inst (
.clk(clk),
.rst(rst),
.s_axi_arid(s_axi_arid_mux),
.s_axi_araddr(s_axi_araddr_mux),
.s_axi_arlen(s_axi_arlen_mux),
.s_axi_arsize(s_axi_arsize_mux),
.s_axi_arburst(s_axi_arburst_mux),
.s_axi_arlock(s_axi_arlock_mux),
.s_axi_arcache(s_axi_arcache_mux),
.s_axi_arprot(s_axi_arprot_mux),
.s_axi_arqos(s_axi_arqos_mux),
.s_axi_arregion(s_axi_arregion_mux),
.s_axi_aruser(s_axi_aruser_mux),
.s_axi_arvalid(s_axi_arvalid_mux),
.s_axi_arready(s_axi_arready_mux),
.s_axi_rid(int_m_axi_rid[n*M_ID_WIDTH +: M_ID_WIDTH]),
.s_axi_rdata(int_m_axi_rdata[n*DATA_WIDTH +: DATA_WIDTH]),
.s_axi_rresp(int_m_axi_rresp[n*2 +: 2]),
.s_axi_rlast(int_m_axi_rlast[n]),
.s_axi_ruser(int_m_axi_ruser[n*RUSER_WIDTH +: RUSER_WIDTH]),
.s_axi_rvalid(int_m_axi_rvalid[n]),
.s_axi_rready(int_m_axi_rready[n]),
.m_axi_arid(m_axi_arid[n*M_ID_WIDTH +: M_ID_WIDTH]),
.m_axi_araddr(m_axi_araddr[n*ADDR_WIDTH +: ADDR_WIDTH]),
.m_axi_arlen(m_axi_arlen[n*8 +: 8]),
.m_axi_arsize(m_axi_arsize[n*3 +: 3]),
.m_axi_arburst(m_axi_arburst[n*2 +: 2]),
.m_axi_arlock(m_axi_arlock[n]),
.m_axi_arcache(m_axi_arcache[n*4 +: 4]),
.m_axi_arprot(m_axi_arprot[n*3 +: 3]),
.m_axi_arqos(m_axi_arqos[n*4 +: 4]),
.m_axi_arregion(m_axi_arregion[n*4 +: 4]),
.m_axi_aruser(m_axi_aruser[n*ARUSER_WIDTH +: ARUSER_WIDTH]),
.m_axi_arvalid(m_axi_arvalid[n]),
.m_axi_arready(m_axi_arready[n]),
.m_axi_rid(m_axi_rid[n*M_ID_WIDTH +: M_ID_WIDTH]),
.m_axi_rdata(m_axi_rdata[n*DATA_WIDTH +: DATA_WIDTH]),
.m_axi_rresp(m_axi_rresp[n*2 +: 2]),
.m_axi_rlast(m_axi_rlast[n]),
.m_axi_ruser(m_axi_ruser[n*RUSER_WIDTH +: RUSER_WIDTH]),
.m_axi_rvalid(m_axi_rvalid[n]),
.m_axi_rready(m_axi_rready[n])
);
end // m_ifaces

endgenerate

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
// address arbitration
wire [S_COUNT-1:0] a_request;
wire [S_COUNT-1:0] a_acknowledge;
wire [S_COUNT-1:0] a_grant;
wire a_grant_valid;
wire [CL_S_COUNT-1:0] a_grant_encoded;
arbiter #(
.PORTS(S_COUNT),
.ARB_TYPE_ROUND_ROBIN(1),
.ARB_BLOCK(1),
.ARB_BLOCK_ACK(1),
.ARB_LSB_HIGH_PRIORITY(1)
)
a_arb_inst (
.clk(clk),
.rst(rst),
.request(a_request),
.acknowledge(a_acknowledge),
.grant(a_grant),
.grant_valid(a_grant_valid),
.grant_encoded(a_grant_encoded)
);
// address mux
wire [M_ID_WIDTH-1:0] s_axi_arid_mux = int_s_axi_arid[a_grant_encoded*S_ID_WIDTH +: S_ID_WIDTH] | (a_grant_encoded << S_ID_WIDTH);
wire [ADDR_WIDTH-1:0] s_axi_araddr_mux = int_s_axi_araddr[a_grant_encoded*ADDR_WIDTH +: ADDR_WIDTH];
wire [7:0] s_axi_arlen_mux = int_s_axi_arlen[a_grant_encoded*8 +: 8];
wire [2:0] s_axi_arsize_mux = int_s_axi_arsize[a_grant_encoded*3 +: 3];
wire [1:0] s_axi_arburst_mux = int_s_axi_arburst[a_grant_encoded*2 +: 2];
wire s_axi_arlock_mux = int_s_axi_arlock[a_grant_encoded];
wire [3:0] s_axi_arcache_mux = int_s_axi_arcache[a_grant_encoded*4 +: 4];
wire [2:0] s_axi_arprot_mux = int_s_axi_arprot[a_grant_encoded*3 +: 3];
wire [3:0] s_axi_arqos_mux = int_s_axi_arqos[a_grant_encoded*4 +: 4];
wire [3:0] s_axi_arregion_mux = int_s_axi_arregion[a_grant_encoded*4 +: 4];
wire [ARUSER_WIDTH-1:0] s_axi_aruser_mux = int_s_axi_aruser[a_grant_encoded*ARUSER_WIDTH +: ARUSER_WIDTH];
wire s_axi_arvalid_mux = int_axi_arvalid[a_grant_encoded*M_COUNT+n] && a_grant_valid;
wire s_axi_arready_mux;
assign int_axi_arready[n*S_COUNT +: S_COUNT] = (a_grant_valid && s_axi_arready_mux) << a_grant_encoded;
for (m = 0; m < S_COUNT; m = m + 1) begin
assign a_request[m] = int_axi_arvalid[m*M_COUNT+n] && !a_grant[m] && !trans_limit;
assign a_acknowledge[m] = a_grant[m] && int_axi_arvalid[m*M_COUNT+n] && s_axi_arready_mux;
end
assign trans_start = s_axi_arvalid_mux && s_axi_arready_mux && a_grant_valid;
// read response forwarding
wire [CL_S_COUNT-1:0] r_select = m_axi_rid[n*M_ID_WIDTH +: M_ID_WIDTH] >> S_ID_WIDTH;
assign int_axi_rvalid[n*S_COUNT +: S_COUNT] = int_m_axi_rvalid[n] << r_select;
assign int_m_axi_rready[n] = int_axi_rready[r_select*M_COUNT+n];
assign trans_complete = int_m_axi_rvalid[n] && int_m_axi_rready[n] && int_m_axi_rlast[n];
// M side register
axi_register_rd #(
.DATA_WIDTH(DATA_WIDTH),
.ADDR_WIDTH(ADDR_WIDTH),
.STRB_WIDTH(STRB_WIDTH),
.ID_WIDTH(M_ID_WIDTH),
.ARUSER_ENABLE(ARUSER_ENABLE),
.ARUSER_WIDTH(ARUSER_WIDTH),
.RUSER_ENABLE(RUSER_ENABLE),
.RUSER_WIDTH(RUSER_WIDTH),
.AR_REG_TYPE(M_AR_REG_TYPE[n*2 +: 2]),
.R_REG_TYPE(M_R_REG_TYPE[n*2 +: 2])
)
reg_inst (
.clk(clk),
.rst(rst),
.s_axi_arid(s_axi_arid_mux),
.s_axi_araddr(s_axi_araddr_mux),
.s_axi_arlen(s_axi_arlen_mux),
.s_axi_arsize(s_axi_arsize_mux),
.s_axi_arburst(s_axi_arburst_mux),
.s_axi_arlock(s_axi_arlock_mux),
.s_axi_arcache(s_axi_arcache_mux),
.s_axi_arprot(s_axi_arprot_mux),
.s_axi_arqos(s_axi_arqos_mux),
.s_axi_arregion(s_axi_arregion_mux),
.s_axi_aruser(s_axi_aruser_mux),
.s_axi_arvalid(s_axi_arvalid_mux),
.s_axi_arready(s_axi_arready_mux),
.s_axi_rid(int_m_axi_rid[n*M_ID_WIDTH +: M_ID_WIDTH]),
.s_axi_rdata(int_m_axi_rdata[n*DATA_WIDTH +: DATA_WIDTH]),
.s_axi_rresp(int_m_axi_rresp[n*2 +: 2]),
.s_axi_rlast(int_m_axi_rlast[n]),
.s_axi_ruser(int_m_axi_ruser[n*RUSER_WIDTH +: RUSER_WIDTH]),
.s_axi_rvalid(int_m_axi_rvalid[n]),
.s_axi_rready(int_m_axi_rready[n]),
.m_axi_arid(m_axi_arid[n*M_ID_WIDTH +: M_ID_WIDTH]),
.m_axi_araddr(m_axi_araddr[n*ADDR_WIDTH +: ADDR_WIDTH]),
.m_axi_arlen(m_axi_arlen[n*8 +: 8]),
.m_axi_arsize(m_axi_arsize[n*3 +: 3]),
.m_axi_arburst(m_axi_arburst[n*2 +: 2]),
.m_axi_arlock(m_axi_arlock[n]),
.m_axi_arcache(m_axi_arcache[n*4 +: 4]),
.m_axi_arprot(m_axi_arprot[n*3 +: 3]),
.m_axi_arqos(m_axi_arqos[n*4 +: 4]),
.m_axi_arregion(m_axi_arregion[n*4 +: 4]),
.m_axi_aruser(m_axi_aruser[n*ARUSER_WIDTH +: ARUSER_WIDTH]),
.m_axi_arvalid(m_axi_arvalid[n]),
.m_axi_arready(m_axi_arready[n]),
.m_axi_rid(m_axi_rid[n*M_ID_WIDTH +: M_ID_WIDTH]),
.m_axi_rdata(m_axi_rdata[n*DATA_WIDTH +: DATA_WIDTH]),
.m_axi_rresp(m_axi_rresp[n*2 +: 2]),
.m_axi_rlast(m_axi_rlast[n]),
.m_axi_ruser(m_axi_ruser[n*RUSER_WIDTH +: RUSER_WIDTH]),
.m_axi_rvalid(m_axi_rvalid[n]),
.m_axi_rready(m_axi_rready[n])
);
end // m_ifaces
endgenerate
end
// address arbitration
wire [S_COUNT-1:0] a_request;
wire [S_COUNT-1:0] a_acknowledge;
wire [S_COUNT-1:0] a_grant;
wire a_grant_valid;
wire [CL_S_COUNT-1:0] a_grant_encoded;
arbiter #(
.PORTS(S_COUNT),
.ARB_TYPE_ROUND_ROBIN(1),
.ARB_BLOCK(1),
.ARB_BLOCK_ACK(1),
.ARB_LSB_HIGH_PRIORITY(1)
) a_arb_inst (
.clk(clk),
.rst(rst),
.request(a_request),
.acknowledge(a_acknowledge),
.grant(a_grant),
.grant_valid(a_grant_valid),
.grant_encoded(a_grant_encoded)
);
// address mux
wire [M_ID_WIDTH-1:0] s_axi_arid_mux = int_s_axi_arid[a_grant_encoded*S_ID_WIDTH +: S_ID_WIDTH] | (a_grant_encoded << S_ID_WIDTH);
wire [ADDR_WIDTH-1:0] s_axi_araddr_mux = int_s_axi_araddr[a_grant_encoded*ADDR_WIDTH +: ADDR_WIDTH];
wire [7:0] s_axi_arlen_mux = int_s_axi_arlen[a_grant_encoded*8+:8];
wire [2:0] s_axi_arsize_mux = int_s_axi_arsize[a_grant_encoded*3+:3];
wire [1:0] s_axi_arburst_mux = int_s_axi_arburst[a_grant_encoded*2+:2];
wire s_axi_arlock_mux = int_s_axi_arlock[a_grant_encoded];
wire [3:0] s_axi_arcache_mux = int_s_axi_arcache[a_grant_encoded*4+:4];
wire [2:0] s_axi_arprot_mux = int_s_axi_arprot[a_grant_encoded*3+:3];
wire [3:0] s_axi_arqos_mux = int_s_axi_arqos[a_grant_encoded*4+:4];
wire [3:0] s_axi_arregion_mux = int_s_axi_arregion[a_grant_encoded*4+:4];
wire [ARUSER_WIDTH-1:0] s_axi_aruser_mux = int_s_axi_aruser[a_grant_encoded*ARUSER_WIDTH +: ARUSER_WIDTH];
wire s_axi_arvalid_mux = int_axi_arvalid[a_grant_encoded*M_COUNT+n] && a_grant_valid;
wire s_axi_arready_mux;
assign int_axi_arready[n*S_COUNT +: S_COUNT] = (a_grant_valid && s_axi_arready_mux) << a_grant_encoded;
for (m = 0; m < S_COUNT; m = m + 1) begin
assign a_request[m] = int_axi_arvalid[m*M_COUNT+n] && !a_grant[m] && !trans_limit;
assign a_acknowledge[m] = a_grant[m] && int_axi_arvalid[m*M_COUNT+n] && s_axi_arready_mux;
end
assign trans_start = s_axi_arvalid_mux && s_axi_arready_mux && a_grant_valid;
// read response forwarding
wire [CL_S_COUNT-1:0] r_select = m_axi_rid[n*M_ID_WIDTH+:M_ID_WIDTH] >> S_ID_WIDTH;
assign int_axi_rvalid[n*S_COUNT+:S_COUNT] = int_m_axi_rvalid[n] << r_select;
assign int_m_axi_rready[n] = int_axi_rready[r_select*M_COUNT+n];
assign trans_complete = int_m_axi_rvalid[n] && int_m_axi_rready[n] && int_m_axi_rlast[n];
// M side register
axi_register_rd #(
.DATA_WIDTH(DATA_WIDTH),
.ADDR_WIDTH(ADDR_WIDTH),
.STRB_WIDTH(STRB_WIDTH),
.ID_WIDTH(M_ID_WIDTH),
.ARUSER_ENABLE(ARUSER_ENABLE),
.ARUSER_WIDTH(ARUSER_WIDTH),
.RUSER_ENABLE(RUSER_ENABLE),
.RUSER_WIDTH(RUSER_WIDTH),
.AR_REG_TYPE(M_AR_REG_TYPE[n*2+:2]),
.R_REG_TYPE(M_R_REG_TYPE[n*2+:2])
) reg_inst (
.clk(clk),
.rst(rst),
.s_axi_arid(s_axi_arid_mux),
.s_axi_araddr(s_axi_araddr_mux),
.s_axi_arlen(s_axi_arlen_mux),
.s_axi_arsize(s_axi_arsize_mux),
.s_axi_arburst(s_axi_arburst_mux),
.s_axi_arlock(s_axi_arlock_mux),
.s_axi_arcache(s_axi_arcache_mux),
.s_axi_arprot(s_axi_arprot_mux),
.s_axi_arqos(s_axi_arqos_mux),
.s_axi_arregion(s_axi_arregion_mux),
.s_axi_aruser(s_axi_aruser_mux),
.s_axi_arvalid(s_axi_arvalid_mux),
.s_axi_arready(s_axi_arready_mux),
.s_axi_rid(int_m_axi_rid[n*M_ID_WIDTH+:M_ID_WIDTH]),
.s_axi_rdata(int_m_axi_rdata[n*DATA_WIDTH+:DATA_WIDTH]),
.s_axi_rresp(int_m_axi_rresp[n*2+:2]),
.s_axi_rlast(int_m_axi_rlast[n]),
.s_axi_ruser(int_m_axi_ruser[n*RUSER_WIDTH+:RUSER_WIDTH]),
.s_axi_rvalid(int_m_axi_rvalid[n]),
.s_axi_rready(int_m_axi_rready[n]),
.m_axi_arid(m_axi_arid[n*M_ID_WIDTH+:M_ID_WIDTH]),
.m_axi_araddr(m_axi_araddr[n*ADDR_WIDTH+:ADDR_WIDTH]),
.m_axi_arlen(m_axi_arlen[n*8+:8]),
.m_axi_arsize(m_axi_arsize[n*3+:3]),
.m_axi_arburst(m_axi_arburst[n*2+:2]),
.m_axi_arlock(m_axi_arlock[n]),
.m_axi_arcache(m_axi_arcache[n*4+:4]),
.m_axi_arprot(m_axi_arprot[n*3+:3]),
.m_axi_arqos(m_axi_arqos[n*4+:4]),
.m_axi_arregion(m_axi_arregion[n*4+:4]),
.m_axi_aruser(m_axi_aruser[n*ARUSER_WIDTH+:ARUSER_WIDTH]),
.m_axi_arvalid(m_axi_arvalid[n]),
.m_axi_arready(m_axi_arready[n]),
.m_axi_rid(m_axi_rid[n*M_ID_WIDTH+:M_ID_WIDTH]),
.m_axi_rdata(m_axi_rdata[n*DATA_WIDTH+:DATA_WIDTH]),
.m_axi_rresp(m_axi_rresp[n*2+:2]),
.m_axi_rlast(m_axi_rlast[n]),
.m_axi_ruser(m_axi_ruser[n*RUSER_WIDTH+:RUSER_WIDTH]),
.m_axi_rvalid(m_axi_rvalid[n]),
.m_axi_rready(m_axi_rready[n])
);
end // m_ifaces
endgenerate

Comment on lines +28 to +30
`resetall
`timescale 1ns / 1ps
`default_nettype none

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
`resetall
`timescale 1ns / 1ps
`default_nettype none
`resetall `timescale 1ns / 1ps `default_nettype none

Comment on lines +35 to +36
module axi_crossbar_wr #
(

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
module axi_crossbar_wr #
(
module axi_crossbar_wr #(

// Width of address bus in bits
parameter ADDR_WIDTH = 32,
// Width of wstrb (width of data bus in words)
parameter STRB_WIDTH = (DATA_WIDTH/8),

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
parameter STRB_WIDTH = (DATA_WIDTH/8),
parameter STRB_WIDTH = (DATA_WIDTH / 8),

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit

verible-verilog-format

testbench/axi4_mux/axi_crossbar_wr.v|585|
testbench/axi4_mux/axi_crossbar_wr.v|594|
testbench/axi4_mux/axi_crossbar_wr.v|597|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|28|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|35|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|42|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|47|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|139|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|147|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|190|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|236|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|282|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|285|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|288|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|290|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|292|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|294|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|296|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|298|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|300|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|302|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|304|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|306|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|308|
testbench/axi4_mux/axi_crossbar_wrap_2x1.v|310|
testbench/axi4_mux/axi_register_rd.v|28|
testbench/axi4_mux/axi_register_rd.v|35|
testbench/axi4_mux/axi_register_rd.v|42|
testbench/axi4_mux/axi_register_rd.v|59|
testbench/axi4_mux/axi_register_rd.v|67|
testbench/axi4_mux/axi_register_rd.v|91|
testbench/axi4_mux/axi_register_rd.v|113|
testbench/axi4_mux/axi_register_rd.v|187|
testbench/axi4_mux/axi_register_rd.v|191 col 1|
testbench/axi4_mux/axi_register_rd.v|192|
testbench/axi4_mux/axi_register_rd.v|200|
testbench/axi4_mux/axi_register_rd.v|211|
testbench/axi4_mux/axi_register_rd.v|238|
testbench/axi4_mux/axi_register_rd.v|307|
testbench/axi4_mux/axi_register_rd.v|312|
testbench/axi4_mux/axi_register_rd.v|316|
testbench/axi4_mux/axi_register_rd.v|330|
testbench/axi4_mux/axi_register_rd.v|405|
testbench/axi4_mux/axi_register_rd.v|409 col 1|
testbench/axi4_mux/axi_register_rd.v|410|
testbench/axi4_mux/axi_register_rd.v|418|
testbench/axi4_mux/axi_register_rd.v|429|
testbench/axi4_mux/axi_register_rd.v|444|
testbench/axi4_mux/axi_register_rd.v|453|
testbench/axi4_mux/axi_register_rd.v|456|
testbench/axi4_mux/axi_register_rd.v|459|
testbench/axi4_mux/axi_register_rd.v|466|
testbench/axi4_mux/axi_register_rd.v|469|
testbench/axi4_mux/axi_register_rd.v|471|
testbench/axi4_mux/axi_register_rd.v|478|
testbench/axi4_mux/axi_register_rd.v|481|
testbench/axi4_mux/axi_register_rd.v|485|
testbench/axi4_mux/axi_register_rd.v|487|
testbench/axi4_mux/axi_register_rd.v|495|
testbench/axi4_mux/axi_register_rd.v|504|
testbench/axi4_mux/axi_register_rd.v|514|
testbench/axi4_mux/axi_register_rd.v|516|
testbench/axi4_mux/axi_register_rd.v|525|
testbench/axi4_mux/axi_register_rd.v|527|
testbench/axi4_mux/axi_register_wr.v|28|
testbench/axi4_mux/axi_register_wr.v|35|
testbench/axi4_mux/axi_register_wr.v|42|
testbench/axi4_mux/axi_register_wr.v|66|
testbench/axi4_mux/axi_register_wr.v|74|
testbench/axi4_mux/axi_register_wr.v|102|
testbench/axi4_mux/axi_register_wr.v|128|
testbench/axi4_mux/axi_register_wr.v|202|
testbench/axi4_mux/axi_register_wr.v|206 col 1|
testbench/axi4_mux/axi_register_wr.v|207|
testbench/axi4_mux/axi_register_wr.v|215|
testbench/axi4_mux/axi_register_wr.v|226|
testbench/axi4_mux/axi_register_wr.v|253|
testbench/axi4_mux/axi_register_wr.v|322|
testbench/axi4_mux/axi_register_wr.v|327|
testbench/axi4_mux/axi_register_wr.v|331|
testbench/axi4_mux/axi_register_wr.v|345|
testbench/axi4_mux/axi_register_wr.v|417|
testbench/axi4_mux/axi_register_wr.v|421 col 1|
testbench/axi4_mux/axi_register_wr.v|422|
testbench/axi4_mux/axi_register_wr.v|430|
testbench/axi4_mux/axi_register_wr.v|441|
testbench/axi4_mux/axi_register_wr.v|454|
testbench/axi4_mux/axi_register_wr.v|462|
testbench/axi4_mux/axi_register_wr.v|465|
testbench/axi4_mux/axi_register_wr.v|468|
testbench/axi4_mux/axi_register_wr.v|474|
testbench/axi4_mux/axi_register_wr.v|477|
testbench/axi4_mux/axi_register_wr.v|479|
testbench/axi4_mux/axi_register_wr.v|485|
testbench/axi4_mux/axi_register_wr.v|488|
testbench/axi4_mux/axi_register_wr.v|492|
testbench/axi4_mux/axi_register_wr.v|494|
testbench/axi4_mux/axi_register_wr.v|502|
testbench/axi4_mux/axi_register_wr.v|511|
testbench/axi4_mux/axi_register_wr.v|520|
testbench/axi4_mux/axi_register_wr.v|522|
testbench/axi4_mux/axi_register_wr.v|530|
testbench/axi4_mux/axi_register_wr.v|532|
testbench/axi4_mux/axi_register_wr.v|534|
testbench/axi4_mux/axi_register_wr.v|537|
testbench/axi4_mux/axi_register_wr.v|540|
testbench/axi4_mux/axi_register_wr.v|545|
testbench/axi4_mux/axi_register_wr.v|550|
testbench/axi4_mux/axi_register_wr.v|555|
testbench/axi4_mux/axi_register_wr.v|557|
testbench/axi4_mux/axi_register_wr.v|562|
testbench/axi4_mux/axi_register_wr.v|565|
testbench/axi4_mux/axi_register_wr.v|570|
testbench/axi4_mux/axi_register_wr.v|574|
testbench/axi4_mux/axi_register_wr.v|580|
testbench/axi4_mux/axi_register_wr.v|584 col 1|
testbench/axi4_mux/axi_register_wr.v|585|
testbench/axi4_mux/axi_register_wr.v|593|
testbench/axi4_mux/axi_register_wr.v|604|
testbench/axi4_mux/axi_register_wr.v|615|
testbench/axi4_mux/axi_register_wr.v|622|
testbench/axi4_mux/axi_register_wr.v|625|
testbench/axi4_mux/axi_register_wr.v|628|
testbench/axi4_mux/axi_register_wr.v|633|
testbench/axi4_mux/axi_register_wr.v|636|
testbench/axi4_mux/axi_register_wr.v|638|
testbench/axi4_mux/axi_register_wr.v|643|
testbench/axi4_mux/axi_register_wr.v|646|
testbench/axi4_mux/axi_register_wr.v|650|
testbench/axi4_mux/axi_register_wr.v|652|
testbench/axi4_mux/axi_register_wr.v|660|
testbench/axi4_mux/axi_register_wr.v|669|
testbench/axi4_mux/axi_register_wr.v|677|
testbench/axi4_mux/axi_register_wr.v|679|
testbench/axi4_mux/axi_register_wr.v|686|
testbench/axi4_mux/axi_register_wr.v|688|
testbench/axi4_mux/priority_encoder.v|28|
testbench/axi4_mux/priority_encoder.v|35|
testbench/axi4_mux/priority_encoder.v|40|
testbench/axi4_mux/priority_encoder.v|45|
testbench/axi4_mux/priority_encoder.v|48|
testbench/axi4_mux/priority_encoder.v|51|
testbench/axi4_mux/priority_encoder.v|54|
testbench/axi4_mux/priority_encoder.v|57|
testbench/axi4_mux/priority_encoder.v|61|
testbench/axi4_mux/priority_encoder.v|74|
testbench/axi4_mux/priority_encoder.v|84 col 1|
testbench/axi4_mux/priority_encoder.v|85|
testbench/axi4_mux/priority_encoder.v|87|
testbench/jtagdpi/jtagdpi.sv|7|
testbench/jtagdpi/jtagdpi.sv|21|
testbench/jtagdpi/jtagdpi.sv|24|
testbench/jtagdpi/jtagdpi.sv|29|
testbench/jtagdpi/jtagdpi.sv|44|

parameter S_ID_WIDTH = 8,
// Output ID field width (towards AXI slaves)
// Additional bits required for response routing
parameter M_ID_WIDTH = S_ID_WIDTH+$clog2(S_COUNT),

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
parameter M_ID_WIDTH = S_ID_WIDTH+$clog2(S_COUNT),
parameter M_ID_WIDTH = S_ID_WIDTH + $clog2(S_COUNT),

Comment on lines +106 to +109
)
(
input wire clk,
input wire rst,

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
)
(
input wire clk,
input wire rst,
) (
input wire clk,
input wire rst,

Comment on lines +114 to +136
input wire [S_COUNT*S_ID_WIDTH-1:0] s_axi_awid,
input wire [S_COUNT*ADDR_WIDTH-1:0] s_axi_awaddr,
input wire [S_COUNT*8-1:0] s_axi_awlen,
input wire [S_COUNT*3-1:0] s_axi_awsize,
input wire [S_COUNT*2-1:0] s_axi_awburst,
input wire [S_COUNT-1:0] s_axi_awlock,
input wire [S_COUNT*4-1:0] s_axi_awcache,
input wire [S_COUNT*3-1:0] s_axi_awprot,
input wire [S_COUNT*4-1:0] s_axi_awqos,
input wire [S_COUNT*AWUSER_WIDTH-1:0] s_axi_awuser,
input wire [S_COUNT-1:0] s_axi_awvalid,
output wire [S_COUNT-1:0] s_axi_awready,
input wire [S_COUNT*DATA_WIDTH-1:0] s_axi_wdata,
input wire [S_COUNT*STRB_WIDTH-1:0] s_axi_wstrb,
input wire [S_COUNT-1:0] s_axi_wlast,
input wire [S_COUNT*WUSER_WIDTH-1:0] s_axi_wuser,
input wire [S_COUNT-1:0] s_axi_wvalid,
output wire [S_COUNT-1:0] s_axi_wready,
output wire [S_COUNT*S_ID_WIDTH-1:0] s_axi_bid,
output wire [S_COUNT*2-1:0] s_axi_bresp,
output wire [S_COUNT*BUSER_WIDTH-1:0] s_axi_buser,
output wire [S_COUNT-1:0] s_axi_bvalid,
input wire [S_COUNT-1:0] s_axi_bready,

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
input wire [S_COUNT*S_ID_WIDTH-1:0] s_axi_awid,
input wire [S_COUNT*ADDR_WIDTH-1:0] s_axi_awaddr,
input wire [S_COUNT*8-1:0] s_axi_awlen,
input wire [S_COUNT*3-1:0] s_axi_awsize,
input wire [S_COUNT*2-1:0] s_axi_awburst,
input wire [S_COUNT-1:0] s_axi_awlock,
input wire [S_COUNT*4-1:0] s_axi_awcache,
input wire [S_COUNT*3-1:0] s_axi_awprot,
input wire [S_COUNT*4-1:0] s_axi_awqos,
input wire [S_COUNT*AWUSER_WIDTH-1:0] s_axi_awuser,
input wire [S_COUNT-1:0] s_axi_awvalid,
output wire [S_COUNT-1:0] s_axi_awready,
input wire [S_COUNT*DATA_WIDTH-1:0] s_axi_wdata,
input wire [S_COUNT*STRB_WIDTH-1:0] s_axi_wstrb,
input wire [S_COUNT-1:0] s_axi_wlast,
input wire [S_COUNT*WUSER_WIDTH-1:0] s_axi_wuser,
input wire [S_COUNT-1:0] s_axi_wvalid,
output wire [S_COUNT-1:0] s_axi_wready,
output wire [S_COUNT*S_ID_WIDTH-1:0] s_axi_bid,
output wire [S_COUNT*2-1:0] s_axi_bresp,
output wire [S_COUNT*BUSER_WIDTH-1:0] s_axi_buser,
output wire [S_COUNT-1:0] s_axi_bvalid,
input wire [S_COUNT-1:0] s_axi_bready,
input wire [ S_COUNT*S_ID_WIDTH-1:0] s_axi_awid,
input wire [ S_COUNT*ADDR_WIDTH-1:0] s_axi_awaddr,
input wire [ S_COUNT*8-1:0] s_axi_awlen,
input wire [ S_COUNT*3-1:0] s_axi_awsize,
input wire [ S_COUNT*2-1:0] s_axi_awburst,
input wire [ S_COUNT-1:0] s_axi_awlock,
input wire [ S_COUNT*4-1:0] s_axi_awcache,
input wire [ S_COUNT*3-1:0] s_axi_awprot,
input wire [ S_COUNT*4-1:0] s_axi_awqos,
input wire [S_COUNT*AWUSER_WIDTH-1:0] s_axi_awuser,
input wire [ S_COUNT-1:0] s_axi_awvalid,
output wire [ S_COUNT-1:0] s_axi_awready,
input wire [ S_COUNT*DATA_WIDTH-1:0] s_axi_wdata,
input wire [ S_COUNT*STRB_WIDTH-1:0] s_axi_wstrb,
input wire [ S_COUNT-1:0] s_axi_wlast,
input wire [ S_COUNT*WUSER_WIDTH-1:0] s_axi_wuser,
input wire [ S_COUNT-1:0] s_axi_wvalid,
output wire [ S_COUNT-1:0] s_axi_wready,
output wire [ S_COUNT*S_ID_WIDTH-1:0] s_axi_bid,
output wire [ S_COUNT*2-1:0] s_axi_bresp,
output wire [ S_COUNT*BUSER_WIDTH-1:0] s_axi_buser,
output wire [ S_COUNT-1:0] s_axi_bvalid,
input wire [ S_COUNT-1:0] s_axi_bready,

Comment on lines +141 to +164
output wire [M_COUNT*M_ID_WIDTH-1:0] m_axi_awid,
output wire [M_COUNT*ADDR_WIDTH-1:0] m_axi_awaddr,
output wire [M_COUNT*8-1:0] m_axi_awlen,
output wire [M_COUNT*3-1:0] m_axi_awsize,
output wire [M_COUNT*2-1:0] m_axi_awburst,
output wire [M_COUNT-1:0] m_axi_awlock,
output wire [M_COUNT*4-1:0] m_axi_awcache,
output wire [M_COUNT*3-1:0] m_axi_awprot,
output wire [M_COUNT*4-1:0] m_axi_awqos,
output wire [M_COUNT*4-1:0] m_axi_awregion,
output wire [M_COUNT*AWUSER_WIDTH-1:0] m_axi_awuser,
output wire [M_COUNT-1:0] m_axi_awvalid,
input wire [M_COUNT-1:0] m_axi_awready,
output wire [M_COUNT*DATA_WIDTH-1:0] m_axi_wdata,
output wire [M_COUNT*STRB_WIDTH-1:0] m_axi_wstrb,
output wire [M_COUNT-1:0] m_axi_wlast,
output wire [M_COUNT*WUSER_WIDTH-1:0] m_axi_wuser,
output wire [M_COUNT-1:0] m_axi_wvalid,
input wire [M_COUNT-1:0] m_axi_wready,
input wire [M_COUNT*M_ID_WIDTH-1:0] m_axi_bid,
input wire [M_COUNT*2-1:0] m_axi_bresp,
input wire [M_COUNT*BUSER_WIDTH-1:0] m_axi_buser,
input wire [M_COUNT-1:0] m_axi_bvalid,
output wire [M_COUNT-1:0] m_axi_bready

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
output wire [M_COUNT*M_ID_WIDTH-1:0] m_axi_awid,
output wire [M_COUNT*ADDR_WIDTH-1:0] m_axi_awaddr,
output wire [M_COUNT*8-1:0] m_axi_awlen,
output wire [M_COUNT*3-1:0] m_axi_awsize,
output wire [M_COUNT*2-1:0] m_axi_awburst,
output wire [M_COUNT-1:0] m_axi_awlock,
output wire [M_COUNT*4-1:0] m_axi_awcache,
output wire [M_COUNT*3-1:0] m_axi_awprot,
output wire [M_COUNT*4-1:0] m_axi_awqos,
output wire [M_COUNT*4-1:0] m_axi_awregion,
output wire [M_COUNT*AWUSER_WIDTH-1:0] m_axi_awuser,
output wire [M_COUNT-1:0] m_axi_awvalid,
input wire [M_COUNT-1:0] m_axi_awready,
output wire [M_COUNT*DATA_WIDTH-1:0] m_axi_wdata,
output wire [M_COUNT*STRB_WIDTH-1:0] m_axi_wstrb,
output wire [M_COUNT-1:0] m_axi_wlast,
output wire [M_COUNT*WUSER_WIDTH-1:0] m_axi_wuser,
output wire [M_COUNT-1:0] m_axi_wvalid,
input wire [M_COUNT-1:0] m_axi_wready,
input wire [M_COUNT*M_ID_WIDTH-1:0] m_axi_bid,
input wire [M_COUNT*2-1:0] m_axi_bresp,
input wire [M_COUNT*BUSER_WIDTH-1:0] m_axi_buser,
input wire [M_COUNT-1:0] m_axi_bvalid,
output wire [M_COUNT-1:0] m_axi_bready
output wire [ M_COUNT*M_ID_WIDTH-1:0] m_axi_awid,
output wire [ M_COUNT*ADDR_WIDTH-1:0] m_axi_awaddr,
output wire [ M_COUNT*8-1:0] m_axi_awlen,
output wire [ M_COUNT*3-1:0] m_axi_awsize,
output wire [ M_COUNT*2-1:0] m_axi_awburst,
output wire [ M_COUNT-1:0] m_axi_awlock,
output wire [ M_COUNT*4-1:0] m_axi_awcache,
output wire [ M_COUNT*3-1:0] m_axi_awprot,
output wire [ M_COUNT*4-1:0] m_axi_awqos,
output wire [ M_COUNT*4-1:0] m_axi_awregion,
output wire [M_COUNT*AWUSER_WIDTH-1:0] m_axi_awuser,
output wire [ M_COUNT-1:0] m_axi_awvalid,
input wire [ M_COUNT-1:0] m_axi_awready,
output wire [ M_COUNT*DATA_WIDTH-1:0] m_axi_wdata,
output wire [ M_COUNT*STRB_WIDTH-1:0] m_axi_wstrb,
output wire [ M_COUNT-1:0] m_axi_wlast,
output wire [ M_COUNT*WUSER_WIDTH-1:0] m_axi_wuser,
output wire [ M_COUNT-1:0] m_axi_wvalid,
input wire [ M_COUNT-1:0] m_axi_wready,
input wire [ M_COUNT*M_ID_WIDTH-1:0] m_axi_bid,
input wire [ M_COUNT*2-1:0] m_axi_bresp,
input wire [ M_COUNT*BUSER_WIDTH-1:0] m_axi_buser,
input wire [ M_COUNT-1:0] m_axi_bvalid,
output wire [ M_COUNT-1:0] m_axi_bready

Comment on lines +167 to +170
parameter CL_S_COUNT = $clog2(S_COUNT);
parameter CL_M_COUNT = $clog2(M_COUNT);
parameter M_COUNT_P1 = M_COUNT+1;
parameter CL_M_COUNT_P1 = $clog2(M_COUNT_P1);

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
parameter CL_S_COUNT = $clog2(S_COUNT);
parameter CL_M_COUNT = $clog2(M_COUNT);
parameter M_COUNT_P1 = M_COUNT+1;
parameter CL_M_COUNT_P1 = $clog2(M_COUNT_P1);
parameter CL_S_COUNT = $clog2(S_COUNT);
parameter CL_M_COUNT = $clog2(M_COUNT);
parameter M_COUNT_P1 = M_COUNT + 1;
parameter CL_M_COUNT_P1 = $clog2(M_COUNT_P1);

Comment on lines +414 to +488
assign b_request[M_COUNT_P1-1] = decerr_m_axi_bvalid_reg && !b_grant[M_COUNT_P1-1];
assign b_acknowledge[M_COUNT_P1-1] = b_grant[M_COUNT_P1-1] && decerr_m_axi_bvalid_reg && m_axi_bready_mux;

assign s_cpl_id = m_axi_bid_mux;
assign s_cpl_valid = m_axi_bvalid_mux && m_axi_bready_mux;

// S side register
axi_register_wr #(
.DATA_WIDTH(DATA_WIDTH),
.ADDR_WIDTH(ADDR_WIDTH),
.STRB_WIDTH(STRB_WIDTH),
.ID_WIDTH(S_ID_WIDTH),
.AWUSER_ENABLE(AWUSER_ENABLE),
.AWUSER_WIDTH(AWUSER_WIDTH),
.WUSER_ENABLE(WUSER_ENABLE),
.WUSER_WIDTH(WUSER_WIDTH),
.BUSER_ENABLE(BUSER_ENABLE),
.BUSER_WIDTH(BUSER_WIDTH),
.AW_REG_TYPE(S_AW_REG_TYPE[m*2 +: 2]),
.W_REG_TYPE(S_W_REG_TYPE[m*2 +: 2]),
.B_REG_TYPE(S_B_REG_TYPE[m*2 +: 2])
)
reg_inst (
.clk(clk),
.rst(rst),
.s_axi_awid(s_axi_awid[m*S_ID_WIDTH +: S_ID_WIDTH]),
.s_axi_awaddr(s_axi_awaddr[m*ADDR_WIDTH +: ADDR_WIDTH]),
.s_axi_awlen(s_axi_awlen[m*8 +: 8]),
.s_axi_awsize(s_axi_awsize[m*3 +: 3]),
.s_axi_awburst(s_axi_awburst[m*2 +: 2]),
.s_axi_awlock(s_axi_awlock[m]),
.s_axi_awcache(s_axi_awcache[m*4 +: 4]),
.s_axi_awprot(s_axi_awprot[m*3 +: 3]),
.s_axi_awqos(s_axi_awqos[m*4 +: 4]),
.s_axi_awregion(4'd0),
.s_axi_awuser(s_axi_awuser[m*AWUSER_WIDTH +: AWUSER_WIDTH]),
.s_axi_awvalid(s_axi_awvalid[m]),
.s_axi_awready(s_axi_awready[m]),
.s_axi_wdata(s_axi_wdata[m*DATA_WIDTH +: DATA_WIDTH]),
.s_axi_wstrb(s_axi_wstrb[m*STRB_WIDTH +: STRB_WIDTH]),
.s_axi_wlast(s_axi_wlast[m]),
.s_axi_wuser(s_axi_wuser[m*WUSER_WIDTH +: WUSER_WIDTH]),
.s_axi_wvalid(s_axi_wvalid[m]),
.s_axi_wready(s_axi_wready[m]),
.s_axi_bid(s_axi_bid[m*S_ID_WIDTH +: S_ID_WIDTH]),
.s_axi_bresp(s_axi_bresp[m*2 +: 2]),
.s_axi_buser(s_axi_buser[m*BUSER_WIDTH +: BUSER_WIDTH]),
.s_axi_bvalid(s_axi_bvalid[m]),
.s_axi_bready(s_axi_bready[m]),
.m_axi_awid(int_s_axi_awid[m*S_ID_WIDTH +: S_ID_WIDTH]),
.m_axi_awaddr(int_s_axi_awaddr[m*ADDR_WIDTH +: ADDR_WIDTH]),
.m_axi_awlen(int_s_axi_awlen[m*8 +: 8]),
.m_axi_awsize(int_s_axi_awsize[m*3 +: 3]),
.m_axi_awburst(int_s_axi_awburst[m*2 +: 2]),
.m_axi_awlock(int_s_axi_awlock[m]),
.m_axi_awcache(int_s_axi_awcache[m*4 +: 4]),
.m_axi_awprot(int_s_axi_awprot[m*3 +: 3]),
.m_axi_awqos(int_s_axi_awqos[m*4 +: 4]),
.m_axi_awregion(),
.m_axi_awuser(int_s_axi_awuser[m*AWUSER_WIDTH +: AWUSER_WIDTH]),
.m_axi_awvalid(int_s_axi_awvalid[m]),
.m_axi_awready(int_s_axi_awready[m]),
.m_axi_wdata(int_s_axi_wdata[m*DATA_WIDTH +: DATA_WIDTH]),
.m_axi_wstrb(int_s_axi_wstrb[m*STRB_WIDTH +: STRB_WIDTH]),
.m_axi_wlast(int_s_axi_wlast[m]),
.m_axi_wuser(int_s_axi_wuser[m*WUSER_WIDTH +: WUSER_WIDTH]),
.m_axi_wvalid(int_s_axi_wvalid[m]),
.m_axi_wready(int_s_axi_wready[m]),
.m_axi_bid(m_axi_bid_mux),
.m_axi_bresp(m_axi_bresp_mux),
.m_axi_buser(m_axi_buser_mux),
.m_axi_bvalid(m_axi_bvalid_mux),
.m_axi_bready(m_axi_bready_mux)
);
end // s_ifaces

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
assign b_request[M_COUNT_P1-1] = decerr_m_axi_bvalid_reg && !b_grant[M_COUNT_P1-1];
assign b_acknowledge[M_COUNT_P1-1] = b_grant[M_COUNT_P1-1] && decerr_m_axi_bvalid_reg && m_axi_bready_mux;
assign s_cpl_id = m_axi_bid_mux;
assign s_cpl_valid = m_axi_bvalid_mux && m_axi_bready_mux;
// S side register
axi_register_wr #(
.DATA_WIDTH(DATA_WIDTH),
.ADDR_WIDTH(ADDR_WIDTH),
.STRB_WIDTH(STRB_WIDTH),
.ID_WIDTH(S_ID_WIDTH),
.AWUSER_ENABLE(AWUSER_ENABLE),
.AWUSER_WIDTH(AWUSER_WIDTH),
.WUSER_ENABLE(WUSER_ENABLE),
.WUSER_WIDTH(WUSER_WIDTH),
.BUSER_ENABLE(BUSER_ENABLE),
.BUSER_WIDTH(BUSER_WIDTH),
.AW_REG_TYPE(S_AW_REG_TYPE[m*2 +: 2]),
.W_REG_TYPE(S_W_REG_TYPE[m*2 +: 2]),
.B_REG_TYPE(S_B_REG_TYPE[m*2 +: 2])
)
reg_inst (
.clk(clk),
.rst(rst),
.s_axi_awid(s_axi_awid[m*S_ID_WIDTH +: S_ID_WIDTH]),
.s_axi_awaddr(s_axi_awaddr[m*ADDR_WIDTH +: ADDR_WIDTH]),
.s_axi_awlen(s_axi_awlen[m*8 +: 8]),
.s_axi_awsize(s_axi_awsize[m*3 +: 3]),
.s_axi_awburst(s_axi_awburst[m*2 +: 2]),
.s_axi_awlock(s_axi_awlock[m]),
.s_axi_awcache(s_axi_awcache[m*4 +: 4]),
.s_axi_awprot(s_axi_awprot[m*3 +: 3]),
.s_axi_awqos(s_axi_awqos[m*4 +: 4]),
.s_axi_awregion(4'd0),
.s_axi_awuser(s_axi_awuser[m*AWUSER_WIDTH +: AWUSER_WIDTH]),
.s_axi_awvalid(s_axi_awvalid[m]),
.s_axi_awready(s_axi_awready[m]),
.s_axi_wdata(s_axi_wdata[m*DATA_WIDTH +: DATA_WIDTH]),
.s_axi_wstrb(s_axi_wstrb[m*STRB_WIDTH +: STRB_WIDTH]),
.s_axi_wlast(s_axi_wlast[m]),
.s_axi_wuser(s_axi_wuser[m*WUSER_WIDTH +: WUSER_WIDTH]),
.s_axi_wvalid(s_axi_wvalid[m]),
.s_axi_wready(s_axi_wready[m]),
.s_axi_bid(s_axi_bid[m*S_ID_WIDTH +: S_ID_WIDTH]),
.s_axi_bresp(s_axi_bresp[m*2 +: 2]),
.s_axi_buser(s_axi_buser[m*BUSER_WIDTH +: BUSER_WIDTH]),
.s_axi_bvalid(s_axi_bvalid[m]),
.s_axi_bready(s_axi_bready[m]),
.m_axi_awid(int_s_axi_awid[m*S_ID_WIDTH +: S_ID_WIDTH]),
.m_axi_awaddr(int_s_axi_awaddr[m*ADDR_WIDTH +: ADDR_WIDTH]),
.m_axi_awlen(int_s_axi_awlen[m*8 +: 8]),
.m_axi_awsize(int_s_axi_awsize[m*3 +: 3]),
.m_axi_awburst(int_s_axi_awburst[m*2 +: 2]),
.m_axi_awlock(int_s_axi_awlock[m]),
.m_axi_awcache(int_s_axi_awcache[m*4 +: 4]),
.m_axi_awprot(int_s_axi_awprot[m*3 +: 3]),
.m_axi_awqos(int_s_axi_awqos[m*4 +: 4]),
.m_axi_awregion(),
.m_axi_awuser(int_s_axi_awuser[m*AWUSER_WIDTH +: AWUSER_WIDTH]),
.m_axi_awvalid(int_s_axi_awvalid[m]),
.m_axi_awready(int_s_axi_awready[m]),
.m_axi_wdata(int_s_axi_wdata[m*DATA_WIDTH +: DATA_WIDTH]),
.m_axi_wstrb(int_s_axi_wstrb[m*STRB_WIDTH +: STRB_WIDTH]),
.m_axi_wlast(int_s_axi_wlast[m]),
.m_axi_wuser(int_s_axi_wuser[m*WUSER_WIDTH +: WUSER_WIDTH]),
.m_axi_wvalid(int_s_axi_wvalid[m]),
.m_axi_wready(int_s_axi_wready[m]),
.m_axi_bid(m_axi_bid_mux),
.m_axi_bresp(m_axi_bresp_mux),
.m_axi_buser(m_axi_buser_mux),
.m_axi_bvalid(m_axi_bvalid_mux),
.m_axi_bready(m_axi_bready_mux)
);
end // s_ifaces
w_select_reg <= w_select_next;
w_drop_reg <= w_drop_next;
end

Comment on lines +490 to +508
for (n = 0; n < M_COUNT; n = n + 1) begin : m_ifaces
// in-flight transaction count
wire trans_start;
wire trans_complete;
reg [$clog2(M_ISSUE[n*32 +: 32]+1)-1:0] trans_count_reg = 0;

wire trans_limit = trans_count_reg >= M_ISSUE[n*32 +: 32] && !trans_complete;

always @(posedge clk) begin
if (rst) begin
trans_count_reg <= 0;
end else begin
if (trans_start && !trans_complete) begin
trans_count_reg <= trans_count_reg + 1;
end else if (!trans_start && trans_complete) begin
trans_count_reg <= trans_count_reg - 1;
end
end
end

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
for (n = 0; n < M_COUNT; n = n + 1) begin : m_ifaces
// in-flight transaction count
wire trans_start;
wire trans_complete;
reg [$clog2(M_ISSUE[n*32 +: 32]+1)-1:0] trans_count_reg = 0;
wire trans_limit = trans_count_reg >= M_ISSUE[n*32 +: 32] && !trans_complete;
always @(posedge clk) begin
if (rst) begin
trans_count_reg <= 0;
end else begin
if (trans_start && !trans_complete) begin
trans_count_reg <= trans_count_reg + 1;
end else if (!trans_start && trans_complete) begin
trans_count_reg <= trans_count_reg - 1;
end
end
end
// write data forwarding
assign int_axi_wvalid[m*M_COUNT +: M_COUNT] = (int_s_axi_wvalid[m] && w_select_valid_reg && !w_drop_reg) << w_select_reg;
assign int_s_axi_wready[m] = int_axi_wready[w_select_reg*S_COUNT+m] || w_drop_reg;
// decode error handling
reg [S_ID_WIDTH-1:0] decerr_m_axi_bid_reg = {S_ID_WIDTH{1'b0}}, decerr_m_axi_bid_next;
reg decerr_m_axi_bvalid_reg = 1'b0, decerr_m_axi_bvalid_next;
wire decerr_m_axi_bready;
assign m_rc_ready = !decerr_m_axi_bvalid_reg;
always @* begin
decerr_m_axi_bid_next = decerr_m_axi_bid_reg;
decerr_m_axi_bvalid_next = decerr_m_axi_bvalid_reg;

Comment on lines +510 to +557
// address arbitration
reg [CL_S_COUNT-1:0] w_select_reg = 0, w_select_next;
reg w_select_valid_reg = 1'b0, w_select_valid_next;
reg w_select_new_reg = 1'b0, w_select_new_next;

wire [S_COUNT-1:0] a_request;
wire [S_COUNT-1:0] a_acknowledge;
wire [S_COUNT-1:0] a_grant;
wire a_grant_valid;
wire [CL_S_COUNT-1:0] a_grant_encoded;

arbiter #(
.PORTS(S_COUNT),
.ARB_TYPE_ROUND_ROBIN(1),
.ARB_BLOCK(1),
.ARB_BLOCK_ACK(1),
.ARB_LSB_HIGH_PRIORITY(1)
)
a_arb_inst (
.clk(clk),
.rst(rst),
.request(a_request),
.acknowledge(a_acknowledge),
.grant(a_grant),
.grant_valid(a_grant_valid),
.grant_encoded(a_grant_encoded)
);

// address mux
wire [M_ID_WIDTH-1:0] s_axi_awid_mux = int_s_axi_awid[a_grant_encoded*S_ID_WIDTH +: S_ID_WIDTH] | (a_grant_encoded << S_ID_WIDTH);
wire [ADDR_WIDTH-1:0] s_axi_awaddr_mux = int_s_axi_awaddr[a_grant_encoded*ADDR_WIDTH +: ADDR_WIDTH];
wire [7:0] s_axi_awlen_mux = int_s_axi_awlen[a_grant_encoded*8 +: 8];
wire [2:0] s_axi_awsize_mux = int_s_axi_awsize[a_grant_encoded*3 +: 3];
wire [1:0] s_axi_awburst_mux = int_s_axi_awburst[a_grant_encoded*2 +: 2];
wire s_axi_awlock_mux = int_s_axi_awlock[a_grant_encoded];
wire [3:0] s_axi_awcache_mux = int_s_axi_awcache[a_grant_encoded*4 +: 4];
wire [2:0] s_axi_awprot_mux = int_s_axi_awprot[a_grant_encoded*3 +: 3];
wire [3:0] s_axi_awqos_mux = int_s_axi_awqos[a_grant_encoded*4 +: 4];
wire [3:0] s_axi_awregion_mux = int_s_axi_awregion[a_grant_encoded*4 +: 4];
wire [AWUSER_WIDTH-1:0] s_axi_awuser_mux = int_s_axi_awuser[a_grant_encoded*AWUSER_WIDTH +: AWUSER_WIDTH];
wire s_axi_awvalid_mux = int_axi_awvalid[a_grant_encoded*M_COUNT+n] && a_grant_valid;
wire s_axi_awready_mux;

assign int_axi_awready[n*S_COUNT +: S_COUNT] = (a_grant_valid && s_axi_awready_mux) << a_grant_encoded;

for (m = 0; m < S_COUNT; m = m + 1) begin
assign a_request[m] = int_axi_awvalid[m*M_COUNT+n] && !a_grant[m] && !trans_limit && !w_select_valid_next;
assign a_acknowledge[m] = a_grant[m] && int_axi_awvalid[m*M_COUNT+n] && s_axi_awready_mux;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
// address arbitration
reg [CL_S_COUNT-1:0] w_select_reg = 0, w_select_next;
reg w_select_valid_reg = 1'b0, w_select_valid_next;
reg w_select_new_reg = 1'b0, w_select_new_next;
wire [S_COUNT-1:0] a_request;
wire [S_COUNT-1:0] a_acknowledge;
wire [S_COUNT-1:0] a_grant;
wire a_grant_valid;
wire [CL_S_COUNT-1:0] a_grant_encoded;
arbiter #(
.PORTS(S_COUNT),
.ARB_TYPE_ROUND_ROBIN(1),
.ARB_BLOCK(1),
.ARB_BLOCK_ACK(1),
.ARB_LSB_HIGH_PRIORITY(1)
)
a_arb_inst (
.clk(clk),
.rst(rst),
.request(a_request),
.acknowledge(a_acknowledge),
.grant(a_grant),
.grant_valid(a_grant_valid),
.grant_encoded(a_grant_encoded)
);
// address mux
wire [M_ID_WIDTH-1:0] s_axi_awid_mux = int_s_axi_awid[a_grant_encoded*S_ID_WIDTH +: S_ID_WIDTH] | (a_grant_encoded << S_ID_WIDTH);
wire [ADDR_WIDTH-1:0] s_axi_awaddr_mux = int_s_axi_awaddr[a_grant_encoded*ADDR_WIDTH +: ADDR_WIDTH];
wire [7:0] s_axi_awlen_mux = int_s_axi_awlen[a_grant_encoded*8 +: 8];
wire [2:0] s_axi_awsize_mux = int_s_axi_awsize[a_grant_encoded*3 +: 3];
wire [1:0] s_axi_awburst_mux = int_s_axi_awburst[a_grant_encoded*2 +: 2];
wire s_axi_awlock_mux = int_s_axi_awlock[a_grant_encoded];
wire [3:0] s_axi_awcache_mux = int_s_axi_awcache[a_grant_encoded*4 +: 4];
wire [2:0] s_axi_awprot_mux = int_s_axi_awprot[a_grant_encoded*3 +: 3];
wire [3:0] s_axi_awqos_mux = int_s_axi_awqos[a_grant_encoded*4 +: 4];
wire [3:0] s_axi_awregion_mux = int_s_axi_awregion[a_grant_encoded*4 +: 4];
wire [AWUSER_WIDTH-1:0] s_axi_awuser_mux = int_s_axi_awuser[a_grant_encoded*AWUSER_WIDTH +: AWUSER_WIDTH];
wire s_axi_awvalid_mux = int_axi_awvalid[a_grant_encoded*M_COUNT+n] && a_grant_valid;
wire s_axi_awready_mux;
assign int_axi_awready[n*S_COUNT +: S_COUNT] = (a_grant_valid && s_axi_awready_mux) << a_grant_encoded;
for (m = 0; m < S_COUNT; m = m + 1) begin
assign a_request[m] = int_axi_awvalid[m*M_COUNT+n] && !a_grant[m] && !trans_limit && !w_select_valid_next;
assign a_acknowledge[m] = a_grant[m] && int_axi_awvalid[m*M_COUNT+n] && s_axi_awready_mux;
if (decerr_m_axi_bvalid_reg) begin
if (decerr_m_axi_bready) begin
decerr_m_axi_bvalid_next = 1'b0;
end
end else if (m_rc_valid && m_rc_ready) begin
decerr_m_axi_bid_next = int_s_axi_awid[m*S_ID_WIDTH+:S_ID_WIDTH];
decerr_m_axi_bvalid_next = 1'b1;

assign a_request[m] = int_axi_awvalid[m*M_COUNT+n] && !a_grant[m] && !trans_limit && !w_select_valid_next;
assign a_acknowledge[m] = a_grant[m] && int_axi_awvalid[m*M_COUNT+n] && s_axi_awready_mux;
end

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
end

Comment on lines +560 to +582
assign trans_start = s_axi_awvalid_mux && s_axi_awready_mux && a_grant_valid;

// write data mux
wire [DATA_WIDTH-1:0] s_axi_wdata_mux = int_s_axi_wdata[w_select_reg*DATA_WIDTH +: DATA_WIDTH];
wire [STRB_WIDTH-1:0] s_axi_wstrb_mux = int_s_axi_wstrb[w_select_reg*STRB_WIDTH +: STRB_WIDTH];
wire s_axi_wlast_mux = int_s_axi_wlast[w_select_reg];
wire [WUSER_WIDTH-1:0] s_axi_wuser_mux = int_s_axi_wuser[w_select_reg*WUSER_WIDTH +: WUSER_WIDTH];
wire s_axi_wvalid_mux = int_axi_wvalid[w_select_reg*M_COUNT+n] && w_select_valid_reg;
wire s_axi_wready_mux;

assign int_axi_wready[n*S_COUNT +: S_COUNT] = (w_select_valid_reg && s_axi_wready_mux) << w_select_reg;

// write data routing
always @* begin
w_select_next = w_select_reg;
w_select_valid_next = w_select_valid_reg && !(s_axi_wvalid_mux && s_axi_wready_mux && s_axi_wlast_mux);
w_select_new_next = w_select_new_reg || !a_grant_valid || a_acknowledge;

if (a_grant_valid && !w_select_valid_reg && w_select_new_reg) begin
w_select_next = a_grant_encoded;
w_select_valid_next = a_grant_valid;
w_select_new_next = 1'b0;
end

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
assign trans_start = s_axi_awvalid_mux && s_axi_awready_mux && a_grant_valid;
// write data mux
wire [DATA_WIDTH-1:0] s_axi_wdata_mux = int_s_axi_wdata[w_select_reg*DATA_WIDTH +: DATA_WIDTH];
wire [STRB_WIDTH-1:0] s_axi_wstrb_mux = int_s_axi_wstrb[w_select_reg*STRB_WIDTH +: STRB_WIDTH];
wire s_axi_wlast_mux = int_s_axi_wlast[w_select_reg];
wire [WUSER_WIDTH-1:0] s_axi_wuser_mux = int_s_axi_wuser[w_select_reg*WUSER_WIDTH +: WUSER_WIDTH];
wire s_axi_wvalid_mux = int_axi_wvalid[w_select_reg*M_COUNT+n] && w_select_valid_reg;
wire s_axi_wready_mux;
assign int_axi_wready[n*S_COUNT +: S_COUNT] = (w_select_valid_reg && s_axi_wready_mux) << w_select_reg;
// write data routing
always @* begin
w_select_next = w_select_reg;
w_select_valid_next = w_select_valid_reg && !(s_axi_wvalid_mux && s_axi_wready_mux && s_axi_wlast_mux);
w_select_new_next = w_select_new_reg || !a_grant_valid || a_acknowledge;
if (a_grant_valid && !w_select_valid_reg && w_select_new_reg) begin
w_select_next = a_grant_encoded;
w_select_valid_next = a_grant_valid;
w_select_new_next = 1'b0;
end
always @(posedge clk) begin
if (rst) begin
decerr_m_axi_bvalid_reg <= 1'b0;
end else begin
decerr_m_axi_bvalid_reg <= decerr_m_axi_bvalid_next;

Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit

verible-verilog-format

testbench/axi4_mux/axi_register_rd.v|91|
testbench/axi4_mux/axi_register_rd.v|113|
testbench/axi4_mux/axi_register_rd.v|187|
testbench/axi4_mux/axi_register_rd.v|191 col 1|
testbench/axi4_mux/axi_register_rd.v|192|
testbench/axi4_mux/axi_register_rd.v|200|
testbench/axi4_mux/axi_register_rd.v|211|
testbench/axi4_mux/axi_register_rd.v|238|
testbench/axi4_mux/axi_register_rd.v|307|
testbench/axi4_mux/axi_register_rd.v|312|
testbench/axi4_mux/axi_register_rd.v|316|
testbench/axi4_mux/axi_register_rd.v|330|
testbench/axi4_mux/axi_register_rd.v|405|
testbench/axi4_mux/axi_register_rd.v|409 col 1|
testbench/axi4_mux/axi_register_rd.v|410|
testbench/axi4_mux/axi_register_rd.v|418|
testbench/axi4_mux/axi_register_rd.v|429|
testbench/axi4_mux/axi_register_rd.v|444|
testbench/axi4_mux/axi_register_rd.v|453|
testbench/axi4_mux/axi_register_rd.v|456|
testbench/axi4_mux/axi_register_rd.v|459|
testbench/axi4_mux/axi_register_rd.v|466|
testbench/axi4_mux/axi_register_rd.v|469|
testbench/axi4_mux/axi_register_rd.v|471|
testbench/axi4_mux/axi_register_rd.v|478|
testbench/axi4_mux/axi_register_rd.v|481|
testbench/axi4_mux/axi_register_rd.v|485|
testbench/axi4_mux/axi_register_rd.v|487|
testbench/axi4_mux/axi_register_rd.v|495|
testbench/axi4_mux/axi_register_rd.v|504|
testbench/axi4_mux/axi_register_rd.v|514|
testbench/axi4_mux/axi_register_rd.v|516|
testbench/axi4_mux/axi_register_rd.v|525|
testbench/axi4_mux/axi_register_rd.v|527|
testbench/axi4_mux/axi_register_wr.v|28|
testbench/axi4_mux/axi_register_wr.v|35|
testbench/axi4_mux/axi_register_wr.v|42|
testbench/axi4_mux/axi_register_wr.v|66|
testbench/axi4_mux/axi_register_wr.v|74|
testbench/axi4_mux/axi_register_wr.v|102|
testbench/axi4_mux/axi_register_wr.v|128|
testbench/axi4_mux/axi_register_wr.v|202|
testbench/axi4_mux/axi_register_wr.v|206 col 1|
testbench/axi4_mux/axi_register_wr.v|207|
testbench/axi4_mux/axi_register_wr.v|215|
testbench/axi4_mux/axi_register_wr.v|226|
testbench/axi4_mux/axi_register_wr.v|253|
testbench/axi4_mux/axi_register_wr.v|322|
testbench/axi4_mux/axi_register_wr.v|327|
testbench/axi4_mux/axi_register_wr.v|331|
testbench/axi4_mux/axi_register_wr.v|345|
testbench/axi4_mux/axi_register_wr.v|417|
testbench/axi4_mux/axi_register_wr.v|421 col 1|
testbench/axi4_mux/axi_register_wr.v|422|
testbench/axi4_mux/axi_register_wr.v|430|
testbench/axi4_mux/axi_register_wr.v|441|
testbench/axi4_mux/axi_register_wr.v|454|
testbench/axi4_mux/axi_register_wr.v|462|
testbench/axi4_mux/axi_register_wr.v|465|
testbench/axi4_mux/axi_register_wr.v|468|
testbench/axi4_mux/axi_register_wr.v|474|
testbench/axi4_mux/axi_register_wr.v|477|
testbench/axi4_mux/axi_register_wr.v|479|
testbench/axi4_mux/axi_register_wr.v|485|
testbench/axi4_mux/axi_register_wr.v|488|
testbench/axi4_mux/axi_register_wr.v|492|
testbench/axi4_mux/axi_register_wr.v|494|
testbench/axi4_mux/axi_register_wr.v|502|
testbench/axi4_mux/axi_register_wr.v|511|
testbench/axi4_mux/axi_register_wr.v|520|
testbench/axi4_mux/axi_register_wr.v|522|
testbench/axi4_mux/axi_register_wr.v|530|
testbench/axi4_mux/axi_register_wr.v|532|
testbench/axi4_mux/axi_register_wr.v|534|
testbench/axi4_mux/axi_register_wr.v|537|
testbench/axi4_mux/axi_register_wr.v|540|
testbench/axi4_mux/axi_register_wr.v|545|
testbench/axi4_mux/axi_register_wr.v|550|
testbench/axi4_mux/axi_register_wr.v|555|
testbench/axi4_mux/axi_register_wr.v|557|
testbench/axi4_mux/axi_register_wr.v|562|
testbench/axi4_mux/axi_register_wr.v|565|
testbench/axi4_mux/axi_register_wr.v|570|
testbench/axi4_mux/axi_register_wr.v|574|
testbench/axi4_mux/axi_register_wr.v|580|
testbench/axi4_mux/axi_register_wr.v|584 col 1|
testbench/axi4_mux/axi_register_wr.v|585|
testbench/axi4_mux/axi_register_wr.v|593|
testbench/axi4_mux/axi_register_wr.v|604|
testbench/axi4_mux/axi_register_wr.v|615|
testbench/axi4_mux/axi_register_wr.v|622|
testbench/axi4_mux/axi_register_wr.v|625|
testbench/axi4_mux/axi_register_wr.v|628|
testbench/axi4_mux/axi_register_wr.v|633|
testbench/axi4_mux/axi_register_wr.v|636|
testbench/axi4_mux/axi_register_wr.v|638|
testbench/axi4_mux/axi_register_wr.v|643|
testbench/axi4_mux/axi_register_wr.v|646|
testbench/axi4_mux/axi_register_wr.v|650|
testbench/axi4_mux/axi_register_wr.v|652|
testbench/axi4_mux/axi_register_wr.v|660|
testbench/axi4_mux/axi_register_wr.v|669|
testbench/axi4_mux/axi_register_wr.v|677|
testbench/axi4_mux/axi_register_wr.v|679|
testbench/axi4_mux/axi_register_wr.v|686|
testbench/axi4_mux/axi_register_wr.v|688|
testbench/axi4_mux/priority_encoder.v|28|
testbench/axi4_mux/priority_encoder.v|35|
testbench/axi4_mux/priority_encoder.v|40|
testbench/axi4_mux/priority_encoder.v|45|
testbench/axi4_mux/priority_encoder.v|48|
testbench/axi4_mux/priority_encoder.v|51|
testbench/axi4_mux/priority_encoder.v|54|
testbench/axi4_mux/priority_encoder.v|57|
testbench/axi4_mux/priority_encoder.v|61|
testbench/axi4_mux/priority_encoder.v|74|
testbench/axi4_mux/priority_encoder.v|84 col 1|
testbench/axi4_mux/priority_encoder.v|85|
testbench/axi4_mux/priority_encoder.v|87|
testbench/jtagdpi/jtagdpi.sv|7|
testbench/jtagdpi/jtagdpi.sv|21|
testbench/jtagdpi/jtagdpi.sv|24|
testbench/jtagdpi/jtagdpi.sv|29|
testbench/jtagdpi/jtagdpi.sv|36|
testbench/jtagdpi/jtagdpi.sv|39|
testbench/jtagdpi/jtagdpi.sv|45|
testbench/jtagdpi/jtagdpi.sv|52|

Comment on lines +585 to +592
always @(posedge clk) begin
if (rst) begin
w_select_valid_reg <= 1'b0;
w_select_new_reg <= 1'b1;
end else begin
w_select_valid_reg <= w_select_valid_next;
w_select_new_reg <= w_select_new_next;
end

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
always @(posedge clk) begin
if (rst) begin
w_select_valid_reg <= 1'b0;
w_select_new_reg <= 1'b1;
end else begin
w_select_valid_reg <= w_select_valid_next;
w_select_new_reg <= w_select_new_next;
end
decerr_m_axi_bid_reg <= decerr_m_axi_bid_next;
end
// write response arbitration
wire [M_COUNT_P1-1:0] b_request;
wire [M_COUNT_P1-1:0] b_acknowledge;
wire [M_COUNT_P1-1:0] b_grant;
wire b_grant_valid;
wire [CL_M_COUNT_P1-1:0] b_grant_encoded;
arbiter #(
.PORTS(M_COUNT_P1),
.ARB_TYPE_ROUND_ROBIN(1),
.ARB_BLOCK(1),
.ARB_BLOCK_ACK(1),
.ARB_LSB_HIGH_PRIORITY(1)
) b_arb_inst (
.clk(clk),
.rst(rst),
.request(b_request),
.acknowledge(b_acknowledge),
.grant(b_grant),
.grant_valid(b_grant_valid),
.grant_encoded(b_grant_encoded)
);
// write response mux
wire [S_ID_WIDTH-1:0] m_axi_bid_mux = {decerr_m_axi_bid_reg, int_m_axi_bid} >> b_grant_encoded*M_ID_WIDTH;
wire [1:0] m_axi_bresp_mux = {2'b11, int_m_axi_bresp} >> b_grant_encoded * 2;
wire [BUSER_WIDTH-1:0] m_axi_buser_mux = {{BUSER_WIDTH{1'b0}}, int_m_axi_buser} >> b_grant_encoded*BUSER_WIDTH;
wire m_axi_bvalid_mux = ({decerr_m_axi_bvalid_reg, int_m_axi_bvalid} >> b_grant_encoded) & b_grant_valid;
wire m_axi_bready_mux;
assign int_axi_bready[m*M_COUNT +: M_COUNT] = (b_grant_valid && m_axi_bready_mux) << b_grant_encoded;
assign decerr_m_axi_bready = (b_grant_valid && m_axi_bready_mux) && (b_grant_encoded == M_COUNT_P1-1);
for (n = 0; n < M_COUNT; n = n + 1) begin
assign b_request[n] = int_axi_bvalid[n*S_COUNT+m] && !b_grant[n];
assign b_acknowledge[n] = b_grant[n] && int_axi_bvalid[n*S_COUNT+m] && m_axi_bready_mux;
end
assign b_request[M_COUNT_P1-1] = decerr_m_axi_bvalid_reg && !b_grant[M_COUNT_P1-1];
assign b_acknowledge[M_COUNT_P1-1] = b_grant[M_COUNT_P1-1] && decerr_m_axi_bvalid_reg && m_axi_bready_mux;
assign s_cpl_id = m_axi_bid_mux;
assign s_cpl_valid = m_axi_bvalid_mux && m_axi_bready_mux;
// S side register
axi_register_wr #(
.DATA_WIDTH(DATA_WIDTH),
.ADDR_WIDTH(ADDR_WIDTH),
.STRB_WIDTH(STRB_WIDTH),
.ID_WIDTH(S_ID_WIDTH),
.AWUSER_ENABLE(AWUSER_ENABLE),
.AWUSER_WIDTH(AWUSER_WIDTH),
.WUSER_ENABLE(WUSER_ENABLE),
.WUSER_WIDTH(WUSER_WIDTH),
.BUSER_ENABLE(BUSER_ENABLE),
.BUSER_WIDTH(BUSER_WIDTH),
.AW_REG_TYPE(S_AW_REG_TYPE[m*2+:2]),
.W_REG_TYPE(S_W_REG_TYPE[m*2+:2]),
.B_REG_TYPE(S_B_REG_TYPE[m*2+:2])
) reg_inst (
.clk(clk),
.rst(rst),
.s_axi_awid(s_axi_awid[m*S_ID_WIDTH+:S_ID_WIDTH]),
.s_axi_awaddr(s_axi_awaddr[m*ADDR_WIDTH+:ADDR_WIDTH]),
.s_axi_awlen(s_axi_awlen[m*8+:8]),
.s_axi_awsize(s_axi_awsize[m*3+:3]),
.s_axi_awburst(s_axi_awburst[m*2+:2]),
.s_axi_awlock(s_axi_awlock[m]),
.s_axi_awcache(s_axi_awcache[m*4+:4]),
.s_axi_awprot(s_axi_awprot[m*3+:3]),
.s_axi_awqos(s_axi_awqos[m*4+:4]),
.s_axi_awregion(4'd0),
.s_axi_awuser(s_axi_awuser[m*AWUSER_WIDTH+:AWUSER_WIDTH]),
.s_axi_awvalid(s_axi_awvalid[m]),
.s_axi_awready(s_axi_awready[m]),
.s_axi_wdata(s_axi_wdata[m*DATA_WIDTH+:DATA_WIDTH]),
.s_axi_wstrb(s_axi_wstrb[m*STRB_WIDTH+:STRB_WIDTH]),
.s_axi_wlast(s_axi_wlast[m]),
.s_axi_wuser(s_axi_wuser[m*WUSER_WIDTH+:WUSER_WIDTH]),
.s_axi_wvalid(s_axi_wvalid[m]),
.s_axi_wready(s_axi_wready[m]),
.s_axi_bid(s_axi_bid[m*S_ID_WIDTH+:S_ID_WIDTH]),
.s_axi_bresp(s_axi_bresp[m*2+:2]),
.s_axi_buser(s_axi_buser[m*BUSER_WIDTH+:BUSER_WIDTH]),
.s_axi_bvalid(s_axi_bvalid[m]),
.s_axi_bready(s_axi_bready[m]),
.m_axi_awid(int_s_axi_awid[m*S_ID_WIDTH+:S_ID_WIDTH]),
.m_axi_awaddr(int_s_axi_awaddr[m*ADDR_WIDTH+:ADDR_WIDTH]),
.m_axi_awlen(int_s_axi_awlen[m*8+:8]),
.m_axi_awsize(int_s_axi_awsize[m*3+:3]),
.m_axi_awburst(int_s_axi_awburst[m*2+:2]),
.m_axi_awlock(int_s_axi_awlock[m]),
.m_axi_awcache(int_s_axi_awcache[m*4+:4]),
.m_axi_awprot(int_s_axi_awprot[m*3+:3]),
.m_axi_awqos(int_s_axi_awqos[m*4+:4]),
.m_axi_awregion(),
.m_axi_awuser(int_s_axi_awuser[m*AWUSER_WIDTH+:AWUSER_WIDTH]),
.m_axi_awvalid(int_s_axi_awvalid[m]),
.m_axi_awready(int_s_axi_awready[m]),
.m_axi_wdata(int_s_axi_wdata[m*DATA_WIDTH+:DATA_WIDTH]),
.m_axi_wstrb(int_s_axi_wstrb[m*STRB_WIDTH+:STRB_WIDTH]),
.m_axi_wlast(int_s_axi_wlast[m]),
.m_axi_wuser(int_s_axi_wuser[m*WUSER_WIDTH+:WUSER_WIDTH]),
.m_axi_wvalid(int_s_axi_wvalid[m]),
.m_axi_wready(int_s_axi_wready[m]),
.m_axi_bid(m_axi_bid_mux),
.m_axi_bresp(m_axi_bresp_mux),
.m_axi_buser(m_axi_buser_mux),
.m_axi_bvalid(m_axi_bvalid_mux),
.m_axi_bready(m_axi_bready_mux)
);
end // s_ifaces

w_select_new_reg <= w_select_new_next;
end

w_select_reg <= w_select_next;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
w_select_reg <= w_select_next;
for (n = 0; n < M_COUNT; n = n + 1) begin : m_ifaces
// in-flight transaction count
wire trans_start;
wire trans_complete;
reg [$clog2(M_ISSUE[n*32 +: 32]+1)-1:0] trans_count_reg = 0;
wire trans_limit = trans_count_reg >= M_ISSUE[n*32+:32] && !trans_complete;
always @(posedge clk) begin
if (rst) begin
trans_count_reg <= 0;
end else begin
if (trans_start && !trans_complete) begin
trans_count_reg <= trans_count_reg + 1;
end else if (!trans_start && trans_complete) begin
trans_count_reg <= trans_count_reg - 1;
end
end
end
// address arbitration
reg [CL_S_COUNT-1:0] w_select_reg = 0, w_select_next;
reg w_select_valid_reg = 1'b0, w_select_valid_next;
reg w_select_new_reg = 1'b0, w_select_new_next;
wire [S_COUNT-1:0] a_request;
wire [S_COUNT-1:0] a_acknowledge;
wire [S_COUNT-1:0] a_grant;
wire a_grant_valid;
wire [CL_S_COUNT-1:0] a_grant_encoded;
arbiter #(
.PORTS(S_COUNT),
.ARB_TYPE_ROUND_ROBIN(1),
.ARB_BLOCK(1),
.ARB_BLOCK_ACK(1),
.ARB_LSB_HIGH_PRIORITY(1)
) a_arb_inst (
.clk(clk),
.rst(rst),
.request(a_request),
.acknowledge(a_acknowledge),
.grant(a_grant),
.grant_valid(a_grant_valid),
.grant_encoded(a_grant_encoded)
);
// address mux
wire [M_ID_WIDTH-1:0] s_axi_awid_mux = int_s_axi_awid[a_grant_encoded*S_ID_WIDTH +: S_ID_WIDTH] | (a_grant_encoded << S_ID_WIDTH);
wire [ADDR_WIDTH-1:0] s_axi_awaddr_mux = int_s_axi_awaddr[a_grant_encoded*ADDR_WIDTH +: ADDR_WIDTH];
wire [7:0] s_axi_awlen_mux = int_s_axi_awlen[a_grant_encoded*8+:8];
wire [2:0] s_axi_awsize_mux = int_s_axi_awsize[a_grant_encoded*3+:3];
wire [1:0] s_axi_awburst_mux = int_s_axi_awburst[a_grant_encoded*2+:2];
wire s_axi_awlock_mux = int_s_axi_awlock[a_grant_encoded];
wire [3:0] s_axi_awcache_mux = int_s_axi_awcache[a_grant_encoded*4+:4];
wire [2:0] s_axi_awprot_mux = int_s_axi_awprot[a_grant_encoded*3+:3];
wire [3:0] s_axi_awqos_mux = int_s_axi_awqos[a_grant_encoded*4+:4];
wire [3:0] s_axi_awregion_mux = int_s_axi_awregion[a_grant_encoded*4+:4];
wire [AWUSER_WIDTH-1:0] s_axi_awuser_mux = int_s_axi_awuser[a_grant_encoded*AWUSER_WIDTH +: AWUSER_WIDTH];
wire s_axi_awvalid_mux = int_axi_awvalid[a_grant_encoded*M_COUNT+n] && a_grant_valid;
wire s_axi_awready_mux;
assign int_axi_awready[n*S_COUNT +: S_COUNT] = (a_grant_valid && s_axi_awready_mux) << a_grant_encoded;
for (m = 0; m < S_COUNT; m = m + 1) begin
assign a_request[m] = int_axi_awvalid[m*M_COUNT+n] && !a_grant[m] && !trans_limit && !w_select_valid_next;
assign a_acknowledge[m] = a_grant[m] && int_axi_awvalid[m*M_COUNT+n] && s_axi_awready_mux;
end
assign trans_start = s_axi_awvalid_mux && s_axi_awready_mux && a_grant_valid;
// write data mux
wire [DATA_WIDTH-1:0] s_axi_wdata_mux = int_s_axi_wdata[w_select_reg*DATA_WIDTH+:DATA_WIDTH];
wire [STRB_WIDTH-1:0] s_axi_wstrb_mux = int_s_axi_wstrb[w_select_reg*STRB_WIDTH+:STRB_WIDTH];
wire s_axi_wlast_mux = int_s_axi_wlast[w_select_reg];
wire [WUSER_WIDTH-1:0] s_axi_wuser_mux = int_s_axi_wuser[w_select_reg*WUSER_WIDTH +: WUSER_WIDTH];
wire s_axi_wvalid_mux = int_axi_wvalid[w_select_reg*M_COUNT+n] && w_select_valid_reg;
wire s_axi_wready_mux;
assign int_axi_wready[n*S_COUNT +: S_COUNT] = (w_select_valid_reg && s_axi_wready_mux) << w_select_reg;
// write data routing
always @* begin
w_select_next = w_select_reg;
w_select_valid_next = w_select_valid_reg && !(s_axi_wvalid_mux && s_axi_wready_mux && s_axi_wlast_mux);
w_select_new_next = w_select_new_reg || !a_grant_valid || a_acknowledge;
if (a_grant_valid && !w_select_valid_reg && w_select_new_reg) begin
w_select_next = a_grant_encoded;
w_select_valid_next = a_grant_valid;
w_select_new_next = 1'b0;
end
end
always @(posedge clk) begin
if (rst) begin
w_select_valid_reg <= 1'b0;
w_select_new_reg <= 1'b1;
end else begin
w_select_valid_reg <= w_select_valid_next;
w_select_new_reg <= w_select_new_next;

Comment on lines +597 to +675
// write response forwarding
wire [CL_S_COUNT-1:0] b_select = m_axi_bid[n*M_ID_WIDTH +: M_ID_WIDTH] >> S_ID_WIDTH;

assign int_axi_bvalid[n*S_COUNT +: S_COUNT] = int_m_axi_bvalid[n] << b_select;
assign int_m_axi_bready[n] = int_axi_bready[b_select*M_COUNT+n];

assign trans_complete = int_m_axi_bvalid[n] && int_m_axi_bready[n];

// M side register
axi_register_wr #(
.DATA_WIDTH(DATA_WIDTH),
.ADDR_WIDTH(ADDR_WIDTH),
.STRB_WIDTH(STRB_WIDTH),
.ID_WIDTH(M_ID_WIDTH),
.AWUSER_ENABLE(AWUSER_ENABLE),
.AWUSER_WIDTH(AWUSER_WIDTH),
.WUSER_ENABLE(WUSER_ENABLE),
.WUSER_WIDTH(WUSER_WIDTH),
.BUSER_ENABLE(BUSER_ENABLE),
.BUSER_WIDTH(BUSER_WIDTH),
.AW_REG_TYPE(M_AW_REG_TYPE[n*2 +: 2]),
.W_REG_TYPE(M_W_REG_TYPE[n*2 +: 2]),
.B_REG_TYPE(M_B_REG_TYPE[n*2 +: 2])
)
reg_inst (
.clk(clk),
.rst(rst),
.s_axi_awid(s_axi_awid_mux),
.s_axi_awaddr(s_axi_awaddr_mux),
.s_axi_awlen(s_axi_awlen_mux),
.s_axi_awsize(s_axi_awsize_mux),
.s_axi_awburst(s_axi_awburst_mux),
.s_axi_awlock(s_axi_awlock_mux),
.s_axi_awcache(s_axi_awcache_mux),
.s_axi_awprot(s_axi_awprot_mux),
.s_axi_awqos(s_axi_awqos_mux),
.s_axi_awregion(s_axi_awregion_mux),
.s_axi_awuser(s_axi_awuser_mux),
.s_axi_awvalid(s_axi_awvalid_mux),
.s_axi_awready(s_axi_awready_mux),
.s_axi_wdata(s_axi_wdata_mux),
.s_axi_wstrb(s_axi_wstrb_mux),
.s_axi_wlast(s_axi_wlast_mux),
.s_axi_wuser(s_axi_wuser_mux),
.s_axi_wvalid(s_axi_wvalid_mux),
.s_axi_wready(s_axi_wready_mux),
.s_axi_bid(int_m_axi_bid[n*M_ID_WIDTH +: M_ID_WIDTH]),
.s_axi_bresp(int_m_axi_bresp[n*2 +: 2]),
.s_axi_buser(int_m_axi_buser[n*BUSER_WIDTH +: BUSER_WIDTH]),
.s_axi_bvalid(int_m_axi_bvalid[n]),
.s_axi_bready(int_m_axi_bready[n]),
.m_axi_awid(m_axi_awid[n*M_ID_WIDTH +: M_ID_WIDTH]),
.m_axi_awaddr(m_axi_awaddr[n*ADDR_WIDTH +: ADDR_WIDTH]),
.m_axi_awlen(m_axi_awlen[n*8 +: 8]),
.m_axi_awsize(m_axi_awsize[n*3 +: 3]),
.m_axi_awburst(m_axi_awburst[n*2 +: 2]),
.m_axi_awlock(m_axi_awlock[n]),
.m_axi_awcache(m_axi_awcache[n*4 +: 4]),
.m_axi_awprot(m_axi_awprot[n*3 +: 3]),
.m_axi_awqos(m_axi_awqos[n*4 +: 4]),
.m_axi_awregion(m_axi_awregion[n*4 +: 4]),
.m_axi_awuser(m_axi_awuser[n*AWUSER_WIDTH +: AWUSER_WIDTH]),
.m_axi_awvalid(m_axi_awvalid[n]),
.m_axi_awready(m_axi_awready[n]),
.m_axi_wdata(m_axi_wdata[n*DATA_WIDTH +: DATA_WIDTH]),
.m_axi_wstrb(m_axi_wstrb[n*STRB_WIDTH +: STRB_WIDTH]),
.m_axi_wlast(m_axi_wlast[n]),
.m_axi_wuser(m_axi_wuser[n*WUSER_WIDTH +: WUSER_WIDTH]),
.m_axi_wvalid(m_axi_wvalid[n]),
.m_axi_wready(m_axi_wready[n]),
.m_axi_bid(m_axi_bid[n*M_ID_WIDTH +: M_ID_WIDTH]),
.m_axi_bresp(m_axi_bresp[n*2 +: 2]),
.m_axi_buser(m_axi_buser[n*BUSER_WIDTH +: BUSER_WIDTH]),
.m_axi_bvalid(m_axi_bvalid[n]),
.m_axi_bready(m_axi_bready[n])
);
end // m_ifaces

endgenerate

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
// write response forwarding
wire [CL_S_COUNT-1:0] b_select = m_axi_bid[n*M_ID_WIDTH +: M_ID_WIDTH] >> S_ID_WIDTH;
assign int_axi_bvalid[n*S_COUNT +: S_COUNT] = int_m_axi_bvalid[n] << b_select;
assign int_m_axi_bready[n] = int_axi_bready[b_select*M_COUNT+n];
assign trans_complete = int_m_axi_bvalid[n] && int_m_axi_bready[n];
// M side register
axi_register_wr #(
.DATA_WIDTH(DATA_WIDTH),
.ADDR_WIDTH(ADDR_WIDTH),
.STRB_WIDTH(STRB_WIDTH),
.ID_WIDTH(M_ID_WIDTH),
.AWUSER_ENABLE(AWUSER_ENABLE),
.AWUSER_WIDTH(AWUSER_WIDTH),
.WUSER_ENABLE(WUSER_ENABLE),
.WUSER_WIDTH(WUSER_WIDTH),
.BUSER_ENABLE(BUSER_ENABLE),
.BUSER_WIDTH(BUSER_WIDTH),
.AW_REG_TYPE(M_AW_REG_TYPE[n*2 +: 2]),
.W_REG_TYPE(M_W_REG_TYPE[n*2 +: 2]),
.B_REG_TYPE(M_B_REG_TYPE[n*2 +: 2])
)
reg_inst (
.clk(clk),
.rst(rst),
.s_axi_awid(s_axi_awid_mux),
.s_axi_awaddr(s_axi_awaddr_mux),
.s_axi_awlen(s_axi_awlen_mux),
.s_axi_awsize(s_axi_awsize_mux),
.s_axi_awburst(s_axi_awburst_mux),
.s_axi_awlock(s_axi_awlock_mux),
.s_axi_awcache(s_axi_awcache_mux),
.s_axi_awprot(s_axi_awprot_mux),
.s_axi_awqos(s_axi_awqos_mux),
.s_axi_awregion(s_axi_awregion_mux),
.s_axi_awuser(s_axi_awuser_mux),
.s_axi_awvalid(s_axi_awvalid_mux),
.s_axi_awready(s_axi_awready_mux),
.s_axi_wdata(s_axi_wdata_mux),
.s_axi_wstrb(s_axi_wstrb_mux),
.s_axi_wlast(s_axi_wlast_mux),
.s_axi_wuser(s_axi_wuser_mux),
.s_axi_wvalid(s_axi_wvalid_mux),
.s_axi_wready(s_axi_wready_mux),
.s_axi_bid(int_m_axi_bid[n*M_ID_WIDTH +: M_ID_WIDTH]),
.s_axi_bresp(int_m_axi_bresp[n*2 +: 2]),
.s_axi_buser(int_m_axi_buser[n*BUSER_WIDTH +: BUSER_WIDTH]),
.s_axi_bvalid(int_m_axi_bvalid[n]),
.s_axi_bready(int_m_axi_bready[n]),
.m_axi_awid(m_axi_awid[n*M_ID_WIDTH +: M_ID_WIDTH]),
.m_axi_awaddr(m_axi_awaddr[n*ADDR_WIDTH +: ADDR_WIDTH]),
.m_axi_awlen(m_axi_awlen[n*8 +: 8]),
.m_axi_awsize(m_axi_awsize[n*3 +: 3]),
.m_axi_awburst(m_axi_awburst[n*2 +: 2]),
.m_axi_awlock(m_axi_awlock[n]),
.m_axi_awcache(m_axi_awcache[n*4 +: 4]),
.m_axi_awprot(m_axi_awprot[n*3 +: 3]),
.m_axi_awqos(m_axi_awqos[n*4 +: 4]),
.m_axi_awregion(m_axi_awregion[n*4 +: 4]),
.m_axi_awuser(m_axi_awuser[n*AWUSER_WIDTH +: AWUSER_WIDTH]),
.m_axi_awvalid(m_axi_awvalid[n]),
.m_axi_awready(m_axi_awready[n]),
.m_axi_wdata(m_axi_wdata[n*DATA_WIDTH +: DATA_WIDTH]),
.m_axi_wstrb(m_axi_wstrb[n*STRB_WIDTH +: STRB_WIDTH]),
.m_axi_wlast(m_axi_wlast[n]),
.m_axi_wuser(m_axi_wuser[n*WUSER_WIDTH +: WUSER_WIDTH]),
.m_axi_wvalid(m_axi_wvalid[n]),
.m_axi_wready(m_axi_wready[n]),
.m_axi_bid(m_axi_bid[n*M_ID_WIDTH +: M_ID_WIDTH]),
.m_axi_bresp(m_axi_bresp[n*2 +: 2]),
.m_axi_buser(m_axi_buser[n*BUSER_WIDTH +: BUSER_WIDTH]),
.m_axi_bvalid(m_axi_bvalid[n]),
.m_axi_bready(m_axi_bready[n])
);
end // m_ifaces
endgenerate
w_select_reg <= w_select_next;
end
// write response forwarding
wire [CL_S_COUNT-1:0] b_select = m_axi_bid[n*M_ID_WIDTH+:M_ID_WIDTH] >> S_ID_WIDTH;
assign int_axi_bvalid[n*S_COUNT+:S_COUNT] = int_m_axi_bvalid[n] << b_select;
assign int_m_axi_bready[n] = int_axi_bready[b_select*M_COUNT+n];
assign trans_complete = int_m_axi_bvalid[n] && int_m_axi_bready[n];
// M side register
axi_register_wr #(
.DATA_WIDTH(DATA_WIDTH),
.ADDR_WIDTH(ADDR_WIDTH),
.STRB_WIDTH(STRB_WIDTH),
.ID_WIDTH(M_ID_WIDTH),
.AWUSER_ENABLE(AWUSER_ENABLE),
.AWUSER_WIDTH(AWUSER_WIDTH),
.WUSER_ENABLE(WUSER_ENABLE),
.WUSER_WIDTH(WUSER_WIDTH),
.BUSER_ENABLE(BUSER_ENABLE),
.BUSER_WIDTH(BUSER_WIDTH),
.AW_REG_TYPE(M_AW_REG_TYPE[n*2+:2]),
.W_REG_TYPE(M_W_REG_TYPE[n*2+:2]),
.B_REG_TYPE(M_B_REG_TYPE[n*2+:2])
) reg_inst (
.clk(clk),
.rst(rst),
.s_axi_awid(s_axi_awid_mux),
.s_axi_awaddr(s_axi_awaddr_mux),
.s_axi_awlen(s_axi_awlen_mux),
.s_axi_awsize(s_axi_awsize_mux),
.s_axi_awburst(s_axi_awburst_mux),
.s_axi_awlock(s_axi_awlock_mux),
.s_axi_awcache(s_axi_awcache_mux),
.s_axi_awprot(s_axi_awprot_mux),
.s_axi_awqos(s_axi_awqos_mux),
.s_axi_awregion(s_axi_awregion_mux),
.s_axi_awuser(s_axi_awuser_mux),
.s_axi_awvalid(s_axi_awvalid_mux),
.s_axi_awready(s_axi_awready_mux),
.s_axi_wdata(s_axi_wdata_mux),
.s_axi_wstrb(s_axi_wstrb_mux),
.s_axi_wlast(s_axi_wlast_mux),
.s_axi_wuser(s_axi_wuser_mux),
.s_axi_wvalid(s_axi_wvalid_mux),
.s_axi_wready(s_axi_wready_mux),
.s_axi_bid(int_m_axi_bid[n*M_ID_WIDTH+:M_ID_WIDTH]),
.s_axi_bresp(int_m_axi_bresp[n*2+:2]),
.s_axi_buser(int_m_axi_buser[n*BUSER_WIDTH+:BUSER_WIDTH]),
.s_axi_bvalid(int_m_axi_bvalid[n]),
.s_axi_bready(int_m_axi_bready[n]),
.m_axi_awid(m_axi_awid[n*M_ID_WIDTH+:M_ID_WIDTH]),
.m_axi_awaddr(m_axi_awaddr[n*ADDR_WIDTH+:ADDR_WIDTH]),
.m_axi_awlen(m_axi_awlen[n*8+:8]),
.m_axi_awsize(m_axi_awsize[n*3+:3]),
.m_axi_awburst(m_axi_awburst[n*2+:2]),
.m_axi_awlock(m_axi_awlock[n]),
.m_axi_awcache(m_axi_awcache[n*4+:4]),
.m_axi_awprot(m_axi_awprot[n*3+:3]),
.m_axi_awqos(m_axi_awqos[n*4+:4]),
.m_axi_awregion(m_axi_awregion[n*4+:4]),
.m_axi_awuser(m_axi_awuser[n*AWUSER_WIDTH+:AWUSER_WIDTH]),
.m_axi_awvalid(m_axi_awvalid[n]),
.m_axi_awready(m_axi_awready[n]),
.m_axi_wdata(m_axi_wdata[n*DATA_WIDTH+:DATA_WIDTH]),
.m_axi_wstrb(m_axi_wstrb[n*STRB_WIDTH+:STRB_WIDTH]),
.m_axi_wlast(m_axi_wlast[n]),
.m_axi_wuser(m_axi_wuser[n*WUSER_WIDTH+:WUSER_WIDTH]),
.m_axi_wvalid(m_axi_wvalid[n]),
.m_axi_wready(m_axi_wready[n]),
.m_axi_bid(m_axi_bid[n*M_ID_WIDTH+:M_ID_WIDTH]),
.m_axi_bresp(m_axi_bresp[n*2+:2]),
.m_axi_buser(m_axi_buser[n*BUSER_WIDTH+:BUSER_WIDTH]),
.m_axi_bvalid(m_axi_bvalid[n]),
.m_axi_bready(m_axi_bready[n])
);
end // m_ifaces
endgenerate

Comment on lines +28 to +30
`resetall
`timescale 1ns / 1ps
`default_nettype none

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
`resetall
`timescale 1ns / 1ps
`default_nettype none
`resetall `timescale 1ns / 1ps `default_nettype none

Comment on lines +35 to +36
module axi_crossbar_wrap_2x1 #
(

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
module axi_crossbar_wrap_2x1 #
(
module axi_crossbar_wrap_2x1 #(

Comment on lines +28 to +30
`resetall
`timescale 1ns / 1ps
`default_nettype none

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
`resetall
`timescale 1ns / 1ps
`default_nettype none
`resetall `timescale 1ns / 1ps `default_nettype none

Comment on lines +35 to +36
module axi_register_rd #
(

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
module axi_register_rd #
(
module axi_register_rd #(

// Width of address bus in bits
parameter ADDR_WIDTH = 32,
// Width of wstrb (width of data bus in words)
parameter STRB_WIDTH = (DATA_WIDTH/8),

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
parameter STRB_WIDTH = (DATA_WIDTH/8),
parameter STRB_WIDTH = (DATA_WIDTH / 8),

Comment on lines +59 to +62
)
(
input wire clk,
input wire rst,

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
)
(
input wire clk,
input wire rst,
) (
input wire clk,
input wire rst,

Comment on lines +67 to +86
input wire [ID_WIDTH-1:0] s_axi_arid,
input wire [ADDR_WIDTH-1:0] s_axi_araddr,
input wire [7:0] s_axi_arlen,
input wire [2:0] s_axi_arsize,
input wire [1:0] s_axi_arburst,
input wire s_axi_arlock,
input wire [3:0] s_axi_arcache,
input wire [2:0] s_axi_arprot,
input wire [3:0] s_axi_arqos,
input wire [3:0] s_axi_arregion,
input wire [ARUSER_WIDTH-1:0] s_axi_aruser,
input wire s_axi_arvalid,
output wire s_axi_arready,
output wire [ID_WIDTH-1:0] s_axi_rid,
output wire [DATA_WIDTH-1:0] s_axi_rdata,
output wire [1:0] s_axi_rresp,
output wire s_axi_rlast,
output wire [RUSER_WIDTH-1:0] s_axi_ruser,
output wire s_axi_rvalid,
input wire s_axi_rready,

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
input wire [ID_WIDTH-1:0] s_axi_arid,
input wire [ADDR_WIDTH-1:0] s_axi_araddr,
input wire [7:0] s_axi_arlen,
input wire [2:0] s_axi_arsize,
input wire [1:0] s_axi_arburst,
input wire s_axi_arlock,
input wire [3:0] s_axi_arcache,
input wire [2:0] s_axi_arprot,
input wire [3:0] s_axi_arqos,
input wire [3:0] s_axi_arregion,
input wire [ARUSER_WIDTH-1:0] s_axi_aruser,
input wire s_axi_arvalid,
output wire s_axi_arready,
output wire [ID_WIDTH-1:0] s_axi_rid,
output wire [DATA_WIDTH-1:0] s_axi_rdata,
output wire [1:0] s_axi_rresp,
output wire s_axi_rlast,
output wire [RUSER_WIDTH-1:0] s_axi_ruser,
output wire s_axi_rvalid,
input wire s_axi_rready,
input wire [ ID_WIDTH-1:0] s_axi_arid,
input wire [ ADDR_WIDTH-1:0] s_axi_araddr,
input wire [ 7:0] s_axi_arlen,
input wire [ 2:0] s_axi_arsize,
input wire [ 1:0] s_axi_arburst,
input wire s_axi_arlock,
input wire [ 3:0] s_axi_arcache,
input wire [ 2:0] s_axi_arprot,
input wire [ 3:0] s_axi_arqos,
input wire [ 3:0] s_axi_arregion,
input wire [ARUSER_WIDTH-1:0] s_axi_aruser,
input wire s_axi_arvalid,
output wire s_axi_arready,
output wire [ ID_WIDTH-1:0] s_axi_rid,
output wire [ DATA_WIDTH-1:0] s_axi_rdata,
output wire [ 1:0] s_axi_rresp,
output wire s_axi_rlast,
output wire [ RUSER_WIDTH-1:0] s_axi_ruser,
output wire s_axi_rvalid,
input wire s_axi_rready,

@RRozak RRozak force-pushed the rrozak/60812-openocd-tests branch from c09f3fa to c1b0572 Compare July 17, 2024 13:59
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit

verible-verilog-format

testbench/axi4_mux/axi_register_rd.v|514|
testbench/axi4_mux/axi_register_rd.v|516|
testbench/axi4_mux/axi_register_rd.v|525|
testbench/axi4_mux/axi_register_rd.v|527|
testbench/axi4_mux/axi_register_wr.v|28|
testbench/axi4_mux/axi_register_wr.v|35|
testbench/axi4_mux/axi_register_wr.v|42|
testbench/axi4_mux/axi_register_wr.v|66|
testbench/axi4_mux/axi_register_wr.v|74|
testbench/axi4_mux/axi_register_wr.v|102|
testbench/axi4_mux/axi_register_wr.v|128|
testbench/axi4_mux/axi_register_wr.v|202|
testbench/axi4_mux/axi_register_wr.v|206 col 1|
testbench/axi4_mux/axi_register_wr.v|207|
testbench/axi4_mux/axi_register_wr.v|215|
testbench/axi4_mux/axi_register_wr.v|226|
testbench/axi4_mux/axi_register_wr.v|253|
testbench/axi4_mux/axi_register_wr.v|322|
testbench/axi4_mux/axi_register_wr.v|327|
testbench/axi4_mux/axi_register_wr.v|331|
testbench/axi4_mux/axi_register_wr.v|345|
testbench/axi4_mux/axi_register_wr.v|417|
testbench/axi4_mux/axi_register_wr.v|421 col 1|
testbench/axi4_mux/axi_register_wr.v|422|
testbench/axi4_mux/axi_register_wr.v|430|
testbench/axi4_mux/axi_register_wr.v|441|
testbench/axi4_mux/axi_register_wr.v|454|
testbench/axi4_mux/axi_register_wr.v|462|
testbench/axi4_mux/axi_register_wr.v|465|
testbench/axi4_mux/axi_register_wr.v|468|
testbench/axi4_mux/axi_register_wr.v|474|
testbench/axi4_mux/axi_register_wr.v|477|
testbench/axi4_mux/axi_register_wr.v|479|
testbench/axi4_mux/axi_register_wr.v|485|
testbench/axi4_mux/axi_register_wr.v|488|
testbench/axi4_mux/axi_register_wr.v|492|
testbench/axi4_mux/axi_register_wr.v|494|
testbench/axi4_mux/axi_register_wr.v|502|
testbench/axi4_mux/axi_register_wr.v|511|
testbench/axi4_mux/axi_register_wr.v|520|
testbench/axi4_mux/axi_register_wr.v|522|
testbench/axi4_mux/axi_register_wr.v|530|
testbench/axi4_mux/axi_register_wr.v|532|
testbench/axi4_mux/axi_register_wr.v|534|
testbench/axi4_mux/axi_register_wr.v|537|
testbench/axi4_mux/axi_register_wr.v|540|
testbench/axi4_mux/axi_register_wr.v|545|
testbench/axi4_mux/axi_register_wr.v|550|
testbench/axi4_mux/axi_register_wr.v|555|
testbench/axi4_mux/axi_register_wr.v|557|
testbench/axi4_mux/axi_register_wr.v|562|
testbench/axi4_mux/axi_register_wr.v|565|
testbench/axi4_mux/axi_register_wr.v|570|
testbench/axi4_mux/axi_register_wr.v|574|
testbench/axi4_mux/axi_register_wr.v|580|
testbench/axi4_mux/axi_register_wr.v|584 col 1|
testbench/axi4_mux/axi_register_wr.v|585|
testbench/axi4_mux/axi_register_wr.v|593|
testbench/axi4_mux/axi_register_wr.v|604|
testbench/axi4_mux/axi_register_wr.v|615|
testbench/axi4_mux/axi_register_wr.v|622|
testbench/axi4_mux/axi_register_wr.v|625|
testbench/axi4_mux/axi_register_wr.v|628|
testbench/axi4_mux/axi_register_wr.v|633|
testbench/axi4_mux/axi_register_wr.v|636|
testbench/axi4_mux/axi_register_wr.v|638|
testbench/axi4_mux/axi_register_wr.v|643|
testbench/axi4_mux/axi_register_wr.v|646|
testbench/axi4_mux/axi_register_wr.v|650|
testbench/axi4_mux/axi_register_wr.v|652|
testbench/axi4_mux/axi_register_wr.v|660|
testbench/axi4_mux/axi_register_wr.v|669|
testbench/axi4_mux/axi_register_wr.v|677|
testbench/axi4_mux/axi_register_wr.v|679|
testbench/axi4_mux/axi_register_wr.v|686|
testbench/axi4_mux/axi_register_wr.v|688|
testbench/axi4_mux/priority_encoder.v|28|
testbench/axi4_mux/priority_encoder.v|35|
testbench/axi4_mux/priority_encoder.v|40|
testbench/axi4_mux/priority_encoder.v|45|
testbench/axi4_mux/priority_encoder.v|48|
testbench/axi4_mux/priority_encoder.v|51|
testbench/axi4_mux/priority_encoder.v|54|
testbench/axi4_mux/priority_encoder.v|57|
testbench/axi4_mux/priority_encoder.v|61|
testbench/axi4_mux/priority_encoder.v|74|
testbench/axi4_mux/priority_encoder.v|84 col 1|
testbench/axi4_mux/priority_encoder.v|85|
testbench/axi4_mux/priority_encoder.v|87|
testbench/jtagdpi/jtagdpi.sv|7|
testbench/jtagdpi/jtagdpi.sv|21|
testbench/jtagdpi/jtagdpi.sv|24|
testbench/jtagdpi/jtagdpi.sv|29|
testbench/jtagdpi/jtagdpi.sv|36|
testbench/jtagdpi/jtagdpi.sv|38|
testbench/jtagdpi/jtagdpi.sv|44|
testbench/jtagdpi/jtagdpi.sv|51|

Comment on lines +91 to +110
output wire [ID_WIDTH-1:0] m_axi_arid,
output wire [ADDR_WIDTH-1:0] m_axi_araddr,
output wire [7:0] m_axi_arlen,
output wire [2:0] m_axi_arsize,
output wire [1:0] m_axi_arburst,
output wire m_axi_arlock,
output wire [3:0] m_axi_arcache,
output wire [2:0] m_axi_arprot,
output wire [3:0] m_axi_arqos,
output wire [3:0] m_axi_arregion,
output wire [ARUSER_WIDTH-1:0] m_axi_aruser,
output wire m_axi_arvalid,
input wire m_axi_arready,
input wire [ID_WIDTH-1:0] m_axi_rid,
input wire [DATA_WIDTH-1:0] m_axi_rdata,
input wire [1:0] m_axi_rresp,
input wire m_axi_rlast,
input wire [RUSER_WIDTH-1:0] m_axi_ruser,
input wire m_axi_rvalid,
output wire m_axi_rready

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
output wire [ID_WIDTH-1:0] m_axi_arid,
output wire [ADDR_WIDTH-1:0] m_axi_araddr,
output wire [7:0] m_axi_arlen,
output wire [2:0] m_axi_arsize,
output wire [1:0] m_axi_arburst,
output wire m_axi_arlock,
output wire [3:0] m_axi_arcache,
output wire [2:0] m_axi_arprot,
output wire [3:0] m_axi_arqos,
output wire [3:0] m_axi_arregion,
output wire [ARUSER_WIDTH-1:0] m_axi_aruser,
output wire m_axi_arvalid,
input wire m_axi_arready,
input wire [ID_WIDTH-1:0] m_axi_rid,
input wire [DATA_WIDTH-1:0] m_axi_rdata,
input wire [1:0] m_axi_rresp,
input wire m_axi_rlast,
input wire [RUSER_WIDTH-1:0] m_axi_ruser,
input wire m_axi_rvalid,
output wire m_axi_rready
output wire [ ID_WIDTH-1:0] m_axi_arid,
output wire [ ADDR_WIDTH-1:0] m_axi_araddr,
output wire [ 7:0] m_axi_arlen,
output wire [ 2:0] m_axi_arsize,
output wire [ 1:0] m_axi_arburst,
output wire m_axi_arlock,
output wire [ 3:0] m_axi_arcache,
output wire [ 2:0] m_axi_arprot,
output wire [ 3:0] m_axi_arqos,
output wire [ 3:0] m_axi_arregion,
output wire [ARUSER_WIDTH-1:0] m_axi_aruser,
output wire m_axi_arvalid,
input wire m_axi_arready,
input wire [ ID_WIDTH-1:0] m_axi_rid,
input wire [ DATA_WIDTH-1:0] m_axi_rdata,
input wire [ 1:0] m_axi_rresp,
input wire m_axi_rlast,
input wire [ RUSER_WIDTH-1:0] m_axi_ruser,
input wire m_axi_rvalid,
output wire m_axi_rready

Comment on lines +113 to +183
generate

// AR channel

if (AR_REG_TYPE > 1) begin
// skid buffer, no bubble cycles

// datapath registers
reg s_axi_arready_reg = 1'b0;

reg [ID_WIDTH-1:0] m_axi_arid_reg = {ID_WIDTH{1'b0}};
reg [ADDR_WIDTH-1:0] m_axi_araddr_reg = {ADDR_WIDTH{1'b0}};
reg [7:0] m_axi_arlen_reg = 8'd0;
reg [2:0] m_axi_arsize_reg = 3'd0;
reg [1:0] m_axi_arburst_reg = 2'd0;
reg m_axi_arlock_reg = 1'b0;
reg [3:0] m_axi_arcache_reg = 4'd0;
reg [2:0] m_axi_arprot_reg = 3'd0;
reg [3:0] m_axi_arqos_reg = 4'd0;
reg [3:0] m_axi_arregion_reg = 4'd0;
reg [ARUSER_WIDTH-1:0] m_axi_aruser_reg = {ARUSER_WIDTH{1'b0}};
reg m_axi_arvalid_reg = 1'b0, m_axi_arvalid_next;

reg [ID_WIDTH-1:0] temp_m_axi_arid_reg = {ID_WIDTH{1'b0}};
reg [ADDR_WIDTH-1:0] temp_m_axi_araddr_reg = {ADDR_WIDTH{1'b0}};
reg [7:0] temp_m_axi_arlen_reg = 8'd0;
reg [2:0] temp_m_axi_arsize_reg = 3'd0;
reg [1:0] temp_m_axi_arburst_reg = 2'd0;
reg temp_m_axi_arlock_reg = 1'b0;
reg [3:0] temp_m_axi_arcache_reg = 4'd0;
reg [2:0] temp_m_axi_arprot_reg = 3'd0;
reg [3:0] temp_m_axi_arqos_reg = 4'd0;
reg [3:0] temp_m_axi_arregion_reg = 4'd0;
reg [ARUSER_WIDTH-1:0] temp_m_axi_aruser_reg = {ARUSER_WIDTH{1'b0}};
reg temp_m_axi_arvalid_reg = 1'b0, temp_m_axi_arvalid_next;

// datapath control
reg store_axi_ar_input_to_output;
reg store_axi_ar_input_to_temp;
reg store_axi_ar_temp_to_output;

assign s_axi_arready = s_axi_arready_reg;

assign m_axi_arid = m_axi_arid_reg;
assign m_axi_araddr = m_axi_araddr_reg;
assign m_axi_arlen = m_axi_arlen_reg;
assign m_axi_arsize = m_axi_arsize_reg;
assign m_axi_arburst = m_axi_arburst_reg;
assign m_axi_arlock = m_axi_arlock_reg;
assign m_axi_arcache = m_axi_arcache_reg;
assign m_axi_arprot = m_axi_arprot_reg;
assign m_axi_arqos = m_axi_arqos_reg;
assign m_axi_arregion = m_axi_arregion_reg;
assign m_axi_aruser = ARUSER_ENABLE ? m_axi_aruser_reg : {ARUSER_WIDTH{1'b0}};
assign m_axi_arvalid = m_axi_arvalid_reg;

// enable ready input next cycle if output is ready or the temp reg will not be filled on the next cycle (output reg empty or no input)
wire s_axi_arready_early = m_axi_arready | (~temp_m_axi_arvalid_reg & (~m_axi_arvalid_reg | ~s_axi_arvalid));

always @* begin
// transfer sink ready state to source
m_axi_arvalid_next = m_axi_arvalid_reg;
temp_m_axi_arvalid_next = temp_m_axi_arvalid_reg;

store_axi_ar_input_to_output = 1'b0;
store_axi_ar_input_to_temp = 1'b0;
store_axi_ar_temp_to_output = 1'b0;

if (s_axi_arready_reg) begin
// input is ready
if (m_axi_arready | ~m_axi_arvalid_reg) begin

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
generate
// AR channel
if (AR_REG_TYPE > 1) begin
// skid buffer, no bubble cycles
// datapath registers
reg s_axi_arready_reg = 1'b0;
reg [ID_WIDTH-1:0] m_axi_arid_reg = {ID_WIDTH{1'b0}};
reg [ADDR_WIDTH-1:0] m_axi_araddr_reg = {ADDR_WIDTH{1'b0}};
reg [7:0] m_axi_arlen_reg = 8'd0;
reg [2:0] m_axi_arsize_reg = 3'd0;
reg [1:0] m_axi_arburst_reg = 2'd0;
reg m_axi_arlock_reg = 1'b0;
reg [3:0] m_axi_arcache_reg = 4'd0;
reg [2:0] m_axi_arprot_reg = 3'd0;
reg [3:0] m_axi_arqos_reg = 4'd0;
reg [3:0] m_axi_arregion_reg = 4'd0;
reg [ARUSER_WIDTH-1:0] m_axi_aruser_reg = {ARUSER_WIDTH{1'b0}};
reg m_axi_arvalid_reg = 1'b0, m_axi_arvalid_next;
reg [ID_WIDTH-1:0] temp_m_axi_arid_reg = {ID_WIDTH{1'b0}};
reg [ADDR_WIDTH-1:0] temp_m_axi_araddr_reg = {ADDR_WIDTH{1'b0}};
reg [7:0] temp_m_axi_arlen_reg = 8'd0;
reg [2:0] temp_m_axi_arsize_reg = 3'd0;
reg [1:0] temp_m_axi_arburst_reg = 2'd0;
reg temp_m_axi_arlock_reg = 1'b0;
reg [3:0] temp_m_axi_arcache_reg = 4'd0;
reg [2:0] temp_m_axi_arprot_reg = 3'd0;
reg [3:0] temp_m_axi_arqos_reg = 4'd0;
reg [3:0] temp_m_axi_arregion_reg = 4'd0;
reg [ARUSER_WIDTH-1:0] temp_m_axi_aruser_reg = {ARUSER_WIDTH{1'b0}};
reg temp_m_axi_arvalid_reg = 1'b0, temp_m_axi_arvalid_next;
// datapath control
reg store_axi_ar_input_to_output;
reg store_axi_ar_input_to_temp;
reg store_axi_ar_temp_to_output;
assign s_axi_arready = s_axi_arready_reg;
assign m_axi_arid = m_axi_arid_reg;
assign m_axi_araddr = m_axi_araddr_reg;
assign m_axi_arlen = m_axi_arlen_reg;
assign m_axi_arsize = m_axi_arsize_reg;
assign m_axi_arburst = m_axi_arburst_reg;
assign m_axi_arlock = m_axi_arlock_reg;
assign m_axi_arcache = m_axi_arcache_reg;
assign m_axi_arprot = m_axi_arprot_reg;
assign m_axi_arqos = m_axi_arqos_reg;
assign m_axi_arregion = m_axi_arregion_reg;
assign m_axi_aruser = ARUSER_ENABLE ? m_axi_aruser_reg : {ARUSER_WIDTH{1'b0}};
assign m_axi_arvalid = m_axi_arvalid_reg;
// enable ready input next cycle if output is ready or the temp reg will not be filled on the next cycle (output reg empty or no input)
wire s_axi_arready_early = m_axi_arready | (~temp_m_axi_arvalid_reg & (~m_axi_arvalid_reg | ~s_axi_arvalid));
always @* begin
// transfer sink ready state to source
m_axi_arvalid_next = m_axi_arvalid_reg;
temp_m_axi_arvalid_next = temp_m_axi_arvalid_reg;
store_axi_ar_input_to_output = 1'b0;
store_axi_ar_input_to_temp = 1'b0;
store_axi_ar_temp_to_output = 1'b0;
if (s_axi_arready_reg) begin
// input is ready
if (m_axi_arready | ~m_axi_arvalid_reg) begin
generate
// AR channel
if (AR_REG_TYPE > 1) begin
// skid buffer, no bubble cycles
// datapath registers
reg s_axi_arready_reg = 1'b0;
reg [ ID_WIDTH-1:0] m_axi_arid_reg = {ID_WIDTH{1'b0}};
reg [ ADDR_WIDTH-1:0] m_axi_araddr_reg = {ADDR_WIDTH{1'b0}};
reg [ 7:0] m_axi_arlen_reg = 8'd0;
reg [ 2:0] m_axi_arsize_reg = 3'd0;
reg [ 1:0] m_axi_arburst_reg = 2'd0;
reg m_axi_arlock_reg = 1'b0;
reg [ 3:0] m_axi_arcache_reg = 4'd0;
reg [ 2:0] m_axi_arprot_reg = 3'd0;
reg [ 3:0] m_axi_arqos_reg = 4'd0;
reg [ 3:0] m_axi_arregion_reg = 4'd0;
reg [ARUSER_WIDTH-1:0] m_axi_aruser_reg = {ARUSER_WIDTH{1'b0}};
reg m_axi_arvalid_reg = 1'b0, m_axi_arvalid_next;
reg [ ID_WIDTH-1:0] temp_m_axi_arid_reg = {ID_WIDTH{1'b0}};
reg [ ADDR_WIDTH-1:0] temp_m_axi_araddr_reg = {ADDR_WIDTH{1'b0}};
reg [ 7:0] temp_m_axi_arlen_reg = 8'd0;
reg [ 2:0] temp_m_axi_arsize_reg = 3'd0;
reg [ 1:0] temp_m_axi_arburst_reg = 2'd0;
reg temp_m_axi_arlock_reg = 1'b0;
reg [ 3:0] temp_m_axi_arcache_reg = 4'd0;
reg [ 2:0] temp_m_axi_arprot_reg = 3'd0;
reg [ 3:0] temp_m_axi_arqos_reg = 4'd0;
reg [ 3:0] temp_m_axi_arregion_reg = 4'd0;
reg [ARUSER_WIDTH-1:0] temp_m_axi_aruser_reg = {ARUSER_WIDTH{1'b0}};
reg temp_m_axi_arvalid_reg = 1'b0, temp_m_axi_arvalid_next;
// datapath control
reg store_axi_ar_input_to_output;
reg store_axi_ar_input_to_temp;
reg store_axi_ar_temp_to_output;
assign s_axi_arready = s_axi_arready_reg;
assign m_axi_arid = m_axi_arid_reg;
assign m_axi_araddr = m_axi_araddr_reg;
assign m_axi_arlen = m_axi_arlen_reg;
assign m_axi_arsize = m_axi_arsize_reg;
assign m_axi_arburst = m_axi_arburst_reg;
assign m_axi_arlock = m_axi_arlock_reg;
assign m_axi_arcache = m_axi_arcache_reg;
assign m_axi_arprot = m_axi_arprot_reg;
assign m_axi_arqos = m_axi_arqos_reg;
assign m_axi_arregion = m_axi_arregion_reg;
assign m_axi_aruser = ARUSER_ENABLE ? m_axi_aruser_reg : {ARUSER_WIDTH{1'b0}};
assign m_axi_arvalid = m_axi_arvalid_reg;
// enable ready input next cycle if output is ready or the temp reg will not be filled on the next cycle (output reg empty or no input)
wire s_axi_arready_early = m_axi_arready | (~temp_m_axi_arvalid_reg & (~m_axi_arvalid_reg | ~s_axi_arvalid));
always @* begin
// transfer sink ready state to source
m_axi_arvalid_next = m_axi_arvalid_reg;
temp_m_axi_arvalid_next = temp_m_axi_arvalid_reg;
store_axi_ar_input_to_output = 1'b0;
store_axi_ar_input_to_temp = 1'b0;
store_axi_ar_temp_to_output = 1'b0;
if (s_axi_arready_reg) begin
// input is ready
if (m_axi_arready | ~m_axi_arvalid_reg) begin

// output is ready or currently not valid, transfer data to output
m_axi_arvalid_next = s_axi_arvalid;
store_axi_ar_input_to_output = 1'b1;
end else begin

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
end else begin
end else begin

// output is not ready, store input in temp
temp_m_axi_arvalid_next = s_axi_arvalid;
store_axi_ar_input_to_temp = 1'b1;
end

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
end
end
end else if (m_axi_arready) begin
// input is not ready, but output is ready
m_axi_arvalid_next = temp_m_axi_arvalid_reg;
temp_m_axi_arvalid_next = 1'b0;
store_axi_ar_temp_to_output = 1'b1;
end

Comment on lines +192 to +198
end else if (m_axi_arready) begin
// input is not ready, but output is ready
m_axi_arvalid_next = temp_m_axi_arvalid_reg;
temp_m_axi_arvalid_next = 1'b0;
store_axi_ar_temp_to_output = 1'b1;
end
end

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
end else if (m_axi_arready) begin
// input is not ready, but output is ready
m_axi_arvalid_next = temp_m_axi_arvalid_reg;
temp_m_axi_arvalid_next = 1'b0;
store_axi_ar_temp_to_output = 1'b1;
end
end
end

Comment on lines +481 to +483
always @* begin
// transfer sink ready state to source
s_axi_rvalid_next = s_axi_rvalid_reg;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
always @* begin
// transfer sink ready state to source
s_axi_rvalid_next = s_axi_rvalid_reg;
always @* begin
// transfer sink ready state to source
s_axi_rvalid_next = s_axi_rvalid_reg;

// transfer sink ready state to source
s_axi_rvalid_next = s_axi_rvalid_reg;

store_axi_r_input_to_output = 1'b0;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
store_axi_r_input_to_output = 1'b0;
store_axi_r_input_to_output = 1'b0;

Comment on lines +487 to +493
if (m_axi_rready_reg) begin
s_axi_rvalid_next = m_axi_rvalid;
store_axi_r_input_to_output = 1'b1;
end else if (s_axi_rready) begin
s_axi_rvalid_next = 1'b0;
end
end

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
if (m_axi_rready_reg) begin
s_axi_rvalid_next = m_axi_rvalid;
store_axi_r_input_to_output = 1'b1;
end else if (s_axi_rready) begin
s_axi_rvalid_next = 1'b0;
end
end
if (m_axi_rready_reg) begin
s_axi_rvalid_next = m_axi_rvalid;
store_axi_r_input_to_output = 1'b1;
end else if (s_axi_rready) begin
s_axi_rvalid_next = 1'b0;
end
end

Comment on lines +495 to +502
always @(posedge clk) begin
if (rst) begin
m_axi_rready_reg <= 1'b0;
s_axi_rvalid_reg <= 1'b0;
end else begin
m_axi_rready_reg <= m_axi_rready_early;
s_axi_rvalid_reg <= s_axi_rvalid_next;
end

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
always @(posedge clk) begin
if (rst) begin
m_axi_rready_reg <= 1'b0;
s_axi_rvalid_reg <= 1'b0;
end else begin
m_axi_rready_reg <= m_axi_rready_early;
s_axi_rvalid_reg <= s_axi_rvalid_next;
end
always @(posedge clk) begin
if (rst) begin
m_axi_rready_reg <= 1'b0;
s_axi_rvalid_reg <= 1'b0;
end else begin
m_axi_rready_reg <= m_axi_rready_early;
s_axi_rvalid_reg <= s_axi_rvalid_next;
end

Comment on lines +504 to +512
// datapath
if (store_axi_r_input_to_output) begin
s_axi_rid_reg <= m_axi_rid;
s_axi_rdata_reg <= m_axi_rdata;
s_axi_rresp_reg <= m_axi_rresp;
s_axi_rlast_reg <= m_axi_rlast;
s_axi_ruser_reg <= m_axi_ruser;
end
end

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
// datapath
if (store_axi_r_input_to_output) begin
s_axi_rid_reg <= m_axi_rid;
s_axi_rdata_reg <= m_axi_rdata;
s_axi_rresp_reg <= m_axi_rresp;
s_axi_rlast_reg <= m_axi_rlast;
s_axi_ruser_reg <= m_axi_ruser;
end
end
// datapath
if (store_axi_r_input_to_output) begin
s_axi_rid_reg <= m_axi_rid;
s_axi_rdata_reg <= m_axi_rdata;
s_axi_rresp_reg <= m_axi_rresp;
s_axi_rlast_reg <= m_axi_rlast;
s_axi_ruser_reg <= m_axi_ruser;
end
end

@RRozak RRozak force-pushed the rrozak/60812-openocd-tests branch from c1b0572 to 9662c33 Compare July 17, 2024 14:12
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit

verible-verilog-format

testbench/axi4_mux/axi_register_wr.v|474|
testbench/axi4_mux/axi_register_wr.v|477|
testbench/axi4_mux/axi_register_wr.v|479|
testbench/axi4_mux/axi_register_wr.v|485|
testbench/axi4_mux/axi_register_wr.v|488|
testbench/axi4_mux/axi_register_wr.v|492|
testbench/axi4_mux/axi_register_wr.v|494|
testbench/axi4_mux/axi_register_wr.v|502|
testbench/axi4_mux/axi_register_wr.v|511|
testbench/axi4_mux/axi_register_wr.v|520|
testbench/axi4_mux/axi_register_wr.v|522|
testbench/axi4_mux/axi_register_wr.v|530|
testbench/axi4_mux/axi_register_wr.v|532|
testbench/axi4_mux/axi_register_wr.v|534|
testbench/axi4_mux/axi_register_wr.v|537|
testbench/axi4_mux/axi_register_wr.v|540|
testbench/axi4_mux/axi_register_wr.v|545|
testbench/axi4_mux/axi_register_wr.v|550|
testbench/axi4_mux/axi_register_wr.v|555|
testbench/axi4_mux/axi_register_wr.v|557|
testbench/axi4_mux/axi_register_wr.v|562|
testbench/axi4_mux/axi_register_wr.v|565|
testbench/axi4_mux/axi_register_wr.v|570|
testbench/axi4_mux/axi_register_wr.v|574|
testbench/axi4_mux/axi_register_wr.v|580|
testbench/axi4_mux/axi_register_wr.v|584 col 1|
testbench/axi4_mux/axi_register_wr.v|585|
testbench/axi4_mux/axi_register_wr.v|593|
testbench/axi4_mux/axi_register_wr.v|604|
testbench/axi4_mux/axi_register_wr.v|615|
testbench/axi4_mux/axi_register_wr.v|622|
testbench/axi4_mux/axi_register_wr.v|625|
testbench/axi4_mux/axi_register_wr.v|628|
testbench/axi4_mux/axi_register_wr.v|633|
testbench/axi4_mux/axi_register_wr.v|636|
testbench/axi4_mux/axi_register_wr.v|638|
testbench/axi4_mux/axi_register_wr.v|643|
testbench/axi4_mux/axi_register_wr.v|646|
testbench/axi4_mux/axi_register_wr.v|650|
testbench/axi4_mux/axi_register_wr.v|652|
testbench/axi4_mux/axi_register_wr.v|660|
testbench/axi4_mux/axi_register_wr.v|669|
testbench/axi4_mux/axi_register_wr.v|677|
testbench/axi4_mux/axi_register_wr.v|679|
testbench/axi4_mux/axi_register_wr.v|686|
testbench/axi4_mux/axi_register_wr.v|688|
testbench/axi4_mux/priority_encoder.v|28|
testbench/axi4_mux/priority_encoder.v|35|
testbench/axi4_mux/priority_encoder.v|40|
testbench/axi4_mux/priority_encoder.v|45|
testbench/axi4_mux/priority_encoder.v|48|
testbench/axi4_mux/priority_encoder.v|51|
testbench/axi4_mux/priority_encoder.v|54|
testbench/axi4_mux/priority_encoder.v|57|
testbench/axi4_mux/priority_encoder.v|61|
testbench/axi4_mux/priority_encoder.v|74|
testbench/axi4_mux/priority_encoder.v|84 col 1|
testbench/axi4_mux/priority_encoder.v|85|
testbench/axi4_mux/priority_encoder.v|87|
testbench/jtagdpi/jtagdpi.sv|7|
testbench/jtagdpi/jtagdpi.sv|21|
testbench/jtagdpi/jtagdpi.sv|24|
testbench/jtagdpi/jtagdpi.sv|29|
testbench/jtagdpi/jtagdpi.sv|36|
testbench/jtagdpi/jtagdpi.sv|38|
testbench/jtagdpi/jtagdpi.sv|44|
testbench/jtagdpi/jtagdpi.sv|51|

end
end

end else begin

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
end else begin
end else begin

Comment on lines +516 to +523
// bypass R channel
assign s_axi_rid = m_axi_rid;
assign s_axi_rdata = m_axi_rdata;
assign s_axi_rresp = m_axi_rresp;
assign s_axi_rlast = m_axi_rlast;
assign s_axi_ruser = RUSER_ENABLE ? m_axi_ruser : {RUSER_WIDTH{1'b0}};
assign s_axi_rvalid = m_axi_rvalid;
assign m_axi_rready = s_axi_rready;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
// bypass R channel
assign s_axi_rid = m_axi_rid;
assign s_axi_rdata = m_axi_rdata;
assign s_axi_rresp = m_axi_rresp;
assign s_axi_rlast = m_axi_rlast;
assign s_axi_ruser = RUSER_ENABLE ? m_axi_ruser : {RUSER_WIDTH{1'b0}};
assign s_axi_rvalid = m_axi_rvalid;
assign m_axi_rready = s_axi_rready;
// bypass R channel
assign s_axi_rid = m_axi_rid;
assign s_axi_rdata = m_axi_rdata;
assign s_axi_rresp = m_axi_rresp;
assign s_axi_rlast = m_axi_rlast;
assign s_axi_ruser = RUSER_ENABLE ? m_axi_ruser : {RUSER_WIDTH{1'b0}};
assign s_axi_rvalid = m_axi_rvalid;
assign m_axi_rready = s_axi_rready;

assign s_axi_rvalid = m_axi_rvalid;
assign m_axi_rready = s_axi_rready;

end

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
end
end


end

endgenerate

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
endgenerate
endgenerate

Comment on lines +28 to +30
`resetall
`timescale 1ns / 1ps
`default_nettype none

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
`resetall
`timescale 1ns / 1ps
`default_nettype none
`resetall `timescale 1ns / 1ps `default_nettype none

Comment on lines +441 to +452
// datapath
if (store_axi_w_input_to_output) begin
m_axi_wdata_reg <= s_axi_wdata;
m_axi_wstrb_reg <= s_axi_wstrb;
m_axi_wlast_reg <= s_axi_wlast;
m_axi_wuser_reg <= s_axi_wuser;
end else if (store_axi_w_temp_to_output) begin
m_axi_wdata_reg <= temp_m_axi_wdata_reg;
m_axi_wstrb_reg <= temp_m_axi_wstrb_reg;
m_axi_wlast_reg <= temp_m_axi_wlast_reg;
m_axi_wuser_reg <= temp_m_axi_wuser_reg;
end

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
// datapath
if (store_axi_w_input_to_output) begin
m_axi_wdata_reg <= s_axi_wdata;
m_axi_wstrb_reg <= s_axi_wstrb;
m_axi_wlast_reg <= s_axi_wlast;
m_axi_wuser_reg <= s_axi_wuser;
end else if (store_axi_w_temp_to_output) begin
m_axi_wdata_reg <= temp_m_axi_wdata_reg;
m_axi_wstrb_reg <= temp_m_axi_wstrb_reg;
m_axi_wlast_reg <= temp_m_axi_wlast_reg;
m_axi_wuser_reg <= temp_m_axi_wuser_reg;
end
// datapath
if (store_axi_w_input_to_output) begin
m_axi_wdata_reg <= s_axi_wdata;
m_axi_wstrb_reg <= s_axi_wstrb;
m_axi_wlast_reg <= s_axi_wlast;
m_axi_wuser_reg <= s_axi_wuser;
end else if (store_axi_w_temp_to_output) begin
m_axi_wdata_reg <= temp_m_axi_wdata_reg;
m_axi_wstrb_reg <= temp_m_axi_wstrb_reg;
m_axi_wlast_reg <= temp_m_axi_wlast_reg;
m_axi_wuser_reg <= temp_m_axi_wuser_reg;
end

Comment on lines +454 to +460
if (store_axi_w_input_to_temp) begin
temp_m_axi_wdata_reg <= s_axi_wdata;
temp_m_axi_wstrb_reg <= s_axi_wstrb;
temp_m_axi_wlast_reg <= s_axi_wlast;
temp_m_axi_wuser_reg <= s_axi_wuser;
end
end

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
if (store_axi_w_input_to_temp) begin
temp_m_axi_wdata_reg <= s_axi_wdata;
temp_m_axi_wstrb_reg <= s_axi_wstrb;
temp_m_axi_wlast_reg <= s_axi_wlast;
temp_m_axi_wuser_reg <= s_axi_wuser;
end
end
if (store_axi_w_input_to_temp) begin
temp_m_axi_wdata_reg <= s_axi_wdata;
temp_m_axi_wstrb_reg <= s_axi_wstrb;
temp_m_axi_wlast_reg <= s_axi_wlast;
temp_m_axi_wuser_reg <= s_axi_wuser;
end
end

Comment on lines +462 to +463
end else if (W_REG_TYPE == 1) begin
// simple register, inserts bubble cycles

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
end else if (W_REG_TYPE == 1) begin
// simple register, inserts bubble cycles
end else if (W_REG_TYPE == 1) begin
// simple register, inserts bubble cycles

Comment on lines +465 to +466
// datapath registers
reg s_axi_wready_reg = 1'b0;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
// datapath registers
reg s_axi_wready_reg = 1'b0;
// datapath registers
reg s_axi_wready_reg = 1'b0;

Comment on lines +468 to +472
reg [DATA_WIDTH-1:0] m_axi_wdata_reg = {DATA_WIDTH{1'b0}};
reg [STRB_WIDTH-1:0] m_axi_wstrb_reg = {STRB_WIDTH{1'b0}};
reg m_axi_wlast_reg = 1'b0;
reg [WUSER_WIDTH-1:0] m_axi_wuser_reg = {WUSER_WIDTH{1'b0}};
reg m_axi_wvalid_reg = 1'b0, m_axi_wvalid_next;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
reg [DATA_WIDTH-1:0] m_axi_wdata_reg = {DATA_WIDTH{1'b0}};
reg [STRB_WIDTH-1:0] m_axi_wstrb_reg = {STRB_WIDTH{1'b0}};
reg m_axi_wlast_reg = 1'b0;
reg [WUSER_WIDTH-1:0] m_axi_wuser_reg = {WUSER_WIDTH{1'b0}};
reg m_axi_wvalid_reg = 1'b0, m_axi_wvalid_next;
reg [ DATA_WIDTH-1:0] m_axi_wdata_reg = {DATA_WIDTH{1'b0}};
reg [ STRB_WIDTH-1:0] m_axi_wstrb_reg = {STRB_WIDTH{1'b0}};
reg m_axi_wlast_reg = 1'b0;
reg [WUSER_WIDTH-1:0] m_axi_wuser_reg = {WUSER_WIDTH{1'b0}};
reg m_axi_wvalid_reg = 1'b0, m_axi_wvalid_next;

@RRozak RRozak force-pushed the rrozak/60812-openocd-tests branch from 9662c33 to 7c3eb3e Compare July 17, 2024 15:18
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit

verible-verilog-format

testbench/axi4_mux/axi_register_wr.v|622|
testbench/axi4_mux/axi_register_wr.v|625|
testbench/axi4_mux/axi_register_wr.v|628|
testbench/axi4_mux/axi_register_wr.v|633|
testbench/axi4_mux/axi_register_wr.v|636|
testbench/axi4_mux/axi_register_wr.v|638|
testbench/axi4_mux/axi_register_wr.v|643|
testbench/axi4_mux/axi_register_wr.v|646|
testbench/axi4_mux/axi_register_wr.v|650|
testbench/axi4_mux/axi_register_wr.v|652|
testbench/axi4_mux/axi_register_wr.v|660|
testbench/axi4_mux/axi_register_wr.v|669|
testbench/axi4_mux/axi_register_wr.v|677|
testbench/axi4_mux/axi_register_wr.v|679|
testbench/axi4_mux/axi_register_wr.v|686|
testbench/axi4_mux/axi_register_wr.v|688|
testbench/axi4_mux/priority_encoder.v|28|
testbench/axi4_mux/priority_encoder.v|35|
testbench/axi4_mux/priority_encoder.v|40|
testbench/axi4_mux/priority_encoder.v|45|
testbench/axi4_mux/priority_encoder.v|48|
testbench/axi4_mux/priority_encoder.v|51|
testbench/axi4_mux/priority_encoder.v|54|
testbench/axi4_mux/priority_encoder.v|57|
testbench/axi4_mux/priority_encoder.v|61|
testbench/axi4_mux/priority_encoder.v|74|
testbench/axi4_mux/priority_encoder.v|84 col 1|
testbench/axi4_mux/priority_encoder.v|85|
testbench/axi4_mux/priority_encoder.v|87|
testbench/jtagdpi/jtagdpi.sv|7|
testbench/jtagdpi/jtagdpi.sv|21|
testbench/jtagdpi/jtagdpi.sv|24|
testbench/jtagdpi/jtagdpi.sv|29|
testbench/jtagdpi/jtagdpi.sv|44|

Comment on lines +474 to +475
// datapath control
reg store_axi_w_input_to_output;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
// datapath control
reg store_axi_w_input_to_output;
// datapath control
reg store_axi_w_input_to_output;

// datapath control
reg store_axi_w_input_to_output;

assign s_axi_wready = s_axi_wready_reg;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
assign s_axi_wready = s_axi_wready_reg;
assign s_axi_wready = s_axi_wready_reg;

Comment on lines +479 to +483
assign m_axi_wdata = m_axi_wdata_reg;
assign m_axi_wstrb = m_axi_wstrb_reg;
assign m_axi_wlast = m_axi_wlast_reg;
assign m_axi_wuser = WUSER_ENABLE ? m_axi_wuser_reg : {WUSER_WIDTH{1'b0}};
assign m_axi_wvalid = m_axi_wvalid_reg;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
assign m_axi_wdata = m_axi_wdata_reg;
assign m_axi_wstrb = m_axi_wstrb_reg;
assign m_axi_wlast = m_axi_wlast_reg;
assign m_axi_wuser = WUSER_ENABLE ? m_axi_wuser_reg : {WUSER_WIDTH{1'b0}};
assign m_axi_wvalid = m_axi_wvalid_reg;
assign m_axi_wdata = m_axi_wdata_reg;
assign m_axi_wstrb = m_axi_wstrb_reg;
assign m_axi_wlast = m_axi_wlast_reg;
assign m_axi_wuser = WUSER_ENABLE ? m_axi_wuser_reg : {WUSER_WIDTH{1'b0}};
assign m_axi_wvalid = m_axi_wvalid_reg;

Comment on lines +485 to +486
// enable ready input next cycle if output buffer will be empty
wire s_axi_wready_ewly = !m_axi_wvalid_next;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
// enable ready input next cycle if output buffer will be empty
wire s_axi_wready_ewly = !m_axi_wvalid_next;
// enable ready input next cycle if output buffer will be empty
wire s_axi_wready_ewly = !m_axi_wvalid_next;

Comment on lines +488 to +490
always @* begin
// transfer sink ready state to source
m_axi_wvalid_next = m_axi_wvalid_reg;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
always @* begin
// transfer sink ready state to source
m_axi_wvalid_next = m_axi_wvalid_reg;
always @* begin
// transfer sink ready state to source
m_axi_wvalid_next = m_axi_wvalid_reg;

// output is not ready, store input in temp
temp_s_axi_bvalid_next = m_axi_bvalid;
store_axi_b_input_to_temp = 1'b1;
end

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
end
end
end else if (s_axi_bready) begin
// input is not ready, but output is ready
s_axi_bvalid_next = temp_s_axi_bvalid_reg;
temp_s_axi_bvalid_next = 1'b0;
store_axi_b_temp_to_output = 1'b1;
end

Comment on lines +585 to +591
end else if (s_axi_bready) begin
// input is not ready, but output is ready
s_axi_bvalid_next = temp_s_axi_bvalid_reg;
temp_s_axi_bvalid_next = 1'b0;
store_axi_b_temp_to_output = 1'b1;
end
end

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
end else if (s_axi_bready) begin
// input is not ready, but output is ready
s_axi_bvalid_next = temp_s_axi_bvalid_reg;
temp_s_axi_bvalid_next = 1'b0;
store_axi_b_temp_to_output = 1'b1;
end
end
end

Comment on lines +593 to +602
always @(posedge clk) begin
if (rst) begin
m_axi_bready_reg <= 1'b0;
s_axi_bvalid_reg <= 1'b0;
temp_s_axi_bvalid_reg <= 1'b0;
end else begin
m_axi_bready_reg <= m_axi_bready_early;
s_axi_bvalid_reg <= s_axi_bvalid_next;
temp_s_axi_bvalid_reg <= temp_s_axi_bvalid_next;
end

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
always @(posedge clk) begin
if (rst) begin
m_axi_bready_reg <= 1'b0;
s_axi_bvalid_reg <= 1'b0;
temp_s_axi_bvalid_reg <= 1'b0;
end else begin
m_axi_bready_reg <= m_axi_bready_early;
s_axi_bvalid_reg <= s_axi_bvalid_next;
temp_s_axi_bvalid_reg <= temp_s_axi_bvalid_next;
end
always @(posedge clk) begin
if (rst) begin
m_axi_bready_reg <= 1'b0;
s_axi_bvalid_reg <= 1'b0;
temp_s_axi_bvalid_reg <= 1'b0;
end else begin
m_axi_bready_reg <= m_axi_bready_early;
s_axi_bvalid_reg <= s_axi_bvalid_next;
temp_s_axi_bvalid_reg <= temp_s_axi_bvalid_next;
end

Comment on lines +604 to +613
// datapath
if (store_axi_b_input_to_output) begin
s_axi_bid_reg <= m_axi_bid;
s_axi_bresp_reg <= m_axi_bresp;
s_axi_buser_reg <= m_axi_buser;
end else if (store_axi_b_temp_to_output) begin
s_axi_bid_reg <= temp_s_axi_bid_reg;
s_axi_bresp_reg <= temp_s_axi_bresp_reg;
s_axi_buser_reg <= temp_s_axi_buser_reg;
end

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
// datapath
if (store_axi_b_input_to_output) begin
s_axi_bid_reg <= m_axi_bid;
s_axi_bresp_reg <= m_axi_bresp;
s_axi_buser_reg <= m_axi_buser;
end else if (store_axi_b_temp_to_output) begin
s_axi_bid_reg <= temp_s_axi_bid_reg;
s_axi_bresp_reg <= temp_s_axi_bresp_reg;
s_axi_buser_reg <= temp_s_axi_buser_reg;
end
// datapath
if (store_axi_b_input_to_output) begin
s_axi_bid_reg <= m_axi_bid;
s_axi_bresp_reg <= m_axi_bresp;
s_axi_buser_reg <= m_axi_buser;
end else if (store_axi_b_temp_to_output) begin
s_axi_bid_reg <= temp_s_axi_bid_reg;
s_axi_bresp_reg <= temp_s_axi_bresp_reg;
s_axi_buser_reg <= temp_s_axi_buser_reg;
end

Comment on lines +615 to +620
if (store_axi_b_input_to_temp) begin
temp_s_axi_bid_reg <= m_axi_bid;
temp_s_axi_bresp_reg <= m_axi_bresp;
temp_s_axi_buser_reg <= m_axi_buser;
end
end

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
if (store_axi_b_input_to_temp) begin
temp_s_axi_bid_reg <= m_axi_bid;
temp_s_axi_bresp_reg <= m_axi_bresp;
temp_s_axi_buser_reg <= m_axi_buser;
end
end
if (store_axi_b_input_to_temp) begin
temp_s_axi_bid_reg <= m_axi_bid;
temp_s_axi_bresp_reg <= m_axi_bresp;
temp_s_axi_buser_reg <= m_axi_buser;
end
end

@RRozak RRozak force-pushed the rrozak/60812-openocd-tests branch from 7c3eb3e to 08fc096 Compare July 17, 2024 16:24
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit

verible-verilog-format

testbench/jtagdpi/jtagdpi.sv|21|
testbench/jtagdpi/jtagdpi.sv|24|
testbench/jtagdpi/jtagdpi.sv|29|
testbench/jtagdpi/jtagdpi.sv|44|

Comment on lines +622 to +623
end else if (B_REG_TYPE == 1) begin
// simple register, inserts bubble cycles

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
end else if (B_REG_TYPE == 1) begin
// simple register, inserts bubble cycles
end else if (B_REG_TYPE == 1) begin
// simple register, inserts bubble cycles

Comment on lines +625 to +626
// datapath registers
reg m_axi_bready_reg = 1'b0;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
// datapath registers
reg m_axi_bready_reg = 1'b0;
// datapath registers
reg m_axi_bready_reg = 1'b0;

Comment on lines +628 to +631
reg [ID_WIDTH-1:0] s_axi_bid_reg = {ID_WIDTH{1'b0}};
reg [1:0] s_axi_bresp_reg = 2'b0;
reg [BUSER_WIDTH-1:0] s_axi_buser_reg = {BUSER_WIDTH{1'b0}};
reg s_axi_bvalid_reg = 1'b0, s_axi_bvalid_next;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
reg [ID_WIDTH-1:0] s_axi_bid_reg = {ID_WIDTH{1'b0}};
reg [1:0] s_axi_bresp_reg = 2'b0;
reg [BUSER_WIDTH-1:0] s_axi_buser_reg = {BUSER_WIDTH{1'b0}};
reg s_axi_bvalid_reg = 1'b0, s_axi_bvalid_next;
reg [ ID_WIDTH-1:0] s_axi_bid_reg = {ID_WIDTH{1'b0}};
reg [ 1:0] s_axi_bresp_reg = 2'b0;
reg [BUSER_WIDTH-1:0] s_axi_buser_reg = {BUSER_WIDTH{1'b0}};
reg s_axi_bvalid_reg = 1'b0, s_axi_bvalid_next;

Comment on lines +633 to +634
// datapath control
reg store_axi_b_input_to_output;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
// datapath control
reg store_axi_b_input_to_output;
// datapath control
reg store_axi_b_input_to_output;

// datapath control
reg store_axi_b_input_to_output;

assign m_axi_bready = m_axi_bready_reg;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
assign m_axi_bready = m_axi_bready_reg;
assign m_axi_bready = m_axi_bready_reg;

Comment on lines +74 to +82
for (n = 0; n < W/(2*2**l); n = n + 1) begin : loop_compress
assign stage_valid[l][n] = |stage_valid[l-1][n*2+1:n*2];
if (LSB_HIGH_PRIORITY) begin
// bit 0 is highest priority
assign stage_enc[l][(n+1)*(l+1)-1:n*(l+1)] = stage_valid[l-1][n*2+0] ? {1'b0, stage_enc[l-1][(n*2+1)*l-1:(n*2+0)*l]} : {1'b1, stage_enc[l-1][(n*2+2)*l-1:(n*2+1)*l]};
end else begin
// bit 0 is lowest priority
assign stage_enc[l][(n+1)*(l+1)-1:n*(l+1)] = stage_valid[l-1][n*2+1] ? {1'b1, stage_enc[l-1][(n*2+2)*l-1:(n*2+1)*l]} : {1'b0, stage_enc[l-1][(n*2+1)*l-1:(n*2+0)*l]};
end

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
for (n = 0; n < W/(2*2**l); n = n + 1) begin : loop_compress
assign stage_valid[l][n] = |stage_valid[l-1][n*2+1:n*2];
if (LSB_HIGH_PRIORITY) begin
// bit 0 is highest priority
assign stage_enc[l][(n+1)*(l+1)-1:n*(l+1)] = stage_valid[l-1][n*2+0] ? {1'b0, stage_enc[l-1][(n*2+1)*l-1:(n*2+0)*l]} : {1'b1, stage_enc[l-1][(n*2+2)*l-1:(n*2+1)*l]};
end else begin
// bit 0 is lowest priority
assign stage_enc[l][(n+1)*(l+1)-1:n*(l+1)] = stage_valid[l-1][n*2+1] ? {1'b1, stage_enc[l-1][(n*2+2)*l-1:(n*2+1)*l]} : {1'b0, stage_enc[l-1][(n*2+1)*l-1:(n*2+0)*l]};
end
for (n = 0; n < W / (2 * 2 ** l); n = n + 1) begin : loop_compress
assign stage_valid[l][n] = |stage_valid[l-1][n*2+1:n*2];
if (LSB_HIGH_PRIORITY) begin
// bit 0 is highest priority
assign stage_enc[l][(n+1)*(l+1)-1:n*(l+1)] = stage_valid[l-1][n*2+0] ? {1'b0, stage_enc[l-1][(n*2+1)*l-1:(n*2+0)*l]} : {1'b1, stage_enc[l-1][(n*2+2)*l-1:(n*2+1)*l]};
end else begin
// bit 0 is lowest priority
assign stage_enc[l][(n+1)*(l+1)-1:n*(l+1)] = stage_valid[l-1][n*2+1] ? {1'b1, stage_enc[l-1][(n*2+2)*l-1:(n*2+1)*l]} : {1'b0, stage_enc[l-1][(n*2+1)*l-1:(n*2+0)*l]};

assign stage_enc[l][(n+1)*(l+1)-1:n*(l+1)] = stage_valid[l-1][n*2+1] ? {1'b1, stage_enc[l-1][(n*2+2)*l-1:(n*2+1)*l]} : {1'b0, stage_enc[l-1][(n*2+1)*l-1:(n*2+0)*l]};
end
end
end

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
end
end
end

end
end
end
endgenerate

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
endgenerate
endgenerate

Comment on lines +87 to +89
assign output_valid = stage_valid[LEVELS-1];
assign output_encoded = stage_enc[LEVELS-1];
assign output_unencoded = 1 << output_encoded;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
assign output_valid = stage_valid[LEVELS-1];
assign output_encoded = stage_enc[LEVELS-1];
assign output_unencoded = 1 << output_encoded;
assign output_valid = stage_valid[LEVELS-1];
assign output_encoded = stage_enc[LEVELS-1];
assign output_unencoded = 1 << output_encoded;

Comment on lines +7 to +18
parameter string Name = "jtag0", // name of the JTAG interface (display only)
parameter int ListenPort = 44853 // TCP port to listen on
)(
input logic clk_i,
input logic rst_ni,

output logic jtag_tck,
output logic jtag_tms,
output logic jtag_tdi,
input logic jtag_tdo,
output logic jtag_trst_n,
output logic jtag_srst_n

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
parameter string Name = "jtag0", // name of the JTAG interface (display only)
parameter int ListenPort = 44853 // TCP port to listen on
)(
input logic clk_i,
input logic rst_ni,
output logic jtag_tck,
output logic jtag_tms,
output logic jtag_tdi,
input logic jtag_tdo,
output logic jtag_trst_n,
output logic jtag_srst_n
parameter string Name = "jtag0", // name of the JTAG interface (display only)
parameter int ListenPort = 44853 // TCP port to listen on
) (
input logic clk_i,
input logic rst_ni,
output logic jtag_tck,
output logic jtag_tms,
output logic jtag_tdi,
input logic jtag_tdo,
output logic jtag_trst_n,
output logic jtag_srst_n

Comment on lines +21 to +22
import "DPI-C"
function chandle jtagdpi_create(input string name, input int listen_port);

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
import "DPI-C"
function chandle jtagdpi_create(input string name, input int listen_port);
import "DPI-C" function chandle jtagdpi_create(
input string name,
input int listen_port
);

Comment on lines +24 to +27
import "DPI-C"
function void jtagdpi_tick(input chandle ctx, output bit tck, output bit tms,
output bit tdi, output bit trst_n,
output bit srst_n, input bit tdo);

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
import "DPI-C"
function void jtagdpi_tick(input chandle ctx, output bit tck, output bit tms,
output bit tdi, output bit trst_n,
output bit srst_n, input bit tdo);
import "DPI-C" function void jtagdpi_tick(
input chandle ctx,
output bit tck,
output bit tms,
output bit tdi,
output bit trst_n,
output bit srst_n,
input bit tdo
);

Comment on lines +29 to +30
import "DPI-C"
function void jtagdpi_close(input chandle ctx);

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
import "DPI-C"
function void jtagdpi_close(input chandle ctx);
import "DPI-C" function void jtagdpi_close(input chandle ctx);

Comment on lines +44 to +45
jtagdpi_tick(ctx, jtag_tck, jtag_tms, jtag_tdi, jtag_trst_n, jtag_srst_n,
jtag_tdo);

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[verible-verilog-format] reported by reviewdog 🐶

Suggested change
jtagdpi_tick(ctx, jtag_tck, jtag_tms, jtag_tdi, jtag_trst_n, jtag_srst_n,
jtag_tdo);
jtagdpi_tick(ctx, jtag_tck, jtag_tms, jtag_tdi, jtag_trst_n, jtag_srst_n, jtag_tdo);

testbench/ahb_sif.sv Outdated Show resolved Hide resolved
Copy link

Links to coverage and verification reports for this PR (#211) are available at https://chipsalliance.github.io/Cores-VeeR-EL2/

@RRozak RRozak force-pushed the rrozak/60812-openocd-tests branch from 5d1dd9c to 1520590 Compare July 19, 2024 08:03
Copy link

Links to coverage and verification reports for this PR (#211) are available at https://chipsalliance.github.io/Cores-VeeR-EL2/

Copy link

Links to coverage and verification reports for this PR (#211) are available at https://chipsalliance.github.io/Cores-VeeR-EL2/

@RRozak RRozak force-pushed the rrozak/60812-openocd-tests branch from 649701c to 514dc39 Compare July 19, 2024 16:15
Copy link

Links to coverage and verification reports for this PR (#211) are available at https://chipsalliance.github.io/Cores-VeeR-EL2/

@RRozak RRozak force-pushed the rrozak/60812-openocd-tests branch from 514dc39 to 0a00e2c Compare July 24, 2024 11:48
RRozak added 2 commits July 29, 2024 17:17
Internal-tag: [#60812]
Signed-off-by: Ryszard Rozak <[email protected]>
Internal-tag: [#60812]
Signed-off-by: Ryszard Rozak <[email protected]>
RRozak and others added 12 commits July 29, 2024 17:18
Internal-tag: [#60812]
Signed-off-by: Ryszard Rozak <[email protected]>
Internal-tag: [#60812]
Signed-off-by: Ryszard Rozak <[email protected]>
Internal-tag: [#60812]
Signed-off-by: Ryszard Rozak <[email protected]>
Internal-tag: [#60812]
Signed-off-by: Ryszard Rozak <[email protected]>
Internal-tag: [#60812]
Signed-off-by: Ryszard Rozak <[email protected]>
Internal-tag: [#60812]
Signed-off-by: Ryszard Rozak <[email protected]>
Internal-tag: [#60812]
Signed-off-by: Ryszard Rozak <[email protected]>
Internal-tag: [#60812]
Signed-off-by: Ryszard Rozak <[email protected]>
Internal-tag: [#60812]
Signed-off-by: Ryszard Rozak <[email protected]>
Internal-tag: [#60812]
Signed-off-by: Ryszard Rozak <[email protected]>
Internal-tag: [#60812]
Signed-off-by: Ryszard Rozak <[email protected]>
Internal-tag: [#60812]
@kiryk kiryk force-pushed the rrozak/60812-openocd-tests branch from 01b4d13 to 4ba3e1a Compare July 29, 2024 15:20
Copy link

Links to coverage and verification reports for this PR (#211) are available at https://chipsalliance.github.io/Cores-VeeR-EL2/

@tmichalak tmichalak merged commit 5c9580f into chipsalliance:main Aug 2, 2024
268 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants