Upload
jorge-marcillo
View
30
Download
3
Embed Size (px)
Citation preview
Temas a tratar…
Introducción.
VHDL circuito SWAP
Circuito SWAP
Ing. Ronald Ponguillo Intriago2
Introducción
Las técnicas manuales de diseño no son usadas actualmente, pero ayudan mucho para desarrollar la intuición para entender como operan los Sistemas Digitales.
Además, las técnicas manuales del diseño proporcionan una ilustración de los tipos de manipulaciones que pueden ser realizados actualmente por herramientas CAD, dando nos una apreciación de los beneficios proporcionados por automatización del proceso del diseño
Ing. Ronald Ponguillo Intriago3
1. 7400 - NAND/2 In 23. 74138 - Dec/3-a-8
2. 7402 - NOR/2 In 24. 74139 - Dec/2-a-4
3 7404 - NOT 25. 74143 - Cont/Latch/Dec-Driver
4. 7408 - AND/2 In 26. 74147 - Cod-Prior/10-a-4
5. 7410 - NAND/3 In 27. 74150 - Mux/16-a-1
6. 7411 - AND/3 In 28. 74151 - Mux/8-a-1
7. 7414 - NOT/Sch. Trigger 29. 74153 - Mux/4-a-1
8. 7420 - NAND/4 In 30 74154 - Dec/4-a-16
9. 7421 - AND/4 In 31. 74157/158 - Mux/2-a-1
10. 7427 - NOR/3 In 32. 74160/161/162/163 - Cont/Bin-Dec
11. 7430 - NAND/8 In 33. 74169 - Cont/Up-Down
12. 7432 - OR/2 In 34. 74174/175 - 6/4 FF/D
13. 7442 - Dec/BCD-a-Dec 35. 74181 - ALU
14. 7447/48 - Decoder-Driver 36. 74184 - Conv-Cod/BCD-Bin
15. 7470 - FF/JK 37. 74185 - Conv-Cod/Bin-BCD
16. 7474 - FF/D 38. 74190/191/192/193 - Cont/Up-Down/Bin-BCD
17. 7483/183/283 - Sumador 39. 74194 - Reg/Universal
18. 7485 - Comparador 40. 74240/241/244 - 8 Buffer/3-state Out
19. 7486 - XOR 41. 74260 - NOR/5 In
20. 7489/189/289 - RAM 42. 74279 - Celdas bin.
21. 74125 - 4 Buffer/3-state out 43. 74374 - 8 FF/D/3-state out
22. 74133 - NAND/13 In 44. 74377/378/379 - 8/6/4 FF/D con Enable
Ing. Ronald Ponguillo Intriago4
Diseño intuitivo por Partición Funcional de un Sistema Digital para intercambiar
los datos de dos registros
El diseño por Partición Funcional consiste en una apropiada conexión de los componentes entre si, con el fin que el conjunto de componentes interconectados realice la operación deseada.
Cuando el circuito Controlador del Sistema Digital es también implementado por Partición Funcional, este método de diseño se llama intuitivo porque requiere tanto de conocimiento de los componentes digitales como de mucha intuición.
Ing. Ronald Ponguillo Intriago5
Ing. Ronald Ponguillo Intriago6
Los Sistema Digitales muy a menudo contienen un conjunto de registros para almacenar los datos. Todos los registros están conectados a un bus para transferir los datos desde y hacia registros
Un Sistema Digital real puede tener otros circuitos conectados al bus. Por lo tanto, los datos que se almacenan en los registros pueden provenir de otros circuitos. Es por esto que la salida de cada registro debe ser conectada al bus por medio de un buffer de tres estados de n-bit.
Ing. Ronald Ponguillo Intriago7
Cuando se desea almacenar el dato en un registro, el circuito de Control manda la señal de habilitación Rin al registro el cual se va a cargar
El circuito de Control también produce las señales de habilitación de salida Rout de los buffer cuando se desea sacar el dato desde algún registro
Este sistema puede ser utilizado de varias maneras. Los datos pueden cargarse desde afuera, transferirse de un registro a otro o a otros, intercambiarse entre los registros.
Ing. Ronald Ponguillo Intriago8
Sistema Digital SWAP Asumimos que tenemos solo tres registros, R1,
R2 y R3.
Diseñaremos el circuito de control que permita realizar una sola función – intercambiar (swap) el contenido de los registros R1 y R2 usando el registro R3 para almacenamiento temporal
Realizaremos la operación en tres pasos
Primero transferimos el contenido de R2 a R3
Ing. Ronald Ponguillo Intriago9
Luego transferimos el contenido de R1 a R2.
Finalmente, transferimos el contenido de R3 a R1 transferimos el contenido de R2 a R3
Ing. Ronald Ponguillo Intriago10
Ing. Ronald Ponguillo Intriago11
Implementación del circuito Controlador
Ing. Ronald Ponguillo Intriago12
R 2 o u t , R 3 i n
R 1 o u t , R 2 i n R 3 o u t , R 1 i n
w D Q
Clock Q
D Q D Q
Q Q
Reset
Figure 7.57 A shift-reg ister con tro l circuit.
Código VHDL para el circuito SWAP.
Ing. Ronald Ponguillo Intriago13
Debemos describir en VHDL cada uno de los subcircuitos: registros de sostenimiento, buffer de tres estados y el registro de desplazamiento que usamos como circuito de control. Para poder variar el número de bits de los datos utilizamos el parámetro genérico generic n.
Ing. Ronald Ponguillo Intriago14
El registro reg es un registro especial con Mux de 2-a-1 en las entradas de datos. Solo cuando Rin = 1 el registro carga los datos externos con el flanco de subida de Clock.
Ing. Ronald Ponguillo Intriago15
La arquitectura usa la sintaxis (others => ‘Z’) para especificar que la salida de cada buffer estará en estado de alta impedancia Z si la entrada de habilitación En = 0. Sino la salida Sal es igual a la entrada Ent.
Ing. Ronald Ponguillo Intriago16
Ing. Ronald Ponguillo Intriago17
El número de flip-flops es definido por el parámetro generic k.
La operación de desplazamiento a la derecha esta definida con for loop.
for loop es una declaración secuencial que permite especificar un número fijo de repeticiones en una descripción del diseño por comportamiento (que ejecuta una serie de declaraciones secuenciales múltiples veces).
Ing. Ronald Ponguillo Intriago18
Para usar los circuitos ya descritos en código VHDL como subcircuitos de diferentes sistemas digitales mas grandes se requiere declarar cada uno como un component. Para esto instanciamos un package llamado componentes en el cual se encuentran todos los circuitos descritos.
package es la unidad de diseño que especifica un conjunto de declaraciones que puede incluir atributos, componentes, constantes, archivos, tipos, etc.
Ing. Ronald Ponguillo Intriago19
Ing. Ronald Ponguillo Intriago20
Ing. Ronald Ponguillo Intriago21
Este package podemos luego usarlo en la descripción de un Sistema Digital más complejo. Lo puede guardar en la carpeta con cualquier nombre (por ejemplo, work).
Ing. Ronald Ponguillo Intriago22
Ing. Ronald Ponguillo Intriago23
Al inicio de la descripción de architecture indicamos todas las signal, que son alambres internos que interconectan los subcircuitos entre si.
Luego describimos como están conectados todos los componentes del Sistema.
Ing. Ronald Ponguillo Intriago24
Generic map es usada para asignar los valores de los parámetros genéricos de los componentes.
Port map es usada para asociar señales de port de cada componente con port y signal de otros componentes del Sistema.
Para poder inicialmente cargar los registros externamente agregamos las señales de control para los tres registros RinExt.
Ing. Ronald Ponguillo Intriago25
Ing. Ronald Ponguillo Intriago26
Este código no puede ser procesado por el compilador de Max+plusII VHDL porque este último no permite conectar juntas las salidas de los buffer de tres estados descritos en VHDL. Con los buffer como componentes discretos si se puede hacer esta conexión
Para poder compilar el código se requiere reemplazar los buffer por los Mux.
Ing. Ronald Ponguillo Intriago27
Ing. Ronald Ponguillo Intriago28
Bus
R l R1 R l R2 R l Rk
Clock
Data
j – R
Multiplexers
Figure 7.60 U sing m u ltip lexers to im p lem ent a bus.