27 votos

VHDL: Componente vs Entidad

Me pregunto ¿cuál es la diferencia entre el componente de una entidad. Me gustaría saber en que casos es mejor utilizar los componentes en lugar de entidades. Muchas gracias.

17voto

Martin Thompson Puntos 6509

He aquí una analogía que ayuda a algunas personas (especialmente los de física electrónica de fondo):

Un component indica al compilador "va a ser algo con estos tipos de alfileres en él se llama esto en algún momento, pero no te preocupes, por ahora". Se define un "socket". Usted puede ir a describir lo que "cables" para que "encaje", etc.

Un entity es algo específico con un nombre y un conjunto de pines que el compilador puede luego en "conectar" para que "encaje" (y, por ende, estar conectado a la "estructura").

Tenga en cuenta que usted no necesita un component puede hacer", la creación directa de instancias" que significa que el compilador ya sabe acerca de una entidad, de manera que el "socket" no necesitan ser definidas por separado. De hecho, esa sería mi enfoque recomendado, ya que de lo contrario el component es un nivel adicional para mantenerse en sincronía.

Usted necesidad de utilizar componentes en caso de que la mezcla de Verilog y VHDL y la necesidad de utilizar un Verilog bloque dentro de la VHDL. A continuación, el component es el socket y no fue hasta mucho más tarde, puede que el compilador/elabora enchufe el Verilog en el zócalo.

14voto

Una entidad es una interfaz real a una unidad de diseño que puede tener múltiples arquitecturas. Una entidad se define como las cosas entra y sale, mientras que la arquitectura se define como la unidad de diseño de opera. Así que usted podría tener varias formas de implementar la misma función, que podría ser descrito por la misma entidad.

Un componente es un ideal o "virtual" diseño de la unidad. Cuando usted está haciendo un top down design (es decir, le están poniendo juntos de nivel superior antes de que el nivel inferior de los bloques están diseñados) puede utilizar un componente para describir el tipo de interfaz que usted está esperando para su diseño de unidades. Usted puede pensar en esto como un lugar de titular o de caja negra para una futura implementación real.

El uso de configuraciones puede enlazar un componente específico de la instancia a la entidad la definición. Aquí puede mapear el puerto que debe conectarse a qué puerto. Esta mapas de cómo el componente que se definió en el ideal de sentido que se asigna a la entidad a la que fue implementada en la realidad.

En la práctica, he encontrado que los componentes son generalmente innecesarios y crear otro nivel de abstracción que normalmente no se utiliza. Puede omitir el uso (y la necesidad) para los componentes directamente a las instancias de la entidad y haciendo referencia a que la arquitectura a utilizar para esa instancia de la entidad.

Por ejemplo:

MyDesignUnit : entity library_name.entity_name(architecture_name)
               port map(
                     ...

2voto

aryeh Puntos 1594

A partir de [1] a continuación:

Hay una distinción importante entre una entidad, de un componente, y una instancia de componente en VHDL. La entidad se describe un diseño de la interfaz, el componente se describe la interfaz de una entidad que va a ser utilizado como una instancia (o de un sub-bloque), y el componente de la instancia es una copia distinta de la componente que ha sido conectado con otras partes y de las señales. Para comparar estos con el proceso del pan el diseño de la placa con el apagado del auto partes. La entidad y la arquitectura es como el libro de datos que describe la interfaz y los esquemas de la parte de las obras. El componente es como el pin corto listado que viene con la parte a describir cómo debe ser conectado. La instancia de componente es la parte real, de la cual, usted puede tener muchas que operan cada uno de forma independiente.

Ver [1] para el contexto y con más detalle.


Hay numerosos VHDL tutoriales en línea por ejemplo [2][3] ... Libro (84 páginas en PDF) [4] Se ve bien [5] Principalmente para los links [6]

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X