SST20707-2013-2

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar

Síntese de Sistemas de Telecomunicações: Diário de Aula 2013-2

Professor: Roberto de Matos
Encontros: 3ª feira 9:40 e 6ª feira 7:30
Atendimento paralelo: 4ª feira das 13:30 às 15:20.

Assuntos trabalhados

Apoio Desenvolvimento

Slides

1ª Aula: Apresentação

  • Apresentação do professor.
  • Apresentação dos alunos: Nome, perfil, preferências, etc.
  • Apresentação da disciplina: conteúdo, bibliografia e avaliação.
  • Aula Introdutória:
    • Por que dispositivos lógicos programáveis?
    • Histórico

2ª Aula: Desenvolvimento com PLDs

  • Famílias de Componentes Lógicos Programáveis
  • Arquitetura dos FPGAS
  • Introdução ao Fluxo de Projeto do Quartus

3ª Aula: Laboratório Quartus

  • Fluxo de projeto esquemáticos com Quartus e Modelsim (Porta AND)
  • Exercício: Projeto, Simulação e Teste do meio-somador

4ª Aula: Introdução à Linguagem VHDL

  • Finalização do fluxo de projeto do Meio somador no Quartus e Modelsim, utilização a entrada de esquemático.
  • Apresentação da Linguagem VHDL
  • Conceitos de entidade (entity) e arquitetura (architecture)

5ª Aula: Projetando com VHDL

  • Estudo de caso: Meio Somador em VHDL

6ª Aula: Projetando com VHDL

  • Exercício: Manipulação do LCD utilizando VHDL

7ª Aula: Código Concorrente (WHEN, SELECT)

WHEN

  • Sintaxe Simplificada:

signal_name <= value_expr_1 when boolean_expr_1 else value_expr_2 when boolean_expr_2 else value_expr_3 when boolean_expr_3 else ... value_expr_n </syntaxhighlight>

  • Exemplo:

x <= a when (s="00") else b when (s="01") else c when (s="10") else

	d;

</syntaxhighlight>

SELECT

  • Sintaxe Simplificada:

with select_expression select

    signal_name <=	value_expr_1 when choice_1,

value_expr_2 when choice_2, value_expr_3 when choice_3, ... value_expr_n when choice_n; </syntaxhighlight>

  • Exemplo:

with s select x <= a when "00", b when "01", c when "10", d when others; </syntaxhighlight>

8ª Aula: Componentes (COMPONENT, PORT MAP)

  • Sintaxe Simplificada:

--Declaração----------------------------------------------------------

COMPONENT component_name [IS] [GENERIC ( const_name: const_type := const_value; ...);] PORT ( port_name: port_mode signal_type; ...); END COMPONENT [component_name];


--Instanciação----------------------------------------------------------

label: [COMPONENT] component_name [GENERIC MAP (generic_list) ] PORT MAP (port_list);

</syntaxhighlight>

  • Exemplo:

--Declaração----------------------------------------------------------

COMPONENT nand_gate IS PORT ( a, b: IN STD_LOGIC; c: OUT STD_LOGIC); END COMPONENT;


--Instanciação---------------------------------------------------------

nand1: nand_gate PORT MAP (x, y, z); --mapeamento posicional nand2: nand_gate PORT MAP (a=>x, b=>y, c=>z); --mapeamento nominal

</syntaxhighlight>

  • Exemplo GENERIC:

--Declaração----------------------------------------------------------

COMPONENT xor_gate IS GENERIC (N: INTEGER := 8); PORT ( a: IN STD_LOGIC(1 TO N); b: OUT STD_LOGIC); END COMPONENT;


--Instanciação----------------------------------------------------------

xor1: xor_gate GENERIC MAP (16) PORT MAP (x, y); --map. posicional xor2: xor_gate GENERIC MAP (N=>16) PORT MAP (a=>x, b=>y); --map. nominal

</syntaxhighlight>

9ª Aula: Componentes (continuação)

  • Exercício utilizando o "decodificador" LCD e o debouncer.
  • [Arquivo:Debouncer.zip Arquivos] de apoio.