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

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

Universidade do Sul de Santa Catarina Engenharia Elétrica - Telemática UNISUL – 2012 / 2 Engenharia de Software para Computação Embarcada Prof. Frederico.

Apresentações semelhantes


Apresentação em tema: "Universidade do Sul de Santa Catarina Engenharia Elétrica - Telemática UNISUL – 2012 / 2 Engenharia de Software para Computação Embarcada Prof. Frederico."— Transcrição da apresentação:

1 Universidade do Sul de Santa Catarina Engenharia Elétrica - Telemática UNISUL – 2012 / 2 Engenharia de Software para Computação Embarcada Prof. Frederico Ferlini Aula 4

2 1.VHDL I NTRODUÇÃO E STRUTURA O PERADORES S INTAXE E XEMPLOS 2.S IMULAÇÃO 1.T ESTBENCH 2.F ORMAS DE ONDA CONTEÚDO 2

3 VHDL Very High Speed Integrated Circuits (VHSIC), início 1980 Originou como linguagem para descrever o comportamento de ASICs, definido pelo U.S Department of Defense VHDL VHSIC Hardware Description Language Padrão IEEE em 1987 (Institute of Electrical and Electronics Engineers), revisado em 1993 Linguagem utilizada mundialmente por empresas de CAD para especificação, simulação, síntese, propriedade intelectual Outras linguagens de descrição de hardware SystemC, VERILOG, Handel-C, SDL, ISP, Esterel, … VHDL 3 Por que VHDL? VHDL é utilizado em mais de 50% do mercado!

4 Vantagens Descrição independente de tecnologia Compatibilidade entre diferentes CAD tools Flexibilidade: re-utilização, escolha de ferramentas e fornecedores Facilidade de atualização dos projetos Exploração em alto nível de abstração permite analisar diferentes alternativas de implementação Verificação do comportamento do sistema digital através de simulação Redução do tempo de projeto, reduz time-to- market, redução de custo Linguagem fortemente tipada, elimina erros de baixo nível Desvantagens HW gerado é menos otimizado Controlabilidade/Observabil idade de projeto reduzidas Falta de pessoal treinado para lidar com a linguagem VHDL 4

5 Permite que a descrição do HW seja: Estrutural; ou, Comportamental; ou, RTL (Register Transfer Level); ou, Nível Lógico com atraso* Metodologia top-down Projeto é inicialmente especificado de forma abstrata, com detalhamento posterior dos módulos – Exemplo : A <= B + C after 5.0 ns; A forma de realizar a soma pode ser decidida no momento da implementação (e.g. propagação rápida de vai-um, ou qualquer outro tipo de implementação, paralelo ou série, etc.) VHDL – Níveis de Abstração 5

6 6 RTL Comportamental

7 Básica Biblioteca (library) Entidade (entity) Arquitetura (architecture) Complementar Configuração (configuration) Pacote (package) Corpo do Pacote (package body) VHDL – Estrutura da Linguagem (Sintaxe) 7

8 Biblioteca (library) Diversas funções e tipos básicos Biblioteca da IEEE é sempre incluída Quase todo arquivo VHDL começa: - library IEEE; - use IEEE.STD_LOGIC_1164.ALL; STD_LOGIC_1164 bit {0, 1} std_logic / std_logic_vector {0, 1, X, U, Z, W, L, H, -} std_ulogic / std_ulogic_vector {0, 1, X, U, Z, W, L, H, -}* and, nand, or, nor, not, xor, xnor Outros tipos: boolean {true, false}, time {ps, ns, ms...}, integer, real... Biblioteca do usuário(default) = work Arquivos VHDL na mesma pasta do projeto VHDL – Estrutura da Linguagem (Sintaxe) 8

9 Resumo VHDL – Tipos 9

10 Entidade (entity) Definição da interface do módulo (portas) Sintaxe | entity is | port( | : ; |p_entrada_ex : in std_logic; | p_saida_ex: out std_logic | ); | end; Sentidos: in, out, inout Generic (Reusabilidade!) Boa prática! nome do módulo igual ao do arquivo Identificação do sentido no nome da porta: ex.: _i VHDL – Estrutura da Linguagem (Sintaxe) 10

11 Arquitetura (architecture) Contém a descrição da funcionalidade do módulo Sintaxe | architecture of is | -- declaração de componentes e sinais | signal : ; |signal sinal_ex : std_logic_vector(7 downto 0); |... | begin |-- lógica combinacional (equções booleanas) |-- instanciação de componentes |-- atribuições (<=) |-- processos (process) |... | end; Boa prática! coerente com a descrição do módulo Identificação de sinal no nome do sinal: ex.: _s VHDL – Estrutura da Linguagem (Sintaxe) 11

