Re: [vhdl-200x-mp] Re: [vhdl-200x] Out mode generics -- Looking for usecases

From: Farrell Ostler <Farrell.Ostler@xilinx.com>
Date: Thu Apr 29 2004 - 11:09:54 PDT

Andy D Jones wrote:

> This may already be obvious, but the value should be able to be defined in the architecture
> (somewhat like a deferred constant in a package body) as well as the entity, such that it can be
> different for multiple implementations of the same entity.
>

I agree that an important usage class is for an implementation (architecture) to be able to
communicate some of its properties to the environment.

In an effort to illustrate this, the following contrivance came to mind. The environment that
instantiates widget, declared below, gets information from widget about its pipelining, so that the
environment can be adapted to that pipeline latency.

entity widget is
generic (WIDTH : natural;
         PIPELINE_LATENCY : out natural
        );
port (inp : in std_logic_vector(WIDTH-1 downto 0);
         outp: out std_logic_vector(WIDTH-1 downto 0)
        )
end widget;

architecture throughput of widget is
    PIPELINE_LATENCY := 2; -- Two-deep pipelined implementation for throughput
begin
    ... The high Fmax implementation

end throughput;

architecture lowcost of widget is
    PIPELINE_LATENCY := 0; -- Combinatorial implementation for low cost
begin
    ... The lower cost, lower Fmax implementation
end lowcost;

Regards,
Farrell Ostler
Received on Thu Apr 29 11:09:59 2004

This archive was generated by hypermail 2.1.8 : Thu Apr 29 2004 - 11:10:02 PDT