Você está na página 1de 22

ELECTRNICA DIGITAL-VHD Y VHDL 2013

VHD Y VHDL

ELECTRNICA
DIGITAL-VHD Y
VHDL
Electrotecnia Industrial
Integrantes:
- SOSA CASTRO, Vicente
- MAMANI LUPACA, Hernn
- CHOQQUE VILCA, Merlyn
- OVIEDO CHVEZ, Nilem
- SCILLA MACHICAO, Denys
- HUARHUA LUDEA, Brayan

0 Ing. Hernando Prada


ELECTRNICA DIGITAL-VHD Y VHDL 2013

VHD Y VHDL
1. VHD
VHD (disco duro virtual) es un formato de archivo que representa una unidad de disco duro virtual
(HDD). Puede contener lo que se encuentra en un disco duro fsico, como las particiones de disco
y un sistema de archivo, lo que a su vez puede contener archivos y carpetas. Se utiliza
normalmente como el disco duro de una mquina virtual.

Un disco duro virtual (VHD son sus siglas en ingls) es un espacio ofrecido por empresas para sus
clientes como una solucin al almacenamiento de datos. Emula a un disco duro/rgido de
computadora/ordenador y gracias a la conexin a Internet, permite el acceso desde cualquier
lugar.

El formato fue creado por Connectix Virtual PC producto, que ms tarde fue adquirida por
Microsoft en 2003, por lo que ahora se conoce como Microsoft Virtual PC.

1.1CARACTERSTICAS

Un disco duro virtual permite que varios sistemas operativos a residan en una mquina.

Este mtodo permite a los desarrolladores de software de prueba en diferentes sistemas


operativos sin el costo o molestia de instalar un segundo disco duro o crear una particin
separada en un nico disco duro.

La capacidad para modificar directamente el disco duro de una mquina virtual

Mover archivos entre un sistema de archivos VHD


Backup y recuperacin
Antivirus y seguridad
Gestin de imgenes y parches
Conversin del disco (fsico a virtual, y as sucesivamente)
Gestin del ciclo de vida y el aprovisionamiento

1.2 FORMATOS COMPATIBLES

VHD se implementan como archivos que residen en el sistema de archivos nativo de acogida. Los
siguientes tipos de formato de disco duro virtual son compatibles con Microsoft Virtual PC y
Virtual Server:

IMAGEN DEL DISCO DURO FIJO: Un archivo que se asignar al tamao del disco virtual.
VHD fijos consisten en una imagen de disco en bruto seguido por un footer (PIE) de
pgina VHD (512 o anteriormente 511 bytes).

IMAGEN DEL DISCO DURO DINMICO: un archivo que en cualquier momento dado es
tan grande como los datos reales grabados en ellos.

1 Ing. Hernando Prada


ELECTRNICA DIGITAL-VHD Y VHDL 2013

DIFERENCIACIN DE IMAGEN DE DISCO DURO: un conjunto de bloques modificados


(mantenidos en un archivo separado denominado " CHILD IMAGE ") en comparacin con
una IMAGE PARENT.

El formato de diferenciacin de imagen de disco duro permite el concepto de Deshacer


Cambios: cuando est activada, todos los cambios de contenidos dentro de un disco duro virtual
(la imagen principal) se almacenan en un archivo independiente (IMAGE CHILD).

Las opciones estn disponibles para deshacer los cambios realizados en el disco duro virtual, o
combinarlos de forma permanente en el disco duro virtual.

Diferentes IMAGES CHILD sobre la base de la misma imagen tambin permiten a la IMAGE
PARENT la " clonacin " de los discos duros virtuales, por lo menos el identificador nico global
(GUID) tiene que ser diferente.

VINCULADO A UN DISCO DURO: Un archivo que contiene un enlace a un disco duro o


particin fsica de un disco duro fsico

1.3 ARRANQUE NATIVO VHD


