Presentation is loading. Please wait.

Presentation is loading. Please wait.

Field Programmable Port Extender (FPX) 1 Remote Management of the Field Programmable Port Extender (FPX) Todd Sproull Washington University, Applied Research.

Similar presentations


Presentation on theme: "Field Programmable Port Extender (FPX) 1 Remote Management of the Field Programmable Port Extender (FPX) Todd Sproull Washington University, Applied Research."— Presentation transcript:

1 Field Programmable Port Extender (FPX) 1 Remote Management of the Field Programmable Port Extender (FPX) Todd Sproull Washington University, Applied Research Lab January 10, 2001 Supported by: NSF ANI-0096052 and Xilinx Inc. http://www.arl.wustl.edu/arl/projects/fpx

2 Field Programmable Port Extender (FPX) 2 Controlling the FPX Methods of Communication - Fpx_control - Telnet - Web Interface / CGI - Basic_send - User Applications Software Plug-ins - Concepts - Functionality Emulation –Nid_listener –Rad_listener Basic Send CGI Fip Memory Manager Access WEBBasic Telnet Send NID RAD 0.0 Gigabit Switch OC-3 Link fpx_control 7.1 Software Controller Fip Remote Applications VCI 76 (NID), VCI 100 (RAD) VCI 115 (NID), VCI 123 (RAD) (up to 32 VCIs) Read Washington University RAD fpx_control

3 Field Programmable Port Extender (FPX) 3 Fpx_control {0-7}.{0/1} Pictorial view of fpx_control interfaced with hardware

4 Field Programmable Port Extender (FPX) 4 Fpx_control Issues control cells to FPX Provides reliable connections over ATM Allows for multiple users to connect remotely Fpx_control {0-7}.{0/1} Control cells Sent to and from FPX (RAD & NID) Multiple TCP Sockets for Remote Applications

5 Field Programmable Port Extender (FPX) 5 Setting up software Launch Exceed –Start -> Internet -> Exceed X (Local Window) Login jeeves –User: workshop## ex: workshop71 (port 7 stack 1) –Password: workshop## Launch another Xterm –xterm & Invoking fpx_control –fpx_control fpx_number ex: fpx_control 7.1

6 Field Programmable Port Extender (FPX) 6 Fpx_control {0-7}.{0/1} Control cells Sent to and from FPX (RAD & NID) Multiple TCP Sockets for Remote Applications

7 Field Programmable Port Extender (FPX) 7 Controlling Flows on the NID Consists of 4 ports used for cell traffic 0 - SW (Switch) 1 - LC (Line Card) 2 - RAD_SW 3 - RAD_LC Cells routed based on VCI Lookup Table Cell routes are modified by issuing Write VCI Table Control cells VCI Table Control cells consist of number indicating the destination of a cell VCI Lookup Table is generated based on VCI Updates, default routes, and the table data definitions VC EC VC ccp EC VC RAD Switch RAD LineCard Switch Default Flow Action (Bypass) VC EC VC ccp EC VC RAD Switch RAD LineCard Switch VCI = 0x34 (Control Cell)

8 Field Programmable Port Extender (FPX) 8 VCI Updates and Status VCI Update Commands –Write VCI entries Format: T VPI VCI SW LC RAD_SW RAD_LC Example: T 0 7E 3 2 1 0 –Read VCI entries Format: A VPI VCI Example: A 0 7E Response: A VPI=0 VCI=7E SW=3 LC=2 RAD_SW=1 RAD_LC=0 RAD_L C 2-bit LUT RAD_SW 2-bit LUT LC 2-bit LUT SW 2- bit LUT RAD_LC 3333 RAD_SW 2222 LC 1111 SW 0000 Table data definitions

9 Field Programmable Port Extender (FPX) 9 VCI Updates and Status Status Control registers –Lets users check status of FPX –Useful for debugging hardware if problems arise –Displays the following information RAD Configuration Status (RAD_Done) –Single bit that indicates completion of configuration and beginning of startup sequence RAD Initialization Status (RAD_Init) –Single bit that indicates when the RAD is ready to accept data Type Link –Line card identifier ( OC3, Dual G-link…) VCI Compare Register –Display current VCI to send control updates on RAD Programming Byte Count – Indicates number of bytes RAD has loaded in memory

10 Field Programmable Port Extender (FPX) 10 VCI Status Control Example –Example: S –Response:VPI 0x0 VCI 0x22 Opcode 0x42 VCI Compare Register 0x22 RAD_DONE 0x1 RAD_INIT 0x1 Type LINK 0x3 RAD Programming Byte Count 0x000 Checking VCI Status

11 Field Programmable Port Extender (FPX) 11 Configuration Memory Updates Memory updates provide: - A reliable protocol to transfer VHDL designs - Ability to program RAD with multiple modules - A one step transfer and program option - Debugging information by displaying the contents of a specified location in memory

12 Field Programmable Port Extender (FPX) 12 Configuration Memory Example –Format: L filename offset –Example: L test_file 100 Transfer vhdl design from PC to NID Program RAD with NID vhdl design –Format: F offset byte_count –Example: F 100 50 NID RAD FPX_CONTROL Load Configuration Full RAD Configuration

13 Field Programmable Port Extender (FPX) 13 RAD Memory Updates Supports 32/36/64 bit memory reads and writes - Multiple memory updates may be issued in one control cell - Memory updates are issued by module id

14 Field Programmable Port Extender (FPX) 14 RAD Memory Updates Example Reading and writing 32/36/64 bit words –Format: w32 mod_id address num_updates data –Example: w32 0 20 2 12345678 abcdef01 –Format: r32 mod_id address num_reads –Example: r32 0 20 2 –Response: Data from address 20 is 1234568 Data from address 21 is abcdef01 Writing strings –Format: ws mod_id address ‘text’ –Example: ws 0 0 ‘Bob Smith’

15 Field Programmable Port Extender (FPX) 15 32/36 Bit Control Cell Format

16 Field Programmable Port Extender (FPX) 16 64 Bit Memory Cell -F bit is removed -Address field is 25 bits -Format allows up to 4 consecutive SDRAM updates Differences from 32/36 cell:

17 Field Programmable Port Extender (FPX) 17 Other Features of Fpx_control Fpx_control also provides: -Ability to log all transactions to and from NID and RAD -Support to add customized software interfaces to hardware plug-in modules -Probe function to display modules present on FPX -An on-screen help menu in case you are lost

18 Field Programmable Port Extender (FPX) 18 Communicating with the FPX Methods of communication -Console Mode -Telnet -Web Access -Basic_send -User Applications (FIPL)

19 Field Programmable Port Extender (FPX) 19 Telnet Access Allows end hosts control of FPX - Supports multiple connections - Provides full functionality of console mode

20 Field Programmable Port Extender (FPX) 20 FPX_Control ID Assignments You are controlling FPX: 0.0 Telnet Port: 1200 You are controlling FPX: 0.1 Telnet Port: 1208 You are controlling FPX: 1.0 Telnet Port: 1201 You are controlling FPX: 1.1 Telnet Port: 1209 You are controlling FPX: 2.0 Telnet Port: 1202 You are controlling FPX: 2.1 Telnet Port: 1210 You are controlling FPX: 3.0 Telnet Port: 1203 You are controlling FPX: 3.1 Telnet Port: 1211 You are controlling FPX: 4.0 Telnet Port: 1204 You are controlling FPX: 4.1 Telnet Port: 1212 You are controlling FPX: 5.0 Telnet Port: 1205 You are controlling FPX: 5.1 Telnet Port: 1213 You are controlling FPX: 6.0 Telnet Port: 1206 You are controlling FPX: 6.1 Telnet Port: 1214 You are controlling FPX: 7.0 Telnet Port: 1207 You are controlling FPX: 7.1 Telnet Port: 1215

21 Field Programmable Port Extender (FPX) 21 Web Access to Fpx_control - Radio Button Interface - Allows user to submit commands using CGI scripts - Provides for Switch Reset - http://fpx.arl.wustl.edu Web Access Provides:

22 Field Programmable Port Extender (FPX) 22 Using Basic_send Simple interface to send control cells to FPX - Opens a TCP Socket - Transfers character string command line arguments - Displays output from fpx_control

23 Field Programmable Port Extender (FPX) 23 Basic_send Examples Commands to try –Reading and Writing memory –Loading test_file from PC to NID –Programming RAD with NID contents

24 Field Programmable Port Extender (FPX) 24 Software Plug-ins for Hardware Modules Software that allows RAD applications the ability to format unique control cells Enables developers to easily change the format of a control cell independent of fpx_control

25 Field Programmable Port Extender (FPX) 25 Contents of a Software Plug-in Module Tags identify relevant fields Developer specifies data types and lengths Provides total control over information sent to RAD application Example is “Fast IP Lookup” module # Module title and version number Fast IP Lookup Example Module 1.0 # Input Opcode, Menu_command, Command_argument 0x14, R, Root_Node_Pointer, 0x16, I, IP_Flow_1, # Output opcode, Text, Command_argument 0x15, Root node pointer Updated to,Root_Node_Pointer, 0x17, Name changed to,IP_Flow_1, # Command_argument, argument_type, # start_word,start_bit,stop_word,stop_bit Root_Node_Pointer,x,1,31,1,13, IP_Flow_1,x,2,31,2,16, # Help Menu R root pointer address update: R address (hex) I Update IP Flow 1: I address (hex)

26 Field Programmable Port Extender (FPX) 26 Emulation of the FPX Consists of two applications: - Nid_listener Maintains VC tables Handles file transfers - Rad_listener Simulates RAD SRAM/SDRAM Responds to all memory read/write operations


Download ppt "Field Programmable Port Extender (FPX) 1 Remote Management of the Field Programmable Port Extender (FPX) Todd Sproull Washington University, Applied Research."

Similar presentations


Ads by Google