16.1.11 Post-Layout Macros

16.1.11.1 GB

It is a Post-layout macro that stands for Global Buffer. The global clock network is composed of global buffers (GBs) for clock distribution. GBs distribute clocks to the left/right half of the fabric through vertical clock stripes. Each GB drives an independent half-chip global clock (GCLK). Two GBs—one from each half, are instantiated by the Libero SoC PolarFire to distribute a clock to the entire FPGA fabric. There are a total of 24 full-chip global signals and 48 half-chip global signals that may be used in a design. The half-chip globals can be driven by up to 24 fabric routed signals. Clocks driven from regular I/Os, internally generated clocks, and high fan-out signals such as resets can be routed to GBs.

Table 16-150. Truth Table
AnENnq (internal signal)YNnYSn
10111
11011
0Xq!q!q

16.1.11.2 RGB

It is a Post-layout macro. Each GB drives row global buffers (RGBs) present on the vertical clock stripes to reach the logic sectors. Each RGB selects a global clock, a regional clock, or a fabric routed clock to drive the logic sectors located on the left or right side of the vertical clock stripe. RGBs are situated on the vertical stripes of the global network architecture inside the FPGA fabric. The global signals from the GBs are routed to the RGBs. Each RGB is independent and can be driven by fabric routing in addition to being driven by GBs. This facilitates the use of RGBs to drive regional clocks spanning a small fabric area, such as the the clock network for SERDES.

16.1.11.3 CC_CONFIG

The CC_CONFIG macro is a Post-layout macro that is responsible for generating the Carry bit for each ARI1_CC cell in the cluster. CI and CO are the carry-in and carry-out, respectively, to the cell. The intermediate carry-bits are given by CC[11:0]. The functionality of the CC_CONFIG is evaluating CC using CC[n] = !Px!Y3+PxCC[n-1] where, CC[-1] is CI and CC[12] is CO.

16.1.11.4 CFG0

Post-layout macro that is a zero input LUT with output tied to either 0 or 1 as per INIT.

16.1.11.5 CRN_INT

The CRN_INT cell is a Post-layout macro that routes clocks from the fabric to corner cells (PLL, DLL).

Table 16-151. Truth Table
AY
00
11

16.1.11.6 ICB_INT

The ICB_INT cell is a Post-layout macro that routes clocks from fabric to the Interface Clock Block (ICB).

16.1.11.7 ICB_CLKINT

The ICB_CLKINT cell is a Post-layout macro that routes clocks from the Interface Clock Block (ICB) to global buffers.

16.1.11.8 HS_IO_CLK

High-speed I/O bank clock networks are Post-layout macros that are integrated into I/O banks and distribute clocks along the entire I/O bank with low-skew. These are used to clock data in and out of the I/O logic while implementing the high-speed interfaces.

16.1.11.9 CFG1A_TEST

A Post-layout macro that the user can see in NLV. It is remapped to BUFF macros.

16.1.11.10 CFG1B_TEST

A Post-layout macro that the user can see in NLV. It is remapped to BUFF macros.

16.1.11.11 CFG1C_TEST

A Post-layout macro that the user can see in NLV. It is remapped to BUFF macros.

16.1.11.12 CFG1D_TEST

A Post-layout macro that the user can see in NLV. It is remapped to BUFF macros.

16.1.11.13 CFG1A

A Post-layout macro used to implement a buffer. Output Y= f(A).

16.1.11.14 CFG1B

A Post-layout macro used to implement a buffer. Output Y= f(B).

16.1.11.15 CFG1C

A Post-layout macro used to implement a buffer. Output Y= f(C).

16.1.11.16 CFG1D

A Post-layout macro used to implement a buffer. Output Y= f(D).

16.1.11.17 CFG4A

Post-layout macro used to implement any 4-input combinational logic function. Output Y is dependent on the INIT string parameter and the value of A. The INIT string parameter is 16 bits wide. Refer to CFG4 macro for more details.

16.1.11.18 CFG4_ROM

Post-layout macro used to implement any 4-input combinational logic function. Output Y is dependent on the INIT string parameter and the value of A. The INIT string parameter is 16 bits wide. Refer to CFG4A macro for more details.

16.1.11.19 CFG4_IP_ABCD

Post-layout macro used to implement any 4-input combinational logic function. Output Y is dependent on the INIT string parameter and the value of A, B, C, and D. The INIT string parameter is 16 bits wide. It has 3 additional outputs IPB, IPC, and IPD and those are inverter outputs for B, C, and D inputs, respectively. Refer to CFG4 macro for more details.

16.1.11.20 RAM64x12_IP

Post-layout macro called within RAM64x12. Refer to RAM64x12 macro for more details. The RAM64x12 macro is designed by using pipeline register and RAM64x12_IP macro.

16.1.11.21 RAM1K20_IP

Post-layout macro for RAM1K20. Refer to RAM1K20 macro for more details. The RAM1K20 macro is designed by using pipeline register and RAM1K20_IP macro.

16.1.11.22 MACC _IP

It is the Post-layout macro for Multiply and Accumulate (MACC).

16.1.11.23 IOIN_IB

Buffer macro available in the post-layout netlist only.