Arranque nativo VHD se refiere a la capacidad de un equipo fsico para montar y arrancar desde un
sistema operativo contenido en un disco duro virtual. Windows 7 Enterprise y Ultimate apoyar
esta posibilidad, con y sin un sistema operativo host actual. Windows Server 2008 R2 tambin
compatible con esta caracterstica.

1.4 LIMITACIONES
El formato VHD tiene una limitacin integrada de poco menos de 2 TiB (2040 GiB ) para el
tamao de cualquier VHD dinmicos o de diferenciacin. Esto es debido a una tabla de
correctores que slo permiten el mximo de una cantidad de 32 bits. Se calcula multiplicando por
2 32 512 bytes para cada sector.
La C H S frmula en la especificacin VHD permite un mximo de 65 535 16
255 sectores. Sobre 127 GiB es tambin el lmite para VHD en Windows Virtual PC . Por menos
de 65 535 16 63 sectores (sobre 31 GiB) de la CHS-valor en el pie VHD utiliza un mnimo de H =
4 y un mximo de H = 16 cabezas con S = 17, 31, o 63 sectores por pista.
El algoritmo CHS determina entonces C =( T / S )/ H . La especificacin no aborda los casos en que
el valor de CHS en el pie VHD no coincide con el (virtual) de geometra CHS en el Master Boot
Record de la imagen de disco en el VHD. Microsoft Virtual Server (tambin Connectix deriva)
tiene esta limitacin utilizando controladores IDE virtuales pero 2 TiB si se utilizan virtual RAID ni
SCSI virtuales.

2 Ing. Hernando Prada


ELECTRNICA DIGITAL-VHD Y VHDL 2013

1.5 EL SOPORTE DE SOFTWARE

Formato de disco duro virtual fue inicialmente utilizado slo por Microsoft Virtual PC (y Microsoft
Virtual Server ). Despus, sin embargo, Microsoft utiliza el formato VHD de Hyper-V , el hipervisor
de la tecnologa de virtualizacin basada en Windows Server 2008 .

Microsoft tambin utiliza el formato de copia de seguridad Complete PC , un componente de


software de copia de seguridadque se incluye con Windows Vista y Windows 7 . Adems,
Windows 7 y Windows Server 2008 R2 incluye soporte para la creacin, montaje y arranque desde
VHD.

La unidad Vista (o posterior) gerente GUI soporta un subconjunto de las funciones de la


herramienta de lnea de comandos diskpart. VHD conocidos como disco virtual en diskpart se
pueden crear, formato, adjunto (montado), separado (sin montar), se fusion (por VHD de
diferenciacin) y compactado (para discos duros virtuales en un sistema de archivos NTFS de
acogida). La compactacin es tpicamente un procedimiento de dos etapas, primero los sectores
no utilizados en el VHD se rellenan con ceros, y luego diskpart puede usar el NTFS caracterstica
de los archivos dispersos para eliminar carreras de ceros en el disco duro virtual. Las adiciones de
mquina virtual en mayores VPC versiones y las funciones de integracin de la mquina
virtual enWindows Virtual PC contienen precompacto ISO imgenes para el primer paso en los
sistemas invitados compatibles.

Productos de otros fabricantes tambin utilizan el formato VHD archivo. Oracle VirtualBox ,
parte de Sun xVM lnea de Sun Microsystems soporta VHD en versiones 2 y posteriores. VMware
ESX Server y VMware Workstation tambin admite el formato de archivo de disco duro virtual
como una alternativa a su propia VMDK formato. El formato de archivo VHD tambin es
adoptado porXenSource por lo que ahora es el Citrix XenServer hipervisor.

1.6 CAMBIAR OFFLINE

A veces es til para modificar un archivo VHD sin tener que arrancar el sistema operativo. Hyper-
V ofrece offline manipulacin VHD, proporcionando a los administradores la capacidad para
acceder de forma segura los archivos de un disco duro virtual sin tener que crear una instancia de
una mquina virtual. Esto proporciona a los administradores con acceso granular a VHD y la
capacidad para realizar algunas tareas de administracin en lnea. [12] La Administracin de discos
MMC plugin de Windows se puede conectar directamente a un archivo. vhd como una letra de
unidad en Windows 7, Windows Server 2008 (64 bits) y Windows Server 2008 R2.Para situaciones
en las que el montaje de un disco duro virtual en el sistema operativo no es deseable, algunos
programas permiten a los desarrolladores de software para inspeccionar y modificar archivos
VHD, incluyendo . DiscUtils NET , WinImage y R1Soft Hyper-V Explorador VHD.

3 Ing. Hernando Prada


ELECTRNICA DIGITAL-VHD Y VHDL 2013

2. VHDL

2.1 Lenguajes de Descripcin Hardware

Los lenguajes de descripcin hardware (HDLs, Hardware Description Languages) vienen


utilizndose desde los aos 70 en los ciclos de diseo de sistemas digitales asistidos por
herramientas de CAD electrnico. Al principio surgieron una serie de lenguajes que no llegaron
a alcanzar un xito que permitiera su consolidacin en el campo industrial o acadmico. En los
aos 80 aparecen los lenguajes Verilog y VHDL que, aprovechando la disponibilidad de
herramientas hardware y software cada vez ms potentes y asequibles y los adelantos en las
tecnologas de fabricacin de circuitos integrados, logran imponerse como herramientas
imprescindibles en el desarrollo de nuevos sistemas. En la actualidad ambos lenguajes estn
normalizados y comparten una posicin hegemnica que est arrinconando y terminar,
probablemente, en poco tiempo eliminando del mercado al resto de lenguajes que de un
modo u otro todava son soportados por algunas herramientas de CAD.

Estos lenguajes son sintcticamente similares a los de programacin de alto nivel Verilog
tiene una sintaxis similar al C y VHDL a ADA y se diferencian de stos en que su semntica
est orientada al modelado del hardware. Su capacidad para permitir distintos enfoques en el
modelado de los circuitos y su independencia de la tecnologa y metodologa de diseo
permiten extender su uso a los distintos ciclos de diseo que puedan utilizarse. Por ello, para
los profesionales relacionados de alguna manera con el diseo o mantenimiento de sistemas
digitales resulta hoy en da imprescindible su conocimiento.

2.2 QU ES?

VHDL significa VHSIC Hardware Description Language, y a su vez VHSIC significa Very High Speed
Integrated Circuit. Se trata de un lenguaje de descripcin de hardware, esto significa que
mediante l se puede describir la forma de comportarse de un circuito electrnico. El
comportamiento puede ser llevado a algn dispositivo que dispondr de sus propios
componentes con los que lograr ese comportamiento deseado. La forma de comportarse es
independiente del hardware donde se implementar.
Es un lenguaje definido por el IEEE (Institute of Electrical and Electronics Engineers) (ANSI/IEEE
1076-1993) usado por ingenieros para describir circuitos digitales. Otros mtodos para disear
circuitos son la captura de esquemas (con herramientas CAD) y los diagramas de bloques, pero
stos no son prcticos en diseos complejos. Otros lenguajes para el mismo propsito
sonVerilog y ABEL.
El VHDL es un estndar llamado IEEE 1076-1993. Sus ventajas son:

Una disponibilidad pblica


Independencia de dispositivos y fabricantes
4 Ing. Hernando Prada
ELECTRNICA DIGITAL-VHD Y VHDL 2013

Reutilizacin
Diseo jerrquico
Un proyecto de VHDL puede contener muchos ficheros. El cdigo VHDL usualmente se
encuentra en los ficheros con extensin *.vhd. La estructura tpica de uno de estos ficheros es:

Llamadas a libreras

Entidad

Arquitectura(s)

2.3 Caractersticas del lenguaje

El lenguaje VHDL fue creado con el propsito de especificar y documentar circuitos y sistemas
digitales utilizando un lenguaje formal. En la prctica se ha convertido, en un gran nmero de
entornos de CAD, en el HDL de referencia para realizar modelos sintetizables automticamente.
Las principales caractersticas del lenguaje VHDL se explican en los siguientes puntos:

Descripcin textual normalizada: El lenguaje VHDL es un lenguaje de descripcin que


especifica los circuitos electrnicos en un formato adecuado para ser interpretado tanto por
mquinas como por personas. Se trata adems de un lenguaje formal, es decir, no resulta
ambiguo a la hora de expresar el comportamiento o representar la estructura de un circuito.
Est, como ya se ha dicho, normalizado, o sea, existe un nico modelo para el lenguaje, cuya
utilizacin est abierta a cualquier grupo que quiera desarrollar herramientas basadas en dicho
modelo, garantizando su compatibilidad con cualquier otra herramienta que respete las
indicaciones especificadas en la norma oficial. Es, por ltimo, un lenguaje ejecutable, lo que
permite que la descripcin textual del hardware se materialice en una representacin del mismo
utilizable por herramientas auxiliares tales como simuladores y sintetizadores lgicos,
compiladores de silicio, simuladores de tiempo, de cobertura de fallos, herramientas de diseo
fsico, etc.

Amplio rango de capacidad descriptiva: El lenguaje VHDL posibilita la descripcin del


hardware con distintos niveles de abstraccin, pudiendo adaptarse a distintos propsitos y
utilizarse en las sucesivas fases que se dan en el desarrollo de los diseos. Adems es un lenguaje
adaptable a distintas metodologas de diseo y es independiente de la tecnologa, lo que
permite, en el primer caso, cubrir el tipo de necesidades de los distintos gneros de instituciones,
compaas y organizaciones relacionadas con el mundo de la electrnica digital; y, en el

5 Ing. Hernando Prada


ELECTRNICA DIGITAL-VHD Y VHDL 2013

segundo, facilita la actualizacin y adaptacin de los diseos a los avances de la tecnologa en


cada momento.

Otras ventajas: Adems de las ventajas ya reseadas tambin es destacable la capacidad


del lenguaje para el manejo de proyectos de grandes dimensiones, las garantas que comporta
su uso cuando, durante el ciclo de mantenimiento del proyecto, hay que sustituir componentes o
realizar modificaciones en los circuitos, y el hecho de que, para muchas organizaciones
contratantes, sea parte indispensable de la documentacin de los sistemas.

2.4 Formas de describir un circuito

Dentro del VHDL hay varias formas con las que podemos disear el mismo circuito y es tarea del
diseador elegir la ms apropiada.

Funcional: Describimos la forma en que se comporta el circuito. Esta es la forma que ms se


parece a los lenguajes de software ya que la descripcin es secuencial. Estas sentencias
secuenciales se encuentran dentro de los llamados procesos en VHDL. Los procesos son
ejecutados en paralelo entre s, y en paralelo con asignaciones concurrentes de seales y con
las instancias a otros componentes.

Flujo de datos: describe asignaciones concurrentes (en paralelo) de seales.

Estructural: se describe el circuito con instancias de componentes. Estas instancias forman


un diseo de jerarqua superior, al conectar los puertos de estas instancias con las seales
internas del circuito, o con puertos del circuito de jerarqua superior.

Mixta: combinacin de todas o algunas de las anteriores.

En VHDL tambin existen formas metdicas para el diseo de mquinas de estados, filtros
digitales, bancos de pruebas etc.

2.5 Tipos de descripcin

Como se ha dicho antes, VHDL sirve para describir un circuito electrnico, pero el mismo circuito
puede ser descrito de varias formas. Las formas de hacerlo son:

Descripcin de comportamiento
Descripcin de flujo de datos (RTL Registred Transfer Level)
Descripcin estructural
A continuacin se presenta una descripcin de cada tipo de descripcin y un ejemplo en VHDL,
obviamente an no se ha visto la sintaxis de VHDL por lo que habr partes del cdigo que el

6 Ing. Hernando Prada


ELECTRNICA DIGITAL-VHD Y VHDL 2013

lector no pueda entender. El cdigo se pone slo para poder comparar las distintas formas de
descripcin. Los tres ejemplos de cdigo son slo las arquitecturas, los tres podran tener como
entidad:

ENTITY mux
PORT(control, entrada1, entrada2: IN BIT;
salida: OUT BIT);
END mux;

A. Descripcin de comportamiento
Una descripcin de comportamiento de un multiplexor de dos entradas, una salida y una
seal de seleccin sera: la salida ser igual a la primera entrada si la seal de control est
desactivada y la salida ser la segunda entrada si la seal de control est activada.
En VHDL la arquitectura de este multiplexor para la entidad llamada mux sera:

ARCHITECTURE mux_comportamiento OF mux IS


BEGIN
PROCESS(entrada1, entrada2, control)
BEGIN
IF (control = '0') THEN
salida <= entrada1;
ELSE
salida <= entrada2;
END IF;
END PROCESS;
END mux_comportamiento;

B. Descripcin de flujo de datos


En una descripcin de flujo de datos del mismo multiplexor la salida sera la ecuacin
lgica: s=(entrada1 AND NOT control) OR (entrada2 AND control)
En VHDL la arquitectura sera:

ARCHITECTURE mux_rtl OF mux IS


SIGNAL int1, int2, int3 : BIT;
BEGIN
int1 <= NOT control;
int2 <= entrada1 AND int1;
int3 <= entrada2 AND control;
salida <= int2 OR int3;

7 Ing. Hernando Prada


ELECTRNICA DIGITAL-VHD Y VHDL 2013

END mux_rtl;

Esta descripcin hay varias instrucciones concurrentes, por lo que son ejecutadas cada vez que
una seal interviene en su asignacin. Realmente, se trata casi de una descripcin estructural,
puesto que se estn describiendo seales y sus componentes. Aunque tambin son asignaciones
a seales y no una lista de componentes y sus conexiones. En el siguiente ejemplo se muestra
una descripcin de flujo de datos pura.

ARCHITECTURE mux_rtl OF mux IS


BEGIN
salida <= entrada1 WHEN control = '0' ELSE
entrada2;
END mux_rtl;

C. Descripcin estructural
Una descripcin estructural consistira en decir que el circuito tiene una puerta inversora
U1, dos puertas AND de dos entradas U2 y U3 y una puerta lgica OR de dos entradas
U4, adems tambin describe las conexiones entre estas puertas, un ejemplo sera: la
entrada de U1 es la seal de control, la salida de U1 se conecta a la segunda entrada de
U2, la primera entrada de U1 es entrada1, etc.
El cdigo VHDL sera:

ARCHITECTURE mux_estructural OF mux IS


SIGNALl int1, int2,int3:bit;
BEGIN
U1: inversor PORT MAP(control, int1);
U2: and_2_entradas PORT MAP(entrada1, int1, int2);
U3: and_2_entradas PORT MAP(entrada2, control, int3);
U4: or_2_entradas PORT MAP(int2, int3, salida);
END mux_estructural;

En el cdigo anterior se deberan haber definido previamente las


puertas inversor, and_2_entradas y or_2_entradas.

8 Ing. Hernando Prada


ELECTRNICA DIGITAL-VHD Y VHDL 2013

2.6 VHDL, describe estructura y comportamiento

2.7 ESTRUCTURA

La Declaracin de Entidad y el Cuerpo de Arquitectura

La realizacin del modelo hardware de un dispositivo en VHDL consiste en la elaboracin de dos


unidades de cdigo VHDL: una Declaracin de Entidad y un Cuerpo de Arquitectura.

La Declaracin de Entidad es la unidad de diseo VHDL que sirve para especificar el interfaz de
los dispositivos. Cumple, por tanto, funciones equivalentes a las de los smbolos en las
representaciones grficas.

El Cuerpo de Arquitectura es la unidad de diseo VHDL que sirve para especificar el


funcionamiento de un dispositivo identificado por una determinada Declaracin de Entidad, por
lo que se puede considerar el equivalente a las tablas de verdad o a los cronogramas.

9 Ing. Hernando Prada


ELECTRNICA DIGITAL-VHD Y VHDL 2013

DESCRIPCIN DE UN DISPOSITIVO EN VHDL :


DECLARACIN DE ENTIDAD + CUERPO DE ARQUITECTURA

A
SAL
ENTITY AND2 B
IS
...

ARCHITECTURE SAL <= A AND B

En la figura se muestra el cdigo correspondiente al modelo de una puerta and de dos entradas.

En la Declaracin de Entidad se define el nombre del dispositivo y sus puertos; en el Cuerpo de


Arquitectura su funcionamiento, en este caso mediante una sentencia que utiliza un operador
lgico.

10 Ing. Hernando Prada


ELECTRNICA DIGITAL-VHD Y VHDL 2013

PUERTA AND DE DOS ENTRADAS

ENTITY and2 IS
PORT(
ent1, ent2 : IN BIT;
sal : OUT BIT
);
END ENTITY;

ARCHITECTURE rtl OF and2 IS


BEGIN
sal <= ent1AND ent2;
END rtl;

La construccin del modelo de un dispositivo en un entorno VHDL finaliza, en principio, en el


momento en que las unidades VHDL que lo describen quedan almacenadas en una librera VHDL.
Para ello hay que editar las unidades y compilarlas. En el proceso de compilacin se comprueba
que no se incumplen una serie de reglas sintcticas y semnticas.

2.7.1 Sintaxis Bsica de la Declaracin de Entidad

La entidad sirve para definir las entradas y salidas que tendr un determinado circuito. Para
definir una entidad se realizar mediante la palabra reservada ENTITY.

La sintaxis bsica de la Declaracin de Entidad es la siguiente:

ENTITY {nombre del dispositivo} IS


PORT(
{lista de puertos de entrada} : IN {tipo de dato};
{lista de puertos bidireccionales} : INOUT {tipo de dato};
{lista de puertos de salida} : OUT {tipo de dato};
{lista de puertos de salida} : BUFFER {tipo de dato}); END
ENTITY;

11 Ing. Hernando Prada


ELECTRNICA DIGITAL-VHD Y VHDL 2013

Obviamente, el identificador que sigue a la palabra clave ENTITY es el nombre del dispositivo.
Los puertos del dispositivo se especifican, entre parntesis, en la lista de interfaz de la
declaracin de entidad, que es el campo sealado por la palabra clave PORT. Para cada puerto
hay que declarar:

1. Su nombre: Los nombres de los puertos son etiquetas definibles por el usuario. No
pueden utilizarse palabras reservadas del lenguaje.

2. Su direccin: La direccin del puerto se determina a partir de las caractersticas del


terminal del dispositivo que se desea modelar: los pines de entrada se definen como de tipo
IN, los de salida como OUT y los bidireccionales como INOUT.

3. El tipo de datos que maneja el puerto: En los modelos VHDL hay que definir el tipo de datos
de los objetos. La eleccin del tipo de datos es muy importante, pues determina el conjunto
de valores que puede tomar el objeto declarado, as como las operaciones (lgicas,
aritmticas y de conversin de tipos) que se le pueden aplicar, cuestin fundamental a la
hora de describir el funcionamiento de los dispositivos.

En el ejemplo de la puerta and se utiliza el tipo BIT. En VHDL este tipo consta de dos valores,
los caracteres 0 y 1, sobre los que se definen las operaciones lgicas bsicas y las de
comparacin.

2.7.2 Cuerpos de Arquitectura. Nociones Bsicas

La sintaxis bsica de un Cuerpo de Arquitectura es la siguiente:

12 Ing. Hernando Prada


ELECTRNICA DIGITAL-VHD Y VHDL 2013

Las dos etiquetas que forman parte de la cabecera nombran a la propia Arquitectura y a la
Declaracin de Entidad a la que est asociada. La primera vuelve a aparecer en la lnea que cierra
el Cuerpo de Arquitectura.

Por lo dems, se distinguen dos reas para la inclusin de cdigo con dos propsitos distintos:

1. La comprendida entre la cabecera y la palabra BEGIN est destinada a la declaracin de


objetos que se precisen para realizar la descripcin del funcionamiento del dispositivo.

2. Entre la palabra BEGIN y END {arquitectura} se describe el funcionamiento.

En el ejemplo de la puerta and no se declara ningn objeto y la descripcin del funcionamiento se


realiza utilizando una sentencia concurrente de asignacin de valor a seal.

2.8 Operadores predefinidos

En la siguiente tabla se muestran los smbolos de las operaciones predefinidas

13 Ing. Hernando Prada


ELECTRNICA DIGITAL-VHD Y VHDL 2013

PROGRAMACIN EN VHDL
EJEMPLOS

PUERTA TRIESTADO

El objetivo es crear una puerta que tenga una seal de operacin la cual, a estado alto, habilite la
salida, por lo tanto el valor de la entrada pasar a la salida. Cuando la seal de operacin est a
nivel bajo la puerta no sacar una seal, es decir, estar en alta impedancia.

Entradas:
entrada: entrada de datos.
op: seal que indica el modo de funcionar de la puerta.
Salidas:
salida: salida de datos.

LIBRARY IEEE;
USE IEEE.std_logic_1164.ALL;

ENTITY triestado IS
PORT(op, entrada: IN std_logic;
salida: OUT std_logic);
END triestado;

ARCHITECTURE synth OF triestado IS


BEGIN
PROCESS(entrada,op)
BEGIN
IF op='1' THEN
salida <= entrada;
ELSE
salida <= 'Z';
END IF;
END PROCESS;
END ARCHITECTURE synth;

14 Ing. Hernando Prada


ELECTRNICA DIGITAL-VHD Y VHDL 2013

MULTIPLEXOR

El objetivo es crear un sistema que devuelva un valor dependiente de otra seal de entrada, la
cual ser la encargada de seleccionar la salida. Adems se definirn varias entradas de datos que
actuarn como salidas. Cuando la seal de seleccin este a cero no se producir ninguna salida,
es decir el valor ser cero.

Entradas:
a, b, c: entradas de datos.
sel: seal que indica la seal que va a ser devuelta.
Salidas:
salida: salida de datos.

library IEEE;
use IEEE.STD_LOGIC_1164.all;

ENTITY mux IS
PORT(a : IN std_logic_vector(3 DOWNTO 0);
b : IN std_logic_vector(3 DOWNTO 0);
c : IN std_logic_vector(3 DOWNTO 0);
sel : IN std_logic_vector(1 DOWNTO 0);
salida : OUT std_logic_vector(3 DOWNTO 0));
END mux;

ARCHITECTURE synth OF mux IS


BEGIN

PROCESS (sel, a, b, c) IS
BEGIN
CASE sel IS
WHEN "00" => salida <= (others => '0');
WHEN "01" => salida <= a;
WHEN "10" => salida <= b;
WHEN "11" => salida <= c;
WHEN OTHERS => salida <= (others => '0');
END CASE;
END PROCESS;
END synth;

15 Ing. Hernando Prada


ELECTRNICA DIGITAL-VHD Y VHDL 2013

SUMADOR

El objetivo es crear un sumador que dadas dos entradas de datos devuelva la suma de estos.

Entradas:
a: operando 1.
b: operando 2.
Salidas:
salida: suma de las entradas.

