Package: pinmux_pkg
- File: pinmux_pkg.sv
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 } |