Skip to content

Latest commit

 

History

History
128 lines (106 loc) · 7.18 KB

integration.rst

File metadata and controls

128 lines (106 loc) · 7.18 KB

CORE-V-MCU Integration

The top-level module is named core_v_mcu and can be found in rtl/core-v-mcu/top/core_v_mcu.sv. Below, the instantiation template is given and the parameters and interfaces are described.

Instantiation Template

module core_v_mcu #(
    .USE_FPU    ( 0 ),
    .USE_HWPE   ( 0 )
 ) (
    // Test and Debug control
    .jtag_tck_i  (),
    .jtag_tdi_i  (),
    .jtag_tdo_o  (),
    .jtag_tms_i  (),
    .jtag_trst_i (),

    // Clock and reset
    .ref_clk_i   (),
    .slow_clk_o  (),
    .rstn_i      (),

    // Configuration
    .bootsel_i   (),
    .stm_i       (),

    // Peripheral I/O and associated configuration
    .io_in_i     (),      // [`N_IO-1:0]
    .io_out_o    (),      // [`N_IO-1:0]
    .pad_cfg_o   (),      // [`N_IO-1:0][`NBIT_PADCFG-1:0]
    .io_oe_o     ()       // [`N_IO-1:0]
);

Parameters

Note

The CORE-V-MCU is also configurable with a large set of localparams that are not visible to the top-level module. A future release will bring all of these up to the top-level module.

Name Type/Range Default Description
USE_FPU bit 0 Compile the Floating Point Unit (FPU) and enable floating point support in the CV32E40P core. As floating point is not supported in v1.0.0 of the CV32E40P, this parameter is set to zero.
USE_HWPE bit 0 Compile support for a Hardware Processing Engine. Not supported.

Macros

Note

A future release of the CORE-V-MCU will implement these macros as top-level parameters.

Name Type/Range Default Description
N_IO int 48 Number of user-selectable I/O pins. Note that not all I/O pins are selectable, see the I/O Assignment Tables for more information.
NBIT_PADCFG int 6 Implementation-dependent IO PAD configuration.

Interfaces

Signal(s) Width Dir Description
jtag_tck_i 1 in JTAG Test Clock
jtag_tdi_i 1 in JTAG Test Data In
jtag_tdo_o 1 out JTAG Test Data Out
jtag_tms_i 1 in JTAG Test Mode Select
jtag_trst_i 1 in JTAG Test Reset
ref_clk_i 1 in Reference Clock
slow_clk_o 1 out Output clock generated from ref_clk_i. Frequency is implementation dependent.
rstn_i 1 in Active-low asynchronous reset
bootsel_i 1 in Boot select. 1: boot from internal bootrom. 0: boot from external memory on QSPI port.
io_in_i N_IO in Port's input signal
io_out_o N_IO out Port's input signal
pad_cfg_o N_IO * NBIT_PADCFG out PAD configuration (implementation dependent)
io_oe_o N_IO out Port's Output Enable 1: IO = io_out_o. 0: io_in_i = IO.