O foco principal, dos projetos desta disciplina, é a execução do hardware do processador e periféricos, sendo que o software é necessário para fazer o processador funcionar e, do ponto de vista da disciplina, tem valor menor.
Dê preferência aos componentes que:
Já foram utilizados anteriormente;
Estão presentes na página de modelos;
São dos templates do Quartus.
Importante:
Não utilize as bibliotecas da Synopsys.
Veja na página interna, sobre VHDL, a especificação dessas bibliotecas.
Em grupo com no máximo três alunos. Ambos alunos devem ter conhecimento sobre o projeto completo.
No caso de alunos de DP, a execução é em grupo com no máximo dois alunos.
Arquitetura Harvard;
Trabalha com dados de 8 bits.
Deve estar contido em um componente que possui uma interface externa com:
Barramento de dados: 8 bits;
Barramento da memória de instruções: limitado a 16 bits (para acomodar o imediato);
Barramento de endereços: 16 bits (no máximo);
Barramento de controle: somente os sinais mais comuns (por exemplo, o R/~W);
Toda a decodificação de endereços deve ser feita fora do processador.
O objetivo deste projeto é a criação de um módulo para processador e o seu teste. Esse processador é o finalizado na aula 5.
Projeto mínimo:
Processador empacotado como um componente.
Teste das instruções implementadas com a exibição do resultado através dos LEDs da placa.
Escrita de duas iniciais, de cada componente do grupo, na placa de interface.
Clock com frequência de 1Hz.
Endereçamento dos LEDs da placa de interface da mesma forma que utilizado na aula 7.

