* Top-level ports in lists are not allowed
* Signals in multiple lists are not allowed.
The reason is that these cases cannot be converted to
equivalent Verilog or VHDL.
From now on, all such code should always use decorators for blocks
that are part of the structure of the design. This makes the
purpose of the code clearer and allows simplifications and useful
assumptions for the MyHDL implementation.
Conversion support for other kind of generators has been removed.
The 'instances' function now only returns blocks that are
constructed using decorators at their leaf cells.
Previously you couldn't use list syntax in a generator if plain
signal syntax was used for the corresponding signal in another
generator. Now list syntax gets priority if used in some generator.
In the converted output, list (memory) syntax will be used for
such signals.
Everything that worked before should continue to work unchanged.
However, cryptic "List contains Signals that are not unique to it"
should be gone.
This should make it much easier and intuitive to use lists of
signals.
The idea is that decorators should always be used to describe
behavior in hardware modules. This required a major adaptation
of the tests in test/conversion/toVerilog.
The code was quite complicated for doubtful relevance. Signals
should never be defined inside generators, as their purpose
is communication between generators.
Added example of intbv.signed() with slice.
Moved index entries for intbv.min, .max, and ._nrbits up to the bit
slicing section.
Reworded the intbv.signed() description
The added Makefile will compile myhdl_vpi.so properly for Cver on a
x86_64 architecture. Cver is compiled as a 32-bit application on x86_64
architecture and the current makefile.lnx will compile the PLI
application as 64-bit library, which does not work together with Cver.
When using the index of the documentation I was missing a link for the
enum() usage. There is an entry for the enum() function that links to
the "Miscellaneous modelling support functions" section, but there is a
much better explanation of the enum() function in the "Finite State Machine
modeling" chapter. This changeset adds an index entry for enum() to this
chapter.