cmp238 projeto e teste de sistemas vlsi - inffglima/projeto/projeto8_2007.pdfcmp238 – projeto e...
TRANSCRIPT
![Page 1: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/1.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
CMP238Projeto e Teste de Sistemas VLSI
Prof. Fernanda Gusmão de Lima [email protected]
![Page 2: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/2.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Conteúdo
Validação de sistemas digitais (simulação lógica e elétrica)
![Page 3: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/3.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Área da Simulação
• Sistemas são classificados em:– Discretos: comportamento explicado por uma sequencia de
alterações (eventos) nos valores das variáveis de estado do sistema que ocorrem em pontos discretos no tempo. Discrete Event
Simulation (DES)
– Continuos: comportamento explicado por equações quedescrevem os valores das variaveis de estado de forma continua ao longo do tempo.
Essa classificação se refere a modelagem:
RTL Elétrico
Discreto Continuo
![Page 4: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/4.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Área da Simulação
![Page 5: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/5.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Área da Simulação: Discrete Event Simulation (DES)
![Page 6: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/6.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Event Paradigm
• Lets take an example of two important events : Customer arrival & Customer departure.
• It is necessary to quantify precisely the results throughout the system of the events.
• In this instance we can achieve this by using the IF - THEN - ELSE formalism.
Customer Arrival :IF (Clerk = idle) THEN Clerk = busy ELSE Queue = Queue + 1 Customer Departure : IF (Queue > 0) THEN Queue = Queue - 1 ELSE Clerk = idle
![Page 7: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/7.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Área da Simulação: Discrete Event Simulation (DES)
![Page 8: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/8.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Activity Paradigm• A 'cycle of activity' consists of an alternating sequence of the
form : ACTIVITY - QUEUE - ACTIVITY - QUEUE …… • For the customer the cycle is a little more involved because we
must arrange for her to appear in the bank and depart from the bank after receiving service.
• We achieve this by invoking a very general queue known as the 'World Queue' and a special arrival activity.
• Notice that the customer may pass straight through the 'Wait Service' queue if the Clerk is available to serve him.
• The arrival activity is rather special as indicated by the sub loop on the symbol.
![Page 9: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/9.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Área da Simulação: Discrete Event Simulation (DES)
![Page 10: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/10.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Process Paradigm• All the individual entity cycles are now combined to form a single activity
cycle diagram for the model. • This is achieved by looking for corresponding activities in the different
cycles. • In this example the activities 'Receive Service' and 'Serve Customer' are
clearly the only common activity. • We can now draw the complete Activity Cycle Diagram (ACD).
• An activity can only take place if the required quantity of entities is available in each preceding queue.
• In this example the activity 'Service can only take place if a Clerk is available in the 'Idle Clerk' queue and a Customer in the 'Wait Service' queue.
![Page 11: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/11.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Simulação Discreta
• Simulação Lógica: simuladores especificos paracircuitos digitais, modelos de atraso.
• Simulação de Sistemas: mais geral entreprocessadores, memoria, barramento, etc.
• Simulação RT: influenciada pelo surgimento dalinguagem RT.
• Simulação de Chaves: circuitos MOS, transistoresporem discretiza os valores de tensão, resistencia e capacitancia.
• Simulação Multi-nível: surgimento devido ao VLSI, diferentes niveis de abstração.
![Page 12: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/12.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Simulação de Sistemas
• Sistema digital visto como uma interconexão entreprocessadores, memorias, canais de E/S, etc.
• O objetivo de um projeto neste nivel de abstração é determinar :– O numero de componentes de cada um dos tipos…– A forma de interconexão entre eles– Os algoritmos para arbitramento de conflitos de acesso a
recursos compartilhados– Parametros (velocidade, capacidade) de cada componente.
![Page 13: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/13.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Simulação Lógica
Objetivos: Verificação lógicaVerificação temporal
I. IntroduçãoII. Modelos de atrasoIII. Modelos de valoresIV. Deteção de hazards
![Page 14: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/14.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Introdução
Objetivos da simulação lógica– verificar se circuito realiza a função desejada– verificar se o circuito não tem comportamento
temporal crítico» hazards, races
– verificar se o circuito atende restrições de projeto» freqüência mínima de operação» tempos de setup e hold em registradores
• Tipos de circuitos– combinacionais– seqüenciais síncronos– seqüenciais assíncronos
![Page 15: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/15.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Introdução
Circuitos combinacionais e seqüenciais síncronos– verificação funcional pode ser feita com atraso zeroCircuitos seqüenciais assíncronos– função depende do atrasoSub-modelos– modelo de atrasos– modelo de valores– modelo de componentes
Implementação de simuladores lógicos com atrasosé bem mais complexa
![Page 16: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/16.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Modelos de Atraso
1. Atraso zero2. Atraso unitário3. Atraso variável
1. Atraso nominal2. Atraso inercial3. Atraso dependente do sentido de transição4. Região de ambigüidade
![Page 17: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/17.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Atraso Zero
Aplicações– verificação puramente funcional– circuitos combinacionais– circuitos seqüenciais síncronos
Impossibilidade de verificação de condições detiming
![Page 18: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/18.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Atraso Zero
![Page 19: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/19.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Atraso unitário
• considerar todas as portas com o mesmo atraso• já é possível verificar certas condições de timing
![Page 20: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/20.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Atraso Unitário
• outras situações de hazard não podem ser detectadas
l
![Page 21: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/21.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Atraso Unitário
![Page 22: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/22.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Atraso Variável
Cada porta tem um atraso distinto• diferentes modelos de atraso variável
– atraso nominal– atraso inercial– atrasos dependentes do sentido da transição do sinal– atrasos ambíguos– tempos de subida e descida
Atraso nominal– modelo equivalente de uma porta
![Page 23: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/23.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Atraso Inercial
Sinal de entrada da porta deve se manter estável pordeterminado intervalo para que produza efeito nasaída– simula efeito da carga da capacitância de saída
![Page 24: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/24.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Atraso inercialModelo básico– cancelar evento de saída quando a entrada não se mantémestável pelo intervalo necessário• problema: trem de pulsos de alta freqüência naentrada– a cada novo pulso, saída pode se carregar a partir de umponto mais acima da curva de descarga– solução: simular curvas de carga e descarga» aproximação linear– solução exata obtida apenas no nível elétrico, com curva RC
![Page 25: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/25.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Atrasos dependentes do sentido detransição
• transições de 0 para 1 e de 1 para 0 têm atrasosdistintos devido às diferentes curvas RC
• manuais de componentes apresentam valores de tplh e tphl
![Page 26: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/26.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Atrasos dependentes do sentido detransição
• pode haver necessidade de cancelamento de eventos
![Page 27: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/27.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Atraso Ambiguo
Em muitas situações o atraso exato de uma porta nãoé conhecido, apenas limites máximo e mínimo– projeto top-down de circuitos integrados– projeto com componentes discretos• Modelo de atraso de ambigüidade– atraso variável entre limites máximo e mínimo– sinal tem valor indefinido no intervalo entre os
limites
![Page 28: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/28.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Atraso Ambiguo
![Page 29: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/29.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Atraso Ambiguo
![Page 30: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/30.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Atraso Ambiguo
![Page 31: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/31.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Atraso Ambiguo
Modelo faz a análise de pior caso• conceito de dominância– “X” domina “0” e “1”– transição de valor mais fraco para valor mais forte
» utilizar atraso mínimo– transição de valor mais forte para valor mais fraco
» utilizar atraso máximo– regra garante que sinal permanecerá em “X” pelo
intervalo maior possível• pode ocorrer pessimismo injustificado
![Page 32: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/32.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Atraso Ambiguo
![Page 33: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/33.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Atraso Ambiguo
Hazard só aconteceria se o sinal A ocorresse em tempos diferentes noscaminhos B e C Atraso das conexões
![Page 34: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/34.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Analise esse caso
Para questões de variabilidade onde todas as portas com exceçãodo inversor marcado, possui atraso de 2 a 3, e o inversor marcadopossui atraso de 2 a 4. Para:a) Sinal A com 1 unidade de tempo de ambiguidadeb) Sinal A com 2 unidades de tempo de ambiguidade
![Page 35: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/35.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Modelo de Valores
1. Suporte a modelos de atraso2. Avaliação de barramentos3. Inicialização de modelos4. Simulação de chaves5. Simulação de falhas6. Deteção de hazards
![Page 36: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/36.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Suporte a modelos de atrasos
Modelo de ambigüidade– lógica de 3 valores– interpretação do valor X
“transição em momento desconhecido”• modelo de tempos de subida e descida– lógica de 3 valores– interpretação do valor X
“valor em transição”
![Page 37: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/37.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Avaliação de Barramentos
![Page 38: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/38.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Avaliação de barramentos
Função de consensosó Z’s Z1’s e Z’s 10’s e Z’s 01’s, 0’s e Z’s ?• problema com conflito: necessidade de valor X• solução final: lógica com 4 valores – 0, 1, Z, X1’s, 0’s e Z’s XX’s e outros X
![Page 39: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/39.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Inicialização de modelos
Inicialização trivial: todos os sinais em 0 (ou 1, ou X)• alternativa– atribuir valores a sinais escolhidos– demais sinais em X (“indeterminado”)– simular com atraso zero para propagar valores
inicializados explicitamente– possibilidade de inicialização inconsistente
![Page 40: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/40.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Inicialização de modelosSolução: lógica de 4 valores01Xp indeterminado propagávelXn indeterminado não-propagável – só para fase de inicialização
Q = valor anterior
![Page 41: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/41.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Resolva novamente esse casoAgora com a lógica de 4 valores:
![Page 42: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/42.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Simulação de chaves
Circuitos MOS• modelagem de compartilhamento de carga entrenodos de um transistor bi-direcional• sinal é modelado por par { valor, força }• força (ou intensidade) de um sinal modela:– capacitância de um nodo que armazena o sinal– condutância de um transistor que propaga o sinal• carga de um sinal “mais forte” vence a de um sinal“mais fraco”• dois nodos de igual força mas com valoresdistintos => resulta valor X
![Page 43: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/43.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Simulação de chavesExemplo de lógica: 3 valores x 4 forças– valores: 0, 1, X– forças: External, Driven, Weak, High-Impedance• Número de forças depende das configurações decircuitos que se quer modelar– exemplo: combinando NMOS, CMOS estático e CMOSdominó são necessárias 5 forças
5 – externa4 – transistores ativos3 – transistores passivos2 – nodos internos fortes1 – nodos internos fracos
![Page 44: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/44.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Simulação de chaves
• 4 forças– externa (5)– transistores ativos (4)– transistor passivo (3)– nodos internos (1)• nodos internos commesma força pois nãohá compartilhamentode carga entre eles
Porta: NAND NMOS
![Page 45: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/45.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Simulação de chaves
3 forças– externa (5)– transistores, todos ativos (4)– nodos internos, todos commesma força (1)
Porta: NAND CMOS ESTÁTICO
![Page 46: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/46.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Simulação de chaves4 forças– externa (5)– transistores, todos ativos (4)– nodo interno mais forte (N) (2)– nodos internos mais fracos(M,P) (1)funcionamento– pré-carga: Ø = 0 => N = {1,3}– Ø = 1» em princípio N = {1,2} jáque pull-up está cortado» mas se A = B = 1 =>N = {0,3}» se A ou B = 0 => N = {1,2}{valor, força}
Porta NAND CMOS dominó
![Page 47: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/47.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Simulação de Falhas
Simulação de falhas permanentes é utilizada nageração de vetores de teste
– injetar falha (stuck at 0, stuck at 1)– determinar se (ou qual) combinação de valores de
entrada torna a falha observável na saída• valores = 0, 1, X, D, D’• D = “diferença”– valor deveria ser 1, mas se tornou 0 devido a uma
falha• D’ = “complemento da diferença”– valor deveria ser 0, mas se tornou 1 devido a uma
falha
![Page 48: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/48.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Problemas a serem resolvidos
• Injeção de falhas de efeito transitório na lógica
Modelar as falhas transientes na saídade uma porta CMOS qualquer
![Page 49: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/49.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Problemas a serem resolvidos
• Injeção de falhas de efeito transitório na lógica
Modelar a propagação de falhas transientes ao longo de um circuito digital
clk
D Q
![Page 50: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/50.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Hazards
- Estático
- Dinâmico
- Lógico- Funcional
![Page 51: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/51.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Definições
• Um hazard estático é definido quando uma únicavariavel muda na entrada causando uma mudançamomentânea na saida.
• Um hazard dinâmico ocorre quando uma mudança naentrada causa multiplas mudanças na saida.
• Os dois tipos de hazard geram glitches, que pode ounão ocasionar problemas.
glitch
glitch
![Page 52: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/52.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Hazards podem provocar erros
• Se hazards estáticos forem removidos no projeto, oshazards dinâmicos não irão ocorrer.
Lógica
captura
clock
![Page 53: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/53.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
DefiniçõesHazards estático: LÓGICO– transição do estado atual para estado não-adjacente– valor da função é o mesmo em ambos os estados– em todos os possíveis estados intermediários a função tem omesmo valor– os estados inicial e final não são cobertos pelo mesmo termo– pode ocorrer pulso espúrio na saída, dependendo dos atrasos no
circuito– hazard e pulso de hazard podem ser eliminados
Hazard estático 1 ocorre em Somas de Produtos (PDS)Hazard estático 0 ocorre em Produto de Somas (SDP)
![Page 54: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/54.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Exemplo
B
C
B
A
00 01 11 10 00 01 11 10
F
F
1
0
1
1
1
0
1
B
C
B
A
F
0
1
1
1
0
0->1
1->0->1
1 variavel
tda
tdb
tda < tdb
![Page 55: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/55.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Exemplo
B
C
B
A
A
C
00 01 11 10 00 01 11 10
F
F
1
0
1
1
1
1
B
C
B
A
A
C
F
0
1
1
1
1
1
1
01
1
0
1
1
1
1 variavelSolução: adicionar mintermo redundante
porHuffman
![Page 56: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/56.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Definições
Hazards estático: FUNCIONAL• transição do estado atual para estado não-
adjacente• valor da função é o mesmo em ambos os estados• em pelo menos um dos possíveis estados
intermediários a função tem um valor diferente• pode ocorrer pulso espúrio na saída, dependendo
da ordem de chegada das transições nas entradase dos atrasos particulares do circuito
• hazard não pode ser eliminado, pois depende dafunção booleana definida
• pulso de hazard pode ser impedido pela inserçãode atrasos adequados. Problema: Variabilidade!!!
![Page 57: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/57.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Exemplo
B
C
B
A
00 01 11 10 00 01 11 10
F
F
1
0
1
0
1
0
1
B
C
B
A
F
0
1
1
1
0
0->1
1->0->1
1 variavel
tda
tdb
tda < tdb
![Page 58: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/58.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Exemplo
B
C
B
A
A
C
00 01 11 10 00 01 11 10
F
F
1
0
1
0
0
1
B
C
B
A
A
C
F
0
1
1
1
1
1
1
01
0
1->0
0->1
0->1
1->0->1
1 variavel
![Page 59: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/59.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Definições
Hazards dinâmicos- criados pela combinação de hazard estático e transição limpa.- Ocorrem por causa de multiplos caminhos e atrasos variados.- Eles não ocorrem em lógica de dois níveis (SDP ou PDS) quando
estes são bem projetados. glitch
lenta
![Page 60: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/60.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Deteção de hazards
Para deteção de hazards é necessário o modelo deatraso de ambigüidade e no mínimo lógica de 3 valores• 3 valores– deteção de hazards estáticos• 5 valores– identificação de hazards estáticos– deteção de hazards dinâmicos• 8 valores– identificação de hazards estáticos e dinâmicos
![Page 61: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/61.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Detecção de Hazards
1. Definições2. Deteção de pulsos de hazard3. Método de Eichelberger4. Lógica de 3 valores5. Lógica de 5 valores6. Lógica de 8 valores
![Page 62: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/62.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Deteção de pulsos de hazard• Uso de lógica de 2 valores e atraso nominal– simulador precisa considerar atrasos particulares dasportas– não é possível detectar hazards, apenas pulsos de hazard• Alternativas– detectar hazards de acordo com a função
» método de Eichelberger» não considera atrasos particulares
– detectar pulsos de hazard considerando intervalospossíveis de atrasos das portas
» modelo de atraso de ambigüidade
![Page 63: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/63.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Método de EichelbergerDeteção de hazards segundo a definição da função• Método para circuitos combinacionais– uso de lógica de 3 valores: X significa “sinal em transição”– 1º passo: simular situação inicial A– 2º passo: atribuir X aos sinais de entrada que vão se alterar;simular situação em transição A/B– 3º passo: simular situação final B– se f(A) = f(B) = v, mas f(A/B) ≠ v, então existe hazard• Não distingüe entre hazards funcionais e lógicos• É pessimista, pois supõe que atrasos podem terquaisquer valores• Existe extensão do método para circuitos seqüenciais
![Page 64: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/64.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Lógica de 3 valores
• Lógica de 3 valores combinada com modelo deatraso de ambigüidade permite deteção de pulsosde hazard estático• não permite deteção de pulsos de hazard dinâmico– não é possível a distinção entre uma transição limpa
e um hazard dinâmico• pessimismo é intrínseco do modelo de atraso deambigüidade
![Page 65: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/65.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Lógica de 5 valores
Lógica de 5 valores é introduzida para diferenciaçãoentre “transição limpa” e “hazard”5 valores:– 0, 1– up, dn transição limpa para 1, para 0– X hazard
tabela-verdade da função AND:
![Page 66: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/66.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Lógica de 5 valores
Dominância e regra de pessimismo– “X” domina “up” e “dn”, que dominam “0” e “1”– transição de valor não-dominante para dominante: usaratraso mínimo– transição de valor dominante para não-dominante: usaratraso máximo• permite deteção de pulsos de hazard estático• permite distinção automática entre pulsos de hazard estático e
transição limpa• permite deteção de pulsos de hazard dinâmico• mas não permite distinção automática entre pulsos de hazard
estático e pulsos de hazard dinâmico
![Page 67: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/67.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Lógica de 8 valores
Para identificação automática de pulsos de hazarddinâmico, é necessária distinção entre “transiçãolimpa” e “transição com hazard dinâmico”8 valores– 0,1– up, dn transição limpa (sem hazard) para 1, para 0– 0h, 1h hazard estático em 0, em 1– uph, dnh transição com hazard para 1, para 0
regra de dominância também vale
![Page 68: CMP238 Projeto e Teste de Sistemas VLSI - INFfglima/projeto/projeto8_2007.pdfCMP238 – Projeto e Teste de Sistemas VLSI 2007/1 Process Paradigm • All the individual entity cycles](https://reader030.vdocuments.mx/reader030/viewer/2022040510/5e5553f80262457d590f9504/html5/thumbnails/68.jpg)
CMP238 – Projeto e Teste de Sistemas VLSI 2007/1
Referencias
• F.R.Wagner. Simulation of Digital Systems. Universität Tübingen, 1993/94. (livro-texto)
• F.R.Wagner. Hazard Detection in Logic Simulation. CPGCC-UFRGS, 1984. (Relatório Técnico RT-013)
• E.B.Eichelberger. Hazard Detection in Combinational and Sequential Switching Circuits. IBM Journal of Research & Development. Vol. 9, Nº 2, Março 1965.
• F.R.Wagner. Basic Techniques of Gate Level Simulation – A Tutorial. CPGCC/UFRGS, 1984. (Relatório Técnico RT-012)