• Nenhum resultado encontrado

Simulação de Eventos Discretos

N/A
N/A
Protected

Academic year: 2021

Share "Simulação de Eventos Discretos"

Copied!
16
0
0

Texto

(1)

Simulação de Eventos Discretos

Aplicação à simulação de Circuitos Lógicos

(2)

Esquema de um Simulador de

Eventos Discretos

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

...

(3)

Passos de Simulação

1. Retirar o primeiro elemento, (e1, t1), da LISTA DE EVENTOS;

2. Actualizar o tempo de simulação (TEMPO), avançando-o para o instante do novo evento, t1;

3. Actualizar o ESTADO de acordo com as regras de transição, representadas pela função de transição de estado, x’=f(x, e1);

4. Eliminar da LISTA DE EVENTOS todas as entradas correspondentes a eventos incompatíveis com o novo estado x’;

5. Adicionar à LISTA DE EVENTOS todos os eventos que ainda não estejam agendados, despoletados pelo evento processado;

(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 actuali za 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

(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

xin1 1 42 Xin1 0 40 U 1 30 Y3 1 30 Xin1 1 30 U X 20 U 0 14 V 1 0 U 1 0 y3 0 0 Xin1 0 0 Valor Tempo 2 4 3 1 G1 G2 G3 G4 pzt xin1 y3 u v q z_1 zout

Sinais de entrada:

(8)

Inicialização:

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

(9)

2 4 3 1 G1 G2 G3 G4 pzt xin1 y3 u v q z_1 zout zout z_1 q pzt v u y3 xin1 ESTADO

t=0:

4 pzt, 0 LISTA de EVENTOS 0 v, 1 0 u,1 0 y3,0 ESTADO TEMPO X X X X X X X 0 0

•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) 0 xi1,0 Actualiza Tempo t’ = 0 Actualiza Tempo t’ = 0 Actualiza Estado x’ = f (x, e1 ) Actualiza Estado x’ = f (x, e1 ) Acrescenta eventos (ek, t’) e re-ordena lista Acrescenta eventos (ek, t’) e re-ordena lista

(10)

zout z_1 q pzt v u y3 xin1 ESTADO

t=0:

LISTA de EVENTOS 4 pzt, 0 0 v, 1 0 u,1 ESTADO TEMPO X X X X X X 0 0 0

t=0:

4 pzt, 0 LISTA de EVENTOS 0 v, 1 ESTADO TEMPO X X X X X 1 0 0 0

t=0:

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

(11)

zout z_1 q pzt v u y3 xin1 ESTADO

t=2:

LISTA de EVENTOS 4 pzt, 0 ESTADO TEMPO X X 0 X 1 1 0 0 2

t=4:

5 z_1, 1 LISTA de EVENTOS 7 zout, 0 ESTADO TEMPO X X 0 0 1 1 0 0 4

t=5:

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

(12)

2 4 3 1 G1 G2 G3 G4 pzt xin1 y3 u v q z_1 zout zout z_1 q pzt v u y3 xin1 ESTADO

t=7:

LISTA de EVENTOS 14 u, 0 ESTADO TEMPO 1 0 0 0 1 1 0 0 7

t=14:

16 q, 1 LISTA de EVENTOS ESTADO TEMPO 1 0 0 0 1 0 0 0 14

t=16:

LISTA de EVENTOS 19 Z_out, 1 ESTADO TEMPO 1 0 1 0 1 0 0 0 16 7 zout, 0 u, 0 14 16 q, 1 Acrescenta eventos (ek, t’) e re-ordena lista Acrescenta eventos (ek, t’) e re-ordena lista Gerador de Eventos Temporais Gerador de Eventos Temporais

t=19:

LISTA de EVENTOS 20 u, X ESTADO TEMPO 1 1 1 0 1 0 0 0 19 19 Z_out, 1 Acrescenta eventos (ek, t’) e re-ordena lista Acrescenta eventos (ek, t’) e re-ordena lista Gerador de Eventos Temporais Gerador de Eventos Temporais

(13)

2 4 3 1 G1 G2 G3 G4 pzt xin1 y3 u v q z_1 zout zout z_1 q pzt v u y3 xin1 ESTADO

t=25:

30 xin1, 1 30 y3, 1 30 u, 1 LISTA de EVENTOS ESTADO TEMPO 1 X X 0 1 X 0 0 25

t=30:

34 pzt, 1 LISTA de EVENTOS 30 u, 1 ESTADO TEMPO 1 X X 0 1 X 1 1 30 25 zout, X y3, 1 30

t=20:

22 q, X LISTA de EVENTOS ESTADO TEMPO 1 1 1 0 1 X 0 0 20 20 u, X

t=22:

25 zout, X LISTA de EVENTOS ESTADO TEMPO 1 1 X 0 1 X 0 0 22 22 q, X

t=30:

30 y3, 1 30 u, 1 LISTA de EVENTOS ESTADO TEMPO 1 X X 0 1 X 0 1 30 30 xin1, 1

t=30:

34 pzt, 1 LISTA de EVENTOS 32 q, 0 ESTADO TEMPO 1 X X 0 1 1 1 1 30 30 u, 1 Gerador de Eventos Temporais Gerador de Eventos Temporais

(14)

14 2 4 3 1 G1 G2 G3 G4 pzt xin1 y3 u v q z_1 zout zout z_1 q pzt v u y3 xin1 ESTADO

t=37:

40 xin1, 0 LISTA de EVENTOS ESTADO TEMPO 0 1 0 1 1 1 1 1 37 37 zout, 1

t=32:

34 pzt, 1 35 zout, 0 LISTA de EVENTOS ESTADO TEMPO 1 X 0 0 1 1 1 1 32 32 q, 0

t=34:

35 z_1, 0 37 zout, 1 LISTA de EVENTOS ESTADO TEMPO 1 X 0 1 1 1 1 1 34 34 pzt, 1 Elimina eventos (ek, tk) Elimina eventos (ek, tk)

t=35:

37 zout, 1 LISTA de EVENTOS ESTADO TEMPO 0 1 0 1 1 1 1 1 35 35 z_1, 0

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)

