| CS/COE 535M | Acceleration of Algorithms in Reconfigurable Hardware | Lockwood, Fall 2001 |
| Assigned | Monday, November 5, 2001 |
| Due Date | Tuesday, November 13, 2001, 4pm |
| Purpose: | Hardware/Software Co-design to regulate network traffic flows |
| Points | 50 |
NCHARGE provides many predefined control cells for a user to modify various aspects of the FPX. These functions are useful for the basic operations of the FPX. Once a user begins to develope their own custom hardware a need arises to communicate with this custom hardware through softare. NCHARGE allows users to develope custom control cells with predefined fields that enable communication with the hardware.
Shown below is the layout of a control cell issued by NCHARGE to the FPX. When creating a custom control cell the end user has control over what data is stored in the payload and where it is stored.

The format of creating a custom control cell is based on an XML style interface where the user identifies relevant fields and where to place the particular information. Performing a particular operation in hardware is based on an opcode. Each unique operation has an opcode as well as relevant fields in the payload to read or write. In ARL we use the FPX to perform Fast IP Lookups (FIPL), a NCHARGE software plugin give us the ability to change certain aspects of the FIPL module while it is running in hardware. Below is the FIPL software plugin. This will be a useful template when developing your module in MP5.
|
|
In the example above you can see the output opcodes are the responses to the input opcodes. Also declared in the software plugin are the module name, field declaration, and the help section. Below is the resultant control cell after loading the FIPL plugin.

In order to use the software plugin, the user must first load the plugin
into the NCHARGE software. When loading the module from the webpage
you must specify a module number as well. This is used to identify the
plugin from other software modules. Once it is loaded correctly you
can issue commands from the web page or the console. For this assignment
we will be using the web interface. You will need to generate a seperate
control cell for each of the input opcodes. In each case you fill in the appropriate
values for a cell and execute the command. Once issuing the command NCHARGE will display the control cell
sent to the FPX. This is the cell you want to copy and paste into your
simulation to update the pacing rate or fifo length.


Note that the modified PullCell statemachine has already provided to you. Some precautions:
|
|
Please print the grade sheet and staple it on top of your machine problem.