Está en la página 1de 9

DESARROLLO DE COMPETECIAS EN DISEÑO DIGITAL

Julio C. Sosa-Savedra1, Rubén Ortega-Gonzalez2, Víctor García-Ortega3, Rubén


Hernández-Tovar4 y Adrián Luis García-García5
1jcsosa@ipn.mx, rortegag@ipn.mx2, vgarciao@ipn.mx3, rhtovar@ipn.mx4,

agarciag@ipn.mx5
1,5Instituto Politécnico Nacional, CICATA-Unidad Querétaro, Qro. México.
2,3Instituto Politécnico Nacional, Escuela Superior de Cómputo, C. Mex., México.
4Instituto Politécnico Nacional, UPIITA, C. Mex., México.
1Profesor Investigador. Doctor en Ciencias en Tecnología de la Información,

Comunicación y Computación, por la Universidad de Valencia, España.


2Profesor Investigador. Doctor en Ciencias en Ingeniería Eléctrica, por la Universidad

Politécnica de Valencia, España.


3Profesor Investigador. Maestro en Ciencias en Computación, por el Centro de

Investigación en Computación (CIC) del IPN, México.


4Profesor Investigador. Maestro en Ciencias en Ing. Eléctrica, por el Centro de

Investigación y de Estudios Avanzados (CINVESTAV) del IPN, México.


5Profesor Investigador. Doctor en Física de Superficies (Experimental) por la Ohio

University, Athens. Ohio, E.E.U.U.

RESUMEN: La tecnología de la información y comunicación, particularmente los


sistemas digitales, han evolucionado a un ritmo vertiginoso. Este hecho ha exigido
modificar los procedimientos de diseño, recurriendo al empleo de herramientas de
diseño asistido por computadoras, las cuales, a su vez, exigen modificar los
procedimientos de enseñanza-aprendizaje. El Instituto Politécnico Nacional se ha
percatado de estos cambios y ha actuado en consecuencia, adaptando su modelo
educativo. El nuevo modelo se centra en el aprendizaje y en las competencias, pero
también se deben incluir las nuevas tecnologías, llamándose ahora Educación 4.0. En
este trabajo, se presenta un procedimiento instruccional con el objetivo de desarrollar
las competencias necesarias para la unidad de aprendizaje de Fundamentos de Diseño
Digital, impartida en el segundo nivel de la carrera de ingeniero en sistemas
computacionales, de la ESCOM-IPN. Sin embargo, se puede utilizar en todos los
niveles que se pretenda dar una asignatura de este tipo, como puede ser: Circuitos
Lógicos, Diseño Lógico, Introducción al Diseño Digital, entre otros nombres.

PALABRAS CLAVES: Procedimiento, Instruccional, objeto de aprendizaje, Diseño


Digital.

ABSTRACT: The information and communications technology, especially digital


isystems, have evolved rapidly. This fact has required modifying design procedures,
using computer-aided design tools, which in turn require modifying teaching-learning
methods. Being aware of these changes, the Instituto Politécnico Nacional has reacted
accordingly, adjusting its educational model. The new model is focuses on learning and
skills, and must include new technologies to become Education 4.0. This paper presents
an instructional procedure, with the objective of developing the necessary skills to carry
on the coursework of the Digital Design Fundamentals subject, taught in the second
level of the computer systems engineering major, at ESCOM-IPN. However, it can be
used at all levels that are intended to give instruction on this subject, such as: Logic
Circuits, Logic Design, Introduction to Digital Design, among others.

KEY WORDS: Procedure, Instructional, learning object, Digital Design.

1. INTRODUCCIÓN

Desde mediados del siglo pasado, el diseño digital ha evolucionado a un ritmo


