Package: pinmux_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
pinmux_pkg endpackage

Constants

Name Type Value Description
NumIOs int NMioPads + NDioPads
NDFTStraps int 2
NTapStraps int 2
DefaultTargetCfg target_cfg_t

Types

Name Type Description
pad_type_e struct packed {
integer tck_idx;
integer tms_idx;
integer trst_idx;
integer tdi_idx;
integer tdo_idx;
integer tap_strap0_idx;
integer tap_strap1_idx;
integer dft_strap0_idx;
integer dft_strap1_idx;
integer usb_dp_idx;
integer usb_dn_idx;
integer usb_dp_pullup_idx;
integer usb_dn_pullup_idx;
pad_type_e [NDioPads-1:0] dio_pad_type;
pad_type_e [NMioPads-1:0] mio_pad_type;
}
Since the target-specific top-levels often have slightly different debug signal positions, we need a way to pass this info from the target specific top-level into the pinmux logic. The datastructure below serves this purpose. Note that all the indices below are with respect to the concatenated {DIO, MIO} packed array.
dft_strap_test_req_t struct packed {
logic valid;
logic [NDFTStraps-1:0] straps;
}
Interface with LC controller
tap_strap_t enum logic [NTapStraps-1:0] {
FuncSel = 2'b00,
LcTapSel = 2'b01,
RvTapSel = 2'b10,
DftTapSel = 2'b11 }