Vous êtes sur la page 1sur 5

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 compleja en el diagrama, desarrollar algoritmos de


realización de un semáforo para el cual se utiliza el análisis de datos y diseñar interfaces de usuario
lenguaje verilog y el simulador LabVIEW para la personalizadas.
programación y simulación de esta, y después de la Este programa fue creado por National
respectiva simulación se lo realiza en la FPGA. Instruments (1976) para funcionar sobre
máquinas MAC, salió al mercado por primera vez
PALABRAS CLAVE: FPGA, CIRCUITOS DIGITALES en 1986. Ahora está disponible para las
AVANZADOS, VERILOG, LABVIEW, SEMAFORO. 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
1. OBJETIVOS
el diseño del firmware de un instrumento RF de última
generación, a la programación de alto nivel del mismo
-Se implementará la programación de un semáforo
instrumento, todo ello con código abierto. Y
controlado por tiempo dando preferencia a un cruce
posteriormente la versión 2014 disponible en versión
peatonal al momento de realizar un pulso para que el
demo para estudiantes y profesional, la versión demo
semáforo sea cambiado de su estado original.
se puede descargar directamente de la página
National Instruments.
1.1 OBJETIVOS ESPECIFICOS
Los programas desarrollados con LabVIEW se llaman
 Implementar la programación en verilog o en un Instrumentos Virtuales, o VIs, y su origen provenía del
programa similar para implementarlo en LabVIEW. control de instrumentos, aunque hoy en día se ha
 La programación debe dar preferencia a un paso expandido ampliamente no sólo al control de todo tipo
peatonal para que las personas al momento de pulsar de electrónica (Instrumentación electrónica) sino
este semáforo de paso a las peatonas. también a su programación embebida,
 Implementar físicamente en la FPGA con el programa comunicaciones, matemáticas, etc. Un lema
respectivo para su visualización. 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.
2. MARCO TEÓRICO
Entre sus objetivos están el reducir el tiempo de
desarrollo de aplicaciones de todo tipo (no sólo en
2.1 LabVIEW
ámbitos de Pruebas, Control y Diseño) y el permitir la
LabVIEW ofrece un enfoque de programación gráfica
entrada a la informática a profesionales de cualquier
que le ayuda a visualizar cada aspecto de su
otro campo. LabVIEW consigue combinarse con todo
aplicación, incluyendo configuración de hardware,
tipo de software y hardware, tanto del propio fabricante
datos de medidas y depuración. Esta visualización
-tarjetas de adquisición de datos, PAC, Visión,
hace que sea más fácil integrar hardware de medidas
instrumentos y otro Hardware- como de otros
de cualquier proveedor, representar una lógica
fabricantes

