dc.contributor.advisor | Baratto, Giovani | |
dc.creator | Morais, Kevin Paula | |
dc.date.accessioned | 2019-01-21T10:48:31Z | |
dc.date.available | 2019-01-21T10:48:31Z | |
dc.date.issued | 2018-12-14 | |
dc.date.submitted | 2018 | |
dc.identifier.uri | http://repositorio.ufsm.br/handle/1/15410 | |
dc.description | Trabalho de Conclusão de Curso – Universidade Federal de Santa Maria, Centro de Tecnologia, Curso de Engenharia Elétrica, RS, 2018. | por |
dc.description.abstract | The design of processors has as its starting point its specifications, considering the application,
the size and type of data to be processed, and the instruction set architecture
(ISA) executed by the hardware. In many ISAs, licensing is not free, making it difficult for
research for educational and academic purposes. In this work we use the base E and extensions
C of ISA RISC-V, a free and open source ISA, in the design of a 32-bit processor
described in VHDL. The synthesis and implementation of the design were performed in the
Xilinx ISE Design Suite 14.7 software, on the Spartan-6 XC6LX16-CS324 FPGA, available
on the Nexys 3 development board. Base E uses 32-bit integer data, with 16 general
purpose registers, while extension C provides 16-bit compress instructions. Was studied
the instructions to be implemented, identifying the units necessary for the development of a
processor with two different core, a multicycle and a 5-stage pipeline. The multicycle core
processor executes only C extension instructions, RVC, while the pipeline runs the complete
set, RV32EC. The necessary components for the practical execution of the core were
designed, being the program and data memory, and two I/O devices. Both designs were
implemented in the FPGA with a minimum speed of 100 MHz. In the implementation of
the multicycle it was clear the waste of using the C extension alone, since it gains space in
software, not hardware. While in the pipeline is was noticed the effect of memory latency
upon the core, which ended ignoring specifics paths of the hardware. | eng |
dc.language | por | por |
dc.publisher | Universidade Federal de Santa Maria | por |
dc.rights | Acesso Aberto | por |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-nd/4.0/ | * |
dc.subject | Conjunto de instruções | por |
dc.subject | RISC-V | por |
dc.subject | Processador | por |
dc.subject | Pipeline | eng |
dc.subject | FPGA | por |
dc.subject | Instruction set | eng |
dc.subject | Processor | eng |
dc.title | Descrição em VHDL de um processador RISC-V RV32EC | por |
dc.title.alternative | Description in VHDL of a RISC-V RV32EC processor | eng |
dc.type | Trabalho de Conclusão de Curso de Graduação | por |
dc.degree.local | Santa Maria, RS, Brasil | por |
dc.degree.graduation | Curso de Engenharia Elétrica | por |
dc.description.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. | por |
dc.publisher.country | Brasil | por |
dc.publisher.initials | UFSM | por |
dc.subject.cnpq | CNPQ::ENGENHARIAS::ENGENHARIA ELETRICA | por |
dc.publisher.unidade | Centro de Tecnologia | por |