blob: 8c98684c2f6d01792c60b9aea6d81d53c686d0b1 [file] [log] [blame]
//////////////////////////////////////////////////////////////////////////////
// SPDX-FileCopyrightText: Syntacore LLC © 2016-2021
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// SPDX-License-Identifier: Apache-2.0
// SPDX-FileContributor: Syntacore LLC
// //////////////////////////////////////////////////////////////////////////
/// @file <scr1_dm.svh>
/// @brief Debug Module header file
///
`ifndef SCR1_INCLUDE_DM_DEFS
`define SCR1_INCLUDE_DM_DEFS
`include "scr1_arch_description.svh"
`include "scr1_hdu.svh"
`include "scr1_csr.svh"
parameter SCR1_DBG_DMI_ADDR_WIDTH = 6'd7;
parameter SCR1_DBG_DMI_DATA_WIDTH = 6'd32;
parameter SCR1_DBG_DMI_OP_WIDTH = 2'd2;
parameter SCR1_DBG_DMI_CH_ID_WIDTH = 2'd2;
parameter SCR1_DBG_DMI_DR_DTMCS_WIDTH = 6'd32;
parameter SCR1_DBG_DMI_DR_DMI_ACCESS_WIDTH = SCR1_DBG_DMI_OP_WIDTH +
SCR1_DBG_DMI_DATA_WIDTH +
SCR1_DBG_DMI_ADDR_WIDTH;
// Debug Module addresses
parameter SCR1_DBG_DATA0 = 7'h4;
parameter SCR1_DBG_DATA1 = 7'h5;
parameter SCR1_DBG_DMCONTROL = 7'h10;
parameter SCR1_DBG_DMSTATUS = 7'h11;
parameter SCR1_DBG_HARTINFO = 7'h12;
parameter SCR1_DBG_ABSTRACTCS = 7'h16;
parameter SCR1_DBG_COMMAND = 7'h17;
parameter SCR1_DBG_ABSTRACTAUTO = 7'h18;
parameter SCR1_DBG_PROGBUF0 = 7'h20;
parameter SCR1_DBG_PROGBUF1 = 7'h21;
parameter SCR1_DBG_PROGBUF2 = 7'h22;
parameter SCR1_DBG_PROGBUF3 = 7'h23;
parameter SCR1_DBG_PROGBUF4 = 7'h24;
parameter SCR1_DBG_PROGBUF5 = 7'h25;
parameter SCR1_DBG_HALTSUM0 = 7'h40;
// DMCONTROL
parameter SCR1_DBG_DMCONTROL_HALTREQ = 5'd31;
parameter SCR1_DBG_DMCONTROL_RESUMEREQ = 5'd30;
parameter SCR1_DBG_DMCONTROL_HARTRESET = 5'd29;
parameter SCR1_DBG_DMCONTROL_ACKHAVERESET = 5'd28;
parameter SCR1_DBG_DMCONTROL_RESERVEDB = 5'd27;
parameter SCR1_DBG_DMCONTROL_HASEL = 5'd26;
parameter SCR1_DBG_DMCONTROL_HARTSELLO_HI = 5'd25;
parameter SCR1_DBG_DMCONTROL_HARTSELLO_LO = 5'd16;
parameter SCR1_DBG_DMCONTROL_HARTSELHI_HI = 5'd15;
parameter SCR1_DBG_DMCONTROL_HARTSELHI_LO = 5'd6;
parameter SCR1_DBG_DMCONTROL_RESERVEDA_HI = 5'd5;
parameter SCR1_DBG_DMCONTROL_RESERVEDA_LO = 5'd2;
parameter SCR1_DBG_DMCONTROL_NDMRESET = 5'd1;
parameter SCR1_DBG_DMCONTROL_DMACTIVE = 5'd0;
// DMSTATUS
parameter SCR1_DBG_DMSTATUS_RESERVEDC_HI = 5'd31;
parameter SCR1_DBG_DMSTATUS_RESERVEDC_LO = 5'd23;
parameter SCR1_DBG_DMSTATUS_IMPEBREAK = 5'd22;
parameter SCR1_DBG_DMSTATUS_RESERVEDB_HI = 5'd21;
parameter SCR1_DBG_DMSTATUS_RESERVEDB_LO = 5'd20;
parameter SCR1_DBG_DMSTATUS_ALLHAVERESET = 5'd19;
parameter SCR1_DBG_DMSTATUS_ANYHAVERESET = 5'd18;
parameter SCR1_DBG_DMSTATUS_ALLRESUMEACK = 5'd17;
parameter SCR1_DBG_DMSTATUS_ANYRESUMEACK = 5'd16;
parameter SCR1_DBG_DMSTATUS_ALLNONEXISTENT = 5'd15;
parameter SCR1_DBG_DMSTATUS_ANYNONEXISTENT = 5'd14;
parameter SCR1_DBG_DMSTATUS_ALLUNAVAIL = 5'd13;
parameter SCR1_DBG_DMSTATUS_ANYUNAVAIL = 5'd12;
parameter SCR1_DBG_DMSTATUS_ALLRUNNING = 5'd11;
parameter SCR1_DBG_DMSTATUS_ANYRUNNING = 5'd10;
parameter SCR1_DBG_DMSTATUS_ALLHALTED = 5'd9;
parameter SCR1_DBG_DMSTATUS_ANYHALTED = 5'd8;
parameter SCR1_DBG_DMSTATUS_AUTHENTICATED = 5'd7;
parameter SCR1_DBG_DMSTATUS_AUTHBUSY = 5'd6;
parameter SCR1_DBG_DMSTATUS_RESERVEDA = 5'd5;
parameter SCR1_DBG_DMSTATUS_DEVTREEVALID = 5'd4;
parameter SCR1_DBG_DMSTATUS_VERSION_HI = 5'd3;
parameter SCR1_DBG_DMSTATUS_VERSION_LO = 5'd0;
// COMMANDS
parameter SCR1_DBG_COMMAND_TYPE_HI = 5'd31;
parameter SCR1_DBG_COMMAND_TYPE_LO = 5'd24;
parameter SCR1_DBG_COMMAND_TYPE_WDTH = SCR1_DBG_COMMAND_TYPE_HI
- SCR1_DBG_COMMAND_TYPE_LO;
parameter SCR1_DBG_COMMAND_ACCESSREG_RESERVEDB = 5'd23;
parameter SCR1_DBG_COMMAND_ACCESSREG_SIZE_HI = 5'd22;
parameter SCR1_DBG_COMMAND_ACCESSREG_SIZE_LO = 5'd20;
parameter SCR1_DBG_COMMAND_ACCESSREG_SIZE_WDTH = SCR1_DBG_COMMAND_ACCESSREG_SIZE_HI
- SCR1_DBG_COMMAND_ACCESSREG_SIZE_LO;
parameter SCR1_DBG_COMMAND_ACCESSREG_RESERVEDA = 5'd19;
parameter SCR1_DBG_COMMAND_ACCESSREG_POSTEXEC = 5'd18;
parameter SCR1_DBG_COMMAND_ACCESSREG_TRANSFER = 5'd17;
parameter SCR1_DBG_COMMAND_ACCESSREG_WRITE = 5'd16;
parameter SCR1_DBG_COMMAND_ACCESSREG_REGNO_HI = 5'd15;
parameter SCR1_DBG_COMMAND_ACCESSREG_REGNO_LO = 5'd0;
parameter SCR1_DBG_COMMAND_ACCESSMEM_AAMVIRTUAL = 5'd23;
parameter SCR1_DBG_COMMAND_ACCESSMEM_AAMSIZE_HI = 5'd22;
parameter SCR1_DBG_COMMAND_ACCESSMEM_AAMSIZE_LO = 5'd20;
parameter SCR1_DBG_COMMAND_ACCESSMEM_AAMPOSTINC = 5'd19;
parameter SCR1_DBG_COMMAND_ACCESSMEM_RESERVEDB_HI = 5'd18;
parameter SCR1_DBG_COMMAND_ACCESSMEM_RESERVEDB_LO = 5'd17;
parameter SCR1_DBG_COMMAND_ACCESSMEM_WRITE = 5'd16;
parameter SCR1_DBG_COMMAND_ACCESSMEM_RESERVEDA_HI = 5'd13;
parameter SCR1_DBG_COMMAND_ACCESSMEM_RESERVEDA_LO = 5'd0;
// ABSTRACTCS
parameter SCR1_DBG_ABSTRACTCS_RESERVEDD_HI = 5'd31;
parameter SCR1_DBG_ABSTRACTCS_RESERVEDD_LO = 5'd29;
parameter SCR1_DBG_ABSTRACTCS_PROGBUFSIZE_HI = 5'd28;
parameter SCR1_DBG_ABSTRACTCS_PROGBUFSIZE_LO = 5'd24;
parameter SCR1_DBG_ABSTRACTCS_RESERVEDC_HI = 5'd23;
parameter SCR1_DBG_ABSTRACTCS_RESERVEDC_LO = 5'd13;
parameter SCR1_DBG_ABSTRACTCS_BUSY = 5'd12;
parameter SCR1_DBG_ABSTRACTCS_RESERVEDB = 5'd11;
parameter SCR1_DBG_ABSTRACTCS_CMDERR_HI = 5'd10;
parameter SCR1_DBG_ABSTRACTCS_CMDERR_LO = 5'd8;
parameter SCR1_DBG_ABSTRACTCS_CMDERR_WDTH = SCR1_DBG_ABSTRACTCS_CMDERR_HI
- SCR1_DBG_ABSTRACTCS_CMDERR_LO;
parameter SCR1_DBG_ABSTRACTCS_RESERVEDA_HI = 5'd7;
parameter SCR1_DBG_ABSTRACTCS_RESERVEDA_LO = 5'd4;
parameter SCR1_DBG_ABSTRACTCS_DATACOUNT_HI = 5'd3;
parameter SCR1_DBG_ABSTRACTCS_DATACOUNT_LO = 5'd0;
// HARTINFO
parameter SCR1_DBG_HARTINFO_RESERVEDB_HI = 5'd31;
parameter SCR1_DBG_HARTINFO_RESERVEDB_LO = 5'd24;
parameter SCR1_DBG_HARTINFO_NSCRATCH_HI = 5'd23;
parameter SCR1_DBG_HARTINFO_NSCRATCH_LO = 5'd20;
parameter SCR1_DBG_HARTINFO_RESERVEDA_HI = 5'd19;
parameter SCR1_DBG_HARTINFO_RESERVEDA_LO = 5'd17;
parameter SCR1_DBG_HARTINFO_DATAACCESS = 5'd16;
parameter SCR1_DBG_HARTINFO_DATASIZE_HI = 5'd15;
parameter SCR1_DBG_HARTINFO_DATASIZE_LO = 5'd12;
parameter SCR1_DBG_HARTINFO_DATAADDR_HI = 5'd11;
parameter SCR1_DBG_HARTINFO_DATAADDR_LO = 5'd0;
`endif // SCR1_INCLUDE_DM_DEFS