AM389x C6A816x DM816x Hardware Design Guide


 * The TMDXEVM8168 EVM is always a good source from which to start building a reference design for these devices. The technical documentation for the EVM is available from EVM Spectrum Digital Support site and includes a block diagram.


 * The links at the TI website below provide block diagrams, application notes, tools, software, design considerations, and other related information for various Video and Imaging end-equipment products.
 * End-Equipment Solutions


 * Select from a list of complementary devices to attach to AM389x, C6A816x or DM816x device in your system:
 * TBD

Selecting the Boot Mode
The block diagram should also indicate which interface will be used for booting this device.
 * These devices contain an on-chip ROM Bootloader:
 * The boot config pins are sampled at power-on-reset
 * Sets up system for boot depending on boot configuration selected
 * Depending on boot mode, copies image to internal RAM and then executes it
 * Maximum size of the boot image is 255KBytes (ROM uses 1KB internally)
 * The following boot modes are supported:
 * NOR Flash boot
 * NAND Flash boot
 * SPI boot
 * SD boot
 * EMAC boot
 * UART boot (PG2.0 only)
 * PCIe boot
 * If the first boot source fails to boot, the ROM will move on to the next one in the sequence. Keep in mind that some boot sources take some time to timeout if that boot source isn't available.


 * Read the following documents to learn about the possible boot options:
 * DM816x Datasheet
 * C6A816x Datasheet
 * AM389x Datasheet
 * Comparison of various boot media
 * Refer to the ROM Code Memory and Peripheral Booting chapter of the device TRM for additional details:
 * DM816x Technical Reference Manual
 * C6A816x Technical Reference Manual
 * AM389x Technical Reference Manual


 * Key Boot Considerations:
 * It is recommended to include population options for other boot modes to aid in development
 * Boot pins have other functions after reset. Make sure your board design takes this into account when choosing pullup/down resistors for the boot pins.

Confirming Pin Multiplexing Compatibility
The device uses internal pin multiplexing to allow for maximum functionality in the smallest and lowest cost package. Due to this pin multiplexing, not all processor interfaces are always available simultaneously. See the Pin Multiplexing Control section and Terminal Functions section of the datasheet for complete details on the pin multiplexing.


 * Use the Pin MUX Utility tool to verify that the device pin multiplexing is compatible with your system block diagram. It is a Windows-based software tool that provides a Graphical User Interface for configuring pin multiplexing settings, resolving conflicts and specifying I/O cell characteristics for TI processors, including: AM389x, AM35x, AM/DM37x, C6A816x, DM816x and OMAP35x Processors. Results are output as C header files in the format used by the U-BOOT initialization software found in the Linux Software Development Kit (EZSDK).
 * Pin Mux Utility

Confirming Electrical and Timing Compatibility
A key step in the hardware design before beginning schematic capture is to confirm both DC and AC electrical compatibility between this device and the other ICs connected to it.


 * The device datasheet has important information with regards to timing and electrical characteristics.
 * The preliminary IBIS model version is on this Forum thread:
 * Final version is TBD
 * Using IBIS Models for Timing Analysis


 * Note: TI provides PCB layout specifications for the following interfaces, eliminating the need to perform electrical analysis:
 * DDR2/3
 * SATA
 * PCIe
 * USB
 * HDMI

Designing the Power Subsystem
Once the block diagram has been validated for pin multiplexing, electrical, and timing compatibility, the power sub-system can be designed. See the below resources on estimating power consumption and designing a matching power subsystem.


 * Use the Power Spreadsheet to estimate device power in a custom application:
 * DM816x, C6A816x and AM389x Power Estimation Spreadsheet


 * Reuse or modify one of the existing power supply reference designs:
 * TPS40400 Reference Design for AVS Power Supply: [[Image:TPS40400_PowerRefDesign.zip]]


 * Key Considerations:
 * Implementation of SmartReflex AVS to minimize power consumption on the voltage domains is required for proper device operation. Refer to device datasheet and TRM for more details.  AVS FAQ
 * TI recommends using a fault-tolerant power supply design to protect against over-current conditions.
 * A heat dissipation solution is required for proper device operation.
 * Make sure to follow the supply sequencing requirements listed in the datasheet.
 * Make sure to properly filter the PLL power supply according to the recommendations listed in the datasheet.

Designing the Clocking Subsystem
In addition to the power subsystem, the clocking subsystem needs to be designed to provide appropriate clocks to all ICs in the system. These clocks can be created by pairing crystals with internal osciallators within the system ICs, or they can be created by a separate clock generator. See the below information on designing the clocking subsystem for your design.


 * Key Considerations:
 * The device operation requires a 27-MHz reference clock for operation.
 * A 100-MHz differential clock input is required for SATA and PCIe.
 * A third clock input is an optional 32.768-kHz clock input (no on-chip oscillator) for the RTC.
 * For more details, please refer to the Clocking sections of the device datasheet and TRM.

