Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Processador RISC-V no Logisim

Projeto academico de um processador simples baseado na arquitetura RISC-V, desenvolvido no Logisim-evolution.

O circuito foi organizado para demonstrar o ciclo basico de funcionamento de um processador: busca da instrucao na ROM, decodificacao, execucao pela ULA, escrita no banco de registradores e acompanhamento dos principais sinais internos.

Estrutura do repositorio

riscv-logisim/
├── circuito/
│   └── riscv.circ
├── documentos/
│   ├── funcionamento.pdf
│   ├── funcionamento.md
│   ├── melhorias_realizadas.md
│   └── roteiro_simulacao.md
├── video/
│   ├── roteiro_video_5min.md
│   └── link_video.txt
├── comandos_github.md
├── .gitignore
└── README.md

Arquivo principal

O arquivo principal do circuito esta em:

circuito/riscv.circ

Abra esse arquivo no Logisim-evolution 4.1.0 ou versao compativel.

Modulos principais

O projeto contem os seguintes subcircuitos principais:

  • datapath: caminho de dados principal do processador;
  • PC: contador de programa;
  • RegisterFile: banco de registradores;
  • ALU: unidade logica e aritmetica;
  • ImmediateGenerator: gerador de imediatos;
  • InstructionDecoder: decodificador de instrucao;
  • ControlLogic: unidade de controle;
  • ALUCtrl: selecao da entrada da ULA;
  • LoadCtrl: controle de dados carregados da memoria;
  • ROM: memoria de programa;
  • RAM: memoria de dados.

Melhorias realizadas

As melhorias foram focadas em legibilidade, validacao e apresentacao:

  1. O circuito principal abre diretamente no datapath.
  2. Foi adicionado um painel de depuracao no datapath.
  3. Foram adicionados sinais visuais para acompanhar instrucao, registradores, ULA e sinais de controle.
  4. O subcircuito PC tambem recebeu pontos de observacao para inPC, outPC, outPCPlus1, CLK e R.

Essas melhorias facilitam a demonstracao do ciclo de instrucao e tornam a simulacao mais reprodutivel.

Como simular

  1. Abra o arquivo circuito/riscv.circ no Logisim-evolution.
  2. Entre no circuito datapath, caso ele nao abra automaticamente.
  3. Coloque o reset R em 1 por um tick para reiniciar.
  4. Coloque R em 0.
  5. Execute a simulacao com Simulate > Tick Once ou habilite os ticks automaticamente.
  6. Acompanhe os sinais no painel de depuracao.

Sinais importantes para observar

Sinal Funcao
outPC endereco da instrucao atual
outPCPlus1 proximo endereco sequencial
ins instrucao atual lida da ROM
rsi1 registrador fonte 1
rsi2 registrador fonte 2
rdi registrador destino
aluOut resultado da ULA
dataD dado escrito no banco de registradores
regWe habilitacao de escrita no banco de registradores
immSel selecao do imediato
wbSel selecao do dado de escrita
lSel selecao do tipo de load

Documentacao

A documentacao do funcionamento esta em:

documentos/funcionamento.md

O roteiro de simulacao esta em:

documentos/roteiro_simulacao.md
https://youtu.be/C6-5L7kxOps

About

Implementação didática de um processador RISC-V (RV32I) em Logisim, com datapath e unidade de controle construídos apenas com circuitos lógicos digitais.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors