Tutorial de ModelSim PE Student Edition

Documentos relacionados
Práctica I Modelado y simulación de una máquina expendedora de refrescos

VHDL. Carlos Andrés Luna Vázquez. Lección 5. Sentencias concurrentes

INGENIERÍA DE COMPUTADORES III. Solución al examen de Septiembre 2013

Introducción a la simulación con ModelSim.

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS FACULTAD DE INGENIERIA ELECTRONICA ESCUELA DE ELECTRONICA

Introducción al VHDL

Uso del simulador Modelsim

Tema 2 Descripción de VHDL (2/2)

INTRANET NEGOCIOS. Manual de Usuario: Intranet Negocios

4. SUMADORES EN BINARIO PURO (I)

INGENIERÍA DE COMPUTADORES 3. Solución al examen de Junio 2017, Primera Semana

INGENIERÍA DE COMPUTADORES III. Solución al examen de Septiembre 2014

INGENIERÍA DE COMPUTADORES 3. Solución al examen de Septiembre 2016

PRÁCTICA: LENGUAJE VHDL

INGENIERÍA DE COMPUTADORES III. Solución al Ejercicio de Autocomprobación 8

Diseño Lógico I Facultad de Ciencias Exactas y Tecnología UNT. LENGUAJES DE DESCRIPCIÓN DE HARDWARE

2. En el centro, hacer clic en ISE WebPACK para tener la misma versión que en los laboratorios.

LABORATORIO DE ARQUITECTURA DE COMPUTADORES. I. T. I. SISTEMAS / GESTIÓN GUÍA DEL ALUMNO

3.1 Introducción a VHDL

VI. Especificación del Comportamiento

Tema 16 ELECTRÓNICA DIGITAL LENGUAJES DE DESCRIPCIÓN DE LOS SISTEMAS DIGITALES (PARTE 1)

Instalación de DRIVER de mochila

DE INGENIERÍA TÉCNICA INDUSTRIAL. ESPECIALIDAD EN ELECTRÓNICA INDUSTRIAL

PLATAFORMA DE DISEÑO QUARTUS

INGENIERÍA DE COMPUTADORES 3. Solución al Trabajo Práctico - Junio de 2013

Simulación con un banco de pruebas VHDL - test bench.

CREACIÓN DEL PRIMER PROYECTO EN mikrobasic PRO for AVR

Simulación avanzada con TestBench en HDL. Ing. Andrés Miguel Airabella. Ing. Facundo Aguilera.

Laboratorio de Dispositivos Integrados Especializados / Diseño de Circuitos y Sistemas Electrónicos

Ethernet IP INDICE. Centro Integrado Politécnico ETI Departamento de Electricidad Fernando Pascual Moisés Pérez ETHERNET/IP 1.

Práctica 3: Utilización de Charts dobles, Waveforms Graphs, propiedades de gráficos, creación de Waveforms y su almacenamiento en disco.

Arquitectura de Computadores. Práctica 1: Diseño Hardware de Procesadores. Práctica 1/1

Electrónica Digital Departamento de Electrónica VHDL. Bioingeniería Facultad de Ingeniería - UNER

INGENIERÍA DE COMPUTADORES 3. Solución al examen de Junio 2015, Segunda Semana

TEMA IV: SÍNTESIS HARDWARE

Manual OWAControl. Contenido. Manual OWAControl

Roxio Retrieve Manual del usuario

INGENIERÍA DE COMPUTADORES 3. Solución al examen de Junio 2013, Segunda Semana

Creación de Alojamiento web y blogs.

UNIVERSIDAD CARLOS III DE MADRID. Ejercicios de VHDL. Circuitos Integrados y Microelectrónica. Luis Entrena. Celia López.

9. Dibujar el diagrama de tiempos de las siguientes asignaciones de señales.

Proceso de cifrado. La fortaleza de los algoritmos es que son públicos, es decir, se conocen todas las transformaciones que se aplican al documento

TUTORIAL DE DESCARGA E INSTALACIÓN DE XILINX ISE Y MODELSIM

