Find the best Verilog / VHDL freelance jobs!

Work on the best Verilog / VHDL freelance projects. The best Programmers and Web designers for desktop applications, mobile apps, websites, E-commerce, IT, web and software development are on Workana.

Workana is the first and largest Latin-American freelancing network. Check out the latest Verilog / VHDL jobs listed and place a BID. If you are looking for Verilog / VHDL freelancers to work on your project please visit this page. You can also post your own project for free.

Trabalho em Vhdl Altera

Budget: Open Published: 4 months ago Bids: 0
Projeto Algoritmo Tomasulo
Data da Entrega: 20/05/2016 – 25 pontos
The devil is in the details - provérbio
Neste projeto você irá utilizar Verilog para implementar o algoritmo Tomasulo de
despacho simples como descrito no livro texto (Seções 3.4 e 3.5).
Descrição
No algoritmo Tomasulo a execução das instruções é dividida em 3 estágios: despacho,
execução e write back. Esses três estágios acessam componentes críticos de hardware:
o CDB, as estações de reserva (nas quais ocorrem as renomeações) e as unidades
funcionais. Você deverá implementar: (1) as estações de reserva, (2) os estágios do
algoritmo, (3) as unidades funcionais de multiplicação/divisão e soma/subtração, (4) o
banco de registradores, (5) as interconexões (barramentos e fios), e (6) a fila das
instruções. Você deverá testar a sua implementação utilizando um código de exemplo
e submeter o relatório e o seu projeto no Moodle.
Preparação
Você deverá criar todos os blocos básicos. Podem ser utilizados componentes da
LPM. Nesta versão simplificada do Tomasulo, só serão realizadas operações de soma,
subtração, multiplicação, e divisão de inteiros. Desta forma o banco de registradores
deverá ser inicializado.
As unidades funcionais operam com as seguintes latências: 5 ciclos multiplicação, 10
ciclos divisão, 2 ciclos soma/subtração.
Descrição INICIAL dos blocos básicos:
 CDB arbiter: arbitra qual unidade funcional poderá colocar o dado no CDB e
faz o broadcast do resultado para o resto das unidades funcionais e o banco de
registradores.
 CDB: barramento comum de dados que fornece o valor e o rótulo da estação de
reserva que produz o dado.
 Estações de reserva: armazenam as instruções. Você poderá criar um
componente separado para armazenar os registradores renomeados (ex, como
uma tabela de renomeações).
 Unidades funcionais: realizam as operações Soma/Subtração e
Multiplicação/Divisão.
 Fila de instruções: Buffer que contém as instruções.
 Banco de registradores: Conjunto de registradores que armazenam os dados.
Esta descrição inicial dos componentes deverá ser refinada e detalhada de acordo
com o projeto de cada grupo.
Por onde começar?
Pense na arquitetura do seu processador em alto nível (projeto top-down): quais
componentes são necessários, como contectar esses componentes, ou seja, quais
sinais são necessários. Em seguida detalhe cada um dos componentes lembrando
de realizar simulações para verificar o correto funcionamento.
Submissão
Crie um pacote contendo TODOS os códigos fontes, formas de onda, e o relatório do
projeto. Cada grupo deverá submeter um pacote no Moodle.
O relatório deverá incluir os seguintes componentes:
1. Uma introdução em alto nível da sua solução para o algoritmo Tomasulo (não
é para copiar a descrição do livro texto).
2. O projeto do seu processador, incluíndo detalhes necessários dos módulos
criados. Faça uma figura mostrando os blocos básicos e interconexões.
3. O código de teste utilizado e as formas de onda com uma explicação que
mostre o correto funcionamento.
4. Dificuldades encontradas.
5. Sugestões de melhorias da prática.
6. Comentários adicionais.
Apresentação em sala
Cada grupo deverá apresentar a estrutura do código e mostrar os testes
realizados (simulações) que comprovem o correto funcionamento da solução proposta.
Isto deverá ser feito até o dia 20/05/2016 no horário da aula. Não é necessário a
apresentação na placa.
Pontuação
 Código:
 Testes (simulações):
 Relatório:
Pontos Extras
 Inclusão das instruções de Load/Store e dos demais componentes necessários
para o funcionamento
 Apresentação na placa DE2
 Despacho duplo das instruções
 Tomasulo completo com especulação

Categoria: IT & Programação
Subcategoria: Outro
Isso é um projeto ou uma posição de trabalho?: Um projeto
Tenho, atualmente: Eu tenho especificações
Experiência nesse tipo de projeto: Não (Eu nunca gerenciei esse tipo de projeto)
Disponibilidade requerida: Conforme necessário
Skills required:
Published by: Tafana. Last reply: 4 months ago Brasil
Loading...