ELD129002-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)
 
(32 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 (12 ago.):
;Encontro 1 (18 mar.):
* A '''[[ELD1-EngTelecom (Página) | página da UC]]''' contém os materiais que não alteram entre semestre.
* A '''[[ELD1-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://telegrafo.sj.ifsc.edu.br/ 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.  
:*'''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.
:*'''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.
Linha 24: Linha 23:


===Unidade 2 - Sistema de numeração e códigos===
===Unidade 2 - Sistema de numeração e códigos===
* 4 ENCONTROS
* 5 ENCONTROS
{{collapse top | expand=true| Unidade 2 - Sistema de numeração e códigos}}
{{collapse top | expand=true| Unidade 2 - Sistema de numeração e códigos}}
<!--
;Encontro 2 (20 mar.):
;Encontro 2 (20 mar.):
O ser humano precisa contar para determinar quantidades de coisas, com as quantidades ele pode fazer operações matemáticas e comparações.
O ser humano precisa contar para determinar quantidades de coisas, com as quantidades ele pode fazer operações matemáticas e comparações.
Linha 1 387: Linha 1 387:
* Resolver exercicios do livro (1.64 a 1.67, 1.69) [https://drive.google.com/file/d/1g8mbdH8DOc5_D8CfzUNcUb8P6qy0S4eV/view?usp=drive_link Projeto Digital e Arquitetura de Computadores] (#page=86)
* Resolver exercicios do livro (1.64 a 1.67, 1.69) [https://drive.google.com/file/d/1g8mbdH8DOc5_D8CfzUNcUb8P6qy0S4eV/view?usp=drive_link Projeto Digital e Arquitetura de Computadores] (#page=86)
* Resolver exercicios do livro (5.24, 5.27 a 5.30, 5.31 a 5.32, 5.38) [https://drive.google.com/file/d/1g8mbdH8DOc5_D8CfzUNcUb8P6qy0S4eV/view?usp=drive_link Projeto Digital e Arquitetura de Computadores] (#page=430)
* Resolver exercicios do livro (5.24, 5.27 a 5.30, 5.31 a 5.32, 5.38) [https://drive.google.com/file/d/1g8mbdH8DOc5_D8CfzUNcUb8P6qy0S4eV/view?usp=drive_link Projeto Digital e Arquitetura de Computadores] (#page=430)
-->
{{collapse bottom}}
{{collapse bottom}}


===Unidade 3 - Funções, portas lógicas e álgebra booleana===
===Unidade 3 - Funções, portas lógicas e álgebra booleana===
* 10 ENCONTROS
* 13 ENCONTROS
{{collapse top | expand=true|  Unidade 3 - Funções, portas lógicas e álgebra booleana }}
{{collapse top | expand=true|  Unidade 3 - Funções, portas lógicas e álgebra booleana }}
<!--
;Encontro 7  (8 abr.)
;Encontro 7  (8 abr.)
;Funções e portas lógicas:
;Funções e portas lógicas:
Linha 1 544: Linha 1 546:
{{fig|3.1|Conjuntos para mostrador de 7 segmentos| 7segment_sets.png| 800 px | }}
{{fig|3.1|Conjuntos para mostrador de 7 segmentos| 7segment_sets.png| 800 px | }}


;Encontro 16 (6 mai.)
;Encontro 14 (6 mai.)
*Simplificação de expressões lógicas - Mapas de Karnaugh-Veitch:
*Simplificação de expressões lógicas - Mapas de Karnaugh-Veitch:
*Uso do ''don't care'' na simplificação
*Uso do ''don't care'' na simplificação
Linha 1 555: Linha 1 557:
*Preparação da [https://wiki.sj.ifsc.edu.br/index.php/ELD129002-Engtelecom_(Di%C3%A1rio)_-_Prof._Marcos_Moecke#AE1_-_Projeto_de_um_conversor_de_bin.C3.A1rio_para_mostrador_de_7_segmentos AE1 - Projeto de um conversor de binário para mostrador de 7 segmentos]
*Preparação da [https://wiki.sj.ifsc.edu.br/index.php/ELD129002-Engtelecom_(Di%C3%A1rio)_-_Prof._Marcos_Moecke#AE1_-_Projeto_de_um_conversor_de_bin.C3.A1rio_para_mostrador_de_7_segmentos AE1 - Projeto de um conversor de binário para mostrador de 7 segmentos]


;Encontro 17 (8 mai.)
;Encontro 15 (8 mai.)
*Resolver [https://drive.google.com/file/d/16pN70NdO9a-qEKthQwn5OFidA_Y92CTm/view?usp=drive_link Exercícios de álgebra de Boole]
*Resolver [https://drive.google.com/file/d/16pN70NdO9a-qEKthQwn5OFidA_Y92CTm/view?usp=drive_link Exercícios de álgebra de Boole]
*Resolver exercicios do livro (2.1, 2.2, 2.5 a 2.10, 2.13 a 2.18, 2.21 a 2.25) [https://drive.google.com/file/d/1g8mbdH8DOc5_D8CfzUNcUb8P6qy0S4eV/view?usp=drive_link  Projeto Digital e Arquitetura de Computadores] (#page=151)
*Resolver exercicios do livro (2.1, 2.2, 2.5 a 2.10, 2.13 a 2.18, 2.21 a 2.25) [https://drive.google.com/file/d/1g8mbdH8DOc5_D8CfzUNcUb8P6qy0S4eV/view?usp=drive_link  Projeto Digital e Arquitetura de Computadores] (#page=151)
Linha 1 562: Linha 1 564:
*Ler a seção '''2.4. DA LÓGICA ÀS PORTAS e 2.5.LÓGICA COMBINATÓRIO MULTI-NÍVEL''' nas pag 90 a 95 de  [https://drive.google.com/file/d/1g8mbdH8DOc5_D8CfzUNcUb8P6qy0S4eV/view?usp=drive_link Projeto Digital e Arquitetura de Computadores] (#page=116)  
*Ler a seção '''2.4. DA LÓGICA ÀS PORTAS e 2.5.LÓGICA COMBINATÓRIO MULTI-NÍVEL''' nas pag 90 a 95 de  [https://drive.google.com/file/d/1g8mbdH8DOc5_D8CfzUNcUb8P6qy0S4eV/view?usp=drive_link Projeto Digital e Arquitetura de Computadores] (#page=116)  


;Encontro 18 (13 mai.)
;Encontro 16 (13 mai.)
*Avaliação A1b - Funções e portas lógicas, tabela verdade, algebra de Boole, simplificação de equações e mapa de Karnaugh
*Avaliação A1b - Funções e portas lógicas, tabela verdade, algebra de Boole, simplificação de equações e mapa de Karnaugh


;Encontro 19 (15 mai.)
;Encontro 17 (15 mai.)
*Ver os K-Map online:  
*Ver os K-Map online:  
:*[https://www.docjava.com/cpe210/kmapExplorer.html docjava.com],  
:*[https://www.docjava.com/cpe210/kmapExplorer.html docjava.com],  
Linha 1 586: Linha 1 588:
*[https://ieeexplore-ieee-org.ez130.periodicos.capes.gov.br/stamp/stamp.jsp?tp=&arnumber=6769983 E. J. McCluskey, "Minimization of Boolean functions," in The Bell System Technical Journal, vol. 35, no. 6, pp. 1417-1444, Nov. 1956, doi: 10.1002/j.1538-7305.1956.tb03835.x]
*[https://ieeexplore-ieee-org.ez130.periodicos.capes.gov.br/stamp/stamp.jsp?tp=&arnumber=6769983 E. J. McCluskey, "Minimization of Boolean functions," in The Bell System Technical Journal, vol. 35, no. 6, pp. 1417-1444, Nov. 1956, doi: 10.1002/j.1538-7305.1956.tb03835.x]


;Encontro 20 (20 mai.)
;Encontro 18 (20 mai.)
*Como transformar uma Expressão booleana em Tabela verdade e em Circuito com portas lógicas, e vice-versa:
*Como transformar uma Expressão booleana em Tabela verdade e em Circuito com portas lógicas, e vice-versa:
*[https://drive.google.com/file/d/1lNvJtT1oXv9JlBUDm-veVWExX2IehtzQ/view?usp=drive_link Expressão booleana - Tabela verdade - Circuito com portas lógicas]
*[https://drive.google.com/file/d/1lNvJtT1oXv9JlBUDm-veVWExX2IehtzQ/view?usp=drive_link Expressão booleana - Tabela verdade - Circuito com portas lógicas]
*[https://drive.google.com/file/d/1O86iYyEQ2ZJ77x1hERSAwaKqQfRanrBx/view?usp=drive_link Projeto de circuitos combinacionais]
*[https://drive.google.com/file/d/1O86iYyEQ2ZJ77x1hERSAwaKqQfRanrBx/view?usp=drive_link Projeto de circuitos combinacionais]


;Encontro 21 (22 mai.)
;Encontro 19 (22 mai.)
Projeto de circuitos combinacionais:  
Projeto de circuitos combinacionais:  
*Ver resumo em [https://drive.google.com/file/d/1O86iYyEQ2ZJ77x1hERSAwaKqQfRanrBx/view?usp=drive_link Projeto de circuitos combinacionais]
*Ver resumo em [https://drive.google.com/file/d/1O86iYyEQ2ZJ77x1hERSAwaKqQfRanrBx/view?usp=drive_link Projeto de circuitos combinacionais]
Linha 1 597: Linha 1 599:
*Ler a seção '''2.8.BLOCOS COMBINATÓRIOS''' nas pag 109 a 114 [https://drive.google.com/file/d/1g8mbdH8DOc5_D8CfzUNcUb8P6qy0S4eV/view?usp=drive_link Projeto Digital e Arquitetura de Computadores] (#page=135)
*Ler a seção '''2.8.BLOCOS COMBINATÓRIOS''' nas pag 109 a 114 [https://drive.google.com/file/d/1g8mbdH8DOc5_D8CfzUNcUb8P6qy0S4eV/view?usp=drive_link Projeto Digital e Arquitetura de Computadores] (#page=135)


;Encontro 22  (27 mai.)
*[https://wiki.sj.ifsc.edu.br/index.php/ELD129002-Engtelecom_(Di%C3%A1rio)_-_Prof._Marcos_Moecke#AE2_-_Conhecendo_os_dispositivos_l.C3.B3gicos_program.C3.A1veis AE2 - Conhecendo os dispositivos lógicos programáveis] '''PASSOS 0, 1 e 2'''
<!--
<!--


Linha 1 615: Linha 1 615:


===Unidade 4 - Introdução a linguagem VHDL e Quartus/ModelSim===
===Unidade 4 - Introdução a linguagem VHDL e Quartus/ModelSim===
* 6 ENCONTROS
* 7 ENCONTROS
{{collapse top |expand=true| Unidade 4 - Introdução a linguagem VHDL e Quartus/ModelSim }}
{{collapse top |expand=true| Unidade 4 - Introdução a linguagem VHDL e Quartus/ModelSim }}
<!--
;Encontro 20  (24 mai.)
*[https://wiki.sj.ifsc.edu.br/index.php/ELD129002-Engtelecom_(Di%C3%A1rio)_-_Prof._Marcos_Moecke#AE2_-_Conhecendo_os_dispositivos_l.C3.B3gicos_program.C3.A1veis AE2 - Conhecendo os dispositivos lógicos programáveis] '''PASSOS 0 ''' - - Aprendendo a usar a nuvem do IFSC remotamente


;Encontro  (5  jun.) - Linguagem VHDL:
;Encontro 21 a 23 (27 mai. a 3.jun.)
*[https://wiki.sj.ifsc.edu.br/index.php/ELD129002-Engtelecom_(Di%C3%A1rio)_-_Prof._Marcos_Moecke#AE2_-_Conhecendo_os_dispositivos_l.C3.B3gicos_program.C3.A1veis AE2 - Conhecendo os dispositivos lógicos programáveis] '''PASSOS 1 a 4'''
 
;Encontro 24 (5  jun.) - Linguagem VHDL:
* [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 1 705: Linha 1 711:




;Encontro  (10 e 12  jun.)
;Encontro 25 e 26 (10 e 12  jun.)
*[https://wiki.sj.ifsc.edu.br/index.php/ELD129002-Engtelecom_(Di%C3%A1rio)_-_Prof._Marcos_Moecke#AE3_-_Programa.C3.A7.C3.A3o_do_kit_Mercurio_IV AE3 - Programação do kit Mercurio IV]
*[https://wiki.sj.ifsc.edu.br/index.php/ELD129002-Engtelecom_(Di%C3%A1rio)_-_Prof._Marcos_Moecke#AE3_-_Programa.C3.A7.C3.A3o_do_kit_Mercurio_IV AE3 - Programação do kit Mercurio IV]
;PARA O PRÓXIMO ENCONTRO:
;PARA O PRÓXIMO ENCONTRO:
Linha 1 718: Linha 1 724:
*Consultar e guardar a [[Folha de consulta de VHDL]]
*Consultar e guardar a [[Folha de consulta de VHDL]]
*Ler a seção [https://pt.wikipedia.org/wiki/VHDL#História História] da página VHDL da wikipedia em português e as seções [https://en.wikipedia.org/wiki/VHDL#History History], [https://en.wikipedia.org/wiki/VHDL#Standardization Standardization}, [https://en.wikipedia.org/wiki/VHDL#Design Design] e [https://en.wikipedia.org/wiki/VHDL#Advantages Advantages] da página VHDL na Wikipedia em ingles.
*Ler a seção [https://pt.wikipedia.org/wiki/VHDL#História História] da página VHDL da wikipedia em português e as seções [https://en.wikipedia.org/wiki/VHDL#History History], [https://en.wikipedia.org/wiki/VHDL#Standardization Standardization}, [https://en.wikipedia.org/wiki/VHDL#Design Design] e [https://en.wikipedia.org/wiki/VHDL#Advantages Advantages] da página VHDL na Wikipedia em ingles.
   
  -->
{{collapse bottom}}
{{collapse bottom}}


===Unidade 5 - Circuitos lógicos combinacionais (com VHDL)===
===Unidade 5 - Circuitos lógicos combinacionais (com VHDL)===
* 12 ENCONTROS
* 7 ENCONTROS
{{collapse top |expand=true |Unidade 5 - Circuitos lógicos combinacionais (com VHDL)}}
{{collapse top |expand=true |Unidade 5 - Circuitos lógicos combinacionais (com VHDL)}}
;Encontro 26 e 27 (24 e 26 jun.)  
<!--
;Encontro 29 e 30 (24 e 26 jun.)  
* Conhecer o [[Código Gray]]
* Conhecer o [[Código Gray]]
* Implementação de conversor Binário para Gray  (bin2gray)
* Implementação de conversor Binário para Gray  (bin2gray)
Linha 1 917: Linha 1 924:
Tente encontrar alguma solução observando a regra de mudança dos bits no código Gray. Não esqueça que apenas o valor atual da entrada é conhecido.
Tente encontrar alguma solução observando a regra de mudança dos bits no código Gray. Não esqueça que apenas o valor atual da entrada é conhecido.


;Encontro 28 (1 jul.)  
;Encontro 31 (1 jul.)  
* Conhecer o multiplexador digital.
* Conhecer o multiplexador digital.
Um multiplexador digital de N entradas e 1 saída, frequentemente abreviado como MUX N:1, é um circuito digital muito utilizado para rotear sinais digitais. Ele desempenha a função de selecionar uma das entradas para ser encaminhada para a saída com base em um sinal de seleção (ou controle).
Um multiplexador digital de N entradas e 1 saída, frequentemente abreviado como MUX N:1, é um circuito digital muito utilizado para rotear sinais digitais. Ele desempenha a função de selecionar uma das entradas para ser encaminhada para a saída com base em um sinal de seleção (ou controle).
Linha 2 177: Linha 2 184:
{{fig|2.6|Technology Map do mux4x1 para a família Aria 10 | TM_mux4x1_S3.png| 400 px |}}
{{fig|2.6|Technology Map do mux4x1 para a família Aria 10 | TM_mux4x1_S3.png| 400 px |}}


;Encontro 29 (3 jul.)  
;Encontro 32 (3 jul.)  
*Avaliação A1c.
*Avaliação A1c.


====ATUAL====
;Encontro 33 (8 jul.)  
;Encontro 30 (8 jul.)  
*Nova modelagem do decodificador (conversor) de binário para sete segmentos '''bin2ssd''':
*Implementar o conversor de binario para ssd usando:
:*Considere o decodificador que havia sido implementado na AE3 através de lógica pura. Neste caso foram usados bits individuais para cada entrada (A, B, C e D) e também para as saídas (a, b, c, d, e, f, g).
:* A instrução '''with select'''
:*Ver a tabela verdade na página do [https://wiki.sj.ifsc.edu.br/index.php/Display_de_7_segmentos#Codificador_de_bin%C3%A1rio_para_mostrador_de_7_segmentos display de sete segmentos].
:* A instrução '''when else'''
:*Em uma solução melhorada devem ser utilizados vetores para representar a entrada ('''bin''') e a saída ('''ssd''').  Com isso será possível explorar as instruções WHEN ELSE e WITH SELECT para implementar esse decodificador, descrevendo-o diretamente através da sua tabela verdade.
::A correspondencia dos bits do vetor ssd seria: a => ssd(0), b => ssd(1), ... g => ssd(6). 
::A correspondencia dos bits do vetor bin seria: A => bin(3), B => bin(2), C => bin(1), D => bin(0). 


<!--
* Usando a instrução '''when else'''
;Encontro 27  (17 dez.)
<syntaxhighlight lang=vhdl>
*Realize a simulação das 3 arquiteturas do MUX4:1 no Modelsim
library ieee;
*Crie um arquivo tb_mux4x1_v1.do que repita a simulação da arquitetura v1
use ieee.std_logic_1164.all;
<syntaxhighlight lang=tcl>
entity bin2ssd is
#file_name: tb_mux4x1_v1.do
    port(
        bin : in std_logic_vector (3 downto 0);
        ssd : out std_logic_vector (6 downto 0) -- indices decrescentes
    -- ssd : out std_logic_vector (0 to 6)     -- indices crescentes
    );
end entity;
 
architecture when_else of bin2ssd is


#preparando o simulador
begin
vlib rtl_work
    -- indices decrescentes
vmap work rtl_work
    ssd <= "0111111" when bin = "0000" else
#vcom -93 -work work {/home/moecke/ELD1/ANO2024.2/Aula26/mux4x1.vhd}
          ...
# substitua o caminho absoluto pelo relativo ../../
vcom -93 -work work {../../mux4x1.vhd}
vsim work.mux4x1(v_logica_pura)


#adicionando os sinais a aba wave
    -- indices crescentes
add wave -position end  sim:/mux4x1/X
--  ssd <= "1111110" when bin = "0000" else
add wave -position end  sim:/mux4x1/Sel
add wave -position end sim:/mux4x1/Y


#definindo o valor de um estimulo  (valor instante_de_tempo)
end architecture;
force -freeze sim:/mux4x1/X 0101 0
</syntaxhighlight >
#definindo varios valores de um estimulo  pares (valor instante_de_tempo) separados por virgula
force -freeze sim:/mux4x1/Sel 00 0, 01 100, 10 200, 11 300
# Execução da simulação. run ou run tempo
# Se não tiver unidade é ps (pico segundos)
# fs            => femto segundos
# ps = 1000 fs;  => pico segundos
# ns = 1000 ps;  => nano segundos
# us = 1000 ns;  => micro segundos
# ms = 1000 us; => mili segundos
# sec = 1000 ms; => segundos
# min = 60 sec;  => minutos
# hr = 60 min;  => horas
run 400
force -freeze sim:/mux4x1/X 1100 0
force -freeze sim:/mux4x1/Sel 00 0, 01 100, 10 200, 11 300
run 400
force -freeze sim:/mux4x1/X 0011 0
force -freeze sim:/mux4x1/Sel 00 0, 01 100, 10 200, 11 300
run 400
</syntaxhighlight>
{{fig|2.7|Resultado da simulação do mux4x1 | SIM_mux4x1.png| 600 px |}}


*Crie um arquivo tb_mux4x1_v2.do que repita a simulação da arquitetura v2
* Usando a instrução '''with select'''
*Crie um arquivo tb_mux4x1_v3.do que repita a simulação da arquitetura v3
<syntaxhighlight lang=vhdl>
*opcionalmente é possível apenas mudar a arquitetura a ser simulado na linha, deixando 2 comentadas e uma ativa
architecture with_select of bin2ssd is
<syntaxhighlight lang=tcl>
#vsim work.mux4x1(v_logica_pura)
#vsim work.mux4x1(v_WHEN_ELSE)
vsim work.mux4x1(v_WITH_SELECT)
</syntaxhighlight>
*Inclua todos os arquivos .do no projeto do Quartus e salve o arquivo QAR


;Encontro 28 (19 dez.)  
begin
*Demultiplexador de 1 para 4 [https://tinyurl.com/yrvmxgq7]
 
:*Implementar em VHDL
end architecture;
</syntaxhighlight >
;DESAFIO:
*Faça a implementação de um conversor de binário para ssd que forneça na saída as seguintes letras:
{{fig|5.20|Alfabeto usando mostrador de 7 segmentos| alfabeto_ssd.png| 400 px | }}
*Use o kit Mercúrio IV para implementar o hardware.  As chaves SW0 a SW3 devem ser usadas como as entradas binárias bin(0) a bin(3), e o display de sete segmentos DISP0 como saída ssd(0) a ssd(6).
:*Veja a [[ELD129002-Engtelecom (Diário) - Prof. Marcos Moecke#AE3_-_Programação_do_kit_Mercurio_IV | AE3 - Programação do kit Mercurio IV ]]para fazer a configuração dos pinos.
 
 
;Encontro 34 (10 jul.)  
Demultiplexador de 1 para 4 [https://tinyurl.com/yrvmxgq7]
:*Implementar em VHDL
<syntaxhighlight lang=vhdl>
<syntaxhighlight lang=vhdl>
entity demux1x4 is
entity demux1x4 is
Linha 2 259: Linha 2 254:
end architecture;
end architecture;
</syntaxhighlight>
</syntaxhighlight>
;Encontro 29  (28 jan.)
*Revisão dos circuitos do multiplexador mux4x1 e demux4x1. 
*Revisão do uso do simulador ModelSim e do script de simulação.
;Encontro 30 (30 jan.)


;Entender a importância do tipo de dado STD_LOGIC:
;Entender a importância do tipo de dado STD_LOGIC:
Linha 2 383: Linha 2 371:
:(13) e (14) - o sinal Y está sendo mostrado como um grupo de bits e separado por bit.  Para tal é necessário clicar sobre o [+] antes sinal Y [[Arquivo:Expand.png]].
:(13) e (14) - o sinal Y está sendo mostrado como um grupo de bits e separado por bit.  Para tal é necessário clicar sobre o [+] antes sinal Y [[Arquivo:Expand.png]].


*Nova modelagem do decodificador de binário para sete segmentos '''bin2ssd''':
<!--
::Considere o decodificador que havia sido implementado na AE2 através de lógica pura. Neste caso foram usados bits individuais para cada entrada (A, B, C e D) e também para as saídas (a, b, c, d, e, f, g).
*Realize a simulação das 3 arquiteturas do MUX4:1 no Modelsim
::Em uma solução melhorada devem ser utilizados vetores para representar a entrada (BIN) e a saída (SSD).  Com isso será possível explorar as instruções WHEN ELSE e WITH SELECT para implementar o decodificador.
*Crie um arquivo tb_mux4x1_v1.do que repita a simulação da arquitetura v1
<syntaxhighlight lang=tcl>
#file_name: tb_mux4x1_v1.do


<syntaxhighlight lang=vhdl>
#preparando o simulador
library ieee;
vlib rtl_work
use ieee.std_logic_1164.all;
vmap work rtl_work
entity bin2ssd is
#vcom -93 -work work {/home/moecke/ELD1/ANO2024.2/Aula26/mux4x1.vhd}
    port(
# substitua o caminho absoluto pelo relativo ../../
        bin : in std_logic_vector (3 downto 0);
vcom -93 -work work {../../mux4x1.vhd}
        ssd : out std_logic_vector (6 downto 0)
vsim work.mux4x1(v_logica_pura)
    );
end entity;


architecture when_else of bin2ssd is
#adicionando os sinais a aba wave
add wave -position end  sim:/mux4x1/X
add wave -position end  sim:/mux4x1/Sel
add wave -position end  sim:/mux4x1/Y


begin
#definindo o valor de um estimulo  (valor instante_de_tempo)
    ssd <= "0111111" when bin = "0000" else
force -freeze sim:/mux4x1/X 0101 0
          ...
#definindo varios valores de um estimulo  pares (valor instante_de_tempo) separados por virgula
end architecture;
force -freeze sim:/mux4x1/Sel 00 0, 01 100, 10 200, 11 300
</syntaxhighlight >
# Execução da simulação. run ou run tempo
# Se não tiver unidade é ps (pico segundos)
# fs            => femto segundos
# ps = 1000 fs;  => pico segundos
# ns = 1000 ps;  => nano segundos
# us = 1000 ns;  => micro segundos
# ms = 1000 us;  => mili segundos
# sec = 1000 ms; => segundos
# min = 60 sec;  => minutos
# hr = 60 min;   => horas
run 400
force -freeze sim:/mux4x1/X 1100 0
force -freeze sim:/mux4x1/Sel 00 0, 01 100, 10 200, 11 300
run 400
force -freeze sim:/mux4x1/X 0011 0
force -freeze sim:/mux4x1/Sel 00 0, 01 100, 10 200, 11 300
run 400
</syntaxhighlight>
{{fig|2.7|Resultado da simulação do mux4x1 | SIM_mux4x1.png| 600 px |}}


<!--
*Crie um arquivo tb_mux4x1_v2.do que repita a simulação da arquitetura v2
*Crie um arquivo tb_mux4x1_v3.do que repita a simulação da arquitetura v3
*opcionalmente é possível apenas mudar a arquitetura a ser simulado na linha, deixando 2 comentadas e uma ativa
<syntaxhighlight lang=tcl>
#vsim work.mux4x1(v_logica_pura)
#vsim work.mux4x1(v_WHEN_ELSE)
vsim work.mux4x1(v_WITH_SELECT)
</syntaxhighlight>
*Inclua todos os arquivos .do no projeto do Quartus e salve o arquivo QAR
;Encontro 29  (25 jul.)  
;Encontro 29  (25 jul.)  
*Implementação de um MUX4:1 usando chips comerciais de portas lógicas.
*Implementação de um MUX4:1 usando chips comerciais de portas lógicas.
Linha 2 417: Linha 2 434:
;Encontro 31 e 32  (16 e 21 nov.)
;Encontro 31 e 32  (16 e 21 nov.)


-->
<!--


;Encontro 31  (4 fev.)
;Encontro 31  (4 fev.)
Linha 2 751: Linha 2 766:
===Unidade 6 - Circuitos aritméticos (com VHDL) ===
===Unidade 6 - Circuitos aritméticos (com VHDL) ===
* 5 ENCONTROS
* 5 ENCONTROS
{{collapse top |  Unidade 6 - Circuitos aritméticos  (com VHDL)}}
{{collapse top | expand=true|  Unidade 6 - Circuitos aritméticos  (com VHDL)}}
<!--
<!--
;Encontro 33 (11 fev.)
;Encontro 35 (15 jul.)
*Circuitos aritméticos: somadores, incrementador, decrementador, complemento de dois, multiplicador, comparadores  
*Circuitos aritméticos: somadores, incrementador, decrementador, complemento de dois, multiplicador, comparadores  
:* [https://drive.google.com/file/d/1kql0io2sh9Mp4FfnqpEPrdUFkVhHBx6_/view?usp=drive_link slides]
:* [https://drive.google.com/file/d/1kql0io2sh9Mp4FfnqpEPrdUFkVhHBx6_/view?usp=drive_link slides]
Linha 2 763: Linha 2 778:
*Ver <ref name="PEDRONI2010a"> PEDRONI, Volnei A. Eletrônica digital moderna e VHDL; 1ª ed. Rio de Janeiro:Elsevier, 2010. 619p. . ISBN 9788535234657 </ref>
*Ver <ref name="PEDRONI2010a"> PEDRONI, Volnei A. Eletrônica digital moderna e VHDL; 1ª ed. Rio de Janeiro:Elsevier, 2010. 619p. . ISBN 9788535234657 </ref>


;Encontro 34  (13 fev.)
* Avaliação A2a - Circuitos combinacionais em VHDL
;Encontro 35  (18 fev.)
*Usando o tipo '''integer'''
*Usando o tipo '''integer'''
Para implementar circuitos aritméticos, ao invés de se descrever o circuito com portas lógicas conforme mostrado para somadores, subtratores, comparadores e multiplicadores, deve-se utilizar os operadores aritméticos, e o compilador realizará a escolha do melhor circuito para cada caso.  Inicialmente apresentamos alguns exemplos utilizando dados do tipo '''integer'''.
Para implementar circuitos aritméticos, ao invés de se descrever o circuito com portas lógicas conforme mostrado para somadores, subtratores, comparadores e multiplicadores, deve-se utilizar os operadores aritméticos, e o compilador realizará a escolha do melhor circuito para cada caso.  Inicialmente apresentamos alguns exemplos utilizando dados do tipo '''integer'''.
Linha 2 784: Linha 2 795:
end architecture;
end architecture;
</syntaxhighlight>
</syntaxhighlight>
{{fig|4.1|Código RTL do somador com tipo integer sem range| RTL_somadorv1.png| 300 px |}}
{{fig|6.1|Código RTL do somador com tipo integer sem range| RTL_somadorv1.png| 300 px |}}
{{fig|4.2|Technology Map do somador com tipo integer sem range| TM_somadorv1.png| 1000 px |}}
{{fig|6.2|Technology Map do somador com tipo integer sem range| TM_somadorv1.png| 1000 px |}}
Por isso, o uso correto do tipo integer, exige que se limite a faixa de valores ('''range 0 to 15'''), o que fará com que o compilador atribua para os sinais a quantidade correta de bits, gerando circuitos de tamanho adequado.  
Por isso, o uso correto do tipo integer, exige que se limite a faixa de valores ('''range 0 to 15'''), o que fará com que o compilador atribua para os sinais a quantidade correta de bits, gerando circuitos de tamanho adequado.  


Linha 2 802: Linha 2 813:
end architecture;
end architecture;
</syntaxhighlight>
</syntaxhighlight>
{{fig|4.3|Código RTL do somador com tipo integer com range| RTL_somadorv2.png| 300 px |}}
{{fig|6.3|Código RTL do somador com tipo integer com range| RTL_somadorv2.png| 300 px |}}
{{fig|4.4|Technology Map do somador com tipo integer com range| TM_somadorv2.png| 600 px |}}
{{fig|6.4|Technology Map do somador com tipo integer com range| TM_somadorv2.png| 600 px |}}


Para fazer uma subtração, basta trocar o operador "+" pelo "-", e o compilador irá implementar um subtrator realizando o complemento 2 da entrada b.
Para fazer uma subtração, basta trocar o operador "+" pelo "-", e o compilador irá implementar um subtrator realizando o complemento 2 da entrada b.
Linha 2 820: Linha 2 831:
</syntaxhighlight>
</syntaxhighlight>


{{fig|4.5|Código RTL do subtrator com tipo integer com range| RTL_subtratorv1.png| 300 px |}}
{{fig|6.5|Código RTL do subtrator com tipo integer com range| RTL_subtratorv1.png| 300 px |}}
Note nesta figura que as entradas b[3..0] são conectadas ao B[4..1] do somador, e que o B[0] é conectado ao Vcc ("1").  O mesmo ocorre com a entrada A.  Ao mesmo tempo a entrada b é invertida, gerando assim o complemento de dois dessa entrada. Assim para realizar uma subtração pode ser utilizado o mesmo circuito do somador.
Note nesta figura que as entradas b[3..0] são conectadas ao B[4..1] do somador, e que o B[0] é conectado ao Vcc ("1").  O mesmo ocorre com a entrada A.  Ao mesmo tempo a entrada b é invertida, gerando assim o complemento de dois dessa entrada. Assim para realizar uma subtração pode ser utilizado o mesmo circuito do somador.


Linha 2 838: Linha 2 849:
</syntaxhighlight>
</syntaxhighlight>


{{fig|4.6|Código RTL do incrementador com tipo integer com range| RTL_incrementadorv1.png| 300 px |}}
{{fig|6.6|Código RTL do incrementador com tipo integer com range| RTL_incrementadorv1.png| 300 px |}}
Note que no incrementador apenas a segunda entrada do módulo RTL somador passa a ter um valor fixo '1'.  Isso faz com que o hardware necessário para efetuar a soma (+1) é reduzido.
Note que no incrementador apenas a segunda entrada do módulo RTL somador passa a ter um valor fixo '1'.  Isso faz com que o hardware necessário para efetuar a soma (+1) é reduzido.


Linha 2 857: Linha 2 868:
</syntaxhighlight>
</syntaxhighlight>


{{fig|4.7|Código RTL do decrementador com tipo integer com range| RTL_decrementadorv1.png| 300 px |}}
{{fig|6.7|Código RTL do decrementador com tipo integer com range| RTL_decrementadorv1.png| 300 px |}}
Note que no decrementador apenas a segunda entrada do módulo RTL somador passa a ter um valor fixo, mas também nas duas entradas o sinal A(0) e B(0) recebem o valor fixo '1', para produzir um ''carry_in'' para a soma do bit A(1) com B(1).
Note que no decrementador apenas a segunda entrada do módulo RTL somador passa a ter um valor fixo, mas também nas duas entradas o sinal A(0) e B(0) recebem o valor fixo '1', para produzir um ''carry_in'' para a soma do bit A(1) com B(1).


;Encontro 36  (17 jul.)
*Multiplicação digital
{{fig|6.8|Algoritmo de multiplicação sem sinal| Multiplier_Alg.png| 500 px |}}
{{fig|6.9|Circuito de multiplicação sem sinal| Multiplier_Hw.png| 500 px |}}


;Encontro 36  (20 fev.)
Para fazer uma multiplicação, basta usar o operador "*"e o compilador irá implementar um multiplicador. Neste caso para evitar o overflow é importante definir o range da saída com um tamanho suficiente para comportar o maior produto
Para fazer uma multiplicação, basta usar o operador "*"e o compilador irá implementar um multiplicador. Neste caso para evitar o overflow é importante definir o range da saída com um tamanho suficiente para comportar o maior produto


Linha 2 926: Linha 2 941:
{{fig|4.10|Código RTL do multiplicador por 10| RTL_multiplicador10.png| 300 px |}}
{{fig|4.10|Código RTL do multiplicador por 10| RTL_multiplicador10.png| 300 px |}}


;Encontro 37 e 38 (22 e 25 fev.)
;Encontro 37  (22 jul.)
*A biblioteca [[Numeric std.vhd]] define os tipos UNSIGNED e SIGNED.
*A biblioteca [[Numeric std.vhd]] define os tipos UNSIGNED e SIGNED.


Linha 2 943: Linha 2 958:
   function RESIZE (ARG: SIGNED; NEW_SIZE: NATURAL) return SIGNED;
   function RESIZE (ARG: SIGNED; NEW_SIZE: NATURAL) return SIGNED;
   function RESIZE (ARG: UNSIGNED; NEW_SIZE: NATURAL) return UNSIGNED;
   function RESIZE (ARG: UNSIGNED; NEW_SIZE: NATURAL) return UNSIGNED;
* Utilizar a função RESIZE para aumentar o número de bits na entrada de um operador.  Isso visa aumentar o número de bits a ser usado pelo operador.
* Utilizar a função RESIZE para aumentar o número de bits na saída de uma pperação.  Isso visa apenas adequar o número de bits ao número especificado na porta da entidade.
* Em números usando o tipo UNSIGNED, o RESIZE apenas acrescenta ZEROS a esquerda até atingir o número de bits.
* Em números usando o tipo SIGNED, o RESIZE apenas repete o MSB a esquerda até atingir o número de bits.


   --============================================================================
   --============================================================================
Linha 2 971: Linha 2 991:
|background colour=#F5FFFA}}
|background colour=#F5FFFA}}
</center>
</center>
* A recomendação da IEEE é utilizar nas portas das entidades sempre tipos std_logic e std_logic_vector. 
* Para realizar operações aritméticas utilize preferencialmente os tipos UNSIGNED e SIGNED
* Implementar as diferentes unidades aritméticas (incrementador, decrementador, somador, subtrator, multiplicador, divisor) usando o tipo UNSIGNED e também SIGNED.
<!--
;Encontro 37 e 38  (22 e 25 fev.)


*Unidade de Aritmética UA).  
*Unidade de Aritmética UA).  
Linha 3 154: Linha 3 181:
Durante o semestre serão realizadas 4 avaliações.  As avaliações devem  ser enviadas pela plataforma Moodle com os arquivos solicitados.
Durante o semestre serão realizadas 4 avaliações.  As avaliações devem  ser enviadas pela plataforma Moodle com os arquivos solicitados.
;Data das avaliações:
;Data das avaliações:
*A1a - (3 pontos) Sistema de Numeração e códigos : 17/04/2025   
*A1a - (3 pontos) Sistema de Numeração e códigos : XX/2025   
*A1b - (4 pontos) Expressões lógicas e mapa de Karnaugh : 13/05/2025
*A1b - (4 pontos) Expressões lógicas e mapa de Karnaugh : XX/2025
*A1c - (4 pontos) Circuitos lógicos, Introdução ao VHDL e revisão de A1a e A21b() :  
*A1c - (4 pontos) Circuitos lógicos, Introdução ao VHDL e revisão de A1a e A1b : XX/2025
*A2a - (5 pontos) Circuitos combinacionais :   
*A2 - (10 pontos) Circuitos combinacionais e ariméticos XX/2025
*A2b - (5 pontos) Circuitos aritméticos :  
*R1 - Recuperação de A1: XX/2025
*R12 - Recuperação de A1 a A2 :  
*R2 - Recuperação de A2: XX/2025
Folhas de consulta:
Folhas de consulta:
*A1b, A1c [[Media:Algebra_booleana.pdf | Álgebra booleana]]
*A1b, A1c [[Media:Algebra_booleana.pdf | Álgebra booleana]]
Linha 3 165: Linha 3 192:
*A2b  [[Media:Numeric_std_conversions.png | Conversões do pacote numeric_std]] ou [[Media:Numeric_stdConvertions.gif | Conversões do pacote numeric_std (DOULOS)]]
*A2b  [[Media:Numeric_std_conversions.png | Conversões do pacote numeric_std]] ou [[Media:Numeric_stdConvertions.gif | Conversões do pacote numeric_std (DOULOS)]]


<!--
== 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.
-->


== 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 - Projeto de um conversor de binário para mostrador de 7 segmentos===
===AE1 - Projeto de um conversor de binário para mostrador de 7 segmentos===
{{collapse top |  bg=lightyellow | AE1 - Projeto de um conversor de binário para mostrador de 7 segmentos}}
{{collapse top |  bg=lightyellow | AE1 - Projeto de um conversor de binário para mostrador de 7 segmentos}}
Linha 3 348: Linha 3 377:


*Abra a página com o resumo da pinagem do kit [[Pinagem dos dispositivos de entrada e saída do kit MERCURIO IV]]. Observe a tabela com a pinagem das chaves disponíveis neste kit.
*Abra a página com o resumo da pinagem do kit [[Pinagem dos dispositivos de entrada e saída do kit MERCURIO IV]]. Observe a tabela com a pinagem das chaves disponíveis neste kit.
{| class="wikitable" style="vertical-align:middle; background-color:#FFF; color:#222;"
{| class="wikitable" style="vertical-align:middle; background-color:#FFF; color:#222;"
|- style="font-weight:bold;"
|- style="font-weight:bold;"
Linha 3 355: Linha 3 385:
! I/O Standard
! I/O Standard
|-
|-
| SW[0] || PIN_Y22 || Chave tipo Slide Switch 0 || 3.3V
| SW[0] || PIN_V21 || Chave tipo Slide Switch 3 || 3.3V
|-
|-
| SW[1] || PIN_W21 || Chave tipo Slide Switch 1 || 3.3V
| SW[1] || PIN_W22 || Chave tipo Slide Switch 2 || 3.3V
|-
|-
| SW[2] || PIN_W22 || Chave tipo Slide Switch 2 || 3.3V
| SW[2] || PIN_W21 || Chave tipo Slide Switch 1 || 3.3V
|-
|-
| SW[3] || PIN_V21 || Chave tipo Slide Switch 3 || 3.3V
| SW[3] || PIN_Y22 || Chave tipo Slide Switch 0 || 3.3V
|}
|}
* Configurar como entrada os seguintes pinos:
* Configurar como entrada os seguintes pinos:
  eA V21
  eA Y22
  eB W22
  eB W21
  eC W21
  eC W22
  eD Y22
  eD V21
*Observe a tabela com a pinagem dos display (mostrador de sete segmentos) disponíveis neste kit.  
*Observe a tabela com a pinagem dos display (mostrador de sete segmentos) disponíveis neste kit.  
{| class="wikitable" style="vertical-align:middle; background-color:#FFF; color:#222;"
{| class="wikitable" style="vertical-align:middle; background-color:#FFF; color:#222;"
Linha 3 468: Linha 3 498:
:* Apêndice (se desejar pode ser disponibilizados vídeos do funcionamento do circuito no Passo 4
:* Apêndice (se desejar pode ser disponibilizados vídeos do funcionamento do circuito no Passo 4
* O relatório deve também responder as questões levantadas e mostrar que os objetivos apresentados na introdução foram atendidos.
* O relatório deve também responder as questões levantadas e mostrar que os objetivos apresentados na introdução foram atendidos.
{{collapse bottom}}
{{collapse bottom}}
-->


==Referências Bibliográficas:==
==Referências Bibliográficas:==
<references/>
<references/>
{{ENGTELECO}}
{{ENGTELECO}}

Edição atual tal como às 07h59min de 12 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..
LER PARA O PRÓXIMO ENCONTRO

1.2 Unidade 2 - Sistema de numeração e códigos

  • 5 ENCONTROS
Unidade 2 - Sistema de numeração e códigos

1.3 Unidade 3 - Funções, portas lógicas e álgebra booleana

  • 13 ENCONTROS
Unidade 3 - Funções, portas lógicas e álgebra booleana

1.4 Unidade 4 - Introdução a linguagem VHDL e Quartus/ModelSim

  • 7 ENCONTROS
Unidade 4 - Introdução a linguagem VHDL e Quartus/ModelSim

1.5 Unidade 5 - Circuitos lógicos combinacionais (com VHDL)

  • 7 ENCONTROS
Unidade 5 - Circuitos lógicos combinacionais (com VHDL)

1.6 Unidade 6 - Circuitos aritméticos (com VHDL)

  • 5 ENCONTROS
Unidade 6 - Circuitos aritméticos (com VHDL)

2 Avaliações

Durante o semestre serão realizadas 4 avaliações. As avaliações devem ser enviadas pela plataforma Moodle com os arquivos solicitados.

Data das avaliações
  • A1a - (3 pontos) Sistema de Numeração e códigos : XX/2025
  • A1b - (4 pontos) Expressões lógicas e mapa de Karnaugh : XX/2025
  • A1c - (4 pontos) Circuitos lógicos, Introdução ao VHDL e revisão de A1a e A1b : XX/2025
  • A2 - (10 pontos) Circuitos combinacionais e ariméticos : XX/2025
  • R1 - Recuperação de A1: XX/2025
  • R2 - Recuperação de A2: XX/2025

Folhas de consulta:


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:


Curso de Engenharia de Telecomunicações