DLP29006-Engtelecom(2017-1) - Prof. Marcos Moecke: mudanças entre as edições
Ir para navegação
Ir para pesquisar
Linha 44: | Linha 44: | ||
::Ver pag. 418 a 429 de <ref name="PEDRONI2010a"> PEDRONI, Volnei A. Eletrônica digital moderna e VHDL; 1ª ed. Rio de Janeiro:Elsevier, 2010. 619p. . ISBN 9788535234657 </ref> | ::Ver pag. 418 a 429 de <ref name="PEDRONI2010a"> PEDRONI, Volnei A. Eletrônica digital moderna e VHDL; 1ª ed. Rio de Janeiro:Elsevier, 2010. 619p. . ISBN 9788535234657 </ref> | ||
;Aula 3 (17 Fev): | ;Aula 3 (17 Fev): | ||
:* Fabricantes de DLPs/FPGAs e familias de DLPs atuais. | :* Fabricantes de DLPs/FPGAs e familias de DLPs atuais. | ||
Linha 59: | Linha 58: | ||
::*[https://en.wikipedia.org/wiki/14_nanometer 14nm FinFET Technology], [https://www.youtube.com/watch?v=gLPscTDAaZU Samsung & Globalfounfries], [https://www.youtube.com/watch?v=Jctk0DI7YP8 Funcionamento do FinFET], [https://www.youtube.com/watch?v=W3rfVpkNquA Produção do FinFET], [https://www.youtube.com/watch?v=d9SWNLZvA8g] | ::*[https://en.wikipedia.org/wiki/14_nanometer 14nm FinFET Technology], [https://www.youtube.com/watch?v=gLPscTDAaZU Samsung & Globalfounfries], [https://www.youtube.com/watch?v=Jctk0DI7YP8 Funcionamento do FinFET], [https://www.youtube.com/watch?v=W3rfVpkNquA Produção do FinFET], [https://www.youtube.com/watch?v=d9SWNLZvA8g] | ||
::*[https://www.youtube.com/watch?v=UvluuAIiA50 Processo de fabricação de um chip] | ::*[https://www.youtube.com/watch?v=UvluuAIiA50 Processo de fabricação de um chip] | ||
===Unidade 2=== | |||
====ATUAL==== | |||
;Aula 4 (20 Fev) - Introdução ao VHDL e ambienta EDA - QUARTUS | |||
* Estrutura do código VHDL | |||
:* Declaração das bibliotecas e pacotes '''LIBRARY''' / '''PACKAGE''' | |||
<i> | |||
library library_name; | |||
use library_name.package)name.all; | |||
</i> | |||
:* '''ENTITY''' | |||
<i> | |||
entity entity_name is | |||
[generic ( | |||
cons_name1: const_type const_value; | |||
cons_name2: const_type const_value; | |||
... | |||
cons_nameN: const_type const_value);] | |||
[port ( | |||
signal_name1: mode signal_type; | |||
signal_name2: mode signal_type; | |||
... | |||
signal_nameN: mode signal_type);] | |||
[declarative_part] | |||
[begin | |||
statement_part] | |||
end [entity] [entity_name]; | |||
</i> | |||
:* '''ARCHITECTURE''' | |||
<i> | |||
architecture arch_name of entity_name is | |||
[declarative_part] | |||
begin | |||
statement_part | |||
end [architecture] [arch_name]; | |||
</i> | |||
* Exemplo - Declaração de uma porta NAND em VHDL | |||
<syntaxhighlight lang=vhdl> | |||
library std; | |||
use std.standard.all; | |||
entity nand_gate is | |||
port (a, b: in bit; x: out bit); | |||
end entity; | |||
architecture nome_arch of nand_gate is | |||
begin | |||
x <= a nand b; | |||
end architecture; | |||
</syntaxhighlight> | |||
<!-- | |||
<center>[[Arquivo:VHDL_nand_gate.png| 400 px]]</center> | |||
<center> Figura 2.1 - Declaração de uma porta NAND em VHDL </center> | |||
--> | |||
* Exemplo 2.2 (VHDL) - programação de um flip-flop | |||
<syntaxhighlight lang=vhdl> | |||
-- Declaração das bibliotecas e pacotes | |||
LIBRARY ieee; | |||
USE ieee.std_logic_1164.all; | |||
-- Especificação de todas as entradas e saídas do circuito | |||
ENTITY flip_flop IS | |||
PORT (d, clk, rst: IN STD_LOGIC; | |||
q: OUT STD_LOGIC); | |||
END; | |||
-- Descrição de como o circuito deve funcionar | |||
ARCHITECTURE flip_flop OF flip_flop IS | |||
BEGIN | |||
PROCESS (clk, rst) | |||
BEGIN | |||
IF (rst='1') THEN | |||
q <= '0'; | |||
ELSIF (clk'EVENT AND clk='1') THEN | |||
q <= d; | |||
END IF; | |||
END PROCESS; | |||
END; | |||
</syntaxhighlight> | |||
:* Após a [[criação do projeto em VHDL]] utilizando a descrição de hardware acima, [[compile o código VHDL]]. | |||
:* Use o [[RTL Viewer]] para ver a descrição RTL do circuito. | |||
<center>[[Arquivo:RTL_Ex2_2_Pedronib.png| 400 px]]</center> | |||
<center> Figura 2.2 - Código RTL do Exemplo 2.2 </center> | |||
:* Use o [[Technology Map Viewer]] para ver a como o circuito foi mapeado para os elementos lógicos disponíveis no dispositivo FPGA selecionado (EP1C3T100A8) | |||
<center>[[Arquivo:TM_Ex2_2_Pedronib.png| 400 px]]</center> | |||
<center> Figura 2.3 - Technology Map do Exemplo 2.2 </center> | |||
:* Abra o [[Chip Planner]] e observe no [[Node Properties]] como esse circuito é conectado dentro do dispositivo FPGA selecionado | |||
<center>[[Arquivo:ChipPlanner_Ex2_2_Pedronib.png| 400 px]]</center> | |||
<center> Figura 2.4 - Chip Planner do Exemplo 2.2 </center> | |||
:* Realizar as simulações funcional e temporal do circuito | |||
<!-- | |||
;Aula 4 (23 Ago) - Introdução ao VHDL e ambienta EDA - QUARTUS | |||
* Estrutura do código VHDL | |||
:* Exemplo 2.3 (VHDL e QSIM) - programação de um circuito somador com registrador | |||
:: Realizar as simulações funcional e temporal do circuito | |||
:: Observar o "Technology Map" e o "RTL" do circuito | |||
<syntaxhighlight lang=vhdl> | |||
LIBRARY ieee; | |||
USE ieee.std_logic_1164.all; | |||
ENTITY registered_comp_add IS | |||
PORT (clk: IN STD_LOGIC; | |||
a, b: IN INTEGER RANGE 0 TO 7; | |||
reg_comp: OUT STD_LOGIC; | |||
reg_sum: OUT INTEGER RANGE 0 TO 15); | |||
END; | |||
ARCHITECTURE circuit OF registered_comp_add IS | |||
SIGNAL comp: STD_LOGIC; | |||
SIGNAL sum: INTEGER RANGE 0 TO 15; | |||
BEGIN | |||
comp <= '1' WHEN a>b ELSE '0'; | |||
sum <= a + b; | |||
PROCESS (clk) | |||
BEGIN | |||
IF (clk'EVENT AND clk='1') THEN | |||
reg_comp <= comp; | |||
reg_sum <= sum; | |||
END IF; | |||
END PROCESS; | |||
END; | |||
</syntaxhighlight> | |||
:: Acrescente saídas para o sinal '''sum''' e para o sinal '''comp''', de modo a poder observar estes sinais no simulador QSIM e realize novas simulações funcional e temporal. | |||
<center>[[Arquivo:RTL_Ex2_3_Pedronib.png | 400 px]] </center> | |||
<center> Figura 2.5 - Código RTL do Exemplo 2.3 </center> | |||
::Para conhecer melhor o ambiente do simulador QSIM veja [[Arquivo:Quartus_II_Simulation.pdf | Introduction to Simulation of VHDL Designs]] da ALTERA. | |||
::Ver pag. 3 a 24 de <ref name="PEDRONI2010b"> PEDRONI, Volnei A. '''Circuit Design and Simulation with VHDL'''; 2ª ed. Massachusetts-EUA:MIT, 2010. 608 p. ISBN 9780262014335 </ref> | |||
--> | |||
==Avaliações== | ==Avaliações== |
Edição das 13h28min de 20 de fevereiro de 2017
1 Registro on-line das aulas
1.1 Unidade 1
- Aula 1 (10 Fev)
- Ler Dispositivos Lógicos Programáveis - Kamila Rose da Silva, IFSC
- Aula 2 (14 Fev)
- Introdução aos dispositivos lógicos programáveis:
- Conceito, tipos de PLDs
- SPLD: PAL, PLA e GAL
- CPLDs
Exemplos de PLDs |
---|
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
- Ver In the beginning - ALTERA
- Ver ALTERA history
- Ver pag. 413 a 422 de [1]
- Ver pag. 495 a 499 de [2]
- Arquitetura de FPGAs (Xilinx e Altera): CLB, LAB, RAM, DSP, Clock, PLL, I/O
- Vizualização no Chip Planner de um projeto. (importante todos alunos terem acesso a IFSC-CLOUD
- Aula 3 (17 Fev)
-
- Fabricantes de DLPs/FPGAs e familias de DLPs atuais.
- Preços
- Historia, processo de produção dos chips.
- A Brief History of the Fabless Semiconductor Industry
- Taiwan Semiconductor Manufacturing Corporation (TSMC), [http://www.globalfoundries.com/ GLOBALFOUNDRIES
- Fabless: The Transformation of the Semiconductor Industry, 2014 - Download free
- 14nm FinFET Technology, Samsung & Globalfounfries, Funcionamento do FinFET, Produção do FinFET, [1]
- Processo de fabricação de um chip
1.2 Unidade 2
1.2.1 ATUAL
- Aula 4 (20 Fev) - Introdução ao VHDL e ambienta EDA - QUARTUS
- Estrutura do código VHDL
- Declaração das bibliotecas e pacotes LIBRARY / PACKAGE
library library_name; use library_name.package)name.all;
- ENTITY
entity entity_name is [generic ( cons_name1: const_type const_value; cons_name2: const_type const_value; ... cons_nameN: const_type const_value);] [port ( signal_name1: mode signal_type; signal_name2: mode signal_type; ... signal_nameN: mode signal_type);] [declarative_part] [begin statement_part] end [entity] [entity_name];
- ARCHITECTURE
architecture arch_name of entity_name is [declarative_part] begin statement_part end [architecture] [arch_name];
- Exemplo - Declaração de uma porta NAND em VHDL
library std;
use std.standard.all;
entity nand_gate is
port (a, b: in bit; x: out bit);
end entity;
architecture nome_arch of nand_gate is
begin
x <= a nand b;
end architecture;
- Exemplo 2.2 (VHDL) - programação de um flip-flop
-- Declaração das bibliotecas e pacotes
LIBRARY ieee;
USE ieee.std_logic_1164.all;
-- Especificação de todas as entradas e saídas do circuito
ENTITY flip_flop IS
PORT (d, clk, rst: IN STD_LOGIC;
q: OUT STD_LOGIC);
END;
-- Descrição de como o circuito deve funcionar
ARCHITECTURE flip_flop OF flip_flop IS
BEGIN
PROCESS (clk, rst)
BEGIN
IF (rst='1') THEN
q <= '0';
ELSIF (clk'EVENT AND clk='1') THEN
q <= d;
END IF;
END PROCESS;
END;
- Após a criação do projeto em VHDL utilizando a descrição de hardware acima, compile o código VHDL.
- Use o RTL Viewer para ver a descrição RTL do circuito.

- Use o Technology Map Viewer para ver a como o circuito foi mapeado para os elementos lógicos disponíveis no dispositivo FPGA selecionado (EP1C3T100A8)

- Abra o Chip Planner e observe no Node Properties como esse circuito é conectado dentro do dispositivo FPGA selecionado

- Realizar as simulações funcional e temporal do circuito
2 Avaliações
- Avaliação A1 - Unidade 2 a 4 (XX/XX/2017) - Local: Lab Redes I.
- Avaliação A2 - Unidade 5 a 7 (XX/XX/2017) - Local: Lab Redes I.
- As avaliações A1 e A2 são com consulta apenas as folhas de consulta entregues VHDL QUICK REFERENCE CARD e VHDL 1164 PACKAGES QUICK REFERENCE CARD. Dica use também como fonte de consulta os templates do Quartus.
- Recuperação R1-2 - Unidade 2 a 7 (XX/XX/2017) - Local: Lab Redes I.
- Ao final das avaliações o aluno deverá enviar para o email moecke AT ifsc.edu.br com os arquivos solicitados.
- Entrega dos Atividades Extraclasse ao longo do semestre AE1 a AE(N-1). Os prazos serão indicados aqui na Wiki
- Projeto Final APF (XX/XX/2017).
3 Referências Bibliográficas: