1_DisenioIntuitivo

Preview:

Citation preview

CAPITULO 1

Diseño Intuitivo de Sistemas Digitales

Ing. Ronald Ponguillo Intriago rponguil@espol.edu.ec

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.