45 lines
1.2 KiB
Plaintext
45 lines
1.2 KiB
Plaintext
// Copyright (c) 2016-2019 Bluespec, Inc. All Rights Reserved
|
|
|
|
package External_Control;
|
|
|
|
// ================================================================
|
|
// This package defines control request and response types from an
|
|
// external agent (usually GDB) to the SoC.
|
|
|
|
// ================================================================
|
|
// BSV library imports
|
|
|
|
// None
|
|
|
|
// ================================================================
|
|
// External control requests
|
|
|
|
typedef struct {
|
|
Bit #(8) op;
|
|
Bit #(64) arg1;
|
|
Bit #(64) arg2;
|
|
} Control_Req
|
|
deriving (Bits, FShow);
|
|
|
|
// ----------------
|
|
// Reads and writes to the Debug Module
|
|
|
|
Bit #(8) external_control_req_op_read_control_fabric = 10; // arg1: fabric_addr
|
|
Bit #(8) external_control_req_op_write_control_fabric = 11; // arg1: fabric_addr, arg2: data
|
|
|
|
// ================================================================
|
|
// External control responses
|
|
|
|
typedef struct {
|
|
Bit #(8) status;
|
|
Bit #(64) result;
|
|
} Control_Rsp
|
|
deriving (Bits, FShow);
|
|
|
|
Bit #(8) external_control_rsp_status_ok = 0;
|
|
Bit #(8) external_control_rsp_status_err = 1;
|
|
|
|
// ================================================================
|
|
|
|
endpackage
|