ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
Multiplos de 9
1. Diseñe un pequeño Sistema Digital, que permita detectar si un número es
Divisible para nueve.
Inicialmente el sistema debe recibir la señal START, luego de lo cual queda
esperando el número. Ahora el usuario debe ingresar por medio de un teclado
decimal, un número de tres dígitos, empezando por centenas, luego decenas y
finalmente unidades.
El sistema debe sumar las tres cifras del número. Si el resultado es mayor que
9, debe nuevamente sumar sus cifras hasta obtener un numero de un solo digito.
Si este es el número 9, la cantidad original si es divisible para nueve.
Ejemplo: Si el número es 117, al sumar las cifras se tiene 1+1+7=9 y por lo tanto
el número original si es divisible para nueve
Ahora se debe activar la salida Done y si el número fue divisible para nueve,
también se debe activar la salida Divi9. Ambas salidas deben permanecer
activadas mientras la señal Start continúe siendo verdadera, luego de lo cual el
sistema regresa al estado inicial en espera de un nuevo número.
Presente:
1. Diagrama de bloques de su solución
2. Partición funcional
3. Diagrama ASM
4. Simulación en VHDL
Nota: Asuma que la implementación será hecha usando tecnología FPGA
y lenguaje VHDL. Dimensionar adecuadamente cada componente.
3. C
O
N
T
R
O
L
A
D
O
R
DEC to BCD
Teclado
10 4
Numero_bin
10
Teclado
Tecla
Numero_bin Numero_bin Numero_bin
Centena Decena Unidad
Centena Decena
[CD]
[CD] Unidad
[CDU]
Start
Tecla
Mayor_a_9
Igual_a_9
clock
resetn
DONE
En_RC
En_RD
En_RU
En_RC En_RD En_RU
2. Partición Funcional.
reg_sost_1
en
clock
resetn
4
D
Q
4
reg_sost_2
resetn
reg_sost_3
resetn
clock clock
en en
4 4
44
4
4
A B
Σ_1
Cin Cout
4
A B
Σ 2
Cin CoutCout_S
Cout_S
4 4
4
4. BIN to BCD
[CDU]
D2 U2
Final
[CDU] Final
Mayor_A_9
Respst
4 4
5
4 4
4
A B
A + B
n-MUX
2-1
n
𝑠0
𝐼0 𝐼1
Cmp
A B
A>B A=B
A>B
“01001”Respst
Mayor_a_9 Igual_a_9