Escolar Documentos
Profissional Documentos
Cultura Documentos
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
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.
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.
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.
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.
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 .
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.
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.
2. VHDL
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:
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)
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:
Dentro del VHDL hay varias formas con las que podemos disear el mismo circuito y es tarea del
diseador elegir la ms apropiada.
En VHDL tambin existen formas metdicas para el diseo de mquinas de estados, filtros
digitales, bancos de pruebas etc.
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
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:
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.
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:
2.7 ESTRUCTURA
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.
A
SAL
ENTITY AND2 B
IS
...
En la figura se muestra el cdigo correspondiente al modelo de una puerta and de dos entradas.
ENTITY and2 IS
PORT(
ent1, ent2 : IN BIT;
sal : OUT BIT
);
END ENTITY;
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.
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.
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.
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:
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;
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;
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;
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;
PROCESS (a, b) IS
BEGIN
salida <= std_logic_vector(UNSIGNED(a) + UNSIGNED(b));
END PROCESS;
END synth;
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;
BEGIN
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;
END synth;
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;
END synth;