Ultra FLVC2104 BGA Geometry Revision Two ----------------------------------------------- Original Date: 26-Jan-2016 Current Date: 29-Jul-2016 The goals of this version of the geometry for the UltraScale XCVU125-1FLVC2104I are: - Implement a basic 4 quadrant geometry with an appropriate default SMD Pad plus Via pin/pad stack for each quadrant. The will be standard: NE, NW, SW, SE angled pin/pad stacks that are placed based on the X,Y location of their Via. - Around the perimeter (aka the outer most row Except at the 4 corners) use SMD Pad plus Via pin/pad stacks that run: NNE, ENE, ESE, SSE, SSW, WSW, WNW, NNW. In these 8 pin/pad stacks the vias are placed 0.3mm further out away from the periphery. These pin/pad stacks are also placed by the X,Y location of their Via. These 8 pin/pad stacks have a slightly longer dog-bone that is used to give more clearance around the periphery of the pin field. These perimeter ring pin definitions are held in 4 hand codes files. There is a version of these files that have long dog-bone pin/pad stacks at all perimeter ring pins and a version that has long dog-bone pin/pad stacks at all perimeter ring pins except the perimeter MGT pins and the pins on either side of MGT pins. All of these perimeter ring pin definition file have filenames of the form: flvc2104_rev__2__pin_list_north [south, east, west] - At the 4 corners this package does not have any pins. Thus we do not need special pin/pad stacks with long dog-bones for use at the corners. Thus we do not need pin/pad stacks for this package of the form: FNE, FSE, FSW, FNW i.e. longer in both X & Y by 0.3mm. - Remove the SMD Pad plus Via pin/pad stack from all unused pins on the device and replace them with just a default SMD Pad Only pin/pad stack. * For now a list of device pins that will have an SMD Pad Only pin/pad stack can come from the single pin nets for U1 in the sorted net list. * Eventually we also need to use the SMD Pad Only pin/pad stacks for device pins with nets that escape on the top layer of the PCB. - The signals that connect on the top side and thus need only an SMD pad are hand coded into text files. These are merged with the list of pins that make no connection and then all of these pins are give SMD pads only. - An example of signals that make a top side connection and thus want only an SMD pad are the perimeter MGT signals. The pin innolved with the MGT perimeter signals that want only and SMD pad are listed in the file: pin_numbers_of_smd_pad_only_mgt_pins.txt * The SMD Pad Only pin/pad stacks are placed by the X,Y location of the SMD Pad (not offset to the Via). I want to figure out how to place the SMD Pad Only pin/pad stacks without keeping 2 pairs of X,Y coordinates for each of the 2104 device pins. What is NOT being attempted so far in this Revision Two geometry is to worry about the many different types of SMD Pad plus Via pin/pad stacks that will eventually be needed for the active pins in each quadrant, e.g. normal signal with normal via, normal signal with blind via, high-speed signal with small via, high-speed signal with small blind via, power/ground with thick dog-bone and normal via Instructions: - Run the script aa_build_rev__2__basic_flvc2104_geom.sh to build the standard basic Rev 2 version of the the flvc2104 geometry. Every pin on the device will have a Pad and Via pin/pad stack with the via offset from the pad an appropriate distance for either the main field of pins or for the outer most ring of pins. All of the vias are the same standard signal via. - Run the script aa_build_rev__2__tailored_flvc_2104_geom.sh to build a tailored Rev 2 version of the flvc2104 geometry. In this case all of the U1 FPGA pins that are indicated as Single Pin Nets in the Sorted NetList file and in the file pin_numbers_of_smd_pad_only_mgt_pins.txt will have SMD Pad Only pin/pad stacks. - Note that this script requires you to have made a copy of the Rev 1 flvc2104 geometry, to have extracted from it just the 2104 pin definitions and to have put it in a file in this directory called: full_field_smd_pads_only_pin_definitions.txt