Está en la página 1de 4

1

Programa Ingeniería Electrónica, Universidad del Quindío – Sistemas Digitales

Nossa Mariana, Del Mar Verónica, Castro Gabriela


Proyecto Modulo de mapping
Programa Ingeniería Electrónica.
Universidad del Quindío.

I. INTRODUCCIÓN

Este informe tiene como objetivo principal analizar y explicar las prácticas llevadas a cabo en las clases de hardware descriptivo
utilizando módulos Verilog. Se explorarán detalladamente las entradas y salidas clave de cada módulo, proporcionando una
explicación exhaustiva de su funcionamiento y su rol en la construcción de sistemas digitales.
El uso de hardware descriptivo y lenguajes como Verilog es fundamental en el diseño de sistemas digitales. Estos módulos
proporcionan una representación a nivel de comportamiento y estructura de componentes electrónicos, facilitando la
comprensión y el diseño de sistemas complejos.

II. MÉTODOS E INSTRUMENTOS


I. Instrumentos
Quartus Prime Lite Edición
Verilog HDL
Testbench

II. Métodos: Se empleó por medio de programación de hardware con el lenguaje de verilog HDL en el programa Quartus,
la creación y asignación de módulos, sus respectivas entradas y salidas de conexiones y se procedió a probarse en
simulación para una explicación detallada de cada componente agregado al código.

III. DESARROLLO
El módulo mapping implementa un proceso de mapeo de datos de entrada a una ubicación de memoria utilizando un contador,
una FSM y un multiplexor. El módulo genera las señales de control necesarias para escribir y leer datos de la memoria.
Se podría decir que el módulo mapping utiliza un contador para generar direcciones de memoria, una FSM para controlar el
proceso de mapeo y un multiplexor para seleccionar la dirección adecuada. El módulo genera las señales de control necesarias
para escribir y leer datos de la memoria.

Figura 1. Módulo principal de mapping.

Para la creación de este módulo se emplearon las entradas y las salidas que se muestran en las tablas 1 y tabla 2, adicionalmente
este módulo cuenta con unas señales intermedias que se observan en la tabla 3.
2
Programa Ingeniería Electrónica, Universidad del Quindío – Sistemas Digitales

Tabla 1. Explicación de entradas de módulo principal mapping.

Entradas Función
clk Esta entrada tiene como función operar un reloj encargado de sincronizar las
operaciones del código completo
rstn Esta entrada permite activar un reset asincrónico que se encuentra activo en bajo
start Una señal que inicia el proceso de mapeo.
ready_mem Una señal que indica que la memoria está lista para aceptar datos.
data_in Datos de entrada de 4 bits

Tabla 2. Explicación de salidas de módulo principal mapping.

Salidas Función
ready Una señal que indica que el proceso de mapeo está completo.
write Una señal que controla la escritura de datos en la memoria.
clear Una señal que controla el borrador de la memoria.
data_out Los datos de salida de 6 bits

Tabla 3. Señales intermedias

Señal intermedia Función


dir0 La dirección de memoria inicial para los datos de entrada.
dir1 La dirección de memoria una posición después de dir0.
dir2 La dirección de memoria ocho posiciones después de dir0.
dir3 La dirección de memoria nueve posiciones después de dir0.
sel Una salida del contador de 2 bits que selecciona la dirección de memoria a utilizar. Una
señal que indica que el contador ha desbordado.
ovf Una señal que indica que el contador ha desbordado.
ena Una señal que controla la activación del contador
clr Una señal que controla el borrador del contador

Como complemento al módulo principal se crearon los módulos con el nombre de “fsm.mapping” y “courter”.

El módulo fms.mapping que se muestra en la figura 2 es un módulo de una Máquina de Estados Finitos. Esta máquina de estados
tiene siete estados diferentes: s_idle, s_clear, s_end_clear, s_write, s_wait, s_end_write y s_ready. El comportamiento del
módulo está controlado por las transiciones de estado basadas en las señales de entrada como clk, rstn, x, ready_mem, ovf, y
start.

Cada estado tiene asignadas acciones específicas a las señales de salida clear, clr, ena, ready, write, y y. Por ejemplo, en el estado
s_clear, las señales clear y clr se ponen en alto, mientras que las otras señales permanecen en bajo. El comportamiento de cada
estado está definido por las condiciones lógicas de transición entre estados y las asignaciones de las señales de salida en cada uno
de ellos.

Figura 2. módulo fsm.mapping.


3
Programa Ingeniería Electrónica, Universidad del Quindío – Sistemas Digitales

En las tablas 4 y 5 se explican cuales son las entradas y las salidas de este módulo

Tabla 4. Entradas modulo fsm.mapping

ENTRADA FUNCIÓN
clk Señal de reloj que controla el comportamiento del sistema.
Señal de reinicio asincrónico, cuando está en bajo (0), se activa el reinicio
rstn
del sistema.
x Señal de control del sistema.
ready_mem: Señal de estado de preparación de la memoria.
ovf: Señal de overflow o desbordamiento.
start: Señal de inicio de la operación.

Tabla 5. Salidas del módulo fms.mapping

SÁLIDAS FUNCIÓN
clear Señal de limpieza o reseteo de algún componente del sistema
dr Señal de limpieza adicional o reseteo
ena Señal de habilitación o activación de algún componente del sistema.
ready Señal indicadora de que el sistema está listo para realizar alguna operación.
write Señal de escritura o activación de la escritura en algún componente.
Salida que probablemente representa algún dato o estado del sistema, aunque
y
en el código proporcionado no está definido su comportamiento específico.

Para el módulo del counter que se muestra en la figura 3 es un contador que tiene un registro de N bits que se incrementa en cada
flanco de subida del reloj. Cuando la señal de reinicio está baja, el contador se restablece a cero junto con la señal de
desbordamiento.

Cuando la señal de habilitación está activa y el contador alcanza su máximo valor (2^N - 1), se produce un desbordamiento y el
contador se reinicia a cero. Si el contador no ha alcanzado su máximo valor, se incrementa en uno y la señal de desbordamiento
se mantiene en cero.

Figura 3. Modulo counter


4
Programa Ingeniería Electrónica, Universidad del Quindío – Sistemas Digitales

En las tablas 6 y 7 se da a conocer la función que tienen las entradas y las salidas de este módulo.

Tabla 6. Entradas del módulo counter

Entradas Función
clk Señal de reloj. El contador incrementa en cada flanco de subida de esta señal.
rstn Señal de reinicio asincrónico activa en bajo. Cuando esta señal está en bajo, el contador
se restablece a cero.
ena Señal de habilitación. Cuando está en alto, permite que el contador incremente su valor
en cada ciclo de reloj.
clr Señal de claro. Si esta señal está activa, el contador se restablece a cero
independientemente del estado de la señal de habilitación.

Tabla 7. Salidas del módulo counter

Salidas Función
ovf Salida indicadora de desbordamiento. Esta señal se activa cuando el contador alcanza
su valor máximo y se produce un desbordamiento, es decir, cuando pasa de su valor
máximo a cero.
rstn Salida del valor del contador en formato binario de dos bits. Representa el valor actual
del contador.

IV. CONCLUSIONES
 El uso de Verilog permite una abstracción efectiva del hardware físico. Los módulos describen la funcionalidad sin
preocuparse por la implementación a nivel de circuitos, facilitando el diseño y la comprensión del sistema a un nivel
más alto.
 La modularidad inherente en Verilog promueve la reutilización y la fácil integración de componentes. La capacidad de
encapsular funcionalidades en módulos independientes facilita la construcción de sistemas complejos mediante la
combinación y conexión de estos módulos.

También podría gustarte