WO2009005609A1 - Advanced mezzanine card for digital network data inspection - Google Patents

Advanced mezzanine card for digital network data inspection Download PDF

Info

Publication number
WO2009005609A1
WO2009005609A1 PCT/US2008/007698 US2008007698W WO2009005609A1 WO 2009005609 A1 WO2009005609 A1 WO 2009005609A1 US 2008007698 W US2008007698 W US 2008007698W WO 2009005609 A1 WO2009005609 A1 WO 2009005609A1
Authority
WO
WIPO (PCT)
Prior art keywords
logic device
reconfigurable logic
fpga
network
interface
Prior art date
Application number
PCT/US2008/007698
Other languages
French (fr)
Inventor
Jack M. Collins
Charles M. Kastner
Matthew P. Kulig
Original Assignee
Global Velocity, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US12/004,791 external-priority patent/US20090161568A1/en
Application filed by Global Velocity, Inc. filed Critical Global Velocity, Inc.
Publication of WO2009005609A1 publication Critical patent/WO2009005609A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/12Protocol engines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies

Definitions

  • This invention pertains to the field of inspecting digital network data using application-specific and reconfigurable hardware elements that comply with the AdvancedMC Standard.
  • AdvancedMC Standard is that standard described in AdvancedMCTM, PICMG® AMCO R2.0 Short Form Specification, December 28, 2006, which document is hereby incorporated by reference in its entirety into the present patent application, and related documents and standards, including AMCO, AMC 1 , AMC.2, AMC.3, and AMC.4, as described at http://www.picmg.org/ v2internal/ specifications.htm.
  • PICMG PCI (Peripheral Component Interconnect) Industrial Computer Manufacturers Group)
  • the present invention also complies with relevant portions of the PICMG standards for Advanced Telecommunications Computing Architecture (ACTA) and MicroTCA.
  • Figure l is a system level block diagram of an AMC board 1 consistent with the tenets of the present invention.
  • FIG. 2 is a drawing showing input/output banks associated with an FPGA 10 suitable for use in the present invention.
  • Figure 3 is a drawing showing input/output banks associated with an FPGA 16 suitable for use in the present invention.
  • Figure 4 is a drawing illustrating the clocking of FPGA 16.
  • Figure 5 is a block diagram illustrating means for reconfiguring FPGA's 10 and 16.
  • Figure 6 is a block diagram illustrating microcontroller 9.
  • FIG. 8 is a block diagram of a power supply suitable for powering board 1. Detailed Description of the Preferred Embodiments
  • the present invention is a telecommunications computing apparatus 1 comprising a reconfigurable logic device 10; coupled to the reconfigurable logic device 10, means 11 for coupling the reconfigurable logic device 10 to an external digital network 15; and coupled to the reconfigurable logic device 10, an interface 16-19 for coupling the reconfigurable logic device 10 to at least one peripheral device 8 that is not part of said external digital network 15. While peripheral devices 8 are not part of said external digital network 15, they may be indirectly coupled thereto.
  • the reconfigurable logic device 10 comprises an FPGA
  • the interface 16-19 comprises at least one component from the group of components consisting of at least one PCI Express connection 17 and at least one FPGA 16.
  • Each FPGA 16 comprises at least one DMA (Direct Memory Access) component 18 and at least one PCI target interface component 19.
  • the coupling means 11 comprises a physical coupling device 11 connected to the reconfigurable logic device 10; an edge connector 12 connected to the physical coupling device 11; a backplane 13 connected to the edge connector 12; and at least one line card 14 connected to the backplane 13 and to the external digital network 15.
  • Each peripheral device 8 is also preferably connected to the backplane 13.
  • the apparatus elements illustrated in Figure 1 consist solely of application-specific and reconfigurable hardware elements.
  • deep packet inspection is meant inspection and processing of data packets at layers 2 through 7 of the Open Systems Interconnect (OSI) model of the International Standards Organization (ISO).
  • OSI Open Systems Interconnect
  • Layer 3 is the network layer
  • layer 4 is the transport layer
  • layer 5 is the session layer
  • layer 6 is the presentation layer
  • layer 7 is the application layer.
  • the inspection of layers 5 through 7 distinguishes "deep packet inspection" from mere "packet inspection”.
  • External digital network 15 can be any network or combination of networks where digital data is communicated.
  • external digital network 15 can be any combination of networks from the group of networks consisting of the Internet, a wireless network, a wired network, a local area network (LAN), a wide area network (WAN), and the public switched telephone network (PSTN).
  • the apparatus 1 illustrated herein can be part of a system for controlling transmission of data packets through said external digital network 15, wherein each data packet comprises a header and/or a trailer and a payload portion.
  • External digital network 15 can comprise a plurality of network-capable devices communicatively coupled to one or more Network Access Points (NAPs).
  • NAPs Network Access Points
  • the apparatus 1 illustrated herein can be disposed at a NAP or elsewhere, and can contain content match information.
  • Said apparatus 1, and in particular FPGA 10, can be used to:
  • the apparatus illustrated herein can also be used in an alternative method for inspecting data packets transiting a network access point (NAP).
  • reconfigurable logic device 10 inspects at least payload portions of data packets transiting the NAP, and forwards reassembled payload portions of packets, within TCP connections, as well as metadata used to identify TCP connections corresponding to said packets, to relevant peripheral devices 8.
  • Reconf ⁇ gurable logic device 10 allows an inspected data packet to traverse the network 15 when information within a payload portion of an inspected data packet is not substantially similar to prestored content match information; and when information within a payload portion of an inspected data packet is substantially similar to prestored content match information, performs at least one of the following four steps:
  • apparatus 1 further comprises at least one bank of SDRAM (Synchronous Dynamic Random Access Memory) 7 coupled to reconfigurable logic device 10. In an embodiment, apparatus 1 further comprises at least one bank of SRAM (Static Random Access Memory) 6 coupled to reconfigurable logic device 10.
  • SDRAM Serial Dynamic Random Access Memory
  • SRAM Static Random Access Memory
  • apparatus 1 further comprises an intelligent microcontroller 9 coupled to said reprogrammable reconfigurable logic device 10, wherein said microcontroller 9 manages the power consumption of elements of apparatus 1, and performs other control functions pursuant to the AdvancedMC Standard.
  • AMC board 1 is a very high-end digital signal processing board preferably containing both PCI Express (PCIe) and lOGigE (Ethernet) XAUI (10 Gigabit Attachment Unit Interface) interfaces 17, 11, respectively.
  • the centerpiece of the design is preferably a Stratix II EP2S180F1508C3 FPGA device 10 from Altera 10 that interfaces to all off-board connections.
  • AMC board 1 is a pluggable module intended for use in a MicroTCA chassis.
  • AMC board 1 interfaces directly with a MicroTCA backplane 13.
  • Architectural details of a MicroTCA platform are addressed in MicroTCATM, PICMG®, MTCA.O Rl .0, Micro Telecommunications Computing Architecture Short Form Specification, September 21, 2006, which document is hereby incorporated by reference in its entirety into the present patent application.
  • AMC board 1 is a full-height, double-width PICMG AMC card featuring a Stratix II FPGA 10 as the central signal processing device, with several peripheral devices 8 that communicate off-board at multi-gigabit signaling rates.
  • AMC board 1 is used in conjunction with other AMC modules to inspect data flows on the Internet and other digital networks 15, and it may interface off-board to a host CPU over PCI Express interface 17.
  • the off-chip memories preferably consist of minimally 4GB of minimally 320MHz DDR2 memory 7, 16MB of QDRII memory 6, and 32MB of parallel NOR flash memory 5 used to store configuration files for the two FPGA devices 10, 16 on the board 1.
  • a module management controller (MMC) 9 resides on AMC board 1 to provide system management functions, such as board identification through Electronic Keying (E-Keying), power management, and board 1 status/fault reporting.
  • MMC 9 communicates with a host manager on a MicroTCA MCH (MicroTCA Carrier Hub) over a 2-wire serial bus using a messaging scheme called IPMI (Intelligent Platform Management Interface), and supports a basic set of messages. An optional extended message set may be integrated into the controller 9 as well.
  • the firmware that implements the IPMI protocols in the MMC 9 may be obtained from CorEdge Networks and may run in a Renesas H8/3OOH Tiny 16-bit microcontroller or other microcontroller 9.
  • Figure 1 is the system level block diagram for AMC board 1. Note that the power distribution is not shown in Fig. 1 , but is addressed in Section 6.0 below.
  • the AMC edge connector 12 provides all of the external I/O interfacing and power distribution. All other connectors are used for system bring-up, debug, and device programming at the factory.
  • Off-board communications occur over x4 PCI Express link 16-19 residing on AMC Ports 12-15 in the Extended Options Region of the AMC Interconnect Specification, and a lOGbps XAUI interface (4 x 2.5Gbps) 11 5 which resides on AMC Ports 4-7 in the Fat Pipe region.
  • the x4 lane PCI Express link 16-19 is preferably implemented in a Cyclone II FPGA 16 from Altera containing a PCIe Endpoint Core from Northwest Logic (NWL).
  • the PCI Express interface 16-19 resides externally to the Stratix II FPGA 10 and contains an integrated DMA (direct memory access) controller 18, so that upstream block data transfer control can be offloaded from the Stratix II FPGA 10.
  • NWL's PCI Express Complete Core is a solution to the PCIe + DMA requirement, because it is an off-the-shelf module that reduces the amount of custom RTL (Register Transfer Level) that would otherwise need to be developed in order to realize the PCIe + DMA architecture in the Cyclone II FPGA 16.
  • a top level module can be used to contain the PCIe core, a TX (transmit) FIFO for data buffering 10, and a 64-bit local bus interface that transfers the data synchronously from the Stratix II FPGA 10.
  • the AMC board 1 is required to support only DMA host reads, and so the local DMA bus consists of a unidirectional bus from the Stratix II FPGA 10 to the Cyclone II FPGA 16.
  • a PCI target interface 19 is implemented between the two FPGAs 10, 16, so that the host can read and write individual memory mapped registers on the Stratix II FPGA 10.
  • a secondary interface between the Stratix II FPGA 10 and the Cyclone II FPGA 16 allows the Stratix II FPGA 10 to read status information from the NWL core.
  • This interface is a microprocessor-type parallel interface and may be driven by a soft-processor on the Stratix II FPGA 10.
  • Configuration data for the Cyclone II FPGA 16 is stored in a NOR flash device 5 along with configuration data for the Stratix II FPGA 10.
  • a configuration controller implemented in a CPLD (Complex Programmable Logic Device) 3 configures the two FPGAs 10, 16 once the payload power has been applied to the AMC board 1. Storing configuration files for both FPGAs 10, 16 in the same flash 5 allows for easier maintenance in the field, as FPGA 10, 16 image updates can be downloaded over one of the off-board interfaces and written to flash 5 by the Stratix II FPGA 10.
  • NOR flash 5 NOR flash 5
  • NOR flash 5 NOR flash 5
  • a small serial PROM PROM (Programmable Read Only Memory) can be optionally installed on the board 1 as a back-up method for Cyclone II FPGA 16 configuration, so that it may be booted independently of the rest of the system during board 1 bring-up and system integration.
  • the XAUI interface 11 is preferably implemented in an IXFl 8105, a lOGigE MAC (Media Access Control device) + PHY integrated device from Cortina (Intel).
  • the IXFl 8105 interface 11 communicates with the Stratix II FPGA 10 over a POS-PHY (Packet Over Sonet PHY; SONET means Synchronous Optical NETworking; PHY means PHYsical layer device) Level 4 interface, a full-duplex 16-bit (ea. direction) parallel high-speed LVDS (Low Voltage Differential Signal) bus.
  • POS-PHY Packet Over Sonet PHY
  • SONET Synchronous Optical NETworking
  • PHY means PHYsical layer device
  • Level 4 interface a full-duplex 16-bit (ea. direction) parallel high-speed LVDS (Low Voltage Differential Signal) bus.
  • An Altera POS-PHY Level 4 MegaCore is then used in the Stratix II FPGA
  • a secondary microprocessor bus is used to configure the IXFl 8105 interface 11 and read status information.
  • a serial Mil interface between the Stratix II FPGA 10 and the IXF 18105 interface 11 provides a management data interface for further control and status functionality.
  • the Stratix II FPGA 10 drives this interface as well.
  • the Stratix II FPGA 10 interfaces to a variety of external memory, including 4GB of DDR2 SDRAM 7, 16MB of QDRII SRAM 6, and 32MB of NOR flash 5.
  • a single DDR2 memory bus is interfaced to the Stratix II FPGA 10, running to a pair of 2GB DDR2
  • Two QDRII memory banks 6 are preferably interfaced to the Stratix II FPGA 10. Each bank 6 is controlled using a separate memory interface on the FPGA 10. Each bank 6 is 36 bits wide and consists of a single 72Mbit CY7C1515V18 device from Cypress. The QDRII devices 6 run at 300MHz, the maximum rate supported by the Stratix II FPGA 10. Both the DDR2 and QDRII interfaces in the Stratix II FPGA 10 are implemented using Altera MegaCore IP. The DDR2 SDRAM 7 High-Performance Controller MegaCore can be used, and has been tested by Altera up to an F MAX of 333MHz in a Stratix II FPGA 10.
  • the QDRII SRAM Controller MegaCore from Altera can be used for the SRAM 6 interfaces, and is rated at a maximum operating frequency of 300MHz. Note that in order to achieve the above interfacing speeds, dedicated DQ/DQS circuitry on the Stratix II FPGA 10 is required to capture the read data buses. We are therefore limited to the banks that support the DQ/DQS feature set (Banks 3, 4, 7, and 8).
  • Configuration data is stored in the flash 5 and can be updated by the Stratix II FPGA 10 over a flash interface.
  • Two FPGA images are stored for each FPGA 10, 16 - a USER image that contains the primary FPGA configuration data, and a SAFE image containing a factory installed back-up image that is never changed after the board 1 leaves the factory.
  • the USER image may be updated in the field. For example, a new image may be downloaded to the Stratix II FPGA 10 over the PCI Express interface 17. The image is then written to the USER area of the flash 5.
  • the Stratix II FPGA 10 (or Cyclone II FPGA 16) is then loaded with an updated image file upon a reconfiguration. Should the USER area become corrupted during a flash write operation, the FPGA 10, 16 shall be loaded with its SAFE image, providing a method to recover from a corrupted USER image.
  • the MAX II CPLD 3 code can be leveraged from the NIOS II development kit. Thus, it is expected that it will be a drop-in module with no custom changes required for the CPLD code.
  • the initial programming of the flash 5 is a special case for board 1 boot, as the MAX II CPLD 3 will need to be initially configured over JTAG connector 4 with utilities to write to the flash 5.
  • Configuration files for both FPGAs 10, 16 may then be written to the flash 5 using the Altera provided flash loader. Flash files are uploaded to the MAX II CPLD 3 over JTAG 4 as well.
  • Module management controller (MMC) 9 communicates with the host processor over a 2-wire serial link and performs various system management functions defined in the AMCO Specification.
  • Electronic Keying (E-Keying) allows the MMC 9 to describe to the host processor the various characteristics of the AMC board 1.
  • the management interface is used to assign a module address for the AMC board 1 on the MicroTCA backplane 13, and 'link descriptors' are sent to the host by the MMC 9 that advertise how the interconnect regions on the AMC edge connector 12 have been configured.
  • the MMC 9 also indicates to the host the amount of power that must be allocated to the AMC card 1. Cooling management operations are performed by the MMC 9 by reading on-board temperature sensors and sending temperature event messages to the MCH.
  • the messaging protocol used to communicate between MMC 9 and host is called IPMI, and the 2-wire serial bus is referred to as IMPB-L.
  • IPMI The messaging protocol used to communicate between MMC 9 and host
  • IMPB-L The 2-wire serial bus
  • the MMC 9 must also drive several LEDs (Light Emitting Diodes) connected to the front faceplate 20 that indicate board 1 status.
  • a faceplate 20 installed on the front of the module provides LED visual feedback to the user, as well as EMC containment and other mechanical functions described in Section 8.0.
  • the LEDs are mounted on the AMC board PCB (printed circuit board) 1 as directed by the AMCO Base Specification in order to be visible in faceplate 20.
  • AMC front faceplate 20 compliant with the AMCO Specification.
  • the UART (Universal Asynchronous Receiver/Transmitter) breakout connector 21 mates with a small DB-9 expansion board designed by Nuvation. The intended use is for system debug during the integration stage.
  • the auxiliary power connector 22 may be used to provide power to the board 1 when not connected to the AMC chassis slot 13 (e.g., for debug or testing).
  • Connector Part Number IPLl - 110-02-L-D.
  • Manufacturer Samtec
  • Debug Mictor connector 25 is mounted on the board 1 to provide I/O access to the Stratix II FPGA 10.
  • the Mictor connector 25 has a standard pinout that is compatible with an Agilent Logic Analyzer (Model #E536 or equivalent). Connector Part Number: 2-767004-2 Manufacturer: TYCO
  • the centerpiece of the AMC board 1 is a Stratix II FPGA 10 from Altera.
  • An EP2S180F1508C3 can be used, which offers 180,000 logic elements, 9.4Mbits of RAM, and is packaged in a lmm pitch 1508-ball FBGA.
  • Shown in Figure 2 are the I/O banks of the EP2S 180 FPGA 10.
  • the internal logic of the Stratix II FPGA 10 is powered from a 1.2 V rail. As with most Altera FPGAs, its I/O banks support a variety of I/O standards, ranging from 1.2V to 3.3V.
  • the Stratix II FPGA 10 on the AMC board 1 has four of its I/O banks used for highspeed DDR2 7 and QDRII 6 powered at 1.8 V, one of its LVDS enabled banks shall be powered at 2.5V, and the remaining low-speed I/Os shall use LVTTL 2.5V/3.3V logic levels.
  • Table 8 below shows the PLL (phase lock loop) usage in the Stratix II FPGA 10.
  • a single 40MHz input clock provides the source for all other clocks used on the device 10.
  • the 40MHz clock is multiplied up to a maximum of 320MHz using PLLl, which becomes the main global clock for the Stratix II FPGA 10.
  • the remaining PLL' s are used to produce clocks for the external synchronous memory interfaces and the source-synchronous parallel buses that run between the Stratix II FPGA 10 and the other devices on the AMC board 1.
  • Configuration data for the Stratix II FPGA 10 is stored in a 32MB flash device 5.
  • the FPGA 10 is preferably loaded with configuration data by a MAX-II EPMl 270 CPLD 3, which contains a flash bootloader Altera IP block designed to read out data from the flash 5 and drive the configuration pins on the FPGA 10.
  • the Stratix II FPGA 10 and the Cyclone II FPGA 16 are configured sequentially by daisy chaining their configuration signals in a Passive Serial configuration scheme. At a DCLK frequency of 40MHz, the estimated time to configure the Stratix II EP2S180 10 in Passive Serial mode is approximately one second.
  • the FPGA 10 may also be configured using its JTAG port and JTAG connector 4. This can be useful during bring-up time to load the FPGA 10 directly from Quartus using a Byte Blaster cable. 4.1.3 Stratix II FPGAlO External Interfaces and Pinout DDR2 SDRAM Memory 7
  • Stratix II FPGA 10 I/O Banks 3 and 4 Interfaced to the Stratix II FPGA 10 I/O Banks 3 and 4 is a 72-bit wide DDR2 memory bus running to a pair of DIMMs 7.
  • the memory interface uses dedicated DQ/DQS signals and DQS phase-shifting circuitry, allowing it to run at 320MHz.
  • PLL5 is used to generate the system clock, write clock, and DQS phase-shifter reference clock, while PLLl 1 generates a read clock used to help resynchronize data read from the memory back to the system clock domain.
  • PLLl 1 is referenced to a FB CLK external signal, whose frequency is equal to the system clock and whose phase is closely matched to the trace round-trip propagation delay from the FPGA 10 to memory 7.
  • I/O Banks 3 and 4 use a SSTL_18 logic standard and require a VCCIO of 1.8V.
  • the two DIMMs 7 are both 240-pin, 72 -bit wide, very-low profile (VLP) modules that reside in parallel on the DDR2 bus. To the memory controller, the bus therefore looks like one 72-bit bus that is 4GB deep.
  • a Micron MTl 8HVF25672PY-667 VLPDIMM 7 targeted for a low- profile application in an AdvancedTCA form factor can be used.
  • Table 9 lists the external signals running between the FPGAlO and the DIMM 7 connectors.
  • I/O Banks 7 and 8 Interfaced to the Stratix II FPGA 10 I/O Banks 7 and 8 are two 36-bit QDRII memory buses, with each one using a separate memory controller to interface to a Cypress CY7C1515V8 device 6.
  • the memory interface uses dedicated DQ/DQS signals and DQS phase shifting circuitry, allowing it to run at 300MHz.
  • PLL6 generates the system clock, write clock, and DQS phase-shifter reference clock for one of the QDRII memory banks 6, while PLL 12 generates a similar set of clocks for the other QDRII memory bank 6, minus the reference clock for the DQS phase-shifter. (Only one reference clock is required for the DQS phase shifter circuitry.)
  • I/O Banks 7 and 8 use a SSTL_18 logic standard and require a VCCIO of 1.8V.
  • the Cypress memory device 6 is a 72Mbit capacity part, with a 36-bit data bus, and a maximum operating frequency of 300MHz.
  • Table 10 lists the external signals running between the FPGA 10 and each QDRII device 6.
  • a POS-PHY Level 4 (PL4) interface on the Stratix II FPGA 10 provides access to a 1 OGigE MAC/PHY that communicates off-board over a XAUI interface 11.
  • An IXF 18105 from Cortina can be used to implement the 1 OGigE functions.
  • the PL4 MegaCore in the Stratix II FPGA 10 transmits and receives data on I/O Bank 1 using the LVDS signaling standard.
  • a 16-bit parallel bus in each direction forms a source-synchronous bus operating at 680 Megacycles per second, with a half-frequency clock.
  • the IXFl 8105 interface 11 is configured in slave mode, meaning that its Receive Data clock (from MAC to Stratix II FPGA 10) is derived from its Transmit Data clock originating at the Stratix II FPGA 10.
  • Two PLL' s (2 & 8) are therefore used on the FPGA 10, one to clock out the 16-bit transmit bus and the other to clock in the 16-bit receive bus from the IXF 18105 11.
  • PLL8, which generates the Transmit Data clock therefore determines the clocking speed of the entire PL4 interface.
  • the input clock for PLL8 is sourced from a 40MHz global clock output from PLLl , which is then multiplied up to
  • the PL4 interface signals are shown below in Table 11.
  • a secondary microprocessor interface exists between the Stratix II FPGA 10 and the IXF 18105 interface 11 that is used by the FPGA 10 to configure the lOGigE MAC/PHY and read status information. This interface is available on the Stratix II FPGA 10 External Address/Data Interface and is described below.
  • Cyclone II FPGA 16 Local Bus Interfaces A 64-bit unidirectional DDR DMA bus interface is used to transfer DMA blocks from the Stratix II FPGA 10 to the Cyclone II FPGA 16.
  • a PCI target interface 19 is also provided so that the Stratix II FPGA 10 is visible as a PCI device to the host CPU.
  • the PCI target bus is a full-duplex 64-bit bus. See Section 4.3.3 for a discussion of these buses.
  • the flash address and data buses run to the Stratix II FPGA 10 so that it may write data to the configuration flash 5.
  • the flash 5 is configured in byte- wide mode.
  • a 32MB S29GL256 parallel NOR flash 5 from Spansion can be used to store the configuration data.
  • the EP2S180 FPGA 10 requires an uncompressed bit file size of
  • a communications link between the Stratix II FPGA 10 and the Renesas H8 MMC controller 9 is provided so that status information can be shared between the two devices 10, 9.
  • Several signals interfaced to a serial port on the H8 MMC 9 are routed to the Stratix II FPGA 10, which may then run to a serial port instantiation on the FPGA 10.
  • Extra GPIO signals from the Stratix II FPGA 10 are brought out to LEDs, test points, and debug connectors.
  • the number of peripheral components that can be accommodated depends on the available board 1 real estate and the number of remaining unused GPIO pins on the Stratix II FPGA 10.
  • the IXFl 8105 processor 11 from Cortina is a 10 Gigabit Ethernet MAC and PHY that communicates with the Stratix II FPGA 10 over a POS-PHY Level 4 interface on the system side and a XAUI interface on the line side.
  • the device 11 performs Ethernet frame generation, frame integrity checks, and 8b/ 10b encoding.
  • the built-in SERDES for the 4 x 3.125Gbps XAUI interface allows for a single chip solution for the lOGigE interface external to the Stratix II FPGA 10.
  • the device 11 is packaged in a 672-ball FCBGA and uses a 2.5V supply to power its core logic (and XAUI analog PLLs), and uses a 3.3V for its digital I/O circuitry.
  • the IXFl 8105 processor 11 PL4 interface is configured in slave mode, meaning that the clock source for the interface is driven by the Stratix II FPGA 10.
  • the 340MHz PLL output from the Stratix II FPGA 10 clock provides the timing for the entire PL4 interface and internal logic.
  • the Line side of the IXFl 8105 processor 11 uses a XAUI_REFCLK for generating the transmit data and for the Clock Recover Circuit of the receive path.
  • the XAUI REFCLK must be provided from a stable 312.5MHz +/- lOOppm LVDS input. For best jitter performance, a standalone clock reference is used for the XAUI REFCLK, powered from a clean source. 4.2.2 IXF18105 Processor 11 External Bus Interfaces POS-PHY Level 4 (Stratix II)
  • the high-speed 4 x 3.125GHz signals are AC coupled and routed directly to the AMC edge connector 12. There are four LVDS pairs in each direction, providing a total bandwidth of 12.5Gbps before 8b/10b encoding.
  • the IXF18105 processor 11 actually provides two 4 x 3.125GHz interfaces: a working, or primary, interface and an auxiliary interface.
  • the auxiliary interface is intended to support optical failure in cable transmission applications, and need not be used on the AMC board 1.
  • the primary XAUI interface 11 interfaces to AMC Ports 4-7 on the AMC edge connector 12 (Section 3.1).
  • IXFl 8105 processor 11 Status and debug utilities for the IXFl 8105 processor 11 are implemented over the Microprocessor Interface. Key control and status signals for the device 11 are brought to testpoints for probing, unless there is a risk that a compromise in the integrity of the signal will result.
  • the Cyclone II Altera FPGA 16 implements a x4 Lane PCI Express off-board link using the PCI Express Complete Core from Northwest Logic, and can be viewed as a peripheral device to the Stratix II FPGA 10.
  • the Cyclone II model number can be the EP2C35, which contains 33,216 logic elements, 484kbits of RAM, and 4 PLLs. However, a larger EP2C50 device can be used for flexibility.
  • a 1.2V rail powers the Cyclone II FPGA 16 logic core, and its I/O banks require a 2.5V supply for its high-speed SSTL 2 I/Os and a 3.3 V rail for its general purpose LVTTL I/Os.
  • the 672-pin FBGA package can be used, which offers up to 450 I/O pins in the EP2C50 16 device. Shown below are the I/O Banks of the Cyclone II FPGA 16 EP2C35 16.
  • the device uses an off-chip PHY to implement the SERDES functions and Physical Coding
  • the GL9714 device 17 from Genesys Logic is a x4 lane PHY that performs 8b/ 10b encoding, elastic buffer and receiver detection, and data serialization/deserialization for each lane.
  • the Cyclone II FPGA 16 and GL9714 device 17 communicate over a 250MHz PIPE parallel interface.
  • the clocking architecture for the Cyclone II FPGA 16 is shown in Figure 4.
  • the 100MHz PCIE REFCLK from the AMC edge connector 12 drives the clocking for the entire PCI Express data path, helping to mitigate issues created by multiple clock domains and clock frequency mismatches.
  • a 250MHz PCLK is generated by the PLL onboard the GL9714 device 17 and is used to transfer the PIPE data in both directions between the PHY and the Cyclone II FPGA 16.
  • the two buses are not source-synchronous, however, as PCLK is fed to a PLL on the Cyclone II FPGA 16 in order to generate the clock strobe signals for the Tx and Rx PIPE buses.
  • the PLL parameters can be configured once the routing delays for the PIPE bus are known. Note that the Cyclone II FPGA 16 + GL9714 architecture is based on a NWL reference design for their PCIe core.
  • Cyclone II FPGA 16 PLL Another output from the Cyclone II FPGA 16 PLL, core_clk_div2, is a 62.5MHz system clock to which the system side user logic is synchronized.
  • Core_clk_div2 is used to clock data over the 64-bit DDR DMA interface, as well as the 64-bit PCI Target interface, between the Cyclone II FPGA 16 and Stratix II FPGA 10. This architecture maintains a single clock domain in the Cyclone II FPGA 16 for the PCIe datapath.
  • a secondary clock is required by the PCIe core during board 1 initialization in order to boot and configure the GL9714 device 17.
  • Phy_init_clk is a 40MHz secondary clock input to the FPGA 16, used by the PCIe core to initialize the PHY, as its PCLK output will not be valid until its internal PLL has stabilized.
  • Cyclone II FPGA 16 Configuration Configuration data for the Cyclone II FPGA 16 is stored on the parallel flash 5.
  • a MAX II CPLD 3 handles the configuration of the two FPGAs 10, 16 over a Passive Serial interface.
  • the Cyclone II FPGA 16 does not have direct access to the flash 5.
  • Cyclone II FPGA 16 Two secondary methods of device configuration are available for the Cyclone II FPGA 16 as well.
  • a JTAG interface allows the loading of an FPGA 16 image file from Quartus (Altera's proprietary software for the design of applications for Altera devices).
  • a small serial EPROM on board 1 allows the Cyclone II FPGA 16 to be booted solo, without relying on the CPLD 3, flash 5, or Stratix II FPGA 10.
  • DMA bus that is designed to support block data transfers from the Stratix II FPGA 10 to the Cyclone II FPGA 16 at a bandwidth that matches the x4 lane PCIe link speed.
  • DMA events are configured in the NWL core through the CPU host, whose DMA registers are mapped into the PCI address space. DMA events occur in one direction only - from Stratix II FPGA 10 to Cyclone II FPGA 16. All DMA events are referred to as 'DMA Reads', taken from the perspective of the host CPU.
  • Table 12 DMA Bus Signal List Local Bus Target Interface (Stratix II FPGA 10)
  • the PCI target interface 19 supports transactions in either direction and is intended to allow the CPU host to write and read individual registers on the Stratix II FPGA 10.
  • a 64-bit bidirectional data bus is used, and transfers are clocked using the 62.5MHz CLKFM output clock from the Cyclone II FPGA 16.
  • the Target Interface signals are shown below in Table 13.
  • the Cyclone II FPGA 16 - GL9714 bus is a single data rate (SDR) 250MHz parallel bus, consisting of four 8-bit data channels in each direction for a total of 64 single ended signals. Clocking for both directions of the bus is derived from a 250MHz PCLK output from the PHY 17 as described above.
  • the PCLK signal is fed to a PLL, from which two clock signals are generated, with their respective phases adjusted to the required timing parameters of the TX and RX buses.
  • the total signal count is approximately 120 signals, which have been assigned to I/O Banks 7 & 8 on the Cyclone II FPGA 16.
  • Table 14 shows the signal interface between the FPGA 16 and the PHY 17.
  • a MAX II non-volatile CPLD 3 and parallel NOR flash 5 combination performs the configuration functions on the board 1 for the two FPGAs 10, 16.
  • An Altera IP Flash Loader Megafunction is instantiated in the CPLD 3 and configures the two FPGAs 10, 16 from flash 5 once the CPLD 3 has been given a signal from the MMC 9 indicating that all of the board 1 power supplies have ramped up and are stable.
  • a MAX II EPM 1270 CPLD 3 is preferably used as the configuration controller. It contains 980 equivalent macrocells and 116 user I/O's in a 144-pin TQFP package.
  • the flash 5 is preferably a Spansion S29GL256, with a 32MB capacity and an 8-bit or 16-bit configurable data bus width.
  • a 40MHz clock provides the CPLD 3 with its single global clock domain.
  • the CPLD 3 uses the input clock to generate the configuration DCLK frequency, which in Passive Serial mode, is equal to the 40MHz input clock.
  • FIG. 5 Shown in Figure 5 is the Passive Serial configuration chain controlled by the MAX II CPLD 3.
  • the Stratix II FPGA 10 is configured first and the Cyclone II FPGA 16 is configured second. Data is read by the CPLD 3 from flash 5 in bytes and converted to a passive serial bitstream clocked by DCLK into the FPGAs 10, 16.
  • the Stratix II FPGA 10 can power its configuration pin input buffers using a separate supply rail (VCCPD) rather than using their respective I/O bank supplies, allowing the configuration pins to operate at voltage levels that are different than the VCCIO of their banks.
  • VCPD separate supply rail
  • VCCPD affects only the input configuration pin; the configuration outputs are driven at the VCCIO levels associated with their respective banks.
  • the number of affected outputs amounts to only two signals (nCEO and JTAG signal TDO), and we use small logic level shifting buffers to bring these two outputs up to 3.3V.
  • Module management controller (MMC) 9 on the AMC board 1 handles all management functions and communicates with the Carrier Board host manager using a messaging scheme called IMPI. Its basic functions include: module identification reporting to the host, module power requirements reporting to the host, link type negotiations with the Carrier Board, control faceplate 20 status LEDs, hot swap insertion management, and system health monitoring and reporting to the host, including temperature sensing and voltage monitoring.
  • IMPI a messaging scheme
  • Its basic functions include: module identification reporting to the host, module power requirements reporting to the host, link type negotiations with the Carrier Board, control faceplate 20 status LEDs, hot swap insertion management, and system health monitoring and reporting to the host, including temperature sensing and voltage monitoring.
  • Off-the-shelf firmware for the MMC 9 can be acquired from CorEdge. A Renesas
  • H8/300H Tiny (part no. HD64F3694FY) is suitable for device 9.
  • the H8/300H is a 16-bit microcontroller with a wide variety of on-chip peripherals, including flash, EEPROM, AJD converters, and a variety of serial ports.
  • the H8/300H makes for a cost effective solution.
  • a 44-pin TQFP package is used on the board 1.
  • the MMC 9 is powered from a separate +3.3 V power rail from the AMC edge connector 12.
  • there are two power domains defined on the board 1 : a "Management Power Domain” and a "Payload Power Domain", as defined in the AMCO Specification.
  • Booting Program code for the H8 MMC 9 is stored in internal flash and is downloaded to the device 9 over a serial interface.
  • the program code is delivered from CorEdge in bitstream format.
  • an external SEEPROM on the board that contains custom parameters for the AMC board 1, such as link descriptors and board 1 power requirements. MMC 9 sends these parameters to the host during module initialization.
  • FIG. 6 Shown in Figure 6 is the MMC 9 system interconnect block diagram, taken from the MMC 9 datasheet released by CorEdge.
  • the main MMC 9 interfaces are described below.
  • the AMCO Specification defines a set of system management signals present on the AMC edge connector 12. These signals are listed below in Table 15 and can also be found in the AMC connector pinout in Section 3.1.
  • MMC 9 Once the MMC 9 has negotiated an AMC link with the host, it will proceed to activate the Payload domain power rails described in Section 6.0. MMC 9 also monitors the rails using its A/D converter and reports out-of-spec conditions.
  • MMC 9 has access to three temperature sensors through a 2-wire serial interface.
  • the AMCO Specification states that the "module shall provide a sensor monitoring the temperature of the component which is considered to be of most thermal concern".
  • the sensors on AMC board 1 monitor the temperature of the Stratix II FPGA 10, the GL9714 interface 17, and the IXFl 8105 interface 11.
  • One or more LEDs may be mounted on the PCB such that they may be viewed through the front faceplate 20. These LEDs are used to convey hot-swap status and error conditions to the user, and are controlled by the MMC 9. The LEDs reside in the Management Power Domain. Control Signals to/from Stratix II FPGA 10
  • a communications link between MMC 9 and the Stratix II FPGA 10 is provided using a 3 -wire serial interface.
  • a software protocol for this link can be defined.
  • a UART interface from MMC 9 to a breakout header 21 allows debug information to be output to a PC Serial Port.
  • a JTAG chain used to load the devices with initial code is implemented on the AMC board 1 as shown in Fig. 7. All logic levels in the chain are 3.3V. Each device in the chain may be targeted individually as well by setting 0 Ohm jumper options or DIP switches. This allows for the case in which one of the devices in the chain is malfunctioning, causing a break in the chain.
  • MMC 9 has a JTAG interface as well that is brought out to a separate connector and is not a part of the above FPGA chain. MMC 9 is powered in a different power domain than the rest of the board 1, and therefore requires its own JTAG interface.
  • the AMC board's Payload Power circuit derives all of its required rails from a 8OW 12V source which is brought into the AMC board 1 via the AMC edge connector 12.
  • the board 1 outline is defined by the AMCO Specification, the amount of real estate occupied by the power supply must be minimized in order to support the placement of other components.
  • Digital circuits demand more power as the speed and number of active logic elements increase, so in order to optimize the performance of the AMC board 1, an efficient power supply is also required.
  • a maximum of 80W is available, as defined by the AMCO Specification.
  • the AMC board 1 Payload Power domain is comprised of seven digital and analog voltage supplies: 1.2V Digital, 1.2V Analog, 1.8V Digital, 1.8V Analog, 2.5V Digital, 2.5V Analog, and 3.3 V Digital.
  • the digital supplies power the core and IO voltages of the digital sections of the board 1 ICs, while the analog supplies provide power for the PLLs and other sensitive analog sections.
  • the analog supplies have lower noise and tighter regulation in comparison to the digital supplies.
  • Table 16 An overview of the power supply requirements is illustrated by Table 16. This summary assumes an overall device usage of 90% for the Stratix II FPGA 10, 50% for the Cyclone II FPGA 16, 80% for the DDR2 DIMM 7, and 80% for the QDRII SDRAM 6. It also assumes that the operating frequencies will be 320 MHz for the Stratix II FPGA 10, 75 MHz for the Cyclone II FPGA 16, 320 MHz for the DDR2 DIMM 7, and 300 MHz for the QDRII SDRAM 6.
  • the power supply output voltages, voltage tolerance, currents, ripple, power, and efficiency are listed in Table 17 below. By meeting the minimum efficiency targets of Table 17, the overall efficiency of the AMC Power Supply is 86%.
  • the power supply topology for the Payload Power Domain is illustrated in Figure 8.
  • a modular approach is used in order to optimize for board space, efficiency, and ease of development.
  • Each of the digital supplies is derived directly from the main 12V supply 80 to maximize the overall efficiency and to minimize the required board 1 space.
  • Cascading supplies can lead to a lower overall efficiency, as power losses accumulate across multiple stages.
  • a cascaded supply can provide better parts costs, as simpler modules may be chosen.
  • LDO (Linear Drop Out) regulators 82 are used to generate the sensitive analog supply voltages, as these types of regulators provide superior noise performance over their SMPS (Switched Mode Power Supply) counterparts. LDO regulators do suffer from lower efficiencies, but these losses do not significantly affect the overall efficiency, as the 1.8V and 2.5V Analog supplies draw lower power.
  • the DDR2, QDRII, and DDR V JT are each designed to source or sink upwards of 2 A, and as these are not switching supplies, the 1.8V module 83 is required to source upwards of 2OA and provide upwards of 36W of power.
  • the 3.3V and 2.5V modules 84, 85 supply the 2.5V, 1.8V, and 1.2V LDO, these modules must also supply the current required by these regulators, so the total current load on the 3.3V and 2.5 modules is 1.2A and 2.6A, respectively.
  • the total load on the 12V supply is 82.5W. While this load exceeds the requirements of the AMCO Specification, it is important to note that the calculation uses the peak load of the V TT supplies, which will rarely occur in the actual operation. Should the Vrr supplies use as much as 50% of the available power, the net power load on the 12V supply will drop to 76 W.
  • the AMC 2.0 Specification calls for a maximum input capacitance on the 12V line of 800 ⁇ F and also specifies that the host system must shut down the 12V supply to an AMC card once the load current reaches a trip level of 9.1A.
  • An in-rush current limiting circuit 81 is included in the power supply design, to prevent the turn-on in rush current from triggering an overcurrent condition. This circuit limiter 81 simply consists of a P channel power
  • MOSFET whose turn-on time is controlled by a RC charging circuit once the 12V power is applied to the system.
  • the advantage of this method is that it is simple, low cost, easily tuned, and independent of the turn-on slew rate.
  • the 1.2V Digital supply 87 must provide upwards of 22A to the AMC board 1 and be able to generate this supply 8 from 12V input at a high efficiency. This supply 87 must also be able to maintain a 1.2V output voltage within ⁇ 4% over a load range of 5 A to 22A as the performance demands on the system vary.
  • a PTH08T210W module from TI can be used to meet the requirements of this supply
  • This module 87 can provide upwards of 3OA and is 87% efficient at a load of 26A.
  • the module size is 1.37x0.62 inches, and is available at a IK volume cost of $18.00. It regulates the output voltage within ⁇ 1.5% over its full temperature, input voltage, and load current range.
  • the module 87 can be programmed to turn on only when the input supply voltage has reached 9.5V. Setting the turn-on voltage to this point helps to avoid in-rush current problems.
  • the transient response of this TI module 87 is specified for 4OmV voltage over-and-undershoot for a load step of 50% (15A) at a 2.5A/ ⁇ s slew rate with a 50 ⁇ s recovery time.
  • the 1.8V Digital supply 83 must provide upwards of 2OA to the AMC board 1 and be able to generate this supply from 12V input at a high efficiency. 14A is required to supply the general electronics, while an additional 6 A is required to power the SSTL2 and SSTLl 8 V TT supplies 86. This supply 83 must also be able to maintain a 1.8V output voltage within ⁇ 5% over a load range of 3 A to 2OA as the performance demands on the system vary.
  • a PTH08T210W module from TI can be used to meet the system requirements.
  • This module 83 can source up to 30A and is 89% efficient at loads from 1OA to 25 A.
  • the module 83 size is 1.37x0.62 inches, and is available at a IK volume cost of $18.00. It regulates the output voltage within ⁇ 1.5% over its full temperature, input voltage, and load current range.
  • the module 83 can be programmed to turn on only when the input supply voltage has reached 9.5V. Setting the turn-on voltage to this point helps to avoid in-rush current problems.
  • the transient response of the TI module 83 is specified for 35mV voltage over-and- undershoot for a load step of 25% (7.5A) at a 2.5A/ ⁇ s slew rate with a 50 ⁇ s recovery time.
  • the 2.5V Digital supply 85 must provide upwards of 2.5 A to the AMC board 1 and be able to generate this supply from 12V input at a high efficiency.
  • This module also supplies the 1.8V Analog and 1.2V Analog LDO regulators 82.
  • This supply 85 must also be able to maintain a 2.5V output voltage within ⁇ 5% over a load range of 0.5 A to 2.5 A as the performance demands on the system vary.
  • a PTH08T260W module from TI can be used to meet the system requirements.
  • This module 85 can source up to 3A and is 86% efficient at a load of 2A.
  • the module size is 0.745x0.62 inches, and is available at a IK volume cost of $6.25. It regulates the output voltage within ⁇ 1.5% over its full temperature, input voltage, and load current range.
  • the module 85 can be programmed to turn on only when the input supply voltage has reached 9.5V. Setting the turn-on voltage to this point helps to avoid in-rush current problems.
  • the transient response of the TI module 85 is specified for 13mV voltage over-and-undershoot for a load step of 25% (1.5A) at a 2.5A/ ⁇ s slew rate with a 70 ⁇ s recovery time.
  • the 3.3V Digital supply 84 must provide upwards of 1.2A to the AMC board 1 and be able to generate this supply from 12V input at a high efficiency.
  • This module 84 will also supply power to the 2.5V Analog LDO regulator 82 and digital power to the SSTLl 8/SSTL2 V TT regulators 86.
  • This supply 84 must also be able to maintain a 3.3V output voltage within ⁇ 5% over a load range of 0. IA to 1.2A as the performance demands on the system vary.
  • a PTH08T260W module from TI can be used to meet the system requirements. This module 84 can source up to IA and is 84% efficient at a load of 2A.
  • the module size is 0.745x0.62 inches, and is available at a IK volume cost of $6.25. It regulates the output voltage within ⁇ 1.5% over its full temperature, input voltage, and load current range.
  • the module 84 can be programmed to turn on only when the input supply voltage has reached 9.5V. Setting the turn-on voltage to this point helps to avoid in-rush current problems.
  • the transient response of the TI module 84 is specified for 18mV voltage over-and-undershoot for a load step of 25% (1.5A) at a 2.5A/ ⁇ s slew rate with a 70 ⁇ s recovery time.
  • a specific regulator 86 for the DDR2, QDRII, and DDR V TT termination voltage is required, as the supply must be able to accurately track the midpoint of the SDRAM 7 VDDQ supply while also providing a fast transient response to support the high-speed switching of the DDR2, QDRII, and DDR busses. Since DDR 7 and QDRII 6 both use a
  • S STL 18 signaling it is possible to share a V TT supply between these two memory segments.
  • two individual supplies are used to ensure that the transient response to any supply is not compromised by the power supply placement.
  • DDR 7 uses a SSTL2 signaling, and so a dedicated regulator 86 is required for this V TT supply.
  • a MIC5162 drop out controller 86 is used to power the individual V JT supplies. This part is JEDEC complaint for SSTL, HSTL, and DDR memory applications, and features sourcing and sinking capabilities. It also operates from a V cc supply 84 of 3.3V, eliminating the need for a separate 5 V boost as will be necessary for many other comparable parts.
  • the MIC5162 86 is only a controller, and so external MOSFETs must also be selected to match the controller 86 capabilities and the power requirements of the Vrr supplies. With a 3.3V supply voltage, the low threshold MOSFETs must be chosen to ensure that the controller 86 has sufficient headroom to turn on the high-side FETs. To meet this requirement, the N channel SI5920 1.5V GS is used.
  • Each analog supply 82 is derived by an LDO regulator to provide a precise and low noise voltage supply. In order to optimize the efficiency of these LDO regulators 82, the input supplies are selected to be as close to the output voltage as possible.
  • a 1.2V analog supply 82 is derived by a TI SN 105125 150 mA LDO regulator. In total, the 1.2V analog supply 82 draws 10OmA, but as two different parts require a precise and clean 1.2 V supply, two separate 1.2 V analog supplies are used. Both derive their voltage supply from the 2.5V supply 85 as opposed to the 1.8V supply, as the 2.5V supply 85 has less digital noise. This SN 105125 82 has a dropout voltage of IV, so there is sufficient headroom for this part to operate.
  • the 1.8V analog supply 82 is derived by a Linear LTl 963 1.5 A LDO regulator, with the 2.5V digital supply acting as the power source for the 1.8V analog supply 82.
  • This regulator 82 has a dropout voltage of 34OmV, so there is sufficient headroom for this part to function off the 2.5V supply 85.
  • the 2.5V analog supply 82 is derived by a TI TPS79625 IA LDO regulator, with the 3.3V digital supply 84 acting as the power source for the 2.5V analog supply 82.
  • the TP79625 82 has a dropout voltage of 365mV, so there is sufficient headroom for this part to function off a 3.3V supply.
  • the Altera Cyclone II FPGA 16 and Stratix II FPGA 10 devices 10, 16 support any power supply sequencing, and require only that the supplies ramp monotonically within 100 ⁇ s to 100 ms.
  • both the Intel IXFl 8105 lOGigE Phy 11 and the Genesys Logic GL9714 PCIe Phy 17 do not require any specific power supply sequencing.
  • VD D and V DDQ are both supplied by the 1.8V Digital supply 83, while the V re f voltage is derived from the 1.8V supply 83 and generated by the DDR2 V TT termination regulator 86.
  • the AMC board 1 is designed according to the mechanical requirements listed in the
  • the board is Double-width, Full-height, Single-Layer, with a type B+ Extended Edge Connector.
  • the B+ connector is dual-sided, with a total of 170 pins.
  • the maximum component height on the primary side is 22.45mm, and the total height span across both sides of the PCB is 26.62mm.
  • the PCB has a thickness of 1.6mm +/- 10%. Heat sinks may be required for the Stratix II FPGA 10, Cyclone II FPGA 16,

Abstract

Telecommunications computing apparatus and methods for performing deep packet inspection and other processing of data packets traversing high speed digital networks (15) such as the Internet. An apparatus embodiment of the present invention comprises a reconfigurable logic device (10); coupled to the reconfigurable logic device (10), means (11) for coupling the reconfigurable logic device (10) to an external digital network (15); and coupled to the reconfigurable logic device (10), an interface (16-19) for coupling the reconfigurable logic device (10) to at least one peripheral device (8) that is not part of said external digital network (15).

Description

ADVANCED MEZZANINE CARD FOR DIGITAL NETWORK
DATA INSPECTION
Related Applications
The present patent application claims the benefit of commonly owned U.S. provisional patent application 60/937,864 filed June 29, 2007, entitled "Apparatus for High Speed Deep Packet Inspection and Classification of IP Based Network Traffic"; the present patent application is also a continuation-in-part (CIP) of and claims priority upon commonly owned U.S. patent application 10/037,593 filed October 19, 2001, entitled "System and Method for Controlling Transmission of Data Packets Over an Information Network"; and the present patent application is also a continuation-in-part (CIP) of and claims priority upon commonly owned U.S. patent application 12/004,791 filed December 21, 2007, entitled "TCP Data Reassembly"; all three of these prior patent applications are hereby incorporated by reference in their entireties into the present patent application.
Technical Field
This invention pertains to the field of inspecting digital network data using application-specific and reconfigurable hardware elements that comply with the AdvancedMC Standard.
Background Art
Due to the increased speeds and volume of network traffic, the increase of malicious and nefarious data packets, and the illegal activities of pirated content, new methods are required to address these types of concerns. What is needed is a set of reconfigurable hardware elements for inspecting data packets that travel over high speed networks, such as the Internet, at line speed. The present invention addresses this need, while complying with the latest AdvancedMC Standard for printed circuit boards. As used in this specification including claims, "AdvancedMC Standard" is that standard described in AdvancedMC™, PICMG® AMCO R2.0 Short Form Specification, December 28, 2006, which document is hereby incorporated by reference in its entirety into the present patent application, and related documents and standards, including AMCO, AMC 1 , AMC.2, AMC.3, and AMC.4, as described at http://www.picmg.org/ v2internal/ specifications.htm. These standards are promulgated by PICMG (PCI (Peripheral Component Interconnect) Industrial Computer Manufacturers Group), a consortium of over 450 companies that collaboratively develop open specifications for high performance telecommunications and industrial computing applications. The present invention also complies with relevant portions of the PICMG standards for Advanced Telecommunications Computing Architecture (ACTA) and MicroTCA.
Disclosure of Invention
Telecommunications computing apparatus and methods for performing deep packet inspection and other processing of data packets traversing high speed digital networks (15) such as the Internet. An apparatus embodiment of the present invention comprises a reconfigurable logic device (10); coupled to the reconfigurable logic device (10), means (11) for coupling the reconfigurable logic device (10) to an external digital network (15); and coupled to the reconfigurable logic device (10), an interface (16-19) for coupling the reconfigurable logic device (10) to at least one peripheral device (8) that is not part of said external digital network (15). Brief Description of the Drawings
These and other more detailed and specific objects and features of the present invention are more fully disclosed in the following specification, reference being had to the accompanying drawings, in which:
Figure l is a system level block diagram of an AMC board 1 consistent with the tenets of the present invention.
Figure 2 is a drawing showing input/output banks associated with an FPGA 10 suitable for use in the present invention.
Figure 3 is a drawing showing input/output banks associated with an FPGA 16 suitable for use in the present invention. Figure 4 is a drawing illustrating the clocking of FPGA 16.
Figure 5 is a block diagram illustrating means for reconfiguring FPGA's 10 and 16.
Figure 6 is a block diagram illustrating microcontroller 9.
Figure 7 is a block diagram illustrating a JTAG chain.
Figure 8 is a block diagram of a power supply suitable for powering board 1. Detailed Description of the Preferred Embodiments
In a preferred embodiment, illustrated in Figure 1 , the present invention is a telecommunications computing apparatus 1 comprising a reconfigurable logic device 10; coupled to the reconfigurable logic device 10, means 11 for coupling the reconfigurable logic device 10 to an external digital network 15; and coupled to the reconfigurable logic device 10, an interface 16-19 for coupling the reconfigurable logic device 10 to at least one peripheral device 8 that is not part of said external digital network 15. While peripheral devices 8 are not part of said external digital network 15, they may be indirectly coupled thereto.
In a preferred embodiment, the reconfigurable logic device 10 comprises an FPGA
(field programmable gate array), and the interface 16-19 comprises at least one component from the group of components consisting of at least one PCI Express connection 17 and at least one FPGA 16. Each FPGA 16 comprises at least one DMA (Direct Memory Access) component 18 and at least one PCI target interface component 19.
In a preferred embodiment, the coupling means 11 comprises a physical coupling device 11 connected to the reconfigurable logic device 10; an edge connector 12 connected to the physical coupling device 11; a backplane 13 connected to the edge connector 12; and at least one line card 14 connected to the backplane 13 and to the external digital network 15. Each peripheral device 8 is also preferably connected to the backplane 13.
Preferably and advantageously (for reasons of speed), the apparatus elements illustrated in Figure 1 consist solely of application-specific and reconfigurable hardware elements.
The reconfigurable logic device 10 illustrated herein is capable of performing many functions; for example:
• Reassembly of TCP data emanating from the external digital network 15 by solely hardware means.
• Search for known patterns within the reassembled TCP data.
• Policy management decisions made with respect to patterns found within the reassembled TCP data.
• Deep packet inspection on data packets emanating from the external digital network 15. By deep packet inspection is meant inspection and processing of data packets at layers 2 through 7 of the Open Systems Interconnect (OSI) model of the International Standards Organization (ISO). Layer 2 is the data link layer, layer 3 is the network layer, layer 4 is the transport layer, layer 5 is the session layer, layer 6 is the presentation layer, and layer 7 is the application layer. The inspection of layers 5 through 7 distinguishes "deep packet inspection" from mere "packet inspection".
• Flow control of network traffic on the external digital network 15. • Traffic analysis and management of network traffic on the external digital network 15.
• Bandwidth shaping.
• Advanced routing applications.
TCP is the transport control protocol, and is used at layer 4 of the OSI model. External digital network 15 can be any network or combination of networks where digital data is communicated. Thus, for example and without limitation, external digital network 15 can be any combination of networks from the group of networks consisting of the Internet, a wireless network, a wired network, a local area network (LAN), a wide area network (WAN), and the public switched telephone network (PSTN). The apparatus 1 illustrated herein can be part of a system for controlling transmission of data packets through said external digital network 15, wherein each data packet comprises a header and/or a trailer and a payload portion. External digital network 15 can comprise a plurality of network-capable devices communicatively coupled to one or more Network Access Points (NAPs). In such an embodiment, the apparatus 1 illustrated herein can be disposed at a NAP or elsewhere, and can contain content match information. Said apparatus 1, and in particular FPGA 10, can be used to:
• inspect payload portions of data packets transiting the NAP;
• forward an inspected data packet when information within the payload portion of an inspected data packet is not substantially similar to content match information; and
• when information within the payload portion of an inspected data packet is substantially similar to content match information, temporarily store the inspected data packet, and perhaps send a message to a network-capable device. These techniques are more fully described in the aforesaid U.S. patent application 10/037,593 filed October 19, 2001, in which the Data Enabling Device (DED) of said earlier patent application can be implemented using AMC board 1 of the present invention.
The apparatus illustrated herein can also be used in an alternative method for inspecting data packets transiting a network access point (NAP). In this alternative method, reconfigurable logic device 10 inspects at least payload portions of data packets transiting the NAP, and forwards reassembled payload portions of packets, within TCP connections, as well as metadata used to identify TCP connections corresponding to said packets, to relevant peripheral devices 8. Reconfϊgurable logic device 10 allows an inspected data packet to traverse the network 15 when information within a payload portion of an inspected data packet is not substantially similar to prestored content match information; and when information within a payload portion of an inspected data packet is substantially similar to prestored content match information, performs at least one of the following four steps:
• reports the match to at least one peripheral device 8;
• prevents the packet from further traversing network 15; • allows subsequent packets from the corresponding TCP connection to pass through reconfigurable logic device 10 uninspected;
• attempts to forcibly terminate the corresponding TCP connection.
In an embodiment, apparatus 1 further comprises at least one bank of SDRAM (Synchronous Dynamic Random Access Memory) 7 coupled to reconfigurable logic device 10. In an embodiment, apparatus 1 further comprises at least one bank of SRAM (Static Random Access Memory) 6 coupled to reconfigurable logic device 10.
Preferably, apparatus 1 complies with the aforesaid AdvancedMC Standard.
In an embodiment, apparatus 1 further comprises an intelligent microcontroller 9 coupled to said reprogrammable reconfigurable logic device 10, wherein said microcontroller 9 manages the power consumption of elements of apparatus 1, and performs other control functions pursuant to the AdvancedMC Standard.
Reconfigurable logic device 10 can be reprogrammed by a number of different techniques; for example:
• Loading reconfigurable logic device 10 via a flash memory 5 coupled to reconfigurable logic device 10.
• Reprogramming via installed JTAG (Joint Test Action Group) headers 4 coupled to reconfigurable logic device 10.
• Reprogramming via JTAG headers provided on backplane 13 to which reconfigurable logic device 10 is indirectly coupled.
1.0 INTRODUCTION
AMC board 1 is a very high-end digital signal processing board preferably containing both PCI Express (PCIe) and lOGigE (Ethernet) XAUI (10 Gigabit Attachment Unit Interface) interfaces 17, 11, respectively. The centerpiece of the design is preferably a Stratix II EP2S180F1508C3 FPGA device 10 from Altera 10 that interfaces to all off-board connections. High-speed RAM modules DDR (dual data rate) 2 and QDR (quad data rate) II 7, 6, respectively, support the processing functions of the FPGA 10, and a small secondary CPLD (Complex Programmable Logic Device) 3 is used to control the configuration of the Stratix II FPGA 10 from flash memory 5.
Embodiments discussed herein are illustrative only. One of ordinary skill in the art could make numerous substitutions of the various illustrated components.
2.0 SYSTEM OVERVIEW
AMC board 1 is a pluggable module intended for use in a MicroTCA chassis. AMC board 1 interfaces directly with a MicroTCA backplane 13. Architectural details of a MicroTCA platform are addressed in MicroTCA™, PICMG®, MTCA.O Rl .0, Micro Telecommunications Computing Architecture Short Form Specification, September 21, 2006, which document is hereby incorporated by reference in its entirety into the present patent application.
AMC board 1 is a full-height, double-width PICMG AMC card featuring a Stratix II FPGA 10 as the central signal processing device, with several peripheral devices 8 that communicate off-board at multi-gigabit signaling rates. AMC board 1 is used in conjunction with other AMC modules to inspect data flows on the Internet and other digital networks 15, and it may interface off-board to a host CPU over PCI Express interface 17. The off-chip memories preferably consist of minimally 4GB of minimally 320MHz DDR2 memory 7, 16MB of QDRII memory 6, and 32MB of parallel NOR flash memory 5 used to store configuration files for the two FPGA devices 10, 16 on the board 1. As defined in the AMCO specification, a module management controller (MMC) 9 resides on AMC board 1 to provide system management functions, such as board identification through Electronic Keying (E-Keying), power management, and board 1 status/fault reporting. MMC 9 communicates with a host manager on a MicroTCA MCH (MicroTCA Carrier Hub) over a 2-wire serial bus using a messaging scheme called IPMI (Intelligent Platform Management Interface), and supports a basic set of messages. An optional extended message set may be integrated into the controller 9 as well. The firmware that implements the IPMI protocols in the MMC 9 may be obtained from CorEdge Networks and may run in a Renesas H8/3OOH Tiny 16-bit microcontroller or other microcontroller 9. 2.1 Hardware System Block Diagram
Figure 1 is the system level block diagram for AMC board 1. Note that the power distribution is not shown in Fig. 1 , but is addressed in Section 6.0 below. At run-time, the AMC edge connector 12 provides all of the external I/O interfacing and power distribution. All other connectors are used for system bring-up, debug, and device programming at the factory.
2.2 Theory of Operation
Off-board communications occur over x4 PCI Express link 16-19 residing on AMC Ports 12-15 in the Extended Options Region of the AMC Interconnect Specification, and a lOGbps XAUI interface (4 x 2.5Gbps) 115 which resides on AMC Ports 4-7 in the Fat Pipe region.
The x4 lane PCI Express link 16-19 is preferably implemented in a Cyclone II FPGA 16 from Altera containing a PCIe Endpoint Core from Northwest Logic (NWL). The PCI Express interface 16-19 resides externally to the Stratix II FPGA 10 and contains an integrated DMA (direct memory access) controller 18, so that upstream block data transfer control can be offloaded from the Stratix II FPGA 10. NWL's PCI Express Complete Core is a solution to the PCIe + DMA requirement, because it is an off-the-shelf module that reduces the amount of custom RTL (Register Transfer Level) that would otherwise need to be developed in order to realize the PCIe + DMA architecture in the Cyclone II FPGA 16. A top level module can be used to contain the PCIe core, a TX (transmit) FIFO for data buffering 10, and a 64-bit local bus interface that transfers the data synchronously from the Stratix II FPGA 10. The AMC board 1 is required to support only DMA host reads, and so the local DMA bus consists of a unidirectional bus from the Stratix II FPGA 10 to the Cyclone II FPGA 16. In addition to the DMA reads, a PCI target interface 19 is implemented between the two FPGAs 10, 16, so that the host can read and write individual memory mapped registers on the Stratix II FPGA 10. A secondary interface between the Stratix II FPGA 10 and the Cyclone II FPGA 16 allows the Stratix II FPGA 10 to read status information from the NWL core. This interface is a microprocessor-type parallel interface and may be driven by a soft-processor on the Stratix II FPGA 10.
The NWL PCIe core synthesizes to 21,000 logic elements, and with the additional FIFO (First In First Out) structures and interfacing circuitry in the Cyclone II FPGA 16, may fit into an EP2C35 device (35,000 logic elements). However, an EP2C50 device may be used for the AMC board 1 in order to give extra headroom during development. The EP2C35 and EP2C50 devices selected are pin compatible. The Cyclone II FPGA 16 does not feature built-in SERDES (Serializer/Deserializer); therefore, an external PCIe PHY (physical interface) 17 that interfaces to the NWL core in the Cyclone II FPGA 16 over a PIPE interface can be used. The GL9714 PCIe PHY 17 from Genesys Logic is a x4 lane currently available. A Cyclone II FPGA 16 + GL9714 17 implementation can be used.
Configuration data for the Cyclone II FPGA 16 is stored in a NOR flash device 5 along with configuration data for the Stratix II FPGA 10. As discussed below, a configuration controller implemented in a CPLD (Complex Programmable Logic Device) 3 configures the two FPGAs 10, 16 once the payload power has been applied to the AMC board 1. Storing configuration files for both FPGAs 10, 16 in the same flash 5 allows for easier maintenance in the field, as FPGA 10, 16 image updates can be downloaded over one of the off-board interfaces and written to flash 5 by the Stratix II FPGA 10. In addition to the NOR flash 5, a small serial PROM (Programmable Read Only Memory) can be optionally installed on the board 1 as a back-up method for Cyclone II FPGA 16 configuration, so that it may be booted independently of the rest of the system during board 1 bring-up and system integration.
The XAUI interface 11 is preferably implemented in an IXFl 8105, a lOGigE MAC (Media Access Control device) + PHY integrated device from Cortina (Intel). The IXFl 8105 interface 11 communicates with the Stratix II FPGA 10 over a POS-PHY (Packet Over Sonet PHY; SONET means Synchronous Optical NETworking; PHY means PHYsical layer device) Level 4 interface, a full-duplex 16-bit (ea. direction) parallel high-speed LVDS (Low Voltage Differential Signal) bus. An Altera POS-PHY Level 4 MegaCore is then used in the Stratix II FPGA 10. As with the Cyclone II PCIe 17, a secondary microprocessor bus is used to configure the IXFl 8105 interface 11 and read status information. A serial Mil interface between the Stratix II FPGA 10 and the IXF 18105 interface 11 provides a management data interface for further control and status functionality. The Stratix II FPGA 10 drives this interface as well.
The Stratix II FPGA 10 interfaces to a variety of external memory, including 4GB of DDR2 SDRAM 7, 16MB of QDRII SRAM 6, and 32MB of NOR flash 5. A single DDR2 memory bus is interfaced to the Stratix II FPGA 10, running to a pair of 2GB DDR2
DIMMS 7 with a 72-bit data path and operating at 320MHz. An MTl 8HVF25672P-667 DIMM Very Low Profile (VLP) DIMM (Dual In-Line Memory Module) designed to meet the AdvancedTCA form factor is used on the board 1.
Two QDRII memory banks 6 are preferably interfaced to the Stratix II FPGA 10. Each bank 6 is controlled using a separate memory interface on the FPGA 10. Each bank 6 is 36 bits wide and consists of a single 72Mbit CY7C1515V18 device from Cypress. The QDRII devices 6 run at 300MHz, the maximum rate supported by the Stratix II FPGA 10. Both the DDR2 and QDRII interfaces in the Stratix II FPGA 10 are implemented using Altera MegaCore IP. The DDR2 SDRAM 7 High-Performance Controller MegaCore can be used, and has been tested by Altera up to an FMAX of 333MHz in a Stratix II FPGA 10. The QDRII SRAM Controller MegaCore from Altera can be used for the SRAM 6 interfaces, and is rated at a maximum operating frequency of 300MHz. Note that in order to achieve the above interfacing speeds, dedicated DQ/DQS circuitry on the Stratix II FPGA 10 is required to capture the read data buses. We are therefore limited to the banks that support the DQ/DQS feature set (Banks 3, 4, 7, and 8).
Device configuration for both the Stratix II FPGA 10 and Cyclone II FPGA 16 is controlled by a small MAX II CPLD 3. Configuration data is stored in the flash 5 and can be updated by the Stratix II FPGA 10 over a flash interface. Two FPGA images are stored for each FPGA 10, 16 - a USER image that contains the primary FPGA configuration data, and a SAFE image containing a factory installed back-up image that is never changed after the board 1 leaves the factory. The USER image may be updated in the field. For example, a new image may be downloaded to the Stratix II FPGA 10 over the PCI Express interface 17. The image is then written to the USER area of the flash 5. The Stratix II FPGA 10 (or Cyclone II FPGA 16) is then loaded with an updated image file upon a reconfiguration. Should the USER area become corrupted during a flash write operation, the FPGA 10, 16 shall be loaded with its SAFE image, providing a method to recover from a corrupted USER image.
The MAX II CPLD 3 code can be leveraged from the NIOS II development kit. Thus, it is expected that it will be a drop-in module with no custom changes required for the CPLD code.
The initial programming of the flash 5 is a special case for board 1 boot, as the MAX II CPLD 3 will need to be initially configured over JTAG connector 4 with utilities to write to the flash 5. Configuration files for both FPGAs 10, 16 may then be written to the flash 5 using the Altera provided flash loader. Flash files are uploaded to the MAX II CPLD 3 over JTAG 4 as well.
Module management controller (MMC) 9 communicates with the host processor over a 2-wire serial link and performs various system management functions defined in the AMCO Specification. Electronic Keying (E-Keying) allows the MMC 9 to describe to the host processor the various characteristics of the AMC board 1. The management interface is used to assign a module address for the AMC board 1 on the MicroTCA backplane 13, and 'link descriptors' are sent to the host by the MMC 9 that advertise how the interconnect regions on the AMC edge connector 12 have been configured. The MMC 9 also indicates to the host the amount of power that must be allocated to the AMC card 1. Cooling management operations are performed by the MMC 9 by reading on-board temperature sensors and sending temperature event messages to the MCH. The messaging protocol used to communicate between MMC 9 and host is called IPMI, and the 2-wire serial bus is referred to as IMPB-L. The MMC 9 must also drive several LEDs (Light Emitting Diodes) connected to the front faceplate 20 that indicate board 1 status.
As defined in the AMCO Specification, two power domains exist on the AMC board 1 : a +12V Payload Domain and a +3.3V Management Domain. After an AMC board 1 has been inserted into the backplane 13, only the low-current +3.3 V Management Domain is active, which powers the MMC 9 circuitry along with the faceplate 20 LEDs. The MMC 9 begins an initialization routine by indicating to the host the AMC interconnect configuration and the required power allocation for the board 1. If this initialization routine ends in a success, the host flags the MMC 9 that the +12V Payload Domain is safe for activation. All other devices on the AMC board 1 are powered by the Payload domain. The IMPI firmware can be acquired from CorEdge Networks. A Renesas H8 can be the microcontroller for the MMC 9.
3.0 EXTERNAL INTERFACE AND CONNECTOR PINOUTS
This section describes off-board connections. Examples of pinouts are provided, and connector part numbers are shown where available.
3.1 AMC Edge Connector (P2) 12
Connector Part Number: N/A Manufacturer: N/A Description: 170-pin, dual-sided, gold finger edge connector. *Note: Pinout is maintained in an Excel spreadsheet
Figure imgf000013_0001
Figure imgf000014_0002
Figure imgf000014_0003
Figure imgf000014_0001
Figure imgf000014_0004
Figure imgf000015_0001
Figure imgf000016_0001
Table 1: AMC Edge Connector 12 Pinout
3.2 AMC 1 Faceplate 20
A faceplate 20 installed on the front of the module provides LED visual feedback to the user, as well as EMC containment and other mechanical functions described in Section 8.0. The LEDs are mounted on the AMC board PCB (printed circuit board) 1 as directed by the AMCO Base Specification in order to be visible in faceplate 20. Connector Part Number: N/A Manufacturer: Schroffcan be used.
Description: AMC front faceplate 20, compliant with the AMCO Specification.
Figure imgf000016_0002
Table 2: Faceplate 20 LED Signal Descriptions 3.3 FPGA JTAG Connector (Pl) 4
Connector Part Number: TSW-105-26-L-D
Manufacturer: Samtec
Description: 10-pin, 0.100" header, dual row (2x5), male
Figure imgf000017_0001
Table 3: FPGA JTAG Connector 4 Pinout
3.4 MMC Programming Connector (J6) 2
Connector Part Number: FTSH- 110-01 -L-DV-K
Manufacturer: Samtec
Description: 20-pin, 0.050" header, dual row (2x10), male
Figure imgf000017_0002
Table 4: MMC Programming Connector 2 Pinout 3.5 UART Breakout Connector (P4) 21
The UART (Universal Asynchronous Receiver/Transmitter) breakout connector 21 mates with a small DB-9 expansion board designed by Nuvation. The intended use is for system debug during the integration stage. Connector Part Number: FTS- 105-01 -L-DV Manufacturer: Samtec
Description: 10-pin header, dual row, surface mount, 0.05" pitch
Figure imgf000018_0001
Table 5: UART Breakout Connector 21 Pinout
Auxiliary Power Connector (P3) 22
The auxiliary power connector 22 may be used to provide power to the board 1 when not connected to the AMC chassis slot 13 (e.g., for debug or testing). Connector Part Number: IPLl - 110-02-L-D. Manufacturer: Samtec
Description: 20-pin header, dual row, surface mount, 0.1" pitch
Figure imgf000018_0002
Table 6: Auxiliary Power Connector 22 Pinout 3.6 Debug Connector (J5) 25
Debug Mictor connector 25 is mounted on the board 1 to provide I/O access to the Stratix II FPGA 10. The Mictor connector 25 has a standard pinout that is compatible with an Agilent Logic Analyzer (Model #E536 or equivalent). Connector Part Number: 2-767004-2 Manufacturer: TYCO
Description: 38-pin Mictor Connector
Figure imgf000019_0001
Table 7: Debug Connector 25 Pinout 4.0 MAJOR COMPONENTS AND INTERNAL INTERCONNECTS
The following section discusses the main ICs on the AMC board 1 and their respective interconnections. Descriptions of the interfaces are given and exact signals are shown when appropriate.
4.1 Stratix II EP2S180F1508C3 FPGA 10
The centerpiece of the AMC board 1 is a Stratix II FPGA 10 from Altera. An EP2S180F1508C3 can be used, which offers 180,000 logic elements, 9.4Mbits of RAM, and is packaged in a lmm pitch 1508-ball FBGA. Shown in Figure 2 are the I/O banks of the EP2S 180 FPGA 10.
The internal logic of the Stratix II FPGA 10 is powered from a 1.2 V rail. As with most Altera FPGAs, its I/O banks support a variety of I/O standards, ranging from 1.2V to 3.3V. The Stratix II FPGA 10 on the AMC board 1 has four of its I/O banks used for highspeed DDR2 7 and QDRII 6 powered at 1.8 V, one of its LVDS enabled banks shall be powered at 2.5V, and the remaining low-speed I/Os shall use LVTTL 2.5V/3.3V logic levels.
4.1.1 FPGA 10 Clocking
Table 8 below shows the PLL (phase lock loop) usage in the Stratix II FPGA 10. A single 40MHz input clock provides the source for all other clocks used on the device 10. The 40MHz clock is multiplied up to a maximum of 320MHz using PLLl, which becomes the main global clock for the Stratix II FPGA 10. The remaining PLL' s are used to produce clocks for the external synchronous memory interfaces and the source-synchronous parallel buses that run between the Stratix II FPGA 10 and the other devices on the AMC board 1.
Figure imgf000021_0001
Table 8: PLL Usage in Stratix II FPGA 10
4.1.2 FPGA 10 Configuration
Configuration data for the Stratix II FPGA 10 is stored in a 32MB flash device 5. The FPGA 10 is preferably loaded with configuration data by a MAX-II EPMl 270 CPLD 3, which contains a flash bootloader Altera IP block designed to read out data from the flash 5 and drive the configuration pins on the FPGA 10. The Stratix II FPGA 10 and the Cyclone II FPGA 16 are configured sequentially by daisy chaining their configuration signals in a Passive Serial configuration scheme. At a DCLK frequency of 40MHz, the estimated time to configure the Stratix II EP2S180 10 in Passive Serial mode is approximately one second.
The FPGA 10 may also be configured using its JTAG port and JTAG connector 4. This can be useful during bring-up time to load the FPGA 10 directly from Quartus using a Byte Blaster cable. 4.1.3 Stratix II FPGAlO External Interfaces and Pinout DDR2 SDRAM Memory 7
Interfaced to the Stratix II FPGA 10 I/O Banks 3 and 4 is a 72-bit wide DDR2 memory bus running to a pair of DIMMs 7. The memory interface uses dedicated DQ/DQS signals and DQS phase-shifting circuitry, allowing it to run at 320MHz. PLL5 is used to generate the system clock, write clock, and DQS phase-shifter reference clock, while PLLl 1 generates a read clock used to help resynchronize data read from the memory back to the system clock domain. PLLl 1 is referenced to a FB CLK external signal, whose frequency is equal to the system clock and whose phase is closely matched to the trace round-trip propagation delay from the FPGA 10 to memory 7.
I/O Banks 3 and 4 use a SSTL_18 logic standard and require a VCCIO of 1.8V. The two DIMMs 7 are both 240-pin, 72 -bit wide, very-low profile (VLP) modules that reside in parallel on the DDR2 bus. To the memory controller, the bus therefore looks like one 72-bit bus that is 4GB deep. A Micron MTl 8HVF25672PY-667 VLPDIMM 7 targeted for a low- profile application in an AdvancedTCA form factor can be used. Table 9 lists the external signals running between the FPGAlO and the DIMM 7 connectors.
Figure imgf000022_0001
Table 9: DDR2 Memory 7 Interface External Signals
QDRII SRAM Memory 6
Interfaced to the Stratix II FPGA 10 I/O Banks 7 and 8 are two 36-bit QDRII memory buses, with each one using a separate memory controller to interface to a Cypress CY7C1515V8 device 6. The memory interface uses dedicated DQ/DQS signals and DQS phase shifting circuitry, allowing it to run at 300MHz. PLL6 generates the system clock, write clock, and DQS phase-shifter reference clock for one of the QDRII memory banks 6, while PLL 12 generates a similar set of clocks for the other QDRII memory bank 6, minus the reference clock for the DQS phase-shifter. (Only one reference clock is required for the DQS phase shifter circuitry.)
I/O Banks 7 and 8 use a SSTL_18 logic standard and require a VCCIO of 1.8V. The Cypress memory device 6 is a 72Mbit capacity part, with a 36-bit data bus, and a maximum operating frequency of 300MHz. Table 10 lists the external signals running between the FPGA 10 and each QDRII device 6.
Figure imgf000023_0001
Table 10: QDRII Memory 6 Interface External Signals
POS-PHY Level 4 (IXF18105) Interface 11
A POS-PHY Level 4 (PL4) interface on the Stratix II FPGA 10 provides access to a 1 OGigE MAC/PHY that communicates off-board over a XAUI interface 11. An IXF 18105 from Cortina can be used to implement the 1 OGigE functions.
The PL4 MegaCore in the Stratix II FPGA 10 transmits and receives data on I/O Bank 1 using the LVDS signaling standard. A 16-bit parallel bus in each direction forms a source-synchronous bus operating at 680 Megacycles per second, with a half-frequency clock. The IXFl 8105 interface 11 is configured in slave mode, meaning that its Receive Data clock (from MAC to Stratix II FPGA 10) is derived from its Transmit Data clock originating at the Stratix II FPGA 10. Two PLL' s (2 & 8) are therefore used on the FPGA 10, one to clock out the 16-bit transmit bus and the other to clock in the 16-bit receive bus from the IXF 18105 11. PLL8, which generates the Transmit Data clock, therefore determines the clocking speed of the entire PL4 interface. The input clock for PLL8 is sourced from a 40MHz global clock output from PLLl , which is then multiplied up to
340MHz in order to clock out the PL4 data at double data rate. The PL4 interface signals are shown below in Table 11.
Figure imgf000024_0001
Table 11: POS-PHY Level 4 Interface 11 Signals
In addition to the PL4 interface, a secondary microprocessor interface exists between the Stratix II FPGA 10 and the IXF 18105 interface 11 that is used by the FPGA 10 to configure the lOGigE MAC/PHY and read status information. This interface is available on the Stratix II FPGA 10 External Address/Data Interface and is described below.
Cyclone II FPGA 16 Local Bus Interfaces A 64-bit unidirectional DDR DMA bus interface is used to transfer DMA blocks from the Stratix II FPGA 10 to the Cyclone II FPGA 16. A PCI target interface 19 is also provided so that the Stratix II FPGA 10 is visible as a PCI device to the host CPU. The PCI target bus is a full-duplex 64-bit bus. See Section 4.3.3 for a discussion of these buses.
CPLD 3 and Flash 5
In addition to the configuration CPLD 3, the flash address and data buses run to the Stratix II FPGA 10 so that it may write data to the configuration flash 5. The flash 5 is configured in byte- wide mode.
A 32MB S29GL256 parallel NOR flash 5 from Spansion can be used to store the configuration data. The EP2S180 FPGA 10 requires an uncompressed bit file size of
6.25MB, and the Cyclone II FPGA 16 EP2C50 FPGA 16 requires a bit file size of 1.25MB. Therefore, two FPGA images for each device 10, 16 consume a total of 14MB of flash memory, leaving plenty of room for other user data. MMC Microcontroller 9
A communications link between the Stratix II FPGA 10 and the Renesas H8 MMC controller 9 is provided so that status information can be shared between the two devices 10, 9. Several signals interfaced to a serial port on the H8 MMC 9 are routed to the Stratix II FPGA 10, which may then run to a serial port instantiation on the FPGA 10.
LEDs, Test Points, and Debug
Extra GPIO signals from the Stratix II FPGA 10 are brought out to LEDs, test points, and debug connectors. The number of peripheral components that can be accommodated depends on the available board 1 real estate and the number of remaining unused GPIO pins on the Stratix II FPGA 10.
4.2 IXF18105 Processor 11
The IXFl 8105 processor 11 from Cortina is a 10 Gigabit Ethernet MAC and PHY that communicates with the Stratix II FPGA 10 over a POS-PHY Level 4 interface on the system side and a XAUI interface on the line side. The device 11 performs Ethernet frame generation, frame integrity checks, and 8b/ 10b encoding. The built-in SERDES for the 4 x 3.125Gbps XAUI interface allows for a single chip solution for the lOGigE interface external to the Stratix II FPGA 10. The device 11 is packaged in a 672-ball FCBGA and uses a 2.5V supply to power its core logic (and XAUI analog PLLs), and uses a 3.3V for its digital I/O circuitry.
4.2.1 IXF18105 Processor 11 Clocking
As discussed above, the IXFl 8105 processor 11 PL4 interface is configured in slave mode, meaning that the clock source for the interface is driven by the Stratix II FPGA 10. The 340MHz PLL output from the Stratix II FPGA 10 clock provides the timing for the entire PL4 interface and internal logic. The Line side of the IXFl 8105 processor 11 uses a XAUI_REFCLK for generating the transmit data and for the Clock Recover Circuit of the receive path. The XAUI REFCLK must be provided from a stable 312.5MHz +/- lOOppm LVDS input. For best jitter performance, a standalone clock reference is used for the XAUI REFCLK, powered from a clean source. 4.2.2 IXF18105 Processor 11 External Bus Interfaces POS-PHY Level 4 (Stratix II)
The interface is discussed above in Section 4.1.3.
XA UI External Interface
The high-speed 4 x 3.125GHz signals are AC coupled and routed directly to the AMC edge connector 12. There are four LVDS pairs in each direction, providing a total bandwidth of 12.5Gbps before 8b/10b encoding. The IXF18105 processor 11 actually provides two 4 x 3.125GHz interfaces: a working, or primary, interface and an auxiliary interface. The auxiliary interface is intended to support optical failure in cable transmission applications, and need not be used on the AMC board 1. The primary XAUI interface 11 interfaces to AMC Ports 4-7 on the AMC edge connector 12 (Section 3.1).
4.2.3 IXF18105 Processor 11 Debug Utilities
Status and debug utilities for the IXFl 8105 processor 11 are implemented over the Microprocessor Interface. Key control and status signals for the device 11 are brought to testpoints for probing, unless there is a risk that a compromise in the integrity of the signal will result.
4.3 Cyclone II FPGA 16 EP2C35 FPGA 16 and GL9714 PCI Express PHY 17
The Cyclone II Altera FPGA 16 implements a x4 Lane PCI Express off-board link using the PCI Express Complete Core from Northwest Logic, and can be viewed as a peripheral device to the Stratix II FPGA 10. The Cyclone II model number can be the EP2C35, which contains 33,216 logic elements, 484kbits of RAM, and 4 PLLs. However, a larger EP2C50 device can be used for flexibility.
A 1.2V rail powers the Cyclone II FPGA 16 logic core, and its I/O banks require a 2.5V supply for its high-speed SSTL 2 I/Os and a 3.3 V rail for its general purpose LVTTL I/Os. The 672-pin FBGA package can be used, which offers up to 450 I/O pins in the EP2C50 16 device. Shown below are the I/O Banks of the Cyclone II FPGA 16 EP2C35 16.
As the Cyclone II FPGA 16 does not support the PCIe multi-gigabit signaling rates, the device uses an off-chip PHY to implement the SERDES functions and Physical Coding
Sublayer for the PCIe signals. The GL9714 device 17 from Genesys Logic is a x4 lane PHY that performs 8b/ 10b encoding, elastic buffer and receiver detection, and data serialization/deserialization for each lane. The Cyclone II FPGA 16 and GL9714 device 17 communicate over a 250MHz PIPE parallel interface.
The following sections give an overview of the Cyclone II FPGA 16 clocking and external interfaces.
4.3.1 Cyclone II FPGA 16 Clocking
The clocking architecture for the Cyclone II FPGA 16 is shown in Figure 4. The 100MHz PCIE REFCLK from the AMC edge connector 12 drives the clocking for the entire PCI Express data path, helping to mitigate issues created by multiple clock domains and clock frequency mismatches.
A 250MHz PCLK is generated by the PLL onboard the GL9714 device 17 and is used to transfer the PIPE data in both directions between the PHY and the Cyclone II FPGA 16. The two buses are not source-synchronous, however, as PCLK is fed to a PLL on the Cyclone II FPGA 16 in order to generate the clock strobe signals for the Tx and Rx PIPE buses. The PLL parameters can be configured once the routing delays for the PIPE bus are known. Note that the Cyclone II FPGA 16 + GL9714 architecture is based on a NWL reference design for their PCIe core.
Another output from the Cyclone II FPGA 16 PLL, core_clk_div2, is a 62.5MHz system clock to which the system side user logic is synchronized. Core_clk_div2 is used to clock data over the 64-bit DDR DMA interface, as well as the 64-bit PCI Target interface, between the Cyclone II FPGA 16 and Stratix II FPGA 10. This architecture maintains a single clock domain in the Cyclone II FPGA 16 for the PCIe datapath.
A secondary clock is required by the PCIe core during board 1 initialization in order to boot and configure the GL9714 device 17. Phy_init_clk is a 40MHz secondary clock input to the FPGA 16, used by the PCIe core to initialize the PHY, as its PCLK output will not be valid until its internal PLL has stabilized.
4.3.2 Cyclone II FPGA 16 Configuration Configuration data for the Cyclone II FPGA 16 is stored on the parallel flash 5. As discussed in Section 4.1.2, a MAX II CPLD 3 handles the configuration of the two FPGAs 10, 16 over a Passive Serial interface. Unlike the Stratix II FPGA 10, however, the Cyclone II FPGA 16 does not have direct access to the flash 5.
Two secondary methods of device configuration are available for the Cyclone II FPGA 16 as well. A JTAG interface allows the loading of an FPGA 16 image file from Quartus (Altera's proprietary software for the design of applications for Altera devices). Furthermore, a small serial EPROM on board 1 allows the Cyclone II FPGA 16 to be booted solo, without relying on the CPLD 3, flash 5, or Stratix II FPGA 10. These two configuration methods are expected to be used during board bring-up and testing only.
4.3.3 Cyclone II FPGA 16 Interfaces and Pinout Local Bus DMA Interface (Stratix II)
Between the Stratix II FPGA 10 and the Cyclone II FPGA 16 is a DMA bus that is designed to support block data transfers from the Stratix II FPGA 10 to the Cyclone II FPGA 16 at a bandwidth that matches the x4 lane PCIe link speed. DMA events are configured in the NWL core through the CPU host, whose DMA registers are mapped into the PCI address space. DMA events occur in one direction only - from Stratix II FPGA 10 to Cyclone II FPGA 16. All DMA events are referred to as 'DMA Reads', taken from the perspective of the host CPU.
Below in Table 12, the DMA bus signals running between the Stratix II FPGA 10 and the Cyclone II FPGA 16 are shown. All synchronous transfers between the two FPGA' s 10, 16, including those that occur over the Target Interface 19 described in the next section, are clocked by the 62.5MHz CLKFM output clock. A CLKTM input is provided in case the DMA bus is made source-synchronous in the future.
Figure imgf000028_0001
Table 12: DMA Bus Signal List Local Bus Target Interface (Stratix II FPGA 10)
In addition to the DMA bus, another interface exists between the Stratix II FPGA 10 and the Cyclone II FPGA 16 that allows standard PCI-type transactions. Unlike the DMA interface 18, the PCI target interface 19 supports transactions in either direction and is intended to allow the CPU host to write and read individual registers on the Stratix II FPGA 10. A 64-bit bidirectional data bus is used, and transfers are clocked using the 62.5MHz CLKFM output clock from the Cyclone II FPGA 16. The Target Interface signals are shown below in Table 13.
Figure imgf000029_0001
Table 13: Local Bus Target Interface 19 Signal List
PIPE Interface to GL9714 PHY 17
The Cyclone II FPGA 16 - GL9714 bus is a single data rate (SDR) 250MHz parallel bus, consisting of four 8-bit data channels in each direction for a total of 64 single ended signals. Clocking for both directions of the bus is derived from a 250MHz PCLK output from the PHY 17 as described above. The PCLK signal is fed to a PLL, from which two clock signals are generated, with their respective phases adjusted to the required timing parameters of the TX and RX buses. The total signal count is approximately 120 signals, which have been assigned to I/O Banks 7 & 8 on the Cyclone II FPGA 16. Table 14 shows the signal interface between the FPGA 16 and the PHY 17.
Figure imgf000030_0001
Table 14: Cyclone II - GL9714 Device 17PIPE Interface Signals
4.3.4 Debug Utilities
Status signals from the NWL core and other spare signals are brought out to testpoints and breakout headers for board 1 bring-up and testing. Note that the amount of debug headers available on the board 1 is largely dependent on the "free" board 1 space left over after all of the critical parts have been placed. Furthermore, the Stratix II FPGA 10 has priority in the allocation of debug headers, and thus the amount of debug access points available for the Cyclone II FPGA 16 may be less than desirable should board 1 real estate become a challenge.
4.4 CPLD 3 and Flash 5
A MAX II non-volatile CPLD 3 and parallel NOR flash 5 combination performs the configuration functions on the board 1 for the two FPGAs 10, 16. An Altera IP Flash Loader Megafunction is instantiated in the CPLD 3 and configures the two FPGAs 10, 16 from flash 5 once the CPLD 3 has been given a signal from the MMC 9 indicating that all of the board 1 power supplies have ramped up and are stable. A MAX II EPM 1270 CPLD 3 is preferably used as the configuration controller. It contains 980 equivalent macrocells and 116 user I/O's in a 144-pin TQFP package. The flash 5 is preferably a Spansion S29GL256, with a 32MB capacity and an 8-bit or 16-bit configurable data bus width.
4.4.1 CPLD 3 Clocking
A 40MHz clock provides the CPLD 3 with its single global clock domain. The CPLD 3 uses the input clock to generate the configuration DCLK frequency, which in Passive Serial mode, is equal to the 40MHz input clock.
4.4.2 CPLD 3 Interfaces
FPGA 10, 16 Configuration Bus (Passive Serial)
Shown in Figure 5 is the Passive Serial configuration chain controlled by the MAX II CPLD 3. The Stratix II FPGA 10 is configured first and the Cyclone II FPGA 16 is configured second. Data is read by the CPLD 3 from flash 5 in bytes and converted to a passive serial bitstream clocked by DCLK into the FPGAs 10, 16. Note that the Stratix II FPGA 10 can power its configuration pin input buffers using a separate supply rail (VCCPD) rather than using their respective I/O bank supplies, allowing the configuration pins to operate at voltage levels that are different than the VCCIO of their banks. Therefore, even though the I/O banks in which the Stratix II FPGA 10 configuration signals are located operate at 1.8V, we can apply 3.3V to the VCCPD rail and maintain a 3.3V logic level throughout the configuration chain. This applies to the JTAG chain as well, discussed in Section 4.6. VCCPD affects only the input configuration pin; the configuration outputs are driven at the VCCIO levels associated with their respective banks. However, the number of affected outputs amounts to only two signals (nCEO and JTAG signal TDO), and we use small logic level shifting buffers to bring these two outputs up to 3.3V.
4.5 System Management Controller (MMC) 9 The AMCO specification defines a system management scheme to coordinate module management functions with the Carrier Board, and in turn, the chassis shelf manager. Module management controller (MMC) 9 on the AMC board 1 handles all management functions and communicates with the Carrier Board host manager using a messaging scheme called IMPI. Its basic functions include: module identification reporting to the host, module power requirements reporting to the host, link type negotiations with the Carrier Board, control faceplate 20 status LEDs, hot swap insertion management, and system health monitoring and reporting to the host, including temperature sensing and voltage monitoring. Off-the-shelf firmware for the MMC 9 can be acquired from CorEdge. A Renesas
H8/300H Tiny (part no. HD64F3694FY) is suitable for device 9. The H8/300H is a 16-bit microcontroller with a wide variety of on-chip peripherals, including flash, EEPROM, AJD converters, and a variety of serial ports. The H8/300H makes for a cost effective solution. A 44-pin TQFP package is used on the board 1. The MMC 9 is powered from a separate +3.3 V power rail from the AMC edge connector 12. Thus, there are two power domains defined on the board 1 : a "Management Power Domain" and a "Payload Power Domain", as defined in the AMCO Specification.
4.5.1 Booting Program code for the H8 MMC 9 is stored in internal flash and is downloaded to the device 9 over a serial interface. The program code is delivered from CorEdge in bitstream format. However, there is an external SEEPROM on the board that contains custom parameters for the AMC board 1, such as link descriptors and board 1 power requirements. MMC 9 sends these parameters to the host during module initialization.
4.5.2 MMC 9 External Interfaces
Shown in Figure 6 is the MMC 9 system interconnect block diagram, taken from the MMC 9 datasheet released by CorEdge.
The main MMC 9 interfaces are described below.
AMC Edge Connector 12 Specification
The AMCO Specification defines a set of system management signals present on the AMC edge connector 12. These signals are listed below in Table 15 and can also be found in the AMC connector pinout in Section 3.1.
Figure imgf000033_0001
Table 15: MMC Signals on AMC Edge Connector 12
Payload Domain Power Control
Once the MMC 9 has negotiated an AMC link with the host, it will proceed to activate the Payload domain power rails described in Section 6.0. MMC 9 also monitors the rails using its A/D converter and reports out-of-spec conditions.
Temperature Sensors
MMC 9 has access to three temperature sensors through a 2-wire serial interface. The AMCO Specification states that the "module shall provide a sensor monitoring the temperature of the component which is considered to be of most thermal concern". The sensors on AMC board 1 monitor the temperature of the Stratix II FPGA 10, the GL9714 interface 17, and the IXFl 8105 interface 11.
AMCLEDs
One or more LEDs may be mounted on the PCB such that they may be viewed through the front faceplate 20. These LEDs are used to convey hot-swap status and error conditions to the user, and are controlled by the MMC 9. The LEDs reside in the Management Power Domain. Control Signals to/from Stratix II FPGA 10
A communications link between MMC 9 and the Stratix II FPGA 10 is provided using a 3 -wire serial interface. A software protocol for this link can be defined.
4.5.3 Debug Utilities
A UART interface from MMC 9 to a breakout header 21 allows debug information to be output to a PC Serial Port.
4.6 JTAG Chain Implementation A JTAG chain used to load the devices with initial code is implemented on the AMC board 1 as shown in Fig. 7. All logic levels in the chain are 3.3V. Each device in the chain may be targeted individually as well by setting 0 Ohm jumper options or DIP switches. This allows for the case in which one of the devices in the chain is malfunctioning, causing a break in the chain. MMC 9 has a JTAG interface as well that is brought out to a separate connector and is not a part of the above FPGA chain. MMC 9 is powered in a different power domain than the rest of the board 1, and therefore requires its own JTAG interface.
5.0 SIGNAL INTEGRITY DISCUSSIONS Signal Integrity analysis was done on the high-speed interfaces using HyperLynx
LineSim 7.7 in order to investigate appropriate termination schemes and to verify the integrity of the various high-speed topologies. Of particular concern was the elimination of the QDRII 6 termination resistor packs on all data lines (the r-packs were removed in order to effectively route the board 1 in 16 layers). Another area of concern was the dual-DIMM topology for the DDR2 SDRAM 7, which had to be carefully modeled in order to determine the best ODT settings for the DIMMs 7.
6.0 POWER SUPPLIES
The AMC board's Payload Power circuit derives all of its required rails from a 8OW 12V source which is brought into the AMC board 1 via the AMC edge connector 12. As the board 1 outline is defined by the AMCO Specification, the amount of real estate occupied by the power supply must be minimized in order to support the placement of other components.
Digital circuits demand more power as the speed and number of active logic elements increase, so in order to optimize the performance of the AMC board 1, an efficient power supply is also required. A maximum of 80W is available, as defined by the AMCO Specification.
The AMC board 1 Payload Power domain is comprised of seven digital and analog voltage supplies: 1.2V Digital, 1.2V Analog, 1.8V Digital, 1.8V Analog, 2.5V Digital, 2.5V Analog, and 3.3 V Digital. The digital supplies power the core and IO voltages of the digital sections of the board 1 ICs, while the analog supplies provide power for the PLLs and other sensitive analog sections. The analog supplies have lower noise and tighter regulation in comparison to the digital supplies.
6.1 Power Budget
An overview of the power supply requirements is illustrated by Table 16. This summary assumes an overall device usage of 90% for the Stratix II FPGA 10, 50% for the Cyclone II FPGA 16, 80% for the DDR2 DIMM 7, and 80% for the QDRII SDRAM 6. It also assumes that the operating frequencies will be 320 MHz for the Stratix II FPGA 10, 75 MHz for the Cyclone II FPGA 16, 320 MHz for the DDR2 DIMM 7, and 300 MHz for the QDRII SDRAM 6.
Figure imgf000035_0001
Table 16: Power Supply Summary
6.2 Power Supply Specifications 6.2.1 Output Voltages and Currents
The power supply output voltages, voltage tolerance, currents, ripple, power, and efficiency are listed in Table 17 below. By meeting the minimum efficiency targets of Table 17, the overall efficiency of the AMC Power Supply is 86%.
Figure imgf000036_0001
Table 17: Power Supply Operating Specifications
6.2.2 Regulation
The power supply line and load regulations, and load transient response requirements, are outlined in Table 18 below.
Figure imgf000036_0002
Table 18: Regulation Specifications
6.3 Power Supply Topology
The power supply topology for the Payload Power Domain is illustrated in Figure 8. A modular approach is used in order to optimize for board space, efficiency, and ease of development.
Each of the digital supplies is derived directly from the main 12V supply 80 to maximize the overall efficiency and to minimize the required board 1 space. Cascading supplies can lead to a lower overall efficiency, as power losses accumulate across multiple stages. However, a cascaded supply can provide better parts costs, as simpler modules may be chosen.
LDO (Linear Drop Out) regulators 82 are used to generate the sensitive analog supply voltages, as these types of regulators provide superior noise performance over their SMPS (Switched Mode Power Supply) counterparts. LDO regulators do suffer from lower efficiencies, but these losses do not significantly affect the overall efficiency, as the 1.8V and 2.5V Analog supplies draw lower power.
The DDR2, QDRII, and DDR VJT are each designed to source or sink upwards of 2 A, and as these are not switching supplies, the 1.8V module 83 is required to source upwards of 2OA and provide upwards of 36W of power. Likewise, as the 3.3V and 2.5V modules 84, 85 supply the 2.5V, 1.8V, and 1.2V LDO, these modules must also supply the current required by these regulators, so the total current load on the 3.3V and 2.5 modules is 1.2A and 2.6A, respectively.
Assuming the minimum efficiencies as given in Table 19, the total load on the 12V supply is 82.5W. While this load exceeds the requirements of the AMCO Specification, it is important to note that the calculation uses the peak load of the VTT supplies, which will rarely occur in the actual operation. Should the Vrr supplies use as much as 50% of the available power, the net power load on the 12V supply will drop to 76 W.
6.3.1 In-Rush Current Limiting Circuit 81
The AMC 2.0 Specification calls for a maximum input capacitance on the 12V line of 800μF and also specifies that the host system must shut down the 12V supply to an AMC card once the load current reaches a trip level of 9.1A. An in-rush current limiting circuit 81 is included in the power supply design, to prevent the turn-on in rush current from triggering an overcurrent condition. This circuit limiter 81 simply consists of a P channel power
MOSFET whose turn-on time is controlled by a RC charging circuit once the 12V power is applied to the system. The advantage of this method is that it is simple, low cost, easily tuned, and independent of the turn-on slew rate.
6.3.2 1.2V Module 87
The 1.2V Digital supply 87 must provide upwards of 22A to the AMC board 1 and be able to generate this supply 8 from 12V input at a high efficiency. This supply 87 must also be able to maintain a 1.2V output voltage within ±4% over a load range of 5 A to 22A as the performance demands on the system vary. A PTH08T210W module from TI can be used to meet the requirements of this supply
87. This module 87 can provide upwards of 3OA and is 87% efficient at a load of 26A. The module size is 1.37x0.62 inches, and is available at a IK volume cost of $18.00. It regulates the output voltage within ±1.5% over its full temperature, input voltage, and load current range. By placing an appropriate pull-down resistor on the module's Inhibit/UVLO pin, the module 87 can be programmed to turn on only when the input supply voltage has reached 9.5V. Setting the turn-on voltage to this point helps to avoid in-rush current problems. With a high quality output capacitance of 4000μF, the transient response of this TI module 87 is specified for 4OmV voltage over-and-undershoot for a load step of 50% (15A) at a 2.5A/μs slew rate with a 50μs recovery time.
6.3.3 1.8V Module 83
The 1.8V Digital supply 83 must provide upwards of 2OA to the AMC board 1 and be able to generate this supply from 12V input at a high efficiency. 14A is required to supply the general electronics, while an additional 6 A is required to power the SSTL2 and SSTLl 8 VTT supplies 86. This supply 83 must also be able to maintain a 1.8V output voltage within ±5% over a load range of 3 A to 2OA as the performance demands on the system vary.
To provide the 1.8V Digital supply 83, a PTH08T210W module from TI can be used to meet the system requirements. This module 83 can source up to 30A and is 89% efficient at loads from 1OA to 25 A. The module 83 size is 1.37x0.62 inches, and is available at a IK volume cost of $18.00. It regulates the output voltage within ±1.5% over its full temperature, input voltage, and load current range. By placing an appropriate pull-down resistor on the module's Inhibit/UVLO pin, the module 83 can be programmed to turn on only when the input supply voltage has reached 9.5V. Setting the turn-on voltage to this point helps to avoid in-rush current problems. With a high quality output capacitance of 1360μF, the transient response of the TI module 83 is specified for 35mV voltage over-and- undershoot for a load step of 25% (7.5A) at a 2.5A/μs slew rate with a 50μs recovery time.
6.3.4 2.5V Module 85
The 2.5V Digital supply 85 must provide upwards of 2.5 A to the AMC board 1 and be able to generate this supply from 12V input at a high efficiency. This module also supplies the 1.8V Analog and 1.2V Analog LDO regulators 82. This supply 85 must also be able to maintain a 2.5V output voltage within ±5% over a load range of 0.5 A to 2.5 A as the performance demands on the system vary.
To provide the 2.5V Digital supply 85, a PTH08T260W module from TI can be used to meet the system requirements. This module 85 can source up to 3A and is 86% efficient at a load of 2A. The module size is 0.745x0.62 inches, and is available at a IK volume cost of $6.25. It regulates the output voltage within ±1.5% over its full temperature, input voltage, and load current range. By placing an appropriate pull-down resistor on the module's Inhibit/UVLO pin, the module 85 can be programmed to turn on only when the input supply voltage has reached 9.5V. Setting the turn-on voltage to this point helps to avoid in-rush current problems. With a high quality output capacitance of 680μF, the transient response of the TI module 85 is specified for 13mV voltage over-and-undershoot for a load step of 25% (1.5A) at a 2.5A/μs slew rate with a 70μs recovery time.
6.3.5 3.3V Module 84
The 3.3V Digital supply 84 must provide upwards of 1.2A to the AMC board 1 and be able to generate this supply from 12V input at a high efficiency. This module 84 will also supply power to the 2.5V Analog LDO regulator 82 and digital power to the SSTLl 8/SSTL2 VTT regulators 86. This supply 84 must also be able to maintain a 3.3V output voltage within ±5% over a load range of 0. IA to 1.2A as the performance demands on the system vary. To provide the 3.3V Digital supply 84, a PTH08T260W module from TI can be used to meet the system requirements. This module 84 can source up to IA and is 84% efficient at a load of 2A. The module size is 0.745x0.62 inches, and is available at a IK volume cost of $6.25. It regulates the output voltage within ±1.5% over its full temperature, input voltage, and load current range. By placing an appropriate pull-down resistor on the module's Inhibit/UVLO pin, the module 84 can be programmed to turn on only when the input supply voltage has reached 9.5V. Setting the turn-on voltage to this point helps to avoid in-rush current problems. With a high quality output capacitance of 330μF, the transient response of the TI module 84 is specified for 18mV voltage over-and-undershoot for a load step of 25% (1.5A) at a 2.5A/μs slew rate with a 70μs recovery time.
6.3.6 DDR, DDR2, QDRII Vrr Termination Regulators 86
A specific regulator 86 for the DDR2, QDRII, and DDR VTT termination voltage is required, as the supply must be able to accurately track the midpoint of the SDRAM 7 VDDQ supply while also providing a fast transient response to support the high-speed switching of the DDR2, QDRII, and DDR busses. Since DDR 7 and QDRII 6 both use a
S STL 18 signaling, it is possible to share a VTT supply between these two memory segments. However, as they are placed in different parts of the board 1, two individual supplies are used to ensure that the transient response to any supply is not compromised by the power supply placement. DDR 7 uses a SSTL2 signaling, and so a dedicated regulator 86 is required for this VTT supply.
To power the individual VJT supplies, a MIC5162 drop out controller 86 is used. This part is JEDEC complaint for SSTL, HSTL, and DDR memory applications, and features sourcing and sinking capabilities. It also operates from a Vcc supply 84 of 3.3V, eliminating the need for a separate 5 V boost as will be necessary for many other comparable parts.
The MIC5162 86 is only a controller, and so external MOSFETs must also be selected to match the controller 86 capabilities and the power requirements of the Vrr supplies. With a 3.3V supply voltage, the low threshold MOSFETs must be chosen to ensure that the controller 86 has sufficient headroom to turn on the high-side FETs. To meet this requirement, the N channel SI5920 1.5VGS is used.
6.3.7 Analog Voltage Supplies 82
Three analog voltage supplies 82, a 1.2V analog, 1.8V analog, and a 2.5V analog, are required by the components on the board 1. Each analog supply 82 is derived by an LDO regulator to provide a precise and low noise voltage supply. In order to optimize the efficiency of these LDO regulators 82, the input supplies are selected to be as close to the output voltage as possible.
A 1.2V analog supply 82 is derived by a TI SN 105125 150 mA LDO regulator. In total, the 1.2V analog supply 82 draws 10OmA, but as two different parts require a precise and clean 1.2 V supply, two separate 1.2 V analog supplies are used. Both derive their voltage supply from the 2.5V supply 85 as opposed to the 1.8V supply, as the 2.5V supply 85 has less digital noise. This SN 105125 82 has a dropout voltage of IV, so there is sufficient headroom for this part to operate.
The 1.8V analog supply 82 is derived by a Linear LTl 963 1.5 A LDO regulator, with the 2.5V digital supply acting as the power source for the 1.8V analog supply 82. This regulator 82 has a dropout voltage of 34OmV, so there is sufficient headroom for this part to function off the 2.5V supply 85.
The 2.5V analog supply 82 is derived by a TI TPS79625 IA LDO regulator, with the 3.3V digital supply 84 acting as the power source for the 2.5V analog supply 82. The TP79625 82 has a dropout voltage of 365mV, so there is sufficient headroom for this part to function off a 3.3V supply.
6.4 Power Supply Sequencing
The Altera Cyclone II FPGA 16 and Stratix II FPGA 10 devices 10, 16 support any power supply sequencing, and require only that the supplies ramp monotonically within 100 μs to 100 ms. As well, both the Intel IXFl 8105 lOGigE Phy 11 and the Genesys Logic GL9714 PCIe Phy 17 do not require any specific power supply sequencing.
The QDRII and DDR2 devices 6, 7 require that the VDD supply sequence before or at the same time as the VDDQ supply, while the VDDQ must sequence before or at the same time as Vref. VDD and VDDQ are both supplied by the 1.8V Digital supply 83, while the Vref voltage is derived from the 1.8V supply 83 and generated by the DDR2 VTT termination regulator 86.
7.0 LAYOUT
Figure imgf000041_0001
Table 19: PCB Information
8.0 MECHANICAL CONSIDERATIONS The AMC board 1 is designed according to the mechanical requirements listed in the
AMCO Specification. The board is Double-width, Full-height, Single-Layer, with a type B+ Extended Edge Connector. The B+ connector is dual-sided, with a total of 170 pins.
The maximum component height on the primary side is 22.45mm, and the total height span across both sides of the PCB is 26.62mm. The PCB has a thickness of 1.6mm +/- 10%. Heat sinks may be required for the Stratix II FPGA 10, Cyclone II FPGA 16,
GL9714 interface 17, and IXFl 8105 interface 11, along with a forced-air cooling airflow of 1.Om/sec. A thermal and cooling management strategy can be developed with the chassis manufacturer to ensure safe operation of the AMC board 1 over the operating ambient temperature range. 9.0 CONCLUSION
The above description is included to illustrate the operation of the preferred embodiments and is not meant to limit the scope of the invention. The scope of the invention is to be limited only by the following claims. From the above discussion, many variations will be apparent to one skilled in the art that would yet be encompassed by the spirit and scope of the present invention.
What is claimed is:

Claims

1. Telecommunications computing apparatus comprising: a reconfigurable logic device; coupled to the reconfigurable logic device, means for coupling the reconfigurable logic device to an external digital network; and coupled to the reconfigurable logic device, an interface for coupling the reconfigurable logic device to at least one peripheral device that is not part of said external digital network.
2. The apparatus of claim 1 wherein the reconfigurable logic device comprises an FPGA.
3. The apparatus of claim 1 wherein the interface comprises at least one PCI Express connector.
4. The apparatus of claim 1 wherein the interface comprises at least one FPGA.
5. The apparatus of claim 1 wherein the interface comprises at least one DMA (Direct Memory Access) component and at least one PCI target interface component.
6. The apparatus of claim 1 wherein the coupling means comprises: a physical coupling device connected to the reconfigurable logic device; an edge connector connected to the physical coupling device; a backplane connected to the edge connector; and at least one line card connected to the backplane.
7. The apparatus of claim 1 further comprising a backplane, wherein each said peripheral device is connected to the backplane.
8. The apparatus of claim 1 wherein said apparatus consists solely of application- specific and reconfigurable hardware elements.
9. The apparatus of claim 1 wherein said reconfigurable logic device performs the following functions: reassembly of TCP data by solely hardware means, wherein the TCP data emanates from the external digital network; search for known patterns within the reassembled TCP data; and policy management decisions made with respect to patterns found within the reassembled TCP data.
10. The apparatus of claim 1 when the external digital network is a network from the group of networks consisting of at least one of the Internet, a wireless network, a wired network, a local area network (LAN), a wide area network (WAN), and the public switched telephone network (PSTN).
11. The apparatus of claim 1 wherein the reconfigurable logic device performs deep packet inspection on data packets emanating from the external digital network.
12. The apparatus of claim 1 wherein the reconfigurable logic device performs at least one function from the following group of functions: flow control of network traffic on the external digital network; traffic analysis and management of network traffic on the external digital network; bandwidth shaping; advanced routing applications.
13. The apparatus of claim 1 wherein said apparatus is part of a system for controlling transmission of data packets through the external digital network, each data packet comprising a payload portion, the external digital network comprising a plurality of network- capable devices communicatively coupled to a network access point (NAP), said system comprising: the apparatus of claim 1 , wherein said apparatus contains content match information and is operable to: inspect payload portions of data packets transiting the NAP; forward an inspected data packet when information within the payload portion of an inspected data packet is not substantially similar to content match information; and when information within the payload portion of an inspected data packet is substantially similar to content match information, temporarily store the inspected data packet, and send a message to a network-capable device.
14. A method for inspecting payload portions of data packets transiting a network access point (NAP), wherein: the NAP is part of the external digital network of claim 1; and the reconfigurable logic device of claim 1 : further comprises a backplane, each peripheral device being connected to the backplane; forwards reassembled payload portions of data packets, as well as metadata used to identify TCP connections corresponding to the packets, to relevant peripheral devices; allows an inspected data packet to traverse the network when information within a payload portion of an inspected data packet is not substantially similar to prestored content match information; and when information within a payload portion of an inspected data packet is substantially similar to prestored content match information, performs at least one of the following four steps: reports the match to at least one peripheral device; prevents the packet from further traversing the network; allows subsequent packets from the corresponding TCP connection to pass through the reconfigurable logic device undisputed; attempts to forcibly terminate the corresponding TCP connection.
15. The apparatus of claim 1 further comprising at least one bank of SDRAM (Synchronous Dynamic Random Access Memory) memory coupled to the reconfigurable logic device.
16. The apparatus of claim 1 further comprising at least one bank of SRAM (Static Random Access Memory) coupled to the reconfigurable logic device.
17. The apparatus of claim 1 wherein the apparatus complies with the AdvancedMC Standard.
18. The apparatus of claim 1 further comprising an intelligent microcontroller coupled to said reconfigurable logic device, said microcontroller adapted to manage power consumption of elements of the apparatus, and to perform other control functions pursuant to the AdvancedMC Standard.
19. The apparatus of claim 1 wherein the reconfigurable logic device is reprogrammed by a technique from the group of techniques consisting of: loading the reconfigurable logic device via a flash memory coupled to the reconfigurable logic device, reprogramming via installed JTAG headers coupled to the reconfigurable logic device, and reprogramming via JTAG headers provided on a backplane to which the reconfigurable logic device is coupled.
20. Apparatus comprising: telecommunications computing architecture elements compliant with the AdvancedMC Standard; coupled to said elements, means for communicating with an external digital network; and coupled to said elements, means for interfacing with at least one peripheral device that is not part of said external digital network.
21. The apparatus of claim 20 wherein said interfacing means comprises at lest one PCI Express connector.
22. Telecommunications computing apparatus compliant with the AdvancedMC Standard, said apparatus comprising: a reconfigurable logic device; and coupled to the reconfigurable logic device, an interface for coupling the reconfigurable logic device to an external digital network; wherein the reconfigurable logic device performs deep packet inspection of data packets entering the reconfigurable logic device from the external digital network.
23. The apparatus of claim 22 wherein the reconfigurable logic device comprises an FPGA.
24. The apparatus of claim 22 wherein the deep packet inspection comprises content matching between content portions of data packets entering the reconfigurable logic device from the external digital network and prestored content templates accessible to the reconfigurable logic device.
PCT/US2008/007698 2007-06-29 2008-06-20 Advanced mezzanine card for digital network data inspection WO2009005609A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US93786407P 2007-06-29 2007-06-29
US60/937,864 2007-06-29
US12/004,791 2007-12-21
US12/004,791 US20090161568A1 (en) 2007-12-21 2007-12-21 TCP data reassembly

Publications (1)

Publication Number Publication Date
WO2009005609A1 true WO2009005609A1 (en) 2009-01-08

Family

ID=40226388

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2008/007698 WO2009005609A1 (en) 2007-06-29 2008-06-20 Advanced mezzanine card for digital network data inspection

Country Status (1)

Country Link
WO (1) WO2009005609A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060023384A1 (en) * 2004-07-28 2006-02-02 Udayan Mukherjee Systems, apparatus and methods capable of shelf management
US20060136570A1 (en) * 2003-06-10 2006-06-22 Pandya Ashish A Runtime adaptable search processor
US20060233101A1 (en) * 2005-04-13 2006-10-19 Luft Siegfried J Network element architecture for deep packet inspection

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060136570A1 (en) * 2003-06-10 2006-06-22 Pandya Ashish A Runtime adaptable search processor
US20060023384A1 (en) * 2004-07-28 2006-02-02 Udayan Mukherjee Systems, apparatus and methods capable of shelf management
US20060233101A1 (en) * 2005-04-13 2006-10-19 Luft Siegfried J Network element architecture for deep packet inspection

Similar Documents

Publication Publication Date Title
US20090006659A1 (en) Advanced mezzanine card for digital network data inspection
US11386033B2 (en) Extending multichip package link off package
US9069929B2 (en) Arbitrating usage of serial port in node card of scalable and modular servers
US7710144B2 (en) Controlling for variable impedance and voltage in a memory system
US8041874B2 (en) USB and ethernet controller combination device
KR101453581B1 (en) Processor chip architecture having integrated high-speed packet switched serial interface
CN102347904B (en) Router equipment, main card thereof and method for adapting main card to interface card
AU2005242751A1 (en) Systems and methods for interconnection of multiple FPGA devices
Coteus et al. Packaging the blue gene/L supercomputer
Fröning et al. The HTX-board: a rapid prototyping station
WO2009005609A1 (en) Advanced mezzanine card for digital network data inspection
WO2017171997A1 (en) A method, apparatus and system for communicating between multiple protocols
Scott Rhino: Reconfigurable hardware interface for computation and radio
US20100306437A1 (en) Method and apparatus to selectively extend an embedded microprocessor bus through a different external bus
US7234015B1 (en) PCIXCAP pin input sharing configuration for additional use as PCI hot plug interface pin input
Eble et al. Power-efficient I/O design considerations for high-bandwidth applications
Mas et al. Network-on-chip: The intelligence is in the wire
Droz Physical design and implementation of BEE2: A high end reconfigurable computer
Lerner TMS320C6474 Hardware Design Guide
Μπεστιντζάνος A demonstrator system using a Xilinx ZYNQ FPGA and 6.6 Gbps optical links
Lerner TMS320TCI6487/88 Hardware Design Guide
Malek et al. Gics: Generic interconnection system
Ouda et al. Application note: FPGA to IBM power processor interface setup
George The design and implementation of a carrier card for the Karoo Array Telescope
Ille Implementation of a PCIe Encryption Module for Ip-over-Satellite Modem with support of Open-Encryption Interface

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08779684

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 08779684

Country of ref document: EP

Kind code of ref document: A1