vertiginoso, creando sistemas cada vez más complejos. Este aumento en la
complejidad, ha exigido modificar los procedimientos de diseño de sistemas digitales.
De esta forma, surgieron nuevos elementos, necesarios para apoyar el proceso
mencionado [1]. Estos elementos se conocen como herramientas de diseño asistido por
computadora para la automatización del diseño electrónico, también conocidas como
herramientas CAD- EDA [2].
Por otro lado, el nuevo modelo educativo para el Instituto Politécnico Nacional, y de
acuerdo a su material para la reforma, indica que el objetivo fundamental del nivel de
licenciatura deberá de: “dotar de las competencias básicas generales para el
desempeño profesional y las competencias complementarias para la investigación y el
desarrollo del conocimiento para la óptima realización de ese desempeño” [3].
Es necesario, pues, tener claro el concepto de competencia. Existe una gran cantidad
de definiciones de competencia, Jessup (1991) la define como: “un conjunto específico
de destrezas necesarias para desarrollar un trabajo particular y puede también incluir
las cualidades necesarias para actuar en un rol profesional” [4]; por su parte, Lavi-
Levoyer (1997) las define como: “resultado de experiencias dominadas gracias a las
actitudes y a los rasgos de personalidad que permiten sacar partido de ellas” [5]. En el
trabajo de Tejeda (1999), se muestra un estudio detallado acerca de las competencias
profesionales e indica, en su segunda síntesis, que el concepto de competencia “es que
comporta todo un conjunto de conocimientos, procedimientos y actitudes combinados,
coordinados e integrados, en el sentido de que el individuo ha de saber hacer y saber
estar para el ejercicio profesional” [6].
De esta manera, es claro que el estudiante deberá desarrollar las competencias
necesarias para el empleo de las nuevas tecnologías, como las herramientas CAD-
EDA. Para ello, se propone un procedimiento instruccional, orientado a que el
estudiante adquiera las competencias necesarias para el diseño de sistemas digitales
combinacionales empleando dispositivos lógicos programables simples, conocidos
como SPLD’s. Sin embargo, este recurso se puede extender a plataformas más
complejas, como el uso de tarjetas de desarrollo basadas en FPGA’s.

2. ESTADO DEL ARTE

El problema en la enseñanza de asignaturas prácticas, como: electrónica digital,


fundamento de diseño digital, lógica digital y diseño de computadores o cualquier otra,
que utilizan tecnologías reconfigurables, es que los estudiantes, además de aprender
las competencias del diseño, también deben dominar el empleo de las herramientas
CAD-EDA. Dicho de otra manera, se debe introducir una etapa adicional que consiste
en aprender las competencias necesarias para el uso de la herramienta. Es importante
entender que no se debe confundir entre aprender las competencias en el diseño de
sistemas digitales y las competencias para el empleo de las herramientas CAD.

Existen en la literatura varias maneras de abordar la instrucción de estudiantes con las


nuevas tecnologías, en particular con el empleo de herramientas CAD-EDA. Por
ejemplo en Viejo et al., presentan una práctica de introducción al diseño de sistemas
digitales sobre FPGA’s [7]. Existen dos desventajas muy importantes en este tipo de
prácticas: la primera, es que al emplear tarjetas de desarrollo, sobre todo en las
primeras prácticas de los cursos introductorios, para el estudiante es transparente la
energización de los componentes electrónicos, pues en las tarjetas ya vienen
interconectados todos los dispositivos. Por tanto, se presentan errores comunes al
hacer el prototipado en un proto-board y en las interconexiones entre los diferentes
componentes. La segunda desventaja, es que un FPGA posee hasta mil veces más
recursos que un dispositivo simple o SPLD; como la GAL22V10. Sosa, García y
Hernández (2010), demostraron que el uso de un SPLD, que cuenta con recursos
limitados, ayuda a promover e incentivar que el estudiante presente alternativas
innovadoras y un empleo eficiente del dispositivo, esto es un uso eficiente de las
herramientas CAD-EDA [8].

3. PLANTEAMIENTO DEL PROCEDIMIENTO INSTRUCCIONAL

En esta sección se presenta: el diseño propuesto para el estudiante, los requerimientos


generales para el desarrollo y la metodología de diseño que el alumno empleará
durante el desarrollo del procedimiento. Además, también se presenta el procedimiento
instruccional, explicando claramente los pasos a seguir.

3.1 DISEÑO PROPUESTO

El diseño consiste en la implementación de un multiplexor de 2 entradas y una salida.


Dando una introducción teórica, referente a los que se pide, el alumno descubrirá que
un multiplexor tiene 2n posibles entradas, una única salida y n entradas de selección.
Por tal razón, el circuito requerirá de 3 interruptores para excitar las entradas del
multiplexor y un LED, para verificar el funcionamiento. Su elemento principal, para la
implementación del multiplexor será un SPLD; en particular, la GAL22V10.
Adicionalmente, se requerirán 4 resistencias: 3 de R1=1KΩ y 1 de R2=330Ω, para la
polarización de los interruptores y el LED, tal como se muestra en la figura 1.
Vcc
a

