Enzo Koichi Jojima
Professores: Bruno de Carvalho Albertini e Edson Satoshi Gomi
Estudar tecnologias de memórias. Introduzir os conceitos básicos e métodos de modelagem e verificação de sistema. Introduzir o projeto estruturado de circuitos digitais. Introduzir linguagens de descrição de sistemas. Introduzir a arquitetura de processadores. Projetar um processador monociclo e outros exemplos de aplicação.
- Memórias, ROM, FLASH, RAM (SRAM e DRAM), funcionamento e conexão CPU - Memória;
- Modelagem de sistemas: modelos de computação (process-based models, state-based models), linguagens de descrição de sistemas (Netlists, esquemáticos, hardware description languages, system level design languages), modelagem do processador, modelagem da comunicação, modelos de sistemas (TLM - Transaction Level Model e CAM - Cycle Accurate Model);
- Síntese de sistemas: projeto baseado em TLM, geração automática de TLM, mapeamento automático, síntese da plataforma;
- Introdução às Arquiteturas de Processadores: instruções, operações, operandos, representação de instruções; caso exemplo: processador ARM; síntese de hardware: arquitetura RTL, especificação (C-code, Control-Dataflow, FSM, RTL, HDL), estimação e otimização, compartilhamento (registradores, unidades funcionais, conexões), chaining e multicycling, pipelining, scheduling, síntese de interfaces;
- Aritmética: adição, subtração, multiplicação, divisão e ponto flutuante; processador monociclo: fluxo de dados, unidade de controle;
- Verificação de hardware: baseada em simulação;
- Barramentos;
- Interfaces assíncronas;
- Exemplos de aplicação.