Tutorial: Cómo realizar tu primer programa en C++ En el Sistema Operativo Windows

Práctica nº 4. Herramienta de diseño digital Quartus II.

INSTALACIÓN DE GITLAB

Hardware Libre: Clasificación y desarrollo de hardware reconfigurable en entornos GNU/Linux

INGENIERÍA DE COMPUTADORES III. Solución al Ejercicio de Autocomprobación 1

INGENIERÍA DE COMPUTADORES III. Solución al Ejercicio de Autocomprobación 4

CONTADORES. Definición. Diseño y analisis de un contador binario hacia arriba de 3 bits con flip-flops JK. Otros contadores típicos.

TUTORIAL: Cómo puedo instalar el Renault Media Nav Toolbox? TUTORIAL: Cómo puedo crear una "huella digital" del dispositivo en un dispositivo de

V Manual de Portafirmas V.2.3.1

20011 SInformáticas.

WINDOWS. Iniciando Windows. El mouse

DECODIFICADORES. Para cualquier código dado en las entradas solo se activa una de las N posibles salidas. 2 N

MetaTrader 4 para Android Manual de Usuario

Redes de área local: Aplicaciones y servicios WINDOWS

Instalación del Admin CFDI

WINDOWS 98/Me EL EXPLORADOR DE WINDOWS IV

MANUAL DE ACTUALIZACIÓN DEL DEA. Versión del DEA del 10/04/2012

Como crear un túnel entre dos PC s usando el Protocolo SSH

Cómo usar P-touch Transfer Manager

Aplicación iphone - Control de presencia

INGENIERÍA DE COMPUTADORES III. Solución al Ejercicio de Autocomprobación 5

Instalación de FileZilla FTP Server

CONTENIDO. Business Objects

INGENIERÍA DE COMPUTADORES III. Solución al Ejercicio de Autocomprobación 6

Adquisición de Datos usando Matlab

Introducción al software de programación TwidoSuite

Estructura de VHDL. Sistemas Digitales Avanzados. Universidad Técnica Particular de Loja Prof: Diego Barragán Guerrero. Oct Feb.

Instalación de Tomcat7 en Ubuntu

INGENIERÍA DE COMPUTADORES III. Solución al Ejercicio de Autocomprobación 10

Instalación y Registro Versiones Educativas 2013

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

Manual de usuario de Windows Live Writer

Sesión 1: Introducción al lenguaje VHDL. S1 1 Laboratorio de Estructura de Computadores Curso 04 / 05

VHDL: Código Secuencial. Arquitectura del Computador 2017

Correo Electrónico: Webmail: Horde 3.1.1

VHDL. VHDL: VHSIC Hardware Description Language VHSIC: Very High Speed Integrated Circuits

MANUAL SINCRONIZADOR LEKOMMERCE FACTUSOL

Configurar un Servidor FTP. Serv-U

Speed Editor. Guía de usuario

TELEFONÍA CLOUD IPLAN INSTRUCTIVO DE CONFIGURACIÓN X-LITE 3 (WINDOWS)

Instrucciones de instalación de TrueCode

Guía Para Hacer Una Rápida Instalación de ClientBase

CAPÍTULO 4. EL EXPLORADOR DE WINDOWS XP

GUÍA PARA LA INSTALACIÓN DE MOODLE EN UN COMPUTADOR PERSONAL QUE USA EL SISTEMA OPERATIVO MS. WINDOWS

Enviar archivos mediante FTP

Procedimiento para realizar la configuración de Internet Explorer y usar el Sistema de reservaciones Go! Res versión 4.x

Manual de NetBeans y XAMPP

Marcos de Desarrollo. Diseño e implementación de aplicaciones Web con.net

Notas para la instalación de un lector de tarjetas inteligentes.

TELEFONÍA CLOUD IPLAN INSTRUCTIVO DE CONFIGURACIÓN X-LITE 4 (WINDOWS)

Manual para el uso del Correo Electrónico Institucional Via Webmail

Transcripción:

Tutorial de ModelSim PE Student Edition Instalación Ir a http://portal.model.com/modelsim/downloads/license_agreement_form_gen.asp Rellenar los datos y selecionar Request Download Seleccionar el enlace ftp generado (e.g. ftp://xxxxx:yyyyy@ftp.model.com//) Ir a la carpeta EDU Descargar el instalador: modelsim-pe_student_edition.exe Instalar ModelSim ejecutando el fichero descargado (usar WinE si el sistema operativo es Linux - notas) Debería aparecer la siguiente pantalla Seleccionar Next repetidamente hasta que el instalador empiece a copiar los ficheros El instalador abrirá una página Web - rellenar los datos y pedir la licencia La licencia será enviada por e-mail, (fichero student_license.dat) Copiar el anexo en la carpeta de instalación de ModelSim Si estás usando Windows <install_dir> = C:\ModelTech_pe_edu_X.Xx Si estás usando Linux+WinE <install_dir> = /home/myuser/.wine/drive_c/ ModelTech_pe_edu_X.Xx La licencia será valida por 180 días, pero se puede volver a pedir en http:// www.model.com/download/edu

Ejecutar ModelSim desde el enlace en el escritorio

Primera simulación Antes de simular un diseño, hay que crear una librería y compilar el código fuente en la librería. Crear una nueva carpeta (por ejemplo <work_dir> = C:\Users\myuser\DCSE or /home/ myuser/dcse) y copiar en ella los ficheros siguientes: <install_dir>/examples/tutorials/vhdl/basicsimulation/counter.vhd <install_dir>/examples/tutorials/vhdl/basicsimulation/tcounter.vhd Ejecutar ModelSim Si es la primera vez que se ejecuta ModelSim, aparecerá la pantalla de bienvenida. Seleccionar Close. Seleccionar File > Change Directory y cambiar a la carpeta <work_dir> (nota: en Linux la carpeta se encuentra el en drive Z) Crear la librería de trabajo: a. Seleccionar File > New > Library b. Dejar todos los campos sin cambiar y seleccionar Ok Compilar los ficheros VHDL. Ejecutar en la línea de comando (transcript): vcom -work work counter.vhd tcounter.vhd En la ventana Library, clicar el símbolo + a lado de la librería work para ver las unidades de diseño compiladas Cargar el diseño. Ejecutar en la línea de comando: vsim -novopt test_counter

