Escolar Documentos
Profissional Documentos
Cultura Documentos
Por ejemplo:
entity sumador is
port (A,B: in bit_vector (3 downto 0) ;
Cin: in bit;
Cout: out bit;
SUMA: out bit_vector( 3 downto 0)) ;
end sumador;
1 Ejemplo
2 library ieee;
3 use ieee.std_logic_1164.all ;
4 entity tabla is port(
5 a,b,c: in std_logic;
6 f: out std_logic);
7 end tabla;
8 architecture ejemplo of tabla is
9 begin
10 f <= '1' when (a='0' and b= '0 and c= '0') else
11 '1' when (a= '0 and b= 1 and c= '1') else
12 1 when (a= '1 and b= '1' and c= '0') else
13 '1 when (a= '1' and b= '1' and c= '1 ) else
14 '0';
15 end ejemplo;
library ieee;
use ieee.std_logic_1164.all;
ING.CIP.Dennis Izquierdo L.
dizquierdo@tecsup.edu.pe 63
EJEM2:
Se desea disear un registro con FF tipo J-K.
EJEM2:
Se desea disear un registro con FF tipo T
VHDL- Contadores
EJEM2:
Se desea disear un contador de 0 a 15 UP/DOWN
Cdigo del
contador
EJEM2:
Se desea disear un registro.
FLIP FLOP
EJEM1:
El sistema tendr en la salida z un 1 si recibe cuatro 1s consecutivos.
Cdigo de la maquina de
estado
ING.CIP.Dennis Izquierdo L.
dizquierdo@tecsup.edu.pe
EJEM2:
Se desea disear un circuito que genere una seal de encender un led y apagar
un led cada 1 segundo.
Para pasar de 20 ns a 1 segundo (de 50 MHz a 1 HZ), tenemos que contar hasta 50
millones (50x106). La menor potencia14 de dos superior a 50x106 es 26. Esto es, 226 >
50x106 >225. Por tanto, necesitamos 26 bits para poder representar el nmero 50x106.
As que nuestra seal de cuenta va a tener 26 bits.
Para llevar la cuenta se puede utilizar una seal de tipo entero o natural (integer o
natural). Esta seal debe de tener un rango potencia de dos. Su declaracin sera:
Fjate que el rango de los enteros o naturales es ascendente (to en vez de downto
como lo era en los std_logic_vector).
La operacin potencia se representa con dos asteriscos en VHDL. Se debe restar
uno al resultado de la potencia porque el rango empieza en cero. Por ejemplo para 8
bits, el rango sera:
NOTA: Para calcular el nmero de bits que necesitas, obtn el entero superior al
resultado del logaritmo en base 2 del nmero.
Por ejemplo, log2(5010 6) = 25,75 26 bits.
Se pide implementar un diseo con VHDL del sistema de un semforo:
http://books.google.es/books?id=wpRRNiq5V1EC&prints
ec=frontcover&dq=boylestad&hl=es&sa=X&ei=raVrVIrx
C4qhNsiPgqAE&ved=0CCUQ6AEwAA#v=onepage&q=bo
ylestad&f=false