-
Notifications
You must be signed in to change notification settings - Fork 68
ODDR
The ODDR (ODDR) primitive, also known as Dual Data Rate Output, is used for transferring double data rate signals from FPGA devices. The Q0 output is the double rate data output, while Q1 is used for the OEN signal of an IOBUF/TBUF connected by Q1.
This device is supported in Apicula.
Port | Size | Direction |
---|---|---|
CLK | 1 | input |
D0 | 1 | input |
D1 | 1 | input |
Q0 | 1 | output |
Q1 | 1 | output |
TX | 1 | input |
Parameter | Default Value |
---|---|
INIT | 0 (0b00000000000000000000000000000000) |
TXCLK_POL | 0 (0b00000000000000000000000000000000) |
ODDR #(
.INIT(INIT),
.TXCLK_POL(TXCLK_POL)
) oddr_inst (
.CLK(CLK),
.D0(D0),
.D1(D1),
.Q0(Q0),
.Q1(Q1),
.TX(TX)
);
The ODDRC primitive transfers double data rate signals from FPGA devices, where Q0 is a double rate data output and Q1 is used for the OEN signal of IOBUF/TBUF connected to Q1. The logic diagram shows DFFC and DFFNC components, MUX2 logic, and other elements that generate Q0 and Q1 outputs based on inputs D0, D1, TX, CLK, and CLEAR signals.
This device is supported in Apicula.
Port | Size | Direction |
---|---|---|
CLEAR | 1 | input |
CLK | 1 | input |
D0 | 1 | input |
D1 | 1 | input |
Q0 | 1 | output |
Q1 | 1 | output |
TX | 1 | input |
Parameter | Default Value |
---|---|
INIT | 0 (0b00000000000000000000000000000000) |
TXCLK_POL | 0 (0b00000000000000000000000000000000) |
ODDRC #(
.INIT(INIT),
.TXCLK_POL(TXCLK_POL)
) oddrc_inst (
.CLEAR(CLEAR),
.CLK(CLK),
.D0(D0),
.D1(D1),
.Q0(Q0),
.Q1(Q1),
.TX(TX)
);
The ODDR_MEM (Dual Data Rate Output with Memory) primitive, supported by the Gowin library, enables double data rate output with memory. It is used for transferring double data rate signals from FPGA devices, requiring the use of DQS (Data Strobe) signals. The TCLK input connects to either DQSW0 or DQSW270 of the DQS output signal and outputs data according to the TCLK clock edge. Two primary outputs are provided: Q0 (double rate data output) and Q1 (used for the OEN signal of IOBUF/TBUF connected to Q0). The frequency relationship between PCLK and TCLK is PCLK = TCLK/ff, where ff is a scaling factor that must be provided separately.
This device is not yet supported in Apicula
Port | Size | Direction |
---|---|---|
D0 | 1 | input |
D1 | 1 | input |
PCLK | 1 | input |
Q0 | 1 | output |
Q1 | 1 | output |
RESET | 1 | input |
TCLK | 1 | input |
TX | 1 | input |
Parameter | Default Value |
---|---|
TCLK_SOURCE | DQSW |
TXCLK_POL | 0 (0b0) |
ODDR_MEM #(
.TCLK_SOURCE(TCLK_SOURCE),
.TXCLK_POL(TXCLK_POL)
) oddr_mem_inst (
.D0(D0),
.D1(D1),
.PCLK(PCLK),
.Q0(Q0),
.Q1(Q1),
.RESET(RESET),
.TCLK(TCLK),
.TX(TX)
);