Forums

synplify vqm not able to fit in Quartus

Started by Bob October 6, 2003
Hi,

I am trying to fit this particular design. I run Synplify Pro to map
the device.
In Synplify, with mapping logic to atoms turned on, the design won't
fit so I disable mapping logic to atoms and can get the design to fit
(63 % of device)
onto the device....see log file from synplify below. 

However, when I try to place and route the device in Quartus III, it
cannot fit.
Quartus uses the same project directory as Synplify so it has access
to all constraints and tcl files. Can anybody shed any light on this
subject. I have used Synplify in conjunction with Quartus before and
the resource useage results
from both are nearly always about the same. Why the large discrepency
?

Do I manually need to read in some tcl files or have I forgotten to
switch on
a particular option in Quartus ?

As always, thanks for any help
Bob






Found clock clk with period 33.3333ns
---------------------------------------
Resource Usage Report

Final cell packing will be performed by Max+plus II.
Please select a Logic synthesis style of "FAST" in Max+plus II.
The following resource values are estimates.

Design view:work.comms(comms_architecture)
Selecting part ep20k1000efc33-1

Logic resources:  24440 ATOMs of 38400 (63%)
Number of Nets:   190215
Number of Inputs: 1298480
Register bits:    14312 (4094 using enable)
Latch bits:      8106
ESBs:                0  (0% of 160)
I/O cells:       0

Details:
AND2:           8298
INV1:           3879
MUX1:           5834
SYNLPM_LAT1:    16356
S_DFF:          10218
S_DFFE:         4113
XOR2:           291
apex20k_lcell:  77185
apex20k_lcell_ff: 19
false:          7
inv:            9189
true:           7

Number of Inputs on ATOMs: 1298480
Number of Nets:   190215

Writing .vqm output for Quartus
Writing Cross reference file for Quartus to
c:\comms_vhdl\rev_1\comms.xrf
Mapper successful!
Process took 7284.92 seconds realtime, 7284.92 seconds cputime
Bob,
    I assume the first experiment was run with Quartus II 2.2 (the one where
it fit without atoms), and the second one was in Quartus II 3.0. As a rule
of thumb using the atom (vqm) netlist  should give fairly close results in
the two versions of Quartus, assuming you are optimizing for area (lcell
count) or speed in both cases inside Quartus.

You may want to run one more experiment. Use the vqm netlist, and in Quartus
II 3.0

1. Set WYSIWYG Primitive resynthesis (aka atom resynthesis) to on. You can
do this from the Assignments->Settings->Compiler Settings->Netlist
Optimizations dialog. This will make Quartus take the vqm netlist, convert
it to a gate level netlist and synthesize it further.

2. Next set the Optimization Technique to Area. You can do this from the
Assignments->Settings->Default Logic Option Settings->Optimization
Technique -  APEX20K/APEX20K... to Area.

3. Set Register Packing to off. You can do this from the
Assignments->Settings->Default Logic Option Settings->Auto Packed Register
Settings list box. Register Packing can sometimes hurt fiting in the APEX
architectures.

4.Compile this design with Quartus II 3.0 and check the results.

If this works turn off the setting in Step 1 and follow recompile the
design.


- Subroto Datta
Altera Corp.

