diseño avanzado de sistem as digitale s€¦ · procesado digital de señal codificación y...

89
D iseño A o avan Alberto Agui nzado Sadot Ale ilera 25. 280 www o de s exandres F 015 Madrid .upcomi sistem Fernández d. Tel +34 9 llas.es mas di z 91 542 28 0 igitale 00. es

Upload: others

Post on 04-Oct-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

Diseño

A

o avan

Alberto Agui

nzado

Sadot Ale

ilera 25. 280

www

 

 

 

 

o de s 

exandres F

 

 

 

015 Madrid 

.upcomi

sistem

Fernández

d.   Tel +34 9

llas.es 

 

mas di

91 542 28 0

igitale

00.    

es 

Page 2: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes
Page 3: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

Diseño avanzado de  sistemas digitales    

 

Julio 2014    i 

ÍNDICE 

 

1.  INTRODUCCIÓN A LAS TECNOLOGÍAS DIGITALES  1 

1.1  TECNOLOGÍAS MICROELECTRÓNICAS  1 1.1.1  Tecnologías Bipolar y  MOS  5 

1.2  METODOLOGÍAS DE DISEÑO DE SISTEMAS  6 1.2.1  Herramientas para el diseño de sistemas de altas prestaciones  6 1.2.2  Diseño para test de sistemas digitales  6 

1.3  EJERCICIOS  6 

2.  RUTA DE DATOS Y SUBSISTEMAS ARITMÉTICOS  7 

2.1  DISEÑO Y PLANIFICACIÓN DE UN SISTEMA DIGITAL  7 2.1.1  La interconexión de bloques  7 

2.2  SUBSISTEMAS ARITMÉTICOS  8 2.2.1  Sumadores binarios  8 2.2.2  Sumador Carry‐Bypass  9 2.2.3  Sumador Paralelo (Carry Look‐ahead)  10 2.2.4  Multiplicadores binarios  11 2.2.5  Multiplicador Carry‐Save  13 2.2.6  Arboles de Wallace  14 2.2.7  Algoritmo de Booth  15 2.2.8  Divisores  16 2.2.9  Desplazadores (Barrel Shifters)  19 

2.3  EJERCICIOS  21 

3.  SUBSISTEMAS SECUENCIALES  24 

3.1  DISEÑO SÍNCRONO DE SISTEMAS DIGITALES  24 3.2  METAESTABILIDAD Y SINCRONIZACIÓN  28 3.3  RELOJ Y SKEW  31 3.4  RESET Y PRESET  35 3.5  EJERCICIOS  38 

4.  SUBSISTEMAS BASADOS EN MEMORIAS  39 

4.1  INTRODUCCIÓN A MEMORIAS INTEGRADAS  39 4.1.1  Clasificación de memorias semiconductoras  40 4.1.2  Arquitectura interna y temporización  41 4.1.3  La celda de memoria  43 4.1.4  Diseño con memorias  45 

4.2  INTEGRACIÓN CON MICROPROCESADORES  50 4.3  MEMORIAS ESPECÍFICAS  50 

4.3.1  Memorias multipuerto. FIFO  50 4.3.2  Memorias cache  51 

4.4  EJERCICIOS  58 

5.  DISEÑO SEGMENTADO  61 

5.1  INTRODUCCIÓN AL PIPELINE  62 5.1.1  Diseño segmentado  63 5.1.2  Características principales  65 5.1.3  Diseño pipeline  66 

5.2  REDUCED INSTRUCTION SET COMPUTER: RISC  72 5.2.1  Introducción a RISC  72 5.2.2  Diseño superescalar  75 5.2.3  Diseño vectorial  75 

5.3  EJERCICIOS  75 

6.  DISEÑO ORIENTADO A TELECOMUNICACIONES  77 

Page 4: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

  Sistemas digitales avanzados 

 

ii    Julio 2014 

6.1  INTRODUCCIÓN AL DISEÑO PARA COMUNICACIONES  77 6.1.1  Comunicaciones digitales  77 6.1.2  Diseño de interfaces  77 

6.2  INTERFACES CON DISPOSITIVOS  77 6.2.1  Las comunicaciones RS232  77 6.2.2  Las comunicaciones RS485  77 6.2.3  Las comunicaciones SPI  77 6.2.4  Las comunicaciones I2C  79 

6.3  EJERCICIOS  83 

7.  BIBLIOGRAFÍA  84 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Page 5: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

Diseño avanzado de  sistemas digitales    

 

Julio 2014    1 

1. Introducción a las tecnologías digitales 

Este  capítulo  y  el  libro  en  su  conjunto,  está  enfocado  a  una  introducción  de  la tecnología digital y  su  impacto en  los  sistemas digitales  complejos. El  texto hace un puente  entre  el  diseño  digital  básico  y  su  aproximación  al  diseño  de  sistemas  de complejidad media‐alta. Se expone la microelectrónica como motor de estos sistemas, introduciendo  desde  el  funcionamiento  de  los  dispositivos  electrónicos  básicos  del diseño digital –la puerta NOT‐,  subiendo a elementos más  complejos,  como puertas básicas,  sumadores,  multiplicadores,  biestables,  memorias  y  sistemas.  Se  presenta también el avance logrado en los últimos años en los métodos de diseño de sistemas y circuitos  digitales,  así  como  en  el  flujo  del  diseño  y  test de  los mismos  a  través  de lenguajes de descripción de hardware (HDL). Con ello, se busca que el texto brinde al alumno  o  al  lector  el  interés  por  “bucear”  en  el  conocimiento  y  experiencia  de  los sistemas  digitales,  desde  un  punto  de  vista  analítico,  experimental  y fundamentalmente práctico. 

1.1 Tecnologías microelectrónicas 

El concepto de  información o dato digital es conocido por todos, o al menos todos  lo hemos escuchado, así como hemos visto su impacto social a lo largo de estos últimos años.  Su  aportación  en  la  conversión  en  el mundo  de  las  telecomunicaciones  y  la electrónica de  consumo es  imparable. Baste el ejemplo de  la  comunicación por voz, desde el par de cobre telefónico analógico hasta el famoso ADSL, que por cierto pasará en breve a mejor vida con la fibra óptica y las revolucionarias tecnologías inalámbricas, como lo son GSM, UMTS y LTE1. Las llamadas, 2G, 3G y 4G y la telefonía IP. Pues bien, todo esto permitido por la capacidad de la microelectrónica y de la integración de los sistemas,  cada  vez más pequeños haciendo  crecer  la  complejidad de  los núcleos de cálculo –microprocesadores‐,  llegando a ordenadores  inimaginables que hacen miles de millones de operaciones por segundo y con consumos muy bajos de energía.  

Los  primeros  pasos  realizados  en  esta  revolución,  desde  la  calculadora  mecánica (Figura  1)  a  la  electrónica,  han  sido  con  la  invención  del  transistor  bipolar  en  los Laboratorios  Bell,  ahí  por  el  año  1947  en  el  Estado  de  Nueva  Jersey  en  USA  y  la creación de la primera puerta digital, ahí por el año 1956. Sin embargo no es hasta los 60’s  cuando  Fairchild,  National  y  Texas  Instruments,  empresas  que  comienzan  la carrera de la etapa de los semiconductores digitales en circuitos integrados (ICs) con la tecnología  llamada  TTL,  acrónimo  de  Transistor‐Transistor  Logic,  también  llamada tecnología  bipolar.  Esta  tecnología  ha  estado  en  funcionamiento  desde  esa  época hasta muy entrado  la década de  los 80’s,  inclusive hasta muy entrado el  cambio de siglo, perdiendo la batalla por la tecnología MOS, Metal‐Oxide Semiconductor. La razón es  simple,  el  alto  consumo  de  energía  por  puerta  lógica  en  la  tecnología  TTL 

                                                       1 GSM: Group Special Mobile o Global System for Mobile Communications    UMTS: Universal Mobile Telecommunications System     LTE: Long Term Evolution  

Page 6: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

  Sistemas digitales avanzados 

 

2    Julio 2014 

incrementa de  forma notable el consumo del circuito digital conforme el número de puertas aumenta, lo que hace inviable el empaquetamiento del circuito digital. A partir de los años 90’s la tecnología digital se ha ido gradualmente pasando y consolidando a la  tecnología MOS.  Esta  tecnología  patentada mucho  antes  en  Canadá,  en  1925,  y retomando  el  camino  en  los  años  70’s  se  inició  con  la  llamada  tecnología  P‐MOS (transistor  de  canal  tipo  P)  para  el  uso  de  calculadoras  y  posteriormente  con  la tecnología  N‐MOS  (transistor  de  canal  tipo  N).  Esta  última  marca  el  primer  hito tecnológico:  la  introducción  del  primer microprocesador  de  la  compañía  INTEL  en 1972, el  llamado 4004 y en 1974 el 8080  (Figura 3). Microprocesadores de 4 bits y 8 bits  respectivamente. Paralelamente,  sale  a  la  luz,  la primera memoria  integrada,  la memoria MOS de 4Kbit.  

Finalmente el avance en los procesos tecnológicos, de manufactura y de integración en la  lucha  por  conseguir  un  bajo  consumo  de  energía,  se  llega  a  la  tecnología  CMOS  (Complementary Metal Oxide Semiconductor), aún vigente y que ha dado los mejores resultados hasta nuestros días. Otras tecnologías paralelas se han venido evaluando y comercializando,  como  BICMOS,  ECL  o  GaAs2.  Tecnologías  las  cuáles  sacrifican  el consumo de energía por un alto rendimiento en velocidad. 

La capacidad y la densidad de integración se han venido midiendo por la Ley de Moore. El  ya  conocido  co‐fundador de  Intel, que  visionariamente escribe que el número de transistores  por  IC  irá  creciendo  exponencialmente  con  el  tiempo.  Es  decir, aproximadamente la complejidad de integración se dobla cada 2 años. Este resultado, indica que desde los 70´s la densidad de un circuito digital, por ejemplo una memoria, se  ha  incrementado miles  de  veces,  así  como  la  frecuencia  de  reloj  y  velocidad  de cálculo, pasando de  los 10MHz, a  los 10GHz. Esta  revolución ha permitido que haya más  transistores disponibles que  capacidad de cálculo en un  solo  circuito  integrado. Por esta razón, los ingenieros de diseño han pasado del microprocesador en un IC a los microprocesadores multi‐núcleo  y que además  contienen  varios niveles de memoria interna, pues relativamente “sobra silicio”. Ni que decir, que esto   tiene un profundo impacto en cómo el ingeniero aborda el diseño y que tan potentes son y deben ser las herramientas para su desarrollo. 

¿Cómo entonces se debe abordar un diseño digital? El concepto clave de esta cuestión, es  la  complejidad a  la que quiero  llegar, es decir el nivel de abstracción a  la que  se pretende  trabajar.  Si  el  nivel  de  abstracción  se  reemplaza  por  una  caja  negra  o  un modelo, entonces  la organización del diseño  se  sustituye por  jerarquías que utilizan bloques o  cajas del nivel  inmediato  inferior.  Los niveles de abstracción en el diseño digital más comúnmente usadas son: el nivel de dispositivo (silicio), el nivel de circuito (transistor),  el  nivel  de  puerta  lógica  (puerta  equivalente),  el  nivel  de módulo  (p.e. sumador), el nivel de sistema (p.e. microprocesador), ver Figura 4. Esta filosofía sólo es posible si se cuenta con herramientas CAD para el diseño que permitan varios niveles de complejidad, la verificación del diseño, la generación y simulación y la compilación de circuitos con la síntesis del diseño. 

                                                       2  BICMOS: Tecnología compuesta con transistores tipo bipolar y tipo CMOS.    ECL: (Emitter Coupled Logic) Tecnología bipolar de emisor acoplado para alta velocidad.    GaAs: (Gallium Arsenide) Tecnología de muy alta velocidad de Arsenurio de Galio. 

Page 7: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

Diseño avanzado de  sistemas digitales    

 

Julio 2014    3 

Al mismo tiempo que las herramientas de ayuda al diseño se vienen desarrollando, en la  década  de  los  80’s  aparecen  los  lenguajes  de  descripción  de  hardware,  Verilog3 primeramente y posteriormente VHDL ‐Very High Speed Integrated Circuits Hardware Description  Language‐. VHDL  fue  desarrollado  por  el U.S. Department  of Defense  y respaldado por el IEEE, con el propósito de ayudar en el diseño de circuitos digitales de alta  velocidad. Hoy  en  día  es  uno  de  los  referentes  principales  en  la  industria  para describir  sistemas  digitales.  Tanto  Verilog  como  VHDL  permiten  describir  y  simular diseño digitales complejos. Además de estos dos, existen otros lenguajes  de hardware, ya sea menos potentes o con otros objetivos, tal es el caso de ABEL (Advanced Boolean Equation Language), dirigido a dispositivos programables de baja densidad o SystemC. Este último, un  lenguaje de descripción a nivel de sistemas desarrollado en C++ para simulación  de  procesos  concurrentes.  En  este  texto  se  utiliza  VHDL  conforme  se describe en el IEEE estándar 1076‐1993.   No hay que olvidar que los lenguajes de descripción de hardware no son lenguajes de programación tradicionales.  Un HDL es concurrente y describe el comportamiento tal como las puertas lógicas reales funcionan, es decir, se ejecuta en paralelo tal como el comportamiento  físico  del  hardware.  Este  comportamiento  es  normalmente  un sistema digital, e  incorpora  la  temporización de  los  sistemas en  todos  los niveles de abstracción del diseño.    

 

Figura 1 : Parte del control de la primera calculadora automática (1832).   

                                                       3 Verilog es un lenguaje de modelado y descripción de hardware ampliamente usada en la industria y fue desarrollado  por  Phil  Moorby  en  1985  y  los  derechos  de  los  simuladores  lógicos  de  Verilog  son propiedad de la empresa Cadence Design System. La versión última de Verilog es el estándar IEEE 1364‐2001. 

Page 8: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

  Sistemas digitales avanzados 

 

4    Julio 2014 

 

Figura 2: Sala de control del ENIAC (1946).   

 

Figura 3: Características tecnológicas de diferentes microprocesadores.   

 

Figura 4: Niveles de abstracción de diferentes niveles de diseño. 

Page 9: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

Diseño avanzado de  sistemas digitales    

 

Julio 2014    5 

1.1.1 Tecnologías Bipolar y  MOS 

En  el  diseño  digital  los  transistores  son  usados  como  interruptores,  es  decir,  en  los llamados modos de operación de corte y de saturación, generando de este modo  los niveles lógicos de 0 o 1 representados por los niveles de tensión correspondientes. 

En  la tecnología bipolar se utiliza un transistor bipolar, dispositivo de tres terminales, dos  de  ellas,  llamadas  emisor  y  colector  con  un  tipo  de  región  conductora  y  otro terminal,  llamado  base,  con  una  región  conductora  diferente.  Véase  la  figura  a) siguiente. Dependiendo de las tensiones aplicadas a los terminales, es posible efectuar los diferentes modos de operación. Estos modos de operación se resumen en la tabla a continuación.  Tal  que  una  configuración  como  la mostrada  en  la  figura  b)  usando cuatro  transistores en modo  corte  y  saturación, permite   generar  la  función de una puerta lógica tipo NAND.  

       

a) Tensiones aplicadas al transistor    b) Estructura de una puerta lógica NAND 

Figura 5: a) Transistores bipolares, tipos NPN y PNP. b) Puerta NAND‐TTL 

En la tecnología MOS el transistor es también un dispositivo de tres terminales (puerta, drenador y surtidor). A diferencia del transistor FET, antecesor del MOSFET,  la puerta está aislada por un óxido (SiO2). Este transistor es el de uso común en el diseño digital actual.  Sus  ventajas  radican  en  la  alta  densidad  de  integración  y  un  proceso  de fabricación  sencillo,  que  lo  hacen  atractivo  y  económico  para  los  circuitos  digitales complejos. Su  funcionamiento se basa en el control del paso de portadores desde el terminal drenador al terminal surtidor a través de un canal que se forma mediante el campo  eléctrico  creado  por  la  tensión  de  puerta.  Según  la  versión  del  substrato,  la base del silicio con el que se parte para la fabricación, se pueden fabricar transistores del tipo NMOS o PMOS. Es decir, transistores con canal P o transistores con canal N. En la  tecnología  CMOS,  ambos  transistores  se  estructuran  de  forma  que  en  el mismo substrato se funde un transistor de canal opuesto. Se puede observar en la figura a) un corte  transversal de esta estructura CMOS y su  función  lógica en  la  figura b). Es una puerta NOT, la más simple. 

Page 10: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

 

 

Figura

1.2 M

1.2.1

1.2.2

1.3 E

 

 

a 6: Sección tr

Metodolo

1 Herram

2 Diseño 

Ejercicios 

     

ransversal de

ogías de di

mientas para

para test d

 

 un transistor

iseño de s

a el diseño d

e sistemas 

r CMOS y su r

sistemas 

de sistema

digitales  

representació

s de altas p

Sistemas d

n como una  

prestaciones

digitales avanz

Julio

puerta NOT. 

zados 

o 2014 

 

Page 11: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

Diseño avanzado de  sistemas digitales    

 

Julio 2014    7 

2. Ruta de datos y subsistemas aritméticos  

2.1 Diseño y Planificación de un Sistema Digital   

En este  capítulo  se  aborda el diseño de nuevas  arquitecturas orientadas  a  la consecución  de  altas  velocidades  computacionales.  Se  trata,  pues,  de  diseñar arquitecturas óptimas para el procesamiento de datos a velocidades elevadas; además de  emplear  nuevos mecanismos  y  topologías  para mejorar  la  eficacia  de  la  ruta  de datos. Esencialmente aquellos problemas que presentan un gran volumen de datos a velocidades altas de cálculo, como puede ser: 

Cálculo aritmético 

Procesado Digital de Señal 

Codificación y descodificación de imágenes, etc 

Para comenzar, todos estos sistemas responden, a grandes rasgos, a una estructura que se puede dividir en dos grandes bloques: Bloque de Control y Ruta de Datos. 

 

Figura 7: Arquitectura de un sistema digital. 

2.1.1 La interconexión de bloques 

La  complejidad hardware de  todo Sistema Digital  se encuentra principalmente en  la Ruta de Datos. El bloque de Control estará compuesto por una o varias Máquinas de Estados, incluso con un elevado número de estados; pero su complejidad radica en una buena planificación de la ruta de datos que tiene que llevar la información. Además de estos dos grandes bloques, existen otros dos, que son  la memoria y  las  interfaces de entrada/salida.  Haremos  una  breve  introducción  de  estos,  comenzando  con  los sistemas  que  forman  la  ruta  de  datos,  constituidos  principalmente  por  los  sistemas aritméticos y la segmentación de estos. 

M EM O R Y

D AT AP A TH

C O N T RO L

INP

UT

-OU

TP

UT

Page 12: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

 

 

2.2

2.2.1

La espara 

 

Figura

Tal qconjuen escone

 

Figura

El tienúmla  ta

Subsiste

1 Sumado

structura dela suma (S)

a 8: Sumador 

que, el sumunto de varste caso deecta en serie

a 9: Sumador 

empo de reero de etapabla  de  ve

emas aritm

ores binario

e un sumad) y el acarre

completo de 

mador binarrios sumadoe 4 bits, es e. 

Serie de 4 bit

tardo de espas conectardad  y  hac

méticos 

os 

or binario ceo (Co) y su 

1 bit.  

io de variosores de 4 bel Sumador

ts. 

ste Sumadoadas en sericer  que  el

S A B=

A= BCi

Co AB +=

completo detabla de ve

A B C

0 0 0

0 0 1

0 1 0

0 1 1

1 0 0

1 0 1

1 1 0

1 1 1

s bits más bits con  la sr Serie (Rip

or Serie, tal ie. La soluci  retardo  o

B Ci

ABCi A+ +

BCi ACi+ +

e 1 bit, las eerdad son la

Ci S C

0 0 0

1 1 0

0 1 0

1 0 1

0 1 0

1 0 1

0 0 1

1 1 1

sencillo qusiguiente copple‐Carry) d

como se pión a este pocasionado 

ABCi ABC+

Sistemas d

ecuaciones s siguientes

 

Co Acarreo

0 Se borra

0 Se borra

0 Se propa

1 Se propa

0 Se propa

1 Se propa

1 Se gene

1 Se gene

e se puedeonfiguracióndebido a qu

uede analizproblema, ppor  el  aca

Ci

digitales avanz

Julio

lógicas de ss: 

aga 

aga 

aga 

aga 

era 

era 

e construir, n. Este sumue el Acarr

zar, dependpasa por anarreo  se  p

zados 

o 2014 

salida 

es el mador, eo se 

 

de del alizar pueda 

Page 13: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

Diseñ

 

Julio 2

minimdel a

Las e

Estasde re 

2.2.2

Su obP1 =  

   

ño avanzado 

2014 

mizar. Paraacarreo: 

Se borra

Se gener

Se propa

ecuaciones c

Para el aPara la s 

s ecuacioneeducir el ret

2 Sumado

bjetivo es reP2 = P3 = 1

Ci,0

Ci,0

de  sistemas

 ello se pue

,   D = A  

ra,  G = A •

aga,  P = A   

correspond

acarreo:  Couma:   

es sirven partardo del su

or Carry‐By

educir el re1, conectand

FA

P0 G1

FA

P0 G1

C

s digitales  

ede ver en l

• B 

 B 

ientes para

o (G, P)  = G S    (G, P) 

ra diferenteumador com

pass 

tardo cuanddo esta func

FA

P0 G

Co,0

FA

P0 G1

Co,0

a tabla de v

a la salida de

G + P Ci = P      Ci 

es configurampleto. 

do varias fución por me

FA

G1 P2

Co,1

FA

P2 G2

Co,1

verdad, tres

e la suma y 

aciones de s

unciones deedio de un m

A F

G2 P3

Co,2

FA

P3 G

Co,2

s diferentes

el acarreo s

sumadores 

l tipo P, pormultiplexor

FA

G3

Co,3

G3

Mul

tipl

exer

BP=P

 

s salidas po

son: 

con el obje

r ejemplo, Pr, tal que C03

 

Co,3

PoP1P2P3

sibles 

tivo 

P0 = 

3 = C0  

 

Page 14: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

 

 

10 

 

Figura

2.2.3

La fopuer

Parti

Por cfuncicomp

 

a 10: Etapa de

3 Sumado

orma más rártas es much

cularizando

C1 = G1 C2 = G2 C3 = G3 …continu

consiguientiones  Gi  y plejas pero 

e un Sumador

or Paralelo 

ápida de sumho más gran

o la ecuació

+ P1C0 + P2C1 = G2+ P3C2 = G3ua  para má

te,  los acarrPi.  Al  aumno son más

r Carry‐Bypas

(Carry Look

mador es elnde que cua

n del acarre

2 + P2G1 + 3 + P3G2 + ás bits. 

reos de  todmentar  el  ns lentos. 

ss cada 4 bits y

k‐ahead) 

l paralelo o alquier otro

eo para los 

P2P1C0 P3P2G1 + P

das  las etapnúmero  de

 

y Sumador Ca

con acarreo sumador, 

diferentes 

P3P2P1C0 

pas se puede  bits  los  c

Sistemas d

arry‐Bypass co

o adelantadganado en v

bits: 

den obteneircuitos  usa

 

digitales avanz

Julio

ompleto de 1

do. El coste velocidad. 

er a partir dan  puertas

zados 

o 2014 

6 bits. 

en 

de  las s  más 

Page 15: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

Diseñ

 

Julio 2

Figura

FinalsumaSe trevitainterindepaprehan den  lanece

Las cde su

C

D

2.2.4

Mate

Func

ño avanzado 

2014 

a 11: Sumado

mente,  se adores rápirata de un sar  el  retardrmedios  a pendientes cia un costde tener unas  señales. esarios sean

conclusioneumadores q

Compromiso‐ Las o

puer‐ Un a

más 

Dependenci‐ En  lo

conenúm

4 Multipl

emáticamen

cionalmente

de  sistemas

or Paralelo (Ca

puede  condos, hay doumador mudo  de  la  capartir  de de los bitse alto en hn número deEn  tecnolo

n muy eleva

es más  impoque se han m

o entre áreaoptimizacionrtas y por taaumento enlargas y por

a con la tecos  cálculosexión. En caero de bits 

icadores bi

nte, la mult

e este algor

Ci,0

A0

s digitales  

arry‐look‐ahe

ncluir  que  dos aspectos uy estudiadadena  de  alas  entradaprevios. Si ardware ute conexioneogías,  comodos y el ret

ortantes a mostrado, s

a y velocidanes del camanto más han el númeror lo tanto m

cnología. s  teóricos  sasos  reales pueden dif

narios 

iplicación b

itmo se rep

A1, B1

S1S0

P0Ci,1

0, B0

ad). 

de  las  técndestacadoso, por lo quacarreo.  Seas  y  para  se desarrotilizado y  laes, lo que po  FPGA,  haardo asocia

la hora de se resumen 

ad. mino críticoardware. o de  conex

más retardos

se  ha  evaly dependieferir bastant

binaria se pu

presenta com

P1

1

• • •

• • •

icas  de  imps del sumadue únicamee  generan cada  bit,  eolla un poco existencia uede ocasioce  que  los ado también

comparar  len: 

(retardo) s

xiones  supos. 

uar  la  influendo de  la te. 

uede expres

mo un conj

AN

S

Ci, N-1

 

plementaciódor Carry‐Lonte se destdirectamenel  acarreo o la ecuacióde señales onar problerecursos  dn, si el suma

as diferent

upone la ut

one más áre

uencia  de tecnología 

sar como: 

unto de sum

N-1, BN-1

SN-1

PN-1

 

ón  hardwaook Ahead (taca que trante  los  acay  la  suma

ón del acarrs de entradaemas de retde  interconador es gran

tes arquitec

tilización de

ea  y  conex

los  retardolos cálculo

 

mas parciale

11 

re  de (CLA). ata de arreos a  son reo se a que ardos exión nde. 

cturas 

e más 

xiones 

os  de os por 

es,:  

Page 16: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

 

 

12 

Figura

Lo quejem

La imsigui

Figura

a 12: Algoritm

ue permite mplo; 

‐ El númás 

‐ Un bun boperdel m

‐ El númenteng

‐ El  núigual

mplementacente:

a 13: Multipli

mo básico de u

visualizar a

úmero de bel número bit a 1 en ebit a  la  izqurandos de  lomultiplicadoúmero de sos  1.  Es  dea el multiplúmero  de  bl al número 

ción de este

cador de 4 bit

un Multiplicad

lgunas sus p

bits  resultande bits del ml multiplicaierda. Un 0os sumadoror.  umas parciecir  necesiticador menbits  de  los de bits del 

e multiplicad

ts en Array. F

dor. 

propiedade

nte es  iguamultiplicandor signific0 significa sres pasan p

ales es  iguatamos  tantnos 1. sumadoresmultiplican

dor, es el lla

FA = Fulla Add

es básicas d

al  al númerdo. a sumar el sumar con 0por una  fun

al al númertos  sumado

s  utilizados ndo. 

amado mult

der, HA = Half 

Sistemas d

el multiplica

o de bits d

multiplican0.   Lo que nción AND p

ro de bits dores  como 

en  las  sum

tiplicador e

Adder. 

digitales avanz

Julio

ador, por 

del multiplic

ndo desplazsignifica quprevia con 

del multiplicnúmeros  d

mas  parcial

n array,  es 

 

zados 

o 2014 

cador 

zando ue  los el bit 

cador de  bit 

es  es 

la 

 

Page 17: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

Diseñ

 

Julio 2

El ejeunosacarr

Figura

2.2.5

anteMultsumaacarretap

necedeno

Figura

ño avanzado 

2014 

emplo antes caminos crreo. Tal com

a 14: Caminos

5 Multipl

Para  intriores,  la atiplicador Caando  y  se areo en las sa y no entre

Es,  por esario  añadominado Ve

a 15: Multipli

de  sistemas

rior, tal comríticos, que mo se indica

s críticos en e

icador Carr

tentar  mejorquitecturaarry‐Save. Cavanza a  laumas antere elemento

lo  tanto, mir  un  sumaector Mergin

cador Carry‐S

HA

s digitales  

mo sucede ecomo ya pua en la figur

el multiplicado

ry‐Save 

orar  los  tie del MultipComo ya se a  siguiente riores. La prs de una mi

muy  veloz  yador  normang Adder. 

Save. 

HA

FA

Vector Me

en el sumaduede usted ra. Esto es ig

or de 4 bits en

empos  invoplicador se habrá dadolínea de  suropagación isma etapa

y,  como  incal  de M+N

HA

FAHA

FA FA

FA HA

erging Adder

dor, tiene uintuir, son gual a: 

n Array. . 

olucrados  smodifica  ligo cuenta, eluma. No exde señales . 

conveniente  bits  para 

HA

FA

FA

n retado codebidos al r

se  muestrageramente  acarreo se xiste, pues, se realiza h

e,  hay  quegenerar  el

 

HA HA

FA

 

ondicionadoretardo del 

 

a  en  las  fipara obten trata comopropagació

hacia la sigu

e  señalar  qul  resultado

A

13 

o a 

guras ner el o otro ón de uiente 

ue  es final 

Page 18: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

 

 

14 

AnteAlgo

2.2.6

Si  vecolumtransMultmejoBootMult

Figurade Wa

Figura

 

es  de  termritmo de Bo

6 Arboles

emos  en  demnas,  estasformación tiplicador  (eorar  este  reth  sobre tiplicadores

a 16: Transforallace. 

a 17:  Multipl

minar  con ooth, repasa

s de Wallac

etalle  el ma  se  pueden  árbol 

equivalenteetardo.  ElloMultiplicad más rápido

rmación de u

icador de Wa

los  algoritmaremos bre

ultiplicadorde  reorgan(Árbol  de al de un so  se  consigores  de  Wos que exist

na columna d

llace de 4 bits

mos  de  mvemente lo

r  del  tipo  Cnizar  comoe  Wallace)sumador cogue  empleaWallace  qten; el Mult

del Multiplica

multiplicacióos Arboles d

Carry‐Save   en  la  figes  posible

ompleto); siando  el  conue  ha  daiplicador de

ador Carry‐Sav

Sistemas d

ón,  concretde Wallace. 

y  visualizamgura  siguiee  mejorar n embargonocido  comdo  lugar e Booth‐Wa

 

ve a una  en c

digitales avanz

Julio

tamente  co

mos  una  dente.  Con el  retardo

o, aún es pomo  Algoritma  uno  deallace. 

configuración

zados 

o 2014 

on  el 

e  sus esta 

o  del osible mo  de e  los 

n Arbol 

 

Page 19: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

Diseñ

 

Julio 2

2.2.7

  Umultmultbinarpor Dde  crápid

bits, que Algodespopertabla

Tabla

 

Figura

El  Alregis

ño avanzado 

2014 

7 Algoritm

Una  de  las iplicar y diviplicación drios con sigDonald Booomputadordos. 

El proceel primero se  inicializaritmo de Boplazamientoración  aritma de análisis

 1: Algoritmo

a 18. Diagram

goritmo  destros (R0, R1

de  sistemas

mo de Boot

ventajas  dvidir con pode Booth esgno en  la nooth en 1950res  conocid

dimiento ues el menoa  a  “0”. Véooth Radix‐o  se  realizamética  y  sós para el alg

o de Booth Ra

ma de bloques

e  Booth  se 1 y R2),  do

s digitales  

th 

de  la  aritméotencia de s un algoritmotación de 0, es usado das,  salvo  e

sado en el os significatéase  la  figu‐2. Estos do  con  sumalo  se  despgoritmo de B

R10 Rx0 00 11 01 1

dix‐2. Modos

s de un multip

basa  en  us registros a

ética  binari2. Basándomo de multcomplemenampliamen

en  las  del  t

algoritmo dtivo del mura. Razón pos bits se aa  o  resta  olaza.  Para Booth RADI

x OperacDesplazSuma y Resta y Desplaz

s de funcionam

plicador tipo B

una  ruta  deadicionales 

ia  es  el  usose en esta tiplicación qnto a dos. Ente en  la mtipo  DSP  q

de Booth seltiplicador (por  la  cuál analizan en o  simplemeentender  eX‐2 y la sigu

ción za desplaza desplaza

za

miento 

Booth. 

e  datos  quede 1 bit (C 

o  del  desplpropiedad,que multipliEste algoritmmayoría de  lue  utilizan 

e basa en e(R10) y un beste  algoriel control y

ente  no  se este  concepuiente figur

e  contiene y Rx) un su

 

lazamiento , el algoritmica dos númmo desarrolas arquitecmultiplica

el análisis dbit adicionaitmo  es  llamy se deciderealiza  ninpto  usaremra.  

un  conjuntumador/res

15 

para mo de meros ollado cturas dores 

e dos al (Rx) mado e si el nguna mos  la 

to  de tador 

Page 20: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

  Sistemas digitales avanzados 

 

16    Julio 2014 

y un bloque de  control que  tiene  como  función  secuenciar  las operaciones  según el número de bits del multiplicador. 

Para  entender  mejor  el  funcionamiento,  veremos  un  par  de  ejemplos  con multiplicaciones de 4 bits. El primero con la multiplicación de dos número positivos y el segundo con una multiplicación de un número positivo y otro negativo. 

Ejemplo 1, A * B = 0110 * 0010; R0=0110 y R1=0010. El resultado se presenta en 8 bits y será  igual a R2=0000(L)   y R1= 1100(H). Suponga que  los registros se encuentran ya cargados con los datos iniciales. 

 Ciclos R0 R2 R1 R10 Rx Operación 0 0110 0000 001 0 0 Desplaza 1 0110 0000 000 1 0 Resta y Desplaza 2 0110 1101 100 0 1 Suma y desplaza 3 0110 0001 100 0 0 Desplaza 4 0110 0000 110 0 0 Termina

Tabla 2: Algoritmo de Booth con Multiplicando, R0=0110 y Multiplicador, R=0110. 

Ejemplo 2, A*B=0110*1110. El multiplicador es un número negativo. 

 Ciclos R0 R2 R1 R10 Rx Operación 0 0110 0000 111 0 0 Desplaza 1 0110 0000 011 1 0 Resta y Desplaza 2 0110 1101 001 1 1 Desplaza 3 0110 1110 100 1 1 Desplaza 4 0110 1111 010 1 1 Termina

Tabla 3: Algoritmo de Booth con Multiplicando, R0=0110 y Multiplicador, R=1110. 

En conclusión, el algoritmo de Booth realiza: 

La multiplicación  con  sumas  y  restas,  simplemente  y  demuestra  su  validez  para multiplicación  con  signo  representando  los  operandos  y  el  resultado  en complemento a 2. 

Una  simplificación de operaciones   con  sumas y  restas a  través de  supervisar  las cadenas de 1s o 0s en el multiplicador. 

Si se analiza previamente el multiplicador y el multiplicando, entre  la cantidad de transiciones  entre  0s  y  1s  que  contiene  cada  uno,  elegir  entonces  cuál  es  el multiplicador (la multiplicación tiene una propiedad conmutativa), aumentando  la rapidez en la ejecución del algoritmo. 

2.2.8 Divisores 

La más  compleja  de  las  operaciones  aritméticas  es  la  de  división.  Por  lo  general  se resuelve  por  software,  a  través  de  una  secuencia  de  restas  y  desplazamientos.  Sin embargo  existen  microprocesadores  especializados  que  disponen  de  divisores implementados  en  hardware,  incrementando  con  ello  la  velocidad  de  la  unidad 

Page 21: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

Diseño avanzado de  sistemas digitales    

 

Julio 2014    17 

aritmética.  La  tecnología  ha  hecho  que  esto  no  sea  problema  hoy  en  día,  ya  que sistemas complejos, como un divisor hardware sea posible a coste bajo. Procesadores de  señal,  compresores,  moduladores  o  detectores,  cuentan  con  unidades especializadas de este tipo. Sin embargo no hay que olvidar el objetivo del diseño, por ejemplo en diseño de bajo consumo y en sistemas portátiles, el uso de batería requiere de un análisis particular y del compromiso velocidad versus tamaño.  

Para entender la implantación hardware lo mejor es ver primero el algoritmo básico a nivel de ejemplo, sea la siguiente división en punto fijo: 

Dividendo  11011001 (217), Divisor    1011 (11) Cociente     10011          (19), Residuo  1000 (8) 

 ___  10011  Cociente 

Divisor    1011  √ 11011001   Dividendo 1011     Divisor   0101    Dividendo reducido   0000    Divisor 0 por ser mayor que el dividendo reducido   1010   Dividendo reducido   0000   Divisor 0 por ser mayor que el dividendo reducido   10100   Dividendo reducido      1011  Divisor desplazado   10011  Dividendo reducido     1011   Divisor desplazado     1000  Residuo 

 

El ejemplo anterior consiste en realizar una resta entre el dividendo y el divisor desde el MSB. Si el resultado del MSB es “1”, entonces el cociente es “0”, sumando entonces el  siguiente bit del dividendo y desplazando el divisor un bit.   Por el  contrario,  si el resultado  del MSB  es  un  “0”,  entonces  el  cociente  en  “1”,  dejando  el  resultado  y desplazando el divisor un bit. El número de ciclos de operación es  igual al número de bits  del  divisor.  La  premisa  de  este  algoritmo  es  que  se  debe  cumplir  que  N<D (dividendo mayor  que  divisor)  Este  algoritmo  se  llama  divisor  con  restauración.  El hardware necesario se puede ver a continuación.  

P= /AB + /AC + BC = /A(B+ C) + BC S=   AD + A/B/C + ABC + /AB/C/D + /A/BC/D  Reduciendo:  S = A⨁B⨁C,     si D = 0 S = A ,      si D = 1 

      

Page 22: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

  Sistemas digitales avanzados 

 

18    Julio 2014 

 

Figura 19. Celda divisor básica para el algoritmo de división. 

CD CD

CD

CD

CD CD

CD CD CD

N1 D1 N2 D2 N3 D3 N4

Q1

Q2

Q3

D

N5

N6

D

D

R4 R5 R6

 

Figura 20. Divisor paralelo con 3 bits. 

 

 

Page 23: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

Diseño avanzado de  sistemas digitales    

 

Julio 2014    19 

 

2.2.9 Desplazadores (Barrel Shifters) 

Los  desplazadores  (Barrel  shifters)  son  usados  en  sistemas  integrados  de  propósito específico  o  también  en  sistemas  microprocesadores  de  uso  general.  El desplazamiento y la rotación son operaciones básicas en una Unidad Lógico‐Aritmética (ALU) y puede estar embedido en  la misma unidad o como una unidad adicional a  la ALU  y  tiene  como  propósito  y  objetivos  simplificar  muchas  operaciones  de multiplicación y división, es decir,  en el procesamiento digital de señal por lo general. Desde  este  punto  de  vista  debe  ser  capaz  de  ejecutar  una  operación  de desplazamiento  en  un  ciclo  de  reloj.  Las  operaciones  básicas  que  se  usan  con  esta unidad son:  SRL: shift right logical,  SRA: shift right arithmetic,  RR:  rotate right,  SLL: shift left logical,  SLA shift left arithmetic RL: rotate left.   EL  tamaño  y  las  operaciones  que  tiene  que  hacer  dependerán  de  los  objetivos  del microprocesador  en  el  que  tenga  que  implementarse.  A  más  funciones  mayor densidad de área.  A continuación se muestran algunos ejemplos de implementación:   

 

Figura 21. Desplazador lógico a la derecha de 8 bits (SRL) 

 

Page 24: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

  Sistemas digitales avanzados 

 

20    Julio 2014 

 

Figura 22. Rotador a la derecha de 8 bits (RR) 

 

  

Figura 23. Desplazador/Rotador a la derecha de 8 bits con detector de desbordamiento 

   

Page 25: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

Diseño avanzado de  sistemas digitales    

 

Julio 2014    21 

2.3 Ejercicios 

1) Se requiere en un algoritmo hacer operaciones de multiplicación. Para valorar qué será mejor,  un  arquitecto  de  sistemas  evaluará  las  dos  opciones  siguientes  .  Se pide,  diseñar y evaluar  a) un multiplicador paralelo y b) un multiplicador serie. En ambos  casos,  se  usarán  números  de  cuatro  bits  para  hacer  la  evaluación más rápida. Para comprobar el algoritmo use los valores de: 

Valor del Multiplicando M= 1101 

Valor de Multiplicador  N = 1011 

Opción a) El multiplicador paralelo. Elabore un multiplicador paralelo completo de 4 bits   con cualquier  tipo de puerta. Utilice el siguiente algoritmo y obtenga el  tiempo máximo de una operación completa, si Tprop. (puertas=7 ns).  

  a3 a2 a1 a0 X b3 b2 b1 b0

b0a3 b0a2 b0a1 b0a0 b1a3 b1a2 b1a1 b1a0

b2a3 b2a2 b2a1 b2a0

b3a3 b3a2 b3a1 b3a0

P7 P6 P5 P4 P3 P2 P1 P0

Opción    b)  El  multiplicador  serie  (como  el  de  la  figura).  Este  multiplicador  es  el algoritmo llamado “clásico”, para ello haga: 

El  sumador de  4 bits  con puertas  (el  sumador más  rápido). Utilice  el  tiempo de puerta  del  apartado  anterior.  Haga  un  seudocódigo  del  control  e  indique  las señales que le sean  necesarias. 

Haga un diagrama de tiempos en el cronograma mostrando los registros A, B,  P y las  señales  que  considere.  Parta  de  la  situación  donde  los  registros  ya  están previamente cargados  

Calcule, al  igual que el apartado anterior,  la máxima  frecuencia y el  tiempo para hacer una operación completa usando,   Tprop. (puertas=7 ns). Tprop. (registro de =7 ns) Tsetup (registro de=2 ns). 

 

Page 26: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

  Sistemas digitales avanzados 

 

22    Julio 2014 

 

 2) Diseñar un divisor secuencial con restauración a partir del algoritmo descrito en el 

apartado 2.2.8.  

3) Un  diseñador  de  sistemas  está  empezando  a  hacer  sus  circuitos  digitales    y  ha pensado  en  un  sistema  que multiplica  con  el  algoritmo  de  Booth.  El  bloque  de control  lo  especificará  usted  en  VHDL  y  la  ruta  de  datos  es  la  del  esquema siguiente. A partir de éste, haga:   La operación en binario, primeramente según la figura, obtenga el resultado para una operación de 6 x (‐6) completando en la tabla siguiente:  

Valor de N Valor de A Valor de M Q Q-1 Ciclo de reloj Q Q-1 Función

Reset = 0 0 0 Desplaza

INIT = 1 0 1 Suma y desplaza

1 0 Resta y desplaza

1 1 Desplaza

Page 27: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

Diseño avanzado de  sistemas digitales    

 

Julio 2014    23 

 

Page 28: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

  Sistemas digitales avanzados 

 

24    Julio 2014 

3. Subsistemas secuenciales 

El  diseño  de  sistemas  digitales,  ya  sea  del  tipo  discreto,  circuito  integrado específico o circuito programable, pasa por varios  factores, entre otras cosas, por un buen  diseño  de  los  bloques  que  lo  componen,  tanto  combinacionales  como secuenciales. Estos factores no son únicamente una buena simplificación de la función lógica  o  una  mejor  codificación  del  diagrama  de  estados.  Como  ya  sabe,  las características  temporales  de  estos  circuitos  ideales,  no  son  ideales,  es  decir  no reaccionan de forma inmediata a los cambios de las señales de entrada o a las señales de control. 

En este apartado se pretende estudiar los factores principales con importancia en el diseño de sistemas y circuitos digitales reales. Estos factores son determinantes en  las  prestaciones  y  condiciona  en  la mayoría  de  los  casos  su  funcionamiento.  A continuación  se  estudiarán  las  principales  reglas  de  diseño  del  diseño  síncrono,  su integración  en  los  sistemas  digitales,  la  sincronización  de  señales  asíncronas,  la metaestabilidad y la importancia del, “jitter” y “skew” del reloj en todo sistema digital.  

3.1 Diseño síncrono de sistemas digitales 

En  los  cursos  básicos  de  sistemas  digitales,  se  han  estudiado  los  circuitos combinacionales y secuenciales y se han  introducido sus características  tecnológicas. Pero en su diseño generalmente no se ha tenido en cuenta el tiempo de reacción ante un cambio en el valor de las señales de entrada o de control; ese retardo inherente en su funcionamiento (desde que se produce un evento en alguna de sus entradas, hasta que se observan sus efectos en  la/s salida/s) se denomina Tiempo de Propagación o Retardo (Tp). Este tiempo depende, entre otros aspectos, de  las características de  los dispositivos internos con los que están diseñados, de las cargas que tengan conectadas en sus salidas, el denominado FAN‐IN y el de su salida, el FAN‐OUT, de la temperatura de funcionamiento y del envejecimiento de los dispositivos, principalmente. 

Por otro lado, este Tiempo de Propagación suele ser distinto para cada señal de salida de cada dispositivo lógico, teniendo una cierta dependencia también del valor final de dicha señal (transición de “0” lógico a un “1” lógico; o viceversa). Además, las señales en un circuito no cambian instantáneamente, sino que lo hacen con una determinada pendiente que será diferente en el caso de pasar de “0” a “1” ó de “1” a “0”. Recordará usted de la siguiente figura, los denominados tiempo de subida (tr) y tiempo de bajada (tf), medidos entre el 90% y el 10% de la propia señal. Así como los tiempos de retardo (propagación),  tpHL  y  tpLH, medidos  entre  el  50%  de  la  señal  de  entrada  y  salida, respectivamente. 

 

 

 

Page 29: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

Diseñ

 

Julio 2

Figura

   Pes elson l

ño avanzado 

2014 

a 24. Tiempos

Por otro  lad Flip‐Flop. Ras siguiente

Un  Flip‐debienddesapareUn  Flip‐instante Un Flip‐Fo bien deUn  Flip‐generalmpor  la  ccombinaUn Flip‐Fdel Flip‐FUn Flip‐Fcon la frcircuito Lo que sUn  Flip‐recordar

Tiemflanc

Tiemen do

Tiemde re

En  la  figrepresen

 

de  sistemas

s asociados a 

do, en  los cRecordandoes: 

Flop  es  un o  permaneecido. Flop  es  un de cambio,Flop se since bajada. ‐Flop  es  umente a  losconmutacióacional. Flop tiene uFlop, su impFlop en un ecuencia deen cada flaupone un cFlop  tiene r, muy impo

mpo  de  aseco de reloj e

mpo de manonde la ent

mpo de  retaeloj hasta q

gura  siguienta la utiliza

s digitales  

las señales de

circuitos síno que estos

circuito  coecer  sus  s

circuito  sín, si procedecroniza en lo

un  circuitos  llamados “ón  de  los  c

una velocidaplementaciósistema síne reloj. Puesanco, aun cuonsumo innunas  carac

ortantes en 

entamiento en donde la 

ntenimientorada de dat

ardo  (propaue la salida 

nte  se  repación de un 

e entrada y sa

ncronos, el s elementos

on  dos  estasalidas  est

ncrono  en e y en su casos flancos d

o  que  tien“glitches” ocircuitos  o 

ad de trabaón y tecnoloncrono, tiensto que estuando el esnecesario.cterísticas  del diseño:

(setup),  ts entrada de

o (hold), thotos debe pe

agate)  tp. T de datos e

presentan  eFlip‐Flop en

alida de un ci

elemento fs presentan

ados,  de  ahtables,  aún

el  cúal  la  sso produce de la señal d

ne  una  buo pulsos de por  el  pr

ajo limitada ogía usada.ne un consue último, mstado del F

de  tiempo, 

su.  Tiempoe datos deb

old. Tiempoermanecer e

iempo que s estable. 

estos  tiempn un sistem

rcuito combin

fundamenta ciertas car

hí  el  nombn  cuando 

señal  de Reuna nueva de reloj, bie

uena  inmuncorta duraopio  diseñ

por la cara

umo de enemantiene la alip‐Flop no 

que  son  c

o  anterior  ae permanec

 posterior aestable. 

transcurre 

pos,  así  coa síncrono.

 

 

nacional. 

al para el dracterísticas

bre  de  biestla  causa 

eloj  establesalida. en sea de s

nidad  al  ración produo  con  la  l

acterística p

ergía en relactualizacióhaya camb

conveniente

a  la  llegadcer estable.

al flanco de

 desde el  f

omo  tambié 

25 

iseño s, que 

table, haya 

ece  el 

ubida 

ruido, ucidos lógica 

propia 

ación ón del biado. 

es  de 

a  del . 

e reloj 

flanco 

én  se 

Page 30: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

 

 

26 

 

 

Figuraimple

Flip‐Ftambde Rrelacbúsqde la

que valordispode 2 “glitc

a  25:  Tiempoementación de

Tal comoFlops,  ayudbién los proR2.  En  cualqción   a  la oqueda de baas señales q

Los “glitcse  produceres  transitoositivos lógi nanosegunch”, debido

os  asociadosentro de un s

o se ha meda a filtrar looducidos poquier  caso, ptimizaciónajo consumue produzc

ches” o riesen  en  los  corios anómaicos. Véase ndos, previo al retardo 

a  las  señaleistema síncro

ncionado eos “glitchesor el circuitola  lógica  c

n de  las  funo y la reducan carreras

sgos, valoreircuitos  comalos en  las la siguienteo a  la mismde la puerta

es  de  entradono. 

el uso de res”, que proco con la lógiombinacionnciones  lógcción del nús entre las m

es transitorimbinacionasalidas debe figura, enma señal dea NOT. 

da  y  salida  d

egistros, un ceden el extica combinanal  tiene quicas,  la ecuúmero de tmismas. 

os anómaloales  sin  reabido a  la exn esta hay ue entrada. L

Sistemas d

de  un  circuit

registro esterior (por eacional inteue estar biualización dransiciones 

os relejadoslimentaciónxistencia dena puerta NLa señal en

digitales avanz

Julio

 

 

to  secuencia

s un conjunejemplo en ermedia, a ten diseñadde  las  señals de no dese

s como espn.  Pueden e retardos eNOT con ren color azul 

zados 

o 2014 

l  y  su 

to de R1) y través da, en es,  la eadas 

urios, darse en  los tardo es el 

Page 31: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

Diseñ

 

Julio 2

FiguraUPM)

Existse  paparsólo 

Figura

Figura

 

ño avanzado 

2014 

a  26:  Señal  a). 

en básicamroducen  caecen debidcambie de 

a 27: Riesgo f

a 28: Riesgo ló

de  sistemas

anómala o  gli

mente dos tiambios  en mdos a  la  reaestado una

uncional. (Fue

ógico. (Fuente

s digitales  

itch, producid

pos de riesgmás  de  unalización harentrada. 

ente: Apunte

e: Apuntes EU

do por  el  ret

gos, los riesa  variable rdware del 

s EUITT‐UPM

UITT‐UPM). 

tardo de una

sgos funcionde  entradacircuito y 

). 

  señal  (Fuent

nales, que a  o  los  riesgpueden pro

 

 

te: Apuntes 

aparecen cugos  lógicosoducirse au

 

 

27 

EUITT‐

uando ,  que unque 

Page 32: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

 

 

28 

Las  amod

Inc

In

InmemrS

3.2 M

El  ditienecombpropesto correque e

Figura

Tal q

Dond

alternativasos: 

nserción decondiciones 

nserción de

nserción demuestrear  laexisten glitcmás  ampliaealizados coSíncrono.  

Metaesta

seño  síncroe  que  cumbinacionalepagación máse  cumpl

ectamente es lo mismo

a 29: Sistema

que la frecue

de: 

s para evita

e retardos hde funcion

e lógica redu

e  lógica  rega  lógica cuaches‐almacemente  utilon lógica p

bilidad y s

ono  de  sistmplirse  el  ses  sin  realiáximo  del  cla,  las  saliy deberán o el tiempo 

s secuencial s

encia máxim

m

ar  los  riego

hardware: Samiento, p

undante: Pe

gistrada: Noando ha finenando los izada  tantorogramable

sincroniza

emas  digitasiguiente  cmentación circuito  desdas  de  loser establede set‐up d

síncrono y tem

ma de reloj 

max

os, pasa por

Su valor es dudiendo da

ermite elim

o elimina  lonalizado el rvalores de o  para  el  de o discreta

ación 

ales  tiene  uriterio:  El finaliza  cusde  el  últims  circuitoses un tiempde los flip‐fl

mporización d

permitada

r modificar 

difícilmenter lugar a nu

inar únicam

os  riesgos,  srégimen trasalida en fldiseño  de . Se denom

una  base  drégimen  tuando  ha  tmo  cambio   combinaco antes deops. Véase 

del mismo. (Fu

viene dada

1

Sistemas d

la  lógica d

e controlabluevos riesgo

mente los rie

sino  su efeansitorio ‐y ip‐flops. EsASICs  como

mina Metodo

de  funcionaransitorio  dtranscurridoen  una  en

cionales  del flanco actla figura: 

uente: Apunt

por la expr

 

digitales avanz

Julio

de  los  sigui

le y varía coos. 

esgos lógico

cto. Consispor tanto y

sta solucióno  para  circología de d

amiento  sende  los  circo  el  tiempntrada.  Paraeben  registtivo de relo

 

 

tes EUITT‐UPM

resión siguie

zados 

o 2014 

entes 

on las 

os. 

te en ya no  es la cuitos iseño 

ncillo, cuitos po  de a  que trarse oj o  lo 

M). 

ente: 

Page 33: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

Diseñ

 

Julio 2

tpff carac

tsu mcarac

tpLC exist

El sismaneestricy difedeno

Cuancorreun mFlip‐F

Ad

Ldu

Ce 

La Mflip‐findet

Figura

La m

Es

ño avanzado 

2014 

max  =  es cterísticas d

min = es elcterísticas d

max  =  esentes en el 

stema digitaera  simultácta, el reloj erencias deomina SKEW

ndo  la  sincecta, se promodo de opFlop o en el

A menudo  edeben ser si

La sincronizadel circuito. upo de hold

Como consees peor, ent

Metaestabiliflop, su salidterminado t

a 30: Metaest

etaestabilid

En la sincronincronizar e

de  sistemas

el  tiempo de la tecnolo

  tiempo dede la tecnolo

s  el  tiemposistema dig

al debe cumánea.  Esto,llegará con

e carga. El dW.   

cronización oducen  irreeración denl registro un

existen  entncronizada

ación consiDurante es del flip‐flop

ecuencia, elrar en un es

dad se prodda puede ptomará alea

tabilidad. (Fue

dad se prod

nización de estas entrad

s digitales  

de  retardoogía usada.

e  asentamieogía usada.

o  de  retardgital síncron

mplir que  la  en  genern cierto desfesfase de la

de  las  segularidadesnominado mn valor de sa

tradas  al  cis antes de p

ste en regissta operacióp. 

flip‐flop pustado meta

duce cuandasar a un natoriamente

ente: Apunte

duce en los c

entradas adas asíncron

o  máximo 

ento  (setup 

do  del  bloqno. 

a señal de ral,  no  es fase debidoa llegada de

ñales  de  es en  la sincmetaestablealida establ

rcuito  que poder ser u

strar la entón puede oc

uede registraestable. 

do se violan nivel de tense el valor 0 

s EUITT‐UPM

casos siguie

asíncronas. Anas.  

del  Flip‐Fl

p) del  Flip‐F

que  combin

reloj  les  llegposible  quo a las longiel reloj a los

entrada  noronización e. Es decir, le. Esto se p

son  asíncrsadas en el

rada en uncurrir que s

rar o no el e

los tiemposión intermó 1. 

). 

entes: 

Afecta solo

op  detallad

Flop detalla

nacional  m

ga a todos e  se  verifiqtudes de pis Flip‐Flops d

  son  realizen consecuno se puedpuede debe

onas  respemismo. 

flip‐flop coe violen los

evento de e

s de set‐up medio; al cab

a los flip‐fl

 

do  en  las 

ado en  las 

más  lento  d

los Flip‐Floque  de  mastas, conexde un circu

zadas  de  fuencia se gede asegurar r a: 

ecto  a  su  re

onectado als tiempos d

entrada o, lo

p o de hold dbo de un tie

 

lops usados

29 

hojas 

hojas 

de  los 

ps de anera xiones ito se 

forma enera en el 

eloj  y 

l reloj e set‐

o que 

de un empo 

s para 

Page 34: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

 

 

30 

Lpc

Ef

Cu

La men ciform

Sc

Figura

Sr

Figura

La probabilipermanencicondiciones 

El estado mlip‐flops inv

Cuando  la saun valor ind

metaestabilidiclos de relo

ma de las ent

Sincronizacióciclo de relo

a 31: Sincroni

Sincronizacióeloj a señal

a 32: Sincroni

dad de quea  en  dichambientale

etaestable volucrados. 

alida del fliefinido a la 

dad en  las oj, antes detradas, se p

ón  de  las  soj. Se usa un

zación de ent

ón y confores de un cic

zación de ent

e un  flip‐floho  estado es de funcio

generalme

p‐flop es mlógica a la q

entradas ae usar las sepuede hacer

señales  asínn conjunto d

tradas asíncro

rmación declo. 

tradas asíncro

op  entre  edepende 

onamiento.

nte pasa a 

muestreada que esté co

síncronas  señales de er de varias f

ncronas  dede Flip‐Flop

onas. (Fuente

e pulsos de 

onas. (Fuente

n  estado mdel  proce

un estado e

en el estadonectado. 

se corrige, entrada al cformas. 

  entradas, s.  

e: Apuntes EU

entrada m

e: Apuntes EU

Sistemas d

metaestableso  tecnoló

estable ráp

do metaesta

proporcionaircuito. Seg

cuando  son

ITT‐UPM). 

as grandes 

ITT‐UPM). 

digitales avanz

Julio

e  y el  tiempógico  y  de

pidamente e

able, se pro

ando un  tiegún sea el c

n mayores 

 

 

que un cic

zados 

o 2014 

po de e  las 

en los 

opaga 

empo caso y 

a  un 

clo de 

 

Page 35: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

Diseñ

 

Julio 2

Sr

FiguraEUITT

S

 

Figura

3.3 R

En cuAdemnúmespe

ño avanzado 

2014 

Sincronizacióeloj. 

a 33: SincroniT‐UPM). 

Sincronizació

a 34: Sincroni

Reloj y ske

ualquier sismás de otraero alto de cialmente s

de  sistemas

ón y confor

ización de ent

ón y elimina

zación de ent

ew 

stema síncras señales gcargas de csensibles a 

s digitales  

rmación de 

tradas asíncro

ación de gli

tradas asíncro

ono,  la refeglobales, coconexiones,problemas

pulsos de e

onas más peq

tches en las

onas con glitc

erencia prinomo la seña, lo que pro, pues está

entrada má

queñas de un

s entradas.

ches. (Fuente:

ncipal del sal de reset, oduce altos n conectad

s pequeños

 ciclo de reloj

 Apuntes EUIT

istema es  les tambiénretardos. E

das a todos 

 

s que un cic

oj. (Fuente: Ap

 

TT‐UPM). 

a señal de n la que tienEstas señalelos Flip‐flo

31 

clo de 

 

puntes 

reloj. ne un es son ps de 

Page 36: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

 

 

32 

un  scircuuna ala  loalcanseña

En else  resisteprob

Compunt

Figura

Otro flancsincrse pu

 

istema.  Su uito impresoalta resistivngitud  de nzan a todol de reloj tie

l caso del reesetean  simma. Si bien blema muy i

o se ha comtos distintos

a 35: Desfase 

 efecto adiccos  consecronización. uede ver la 

distribucióo lleva asocvidad y una la  línea.  Esos los Flip‐floene SKEW. 

eset es menmultáneameno se suelemportante 

mentado, els del sistem

de reloj. Skew

cional al skutivos  de En ambos cdiferencia e

ón  a  lo  largiado lo quegran carga,sta  es  la  caops en el m

nos importaente,  lo  que hablar procuyas posib

 SKEW es laa digital. Es

w. (Fuente: A

ew es el “jireloj.  Lo casos, se veentre ambo

go  de  un  cie se denomi, lo que se tausa  por  lomismo instan

ante, lo queue  puede  dopiamente dbles solucio

a diferenciaste SKEW tie

Apuntes EUITT

itter”. Este que  tambe afectada  los efectos. E

ircuito  inteina líneas gtraduce en o  que  los  fnte de tiem

e sucede esdar  lugar  ade skew enones se mos

 que existe ene un mod

T‐UPM). 

último es laién  puede la señal de El skew, Tsk

Sistemas d

grado  o  delobales y quun retardo lancos  activpo. Se dice 

 que no tod  estados  nel reset. No

strarán más 

en el flancodelo genera

 

a variación ocasionarreloj. En  la y el jitter, T

digitales avanz

Julio

e  una  tarjeue pueden  dependienvos  del  rel entonces q

dos los Flip‐no  deseadoo obstante s adelante. 

o de reloj eal: 

 

temporal  r  problema figura siguTjs. 

 

zados 

o 2014 

ta  de tener nte de oj  no que la 

‐flops os  del es un 

n dos 

entre as  de uiente 

Page 37: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

Diseñ

 

Julio 2

Figura

Un egenefunci

Figura

Este cabereloj prob

FiguraUPM)

El ottravécaptusimuset‐uconti

ño avanzado 

2014 

a 36: Skew (ts

error que  seración de uión lógica. C

a 37: Generac

tipo de diseza. Puede  fo  de  dist

blemas. 

a 38: Evitar e). 

ro error qués  de  otro ura  de  datultáneamentup  de  datoinuación. 

de  sistemas

sk) y jitter (tjs

e  suele  comun  reloj paComo en el 

ción de reloj d

eño hay qufuncionar etribución  e

el diseño   con

e suele comFlip‐Flop,  los  en  otrote,  lo que oos  y  reloj 

s digitales  

s) de reloj. 

meter en era un bloqcaso siguie

de forma com

ue evitarlo aen algunas n  el  empla

n el  reloj gen

meterse de o  que  genes  registros,ocasiona engenerado. 

el diseño deue  funcionnte: 

mbinacional. (F

a toda costcondicioneazamiento 

nerado de  for

forma muyera  una  vio,  debido  a n  la temporEste  tipo 

e  los  sistemal o para u

Fuente: Apun

ta, pues pues, pero conde  compo

rma combina

y frecuente,olación  de que  los  darización unade  funcion

mas digitaleun  registro 

tes EUITT‐UP

ede dar mun cambios dnentes,  seg

cional.  (Fuen

, es la genelos  tiempoatos  y  el  rea  igualdad namiento  s

 

es  consiste a  través de

 

PM). 

uchos dolorde  frecuencguramente 

 

nte: Apuntes 

ración de ros  de  reloj eloj  se  regien el tiempse  puede  v

33 

en  la e una 

es de cia de dará 

EUITT‐

eloj a en  la istran po de ver  a 

Page 38: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

 

 

34 

Figura

Figura

El disque habil

a 39: Violació

a 40: Evitar el

seño correcse necesitelitación. 

n de reloj gen

l diseño con e

cto en un sie a  través d

nerado de for

el reloj genera

stema síncrdel uso de 

rma secuencia

ado de forma 

 

rono, consisseñales de 

al. (Fuente: A

secuencial. (F

ste en habi“enable” o

Sistemas d

puntes EUITT

Fuente: Apun

litar el relojo del uso d

digitales avanz

Julio

T‐UPM). 

ntes EUITT‐UP

j en el momde Flip‐Flop

zados 

o 2014 

 

 

PM). 

mento s  con 

Page 39: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

Diseñ

 

Julio 2

Figura

3.4 R

¿CuáEn geles destoslleva

Diseñpuessisteser d

Resedel sse  imflop yponetipo  libruse use enti

ño avanzado 

2014 

a 41: Habilitac

Reset y pr

ándo no hemeneral durada poco  intes puede resr la salida Q

ñadores costo a un nivma. Esto tiede 2 formas

et asíncronosistema digimpone sino y es típico ee un”0” lógide reset es 

rary ieeeieee.stdieee.std

ity ctr8sport (

crdl

de  sistemas

ción de la señ

reset 

mos oído enante  la univerés al “ressultar catasQ de un flip‐

n experiencvel lógico, eene que ser: de forma a

o. Un mal diital. Generacuando el el uso de reco a la entrel siguiente

e; d_logic_1d_logic_u

sr is

clk : in rst_n : id : in stld : in s

s digitales  

ñal de reloj. (F

n nuestro pversidad enet” y al “prstrófico en n‐flop a “0” o

cia recomies decir inicir planificadoasíncrona o

iseño asíncralmente el preset se queset activo rada de resee: 

1164.all;unsigned.

std_logicn std_log

td_logic;td_logic;

Fuente: Apun

 

paso por la un el diseño reset”. Sin enuestro diso a “1” lógic

endan, en gializado cono y estudiado de forma s

rono del resproblema suita. Este tia nivel bajoet). Un ejem

all;

c; gic;

;

tes EUITT‐UP

universidadde  todos  loembargo unseño. Amboco, respectiv

general, quen reset o prdo, eligiendsíncrona. 

set puede ce puede prpo de reseto (el flip‐flomplo en VH

-- señal -- señ

M). 

d: hay que hos sistemasn mal uso oos tiene un vamente.   

e  todo  flip‐reset, cuando una estra

causar fallosresentar no t viene  impp va a “0” lDL de un co

de relojñal de re

 

hacer un “res secuencialo  inadecuadobjetivo sim

‐flop deberído lo requieategia que p

s en la oper cuando el puesto en elógico cuanontador con

j eset

35 

 

eset”. les se do de milar: 

ía ser era el puede 

ración reset 

el flip‐do se n este 

Page 40: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

  Sistemas digitales avanzados 

 

36    Julio 2014 

q : out std_logic_vector(7 downto 0); co : out std_logic);

end ctr8sr; architecture rtl of ctr8sr is signal count : std_logic_vector(8 downto 0); begin

co <= count(8); q <= count(7 downto 0);

process (clk,rst) begin

if (rst_n = '0') then count <= (others => '0'); -- reset asíncrono

elsif (clk'event and clk = '1') then if (ld = '1') then

count <= '0' & d; -- carga síncrona else

count <= count + 1; -- incremento end if;

end if; end process;

end rtl 

Reset  síncrono.  Se basa en  la premisa que  la  señal de  reset afectará únicamente al estado del  flip‐flop en el momento del  flanco de  reloj. El    reset puede ser  impuesto como parte de una lógica combinacional previa a la entrada D del flip‐flop. Un ejemplo en VHDL de un contador con este tipo de reset es el siguiente:  library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity ctr8sr is

port ( clk : in std_logic; -- señal de reloj rst_n : in std_logic; -- señal de reset d : in std_logic; ld : in std_logic; q : out std_logic_vector(7 downto 0); co : out std_logic);

end ctr8sr; architecture rtl of ctr8sr is signal count : std_logic_vector(8 downto 0); begin

co <= count(8); q <= count(7 downto 0);

process (clk) begin

if (clk'event and clk = '1') then if (rst_n = '0') then

count <= (others => '0'); -- reset síncrono elsif (ld = '1') then

Page 41: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

Diseño avanzado de  sistemas digitales    

 

Julio 2014    37 

count <= '0' & d; -- carga síncrona else

count <= count + 1; -- incremento end if;

end if; end process; end rtl

 

 

 

 

Figura  42:  Reset  asíncrono  (arriba),  reset  síncrono  (en medio)    y  reset  síncrono‐asincrono  (abajo). (Fuente  Altera.  Recommended  Design  Practices.  QII51006‐  2014.06.30. http://www.altera.com/literature/hb/qts/qts_qii51006.pdf). 

La  gran  ventaja  del  reset  asíncrono  en  el  diseño  digital  es  que  su  distribución  es “limpia”  en  el  diseño.  Todos  los  bloques  a  sincronizar  se  conectan  a  esta  señal  sin lógica  combinacional  adicional.  Además  de  eliminar  la  dependencia  de  la  señal  de 

Page 42: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

  Sistemas digitales avanzados 

 

38    Julio 2014 

reloj, este presente o no. Por otro lado, la desventaja es la asincronía que puede tener esta señal al momento de imponerse y sobre todo de quitarse. Si la señal levantada en el  flanco de  reloj, el  flip‐flop puede entrar en un modo metaestable, por  lo que hay que evitar rebotes, glitches  y ruidos en esta señal.  

La lógica de reset síncrona tiene la ventaja de usar flip‐flop más pequeños (en número de transistores) al no llevar asociada la lógica de reset y preset dentro. Sin embargo al sintetizar el VHDL, esta lógica va fuera del flip‐flop, tal que el total de espacio ganado puede no ser significante. Con  la tecnología actual, esto parece  irrelevante.   Por otro lado, el  reset síncrono nos asegura que el diseño es 100% síncrono y que este  reset ocurrirá solamente durante el flanco de reloj.  

Como conclusiones, en el diseño síncrono, es aconsejable: 

Las normas de diseño síncrono son una buena guía para  la realización de diseños con un funcionamiento seguro. 

En  su  aplicación  práctica  es  frecuente  que  se  den  casos  en  los  que  resulta inevitable  vulnerarlas:  en  el  interfaz  con  buses  asíncronos  o  con  memorias asíncronas, por ejemplo, o en el de la sincronización de entradas asíncronas. 

Cuando  esto  ocurra  es  aconsejable  aislar  los módulos  de  interfaz  con  sistemas asíncronos y diseñar el resto del sistema ateniéndose a las reglas enunciadas. 

En el diseño de circuito es aconsejable utilizar flip‐flops tipo D, puesto que son los de funcionamiento más simple y facilitan la interpretación del modo de operación del circuito. Además, con los flip‐flops tipo D resulta muy sencilla la incorporación de entradas síncronas de reset, preset y habilitación de reloj. 

Las entradas asíncronas de  los  flip‐flops sólo deben utilizarse, si se desea, para  la inicialización del circuito, pero nunca durante la operación normal del mismo. 

3.5 Ejercicios 

Page 43: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

Diseño avanzado de  sistemas digitales    

 

Julio 2014    39 

4. Subsistemas basados en memorias 

4.1 Introducción a memorias integradas 

Gran  parte  del  diseño  digital  actual  necesita  o  se  dedica  al  almacenamiento  de información,  datos  o  instrucciones  de  programas.  Como  se  ha  comentado  en  la introducción, actualmente  la  integración de  los circuitos digitales permite que ésta se dedique a la memoria, en sus diferentes versiones. El diseño también ha evolucionado, tal  que  en  la  lógica  programable,  por  ejemplo,  el  uso  de  memoria  para  la implementación  de  tablas  de  verdad  o  cualquier  lógica  combinacional,  simplifica  la síntesis de los sistemas.  

De forma general, se representa una memoria integrada como una matriz de celdas de almacenamiento.  Técnicamente es posible  si usamos un  conjunto de  registros  (Flip‐Flops) organizados de forma tal que representen una estructura geométrica en filas y columnas del tamaño necesario. Sin embargo, esto crea un problema de tamaño y de acceso  a  la  información,  por  lo  que  para  almacenamiento  de  información relativamente grande, se tiene que hacer uso de memorias integradas. Estas memorias integradas  tienen  como  objetivo  optimizar  el  acceso  a  la  información,  tanto  en  los modos de  lectura como de escritura,  la optimización del consumo de  la memoria y  la optimización del control para el acceso a la información. 

Por  lo general, el proceso de guardar  información  se  llama escritura y el proceso de leer datos se  llama proceso de  lectura. En  la mayoría de  los casos, estos procesos se hacen a través de un sistema programable (microprocesador, CPU u ordenador). Estos sistemas cuentan con una unidad aritmético/lógica  (ALU), un conjunto de registros y lógica de control que se encarga de ejecutar estas lecturas y escrituras a memoria para hacer el  trasiego de operaciones de un programa. Nótese en  la  figura  siguiente  tres  caminos,  denominados  buses,  el  de  datos  (bidireccional),  el  de  direcciones (unidireccional) y el de control  (unidireccional).   El bus de datos, como su nombre  lo indica, tiene por objeto  llevar  los datos de  la CPU a memoria (proceso de escritura) o de  leer  los datos de  la memoria a  la CPU  (proceso de  lectura). El bus unidireccional llamado de direcciones,  se corresponde con  la dirección de memoria  (posición de  la misma) en donde se localiza el dato a leer o escribir, según lo indique el bus de control. El tercer bus o de control, tiene que ver con dos líneas que la CPU se encarga de poner a  la memoria y son  la señal de  lectura/escritura  (read/write), por  lo general una sola línea que indica a la memoria si se procede a leer (read/write=1) o en su caso a escribir (read/write=0) y el CS (Chip Select), una de las señales más importantes para el diseño con memorias. El Chip Select como su nombre  lo  indica, es una señal de control que permite a la memoria correspondiente poner en modo activo su bus de datos en modo lectura, en otro caso, dejar ese bus de datos desconectado o en tercer estado, es decir “al aire”, por lo que el bus de datos puede ser compartido con otras memorias u otros dispositivos  conectados  al  bus  de  datos.  Es  labor  del  ingeniero  de  diseño  la organización  de  las memorias  y  dispositivos  para  controlar  a  través  de  las  señales correspondientes de CS una correcta organización de memoria. Esta organización de memoria  y  dispositivos  se  le  llama  “mapa  de  memoria”  y  se  verá  con  mayor detenimiento más adelante. 

Page 44: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

 

 

40 

Figura

4.1.1

Existaplicformcomoesto (grupcomúUna 

La clfuncisólo memmás puedun conececorrerequestascuan

Las mmantalimediodoescriExisteste mem

Una primaleatde mdía, t

a 43: Principa

1 Clasifica

en  una  varaciones.  De

mas de expreo parámetres, kilobitspos de 8 o 9ún usar el wpalabra de 

asificación ionalidad. Alectura o re

mory  (RWMflexibles  d

de almacenaondensadoesario  circuespondienteieren de uns memoriasndo la tensió

memorias Rtienen  su entación.  Los  o  transibe  el  conteen diferentfusible.  M

moria. 

segunda claera  clase  etorio. Lo qumemoria en tal que en 

ales inter‐ con

ación de me

riedad  de  fependiendoesar el uso dro de medids (Kbits), me9 bits), estoword (palab32 bits, rep

más generaA nivel geneead‐only me). Como  suebido  a  esar en un flipr  (celda deitería  de  ces y dado qna tensión ds se les clasión de alime

ROM, o de sinformació

La  informacstores  funcenido  de  lates tipos de

Más  adelant

asificación ses  las  llamae significa qorden aleael mundo d

exiones de un

emorias sem

formas,  tamo  del  nivel de la memoda equivaleegabits (Mbo es, Kbytesbra), el cuapresentaría 

al de  las meral se puedemory (ROM nombre  losta  caracterp‐flop (celda memoria dcontrol  parque el circude alimentaifica tambiéentación se 

ólo lectura,ón  aún  cución  digital cionando  ena memoria,e memoriaste  se  detal

se basa en ladas  randomque el dato torio.  Esta de  los siste

na memoria c

miconducto

maños  y  estde  abstrac

oria, por ejente, al númbits), gigabis, Mbytes, Gl representun ordenad

emorias seden clasificaM) y memoo  indica,  lasrística.  En  ea de memodinámica), ra  la  lectuuito de conación para mén como mecorta. 

, tienen la cuando  no se  “guardan modo  fus, mecanisms ROM depelan  cada  u

la forma enm‐access m binario pusegunda clmas digital

con un sistem

oras 

tilos  en  funcción  que  uemplo, a nivmero  individits (Gbits)   Gbytes o Tbta  la unidaddor que trab

miconductoar en dos grarias de lects memoriasesta  últimaria estáticarespectivamra  y  escrittrol y  las cmantener eemorias vol

característicestén  cona”  a  travéssible.  Existe

mo  con  el  qendiendo duna  de  las 

 la que se tmemory  (RAede ser leídasificación es se utiliza

Sistemas d

ma digital. 

nción  de  lausemos,  exvel de circuidual de celdo Terabits (bytes. A nivd de cálculobaja con dat

oras suele sandes grupoura y escrits de  lectura,  el  dato  d) o en la carmente. En atura  del  bieldas  son al dato binarlátiles, el bit

ca de ser nonectadas  as  de  una  ine un procesque  se  “readel tipo de celdas  par

rabaja con lAM) o memdo o escrito es la más ea  los términ

digitales avanz

Julio

as  necesidaxisten  diferito usamos das de mem(Tbits), o elvel de sistemo del ordentos de 32 b

ser en baseos, memoritura o read‐a y escriturdigital,  el  brga capacitiambos casoit  en  las  cactivas, es rio en la cet pierde su 

o volátil, es a  la  fuentnterconexióso  en  el  cuarma”  el  furegeneracióra  cada  tip

la memoriamorias de  ao en una posempleada hnos RAM y 

zados 

o 2014 

 

des  y entes el bit 

moria, l byte ma es nador. its. 

e a su ias de ‐write a son bit,  se va de os, es celdas decir, lda, a valor 

decir e  de ón  de  uál  se usible. ón de po  de 

a. Una cceso sición oy en ROM 

Page 45: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

Diseño avanzado de  sistemas digitales    

 

Julio 2014    41 

para denominar a las memorias. Con este último concepto la tabla siguiente resume  la clasificación de memorias a un nivel general. 

Por supuesto existen muchas cantidades de diferentes tipos y modos de operación de memorias conforme  las aplicaciones y versiones de microprocesadores se han venido desarrollando, especialmente con su  funcionalidad. Así pues, aparecen memorias del tipo multipuerto  o  de  acceso  simultáneo  por más  de  dos  interfaces.  Este  tipo  de memorias  responden  a  un  requisito  de  necesidades  de  ancho  de  banda,  es  decir, acelerar o paralelizar el acceso a  los datos con el aumento de puertos para  leer y/o escribir, tal es el caso de memorias FIFO (first‐in, first‐out), CAM (contents‐addressable memory), memorias multipuerto y una lista larga, según la funcionalidad y aplicación a la que están dirigidos. Algunas de estas  se  incluyen en  la  tabla de  clasificación  y  se verán  en  este  texto.  El  uso  y  aplicación  de  las  estructuras  así  como  la  forma  de operación, se verá en los siguientes apartados. 

   Acrónimo  Tipo  Aplicación

RAM (volátil) 

SRAM  Static random access 

Rápida y de baja densidad. Un FF por celda Memoria cache 

DRAM  Dynamic random Access 

Alta  densidad.  Un  transistor  por  celda.  Memoria principal de un ordenador 

FIFO  First‐in first‐out memory 

Memoria multipuerto usada como buffer de interfaz de sistemas 

CAM  Contents‐addresssable memory 

Memoria multipuerto de acceso según contenido del dato 

VRAM  Video random access memory 

Memoria multipuerto de acceso de diferente ancho de puerto 

ROM (no 

volátil) 

ROM  

Read only memory Grandes  series  de  producción.  No  es  borrable. Grabado en fábrica. 

PROM  Programmable ROM Grandes  series  de  producción.  No  es  borrable. Permite un grabado. 

EPROM  Erasable programmableROM 

Borrable con luz ultravioleta. Permite regrabado 

EEPROM  Electrically erasable programmable ROM 

Borrable de forma eléctrica. Permite regrabado 

FLASH  Multiple Access EEPROM 

Acceso por bloque en lectura y escritura en la misma operación 

Tabla 4: Clasificación de memorias semiconductoras 

 

4.1.2 Arquitectura interna y temporización  

Una memoria  semiconductora  se  puede  ver  como  un  array  en  forma  de  pila  de N‐words cada una de ancho M‐bits. Cada vez que  leemos o escribimos a  la memoria,  lo hacemos en un formato de  longitud un word, es decir, una lectura o una escritura de una palabra en formato de M‐bits. Esto se hace con la ayuda de un control que permite seleccionar  la  palabra  que  se  accede  en  lectura  o  escritura  de  las  N‐palabras  que dispone  la memoria. Por  lo  tanto,  se necesita un  conjunto de S0‐SN‐1 de  señales que indiquen qué palabra es la que se está seleccionando y solamente una Si   puede estar activa a la vez.  

Page 46: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

 

 

42 

La esbasa princdecoextera N=de an

Figura

Toma1Kby(byteestruingenword

Evidegradogeomreorgel prno pe

Otro mismcalidComtiemestá readaccesposicescriescri

strategia pa  en  el  esqcipales  y  dodificador qrior, llamad=2K líneas dencho M‐bits

a 44: Arquitec

ando comoyte, N  será e).  La memuctura de 10niero de did.  

entemente,o de  integrmetría  del ganizar el poceso de leenalizar el t

 aspecto  immas, son lasad de la meo cualquierpo desde qdisponible 

d‐access‐timss‐time,  sieción  de metura  read‐wturas  suce

ara implemeuema  de  ldos  buses que  tiene  codo bus de die selección,s y por este

ctura de mem

o ejemplo laigual 1024

moria  es  en024 palabraseño,  tamb

,  las estructración de  loconjunto 

proceso de dectura y esctiempo de a

mportante ds característemoria. Ya r circuito digue se indicaa la salida 

me.  En  consendo  el  tieemoria  indiwrite‐cycle.esivas,  proc

entar este ta  figura  sigde  inform

omo objetivirecciones A, donde sólo bus, se lee

moria de N‐pal

a figura anto  lo que etonces  de as de anchobién  se  sue

turas de mos circuitos,de  celdasdecodificacritura. Se inacceso a la i

de  las memticas de temhemos vistogital este pa la posiciónde la memosecuencia  empo  entrecada. Un  t  El  cuál  eceso  que 

ipo de estruguiente,  enmación  covo  reducir A0‐AK‐1. Esteo hay una l o escribe u

     

labras y M‐bi

erior, si ques  lo mismouna  capaco 1 byte. Deele  llamar p

emoria  son, por  lo qus  de  almación y de la ntroduce minformación

morias en  losmporizacióno que las mroceso no en de la memoria. Este tiexiste  un  te  una  peticercer  tiemps  el  tiempes  usado 

uctura de mn  la  que  senectados. el número  decodificadínea activa una palabra

ts por palabra

eremos impo 210 palabidad  de  8Kesde el punposición de 

n ahora mue el decodiacenamientomemoria pás lógica den. 

s aspectos n. Estos aspmemorias sees inmediatmoria a leeriempo es llaiempo  llamción  de  escpo,  es  el  co  mínimo ampliamen

Sistemas d

memoria seme  pueden  vEl  primer de  líneas ddor conviera la vez. El. 

a. 

plementar uras y M  seKbits  o  de nto de vista memoria  a

uy complejaificador de o,  obligan para disminue control co

de diseño ypectos tamb pueden “leto. Existe unr y el tiempamado tiemmado  de  escritura  y  la iclo  complenecesario nte  en  los

digitales avanz

Julio

miconductover  dos  blobloque  e

de  selecciórte la direcc bus de dat

una memorerá  igual a 81Kbyte  con del diseñaa una pala

as debido adireccionea  distrib

uir el retardon la finalid

y elección dbién nos diceer” o “escrna latencia po en que elmpo de lectscritura  o  w  escritura eto  de  lectpara  lectus  algoritmo

zados 

o 2014 

ora se oques es  un ón del ción A tos es 

    

ria de 8 bits n  una dor o bra o 

l alto s y  la uir  y do en ad de   

de  las cen la ribir”. en el l dato tura o write‐en  la ura  y ras  y os  de 

Page 47: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

Diseñ

 

Julio 2

progseríaque conti

Figura

4.1.3

ROMun acruzaintertrans

ño avanzado 

2014 

ramación. Ea raro que lotener  en  cinuación. 

a 45: Parámet

3 La celda

M. Concepturray de  filaan. Una  cerruptor lógicsistor MOSF

DAT

WRITE

READ

de  sistemas

Estos tres po fueran. Adcuenta  cua

tros de tempo

a de memo

ualmente, laas y columnlda  es  capaco controlaFET. Tal com

Read

TA

TE

D

s digitales  

parámetros demás de eando  se  dis

orización prin

ria 

a estructuranas. Una ceaz  de  almado por tensmo se puede

d access

Read cycle

de tiempo,stos existenseña  con  m

ncipales de un

a de la memelda es una cenar  un  bsión a travée ver en la s

 

Read acc

Data v

, no tienen n otros no mmemorias  i

na memoria.

moria ROM posición dobit.  Este  bités de diodossiguiente fig

cess

Wvalid

por qué sermenos impontegradas 

es la más seonde  la fila t  es  puestos, un transisgura. 

Write cycle

Write access

Data writ

 

r iguales, esortantes quque  se  ver

 

encilla. Lo fy  la colum

o  a  través  dstor bipolar

 

tten

43 

s más e hay rán  a 

forma na se de  un  r o un 

Page 48: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

 

 

44 

Figura

 

RAMconjutipo la  figmantmantfuercconses vo

Figura

 

RAMcon t

a 46: Represe

M Estática. Lunto de traMOS. La cogura  siguientienen  Q=1teniendo /Qce  el  camecuencia deolátil.  

a 47: Represe

M Dinámica. transistores

entación de un

Las celdas qansistores configuraciónnte  que m1,  aseguranQ=0. Este ebio.  Si  se e la memor

entación de un

Las celdass MOSFET.  

na celda en RO

ue compononectados, n de estos tientras  un ndo  que  Mestado se mcorta  la ia RAM, se 

na celda de m

que compEl esfuerzo

OM y de una 

nen este tip ya sean trtransistoresel  par  de 

M2  y  M1  emantiene haalimentaciópierde. Lo q

memoria RAM

onen este o realizado 

ROM de 4x4 

po de memoansistores bs forman untransistoreestén  en  elsta que deón,  el  conque signific

 estática 

tipo de mepor las emp

Sistemas d

bits. 

oria están fbipolares o n Latch. Pues  a  la  dere  modo  comsde fuera dtenido  de a que este t

emoria, sonpresas tecn

digitales avanz

Julio

 

formadas p transistoreede usted vecha  (M4  ymplementade  la celda la  celda 

tipo de mem

 

 exclusivamnológicas en

zados 

o 2014 

or un es del ver en y M3) ario  y no se y  en moria 

mente n este 

Page 49: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

Diseñ

 

Julio 2

tipo pequmemen  lacomp

El prque comptransque despocurembaadicien ta

Las condde epermrefrerefrellamacontlas m

Figuratransi

4.1.4

Existdato

ño avanzado 

2014 

de memoriueñas, lo qumoria RAM da  actualidaplejidad y a

rincipio de es parte  intpletamentesistores, es el  condens

pués de  la  lre  igual  enargo  requional. Por loamaño que 

memorias densador reste sistemamitiendo maesco  son  2,4esco según ar RAS (rowrol (dynamimemorias di

a  48:  Represistores. Derec

4 Diseño 

en dos mods  (palabra

de  sistemas

as es muy gue significa dinámica sed  a  celdasumentando

esta clase dtrínseca al e  descargadque la lectusador  descaectura se h  la  celda  foere  de  uno que la cella celda de 

dinámicasequiere de ua de refrescantener el v4 u  8 milisel  tipo de 

w‐address stic memory cnámica. 

sentación  decha, celda con

con memo

dos de trab)  o  increm

s digitales  

grande, busmemorias de realizaba cs  con  un  so la densida

de memoriatransistor, do  (un  “0ura es destrargue,  por haga una opormada  po  amplificadda de una mmemoria d

  presentanuna circuiteco es reescrvalor de la tegundos.  Ememoria. Ltrobe) y CAScontrol) rea

e  una  celda n un transisto

rias 

bajar con mmentar  su 

scando altade muy altacon 3 o 4 trolo  transisad. 

as es  la carsi está com0”  lógico). ructiva, es dlo  que  pasperación deor  un  transidor  en  la memoria didinámica de

n  una  comería adicionribir  las celtensión en Existen difeLas señales S (column‐aalizan la tem

   

de  memorior. 

memorias, ycapacidad

as densidada capacidadransistores,tor,  reduci

rga del ConmpletamentLa  desven

decir, que laa  a  “0”.  Poe escritura stor,  la  leclínea  de  lnámica de  3 transisto

mplejidad al, denomindas  leídas el condensrentes  tipode control

address stromporización

     

ia  RAM  diná

a sea  incred  (número 

WL

CBL

es con celdd. En sus ini, véase la fiendo  signif

ndensador Ce cargado (ntaja  de  la lectura deor  lo  que  epara  restautura  no  es ectura  y  u1 transistorres. 

adicional. nada “refredurante el ador. Los vaos  y modos  de este sisobe) y junton del proces

ámica.  Izquie

mentar el ade  posic

M1

BL

 

das cada vezicios, la celdgura, para ficativamen

Cs, conden(un “1”  lógia  celda  cel “1” lógicoes necesariourar el valo  destructivun  condenr no es un t

El  uso  desco”. La fuciclo de  lecalores típic de  sistemstema se so a un sistemso de refres

erda,  celda 

ancho de bciones).  En

CS

45 

z más da de pasar nte  la 

sador ico) o on  3 o hace o  que or. No a,  sin sador tercio 

e  un nción ctura, os de as de uelen ma de co de 

 

con  3 

its de una 

Page 50: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

 

 

46 

“orgade  prepredireces demem

Figura

Expamemrealiztipo, datoes decomo(4 bitla mees  nenecetipo 

 

anización dposiciones  xesenta una cciones es de 1024 palamoria es de  

a 49: Diagram

andiendo elmoria en pazada con m como en las para ver ecir, el Chipo en lecturats) se escribemoria de aecesario  el esarios 10 bRAM o tipo

e memoriax  número  dmemoria dde K=10 y  babras, cada 4Kbits o 40

ma de bloques

 bus de datsos de tam

memorias dea figura sigula conexiónp  Select  sea. La difereben en la mabajo. El bu mismo  núbits. El métoo ROM. 

”, cada mede  bits  pore 1024 posbus de datopalabra de 096 bits, org

s de una mem

tos. Siguienmaño el bus e 1Kx4, tenduiente. En en correcta. activa en ncia es que

memoria de us de direccúmero  de  sodo  ilustrad

moria está r  posición. iciones conos de M=4, 4 bits. Otraganizada en

   

moria genérica

do el criterde datos. 

dremos unasta figura sAmbas meambas en e ahora el bla parte supciones está señales  de do se aplica

representa    Así  pue 4 bits de dsegún la figa forma de n 1024 posic

a y una memo

io anterior, Por ejempla organizacie ha expandmorias trabel mismo  ibus de datoperior y la psimplemendirección, a a cualquie

Sistemas d

ada de un mes,  una  meatos por pogura siguienexpresar elciones de 4 

oria de 1Kx4. 

podemos io, una memón con 2 mdido el bus bajan de  fonstante,  tas es de 8 bparte (4 bitsnte conectapara  un  1Ker tipo de m

digitales avanz

Julio

modo en núemoria  de osición. El bnte. La meml tamaño debits. 

ncrementamoria de 1Kmemorias dede direcciorma simultnto en escits, la partes) se escribedo en paraK  posicionememoria, y

zados 

o 2014 

úmero 1Kx4, us de moria e esta 

 

r esta K x 8, e este ones y ánea, ritura e baja en en lelo y s  son ya sea 

Page 51: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

Diseñ

 

Julio 2

Figura

Expanúmcaso antenúmver  qneceA0módestadel  bumemdel bEn  o(000interposiccorre

ño avanzado 

2014 

a 50: Expandi

andiendo  eero de posise expanderior y en esero de bitsque  las  direesitan  11  bA9. La direulo esta “acdo). Se geneus  de  datomoria de arrbus de datootras  palabr

16)  hasta  larcambia  el ciones de mesponden a

de  sistemas

endo el bus d

el  bus  de  diciones, es e de 1Kx4 aste ejemplo, pero diferecciones  rebits.  Estos  bección más ctivo” por meran por taos  es  compriba en la fios), mientraras,  se  puea  0111111control  de

memoria son la memoria

s digitales  

de datos a una

direccionesdecir, en laa 2Kx4. Tal  ambos mórentes en oequieren  debits  se  conalta,  la A1medio del Cnto dos línepartido  por gura, se enas que  la deden  leer/es1111  (3FF1l  bus  de  dn 10000000a de abajo e

a memoria de

s.  Suponga a capacidad como ustedódulos de morganizacióne  un  bit mnectan  en 10,  se utilizaChip Select eas de Chip ambos  m

ncuentra acte abajo en scribir  las  p

16).  Ahora datos  entre 0000 (40016en la figura

 

 

e 1Kx8 con me

ahora  queen posiciod ya se ha dmemoria sonn, 1Kx8 = 2ás  (A10),  pparalelo  loa para  seley cuáles noSelect. Adeemorias.  Etiva (los datla figura peposiciones bien,  cuandambas me) hasta la 0. 

emorias de 1K

e  es  un  innes de la mdado cuentn de la mismKx4 = 8K bpues  para  2s  primerosccionar queo (su bus deemás, fíjesentonces  cutos se puedermanece ede memordo  la  direcemorias,  ta111111111

 

 

Kx4. 

cremento memoria. Enta, en el ejema capacidaits. Puede 2K  posicions  10  bits,  de dispositive datos en te en la figuruando  A10=den leer a ten tercer esria  0000000cción  A10=al  que  ahor11 (7FF16), q

47 

en  el n este emplo ad en usted es  se desde vo del tercer a que =0,  la través stado.  00000 =1,  se ra  las ue se 

Page 52: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

 

 

48 

Figura1Kx4.

Expaneceduplifigurha popor m

Figura1Kx4.

a 51: Expandi 

andiendo  eesitamos  unicamos el bas cuando eodido dedumedio de lo

a 52: Expandi 

endo el núme

el  bus  de n  módulo bus de datosexisten busucir, necesitos dos bits d

iendo el núm

eros de posici

datos  y  ede  memors y cuadriples que van aremos de de direccion

ero de posici

iones a  un m

el  número ria  de  4Kx8icamos el nen paralelocuatro Chip

nes más alto

iones a  un m

ódulo de  me

de  posicio8,  con  memnúmero de po, se usa gráp Select difeos (A11 y A1

módulo de  me

Sistemas d

moria de 2Kx

ones.  Supomorias  de posiciones. áficamente erentes, que10).  

emoria a 4Kx8

digitales avanz

Julio

 

x4 con memor

onga  ahora1Kx4.  Es Para facilitel bus. Tal ce son gene

x8 con memor

zados 

o 2014 

rias de 

a  que decir, tar las como rados 

 

rias de 

Page 53: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

Diseño avanzado de  sistemas digitales    

 

Julio 2014    49 

Conforme la arquitectura del módulo de memoria se va expandiendo en los datos o en las posiciones de memoria, el sistema se complica gráficamente. Tal que dos  formas alternativas de expresar la distribución y organización de memoria y de dispositivos es a través de una forma tabular o en bloque. Ambos formatos representan un ”mapa de memoria” y nos lleva a la distribución de la memoria en el módulo de una forma más sencilla de ver. El mapa de memoria para el ejemplo anterior es el siguiente: 

 Direcciones de memoria Chip Select   Posición

A11  A10  A9  A8  A7  A6  A5  A4 A3 A2 A1 A0 CS0 CS1 CS2  CS3  (hexade‐cimal) 

0  0  X  X  X  X  X  X X X X X 0 1 1 1  000‐3FF 

0  1  X  X  X  X  X  X X X X X 1 0 1 1  400‐7FF 

1  0  X  X  X  X  X  X X X X X 1 1 0 1  800‐CFF 

1  1  X  X  X  X  X  X X X X X 1 1 1 0  D00‐FFF 

Tabla 5: Mapa de memoria de módulo de 4Kx8 con memorias de 1Kx4 expresado en forma de tabla. 

 Posición de inicio y fin

(decimal) Bit7 

Bit0 

Posición de Inicio y fin (hexadecimal) 

 

0 000  1K x 8  

1Kx4 (x2)  1023 CS0 3FF  1024 400  

1K x 8  1Kx4 (x2)  

2047 CS1 7FF  2048 800  

1K x 8  1Kx4 (x2)  

3xxx CS2 BFF  3xxx C00  

1K x 8  1Kx4 (x2)  

4095 CS3 FFF  

Tabla 6: Mapa de memoria de módulo de 4Kx8 con memorias de 1Kx4 expresado en forma de bloque. 

 

Page 54: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

 

 

50 

4.2

Figura

4.3

4.3.1

Cuanmemel  comultlas  raplicmemcapaposicmemproceotro conccompcon e

Las v

Lt

S

A

S

Sb

Integrac

a 53. Conexió

Memoria

1 Memor

ndo dos o mmoria, existeonflicto.  El iplexa los breglas  de  aaciones esp

moria  con  ccidad de leciones  de morias sueleesa la escritpuerto  de

cepto  tieneparten un eel mismo re

ventajas de 

La  comunicransferir da

Simplificació

Acceso direc

Simplificar lo

Simplificar  lbuffers y ad

ión con m

n típica de un

as específ

rias multipu

más  sistemae la necesidárbitro  o 

buses de datcceso,  por peciales exicaracterísticer o escribimemoria. en ser de tetura por une  salida,  une  un  benefespacio de eloj de form

este tipo de

cación  y  siatos, a la ve

ón del diseñ

cto a memo

os sistemas

os  sistemasaptando ve

microproce

n microproces

ficas 

uerto. FIFO

as  tienen  laad de contrcontroladotos, de direejemplo  pste la posibcas  específir por dos diLas  difereelecomunica puerto de na  posiciónficio  impormemoria  t

ma asíncrona

e memoria 

ncronizacióz que almac

ño de sistem

oria (DMA) s

 de memor

s de  comunlocidades e

esadores

sador con disp

a necesidadrolar o “arbor  de  acceecciones y dpor  prioridabilidad de ecas,  tal  es iferentes dintes  aplicaaciones, poentrada, al

n  por  detrártante  tamtrabajando a.  

son: 

ón  de  dispcena. 

mas con me

sin detener

ria caché. 

nicaciones, entre sistem

positivos exte

d de compabitrar” el accso,  no  es de control, sad,  por  tievitar este áel  caso  despositivos daciones  quor ejemplo e mismo tiemás  o  en  otrbién  cuandcon diferen

positivos  a 

moria comp

los accesos

usando mmas. 

Sistemas d

ernos y de me

artir datos oceso a la mmás  que  usegún se fijempo,  etc. rbitro con ae memoriasde forma sime  requiereen multimempo se puera  zona  dedo  hay  dontes velocid

través  de 

partida. 

s a la CPU. 

emorias m

digitales avanz

Julio

emoria. 

o un espacemoria evitun  sistemaen los criteEn  este  tiparquitecturs  que  tengmultánea een  este  tipedia. Mientrede ir leyende  memoria.os  sistemasdades de  re

  memoria 

ultipuerto 

zados 

o 2014 

 

cio de tando a  que rios o  po  de ras de gan  la n dos po  de ras se do en   Este s  que eloj o 

para 

como 

Page 55: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

Diseñ

 

Julio 2

Llad

Figura

Memmemlógicentrala meWriteen loTal cizqui(Reseseñaescrialcanmuy 

 

Figura

4.3.2

redusistenivella sig

ño avanzado 

2014 

La memoria a misma pode ellos. 

a 54. Memori

morias FIFOmorias intega de  controa”, es “ el pemoria y soe. Este tipoos sistemas como se ve erdo) y un et) ambos l de Vacío stura y la senza al de lecimportante

a 55. Estructu

2 Memor

La  memcir el tiempma  se  cones que tienguiente figu

de  sistemas

cuenta porosición por a

a de doble pu

O. El concepgradas y se bol que  se aprimero queolamente ha de memorde comunien  la  figur puntero dpunteros ese activa. Si eñal de Vacctura, se aces para el co

ura principal d

rias cache 

moria caché po de accesnoce  como nen  los sistera. 

s digitales  

r lo general ambos puer

uerto. 

pto FIFO  (Fibasa en unaañade para e sale”. Se say datos de ias son usadcaciones y ra, hay un pde  lectura  (stán en  la se escribe  io se desactiva la señaontrol de la

de una memo

es una memo a la memjerarquía  demas progr

 con un conrtos en el m

 

 

irst  In, Firsta arquitectulograr un 

simplifican tescritura/ledas para hade control puntero de (bus de direprimera ub (Write) se ctiva. Cuandal de Lleno.  FIFO desde

ria FIFO. 

moria SRAMmoria principde  memoriramables co

ntrol internomismo insta

t Out), es aura de memestructura todos los buectura, juntacer almacey se compoescritura  (ecciones al bicación deincrementado el registrEstas dos úe los dispos

M usada popal. La orgaia.  Es  una omplejos. Se

o para evitante. Dando

ampliamentmoria de dobsimple de uses de datto con las seenamiento yorta como ubus de direlado derecmemoria  (

a el punteroro de direccúltimas señaitivos que la

r la CPU  conización deorganizacióe puede ve

 

ar la escrituo prioridad a

te usado coble puerto “el primerotos al exterieñales de Ry control deuna cola cirecciones encho). En el (FIFO  vacíao de direccióción de escales (“flags”a acceden. 

on el objetoe memoria eón  piramider la jerarqu

51 

ura en a uno 

 

on  las y una o que or de ead y e flujo cular. n  lado inicio ) y  la ón de ritura ”) son 

 

o de a en un al  en uía en 

Page 56: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

 

 

52 

Figura

cercameminforque respe

hacemás menouna la caque e

Figura

La orun bque 

a 56. Jerarquí

La memoa posible a moria  princrmación se los  datos ecto a la co

El  funcioe una copia lento que or al  inicialubicación eché. Si es ases mucho m

a 57. Estructu

rganización loque de coinfluyen  di

ía de memoria

oria caché elos registrocipal  que conoce comoriginales pia localiza

onamiento de un bloqulos  accesosl. En el moen memoriasí, el procesmás rápido q

ura y organiza

 de la memontrol de diirectamente

a en un sistem

es una mems de la CPUse  utilizanmo principiotienen  un da en la cac

es simple, cue de datoss para  commento en ca principal, psador de inmque de la le

ción de mem

moria caché recciones ae  en  el  ren

ma digital. 

moria más pU, la cual alm  con  máso de  localidcoste  de  tché.  

cuando se s en la memmpletar el bcuando el pprimero vemediato leeectura o la e

oria y una CP

pasa por ea la memorndimiento 

pequeña y mmacena cops  frecuencidad. Esta prtiempo  alto

accede pormoria caché.loque, el  tiprocesador rifica si unae o escribe eescritura a la

PU. 

el diseño deia Cache, code  la mem

Sistemas d

más rápida lpias de datoa.  Esta  duropiedad seo  en  veloci

r primera ve El acceso aiempo de anecesita  le

a copia de loen la memoa memoria 

e las memoonsiderandomoria  y  por

digitales avanz

Julio

 

ocalizada loos ubicadosuplicidad  de justifica pidad  de  ac

ez a un datal primer daacceso medeer o escribos datos esoria caché (principal (M

 

rias Mca, Mo varios facr  lo  tanto  e

zados 

o 2014 

o más en la de  la uesto cceso, 

to, se ato es dio es bir en stá en Mca), Mpp). 

Mpp y ctores en  su 

Page 57: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

Diseño avanzado de  sistemas digitales    

 

Julio 2014    53 

objetivo  de  aumentar  la  velocidad  de  respuesta  de  la  jerarquía  de memoria.  Estos factores son las políticas de ubicación, extracción, reemplazo, escritura y el tamaño de la caché y de sus bloques.  Además se definen tres conceptos básicos para su diseño: 

Bloque:  Cantidad  de  información  en  posiciones  de memoria  que  se  define  para estar presente o no en Mpp y Mca. Es importante definir el tamaño del bloque y de la Mca. Un tamaño de Mca grande tiene por el contrario una lógica de control más compleja, el acceso es más lento y físicamente es más grande. Por el contrario, si la Mca es pequeña, se incrementa la cantidad de fallos a la Mca. 

Acierto: Cuando el dato solicitado por la CPU está en la Mca 

Fallo: Cuando el dato solicitado por la CPU no está en la Mca. 

Rendimiento: Se calcula del siguiente modo:  

 

  1  

  ∗ 1 ∗  

 donde: 

ó   ó  

Las tres formas de ubicación más utilizadas son: 

Cache Directa: Al bloque i‐ésimo de memoria principal le corresponde la posición i módulo n, donde n es el número de bloques de la memoria caché. 

Caché Asociativa: Cualquier bloque de memoria principal puede ir en cualquiera de los n bloques de la memoria caché. 

Caché  Asociativa  por  conjuntos:  La memoria  caché  se  divide  en  k  conjuntos  de bloques, así al bloque  i‐ésimo de memoria principal  le corresponde el conjunto  i módulo k. Dicho bloque de memoria podrá ubicarse en cualquier posición de ese conjunto. 

Debido a que el tamaño de la Mca es mucho menor que la Mpp, existen una serie de políticas de reemplazo para determinar que bloques de la Mca se deben reemplazar. 

Reemplazo Aleatorio: El bloque es reemplazado de forma aleatoria. 

Reemplazo  FIFO:  Se  usa  un  algoritmo  FIFO  (primero  en  entrar  es  el  primero  en salir)  para  determinar  qué  bloque  debe  abandonar  la  caché.  Este  algoritmo generalmente  es  poco  eficiente,  pues  utiliza  el  parámetro  de  antigüedad  en  el dato. 

Reemplazo (LRU) el menos recientemente usado: Se sustituye el bloque que hace más  tiempo  que  no  se  ha  usado  en  la  caché,  traeremos  a  caché  el  bloque  en cuestión y lo modificaremos ahí. 

Reemplazo  (LFU) el de menos  frecuencias usadas:  Se  sustituye el bloque que ha experimentado menos referencias.  

Page 58: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

  Sistemas digitales avanzados 

 

54    Julio 2014 

Por último las políticas de lectura y escritura a la memoria Cache, que son:  

  

Lectura de Cache 

Dato en caché  Dato a la CPU

(Load Through)Dato no en caché  Lee de Mpp y rellena cache o, Dato no en caché  Rellena Caché de Mpp y dato a CPU, 

  Escritura de Cache 

Dato  en  caché  Escribe  dato  en Mca  y  Mpp (Write Through) Dato en caché  Escribe dato en Mca, escribe en Mpp  hasta  que  el  bloque  es  reescrito.  (Write Back) 

Dato  no  en  caché  Leer  de  Mpp  el  dato  y actualizar (Write Allocate). 

 Cache Directa. Cada bloque de  la memoria principal  tiene  su posición en  la  caché y siempre en el mismo sitio. Suponga en el ejemplo siguiente:  

Microprocesador de 16 bits: direcciones y datos de 16 bits. 

Memoria caché de 512 Bytes. (bus de direcciones de caché de 9 bits) 

Memoria principal de 32KBytes. (la mitad del mapa de memoria) 

Numero de palabras por bloque (K) = 8 (3 bits de dirección). 

Número de bloques: 512/8 = 64 bloques (se necesitan 6 bits de dirección) 

Tag = 16‐6‐3  7 bits ( se utilizan sólo 6) 

Tamaño de palabra de la memoria cache: 16 bits de datos + 7 bits de tag  23 bits  

Page 59: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

Diseñ

 

Julio 2

Figura

 

Cachde labloqcompSigui

M

M

M

N

N

T

Tb

 

ño avanzado 

2014 

a 58. Correspo

he Asociativa memoria cues para vepleja  para endo los da

Microproces

Memoria ca

Memoria pr

Numero de 

Número de 

Tag = 16‐3 Tamaño de bits  

de  sistemas

ondencia en u

va.   Los blocaché, comerificar aciehacer  la  coatos del eje

sador de 16

ché de 512 

incipal de 3

palabras po

bloques: 51

 13 bits ( s

palabra de

s digitales  

una memoria 

ques de  la probando srto. El princomparaciónmplo anter

6 bits: direcc

Bytes. (bus

32KBytes. (la

or bloque (K

12/8 = 64 bl

se utilizan s

  la memori

 caché directa

memoria psolamente lcipal inconvn  en  paraleior,  

ciones y dat

s de direccio

a mitad del

K) = 8 (3 bits

loques (se n

ólo 12) 

ia cache: 16

principal se la etiqueta veniente eselo  de  todo

tos de 16 bi

ones de cac

mapa de m

s de direcció

necesitan 6 

6 bits de da

alojan en cde todos y que precis

os  los  camp

its. 

ché de 9 bits

memoria) 

ón). 

bits de dire

atos + 12 b

 

cualquier bcada uno d

sa una circupos  de  etiq

s) 

ección) 

bits de tag 

55 

 

loque de los uitería queta. 

 28 

Page 60: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

 

 

56 

Figura

 

Cachantesiend

El funun  cpertedirec

Sigui

M

M

M

N

N

Nd

T

T

 

a 59. Correspo

he Asociativriores.   Estdo C el nº d

ncionamienconjunto  deenecen a dcta y menor

endo el eje

Microproces

Memoria ca

Memoria pr

Numero de 

Número de 

Número de de dirección

Tag = 16‐8 Tamaño de p

ondencia en u

va por Conjá compuese bloques d

nto consistee  la  caché, icho conjunr cantidad d

emplo anter

sador de 16

ché de 512 

incipal de 3

palabras po

bloques: 51

bloques pon 

 8 bits ( se

palabra de 

una memoria 

untos.  Estata por “r” de la memo

e en que cadpero  se  p

nto. Ello pede comparac

rior: 

6 bits: direcc

Bytes. (bus

32KBytes. (la

or bloque (K

12/8 = 64 bl

or conjunto 

e utilizan só

la memoria

 caché asocia

a cache conbloques y “ria caché.

da bloque dpuede  ubicaermite mayociones que 

ciones y dat

s de direccio

a mitad del

K) = 8 (3 bits

loques (se n

 = 2; Núme

lo 7) 

a cache: 16 

tiva 

ntiene las ve“q” conjunt

de la memoar  en  cualqor  flexibilidla totalmen

tos de 16 bi

ones de cac

mapa de m

s de direcció

necesitan 6 

ero de conju

bits de dato

Sistemas d

entajas de ltos de mod

oria principaquiera  de  ldad que  la cnte asociativ

its. 

ché de 9 bits

memoria) 

ón). 

bits de dire

untos = 64/

os + 8 bits d

digitales avanz

Julio

los dos métdo que C = 

al tiene asiglos  bloquescorrespondva. 

s) 

ección) 

/2 = 32  5

de tag  24

zados 

o 2014 

 

todos q×r  , 

gnado s  que encia 

5 bits 

4 bits  

Page 61: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

Diseñ

 

Julio 2

Figura

Ejemtiemmemprinc

‐ ‐ ‐ ‐ ‐

ño avanzado 

2014 

a 60. Correspo

mplo de cálcpo de acce

moria princicipal. Supon

Memoria4 bloqueTiempo dTiempo dLa memothrough. 

de  sistemas

ondencia en u

culo de tiemeso efectivopal 48 a 95nga una me

a caché de es de 16 palde acierto (de fallo (tieoria cache . 

s digitales  

una memoria 

mpo de acceo para un p5 y realiza 1moria cache

mapeo direabras cada (tiempo efeempo de accestá vacía e

 asociativa po

eso. Hago eprograma qu10 bucles de con las sig

ecto bloque 

ectivo de accceso a Mppen el arranq

or conjuntos

el cálculo deue se ejecudesde  la poguientes ca

ceso a Mca) 2500 ns., que y utiliz

e la tasa de uta desde  lasición 15 a racterísticas

) de 80 ns. lectura de ba el modo d

 

 

acierto (hitas posicion 31 en mems: 

bloque. de  lectura 

57 

 

t) y el es de moria 

Load‐

Page 62: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

  Sistemas digitales avanzados 

 

58    Julio 2014 

Evento  Posición  Tiempo Comentario 

1 fallo  48 2500ns  Bloque 3 de Mpp  a Bloque 3 de Mca 

15 aciertos  49‐63  80ns*15=1200ns

1 fallo  64 2500ns  Bloque 4 de Mpp a Bloque 0 de Mca 

15 aciertos  65‐79  80ns*15=1200ns

1 fallo  80 2500ns  Bloque 5 de Mpp a Bloque 1 de Mca 

15 aciertos  81‐95  80ns*15=1200ns

1 fallo  15 2500ns  Bloque 0 de Mpp a Bloque 0 de Mca 

1 fallo  16 2500ns  Bloque 1 de Mpp a Bloque 1 de Mca 

15 aciertos  17‐31  80ns*15=1200ns

9 aciertos  15 80ns*9=720ns Ultimas 9 iteraciones del bucle 

144 aciertos  16‐31  80ns*144=12,240ns Ultimas 9 iteraciones del bucle 

Número total de aciertos = 213        Número total de fallos = 5 

213218

97,7% 

213 80 5 2500

218136 . 

4.4 Ejercicios 

1) Calcule el número de circuitos de memoria de 16Kx4 necesarios para desarrollar los módulos siguientes: 

a. 256K x 8 b. 128K x 16 c. 1M x 4 

 2) Dibuje los diagramas lógicos que muestren la interconexión de un módulo de 4K x 

8, con memorias  tipo ROM de 4K x 1. El Chip Select de  las memorias es activo a nivel bajo.  

3) Dibuje los diagramas lógicos que muestren la interconexión de un módulo de 256K x 8, con memorias tipo ROM de 64K x 8. El Chip Select de las memorias es activo a nivel bajo.  

4) Genere en  la  tabla, a continuación. el mapa de memoria para conectar memoria RAM  y memoria  ROM  a  un   microprocesador  de  16  bits  (16  bits  en  el  bus  de direcciones y de datos), con las siguientes características: 

a. Bloque de memoria para datos con SRAM del tamaño 16Kx16   en  la parte más alta del mapa de memoria usando memorias SRAM del tipo 8Kx16. 

b. Bloque  de  memoria  para  vídeo  con  SRAM  del  tamaño  16Kx16    a continuación hacia abajo de  la anterior en el mapa, usando memorias de características SRAM de 16Kx 8,  y 

c. Bloque de memoria de programa con EPROM del tamaño 8Kx16 en la parte más baja del mapa de memoria usando memorias  del tipo EPROM de 8Kx4. 

Hacer: 1) Completar Tabla de verdad con el mapa de memoria completo. Los bloques 

de memoria respectivos que manejan y su posición en el mapa. 

Page 63: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

Diseño avanzado de  sistemas digitales    

 

Julio 2014    59 

2) Para  la  selección cuenta exclusivamente con un descodificador de 3 a 8 y puertas. Dibujar en la figura del descodificador la conexión necesaria de las señales del microprocesador de la figura para generar las señales de /CS de las memorias (activas a nivel bajo).  La tabla de verdad del descodificador se puede ver a  continuación, Enable, S2,S1, S0  son  las entradas y  x0…X7  las salidas.  

3) Haga de nuevo  la conexión de  los módulos, sustituyendo al decodificador, con un módulo descrito en VHDL  

 

 

 

 

 

TABLA DEL DESCODIFICADOR Enable  S2 S1 S0  X0  X1  X2  X3  X4  X5  X6  X7

1  X   X   X  1    1    1    1    1    1    1    1

0  0   0   0  0    1    1    1    1    1    1    1

0  0   0   1  1    0    1    1    1    1    1    1

0  0   1   0  1    1    0    1    1    1    1    1

0  0   1   1  1    1    1    0    1    1    1    1

0  1   0   0  1    1    1    1    0    1    1    1

0  1   0   1  1    1    1    1    1    0    1    1

0  1   1   0  1    1    1    1    1    1    0    1

0  1   1   1  1    1    1    1    1    1    1    0

 

A15  A14  A13  A12  A11  A10  A9  A8  A7  A6 A5 A4 A3 A2 A1  A0 CS0 CS1 CS2  CS3 

Posición de memoria (hexadecima) inicial‐final 

                     

                     

                     

                     

                     

                     

                     

                     

5) Se  va  a  proceder  a  una  ampliación  de  memoria  con  memoria  cache  a  un microprocesador.  Tal  como  se  está  haciendo  en  el  laboratorio.  Como  estamos usando  una  FPGA,  no  disponemos  de mucha memoria  interna,  por  ello  una  de estas ampliaciones será un módulo de memoria principal (externo a la FPGA) y una memoria cache (interna a la FPGA) para instrucciones y otra para datos. Considere el tamaño de las memorias caché (Mca) de 1K x 16 y una memoria principal (Mpp) de 1M x 16.   Asuma que el tamaño de cada bloque/segmento de cache es de 32 posiciones para ambas cachés. El funcionamiento de ambas es idéntico. 

Microprocesador              A0 ‐ A15              D0 ‐ D15                     /CS 

                  R//W 

16 

16 

Decodificador     3  a   8                   /X0                   /X1                   /X2 S2              /X3 S1              /X4 S0              /X5                   /X6                   /X7 ENABLE 

Page 64: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

  Sistemas digitales avanzados 

 

60    Julio 2014 

a. Dibuje el diagrama entre Mca y Mpp para una configuración de memoria caché asociativa.  ¿Cuántos  segmentos  hay  en  memoria  principal?  ¿Cuántos segmentos hay en memoria caché? 

b. ¿De  qué  tamaño  es  el  campo  TAG  para  localizar  un  segmento  dentro  de  la memoria?  ¿De  qué  tamaño  debe  ser  en  estas  condiciones,  la memoria  para almacenar todos los TAGs de la cache? 

c. Considere el siguiente programa para el cálculo del tiempo efectivo de acceso (Tef).El programa es un bucle que se hará 10 veces sobre un conjunto de datos. i. Posiciones del programa en memoria principal:   64 a 127 ii. Datos del programa en las posiciones  128  a 192 iii. El tiempo de acierto es de 50 ns. iv. El tiempo de fallo es de 300 ns.  v. La cache está inicialmente vacía. vi. Con estas condiciones, ¿cuándo se llena la cache? vii. Calcule el número total de aciertos (hits) y fallos (miss) así como el Hit‐ratio 

(Thit) y el Tiempo efectivo de acceso (Tef). 

 

 

Page 65: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

Diseñ

 

Julio 2

5. D

En  econsSe  trvelocmejosegmSiste

En ebuenecuaglobaharda  paproce

Comdos gcon l

Figura

El  blembadatoEn epueddiseñ

Las Aque Por 

ño avanzado 

2014 

Diseño se

este  capítuecución derata,  pues, cidades  eleorar  la eficamentado  semas. Una p

ste sentidonos circuitoslizar  las  ruales. Lo queware que prtir  de  las esado digita

o se ha comgrandes bloa ruta de d

a 61. Arquitec

loque  de  cargo la coms, en dondeste  sentidode  abordar ño de arquit

Arquitecturahan de ser ello,  su  ef

de  sistemas

egmenta

ulo  se  abo altas velocde  diseñar

evadas;  adeacia de  la rue  ha  basadperspectiva 

o el objetivos combinacutas  de  dae se pretendpermitan obcaracterístal de señal, 

mentado, tooques, comoatos. 

ctura genérica

control  estámplejidad hae se define o, este últimde  diferentectura par

as Serie se utilizados tficacia  en 

s digitales  

ado 

rda  el  discidades de r  arquitectuemás  de  euta de datoo  en  la  obhistórica.”

o no es estionales o qtos  o  biende hacer es btener la máicas  del  algcodificació

odo sistemao el de la fi

a de un sistem

á  compuesardware deel número mo bloque ntes  formasalelo o con 

caracterizatantas vececuanto  a  v

seño  de  nucálculo y duras  óptimaemplear  nuos. La descrbra  de  F.M

tudiar  la meue permitan  optimizar estudiar enáxima velocgoritmo  quón de imáge

a digital respgura siguie

ma digital. 

sto  por  unl sistema esde puertasde  caminos:  con  un  dun diseño s

an por  la uts como númvelocidad 

uevas  arque altas presas  para  el uevos  mecaripción de eMoreno,  Mi

ejora de  tén reducir la  el  rutadon profundidcidad compe  se  deseeenes o cálcu

ponde a unante; un blo

a  o  varias stá definidas equivalento de datos, diseño  de segmentado

tilización demero de daes  muy  lim

uitecturas  ostaciones coprocesamieanismos  y esta metodoicroelectrón

cnicas con a profundidde  determ

dad diferentutacional; e  procesar. lo aritmétic

a estructuraque de con

 

máquinas a en el bloqute, su consusu diseño arquitecturo (pipeline)

e pocos  recatos han de mitada  ya 

 

orientadas omputacionento  de  datopologías ología de dnica.  Circui

las que obad de la lógminadas  setes arquitecen algunos Por  ejempco intensivo

a compuestntrol y un b

de  estadoue de caminumo y velocarquitecturra  serie,  co). 

cursos hard ser procesque  existe

61 

a  la nales. atos  a para iseño tos  y 

tener gica o eñales cturas casos plo,  el o. 

ta por loque 

o,  sin no de cidad. ral  se on  un 

dware sados. e  una 

Page 66: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

 

 

62 

depetipo entretamb

Las AtantodepetiemjustifsencFunc

Finaltercedestamicrocálcu

El cosin esistees  exrefersu ob

5.1 I

La  seprocecompcosteexcetemp

Partifigurel ret

Figura

endencia dirde arquitece  la  entradbién aparec

Arquitecturao su controendencia  depo. El costeficado,  necillo  mientrcional más le

mente,  lasera  vía  alteacada  imoprocesadoulo computa

oste de esteembargo la mas digitalxcelente,  tarencia bibliobra “The Ar

Introducci

egmentacióesamiento,putación y ce mínimo  dsivamente poral de los

endo de una siguiente,tardo del bl

a 62. Arquitec

recta con ecturas, sin sda  de  datoe en las Arq

as Paralelasol, en  la obte  los  datose hardware cesariamentras  que  el enta. 

  Arquitectuernativa  a portancia ores,  sistemacional) y co

e tipo de Arrelación coes de compal  es  el  caográfica tiechitecture o

ión al pipe

ón  (Pipeline  manteniecoste de la de  hardwarla  velocida datos con a

n  sistema  s, se puede aloque llama

ctura genérica

l volumen dser excesivaos  y  el  almquitecturas 

s o de Procetención de s  que  permasociado a te,  en  térmtiempo  de

uras  Segmelas  dos  esten  el 

mas  empotroste moder

rquitecturasste hardwaplejidad meso  de  los mne ya algunof Pipelined

eline 

e)  surge  pendo  siemarquitecturre  y  la  veload  de  reloj.arquitectur

secuencial  safirmar queado Unidad 

a de un sistem

de datos quamente commacenamienPipeline. 

esamiento Pun conjunt

mita  su  proestas Arqu

minos  de  ee  procesam

entadas  o  Ptudiadas  andiseño  drados,  etc; rado (hardw

s es el aumare y velocidedia que pemicroprocenos años ded Computer

por  la  necempre  un ra. La segmeocidad  de .  Es  decir, ras digitales

síncrono gee la velocidaFuncional.

ma secuencial

e se ha de mplejo, requnto  de  res

Paralelo funto de operaocesamientoitecturas eseficacia  commiento  est

Pipeline  sunteriormende  sistempues  conju

ware emplea

mento de la dad puede rmitan difeesadores  y escrita, desdr”. 

esidad  de compromientación exproceso,  sse  busca  os secuencial

enérico comad de proce

l síncrono. 

Sistemas d

procesar. Euiere de unultados,  ca

ndamentan aciones  funo  de  formas muy elevamputacionaá  limitado 

elen  ser  cote.  Todo  eas  digitalugan  eficacado). 

complejidamodularse,rentes tipoprocesadorde 1981, po

aumentar iso  entre xplota el pain  necesidaoptimizar  eles y síncron

mo el que  sesamiento e

digitales avanz

Julio

l Control dena sincronizaracterística

 su diseño yncionalmenta  paralela ado y ha de al.  El  Contrpor  la  U

onsideradasello  debido es  integrcia  (en  cua

ad de su Co, por lo queos de algoritres  de  señaor P.M. Kog

la  velocidavelocidad

ralelismo coad  de  auml  procesamnas.  

se muestra está limitad

zados 

o 2014 

e este ación a  que 

y, por te sin en  el estar rol  es nidad 

s  una a  su 

rados, nto  a 

ntrol, e para tmos, al.  La ge en 

ad  de d  de on un entar 

miento 

en  la da por 

 

Page 67: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

Diseñ

 

Julio 2

La seCadatempalmaahormenoaumede co

Figura

Realiposibuna m

5.1.1

Desdsegm

Pipelde re

Pipelde re

Figura

Desddos c

Pipel

Pipeletap

ño avanzado 

2014 

egmentacióa  etapa  coporalmenteacenamientoa limitada por,  pero  eento de  losontrol si con

a 63. Arquitec

izada  esta bles y las fumetodologí

1 Diseño 

de un puntomentadas, L

line Lineal. ealimentaci

line No Lineealimentaci

a 64. Arquitec

de un puntoclasificacion

line Estático

line Dináma. 

de  sistemas

n tiene comontiene  un  los datos. o en el regipor la etapaes  relativams registros dnlleva un au

ctura de un si

sencilla  idenciones de ía de diseño

segmentad

o de  vista dineal y no li

Formada pón. Tal es e

eal. Formadón, tanto h

ctura de un si

o de vista dnes, del tipo

o. Realiza u

ico.  Realiza

s digitales  

mo objetivona  unidad  El procesoistro se reaa E más lenmente  parede almacenumento. 

stema secuen

ea,  es  nececoste que lo segmenta

do 

del  flujo deneal. 

por un conjul caso de la

da por un coacia adelan

stema secuen

del tipo de oo estático y 

na operació

a  diferentes

o dividir al Ude  proce

o de  los daliza en un cnta. El costeecido  a  lanamiento. S

ncial síncrono

esario  el  pla segmentado. 

e datos, ha

unto de eta figura ante

onjunto de nte como ha

ncial síncrono

operacionedel tipo din

ón fija sobre

s  operacion

Unidad Funceso  y  un atos en  la eciclo de reloe hardware arquitectu

Si embargo,

o segmentado

planteamienación nos p

y dos  clasif

apas conecterior. 

etapas en dacia atrás. V

o segmentado

s que tienenámico. 

e el conjunt

nes  sobre  e

cional en varegistro  p

etapa correoj. La frecuedel caminora  no‐segm  la complej

o. 

nto  del  númermitirá rea

ficaciones d

tadas en ca

donde puedVéase la figu

o no lineal. 

en que hace

to de datos 

el  conjunto

 

arias etapaspara  almaespondienteencia de reo de datos mentada  cojidad del b

mero  de  ealizar a trav

de arquitec

ascada sin b

den existir bura siguient

er  los datos

en la etapa

o  de  datos 

63 

s (Ek). cenar e y  su eloj es no es on  el loque 

 

tapas vés de 

cturas 

bucles 

bucles e. 

 

s, hay 

a. 

en  la 

Page 68: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

 

 

64 

Se pestátimpo

Para relacreser(Ek) etiemtablael prciclos

 

  

Figura

 La  tsegmdandde 4 anteresules dedatosiem

ueden encotico o dinámortante, ind

comenzarcionado  conrva es  la reen  las que spo (en cicloa de reservarimer dato qs consecuti

ETAPAS

a 65. Tabla de

tabla  de  rmentado. A do lugar a uetapas. El rior.  El  flujltado cuatroenominado s. Transcurpre y cuand

ontrar pipemico. Comoicando en c

  a  explicarn  la  segmepresentacióse procesanos de reloj) a de un Pipeque entra, vos de reloj

   

   

E  T A P A S 

E1 

E2 

E3 

E4 

e reserva de u

reserva  es partir de  la

un diagramadiagrama djo  de  datoo ciclos de Latencia Inrida esta lado se mante

eline  lineal o puede ustcada etapa e

r  el  métodentación  esón temporan del pipeliy del númeeline Lineal procesándoj.  

CIC

T1 

d1 

 

 

 

un pipeline lin

una  herra misma sea de tiempode tiempo pos  es  constreloj despunicial y es eltencia iniciaenga consta

estático o ted darse cel momento

do  de  dises  la  denomal de  los dane. La tablaero de etapEstático  deose en  las d

CLOS DE RE

T2  T3

 

d1 

  d1

 

neal estático d

amienta  pe obtiene eo. Por ejemppara el flujotante  desdeés de habel coste en tal el sistemante el flujo

dinámico  acuenta, el co y la opera

ño,  el  coninada  Tabltos a  lo  lara es  la reprpas en el ote 4 etapas ediferentes E

LOJ 

3  T4 

 

 

1   

R1 

de 4 etapas.

para  diseñal procesamplo supongao de datos e  la  etapa r entrado aiempo que a entrega ao de datos a

Sistemas d

así  como picontrol del ación que tie

ncepto  mása  de  Resergo de  las dresentación tro. La reprees la siguienEtapas, desd

 

 

 

 

 

 

ar  el  contriento óptima un pipelines el mostrE1,  obteni

al pipeline (Rla arquiteca la salida ua la entrada

digitales avanz

Julio

ipeline no pipeline esene que ha

s  representrva.  La  tabdiferentes e por un  ladesentación nte, donde de E1 a  la E

 

 

 

 

 

 

 

rol  del  sismo de  los dne lineal estrado en  la fiendo  el  pR1). Este tiectura no pron dato por a. Si este flu

zados 

o 2014 

lineal s muy cer. 

tativo la  de tapas do del de la d1 es E4 en 

stema datos, tático figura rimer empo oduce ciclo, ujo de 

Page 69: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

Diseño avanzado de  sistemas digitales    

 

Julio 2014    65 

datos es  interrumpido, el pipeline  se vacía. El ciclo  se  repite para un nuevo  ciclo de datos. Por  lo que para una máxima eficiencia en un arquitectura pipeline, el volumen de datos a la entrada para su procesamiento, en cuanto mas grande, mejor.   

5.1.2 Características principales 

Aceleración (Speedup) (S). Es el incremento de velocidad de un pipeline estático de K etapas. Se expresa como el cociente entre el número de ciclos de reloj necesario para procesar  n  datos  en  una  arquitectura  no‐pipeline  y  el  número  de  ciclos  de  reloj necesarios para la misma arquitectura una vez segmentada. 

Si el número de datos, n, es muy grande, la aceleración tiende a su valor máximo. 

→ ∞;  

Eficiencia (E). Es la media absoluta del incremento de velocidad y el número de etapas empleado para ello. Tal que; 

1; → ∞; 1 

Caudal  (Throughput)  (Th). Es el número de datos procesados por unidad de  tiempo. Este parámetro  se  calculo en el  ciclo estable del pipeline, es decir  cuando existe un flujo constante de datos, una vez pasado el ciclo de latencia inicial. 

1 1

; → ∞;  

Al igual que la Eficiencia, si el número de datos, n, es grande el caudal tiende al límite de  la  frecuencia  de  reloj.  Lo  que  significa,  es  que  la  velocidad  de  procesamiento máxima en el ciclo estable del pipeline es de 1 dato por ciclo de reloj. 

Suponga el ejemplo de la figura anterior, del pipeline lineal estático de 4 etapas. 

1 4 1 3  

43; → ∞; 4 

4 3

; → ∞; 1 

1 3

; → ∞; 1/  

 

   

Page 70: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

  Sistemas digitales avanzados 

 

66    Julio 2014 

5.1.3 Diseño pipeline 

El apartado anterior trata con un pipeline  lineal y estático, en donde el control de  la arquitectura  segmentada es  sencillo.    En este  apartado  se  introduce  a  través de un ejemplo  el  control  de  arquitecturas  segmentadas  con  pipeline  no‐lineal  y  estático. Siendo este el caso más común en el diseño de arquitecturas de ordenadores y diseño de microprocesadores segmentados. 

Se  recurre a un ejemplo para obtener  las diferentes variantes en  la organización del diseño, que en definitiva repercuten en la organización del control. 

Suponga un pipeline no‐lineal y estático de 3 etapas con la tabla de reserva siguiente. Esta tabla  indica como el dato reutiliza  las Etapas E0, E1 y E2 en diferentes ciclos de reloj, es decir el dato se realimenta en diferentes etapas y en diferentes ciclos de reloj. Por lo que el diseño del control ya no es tan evidente y requiere mayor complejidad en la  especificación  de  la  maquina  de  estado,  incrementado  el  uso  adecuado  de multiplexores para el camino de datos. 

  CICLOS DE RELOJ   

  T0  T1  T2  T3  T4  T5  T6  T7   

E0  D  D          D  D   

E1      D    D         

E2        D    D       

Figura 66. Tabla de reserva y cronograma de un ejemplo de pipeline no‐lineal estático de 3 etapas. 

Se exponen 3 casos de ensayo para establecer  la estrategia de control y obtener  los mejores resultados para la aceleración, eficiencia y caudal. 

Caso a). El primer caso consiste en esperar a que termine el primer dato en procesarse. Por lo que como es irrelevante, pues es un caso tonto, no se trata aquí. 

Caso B). Para este y a primera vista se  establece cuando se puede insertar el segundo dato  al  pipeline.  Este  primer  caso,  lo  podemos  denominar  caso  “ansioso”  pues  se efectúa  por  inspección.  Se  introduce  el  segundo  dato  (D2)  tres  ciclos  después  del primero,  evitando  colisión  en  todo  momento  y  en  todas  las  etapas.  Ocho  ciclos después  se  introduce el  tercer dato  a procesar  (D3)  y así  sucesivamente. Tal que  la introducción de datos se produce con una secuencia de repetición de 3T, 8T, 3T, 8T…‐el ciclo estable es de 11T. 

  T0  T1  T2 T3  T4  T5  T6 T7 T8 T9 T10 T11 T12 T13 T14 T15  T16  T17 

E0 D1  D1    D2  D2    D1 D1   D2 D2 D3 D3         D3 

E1      D1    D1  D2    D2           D3   D3     

E2        D1    D1  D2   D2           D3    D3   

        ciclo estable (11 ciclos de reloj)                    

Figura 67. Tabla de reserva y cronograma de un ejemplo de pipeline no‐lineal estático de 3 etapas con una estrategia de control por inspección. 

Page 71: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

Diseño avanzado de  sistemas digitales    

 

Julio 2014    67 

Este ciclo para este ejemplo es de 11 ciclos de reloj cada 2 datos procesados. Este dato permite, definir otro parámetro importante, la latencia media, que es igual a: 

112

5,5  

El porcentaje de utilización en el Ciclo Estable es el siguiente: 

1811

73% 2411

36% 3411

36% 

La aceleración, la eficiencia y el caudal de datos es el siguiente: 

1611

1,45 

3

0,483 

2

110,182  

1 1

25,5  

Caso c). Realizado el primer caso por  inspección, se ve que en ningún caso  tenemos ninguna  de  las  Etapas  ocupadas  al  100%,  por  lo  que  puede  ser  posible  usar  otra estrategia  para  introducir  los  datos  de  otra  forma  en  base  a  prueba  y  error, comprobando que no existe colisión en  la tabla de reserva. En este caso, se espera 4 ciclos entre el primer dato y el segundo. El Ciclo Estable aparece a partir del ciclo de reloj T4. Calculando de nuevo, se obtiene: 

  T0  T1  T2 T3  T4  T5  T6 T7 T8 T9 T10 T11 T12 T13 T14 T15  T16  T17 

E0 D1  D1      D2  D2  D1 D1 D3 D3 D2 D2 D4 D4 D3  D3  D5  D5 

E1      D1    D1    D2   D2   D3   D3   D4    D4   

E2        D1    D1    D2   D2   D3   D3   D4    D4 

            ciclo estable (8 ciclos de reloj)              

Figura 68.  Tabla de reserva y cronograma de un ejemplo de pipeline no‐lineal estático de 3 etapas con una estrategia de prueba y error. 

188

100% 248

50% 348

50% 

168

3

0,66 

28

0,25  

Page 72: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

  Sistemas digitales avanzados 

 

68    Julio 2014 

1 1

24  

La secuencia de latencias es <4T, 4T, 4T…> y ciclo estable aparece en (4T, 4T) = 8T. Se puede ver en los porcentajes de ocupación que E1 está al 100%, pudiendo decir que no podemos obtener una mejora con este método de prueba y error. 

Para formalizar el método, Kogge establece que, la mínima latencia alcanzable, M.A.L., es mayor o  igual que el máximo del número de veces que  se utiliza una etapa para procesar un dato en la tabla de reserva original. El MAL en este caso es 4. Por lo que se puede decir que  la  separación media entre 2 datos  consecutivos  a procesar es 4. A partir de aquí no es posible introducir datos a un ritmo mayor sin evitar las colisiones. 

La formalización del método consiste en crear un vector de colisiones Vc(i). Este vector de colisiones es un array booleano de longitud igual al número de ciclos de reloj usado en la tabla de reserva, indicando con un “1” la colisión en esa etapa si se introduce un nuevo dato en el ciclo de reloj “i”. En caso contrario se pone un “0”. 

Además se define el conjunto de latencias prohibidas CLP(k) para cada etapa como un array  de  enteros  de  longitud  variable  e  igual  a  aquellas  latencias  en  las  que  se producen colisión. Por lo que el CLP del pipeline será la unión del CLP de cada etapa. 

Se puede observar que en el ejemplo original anterior, para la primera etapa E0, si se deja transcurrir 1 ciclo de reloj antes de introducir un dato, se produce colisión en T1 y en T7, por lo que las latencias 0 y 1 pertenecen al CLP de la etapa E0. Continuando con el análisis,  las  latencias 5,6 y 7 también  lo son. En definitiva, el conjunto de  latencias prohibidas para la etapa E0, E1 y E2 y el conjunto total para el pipeline del ejemplo son las siguientes: 

CLP(E0) = {0,1,5,6,7} 

CLP(E1) = {0,2} 

CLP(E2) = {0,2} 

Por lo que el es, 

       CLP =  Uk CLP (i) = {0,1,2,5,6,7} 

El vector de colisiones Vc(i); 

VC(I) = {1,1,1,0,0,1,1,1} 

Se establece un Diagrama de Estados a partir del vector de colisiones. Este diagrama refleja en qué momento se puede introducir un nuevo dato sin que existan colisiones. Para obtener esta información se parte del vector de colisiones original y se desplaza a la izquierda introduciendo un “0” por la derecha, 

Page 73: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

Diseñ

 

Julio 2

Figura

ComCadaColisFigur(estael desistehabía

Comresulorigiproceresulpuedtras 8realizpor “del  dsecu

Siemintropodr

ño avanzado 

2014 

a 69. Diagram

o conclusióa vez que  tsiones  se dera  anterior ado del pipeel extremo ima. Hasta a sido “1”. 

o  consecueltante  se  onal, resultaesar, este  sltante está de introduc8 ciclos de zará entre e“0”; obteniediagrama  eencia de lat

mpre existe oducir un nurá deducir s

de  sistemas

ma de estados

ón al métodranscurre uesplaza hacse  aprecia

eline) será  zquierdo deese mome

encia  de  laobtiene  reando (Ver Fisólo  se podformado eir un nuevoreloj. Es senel Vector dendo de nustá  indicantencias 3T, 8

una opciónuevo dato, in mayor di

s digitales  

y funciones p

o, se parte un ciclo de cia  la  izquiea  que  con de; Vc = <0el vector innto no hab

a  introduccalizando  la igura) que Vdrá  introduxclusivameo dato). En ncillo deduce Colisioneevo el Vectdo  que  se 8T, 3T, 8T,…

 adicional qCICLO  (8,8ficultad. 

para obtener 

de un estareloj  sin  in

erda  introduLatencia  3

0 0 1 1 1 0 0dica que sebía  sido pos

ión  de  un operación Vc = <1, 1, cir en el  sinte con “1”la posición cir que, en s original y tor de Colispueden  in

… o CICLO (3

que consist), Este ciclo

la latencia a p

do inicial o ntroducir unuciendo un3,  el  Vecto0 0>. El “0”e puede intrsible pues e

nuevo  datlógica  “OR1, 1, 1, 1, 1stema  con ” y el primede “mayoreste últimoun vector 

siones origintroducir  da3, 8). 

e en esperao resulta ba

partir del Vec

vector inicn nuevo da “0” por  lar  de  Coliside “mayorroducir un nel valor de 

o,  el  VectoR”  entre  di1, 1>.  Para Latencia 8er “0” (quepeso” de v

o caso, la opcompuestonal. En resuatos  sin  col

ar 8 ciclos dastante  inef

 

ctor de colisio

ial de colisiato, el Vect derecha.   iones  resulr peso”, es nuevo dato dicho elem

or  de  Colisicho  vector el tercer d8, pues el  ve  indicará qvector aparperación “Oo exclusivamumen, esta lisiones  con

de reloj antficiente com

69 

 

ones. 

ones. or de En  la tante decir, en el 

mento 

siones r  y  el dato a vector ue se ecerá 

OR” se mente parte n  una 

es de mo se 

Page 74: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

  Sistemas digitales avanzados 

 

70    Julio 2014 

Finalmente, existe  la posibilidad de  introducir un dato dejando transcurrir 4 ciclos de reloj desde el vector original  (Latencia 4) e  introducir un nuevo dato cada 4 ciclos a partir del vector resultante7, CICLO (4, 4). 

En resumen, existen las siguientes estrategias posibles: 

CICLO (3, 8) ‐ CICLO “ANSIOSO”, ya estudiado en el caso anterior. 

CICLO (8, 8) ‐ CICLO “TONTO” 

CICLO (4, 8) ‐ CICLO “CASI‐TONTO” 

CICLO  (4, 4)  ‐ CICLO “ÓPTIMO” SEGÚN LA AFIRMACIÓN DE P. M. KOGGE ESTUDIADA ANTERIORMENTE. 

 

Existe  otras  estrategias  de  optimización  para  alcanzar  un  caudal máximo  y  que  no cumple estrictamente el M.A.L., tal como  lo establece Kogge en su método. Consiste en  introducir  una  o  varias  etapas más  de  registros  que  incrementan  los  ciclos  de espera, pero que  ayudan  a optimizar  la  tabla de  reserva  cuando  se  introducen más datos  a  procesar  en  el  pipeline.  Suponga  la  siguiente  tabla  de  reserva  de  un arquitectura segmentada con pipeline no‐lineal y estático: 

   T0  T1  T2   

E0  D    D   

E1    D  D   

E2    D     

 

El  conjunto  de  latencias  para  cada  etapa,  el  vector  de  colisiones  y  el  diagrama  de estados son los siguientes: 

CLP(E0) = {0,2} 

CLP(E1) = {0,1} 

CLP(E2) = {0} 

Por lo que el CLP es, 

       CLP =  Uk CLP (i) = {0,1,2} 

El vector de colisiones Vc(i); 

VC(I) = {1,1,1} 

Page 75: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

Diseñ

 

Julio 2

Figura

Aplicnos i

La esen  laestad

 

CLP =

 

ño avanzado 

2014 

a 70. Tabla de

cando el critndica una la

strategia coa  figura  sigdos. Que pe

  T0  T

E0  D 

E1    D

E2    D

   

          

Tabla de rd

=  Uk CLP (i) 

de  sistemas

e reserva y Dia

terio de Kogatencia me

onsiste en inguiente,  enermite alcan

T1  T2   

  D   

D  D   

D     

     

reserva orig

= {0,2}   y e

  T

E0 D

E1 

E2 

EA 

 

Tabl

s digitales  

agrama de es

gge, el MALdia de 3, ma

ntroducir unn  la  tabla  dnzar un el M

     

    E0

    E1

    E2

    EA

ginal     Tabla

el Vc= {1,0,1

T0  T1  T2

D1  D2  D1

  D1  D2

  D1  D2

    D1

  ciclo est

a de reserva

stados que no

L es igual a ayor que el

n estado dede  reserva,MAL igual a 

T0 T1 T

0 D   D

1   D

2   D

    D

a de reserv

1,0} 

T3 T4 T5

D2 D3 D4

D1 D2 D3

    D3

D2  

table (4)

a con 5 dat

o cumple el M

2, sin emba MAL. 

e espera ad,  obteniend2. 

2 T3  

D     C

D   C

    C

D     C

a modificad

T6 T7 T

4 D3 D4 D

3 D4 D3 D

3 D4  

D3 D4

   

os en el pip

 

MAL. 

argo el diagr

icional en lado  un  nuev

     

CLP(E0) = {0

CLP(E1) = {0

CLP(E2) = {0

CLP(EA) = {0

da con un ci

T8 T9

D5  

D4 D5

  D5

   

   

peline

 

rama de est

a etapa E2,vo  diagram

     

0,2} 

0,2} 

0}   

0} 

iclo 

71 

tados 

 “EA” ma  de 

Page 76: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

 

 

72 

Figura

 

5.2

5.2.1

A lo los industantolos  aconsmedrespeCom

Enteinstrnúminstrener

En  ecompabor“Arqestudconsauto

Duramejo(la delo  quespaaume

a 71. Nueva T

Reduced

1 Introdu

largo de es80’s,  es  fstriales,  deo que estánarquitectos eguir una biados  de  loectivamentputer) con 

nder  las ucciones paero de instrucciones  sgético. 

este  apartaplementa eda  el  diseñuitectura ddio  más  deultar los texres Henessy

ante muchoorar este asecodificacióue  tener  uncio de mementaba la ve

Tabla de reser

d instructi

ucción a RIS

tos 40 añosfrecuente   bajo  consn muy lejos de  IBM  cubuena relacos  años  80 e)  decidierel modelo t

arquitecturara mejorarucciones sisimples  y 

ado  se  intreste apartadño,  se  encuel microproetallado  dextos especiy y Patterso

os  años  la pecto a travón de instrun  programamoria  y meelocidad de

rva y Diagram

on set com

s, concretamencontrar umo  o  gende los diseñestionaron ción coste/rcuando Heron  iniciar tradicional C

ras  RISC  imr  la relacióniguiendo la sencillas, 

roduce  la do y que deuentra  en  locesador  ICe  análisis  dalizados y con.  

memoria  fuvés de una ucciones a ta  con menoenos  instruce ejecución. 

ma de estados 

mputer: R

mente desdarquitectu

néricas.  Todños actualela máquin

rendimientoennessy  y  Pel  movimCISC (Comp

mplica  entn coste/renidea tradicreduciendo

idea  y  la entro del cola  página wCAI‐RiSC‐16”de  la  ejecucitados en l

ue  un  recumejora de ravés de mos  instruccicciones que  

con un ciclo d

RISC 

de fines de ras  diseñadas  ellas  ses y originalea 801, dado no era buPatterson  (eiento  RISCplex Instruct

tender  el ndimiento, ional. Por loo  el  área 

alternativa onjunto de web  de  la  a” de Jose Dución  de  ina bibliograf

urso  costosola arquitectemoria), taiones  se  coe  alimentar

Sistemas d

de espera adi

los años 70adas  con e  han  simpes. Concreto que  la  couena. Pero nen UC  Berk(Reduced 

tion Set Com

ciclo  y  laen  lugar deo que su oby  optimiz

RISC.  El  dprácticas dasignatura Daniel Muñonstruccionefía, preferen

o.  Por  lo  qtura. La micmbién se veonsiguen  dor desde me

digitales avanz

Julio

 

icional. 

0s y principifines  docelificado,  algtamente en omplejidadno ha sido keley  y  StaInstruction

mputer). 

a  ejecucióe  incremenbjetivo es ofzando  con

documentode  laboratocon  el  nomoz Frías. Paes  y  prograntemente d

que  se  penscroprogrameía afectadaos  cosas: memoria,  lue

zados 

o 2014 

os de entes, gunas 1975  para hasta nford n  set 

n  de tar el frecer sumo 

o  que rio se mbre: ra un amas, de los 

só  en ación a. Por menos go  se 

Page 77: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

Diseño avanzado de  sistemas digitales    

 

Julio 2014    73 

En general el principio RISC se basa en las siguientes dos premisas: 

De carácter general. Hardware directo especialmente con funciones complejas, con relojes  lentos  o  segmentación  compleja.  Este  esquema  se  sigue  un  90%  ‐  10% haciendo aquellas funciones lentas muy rápidas 

De carácter específico. Uso extensivo de simulación de arquitecturas y programas, manteniendo  aquellas  que  demuestran  cuantitativamente  una  mejora  en  el rendimiento y reducen los ciclos por instrucción (CPI). 

El resultado es: hacer más énfasis en el software 

Las tablas siguientes reflejan ambas ideas de las que estamos hablando: 

 

¿Qué es RISC?  ¿Qué es CISC? 

 (Reduced Instruction Set Computer)  (Complex Instruction‐Set Computer) 

Incluye (por lo general): 

registros de propósito general 

instrucciones  de  tamaño  fijo  (3 campos) 

FORMATO: • arquitectura tipo load‐store • modos simples de direccionamiento• instrucciones sencillas 

Incluye (por lo general): • instrucciones de formato variable instrucciones memoria‐registro • modos complejos de direccionamiento • instrucciones complejas 

CALL, EDIt..etc.  

Ejemplos: 

DEC Alpha 

MIPS 

Ejemplos: 

DEC VAX  

IBM 370 

 x86 

Ventajas: 

Mejor compilación 

Fácil de implantar pipeline  (segmentación) 

Ventajas: 

Mejor densidad de código. 

Page 78: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

  Sistemas digitales avanzados 

 

74    Julio 2014 

 

Figura 72. Tabla de referencia RISC vs. CISC y cronología de evolución RISC (Hennesy y Patterson). 

Desde  el  punto  de  vista  de  diseño  hardware,  la  ecuación  que  rige  el  principio  de rendimiento es la siguiente: 

 Donde; MIPS: Million Instructions Per Second normalizados a una tarea. 

Tal que el modelo de rendimiento se puede expresar como:  

Velocidad de reloj Rendimiento de CPU =  ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ 

         Instrucciones ejecutadas por ciclos de reloj  Velocidad de Reloj – Velocidad de reloj de la máquina o del procesador Instrucciones ejecutadas – Instrucciones dinámicas contadas por un banco de registros Ciclos por Instrucción – Promedio de ciclos por instrucción 

Figura 73. Ecuación y modelo de rendimiento. 

Page 79: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

Diseño avanzado de  sistemas digitales    

 

Julio 2014    75 

El rendimiento se puede mejorar reduciendo cualquiera de estos tres factores. ¿Pero cómo entonces podemos hacer una arquitectura RISC ?. En principio y desde el punto de vista del ingeniero de diseño tenemos que pensar en los siguientes términos: 

Aumentando la velocidad de reloj (tiempo/ciclo). Implicaciones:  o Diseño VLSI. o Entendimiento de la arquitectura o Alta integración del sistema de memoria 

Reduciendo los ciclos por instrucción (ciclos/inst). Implicaciones: o Mejora en el conjunto de instrucciones de la arquitectura o Mejora en el sistema de memoria o Tecnología de compiladores 

Reduciendo el número de instrucciones (inst/task). Implicaciones: o Diseño balanceado del conjunto de instrucciones o Optimización de la tecnología del compilador 

5.2.2 Diseño superescalar 

5.2.3 Diseño vectorial 

5.3 Ejercicios 

1) Sistema de procesamiento numérico. Este sistema procesará el siguiente algoritmo  Z(i) =  [A(i) + B(i)  ]3.   Los datos vienen en 4 bits en binario natural. El resultado se dará en 8 bits. Se pide: 

a. Indique  en  una  lista  la  secuencia  y  las  operaciones  para  un  ciclo  del algoritmo.  

b. Haga  un  diagrama  de  bloques  general  del  sistema  detallando  los subsistemas  y  su  ruta  de  datos,  utilizando  bloques  sumadores, multiplicadores  y  registros de 4 bits    con  retardos de 10  y 20 ns, para el sumador y multiplicador respectivamente, y Tpropagación=5 ns y Tsetup=2 ns  para  el  registro.  Calcule  el  tiempo  necesario  para  una  operación  del algoritmo en nanosegundos 

c.  Optimización en tiempo. i. Planifique con pipeline  lineal. No reutilice unidades  funcionales, en 

esta  versión  no  tenemos  limitación  de  área.  Registre  donde  sea necesario,  analice  el  algoritmo  y  vea  si  hay  paralelismo  de operaciones. 

ii. Dibuje  una  tabla  de  reserva  según  el  pipeline  diseñado anteriormente.  Indicando  al  menos  dos  ciclos  de  operación  del algoritmo 

iii. Calcule el tiempo de operación para un número ilimitado de datos a la entrada. 

iv. Indique la aceleración obtenida respecto al apartado 2). d. Optimización en área. 

i. Planifique  un  pipeline  reutilizando  unidades  funcionales. Disponemos de un multiplicador y un sumador. Utilice multiplexores 

Page 80: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

  Sistemas digitales avanzados 

 

76    Julio 2014 

del  ancho  que  considere.  Indique  sus  entradas  y  salidas correspondientes. Recuerde  indicar dónde está  la salida de datos o los registros en donde se almacena la salida. 

ii. Dibuje  la  nueva  tabla  de  reserva  según  el  pipeline  diseñado. Indicando al menos dos ciclos de operación del algoritmo. 

iii. Indique la aceleración obtenida respecto al apartado  b) y c). iv. Dibuje el diagrama de estados del control para este caso, detallando 

las entradas y salidas necesarias para  la temporización del sistema. Especifique este diagrama en VHDL. 

 

 

Page 81: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

Diseño avanzado de  sistemas digitales    

 

Julio 2014    77 

6. Diseño orientado a telecomunicaciones 

6.1 Introducción al diseño para comunicaciones 

6.1.1 Comunicaciones digitales 

6.1.2 Diseño de interfaces 

6.2 Interfaces con dispositivos  

6.2.1 Las comunicaciones RS232 

6.2.2 Las comunicaciones RS485 

6.2.3 Las comunicaciones SPI 

El estándar  SPI  (Syncronous Peripheral  Interface) es un enlace de datos en  formato serie,  del  tipo  síncrono  y  que  bidireccional  diseñado  para  la  comunicación  entre dispositivos  periféricos.  Fue  creado  inicialmente  por  Motorola  y  posteriormente adoptado por diferentes  fabricantes. Actualmente es un estándar de alta velocidad y distancias cortas, hasta los 400Mhz y 10 a 20 cms. y tiene un uso más extendido entre dispositivos en el mismo PCB.   

El  “bus”  SPI  utiliza  4  señales  (MOSI,  MISO,  SCK,  CS)  y  un  esquema  de  protocolo maestro/esclavo.  Este  protocolo  sueles  ser  hardware,  pero  también  es  posible desarrollarlo por software utilizando un puerto de un microprocesador cualquiera. 

MOSI y MISO son señales de datos síncronos, mientras que la señal SCK es la señal de reloj.  Por  cada  pulso  de  reloj,  se  señaliza  un  bit  de  información,  sea  de  entrada  o salida. Por lo que  8 pulsos de reloj son necesarios para transferir 1 byte. Mientras que CS  sirve para habilitar el dispositivo esclavo.  Las  funciones específicas de  cada  señal son: 

Master In Slave Out (MISO) o (SO). Línea del esclavo para enviar datos al maestro. 

Master Out Slave In (MOSI) o (SI). Línea del maestro para enviar datos a periféricos. 

Serial Clock (SCK). Reloj generado por el maestro para sincronizar la transmisión de los datos.  

Slave Select pin  (SS) o  (CS). Asignada a cada uno de  los dispositivos el maestro  la utiliza  para  habilitar  o  inhabilitar  la  comunicación.  Esto  protege  de  falsas transmisiones por culpa de posibles ruidos en los cableados.  

 

 

Page 82: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

  Sistemas digitales avanzados 

 

78    Julio 2014 

Hay que prestar especial atención a las hojas de las características técnicas (datasheet) del  dispositivo  esclavo  para  generar  la  comunicación.  A  continuación  se  detalla  un protocolo SPI para una memoria EEPROM y un dispositivo maestro (por  lo general un microprocesador). 

 

 

 

 

    

 

 

       

Figura 74. Funcionalidad del bus SPI (Atmel‐8707E‐SEEPROM‐AT25010B‐020B‐040B‐Datasheet_052014). 

 

Figura  75.  Ciclo  de  lectura  SPI  en  una memoria  EEPROM  (Atmel‐8707E‐SEEPROM‐AT25010B‐020B‐040B‐

Datasheet_052014). 

 

Figura 76. Ciclo de escritura SPI en una memoria EEPROM  (Atmel‐8707E‐SEEPROM‐AT25010B‐020B‐040B‐

Datasheet_052014). 

  

Page 83: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

Diseño avanzado de  sistemas digitales    

 

Julio 2014    79 

6.2.3.1 Controlador SPI en VHDL 

Observando  las figuras anteriores, el controlador SPI debe  inicializarla el maestro con una  trasferencia de datos en  cada  ciclo de  reloj de  la  señal  SCK, el maestro escribe entonces en la señal MOSI un bit y lee un bit de la señal MISO. El dato simplemente es transferido desde un registro de desplazamiento de forma síncrona con el reloj en un modo  tipo  FIFO.   Si el  formato es bidireccional  la  comunicación es  simultánea,  si es bidireccional, las figuras anteriores describen un ciclo de lectura y un ciclo de escritura. 

El  ciclo  de  escritura  del  controlador  SPI  de  la  figura  anterior,  visto  desde  el microcontrolador o desde una FPGA, puede ser el siguiente: 

 

 

Código VHDL 

 

 

6.2.4 Las comunicaciones I2C 

La  comunicación  I2C  o  I2C  es  un  bus  o  protocolo  serie  que  soporta  multiples dispositivos esclavos conectados a un dispositivo maestro. Consiste de solamente dos líneas,  una  bidireccional  de  datos  (SDA)    y  otra  de  sincronización  o  reloj  (SCL).  La velocidad  de  este  bus  no  es muy  alta,  pero  es  considerablemente  suficiente  para muchos dispositivos periféricos. El estándar maraca una velocidad de 100Khz, pero hay dispositivos que llegan a los 400Khz.  

Cada dispositivo conectado al I2C tiene una dirección única, tal que el maestro conoce de  antemano  los  dispositivos  conectados  y  sus  direcciones.  El maestro  controla  el 

Page 84: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

  Sistemas digitales avanzados 

 

80    Julio 2014 

acceso al bus y los dispositivos controlados son los esclavos. La conexión típica de este controlador es la de la siguiente figura: 

 

Figura 77. Conexión de un bus I2C. 

El protocolo I2C es sencillo, cuando el bus está en reposo, ambas señales SDA y SCL se encuentran  a  nivel  lógico  “1”.  El maestro  inicia  la  comunicación  (siempre)  con  una transferencia  (START),  cambiando  SDA  a  “0”.  Condición  considerada  como  “bus ocupado”. A continuación envía la dirección del dispositivo esclavo (7 bits) seguida de un octavo bit  (Read/Write), donde un  “0”  significa escritura del maestro  al esclavo, lectura  en  caso  contrario. A  continuación  el maestro  envía  un  bit  por  ciclo  de  reloj sobre  la  línea  SCL  en  un  formato  MSB  (enviando  en  primer  lugar  el  bit  más significativo). La transmisión termina cuando SDA cambia a nivel alto. 

 

 

 

 

Figura 78. Condiciones de inicio y final de transmisión, protocolo I2C y secuencia de datos para escribir un registro en el dispositivo esclavo (a) o en su caso lectura (b). (Enoch Hwang, April 2008) 

Page 85: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

Diseño avanzado de  sistemas digitales    

 

Julio 2014    81 

Como puede observarse en la figura, el dispositivo esclavo cuya dirección coincide con la  dirección  del maestro,  inicializa  un  proceso  de  reconocimiento  en  la  línea  SDA, poniendo a nivel bajo  (“0”) SDA en el noveno ciclo de  reloj de  la señal SCL  (ACK). El octavo bit  indica si es una  lectura o escritura  (R/W). A partir de aquí puede  también observarse que el tamaño de la trama de datos con 8 bits con el MSB primero, excepto la  señalización  START  y  STOP.  La única  condición  es que,  SDA no  cambie  cuando  la señal  SCL  está  en  nivel  alto  (“1”).  No  hay  restricción  de  la  longitud  de  bytes transmitidos. Cada byte  transmitido  es  seguido por un bit de ACK. Para  asegurar  la comunicación, esta se finaliza levantando la señal SDA durante el ciclo de ACK (al final de un byte). 

6.2.4.1 Controlador I2C en VHDL 

-- Controlador bus I2C -- Sadot Alexandres -- DEAC - ICAI library IEEE; use IEEE.STD_LOGIC_1164.all; use IEEE.STD_LOGIC_UNSIGNED.all; entity i2c_controller is port ( clk, rst : IN STD_LOGIC; init, end_tx : IN STD_LOGIC; data_tx : IN STD_LOGIC_VECTOR (8 downto 0); scl, sda : OUT STD_LOGIC); end i2c_controller; architecture rtl of i2c_controller is component counter port ( clk : in std_logic; rst : in std_logic; end_count : out std_logic; ena_count : in std_logic ); end component; type state_type is (s0, s1, s2); signal state : state_type; signal end_count : STD_LOGIC; signal scl_int : STD_LOGIC; signal sda_int : STD_LOGIC; signal tx_reg : STD_LOGIC_VECTOR (8 downto 0); begin inst1 : counter port map ( clk => clk, rst => rst, end_count => end_count, ena_count => scl_int ); process(clk, rst) begin

Page 86: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

  Sistemas digitales avanzados 

 

82    Julio 2014 

if(rst = '0') then state <= s0; elsif(clk'event AND clk = '1') then case state IS when s0 => -- Idle scl_int <= '1'; if init = '1' then state <= s1; end if; when s1 => -- Start scl_int <= '1'; state <= s2; when s2 => -- Tx/RX scl_int <= not scl_int; -- SCL = clock if end_tx ='1' then state <= s0; end if; when others => scl_int <= '1'; state <= s0; END CASE; END IF; END PROCESS; process (clk, rst) begin IF(rst = '0') THEN tx_reg <= data_tx; ELSIF(clk'EVENT AND clk = '1') THEN case state is when s1=> -- start cycle sda_int <= '0'; when s2=> -- clocking if end_count = '1' then tx_reg <= data_tx; if (scl_int='1' and end_count='1' and end_tx='1') then sda_int <= '1'; else sda_int <= '0'; end if; else sda_int <= tx_reg(8); register tx_reg(8 downto 1) <= tx_reg(7 downto 0); tx_reg(0)<= '0'; end if; when others=> sda_int<= '1'; tx_reg <= data_tx; end case; END IF; end process; scl <= scl_int; sda <= sda_int; END rtl;

 

 

Page 87: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

Diseño avanzado de  sistemas digitales    

 

Julio 2014    83 

 

  

 

6.3 Ejercicios 

1.‐ Diseñe el controlador SPI para el proceso de escritura en una memoria EEPROM. 

 

 

Page 88: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes

  Sistemas digitales avanzados 

 

84    Julio 2014 

7. Bibliografía 

José D., Muñoz Frías, (2012), "Introducción a los sistemas digitales. Un enfoque usando lenguajes de descripción de hardware”. http://www.dea.icai.upcomillas.es/daniel/asignaturas/SistDig1_1_ITL/ApuntesED.pdf [Online; último acceso 20 de Abril de 2012] 

Daniel D. Gajski (1997).  ”Principios de Diseño Digital”. Prentice‐Hall. 

David A. Patterson, John L. Hennessy (2000).  “Estructura y Diseño de Computadores”. 3 Vols . Ed. Reverte. 

David A. Patterson y John L. Hennessy (2004). “Computer Organization and Design”. 3ª Edición. Ed. Morgan Kaufmann. ISBN‐1‐55860‐604‐1. 

Jan M. Rabaey, Anantha Chandrakasan, Borivoje Nicolic (2004). “Circuitos Integrados Digitales”. 2ª Edición, Ed. Pearson. 

Peter M. Kogge (1981). “The Architecture of Pipelined Computers”. Hemisphere Publishing Corporation, McGraw‐Hill Book Co.,  ISBN: 0‐07‐035237‐2. 

F.Moreno y T. Riesgo. (2010)  “Microelectrónica. Circuitos y Sistemas. Una perspectiva histórica.”. www.lulu.com.  

 

 

Page 89: Diseño avanzado de sistem as digitale s€¦ · Procesado Digital de Señal Codificación y descodificación de imágenes, etc Para comenzar, todos estos sistemas responden, a grandes