Вы находитесь на странице: 1из 8

.

Ronald Flores, Daro Toapanta 1

Ingeniera Elctrica y Electrnica, Escuela Politcnica Nacional


Quito, Ecuador
Diseo de circuito secuencial sincrnico
dario.toapanta@epn.edu.ec
ronald.flores@epn.edu.ec

Resumen En este proyecto sirve para analizar y El GAL bsicamente est formado por una matriz AND
entender el uso que se da a los arreglos lgicos reprogramable y una matriz OR fija con configuracin
programables el cual se lo disea para un circuito programable de salidas y/o entradas.
sincrnico El estudio se hace para la introduccin del
cdigo en la GAL y esta a su vez realice el diseo.

I. INTRODUCCIN
El presente proyecto consta de bsicamente de tres etapas la
primera es el estudio de circuitos secuenciales, la segunda
base en el tratamiento que se da a este tipo de circuitos y
como tema final al anlisis del diseo propuesto.
Figura1.Estructura bsica de un GAL
A. Objetivos
Las estructuras GAL son estructuras PAL construidas con
Disear un circuito secuencial sincrnico (De ms de tecnologa CMOS, y fueron comercializadas por primera vez
5 estados) y entender cada uno de los parmetros que en 1984 por Lattice Semiconductor. Como se ha mencionado,
involucra en su programacin. son programables y borrables elctricamente. Son
reprogramables y ms flexibles, a la salida de la matriz
Realizar el estudio de la Gal a utilizarse para esta AND/OR hay un circuito ms complejo con selectores y flip-
implementacin. flops que permiten implementar ecuaciones ms complejas.
B. Elementos del diseo

Bsicamente para nuestro diseo se optara el uso de


programacin en la plataforma VHDL la cual est diseada
para este tipo de sistemas de circuitos secuenciales, esta
plataforma es una gran herramienta para el diseo de circuitos
digitales ya que nos permite reducir el uso manual de cables,
es decir que a partir de cierta programacin nuestro diseo
podr funcionar suprimiendo muchos de los integrados as
como cables que se pueden encontrar en un diseo secuencial.

II. MARCO TERICO


GAL (Generic Array Logic), Arreglo Lgico Genrico, son un
tipo de circuito integrado, que han sido diseados con el
propsito de sustituir a la mayora de las PAL, manteniendo la Figura2.Estructura bsica de un GAL
compatibilidad de sus terminales.
El circuito a la salida de la matriz se denomina macrocelda.
Son programables y borrables elctricamente Tienen integracin baja/media. El Terminal puede funcionar
Tecnologa E2CMOS como entrada o salida segn la programacin. Los trminos
Forma bsica: productos se dibujan todos sobre una sola lnea para
Matriz AND configurable simplificar el diagrama.
Matriz OR fija
Lgica de salida en macrocelda (OLMC Output
Logic Macro Cell)

Estructura de una GAL

. 2

Figura 3.Ejemplo de una Macrocelda para una GAL22V10

Referencia estndar

De manera comercial las GALs estn identificadas por un


estndar que permite conocer sus caractersticas rpidamente. Configuracin del pin
Por ejemplo a continuacin describimos el dispositivo
GAL16V8.

GAL20V8

El GAL20V8C, con un tiempo de propagacin mximo de


5ns, combina un proceso CMOS de alto rendimiento con
tecnologa de puerta flotante elctricamente Erasable (E2) para
proporcionar el rendimiento de mayor velocidad disponible en
el mercado PLD. Los tiempos de borrado de alta velocidad
(<100ms) permiten reprogramar los dispositivos de forma
rpida y eficiente.

La arquitectura genrica proporciona la mxima flexibilidad


de diseo al permitir que el software de salida Logic
Macrocell (OLMC) sea configurado por el usuario. Un
subconjunto importante de las muchas configuraciones de
arquitectura posibles con el GAL20V8 son las arquitecturas
PAL. Los dispositivos GAL20V8 son capaces de emular
cualquiera de estas arquitecturas PAL con una compatibilidad
de mapa de funciones / fusible completa / paramtrica. GAL16V8
Los circuitos de prueba nicos y las celdas reprogramables Se emplea el compilador OPAL para producir las expresiones
permiten la prueba AC, DC y funcional completa durante la lgicas secuenciales que se graban en el GAL, con esto se
fabricacin. Como resultado, Lattice Semiconductor ofrece hace prctico y flexible la programacin de GALS,
100% de programacin de campo y funcionalidad de todos los obtenindose minimizacin de costos, al ahorrar en la
productos GAL. Adems, se especifican 100 ciclos de adquisicin de componentes y en la reduccin del
borrado / escritura y retencin de datos de ms de 20 aos. dimensionado fsico del ensamble; se producen simulaciones
grficas de las seales de control que describen el
Diagrama de bloques funcional comportamiento dinmico del sistema, lo cual ayuda a facilitar
la bsqueda de la estabilidad en el prototipo final.
. 3

El GAL16V8, con un tiempo de propagacin de 3,5 ns,


combina un proceso CMOS de alto rendimiento con
tecnologa de puerta flotante elctricamente Erasable (E2) para
proporcionar el rendimiento de mayor velocidad disponible en
el mercado PLD. Los tiempos de borrado de alta velocidad
(<100ms) permiten reprogramar los dispositivos de forma
rpida y eficiente.

La arquitectura genrica proporciona la mxima flexibilidad


de diseo al permitir que el software de salida Logic
Macrocell (OLMC) sea configurado por el usuario. Un
subconjunto importante de las muchas configuraciones de
arquitectura posibles con el GAL16V8 son las arquitecturas
PAL.
Los circuitos de prueba nicos y las celdas reprogramables
permiten la prueba AC, DC y funcional completa durante la
fabricacin. Como resultado, Lattice Semiconductor ofrece
100% de programacin de campo y funcionalidad de todos los
productos GAL. Adems, se especifican 100 ciclos de
borrado / escritura y retencin de datos de ms de 20 aos.

Configuracin del PIN

Figura1.Diagrama lgico de modo registrado


. 4

III. ANLISIS DEL DISEO PROPUESTO


Una entidad es la abstraccin de un circuito, ya sea desde un
El diseo de nuestro circuito se lo implementara en base a complejo sistema electrnico o una simple puerta lgica. La
VHDL es un lenguaje de descripcin de circuitos electrnicos entidad nicamente describe la forma externa del circuito, en
digitales que utiliza distintos niveles de abstraccin. El ella se enumeran las entradas y las salidas del diseo. Una
significado de las siglas VHDL es VHSIC (Very High Speed entidad es anloga a un smbolo esquemtico en los diagramas
Integrated Circuits) Hardware Description Language. Esto electrnicos, el cual describe las conexiones del dispositivo
significa que VHDL permite acelerar el proceso de diseo. hacia el resto del diseo.

VHDL no es un lenguaje de programacin, por ello conocer su Define externamente al circuito o subcircuito.
sintaxis no implica necesariamente saber disear con l. Nombre y nmero de puertos, tipos de datos de
VHDL es un lenguaje de descripcin de hardware, que permite entrada y salida.
describir circuitos sncronos y asncronos. Tienes toda la informacin necesaria para conectar tu
circuito a otros circuitos.
Para realizar esto debemos:
Los puertos pueden ser de entrada in, salida out, entrada-salida
Pensar en puertas y biestables, no en variables ni inout o buffer. Los puertos de entrada slo se pueden leer y no
funciones. se puede modificar su valor internamente en la descripcin del
Evitar bucles combinacionales y relojes comportamiento del circuito (architecture), sobre los puertos
condicionados. de salida slo library IEEE; use IEEE.std_logic_1164.all; use
ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; La
Saber qu parte del circuito es combinacional y cul
biblioteca ieee y estos tres paquetes asociados (ms adelante
secuencial.
se explicar su significado) aparecen por defecto al generar un
mdulo VHDL en Xilinx ISE Introduccin a la Programacin
En particular VHDL permite tanto una descripcin de la
en VHDL 10 F. Informtica (UCM) se puede escribir pero
estructura del circuito (descripcin a partir de subcircuitos ms
nunca tomar decisiones dependiendo de su valor (esto implica
sencillos), como la especificacin de la funcionalidad de un
una lectura). Si es estrictamente necesario escribir sobre un
circuito utilizando formas familiares a los lenguajes de
puerto a la vez que se tiene que tener en cuenta su valor el tipo
programacin.
sera inout o buffer.
Los circuitos descritos en VHDL pueden ser simulados
utilizando herramientas de simulacin que reproducen el
Adems, en la entity se pueden definir unos valores genricos
funcionamiento del circuito descrito. Para la realizacin de la
(generic) que se utilizarn para declarar propiedades y
simulacin existe un estndar aprobado por el ieee, en el cual
constantes del circuito, independientemente de cul sea la
se explican todas las expresiones propias de VHDL y cmo se
arquitectura.
simulan. Adems, existen herramientas que transforman una
descripcin VHDL en un circuito real (a este proceso se le
Ventajas:
denomina sntesis). La sintaxis para sntesis y su
implementacin final, aunque sigue unas normas generales,
depende en gran medida de la herramienta de sntesis Poder descubrir problemas en el diseo antes de su
seleccionada. implementacin fsica.
La complejidad de los sistemas electrnicos crece
Elementos bsicos de VHDL exponencialmente, es necesaria una herramienta que
trabaje con el ordenador.
Un sistema digital est descrito por sus entradas y sus salidas y Permite que ms de una persona trabaje en el mismo
la relacin que existe entre ellas. proyecto
En el caso de VHDL por un lado se describir el aspecto
exterior del circuito: entradas y salidas; y por otro la forma de Ejemplo:
relacionar las entradas con las salidas. El aspecto exterior,
cuntos puertos de entrada y salida tenemos, es lo que entity nombre is
denominaremos entity. Y la descripcin del comportamiento generic (cte1: tipo := valor1; cte2: tipo:= valor 2; );
del circuito architecture, toda architecture tiene que estar port (entrada1, entrada2, : in tipo;
asociada a una entity. salida1, salida2, : out tipo;
puertoi : modo tipo);
Adems, aunque no es estrictamente necesario, podemos end nombre;
definir tambin las bibliotecas y paquetes que vamos a utilizar,
lo que nos indicar que tipos de puertos y operadores podemos
utilizar. Siempre ha de aparecer la definicin de las bibliotecas
y paquetes antes de la definicin de la entity.

