ELD129003-Engtelecom (Diário) - Prof. Marcos Moecke: mudanças entre as edições

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Moecke (discussão | contribs)
Moecke (discussão | contribs)
 
(15 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 2: Linha 2:
===Unidade 1 - Aula inicial, Introdução a disciplina===
===Unidade 1 - Aula inicial, Introdução a disciplina===
* 1 ENCONTRO
* 1 ENCONTRO
{{collapse top | Unidade 1 - Aula inicial, Introdução a disciplina}}
{{collapse top | expand=true | Unidade 1 - Aula inicial, Introdução a disciplina}}


;Encontro 1 (18 mar.):
;Encontro 1 (12 ago.):
* A '''[[ELD2-EngTelecom (Página) | página da UC]]''' contém os materiais que não alteram entre semestre.
* A '''[[ELD2-EngTelecom (Página) | página da UC]]''' contém os materiais que não alteram entre semestre.
* Relação com as outras UCs do '''Eixo Sistemas Computacionais (Marrom)'''. Ver [https://docente.ifsc.edu.br/moecke/ppc-engtelecom/PPC2023/ grafo do curriculo]
* Relação com as outras UCs do '''Eixo Sistemas Computacionais (Marrom)'''. Ver [https://docente.ifsc.edu.br/moecke/ppc-engtelecom/PPC2023/ grafo do curriculo]
Linha 28: Linha 28:


===Unidade REV - PRIMEIRO CONTATO COM VHDL ===
===Unidade REV - PRIMEIRO CONTATO COM VHDL ===
* 4 ENCONTROS
 
* 5 ENCONTROS
{{collapse top | expand=true | Unidade REV - PRIMEIRO CONTATO COM VHDL}}
{{collapse top | expand=true | Unidade REV - PRIMEIRO CONTATO COM VHDL}}
<!--
;Nivelamento 1:
;Nivelamento 1:
* [https://wiki.sj.ifsc.edu.br/images/7/75/Introdu%C3%A7%C3%A3o_a_linguagem_de_descri%C3%A7%C3%A3o_de_hardware.pdf Introdução a linguagem de descrição de hardware (DHL)]
* [https://wiki.sj.ifsc.edu.br/images/7/75/Introdu%C3%A7%C3%A3o_a_linguagem_de_descri%C3%A7%C3%A3o_de_hardware.pdf Introdução a linguagem de descrição de hardware (DHL)]
Linha 89: Linha 91:
*[[Como arquivar um projeto]]
*[[Como arquivar um projeto]]
*[[Simulação Funcional usando o ModelSim]];
*[[Simulação Funcional usando o ModelSim]];
====REVISÃO ATUAL====
 
;Nivelamento 4 - Circuitos aritméticos:
;Nivelamento 4 - Circuitos aritméticos:
*Circuitos aritméticos: somadores, incrementador, decrementador, complemento de dois, multiplicador, comparadores  
*Circuitos aritméticos: somadores, incrementador, decrementador, complemento de dois, multiplicador, comparadores  
Linha 389: Linha 391:
|background colour=#F5FFFA}}
|background colour=#F5FFFA}}
</center>
</center>
<!--
 
;Nivelamento 5 - Instruções WHEN_ELSE, WITH_SELECT, CONFIGURATION:
;Nivelamento 5 - Instruções WHEN_ELSE, WITH_SELECT, CONFIGURATION:


Linha 652: Linha 654:


===Unidade 2 - Dispositivos Lógicos Programáveis ===
===Unidade 2 - Dispositivos Lógicos Programáveis ===
* 3 ENCONTROS
 
{{collapse top | Unidade 2 - Dispositivos Lógicos Programáveis}}
* 5 ENCONTROS
{{collapse top | expand=true | Unidade 2 - Dispositivos Lógicos Programáveis}}
<!--
;Encontro 2 (20 mar.):
;Encontro 2 (20 mar.):


Linha 833: Linha 837:
;Encontro 6 (3 abr.):
;Encontro 6 (3 abr.):
* [https://wiki.sj.ifsc.edu.br/index.php/ELD129003-Engtelecom_(Di%C3%A1rio)_-_Prof._Marcos_Moecke#AE1_-_Conhecendo_os_dispositivos_l.C3.B3gicos_program.C3.A1veis AE1 - Conhecendo os dispositivos lógicos programáveis] - Passo 1 a 4
* [https://wiki.sj.ifsc.edu.br/index.php/ELD129003-Engtelecom_(Di%C3%A1rio)_-_Prof._Marcos_Moecke#AE1_-_Conhecendo_os_dispositivos_l.C3.B3gicos_program.C3.A1veis AE1 - Conhecendo os dispositivos lógicos programáveis] - Passo 1 a 4
-->
{{collapse bottom}}
{{collapse bottom}}


===Unidade 3 - Circuitos sequenciais (Implementação com HDL) ===
===Unidade 3 - Circuitos sequenciais (Implementação com HDL) ===
* 8 ENCONTROS
* 18 ENCONTROS
{{collapse top | expand=true | Unidade 3 - Circuitos sequenciais (Implementação com HDL)}}
{{collapse top | expand=true | Unidade 3 - Circuitos sequenciais (Implementação com HDL)}}
 
<!--
;Encontro 6 (3 abr.):
;Encontro 6 (3 abr.):
*Flip-Flop e circuitos sequenciais.
*Flip-Flop e circuitos sequenciais.
Linha 1 975: Linha 1 980:
*Ver funcionamento do [[Display de 7 segmentos]]
*Ver funcionamento do [[Display de 7 segmentos]]


 
-->
<!--
<!--


Linha 2 091: Linha 2 096:


===Unidade 4 - Maquinas de Estado Finitas===
===Unidade 4 - Maquinas de Estado Finitas===
* 5 ENCONTROS
{{collapse top | expand=true | Unidade 4 - Maquinas de Estado Finitas}}
{{collapse top | expand=true | Unidade 4 - Maquinas de Estado Finitas}}
;Encontro 25 (12 jun.)
<!--
;Encontro 26 (12 jun.)
* O que é uma FSM - Finite State Machine
* O que é uma FSM - Finite State Machine
{{fig|4.1|Exemplo de diagrama de estados de uma FSM Fig4.1(a) e implementação em hardware da FSM Fig4.2(a)|Fig11_1_FSM.png|800 px|Figura 11.1 e 11.2 de <ref name="PEDRONI2010b"/>}}
{{fig|4.1|Exemplo de diagrama de estados de uma FSM Fig4.1(a) e implementação em hardware da FSM Fig4.2(a)|Fig11_1_FSM.png|800 px|Figura 11.1 e 11.2 de <ref name="PEDRONI2010b"/>}}
Linha 2 185: Linha 2 192:
:: Ver pag. 277 a 280 de <ref name="PEDRONI2010b"/>
:: Ver pag. 277 a 280 de <ref name="PEDRONI2010b"/>
:: Note que o uso da atribuição manual do '''enum_encoding''' pode faz com que o compilador do Quartus não  reconheça a FSM, mas use logica regular para representar o sistema.
:: Note que o uso da atribuição manual do '''enum_encoding''' pode faz com que o compilador do Quartus não  reconheça a FSM, mas use logica regular para representar o sistema.
 
;Encontro 27  (12 jun.)
;Encontro 26 (17 jun.)
* AE16 - Controlador de Semáforo de duas vias - trabalho remoto na nuvem
:* Controlador semafórico para duas vias
;Encontro 28 (17 jun.)
::*Use o template da FSM para modelar o controlador semafórico da figurar a seguir.
* AE16 - Controlador de Semáforo de duas vias
:*Use o template da FSM para modelar o controlador semafórico da figurar a seguir.


{{fig|4.2|FSM - Controlador semafórico para duas vias  (diagrama de estados)|FSM_Sema2Vias.png|800 px| }}
{{fig|4.2|FSM - Controlador semafórico para duas vias  (diagrama de estados)|FSM_Sema2Vias.png|800 px| }}


;Encontro 27 (24 jun.)
;Encontro 29 (24 jun.)
* Diagrama de blocos de uma FSM completa. Diferença entre saída Moore e saída Mealy.
* Diagrama de blocos de uma FSM completa. Diferença entre saída Moore e saída Mealy.
:No diagrama abaixo, uma FSM (''Finite State Machine'') é modelada através dos seus componentes básicos:  
:No diagrama abaixo, uma FSM (''Finite State Machine'') é modelada através dos seus componentes básicos:  
Linha 2 290: Linha 2 298:
{{fig|4.10|Simulação de escritas, leituras simples e leitura em burst no controlador de memoria |FSM_Mem_SIM.png|1000 px|}}
{{fig|4.10|Simulação de escritas, leituras simples e leitura em burst no controlador de memoria |FSM_Mem_SIM.png|1000 px|}}


;Encontro 28 (26 jun.)
;Encontro 30 (26 jun.)
*Circuito detector de borda
*Circuito detector de borda
{{fig|4.11|Diagram de estados do detector de borda - implementação com saídas Moore|SD_edge_detector_moore.png|200 px| Fonte: <ref name="CHU2006"/>}}
{{fig|4.11|Diagram de estados do detector de borda - implementação com saídas Moore|SD_edge_detector_moore.png|200 px| Fonte: <ref name="CHU2006"/>}}
Linha 2 415: Linha 2 423:


{{fig|4.15|Diagram de estados do detector de borda - implementação com saídas Mealy melhorado|SD_edge_detector_mealy2.png|200 px| Fonte: <ref name="CHU2006"/>}}
{{fig|4.15|Diagram de estados do detector de borda - implementação com saídas Mealy melhorado|SD_edge_detector_mealy2.png|200 px| Fonte: <ref name="CHU2006"/>}}
 
-->
<!--
<!--
;Encontro reserva
;Encontro reserva
Linha 2 445: Linha 2 453:


===Unidade 5 - Metodologia RT (Register Transfer)===
===Unidade 5 - Metodologia RT (Register Transfer)===
* 7 ENCONTROS
{{collapse top | expand=true | Unidade 5 - Metodologia RT (Register Transfer)}}
{{collapse top | expand=true | Unidade 5 - Metodologia RT (Register Transfer)}}
<!--
A fonte principal dessa unidade é o capítulo 11 e 12 do livro "RTL Hardware Design Using VHDL: Coding for Efficiency, Portability, and Scalability, P. P. Chu." <ref name="CHU2006"/>  É recomendado que os alunos leiam estes capítulos e usem como fonte de consulta.
A fonte principal dessa unidade é o capítulo 11 e 12 do livro "RTL Hardware Design Using VHDL: Coding for Efficiency, Portability, and Scalability, P. P. Chu." <ref name="CHU2006"/>  É recomendado que os alunos leiam estes capítulos e usem como fonte de consulta.
;Encontro 29 (1 jul.)
;Encontro 31 (1 jul.)
:* Um algoritmo é uma sequência detalhada de ações ou passos para realizar uma tarefa ou resolver um problema. Como a semântica das linguagens de programação tradicionais também se baseia na execução sequencial, um algoritmo pode ser facilmente convertido em um programa utilizando as construções dessas linguagens. O programa, então, é compilado em instruções de máquina e executado em um computador de uso geral.
:* Um algoritmo é uma sequência detalhada de ações ou passos para realizar uma tarefa ou resolver um problema. Como a semântica das linguagens de programação tradicionais também se baseia na execução sequencial, um algoritmo pode ser facilmente convertido em um programa utilizando as construções dessas linguagens. O programa, então, é compilado em instruções de máquina e executado em um computador de uso geral.
*Exemplo de '''algoritmo que soma de 4 números''' e divide o resultado por 8.  
*Exemplo de '''algoritmo que soma de 4 números''' e divide o resultado por 8.  
Linha 2 511: Linha 2 521:
{{fig|5.1|Diagrama de blocos básico de uma FSMD |FSMD_block_diagram.png|500 px|  <ref name="CHU2006"/>}}
{{fig|5.1|Diagrama de blocos básico de uma FSMD |FSMD_block_diagram.png|500 px|  <ref name="CHU2006"/>}}


;Encontro 30 e 31 (3 e 8 jul.) - Multiplicador por adição repetitivas.
;Encontro 32 e 33 (3 e 8 jul.) - Multiplicador por adição repetitivas.
''Nota: Este exemplo é apresentado no livro  <ref name="CHU2006"/> na seção 11.3''
''Nota: Este exemplo é apresentado no livro  <ref name="CHU2006"/> na seção 11.3''


Linha 2 593: Linha 2 603:
*Testar as implementações em VHDL dos  [https://drive.google.com/file/d/1f7DqWL9390nTGgXUVdd01CaSAJX-UxOC/view?usp=drive_link Listing 11.1 a L11.6] de  <ref name="CHU2006"/>.
*Testar as implementações em VHDL dos  [https://drive.google.com/file/d/1f7DqWL9390nTGgXUVdd01CaSAJX-UxOC/view?usp=drive_link Listing 11.1 a L11.6] de  <ref name="CHU2006"/>.


;Encontro 32 (10 jul.) - Multiplicador por adição repetitivas.
;Encontro 34 (10 jul.) - Multiplicador por adição repetitivas.
*Simulação essa FSMD, verificando o funcionamento da FSM através da simulação no MODELSIM.  Teste com multiplicações por zero  (0 x 31 = 0); (31 x 0 = 0), multiplicações menores  (2 x 31 = 62); (31 x 2 = 62)  e multiplicações maiores (9 x 31 = 279) (31 x 9 = 279).
*Simulação essa FSMD, verificando o funcionamento da FSM através da simulação no MODELSIM.  Teste com multiplicações por zero  (0 x 31 = 0); (31 x 0 = 0), multiplicações menores  (2 x 31 = 62); (31 x 2 = 62)  e multiplicações maiores (9 x 31 = 279) (31 x 9 = 279).
:*Anote a '''Fmax''' e meça o número de clocks ('''N_clk''') transcorrido entre duas bordas de subida do sinal '''READY'''. Dica use dois cursores para medir o tempo total , e divida pelo período do clock utilizado na simulação.
:*Anote a '''Fmax''' e meça o número de clocks ('''N_clk''') transcorrido entre duas bordas de subida do sinal '''READY'''. Dica use dois cursores para medir o tempo total , e divida pelo período do clock utilizado na simulação.
Linha 2 690: Linha 2 700:
|}
|}
</center>
</center>
====ATUAL====
 
;Encontro 33 (15 jul.) - Revisão de projeto hierárquico.
;Encontro 35 a 37 (15 a 22 jul.) - Revisão de projeto hierárquico.
* Implementar um controlador de semáforo construído com os seguintes componentes:  1 divisor de clock ('''div_clk'''), 1 temporizador de segundos com contagem crescente em BCD ('''timer_bcd'''), 2 conversores de BCD para SSD ('''bcd2ssd'''), uma FSM para semáforo de 2 vias ('''FSM_2vias''').
* Implementar um controlador de semáforo construído com os seguintes componentes:  1 divisor de clock ('''div_clk'''), 1 temporizador de segundos com contagem crescente em BCD ('''timer_bcd'''), 2 conversores de BCD para SSD ('''bcd2ssd'''), uma FSM para semáforo de 2 vias ('''FSM_2vias''').
* Os componentes devem ser declarados como STUB, isto é a '''archicteture''' deve estar vazia.  Isso facilita o entendimento do projeto hierárquico sem a ocorrência de erros internos nos componentes.  
* Os componentes devem ser declarados como STUB, isto é a '''archicteture''' deve estar vazia.  Isso facilita o entendimento do projeto hierárquico sem a ocorrência de erros internos nos componentes.  
Linha 2 698: Linha 2 708:
{{fig|5.30|Diagrama de RTL do top level  |RTL_TL.png|800 px| Igor & Ygor 2025}}
{{fig|5.30|Diagrama de RTL do top level  |RTL_TL.png|800 px| Igor & Ygor 2025}}


 
-->
<!--
<!--
;Encontro 35 (18 fev.)
;Encontro 35 (18 fev.)
Linha 2 744: Linha 2 754:
-->
-->
{{collapse bottom}}
{{collapse bottom}}
<!--
;Encontro 38 (27 ago.)
*Avaliação de Recuperação R12. 
:1) Desenvolver um projeto de circuito sequencial  [hierárquico] ou FSM ou FSMD. 
:2) Realizar e registrar todas as etapas de análise e síntese, verificar elementos lógicos, frequência máxima, e eventualmente o tempo de processamento.
:3) Obter diagramas RTL, technology map, escrever corretamente os arquivos de script, com o sinal wave formatado adequadamente. 
:4) Enviar os arquivos necessários no .qar que permitam reproduzir os resultados obtidos.
-->


==Avaliações==
==Avaliações==
Durante o semestre serão realizadas entre 2 avaliações e várias atividades feitas extra classe.
Durante o semestre serão realizadas 2 avaliações e várias atividades feitas extra classe.


;Data das avaliações:
;Data das avaliações:
*A1 : Avaliação A1 (peso 35) XX/XX/2025
*A1 : Avaliação A1 (peso 35) XX/2025
*A2 : Avaliação A2 (peso 40) XX/XX/2025
*A2 : Avaliação A2 (peso 45) XX/2025
*AEs : Média ponderada das AEs  (peso 25)  
*AEs : Média ponderada das AEs  (peso 20)  
*R1 e R2 : Recuperação de A1 e A2 :XX/XX/2025  
*R1 : Recuperação de A1 : XX/2025
*R2 : Recuperação de A2 : XX/2025  
*[[Folha de consulta de VHDL]]
*[[Folha de consulta de VHDL]]


<!--
== Atividade relâmpago (AR) ==
== Atividade relâmpago (AR) ==
As atividades relâmpago devem ser entregues no Moodle da disciplina. A não entrega dessas atividades não gera nenhum desconto, apenas geram pontos de BÔNUS que são adicionados aos conceitos das avaliações A1 a AN.
As atividades relâmpago devem ser entregues no Moodle da disciplina. A não entrega dessas atividades não gera nenhum desconto, apenas geram pontos de BÔNUS que são adicionados aos conceitos das avaliações A1 a AN.
Linha 2 844: Linha 2 848:
== Atividade extra-classe (AE) ==
== Atividade extra-classe (AE) ==
A média ponderada das atividades extra-classe será considerada no cálculo do conceito final da UC.  A entrega das mesmas será feita pelo Moodle, e cada dia de atraso irá descontar 0,2 na nota da atividade.  Muitas dessas atividades também geram pontos de BÔNUS que são adicionados aos conceitos das avaliações A1 a AN.  Para os BÔNUS só serão considerados projetos entregues no prazo.
A média ponderada das atividades extra-classe será considerada no cálculo do conceito final da UC.  A entrega das mesmas será feita pelo Moodle, e cada dia de atraso irá descontar 0,2 na nota da atividade.  Muitas dessas atividades também geram pontos de BÔNUS que são adicionados aos conceitos das avaliações A1 a AN.  Para os BÔNUS só serão considerados projetos entregues no prazo.
 
<!--
===AE1 -  Conhecendo os dispositivos lógicos programáveis===
===AE1 -  Conhecendo os dispositivos lógicos programáveis===
{{collapse top | expand=true| bg=lightyellow | AE1 -  Conhecendo os dispositivos lógicos programáveis}}
{{collapse top | expand=true| bg=lightyellow | AE1 -  Conhecendo os dispositivos lógicos programáveis}}

Edição atual tal como às 11h22min de 11 de agosto de 2025

1 Registro on-line das aulas

1.1 Unidade 1 - Aula inicial, Introdução a disciplina

  • 1 ENCONTRO
Unidade 1 - Aula inicial, Introdução a disciplina
Encontro 1 (12 ago.)
  • A página da UC contém os materiais que não alteram entre semestre.
  • Relação com as outras UCs do Eixo Sistemas Computacionais (Marrom). Ver grafo do curriculo
  • ELD129002 - ELETRÔNICA DIGITAL I (ELD1): Sistema de numeração e códigos. Lógica booleana. Circuitos combinacionais. Circuitos aritméticos. Linguagem de descrição de hardware. Implementação e teste de circuitos digitais. Projeto de circuitos lógicos.
  • ELD129003 - ELETRÔNICA DIGITAL II (ELD2): Dispositivos lógicos programáveis. Circuitos sequenciais. Metodologia síncrona. Projeto hierárquico e parametrizado. Máquinas de estados finita. Register Transfer Methodology. Teste de circuitos digitais. Implementação em FPGA. Introdução a Linguagem de Descrição de Hardware.
  • AOC129004 - ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES (AOC): Introdução à Arquitetura Computadores. Linguagem Assembly. Linguagem de Máquina. Programação Assembly. Modos de Endereçamento. Processo de compilação e carga de um programa. Introdução à Organização de Computadores. Organização Monociclo e Multiciclo. Pipeline. Memória e Sistema de E/S.
  • MIC129007 - MICROCONTROLADORES (MIC): Introdução a Microcontroladores e Aplicações. Arquitetura de um microcontrolador. Pilha e Subrotinas. Interrupção. Contadores e Temporizadores. Interface com Periféricos. Programação em alto nível (ex.: C, C++ e RUST) para Microcontroladores: Mapeamento de tipos e estruturas de alto nível para sistemas com recursos limitados. Projeto de hardware e firmware com microcontroladores.
  • STE129008 - STE - SISTEMAS EMBARCADOS (STE): Conceitos em Sistemas Embarcados. Metodologia de Desenvolvimento de Sistemas Embarcados. Sistemas Operacionais para Sistemas Embarcados. Ferramentas de desenvolvimento e depuração. Barramentos e dispositivos de acesso a redes. Desenvolvimento de Projeto.
  • Nesta página está o Registro diário dos encontros e avaliações.
  • A entrega de atividades e avaliações será através da plataforma Moodle. A inscrição dos alunos é automática a partir do SIGAA.
  • Para a comunicação entre professor-aluno, além dos avisos no SIGAA, utilizaremos o chat institucional. A princípio todos os alunos já estão previamente cadastrados pelo seu email institucional. Confiram enviando uma mensagem de apresentação.
  • Utilizaremos durante as aulas algumas ferramentas computacionas como o site do Falstad para entender circuitos digitais e fazer simulações básicas.
  • Também utilizaremos os softwares Quartus Light e ModelSim instalados nas maquinas do laboratório para praticar a parte de programação de hardware (descrição de hardware). Esses softwares também podem ser usados através da Nuvem do IFSC..
  • Para a prática de implementação dos circitos em dispositivos lógicos utilizaremos os kits de FPGA disponíveis no LabSiDi. Ver User Manual da DE2-115, e Manual do Usuário da Mercúrio IV.
LER PARA O PRÓXIMO ENCONTRO

1.2 Unidade REV - PRIMEIRO CONTATO COM VHDL

  • 5 ENCONTROS
Unidade REV - PRIMEIRO CONTATO COM VHDL

1.3 Unidade 2 - Dispositivos Lógicos Programáveis

  • 5 ENCONTROS
Unidade 2 - Dispositivos Lógicos Programáveis

1.4 Unidade 3 - Circuitos sequenciais (Implementação com HDL)

  • 18 ENCONTROS
Unidade 3 - Circuitos sequenciais (Implementação com HDL)

1.5 Unidade 4 - Maquinas de Estado Finitas

  • 5 ENCONTROS
Unidade 4 - Maquinas de Estado Finitas

1.6 Unidade 5 - Metodologia RT (Register Transfer)

  • 7 ENCONTROS
Unidade 5 - Metodologia RT (Register Transfer)

2 Avaliações

Durante o semestre serão realizadas 2 avaliações e várias atividades feitas extra classe.

Data das avaliações
  • A1 : Avaliação A1 (peso 35) XX/2025
  • A2 : Avaliação A2 (peso 45) XX/2025
  • AEs : Média ponderada das AEs (peso 20)
  • R1 : Recuperação de A1 : XX/2025
  • R2 : Recuperação de A2 : XX/2025
  • Folha de consulta de VHDL


3 Atividade extra-classe (AE)

A média ponderada das atividades extra-classe será considerada no cálculo do conceito final da UC. A entrega das mesmas será feita pelo Moodle, e cada dia de atraso irá descontar 0,2 na nota da atividade. Muitas dessas atividades também geram pontos de BÔNUS que são adicionados aos conceitos das avaliações A1 a AN. Para os BÔNUS só serão considerados projetos entregues no prazo.

4 Referências Bibliográficas:

Será que uma boa parte do que fazemos com calculo digital será analógico no futuro? Future Computers Will Be Radically Different (Analog Computing)

Curso de Engenharia de Telecomunicações