SST20707-2013-2

De MediaWiki do Campus São José
Revisão de 10h20min de 1 de outubro de 2013 por Roberto.matos (discussão | contribs) (→‎SELECT)
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

16/08: 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

20/08: Desenvolvimento com PLDs

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

23/08: Laboratório Quartus

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

27/08: 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)

30/08: Projetando com VHDL

  • Estudo de caso: Meio Somador em VHDL

03/09: Projetando com VHDL

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

06/09: 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 <= "0001" when "00", "0010" when "01", "0011" when "10", "0100" when others; </syntaxhighlight>

10/09: 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>

13/09: Componentes (continuação)

  • Exercício utilizando o "decodificador" LCD e o debouncer.
  • Arquivos de apoio.


Componentes-decode.png


17/09: Não houve aula

  • Palestra Sinapse da Inovação

20/09: Componentes (continuação)

  • Exercício de componentes utilizando o exemplo do LCD Decode.

24/09: Suspensa

  • Convocação do professores pela Direção de Ensino

27/09: