Timothy Normand Miller wrote:
On 11/28/07, Viktor Pracht <[EMAIL PROTECTED]> wrote:
What can the really expensive tools do that Icarus can't?

The really expensive tools are smart.  Icarus, Synplicity, ISE's
"Smarter" would be a better word. "Smart" implies other tools are "dumb", which is misleading. Also, I think it's important to separate Icarus, which is designed for *simulation* (I don't know what the synthesis quality is like), from Synplify/XST/Quartus, which all have synthesis as their *only* goal.

synthesizer, and other basic ones like that aren't; they just make the
most direct translation from Verilog to technology cells.  Then it's
Not so -- XST is timing-driven, as is Synplicity (and, I'm sure, Quartus). Moreover, all of these tools do a substantial amount of optimization on the network before handing it off to mapping, which is likewise timing-driven, and is liable to do /further/ optimization before handing it off to P&R. It's hardly "the most direct translation" -- not by a long shot.

up to P&R to make it fit.  The smart tools look ahead, consider timing
If it doesn't fit after mapping, there's nothing PAR can do about it. Post-PAR resynthesis may be able to fix up timing, but that's about it. Even that's pretty limited (decreasing levels usually means increasing area, which is obviously problematic post-PAR as you can't afford to tear up your placement and the routing penalty of just throwing your resynthesized logic wherever there's room could be astronomical).

earlier in the process, and they'll refactor your logic to meet
constraints.  You know how, hypothetically, any chunk of combinatorial
logic can be converted into two levels of AND and OR gates (with some
inverters).  So if your logic doesn't meet timing, a smart tool can
Not just hypothetically -- you're referring to the sum-of-product (SoP) or product-of-sum (PoS) form, and it's liable to be exponential to the number of inputs (i.e., totally irrelevant for many practical circuits). Not to mention the fact that you can't collapse an arbitrary network to two levels when no node can have a fan-in greater than four (or six, or however large your LUT is). I suppose these are among the "practical limits" to which you refer, but I would argue that all the vendors' synthesis tools push those same limits. Some admittedly do it better than others, but none fail to do so entirely (except maybe Icarus, but as I've said, it really isn't a synthesis tool in the same way XST is so it's not really a fair comparison).

see that your logic has too many layers and reorganize it so that it
has fewer (up to practical limits).  These toy FPGA tools don't do any
of that, or if they do anything like that at all, they do a lousy job
of it.

It's all well and good to opine that they're doing a lousy job; can you substantiate that? I ask in a good-natured, inquisitive way; it seems important, since on this list you're looked upon as an authority on such things and, if that's just an unsubstantiated opinion or an exaggeration, it might lead to a handful of budding hardware developers to harbour unwarranted misgivings.

My opinion and experience on the subject is, I think, pretty well articulated by this quote from an FPGA Journal article: "Be aware that a synthesis tool winning on quality of results is like a politician winning an election. Victory doesn't mean that every design or every voter goes to the winner. In a reasonable benchmarking situation, the winning tool might win 30% of designs, the losing tool might win 20%, and the other 50% would be a tie." I think that's a much more realistic assessment of how expensive tools compare with FPGA vendors' free offerings (and probably Icarus, though again, its QoR is a mystery to me). Saying one is "smart" and the other is "lousy" implies something quite different.

In short, I don't think you're giving XST's QoR the credit it's due relative to the Magma/Mentor/Synopsys offerings (usually, Synplify is lumped in with those three, but you've inexplicably written it off).

Full disclosure: I worked on Xilinx's XST & MAP during an internship.
_______________________________________________
Open-graphics mailing list
[email protected]
http://lists.duskglow.com/mailman/listinfo/open-graphics
List service provided by Duskglow Consulting, LLC (www.duskglow.com)

Reply via email to