# AMR RAVE - Expansion I/O > **This feature is RAVE-specific.** > > The expansion connector enables application-specific daughtercards. ## Overview **Note:** Image shows 160-pin Samtec connector, GTYP Bank 104 routing, daughtercard ecosystem. The RAVE Boards include a 160-pin Samtec SEAM/SEAF expansion connector providing access to: - GT transceivers (GTYP Bank 104) - High-speed I/O (XPIO) - High-density I/O (HDIO) - Power and ground This enables a **daughtercard ecosystem** for application-specific interfaces (networking, cameras, custom I/O). ## Samtec Expansion Connector The 160-pin expansion connector provides access to: | Signal Type | Resources | |-------------|-----------| | **GTYP Lanes** | 4 lanes from Bank 104 | | **XPIO/HDIO** | General purpose and high-density I/O | | **Reference Clocks** | Differential clock pairs | | **Power** | VCC, GND | **Note:** For connector specifications and pinout details, refer to the hardware design repository and [Sapphire RAVE1 EDGE+](https://www.amd.com/en/products/embedded/embedded-plus.html). ## GTYP Bank 104 (Expansion GT) ### GT Transceiver Allocation **Bank 103:** Used for PCIe (x4 lanes to Ryzen) **Bank 104:** Available for expansion via Samtec connector | GT Lane | TX Pins | RX Pins | Availability | |---------|---------|---------|--------------| | **Lane 0** | TXP0, TXN0 | RXP0, RXN0 | ✓ Expansion | | **Lane 1** | TXP1, TXN1 | RXP1, RXN1 | ✓ Expansion | | **Lane 2** | TXP2, TXN2 | RXP2, RXN2 | ✓ Expansion | | **Lane 3** | TXP3, TXN3 | RXP3, RXN3 | ✓ Expansion | **Reference Clocks:** - REFP0/REFN0 - Expansion reference clock 0 - REFP1/REFN1 - Expansion reference clock 1 - RREF - GT reference - AVTTRCAL - GT calibration ### GT Protocols Supported **Bank 104 can support:** - 10G/25G Ethernet (via MRMAC or 10G MAC) - PCIe (additional lanes) - Custom high-speed protocols - GMSL (via protocol conversion) - Aurora - JESD204 - Other GT-based protocols ## Daughtercard Ecosystem RAVE supports multiple daughtercards for different applications: ### Available Daughtercards RAVE supports multiple daughtercard options for different applications: **Ethernet Cards:** - 1G Ethernet (XPIO/HDIO based) - 10G/25G Ethernet (GT-based with SFP+) **Camera Cards:** - GMSL camera interfaces for vision applications **Use Cases:** - Networking and data transfer - Automotive vision systems - Industrial inspection - Multi-camera applications **Note:** For daughtercard part numbers, schematics, and specifications, refer to the hardware design repository. ### Custom Daughtercards **160-pin connector enables custom interfaces:** **Available Resources:** - 4× GT lanes (Bank 104) - up to 25 Gbps each - XPIO pins - General purpose I/O - HDIO pins - High-density I/O - Reference clocks - Power rails **Example Custom Applications:** - CAN/CAN-FD interfaces (automotive) - Industrial protocols (EtherCAT, PROFINET) - Additional storage interfaces - Sensor interfaces (radar, lidar) - Custom high-speed serial ## Design Considerations for Daughtercards ### FPGA Design Requirements **To use daughtercard:** 1. **Instantiate appropriate IP:** - Ethernet: MRMAC, 10G MAC, 1G MAC - GMSL: ISP pipeline, video processing - Custom: Protocol-specific IP 2. **Configure GT transceivers:** - Set line rate (1.25G, 10G, 25G) - Configure reference clock source - Set GT location (Bank 104) 3. **Add to block design:** - Connect to NoC for memory access - Wire interrupts if needed - Provide clocks and resets 4. **Update constraints:** - Pin LOC constraints for GTYP - XPIO / HDIO pin assignments - Timing constraints ### DFX (Dynamic Function eXchange) **RAVE supports DFX for daughtercard flexibility:** **Base Logic Platform (BLP):** - Fixed: CIPS, NoC, PCIe, XDMA, memory - Provides isolation interface to reconfigurable region **User Logic Platform (ULP):** - Daughtercard-specific IP - Multiple PDI configurations for different cards **Example PDI Programming:** ```bash # Load 1G Ethernet configuration ami_tool pdi_program -i ethernet_1g.pdi ``` ## I/O Bank Details ### GTYP Banks | Bank | Usage | Lanes | Speed | |------|-------|-------|-------| | **103** | PCIe to Ryzen | 4× | Gen3 (8 GT/s) | | **104** | **Expansion** | **4×** | **Up to 25 GT/s** | ### XPIO / HDIO Banks **Additional I/O available on expansion connector:** - XPIO: Extended programmable I/O - HDIO: High-density I/O - Mixed voltage support - Configurable I/O standards **See:** VE2302 pinout and I/O planning guide for details. ## Reference Designs ### Available RAVE Vivado boards **From:** https://github.com/Xilinx/amr_vivado_designs.git | board | Daughtercard | Description | |----------|--------------|-------------| | **ve2302_1gEth** | 1G Ethernet | Dual 1G Ethernet channels | | **ve2302_10g_mrmac** | 10G/25G Ethernet | Dual 10G using MRMAC | | **ve2302_gmsl** | GMSL Camera | GMSL video pipeline | | **ve2302_xdma_gmsl** | GMSL Camera | GMSL with XDMA/PCIe | | **ve2302_xdma_base** | None (DFX base) | DFX-capable base platform | ### DFX Reconfigurable Modules **Swappable modules for ve2302_xdma_base:** - **bram_gpio** - BRAM + GPIO test - **eth_1g** - 1G Ethernet - **eth_10g** - 10G Ethernet with MRMAC - **training** - Reference training module ## Expansion Connector Pinout ### High-Level Pin Groups | Pin Group | Approximate Count | Purpose | |-----------|-------------------|---------| | **GTYP TX[0-3]** | 8 (differential) | GT transmit lanes | | **GTYP RX[0-3]** | 8 (differential) | GT receive lanes | | **GT REF CLK** | 4 (differential) | Reference clocks | | **XPIO** | 20-40+ | General purpose I/O | | **HDIO** | 20-40+ | High-density I/O | | **Power** | 20-40 | VCC, GND rails | | **Control** | 4-8 | I2C, enables, status | **See:** RAVE hardware schematics for exact pinout. ## Mechanical Considerations ### Daughtercard Form Factor **Mechanical constraints:** - Mating height with Samtec connector - Clearance for Mini-ITX chassis - Thermal considerations (airflow, heatsinks) - Connector retention and locking ### Reference Daughtercard Designs **Sapphire-provided schematics:** - Ethernet cards: 7D778 (1G), 7D780 (10G/25G) - GMSL card: 7D779 v1.1 - Can be used as templates for custom designs ## Power Budget for Daughtercards ### Available Power **Power provided via expansion connector:** - VCC rails (TBD voltages) - Current limit: TBD - Total power budget: TBD **Thermal Considerations:** - VE2302 power consumption - Daughtercard power consumption - Mini-ITX chassis cooling - Total system power limit | **Expansion Connector** | ✓ 160-pin Samtec | ❌ None | | **GT Expansion** | ✓ Bank 104 (4 lanes) | ❌ None | | **Daughtercards** | ✓ Ecosystem | ❌ N/A | | **DFX Support** | ✓ Yes (for daughtercards) | Planned | | **I/O Flexibility** | **✓ High** (application-specific) | Fixed (PCIe only) | | **Custom Interfaces** | ✓ Via daughtercards | ❌ N/A | ## Daughtercard Development Flow ### Creating Custom Daughtercard **Steps:** 1. **Define Requirements:** - Interface protocols needed - I/O count and types - GT lane count and speed - Power requirements 2. **Design Hardware:** - Use reference schematics as templates - Interface to 160-pin Samtec - Follow RAVE signal assignments - Thermal and mechanical design 3. **Develop FPGA Design:** - Create IP integrator design or HDL - Configure GT transceivers (Bank 104) - Assign XPIO/HDIO pins - Connect to NoC for memory access - Add interrupts if needed 4. **Create Partial PDI (if DFX):** - Define reconfigurable partition - Build partial bitstream - Package as deployable PDI 5. **Test and Validate:** - Hardware bring-up - Protocol compliance - Performance testing - Thermal testing ## Software Support for Daughtercards ### Driver Integration **Each daughtercard may need:** - Linux device driver (for APU Linux) - Firmware support (for RPU firmware) - User-space libraries - XRT kernel (for Vitis workflow) ### PDI Programming Support **For daughtercard configurations:** - AMI PDI programming commands - Partition management - Daughtercard detection/identification ## Application Examples ### Industrial Vision **GMSL Daughtercard + Vision Processing:** - 4× GMSL cameras - Real-time ISP pipeline - AI inference on frames - H.264/H.265 encoding - Network output (Ethernet card) ### Automotive ADAS **Multi-sensor Fusion:** - GMSL cameras (surround view) - Radar data (custom daughtercard) - Lidar data (custom daughtercard) - CAN/CAN-FD (custom daughtercard) - Sensor fusion in Versal AIE ### High-Speed Networking **10G/25G Ethernet:** - Dual SFP+ ports - Network processing in PL - Packet inspection/filtering - Traffic generation/analysis ### Edge AI Gateway **Connectivity Hub:** - Ethernet for network - GMSL for cameras - USB for peripherals - Process data locally - Cloud upload (Ethernet) ## Design Constraints for Expansion I/O ### XDC Pin Constraints **Example for GTYP Bank 104:** ```tcl # GTYP Bank 104 - Expansion GT lanes set_property PACKAGE_PIN [get_ports {exp_gtyp_txp[0]}] set_property PACKAGE_PIN [get_ports {exp_gtyp_txn[0]}] set_property PACKAGE_PIN [get_ports {exp_gtyp_rxp[0]}] set_property PACKAGE_PIN [get_ports {exp_gtyp_rxn[0]}] # ... (lanes 1-3) # Reference clocks set_property PACKAGE_PIN [get_ports exp_refclk0_p] set_property PACKAGE_PIN [get_ports exp_refclk0_n] ``` **See:** RAVE Board XDC files for complete pin assignments. ## Limitations and Considerations ### Resource Sharing **Constraints when using expansion I/O:** - GT Bank 104 shared with expansion (4 lanes available) - XPIO/HDIO pins limited by VE2302 package - NoC bandwidth shared with PCIe/memory - PL resources shared with PCIe/XDMA IP ### Thermal Constraints **Heat dissipation:** - VE2302 + daughtercard in enclosed space - Mini-ITX chassis cooling - Active cooling may be required for high-power cards - Monitor junction temperature ### Electrical Considerations **Signal integrity:** - High-speed GT signals require proper PCB design - Impedance control on daughtercard - Differential pair routing - Reference clock quality ## Future Daughtercard Roadmap **Potential future daughtercards:** - CAN/CAN-FD for automotive - Additional camera interfaces - Storage interfaces (SATA, NVMe) - Industrial protocols (EtherCAT, PROFINET) - 5G/wireless interfaces - Sensor aggregation cards ## References - [RAVE Peripherals](peripherals.md) - On-board peripherals - [RAVE PCIe Configuration](pcie-config.md) - PCIe uses Bank 103 - [Sapphire RAVE1 EDGE+](https://www.amd.com/en/products/embedded/embedded-plus.html) - RAVE Board info - Vivado Designs - https://github.com/Xilinx/amr_vivado_designs.git