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

The Gowin SPMI primitive is a two-wire serial interface that can be used to dynamically control the internal power supply of the on-chip system. It supports devices such as the LittleBee GW1NZ, GW1NZ-1, and GW1NZ-1C, and has 16 ports for communication with other components.

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