RE: Data Channels


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