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)
 
(16 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 224: Linha 1 229:




;Encontro 14 (24 abr.):
;Encontro 12 (24 abr.):
*Temporizações de um Flip-Flop.
*Temporizações de um Flip-Flop.
:*atraso do clock para saída (Tcq)
:*atraso do clock para saída (Tcq)
Linha 1 253: Linha 1 258:




;Encontro 15 (29 abr.):
;Encontro 13 (29 abr.):
Instruções do tipo '''LOOP''': LOOP incondicional, '''FOR-LOOP''', '''WHILE-LOOP''', '''NEXT''', '''EXIT'''  
Instruções do tipo '''LOOP''': LOOP incondicional, '''FOR-LOOP''', '''WHILE-LOOP''', '''NEXT''', '''EXIT'''  


Linha 1 357: Linha 1 362:
*Ver pag. 161 a 164 de <ref name="PEDRONI2010b"/>
*Ver pag. 161 a 164 de <ref name="PEDRONI2010b"/>


;Encontro 16 (6 mai.):
;Encontro 14 (6 mai.):
*Implemente o contador de sequencia arbitraria (implementado com when else) (ver Listing 8.11 - Arbitrar-sequence counter).
*Implemente o contador de sequencia arbitraria (implementado com when else) (ver Listing 8.11 - Arbitrar-sequence counter).
*Implemente o contador com opções de clear sincrono, load, e parada (ver Listing 8.13 - Featured binary counter).
*Implemente o contador com opções de clear sincrono, load, e parada (ver Listing 8.13 - Featured binary counter).
*Implemente o contador de modulo m (onde m é uma entrada) (ver Listing 8.15 e 8.16 - Programmable mod-m counter).
*Implemente o contador de modulo m (onde m é uma entrada) (ver Listing 8.15 e 8.16 - Programmable mod-m counter).


;Encontro 17 (8 mai.):
;Encontro 15 (8 mai.):
* Projetar um divisor de clock que dado um clock de entrada de fclk Hz, produza na saída um sinal de clock de f/N onde N é um número inteiro ('''div_clk''')
* Projetar um divisor de clock que dado um clock de entrada de fclk Hz, produza na saída um sinal de clock de f/N onde N é um número inteiro ('''div_clk''')
<syntaxhighlight lang=vhdl>
<syntaxhighlight lang=vhdl>
Linha 1 407: Linha 1 412:
:*Contador de segundos e minutos síncrono (ver Listing 9.6)
:*Contador de segundos e minutos síncrono (ver Listing 9.6)


;Encontro 18 (13 mai.):
;Encontro 16 (13 mai.):
*Fazer a compilação completa, simular e fazer o timing analysis dos seguintes circuitos:
*Fazer a compilação completa, simular e fazer o timing analysis dos seguintes circuitos:
:*Contador de segundos e minutos com clock derivado (ver Listing 9.5)
:*Contador de segundos e minutos com clock derivado (ver Listing 9.5)
Linha 1 416: Linha 1 421:




;Encontro 19 (15 mai.):
;Encontro 17(15 mai.):
Comparar o desempenho Fmax, número de elementos lógicos, número de registradores, número de pinos dos seguintes contadores, considerando uma saída de N_bits.
Comparar o desempenho Fmax, número de elementos lógicos, número de registradores, número de pinos dos seguintes contadores, considerando uma saída de N_bits.
*Contador binario sequencial  
*Contador binario sequencial  
Linha 1 440: Linha 1 445:
* Consultar [https://users.ece.cmu.edu/~koopman/lfsr/] ou a página 5 de [https://docs.amd.com/v/u/en-US/xapp052] para obter os termos que são usados na realimentação.
* Consultar [https://users.ece.cmu.edu/~koopman/lfsr/] ou a página 5 de [https://docs.amd.com/v/u/en-US/xapp052] para obter os termos que são usados na realimentação.


;Encontro 20 (20 mai.):
;Encontro 18(20 mai.):
*'''Circuito de PWM''' (''Pulse Width Modulation'' - Modulação por largura de pulso) [https://drive.google.com/file/d/1FLvKLrSAZs9HQkz-QxkB3rsDHyGryf1-/view?usp=drive_link L9.14 de  <ref name="CHU2006"/>].  
*'''Circuito de PWM''' (''Pulse Width Modulation'' - Modulação por largura de pulso) [https://drive.google.com/file/d/1FLvKLrSAZs9HQkz-QxkB3rsDHyGryf1-/view?usp=drive_link L9.14 de  <ref name="CHU2006"/>].  
:*Em algumas aplicações ao invés de usar diretamente a contagem, se usa o estado do contador para geram sinais de saída. Um exemplo é um circuito de modulação por largura de pulso (PWM), que gera um pulso de saída com um ciclo de trabalho ajustável.  
:*Em algumas aplicações ao invés de usar diretamente a contagem, se usa o estado do contador para geram sinais de saída. Um exemplo é um circuito de modulação por largura de pulso (PWM), que gera um pulso de saída com um ciclo de trabalho ajustável.  
Linha 1 463: Linha 1 468:
:*'''Versão 1:''' Com underflow no valor mínimo (MIN) e overflow no máximo (MAX).
:*'''Versão 1:''' Com underflow no valor mínimo (MIN) e overflow no máximo (MAX).
:*'''Versão 2:''' Com parada no valor mínimo (MIN), se decrescente e também no máximo (MAX) se crescente.
:*'''Versão 2:''' Com parada no valor mínimo (MIN), se decrescente e também no máximo (MAX) se crescente.
;Encontro 21 (22 mai.):
;Encontro 19 (22 mai.):
*Instrução '''IF GENERATE'''
*Instrução '''IF GENERATE'''


Linha 1 685: Linha 1 690:




;Encontro 22 (27 mai.):
;Encontro 20 (27 mai.):
*Uso de componentes e instanciação de componentes.
*Uso de componentes e instanciação de componentes.
<blockquote style="background: lightblue; border: 3px solid black; padding: 1em;">
<blockquote style="background: lightblue; border: 3px solid black; padding: 1em;">
Linha 1 925: Linha 1 930:
O '''open''' informa que a saída valid não será usada e evita que o compilador gere erros.
O '''open''' informa que a saída valid não será usada e evita que o compilador gere erros.
{{collapse bottom}}  
{{collapse bottom}}  
Ao fazer as mesmas perguntas para a mesma IA, as respostas podem ser diferentes.  Por isso, todas respostas de IA deve passar por um processo de curadoria por humanos.   
Ao fazer as mesmas perguntas para a mesma IA, as respostas podem ser diferentes.  Por isso, todas respostas de IA deve passar por um processo de curadoria por humanos.  
;Encontro 23 a 27 (29 mai. a 05 jun.): Timer de segundos, com mostrador SSD
   
;Encontro 21 a 23 (29 mai. a 05 jun.): Timer de segundos, com mostrador SSD
*Utilize como componente o contador BCD 00-99 já foi construido em aula anterior ('''contaBCD.vhd'''). Será necessário acrescentar um sinal de enable ao contador, também assegure-se que seja possível configurar a contagem de 00 até NN.  Através do IF GENERATE disponibilize um contador que faça o overflow, e outro que pare ao chegar ao final da contagem. Também inclua uma entrada  ZERAR, e outra de CONTAR, que tem a função dada pelo nome.
*Utilize como componente o contador BCD 00-99 já foi construido em aula anterior ('''contaBCD.vhd'''). Será necessário acrescentar um sinal de enable ao contador, também assegure-se que seja possível configurar a contagem de 00 até NN.  Através do IF GENERATE disponibilize um contador que faça o overflow, e outro que pare ao chegar ao final da contagem. Também inclua uma entrada  ZERAR, e outra de CONTAR, que tem a função dada pelo nome.
*Utilize como componente o divisor de clock para gerar um sinal de enable para o contador a cada segundo ('''div_clk.vhd''').  
*Utilize como componente o divisor de clock para gerar um sinal de enable para o contador a cada segundo ('''div_clk.vhd''').  
Linha 1 974: Linha 1 980:
*Ver funcionamento do [[Display de 7 segmentos]]
*Ver funcionamento do [[Display de 7 segmentos]]


 
-->
<!--
<!--


Linha 2 090: 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 184: 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 289: 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 414: 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 444: 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 510: 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 592: 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 689: 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 697: 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 743: 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 843: 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