Sunteți pe pagina 1din 7

UNIVERSIDAD POLITÉCNICA SALESIANA CIRCUITOS DIGITALES AVANZADOS

Fecha: 30/11/2018

APLICACIÓN DE UN CRUZE CON SEMAFOROS


ARELLANO ALEJANDRO GARCIA ESTEBAN
agarcia@est.ups.edu.ec
MONTALVAN TANDAZO LUIS ALBERTO
lmontalvant@est.ups.edu.ec
NECPAS LECHON WILMER ERNESTO
wnecpas@est.ups.edu.ec
QUINTE CAIZA CHRISTIAN FERNANDO
cquinte@est.ups.edu.ec
QUISHPE TUTILLO JAIME FERNADO
Jquishpet1@est.ups.edu.ec

RESUMEN: En este proyecto se implementa la realización de un semáforo para el cual se utiliza el lenguaje verilog y el
simulador LabVIEW para la programación y simulación de esta, y después de la respectiva simulación se lo realiza en la
FPGA.

PALABRAS CLAVE: FPGA, CIRCUITOS DIGITALES AVANZADOS, VERILOG, LABVIEW, SEMAFORO.

1. OBJETIVOS

-Se implementará la programación de un semáforo controlado por tiempo dando preferencia a un cruce peatonal al
momento de realizar un pulso para que el semáforo sea cambiado de su estado original.

1.1 OBJETIVOS ESPECIFICOS


 Implementar la programación en verilog o en un programa similar para implementarlo en LabVIEW.
 La programación debe dar preferencia a un paso peatonal para que las personas al momento de pulsar este
semáforo de paso a las peatonas.
 Implementar físicamente en la FPGA con el programa respectivo para su visualización.

2. MARCO TEÓRICO
2.1 LabVIEW
LabVIEW ofrece un enfoque de programación gráfica que le ayuda a visualizar cada aspecto de su aplicación,
incluyendo configuración de hardware, datos de medidas y depuración. Esta visualización hace que sea más fácil
integrar hardware de medidas de cualquier proveedor, representar una lógica compleja en el diagrama, desarrollar
algoritmos de análisis de datos y diseñar interfaces de usuario personalizadas.
Este programa fue creado por National Instruments (1976) para funcionar sobre máquinas MAC, salió al mercado por
primera vez en 1986. Ahora está disponible para las plataformas Windows, UNIX, MAC y GNU/Linux. La penúltima
versión es la 2013, con la increíble demostración de poderse usar simultáneamente para el diseño del firmware de
un instrumento RF de última generación, a la programación de alto nivel del mismo instrumento, todo ello con código
abierto. Y posteriormente la versión 2014 disponible en versión demo para estudiantes y profesional, la versión demo
se puede descargar directamente de la página National Instruments.

Los programas desarrollados con LabVIEW se llaman Instrumentos Virtuales, o VIs, y su origen provenía del control
de instrumentos, aunque hoy en día se ha expandido ampliamente no sólo al control de todo tipo de electrónica

1
(Instrumentación electrónica) sino también a su programación embebida, comunicaciones, matemáticas, etc. Un
lema tradicional de LabVIEW es: "La potencia está en el Software", que con la aparición de los
sistemas multinúcleo se ha hecho aún más potente. Entre sus objetivos están el reducir el tiempo de desarrollo de
aplicaciones de todo tipo (no sólo en ámbitos de Pruebas, Control y Diseño) y el permitir la entrada a la informática a
profesionales de cualquier otro campo. LabVIEW consigue combinarse con todo tipo de software y hardware, tanto
del propio fabricante -tarjetas de adquisición de datos, PAC, Visión, instrumentos y otro Hardware- como de otros
fabricantes

Fig1.LabVIEW

2.1 Verilog