Gerador de Eventos Temporais Gerador de Eventos Temporais

(15)

2 4 3 1 G1 G2 G3 G4 pzt xin1 y3 u v q z_1 zout zout z_1 q pzt v u y3 xin1 ESTADO

t=42:

LISTA de EVENTOS ESTADO TEMPO 0 1 0 1 1 1 1 1 42 42 xin1, 1

t=40:

42 xin1, 1 44 pzt, 0 LISTA de EVENTOS ESTADO TEMPO 0 1 0 1 1 1 1 0 40 40 xin1, 0 Elimina eventos (ek, tk) Elimina eventos (ek, tk) Gerador de Eventos Temporais Gerador de Eventos Temporais

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

(16)

Referências

Documentos relacionados

: Se houver necessidade de roupas especializadas para lidar com derramamentos, atenção para as observações na seção 8 quanto aos materiais adequados e não adequados. Consulte

- Cochonilha-de-São-José (Quadraspidiotus perniciosus), cochonilha-vermelha-da-pereira (Epidiaspis leperii) e cochonilha-vírgula (Lepidosaphes ulmi): aplicar à migração máxima

O MUNICÍPIO DA COVILHÃ, faz público, nos termos do artigo 217.º e seguintes do Decreto-Lei n.º59/99, de 02 de Março, que se procede pelo Departamento de Administração Geral,

FAÇO SABER, nos termos do artigo 217.º e seguintes do Decreto- Lei n.º59/99, de 02 de Março, que se procede pelo Departamento Municipal de Administração Geral

A descrição dos seguintes fragmentos de casos – o de James Lévy e o de Sioen – feita por Charcot assemelha-se à descrição do quadro clínico de Dora, em que

O processo seletivo tem como objetivo preencher uma (01) cota de bolsa PNPD/CAPES, ao Programa de Pós-Graduação em Ecologia de Biomas Tropicais da

Será considerada 7,0 (sete) a nota mínima para aprovação no processo seletivo. Não será permitido o uso de dicionário. Para os candidatos ao Doutorado, o exame oral

Duas importantes funções da camada de rede  repasse: mover pacotes da entrada do roteador para a saída apropriada do roteador  roteamento: determinar rota.. seguida