Using
Proteus and Cyclone ii for the practical teaching of VHDL and FPGA through
software and hardware
Pedro Selencio Landaeta
Autor corresponsal: landaetabiz@gmail.com
Orcid: https://orcid.org/0000-0002-8843-4991
Universidad Politécnica Territorial del Estado Aragua “Federico Brito Figueroa”, Venezuela
Correspondencia:
landaetabiz@gmail.com
DOI: https://doi.org/10.31381/perfilesingenieria.v21i22.7299
RECIBIDO: 05 de septiembre de 2024
ACEPTADO: 13 de noviembre de 2024
Cómo citar
P. S. Landaeta, «Uso de PROTEUS y la CYCLONE II para la Enseñanza Práctica de VHDL y FPGA por medio de Software y Hardware», Perfiles_Ingenieria. vol. 21, n.º 22, pp. 60–76, dic. 2024.
El presente artículo tiene como objetivo
trabajar con PROTEUS y la FPGA Cyclone II para diseñar un circuito contador de
3 bits en software y hardware. Para la parte de software se usará PROTEUS,
ya que trae la GAL22v10, CPLD reprogramable fabricada por la empresa Lattice Semiconductors. La
descripción VHDL se hará por medio del software Cypress Warp Galaxy, que genera
un archivo .jed a partir del
archivo VHDL construido. El archivo .jed se usa para grabarlo
en la GAL y poder así simular la descripción hecha. El software Galaxy es de
libre uso y se necesita una máquina virtual porque trabaja con Windows XP. Se usará Virtual Box como software de Virtualización
perteneciente a la empresa ORACLE. En lo que respecta a la FPGA, se usará la
cyclone II ep2ct144c8n de la empresa INTEL FPGA. Esta
se va a programar con el software Quartus II 13.0
sp1. Como resultado, se tendrá el circuito simulado en PROTEUS con la GAL 22V10
y en hardware con la tarjeta cyclone II.
Palabras claves: FPGA, cyclone II, VHDL, PROTEUS
ABSTRACT
This article aims to work with PROTEUS and the Cyclone II FPGA to design a 3-bit counter circuit in software and hardware. For the software part, PROTEUS will be used, and it comes with the GAL22v10, a reprogrammable CPLD manufactured by the company Lattice Semiconductors. The VHDL description will be made using the Cypress Warp Galaxy software, it generates a file from theKeywords: FPGA, cyclone II, VHDL, PROTEUS.
constructed VHDL file, the jed file is used to record it in the GAL and thus be able to simulate the description made. The Galaxy software is free to use and a virtual machine is required because it works with Windows XP. Virtual Box will be used as Virtualization software belonging to the ORACLE company. Regarding the FPGA, the cyclone II ep2ct144c8n from the INTEL FPGA company will be used. Which will be programmed with the Quartus II 13.0 sp1 software.
As a result, the circuit will be simulated in PROTEUS with the GAL 22V10 and in hardware with the cyclone II card.
1. Introducción
El presente trabajo se enfoca en la necesidad de mostrar
el uso de la tecnología FPGA apoyado por software y hardware para desarrollar
aplicaciones. El mapa conceptual de la figura 1 muestra todos los puntos que
serán tratados en esta investigación.
La aplicación a realizar será el montaje de un
contador de 3 bits usando hardware y software. A nivel de hardware, se
trabajará con la tarjeta FPGA cyclone II
La
figura 3 muestra el diagrama a bloque de lo que se desea implementar con la
FPGA. Esta FPGA debe llevar grabada la descripción hecha del hardware en VHDL (Very High Speed Hardware Description Language)
A
nivel de software se trabajará con Cypress Warp Galaxy, que adicionalmente
necesita una máquina virtual porque no ha sido actualizado a las nuevas
versiones de Windows. Dicha máquina se construirá con el software VirtualBox
El software Cypress Warp Galaxy, de ahora en
adelante compilador de síntesis Warp, es un compilador VHDL de última
generación para trabajar con PLD y CPLD
Figura 1
Tópicos tratados en el Paper
Figura 2
Como se observa en la figura 4, el software fue
desarrollado a finales de la década de los 90 y, por no haber sido actualizado
a nuevas versiones que se adapten a sistemas operativos recientes, se sigue
ejecutando en Windows XP de 32 bits.
Diagrama en bloques de
circuito a implementar
Por este motivo, es necesario una
máquina virtual para instalar este sistema operativo de tan larga data. La otra
opción es conseguir una PC antigua en la que se pueda instalar el Windows XP.
Por otro lado, instalar una máquina Virtual tiene sus ventajas ya que se pueden
tener múltiples sistemas operativos en la misma PC o LapTop,
entre ellos LINUX, MAC OS o SOLARIS. Además de todos los Windows que ya pasaron, como Windows Me, Vista,
Windows 7 y el XP, por supuesto, hay dos softwares principales para realizar lo
relacionado a Máquinas Virtuales. Entre ellos, se encuentra Virtual Box y VMWare.
Se va a elegir
VirtualBox por ser una plataforma de libre uso, código abierto, mantenida por
la empresa ORACLE. VirtualBox.
Figura 5
Software Virtual Box usado para instalar Windows XP
Un potente producto de virtualización
x86 y AMD64/Intel64 para uso empresarial y doméstico. Virtual Box no solo es un
producto extremadamente rico en funciones y de alto rendimiento para clientes
empresariales, sino que también es la única
solución profesional que está disponible gratuitamente como software de código
abierto bajo los términos de la
Licencia Pública General GNU (GPL) versión 3. VirtualBox se está
desarrollando activamente con lanzamientos frecuentes y tiene una lista cada vez mayor de
características, sistemas operativos invitados compatibles y plataformas en las
que se ejecuta. VirtualBox es un esfuerzo comunitario respaldado por una
empresa dedicada: se anima a todos a contribuir, mientras que Oracle garantiza
que el producto siempre cumpla con los criterios de calidad profesional. La
figura 5 muestra la ventana Acerca del software Virtual Box. Para el mes de octubre
del 2024, se encuentra la versión 7.1.4
Después de tener todo dispuesto a nivel de software instalado
ya en la computadora, a saber Windows XP 32 bits,
Galaxy Warp, Máquina Virtual y el software PROTEUS, sigue lo concerniente a la
elección del PLD a usar. Observando el listado de opciones de PROTEUS, se elige
la GAL 22v10. La GAL (Generic Array Logic) es un PLD (Programable Logic
Device). Otros PLD son las PAL (Programable Array Logic), las FPLA (Field Programable Logic
Array), que el mismo usuario las programa, y las PROM (Programable Read Only Memory).
Aunque estas no son FPGA, se siguen fabricando y empresas como Lattice semiconductor, AMD-Xilinx e INTEL-ALTERA se
encuentran en competencia por apropiarse del mercado de las
CPLD (Complex Programable Logic
Device), que no son más que un grupo especifico de PLDs agrupadas en un bloque de silicio
El software de simulación eléctrica y electrónica
PROTEUS será el encargado de realizar la simulación de la GAL con su respectiva
descripción hecha en VHDL con software Galaxy Warp. Será Proteus el encargado
de simular el sistema de la figura 6
Diagrama en bloques de
circuito a implementar
Figura 7
Ventana Acerca de El
Software Proteus Demostration
La figura 7 muestra el hecho
de interés de que la versión que se está usando del software Proteus es de
libre circulación y uso señalada por el fabricante del producto como Demostration. Tiene sus limitaciones, pero para lo que se
desea en esta investigación cumple con los requisitos.
Hecho ya este recorrido, se tienen todas las herramientas disponibles
para desarrollar la investigación y satisfacer el objetivo propuesto, que
consiste en trabajar con PROTEUS y la FPGA
Cyclone II para diseñar un circuito contador de 3 bits en software y hardware.
2. Materiales y métodos
Se va a Construir un
contador de 3 bits usando el lenguaje VHDL a nivel de Software y Hardware. En
el Hardware se usará la tarjeta cyclone II de la
empresa INTEL apoyado con su software QUARTUS II web edition
13.0. Cuando se dice la tarjeta se refiere a lo que se muestra en la figura 2.
Donde se puede ver el chip cyclone II ep2c5T144C8 con
los periféricos que la empresa fabricante coloca para aprovechar al chip FPGA
en los proyectos iniciales básicos que se vayan a emprender. El trabajo
consiste en mostrar los dos puntos de vista de interés cuando se desarrolla un
proyecto de FPGA. Saber que se cuenta con herramientas poderosas de software
para ejecutar los montajes de FPGA propuestos es de mucha importancia ya que
puede existir la posibilidad de que el estudiante o profesional interesado no
cuente con los recursos para adquirir la tarjeta y demás periféricos.
La figura 8 divide exactamente el trabajo que se desea hacer y señala
cada punto de interés para software y hardware.
Figura 8
2.1. A nivel
de software
Diagrama en bloques del proyecto a nivel de software
Figura 10 y
11
La figura 10 muestra una vista del programa VHDL en
el software Cypress Warp Galaxy dentro de la máquina virtual con el sistema
operativo Windows Xp profesional de 32 bits.
La figura 11 muestra el código completo que se ha
usado para correrlo en PROTEUS.
Una vez compilado el código en la aplicación Cypress
Warp Galaxy dentro de la máquina virtual se generarán los respectivos archivos para
la simulación y diferentes herramientas que los requieran.
La figura 12 muestra el circuito que será simulado
en PROTEUS con la GAL22v10, el clock y los leds.
Figura 12
Simulación hecha en PROTEUS Demostration
Figura 13
Ventana de trabajo del
software Quartus II
Como
se está usando una tarjeta de la empresa INTEL, que era
la antigua ALTERA comprada por INTEL en 2016, se busca
el software Quartus II web edition
13.0 sp1.
La figura 13 muestra la ventana de trabajo del
software Quartus II, en la que se observa la
descripción del circuito contador de 3 bits que se desea montar.
2.2. A nivel de hardware
Se
debe contar primero con un software para realizar la descripción. En el caso del
hardware se busca la información en la página del fabricante de la tarjeta
FPGA.
Figura 14
Diagrama en bloques del
proyecto a nivel de hardware
Figura
15
Descripción
en VHDL del hardware de la figura 14
Al
tener el código de la figura 15 compilado con el software Quartus
II, se procede a grabarlo en la FPGA usando el USB Blaster
Figura
16
Hardware
del contador de 3 Bits
3. Resultados
1.-
Se logró el objetivo principal de la investigación, como fue trabajar con
PROTEUS y la FPGA CYCLONE II para diseñar un circuito contador de 3 bits en
Software y Hardware.
3.- Otro objetivo cumplido en la investigación es la
descripción hecha en VHDL mostrada en la figura 15, correspondiente a la
implementación en hardware del contador de 3 bits usando la tarjeta Cyclone II.
Para este caso se usó el software Quartus II y este
mismo genera los archivos que serán grabados en la Cyclone II usando el USB Blaster mostrado en la figura 16.
4.- Como dato interesante que diferencia al software
del hardware, se tiene que para la simulación con PROTEUS basta con poner el clock a 1 Hz para que haga la cuenta de 1 segundo. Mientras
que para el hardware hay que hacer una subrutina aparte para poder llevar el
reloj de 50 MHz a 1 Hz. Eso se observa en la figura 15 al comienzo de la
subrutina con la instrucción process (clk).
4. Discusión
Un punto relevante a traer a la discusión es la falta
de material básico en revistas indexadas en bases de datos reconocidas como
SCOPUS, Scielo, Latindex, IEEE xplore
o Springer. Adicionalmente, se debe contar con financiamiento para tener acceso
a paper publicados en estas bases de datos, o
pertenecer a la plantilla docente de una universidad que esté suscrita a ellas.
De esta manera, se debe acudir a revistas tales como International Journal of Trend
in Scientific Research and Development (IJTSRD). Ahí se puede encontrar el artículo de
San Naing et al. publicado en 2019 sobre Operación de
Circuitos de Lógica Digital basado en FPGA para principiantes
Un
punto importante en esta discusión es nombrar el aporte necesario que hace esta
investigación en lo relacionado a la enseñanza práctica. En esta época, el
software es tan importante como el hardware, las pruebas están a la vista en lo
que está haciendo SPACEX con sus lanzamientos y con National Instruments con
sus tarjetas de adquisición de datos (DAQ en inglés). De ahí la importancia de construir
materiales didácticos que
ayuden a la academia en la enseñanza teórico-práctica. Una
investigación que ayuda en este sentido es la de Charte
et al., quienes usan un dispositivo FPGA para apoyar la enseñanza de la
asignatura de Arquitectura de Computadores
El uso de ISPLEVER de LATTICE como software de simulación está descartado en esta investigación, ya que el mismo pasó a ser de paga. Anteriormente, la empresa LATTICE daba al usuario un año de licencia para trabajarlo. Debido a esta restricción de uso, se ha tenido que trabajar con GalaxyWarp de Cypress y usar máquina virtual a través de Virtual Box y así poder tener a disposición Windows XP. Toda una experiencia esto de las máquinas virtuales, porque ahora se conoce otra área de trabajo y se puede tener a disposición cualquier sistema operativo que se necesite en el computador, con la única restricción dada por la memoria y capacidad de disco duro de la máquina.
Aunque
se trabaja en esta investigación con software y hardware propietario no se deja
de un lado intencionalmente el Software (SL) y Hardware libre (HL). La razón de
trabajar con hardware y software propietario tiene su esencia básicamente
porque fue lo que se encontró a los inicios de la investigación. Será
tema para otro paper el uso de Software y Hardware libre.
Y así poder contar con las libertades de uso, estudio, distribución y modificación. Pero no es el
tema central de esta investigación porque nada más conocer la estructura de la
nueva tarjeta con un chip distinto al que se ha usado, ese cambio es toda una
investigación aparte. Esto se debe a que la mayoría de HL usa IC FPGA de la
empresa LATTICE y después de conocer los softwares asociados a ella para cerrar
el ciclo del proyecto correspondería a otra investigación.
5. Conclusiones
Esta
investigación se enfocó en una propuesta práctica basada en software y
hardware. Se ha demostrado que
con poco presupuesto se puede desarrollar una gran idea. A nivel de software
con cero dólares se logra implementar un proyecto de VHDL y CPLD. Y, a nivel de
hardware con unos 50 US$, se puede implementar un proyecto usando una FPGA de
Intel-Altera. Es decir, se
hace factible la
construcción de experiencias prácticas
para la enseñanza de electrónica digital.
Otro
aspecto importante es que el diseño de contadores usando CPLD o FPGA es más
eficiente que con Flip-Flop o con contadores en Circuito
Integrado, ya que disminuye el tamaño de las tarjetas electrónicas. Esto
responde a que cientos o miles de estos componentes “entran” en un dispositivo
CPLD o FPGA.
Otro
punto que se ha abierto a partir de esta investigación es el tema de la
virtualización. Aplicar esta metodología permitió instalar Windows XP en la
computadora para sí poder instalar Galaxy warp que a la postre fue el software
con el que se realizó la descripción VHDL. Esto abre todo un universo de
oportunidades que podrán ser utilizadas para futuras investigaciones.
Referencias bibliográficas
[1] INTEL,
“Cyclone II Device Handbook, Volume 1”, 2008. [En línea]. Available: https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/hb/cyc2/cyc2_cii5v1.pdf.
[2] INTEL, “Descargar
software QUARTUS II”, 2021. [En línea]. Available: https://www.intel.com/content/www/us/en/software-kit/666221/intel-quartus-ii-web-edition-design-software-version-13-1-for-windows.html
[3] INTEL-ALTERA,
“Quartus II Handbook Version 13.1. Volume 1: Design and Synthesis”, 2013. [En línea]. Available:
https://www.intel.com/content/www/us/en/softwarekit/666221/intelquartusiiwebedition-design-software-version-13-1-for-windows.html
[4] A.
Ivanova, “A Concept of Visual Programming Tool for Learning VHDL”, IOP
Conference Series: Materials Science and Engineering, 2020.
[5] E.
Saeed, Basics VHDL Labs. Basics Lab for Learning VHDL. Learning with
Experiments, Al Nahrain. Irak: Lap Lambert, 2020.
[6] L. Chuquimarca, P.
Suárez y F. López, “Simulación electrónica del microprocesador GAL22V10
mediante el software Proteus basado en VHDL para virtualizar circuitos
integrados”, Revista Científica y Tecnológica UPSE, vol. 8, nº 1, pp.
107 - 115, 2021.
[7] P.
Kumar, “Development of Programmable Logic Devices”, International Journal of
Innovative Research in Computerand Communication Engineering, vol. 8, nº 4,
2020.
[8] R.
Chopra, “A Review Paper on Virtualization”, International Journal of
Innovative Research in Computer Science & Technology (IJIRCST), vol.
10, nº 2, pp. 131-135, 2022.
[9] B.
Sundstrom, Virtualization [undergraduate thesis]. University of Virginia,
Charlottesville, Virginia, 2023.
[10] P. Valencia, D.
Garcia, S. Mena y J. Erazo, “Virtualbox como estrategia de enseñanza
aprendizaje en la asignatura de soporte técnico”, Cienciamatria, vol. 6,
nº 3, 2020.
[11] M.
Muhammad, I. Ismahani, S. Shahidatul y M. Musa, “The effectiveness of complex
programmable logic device for learning digital systems during the COVID-19
pandemic”, Symposium on Teaching & Learning Practices in Electrical
Engineering. Malaysia, 2021.
[12] S.
Syahminan y C. Hidayat, “Development of digital engineering learning with
proteus software media and emulators department of informatics engineering
Kanjuruhan University”, Annual Conference on Science and Technology (ANCOSET
2020), vol. 1869, 2020.
[13] F.
Chengcheng, L. Xiang, L. Ronghua y S. Boyu, “Application of proteus in
Experimental Teaching and Research of Medical Electronic Circuit”, Advances
in Social Science, Education and Humanities Research, vol. 215, 2018.
[14] INTEL,
“Intel FPGA USB Download Cable User Guide”, 2016. [En línea]. Available:
https://www.intel.com/content/dam/www/programmable/us/en/pdfs/literature/ug/ug_usb_blstr.pdf.
[15] S.
Naing, N. San y T. Chao, “FPGA Based Digital Logic Circuits Operation for
Beginners”, International Journal of Trend in Scientific Research and
Development (IJTSRD), vol. 3, nº 5, pp. 495-501, 2019.
[16] R.
Deepack, “Design and Analysis of Digital Counters for VLSI Applications”, International
Research Journal of Engineering and Technology (IRJET), vol. 3, nº 7, 2016.
[17] H.
Cao y U. Meyer, “XML-Based Automatic NIOS II Multi-Processor System Generation
for Intel FPGAs”, Electronics, 2022.
[18] T.
Goethals, M. Sebrechts, M. Al-Naday, B. Volckaert y F. De Turck, “A Functional
and Performance Benchmark of Lightweight Virtualization Platforms for Edge
Computing”, IEEE International Conference on Edge Computing and
Communications (EDGE), pp. 60-68, 2022.
[19] J.
Wang, J. Guo y C. Li, “On The Design of a Light-weight FPGA Programming
Framework for Graph Applications”, Cornell University - Computer and
Science, 2022.
[20] F. Charte, M.
Espinilla, A. Rivera y F. Pulgar, “Uso de dispositivos FPGA como apoyo a la
enseñanza de asignaturas de Arquitecura de Computadores”, Enseñanza y
Aprendizaje de ingeniería de Computadores, nº 7, 2017.
[21] G.
Garay, A. Tchernykh, A. Yu, D. Sergey, N. Garichev, S. Nesmachnow y M. Torres, “Visualization
of VHDL-based simulations as a pedagogical tool for supporting computer science
education”, Journal of Computational Science, vol. 16, 2019.
[22] R.
Navas, O. Oballe, J. Castellanos y D. Rosas, “Practice Projects for an
FPGA-Based Remote Laboratory to Teach and Learn Digital Electronics”, Information,
vol. 14, p. 558, 2023.
Trayectoria
académica
Pedro Selencio Landaeta
Universidad Politécnica Territorial del
Estado Aragua “Federico Brito Figueroa”, Venezuela
Obtuvo su grado de
Técnico Superior Universitario en telecomunicaciones en el año 1990. Docente
universitario desde el año 1993 en el Tecnológico La Victoria. Grado de Especialista en Control Industrial en el año
2000. Ingeniero en Electrónica en la UPT de Aragua
en 2010. Título de magíster por obtener. Ha participado en varios eventos científicos
nacionales e internacionales en los que ha mostrado su investigación de Sistemas
Inalámbricos para la Enseñanza. Actualmente tiene la condición de docente
jubilado de la UPT de Aragua “FBF”. Profesor agregado
adscrito al Dpto. de Electrónica con 25 años de servicio en la citada
universidad. Áreas de interés: Sistemas embebidos y Manejo de Proyectos con
énfasis en FPGA y las TIC aplicadas a la docencia.
Autor corresponsal: landaetabiz@gmail.com
Orcid: https://orcid.org/0000-0002-8843-4991
Contribución de autoría
Landaeta Herrera Pedro
Selencio
Es el único autor de la investigación.
Financiamiento
La presente investigación ha
sido realizada con recursos propios del autor.
Conflicto de intereses
El autor declara que no
existe conflicto de intereses en la presente investigación.
Responsabilidad ética y
legal
En todo el documento se han
citado los trabajos e investigaciones de otros autores tal cual como aparecen en
internet. En ningún momento se ha alterado algún documento.
Correspondencia: landaetabiz@gmail.com