Não haverá entrega com atraso.
A entrega é constituída pelo aquivo do projeto em VHDL e um único arquivo, do tipo PDF, com o relatório do projeto realizado. Para facilitar o entendimento, todos os diagramas devem conter uma breve explicação do seu conteúdo.
Esse relatório deve conter, no mínimo, os tópicos abaixo:
Declaração sobre a divisão do trabalho entre os componentes do grupo;
Funcionamentos dos botões e chaves;
Caso existam novas instruções, deve haver o Fluxo de Dados para o processador, com uma explicação resumida do funcionamento das novas instruções;
Quando houver novo periférico: um rascunho do diagrama de conexão do processador com esse periférico;
Fonte do programa em assembly.
Caso tenha utilizado alguma informação ou esquema de terceiros, faça a devida atribuição.
Caso tenha utilizado algum tipo de IA generativa (LLM), informe esse fato.
A arquitetura da entrega intermediária deve ser Acumulador.
Que valem meio conceito (o sinal de +):
A montagem da placa de interface.
A utilização de chamadas de sub-rotina.
Cada duas instruções extras, desde que utilizadas no código do projeto (ver exemplos de instruções no projeto 1B).
As instruções implementadas no projeto 1A não serão consideradas como novas no projeto 1B.
Caso tenha ideia para algum opcional, confira antes se ele adiciona valor ao projeto.
| Nota | Critério | Documentação |
|---|---|---|
| A+ | Entregou o projeto, com uma quantidade de itens opcionais, funcionando sem erros, que totalizem essa nota ou valor maior. | Código bem comentado. Relatório com descrição do projeto e instruções de uso. |
| A | Entregou o projeto, com uma quantidade de itens opcionais, funcionando adequadamente, porém com pequenos erros (o critério é estabelecido pelo professor), que totalizem essa nota ou valor maior. | Código bem comentado. Relatório com descrição do projeto e instruções de uso. |
| B+ | Entregou o projeto, com opcionais suficientes, funcionando sem erros (o critério é estabelecido pelo professor). | Código bem comentado. Relatório com descrição do projeto e instruções de uso. |
| B | Entregou o projeto, com opcionais suficientes, funcionando adequadamente, porém com pequenos erros (o critério é estabelecido pelo professor). | Código bem comentado. Relatório com descrição do projeto e instruções de uso. |
| C+ | Entregou o projeto básico, funcionando sem erros. | Código comentado e um simples relatório. |
| C | Entregou o projeto básico funcionando com pequenos erros (o critério é estabelecido pelo professor). | Código comentado e um simples relatório. |
| D | Entregou o projeto funcionando mas com erros graves. | N.A. |
| D | O aluno fez somente o hardware e/ou possui pouco conhecimento sobre o software e não conseguiu executar a alteração de software proposta. | N.A. |
| I | Entregou o projeto não funcionando. Entregou o projeto incompleto ou não entregou o projeto. | N.A. |
| I | O aluno fez somente o software e/ou possui pouco conhecimento sobre o hardware e não conseguiu executar a alteração de hardware proposta. | N.A. |
O teste final (avaliação) do projeto será feito na placa FPGA.
Todos os componentes do grupo devem conhecer todas as partes do projeto. Ou seja, não deve haver divisão de trabalho sem troca de conhecimentos. Cada aluno deve demonstrar habilidade tanto no hardware quanto no software.
O resultado da arguição pode alterar a nota da entrega intermediária.
O warning de implementação de LATCH é considerado um erro gravíssimo.
O critério, sobre o que é um erro grave ou pequeno, é estabelecido pelo professor.
A entrega intermediária consiste no projeto de um contador realizado durante o estudo guiado das aulas seis, sete, oito, nove e dez. Ela será feita na semana a ser marcada durante o estudo guiado. Não haverá entrega com atraso.
A entrega é constituída pelo aquivo do projeto em VHDL e um único arquivo, do tipo PDF, com o relatório do projeto realizado. Para facilitar o entendimento, todos os diagramas devem conter uma breve explicação do seu conteúdo.
Esse relatório deve conter, no mínimo, os tópicos abaixo:
Declaração sobre a divisão do trabalho entre os componentes do grupo;
Funcionamentos dos botões e chaves;
Caso existam novas instruções, deve haver o Fluxo de Dados para o processador, com uma explicação resumida do funcionamento das novas instruções;
Quando houver novo periférico: um rascunho do diagrama de conexão do processador com esse periférico;
Fonte do programa em assembly.
Caso tenha utilizado alguma informação ou esquema de terceiros, faça a devida atribuição.
Caso tenha utilizado algum tipo de IA generativa (LLM), informe esse fato.
A arquitetura da entrega intermediária deve ser Registrador-Memória.
Adicionam um conceito (sobe uma letra) ao limite da nota do projeto (limitado a: A+):
Exibição através da interface VGA.
Chamada de sub-rotina aninhada (até 8 chamadas).
Pilha controlada por hardware (instruções push e pop no processador):
Interrupção por hardware (uma única interrupção).
No contador, é obrigatório o uso de mais de um registrador no código em assembly. A não utilização acarretará a perda de uma letra.
Adicionam meio conceito (ou o sinal de “+”) ao limite da nota do projeto (limitado a: A+):
A contagem regressiva.
Cada duas novas instruções, desde que sejam usadas, pertencentes à lista abaixo:
Instrução AND, para mascarar bits;
Instrução CLT, compara se menor que;
Instrução JLT, desvia se menor que;
Instrução LDADDR, carrega endereço de memória para acesso posterior (acesso de memória indexado);
Instrução STAIND, armazena acumulador em endereço de memória obtido anteriormente (acesso de memória indexado);
Instrução LDAIND, carrega acumulador com conteúdo de endereço de memória obtido anteriormente (acesso de memória indexado);
Outras instruções, consultar o professor.
Cada três novas instruções, utilizando o valor imediato, desde que sejam úteis. Por exemplo:
Instrução ADDI, soma do acumulador com imediato;
Instrução SUBI, subtração de imediato do acumulador;
Outras versões, de instruções que já existam, usando o imediato. Por exemplo CEQI.
As instruções implementadas no projeto anterior não serão consideradas como novas neste projeto.
Alguns exemplos de instruções implementadas.
Caso tenha ideia para algum opcional, confira antes se ele adiciona valor ao projeto.
Itens Obrigatórios
A falta desses itens acarretam a perda de meio conceito (o sinal de +):
O limite de contagem.
A utilização de chamadas de sub-rotina.
Manual de uso e documentação das alterações criadas.
| Nota | Critério | Documentação |
|---|---|---|
| A+ | Entregou o projeto, com uma quantidade de itens opcionais, funcionando sem erros, que totalizem essa nota ou valor maior. | Código bem comentado. Relatório com descrição do projeto e instruções de uso. |
| A | Entregou o projeto, com uma quantidade de itens opcionais, funcionando adequadamente, porém com pequenos erros (o critério é estabelecido pelo professor), que totalizem essa nota ou valor maior. | Código bem comentado. Relatório com descrição do projeto e instruções de uso. |
| B+ | Entregou o projeto, com opcionais suficientes, funcionando sem erros (o critério é estabelecido pelo professor). | Código bem comentado. Relatório com descrição do projeto e instruções de uso. |
| B | Entregou o projeto, com opcionais suficientes, funcionando adequadamente, porém com pequenos erros (o critério é estabelecido pelo professor). | Código bem comentado. Relatório com descrição do projeto e instruções de uso. |
| C+ | Entregou o projeto básico, funcionando sem erros. | Código comentado e um simples relatório. |
| C | Entregou o projeto básico funcionando com pequenos erros (o critério é estabelecido pelo professor). | Código comentado e um simples relatório. |
| D | Entregou o projeto funcionando mas com erros graves. | N.A. |
| D | O aluno fez somente o hardware e/ou possui pouco conhecimento sobre o software e não conseguiu executar a alteração de software proposta. | N.A. |
| I | Entregou o projeto não funcionando. Entregou o projeto incompleto ou não entregou o projeto. | N.A. |
| I | O aluno fez somente o software e/ou possui pouco conhecimento sobre o hardware e não conseguiu executar a alteração de hardware proposta. | N.A. |
O teste final (avaliação) do projeto será feito na placa FPGA.
Todos os componentes do grupo devem conhecer todas as partes do projeto. Ou seja, não deve haver divisão de trabalho sem troca de conhecimentos. Cada aluno deve demonstrar habilidade tanto no hardware quanto no software.
O resultado da arguição pode alterar a nota da entrega intermediária.
O warning de implementação de LATCH é considerado um erro gravíssimo.
A entrega final será após a Avaliação Intermediária, em dia a ser marcado durante as aulas, e a apresentação do projeto será marcada para uma data posterior à da entrega. A entrega com atraso, será na semana seguinte, com desconto de um conceito, ou seja, uma letra. Após essa data, o projeto será considerado como não entregue.
A avaliação do projeto final será feita através dos seguintes itens:
Apresentação do projeto, no kit de desenvolvimento:
Com arguição individual dos componentes do grupo para verificar o conhecimento e a participação na execução do projeto.
Entrega de um resumo explicativo do funcionamento do circuito, contendo:
Diagrama de blocos do projeto;
Com comentários (opcional) sobre os problemas encontrados;
Declaração sobre a divisão do trabalho entre os componentes do grupo.
Entrega do projeto do Quartus, com:
O teste final (avaliação) do projeto será feito na placa FPGA.