A massively parallel application RISC-V SOC
// SPDX-License-Identifier: CERN-OHL-S-2.0
`default_nettype none
`timescale 1ps/1ps

package core_pkg;
// The core initiates a transfer by asserting valid, which stays high until the 
// peer asserts ready. All core outputs are stable over the valid period.
typedef struct packed {
    logic valid;
    
    logic [ 3:0] wen;
    logic [31:0] addr;
    logic [31:0] wdata;
} core_out_t;

typedef struct packed {
    logic ready;

    logic [31:0] rdata;
} core_in_t; 


endpackage