Mudanças entre as edições de "ELD129003-Engtelecom (Diário) - Prof. Marcos Moecke"
(→ATUAL) |
(→ATUAL) |
||
Linha 87: | Linha 87: | ||
====ATUAL==== | ====ATUAL==== | ||
;Encontro 4 (27 fev): | ;Encontro 4 (27 fev): | ||
− | * Como transferir todos os arquivos importantes do projeto para outra maquina ou pessoa. | + | * Como transferir todos os arquivos importantes do projeto para outra maquina ou pessoa. Use a função arquivar projeto. |
− | :* | + | :* Antes de arquivar é necessário incluir todos arquivos na lista de '''Files''' do projeto. Por ''default'', os arquivos '''qpf, qsf, vhd''' já estão incluídos. Se você está usando o simulador ModelSim, é importante também incluir os arquivos de ''script'' para a simulação '''tb_XXX.do e waveXX.do'''. [Project > Add/Remove File in Project ... ] em seguida em File name selecione [...], mude Files of type: [All Files (*.*)] e em seguida navegue para a pasta [simulation/modelsim]. Se você criou arquivos de script no ModelSim, eles deverão ser listados. Selecione todos que desejar (com [Ctrl]) e em seguida [Open] e [OK]. |
− | :[[Arquivo:AddFilesQuartus.png| | + | :[[Arquivo:AddFilesQuartus.png| 800px]] |
− | :* Confira a lista dos arquivos que estão no projeto | + | :* Confira a lista dos arquivos que estão no projeto, selecionando a opção '''[Files]''' no painel do '''Project Navigator''' |
− | :[[Arquivo:AddFilesQuartusNavigator.png| | + | :[[Arquivo:AddFilesQuartusNavigator.png| 400px]] |
− | :* | + | :* Para criar uma arquivo compacto com todos os arquivos necessários, use a opção '''[Project > Arquive Project]''' e mude se desejar o nome do arquivo. Note que clicando em '''[Advanced]''' é possível incluir mais arquivos ou apenas visualizar os arquivos já incluídos. Clique em '''[Archive]''' e depois [OK] |
− | + | :[[Arquivo:AdvancedArchiveQuartus.png| 400px]] | |
− | * | + | :* No painel de ''Messages'' será indicado o caminho e o nome do '''arquivo .qar''' criado. |
+ | Info: Generated archive '/home/moecke/ELD2/2024.1/Aula02b/nand_gate.qar' | ||
+ | O arquivo nome.arquive.rpt conterá a lista dos arquivos incluídos. | ||
+ | Info: Generated report 'nand_gate.archive.rpt' | ||
− | 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). | + | +-------------------------------------------------------------+ |
+ | ; Files Archived ; | ||
+ | +-------------------------------------------------------------+ | ||
+ | ; File Name ; | ||
+ | +-------------------------------------------------------------+ | ||
+ | ; /opt/intelFPGA/20.1/quartus/linux64/assignment_defaults.qdf ; | ||
+ | ; nand_gate.qpf ; | ||
+ | ; nand_gate.qsf ; | ||
+ | ; nand_gate.vhd ; | ||
+ | ; simulation/modelsim/tb_nand.do ; | ||
+ | ; simulation/modelsim/wave.do ; | ||
+ | +-------------------------------------------------------------+ | ||
+ | |||
+ | * Como reabrir um projeto que foi arquivado. '''[Project > Restore Arquived Project ...]''', escolha o nome do arquivo (.qar) e também a pasta de destino. | ||
+ | |||
+ | ;Conhecer instruções WHEN_ELSE, WITH_SELECT, CONFIGURATION: | ||
+ | |||
+ | Para ilustrar essas instruções utilizaremos o exemplo de um Mux4x1. 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). | ||
{{collapse top | Mux2x1}} | {{collapse top | Mux2x1}} |
Edição das 23h14min de 26 de fevereiro de 2024
Registro on-line das aulas
Unidade 1 - Aula inicial, Introdução a disciplina
- 1 ENCONTRO
Unidade 1 - Aula inicial, Introdução a disciplina |
---|
|
Unidade REV - PRIMEIRO CONTATO COM VHDL
- 3 ENCONTROS
Unidade REV - PRIMEIRO CONTATO COM VHDL | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
library library_name;
use library_name.package_name.all;
entity entity_name is
[generic (
cons_name1: const_type const_value;
cons_name2: const_type const_value;
...
cons_nameN: const_type const_value);]
[port (
signal_name1: mode signal_type;
signal_name2: mode signal_type;
...
signal_nameN: mode signal_type);]
[declarative_part]
[begin
statement_part]
end [entity] [entity_name];
architecture arch_name of entity_name is
[declarative_part]
begin
statement_part
end [architecture] [arch_name];
ATUAL
Info: Generated archive '/home/moecke/ELD2/2024.1/Aula02b/nand_gate.qar' O arquivo nome.arquive.rpt conterá a lista dos arquivos incluídos. Info: Generated report 'nand_gate.archive.rpt' +-------------------------------------------------------------+ ; Files Archived ; +-------------------------------------------------------------+ ; File Name ; +-------------------------------------------------------------+ ; /opt/intelFPGA/20.1/quartus/linux64/assignment_defaults.qdf ; ; nand_gate.qpf ; ; nand_gate.qsf ; ; nand_gate.vhd ; ; simulation/modelsim/tb_nand.do ; ; simulation/modelsim/wave.do ; +-------------------------------------------------------------+
Para ilustrar essas instruções utilizaremos o exemplo de um Mux4x1. 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).
Dada a função booleana do MUX4:1 é simples para descreve-lo em VHDL utilizando apenas operadores lógicos. entity mux4x1 is
port
(
-- Input ports
X: in bit_vector (3 downto 0);
Sel : in bit_vector (1 downto 0);
-- Output ports
Y : out bit
);
end entity;
-- Implementação com lógica pura
architecture v_logica_pura of mux4x1 is
begin
Y <= (X(0) and (not Sel(1)) and (not Sel(0))) or
...
end architecture;
No entanto, o MUX4:1 também pode ser descrito utilizando a instrução WHEN-ELSE <optional_label>: <target> <=
<value> when <condition> else
<value> when <condition> else
...
<value> else
<value>;
Warning (13012): Latch ... has unsafe behavior
No caso do MUX4:1 ele poderia ser descrito como: -- Implementação com WHEN ELSE
architecture v_WHEN_ELSE of mux4x1 is
begin
Y <= X(0) when Sel = "00" else
X(1) when Sel = "01" else
X(2) when Sel = "10" else
X(3);
end architecture;
Outra forma de descrever o MUX4:1 seria utilizando a instrução WITH-SELECT <optional_label>: with <expression> select
<target> <=
<value> when <choices>,
<value> when <choices>,
...
<value> when others;
Error (10313): VHDL Case Statement error ...: Case Statement choices must cover all possible values of expression
-- Implementação com WITH SELECT
architecture v_WITH_SELECT of mux4x1 is
begin
with Sel 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;
CONFIGURATION <configuration_name> OF <entity_name> IS
FOR <architecture_name> END FOR;
END CONFIGURATION;
-- Design Unit que associa a architecture com a entity
CONFIGURATION cfg_ifsc OF mux4x1 IS
FOR v_logica_pura END FOR;
-- FOR v_WHEN_ELSE END FOR;
-- FOR v_WITH_SELECT END FOR;
END CONFIGURATION;
Figura 2.1 - Código RTL do mux4x1 v_logica_pura Figura 2.2 - Código RTL do mux4x1 v_WHEN_ELSE Figura 2.3 - Código RTL do mux4x1 v_WITH_SELECT
|
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
- A1 - :
- A2 - :
- A3 - :
- A4 - :
- R - Recuperação de A1 a A4 :
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.
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.
Referências Bibliográficas: