Re: Data Channels


Subject: Re: Data Channels
From: Kevin Cameron x3251 (Kevin.Cameron@nsc.com)
Date: Thu Jul 25 2002 - 18:23:48 PDT


Steven Sharp wrote:

> 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.

That would depend on what you mean by modern. HDLs are essentially
light-weight multi-threaded programming languages, and the only non-HDL
language of that type I know is Occam, and it has data channels like those
I described built into the language. The "channel" is a basic building block
for
CSP style programming, and CSP is probably the best hardware/software
design style for large systems (we discussed it at a TCC meeting at HDLCon
earlier this year).

> 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

The internal NSC implementation in C++/Verilog we already have is unwieldy
and inefficient, I'd like to have a better solution.

BTW, Is there anyone involved in Cadence's VCC tools on this reflector?

Kev.

--
National Semiconductor
2900 Semiconductor Drive, Mail Stop A1-520, Santa Clara, CA 95052-8090



This archive was generated by hypermail 2b28 : Thu Jul 25 2002 - 18:25:33 PDT