Skip to content

Black-box #1322

@Blebowski

Description

@Blebowski

Hi,

It would be useful to have support for "black-box" instances. There would exists a "special list" of entities / modules
(passed e.g. via CLI switch or some other config). If NVC elaborates a design, and encounters instance for which it
can't locate the design unit (by whatever binding mechanism), it would not Error out, but it would simply throw warning,
but managed to elaborate the design.

Such "black-box" instance could behave in several different ways:

  • If there is a component existing for the instance (component binding indication), but not the entity, port directions are known.
  • If component does not exist for the instance (entity binding indication), port directions are not known.

If port directions are known, inputs have no effect for rest of the design (as-if they were floating in the black-box),
outputs of the black-box would be "as-if" driven to sth. like TYPE'left -> For std_logic types this would be having driver with default
U value.

For verilog, the default value of outputs could be X.

The use-case for this is, when you have large design that is just being developed, and you e.g. don't have analog models available,
or some of the RTL still does not exist, you could run the simulation without the need to create "dummy envelopes". This is handy
since sometimes such "dummy envelopes" may be forgotten, and stay there (especially when there is lack of time for verification).

I know a commercial debugger that has such feature that it can elaborate incomplete design and show schematics. Very handy
when the design is incomplete, you are waiting for some of its parts, but want to work on the rest.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions