Files
retroSoC/rtl/mini/top/rib_if.sv
T
maksyuki a87236ae33 feat: refactor RIB interfaces and update test cases
- Renamed  and  to  and  respectively across various test files and modules.
- Updated response codes in tests to use new definitions ().
- Added new testbench  to validate RIB to RAM interactions.
- Created  for testing RIBP topology routing.
- Adjusted memory map tests to reflect new interface names.
- Ensured all references to old interface names were replaced in Python test scripts.
- Verified that all test cases pass with the new interface structure.
2026-08-04 16:12:22 +08:00

81 lines
2.0 KiB
Systemverilog

// Copyright (c) 2026 Yuchi Miao <miaoyuchi@ict.ac.cn>
// retroSoC is licensed under Mulan PSL v2.
// You can use this software according to the terms and conditions of the Mulan PSL v2.
// You may obtain a copy of Mulan PSL v2 at:
// http://license.coscl.org.cn/MulanPSL2
// THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
// EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
// MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
// See the Mulan PSL v2 for more details.
`ifndef RETROSOC_RIB_IF_SV
`define RETROSOC_RIB_IF_SV
// SoC-owned split-channel RIB contract. Version 1 supports one outstanding
// 32-bit INCR1 or INCR4 transaction and does not carry transaction IDs.
interface rib_if ();
logic cmd_valid;
logic cmd_ready;
logic [31:0] cmd_addr;
logic cmd_write;
logic [ 1:0] cmd_len;
logic w_valid;
logic w_ready;
logic [31:0] wdata;
logic [ 3:0] wstrb;
logic wlast;
logic rsp_valid;
logic rsp_ready;
logic [31:0] rdata;
logic resp_err;
logic [ 2:0] resp_code;
logic [ 1:0] rsp_beat;
logic rsp_last;
modport slave(
input cmd_valid,
output cmd_ready,
input cmd_addr,
input cmd_write,
input cmd_len,
input w_valid,
output w_ready,
input wdata,
input wstrb,
input wlast,
output rsp_valid,
input rsp_ready,
output rdata,
output resp_err,
output resp_code,
output rsp_beat,
output rsp_last
);
modport master(
output cmd_valid,
input cmd_ready,
output cmd_addr,
output cmd_write,
output cmd_len,
output w_valid,
input w_ready,
output wdata,
output wstrb,
output wlast,
input rsp_valid,
output rsp_ready,
input rdata,
input resp_err,
input resp_code,
input rsp_beat,
input rsp_last
);
endinterface
`endif