Verilog es un lenguaje de descripción de hardware (HDL, del Inglés Hardware Description Language) usado para
modelar sistemas electrónicos. El lenguaje, algunas veces llamado Verilog HDL, soporta el diseño, prueba e
implementación de circuitos analógicos, digitales y de señal mixta a diferentes niveles de abstracción.
Los diseñadores de Verilog querían un lenguaje con una sintaxis similar a la del lenguaje de programación C, de tal
manera que le resultara familiar a los ingenieros y así fuera rápidamente aceptada. El lenguaje tiene
un preprocesador como C, y la mayoría de las palabras reservadas de control como "if", "while", etc, son similares. El
mecanismo de formateo en las rutinas de impresión y en los operadores del lenguaje (y su precedencia) son también
similares.
A diferencia del lenguaje C, Verilog usa Begin/End en lugar de llaves para definir un bloque de código. Por otro lado, la
definición de constantes en Verilog requiere la longitud de bits con su base. Verilog no tiene estructuras, apuntadores o
funciones recursivas. Finalmente, el concepto de tiempo, muy importante en un HDL, no se encuentra en C.
El lenguaje difiere de los lenguajes de programación convencionales, en que la ejecución de las sentencias no es
estrictamente lineal. Un diseño en Verilog consiste en una jerarquía de módulos. Los módulos son definidos con
conjuntos de puertos de entrada, salida y bidireccionales. Internamente un módulo contiene una lista de cables y
registros. Las sentencias concurrentes y secuenciales definen el comportamiento del módulo, describiendo las
relaciones entre los puertos, cables y registros. Las sentencias secuenciales son colocadas dentro de un bloque
begin/end y ejecutadas en orden secuencial, pero todas las sentencias concurrentes y todos los bloques begin/end son
ejecutadas en paralelo en el diseño. Un módulo puede contener una o más instancias de otro módulo para definir un
sub-comportamiento.
Un subconjunto de sentencias en el lenguaje es sintetizable. Si los módulos en un diseño contienen
sólo sentencias sintetizables, se puede usar software para convertir o sintetizar el diseño en una lista de nodos que
describe los componentes básicos y los conectores que deben implementarse en hardware. La lista de nodos puede
entonces ser transformada en una forma describiendo las celdas estándar de un circuito integrado, por ejemplo, ASIC, o
una cadena de bits para un dispositivo de lógica programable (PLD) como puede ser una FPGA o un CPLD.

Fig2. Lenguaje Verilog

2.2 FPGA Spartan 3E

2
La familia Spartan®-3E de puerta programable en campo
Arrays (FPGA) está diseñado específicamente para satisfacer las necesidades de alto volumen, electrónica de consumo
sensible al costo aplicaciones La familia de cinco miembros ofrece densidades. que van desde 100.000 a 1.6 millones
de puertas del sistema, como se muestra. La familia Spartan-3E se basa en el éxito de la anterior Familia Spartan-3 al
aumentar la cantidad de lógica por E / S, Reduciendo significativamente el costo por celda lógica.
Nuevas características mejorar el rendimiento del sistema y reducir el costo de configuración. Estas mejoras Spartan-
3E FPGA, combinado con la avanzada tecnología de proceso de 90 nm, entregar.
Más funcionalidad y ancho de banda por dólar de lo que era previamente posible, estableciendo nuevos estándares en
la industria de la lógica programable.
Debido a su costo excepcionalmente bajo, Spartan-3E FPGAs son ideales para una amplia gama de productos
electrónicos de consumo aplicaciones, incluyendo acceso de banda ancha, hogar Redes, pantalla / proyección y
televisión equipo digitales.
La familia Spartan-3E es una alternativa superior a la máscara.
ASICs programados. Los FPGA evitan el alto costo inicial, el ciclo de desarrollo prolongados, y la inflexibilidad inherente
de ASICs convencionales. Además, la programabilidad FPGA permite actualizaciones de diseño en el campo sin
reemplazo de hardware necesario, una imposibilidad con los ASICs.

Características

