Subject: RE: Data Channels
From: Steven Sharp (sharp@cadence.com)
Date: Thu Jul 25 2002 - 16:28:41 PDT
Modern languages don't hardwire a bunch of predefined data structures into
the language. It is too unwieldy to predefine that many data structures,
and someone always wants something a little different than what has been
defined. It is now generally recognized that the correct approach is to
provide the basic building blocks from which the user can build arbitrary
data structures. Then package up those implementations into libraries for
reuse.
There are a couple of ways data channels could be built:
1. Implement them in C/C++ and provide an interface to them via existing
PLI (user-defined system task calls) or a new C interface. If channels
are being used to communicate with C/C++ anyway, there is no disadvantage
to using C functions and data types or C++ objects and methods for this.
2. Implement them in SystemVerilog, with interfaces to readers/writers in
C/C++ and SystemVerilog. If you can't, then perhaps there are still some
language features missing (e.g. pointers and dynamic memory allocation).
If it is awkward to do, then perhaps some other features are missing.
This would be a good measure of whether SystemVerilog can actually do
what it is supposed to.
Steven Sharp
sharp@cadence.com
This archive was generated by hypermail 2b28 : Thu Jul 25 2002 - 16:30:44 PDT