Mudanças entre as edições de "DLP1-EngTel (página)"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 411: Linha 411:
  
 
===PARA ENTREGAR===
 
===PARA ENTREGAR===
{{collapse top | expand = 1 | AE4 - Uso de código concorrente - ALU multiplicadora (Prazo de entrega 01/04/2015)}}
+
{{collapse top | expand = 1 | AE5 - Circuitos  Genéricos com código estrutural (Prazo de entrega 04/05/2015)}}
*A Unidade de Lógica e Aritmética deve ter as seguintes funções:
+
* Projete os três circuitos a seguir, utilizando código estrutural com componentes genéricos desenvolvidos conforme indicado:
;Unidade Lógica:
+
:# Somador do tipo carry-ripple de N bits (componente básico: '''Full Adder''').
{| class="wikitable"  border="1" cellpadding="3" cellspacing="0" style="text-align:left; font-size:100%" bgcolor="#efefef"
+
:# Contador Assíncrono de módulo <math>2^N</math> (componente básico: '''Divisor por 2''').
! scope="col" width=20% align="center"| Instrução
+
:# Contador Síncronos de módulo <math>2^N</math> (componente básico: '''Módulo da figura abaixo''').
! scope="col" width=20% align="center"| Operação
+
* Teste os componentes separadamente e depois utilize-os para criar os circuito acima.
! scope="col" width=20% align="center"| opcode
+
* Verifique o código RTL gerado [Tools > Netlist Viewers > RTL Viewer]
|-
 
| Complemento de A || y = not A || 0000
 
|-
 
| Complemento de B || y = not B || 0001
 
|-
 
| And || y = A and B || 0010
 
|-
 
| Nand || y = A nand B || 0011
 
|-
 
| Or || y = A or B || 0100
 
|-
 
| Nor || y = A nor B || 0101
 
|-
 
| Xor || y = A xor B || 0110
 
|-
 
| Xnor || y = A xnor B || 0111
 
|}
 
 
 
;Unidade Aritmética:
 
{| class="wikitable"  border="1" cellpadding="3" cellspacing="0" style="text-align:left; font-size:100%" bgcolor="#efefef"
 
! scope="col" width=20% align="center"| Instrução
 
! scope="col" width=20% align="center"| Operação
 
! scope="col" width=20% align="center"| opcode
 
|-
 
| Transfere A || y = A || 1000
 
|-
 
| Transfere B || y = B || 1001
 
|-
 
| Incrementa A || y = A + 1 || 1010
 
|-
 
| Decrementa A || y = A - 1 || 1011
 
|-
 
| Soma A e B|| y = A + B || 1100
 
|-
 
| Subtrai B de A|| y = A - B || 1101
 
|-
 
| Multiplica A e B || y = A * B || 1110
 
|-
 
| Dobra o valor A || y = A * 2 || 1111
 
|}
 
:* As operações aritméticas devem considerar apenas números positivos.
 
:* Indique a validade do resultado com o bit '''valid'''. Válido => '''valid''' = '1', Inválido => '''valid''' = '0'.
 
* A ENTITY deverá ter a seguinte interface:
 
<syntaxhighlight lang=matlab>
 
ENTITY alu IS
 
GENERIC (N: INTEGER := 4); --word bits
 
PORT (
 
a, b: IN STD_LOGIC_VECTOR(N-1 DOWNTO 0);
 
opcode: IN STD_LOGIC_VECTOR(3 DOWNTO 0);
 
valid: out STD_LOGIC;
 
y: OUT STD_LOGIC_VECTOR(2*N-1 DOWNTO 0));
 
END ENTITY;
 
</syntaxhighlight>
 
* Proponha uma ARCHITECTURE que implemente a ALU (Dica: utilize o tipo de dado tipo '''integer''').
 
 
* Anote o número de Elementos Lógicos (ou ALUTs) utilizados [Compilation Report > Flow Summary].  
 
* Anote o número de Elementos Lógicos (ou ALUTs) utilizados [Compilation Report > Flow Summary].  
* Verifique qual é o maior tempo de propagação entre as entradas a,b e saida sum [Compilation Report > TimeQuest ... > Datasheet Report > Propagation Delay].
+
* Verifique qual é o maior tempo de propagação entre as entradas de cada circuito e as saídas  [Compilation Report > TimeQuest ... > Datasheet Report > Propagation Delay].
* Verifique o código RTL gerado [Tools > Netlist Viewers > RTL Viewer]
 
 
* Faça a simulação funcional e temporal no QSIM, e verifique se as operações estão corretas.
 
* Faça a simulação funcional e temporal no QSIM, e verifique se as operações estão corretas.
* Análise os resultados obtidos considerando as entradas com 4 bits e também com 8 bits.   
+
* Implemente os circuitos e análise os resultados obtidos, utilizando 3 bits e depois 32 bits em cada um dos circuitos acima.
 +
* De um título coerente ao artigo e faça um resumo e introdução que esteja relacionado aos resultados que você deseja analisar.
 +
* Escreva um relatório na forma de artigo, utilizando preferencialmente o [http://200.135.233.26:3000/project/54750cb57ae8187440d60acd  modelo de artigo no padrão ABNT], disponível no ShareLaTeX do IFSC-CLOUD.
 +
* Faça um resumo e introdução que esteja relacionado aos resultados que você deseja analisar.
 +
* De um título coerente ao artigo. Seja criativo...
  
 
{{collapse bottom}}
 
{{collapse bottom}}

Edição das 22h58min de 16 de abril de 2015

MURAL DE AVISOS E OPORTUNIDADES DA ÁREA DE TELECOMUNICAÇÕES


Informações Gerais

Registro on-line das aulas

Unidade 1

Aula 1 (5 fev)
  1. Dispositivos lógicos programáveis.
  2. Bases da linguagem VHDL.
  3. Tipos de dados, libraries, conversão de tipos, operadores, atributos.
  4. Código VHDL concorrente e sequencial.
  5. Projeto hierárquico.
  6. Simulação e Testbench
  7. Maquina de estado finita (FSM).
  8. Projeto Final de circuitos lógicos.
  9. Avaliações.
  • Introdução aos dispositivos lógicos programáveis:
  • Conceito, tipos de PLDs
  • SPLD: PAL, PLA e GAL
Ver pag. 413 a 418 de [1]
Aula 2 (6 fev)
  • Introdução aos dispositivos lógicos programáveis:
  • CPLDs e FPGAs
  • Fabricantes de DLPs
  • Vizualização no Chip Planner de um projeto.
Ver pag. 419 a 424 de [1]
Aula 3 (11 fev)
  • Introdução aos dispositivos lógicos programáveis:
  • Arquitetura de FPGAs (Xilinx e Altera): CLB, LAB, RAM, DSP, Clock, PLL, I/O
  • Vizualização no Chip Planner de um projeto.
Ver pag. 424 a 431 de [1]

Unidade 2

Aula 4 (12 fev)
  • Introdução ao VHDL.
  • Exemplo de programação de um full adder. Utilize os arquivos .qar enviados (V1 - estrutural. V2 - comportamental) para analisar os circuitos obtidos e realizar as simulações funcional e temporal.
Ver pag. 3 a 8 de [2]
Aula 5 (13 fev)
  • Introdução ao VHDL.
  • Estrutura do código VHDL
  • Libraries, Entity, Architecture
Aula 6 (19 fev)
  • Introdução ao VHDL.
  • Estrutura do código VHDL
  • Exercicios 2.2 (VHDL e QSIM)
  • Exemplo de programação de um flip-flop
  • Exercicios 2.3 (VHDL e QSIM)
Ver pag. 3 a 8 de [2]
Aula 7 (20 fev)
  • Introdução ao VHDL.
  • Libraries, Entity, Architechture, Generic.
Ver pag. 11 a 18 de [2]
Aula 8 (25 fev)
  • Introdução ao VHDL.
  • Exemplo de um circuito somador
  • Exemplo de FF-D
Ver pag. 19 a 21 de [2]

Unidade 3

Aula 9 (26 fev)
  • Tipos de Dados em VHDL.
  • Exemplo de um circuito somador com registrador
  • Exemplo de decodificador de endereço genérico
Ver pag. 22 a 27 de [2]
Aula 10 (27 fev)
  • Tipos de Dados em VHDL.
  • Objetos de VHDL: CONSTANT, SIGNAL, VARIABLE, FILE.
  • Palavra chave OTHERS
  • Bibliotecas padrão.
  • Não use as bibliotecas não padrão (std_logic_arith, std_logic_unsigned, std_logic_signed)
  • Tipos de dados: BIT, BIT_VECTOR, BOOLEAN, INTEGER, NATURAL, POSITIVE, CHARACTER, STRING, STD_(U)LOGIG, STD_(U)LOGIG_VECTOR, (UN)SIGNED
  • Classificação dos tipos de dados.
  • Exemplo 3.1 Buffer Tri-state
  • Exemplo 3.3 Multiplicador
Ver pag. 31 a 54 de [2]
Aula 11 (5 mar)
  • Tipos de Dados em VHDL.
  • Tipos Array definidos pelo usuário: 1D, 1D x 1D, 2D, 1D x 1D x 1D, 3D.
Ver pag. 62 a 79 de [2]
Aula 12 (6 mar)
  • Operadores em VHDL.
  • Operadores predefinidos: Atribuição, Logicos, Arithméticos, Comparação, Deslocamento, Concatenação, "Matching".
  • Sobrecarga de operadores
Ver pag. 91 a 98 de [2]
Aula 13 (11 mar)
  • Atributos em VHDL.
  • Atributos predefinidos: tipo escalar e enumerados; tipo array; de sinal;
  • Exemplo 4.1 (Simulação funcional)
  • Atributos definidos pelo usuário;
  • Atributos de síntese: Enum_encoding, chip_pin, keep.
  • Exemplo: Delay line (Síntese e Simulação temporal sem o com o atributo keep)
Ver pag. 99 a 109 de [2]
Aula 14 (12 mar)
  • Atributos em VHDL.
  • Atributos de síntese: preserve, noprune.
  • Exemplo: Redundant Register
  • Group e Alias
  • Exercício 4.17: Discussão de possibilidades de implementação
Ver pag. 109 a 119 de [2]

Unidade 4

Aula 15 (13 mar)
  • Código Concorrente.
  • WHEN, SELECT, GENERATE;
  • Exemplo 5.1 + 5.2 mux: com 4 tipos de arquiteturas (com operadores, com WHEN, com SELECT, com IF),
  • Uso de CONFIGURATION para selecionar um entre várias arquiteturas.
CONFIGURATION which_mux OF mux IS
   FOR with_OPERATOR END FOR;
--   FOR with_WHEN END FOR;
--   FOR with_SELECT END FOR;
--   FOR with_IF END FOR;
END CONFIGURATION;
  • Exemplo 5.3 ALU: modificação do opcodes: "0011" -> a NAND b, "0100" -> "a OR b, "1111" => a * b. É necessário mudar a ENTITY, dobrando o número de bits da saída devido a multiplicação, e adaptar o código para a nova quantidade de bits.
Ver pag. 121 a 129 de [2]
Aula 16 (19 mar)
  • Código Concorrente.
Aula 17 (20 mar)
  • Código Concorrente.
Aula 18 (25 mar)
  • Código Concorrente.
  • Implementação de circuitos arithméticos com operadores.
LEMBRETE
  • Para "+" ou "-": O tamanho do resultado é igual ao número de bits do maior operando.
r[7..0] = a[7..0] + b[4..0]; a -> 8 bits; b -> 5 bits então r -> 8 bits.
  • Para "*": O tamanho do resultado é igual a soma do número de bits dos dois operandos.
r[12..0] = a[7..0] * b[4..0]; a -> 8 bits; b -> 5 bits então r -> 8+5 bits.
  • Para "/": O tamanho do resultado é igual ao número de bits do numerador.
r[5..0] = a[5..0] * b[8..0]; a -> 6 bits; b -> 9 bits então r -> 6 bits.
  • Aula de exercicios:
5.4 - Generic Parity Generator;
5.6 - Generic Binary-to-Gray Converter;
5.7 - Hamming Weight with GENERATE;
5.8 - Binary Sorter with GENERATE;
5.10/11 - Arithmetic Circuit with INTEGER/STD_LOGIC;
5.15/16/17/18 - (Un)signed Multiplier/Divider;
5.19 - Frequency Multiplier.

Unidade 5

Aula 19 (26 mar)
  • Código Sequencial.
  • Diferenças entre código concorrente e sequencial <=> circuitos combinacional e sequencial
  • Diferenças entre os objetos SIGNAL e VARIABLE
  • Tipos de elementos de memória: Latch x Flip-flop
  • Latch D
  • Flip-flop tipo D com reset assíncrono e com reset (clear) síncrono
  • Seção de código sequencial PROCESS: lista de sensibilidade
  • Instrução IF
  • Exemplos: DFFs with Reset and Clear (Variação Ex 6.1), Basic Counter (Ex. 6.2), Shift Register (Ex. 6.3)
  • Instrução WAIT: WAIT UNTIL, WAIT FOR (simulação apenas), WAIT ON (não implementada no Quartus II).
Recomenda-se utilizar a lista de sensibilidade do PROCESS e a instrução IF no lugar do WAIT.
  • Ver pag. 161 a 160 de [2]
Aula 20 (27 mar)
  • Código Sequencial.
  • Instruções do tipo LOOP: LOOP incondicional, FOR-LOOP, WHILE-LOOP, NEXT, EXIT
  • Exemplos: Carry-Ripple Adder (FOR-LOOP) (Ex 6.4), Leading Zeros (LOOP com EXIT) (Ex 6.5)
  • Instrução CASE
  • Exemplo: Contador de 0 a 9 segundos com saída SSD (Ex 6.6)
  • Exemplo: Projeto ruim com CASE incompleto (Ex. 6.7)
  • Ver pag. 161 a 171 de [2]

Recursos de Laboratório

Quartus/Modelsim/QSIM

Nos laboratórios do IFSC, os softwares Quartus/Modelsim/QSIM estão disponíveis diretamente na plataforma LINUX. Utilize preferencialmente a versão 13.0sp1 (32 bits), pois ela tem suporte para os FPGAs mais antigos como a familia Cyclone I.

Para uso fora do IFSC dos recursos computacionais com licença educacional, o IFSC disponibiliza para seus alunos o IFSC-CLOUD. Atualmente a forma mais eficiente de acesso é através do Cliente X2GO. O procedimento de instalação/ configuração e uso do Quartus/Modelsim/QSIM está descrito em Acesso ao IFSC-CLOUD#Cliente X2GO (recomendado).

Sharelatex

Para a geração de documentação/relatórios técnicos/artigos, está disponibilizada a plataforma Sharelatex do IFSC-CLOUD. Utilize preferencialmente o modelo de artigo no padrão ABNT.


Atividades extra

JÁ ENCERRADAS

AE1 - Estudo do tipo de programação dos FPGA (prazo 20/02/2015)
  • Fazer uma pesquisa sobre as formas como os PLDs são programados. Fusíveis, antifusíseis, memória PROM, EPROM, EEPROM, Flash, SRAM, etc. Formar equipes de até 2 alunos e apresentar um resumo em 2 a 3 páginas A4.
AE2 - Estudo do Quartus II e Dispositivos FPGA (prazo 27/02/2015)
  • Utilize no Quartus II o arquivo adders.qar para realizar os seguintes procedimentos:
P0 - Selecione a família de FPGA Cyclone e selecione o dispositivo EP1C3T100A8
P1 - Selecione como Top-Level Entity o arquivo adder_4bits.vhd e compile esse código [Processing > Start Compilation].
  • Anote o número de Elementos Lógicos (ou ALUTs) utilizados [Compilation Report > Flow Summary].
  • Verifique qual é o maior tempo de propagação entre as entradas a,b e saida sum [Compilation Report > TimeQuest ... > Datasheet Report > Propagation Delay].
  • Verifique o código RTL gerado [Tools > Netlist Viewers > RTL Viewer]
  • Verifique como o circuito foi sintetizado abrindo o [Chip Planner], e após dar um zoom no Elemento lógico (ou ALUT) utilizado verifique o hardware que foi utilizado com o [Resource Property Editor]
  • Faça a simulação funcional utilizando o arquivo tb_adder_4bits.vwf no QSIM, e verifique se as somas estão corretas.
P2 - Selecione como Top-Level Entity o arquivo adder_ripple_4bits.bdf e compile esse código [Processing > Start Compilation].
  • Repita os passos do procedimento P1.
P3 - Troque a familia do FPGA para Stratix III e selecione o dispositivo EP3SE50F484C2 e repita os procedimento P1 e P2 acima.
P4 - Análise os resultados obtidos e chegue as suas conclusões. Escreva os resultados em um artigo resumido de 1 a 2 páginas.
  • Exemplos ilustrativos de utilização do elemento lógico/ALUT
  • Adder de 4 bits em EP1C3T100A8
Adder 4bits EP1C3T100A8.png
  • Adder de 4 bits em EP3SE50F484C2
Adder 4bits EP3SE50F484C2.png
  • Riple Adder de 4bits em EP3SE50F484C2
Riple Adder 4bits EP3SE50F484C2.png
AE3 - Uso de operadores e tipos de dados (Prazo de entrega 23/03/2015)
  • Para o exercício 4.15 escreva um código VHDL e faça a simulação temporal.
  • Para o exercício 4.17 escreva um código VHDL e analise o número de elementos lógicos necessários. Compare com os outros estudantes e analise das diferenças.
Para facilitar os testes e a troca de informações entre as equipes, a ENTITY deverá ter o seguinte formato:
entity bin2bcd is
	port (
		num_bin	: in std_logic_vector(9 downto 0);
		C_bcd		: out std_logic_vector(3 downto 0);
		D_bcd		: out std_logic_vector(3 downto 0);
		U_bcd		: out std_logic_vector(3 downto 0));

end entity;
AE4 - Uso de código concorrente - ALU multiplicadora (Prazo de entrega 01/04/2015)
  • A Unidade de Lógica e Aritmética deve ter as seguintes funções:
Unidade Lógica
Instrução Operação opcode
Complemento de A y = not A 0000
Complemento de B y = not B 0001
And y = A and B 0010
Nand y = A nand B 0011
Or y = A or B 0100
Nor y = A nor B 0101
Xor y = A xor B 0110
Xnor y = A xnor B 0111
Unidade Aritmética
Instrução Operação opcode
Transfere A y = A 1000
Transfere B y = B 1001
Incrementa A y = A + 1 1010
Decrementa A y = A - 1 1011
Soma A e B y = A + B 1100
Subtrai B de A y = A - B 1101
Multiplica A e B y = A * B 1110
Dobra o valor A y = A * 2 1111
  • As operações aritméticas devem considerar apenas números positivos.
  • Indique a validade do resultado com o bit valid. Válido => valid = '1', Inválido => valid = '0'.
  • A ENTITY deverá ter a seguinte interface:
ENTITY alu IS
GENERIC (N: INTEGER := 4); --word bits
PORT (
	a, b: IN STD_LOGIC_VECTOR(N-1 DOWNTO 0);
	opcode: IN STD_LOGIC_VECTOR(3 DOWNTO 0);
	valid: out STD_LOGIC;
	y: OUT STD_LOGIC_VECTOR(2*N-1 DOWNTO 0));
END ENTITY;
  • Proponha uma ARCHITECTURE que implemente a ALU (Dica: utilize o tipo de dado tipo integer).
  • Anote o número de Elementos Lógicos (ou ALUTs) utilizados [Compilation Report > Flow Summary].
  • Verifique qual é o maior tempo de propagação entre as entradas a,b e saida sum [Compilation Report > TimeQuest ... > Datasheet Report > Propagation Delay].
  • Verifique o código RTL gerado [Tools > Netlist Viewers > RTL Viewer]
  • Faça a simulação funcional e temporal no QSIM, e verifique se as operações estão corretas.
  • Análise os resultados obtidos considerando as entradas com 4 bits e também com 8 bits.

ESTUDOS SEM ENTREGA DE DOCUMENTAÇÃO

Estrutura do VHDL
  • Faça o exercício 2.1 [2], completando o código VHDL. Idente o código. Procure entender o código inserindo comentários onde julgar importante. Depois de tudo realizado compile e simule o código. Procure obter zero erros na primeira complilação.

----------------------------------------------------
LIBRARY ieee;
USE _________________________;
----------------------------------------------------
ENTITY mux IS
PORT (___, ___: ___ STD_LOGIC_VECTOR(7 DOWNTO 0);
sel: IN ____________________________;
___: OUT STD_LOGIC_VECTOR(__ DOWNTO 0));
END _____;
----------------------------------------------------
ARCHITECTURE example OF _____ IS
BEGIN
PROCESS (a, b, ____)
BEGIN
IF (sel="00") THEN
x <= "00000000";
ELSIF (__________) THEN
x <= a;
_____ (sel="10") THEN
x <= __;
ELSE
x <= "___________";
END ___;
END __________;
END __________;
----------------------------------------------------

</syntaxhighlight>

Estudo dos atributos em VDHL
entity atributte_test_array is
	port(
	x1, x2, x3, x4, x5, x6: out integer range 0 to 15;
	x7, x8: out boolean;
	m12, m44, m47: out bit);
end entity;

architecture ifsc of atributte_test_array is
	TYPE matrix IS ARRAY (1 TO 4, 7 DOWNTO 0) OF BIT;
	SIGNAL test: matrix := (('0', '1', '1', '0', '0', '1', '1', '0'), "01110100", ('1', others => '0'), (4 => '0', others => '1'));
begin
--------------------------------------------------------------------------
	x1 <= matrix'LEFT(1); --result=1 (type of x1 must be INTEGER or eq.)
	x2 <= matrix'LEFT(2); --result=7 (type of x2 must be INTEGER or eq.)
	x3 <= matrix'RIGHT(1); --result=4 (type of x3 must be INTEGER or eq.)
	x4 <= matrix'RIGHT(2); --result=0 (type of x4 must be INTEGER or eq.)
	x5 <= matrix'LENGTH(1); --result=4 (type of x5 must be INTEGER or eq.)
	x6 <= matrix'LENGTH(2); --result=8 (type of x6 must be INTEGER or eq.)
	x7 <= matrix'ASCENDING(1); --result=TRUE (type of x7 must be BOOLEAN)
	x8 <= matrix'ASCENDING(2); --result=FALSE (type of x8 must be BOOLEAN)
	m12 <= test(1,2); -- result = '1' - Acess the element of 'test' row(1), columm(2) (type of  m11 must be bit)
	m47 <= test(4,7); -- result = '1' - Acess the element of 'test'  row(7), columm(7) (type of  m11 must be bit)
	m44 <= test(4,4); -- result = '0' - Acess the element of 'test'  row(4), columm(4)  (type of  m11 must be bit)
--------------------------------------------------------------------------
end architecture;
Resolução dos exercícios do Cap 3
  • Resolva os exercícios da capítulo 3 (1, 2, 9, 11-13, 18-20, 23-30) pag. 81 a 89
Resolução dos exercícios do Cap 4
  • Resolva os exercícios da capítulo 4 (4-11, 13, 15-17 ) pag. 115 a 120
Resolução dos exercícios do Cap 5
  • Resolva os exercícios da capítulo 5 (1, 3, 4, 6-11, 14-19) pag. 144 a 150
Projetar Conversor de binário para 7 segmentos

Projetar em VHDL dois conversores de binário para 7 segmentos a) usando código concorrente (SELECT) e b) usando código sequencial (CASE).

  • Considerar a saída do conversor com lógica positiva (ativo = '1').
  • Simular o circuito com valores de entrada entre 0 = "0000" até 15 = "1111". Para entradas de 0-9 devem ser mostrados os valores decimais no display. Para entradas de 10 a 14 é indiferente o valor a ser mostrado. Para o valor 15 deve ser ativado apenas o segmento g
  • Conferir se as saídas estão corretas para cada uma das entrada. Dica: leia Display de 7 segmentos.