Entity
. 5

utilizar y los componentes, otros circuitos ya definidos y


compilados de los cuales conocemos su interfaz en VHDL (su
entity).

Desde begin hasta end escribiremos todas las sentencias


propias de VHDL, pero no todas pueden utilizarse en
entity F is cualquier parte del cdigo. As pues aquellas sentencias de
generic (N: natural :=8); VHDL que tengan definido un valor para cualquier valor de la
port (A, B: in bit_vector(N-1 downto 0); entrada (y que nosotros denominamos sentencias
Y: out bit); concurrentes) podrn ir en cualquier parte del cdigo pero
end F; fuera de la estructura process. Aunque no es el fin de este
manual, puede afirmarse que todas las sentencias concurrentes
El circuito presenta dos entradas de tamao N bits y una salida se traducirn en subcircuitos combinacionales. Tambin fuera
de tamao un bit, particularizamos la entidad para N igual a 8. de la estructura process, se instanciarn los componentes,
subcircuitos ya definido sutilizados por el circuito actual,
Architecture indicando cules son sus entradas y sus salidas de entre las
seales del circuito del que forman parte.
Los pares de entidades y arquitecturas se utilizan para
representar la descripcin completa de un diseo. Una El process es una estructura particular de VHDL (que se
arquitectura describe el funcionamiento de la entidad a la que describe con mucho ms detalle ms adelante) que se reserva
hace referencia, es decir, dentro de architecture tendremos que principalmente para contener sentencias que no tengan
describir el funcionamiento de la entidad a la que est obligatoriamente que tener definido su valor para todas las
asociada utilizando las sentencias y expresiones propias de entradas (el ejemplo ms comn es una estructura if-else
VHDL. incompleta). Esto obliga a que la estructura process almacene
los valores de sus seales y pueda dar lugar (no siempre) a
Define internamente el circuito. subcircuitos secuenciales. Adems, en simulacin slo se
Seales internas, funciones, procedimientos, ejecutan las sentencias internas a esta estructura cuando
constantes. alguna de las seales de su lista de sensibilidad cambia de
La descripcin de la arquitectura puede ser valor.
estructural o por comportamiento.
WHEN ELSE
architecture arch_name of entity_name is

--- Declaraciones de la arquitectura:


--- tipos
--- seales
--- componentes

begin
En esta sentencia siempre modificamos el valor de una misma
--- cdigo de descripcin seal, pero las condiciones pueden ser independientes (actuar
--- instrucciones concurrentes sobre distintas seales cada una), dnde la colocacin de las
--- ecuaciones booleanes condiciones indica la preferencia de unas sobre otras, es decir,
--- componentes la condicin 1 tiene preferencia sobre el resto, la condicin 2
sobre todas menos la 1 y as sucesivamente.
process (lista de sensibilidad)
begin

--- cdigo de descripcin

end process;
end arch_name;

El cdigo VHDL propiamente dicho se escribe dentro de