b GAL

sel MUX
2X1

GND R1 R2
Fig. 1. Circuito del diseño propuesto.

3.2 REQUERIMIENTOS

Para realizar el diseño propuesto, un multiplexor de 2 X 1, es necesario material y


equipo para su implementación. Dentro del equipo se encuentran las herramientas de
diseño asistido por computadora y automatización de diseño electrónico, también
llamadas herramientas CAD-EDA. En la tabla 1, se presentan cada uno de los
componentes y herramientas empleadas.

TABLA 1. Herramientas CAD-EDA utilizadas.

Cantidad Descripción
1 Mesa de instrumentación del laboratorio
1 PC con sistema operativo Windows 7P o superior
Software para editar y compilar (Warp Release 6.3)*
1 Tablilla de prueba (proto-board) y cable para conexión.
1 Fuente de alimentación de 5 V.
1 Programador de SPLD’s
1 GAL22V10
1 DIP switch de 8
3 Resistencias de R1=1K
1 LED
1 Resistencias de R2=330
* Cualquier software que soporte el dispositivo GAL22V10

En este trabajo, se empleó la herramienta CAD, de Cypress Semiconductor


Corporation, Warp Release 6.3. Sin embargo existen otras herramientas como, el
ispLEVER Classic, proporcionada por Lattice Semiconductor Corporation, entre otras.

Se deberá hacer la interconexión sobre el proto-borad del dispositivo, GAL22V10, y los


diferentes componentes del circuito.

3.3 METODOLOGÍA DE DISEÑO


Durante el desarrollo, el estudiante deberá seguir una metodología de diseño
establecida en la creación de sistemas digitales, empleando dispositivos lógicos
programables del tipo SPLD’s. En la figura 2, se muestra la metodología de diseño en
donde se pueden observar los diferentes pasos a seguir. Primero, se plantea o analiza
la idea a desarrollar; posteriormente, se realiza la descripción de circuito, el cual puede
ser mediante esquemáticos o empleando un lenguaje de descripción de hardware
(HDL).

Una vez descrito el circuito, se procede a verificar si funciona mediante una simulación
digital. En caso de existir fallas en el funcionamiento, se regresa a la descripción para
modificar el circuito; en caso contrario, que la simulación sea la correcta, se procede a
realizar la síntesis del circuito para su posterior análisis temporal. Después de este
análisis, en caso de que la evaluación sea insatisfactoria, es necesario regresar a la
etapa de síntesis para corregir los retardos o el problema detectado. De no detectarse
problema alguno, se procede a la programación del dispositivo y se prueba. Si en las
pruebas no funcionara el prototipo, es necesario regresar nuevamente hasta la
descripción del circuito. En caso de que las pruebas fueran satisfactorias se dice que el
prototipo está listo para su producción en serie, este flujo de diseño es mostrado en la
figura 2.

Es importante destacar que el alumno se enfrenta por primera vez al uso de la


herramienta CAD, el Warp Release 6.3 de Cypress. De esta manera, este
procedimiento instruccional se hace imprescindible para su posterior empleo en las
prácticas de laboratorio de la unidad de aprendizaje de Fundamentos de Diseño Digital,
permitiendo al estudiante asimilar las competencias necesarias para el diseño de
sistemas combinacionales digitales.

IDEA
SINTESIS

DESCRIPCIÓN ANALISIS
DEL CIRCUITO TEMPORAL

NO
SIMULACION FUNCIONAL
¿FUNCIONA?

NO
SI SI
¿FUNCIONA?

PROGRAMACION
DEL DISPOSITIVO

NO

¿FUNCIONA? PRUEBAS ELABORACION


AL DISEÑO DEL PROTOTIPO

SI

FIN
DEL PROCESO
DE DISEÑO

Fig. 2. Diagrama a flujo de la metodología de diseño.


3.3 PROCEDIMIENTO INSTRUCCIONAL

Debido a que se está presentando un procedimiento instruccional, es posible resumirlo


en 13 pasos:

1. Ejecutar el Warp y crear un archivo de texto mediante: File →New → Text File y
después <OK>.