Cuando se haya cargado el diseño, se abrirá la ventana Structure (etiquetada sim). Esta ventana muestra la estructura jerárquica del diseño. Es posible navegar en la jerarquía seleccionando los símbolos + (expandir) o - (contraer). Además, se abrirá una ventana Objects y una Processes. La ventana Objects muestra los nombres y los valores corriente de los objetos en la región seleccionada en la ventana Structure. Los objetos incluyen señales, redes, registros, constantes y variables que no estén declarados en un process, generics, o parameters (tres constructos del VHDL). Simular. Ya es posible simular. Pero antes de hacerlo, hay que abrir la ventana Wave y añadir señales a ella. Abrir la ventana Wave. Ejecutar: view wave Añadir las señales a la ventana Wave. Ejecutar: add wave dut/* Iniciar la simulación. Ejecutar: run 500 ns Aparecerán las formas de onda siguientes. Intenta navegar y desplazar el campo de vista. Cuando hayas acabado, cierra la simulación ejecutando: quit -sim

El código fuente La simulación precedente usa dos ficheros fuente, cada uno de los cuales representa una entity diferente y específica una architecture conrespondiente: Fichero Descripción Entitad (entity) Arquitectura (architecture) counter.vhd Device under test counter only tcounter.vhd Test bench tcounter only

counter.vhd 1 entity counter is 2 port (count : buffer bit_vector(8 downto 1); 3 clk : in bit; 4 reset : in bit); 5 end; 6 7 architecture only of counter is 8 constant tpd_reset_to_count : time := 3 ns; 9 constant tpd_clk_to_count : time := 2 ns; 10 11 function increment(val : bit_vector) return bit_vector 12 is 13 -- normalize the indexing 14 alias input : bit_vector(val'length downto 1) is val; 15 variable result : bit_vector(input'range) := input; 16 variable carry : bit := '1'; 17 begin 18 for i in input'low to input'high loop 19 result(i) := input(i) xor carry; 20 carry := input(i) and carry; 21 exit when carry = '0'; 22 end loop; 23 return result; 24 end increment; 25 begin 26 27 ctr: 28 process(clk, reset) 29 begin 30 if (reset = '1') then 31 if reset'event then 32 count <= (others => '0') after tpd_reset_to_count; 33 end if; 34 elsif clk'event and (clk = '1') then 35 count <= increment(count) after tpd_clk_to_count; 36 end if; 37 end process; 38 39 end only;

tcounter.vhd 1 entity test_counter is 2 PORT ( count : BUFFER bit_vector(8 downto 1)); 3 end; 4 5 architecture only of test_counter is 6 7 COMPONENT counter 8 PORT ( count : BUFFER bit_vector(8 downto 1); 9 clk : IN bit; 10 reset : IN bit); 11 END COMPONENT ; 12 13 SIGNAL clk : bit := '0'; 14 SIGNAL reset : bit := '0'; 15 16 begin 17 18 dut : counter 19 PORT MAP ( 20 count => count, 21 clk => clk, 22 reset => reset ); 23 24 clock : PROCESS 25 begin 26 wait for 10 ns; clk <= not clk; 27 end PROCESS clock; 28 29 stimulus : PROCESS 30 begin 31 wait for 5 ns; reset <= '1'; 32 wait for 4 ns; reset <= '0'; 33 wait; 34 end PROCESS stimulus; 35 36 end only;

Ejercicio 1 Cuando el compilador encuentra sólo una Arquitectura para una Entidad, la asocia automaticamente a ella. Sin embargo es posible anular este comportamiento, añadiendo una sentencia use. 1. Añadir la línea siguiente por debajo de la declaración del componente counter en el fichero tcounter.vhd: 11b for dut : counter use entity work.counter(only); 2. Proponer y justificar un nombre más apropiado que only para la Arquitectura asociada a la Entitad counter. Modificar el fichero fuente en acuerdo con el nuevo nombre y volver a simular el ejemplo. Ejercicio 2 El VHDL permite describir un sistema digital a nivel comportamental o estructural (jerárquica). El nivel comportamental además se puede dividir entre dos estilos: a flujo de datos o algoritmico. La representación a flujo de datos describe como los datos se mueven a través del sistema. Esto se hace tipicamente en términos de flujo de datos entre registros (register transfer level, rtl). El modelo a flujo de datos usa sentencias concurrentes que se ejecutan en paralelo a la vez que lleguan los datos en entrada. Por contra, las sentencias sequenciales se ejecutan una tras la otra en el mismo orden en el que estén escritas. El VHDL permite usar ambos tipos de sentencias. En el nivel estructural, el circuito está compuesto de sub-partes. La descripción especifica que típos tienen las partes usadas y como estas están conectadas la una a la otra. Este tipo de descripción es esencialmente un plano esquemático que representa un diagrama de bloques o circuital. 1. Determinar los niveles de descripción del código en counter.vhd y en tcounter.vhd. Justificar las respuestas. 2. Renombrar las arquitecturas añadiendo un sufijo que indique el tipo de descripción, de acuerdo con las respuestas del punto 1. Ejercicio 3 La palabra clave buffer en la declaración del contador en counter.vhd significa que el puerto count es un puerto de salida, al cual se puede escribir pero también leer desde dentro la arquitectura. Sin embargo, los tipos buffer no se usan comunemente en VHDL porqué pueden causar problemas a la hora de sintetizar el automaticamente el hardware. En cambio es preferible usar señales intermedios y declarar el puerto con el tipo out.

1. Cambiar el tipo del puerto count a out en la declaración de la entitad counter. 2. Aplicar las modificaciones oportunas para no incurrir en errores de lectura a un puerto de salida ( read from output ).