Altera_Forum
Honored Contributor
17 years agoNot enough LABs after small change
I have a project that uses a system built by the SOPC builder. We weren't getting the perf we wanted, and the critical paths were through an adder in the "burst" wrappers added. So, we made our own burst units to eliminate that path, and created an sopc builder component with our own burst code and an altsyncram. We also had a component that was big endian, and we added a change that should have only changed wiring to make it little endian and remove all of the endian blocks created by the sopc builder for conversion.
Now it doesn't fit. I've tried reducing the number of memory blocks we have (previously had two rams we were using as caches, reduced it to 1), played with all of the Resource Optimization Advisor recommendations, and we are consistently about 500 LABs over the max according to the error from the fitter. Part of the fit report is below. It looks like the problem is due to routing, however the new burst blocks we added only require 65 LC combinationals and 32 registers according to the synthesis report. I don't know what the size of the burst blocks that the sopc builder added were, but I would think this isn't much of a change. The flow use to finish with about 83% utilization - now it's clearly over. Anyone have any suggestions? I'm surprised the results varried this wildly. I've attached a number of the report/message files. We're using partitions, but if I remove partitions it doesn't improve the results. Thanks, baver ; Logic utilization ; 81,778 / 72,768 ( 112 % ) ; ; -- Combinational ALUT/register pairs used in final Placement ; 71030 ; ; -- Combinational with no register ; 23894 ; ; -- Register only ; 22686 ; ; -- Combinational with a register ; 24450 ; ; -- Estimated pairs recoverable by pairing ALUTs and registers as design grows ; 0 ; ; -- Estimated Combinational ALUT/register pairs unavailable ; 10748 ; ; -- Unavailable due to unpartnered 7 LUTs ; 1252 ; ; -- Unavailable due to unpartnered 6 LUTs ; 6772 ; ; -- Unavailable due to unpartnered 5 LUTs ; 185 ; ; -- Unavailable due to LAB-wide signal conflicts ; 2351 ; ; -- Unavailable due to LAB input limits ; 188 ; ; ; ; ; Total registers* ; 47,761 / 77,026 ( 62 % ) ; ; -- Dedicated logic registers ; 47,136 / 72,768 ( 65 % ) ; ; -- I/O registers ; 625 / 4,258 ( 15 % ) ; ; ; ; ; ALMs: partially or completely used ; 39,793 / 36,384 ( 109 % ) ; ; ; ; ; Total LABs: partially or completely used ; 5,150 / 4,548 ( 113 % )