Ir para o conteúdo

Risco-5 Processor Core

Introdução

O Risco-5 é um core RISC-V de 32 bits que implementa o conjunto de instruções básicas do RISC-V RV32I/E[M]. O Risco-5 é um processador multiciclo, com execução em ordem e sem pipeline. Foi projetado para ser simples e de fácil utilização, sendo útil nos mais diversos sistemas.

Arquivos Fonte

Os arquivos do Risco-5 estão disponíveis na pasta "core/" dentro da pasta "src/", com o top model estando disponível no arquivo core.v.

Parâmetros

Nome Tamanho Descrição
BOOT_ADDRESS 32 bits Endereço de boot

Sinais

Nome Direção Tamanho Descrição
clk input 1 bit Sinal de clock
halt input 1 bit Para a execução do processador
reset input 1 bit Sinal de reset
memory_response input 1 bit Resposta do barramento de memória; o core espera até que seja 1
memory_read output 1 bit Habilita leitura na memória
memory_write output 1 bit Habilita escrita na memória
write_data output 32 bits Valores saindo do core
read_data input 32 bits Valores vindos da memória
address output 32 bits Endereço de memória
option output 3 bits Formato a ser lido da memória

Exemplo de Instância

A seguir está um exemplo de como instanciar o core Risco-5 em um módulo Verilog:

Core #(
    .BOOT_ADDRESS(32'h00000000) // Endereço de boot - 32 bits
) Core_inst (
    /* controle */
    .clk(clk), // Sinal de clock - 1 bit
    .halt(halt), // Para a execução do processador - 1 bit
    .reset(reset), // Sinal de reset - 1 bit
    /* Dados */
    .memory_response(memory_response), // Resposta do barramento de memória, o core espera até que seja 1 - 1 bit
    .memory_read(memory_read), // Habilita leitura na memória - 1 bit
    .memory_write(memory_write), // Habilita escrita na memória - 1 bit
    .write_data(write_data), // Valores saindo do core - 32 bits
    .read_data(read_data), // Valores vindo da memória - 32 bits
    .address(address), // Endereço de memória - 32 bits
    .option(option) // Formato a ser lido da memória - 3 bits
);

Maquina de estados da unidade de controle e Esquemático

Versão PDF dos diagramas Maquina de estados da unidade de controle

Esquemático do processador

Maquina de estados da unidade de controle

Maquina de estados da unidade de controle

Esquemático do processador

Esquemático atual Esquemático atual do processador

Esquemático Inicial Esquemático antigo do processador