Field Programmable Port Extender (FPX) 1 Modular Design Techniques for the FPX.

Slides:



Advertisements
Similar presentations
Dr. Rabie A. Ramadan Al-Azhar University Lecture 3
Advertisements

NetFPGA Project: 4-Port Layer 2/3 Switch Ankur Singla Gene Juknevicius
Chapter 10 Input / Output Organization CS 147 Yueyang Zhou.
Spartan II Features  Plentiful logic and memory resources –15K to 200K system gates (up to 5,292 logic cells) –Up to 57 Kb block RAM storage  Flexible.
Graduate Computer Architecture I Lecture 15: Intro to Reconfigurable Devices.
Input-output and Communication Prof. Sin-Min Lee Department of Computer Science.
Mahapatra-Texas A&M-Fall'001 cosynthesis Introduction to cosynthesis Rabi Mahapatra CPSC498.
University College Cork IRELAND Hardware Concepts An understanding of computer hardware is a vital prerequisite for the study of operating systems.
TECH CH03 System Buses Computer Components Computer Function
TAP (Test Access Port) JTAG course June 2006 Avraham Pinto.
Configuration. Mirjana Stojanovic Process of loading bitstream of a design into the configuration memory. Bitstream is the transmission.
9/20/6Lecture 3 - Instruction Set - Al Hardware interface (part 2)
Basic Computer Organization CH-4 Richard Gomez 6/14/01 Computer Science Quote: John Von Neumann If people do not believe that mathematics is simple, it.
Benefits of Partial Reconfiguration Reducing the size of the FPGA device required to implement a given function, with consequent reductions in cost and.
CS/CoE 536 : Lockwood 1 CS/CoE 536 Reconfigurable System On Chip Design Lecture 9 : MP3 Working Draft Washington University Fall 2002
A comprehensive method for the evaluation of the sensitivity to SEUs of FPGA-based applications A comprehensive method for the evaluation of the sensitivity.
MICROPROCESSOR INPUT/OUTPUT
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
The Layered Protocol Wrappers 1 Florian Braun, Henry Fu The Layered Protocol Wrappers: A Solution to Streamline Networking Functions to Process ATM Cells,
Applied research laboratory David E. Taylor Users Guide: Fast IP Lookup (FIPL) in the FPX Gigabit Kits Workshop 1/2002.
Top Level View of Computer Function and Interconnection.
FPGA (Field Programmable Gate Array): CLBs, Slices, and LUTs Each configurable logic block (CLB) in Spartan-6 FPGAs consists of two slices, arranged side-by-side.
Gigabit Kits Workshop August Washington WASHINGTON UNIVERSITY IN ST LOUIS IP Processing Wrapper Tutorial Gigabitkits Workshop August 2001
Direct Memory Access (DMA) Microprocessors I -1. Topics to be discussed  Basic DMA Concept Basic DMA Concept  DMA pins and timing DMA pins and timing.
EEE440 Computer Architecture
FPX Network Platform 1 John Lockwood, Assistant Professor Washington University Department of Computer Science Applied Research.
4/19/20021 TCPSplitter: A Reconfigurable Hardware Based TCP Flow Monitor David V. Schuehler.
Hot Interconnects TCP-Splitter: A Reconfigurable Hardware Based TCP/IP Flow Monitor David V. Schuehler
Lecture 12: Reconfigurable Systems II October 20, 2004 ECE 697F Reconfigurable Computing Lecture 12 Reconfigurable Systems II: Exploring Programmable Systems.
80386DX functional Block Diagram PIN Description Register set Flags Physical address space Data types.
12/16/  List the elements of 8255A Programmable Peripheral Interface (PPI)  Explain its various operating modes  Develop a simple program to.
Field Programmable Port Extender (FPX) 1 NCHARGE: Remote Management of the Field Programmable Port Extender (FPX) Todd Sproull Washington University, Applied.
Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH.
Field Programmable Port Extender (FPX) 1 Example RAD Design: IP Router using Fast IP Lookup.
Lecture 4 General-Purpose Input/Output NCHUEE 720A Lab Prof. Jichiang Tsai.
Field Programmable Port Extender (FPX) 1 Software Tools for the Field Programmable Port Extender (FPX) Todd Sproull Washington University, Applied Research.
PARBIT Tool 1 PARBIT Partial Bitfile Configuration Tool Edson L. Horta Washington University, Applied Research Lab August 15, 2001.
CS/CoE 536 : Lockwood 1 CS/CoE 536 Reconfigurable System On Chip Design Lecture 11 : Priority and Per-Flow Queuing in Machine Problem 3 (Revision 2) Washington.
Chapter 3 System Buses.  Hardwired systems are inflexible  General purpose hardware can do different tasks, given correct control signals  Instead.
Field Programmable Port Extender (FPX) 1 Modular Design Techniques for the Field Programmable Port Extender John Lockwood and David Taylor Washington University.
CS/CoE 536 : Lockwood 1 CS/CoE 536 Reconfigurable System On Chip Design Lecture 10 : MP3 Working Draft Washington University Fall 2002
Field Programmable Port Extender (FPX) 1 Remote Management of the Field Programmable Port Extender (FPX) Todd Sproull Washington University, Applied Research.
3/19/  Differentiate the class of memory  List the type of main memory  Explain memory architecture and operation  Draw memory map  Design.
The FPX KCPSM Module 1 Henry Fu The FPX KCPSM Module: An Embedded, Reconfigurable Active Processing Module for the FPX Henry Fu Washington University.
Review ATA - IDE Project name : ATA – IDE Training Engineer : Minh Nguyen.
Modular Design Techniques for the FPX
Department of Computer Science and Engineering
Chapter 6 Input/Output Organization
16.317: Microprocessor System Design I
Topics SRAM-based FPGA fabrics: Xilinx. Altera..
System Interconnect Fabric
Introduction to cosynthesis Rabi Mahapatra CSCE617
We will be studying the architecture of XC3000.
The Xilinx Virtex Series FPGA
Field-programmable Port Extender (FPX) January 2001 Workshop
Washington University, Applied Research Lab
Remote Management of the Field Programmable Port Extender (FPX)
Layered Protocol Wrappers Design and Interface review
The Xilinx Virtex Series FPGA
William Stallings Computer Organization and Architecture 7th Edition
Advanced Computer Architecture Lecture 3
Presentation transcript:

Field Programmable Port Extender (FPX) 1 Modular Design Techniques for the FPX

Field Programmable Port Extender (FPX) 2 Overview Motivation RAD Logic Resources RAD Infrastructure Modules –Reconfiguration Control –SRAM Interface –Control Cell Processor RAD Module Interface Top Level RAD Design –Pins and layout overview –Module instantiation

Field Programmable Port Extender (FPX) 3 Motivation for Modular Design Definitions –Modules: entities that perform network data processing FPX Applications: packet classification, compression, etc. –Infrastructure: all other entities necessary for system functionality Memory interfaces, control cell processor, reconfiguration control, etc. Assume most applications do not need all available logic and memory resources Higher performance and flexibility are achievable via multiple modules Standard module interface –Ensures module interoperability –Reduces design redundancy –Shortens module design cycle

Field Programmable Port Extender (FPX) 4 Dynamic Hardware Plugins (DHP) Programmable router with software and reconfigurable hardware packet processing Hardware plugins –Static interfaces for I/O and off- chip memory –User defined on-chip memory Infrastructure –IOC Slotted ring interface –Application Controller Reconfiguration control –Memory Interfaces SRAM/SDRAM interfaces Applications –Position independent –Dynamically loadable Prototype with WUGS/SPC/FPX –Partially reconfigure RAD FPGA for new applications

Field Programmable Port Extender (FPX) 5 RAD FPGA Logic Resources Virtex 1000E –7 FPGA 4 Global Clock Trees –(2) 100MHz clocks from FPX board Globally accessible IOBs –Versa-Ring routing –3 flops for tri-state bussing 64 x 96 CLB array –2 flops/LUTs per Slice –2 Slices per CLB –Total = 24,576 flops/LUTs 96 Block SelectRAMs –4096 bits per block –6 columns of 16 blocks –6 columns of dedicated interconnect –Total = 393,216 bits

Field Programmable Port Extender (FPX) 6 Reconfiguration Control Module Partial reconfiguration controller for RAD FPGA Executes reconfiguration handshake with NID FPGA and RAD modules Module interface –Localized synchronous reset –Enable –Ready

Field Programmable Port Extender (FPX) 7 SRAM Interface Module Interface to off-chip ZBT SRAM Abstracts modules from device specific timing Independent interface for each module Arbitrates requests and issues grant to winning module Modules retain access by holding request high after receiving grant –Modules responsible for preventing starvation

