fpga module#
The JS1 VP1002 with one LPDDR4X x32 interface offered on banks 702 and 701.
The offer is the rule set in pinout, layout
OPTIMUM_X32_FLIPPED, built as two levels of provide:
Per byte slot,
Slot0BittoSlot3Bit: each of the slot’s eight DQ pins, offered withall_of. Taking eight of them in any order is rule 3, the bit swap within a byte.VersalLPDDR4X, offered withone_of: four options, one per allowed byte-to-slot order (rule 4, the byte swap within a channel). Each option maps the fixed pins, the slot’s DQS and DMI, and the eight DQ ports to eight pins required from the slot.
Together they offer every byte swap and bit swap the rules allow on this
layout: assignment_count() assignments. The layout’s
positions are those of channel 0 on AMD’s VMK180, VCK190 and VPK120 boards,
CS1 aside on the single rank VCK190 (see pinout, “Inferred from the boards”); the chosen assignment
is still validated in Vivado. The jitx-pin-assignment skill covers the
pattern (hierarchical provider composition).
- class VP1002LPDDR4X[source]#
Bases:
XCVP1002CircuitJS1’s VP1002 circuit plus the LPDDR4X offer and its system clock.
sys_clkis the DDRMC’s differential system clock input (PG313 rule 9), on the fixed sys_clk pins of the layout. Net it to a clock source.- sys_clk = DiffPair()#