Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
20703 Discussions

freeze root of all design after every change in it

Altera_Forum
Honored Contributor II
1,463 Views

Hi, 

I am implementing a communication system on the 114 k logic cyclone IV FPGA using Quartus 11.1 and My design use 80% of the chip. adding or removing every block to design can result to destroy of it. how can i freeze all part of the design to rooting and fitting process? why can every small change in the design result to a bad answer in it? 

Best Regards
0 Kudos
7 Replies
Altera_Forum
Honored Contributor II
651 Views

Fitting 'a little bit' more into a very full device can be very difficult. It may use 80% of the resources but how much of the routing has been used is not shown. Locking the part of the design you already have is not likely to help. 

 

You can try increasing the effort Quartus puts in to fitting your design. Under 'Assignments' -> 'Settings...', select the 'Compiler Settings' Category. Click 'Advanced Settings (Fitter)...'. Try changing the 'ALM Register Packing Effort' to 'High'. You can also play with the 'Auto Packed Registers' setting. Finally, the 'Fitter Initial Placement Seed' and 'Placement Effort Multiplier' will also yield different results, which may help realise a fit. 

 

Cheers, 

Alex
0 Kudos
Altera_Forum
Honored Contributor II
651 Views

Hi, 

Many Thanks. Changing these settings is time consuming. Because the time of complition increased a lot. Are you use tsu and thold to over come these bad complition? Offcurse this bad rooting can be occured in the state 40 % of chip using.
0 Kudos
Altera_Forum
Honored Contributor II
651 Views

Unfortunately, using a relatively large device that is very full is going to be time consuming... 

 

 

--- Quote Start ---  

use tsu and thold to over come these bad complition? 

--- Quote End ---  

 

I'm not sure what you mean by this. These are not parameters you can adjust. A poor design may not meet the tsu required for it to operate at a particular clock frequency. So, it will fail timing. If this is the case you need to look at your code. 

 

Cheers, 

Alex
0 Kudos
Altera_Forum
Honored Contributor II
651 Views

Ok. Many thanks for your answers. How can i recognize that destroyed design after compilation was related to tsu and thold or root result? How can i recognize defect of compilation?

0 Kudos
Altera_Forum
Honored Contributor II
651 Views

You need to check that your design meets timing. In it's simplest form - have you constrained all your clocks? (Have you told Quartus the frequency of each clock?) 

 

After compilation, check the timing reports. Does it meet timing? If there is a problem with tsu your design would not run fast enough. 

 

Cheers, 

Alex
0 Kudos
Altera_Forum
Honored Contributor II
651 Views

Ok. I will check them. Alex, many thanks for your assistance.

0 Kudos
Altera_Forum
Honored Contributor II
651 Views

With that older version of Quartus, you can use incremental compilation. If you find that part of your design is meeting timing and not changing anymore, set it as a design partition and then set its netlist type in the Design Partitions window to Post-fit, essentially locking down that part of the design by reusing its post-fit netlist. That way, on the next compile when you try to change or fit other parts of the design, you'll save compile time and maintain performance on the part that was "locked down." 

 

You can learn more about incremental compilation here: 

 

https://www.altera.com/support/training/course.html?coursecode=odsw1136
0 Kudos
Reply