"Bob" <stenasc@yahoo.com> wrote in message
news:20540d3a.0310060457.37847daf@posting.google.com...
> Hi, > > I am trying to fit this particular design. I run Synplify Pro to map > the device. > In Synplify, with mapping logic to atoms turned on, the design won't > fit so I disable mapping logic to atoms and can get the design to fit > (63 % of device) > onto the device....see log file from synplify below. > > However, when I try to place and route the device in Quartus III, it > cannot fit. > Quartus uses the same project directory as Synplify so it has access > to all constraints and tcl files. Can anybody shed any light on this > subject. I have used Synplify in conjunction with Quartus before and > the resource useage results > from both are nearly always about the same. Why the large discrepency > ? > > Do I manually need to read in some tcl files or have I forgotten to > switch on > a particular option in Quartus ? > > As always, thanks for any help > Bob > > > > > > > Found clock clk with period 33.3333ns > --------------------------------------- > Resource Usage Report > > Final cell packing will be performed by Max+plus II. > Please select a Logic synthesis style of "FAST" in Max+plus II. > The following resource values are estimates. > > Design view:work.comms(comms_architecture) > Selecting part ep20k1000efc33-1 > > Logic resources: 24440 ATOMs of 38400 (63%) > Number of Nets: 190215 > Number of Inputs: 1298480 > Register bits: 14312 (4094 using enable) > Latch bits: 8106 > ESBs: 0 (0% of 160) > I/O cells: 0 > > Details: > AND2: 8298 > INV1: 3879 > MUX1: 5834 > SYNLPM_LAT1: 16356 > S_DFF: 10218 > S_DFFE: 4113 > XOR2: 291 > apex20k_lcell: 77185 > apex20k_lcell_ff: 19 > false: 7 > inv: 9189 > true: 7 > > Number of Inputs on ATOMs: 1298480 > Number of Nets: 190215 > > Writing .vqm output for Quartus > Writing Cross reference file for Quartus to > c:\comms_vhdl\rev_1\comms.xrf > Mapper successful! > Process took 7284.92 seconds realtime, 7284.92 seconds cputime
Hi Subroto,

Thank you for replying.

