|
Written by Administrator
|
|
Monday, 12 April 2010 09:17 |
Fast TCP/IP stack in hardware
The hwIP stack is written in about 1100 lines of Mobius and supports ARP, ICMP, UDP and TCP. The entire stack is implemented as 100% hardware for maximum throughput and minimum latency.
- The Iperf application reports 990 Mbps for TCP throughput using jumbo packets over a 1 Gbps direct connection.
- The Wireshark application reports latencies of 2 microseconds for standard sized packets over a 1 Gbps direct connection.
The hwIP logic is connected to a Xilinx coregenerator MAC (e.g. 1000/100/10 Mbps TEMAC) via a locallink-fifo. The hwIP is configurable to provide only the functionality required for the user's application. On a Xilinx Virtex5 the hwIP occupies about 4000 slices (ARP, ICMP, UDP) or 9000 slices (ARP, ICMP, UDP, TCP). Application notes are being written that discuss its operation, testing and performance. |
|
Last Updated ( Monday, 12 April 2010 09:28 )
|
|
|
Written by Administrator
|
|
Thursday, 08 April 2010 17:53 |
|
Mobius is a tiny high-level multi-threaded language for the rapid development of hw/sw systems. Circuits generated using Mobius have excellent Quality of Results comparable to the best hand-designed circuits. Any Mobius program can be compiled to hw, sw or any arbitrary combination of hw & sw.
Mobius programs are typically 20-300x shorter than hand-designed RTL source. As a result the code/test/debug cycle is substantially quicker. Using CSP-methodology, Mobius can at compile-time enforce strict multi-threading semantics.
The Mobius tools include a simulator, hardware compiler and software compiler. The simulator enables fast transaction level simulations typically 100x faster than RTL behavioral simulations. The hardware compiler generates vendor-neutral synthesizeable Verilog or VHDL. The software compiler generates ansiC and a custom scheduler.
The Mobius language is hierarchical, and features parameterizeable integers, parameterizeable floats, procedures, functions, channels, multi-dimensional arrays, records and timers. All expressions and statements use CSP-based message passing, making synchronization and communication simple. |
|
Last Updated ( Thursday, 08 April 2010 17:55 )
|
|
|
|