RESUMEN DE PASOS EN IMPLEMENTACION DE SD (2do Parcial)
-
Upload
victor-asanza-armijos -
Category
Education
-
view
531 -
download
3
Transcript of RESUMEN DE PASOS EN IMPLEMENTACION DE SD (2do Parcial)
SEGUNDO PARCIAL:IMPLEMENTACIÓN DE
SISTEMAS DIGITALES (SD)
1
0110000101110011011000010110111001111010011000010
11
01
01
00
11
00
10
10
11
00
00
10
11
01
11
0
Sistemas Digitales II
RESUMENSISTEMAS DIGITALES II
vasanza
2
0110000101110011011000010110111001111010011000010
11
01
01
00
11
00
10
10
11
00
00
10
11
01
11
0
Sistemas Digitales II
PANORAMA:
Diseño de Sistemas
Digitales (SD)
Diseño Informal
Diseño de Controladores
MSS
Programación VHDL DIGITALES 1
DIGITALES 2 – 1P
DIGITALES 2 – 2P
vasanza
3
0110000101110011011000010110111001111010011000010
11
01
01
00
11
00
10
10
11
00
00
10
11
01
11
0
Sistemas Digitales II
OBJETIVO:
Diseño de Sistemas Digitales
(SD)
Habilidad de Diseño
Bloques MSI VHDL
Controlador MSS
vasanza
4
0110000101110011011000010110111001111010011000010
11
01
01
00
11
00
10
10
11
00
00
10
11
01
11
0
Sistemas Digitales II
1.- Identificar el algoritmo que
resuelve los requerimientos del
SD.
2.- Diseñar la partición funcional
del SD.
3.- Hacer el Diagrama ASM del Controlador
MSS.
vasanza
PASOS EN EL DISEÑO DE UN SD:
5
0110000101110011011000010110111001111010011000010
11
01
01
00
11
00
10
10
11
00
00
10
11
01
11
0
Sistemas Digitales II
1.- ALGORITMO:
i=0;
While(FinIngreso=0){
LedIngreso=1;
If (IngresoA=1 and i≤10){
RAMA(i)=InNumero;
i=i+1;
}
}
Regreso al estado de anclaje del bucle while.
En este otro estado se desarrolla el algoritmo deingreso de datos. Siempre preguntamos primeropor la condición de salida en el ASM. Este estadotrabaja como anclaje para el bucle infinito.
El estado de anclaje tiene una salida mooremediante un led indicando que se pueden seguiringresando datos.
Este es otro estado en el que se valida que elbotón de Ingreso esté activado por el usuario yademás que el número de datos ingresados esmenor a 10.
En este caso luego de la validación, de formamealy en el mismo estado se puede generar elenable para guardar en dato en la dirección i de lamemoria RAM.
En el siguiente estado de forma moore se debehacer que el contador i incremente su valor. OJOno se puede hacer el paso anterior (guardar undato en la dirección i) e incrementar el contador i,en un mismo estado.
Pseudocódigo para el ingreso de datos con un tamaño menor o igual a 10.
vasanza
Se inicializa el contador i en cero.
6
0110000101110011011000010110111001111010011000010
11
01
01
00
11
00
10
10
11
00
00
10
11
01
11
0
Sistemas Digitales II
1.- ALGORITMO:
For i=0 to TamSecuencia
CNT=0
For j=0 to TamSecuencia
R1=RAM(i)
R2=RAM(j)
If R1=R2
Inc(CNT)
Endif
endFor
if RAMCnt(RAM(i))<CNT
RAM(RAM(i))=CNT
Endif
EndFor
Se pueden usar instrucciones for que son similares a la While,cuya única diferencia es que aquí nuestra condición de salida segenera al comparar el contador up i con TamSecuencia.
Se inicializa un contador que nos permite registrar cuantas vecesse repite cada dígito. Se lo puede hacer de forma moore.
Pseudocódigo para detectar las veces que se repite cada dígito común es.
vasanza
Este segundo for recorre la memoria RAM comparando el datode la dirección i (controlado por el for principal que actúa comopivote) con el de la dirección j.
El acceso a la ram solo se lo puede hacer una dirección a la vez,por ello en los dos siguientes estados se guardan en dosregistros los valores RAM(i) y RAM(j).
En este otro estado se pregunta si los valores R1 y R2 son igual,en caso de serlo se incrementa de forma mealy en contador CNT.
Regresa al estado de anclaje del segundo for.
La RAMCnt utiliza el valor almacenado en la RAM(i) comodirección. En este if se valida que el número de repeticiones deldígito RAM(i) es mayor al número anteriormente guardado (pordefecto RAMCnt está llena de ceros).
Se actualiza el número de veces que se repite el dígito RAM(i).
Regreso al estado de anclaje del primer for.
7
0110000101110011011000010110111001111010011000010
11
01
01
00
11
00
10
10
11
00
00
10
11
01
11
0
Sistemas Digitales II
2.- PARTICIÓN FUNCIONAL:
Controlador
Datos Procesador de Datos Datos
Señales
Señales Señales
DIGITALES 2 – 1P
DIGITALES 2 – 2P
vasanza
8
0110000101110011011000010110111001111010011000010
11
01
01
00
11
00
10
10
11
00
00
10
11
01
11
0
Sistemas Digitales II
2.- PARTICIÓN FUNCIONAL:
Datos Procesador de Datos (Bloques MSI) Datos
vasanza
Comparador: Multiplexor:
9
0110000101110011011000010110111001111010011000010
11
01
01
00
11
00
10
10
11
00
00
10
11
01
11
0
Sistemas Digitales II
2.- PARTICIÓN FUNCIONAL:
Datos Procesador de Datos (Bloques MSI) Datos
vasanza
Codificador BCD a 7 Segmentos: Convertidor o Codificador Decimal a BCD:
10
0110000101110011011000010110111001111010011000010
11
01
01
00
11
00
10
10
11
00
00
10
11
01
11
0
Sistemas Digitales II
2.- PARTICIÓN FUNCIONAL:
Datos Procesador de Datos (Bloques MSI) Datos
vasanza
Registro de Sostenimiento:
Registro de Desplazamiento:
11
0110000101110011011000010110111001111010011000010
11
01
01
00
11
00
10
10
11
00
00
10
11
01
11
0
Sistemas Digitales II
2.- PARTICIÓN FUNCIONAL:
Datos Procesador de Datos (Bloques MSI) Datos
vasanza
Contador Up:
12
0110000101110011011000010110111001111010011000010
11
01
01
00
11
00
10
10
11
00
00
10
11
01
11
0
Sistemas Digitales II
2.- PARTICIÓN FUNCIONAL:
Datos Procesador de Datos (Bloques MSI) Datos
vasanza
Memoria RAM:
13
0110000101110011011000010110111001111010011000010
11
01
01
00
11
00
10
10
11
00
00
10
11
01
11
0
Sistemas Digitales II
3.- ASM:
vasanza
While(Load_Reg=0){En1=1; Ld1=1;
}EnCnt=1; LdCnt=1;While(Start=0){}While(Val1=0 and Qreg(0)=0){
En1=1;}If(Val1=1){
Enf=1; While(2segundos=0){
Fin=1;}
}else{En1=1;
}