library IEEE;
use IEEE.STD_LOGIC_1164.all;
use IEEE.NUMERIC_STD.all;

ENTITY sum IS
PORT (a : IN std_logic_vector(3 DOWNTO 0);
b : IN std_logic_vector(3 DOWNTO 0);
salida : OUT std_logic_vector(4 DOWNTO 0));
END sum;

ARCHITECTURE synth OF sum IS


BEGIN

PROCESS (a, b) IS
BEGIN
salida <= std_logic_vector(UNSIGNED(a) + UNSIGNED(b));
END PROCESS;
END synth;

16 Ing. Hernando Prada


ELECTRNICA DIGITAL-VHD Y VHDL 2013

CONTADOR

El objetivo es crear un contador con reset asncrono, seal de habilitacin y salida con un nmero
de bits configurable, con la siguiente definicin de interfaz:

Entradas:
reset: Reset del sistema.
clk: Reloj del sistema.
enable: Activacin-Desactivacin del contador.

Salidas:
count: Salida del contador.

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.all;
USE IEEE.NUMERIC_STD.all;

ENTITY count IS
GENERIC (width:POSITIVE:=8);
PORT (clk : IN std_logic;
reset : IN std_logic;
enable: IN std_logic;
count : OUT std_logic_vector(width-1 DOWNTO 0)
);
END count;

ARCHITECTURE arch1 OF count IS


SIGNAL cnt : UNSIGNED(width-1 DOWNTO 0);

BEGIN

pSeq : PROCESS (clk, reset) IS


BEGIN
IF reset = '1' THEN
cnt <= (others => '0');
ELSIF clk'event AND clk='1' THEN
IF enable='1' THEN
cnt <= cnt + 1;
END IF;
END IF;
END PROCESS;

17 Ing. Hernando Prada


ELECTRNICA DIGITAL-VHD Y VHDL 2013

BIESTABLE-LATCH

El objetivo es crear un dispositivo capaz de reproducir en cada tic de reloj la entrada en la salida.
Para ello ser necesario disponer del reloj y reset del sistema.

Entradas:
rst: Reset del sistema.
clk: Reloj del sistema.
a: Entrada de datos.
Salidas:
b: Salida de datos.

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.all;

ENTITY biestable IS
PORT (clk : IN std_logic;
rst : IN std_logic;
a : IN std_logic_vector(31 DOWNTO 0);
b: OUT std_logic_vector(31 DOWNTO 0));
END biestable;

ARCHITECTURE synth OF biestable IS


BEGIN

pSeq : PROCESS (clk, rst) IS


BEGIN
IF rst = '1' THEN
b <= (others => '0');
ELSIF clk='1' AND clk'event THEN
b <= a;
END IF;
END PROCESS;

END synth;

18 Ing. Hernando Prada


ELECTRNICA DIGITAL-VHD Y VHDL 2013

Tambin es posible realizar esta operacin a travs de una seal de activacion (enable), pero a
este tipo de diseos se les denomina latch. En este caso no har falta la seal de reloj, pero s el
reset.

Entradas:
rst: Reset del sistema.
en: Enable de almacenamiento.
a: Entrada de datos.
Salidas:
b: Salida de datos.

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.all;

ENTITY latch IS
PORT (en : IN std_logic;
rst : IN std_logic;
a : IN std_logic_vector(31 DOWNTO 0);
b: OUT std_logic_vector(31 DOWNTO 0));
END latch;

ARCHITECTURE synth OF latch IS


BEGIN

pSeq : PROCESS (en, rst) IS


BEGIN
IF rst = '1' THEN
b <= (others => '0');
ELSIF en = '1' THEN
b <= a;
END IF;
END PROCESS;

END synth;

19 Ing. Hernando Prada


ELECTRNICA DIGITAL-VHD Y VHDL 2013

20 Ing. Hernando Prada


ELECTRNICA DIGITAL-VHD Y VHDL 2013

21 Ing. Hernando Prada

Você também pode gostar