A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Simulação de Eventos Discretos Aplicação à simulação de Circuitos Lógicos AED - 2003.

Apresentações semelhantes


Apresentação em tema: "Simulação de Eventos Discretos Aplicação à simulação de Circuitos Lógicos AED - 2003."— Transcrição da apresentação:

1 Simulação de Eventos Discretos Aplicação à simulação de Circuitos Lógicos
AED

2 Esquema de um Simulador de Eventos Discretos
Inicializa ESTADO x TEMPO t x’ t’ LISTA de EVENTOS e1 t1 e2 t2 Actualiza Estado x’ = f (x, e1 ) Actualiza Tempo t’ = t1 e1 e1 . x’ t’ Gerador de Eventos Temporais Elimina eventos (ek , tk) Acrescenta eventos (ek , t’) e re-ordena lista

3 Passos de Simulação Retirar o primeiro elemento, (e1, t1), da LISTA DE EVENTOS; Actualizar o tempo de simulação (TEMPO), avançando-o para o instante do novo evento, t1; Actualizar o ESTADO de acordo com as regras de transição, representadas pela função de transição de estado, x’=f(x, e1); Eliminar da LISTA DE EVENTOS todas as entradas correspondentes a eventos incompatíveis com o novo estado x’; Adicionar à LISTA DE EVENTOS todos os eventos que ainda não estejam agendados, despoletados pelo evento processado; Reordenar a LISTA DE EVENTOS por ordem crescente de tempo.

4 Componentes de um Simulador
ESTADO: memória onde todas as variáveis de estado são guardadas; TEMPO: variável que armazena o tempo de simulação; LISTA DE EVENTOS: lista onde todos os eventos agendados são guardados, com indicação dos instantes de tempo em que ocorrem; Função de Inicialização: função que inicializa todas as estruturas de dados no início de uma simulação; Função de Actualização de Estado: função que actualiza o estado baseado no próximo evento a ocorrer; Funções de Geração de Eventos Temporais: conjunto de funções que geram eventos relacionados explicitamente com o tempo, por exemplo, eventos periódicos; Função Principal: responsável pela coordenação de todas as componentes do simulador. Começa por invocar a função de inicialização, após o que, repetidamente, invoca as funções de actualização do tempo e do estado e actualiza a lista ordenada de eventos. É também responsável pela terminação da simulação, baseada na observância de critérios especificados pelo utilizador, bem como pela apresentação dos resultados da simulação.

5 Exemplo de Circuito Lógico
2 4 3 1 G1 G2 G3 G4 pzt xin1 y3 u v q z_1 zout Portas lógicas: G1 (and), G2 (nand), G3 (not), G4 (or) Atrasos das portas: G1 = 4; G2 = 2; G3 = 1; G4 = 3; Entradas do circuito: xin1, y3, u, v Saídas do circuito: z_1, zout Nós do circuito: xin1, y3, u, v, pzt, q, z_1, zout

6 Modelo de Atraso Modelo de Atraso Fixo: cada porta tem um atraso fixo de entrada para a saída, definido na descrição da porta. O modelo de atraso assume inércia nos sinais e transições. Isto significa que a saída de uma porta lógica só muda como consequência de uma alteração nas entradas se as entradas mantiverem constantes a condição para o novo valor da saída até ao instante efectivo da alteração da saída.

7 Simulação Sinais de entrada: Tempo Valor Nó Xin1 y3 1 U V 14 20 X 30
G1 G2 G3 G4 pzt xin1 y3 u v q z_1 zout Simulação Sinais de entrada: Tempo Valor Xin1 y3 1 U V 14 20 X 30 Y3 40 42 xin1

8 Inicialização: TEMPO ESTADO X LISTA de EVENTOS xin1, 0 y3,0 u,1 v, 1
2 4 3 1 G1 G2 G3 G4 pzt xin1 y3 u v q z_1 zout ESTADO xin1 y3 u v pzt q z_1 zout Inicialização: TEMPO ESTADO X LISTA de EVENTOS xin1, 0 y3,0 u,1 v, 1 Tempo Valor Xin1 y3 1 U V 14 20 X 30 Y3 40 42 xin1 Gerador de Eventos Temporais Acrescenta eventos (ek , t’) e re-ordena lista

9 t=0: xi1,0 TEMPO ESTADO X LISTA de EVENTOS y3,0 u,1 v, 1 pzt, 0 4
2 4 3 1 G1 G2 G3 G4 pzt xin1 y3 u v q z_1 zout ESTADO xin1 y3 u v pzt q z_1 zout t=0: xi1,0 TEMPO ESTADO X LISTA de EVENTOS y3,0 u,1 v, 1 pzt, 0 4 Actualiza Tempo t’ = 0 Actualiza Estado x’ = f (x, e1 ) Retira o evento (xi1,0 , 0) da lista de eventos Actualiza o TEMPO Actualiza o ESTADO xin1 afecta a porta G1 gerando o evento (pzt,0 , 4) Acrescenta eventos (ek , t’) e re-ordena lista

