Altera_Forum
Honored Contributor
16 years agoSOPC builder reports "Generating non-optimal logic"
The SOPC builder seems to have a bug that causes it to report that it is "Generating non-optimal logic" for address decodes of tightly coupled address/data when there is nothing really wrong.
This seems to be reported whenever tightly coupled memory is placed at a lower virtual address than the main address/data interface. I would have thought that the intention of this warning it to report when the tightly coupled address splits the other slave addresses. My suspicions are raised somewhat by the error message which always reports a range of (0xffffffff-xxxxx) for the range of the address/data master. I would have thought that this would be a 'low-high' range! So the whole thing stinks of a signed v unsigned compare fubar in some code that scans through the slaves attached to the data/address master to find the bounds of all the slaves. The 'low' value being set to ~0u with the intention of it being reduced by each slave. There is the associated issue that quite a few Altera documents suggest using single bits to identify slaves in order to reduce the amount of logic. Since the SOPC builder fails to give any useful information about how the addresses are decoded (and what aliases exist), it isn't actually clear that this is actually useful. In order to generate small address decode logic for a system with a few 8k memory block, some small IO, and a 16MB SDRAM it seems to me that it is necessary to be rather more explicit about the address aliasing than the SOPC build allowes. Anyone any thoughts or words of wisdom? Should we just ignore this warnign message?