Portable TCP/IP socket library

A

Amal

Guest
Anyone has a good pointer to a portable (Windows, *nix) TCP/IP socket
library that can be used with VHDL FLI, Verilog PLI/VPI, SystemC, or
SystemVerilog DPI?

-- Amal
 
On Jun 5, 11:10 am, Amal <akhailt...@gmail.com> wrote:
Anyone has a good pointer to a portable (Windows, *nix) TCP/IP socket
library that can be used with VHDL FLI, Verilog PLI/VPI, SystemC, or
SystemVerilog DPI?
Have you tried just using the common (BSD-derived I suppose) socket
calls and found them not to work on both platforms, or somehow
incompatible with the simulation interfaces you mention?

I would think that if you just avoid vendor/os -specific extensions
you should be fine.
 
<cs_posting@hotmail.com> wrote in message
news:1181060211.371062.97100@p47g2000hsd.googlegroups.com...
On Jun 5, 11:10 am, Amal <akhailt...@gmail.com> wrote:
Anyone has a good pointer to a portable (Windows, *nix) TCP/IP socket
library that can be used with VHDL FLI, Verilog PLI/VPI, SystemC, or
SystemVerilog DPI?

Have you tried just using the common (BSD-derived I suppose) socket
calls and found them not to work on both platforms, or somehow
incompatible with the simulation interfaces you mention?

I would think that if you just avoid vendor/os -specific extensions
you should be fine.
I believe that you should pay attention to OS specific examples, thus if
you use sockets on Modelsim's FLI running under windows then follow the
winsock examples, if you are running SystemC under Cygwin then follow the
libc/bsd coding style. In general they are very close and pragmas can make
your code portable. These example might help you out:

http://www.ht-lab.com/howto/fli_demo/uart2fli/uart2fli.htm
http://www.ht-lab.com/howto/fli_demo/ferndemo/socket.html

Hans.
www.ht-lab.com
 
On Jun 5, 12:10 pm, Amal <akhailt...@gmail.com> wrote:
Anyone has a good pointer to a portable (Windows, *nix) TCP/IP socket
library that can be used with VHDL FLI, Verilog PLI/VPI, SystemC, or
SystemVerilog DPI?
Amal,

Try this link: http://www.sutherland-hdl.com/pli_book_examples.html

"David Roberts, of Cadence Design Systems, has provided a great
example using sockets to communicate between a PLI application and an
independently running C program. David has provided this example with
no restrictions on usage, under the GNU freeware license agreement."

Allegedly it works on Linux and Windows.

Enjoy,
/Ed
 
On Jun 6, 7:24 am, EdA <ed.art...@gmail.com> wrote:

Try this link:http://www.sutherland-hdl.com/pli_book_examples.html

"David Roberts, of Cadence Design Systems, has provided a great
example using sockets to communicate between a PLI application and an
independently running C program. David has provided this example with
no restrictions on usage, under the GNU freeware license agreement."

Allegedly it works on Linux and Windows.
Yeah, and it's pretty simple. I did something like that a few years
back - I'd built a soft-core processor (at that point only in verilog
simulation), and wanted to write a debug monitor that could run on
it. So I grafted in some registers to make a little "dummy uart"
device that some pli code would monitor, and proxy the data to/from a
local tcp socket. Then I connected to that socket with hyperterminal
and "used" my simulated computer.
 
On Jun 6, 8:24 am, EdA <ed.art...@gmail.com> wrote:
On Jun 5, 12:10 pm, Amal <akhailt...@gmail.com> wrote:

Anyone has a good pointer to a portable (Windows, *nix) TCP/IP socket
library that can be used with VHDL FLI, Verilog PLI/VPI, SystemC, or
SystemVerilog DPI?

Amal,

Try this link:http://www.sutherland-hdl.com/pli_book_examples.html

"David Roberts, of Cadence Design Systems, has provided a great
example using sockets to communicate between a PLI application and an
independently running C program. David has provided this example with
no restrictions on usage, under the GNU freeware license agreement."

Allegedly it works on Linux and Windows.

Enjoy,
/Ed
Ed,

I tried this library, but I am having problem with sending and
receiving data. I am not sure if Modelsim is doing something wrong,
but when I setup a server on the SystemVerilog side using DPI and send
data through a TCL client, the server keeps on one line of data and
keeps spitting out only the first line of data.

I wonder if anyone else has used this example?

-- Amal
 

Welcome to EDABoard.com

Sponsor

Back
Top