Mudanças entre as edições de "Como evitar o uso da lógica combinacional no reset síncrono"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
 
(2 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
 +
;Usando lógica combinacional no clear sincrono:
 +
Um código em VHDL genérico resultará na maioria das vezes na adição de um circuito combinacional para a entrada clear sincrono.
 +
 +
{{fig|1|RTL do flip-flop D com reset síncrono| FF_D_RST_SINC.png| 800 px | }}
 +
 +
;evitando a lógica combinacional no clear sincrono
 
Para evitar o uso do circuito combinacional para a entrada CLEAR_SYNC no flip_flop D é necessário utilizar a ''Low-Level Primitives'' '''DFFEAS'''
 
Para evitar o uso do circuito combinacional para a entrada CLEAR_SYNC no flip_flop D é necessário utilizar a ''Low-Level Primitives'' '''DFFEAS'''
 +
{{fig|2|RTL de Flip-flop D com reset síncrono (usando o componente DFFEAS) | FF_D_SCLR.png| 400 px | }}
 +
 +
{{fig|3|Technology Map do flip-flop D com reset síncrono (usando o componente DFFEAS)| TM_FF_D_SCLR.png| 800 px | }}
  
 
<syntaxhighlight lang=vhdl>
 
<syntaxhighlight lang=vhdl>
Linha 46: Linha 55:
 
end architecture;
 
end architecture;
 
</syntaxhighlight>
 
</syntaxhighlight>
{{fig|1|RTL de Flip-flop D com reset síncrono| FF_D_SCLR.png| 400 px | }}
+
 
{{fig|2|Technology map de Flip-flop D com reset síncrono| TM_FF_D_SCLR.png| 800 px | }}
 
 
;Ler:
 
;Ler:
 
*[[media:Ug_low_level.pdf | Designing with Low-Level Primitives User Guide]] pag.2–28 - Altera Corporation 2007
 
*[[media:Ug_low_level.pdf | Designing with Low-Level Primitives User Guide]] pag.2–28 - Altera Corporation 2007

Edição atual tal como às 14h53min de 18 de outubro de 2023

Usando lógica combinacional no clear sincrono

Um código em VHDL genérico resultará na maioria das vezes na adição de um circuito combinacional para a entrada clear sincrono.


Figura 1 - RTL do flip-flop D com reset síncrono
FF D RST SINC.png
Fonte: Elaborado pelo autor.
evitando a lógica combinacional no clear sincrono

Para evitar o uso do circuito combinacional para a entrada CLEAR_SYNC no flip_flop D é necessário utilizar a Low-Level Primitives DFFEAS


Figura 2 - RTL de Flip-flop D com reset síncrono (usando o componente DFFEAS)
FF D SCLR.png
Fonte: Elaborado pelo autor.

Figura 3 - Technology Map do flip-flop D com reset síncrono (usando o componente DFFEAS)
TM FF D SCLR.png
Fonte: Elaborado pelo autor.
library ieee;
use ieee.std_logic_1164.all;

entity FF_D is
	port
	(
		clock    : in  STD_LOGIC;

		sync_clr : in  STD_LOGIC;
		d        : in  STD_LOGIC;
		q        : out STD_LOGIC := '0');
end entity;

architecture ifsc of FF_D is
	component DFFEAS
		port
		(
			d      : in  STD_LOGIC;
			clk    : in  STD_LOGIC;
			clrn   : in  STD_LOGIC;
			prn    : in  STD_LOGIC;
			ena    : in  STD_LOGIC;
			asdata : in  STD_LOGIC;
			aload  : in  STD_LOGIC;
			sclr   : in  STD_LOGIC;
			sload  : in  STD_LOGIC;
			q      : out STD_LOGIC);
	end component;
begin
	FFD : DFFEAS
	port map
	(
		d      => d,
		clk    => clock,
		clrn   => '1',
		prn    => '1',
		ena    => '1',
		asdata => '0',
		aload  => '0',
		sclr   => sync_clr,
		sload  => '0',
		q      => q);
end architecture;
Ler