Carregar apresentação
A apresentação está carregando. Por favor, espere
1
CAD (Caco Aided Design)
Antonio Carlos S. Beck Filho
2
Utilidades Simulação de hardware Cálculo de consumo de potência
Geração de falhas A descrição do processador femtojava já está disponível para a simulação
3
Simulação O hardware simulado é descrito em um arquivo
Esta descrição segue uma sintaxe própria do simulador Esta sintaxe segue o padrão: Input0,input1 ..., inputN -> componente nome (i,j:sinal) -> output
4
Simulação O hardware simulado é descrito em um arquivo
Esta descrição segue uma sintaxe própria do simulador Esta sintaxe segue o padrão: Input0,input1 ..., inputN -> componente nome (i,j:sinal) -> output
5
Simulação O hardware simulado é descrito em um arquivo
Esta descrição segue uma sintaxe própria do simulador Esta sintaxe segue o padrão: Input0,input1 ..., inputN -> componente nome (i,j:sinal) -> output
6
Simulação O hardware simulado é descrito em um arquivo
Esta descrição segue uma sintaxe própria do simulador Esta sintaxe segue o padrão: Input0,input1 ..., inputN -> componente nome (i,j:sinal) -> output
7
Simulação O hardware simulado é descrito em um arquivo
Esta descrição segue uma sintaxe própria do simulador Esta sintaxe segue o padrão: Input0,input1 ..., inputN -> componente nome (i,j:sinal) -> output
8
Simulação O hardware simulado é descrito em um arquivo
Esta descrição segue uma sintaxe própria do simulador Esta sintaxe segue o padrão: Input0,input1 ..., inputN -> componente nome (i,j:sinal) -> output
9
Simulação (2) Componente é descrito em um outro arquivo.
Este arquivo guarda uma biblioteca de vários componentes, que podem ser instanciados várias vezes Os componentes são descritos em C O simulador oferece facilidades para a manipulação destes componentes
10
Simulação – Um exemplo No arquivo de arquitetura:
Sinal1, sinal2 -> and ex () -> saida_and Na biblioteca de componentes: COMPONENTE(“and”) { return input[0] & input[1]; }
11
Simulação – Um exemplo (2)
FF FF No arquivo de arquitetura: saida_ff1,saida_ff2 -> and ex () -> saida_and saida_and -> ff 1 (0,1,2:controle) -> saida_ff1 saida_ff1 -> ff 2 (3,4,5:controle) -> saida_ff2
12
Simulação – Um exemplo (3)
Na biblioteca de componentes: COMPONENTE(“and”) { return input[0] & input[1]; } COMPONENTE(“FF”) { if (clock_event == 1) { if (controle_atual[0] == 1) { adiciona_valor_comp(funcao,id,input_atual[0]&0x1); if (controle_atual[1] == 0) adiciona_valor_comp(funcao,id,0x1); if (controle_atual[2] == 0) adiciona_valor_comp(funcao,id,0x0); return ( (pega_valor_comp(funcao,id)) & 0x1);
13
Simulação – Execução Tanto a memória de programa como a de dados servem como parâmetro de execução (.MIF) Passo-a-passo Executar até achar um breakpoint Há a possibilidade do usuário escolher, em tempo de execução ou previamente, os sinais a serem observados. Visualização do conteúdo da memória
14
Calculo de Consumo de Potencia
As funções e valores para cálculo de potência encontram-se em um outro arquivo. Para cada componente descrito, há uma função para cálculo de potência correspondente A potência é calculada através da quantidade de gates que são chaveados (potência dinâmica)
15
Calculo de Consumo de Potencia (2)
Formato do arquivo: // Valores // funções
16
Geração de testes Injeta falhas do tipo stuck at em todo o circuito
Através de um arquivo de entrada, o usuário escolhe os sinais a serem observados Ao final da simulação, a porcentagem de falhas detectadas nestes sinais, e também na memória de dados é demonstrada
17
Resultados Já há um processador inteiro sendo simulado
Neste já foram feitos cálculos de potência e geração de falhas A biblioteca de componentes está sendo reutilizada e está crescendo O simulador passou por um processo de reformulação para ser mais rápido Interface amigável e fácil de ser utilizada
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.