I did what you said, but it made very little difference..ie...reduced
LE count by 35 (now 111235 LE's)....still miles over the actual size
of the device.

This is a massive difference, between what Synplify Pro 6.1.3 says and
Quartus
II 3.0

I re-synthesized the design again in Synplify and got the same result
as before so there is definitely some problem in the flow between the
two tools. It certainly looks like I'm back to the drawing board
design wise.

If you can think of anything else, I would be very grateful.

Bob

"Subroto Datta" <sdatta@altera.com> wrote in message news:<9oegb.6513$TH.4903@newssvr16.news.prodigy.com>...
> Bob, > I assume the first experiment was run with Quartus II 2.2 (the one where > it fit without atoms), and the second one was in Quartus II 3.0. As a rule > of thumb using the atom (vqm) netlist should give fairly close results in > the two versions of Quartus, assuming you are optimizing for area (lcell > count) or speed in both cases inside Quartus. > > You may want to run one more experiment. Use the vqm netlist, and in Quartus > II 3.0 > > 1. Set WYSIWYG Primitive resynthesis (aka atom resynthesis) to on. You can > do this from the Assignments->Settings->Compiler Settings->Netlist > Optimizations dialog. This will make Quartus take the vqm netlist, convert > it to a gate level netlist and synthesize it further. > > 2. Next set the Optimization Technique to Area. You can do this from the > Assignments->Settings->Default Logic Option Settings->Optimization > Technique - APEX20K/APEX20K... to Area. > > 3. Set Register Packing to off. You can do this from the > Assignments->Settings->Default Logic Option Settings->Auto Packed Register > Settings list box. Register Packing can sometimes hurt fiting in the APEX > architectures. > > 4.Compile this design with Quartus II 3.0 and check the results. > > If this works turn off the setting in Step 1 and follow recompile the > design. > > > - Subroto Datta > Altera Corp. > > "Bob" <stenasc@yahoo.com> wrote in message > news:20540d3a.0310060457.37847daf@posting.google.com... > > Hi, > > > > I am trying to fit this particular design. I run Synplify Pro to map > > the device. > > In Synplify, with mapping logic to atoms turned on, the design won't > > fit so I disable mapping logic to atoms and can get the design to fit > > (63 % of device) > > onto the device....see log file from synplify below. > > > > However, when I try to place and route the device in Quartus III, it > > cannot fit. > > Quartus uses the same project directory as Synplify so it has access > > to all constraints and tcl files. Can anybody shed any light on this > > subject. I have used Synplify in conjunction with Quartus before and > > the resource useage results > > from both are nearly always about the same. Why the large discrepency > > ? > > > > Do I manually need to read in some tcl files or have I forgotten to > > switch on > > a particular option in Quartus ? > > > > As always, thanks for any help > > Bob > > > > > > > > > > > > > > Found clock clk with period 33.3333ns > > --------------------------------------- > > Resource Usage Report > > > > Final cell packing will be performed by Max+plus II. > > Please select a Logic synthesis style of "FAST" in Max+plus II. > > The following resource values are estimates. > > > > Design view:work.comms(comms_architecture) > > Selecting part ep20k1000efc33-1 > > > > Logic resources: 24440 ATOMs of 38400 (63%) > > Number of Nets: 190215 > > Number of Inputs: 1298480 > > Register bits: 14312 (4094 using enable) > > Latch bits: 8106 > > ESBs: 0 (0% of 160) > > I/O cells: 0 > > > > Details: > > AND2: 8298 > > INV1: 3879 > > MUX1: 5834 > > SYNLPM_LAT1: 16356 > > S_DFF: 10218 > > S_DFFE: 4113 > > XOR2: 291 > > apex20k_lcell: 77185 > > apex20k_lcell_ff: 19 > > false: 7 > > inv: 9189 > > true: 7 > > > > Number of Inputs on ATOMs: 1298480 > > Number of Nets: 190215 > > > > Writing .vqm output for Quartus > > Writing Cross reference file for Quartus to > > c:\comms_vhdl\rev_1\comms.xrf > > Mapper successful! > > Process took 7284.92 seconds realtime, 7284.92 seconds cputime
Bob wrote:

> I re-synthesized the design again in Synplify and got the same result > as before so there is definitely some problem in the flow between the > two tools. It certainly looks like I'm back to the drawing board > design wise. > > If you can think of anything else, I would be very grateful.
Maybe you can eliminate the flow between the tools. Try bypassing Synplify and process your source files directly with Quartus synthesis. -- Mike Treseler
Synplify is suppose to be a better tool..  It should be at the price.  Have
you tried using the Synplify EDF output file as the quartus source file ?

That way you get all the benefit of the synplify work.

Simon


"Mike Treseler" <mike.treseler@flukenetworks.com> wrote in message
news:3F82F013.5000007@flukenetworks.com...
> Bob wrote: > > > I re-synthesized the design again in Synplify and got the same result > > as before so there is definitely some problem in the flow between the > > two tools. It certainly looks like I'm back to the drawing board > > design wise. > > > > If you can think of anything else, I would be very grateful. > > Maybe you can eliminate the flow between the tools. > Try bypassing Synplify and process your source files > directly with Quartus synthesis. > > -- Mike Treseler >
Simon,

Synplify does not give you the option of a edif output file for Apex
devices. If it does, I certainly don't know about it.

Bob 


Mike Treseler <mike.treseler@flukenetworks.com> wrote in message news:<3F82F013.5000007@flukenetworks.com>...
> Bob wrote: > > > I re-synthesized the design again in Synplify and got the same result > > as before so there is definitely some problem in the flow between the > > two tools. It certainly looks like I'm back to the drawing board > > design wise. > > > > If you can think of anything else, I would be very grateful. > > Maybe you can eliminate the flow between the tools. > Try bypassing Synplify and process your source files > directly with Quartus synthesis. > > -- Mike Treseler
I believe the answer may be that you have too much logic for the device.

When Synplify packs to Atoms, we expect very good area correlation. 
That&#2013266066;s because we packed all the Atoms into legal configurations.
When Synplify does not pack to Atoms, we measure resource usage of 
individual elements of the Atoms, but we do not estimate Atom usage 
accurately. Sometime 2 elements that could fit into an empty Atom can 
not be packed together because it would not be a legal configuration. 
So, even though I might have a resource report that shows  usage of 1 
LUT and 1 Register, it could require 2 Atoms instead, instead of 1. 
Since Synplify did not do the packing, Quartus will determine the legal 
packing.  In your example, when we packed it it did not fit, and when 
Quartus packed it it did not fit. That makes me think that things are 
consistent. As the log file says, when Synplify does not do the packing, 
our area report is just an estimate. Again, that is because it reports 
individual element usage and does not assess legal packing configurations.


This is only a guess, to be sure we would need to take a look at your 
example. Please feel free to send the test case to &#2013266067;support&#2013266068; at 
synplicity.com and we will have someone try to help fit it into your 
device, and also to clarify the reason for the difference.

Andrew Dauman
Synplicity, Inc.


Bob wrote:
> Hi, > > I am trying to fit this particular design. I run Synplify Pro to map > the device. > In Synplify, with mapping logic to atoms turned on, the design won't > fit so I disable mapping logic to atoms and can get the design to fit > (63 % of device) > onto the device....see log file from synplify below. > > However, when I try to place and route the device in Quartus III, it > cannot fit. > Quartus uses the same project directory as Synplify so it has access > to all constraints and tcl files. Can anybody shed any light on this > subject. I have used Synplify in conjunction with Quartus before and > the resource useage results > from both are nearly always about the same. Why the large discrepency > ? > > Do I manually need to read in some tcl files or have I forgotten to > switch on > a particular option in Quartus ? > > As always, thanks for any help > Bob > > > > > > > Found clock clk with period 33.3333ns > --------------------------------------- > Resource Usage Report > > Final cell packing will be performed by Max+plus II. > Please select a Logic synthesis style of "FAST" in Max+plus II. > The following resource values are estimates. > > Design view:work.comms(comms_architecture) > Selecting part ep20k1000efc33-1 > > Logic resources: 24440 ATOMs of 38400 (63%) > Number of Nets: 190215 > Number of Inputs: 1298480 > Register bits: 14312 (4094 using enable) > Latch bits: 8106 > ESBs: 0 (0% of 160) > I/O cells: 0 > > Details: > AND2: 8298 > INV1: 3879 > MUX1: 5834 > SYNLPM_LAT1: 16356 > S_DFF: 10218 > S_DFFE: 4113 > XOR2: 291 > apex20k_lcell: 77185 > apex20k_lcell_ff: 19 > false: 7 > inv: 9189 > true: 7 > > Number of Inputs on ATOMs: 1298480 > Number of Nets: 190215 > > Writing .vqm output for Quartus > Writing Cross reference file for Quartus to > c:\comms_vhdl\rev_1\comms.xrf > Mapper successful! > Process took 7284.92 seconds realtime, 7284.92 seconds cputime
stenasc@yahoo.com (Bob) wrote in message news:<20540d3a.0310060457.37847daf@posting.google.com>...
> Hi, > > I am trying to fit this particular design. I run Synplify Pro to map > the device. > In Synplify, with mapping logic to atoms turned on, the design won't > fit so I disable mapping logic to atoms and can get the design to fit > (63 % of device) > onto the device....see log file from synplify below. > > However, when I try to place and route the device in Quartus III, it > cannot fit. > Quartus uses the same project directory as Synplify so it has access > to all constraints and tcl files. Can anybody shed any light on this > subject. I have used Synplify in conjunction with Quartus before and > the resource useage results > from both are nearly always about the same. Why the large discrepency > ? > > Do I manually need to read in some tcl files or have I forgotten to > switch on > a particular option in Quartus ? > > As always, thanks for any help > Bob
Bob, What is exactly is the no-fit message from Quartus for the two cases (Synplify maps to atoms, and Synplify doesn't map to atoms)? I suspect that when Synplify does not map to atoms (an unusual flow for the 20K -- I've never seen it used before), it doesn't really know how many logic cells will be used, since it didn't do the mapping. If Quartus is simply saying that your design uses too many logic cells in both of these flows (map to atoms and don't map to atoms), then your design is just too big. If it is reasonably close to fitting (i.e. you're using 110% or so of the logic cells in the device) then there are options you can turn on in Quartus, like more aggressive register packing, that can compress the design more. If Quartus is saying you need double the number of logic cells in the device, you're probably out of luck. Vaughn Altera