trabalho de laboratÓrio l5/l6 robot de cozinha · cancelbotão de pressão , o qual permite...

9
SISTEMAS DIGITAIS 2014-2015, MEEC 1 | Página TRABALHO DE LABORATÓRIO L5/L6 ROBOT DE COZINHA 1. INTRODUÇÃO Pretende-se com este trabalho que os alunos projetem um circuito que simula o funcionamento de um robot de cozinha, composto por um conjunto de programas pré-definidos. Este trabalho é considerado para avaliação de conhecimentos e terá a duração de duas aulas de laboratório. No início da primeira aula, cada grupo deverá impreterivelmente mostrar ao docente a preparação teórica do circuito (ver secção 5). Sugere-se que comece por ler todo o enunciado antes de começar a sua resolução. Após o ter feito, implemente e teste os circuitos em casa, usando as aulas de laboratório apenas para testar o circuito na placa de prototipagem. Deverá entregar um único relatório até ao dia 21 de Dezembro de 2014. 2. DESCRIÇÃO DO PROJETO Pretende-se desenvolver um robot de cozinha e que possui um conjunto de 9 receitas pré programadas, cada uma composta por uma sequência de etapas. Cada etapa é composta por um tempo de cozedura e velocidade da hélice. O modo de transição entre etapas pode ser: Automático – quando o tempo de uma etapa chega ao fim, o robot passa automaticamente à próxima etapa, sem intervenção do utilizador Espera ingrediente – o robot fica à espera que sejam inseridos ingredientes antes de passar à próxima etapa; para passar à próxima etapa é necessário que seja pressionado o botão de start. A tabela 1 descreve duas receitas do robot de cozinha, sendo que cada linha da tabela corresponde a uma etapa diferente. Assim, cada etapa é composta por: 1. Número total de etapas em falta (excetuando a atual) até completar a receita (o número máximo de etapas em falta é 9). 2. Tempo que falta até terminar a receita, incluindo a etapa atual. 3. Tempo da etapa (valor compreendido entre 1s e 99s), implementado através de um cronómetro (temporizador) decrescente. 4. A velocidade de rotação da hélice é determinada através de um contador de 4 bits (ligado ao sinal fast_clock), devendo ser incrementado na ocorrência do sinal timeout correspondente a 1/64 segundos. Este contador deverá contar entre o valor correspondente à velocidade especificada para a etapa em curso e o valor máximo de contagem (15). Exemplo: para uma velocidade de etapa igual a 12, o contador estará a contar repetidamente a sequência: 12, 13, 14, 15, 12, 13, …. Figura 1 – Robot de cozinha.

Upload: truongnhu

Post on 17-Nov-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TRABALHO DE LABORATÓRIO L5/L6 ROBOT DE COZINHA · cancelBotão de pressão , o qual permite cancelar a inserção manual de tempo ... o qual permite passar ao modo manual de inserção

SISTEMAS DIGITAIS 2014-2015, MEEC

1 | P á g i n a

TRABALHO DE LABORATÓRIO L5/L6

ROBOT DE COZINHA

1. INTRODUÇÃO

Pretende-se com este trabalho que os alunos projetem um circuito que simula o funcionamento

de um robot de cozinha, composto por um conjunto de programas pré-definidos. Este trabalho é

considerado para avaliação de conhecimentos e terá a duração de duas aulas de laboratório. No

início da primeira aula, cada grupo deverá impreterivelmente mostrar ao docente a preparação

teórica do circuito (ver secção 5).

Sugere-se que comece por ler todo o enunciado antes de começar a sua resolução. Após o

ter feito, implemente e teste os circuitos em casa, usando as aulas de laboratório apenas

para testar o circuito na placa de prototipagem. Deverá entregar um único relatório até ao dia

21 de Dezembro de 2014.

2. DESCRIÇÃO DO PROJETO

Pretende-se desenvolver um robot de cozinha e que possui um

conjunto de 9 receitas pré programadas, cada uma composta

por uma sequência de etapas. Cada etapa é composta por um

tempo de cozedura e velocidade da hélice. O modo de transição

entre etapas pode ser:

Automático – quando o tempo de uma etapa chega ao

fim, o robot passa automaticamente à próxima etapa,

sem intervenção do utilizador

Espera ingrediente – o robot fica à espera que sejam

inseridos ingredientes antes de passar à próxima etapa;

para passar à próxima etapa é necessário que seja pressionado o botão de start.

A tabela 1 descreve duas receitas do robot de cozinha, sendo que cada linha da tabela corresponde

a uma etapa diferente. Assim, cada etapa é composta por:

1. Número total de etapas em falta (excetuando a atual) até completar a receita (o número

máximo de etapas em falta é 9).

2. Tempo que falta até terminar a receita, incluindo a etapa atual.

3. Tempo da etapa (valor compreendido entre 1s e 99s), implementado através de um

cronómetro (temporizador) decrescente.

4. A velocidade de rotação da hélice é determinada através de um contador de 4 bits (ligado

ao sinal fast_clock), devendo ser incrementado na ocorrência do sinal timeout

correspondente a 1/64 segundos. Este contador deverá contar entre o valor

correspondente à velocidade especificada para a etapa em curso e o valor máximo de

contagem (15). Exemplo: para uma velocidade de etapa igual a 12, o contador estará a

contar repetidamente a sequência: 12, 13, 14, 15, 12, 13, ….

Figura 1 – Robot de cozinha.

Page 2: TRABALHO DE LABORATÓRIO L5/L6 ROBOT DE COZINHA · cancelBotão de pressão , o qual permite cancelar a inserção manual de tempo ... o qual permite passar ao modo manual de inserção

SISTEMAS DIGITAIS 2014-2015, MEEC

2 | P á g i n a

Para transmitir um efeito visual do movimento da hélice, será utilizado o circuito fullseq

(realizado no laboratório anterior), em que os seus 8 bits de saída (estado) serão ligados

aos 8 LEDs da placa. O circuito fullseq deverá transitar de estado sempre que o contador

de 4 bits voltar ao início da contagem para o qual está programado (no exemplo de cima,

12).

5. Modo de passagem à próxima etapa (Espera Ingrediente ou Automático), sendo que o modo

da última etapa de cada receita deve sempre ser Automático.

Por exemplo, a receita 1 é composta por 4 etapas, as quais se encontram ordenadas

sequencialmente nas 4 primeiras linhas da tabela, efetuando as seguintes etapas:

1ª etapa, correspondente à primeira linha da receita 1: Etapa com duração de 20s à

velocidade 2 (i.e., com os leds a mudar de estado a cada 14 ticks); no final da etapa será

necessário esperar que o utilizador pressione em start para passar à etapa seguinte.

2ª etapa, correspondente à segunda linha da receita 1: Etapa com duração de 5s à

velocidade 12 (i.e., com os leds a mudar de estado a cada 4 ticks) e modo automático de

passagem à terceira etapa.

3ª etapa, correspondente à terceira linha da receita 1: Etapa com duração de 5s à

velocidade 7 e modo “Espera Ingrediente” de passagem à quarta e última etapa.

4ª etapa, correspondente à quarta linha da receita 1: Etapa com duração de 10s à

velocidade 8.

Tabela 1 - Excerto das receitas do robot de cozinha. As restantes 7 receitas deverão ser definidas pelos alunos e apresentadas num anexo ao relatório.

Receita

Número total (em falta) de

etapas da receita

[0-9]

Tempo total da receita

[1s – 999s]

Tempo da etapa

[1s – 99s]

Velocidade da hélice

[1-15]

Modo de passagem à próxima etapa

1 3 40 20 2 Espera ingrediente

1 2 20 5 12 Automático

1 1 15 5 7 Espera ingrediente

1 0 10 10 8 Automático

2 1 10 5 5 Automático

2 0 5 5 10 Automático

3 0 20 20 15 Automático

… … … … … …

Para além das receitas indicadas na Tabela 1, existe ainda um modo manual, o qual permite fazer

etapas cujo tempo e velocidade da hélice são definidas pelo utilizador.

Page 3: TRABALHO DE LABORATÓRIO L5/L6 ROBOT DE COZINHA · cancelBotão de pressão , o qual permite cancelar a inserção manual de tempo ... o qual permite passar ao modo manual de inserção

SISTEMAS DIGITAIS 2014-2015, MEEC

3 | P á g i n a

2.1. DESCRIÇÃO DA MÁQUINA DE ESTADOS

De forma a realizar o circuito, considere a existência de, pelo menos, os seguintes estados:

Idle – espera pela indicação da receita

Cooking – a realizar uma etapa da receita

Waiting ingredients – à espera que o utilizador insira os ingredientes de uma etapa

Setup time – espera pela indicação do tempo da etapa (modo manual)

Setup speed - espera pela indicação do tempo da velocidade da hélice (modo manual)

No entanto, pode adicionar/fundir qualquer estado de forma a simplificar a realização do circuito

pretendido, por exemplo, separando o estado Cooking em dois estados, um para o modo Receita,

outro para o modo Manual. Por ainda (se quiser) adicionar um estado correspondente a Stand-by

(robot desligado), definindo nesse caso qual o sinal que liga o robot de cozinha.

3. INTERFACE DO ROBOT DE COZINHA

Tal como indicado anteriormente, existem dois modos de funcionamento:

Modo Receita – No modo receita, o utilizador começa por indicar (durante o estado de

Idle) qual a receita a cozinhar, usando os botões up/down para escolher entre uma das 9

receitas indicadas na tabela 1. Após seleção da receita, o utilizador deverá carregar em

start para iniciar o processo de cozedura (passando ao estado cooking). Após uma etapa:

o Tipo Automático, o robot deverá passar automaticamente à próxima etapa

(mantendo-se no estado cooking).

o Tipo Espera Ingrediente, o robot deverá esperar que seja pressionado novamente o

botão start (ficando num estado Waiting ingredients).

Modo Manual – No modo manual é permitido ao utilizador a inserção do tempo e

velocidade da hélice em cada uma das etapas. Para passar ao modo manual, deve ser ativo

o interruptor manual mode (passando o robot para o estado Setup Time). Após passagem a

este modo, o robot de cozinha deverá ficar à espera pela indicação do tempo da etapa

(valor entre 1s e 99s), sendo este valor indicado através dos botões up/down. Após

inserção do tempo da etapa, i.e., após ser pressionado o botão start, o robot deverá ficar à

espera da velocidade da hélice na etapa (valor entre 1 e 15, selecionado através dos botões

up/down). Neste estado (Setup Speed), se for pressionado o botão cancel, o robot deverá

voltar ao modo de inserção do tempo da etapa; se for pressionado o botão start, o robot

deverá iniciar a receita.

3.1. SINAIS DE INTERFACE

O robot de cozinha é composto pela seguinte interface, tal como ilustrado na Figura 2:

Botão de pressão start, o qual é usado em várias fases do processo de cozinha,

permitindo: (i) iniciar uma receita; (ii) retomar o programa após inserção de ingredientes

(passando à próxima etapa da receita); ou (iii) inserir o tempo/velocidade da etapa,

quando o robot se encontra em modo manual.

Botão de pressão cancel, o qual permite cancelar a inserção manual de tempo/velocidade

da hélice de uma receita, voltando o robot ao estado Setup Time.

Botões up e down, os quais permitem subir e descer o valor dos contadores

correspondentes a: (i) receita; (ii) tempo da etapa; (iii) velocidade da hélice.

Page 4: TRABALHO DE LABORATÓRIO L5/L6 ROBOT DE COZINHA · cancelBotão de pressão , o qual permite cancelar a inserção manual de tempo ... o qual permite passar ao modo manual de inserção

SISTEMAS DIGITAIS 2014-2015, MEEC

4 | P á g i n a

Interruptor manual mode, o qual permite passar ao modo manual de inserção do tempo e

velocidade da hélice de uma receita.

Interruptores Sel(1:0), os quais permitem alterar o valor apresentado no display de 7

segmentos quando o robot se encontra a cozinhar. Este valor deverá ser indicado em

decimal e corresponder a: (00) tempo em falta para o fim da etapa; (01) velocidade da

hélice; (10) tempo em falta para o fim da receita; (11) número de etapas em falta para o fim

da receita, excluindo a atual.

Interruptor reset o qual cancela o processo de cozedura de qualquer receita, colocando o

robot no seu estado original.

Display de 7 segmentos, o qual deverá indicar em decimal:

o Estado Idle – receita selecionada

o Estado Cooking – valor indicado pelos interruptores Sel(1:0).

o Estado Setup Time – tempo da etapa

o Estado Setup Speed – velocidade da hélice

Switch0

Switch7

Pressure3

Pressure0

LED0LED7

DISP4 DISP1

STARTDOWNUPReset Manual

mode CANCELSel 1 Sel 0

Figura 2 - Interface com o utilizador.

3.2. QUESTÕES NÃO DEFINIDAS NO ENUNCIADO

O funcionamento do robot de cozinha não está completamente definido no enunciado. Assim,

existem algumas questões que são deixadas ao critério dos alunos e que deverão ser devidamente

justificadas no relatório.

4. SUGESTÕES PARA A IMPLEMENTAÇÃO DOS CIRCUITOS

Para a implementação dos diversos circuitos necessários à implementação do robot de cozinha,

considere a utilização (não obrigatória) dos seguintes elementos:

A existência de uma memória de etapas de receitas, cujo conteúdo é o indicado na Tabela

1. Pode ainda usar uma segunda memória de receitas que guarda o endereço da primeira

etapa de cada receita. Conforme achar adequado pode utilizar memórias síncronas (cuja

leitura ou escrita é realizado apenas no flanco de relógio) ou assíncronas (as quais não têm

entrada de relógio), justificando a sua opção no relatório.

A existência de um registo de número de receita, o qual guarda o número da receita

selecionada durante o estado Idle e que endereça a memória de receitas. Considere ainda a

utilização de um registo de etapa de receita, o qual serve para endereçar a memória de

etapas de receitas. O registo etapa de receita deve ser carregado no estado Idle quando é

pressionado o botão start e incrementado sempre que o robot chega ao fim de uma etapa

de receita.

Page 5: TRABALHO DE LABORATÓRIO L5/L6 ROBOT DE COZINHA · cancelBotão de pressão , o qual permite cancelar a inserção manual de tempo ... o qual permite passar ao modo manual de inserção

SISTEMAS DIGITAIS 2014-2015, MEEC

5 | P á g i n a

A existência de contadores BCD (como os disponibilizados junto com a solução dos

laboratórios L3/L4) para: (i) o tempo em falta para o fim da receita; (ii) o tempo em falta

para o fim da etapa; (iii) a velocidade da hélice.

A existência de uma máquina de estados micro-programada (de forma explicita ou

implícita, como achar mais conveniente).

Atenção: Todos os circuitos implementados deverão ser síncronos com o sinal de relógio

fast_clock.

Para o desenvolvimento do trabalho sugere-se o seguinte procedimento:

A. Comece por definir o diagrama de estados associada à máquina de estados principal do robot

de cozinha, considerando pelo menos a existência dos seguintes estados:

Idle – espera pela indicação da receita

Cooking – a realizar uma etapa da receita

Waiting ingredients – à espera que o utilizador insira os ingredientes de uma etapa

Setup time – espera pela indicação do tempo da etapa (modo manual)

Setup speed - espera pela indicação do tempo da velocidade das pás (modo manual)

Para além dos estados indicados, pode introduzir qualquer outro estado que achar conveniente

para simplificar o desenvolvimento do laboratório (por exemplo Manual cooking

correspondente a fazer uma etapa de receita em modo manual). Para facilitar o

desenvolvimento do circuito, pode ainda (opcional, mas recomendado) dividir o estado de

Cooking em (i) Cooking Recipe e (ii) Manual Cooking.

Para a implementação da máquina de estados considere a existência (não obrigatória) dos

seguintes sinais de entrada: start e cancel (correspondentes ao pressionar dos botões de

pressão da figura 2), fim de etapa (o qual fica ativo quando o tempo de uma etapa chega ao

fim), fim de receita (o qual fica ativo quando a receita chega ao fim), espera

ingrediente (que quando ativo indica que o utilizador deverá inserir ingredientes e

pressionar start para que o robot passe à etapa seguinte) e Manual Mode (correspondente ao

interruptor 0 da Figura 2). O interruptor reset deverá corresponder a uma reinicialização do

robot de cozinha, pelo que não o deverá incluir no diagrama de estados.