ENTITY ssd IS
  PORT (
    bin: IN STD_LOGIC_VECTOR(3 DOWNTO 0);
    ssd: OUT STD_LOGIC_VECTOR(6 DOWNTO 0)
        );
END ENTITY;

PARA ENTREGAR

AE5 - Circuitos Genéricos com código estrutural (Prazo de entrega 04/05/2015)
  • Projete os três circuitos a seguir, utilizando código estrutural com componentes genéricos desenvolvidos conforme indicado:
  1. Somador do tipo carry-ripple de N bits (componente básico: Full Adder).
  2. Contador Assíncrono de módulo (componente básico: Divisor por 2).
  3. Contador Síncronos de módulo (componente básico: Módulo da figura abaixo).
  • Teste os componentes separadamente e depois utilize-os para criar os circuito acima.
  • Verifique o código RTL gerado [Tools > Netlist Viewers > RTL Viewer]
  • Anote o número de Elementos Lógicos (ou ALUTs) utilizados [Compilation Report > Flow Summary].
  • Verifique qual é o maior tempo de propagação entre as entradas de cada circuito e as saídas [Compilation Report > TimeQuest ... > Datasheet Report > Propagation Delay].
  • Faça a simulação funcional e temporal no QSIM, e verifique se as operações estão corretas.
  • Implemente os circuitos e análise os resultados obtidos, utilizando 3 bits e depois 32 bits em cada um dos circuitos acima.
  • De um título coerente ao artigo e faça um resumo e introdução que esteja relacionado aos resultados que você deseja analisar.
  • Escreva um relatório na forma de artigo, utilizando preferencialmente o modelo de artigo no padrão ABNT, disponível no ShareLaTeX do IFSC-CLOUD.
  • Faça um resumo e introdução que esteja relacionado aos resultados que você deseja analisar.
  • De um título coerente ao artigo. Seja criativo...

Links auxiliares

Livros/Resumos sobre VHDL

Fabricantes de DLPs


Padrões IEEE para o VDHL

Os padrões IEEE [1]estão disponíveis para consulta se você estiver na rede do IFSC. Para a linguagem VHDL consulte os padrões: 1164,1076

Referências Bibliográficas:

  1. 1,0 1,1 1,2 PEDRONI, Volnei A. Eletrônica digital moderna e VHDL; 1ª ed. Rio de Janeiro:Elsevier, 2010. 619p. . ISBN 9788535234657
  2. 2,00 2,01 2,02 2,03 2,04 2,05 2,06 2,07 2,08 2,09 2,10 2,11 2,12 2,13 PEDRONI, Volnei A. Circuit Design and Simulation with VHDL; 2ª ed. Massachusetts-EUA:MIT, 2010. 608 p. ISBN 9780262014335



Curso de Engenharia de Telecomunicações