Descrição em VHDL de um processador RISC-V RV32EC
Resumo
O projeto de processadores tem como ponto inicial suas especificações, considerando-se
a aplicação, o tamanho e tipo dos dados a serem processados, e a arquitetura de conjunto
de instruções (ISA) executado pelo hardware. Em muitas ISAs o licenciamento não é livre,
dificultando as pesquisas para fins educacionais e acadêmicos. Neste trabalho utiliza-se
da base E e extensões C da ISA RISC-V, uma ISA gratuita e de código aberto, no projeto
de um processador de 32 bits, descrito em VHDL. A síntese e implementação do projeto
foram realizadas no software Xilinx ISE Design Suite 14.7, na FPGA Spartan-6 XC6LX16-
CS324, disponível na placa de desenvolvimento Nexys 3. A base E utiliza dados inteiros de
32 bits, com 16 registradores de uso geral, enquanto a extensão C proporciona instruções
compressas de 16 bits. Estudou-se as instruções a serem implementadas, identificandose
as unidades necessárias para o desenvolvimento de um processador para dois núcleos
diferentes, um multicíclico e outro pipeline de 5 estágios. O processador com núcleo multicíclico
executa somente instruções da extensão C, RVC, enquanto que o pipeline executa
o conjunto completo, RV32EC. Projetou-se os componentes necessários para a execução
prática do núcleo, sendo eles a memória de programa e dados, e dois dispositivos E/S.
Ambos os projetos foram implementados na FPGA com uma velocidade mínima de 100
MHz. Na implementação do multicíclico ficou claro o desperdício de se utilizar a extensão
C sozinha, visto que ela ganha espaço em software, e não hardware. Enquanto que no
pipeline percebeu-se o efeito da latência da memória no núcleo, que acabou por ignorar
caminhos específicos do hardware.
Coleções
- TCC Engenharia Elétrica [206]
Os arquivos de licença a seguir estão associados a este item: