Mudanças entre as edições de "SST20707-2014-1"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
(Limpou toda a página)
Etiqueta: anulando
 
(30 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
= Síntese de Sistemas de Telecomunicações: Diário de Aula 2014-1 =
 
  
'''Professor:''' [[Roberto de Matos]]
 
<br>'''Encontros:''' 2ª e 3ª feira às 13:30
 
<br>'''Atendimento paralelo:''' 2ª feira das 15:40 às 17:30.
 
 
* [[Síntese de Sistemas de Telecomunicações |Plano de Ensino]]
 
 
== Assuntos trabalhados ==
 
*[[Introdução aos dispositivos lógicos programáveis]]
 
*[[Introdução à tecnologia FPGA ]]
 
*[[Introdução a linguagem VHDL]]
 
 
== Apoio Desenvolvimento ==
 
*[http://www.altera.com/education/univ/materials/boards/de2-115/unv-de2-115-board.html Página DE2-115 (Manual, QSF)]
 
 
<!--
 
<syntaxhighlight lang=text>
 
killall jtagd
 
 
sudo vim /etc/udev/rules.d/51-usbblaster.rules
 
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6001", MODE="0666"
 
 
sudo groupadd usbblaster
 
sudo usermod -a -G usbblaster aluno
 
sudo usermod -a -G usbblaster root
 
sudo chown root:usbblaster /etc/udev/rules.d/51-usbblaster.rules
 
 
sudo udevadm control --reload-rules
 
</syntaxhighlight>
 
 
*Resolve problema Modelsim
 
sudo apt-get install gnome-session-fallbac
 
 
-->
 
 
== Slides ==
 
*[[Media:Sst-intro.pdf|Slides de Introdução]]
 
*[[Media:Sst-lab1_esquematico_fluxo_quartus.pdf‎|Fluxo de Projeto Quartus]]
 
*[[Media:Sst-lab2_VHDL_fluxo_quartus.pdf‎‎|Introdução à Linguagem VHDL]]
 
*[[Media:Sst-lab3_componentes.pdf‎‎|Componentes em VHDL]]
 
 
= 10/02: 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
 
 
= 11/02: Desenvolvimento com PLDs =
 
* Famílias de Componentes Lógicos Programáveis
 
* Arquitetura dos FPGAS
 
* Introdução ao Fluxo de Projeto do Quartus
 
 
= 17/02: Laboratório Quartus =
 
* Fluxo de projeto esquemáticos com Quartus e Modelsim (Porta AND)
 
* Exercício: Projeto, Simulação e Teste do [http://en.wikipedia.org/wiki/Adder_(electronics) meio-somador]
 
 
= 18/02: 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)
 
 
= 24/02: Linguagem VHDL =
 
== Exemplos VHDL (Entity e Architecture) ==
 
* Meio Somador
 
* LCD and Switch
 
 
==Componentes (COMPONENT, PORT MAP)==
 
*Sintaxe Simplificada:
 
;:<syntaxhighlight lang=vhdl>
 
--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:
 
;:<code>
 
--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:
 
;:<code>
 
--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>
 
 
 
= 10/03: Código Concorrente (WHEN, SELECT) =
 
 
== WHEN ==
 
*Sintaxe Simplificada:
 
;:<code>
 
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:
 
;:<code>
 
x <= a when (s="00") else
 
b when (s="01") else
 
c when (s="10") else
 
d;
 
</syntaxhighlight>
 
 
== SELECT ==
 
*Sintaxe Simplificada:
 
;:<code>
 
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:
 
;:<code>
 
with s select
 
  x <= "0001" when "00",
 
"0010" when "01",
 
"0011" when "10",
 
"0100" when others;
 
</syntaxhighlight>
 

Edição atual tal como às 16h13min de 21 de dezembro de 2021