A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

VHDL Linguagem de Descrição e Síntese de Circuitos Digitais Sistemas Digitais.

Apresentações semelhantes


Apresentação em tema: "VHDL Linguagem de Descrição e Síntese de Circuitos Digitais Sistemas Digitais."— Transcrição da apresentação:

1 VHDL Linguagem de Descrição e Síntese de Circuitos Digitais Sistemas Digitais

2 O Comando Generic

3 Vetores Definidos Pelo Usuário Vetores predefinidos são unidimensionais As vezes necessita-se de vetores com dimensões maiores Exemplo: memórias São necessárias duas dimensões para especificar uma memória Número de posições e número de bits Descrição de uma memória de 2kbytes de 8 bits

4 Operadores de Deslocamento

5 sll srl sla sra rll rrl Multiplicação por 2 Divisão por 2

6 Atribuição de Sinais

7 Atraso Inercial Tempo mínimo que um pulso deve durar para que seja aceito por um circuito.

8 Atraso de Transmissão Atraso no transporte de um sinal. Isto é modelado em VHDL como segue:

9 Comandos Sequenciais Comandos sequenciais ficam contidos em regiões específicas de código como processos ou subprogramas. Uma vez iniciada a execução de comandos em região de código sequencial, os comandos são avaliados na sequência em que são apresentados no código. Veremos a aplicação dos comandos sequenciais IF, CASE e WAIT. Veremos também o modo de operação de um processo e a lista de sensibilidade, além da atribuição de valores a sinais nas regiões de código sequencial.

10 Comandos Sequenciais Um processo define uma área contendo comandos sequenciais. A palavra reservada PROCESS identifica o comando. O processo é um comando concorrente. Um processo é composto de duas regiões: parte de declaração, e parte de comandos sequenciais. A primeira região é o local para declaração de tipos e subtipos, constantes, variáveis, entre outros. A declaração de sinais não é permitida. A segunda região encontra-se entre as palavras reservadas BEGIN e END.

11 Comandos Sequenciais Lista de Sensibilidade em Processos Contém comandos sequenciais que representam o comportamento de uma parte ou de toda a descrição. A palavra reservada PROCESS pode ser antecedida de um rótulo qualquer, e ser seguida de uma lista de sensibilidade. A lista define para quais sinais que o conjunto de comandos contidos no processo é sensível. Isto é, a ocorrência de uma mudança no valor de um dos sinais da lista fará com que o processo seja executado.

12 Comandos Sequenciais Lista de Sensibilidade em Processos

13 Comandos Sequenciais Execução Conjunta abc: PROCESS BEGIN comando 1 comando 2. comando n END PROCESS abc;. comando abc: PROCESS Comando xyz: PROCESS comando. xyz: PROCESS BEGIN comando 1 comando 2. comando m END PROCESS xyz; Execução Sequencial

14 Comandos Sequenciais Exemplo: 1 | ENTITYsens_tes IS 2 |PORT( a, b:INBIT; 3 | sa, sb:OUTBIT); 4 | END sens_tes; 5 | 6 | ARCHITECTURE testeOFsens_tesIS 7 | BEGIN 8|abc: PROCESS (a) -- executado na alteração do valor de a 9| BEGIN 10| sa <= a; 11| sb<=b; 12| END PROCESS abc; 13 | ENDteste; A linha 10 descreve uma parte combinacional A linha 11 descreve um elemento de armazenamento de valor sensível à variação da entrada a O circuito é não sintetizável, pois o elemento de memória descrito é ativo tanto na borda de subida quanto de descida de a, não havendo uma correspondência com circuitos reais.

15 Comandos Sequenciais

16

17

18

19 O Comando WAIT Suspende a execução de um processo. A suspensão pode ser condicionada a três clausulas, ou a uma combinação delas: WAIT ON: fornece um mecanismo equivalente à lista de sensibilidade em um processo. Neste caso, após o comando WAIT ON, o processo fica suspenso até a alteração de valor em um dos sinais da lista. WAIT UNTIL: o processo é suspenso enquanto a expressão booleana contida no comando não for satisfeita WAIT FOR: o processo é suspenso por um período de tempo, reiniciando no comando seguinte, após o período de tempo definido.

20 Comandos Sequenciais O Comando WAIT WAIT ONlista_de_sensibilidade; WAIT UNTIL expressão_booleana; WAIT FORexpressão_de_tempo; WAIT ON lista _de_sensibilidadeUNTIL condição_booleanaFORexpressão_de _tempo; WAIT ONsig_a, sig_b;-- Lista de sensibilidade WAIT UNTIL sig_c = 1;-- Condição booleana WAIT FOR100 ns;-- Expressão de tempo WAIT ON sig_d=0FOR50 ns; -- Condição booleana por período de tempo


Carregar ppt "VHDL Linguagem de Descrição e Síntese de Circuitos Digitais Sistemas Digitais."

Apresentações semelhantes


Anúncios Google