This paper addresses exploitation of the capabilities of platform FPGAs to implement embedded networking for systems on chip. In particular, a methodology for exploring trade-offs between the placement of protocol handling functions in programmable logic and on an embedded processor is demonstrated. This is facilitated by two new design tool capabilities: first, being able to describe programmable logic based functions in a more software-like manner; and second, being able automatically to generate efficient interfaces between a programmable logic fabric and an embedded processor. The methodology is illustrated by an example of a simple web server, targeted at Xilinx Virtex-II Pro or Virtex-4 FX platform FPGAs. Trade-offs both of complete protocol placement and of within-protocol placement are systematically investigated in terms of resources used and packet handling latency. This provides an excellent range of service times, corresponding to differing logic fabric and memory resource requirements. The work points the way to highly fluid allocation of functions to implementations, beyond conventional static codesign.
[1]
Gordon J. Brebner,et al.
Time-critical software deceleration in a FCCM
,
2004,
12th Annual IEEE Symposium on Field-Programmable Custom Computing Machines.
[2]
W. Richard Stevens,et al.
TCP/IP Illustrated, Volume 1: The Protocols
,
1994
.
[3]
Gordon J. Brebner,et al.
Programming a hyper-programmable architecture for networked systems
,
2004,
Proceedings. 2004 IEEE International Conference on Field- Programmable Technology (IEEE Cat. No.04EX921).
[4]
John W. Lockwood,et al.
A Modular System for FPGA-Based TCP Flow Processing in High-Speed Networks
,
2004,
FPL.
[5]
Gordon J. Brebner,et al.
Software Decelerators
,
2003,
FPL.