1.3 Organización del espacio de trabajo
En el archivo 30315_lab1.zip encontrarás el espacio de trabajo que emplearemos en este laboratorio. La organización de carpetas y archivos es la siguiente:
Código fuente: está distribuido en las carpetas que se detallan a continuación:
- rtl:
Register Transfer Level: Código vhdl sintetizable módulos utilizados en el proyecto.
- sim:
Simulación: Incluyen los test-benches que utilizaremos en el proyecto.
- constraints:
Restricciones: Restricciones temporales y de localización que aplicamos al diseño.
lab1 ├───rtl # Código fuente VHDL │ └── alu.vhd # código del módulo alu ├───sim # Test-benches VHDL │ └─── alu_tb.vhd # test-bench del módulo alu ├───constraints # Archivo de restricciones │ ├─── 01_timing.xdc # restricciones de temporización para lab1 │ └─── 02_basys3_io.xdc # restricciones de localizacion de pines para lab1 ...
Scripts de automatización: scripts para automatizar tareas comunes en el flujo.
lab1 ... ├───scripts # Scripts de automatización │ └─── lab.tcl # Script TCL para automatizar la creación del proyecto ... # Vivado.
Proyecto Vivado: contiene los archivos generados por la herramienta Vivado Design Suite al crear el proyecto y sintetizar e implementar el diseño.
lab1 ... ├─── vivado # Proyecto Vivado │ ├─── ... │ └─── lab.xpr # Archivo del proyecto Vivado ...
Documentación. Directorio con la documentación asociada al proyecto, se completa con el archivo Readme.md que incluye una breve descripción del proyecto y otra información relevante.
lab1 ... ├───_doc # Documentación └───Readme.md # Descripción del proyecto.
Explora el espacio de trabajo
Descarga y descomprime el archivo de recursos en tu espacio de trabajo. Verifica que la estructura de carpetas es correcta y que contiene los archivos necesarios para la práctica.
Puedes utilizar notepad++ u otro editor de texto para explorar los archivos vhdl (.vhd). Si utilizas notepad++ abre la carpeta del proyecto como espacio de trabajo:
Compara el diagrama de bloques de la ALU con el contenido del fichero alu.vhd. Identifica los puertos de entrada/salida y los bloques internos.
Estudia la entidad alu_tb, ¿qué casos de test ejecuta?.