Академический Документы
Профессиональный Документы
Культура Документы
Laboratorio arquitectura de
computadores
Integrantes: Rosibel Rentería, Edwing Arenas
Presentado a: ING. William Salamanca
INTRODUCCION
Para la práctica, se propone diseñar un transmisor de datos. Este consiste en leer un dato de 8 bits, capturarlo
y transmitirlo por un canal de 1 bit, de manera serial, este dato debe transmitirse, sin pérdida de información, y
enviarse a la orden de un pulsador que inicie la transmisión, además se debe enviar al exterior una señal que
indique que el sistema envía la información.
DISEÑO E IMPLEMENTACION
Parte 1
Para el diseño, se considera que el problema se asemeja a una topología de circuitos digitales, como son los
registros de desplazamiento. Estos permiten tomar un dato de manera serie o paralelo, para ser enviado de
manera serie o paralelo. Para la solución del problema, se considera que la salida en un dato es serie, y el dato
de entrada es paralelo. El diseño básico seria:
Mediante las consideraciones, el diseño que se plantea como solución para el envió de un dato de 8 bits de
manera serial es el presentado en la siguiente gráfica:
Para el control del circuito, se diseña la máquina de estados que regirá el comportamiento de esta. De manera
simple, se explica cómo es la máquina de estados, y que ocurre en esta.
El diseño de la máquina de estados se puede ver en la figura 4.
En el diagrama general del circuito, la entrada inicio, es la encargada de iniciar la secuencia de transmisión de
datos. Mientras el sistema envía los datos en serie, se envía una señal de “ocupado”; también se ha agregado
en la entrada, un registro, cuya única funcionalidad, es capturar la señal de entrada, y almacenarla un instante
de tiempo. También debido a la implementación de registros (flipflop), es necesario de un reset asíncrono, que
permita inicializarlos.
TABLA DE ESTADOS
Q0 0 0 0 1 Envía dato q0
Q1 1 0 0 1 Envía dato q1
Q2 1 0 0 1 Envía dato q2
Q3 1 0 0 1 Envía dato q3
Q4 1 0 0 1 Envía dato q4
Q5 1 0 0 1 Envía dato q5
Q6 1 0 0 1 Envía dato q6
Q7 1 0 0 1 Envía dato q7
En diagrama de estados, la secuencia se inicia con la entrada INICIO. Mientras no se encuentre el sistema en
estado “espera”, se activa la señal “ocupado”, esta es la encargada de mostrar al usuario que el circuito está
enviando los datos y que está trabajando mientras que no está en reposo.
Mediante la herramienta ISE 10.1 se implementó el circuito planteado anteriormente. El diagrama RTL del
diseño es:
En el diagrama, podemos observar el dato de entrada y la señal de inicio accionadas al mismo tiempo. Además
se pueden ver los estados de la máquina y el dato de salida Tx. Mediante el análisis de la máquina de estados y
el diseño del datapath. Es posible analizar:
El diseño está planteado para transmitir un dato en forma serial, aun cuando este se presente durante
medio flanco de reloj.
Cuando se inicia la máquina de estado. En el estado carga, el dato Q (0) que se envía durante ese
estado, es el bit correspondiente al elemento almacenado en el registro, antes de que se envié en el
estado q_0.
En el diagrama de tiempo. La salida ocupado, corresponde a la salida loading en el esquema general.
Cuando envía su último dato, pasa de estado q_7 a espera. En ese estado de espera, el sistema se
reinicia y la salida se coloca a 1, sin embargo está habilitada la señal de entrada dato mediante el
selector load=1.
Parte 2
Para el diseño de la parte 2, se considera el anterior diseño como un subcircuito. El objetivo es enviar de
manera serial 5 datos de 8 bits, tomando como elemento base, una máquina de estados que controle el
circuito de envió de 1 dato, más un multiplexor que me permita seleccionar el dato a enviar.
Mediante un diagrama de bloques, el diseño propuesto ahora, y con base al circuito anterior, es:
Mediante ISE 10.1, el diagrama de tiempo del circuito propuesto, se muestra a continuación:
En el diagrama se puede solo apreciar el envió de 2 datos (A y B), con el fin de demostrar cómo funciona el
sistema. Mediante el diagrama de estados y de tiempo se puede analizar:
En el diagrama, cuando hay una transición entre enviox y datox, hay 2 periodos de tiempo, en donde
indica, que el datapath primario, ya envió el primer dato y que se mantiene en espera, hasta que la
FSM, vuelva a dar inicio al datapath.
En el diagrama, la señal trans_x corresponde a la señal de salida serial. La señal de ocupado como
enviando, el inicio como pulsador, y en el diagrama, se puede observar los estados generales de cada
fsm que interviene en el proceso.
En el estado de enviox, es donde se transmite el dato, sin embargo hay que establecer que el primer
dato del estado enviox, no corresponde al dato de menor peso en enviarse, sino al valor almacenado
en la entrada, y que en el momento de la carga el ve.
El estado datox, solo tiene la finalidad de encender el datapath, dar la orden de inicio y seleccionar el
mux selector de datos A-E.
En el estado reposo, se considera que este estado está en reinicio total, por lo tanto, en el diagrama no
es necesario establecer en ese momento, cual es el valor del mux selector.
CONCLUSIONES
Para el diseño de circuitos digitales de tipo desplazamiento, es básico, tener en cuenta las transiciones
entre leer dato, almacenar dato y transmitir.
En cada estado, siempre se debe analizar, como se comporta el registro de desplazamiento. Teniendo
en cuenta su respectivo estado anterior y estado siguiente.
Mediante sintaxis en vhdl, es posible implementar algunos parámetros de circuito digital y simplificar
esquemas, a su estado más primitivo, como por ejemplo reducir multiplexores, disminuir conexiones
de tipo signal, entre otros.
Una característica de la combinación datapath + FSM, radica en la acción de control de la fsm, pero
con un retardo de 1 flanco de reloj en el datapath. Por esto, es común diseñar un diagrama de estados,
cuya salida se ve reflejada cada siguiente flanco de reloj.