Field Programmable Port Extender (FPX) 8 Control Cell Processor Captures control cells for off- chip memory transactions –SRAM read/write –SDRAM read/write Not yet implemented Checks for correct HEC VPI = 0x000 VCI = 0x0023 (35) –Modifiable register ModuleID = 0x00 OpCodes –Even OpCodes for command cells –Response OpCode = 1+OpCode –OpCodes 0x00 to 0x0F reserved for common operations Updates CRC for response cells

Field Programmable Port Extender (FPX) 9 RAD Module Interface Cell I/O and Flow Control –32-bit wide UTOPIA-style interface w/ unique timing Off-chip Memory Access –Arbitrated access to SRAM and SDRAM via standard interface Control (clock, reset, and reconfiguration control)

Field Programmable Port Extender (FPX) 10 Control Interface 100MHz global clock (CLK) –All I/O signals should be synchronous to CLK Synchronous reset (RESET_L) –Asserted low for 1 clock cycle Reconfiguration handshake (ENABLE_L, READY_L) –Enable asserted low at reset –Module must pull READY_L high after reset, prior to accepting cells in order to prevent reconfiguration during operation –Enable asserted high prior to reconfiguration –Module stops accepting cells, flushes internal pipelines, and asserts READY_L for at least one clock cycle

Field Programmable Port Extender (FPX) 11 Cell Input Interface Start of Cell (SOC_MOD_IN) –Signals the first word of the ATM cell 32-bit wide data path (D_MOD_IN) –ATM cells transferred as (14) 32-bit words –First word arrives with SOC_MOD_IN –Remaining 13 words arrive on subsequent clock cycles Transmit Cell Available (TCA_MOD_IN) –Signals module’s ability to accept a cell –Must be valid 6 clock cycles prior to the last cycle of the current cell transfer

Field Programmable Port Extender (FPX) 12 Cell Output Interface Start of Cell (SOC_OUT_MOD) –Signals the first word of the ATM cell 32-bit wide data path (D_OUT_MOD) –ATM cells transferred as (14) 32-bit words –First word sent with SOC_MOD_IN –Remaining 13 words sent on subsequent clock cycles Transmit Cell Available (TCA_OUT_MOD) –Signals output’s ability to accept a cell –Modules must sample TCA_OUT_MOD no sooner than 3 clock cycles prior to asserting SOC_OUT_MOD

Field Programmable Port Extender (FPX) 13 SRAM Interface Arbitration Handshake –SRAM_REQ requests and holds memory access –SRAM_GR grants access and initiates access termination –Module may retain memory access for duration of transaction set If grant is de-asserted, module must complete current transaction and release memory Module is responsible for preventing starvation Reads –Hold SRAM_RW high, issue address –Data appears inside module 6 clock cycles later Writes –Assert SRAM_RW low, issue address and data –Data will be written 5 clock cycles later IMPORTANT: HOLD SRAM_RW HIGH TO PREVENT OVERWRITING VALID MEMORY DATA

Field Programmable Port Extender (FPX) 14 SRAM Interface Timing All I/O signals must be flopped at module boundary to ensure timing constraints are met Timing diagrams take reference point from inside module and assume boundary flops

Field Programmable Port Extender (FPX) 15 RAD FPGA (Chip View) RAD Pin Mappings Ingress Path (LC) –Input SOC_LC_NID D_LC_NID TCAFF_LC_RAD –Output SOC_LC_RAD D_LC_RAD TCAFF_LC_NID Egress Path (SW) –Input SOC_SW_NID D_SW_NID TCAFF_SW_RAD –Output SOC_SW_RAD D_SW_RAD TCAFF_SW_NID SRAM Interfaces SDRAM Interfaces SDRAM2 InputOutput Egress Path (SW) InputOutput Ingress Path (LC) SDRAM1 SRAM2 SRAM1

Field Programmable Port Extender (FPX) 16 Design Issues & Recommendations Keep routing delays in mind during initial design phase, use conservative estimates Conform to the Module Interface Specification Use provided infrastructure Flop all module I/O signals –Position independent modules Use synchronous reset Perform cell I/O simulations Experiment with synthesis and PAR options –Over-constrain timing delays –Significant deviations in timing results occur with various options, including hierarchy ungrouping and routing algorithms Share experience and wisdom with other developers