Escolar Documentos
Profissional Documentos
Cultura Documentos
2021
BRUNO HIDEKI AMADEU OGATA
RA: 140884
2021
RESUMO
1 Introdução.......................................................................................................7
2 Objetivos.........................................................................................................8
2.1 Geral........................................................................................................8
2.2 Específicos..............................................................................................8
3 Fundamentação Teórica................................................................................9
3.1 Verilog......................................................................................................9
3.2 FPGAs.....................................................................................................9
3.3 Arquitetura MIPS.....................................................................................9
3.4 Caminho de Dados................................................................................10
4 Desenvolvimento..........................................................................................12
4.1 Conjunto de Instruções.........................................................................12
4.2 Mapeamento das Instruções.................................................................13
5 Considerações Finais...................................................................................15
Referências.........................................................................................................16
1 Introdução
2.1 Geral
Implementar um sistema computacional em Verilog, composto
por processador, memória e interface de comunicação.
2.2 Específicos
Definir o conjunto de instruções;
Fazer o mapeamento das instruções;
Determinar o caminho de dados.
3 Fundamentação Teórica
3.1 Verilog
Verilog é uma linguagem de descrição de hardware, criada por Prabhu
Goel e Phil Moorby, para a empresa Automated Integrated Design Systems. É
usada para implementar projetos a nível de circuito e além disso fornece maior
rapidez e facilidade em sua implementação em relação à projetos em
esquemático.
É possível descarregar os códigos feitos em Verilog em FPGAs, por
meio de suas placas de desenvolvimento com base em circuitos integrados.
3.2 FPGAs
Um FPGA (field-programmable gate array) é um dispositivo lógico que
suporta a implementação de circuitos digitais e é configurado de acordo com
seu usuário. Suas duas principais fabricantes, atualmente, são a Altera e a
Xilinx.
OpCode RS RD Const
I 6 bits 5 bits 5 bits 16 bits
OpCode Endereço
J 6 bits 26 bits
Fonte: Autor.
Operações aritméticas
Operações lógicas
Transferência de dados
LW [RD, END] I RD <= Mem_dados[END]
Salto condicional
Salto incondicional
J [RS] J PC <= RS
000111 AND
Fonte: Autor.
5 Considerações Finais
Ao determinar o conjunto de instruções e fazer seu mapeamento minha
intenção é de facilitar a futura implementação do projeto, porém podem ocorrer
imprevistos e pode ser necessárias algumas mudanças, seja no conjunto de
instruções ou no caminho do dados. A implementação seguirá a ordem descrita
na seção do caminho de dados, focando inicialmente na execução das
instruções do tipo R, depois nas do tipo I e, por fim as do tipo J, de modo que
as primeiras unidades funcionais a serem implementadas serão o PC, a
Memória de Instruções, os Registradores e a ULA, nessa ordem.
Referências
1. < https://stackoverflow.com/questions/33334521/extending-mips-
datapath-to-implement-sll-and-srl> Fonte da Figura 1;
2. <https://www.embarcados.com.br/primeira-instrucao-mips/>;
3. <https://www.embarcados.com.br/arquitetura-de-conjunto-de-instrucoes-
mips/>;
4. Trabalho de conclusão de curso do aluno Helder Celso Romero dos
Santos disponibilizado no Moodle da disciplina.