2. Realizar la descripción del circuito, empleando el lenguaje VHDL o Verilog, en este


caso se emplea el VHDL. Después se salva el archivo con extensión *.vhd. (En este
caso se llama mux.vhd).
1. -- Descripción del circuito multiplexor 2 a 1
2. ENTITY mux IS
3. PORT ( a, b, sel: IN bit;
4. sal: OUT bit);
5. END mux;
6.
7. ARCHITECTURE arq_mux OF mux IS
8. BEGIN
9. sal <= a WHEN sel = '0' ELSE
10. b;
11. END arq_mux;

3. Una vez salvado el archivo se crea un proyecto, incluyendo dicho archivo. Esto se
hace de la siguiente manera:

a) File → New → Project [Target-Device]. Esto abre una nueva ventana. En


Browse… se introduce la ruta donde se salvará el proyecto, en este caso con el
mismo nombre (mux). Además, se selecciona el lenguaje que se va a utilizar
(VHDL o Verilog), que en este caso es VHDL.

b) Se da clic en <siguiente> y aparece una nueva ventana que da la opción para


agregar el archivo mux.vhd, creado anteriormente. Dar clic en <add> y
<siguiente>. Esto último abre una nueva ventana que permite seleccionar el
dispositivo a utilizar. En ésta práctica se utiliza el dispositivo GAL22V10, que es
un dispositivo SPLD del tipo C22V10. En este caso se selecciona el
PALCE22V10-25PC ó -15PC, según sea su retardo de programación (speed
(ns)) y se da <Finalizar>.

c) Finalmente, aparece una nueva ventana que pregunta si se desea salvar el


proyecto, hacer clic en <YES>.

4. En la figura 3 se puede observar que la ventana izquierda cambia. Esto es debido al


hecho de que ya es un proyecto. Se da clic con el botón derecho del ratón, sobre
mux.vhd, y se selecciona Set Top. Todo esto, como se muestra en la figura 3a).
Una vez hecho esto es posible observar que el icono del archivo creado mux.vhd
cambió, como se muestra en la figura 3b.
Fig. 3. Indicar el archivo principal o de mayor nivel (top level).

5. Se compila el archivo en: Compile → Selected File(s) y se ejecuta dicho proceso.


En la parte inferior de la ventana se desplegará la información del resultado de la
compilación. En caso de que no fuese satisfactoria, es posible saber en dónde
están los errores o advertencias. Para tener acceso a dicha información es
necesario cambiar de pestaña. La pestaña en donde se despliegan los errores o
advertencia dice: Errors & Warnings. La pestaña está localizada en la parte inferior
de la ventana de abajo.

6. Para corroborar el funcionamiento correcto del programa, es posible realizar la


simulación funcional o digital. Para esto, se va a: Tool → Active-HDL Sim,
abriéndose una nueva ventana.

7. En la nueva ventana, abrir el archivo mux.vhd, mediente: File → Open VHDL file
for simulation y seleccionar el archivo, localizado en la carpeta vhd, creada por el
proyecto. Hacer clic en <Abrir>. Al hacer esto, se compila el programa, apareciendo
comentarios en la consola de la ventana de simulación.

8. Para visualizar las señales a simular, es necesario agregarlas a la ventana de


simulación. Para ello se hace en: Waveform → Add signal y se agregan las
señales a monitorear. En esta caso son las entradas Sel, a, b y la salida Sal, para
posteriormente agregarlas dando clic en el botón <Add>.

9. Para el caso de señales de entrada, es necesario excitar o asignar valores para su


simulación. Esto se hace dando clic con el botón derecho sobre cada señal, por
ejemplo la señal b, y dando clic en Stimulators…, esto hace que se abra una
ventana en donde se indican el tipo de estímulo; en este caso, daremos: Stimulator
type: value, Strength: Override, Force value: (valor que deseamos asignar, en
este caso será 0). Para que tenga efecto se da clic en <Apply>. Esto se hace en
cada señal (b, a, Sel) y en cada asignación se da clic en <Apply>.

10. Una vez introducidos los vectores, es necesario dar Simulation → Run for o F5,
para observar la simulación, como se muestra en la Figura 4. La salida refleja la
funcionalidad del circuito, considerando las señales de entrada.
Fig. 4. Simulación del circuito multiplexor.

11. Una vez que se ha comprobado el correcto funcionamiento, es necesario saber en


qué terminales de la GAL se localizan las señales de entrada y salida, con el fin de
realizar la interconexión correcta. El archivo que proporciona dicha información es el
reporte de salida Output Files. Este archivo se localiza en la ventana izquierda del
proyecto, en donde se tiene el archivo mux.vhd. Para tener acceso al archivo de
reporte, se tiene que cambiar de pestaña, localizada en la parte inferior de la misma
ventana y ello se logra dando doble clic en el archivo mux.rpt.

12. Al saber cómo configurar el dispositivo para su prueba física, se programa dicho
dispositivo. Para esto se requiere portar el archivo que se desea programar, el cual
tiene terminación jedec (mux.jed), e ir al programador del laboratorio, donde se
procede a realizar la programación de la GAL.

13. Una vez programada la GAL, se hace el conexionado sobre el proto-board y se


procede a alimentar el circuito y a hacer las pruebas físicas. Las pruebas físicas
pueden ser las que se realizaron previamente en la simulación. Si las pruebas
corresponden a lo esperado el circuito y/o sistemas se ha concluido
satisfactoriamente.

4 RESULTADOS Y CONCLUSIONES

Los estudiantes que ingresan a la Unidades de Aprendizaje de fundamentos de diseño


digital son heterogéneos, encontrando así estudiantes que provienen de preparatorias o
bachilleratos. En estas instituciones, de nivel medios superior, no llevan cursos técnicos
y, por lo tanto, no desarrollan las habilidades y competencias necesarias como otros
estudiantes provenientes de las escuelas Vocacionales, que pertenecen al Instituto
Politécnico Nacional. Esta es la razón por la que los estudiantes desconocen del uso de
circuitos integrados y equipo de laboratorio. Por tal motivo, el empleo de los proto-board
homogeniza los conocimientos de los estudiantes y crean las competencias necesarias.

El crear un procedimiento instruccional permite que el estudiante repita la práctica en su


casa, al menos en simulación, con distintos diseños, sin necesidad de requerir asesoría
del docente en cada paso, permitiendo así cierta autonomía del estudiante durante el
curso.

Se concluye que es necesario realizar dos o tres prácticas empleando un proto-board,


eso es posible percibirlo durante las evaluaciones de las prácticas, al ver como los
estudiantes han adquirido las competencias necesarias para el prototipado, sobre un
proto-board. Una vez superada dicha competencia, es posible emplear tarjetas de
desarrollo, basadas en FPGA’s, para ejercitar al estudiante con problemas más
complejos de diseño.

AGRADECIMIENTOS. Este trabajo fue financiado por el proyecto de investigación SIP:


20195485 y la COFAA del IPN.

REFERENCIAS:

[1] Álvarez, Jacobo (1995). “Metodología de diseño de controladores lógicos


caracterizados por flancos realizados con circuitos digitales configurables”, Tesis
doctoral, U. de Vigo.

[2] Pardo, Fernando y Boluda José A. (2003) “VHDL: Lenguaje para síntesis y
modelado de circuitos”. Alfaomega & ra-ma, 2ª edición.

[3]Instituto Politécnico Nacional (2003). “Un nuevo modelo educativo para el IPN”,
Editorial IPN, primera edición.

[4] Jessup, G. (1991). “Outcomes: NVQs and the emerging model of education and
training”, Falmer Press, London.

[5] Levi-Leboyer. (1997). “La gestión de las competencias”, Ediciones Gestión 2000,
Barcelona.

[6] Tejeda Fernández, José. (1999). “Acerca de las competencias profesionales”.


Revista Herramientas, núm. 56 (pp. 20-30).

[7] Viejo J., Ostuna E., Bellido M., Guerrero D. y Muñoz A. (2008). “La primera
experiencia en el diseño de sistemas digitales sobre FPGA”. VIII Congreso de
Tecnologías Aplicadas a la Enseñanza de la Electrónica. Del 2-4 Julio 2008,
Zaragoza, España.

[8] Julio C. Sosa S., Víctor H. García O. y Rubén Hernández-Tovar. (2010). “Paradigma
de la didáctica universitaria en cursos que utilizan el diseño asistido por
computadora”. 7mo. Congreso Internacional de Educación Superior. Del 8-12
febrero 2010. La Habana, Cuba.

También podría gustarte