Dispositivos Lógicos Programáveis: mudanças entre as edições

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
Linha 28: Linha 28:
</syntaxhighlight>
</syntaxhighlight>


;Sinais intermediários: São '''nós internos''' de um circuito lógico. São utilizados no VHDL para definir entradas e saídas de um bloco de circuito.
;Sinais intermediários: São '''nós internos''' de um circuito lógico. São utilizados no VHDL para definir entradas e saídas de um bloco de circuito <ref name="TOCCI">TOCCI, R.J.; WIDMER, N.S.; MOSS, G.L. Sistemas Digitais: princípios e aplicações, São Paulo: Pearson, 2011.</ref> <sup>(p. 90)</sup>.


Exemplo de um '''circuito lógico''' pela '''expressão booleana''':
Exemplo de um '''circuito lógico''' pela '''expressão booleana''':
  S = AB + C  
  S = AB + C  
<syntaxhighlight lang="vhdl">
<syntaxhighlight lang="vhdl">
ENTITY new_gate IS  
ENTITY logic_circuit IS  
   PORT(
   PORT(
A, B, C :  IN  BIT;
A, B, C :  IN  BIT;
S :  OUT  BIT);
S :  OUT  BIT);
END new_gate;
END logic_circuit;
ARCHITECTURE ckr OF new_gate IS  
ARCHITECTURE ckr OF logic_circuit IS  
   SIGNAL m :BIT;
   SIGNAL m :BIT;
   BEGIN  
   BEGIN  

Edição das 21h12min de 17 de maio de 2017

Dispositivos Lógicos Programáveis

Linguagem VHDL

A linguagem VHDL (Very high speed integraded circuits (VHSIC) Hardware Description Language) permite descrever na forma de uma linguagem textual circuitos lógicos.

A linguagem VHDL pode ser utilizada para programar Dispositivos Lógicos Programáveis.

Linguagem VHDL x Linguagem de Programação
Uma linguagem de descrição de hardware descreve a configuração de hardware de um circuito, ao passo que uma linguagem de programação descreve uma sequência de instruções a serem executadas por um computador para realizar um tarefa.
A execução de um programa em um computador segue uma ordem sequencial, por exemplo, caso o programa precise analisar o estado de quatro entradas, ele deve analisar uma entrada de de cada vez, a passo que um circuito lógico considera a atuação das entradas em paralelo [1] (p. 85).

Sintaxe VHDL

O formato de uma descrição de hardware envolve dois elementos fundamentais [1] (p. 88):

  • Definição das entradas e saídas (bloco ENTITY);
  • Definição de como as saídas respondem as entradas (bloco ARCHITECTURE).

Exemplo de uma porta AND:

ENTITY and_gate IS 
  PORT(
	A, B :  IN  BIT;
	S :  OUT  BIT);
END and_gate;
ARCHITECTURE ckr OF and_gate IS 
  BEGIN 
    S <= A AND B;
  END ckt;
Sinais intermediários
São nós internos de um circuito lógico. São utilizados no VHDL para definir entradas e saídas de um bloco de circuito [1] (p. 90).

Exemplo de um circuito lógico pela expressão booleana:

S = AB + C 
ENTITY logic_circuit IS 
  PORT(
	A, B, C :  IN  BIT;
	S :  OUT  BIT);
END logic_circuit;
ARCHITECTURE ckr OF logic_circuit IS 
  SIGNAL m :BIT;
  BEGIN 
    m <= A AND B;
    S <= m OR C;
  END ckt;

Quartus II

Software para desenvolvimento de circuitos lógicos digitais.

Circuito de uma porta E constuida no Quartus II
Block Diagram/Schematic File

VHDL de uma porta E gerada pelo Quartus II
-- PROGRAM		"Quartus II 32-bit"
-- VERSION		"Version 13.0.1 Build 232 06/12/2013 Service Pack 1 SJ Full Version"
-- CREATED		"Fri May 12 15:17:16 2017"
LIBRARY ieee;
USE ieee.std_logic_1164.all; 
LIBRARY work;
ENTITY portaE IS 
  PORT(
	A :  IN  STD_LOGIC;
	B :  IN  STD_LOGIC;
	S :  OUT  STD_LOGIC);
END portaE;
ARCHITECTURE bdf_type OF portaE IS 
  BEGIN 
    S <= A AND B;
  END bdf_type;
Porta E construída a partir da tabela verdade
ENTITY e IS
PORT(
  a,b: IN BIT;
  s: OUT BIT);
END e;
ARCHITECTURE tabelaVerdade OF e IS
  SIGNAL in_bits: BIT_VECTOR (1 DOWNTO 0);
  BEGIN
    in_bits <= a & b;
    WITH in_bits SELECT
	 S <= '0' WHEN "00",
	      '0' WHEN "01",
	      '0' WHEN "10",
	      '1' WHEN "11";
  END tabelaVerdade;

Referências

  1. 1,0 1,1 1,2 TOCCI, R.J.; WIDMER, N.S.; MOSS, G.L. Sistemas Digitais: princípios e aplicações, São Paulo: Pearson, 2011.

--Evandro.cantu (discussão) 14h03min de 12 de maio de 2017 (BRT)