You are on page 1of 5

Tema 5: Implementacin del Diseo en CPLDs

Introduccin

Contenidos:
Introduccin Proceso de sntesis Asignacin de pines Ejemplo de estudio: CY7C371 Modelo temporal: Parmetros temporales

Objetivos
Entender cmo los diseos se implementan en los CPLDs para dado un diseo: Saber los recursos que se requieren para su implementacin Ser capaz de elegir un CPLD con los recursos y velocidad adecuados Escribir cdigo que optimice la utilizacin de recursos del CPLD elegido y la velocidad Escribir cdigo VHDL que tenga en cuenta que: Los CPLDs tienen recursos limitados Los recursos tienen caractersticas especficas Cualquier diseo no cabe en cualquier arquitectura

Universidad de Zaragoza, IEC.

Dispositivos digitales. PLDs - 1

Universidad de Zaragoza, IEC.

Dispositivos digitales. PLDs - 2

Introduccin

Proceso de Sntesis

Caractersticas de las CPLDs


Nmero mximo de E/S Nmero de MC Determina el nmero de biestables (contadores, MEFs) Nmero n de entradas a un LB desde la PIM Si una funcin lgica requiere ms de n entradas no se puede implementar en un LB Nmero total r de PT Si una funcin lgica requiere ms de r PT, no se puede implementar en dicho CPLD Nmero p de PT que un CPLD puede sumar en una MC Si una funcin lgica requiere ms de p PT mltiples pasos a travs del CPLD velocidad Parmetros temporales: tPD, tS, tH, tCO

Proceso de sntesis
Transformar la descripcin VHDL en ecuaciones lgicas o en un netlist de puertas y biestables Codificacin de estados Simplificacin de ecuaciones Eliminacin de ecuaciones redundantes o no utilizadas Sustitucin de seales intermedias Encajar la lgica que describen las ecuaciones lgicas en la arquitectura del CPLD Particionar la lgica entre los LB
Optimizar tipo de FF Optimizar polaridad Fraccionar sumas de PT (mximo p) Reducir la utilizacin de recursos globales (preset, reset)

Rutear las seales a travs de la PIM para interconectar los LB y los IOB
Universidad de Zaragoza, IEC. Dispositivos digitales. PLDs - 4

Universidad de Zaragoza, IEC.

Dispositivos digitales. PLDs - 3

Proceso de Sntesis

Proceso de sntesis

Particionado del diseo en grupos de seales asignadas a LBs basado en las siguientes restricciones:
#Macroceldas por Bloque Lgico #Trminos Producto por Bloque Lgico Combinaciones posibles de preset y reset por Bloque Lgico Condiciones de habilitacin de los buffers triestado por Bloque Lgico #Nmero de entradas a un LB procedentes de la PIM Posibilidades de sincronismo de disparo de los biestables por LB

Si un particionado falla los algoritmos de particionado toman decisiones basadas en:


Si una seal puede asignarse a otro LB sin entrar en conflicto con las condiciones de reset/preset o habilitacin del LB actual Si la polaridad de una seal puede invertirse manteniendo las restricciones anteriores Si la seal puede encajarse en el actual LB realizando mltiples pasos a travs del CPLD

Las restricciones en el particionado estn interrelacionadas entre s

La asignacin de pines determina el particionado de las seales


Recomendable (si es posible) que el fitter elija la asignacin de pines

El proceso de sntesis es muy dependiente de la arquitectura


Ejemplo: CY7C371

Universidad de Zaragoza, IEC.

Dispositivos digitales. PLDs - 5

Universidad de Zaragoza, IEC.

Dispositivos digitales. PLDs - 6

Asignacin de pines

Asignacin de pines

Metodologa de diseo. Realizacin en paralelo:


Diseo y fabricacin de PCB Diseo e implementacin en CPLD

La capacidad de un CPLD de soportar una asignacin de pines dada depende de:


Esquemas de interconexin (routability) #N entradas por LB Esquema de interconexin de seales de la PIM al LB
Basada en Multiplexores (m:1). Si m - Routability / Tp , tamao

Requisitos
Definir claramente la funcin de la lgica a implementar en la CPLD Definir el interfaz del CPLD con el resto de los componentes PCB Asignacin de pines previa al diseo

Un diseo puede
Encajar en un CPLD si se deja al fitter libertad en la asignacin de pines No encajar si la asignacin de pines la hace el diseador La probabilidad de que esto ocurra aumenta conforme se incrementa la utilizacin de recursos del CPLD

Esquema de distribucin de PT entre MC

No siempre es posible rutear un subconjunto de q seales en un LB


Conforme q se acerca a N, la probabilidad disminuye La asignacin de pines define un conjunto de seales que se debe rutear a un LB dado

Universidad de Zaragoza, IEC.

Dispositivos digitales. PLDs - 7

Universidad de Zaragoza, IEC.

Dispositivos digitales. PLDs - 8

Asignacin de pines
Funciones lgicas con ms de 20 PT requieren 2 pasos a travs del CPLD en el dispositivo A El dispositivo C tiene multiplexores de ms entradas que el B La probabilidad de encontrar un conjunto de 30 seales que se puedan rutear a un LB es: 10% para B y 50% para C
100 Dev. C 80 60 40 20 Dev. B

Ejemplo de estudio: CY7C371

Arquitectura CY7C371

Routing Probability (%)

Dev. A

5 Universidad de Zaragoza, IEC.

10

15

20

25

30

35 Dispositivos digitales. PLDs - 9 Universidad de Zaragoza, IEC. Dispositivos digitales. PLDs - 10

Number of PIM Inputs Routed to a Logic Block

Ejemplo de estudio: CY7C371

Ejemplo de estudio: CY7C371

Arquitectura LB

MC

Universidad de Zaragoza, IEC.

Dispositivos digitales. PLDs - 11

Universidad de Zaragoza, IEC.

Dispositivos digitales. PLDs - 12

Ejemplo de estudio: CY7C371

Ejemplo de estudio: CY7C371

Restricciones
2 LB y 16 MC por LB. Cada MC puede implementar una funcin combinacional o registrada 80 PT por LB 160 PT en total 0-16 PT por MC. El nmero de PT requeridos depende: Polaridad de las seales
X=A+B+C+D+E+F (6 PT) /X=/A/B/C/D/E/F (1 PT)

Restricciones (cont.)
1 PT controla AP y otro AR El nivel activo de AP y AR configurable por LB Un de reset se puede convertir en un preset modificando la polaridad de la seal
Modificar la polaridad modificar #PT

Tipo de FF (D, T)
Ejemplo, contador binario cnt de 4 bits: cnt_2.D = cnt_2.Q (cnt_1.Q cnt_0.Q) (3 PT) cnt_2.T = cnt_1.Q cnt_0.Q (1 PT)

36 entradas por LB (< 3 por MC) Fitter debe agrupar en el mismo LB seales que posean entradas comunes 4 PT por LB para controlar habilitacin de buffers triestado 2 para las primeras 8 MC y otros 2 para las otras 8 MC Cada MC en un LB puede elegir entre 2 seales de reloj Flanco activo del reloj configurable por LB
Si un diseo utiliza los dos flancos de una misma seal de reloj, los FFs que se activan con distinto flanco deben asignarse a LBs distintos.

Universidad de Zaragoza, IEC.

Dispositivos digitales. PLDs - 13

Universidad de Zaragoza, IEC.

Dispositivos digitales. PLDs - 14

Ejemplo de estudio: CY7C371

Modelo temporal

Asignacin de pines y esquema de distribucin de TP entre MC


0-16 PT por MC TP compartidos No se puede asignar a 2 pines consecutivos, 2 seales que requieran ms de 20 TP entre ambas

CY7C371
Modelo temporal simple Independiente de los recursos utilizados Parmetros temporales:
tPD tSU, tH, tCO, tCO2, tSCS

CLK (pin) Entrada Salida registrada Salida comb.

tsu

th tco tpd

Lgica Combinacional

FF

tsu
Universidad de Zaragoza, IEC. Dispositivos digitales. PLDs - 15 Universidad de Zaragoza, IEC.

CLK

tco
Dispositivos digitales. PLDs - 16

Modelo temporal

Modelo temporal

CY7C371

XC9500

tCO2
Logica Combinacional D Q

tSCS
D Q

Logica Combinacional

Logica Combinacional

Universidad de Zaragoza, IEC.

Dispositivos digitales. PLDs - 17

Universidad de Zaragoza, IEC.

Dispositivos digitales. PLDs - 18

Modelo temporal

XC9500

Universidad de Zaragoza, IEC.

Dispositivos digitales. PLDs - 19

You might also like