Mudanças entre as edições de "DLP29006-Engtelecom(2021-1) - Prof. Marcos Moecke"
Ir para navegação
Ir para pesquisar
Linha 95: | Linha 95: | ||
===Unidade 2 - Introdução ao VHDL e ambienta EDA - QUARTUS=== | ===Unidade 2 - Introdução ao VHDL e ambienta EDA - QUARTUS=== | ||
* 3 AULAS | * 3 AULAS | ||
− | {{collapse top| Unidade 2 - Introdução ao VHDL e ambienta EDA - QUARTUS}} | + | {{collapse top| expand=true | Unidade 2 - Introdução ao VHDL e ambienta EDA - QUARTUS}} |
;Aula 4 (18 mai): | ;Aula 4 (18 mai): | ||
Linha 149: | Linha 149: | ||
end architecture; | end architecture; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | Exemplo de descrição de um multiplexador de 4 entradas | ||
+ | <syntaxhighlight lang=vhdl> | ||
+ | entity mux_novo is | ||
+ | port | ||
+ | ( | ||
+ | -- Input ports | ||
+ | X: in bit_vector (3 downto 0); | ||
+ | S : in bit_vector (1 downto 0); | ||
+ | -- Output ports | ||
+ | Y : out bit | ||
+ | ); | ||
+ | end entity mux_novo; | ||
+ | |||
+ | -- Implementação com lógica pura | ||
+ | architecture v_logica_pura of mux_novo is | ||
+ | |||
+ | begin | ||
+ | Y <= (X(0) and (not S(1)) and (not S(0))) or | ||
+ | (X(1) and (not S(1)) and (S(0))) or | ||
+ | (X(2) and (S(1)) and (not S(0))) or | ||
+ | (X(3) and (S(1)) and (S(0))); | ||
+ | end architecture Logica_pura; | ||
+ | |||
+ | -- Implementação com WHEN ELSE | ||
+ | architecture v_WHEN of mux_novo is | ||
+ | |||
+ | begin | ||
+ | Y <= X(0) when S = "00" else | ||
+ | X(1) when S = "01" else | ||
+ | X(2) when S = "10" else | ||
+ | X(3); | ||
+ | end architecture v_WHEN; | ||
+ | |||
+ | -- Implementação com WITH SELECT | ||
+ | architecture v_WITH_SELECT of mux_novo is | ||
+ | |||
+ | begin | ||
+ | with S select | ||
+ | Y <= X(0) when "00", -- note o uso da , | ||
+ | X(1) when "01", | ||
+ | X(2) when "10", | ||
+ | X(3) when others; -- note o uso de others, para todos os demais valores. | ||
+ | -- Não pode ser substituido por "11" mesmo que o signal seja bit_vector. | ||
+ | end architecture v_WITH_SELECT; | ||
+ | |||
+ | -- Implementação com IF ELSE | ||
+ | architecture v_IF_ELSE of mux_novo is | ||
+ | |||
+ | begin | ||
+ | -- Uma arquitetura vazia como essa é denominada de STUB, | ||
+ | -- Pode ser utilizada em um projeto durante para conferir as conexões externas. | ||
+ | -- Posteriormente a arquitetura será descrita. | ||
+ | |||
+ | end architecture v_IF_ELSET; | ||
+ | |||
+ | -- Design Unit que associa a architecture com a entity | ||
+ | configuration cfg_ifsc of mux_novo is | ||
+ | -- for v_WITH_SELECT end for; | ||
+ | for v_WHEN end for; | ||
+ | end configuration; | ||
+ | |||
+ | </syntaxhighlight> | ||
+ | * Faça a análise e sintese do mux_novo, associando a architecture v_logica_pura, depois v_WITH_SELECT, depois v_WHEN e por último v_IF_ELSE. | ||
+ | * Note a diferença entre os RTL Viewer obtidos para cada architecture. | ||
+ | {{fig|2.1|Código RTL do mux 4x1 v_logica_pura| RTL_mux4x1v1.png| 400 px |}} | ||
+ | {{fig|2.2|Código RTL do mux 4x1 v_WHEN| RTL_mux4x1v2.png| 400 px |}} | ||
+ | {{fig|2.3|Código RTL do mux 4x1 v_WITH_SELECT| RTL_mux4x1v3.png| 400 px |}} | ||
+ | * Note a que ao verificar o Technology Map Viewer, nos 3 primeiros casos serão usados os mesmos elementos lógicos. | ||
+ | {{fig|2.4|Technology Map do mux 4x1 | TM_mux4x1.png| 400 px |}} | ||
+ | * Note que o elemento lógico é representado por uma Tabela Verdade, Mapa de Karnaugh ou Circuito Lógico Clicando com o botão Direito do Mouse e selecionando Properties. Todas as representações são equivalentes. Na prática a LUT do elemento lógico se comporta como uma tabela de consulta (Tabela Verdade). | ||
<!-- | <!-- | ||
;Aula 5 (21 fev): | ;Aula 5 (21 fev): |
Edição das 19h35min de 18 de maio de 2021
Registro on-line das aulas
Unidade 1 - Introdução a disciplina
- 3 AULAS
Unidade 1 - Introdução a disciplina | ||||
---|---|---|---|---|
|
Unidade 2 - Introdução ao VHDL e ambienta EDA - QUARTUS
- 3 AULAS
Avaliações
Nas avaliações A1 e A2 são com consulta apenas as folhas de consulta entregues:
- VHDL Quick Reference - SynthWorks
- VHDL Types and Operators Quick Reference - SynthWorks
- ModelSim Quick Reference - SynthWorks
- Tabelas das figuras 3.6, 3.10 e 4.1 do livro do Pedroni.
- Arquivo:Numeric std conversions.png
- Dica use também como fonte de consulta os templates do Quartus.
- Ao final das avaliações o aluno deverá enviar a avaliação para a plataforma Moodle com os arquivos solicitados.