Asignación no bloqueante Señal de reloj Biestable RS Biestable JK

Transcripción

Asignación no bloqueante Señal de reloj Biestable RS Biestable JK
Circuitos biestables Asignación no bloqueante Señal de reloj Biestable RS Biestable JK Asignación no bloqueante l 
En Verilog, cuando hay varias asignaciones para una marca de Bempo, se realizan de modo consecuBvo. Así si tenemos !
l 
l 
!
!#5 R=0; S=0;!
primero se calcula el resultado de asignar 0 a R y sus consecuencias, y posteriormente se asigna 0 a S La asignación no bloqueante usa como símbolo <=!
Si se usa asignación no bloqueante en el caso anterior !
!
!#5 R<=0; S<=0;!
primero se asignan todos los valores, antes de calcular sus consecuencias sobre el circuito. 2
Asignación no bloqueante •  ¿Cuál es el valor de a, b, c y d al final del siguiente ejemplo? #5 a=1; b=2; c=3; d=4;
!
#5 a=b; b=a;!
#5 c<=d; d<=c;!
3
Señal de reloj l 
Los procesadores funcionan a un determinado ritmo, que se conoce como la frecuencia de operación, que depende de una señal de reloj l 
l 
Si un procesador funciona a 1GHz, quiere decir que su señal de reloj Bene 1000 millones de ciclos por segundo Para simular la oscilación del reloj podemos usar un bloque always!
l 
Todo lo que se encuentre en el bloque se ejecuta conBnuamente hasta que termine (o se pare) el programa 4
Señal de reloj • 
Ejemplo: always #7 C=~C;!
• 
• 
• 
Suponiendo que antes se ha definido el registro C de un bit, este bucle hace que C cambie a su valor complementario cada 7 unidades de Bempo. Hemos conseguido, pues, un reloj que realiza un periodo o ciclo completo cada 14 unidades de Bempo Si una unidad de Bempo equivale a 1ns, ¿cuál sería la orden para un reloj que operara a 100 MHz? • 
• 
100 MHz = 100·∙106 Hz = 10-­‐8 s = 10 ns always #5 C=~C!
5
Circuito biestable •  Es un circuito que oscila entre dos (bi-­‐) estados •  La salida del circuito puede ser de dos Bpos: •  Estable: toma como salida la úlBma salida del circuito •  Entrada: toma como salida la entrada del circuito •  Una entrada control determina en que estado está el circuito •  Este Bpo de circuitos introducen la variable “Bempo” •  La salida de un circuito biestable es la que tenía en el momento anterior, a no ser que se tome de nuevo la entrada •  La entrada de control puede (suele) ser el reloj del sistema •  Son la base de los circuitos de desplazamiento que veremos en la sesión siguiente 6
Ejercicio 1 •  Programar un biestable RS con ayuda de dos puertas NOR •  ¿Cuál es la salida si se somete al biestable a la siguiente batería de entradas? $monitor($time," R=%b, S=%b, Q=%b, NQ=%b", R, S, Q, NQ);!
R=0; S=0;!
#5 R=0; S=1;!
#5 R=0; S=0;!
#5 R=1; S=0;!
#5 R=1; S=1;!
#5 R=0; S=0;!
#5 R=1; S=1;!
#5 S=0; R=0;!
7
Ejercicio 3 •  Añadir al biestable anterior una entrada de reloj a nivel alto •  Pista: soluciones y comentarios •  hdp://avellano.fis.usal.es/~compi/sol0703.htm 8
Ejercicio 5 •  Añadir un bloque always a las pruebas del ejercicio anterior para generar una señal de reloj de periodo 14 unidades de Bempo •  Obsérvese cómo el biestable sólo reacciona a las señales R y S cuando el reloj se encuentra en alto 9
Ejercicio 6 •  Modiiquese el diseño del ejercicio anterior para construir un biestable RS acBvo en el flanco de subida del reloj •  Para ello, pásese la señal de reloj por este circuito detector de flanco de subida antes de pasársela al biestable del ejercicio anterior •  Compruébese cómo el biestable es ahora acBvo en los flancos de subida 10
Ejercicio 7 •  Prográmese en Verilog, y comprúebese, este circuito que realiza un biestable JK acBvo 11
Ejercicio 7 (cont.) •  En parBcular, estúdiese lo siguiente 1.  Poniendo la señal de reloj en cero conBnuo, véase que las señales PRESET y CLEAR son asíncronas 2.  Poniendo la señal de reloj en uno conBnuo, y desacBvando las señales PRESET y CLEAR, comprobad el funcionamiento de las entradas J y K. • 
Es posible que al probar a acBvar a la vez las señales J y K, el funcionamiento no sea el esperado o incluso se bloquee la simulación. Si es el caso, pulsa CTRL+C 3.  RepeBd la prueba de J=1 y K=1, pero asignando un retardo de una unidad de Bempo a todas las puertas NAND 4.  InvesBgad qué sucede jugando con los retardos independientes de cada puerta, hasta alcanzar valores de comportamiento deseables. 12
13

Documentos relacionados