VHDL (VHSIC (Circuitos integrados de muy alta velocidad) Lenguaje de descripción de hardware) es un lenguaje de descripción de hardware IEEE estándar utilizado por los diseñadores electrónicos para describir y simular sus chips y sistemas antes de la fabricación.
TINACloud ahora incluye un potente motor de simulación digital VHDL. Cualquier circuito digital en TINACloud puede convertirse automáticamente en un código VHDL y analizarse como un diseño VHDL. Además, puede analizar la amplia gama de hardware disponible en VHDL y definir sus propios componentes digitales y hardware en VHDL. La gran ventaja de VHDL no es solo que es un estándar IEEE, sino que también se puede realizar automáticamente en dispositivos lógicos programables como FPGA y CPLD.
TINACloud puede generar un código VHDL sintetizable junto con el archivo UCF correspondiente si la casilla de verificación Generar código sintetizable está configurada en el menú Análisis / Opciones. Puede guardar los archivos VHD y UCF creados con el comando "Crear archivo VHD y UCF" en el menú T&M. Puede leer estos archivos con la utilidad gratuita Webpack de Xilinx, generar el archivo de flujo de bits que describe la implementación del diseño y luego cargarlo en los chips FPGA de Xilinx.
Ejemplo: El siguiente circuito es un contador, definido en VHDL.
Ejecute la simulación en línea con TINACloud haciendo clic en la imagen
Ejecución del análisis / simulación digital VHDL, da el siguiente diagrama:
Si hace clic en el bloque "Contador" y en la línea HDL presiona el botón…, puede ver el código VHDL que define el Contador.
biblioteca ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; -------------------------------------------------- - El contador de ENTIDAD es puerto (reloj: en std_logic; borrar: en std_logic; QA, QB, QC, QD: fuera de std_logic); Contador FIN; -------------------------------------------------- - ARQUITECTURA behv del contador es la señal Pre_Q: unsigned (3 downto 0); BEGIN - descripción del comportamiento del proceso del contador (reloj, borrar) comienza si clear = '1' luego Pre_Q <= "0000"; elsif (reloj = '1' y reloj'evento) luego QA <= Pre_Q (0); QB <= Pre_Q (1); QC <= Pre_Q (2); QD <= Pre_Q (3); Pre_Q <= Pre_Q + 1; terminara si; proceso finalizado; END behv;
En TINA puede cambiar el código VHDL y ver el efecto inmediatamente.
Cambiar la linea Pre_Q <= Pre_Q + 1; por encima de Pre_Q <= Pre_Q + 2; y cierra el diálogo.