Table 16-152. Truth Table
YINY
ZX
00
11

16.1.11.24 IOIN_IB_E

Buffer macro available in the post-layout netlist only. See IOIN_IB for more information.

16.1.11.25 IOIN_IB_E_ODT

Buffer macro available in the post-layout netlist with an additional ODT input.

16.1.11.26 IOTRI_OB_EB

The I/O feed through macro is available in the post-layout netlist only.

Table 16-153. Truth Table
D/EDOUT/EOUT
00
11

16.1.11.27 IOBI_IB_OB_EB

The I/O feed through macro is available in the post-layout netlist only.

Table 16-154. Truth Table
D/E/YINDOUT/EOUT/Y
00
11

16.1.11.28 IO_DIFF

The I/O differential macro is available in the post-layout netlist (place holder to reserve the N location).

16.1.11.29 IOPAD_IN

Input I/O macro is available in the post-layout netlist only.

Table 16-155. Truth Table
PADY, Y_HW
ZX
00
11

16.1.11.30 IOPAD_TRI

Tri-state output buffer is available in the post-layout netlist only.

Table 16-156. Truth Table
DEPAD
X0Z
010
111

16.1.11.31 IOPAD_BI

The I/O output bypass macro is available in the post-layout netlist only.

Table 16-157. Truth Table
MODEEDPADYY_HW
OUTPUT1DDDD
INPUT0XZXX
INPUT0XPADPADPAD

16.1.11.32 IOPADP_IN

The I/O PAD input macro is available in the post-layout netlist only.

Table 16-158. Truth Table
PADPN2PIN_PIOUT_PIOUT_HW_P
ZXXX
0X00
1X11

16.1.11.33 IOPADN_IN

The I/O PAD input macro is available in the post-layout netlist only.

Table 16-159. Truth Table
PAD_PN2POUT_P
01
10

16.1.11.34 IOPADP_TRI

The I/O PAD tri-state output macro is available in the post-layout netlist only.

Table 16-160. Truth Table
OIN_PEIN_PPAD_P
X0Z
OIN_P1OIN_P

16.1.11.35 IOPADN_TRI

The I/O PAD tri-state output macro is available in the post-layout netlist only.

Table 16-161. Truth Table
OIN_PEIN_PPAD_P
X0Z
011
110

16.1.11.36 IOPADP_BI

The I/O PAD bidirectional macro is available in the post-layout netlist only.

Table 16-162. Truth Table
MODEEIN_POIN_PPAD_PN2PIN_PIOUT_POUT_HW_P
OUTPUT100100
OUTPUT111011
INPUT0XZZXX
INPUT0X00XX
INPUT0X11XX
INPUT0X0100
INPUT0X1011

16.1.11.37 IOPADN_BI

The I/O PAD bidirectional macro is available in the post-layout netlist only.

Table 16-163. Truth Table
MODEEIN_POIN_PPAD_PN2OUT_P
OUTPUT1100
OUTPUT1011
INPUT0XZX
INPUT0X0X
INPUT0X1X
INPUT0X00
INPUT0X11

16.1.11.38 IOPADP_IN_MIPI

The differential I/O PAD input macro with MIPI low-power escape support available in the post-layout netlist only.

Table 16-164. Truth Table
PADY
00
11

16.1.11.39 IOPAD_FEEDBACK

It is a Post-layout macro that is a bidirectional buffer. Refer to BIBUF for more information.

16.1.11.40 IOPADP_FEEDBACK

The I/O PAD output macro with the bidirectional input feedback enabled. It is available in the post-layout netlist only.

16.1.11.41 IOPADN_FEEDBACK

It is a Post-layout macro similar to IOPAD_FEEDBACK except that input D is inverted inside.

16.1.11.42 IOREG

A single post-layout macro for IOINFF, IOUTFF, and IOEFF. The IOD block includes registers for data-in, data-out, and output enable signals. The input registers (IOINFF) provide the registered version of the input signals from the IOA to the FPGA fabric. The output registers (IOUTFF) provide the registered version of the output signals from the FPGA fabric to the IOA. The output enable register (IOENFF) acts as a control signal for the output if the I/O is configured as tri-stated or bidirectional. These registers in IOD blocks are similar to the D-type flip-flops available in fabric logic elements.

16.1.11.43 PLL_IP

Post-layout macro used within PLL. It does frequency synthesis of the given configuration and it has an interconnection with PLL_DELAY.

16.1.11.44 PLL_DELAY

It is a Post-layout macro. Each PLL has a programmable delay line that can be configured in the reference clock path or feedback clock path. For PLLs, adding delay in the reference clock path enables clock delay, and adding delay in the feedback clock path enables clock advancement with respect to the reference clock. The PLL must be configured in external feedback mode to add the delay line in the feedback path.

16.1.11.45 XCVR_APB_LINK

Post-layout macro used to access a transceiver quad memory map using the APB Link protocol.

16.1.11.46 PFSOC_SCSM_IP

It is a Post-layout macro that has similar functionality as of PFSOC_SCSM. The only difference is that the input is inverted. See the PFSOC_SCSM macro for more information.

Figure 16-71. PFSOC_SCSM_IP