Introducción al VHDL VHDL orientado a la síntesis de circuitos en Dispositivo Lógicos Programables.

Slides:



Advertisements
Presentaciones similares
Lenguajes de Descripción de Hardware
Advertisements

Equipo #3 Unidad III: ALU Efraín Corral Eduardo Castillo Elías Alarcón
Meta: be able to write with no errors on infinitive triggers and agreement Entrada: Escribir-reflecion Escribir de la casa Para salir: use an infinitve.
Visual Basic for Applications 3 de Mayo de Archivo en Excel Son 600 nombres Separar las columnas Separar los nombres en varias columnas ¿Cómo hacerlo?
Métodos de diseño en VHDL.
Los Adjetivos Spanish4Teachers.og.
SENTENCIAS SECUENCIALES
LENGUAJES DE DESCRIPCION DE HARDWARE (HDL)
Introducción a JAVA COMP 250. Estructura de Selección selection statements selection statements – Escoger cuál acción ejecutar dependiendo de dos ó más.
Trabajo con subconsultas
Autor: Sergio García López Director: Francesc Josep Sánchez i Robert
UML Lenguaje Unificado de Construcción de Modelos
Procedimientos Almacenados y Disparadores
ADA: lenguaje de programación concurrente
Circuitos Digitales II
Programación de sistemas reconfigurables
PL/SQL Francisco Moreno Universidad Nacional. Funciones Si un procedimiento tiene solo un parámetro de salida, se puede remplazar por una función y esta.
Vhdl para síntesis Alfredo Rosado Muñoz Universidad de Valencia Ingeniería Electrónica Diseño de Circuitos y Sistemas Electrónicos.
ESTRUCTURAS DE CONTROL
Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde1 Tipos definidos por el usuario –Punteros Tipo access:
Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde1 Overloading de subprogramas procedure Put(Item: in integer;
Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde1 Subprogramas –Encabezamiento –Declaraciones –Cuerpo –Encabezamiento.
Seminario de Lenguajes A – Opción Ada Estructura general de programas –Especificación de contexto –Encabezado –Declaraciones –Cuerpo Seminario de Lenguajes.
Seminario de Lenguajes A – Opción Ada
Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde1 Genéricos –Molde a partir del cual se pueden crear instancias.
Seminario de Lenguajes A – Opción Ada Seminario de Lenguajes A – Opción Ada – Raúl Champredonde1 Tipos definidos por el usuario –Parámetros array ilimitados.
Circuitos Digitales II TestBench, Generics, Generate y Más sobre Procesos Semana No.4 Semestre Prof. Gustavo Patiño Prof. Eugenio.
Circuitos Digitales II
VHDL.
Sesión 6 Sentencias de Repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Interfaces de entrada / salida
Interfases de Entrada / Salida
GESTION DE LA JERARQUIA
ESTRUCTURA GENERAL DE UN SISTEMA DE TRANSFERENCIA DE REGISTROS
Capítulo.2 - Fundamentos del Lenguaje VHDL
DSL Domain Specific Language (Lenguaje Especifico del Dominio)
VHDL Breve introducción.
Others, soporte para síntesis. Los agregados tienen la habilidad de usar la sentencia others, la cual asignará un valor a todos los otros elementos de.
Diseño lógico combinacional mediante VHDL
Programación I Arreglos II- Matrices.
Introducción a EL: COMPONENTES  Son los elementos de modelado más importantes. Permiten modelar mediante ecuaciones continuas, discretas e incluir sentencias.
Ada 2º Parte (variables, ámbitos , subrutinas , tipos abstractos de datos y excepciones)
Diseño Lógico Combinacional con VHDL
VHDL El nombre proviene de VHSIC Hardware Description Language, donde VHSIC significa Very High Speed Integrated Circuits. Es un lenguaje formal de especificación.
Introducción a VHDL Agenda Un poco de historia Definiciones generales Entidades Arquitecturas Configuraciones.
Integración de entidades en VHDL
Librerías y packages (paquetes)
Capítulo.3 - Diseño Lógico Combinacional con VHDL
LA ARQUITECTURA O LA FUNCIONALIDAD DEL SISTEMA DefiniciónDefiniciónDefinición Declaración y reglas sintácticas.Declaración y reglas sintácticas.Declaración.
Base de datos Francisco Castro. Creación de una tabla drop table TABLA cascade constraints; /*==============================================================*/
Diseño jerárquico con VHDL
BANCOS DE PRUEBAS CON VHDL (TESTBENCHES). Sistemas Digitales - FIUBA Bancos de prueba ¿Cómo realizar la prueba de un dispositivo descripto en VHDL? DUT.
Algorítmica y Programación
MODULA Lenguaje de Programación Anabel Martín González
Programación en Visual Basic
Mtr. Adrián Monge Monge Educación 2015 Maestría, Mención en Administración de Proyectos ULACITMaestría, Mención en Administración de Proyectos 2012 Licenciatura,
Prof. Jonathan Silva Ingeniería Civil – Informática I Ingeniería Civil Informática I Clase 5.
VHDL. Indice Sistemas Digitales - FIUBA VHDL Lenguajes descriptores de hardware VHDL - Introducción - Entidad de diseño (declaración de entidad y cuerpo.
NCO (Numerically Controlled Oscillator). NCO: Oscilador controlado numéricamente Aplicaciones Conversores digitales up/down PLLs digitales Sistemas de.
1 LENGUAJE DE DESCRIPCION DE HARDWARE ELECTRONICA DIGITAL NAYIBE CHIO CHO NAYIBE CHIO CHO.
BANCOS DE PRUEBA CON VHDL (TESTBENCHES). Sistemas Digitales - FIUBA Bancos de prueba ¿Cómo realizar la prueba de un dispositivo descripto en VHDL? DUT.
Asignación de señales en VHDL. VHDL: Asignación de señales La asignación a una señal establece una o más transacciones sobre la misma Cada señal tiene.
U.M.S.A. ETN-601 Sistemas Digitales Decodificador 3 a 8 Aux. David Marza Herrera.
CONSIDERACIONES DE RUIDO EN SISTEMAS PCM ING. JAVIER GARCIA.
Variables y operadores lógicos
Diseño de Circuitos Lógicos Combinatorios (2)
Hardware Description Language
Programación en VHDL.
ispLSI1032E- Estructura Disseny Electrònic Assistit per Ordinador
(1) Basic Language Concepts © Sudhakar Yalamanchili, Georgia Institute of Technology, 2006.
Transcripción de la presentación:

Introducción al VHDL VHDL orientado a la síntesis de circuitos en Dispositivo Lógicos Programables

Introducción Lenguaje de descripión de dispositivos Hardware. Diferencias con lenguajes de programación: describe procesos que ocurren en paralelo. Una descripción VHDL, reperesenta el comportamiento o la estructura de un sistema. Permite describir un sistema como la interconección de componentes.

Niveles de representación Niveles de abstracción: comportamental: describe comportamiento de las salidas en función de las entradas. (expresión booleana, máquinas de estado,etc.) estructural: describe el sistema como un grupo de compuertas o bloques que se interconectan. La descripción estrucutural se asemeja a un esquemático.

Estructura básica Un sistema digital en VHDL consiste en el diseño de una entidad entity declaration: define las entradas y salidas de la entidad. architectural body: contiene la descripción de la entidad (lo que hace o contiene), interconección de componentes y otras entidades, procesos, etc.

Entity declaration entity NAME_OF_ENTITY is [ generic generic_declarations);] port (signal_names: mode type; signal_names: mode type; : signal_names: mode type); end [NAME_OF_ENTITY] ; entity ALARMA is port (PUERTA, ENCENDIDO, CINTO: in std_logic; SEÑAL: out std_logic); end ALARMA;

Architecture body architecture architecture_name of NAME_OF_ENTITY is -- Declarations -- components declarations -- signal declarations -- constant declarations -- function declarations -- procedure declarations -- type declarations : begin -- Declaraciones end architecture_name;

Modelo comportamental los statments describen la alarma a nivel de comportamiento del circuito. Operadores lógicos permitidos: and, or, nand, nor, xor, xnor and not. architecture comportamental of ALARMA is begin SEÑAL <= (not PUERTA and ENCENDIDO) or (not CINTO and ENCENDIDO); end comportamental;

Ejemplo comportamental entity XNOR2 is port (A, B: in std_logic; Z: out std_logic); end XNOR2; architecture behavioral_xnor of XNOR2 is -- signal declaration (of internal signals X, Y) signal X, Y: std_logic; begin X <= A and B; Y <= (not A) and (not B); Z <= X or Y; end behavioral_xnor;

Modelo estructural a continuación del encabezado donde se define la entidad (arqu.) se declaran los componentes a utilizar: component NOT1 port (in1: in std_logic; out1: out std_logic); end component;

Instanciación de componentes Luego del begin se instancian los componentes declarados. instanciación posicional: label: component-name port map (signal1,signal2,…signaln); U0: NOT1 port map (DOOR, DOOR_NOT);

Instanciación de componentes instanciación explicita: label: component-name port map (port1=>signal1, port2=> signal2,… port3=>signaln); U0: NOT1 port map (in1 => DOOR, out1 => DOOR_NOT);

Ejemplo: Alarma architecture estructural of ALARMA is -- Declaraciones component AND2 port (in1, in2: in std_logic; out1: out std_logic); end component; component OR2 component NOT1 port (in1: in std_logic;

Ejemplo: Alarma (cont.) -- declaracion de señales para inteconectar compuertas signal PUERTA_NOT, CINTO_NOT, B1, B2: std_logic; begin -- Instanciación de componentes U0: NOT1 port map ( in1 => PUERTA, out1 => PUERTA_NOT); U1: NOT1 port map (CINTO, CINTO_NOT); U2: AND2 port map (ENCENDIDO, PUERTA_NOT, B1); U3: AND2 port map (ENCENDIDO, CINTO_NOT, B2); U4: OR2 port map (B1, B2, SEÑAL); end structural;

Modelo comp. : procesos secuenciales. declaración de procesos: [process_label:] process [ (sensitivity_list) ] [is] begin list of sequential statements such as: signal assignments variable assignments case statement exit statement if statement end process [process_label];

Ejemplo procesos secuenciales LIBRARY ieee ; USE ieee.std_logic_1164.all; ENTITY registro IS GENERIC( WIDTH: integer ); PORT( rstn : IN STD_LOGIC; clk : IN STD_LOGIC; ena : IN STD_LOGIC; D : IN STD_LOGIC_VECTOR(WIDTH-1 downto 0); Q : OUT STD_LOGIC_VECTOR(WIDTH-1 downto 0) END registro;

Ejemplo procesos secuenciales ARCHITECTURE behav OF registro IS BEGIN D_registro: PROCESS(clk,ena,rstn,D) --generacion de los D-FF IF (rstn='0') THEN Q <= (OTHERS => '0'); ELSIF (clk'event AND clk='1') THEN IF (ena='1') THEN Q <= D; END IF; END PROCESS D_registro; END behav;

Bibliotecas y paquetes Library: lugar donde el compilador guarda información relacionada con el proyecto actal. Package: archivo o módulo que contiene declaración de constantes, componentes, funciones, etc. Que deben ser compartidos entre diferentes módulos VHDL.

Ejemplo bibliotecas y paquetes El tipo de datos STD_LOGIC está definido en el paquete std_logic_1164 de la biblioteca ieee. Para utilzarlo en un módulo, al comienzo del archiuvo se debe incluir: library ieee; use ieee.std_logic_1164.all;

Declarción de paquetes package NOMBRE_PACKAGE is --- declaración de constantes --- declaración de componentes end NOMBRE_PACKAGE;

Ejemplo de paquete package OPERACIONES_LOGICAS is component AND2 port (in1, in2: in std_logic; out1: out std_logic); end component; component OR2 component NOT1 port (in1: in std_logic; end OPERACiONES_LOGICAS;

Ejemplo de uso de paquete LIBRARY ieee ; USE ieee.std_logic_1164.all; LIBRARY work ; USE work.OPERACIONES_LOGICAS.all; entity ALARMA is port ( PUERTA, ENCENDIDO, CINTO: in std_logic; SEÑAL: out std_logic); end ALARMA;

Ejemplo de uso de paquete architecture estructural of ALARMA is -- declaracion de señales para inteconectar compuertas signal PUERTA_NOT, CINTO_NOT, B1, B2: std_logic; begin -- Instanciación de componentes U0: NOT1 port map ( in1 => PUERTA, out1 => PUERTA_NOT); U1: NOT1 port map (CINTO, CINTO_NOT); U2: AND2 port map (ENCENDIDO, PUERTA_NOT, B1); U3: AND2 port map (ENCENDIDO, CINTO_NOT, B2); U4: OR2 port map (B1, B2, SEÑAL); end structural;

Links Ejemplo sencillo: Otro ejemplo: Referencia rápida: http://iie.fing.edu.uy/ense/asign/dlp/vhdl_ej/ejemplo.htm Otro ejemplo: http://www.hzeeland.nl/~wrijker/dsy/vhdl/algemvhdl/fcmi/vhdlintro.html Referencia rápida: http://www.eng.auburn.edu/department/ee/mgc/vhdl.html