Logo Studenta

Tarea12_VLSI_TGJL

¡Este material tiene más páginas!

Vista previa del material en texto

Universidad Nacional Autónoma de México
Facultad de Ingeniería
Diseño Digital VLSI
Grupo: 05 - Semestre: 2023-1
Tarea 12:
Contador Flip Flop D y Func.
Fecha de entrega: 06/10/2022
Profesora:
M.I. Elizabeth Fonseca Chávez
Alumno:
Téllez González Jorge Luis
Facultad de Ingeniería Diseño Digital VLSI______________________________________________________________________________________________________________
Introducción
En la siguiente tarea se mostrarán los ejercicios realizados por imitación correspondiente a
los 6.3 y 6.4 sobre sistemas secuenciales.
Desarrollo
Ejercicio 6.3
Dado el comportamiento de una tabla de transición, genere el diagrama de estado,
implemente con FFD. Se tiene una tabla de transición que no tiene entradas y salidas; solo
estados actuales y estados siguientes.
Tiene 4 estados: 00, 01, 10 y 11. Cuando se está en el estado 00 deberá pasar al estado
10. Si se está en el estado 10 deberá pasar al estado 11, y si se está en el estado 11 deberá pasar
al estado 00.
Se genera la tabla de transición de estados con los datos proporcionados:
Estado E E+1
e0 00 10
e1 01 10
e2 10 11
e3 11 00
Se responden las siguientes preguntas:
1. ¿Cuántos estados y cuáles se requieren? Se requieren 4 de 2 bits cada uno.
2. ¿Cuántas entradas y cuáles se requieren? No se cuenta con entradas.
3. ¿Cuántas salidas y cuántas se requieren? No se cuenta con salidas
4. ¿Qué se quiere tener como estado siguiente? El estado subsecuente considerando
la numeración al valor siguiente en binario (00 ->01, 01->10…).
En la implementación en FFD los estados son las salidas, y el comportamiento del �ip-�op
se obtiene por una reducción con Karnaugh. Una vez transcritos los códigos propuestos, se
2
Facultad de Ingeniería Diseño Digital VLSI______________________________________________________________________________________________________________
procede a simular únicamente estableciendo la división de frecuencia en el reloj con un C.T.
de 50% y un periodo de 10[ns], dejando Q0 y Q1 en alta impedancia. Como se observa,
una vez que se procede a simular se obtiene la transición de estados deseada dada por los bits
en Q0 y Q1; lo que resulta en un conteo binario ascendente del 0 al 3 que se repite.
Figura 1. Entradas en la simulación del ejercicio 6.3.
Figura 2. Salida en el ejercicio 6.3, donde se observa el comportamiento deseado.
3
Facultad de Ingeniería Diseño Digital VLSI______________________________________________________________________________________________________________
Ejercicio 6.4
Realizar el mismo ejercicio 6.3 con estilo funcional en VHDL.
Considerando la tabla de transición planteada en el ejercicio anterior, ahora se
implementará esta transición por un método funcional; similar al realizado durante la
elaboración del Proyecto 1: ALU automatizada. En esta forma, los estados se de�nen como
constantes, se emplean señales para los estados presente y siguiente y, por último, se de�ne un
process donde se tendrá un case en donde a cada estado presente se le asignará su estado
siguiente siguiendo la tabla de transición de�nida.
A continuación se muestra la simulación del código propuesto:
Figura 3. Entradas en la simulación del ejercicio 6.4. El reset queda en 0 para permitir la transición.
Figura 4. Salida en el ejercicio 6.4, donde se observa el comportamiento deseado.
4
Facultad de Ingeniería Diseño Digital VLSI______________________________________________________________________________________________________________
Contador de 3 bits por Flip-Flop D
Para cumplir los requerimientos solicitados, es necesario replantear la tabla de transición
realizada de la siguiente manera:
Estado E E+1
e0 000 010
e1 001 010
e2 010 011
e3 011 100
e4 100 101
e5 101 110
e6 110 111
e7 111 000
Entonces, para obtener las expresiones lógicas requeridas es necesario replantear el
mapa de Karnaugh para realizar una reducción y obtener las expresiones lógicas necesarias
para implementar la transición correcta. Para esto, la tabla anterior ahora se colocará en
función del �ip-�op a implementar de la siguiente forma:
Estado presente Estado siguiente D2 D1 D0
Q2 Q1 Q0 Q2+1 Q1+1 Q0+1
0 0 0 0 0 1 0 0 1
0 0 1 0 1 0 0 1 0
0 1 0 0 1 1 0 1 1
0 1 1 1 0 0 1 0 0
1 0 0 1 0 1 1 0 1
5
Facultad de Ingeniería Diseño Digital VLSI______________________________________________________________________________________________________________
1 0 1 1 1 0 1 1 0
1 1 0 1 1 1 1 1 1
1 1 1 0 0 0 0 0 0
Con lo anterior, es posible de�nir de forma detallada los mapas de Karnaugh respectivos, ya
que se requerirán 3 en total:
𝐷
2
 = 𝑄
