Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

XST since ISE 4.x can actually generate an EDIF netlist!!!

16 views
Skip to first unread message

Kevin Brace

unread,
May 21, 2002, 5:43:07 PM5/21/02
to
Hi, I have been very unhappy that since ISE 4.x, XST (Xilinx
Synthesis Technology) only generates an encrypted NGC netlist, and not
an EDIF netlist which can be read and edited if needed.
Because of that, I even had to resort back to WebPACK ISE 3.3's XST
which still generated an EDIF netlist. (See "Duplicating IOB FFs Without
I/O Pads Being Inserted in XST" if you are interested.)
I needed to edit an EDIF file generated because XST won't duplicate FFs
for IOBs if I/O pads weren't added, but I cannot add I/O pads because I
am doing an IP core. (The backend logic that instantiates the IP core
will also instantiate I/O pads.)
However, yesterday I accidentally found a way to get the latest XST
(Ver. E.35) to generate an EDIF netlist despite the fact that XST's
manual says that it doesn't support it.
The trick I found was to change (Your Project).xst's -ofmt
option ((Your Project).xst is located under your project's directory.).

-ofmt NGC


Should be changed to,

-ofmt EDIF


However, Xilinx is really mean (unreasonable), and if you will try to
synthesize a design from ISE's GUI, it will change the -ofmt option back
to NGC.
To avoid that, you will have to run XST from a batch file (.BAT file in
DOS) from your project's directory.
In case someone is not too familiar to run XST from a command line, the
batch file will look like this,

xst -ifn (Your Project).xst -ofn (Your Project).syr


This way, ISE cannot manipulate the .xst file, so XST will generate an
EDIF netlist.
If someone is interested further about this -ofmt option, you can change
this to something invalid like NGO or I_hate_NGC, and XST should display
a message that says only NGC, EDIF, or NGO_EDIF are the supported output
formats.
The way I found this trick was when I was reading XST's manual,
it mentioned that the only valid -ofmt option was NGC (-ofmt NGC).
Before ISE 4.x, XST used to generate an EDIF file, so this field used to
be EDIF (-ofmt EDIF).
Going back to XST's manual, it says the only valid -ofmt option is NGC,
but when I saw the word 'only', I suddenly thought, "Why don't I change
this to EDIF, and see what happens?"
So, I changed the -ofmt option to EDIF, ran it from a batch file which I
normally don't do, and it worked . . .
So, after all, the latest XST actually supported generating an
EDIF netlist, therefore, I really have to wonder why Xilinx doesn't want
people to know that.
There are several theories why XST now only 'officially' generates an
encrypted NGC netlist, and some people speculate that Xilinx doesn't
want people to get a free synthesis tool that generates an EDIF netlist
which can, in theory, converted to other vendors' library primitives,
wants to protect IP cores although what XST generates is not necessarily
IP cores, etc.
My latest conspiracy theory will be that perhaps some third-party
synthesis tool vendors don't necessarily appreciate the existence of
XST.
If XST were so good, and generated an EDIF netlist, I am sure some users
won't pay another several thousands of dollars for a third-party
synthesis tool considering that XST comes with ISE free of charge.
Therefore, to make third-party synthesis tool vendors happy, Xilinx
'crippled' XST by not 'normally' allowing it to generate an EDIF
netlist, so that when users ask Xilinx how to get XST generate an EDIF
netlist, Xilinx can say, "Use a third-party synthesis tool to get an
EDIF netlist."
Another posting from a Xilinx employee several months ago said
that eliminating an EDIF netlist generation capability is "a huge
advantage that XST now has.", but as far as when I tried synthesizing a
small design with an NGC output option and an EDIF output option, I
didn't see a difference in logic usage.

http://groups.google.com/groups?hl=en&lr=&selm=3C2CDBDA.5060102%40xilinx.com


I don't quite understand what this "huge advantage" really is, but
perhaps it is an opportunity for third-party synthesis tool vendors to
make more money.
Another reasonable reason why XST actually still generated an
EDIF netlist might be that Xilinx needs this capability for debugging
purposes of the synthesis tool, although I am sure Xilinx has an
NGC2EDIF conversion tool in-house for development purposes.
I will like to hear Xilinx's response regarding my conspiracy theories,
and why Xilinx won't let users know that XST Ver. E.xx can actually
generating an EDIF netlist.

Kevin Brace (In general, don't respond to me directly, and respond
within the newsgroup.)

Rick Filipkiewicz

unread,
May 21, 2002, 5:56:26 PM5/21/02
to


>

Nice work Kevin. esp. the new conspiracy reason.

Question: For which version of XST will EDIF well & truely disappear ? Faites
vos jeux mesdames et messieurs, dans quelques relaches rien ne vas plus.


Kevin Brace

unread,
May 21, 2002, 6:29:14 PM5/21/02
to


Is this question intended for Xilinx, or me?
Hopefully, ISE 5.x won't kill XST's EDIF netlist generation capability.

Jim Granville

unread,
May 21, 2002, 6:41:49 PM5/21/02
to
Kevin Brace wrote:
>
<snip>
> The trick I found was to change (Your Project).xst's -ofmt
> option ((Your Project).xst is located under your project's directory.).
>
> -ofmt NGC
>
> Should be changed to,
>
> -ofmt EDIF
>
>
<snip>
> So, after all, the latest XST actually supported generating an
> EDIF netlist, therefore, I really have to wonder why Xilinx doesn't want
> people to know that.
> There are several theories why XST now only 'officially' generates an
> encrypted NGC netlist, and some people speculate that Xilinx doesn't
> want people to get a free synthesis tool that generates an EDIF netlist
> which can, in theory, converted to other vendors' library primitives,
> wants to protect IP cores although what XST generates is not necessarily
> IP cores, etc.
> My latest conspiracy theory will be that perhaps some third-party
> synthesis tool vendors don't necessarily appreciate the existence of
> XST.

It does sound more like an idea more off a golf-course than from
an engineering lab :-)
.NGC = Near Golf-course Concession ?


> If XST were so good, and generated an EDIF netlist, I am sure some users
> won't pay another several thousands of dollars for a third-party
> synthesis tool considering that XST comes with ISE free of charge.
> Therefore, to make third-party synthesis tool vendors happy, Xilinx
> 'crippled' XST by not 'normally' allowing it to generate an EDIF
> netlist, so that when users ask Xilinx how to get XST generate an EDIF
> netlist, Xilinx can say, "Use a third-party synthesis tool to get an
> EDIF netlist."

Companies that tried encrypting data files in the past, got nothing
but aggravation: both from customers, and from a much longer
bug report/fix loop.
A customer that cannot workaround a problem is somewhat more agitated
than one that can :-)

A deliberate crippling also sounds like a 'feeding trough' for lawyers,
should such customers decide Xilinx has materially affected their
business.

> Another posting from a Xilinx employee several months ago said
> that eliminating an EDIF netlist generation capability is "a huge
> advantage that XST now has.", but as far as when I tried synthesizing a
> small design with an NGC output option and an EDIF output option, I
> didn't see a difference in logic usage.
>
> http://groups.google.com/groups?hl=en&lr=&selm=3C2CDBDA.5060102%40xilinx.com
>
> I don't quite understand what this "huge advantage" really is, but
> perhaps it is an opportunity for third-party synthesis tool vendors to
> make more money.
> Another reasonable reason why XST actually still generated an
> EDIF netlist might be that Xilinx needs this capability for debugging
> purposes of the synthesis tool, although I am sure Xilinx has an
> NGC2EDIF conversion tool in-house for development purposes.

Anyone who decides to encrypt files that allowed users to Fix sw
issues,
must have supreme confidence in their flows, and zero defects.

Xilinx should be saluted for having reached this important milestone.

-jg

Rick Filipkiewicz

unread,
May 21, 2002, 6:43:26 PM5/21/02
to

Kevin Brace wrote:

> Rick Filipkiewicz wrote:
> >
> > >
> >
> > Nice work Kevin. esp. the new conspiracy reason.
> >
> > Question: For which version of XST will EDIF well & truely disappear ? Faites
> > vos jeux mesdames et messieurs, dans quelques relaches rien ne vas plus.
>
> Is this question intended for Xilinx, or me?

Neither really. Its just that if

(a) your conspiracy theory is correct

and

(b) Xilinx realise the secret is out

then Xilinx will have to remove -ofmt EDIF to keep the synth tool vendors happy.

But maybe I'm just having a more-cynical-than-usual sort of day.

Kevin Brace

unread,
May 21, 2002, 8:39:45 PM5/21/02
to

Rick Filipkiewicz wrote:
>
>
>
> Neither really. Its just that if
>
> (a) your conspiracy theory is correct
>
> and
>
> (b) Xilinx realise the secret is out
>
> then Xilinx will have to remove -ofmt EDIF to keep the synth tool vendors happy.
>
> But maybe I'm just having a more-cynical-than-usual sort of day.


When I discovered that ISE 4.x's XST can actually generate an
EDIF netlist, I thought of telling it only to people who have posted
questions on how XST can generate an EDIF file a couple of months ago
rather than posting the information here, so that Xilinx won't know that
someone has figured out how to get ISE 4.x's XST to generate an EDIF
file.
But rather than keeping it a secret, I felt like it will be better if
everyone who wants to know how to do it, so I posted it, although I
thought if the secret is out, Xilinx might really try to get rid of EDIF
netlist generation capability from XST.
I think it will be a big mistake if Xilinx really does that.

Michael Rhotert

unread,
May 29, 2002, 11:33:27 AM5/29/02
to
Kevin Brace wrote:

<snip>


> However, Xilinx is really mean (unreasonable), and if you will try to
> synthesize a design from ISE's GUI, it will change the -ofmt option back
> to NGC.
> To avoid that, you will have to run XST from a batch file (.BAT file in
> DOS) from your project's directory.
> In case someone is not too familiar to run XST from a command line, the
> batch file will look like this,
>
> xst -ifn (Your Project).xst -ofn (Your Project).syr
>
>
> This way, ISE cannot manipulate the .xst file, so XST will generate an
> EDIF netlist.

<snip>

There's also a way to do this from ISE's GUI:
Select Edit - Preferences - Processes and set "Process Settings" to
"Advanced".
Now there is a new property in the Synthesis Options called "Other XST
Command Line Options".
Enter "-ofmt EDIF" (without quotes) as the value.
If you synthesize your design, XST now generates both, EDIF and NGC
netlists.

/Michael

Kevin Brace

unread,
Jun 5, 2002, 2:01:11 AM6/5/02
to
I tried what you wrote with ISE WebPACK 4.2WP2.0, and although when
synthesis starts, XST will display that it is going to generate an EDIF
and an NGC netlist, at the end, it will only generate an EDIF netlist.
I have to admit, being able to do everything from ISE's GUI is a lot
more convenient.
However, isn't this option to manually add XST command line options from
ISE's GUI new?
I don't recall ISE WebPACK 4.1 having such an option.

Kevin Brace (In general, don't respond to me directly, and respond
within the newsgroup.)

Falk Brunner

unread,
Jun 5, 2002, 2:05:34 PM6/5/02
to
"Kevin Brace" <ihatespam99ke...@ihatespam99hotmail.com> schrieb
im Newsbeitrag news:adk8n9$vab$1...@newsreader.mailgate.org...

> I tried what you wrote with ISE WebPACK 4.2WP2.0, and although when
> synthesis starts, XST will display that it is going to generate an EDIF
> and an NGC netlist, at the end, it will only generate an EDIF netlist.
> I have to admit, being able to do everything from ISE's GUI is a lot
> more convenient.
> However, isn't this option to manually add XST command line options from
> ISE's GUI new?

Ahhm, it looks like that the commercial version of ISE (4.2, SP2) dont offer
this :-(
Anyone got a clue?

--
MfG
Falk


Michael Rhotert

unread,
Jun 6, 2002, 1:44:23 PM6/6/02
to
Kevin Brace wrote

> I tried what you wrote with ISE WebPACK 4.2WP2.0, and although when
> synthesis starts, XST will display that it is going to generate an EDIF
> and an NGC netlist, at the end, it will only generate an EDIF netlist.

You're right. There was a NGC netlist from a previous synthesis run in my
project dir, so I misinterpreted things a little.

> I have to admit, being able to do everything from ISE's GUI is a lot
> more convenient.
> However, isn't this option to manually add XST command line options from
> ISE's GUI new?
> I don't recall ISE WebPACK 4.1 having such an option.
>

Don't know, I tried this option the first time in ISE4.2i SP2.

/Michael


Michael Rhotert

unread,
Jun 6, 2002, 1:53:22 PM6/6/02
to
Falk Brunner wrote

> Ahhm, it looks like that the commercial version of ISE (4.2, SP2) dont
offer
> this :-(
> Anyone got a clue?

In my previous post I forgot to mention, that you have to set the
environment variable:

XIL_PROJNAV_XST_OPTION=1 (or TRUE in UNIX)

It should work in ISE4.2i SP2 then.

/Michael


0 new messages