Forum Discussion
Altera_Forum
Honored Contributor
12 years ago --- Quote Start --- Hi, I have read through several threads on the subject but haven't been able to find the answer I am looking for. I would like to use lwIP with Altera TSE with no OS to receive TCP. I need to support about 10MB/s (80 Mb/s) shared between multiple TCP connections. There is very little other processing on the NIOS II/f. From reading it seems that if I do the following: 1) Run out of on chip memory. --- Quote End --- I would run just select parts - inet_chksum, some of ethernetif, and maybe the oft-used pbuf functions. For a start, move nothing and see how it goes. It's so easy to move functions to on-chip memory there's no urgency to do that up front. And use code and data cache. 4k each if you can. --- Quote Start --- 2) Increase Processor clock speed as much as possible (Using Stratix IV) 3) Add TCP checksum offloading --- Quote End --- This is the biggest thing you can do. If not in hardware, using assembly for the checksum is still good. And an optimized memcpy too! The built-in memcpy is OK but can be better. Oh, and the macro SMEMCPY replace with an inline copy - it's always a small copy with a constant size. --- Quote Start --- 4) possibly some other optimizations like endian conversion --- Quote End --- For Cyclone-III the endian opcodes are included for htonl/ntohl. There was none for hton/ntoh - we did our own but I don't know if it's really used enough to matter. --- Quote Start --- then i should be able to reach that speed but I was wondering if anyone could give me a more firm answer of if this is feasible or not. --- Quote End --- Yes, it's feasible. Close but I see not much reason for it not to work. Bill A