Package: tlul_pkg

Description

Copyright lowRISC contributors.
Licensed under the Apache License, Version 2.0, see LICENSE for details.
SPDX-License-Identifier: Apache-2.0

Signals

Name Type Description
malformed_err logic
unused_user logic
malformed_err return
function endfunction tl_a_user_chk
extract_h2d_cmd_intg tl_h2d_cmd_intg_t
payload tl_h2d_cmd_intg_t
unused_tlul logic
addr payload
opcode payload
mask payload
tl_type payload
payload return
function endfunction extract_h2d_payload
extract_d2h_rsp_intg tl_d2h_rsp_intg_t
payload tl_d2h_rsp_intg_t
unused_tlul logic
opcode payload
size payload
error payload payload.source = tl.d_source;
payload return
function endfunction extract_d2h_rsp_intg
get_cmd_intg logic [H2DCmdIntgWidth-1:0]
cmd_intg logic [H2DCmdIntgWidth-1:0]
unused_cmd_payload logic [H2DCmdMaxWidth-1:0]
cmd tl_h2d_cmd_intg_t
cmd_intg return
function endfunction get_cmd_intg
get_data_intg logic [DataIntgWidth-1:0]
data_intg logic [DataIntgWidth-1:0]
unused_data logic [top_pkg::TL_DW-1:0]
data_intg return
endpackage endfunction get_data_intg

Constants

Name Type Value Description
ArbiterImpl "PPC"
H2DCmdMaxWidth int 57
H2DCmdIntgWidth int 7
H2DCmdFullWidth int H2DCmdMaxWidth + H2DCmdIntgWidth
D2HRspMaxWidth int 57
D2HRspIntgWidth int 7
D2HRspFullWidth int D2HRspMaxWidth + D2HRspIntgWidth
DataMaxWidth int 32
DataIntgWidth int 7
DataFullWidth int DataMaxWidth + DataIntgWidth
tl_a_user_t tl_a_user_t undefined
TL_H2D_DEFAULT tl_h2d_t undefined
tl_d_user_t tl_d_user_t undefined
TL_D2H_DEFAULT tl_d2h_t undefined

Types

Name Type Description
tl_a_op_e enum logic [2:0] {
PutFullData = 3'h 0,
PutPartialData = 3'h 1,
Get = 3'h 4 }
tl_d_op_e enum logic [2:0] {
AccessAck = 3'h 0,
AccessAckData = 3'h 1 }
tl_instr_en_e enum logic [2:0] {
InstrEn = 3'b101,
InstrDis = 3'b010 }
tl_instr_en_t tl_instr_en_e used for intermodule connections
tl_type_e enum logic [1:0] {
InstrType = 2'b01,
DataType = 2'b10 }
tl_a_user_t struct packed {
logic [4:0] rsvd;
tl_type_e tl_type;
logic [H2DCmdIntgWidth-1:0] cmd_intg;
logic [DataIntgWidth-1:0] data_intg;
}
tl_h2d_cmd_intg_t struct packed {
tl_type_e tl_type;
logic [top_pkg::TL_AW-1:0] addr;
tl_a_op_e opcode;
logic [top_pkg::TL_DBW-1:0] mask;
}
tl_h2d_t struct packed {
logic a_valid;
tl_a_op_e a_opcode;
logic [2:0] a_param;
logic [top_pkg::TL_SZW-1:0] a_size;
logic [top_pkg::TL_AIW-1:0] a_source;
logic [top_pkg::TL_AW-1:0] a_address;
logic [top_pkg::TL_DBW-1:0] a_mask;
logic [top_pkg::TL_DW-1:0] a_data;
tl_a_user_t a_user;
logic d_ready;
}
tl_d_user_t struct packed {
logic [D2HRspIntgWidth-1:0] rsp_intg;
logic [DataIntgWidth-1:0] data_intg;
}
tl_d2h_t struct packed {
logic d_valid;
tl_d_op_e d_opcode;
logic [2:0] d_param;
logic [top_pkg::TL_SZW-1:0] d_size;
logic [top_pkg::TL_AIW-1:0] d_source;
logic [top_pkg::TL_DIW-1:0] d_sink;
logic [top_pkg::TL_DW-1:0] d_data;
tl_d_user_t d_user;
logic d_error;
logic a_ready;
}
tl_d2h_rsp_intg_t struct packed {
tl_d_op_e opcode;
logic [top_pkg::TL_SZW-1:0] size;
logic error;
}