Skip to content
Pepijn de Vos edited this page Nov 17, 2024 · 3 revisions

The Gowin SPMI primitive is a System Power Management Interface (SPMI) that allows for dynamic control of on-chip system power supply through a two-wire serial interface, as shown in Figure 8-7. The SPMI port diagram indicates the various signals supported by this primitive, including ENEXT, DATAI, ADDRI, CA, SA, PA, LOCRESET, RESETN, CE, CLKEXT, CLK, and others, which can be used to control and manage system power supply.

This device is not yet supported in Apicula

Ports

Port Size Direction
ADDRI 4 input
ADDRO 4 output
CA 1 input
CE 1 input
CLK 1 input
CLKEXT 1 input
CMD 4 output
DATAI 8 input
DATAO 8 output
ENEXT 1 input
LOCRESET 1 input
PA 1 input
RESETN 1 input
SA 1 input
SCLK 1 inout
SDATA 1 inout
STATE 16 output

Parameters

Parameter Default Value
CLK_FREQ 0 (0b0000000)
FUNCTION_CTRL 0 (0b0000000)
MSID_CLKSEL 0 (0b0000000)
RESPOND_DELAY 0 (0b0000)
SCLK_LOW_PERIOD 0 (0b0000000)
SCLK_NORMAL_PERIOD 0 (0b0000000)
SHUTDOWN_BY_ENABLE 0 (0b0)

Verilog Instantiation

SPMI #(
    .CLK_FREQ(CLK_FREQ),
    .FUNCTION_CTRL(FUNCTION_CTRL),
    .MSID_CLKSEL(MSID_CLKSEL),
    .RESPOND_DELAY(RESPOND_DELAY),
    .SCLK_LOW_PERIOD(SCLK_LOW_PERIOD),
    .SCLK_NORMAL_PERIOD(SCLK_NORMAL_PERIOD),
    .SHUTDOWN_BY_ENABLE(SHUTDOWN_BY_ENABLE)
) spmi_inst (
    .ADDRI(ADDRI),
    .ADDRO(ADDRO),
    .CA(CA),
    .CE(CE),
    .CLK(CLK),
    .CLKEXT(CLKEXT),
    .CMD(CMD),
    .DATAI(DATAI),
    .DATAO(DATAO),
    .ENEXT(ENEXT),
    .LOCRESET(LOCRESET),
    .PA(PA),
    .RESETN(RESETN),
    .SA(SA),
    .SCLK(SCLK),
    .SDATA(SDATA),
    .STATE(STATE)
);
Clone this wiki locally