Modelo Estructural

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

Views 83 Downloads 2 File size 323KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

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.