Mudanças entre as edições de "DLP29006-Engtelecom (Diário) - Prof. Marcos Moecke"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 17: Linha 17:
 
::* SPLD: PAL, PLA e GAL
 
::* SPLD: PAL, PLA e GAL
 
::* CPLDs
 
::* CPLDs
 +
 +
;Encontro 2 (23 ago.):
 
{{collapse top | Exemplos de PLDs}}
 
{{collapse top | Exemplos de PLDs}}
 
{{fig|1.1|Macrobloco do PLD EP300 da ALTERA| ep310_macrocell.jpg| 400 px | https://www.altera.com/solutions/technology/system-design/articles/_2013/in-the-beginning.html}}
 
{{fig|1.1|Macrobloco do PLD EP300 da ALTERA| ep310_macrocell.jpg| 400 px | https://www.altera.com/solutions/technology/system-design/articles/_2013/in-the-beginning.html}}
Linha 46: Linha 48:
 
::* [https://en.wikipedia.org/wiki/Field-programmable_gate_array#Major_manufacturers FPGA Major manufacturers]
 
::* [https://en.wikipedia.org/wiki/Field-programmable_gate_array#Major_manufacturers FPGA Major manufacturers]
 
::* [http://www.vhdl.us/book/Pedroni_VHDL_3E_Chapter4.pdf Review of Field Programmable Gate Arrays (FPGAs)] by Volnei A. Pedroni
 
::* [http://www.vhdl.us/book/Pedroni_VHDL_3E_Chapter4.pdf Review of Field Programmable Gate Arrays (FPGAs)] by Volnei A. Pedroni
<!--
+
 
;Encontro 3 (7 abr.):
 
 
* Arquitetura de FPGAs (Xilinx e Altera): CLB, LAB, RAM, DSP, Clock, PLL, I/O
 
* Arquitetura de FPGAs (Xilinx e Altera): CLB, LAB, RAM, DSP, Clock, PLL, I/O
 
{{collapse top | Exemplos de FPGA}}
 
{{collapse top | Exemplos de FPGA}}
Linha 87: Linha 88:
 
;Curiosidades do mundo digital:
 
;Curiosidades do mundo digital:
 
*[https://www.computerhistory.org/siliconengine/timeline/ The Silicon Engine Timeline]
 
*[https://www.computerhistory.org/siliconengine/timeline/ The Silicon Engine Timeline]
 
+
<!--
 
;Encontro 4 (11 abr.):
 
;Encontro 4 (11 abr.):
 
:* Vizualização no Chip Planner de um projeto. (importante todos alunos terem [[Acesso ao IFSC-CLOUD (NUVEM)]]
 
:* Vizualização no Chip Planner de um projeto. (importante todos alunos terem [[Acesso ao IFSC-CLOUD (NUVEM)]]
Linha 422: Linha 423:
 
;Encontro 12  (27 abr.):
 
;Encontro 12  (27 abr.):
 
*Realização da [https://wiki.sj.ifsc.edu.br/index.php/DLP29006-Engtelecom_(Di%C3%A1rio)_-_Prof._Marcos_Moecke#AE3_-_Programa.C3.A7.C3.A3o_do_kit_Mercurio_IV AE3 - Programação do kit Mercurio IV].
 
*Realização da [https://wiki.sj.ifsc.edu.br/index.php/DLP29006-Engtelecom_(Di%C3%A1rio)_-_Prof._Marcos_Moecke#AE3_-_Programa.C3.A7.C3.A3o_do_kit_Mercurio_IV AE3 - Programação do kit Mercurio IV].
 
+
-->
 
{{collapse bottom}}
 
{{collapse bottom}}
  
 
===Unidade 3 - Tipos de Dados e Operadores em VHDL===
 
===Unidade 3 - Tipos de Dados e Operadores em VHDL===
 +
<!--
 
* 12 Encontros
 
* 12 Encontros
  
Linha 1 655: Linha 1 657:
 
:*Uma outra forma de utilizar o Modelsim [[Media:ModelsimGraphicalWaveformEditor.pdf | INTRODUCTION TO SIMULATION OF VHDL DESIGNS USING MODELSIM GRAPHICAL WAVEFORM EDITOR]]
 
:*Uma outra forma de utilizar o Modelsim [[Media:ModelsimGraphicalWaveformEditor.pdf | INTRODUCTION TO SIMULATION OF VHDL DESIGNS USING MODELSIM GRAPHICAL WAVEFORM EDITOR]]
 
:*[[Uso do WaveDrom para gerar diagramas de tempo]]
 
:*[[Uso do WaveDrom para gerar diagramas de tempo]]
 +
-->
 
{{collapse bottom}}
 
{{collapse bottom}}
  
 
===Unidade 4 - Código Concorrente===
 
===Unidade 4 - Código Concorrente===
 +
<!--
 
* 8 Encontros
 
* 8 Encontros
 
{{collapse top| expand=true | Unidade 4 - Código Concorrente}}
 
{{collapse top| expand=true | Unidade 4 - Código Concorrente}}
Linha 1 945: Linha 1 949:
 
{{collapse bottom}}
 
{{collapse bottom}}
  
 +
===Unidade 5 - Código Sequencial===
 
<!--
 
<!--
===Unidade 5 - Código Sequencial===
 
 
* 5 ENCONTROS
 
* 5 ENCONTROS
 
{{collapse top| expand=true| Unidade 5 - Código Sequencial}}
 
{{collapse top| expand=true| Unidade 5 - Código Sequencial}}
Linha 2 129: Linha 2 133:
 
*Repita a simulação usando o Modelsim.
 
*Repita a simulação usando o Modelsim.
  
<!--
 
 
Aproveitando a versão 3 ou 2 do Shift Register da aula anterior, projete e faça a simulação dos dois circuitos indicados a seguir:
 
Aproveitando a versão 3 ou 2 do Shift Register da aula anterior, projete e faça a simulação dos dois circuitos indicados a seguir:
  
Linha 2 184: Linha 2 187:
 
end architecture;
 
end architecture;
 
</syntaxhighlight>
 
</syntaxhighlight>
-->
+
 
  
 
;Encontro 37 (5 jul.):
 
;Encontro 37 (5 jul.):
Linha 2 402: Linha 2 405:
 
   ssd_out <= not ssd;
 
   ssd_out <= not ssd;
 
</syntaxhighlight>
 
</syntaxhighlight>
 
 
 
 
-->
 
-->
 
{{collapse bottom}}
 
{{collapse bottom}}
  
 
===Unidade 6 - Projeto a nível de Sistema===
 
===Unidade 6 - Projeto a nível de Sistema===
 +
<!--
 
* 5 Encontros
 
* 5 Encontros
 
{{collapse top| expand=true | Unidade 6 - Projeto a nível de Sistema}}
 
{{collapse top| expand=true | Unidade 6 - Projeto a nível de Sistema}}
Linha 2 721: Linha 2 722:
  
 
===Unidade 7 - Maquinas de Estado Finitas===
 
===Unidade 7 - Maquinas de Estado Finitas===
 +
<!--
 
{{collapse top| expand=true | Unidade 7 - Maquinas de Estado Finitas}}
 
{{collapse top| expand=true | Unidade 7 - Maquinas de Estado Finitas}}
 
* 2 AULAS
 
* 2 AULAS
====ATUAL====
 
 
; Encontro 43 e 44 (18 e 19 jul.):
 
; Encontro 43 e 44 (18 e 19 jul.):
 
*Introdução ao Projeto de Maquinas de Estado Finitas (FSM) em VHDL
 
*Introdução ao Projeto de Maquinas de Estado Finitas (FSM) em VHDL
Linha 2 815: Linha 2 816:
 
:: '''Dica''':  para desenhar a FSM recomendo utilizar um software on-line para tal finalidade.  Por Ex.  [https://online.visual-paradigm.com/pt/ Visual Paradigm].
 
:: '''Dica''':  para desenhar a FSM recomendo utilizar um software on-line para tal finalidade.  Por Ex.  [https://online.visual-paradigm.com/pt/ Visual Paradigm].
  
<!--
 
 
; Encontro 42 (09 set):
 
; Encontro 42 (09 set):
 
*Introdução ao Projeto de Maquinas de Estado Finitas (FSM) em VHDL
 
*Introdução ao Projeto de Maquinas de Estado Finitas (FSM) em VHDL
Linha 2 842: Linha 2 842:
 
:#Salve as telas da simulação ("v5_sim.png"), tela da fsm ("v5_fsm.png"), tela do RTL ("v5_rtl.png").
 
:#Salve as telas da simulação ("v5_sim.png"), tela da fsm ("v5_fsm.png"), tela do RTL ("v5_rtl.png").
 
:#Acrescente os novos arquivos no projeto e salve o novo .qar
 
:#Acrescente os novos arquivos no projeto e salve o novo .qar
-->
 
  
 
* Projeto de FSM temporizadas (nas quais as transições são ativadas também pelo tempo).
 
* Projeto de FSM temporizadas (nas quais as transições são ativadas também pelo tempo).
Linha 2 937: Linha 2 936:
  
 
{{fig|7.13| Diagrama de estados do Quartus do controlador de semáforo |Semaforo_FSM.png|800 px|}}
 
{{fig|7.13| Diagrama de estados do Quartus do controlador de semáforo |Semaforo_FSM.png|800 px|}}
 
<!--
 
  
 
* Para definir as temporizações utilize GENERICs que permitam instanciar diferentes semáforos em um projeto de controle de tráfego de uma avenida.
 
* Para definir as temporizações utilize GENERICs que permitam instanciar diferentes semáforos em um projeto de controle de tráfego de uma avenida.
Linha 2 948: Linha 2 945:
 
{{collapse bottom}}
 
{{collapse bottom}}
  
<!--
 
 
;Aula 44 e 45 (13 e 14 set):
 
;Aula 44 e 45 (13 e 14 set):
 
* Projeto Final - Controlador de semáforo progressivo usando FSM.  (escolha dos alunos)
 
* Projeto Final - Controlador de semáforo progressivo usando FSM.  (escolha dos alunos)
Linha 2 969: Linha 2 965:
 
::Ao final das avaliações o aluno deverá enviar a avaliação para a plataforma Moodle com os arquivos solicitados.
 
::Ao final das avaliações o aluno deverá enviar a avaliação para a plataforma Moodle com os arquivos solicitados.
  
 
+
<!--
 
===Projeto Final (PF)===
 
===Projeto Final (PF)===
 
* O projeto final é uma atividade de avaliação desenvolvida em equipe (ou individual), e consiste no desenvolvimento de um sistema que aplica os conhecimento adquiridos durante o semestre.  A avaliação do projeto final corresponde a no mínimo 25% do peso no conceito final. São avaliados no projeto final os quesitos:  
 
* O projeto final é uma atividade de avaliação desenvolvida em equipe (ou individual), e consiste no desenvolvimento de um sistema que aplica os conhecimento adquiridos durante o semestre.  A avaliação do projeto final corresponde a no mínimo 25% do peso no conceito final. São avaliados no projeto final os quesitos:  
Linha 3 019: Linha 3 015:
 
== ATIVIDADE EXTRA-CLASSE (AE) ==
 
== ATIVIDADE EXTRA-CLASSE (AE) ==
 
A soma das atividades Extra-classe será correspondente a 20% do conceito final na disciplina.  A entrega das mesmas será feita pelo Moodle da disciplinas, e cada dia de atraso irá descontar 0,2 na nota da atividade.  Muitas dessas atividades também possuem BÔNUS que são adicionados aos conceitos das avaliações A1 e A2.  Para os BÔNUS só serão considerados projetos entregues no prazo.
 
A soma das atividades Extra-classe será correspondente a 20% do conceito final na disciplina.  A entrega das mesmas será feita pelo Moodle da disciplinas, e cada dia de atraso irá descontar 0,2 na nota da atividade.  Muitas dessas atividades também possuem BÔNUS que são adicionados aos conceitos das avaliações A1 e A2.  Para os BÔNUS só serão considerados projetos entregues no prazo.
 
+
<!--
 
===AE1 - Palavras-cruzadas INTRODUÇÃO===
 
===AE1 - Palavras-cruzadas INTRODUÇÃO===
 
{{collapse top | bg=lightyellow | AE1 - Palavras-cruzadas INTRODUÇÃO}}
 
{{collapse top | bg=lightyellow | AE1 - Palavras-cruzadas INTRODUÇÃO}}
Linha 3 228: Linha 3 224:
 
*Faça uma simulação que mostre que o circuito projetado funciona.  
 
*Faça uma simulação que mostre que o circuito projetado funciona.  
 
*O arquivo QAR entregue deve ser plenamente compilável e permitir após a '''Análise e Síntese''' e execução do arquivo de simulação '''VWF''' apresentar o resultado final.   
 
*O arquivo QAR entregue deve ser plenamente compilável e permitir após a '''Análise e Síntese''' e execução do arquivo de simulação '''VWF''' apresentar o resultado final.   
<!--*Para fins de uniformização na comparação dos resultados utilizem o menor dispositivo da família CYCLONE (EP1C3T100A8).-->
+
*Para fins de uniformização na comparação dos resultados utilizem o menor dispositivo da família CYCLONE (EP1C3T100A8).
 
*Neste laboratório é necessário fornecer as imagens RTL e Technology Map usadas para obter e melhorar os circuitos, e a imagem da simulação que mostra que a versão entregue funciona.   
 
*Neste laboratório é necessário fornecer as imagens RTL e Technology Map usadas para obter e melhorar os circuitos, e a imagem da simulação que mostra que a versão entregue funciona.   
 
*Se desejar você pode incluir os arquivos com as imagens de simulação e RTL de comprovação na entrega.
 
*Se desejar você pode incluir os arquivos com as imagens de simulação e RTL de comprovação na entrega.
Linha 3 383: Linha 3 379:
 
*Projeto e simulação com Modelsim do sistema Timer000-999 com display de 7 segmentos e divisor de clock (versão 2).
 
*Projeto e simulação com Modelsim do sistema Timer000-999 com display de 7 segmentos e divisor de clock (versão 2).
 
*Relatório do projeto
 
*Relatório do projeto
 
+
-->
 
{{collapse bottom}}
 
{{collapse bottom}}

Edição das 07h39min de 23 de agosto de 2022

Registro on-line das aulas

Unidade 1 - Introdução a disciplina

  • 4 ENCONTROS
Unidade 1 - Introdução a disciplina
Encontro 1 (18 ago.)
  • APRESENTAÇÃO DA DISCIPLINA
  • Os materiais, prazos, documentação, histórico de trabalhos anteriores estão publicados nesta wiki.
  • A PÁGINA DA DISCIPLINA contem os materiais que não alteram entre semestre.
  • Nesta página está o REGISTRO DIÁRIO E AVALIAÇÕES.
  • Para a realização e entrega das atividades será utilizada a plataforma Moodle.
  • Para a comunicação entre professor-aluno, além dos avisos no SIGAA, utilizaremos o chat institucional. É necessário que forneçam o seu email institucional para serem cadastrados.
  • Para participar das aulas é recomendado que o aluno acesse a Nuvem do IFSC ou instale a VM com softwares Quartus II e Modelsim.
  • Introdução aos dispositivos lógicos programáveis:
  • Conceito, tipos de PLDs
  • SPLD: PAL, PLA e GAL
  • CPLDs
Encontro 2 (23 ago.)
Exemplos de PLDs

Figura 1.1 - Macrobloco do PLD EP300 da ALTERA
Ep310 macrocell.jpg
Fonte: https://www.altera.com/solutions/technology/system-design/articles/_2013/in-the-beginning.html.

Figura 1.2 - Macrocélula dos PLDs Clássicos EP600, EP900, EP1800 da ALTERA (1999)
Macrocell EP900.png
Fonte: https://www.altera.com/content/dam/altera-www/global/en_US/pdfs/literature/ds/archives/classic.pdf.

Figura 1.3a - Architetura do PLD EP1800 da ALTERA
Ep1800 block diagram.jpg
Fonte: https://www.altera.com/solutions/technology/system-design/articles/_2013/in-the-beginning.html.

Figura 1.3b - Architetura do PLD EP1800 da ALTERA
Ep1800 block diagram2.jpg
Fonte: https://www.altera.com/content/dam/altera-www/global/en_US/pdfs/literature/ds/archives/classic.pdf.

Figura 1.5 - Pinagem e tipos de encapsulamento do PLD EP1800 da ALTERA
PackagePinOut EP1810.png
Fonte: https://www.altera.com/content/dam/altera-www/global/en_US/pdfs/literature/ds/archives/classic.pdf.

Figura 1.6 - Architetura do CPLD MAX 5000 da ALTERA
Max 5000 architecture.jpg
Fonte: https://www.altera.com/solutions/technology/system-design/articles/_2013/in-the-beginning.html.
  • Preços
  • Fabricantes de DLPs/FPGAs e familias de DLPs atuais.
  • Ver também:
  • Arquitetura de FPGAs (Xilinx e Altera): CLB, LAB, RAM, DSP, Clock, PLL, I/O
Exemplos de FPGA

Figura 1.7 - Arquitetura simplificada de FPGA da Intel/Altera e Xilinx
ArquiteturaFPGAs.png
Fonte: [1] pag. 423.

Figura 1.8 - Diagrama simplificado da Slice L de um FPGA Xilinx
SliceL FPGAs.png
Fonte: [1] pag. 424.

Figura 1.9 - Diagrama simplificado da ALM de um FPGA Intel/Altera
ALM FPGAs.png
Fonte: [1] pag. 425.

Figura 1.10 - Leiaute de um FPGA Intel/Altera
Leiaute FPGAs.png
Fonte: [1] pag. 426.

Figura 1.11 - Leiaute de um FPGA Xilinx genérico
Leiaute2 FPGAs.jpg
Fonte: https://www.sciencedirect.com/science/article/pii/B9780750678667500032.

Figura 1.12 - Roteamento de sinal em um FPGA
Roteamento FPGAs.jpg
Fonte: https://www.sciencedirect.com/science/article/pii/B9780750678667500032.

Figura 1.13 - Tecnologias usadas na configuração de FPGAs
FPGA programming.png
Fonte: https://www.sciencedirect.com/topics/computer-science/one-time-programmable.
Leituras complementares para a unidade
  • Historia, processo de produção dos chips.
Curiosidades do mundo digital

|}

Unidade 3 - Tipos de Dados e Operadores em VHDL

|}

Unidade 4 - Código Concorrente

|}

Unidade 5 - Código Sequencial

|}

Unidade 6 - Projeto a nível de Sistema

Encontro 39 e 40 (12 e 14 jul.)
  • Instanciação de COMPONENT com GENERATE.
gen: for i in 0 to 7 generate
   comp: flip_flop port map (clk, rst, d(i), q(i));
end generate;
  • Uso da instrução CONFIGURATION.
  • Ligação direta: ARCHITECTURE-ENTITY.
  • Ligação da instanciação dos componentes: COMPONENT-ENTITY(ARCHITECTURE).


  • FUNCTION e PROCEDURE (são chamados de subprogramas), e podem ser construídos em um PACKAGE, ENTITY, ARCHITECTURE, ou PROCESS.

A instrução ASSERT é útil para verificar as entradas de um subprograma. Seu propósito não é criar circuito, mas assegurar que certos requisitos são atendidos durante a síntese e/ou simulação. Pode ser condicional ou incondicional (condição_booleana = FALSE). A sintaxe da instrução é:

[rótulo:] assert condição_booleana
[report mensagem]
[severity nivel_severidade];

A mensagem pode ser criada usando STRINGs que podem ser concatenadas.

O nível de severidade pode ser NOTE (para passar informação para o compilador/simulator), WARNING (para informar que algo não usual ocorreu), ERROR (para informar que alguma condição não usual "sério" ocorreu), ou FAILURE (para informar que uma condição não aceitável ocorreu). Normalmente o compilador para quando ocorre um ERROR ou FAILURE. ERROR é o valor "default" [2].

  • A FUNCTION: declaração, uso, mapeamento posicional x nominal, PURE x IMPURE.
function nome_funçao (lista_parametros_entrada) return tipo_saida is
   declarações
begin
   afirmações sequenciais
end function;
  • A PROCEDURE: declaração e uso
procedure nome_procedimento (lista_parâmetros_entrada, lista_parâmetros_saída) is
   declarações
begin
   afirmações sequenciais
end procedure;
Exemplos de uso ASSERT, FUNCTION e PROCEDURE
  • Exemplo: Cálculo do log2 de um número inteiro. Pode ser usado para determinar o número de bits necessário para um número natural.
function log2c (n : integer) return integer is
	variable m , p : integer;
begin
	m := 0;
	p : = 1;
	while p < n loop
		m : = m + 1;
		p := p * 2;
	end loop;
	return m;
end log2c;
  • Exemplo: Declaração de FUNCTION em ARCHITECTURE Ex.9.1
  • Aplicação no projeto do timer0_9
  • Exemplo: Declaração em FUNCTION PACKAGE Ex. 9.2
-- FILE: comparator.vhd
-- Fonte: PEDRONI, Volnei A. Circuit Design and Simulation with VHDL; 2 ed. Massachusetts-EUA:MIT, 2010.

library ieee;
use ieee.numeric_std.all;
use work.my_package.all;
entity organizer is
	generic (size : natural := 3);
	port
	(
		x  : in UNSIGNED(2 to 5);
		y  : out UNSIGNED(size - 1 downto 0)
	);
end entity;
architecture organizer of organizer is
begin
	y <= order_and_fill(x, size);
end architecture;
-- FILE: my_pkg.vhd
-- Fonte: PEDRONI, Volnei A. Circuit Design and Simulation with VHDL; 2 ed. Massachusetts-EUA:MIT, 2010. 608 p. ISBN 9780262014335

library ieee;
use ieee.numeric_std.all;
package my_package is
	function order_and_fill (input : UNSIGNED; bits : natural) return UNSIGNED;
end package;

package body my_package is
	function order_and_fill (input : UNSIGNED; bits : natural) return UNSIGNED is
		variable a : UNSIGNED(input'LENGTH - 1 downto 0);
		variable result : UNSIGNED(bits - 1 downto 0);
	begin
		assert (input'LENGTH <= bits)
			report "Improper input size!"
			severity FAILURE;
		if (input'LEFT > input'RIGHT) then
			a := input;
		else
			for i in a'range loop
				a(i) := input(input'LEFT + i);
			end loop;
		end if;
		if (a'LENGTH < bits) then
			result(bits - 1 downto a'LENGTH) := (others => '0');
			result(a'LENGTH - 1 downto 0) := a;
		else
			result := a;
		end if; 
		return result;
	end function;
end package body;
  • Exemplo: min_max Ex.9.4

Figura 6.1 - Fluxograma da PROCEDURE min_max
FluxogramMinMax.png
Fonte: pag. 232 de [2].
-- FILE: comparator.vhd
-- Fonte: PEDRONI, Volnei A. Circuit Design and Simulation with VHDL; 2 ed. Massachusetts-EUA:MIT, 2010.

use work.my_package.all;

entity comparator is
	port
	(
		a, b, c   : in integer range 0 to 255;
		min, max  : out integer range 0 to 255
	);
end entity;

architecture comparator of comparator is
begin
	min_max(a, b, c, min, max);
end architecture;
-- FILE: my_pkg.vhd
-- Fonte: PEDRONI, Volnei A. Circuit Design and Simulation with VHDL; 2 ed. Massachusetts-EUA:MIT, 2010.


package my_package is
	procedure min_max (
		signal a, b, c : in integer;
		signal min, max : out integer
	);
end package;
package body my_package is
	procedure min_max (
		signal a, b, c : in integer range 0 to 255;
		signal min, max : out integer range 0 to 255) is
	begin
		if (a >= b) then
			if (a >= c) then
				max <= a;
				if (b >= c) then
					min <= c;
				else
					min <= b;
				end if;
			else
				max <= c;
				min <= b;
			end if;
		else
			if (b >= c) then
				max <= b;
				if (a >= c) then
					min <= c;
				else min <= a;
				end if;
			else
				max <= c;
				min <= a;
			end if;
		end if;
	end procedure;
end package body;
Encontro 41 e 42 (16 jul. Sábado)

|}

Unidade 7 - Maquinas de Estado Finitas

|}

Avaliações

Nas avaliações A1 e A2 serão realizadas de forma presencial e vocês poderão consultar apenas as folhas entregues:

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.



Figura 1 - Interface transmissora serial
APF DLP29006 2017 2 UART TX.png
Fonte: Elaborado pelo autor.

Figura 2 - Interface receptora serial
APF DLP29006 2017 2 UART RX.png
Fonte: Elaborado pelo autor.
  • A entrada DATA_IN deve ter apenas 8 bits e usar as chaves do kit como entrada de dados, e o valor deve ser mostrado em dois displays de sete segmentos em hexadecimal (0 a F)
  • A saída DATA_OUT deve ter apenas 8 bits usar os leds como saída de dados, e o valor também deve ser mostrado em dois displays de sete segmentos em hexadecimal (0 a F)
  • As taxa de transmissão deverão ser geradas a partir do clock principal CLK50MHz do kit a ser utilizado.
  • A seleção da taxa de transmissão será feita através das chaves SW_BAUD_TX[1..0] para o transmissor e das SW_BAUD_RX[1..0] para o receptor.
Por exemplo:
00 => 0.1 bps, 01 => 10 bps, 10 => 9600 bps, 11 => 100 kbps.
  • Na transmissão deverá ser enviado um bit paridade (par ou impar) de acordo com a chave seletora SW_PARITY.
0 => paridade par, 1 => paridade impar.
  • No receptor a saída RX_ERROR deve ser usada para indicar que houve erro na recepção do dado.
  • O sistema no seu TOP LEVEL deverá ser constituído de um Conversor Paralelo Serial, um Conversor Serial Paralelo, dois Geradores de Baud Rate, um Gerador de Paridade, um Detector de Paridade, um Circuito de Entrada de Dados, e um Circuito de Saída de Dados.
  • O projeto deve ser desenvolvido integrando estes componentes no TOP LEVEL, de modo que neste nível existam apenas conexões entre estes componentes. Recomenda-se utilizar também componentes para a criação dos circuitos no segundo nível. O reuso de componentes já desenvolvidos nas aulas é fortemente encorajado.
  • Durante a fase das simulações recomenda-se alterar o valor da frequência do CLK50MHz para um clock menor de modo a viabilizar uma simulação mais rápida. As simulações de cada componente do TOP LEVEL e da integração de todos componentes no TOP LEVEL devem ser feitas no MODELSIM.
  • O sistema deverá ser implementado, testado e demonstrado no kit de hardware FPGA DE2-115 usando as chaves e leds disponíveis e os pinos da GPIO para acionar circuitos externos. (opcional)
  • O arquivo QAR do projeto, e os arquivos .do do MODELSIM devem ser enviados antecipadamente para o professor para conferencia antes da implementação no kit de hardware.
  • Escreva um relatório técnico contendo os resultados em no máximo 10 paginas A4. O relatório além das tabelas com os dados de frequência máxima, número de componente, número de pinos, deverá conter a figura dos circuitos RTL da ENTITY top level com uma explicação do seu funcionamento. Também devem ser apresentadas as simulações funcionais e uma análise textual dos resultados obtidos. A descrição da função dos pinos no Kit DE2-115 também deve ser feita.

|}

ATIVIDADE EXTRA-CLASSE (AE)

A soma das atividades Extra-classe será correspondente a 20% do conceito final na disciplina. A entrega das mesmas será feita pelo Moodle da disciplinas, e cada dia de atraso irá descontar 0,2 na nota da atividade. Muitas dessas atividades também possuem BÔNUS que são adicionados aos conceitos das avaliações A1 e A2. Para os BÔNUS só serão considerados projetos entregues no prazo.

|}

  1. 1,0 1,1 1,2 1,3 1,4 PEDRONI, Volnei A. Eletrônica digital moderna e VHDL; 1ª ed. Rio de Janeiro:Elsevier, 2010. 619p. . ISBN 9788535234657
  2. 2,0 2,1 PEDRONI, Volnei A. Circuit Design and Simulation with VHDL; 2ª ed. Massachusetts-EUA:MIT, 2010. 608 p. ISBN 9780262014335