FPGARelated.com
Forums

QUES: ODFX/IDFX inferred in syplify, and not in XACT libraries ????

Started by Ted February 3, 2004
I have to make changes to an old legacy product containing an XC4005
part.
I was able to find a set of old XACT tools but the problem is that the
newer
synplify versions infer the primitives IDFX and ODFX.  These to
primitives
are NOT included in the XC4000 libriaries and I have not been been
able
to get past the xnfmerge step.  I looked at the xnf file and the ODFX
and
IDFX primitives are D-Flip-flops with enable.  But when I look at the
logic
there is no enable needed.  Syplicity ties the enable to VCC.  For
example,
the following proccess,

 PROCESS(clk27m)
 BEGIN
     IF RISING_EDGE(clk27m) THEN
            d1data <= d1data_in;
     END IF ;
 END PROCESS;

gets mapped to the following in the xnf file,

SYM, d1data_in_inff<1>, IFDX, LIBVER=2.0.0
PIN, Q, O, d1_in/d1data<1>
PIN, D, I, d1data_in<1>
PIN, C, I, clk27m_c
PIN, CE, I, VCC


Is there a way to get synplify to infer the IFD primitive (D-flop w/o
enable) instead of the IFDX without making the source vender specific
or hacking the xnf file?? Does
anyone know where I can get older versions of Syplicity synplify (pre
6.0)? Thanks for any info.

Ted
On 3 Feb 2004 12:17:13 -0800, tfrankli_1@yahoo.com (Ted) wrote:
>I have to make changes to an old legacy product containing an XC4005 part. >I was able to find a set of old XACT tools but the problem is that the newer >synplify versions infer the primitives IDFX and ODFX. These to primitives >are NOT included in the XC4000 libriaries and I have not been been able >to get past the xnfmerge step. I looked at the xnf file and the ODFX and >IDFX primitives are D-Flip-flops with enable. But when I look at the logic >there is no enable needed. Syplicity ties the enable to VCC. For example, >the following proccess, > > PROCESS(clk27m) > BEGIN > IF RISING_EDGE(clk27m) THEN > d1data <= d1data_in; > END IF ; > END PROCESS; > >gets mapped to the following in the xnf file, > >SYM, d1data_in_inff<1>, IFDX, LIBVER=2.0.0 >PIN, Q, O, d1_in/d1data<1> >PIN, D, I, d1data_in<1> >PIN, C, I, clk27m_c >PIN, CE, I, VCC > > >Is there a way to get synplify to infer the IFD primitive (D-flop w/o >enable) instead of the IFDX without making the source vender specific >or hacking the xnf file?? Does >anyone know where I can get older versions of Syplicity synplify (pre >6.0)? Thanks for any info. > >Ted
You can certainly hack the xnf. Here are some code snippets that should help: Input FF SYM, d1data_in_inff<1>, INFF PIN, Q, O, d1_in/d1data<1> PIN, D, I, d1data_in<1> PIN, C, I, clk27m_c END Output flipflop SYM, MODULE_TOP/SIGNAME1, OUTFF, INIT=R PIN, C, I, CLK_NET PIN, D, I, MODULE_TOP/INT_MSEL0_21 PIN, O, O, MSEL0_21 END Output flipflop with tristate SYM, MODULE_TOP/SIGNAME2, OUTFFT, INIT=S PIN, C, I, CLK_NET PIN, D, I, MODULE_TOP/INT_MSEL0_31 PIN, O, O, MSEL0_31 PIN, T, I, MODULE_TOP/MSEL0_OUT_REG/OE END Philip Freidin Fliptronics