architecture. Cada architecture va asociada a una entity y se
indica en la primera sentencia. A continuacin, y antes de
begin se definen todas las variables (seales) internas que vas
a necesitar para describir el comportamiento de nuestro
circuito, se definen los tipos particulares que necesitamos WITH SELECT
. 6

end sincronicos;

Esta sentencia es menos general que la anterior. En este caso architecture Behavioral of sincronicos is
se modificar el valor de una seal dependiendo de los valores
de una seal condicin, aparecern como mximo tantas lneas type mis_estados is (espera, encender,apagar,abrir,alarma);
como valores posibles pueda tener la seal condicin. signal D_bus,Q_bus: mis_estados;
signal salidas : std_logic_vector(2 downto 0);
begin

-- registro de estado
process (clk) begin
if (clk'event and clk='1')then
if (reset='1') then
q_bus<=espera;

else
q_bus<=d_bus;
end if;
IV. RESULTADOS end if;
end process;

-- transicion de estados
process(q_bus, sm, sf) begin
V. LIBRERAS Y FUNCIONES USADAS
case(q_bus) is
El paquete std_logic_1164 (estndar lgico_1164), que se
encuentra dentro de la librera ieee, contiene todos los tipos de
datos comnmente utilizados en VHDL, como: when espera =>
std_logic_vector, std_logic, std_signed y std_unsigned, entre if((Sm and Sf) = '1') then
otros. d_bus <=encender;
La forma en que se accede a la informacin contenida dentro else
de un paquete es mediante la sentencia use seguida del nombre d_bus <=espera;
de la librera y del paquete, respectivamente; esto es:
use nombre_librera.nombre_paquete.all; end if;
Por ejemplo: use ieee.std_logic_1164.all;
when encender =>
En este caso, ieee es la librera, std_logic_1164 es el paquete y if((Sm and Sf) = '1') then
all es la palabra reservada, la cual indica que todos los d_bus <=encender;
componentes almacenados dentro del paquete pueden ser else if(Sm = '0') then
utilizados. d_bus <=alarma;
else
El paquete std_arith define funciones y operadores d_bus <= apagar;
aritmticos como: ms (+), menos (-), divisin (/), end if;
multiplicacin (*), igual (=), mayor que (>), menor que (<),
entre otros end if;

when apagar =>


if((Sm and (not Sf)) = '1') then
d_bus <=apagar;
VI. CDIGO IMPLEMENTADO else if(Sf = '1') then
d_bus <=alarma;
else
library IEEE; d_bus <= abrir;
use IEEE.STD_LOGIC_1164.ALL; end if;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL; end if;
when abrir =>
entity sincronicos is port( d_bus <= espera;
clk,reset,sm,sf: in std_logic;
e,p,a: out std_logic);
. 7

8
when alarma => ]
d_bus <= alarma; w
w
w
end case; .l
a
tt
end process; i
--logica de salida c
with q_bus select e
s
e
salidas <= "000" when espera, m
"100" when encender, i.
"000" when apagar, c
"010" when abrir, o
"001" when alarma, m
"000" when others; /
~
e<= salidas(2); /.
p <= salidas(1); ..
a <= salidas(0); /
end Behavioral; G
A
L
VII.CONCLUSIONES /
G
A travs de la realizacin de este proyecto, se pudo evidenciar A
el funcionamiento de este tipo de circuitos secuenciales, L
adems se pudo entender acerca de la programacin que se 2
realiza en la plataforma VDHL. 2
V
En la actualidad, el lenguaje de programacin VHDL 1
(Hardware Description Language) constituye una de las 0
herramientas de programacin con mayor uso en el ambiente D
industrial y en el mbito universitario, debido a la versatilidad a
con la cual se pueden describir y sintetizar circuitos y sistemas t
digitales en la bsqueda de soluciones de aplicacin a
inmediata. S
h
e
e
t.
REFERENCIAS P
[1]http://www.uhu.es/rafael.lopezahumada/descargas/tema7_f D
und_0405.pdf F
[2]http://www.editorialpatria.com.mx/pdffiles/9786074386219 ?
.pdf l
[3] http://www.codeso.com/EqPanel01.html a
[4] http://eprints.uanl.mx/5352/1/1020149162.PDF =
[5] Apuntes de clases Sistemas Digitales Ing. Morejn, EPN, e
2017-A n
[6] http://electronicaintegradaunexpo.blogspot.com/2008/02/gal-
y-vhdl.html
[7]
https://cdn.testequity.com/documents/pdf/bk/device_programme
r_manual.pdf
[
. 8

Вам также может понравиться