Floorplanning the PCB
Before beginning schematic capture, it is recommended to floorplan the system PCB to determine the interconnect distances between the various system ICs. See the below information on floorplanning your PCB.


 * TBD: Why and How to floorplan your PCB before starting schematic capture

Creating the Schematics
At this point in the design, it is time to start capturing the schematics. See the below collection of information to aid you in creating the schematics.


 * Key Considerations:
 * SDRAM (and other) output clocks are internally looped back
 * Don’t forget to install a JTAG connection
 * JTAG: Make sure to use the RTCK pin


 * It is often helpful to refer to example schematics throughout the schematic capture process: EVM Schematics
 * Make sure to use the canned schematics in the datasheet for the following interfaces:
 * DDR2/3
 * HDMI
 * SATA
 * For detailed information on USB board design, see the USB 2.0 Board Design and Layout Guidelines application report SPRAAR7
 * During and after schematic capture, check your design against the schematic checklist:
 * Schematic Checklist

Below are Symbols, Footprints, and Simulation Models to aid in the design of the device placement and interconnects:
 * OrCad Symbols
 * DM816x: Available in the CAD Symbols &amp; Footprints table in the DM816x Product Folder
 * C6A816x: Available in the CAD Symbols &amp; Footprints table in the C6A816x Product Folder
 * AM389x: Available in the CAD Symbols &amp; Footprints table in the AM389x Product Folder
 * Allegro footprints
 * DM816x: Available in the CAD Symbols &amp; Footprints table in the DM816x Product Folder
 * C6A816x: Available in the CAD Symbols &amp; Footprints table in the C6A816x Product Folder
 * AM389x: Available in the CAD Symbols &amp; Footprints table in the AM389x Product Folder


 * Pin Names and Numbers
 * DM816x, C6A816x, AM389x: Excel Spreadsheet with all pin names and corresponding pad numbers [[Image:DM816x C6A816x AM389x PinNames-Pads March2011.zip]]


 * BSDL Simulation Model
 * DM816x CYG BSDL simulation model
 * C6A816x CYG BSDL simulation model
 * AM389x CYG BSDL simulation model
 * IBIS Simulation Models:
 * The preliminary IBIS model version is on this Forum thread:
 * Final version is TBD


 * General hardware design information:BGA PCB Design
 * Below is a link for selecting and placing decoupling capacitors in a BGA design:
 * Decoupling (Bypass) Capacitor Selection and Placement for BGAs

Laying out the PCB
After completing schematic capture, see the below information on laying out the PCB:


 * It is often helpful to refer to an example layout when designing a custom PCB: EVM Layout
 * Make sure to follow the Layout Specifications for the following Critical Interfaces:
 * DDR2/3 - See Datasheet
 * SATA - See Datasheet
 * PCIe - See Datasheet
 * Video DACs - See Datasheet
 * HDMI - See Datasheet
 * USB - See the USB 2.0 Board Design and Layout Guidelines application report SPRAAR7
 * The device's CYG package is designed with a new technology called a Via Channel™ array. This technology allows for easy routing of the device in two signal and two power layers using large through-hole via diameters and standard trace widths; it is cost and time effective. Where more than four printed circuit board (PCB) layers are used, the routing is much more open and flexible than a regular BGA. The Easy CYG Package PCB Escape Routing application report shows how to route the entire package by showing each quadrant up close and explaining the PCB feature sizes used.
 * General Information Articles:
 * Understanding TI's PCB Routing Rule-Based DDR Timing Specification
 * BGA/PCB Design for BGAs
 * Decoupling Capacitor Selection and Placement for BGAs

Testing/Debugging
Once your custom PCB has been produced and assembled, refer to the below information on bringing-up and debugging the system.
 * Overview of Debug and Trace Tools
 * In these device platforms, other processors and accelerators are often treated as a black-box and most of the development and debugging is done on the ARM Cortex-A8 side.
 * Code Composer Studio
 * See the below information on using GEL Files to aid in configuring your design during debug/development. This can be used with CCS to print out useful debug information such as silicon revision, bootloader error messages, current PC and PSC states, and more.
 * EVM Gel File
 * Below are links to the BSDL Files for verifying PCB connectivity:
 * DM816x CYG BSDL simulation model]
 * C6A816x CYG BSDL simulation model
 * AM389x CYG BSDL simulation model
 * In addition, there are many useful wiki articles on debugging on this site, all you need to do is search. Many of these articles were written some time ago for various platforms that were available at that point; however, many are still applicable to other processors available today.