Return to Support Page
 homesearchagentssupportask xilinxmap

Answers Database


Specifying an FDCE in VIEWsynthesis


Record #881

Product Family:  Software

Product Line:  ViewLogic

Problem Title:
Specifying an FDCE in VIEWsynthesis


Problem Description:
There are two ways to specify a register with Clock Enable line.


Solution 1:

Instantiation:

FDCE has a hidden pin ("GSR" for the xc4000 and "GR" for the
xc3000 and xc5200) which needs to be listed in the component
definition.

Example for a xc4000 device:

library synth;
use synth.stdsynth.all;

entity sw7_gsr is
    port (CLK:	in STD_LOGIC;
	  CLKE: in STD_LOGIC;
	  CLEAR: in STD_LOGIC;
	  SW:	in STD_LOGIC;
	  SWI: out STD_LOGIC);
end sw7_gsr;

architecture rtl of sw7_gsr is

component FDCE
	port (CLR: in STD_LOGIC;
	      CE: in STD_LOGIC;
	      D : in STD_LOGIC;
	      C : in STD_LOGIC;
	      GSR: in STD_LOGIC; -- sneaky --
	      Q : out STD_LOGIC);
end component;

    begin
fdcein: FDCE port map (CLEAR, CLKE, SW, CLK, '0', SWI);

end rtl;



Solution 2:

Behavioral description using Clock Enable with
AsynchronousReset

LIBRARY ieee;
USE	ieee.std_logic_1164.all;

Entity sync IS

  PORT(din, clk, clke, reset : IN std_logic;
	    dout : OUT std_logic);
END;

ARCHITECTURE behav OF sync IS
BEGIN
     PROCESS
     BEGIN
     WAIT UNTIL (prising(clk) OR reset = '1');
	      IF reset='1' THEN
		dout <='1';
	      ELSE
		 IF clke ='1' THEN
		     dout <= din;
		 END IF;
	      END IF;
	END PROCESS;
END behav;



End of Record #881

For the latest news, design tips, and patch information on the Xilinx design environment, check out the Xilinx Expert Journals!

© 1998 Xilinx, Inc. All rights reserved
Trademarks and Patents