12 Pode haver mais de uma entidade (módulo) em um mesmo arquivo VHDL Todos os módulos de um projeto em um mesmo arquivo Uma entidade pode ter mais de uma arquitetura A escolha é feita com o uso de configuration Boa prática! Uma entidade (módulo) por arquivo VHDL Uma arquitetura por entidade Essas regras devem ser seguidas!! VHDL – Características 12

13 Sinais Quase tudo em VHDL se resume a sinais Comportamento equivalente ao hardware Temporizado | signal sa, sb : std_logic;... | sa <= sb; --atribuição Variáveis Só podem ser utilizadas dentro de processos Comportamento semelhante ao software Sem temporização, atribuição imediata | variable va, vb : std_logic;... | va := vb; --atribuição Evita-se utilizar! (Não será utilizado na disciplina!) VHDL – Sinais e Variáveis 13 Constantes | constant c : std_logic := 1... | sa <= c; --atribuição | c <= sa; --errado

14 Declaração de array de bits Definição da posição do MSB (Most Significant Bit) Declaração | signal bus_msb, : std_logic_vector(3 downto 0); | signal bus_lsb, : std_logic_vector(0 to 3);... Atribuição | bus_msb <= bus_lsb; --atribuição direta... equivale... | bus_msb(3) <= bus_lsb(0); --atribuição índice por índice | bus_msb(2) <= bus_lsb(1); | bus_msb(1) <= bus_lsb(2); | bus_msb(0) <= bus_lsb(3); Observação Atribuição direta somente entre arrays de mesmo tamanho Elementos são atribuídos de acordo o seu índice no array VHDL – Declarações e Atribuições 14

15 Tabela: Observações <= (menor_igual, mesma sintaxe que atribuição) & (concatenação) Ex.: 0010 & /= (diferente) VHDL – Operadores 15

16 Ex.: buzzer Estrutural Componentes Declaração Instanciação Interconexões VHDL – Ex.: 16

17 VHDL – Exemplo (Comportamental) 17 Comportamental Operações Lógicas Pode ser escrita de diversas formas

18 VHDL – (Cont.) 18 Comportamental Condicionais when select if/else ?

19 VHDL – (Cont.) 19 Comportamental Process IF/ELSE switch_case for Etc...

20 Sintaxe | process | -- parte de declaração (variáveis...) [opcional] | begin |-- corpo do process |-- interpretação sequencial |-- testes condicionais com if...then...elsif...then...else...end if | end process; Muito utilizado para circuito sequênciais Registradores, Latches, memórias Lista de sensibilidade Deve conter todas as entradas do circuito Utilizado em testbench VHDL – Process 20

21 Sintaxe | process | -- parte de declaração (variáveis...) [opcional] | begin |-- corpo do process |-- interpretação sequencial |-- testes condicionais com if...then...elsif...then...else...end if | end process; Muito utilizado para circuito sequenciais Registradores, Latches, memórias Lista de sensibilidade Deve conter todas as entradas do circuito Utilizado em testbench VHDL – Process 21

22 Equipe de desenvolvimento Equipe de testes estímulos entradas.txt resultados saidas.txt verificação se os resultados são os esperados. VHDL – Projeto 22

23 Diversos módulos VHDL Integração (TOP) - TOPO DO PROJETO 4x VHDL – Equipe de Desenvolvimento 23 Projeto RTL

24 Diversos módulos VHDL Integração (TOP) - TOPO DO PROJETO 4x VHDL – Equipe de Desenvolvimento 24 Projeto RTL

25 Equipe de teste (top_tb) Sem portas Process sem lista de sensibilidade VHDL – Testbench 25

26 Geração dos estímulos utilizando o top_tb.vhd Simulação Ferramenta ISIM Análise dos resultados através da forma de onda escovação de bit VHDL – Simulação 26

27 Hierarquia de arquivos top_tb.vhd (testbench do top do projeto – não sintetizável) top.vhd (integração dos circuitos desenvolvidos - sintetizável) top.ucf Circuito1.vhd Circuito2.vhd.... Os arquivos VHDL do exemplo buzzer estão disponibilizado na página da disciplina O arquivo top.vhd e top.ucf com as portas dos componentes básicos da XC3S400 também estão disponibilizados na página VHDL – Estrutura padrão de um projeto 27


Carregar ppt "Universidade do Sul de Santa Catarina Engenharia Elétrica - Telemática UNISUL – 2012 / 2 Engenharia de Software para Computação Embarcada Prof. Frederico."

Apresentações semelhantes


Anúncios Google