Re: Draft 4 Correction: Syntax 17-13 PLA Modeling System Task

From: Steven Sharp (sharp@cadence.com)
Date: Thu Feb 10 2000 - 12:50:58 PST


> Well, gosh darn it, why ISN'T the dimension allowed here ?

Because with a dimension, the argument would refer to a word of a memory.
The correct type for the argument is a memory. The dimension could be
allowed and ignored, but this might mislead a user into thinking that
the dimension was meaningful.

> Is there another place in the language where that restriction exists?

Yes, $readmem* also accepts a memory and will not allow a dimension on it.
So do the non-standard system tasks $sreadmem* and $writemem*.

(RE: allowing arbitrary expressions as input terms)
> Agreed.
> That allows mixtures of nets, regs, constants, function calls, etc.

Yes.

The original implementation of the PLA tasks in XL was written using an early
version of PLI. The requirement for concatenations of bits appears to have
been to allow direct access to the individual bits of the input and output.
I don't know if this was due to a limitation of the early PLI version, or just
expedience on the part of the implementor. The original version in NC was
just a port of that XL code. In re-writing it to generate native code, there
was no reason to keep the limitation. Any simulator that supports $monitor
already has the framework to support this extension.



This archive was generated by hypermail 2.1.4 : Mon Jul 08 2002 - 12:54:11 PDT and
sponsored by Boyd Technology, Inc.