1
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.

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 Fig2. Lenguaje Verilog
de señal mixta a diferentes niveles de abstracción.
Los diseñadores de Verilog querían un lenguaje con 2.2 FPGA Spartan 3E
una sintaxis similar a la del lenguaje de programación C,
de tal manera que le resultara familiar a los ingenieros y La familia Spartan®-3E de puerta programable en campo
así fuera rápidamente aceptada. El lenguaje tiene Arrays (FPGA) está diseñado específicamente para
un preprocesador como C, y la mayoría de las palabras satisfacer las necesidades de alto volumen, electrónica de
reservadas de control como "if", "while", etc, son similares. consumo sensible al costo aplicaciones La familia de
El mecanismo de formateo en las rutinas de impresión y cinco miembros ofrece densidades. que van desde
en los operadores del lenguaje (y su precedencia) son 100.000 a 1.6 millones de puertas del sistema, como se
también similares. muestra. La familia Spartan-3E se basa en el éxito de la
A diferencia del lenguaje C, Verilog usa Begin/End en anterior Familia Spartan-3 al aumentar la cantidad de
lugar de llaves para definir un bloque de código. Por otro lógica por E / S, Reduciendo significativamente el costo
lado, la definición de constantes en Verilog requiere la por celda lógica.
longitud de bits con su base. Verilog no tiene estructuras, Nuevas características mejorar el rendimiento del
apuntadores o funciones recursivas. Finalmente, el sistema y reducir el costo de configuración. Estas mejoras
concepto de tiempo, muy importante en un HDL, no se Spartan-3E FPGA, combinado con la avanzada
encuentra en C. tecnología de proceso de 90 nm, entregar.
El lenguaje difiere de los lenguajes de Más funcionalidad y ancho de banda por dólar de lo que
programación convencionales, en que la ejecución de era previamente posible, estableciendo nuevos
las sentencias no es estrictamente lineal. Un diseño en estándares en la industria de la lógica programable.
Verilog consiste en una jerarquía de módulos. Los Debido a su costo excepcionalmente bajo, Spartan-3E
módulos son definidos con conjuntos de puertos de FPGAs son ideales para una amplia gama de productos
entrada, salida y bidireccionales. Internamente un módulo electrónicos de consumo aplicaciones, incluyendo acceso
contiene una lista de cables y registros. Las sentencias de banda ancha, hogar Redes, pantalla / proyección y
concurrentes y secuenciales definen el comportamiento televisión equipo digitales.
del módulo, describiendo las relaciones entre los puertos, La familia Spartan-3E es una alternativa superior a la
cables y registros. Las sentencias secuenciales son máscara.
colocadas dentro de un bloque begin/end y ejecutadas en ASICs programados. Los FPGA evitan el alto costo inicial,
orden secuencial, pero todas las sentencias concurrentes el ciclo de desarrollo prolongados, y la inflexibilidad
y todos los bloques begin/end son ejecutadas en paralelo inherente de ASICs convencionales. Además, la
en el diseño. Un módulo puede contener una o más programabilidad FPGA permite actualizaciones de diseño
instancias de otro módulo para definir un sub- en el campo sin reemplazo de hardware necesario, una
comportamiento. imposibilidad con los ASICs.
Un subconjunto de sentencias en el lenguaje es
sintetizable. Si los módulos en un diseño contienen

2
Características • Opciones de empaque de QFP y BGA de bajo costo
• Las huellas comunes admiten una migración de
• Solución lógica de muy bajo costo y alto rendimiento densidad fácil
para aplicaciones orientadas al consumidor de alto • Opciones de embalaje sin Pb
volumen. • Versión XA Automotive disponible.
• 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 Fig3. Spartan 3E
(DDR)
• DDR SDRAM soporta hasta 333 Mb / s 3. MATERIALES Y EQUIPO
• Recursos lógicos abundantes y flexibles.
• Densidades de hasta 33,192 celdas lógicas, incluido el 1. Spartan 3E
desplazamiento opcional registro o soporte de memoria 2. Computadora
RAM distribuido. 3. ISEdesign
• Multiplexores anchos eficientes, lógica amplia
• Lógica de transporte anticipada rápida
• Multiplicadores 18 x 18 mejorados con canalización
4. DESARROLLO Y PROCEDIMIENTO
opcional -Se desarrollara una aplicación la cual simule un semáforo
• IEEE 1149.1 / 1532 JTAG programación / puerto de en un trasversal.
depuración
• Arquitectura de memoria jerárquica SelectRAM ™ 1.-crearemos un nuevo documento con el nombre y lugar
• Hasta 648 Kbits de RAM de bloque rápido de guardado cualquiera.
• 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)

3
2.-en la configuración del proyecto ´ seleccionaremos 6.-una vez compilado el proyecto realizamos un “Verilog
como familia a Spartan 3E. 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.

3.-luego crearemos el VHDL module para realizar la


programación.

8.-en el IMPAC cargaremos el programa hecho.

4.-haremos la respectiva asignación salidas en forma de


vector de (5:0).

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
5.-programamos la código en la arquitectura y
salidas en forma de vector representando estas
seleccionamos Sythesize daremos a run para hacer la
los leds que llegan a ser las luces de los
compilación del código.
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.

4
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.
- 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.

Vous aimerez peut-être aussi