Download presentation
Presentation is loading. Please wait.
1
Hello Bob – An example application for the FPX
Applied Research Laboratory Washington University, St. Louis
2
Overview Full FPX application (incl. RAD)
Parse UDP datagrams (using higher level framework) Send datagram back (UDP Echo) String match (“Hello”) Use SRAM interface (to read name) Replace data
3
Replacing the content
4
Simplified example Assume continuous data (easier for SRAM access)
Limit name length to 14 characters (incl. \0) Name will fit in first cell Don’t resize datagram (check for length)
5
Hello Bob Tarball Download “hellobob.tar.gz” from (save under D:\) Unpack “cd d:” “tar xvzf hellobob.tar.gz” Archive contains tree below FPX_TREE/RAD
6
Compiling fpxlib Go to subdirectory “HelloBob/MODULES/LIB”
Compile processors by typing “make compile” in: CellProcessor/sim FrameProcessor/sim IPProcessor/sim UDPProcessor/sim
7
Dataflow HelloBob/MODULES/HelloBob/vhdl/hello_bob.vhdl
8
Memory access Request memory when we receive frame
Sample grant (and store it) before we access memory Save SRAM_GRANT on SOD If we don’t get a grant use “John Doe” Release memory after processing name
9
Statemachines
10
HelloBob module HelloBob/MODULES/HelloBob/vhdl/module.vhdl
11
RAD core HelloBob/TOP/RAD_HelloBob/vhdl/rad_hellobob.vhdl
12
Testbench HelloBob/TOP/RAD_HelloBob/sim/testbench.vhdl
13
Compile Testbench Go to subdirectory “HelloBob/TOP/RAD_HelloBob/sim”
Compile RAD and testbench by typing “make compile”
14
Hello Bob Send control cell to write “Bob” to SRAM
Is read from EGRESSIN.DAT Send UDP datagram with “Hello…..” Is read from INGRESSIN.DAT Datagram with “Hello Bob” should return IP addresses and UDP ports should be swapped
15
Start simulator Go to subdirectory “HelloBob/TOP/RAD_HelloBob/sim”
Type “make sim” (simulator starts up) Type “do testbench.do” (starts simulation)
16
Exercises Implement Memory Statemachine Generate SRAM_REQ
Sample SRAM_GRANT Replace payload with name Check terminating \0 Watch for “o_” and shift HelloBob/MODULES/HelloBob/vhdl/hello_bob.vhdl
17
Terabit Burst Switching
9/11/98 Dataflow Put multiplex figure here
18
Testfiles PROBE.DAT probe-request
SETVCI51.DAT control cell to change VCI from 0x32 to 0x33 SRAM_BOB.DAT write name “Bob” to SRAM UDP7HELLO.DAT datagram with “Hello” on port 7 UDP7SALUT.DAT datagram with “Salut” on port 7 UDP8HELLO.DAT datagram with “Hello” on port 8 UDP51HELLO.DAT datagram with “Hello” on port 7, but VCI 0x33 (51) UDP0HELLO.DAT TTL field is zero
19
Other tests Send “Salut” instead of “Hello” (UDP7SALUT.DAT)
Type “cp UDP7SALUT.DAT INGRESSIN.DAT” Run test again Use port 8 instead of 7 (UDP8HELLO.DAT) NOTE: testdata to HelloBob is read from INGRESSIN.DAT, testdata to the CCP is read from EGRESSIN.DAT
20
Hello <Your Name>
Login to jeeves (login on two terminals) User: workshop## ex: workshop71 (port 7 stack 1) Password: workshop## Invoking fpx_control fpx_control fpx_number ex: fpx_control 7.1 Writing String enable rad logging: g rad Write string: ws mod_num address ‘your name’ ex: ws 1 0 ‘Bob Smith’
21
Hello <Your Name> (cont)
Open log_file in second terminal vi rad_log_xx.txt Copy cell to clipboard Highlight cell in vi Right click on xterm in toolbar Edit -> Copy X Selection -> To Clipboard Paste Selection in notepad Start -> Run -> notepad Edit -> Paste Save file as “EGRESSIN.DAT”
22
Different application VCI
We will change the application VCI (0x32 to 0x33) by sending a control cell to the CellProcessor Create a new INGRESSIN.DAT from SETVCI51.DAT and UDP7HELLO.DAT Type “cat SETVCI51.DAT UDP7HELLO.DAT > INGRESSIN.DAT” Use UDP packet on channel 0x33 (51): UDP51HELLO.DAT
23
Probe Request Sending a Probe-Request to the CellProcessor results in a “Generic CellProcessor Version 1.0” response Use PROBE.DAT to send control cell
24
Change Probe Response Change Probe Response in CellProcessor to “Hello Bob Version 1.0” H e l o B b V r s i n 1 . 48 65 6c 6f 20 42 62 56 72 73 69 6e 31 2e 30 HelloBob/MODULES/LIB/CellProcessor/vhdl/cellproc.vhdl
25
AAL5 Errors Change payload word, do not change the CRC
CRC field is non-zero (=error) in FrameProcessor
26
TTL of zero IP packets with TTL==zero are dropped (UDP0HELLO.DAT)
Frame does not appear on data output
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.