Após terminar o diagrama e respetiva tabela de transição de estados, verifique se estas são

coerentes, se todas as combinações possíveis para os sinais de entrada estão definidas e se não

existem combinações de sinais de entrada que dão origem à transições para estados diferentes.

B. Verifique (e justifique no relatório) qual o tipo de máquina de estados mais conveniente

(Moore ou Mealy). Escolha a codificação que achar mais adequada para cada um dos estados e

analise a possibilidade de existência de estados lock-out.

C. Escolha o tipo de máquina de estados a implementar. Sugere-se fortemente a utilização de

micro-programação (implícita ou explícita). No entanto, se considerar conveniente, pode

implementar alguma da lógica associada à máquina de estados com lógica discreta.

D. Implemente a máquina de estados em VHDL e valide o seu funcionamento com as simulações

que achar mais adequadas.

E. Após a descrição da máquina de estados em VHDL e subsequente validação através das

simulações que achar convenientes, faça um logigrama com os elementos que considera

necessários para a implementação do restante circuito, tais como as memórias, registos e

contadores indicados anteriormente. Tome em consideração os elementos desenvolvidos para

a realização do laboratório 4 (quer os seus, quer os disponibilizados pelo corpo docente).

Page 6: TRABALHO DE LABORATÓRIO L5/L6 ROBOT DE COZINHA · cancelBotão de pressão , o qual permite cancelar a inserção manual de tempo ... o qual permite passar ao modo manual de inserção

SISTEMAS DIGITAIS 2014-2015, MEEC

6 | P á g i n a

F. Faça uma tabela de verdade que indique, para cada estado, os valores possíveis dos sinais de

dados e controlo à entrada de cada um dos elementos de forma a realizar as funções

pretendidas.

G. Termine o desenvolvimento do logigrama indicado no ponto E identificando o nome de todos

os sinais necessários à sua descrição em VHDL. Seguidamente, descreva o circuito em VHDL e

teste o seu funcionamento.

5. FASEAMENTO DO TRABALHO

Para a realização do trabalho de laboratório, deverá apresentar na primeira semana os seguintes

elementos:

Diagrama de estados e tabela de transição de estados do circuito de controlo do robot de

cozinha.

Justificação referente ao tipo de máquina de estados escolhida (Moore vs Mealy) e tipo de

implementação (micro-programação explicita ou implícita).

Esquema (i.e., diagrama lógico) do circuito de controlo do robot de cozinha

Esquema completo do circuito robot de cozinha, incluindo memórias, registos, contadores

e outros elementos que considerar adequados.

Conteúdo das memórias usadas na implementação do circuito.

Embora não seja necessário a apresentação de código VHDL na primeira semana, sugere-se

fortemente que valide, através de simulações, o funcionamento da máquina de estados na primeira

semana do trabalho de laboratório. É aconselhável criar um projeto referente ao trabalho de

laboratório L4 e demonstrar a solução disponibilizada pelo corpo docente na placa, de forma a

verificar o seu funcionamento.

Para a segunda semana do trabalho deverá apresentar:

Esquema de todos os circuitos criados para implementar o robot de cozinha (incluindo

aqueles já demonstrados na primeira semana).

Simulações para cada um dos circuitos implementados, incluindo máquina de estados e

circuito completo.

Demonstração do funcionamento do circuito na placa de desenvolvimento.

6. UTILIZAÇÃO DE MEMÓRIAS EM VHDL

Para a realização deste trabalho de laboratório será necessário a utilização de memórias RAM e/ou

ROM. Para simplificar o trabalho, são fornecidos os seguintes ficheiros de memória exemplo:

o Memória ROM (ficheiro rom_memory.vhd)

Memória de leitura assíncrona (sem acesso de escrita), a qual é endereçada com um sinal

address de 3 bits e possui palavras de 16 bits. Assim, a memória corresponde a uma tabela

com 23=8 linhas, cada linha com 16 bits.

Para alterar esta memória deverá:

i. Alterar as linhas 17-18 e 24-25, de forma a indicar:

O número de bits de endereço da entidade de memória:

LINHA 17: address : in STD_LOGIC_VECTOR(2 downto 0);

Page 7: TRABALHO DE LABORATÓRIO L5/L6 ROBOT DE COZINHA · cancelBotão de pressão , o qual permite cancelar a inserção manual de tempo ... o qual permite passar ao modo manual de inserção

SISTEMAS DIGITAIS 2014-2015, MEEC

7 | P á g i n a

O tamanho da palavra de dados da entidade de memória:

LINHA 18: data : out STD_LOGIC_VECTOR(15 downto 0);

O número de entradas da memória (0 to 2número de bits do campo address-1):

LINHA 24: type ram_type is array (0 to 7) of std_logic_vector(15 downto 0);

O tamanho da palavra de dados da memória (16 bits):

LINHA 25: std_logic_vector(15 downto 0);

Preencher as linhas 28 a 31, adicionando mais linhas se necessário, de forma a indicar

o conteúdo da memória. O formato do ficheiro é:

<posição> => <dados>,

onde <posição> é um número (em decimal) que indica a posição de memória e

<dados> é um numero (em binário), representado entre aspas, que indica o conteúdo

da posição de memória.

ii. Verificar se o ficheiro após alterações contém algum erro de sintaxe (corrigindo se

necessário).

o Memória RAM (ficheiro ram_memory.vhd)

Memória de leitura assíncrona e escrita síncrona, endereçada com um sinal address de 6

bits e que possui palavras de 8 bits. Assim, a memória corresponde a uma tabela com 26=64

linhas, cada linha com 8 bits.

Todas as linhas da memória estão inicializadas com palavras de valor 0.

Ao contrário das memórias ROM, não será permitido aos alunos a alteração da memória

RAM. Assim, caso seja necessário a utilização de memórias com um maior número de

endereços (i.e., de entradas na tabela), ou com palavras de dimensão maior do que 8, será

necessário a utilização de mais do que uma memória RAM.

7. AVALIAÇÃO DO TRABALHO DE LABORATÓRIO

Na avaliação do trabalho de laboratório será tido em conta as seguintes componentes:

(25%) Projeto da máquina de estados – componente teórica.

(25%) Projeto dos restantes circuitos – componente teórica.

(25%) Implementação e simulação dos circuitos – componente prática

(10%) Teste na placa de desenvolvimento – componente laboratorial

(5%) Qualidade do código VHDL (estrutura, indentação e comentários)

(10%) Estrutura, apresentação e qualidade do relatório.

Em cada uma das alíneas anteriores de projeto será tomado em consideração os seguintes pontos,

os quais deverão ser esclarecidos no relatório a entregar:

Descrição de como foi efetuado o projeto dos diversos circuitos

Simplicidade e eficiência das soluções

Diagrama lógico dos circuitos

Simulações que comprovem o funcionamento dos circuitos

Funcionamento dos circuitos na placa de desenvolvimento

O relatório deverá usar o seguinte conjunto de regras:

Page 8: TRABALHO DE LABORATÓRIO L5/L6 ROBOT DE COZINHA · cancelBotão de pressão , o qual permite cancelar a inserção manual de tempo ... o qual permite passar ao modo manual de inserção

SISTEMAS DIGITAIS 2014-2015, MEEC

8 | P á g i n a

Páginas:

Máximo de 12 páginas A4 (excluindo anexos), incluindo uma página de capa com a indicação do turno de laboratório, do nome do docente responsável pelo turno, e do nome e número dos elementos do grupo. Apresente no Anexo A as receitas implementadas, no Anexo B o conteúdo das memórias usadas, e no Anexo C o código VHDL.

Páginas numeradas, preferencialmente com cabeçalho, e margens não inferiores a 2cm.

Letra da família sans-serif (Arial, Verdana, Helvetica, Tahoma, Cambria, Calibri ou Trebuchet MS). Não deverão ser usadas fontes das famílias cursive ou fantasy, excepto para representar símbolos.

Pode, se desejar, usar uma fonte da família monospace (ex.: Courier) para indicar sinais físicos.

Tamanho da letra de fácil leitura e nunca inferior a 10pt.

Figuras e tabelas:

As figuras (p. ex.: esquemas) poderão ser feitos num programa de edição de imagens (p. ex.: MS Visio, Omnigraffle, Inkscape, ...) ou manuscritas, digitalizadas (com scan ou máquina fotográfica/telemóvel) e inseridas nos espaços correspondentes do relatório. No entanto as figuras deverão estar em estado apresentável (limpas, sem rabiscos ou rascunhos, facilmente perceptíveis e com tamanho de letra não inferior à do relatório).

As figuras deverão ser necessariamente enumeradas, acompanhadas de legenda (a legenda deverá explicar sucintamente o que se observa na figura) e ser referenciadas no texto.

Ficheiros VHDL e SCH:

Os ficheiros VHDL correspondentes à descrição dos circuitos e da simulação (Test Bench) deverão ser incluidos no Anexo C, usando uma fonte do tipo monospaced (ex.: Courier New). No entanto, deve haver uma referência no corpo do relatório para ficheiros VHDL anexos. Nota: as páginas referentes a anexos não são contabilizadas para o limite das 12 páginas.

A simulação dos Test Benches deve ser obrigatoriamente incluída no corpo do relatório (e não em anexo). Estas deverão ser numeradas usando uma legenda do tipo “Figura” e referenciadas no texto, explicando sucintamente o que se observa.

Todos os esquemas no Xilinx ISE realizados no contexto da secção 4 devem ser incluídos no relatório (e não em anexo) de forma legível. Para fazer um print screen podem ser usados quaisquer programas adicionais, tal como a ferramenta de recorte do Windows (Snipping Tool).

Submissão do ficheiro no Fénix:

O trabalho deverá ser submetido em formato ZIP, o qual deverá incluir: (a) corpo do relatório e anexos em formato PDF; (b) ficheiros VHDL e SCH (versão final) usados na elaboração do trabalho de laboratório.

Cabe aos alunos confirmar que o ficheiro foi correctamente submetido no sistema fénix, devendo para isso fazer download do ficheiro submetido e abrir com o Adobe Acrobat Reader.

A submissão deverá ser feita até às 23h59m de Domingo, dia 21 de Dezembro de 2014, no link correspondente à entrega regular.

Page 9: TRABALHO DE LABORATÓRIO L5/L6 ROBOT DE COZINHA · cancelBotão de pressão , o qual permite cancelar a inserção manual de tempo ... o qual permite passar ao modo manual de inserção

SISTEMAS DIGITAIS 2014-2015, MEEC

9 | P á g i n a

Caso pretendam, os alunos poderão entregar uma nova versão depois do prazo indicado, usando o link correspondente à entrega fora de prazo. Nesse caso sofrerão uma penalização de 2 valores por cada dia de atraso.

Caso sejam submetidos múltiplos ficheiros, apenas será tomado em consideração o último ficheiro submetido.

O não cumprimento das regras será penalizado na nota final do laboratório (ex: penalização

de 2 valores por página adicional).

O relatório deverá ainda ter a seguinte estrutura:

1. INTRODUÇÃO

Breve introdução aos objetivos do trabalho realizado.

2. PROJETO DA MÁQUINA DE ESTADOS

Resposta a todas as questões relativas ao projeto e implementação da máquina de estados,

incluindo o diagrama de estados, a tabela de transição de estados, e o diagrama lógico do

circuito (o qual deverá ser anotado com o nome dos sinais usados na descrição do mesmo em

VHDL).

3. PROJETO DOS CIRCUITOS AUXILIARES

Resposta a todas as questões relativas ao projeto e implementação dos restantes circuitos,

incluindo os diagramas lógicos dos circuitos usados e desenvolvidos (os quais deverão ser

anotados com o nome dos sinais usados na descrição do mesmo em VHDL).

4. FUNCIONAMENTO DO CIRCUITO

Descrição das simulações efetuadas para comprovar o funcionamento dos diversos circuitos

incluindo o recorte do resultado da simulação no Xilinx ISE. Enumere e apresente uma

legenda para todas as simulações apresentadas. Inclua ainda uma secção relativa ao teste e

funcionamento na placa de desenvolvimento.

5. CONCLUSÕES

Comentário acerca do trabalho realizado e dos resultados obtidos experimentalmente.

ANEXO A - Receitas implementadas.

ANEXO B - Conteúdo das memórias.

ANEXO C - Ficheiros VHDL usados para descrever e simular os circuitos.