Hey guys, new assignment for you guys - hopefully an easy one this time :)

Buf first an announcement:
Wu-chang tells me that you guys should have an idea of what you want to do
for your project by today. So, email us, ASAP. If you have any questions, we
can discuss them in class.

Back to the assignment:

Starting Source Code:
http://morbo.cse.ogi.edu/L3 Forwarder-Timing Assignment.zip

So, what we're going to do is use the Intel IXP1200 Develompment Environment
this time, with Micro C. The great thing about this is that it comes with an
IXP simulator, so you don't even need the IXP hardware to do this one.

What I want you to do: In the source code I'm giving out (which is an L3
forwarder) I want you to add some memory accesses to the ingress function in
rx_ether100m.c (search for CSE58x).

I want you to add
0) Nothing
1) 1 scratchpad write
2) 16 scratchpad writes
3) 32 scratchpad writes
4) Some number of scratchpad writes of your choice
5) 1 SRAM write
6) 16 SRAM writes
7) 32 SRAM writes
8) Some number of scratchpad writes of your choice (same number as in 4)
9) 1 SDRAM write
10) 16 SDRAM writes
11) 32 SDRAM writes
12) some number of SDRAM writes of your choice (same number as in 4)

So, in the simulator, run it for 1000 input packets, and report the
ingress/egress rates. (Note that they won't converge within 1000 packets,
but if you run the simulation long enough, they will)

You should use the no_signal syncronization type for all but the last read
call.

For any of scratchpad, SRAM and SDRAM (your choice) report numbers for
memory accesses, using the ctx_swap syncronization type, instead of ctx_swap
or sig_done and ctx_wait().

You may choose to use read calls instead of write calls for the assignment -
just be consistent. You should do either all reads or all writes. Be warned
that the compiler may remove read statements, because they have no
side-effects. You can verify this by looking at the output microcode.

SRAM and SDRAM reads/writes should go in the ordered queue.

What you're supposed to learn from this assignment:
1) Get a little experience using the IXP1200 development environment
2) Get an idea of how using memory affects performance

MicroC language reference is available from
c:\ixp1200\documentation\C_Lang_Ref.pdf

Good luck :)


--
Francis
francis@{cse.ogi.edu, francischang.com}
OGI School of Science & Engineering at OHSU, SySL Labs
(503) 332-4850          FAX:(503) 748-1553


Yahoo! Groups Sponsor
ADVERTISEMENT

To unsubscribe from this group, send an email to:
ogi-cse58x-unsubscribe@yahoogroups.com



Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.