• Nenhum resultado encontrado

Tutorial :: Introdução ao VHDL em ambiente Design Works

N/A
N/A
Protected

Academic year: 2023

Share "Tutorial :: Introdução ao VHDL em ambiente Design Works"

Copied!
13
0
0

Texto

(1)

Tutorial :: Introdução ao VHDL

em ambiente Design Works

Objectivos

Familiarização com a linguagem VHDL

Familiarização com a construção de modelos em VHDL utilizando o software DesignWorks.

Trabalho a realizar

Implementar um módulo em VHDL com a implementação de uma função lógica combinatória

Abordagem

Realização passo-a-passo

(2)

SD :: Introdução ao VHDL 2

introdução

Em muitos carros actuais, o motor é ligado através, não de acção de uma chave, mas por um botão START. O motor de arranque deve ser accionado quando:

o botão “START” for premido e se verificar uma das duas seguintes:

o pedal de embraiagem estiver carregado ou

o travão estiver carregado e o carro estiver em ponto-morto (mudança não engatada)

A actuação do motor de arranque pode ser visto como uma função lógica com quatro variáveis: B (botão START carregado), E (embraiagem carregada), T (travão

carregado) e C (caixa com velocidade engatada).

Com estas variáveis, é fácil verificar que a função M que determina o funcionamento do motor de arranque é dada pela

expressão:

Pretende-se agora implementar esta função no Design Works recorrendo à linguagem VHDL

M = B ⋅( E +( T⋅̄ C ))

(3)

1. criação do template

No DW5, crie um novo modelo através do Model Wizard, seleccionando as opções:

- Create a new empty model e - Create a new symbol ...

(4)

SD :: Introdução ao VHDL 4

1. criação do template

Defina o modelo criado como sendo VHDL e dê-lhe nome (ex: Motor_Start).

(5)

1. criação do template

No passo seguinte, irá definir os pinos de entrada e saída para o modelo. Estes pinos correspondem às variáveis (entradas) e à função calculada (saída).

Definição do tipo de pino: entrada, saída ou

entrada/saída.

Nome do pino Lista dos pinos já

criados

Acrescenta um pino

Também é possível acrescentar um conjunto de pinos, na forma de um vector

(6)

SD :: Introdução ao VHDL 6

1. criação do template

A disposição gráfica dos pinos no modelo pode ser manualmente ajustada:

(7)

1. criação do template

A terminar, o DW armazena o modelo desenvolvido numa biblioteca. Sugere-se que guarde o modelo numa biblioteca sua e não numa das bibliotecas de origem do DW.

Para criar uma nova biblioteca, deverá seleccionar a opção “New Lib” quando lhe é pedida a selecção de uma biblioteca.

(8)

SD :: Introdução ao VHDL 8

1. criação do template

Neste último passo, o código gerado vai ser guardado num ficheiro com extensão .dwv.

Este ficheiro terá o código VHDL associado ao modelo criado.

Por alguma razão, o DW entende por bem, neste ponto, fechar a janela com o código VHDL, o que obriga a reabrir o ficheiro para poder fazer a sua edição.

(9)

A biblioteca IEEE tem um conjunto de definições que vão ser usadas na simulação. É incluída por

default no template.

A entidade VHDL criada chama-se

“Motor_Start”...

... e tem estas entradas e saídas.

Esta linha é um comentário, que será substituída pelo código VHDL que descreve a função a

implementar.

2. edição do código VHDL

Abrindo o ficheiro .dwv, podemos editar o código VHDL a partir do template que foi criado automaticamente.

(10)

SD :: Introdução ao VHDL 10

2. edição do código VHDL

Neste caso, o código VHDL que vai substituir a linha de comentário é:

em que:

M : nome do pino de saída

<= : operador de atribuição de valor a uma saída B and ( E or ( T and not C));

: expressão lógica com o valor a atribuir ao pino de saida (não esquecer o ';' no final).

Depois de alterar o template, acrescentando o código que define o valor de M, verifique a correcção do código, compilando-o (opção menu: VHDL > Compile (Ctrl+Q)).

Para criar o módulo controlador Motor_Start que implementa a função M, apenas temos que adaptar o código do template criado e gravar o ficheiro .dwv.

M <= B and ( E or ( T and not C));

(11)

3. utilização do modelo criado

O modelo Motor_Start faz agora parte das bibliotecas do DW e pode ser usado como qualquer um outro.

Para o testar, crie um novo circuito (File > New > Design : Generic Simulation) e insira nesse circuito o módulo que criou. Seguidamente, atribua nome às linhas ligadas a cada um dos pinos de entrada e saída, para permitir o teste do circuito.

Para o teste, pode utilizar o ficheiro motor_start2.tsv. Este ficheiro tem uma coluna $I (“Input”) com o valor a atribuir às entradas e um coluna $E (“Expected”), com o valor esperado para cada combinação das entradas. A simulação vai verificar a concordância entra a saída gerada e a saída esperada e assinala qualquer incorrecção que encontre.

Em alternativa, pode proceder ao teste usando os elementos binary switch e binary probe.

(12)

SD :: Introdução ao VHDL 12

conclusões

Neste tutorial, fez-se a criação de um modelo em VHDL com o DW5.

Um circuito com as mesmas especificações pode ser construído com recurso a portas lógicas. Os dois modelos (circuito e modelo em VHDL) são funcionalmente equivalentes e implementam a mesma função. Estas duas soluções são assim duas formas diferentes de se obter o mesmo resultado.

A criação deste modelo seguiu um processo de execução passo-a-passo. Espera-se que tenham sido obtidos os conhecimentos necessários para, com o conhecimento da

linguagem VHDL, o aluno fique capaz de desenvolver os seus próprios modelos.

(13)

avaliação

Usando os conhecimentos adquiridos, desenvolva em linguagem VHDL e com o DW5, um módulo que implemente uma das portas seguintes. Depois, crie um novo circuito que inclua o módulo e teste o seu funcionamento.

≥1

&

&

AOI

1) 2) 3)

4) 5) 6)

7) 8) 9)

Referências

Documentos relacionados

Formação profissional complementar (FP) (até ao máximo de 20 pontos) Será atribuída aos candidatos a nota mínima de.

➔ Se pedir VENOSO + ARTERIAL inclui: 71 CONTRASTE ➔ Quando pedir Ressonância de Coluna Tóraco-Lombar:.. ● 743 RESSONANCIA MAGNETICA DE

Norteado pela metodologia CERNE 1, a incubadora de empresas deve possuir uma sistemática para o planejamento pessoal, visando o estabelecimento de estratégias,

Parágrafo Quarto - Caso o FUNDO venha a investir em fundos geridos por terceiros não ligados ao ADMINISTRADOR ou à GESTORA, cujas políticas de investimento

Há dois tipos principais de rochas sedimentares na Formação em Rio Claro: a mais comum é uma rocha arenácea com fósseis esparsos (Figura 2), sendo que a matriz (a parte da rocha

یجراخ ءاشنا اب لعف دادملق دنك ، ترابع ا دن :زا مسارم هلب نورب ( فرص رظن زا )ظافلا ، ةرفس دقع ، ندرب هیزیهج و نتفریذپ طسوت درم ، رارق نداد رهم رد تسد نز ،

O estudo de caso, segundo Yin (apud GIL, 2002, p.54) “é encarado como o delineamento mais adequado para a investigação de um fenômeno contemporâneo dentro de

cspecia li2ada , enquadradas nas categorias descritas no art 4° do Decreto Federal rf 3. no caso de vir a exercê-lo , estará suje ito à avaliação pelo dese!Jl)enho