Anda di halaman 1dari 1

Como se mencionó anteriormente, generalmente hay tres enfoques para escribir código VHDL: modelado de flujo

de datos, modelado de comportamiento y modelado estructural.

Hasta este punto, este libro solo ha tratado con flujo de datos y modelos de comportamiento. Esta sección
presenta una introducción al modelado estructural. A medida que los diseños digitales se vuelven más complejos,
es menos probable que cualquier diseño se pueda implementar con cualquiera de los tres tipos de modelos VHDL.
Ya hemos visto esta propiedad en las relaciones con los FSM donde mezclamos declaraciones de procesos
(modelado de comportamiento) con declaraciones de asignación de señales selectivas (modelado de flujo de
datos). El resultado fue un modelo híbrido VHDL. Por su propia naturaleza, el modelado estructural es también un
modelo VHDL híbrido. La mayoría de los diseños complejos podrían considerarse modelos estructurales, es decir, si
se implementan utilizando procedimientos de codificación de sonido.

El diseño de circuitos digitales complejos que utilizan VHDL debe asemejarse mucho a la estructura de los
programas informáticos complejos. Muchas de las técnicas y prácticas utilizadas para construir programas
informáticos grandes y bien estructurados escritos en lenguajes de nivel superior también deben aplicarse cuando
se utiliza VHDL. Esta estructura común a la que nos referimos es el enfoque modular cada vez más popular para la
codificación. El término modelado estructural es la terminología que VHDL utiliza para el diseño modular. El
enfoque de diseño modular VHDL apoya directamente el diseño jerárquico que se emplea esencialmente cuando se
intenta comprender diseños digitales complejos

Los beneficios del diseño modular para VHDL son similares a los beneficios que el diseño modular o el diseño
orientado a objetos proporcionan para lenguajes de computadora de alto nivel. Los diseños modulares promueven
la comprensibilidad mediante el empaquetado de funcionalidades de bajo nivel en los módulos. Estos módulos se
pueden reutilizar fácilmente en otros diseños, ahorrando así tiempo al diseñador al eliminar la necesidad de
reinventar y volver a probar la rueda. El enfoque jerárquico se extiende más allá del código escrito en el nivel de
archivo. Los módulos de VHDL se pueden colocar en archivos y bibliotecas apropiadamente nombrados de la misma
manera que los lenguajes de nivel superior. Además, a menudo hay bibliotecas que contienen módulos útiles a los
que solo se puede acceder utilizando un enfoque de modelado estructural. Tener acceso a estas bibliotecas y ser
fluido en su uso servirá para aumentar su percepción como un gurú de VHDL.

Después de todos los comentarios sobre diseños complejos, presentamos algunos ejemplos simples. Aunque el
enfoque estructural se usa más apropiadamente en diseños digitales complejos, los ejemplos presentados en esta
sección son de naturaleza bastante simplista. Estos ejemplos muestran los detalles esenciales del modelado
estructural VHDL. Depende del diseñador evocar diseños digitales donde un enfoque de modelado estructural sería
más apropiado. Tenga en cuenta que su primera exposición al modelado estructural puede ser algo áspera. Aunque
hay una nueva sintaxis con la que familiarizarse, una vez que completa algunos diseños estructurales, esta nueva
sintaxis queda arraigada en su cerebro y se convierte en una segunda naturaleza para aplicar donde se requiera.

La tendencia en esta coyuntura en su carrera de programación VHDL es usar algún tipo de software de captura
esquemática en lugar de aprender el enfoque de modelado estructural. El hecho es que nadie de consecuencia
utiliza el software de captura esquemática en estos días, a pesar de que se enseña en muchos libros de texto
universitarios. Lo gracioso de todo este proceso es que el software de captura esquemático es una herramienta que
le permite representar circuitos visualmente, pero al final genera código VHDL (lo único que entiende el
sintetizador es el código VHDL).

9.1 Modularidad VHDL con componentes

La herramienta principal para la modularidad en lenguajes de alto nivel como C es la función. En otros lenguajes de
computadora, se logra una modularidad similar mediante el uso de métodos, procedimientos y subrutinas. El
enfoque utilizado en C es 1) nombrar la interfaz de función que planea escribir (la declaración de función), 2)
codificar qué hará la función (el cuerpo de la función), 3) dejar que el programa sepa que existe y está disponible
para ser llamado (el prototipo) y 4) llamar a la función desde la parte principal del código. En VDHL, la modularidad
se logra mediante el uso de paquetes, componentes y funciones. En las siguientes secciones vamos a ver cómo usar
los componentes.