• Solución lógica de muy bajo costo y alto rendimiento para aplicaciones orientadas al consumidor de alto volumen.
• Tecnología de proceso avanzada comprobada de 90 nanómetros
• Pernos de interfaz SelectIO ™ multi-voltaje y multi-estándar
• Hasta 376 pines de E / S o 156 pares de señales diferenciales
• Señal de terminación única LVCMOS, LVTTL, HSTL y SSTL normas
• Señalización de 3.3V, 2.5V, 1.8V, 1.5V y 1.2V
• 622+ Mb / s velocidad de transferencia de datos por E / S
• LVDS verdadero, RSDS, mini-LVDS, HSTL diferencial / SSTL
E / S diferencial
• Compatibilidad mejorada con doble velocidad de datos (DDR)
• DDR SDRAM soporta hasta 333 Mb / s
• Recursos lógicos abundantes y flexibles.
• Densidades de hasta 33,192 celdas lógicas, incluido el desplazamiento opcional registro o soporte de memoria RAM
distribuido.
• Multiplexores anchos eficientes, lógica amplia
• Lógica de transporte anticipada rápida
• Multiplicadores 18 x 18 mejorados con canalización opcional
• IEEE 1149.1 / 1532 JTAG programación / puerto de depuración
• Arquitectura de memoria jerárquica SelectRAM ™
• Hasta 648 Kbits de RAM de bloque rápido
• Hasta 231 Kbits de RAM distribuida eficiente
• Hasta ocho administradores de reloj digital (DCM)
• Eliminación del sesgo del reloj (retardo bloqueado)
• Síntesis de frecuencia, multiplicación, división.
• Cambio de fase de alta resolución
• Amplio rango de frecuencia (5 MHz a más de 300 MHz)
• Ocho relojes globales más ocho relojes adicionales por cada mitad de dispositivo, más abundante enrutamiento de
baja inclinación
• Interfaz de configuración para PROMs estándar de la industria
• Flash PROM serie SPI de bajo coste que ahorra espacio
• x8 o x8 / x16 paralelo NOR Flash PROM
• Plataforma flash de bajo costo Xilinx® con JTAG
• Software completo Xilinx ISE® y WebPACK ™
• Núcleos de procesador integrados MicroBlaze ™ y PicoBlaze
• Totalmente compatible con PCI 32/64 bits 33 MHz (66 MHz en algunos dispositivos)
• Opciones de empaque de QFP y BGA de bajo costo
• Las huellas comunes admiten una migración de densidad fácil
• Opciones de embalaje sin Pb

3
• Versión XA Automotive disponible.

Fig3. Spartan 3E

3. MATERIALES Y EQUIPO

1. Spartan 3E
2. Computadora
3. ISEdesign

4. DESARROLLO Y PROCEDIMIENTO
-Se desarrollara una aplicación la cual simule un semáforo en un trasversal.

1.-crearemos un nuevo documento con el nombre y lugar de guardado cualquiera.

2.-en la configuración del proyecto ´ seleccionaremos como familia a Spartan 3E.

4
3.-luego crearemos el VHDL module para realizar la programación.

4.-haremos la respectiva asignación salidas en forma de vector de (5:0).

5.-programamos la código en la arquitectura y seleccionamos Sythesize daremos a run para hacer la compilación del
código.

6.-una vez compilado el proyecto realizamos un “Verilog module” para realizar la respectiva configuración de la placa
Spartan 3E.

7.-una vez hecha la configuración volveremos a compilar y abriremos el IMPAC.

5
8.-en el IMPAC cargaremos el programa hecho.

5. ANÁLISIS Y RESULTADOS
-Para poder realizar la aplicación de los semáforos se hizo una programación en lenguaje “Verilog”, para lo cual
solo se hizo una asignación a las salidas en forma de vector representando estas los leds que llegan a ser las
luces de los semáforos.
-Gracias al uso de contadores se puede generar los casos, los cuales indicaran los estados de encendido de los
leds.
-la asignación del periodo se realiza en la programación, ya que si no fuese así debería utilizarse un cristal
externo.

6. CONCLUSIONES
-La programación en el lenguaje Verilog es compleja y tiene similitud al VHDL con algunas variantes el cual al
momento de realizar asignaciones ya sea de variables o de tiempo esto cambia y puede llegar a generar errores en la
programación.
-En la programación en “Verilog” el parámetro de clock se puede hacerlo en la misma plantilla, en lenguaje VHDL para
lograr hacer este parámetro hace falta abrir un módulo “test bench” para configurar este.
-El tipo de programación en Verilog en esta práctica fue mucho más amigable que VHDL ya que se asemeja mucho al
tipo de programación que estamos acostumbrados, ya que posee características parecidas como comandos if, for , y así
mismo como asignación de variables.

7. RECOMENDACIONES

- Se recomiendo usar un lenguaje más amigable con el programador para así poder comprender todas sus
funciones a fondo.

6
- Se sugiere utilizar la última versión de LabVIEW para que en la simulación el error sea mínimo y sea logre simular
todos los parámetros físicos que pueden surgir en este programa
- Se recomiendo comprobar el correcto funcionamiento e la FPGA Spartan 3E para no tener problemas al momento
de realizar la implementación

8. REFERENCIAS

[1] S. Palnitkar, Verilog HDL, Segunda ed., California: Sun Microsystems, 2003, pp. 299-350.
[2] J. F, Diseño digital Principios y Practica, Tercera ed., Mexico DF: Pearson, 2001, pp. 304-325.
[3] J. M. Wiliams, Digital VLSI Design with VERILOG, Segunda ed., Wilsonville, Oragon: Springer, 2014,
pp. 116-138.

S-ar putea să vă placă și