10 t=0: t=0: t=0: y3,0 TEMPO ESTADO X u,1 LISTA de EVENTOS u,1 v, 1
2 4 3 1 G1 G2 G3 G4 pzt xin1 y3 u v q z_1 zout ESTADO xin1 y3 u v pzt q z_1 zout t=0: y3,0 TEMPO ESTADO X t=0: u,1 LISTA de EVENTOS u,1 v, 1 pzt, 0 4 TEMPO ESTADO 1 X t=0: v,1 LISTA de EVENTOS v, 1 pzt, 0 4 TEMPO ESTADO 1 X LISTA de EVENTOS q, 0 2 pzt, 0 4

11 t=2: t=4: t=5: q,0 2 TEMPO ESTADO 2 1 X LISTA de EVENTOS pzt, 0 4
3 1 G1 G2 G3 G4 pzt xin1 y3 u v q z_1 zout ESTADO xin1 y3 u v pzt q z_1 zout t=2: q,0 2 TEMPO ESTADO 2 1 X LISTA de EVENTOS pzt, 0 4 t=4: pzt, 0 4 TEMPO ESTADO 4 1 X LISTA de EVENTOS z_1, 1 5 zout, 0 7 t=5: z_1, 1 5 TEMPO ESTADO 5 1 X LISTA de EVENTOS zout, 0 7

12 t=7: t=14: t=19: t=16: zout, 0 7 u, 0 14 Z_out, 1 19 TEMPO ESTADO 7 1
2 4 3 1 G1 G2 G3 G4 pzt xin1 y3 u v q z_1 zout ESTADO xin1 y3 u v pzt q z_1 zout t=7: zout, 0 7 t=14: u, 0 14 t=19: Z_out, 1 19 TEMPO ESTADO 7 1 TEMPO ESTADO 14 1 TEMPO ESTADO 19 1 LISTA de EVENTOS u, 0 14 LISTA de EVENTOS q, 1 16 LISTA de EVENTOS u, X 20 Acrescenta eventos (ek , t’) e re-ordena lista Acrescenta eventos (ek , t’) e re-ordena lista t=16: q, 1 16 TEMPO ESTADO 16 1 Gerador de Eventos Temporais LISTA de EVENTOS Z_out, 1 19 Gerador de Eventos Temporais

13 t=25: t=30: t=20: t=30: t=30: t=22: zout, X 25 y3, 1 30 TEMPO ESTADO
4 3 1 G1 G2 G3 G4 pzt xin1 y3 u v q z_1 zout ESTADO xin1 y3 u v pzt q z_1 zout t=25: zout, X 25 t=30: y3, 1 30 TEMPO ESTADO 25 X 1 TEMPO ESTADO 30 1 X t=20: u, X 20 TEMPO ESTADO 20 X 1 LISTA de EVENTOS xin1, 1 30 y3, 1 u, 1 LISTA de EVENTOS u, 1 30 pzt, 1 34 LISTA de EVENTOS q, X 22 Gerador de Eventos Temporais t=30: xin1, 1 30 t=30: u, 1 30 t=22: q, X 22 TEMPO ESTADO 30 1 X TEMPO ESTADO 30 1 X TEMPO ESTADO 22 X 1 LISTA de EVENTOS y3, 1 30 u, 1 LISTA de EVENTOS q, 0 32 pzt, 1 34 LISTA de EVENTOS zout, X 25

14 t=35: t=32: t=37: t=34: z_1, 0 35 TEMPO ESTADO 35 1 q, 0 32
G1 G2 G3 G4 pzt xin1 y3 u v q z_1 zout ESTADO xin1 y3 u v pzt q z_1 zout t=35: z_1, 0 35 TEMPO ESTADO 35 1 t=32: q, 0 32 LISTA de EVENTOS zout, 1 37 TEMPO ESTADO 32 1 X LISTA de EVENTOS pzt, 1 34 zout, 0 35 t=37: zout, 1 37 TEMPO ESTADO 37 1 t=34: pzt, 1 34 LISTA de EVENTOS xin1, 0 40 TEMPO ESTADO 34 1 X Elimina eventos (ek , tk) Inércia na transição: os sinais na entrada de G4 não se mantiveram constantes antes da transição em t=35, pelo que esta deixa de ter efeito, retirando-se o evento (zout, 1) da lista de eventos LISTA de EVENTOS z_1, 0 35 zout, 1 37 Gerador de Eventos Temporais

15 t=40: t=42: xin1, 0 40 TEMPO ESTADO 40 1 LISTA de EVENTOS xin1, 1 42
3 1 G1 G2 G3 G4 pzt xin1 y3 u v q z_1 zout ESTADO xin1 y3 u v pzt q z_1 zout t=40: xin1, 0 40 TEMPO ESTADO 40 1 LISTA de EVENTOS xin1, 1 42 pzt, 0 44 Gerador de Eventos Temporais t=42: xin1, 1 42 Elimina eventos (ek , tk) TEMPO ESTADO 42 1 Inércia na transição: o sinal xin1 não se manteve constante na entrada de G1 antes da transição pzt=0 em t=44, pelo que esta deixa de ter efeito, retirando-se o evento (pzt, 0) da lista de eventos LISTA de EVENTOS

16


Carregar ppt "Simulação de Eventos Discretos Aplicação à simulação de Circuitos Lógicos AED - 2003."

Apresentações semelhantes


Anúncios Google