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