2
𝑄
0
 + 𝑄
2
𝑄
1
 + 𝑄
2
 𝑄
1
𝑄
0
 
= xor𝐷
1
 = 𝑄
1
 𝑄
0
+ 𝑄
1
𝑄
0
 𝑄
0
𝑄
1
𝐷
0
 = 𝑄
0
 
6
Facultad de Ingeniería Diseño Digital VLSI______________________________________________________________________________________________________________
Con las expresiones booleanas obtenidas, es posible iniciar a modi�car el código del
ejercicio. En primer lugar, se debe añadir Q2 para aumentar un bit al estado. Luego, se debe
añadir una señal adicional para D2 y, por último, añadir un top adicional donde se enviará
D2 y Q2.
Figura 5. Modi�caciones realizadas al código principal.
En el archivo combinacional.vhd se añaden Q2 y D2 en entrada y salida y, además, se
declaran las expresiones obtenidas anteriormente por reducción de Karnaugh; considerando
que la suma equivale al OR y la multiplicación a AND.
Figura 6. Declaración de las expresiones al Flip-Flop D de la parte combinacional.
Al archivo FFD.vhd no se le realiza ninguna modi�cación adicional.
7
Facultad de Ingeniería Diseño Digital VLSI______________________________________________________________________________________________________________
Figura 7. Declaración del Flip-Flop D.
Figura 8. Diagrama RTL del contador de 3 bits con Flip-Flop D.
Por último, se realiza la simulación para veri�car que las expresiones obtenidas sean
correctas y el contador del 0 al 7 funcione correctamente.
8
Facultad de Ingeniería Diseño Digital VLSI______________________________________________________________________________________________________________
Figura 9. Entrada a la simulación.
Figura 10. Salida obtenida, donde se muestra que el contador funciona adecuadamente marcando los
valores.
9
Facultad de Ingeniería Diseño Digital VLSI______________________________________________________________________________________________________________
Contador de 3 bits por método funcional
Empleando como base el código desarrollado, ahora se añadirá un bit adicional a la
transición de estados; lo que resultará en un conteo del 0 al 7 en total.
Para lograr esto, en primer lugar se debe modi�car la dimensión de salMoore de 1 a
2 downto 0 para incrementar su dimensión. Posteriormente, se cambia la dimensión del
subtipo state igualmente a 2 downto 0. Luego, se añaden los estados adicionales con su valor
esperado (del 0 al 7 binario).
Figura 11. Estados adicionales declarados y dimensión aumentada de los mismos.
Luego, se tiene el primer processencargado de materializar la transición. Es decir,
mientras exista un cambio en el reloj interno (sin aplicar una división de frecuencia), se
realizará una transición del estado presente al estado siguiente asignando al valor presente el
valor del estado siguiente actual. Se añade una condición que menciona que, si el valor
lógico de reset es 1, se regresará de forma incondicional al estado e0.
Figura 12. Detección de cambios en el reloj para realizar la transición.
10
Facultad de Ingeniería Diseño Digital VLSI______________________________________________________________________________________________________________
Por último, con un segundo process que tiene en su lista de sensibilidad al estado presente se
de�ne un case en donde se de�ne de forma concreta la transición de cada estado (por
ejemplo, cuando el estado actual sea e0, entonces el siguiente será e1). Dicho de otro modo,
se de�ne, dado un estado actual, cuál será el estado siguiente en un momento dado.
Figura 13. Asignación del estado siguiente dado el actual.
Figura 14. Diagrama RTL del contador de 3 bits por método funcional.
A continuación se muestra la simulación del código modi�cado, en donde solo se de�ne el
C.T. del reloj interno a 50% y el resto se deja sin modi�caciones.
Figura 15. Entradas en la simulación del contador funcional de 3 bits.
11
Facultad de Ingeniería Diseño Digital VLSI______________________________________________________________________________________________________________
Figura 16. Salida obtenida por el contador funcional, donde se observa el conteo del 0 al 7 correcto.
Conclusiones
Por medio del trabajo desarrollado una vez más fue posible analizar la resolución de un
contador por medio de dos metodologías distintas; como lo es emplear Flip-Flops, o bien,
una máquina de estados. La primera opción, como se vio en el ejercicio desarrollado, es un
tanto más laboriosa ya que requiere realizar las reducciones correspondientes con
Karnaugh; con la ventaja de ser una solución más compacta.
Por otra parte, la metodología funcional resulta mucho más sencilla e intuitiva de
desarrollar; aunque con la parte negativa de requerir mayor cantidad de código para
establecerse. Ambas opciones, sin embargo, cumplen su objetivo al de�nir el contador de 3
bits (0 a 7) solicitado. Con el ejercicio propuesto pude volver a retomar conceptos de DDM
relacionados al Álgebra Booleana y la reducción por medio de mapas de Karnaugh, lo que
ciertamente me será útil para continuar en las siguientes actividades del curso de VLSI.
12

Continuar navegando