My recent posts, and Gregory's reply, led to the conclusion that it is possible to place module boundaries after any column in the Spartan-IIE... this could potentially lead to a reduction in the area overhead, incurred by having to conform to the four-slice limit even when the slices required in a module are much smaller than the total that needs to be fitted into a module... this could mean that modules only need to be as wide as they are, with only a few extra slices thrown in... Of course in practice it probably won't be possible to fit in more logic than would cover 85% or so of the area in the module, and the extra slices would probably make sure that the area coverage hovers around that mark... But a slight improvement, even one that is for all practical purposes purely academic, is an improvement nonetheless, especially in area-optimized designs... There is however, another impediment in reducing the area overhead, and that is the Xilinx Bus Macro for the Spartan-IIE... it uses one TBUF per CLB out of the two available, and since there are four TBUFs to be used in a module, it means TBUFs from four CLBs are used... Since each CLB has two slices, this BM structure would force one to conform to a minimum width of four CLBs (in other words, eight slices) for each module... Is this really necessary? Why not use the other TBUF in each CLB? Using two TBUFs from a CLB means only two CLBs are used in each module, i.e. four slices... This is exactly what the Virtex-II BMs have... they use two TBUFs from a single CLB, which allows them to cover two CLBs (four slices) in a module horizontally (the other two slices in the CLB don't count since they have a different Y-coordinate)... Which brings me to the conclusion that there might well be a minimum width of four slices that need to be adhered to, even if there's no need to conform to the multiple-of-four-slices restriction... Using the Xilinx BM though, would force the use of a minimum of eight slices, horizontally... I just came up with a BM that uses only two CLBs from each side... I'm sending it as an attachment... Its still early morning here and I haven't got around to using it in a design yet, but I'm about to do that now... I'll sign in later with a review of whether it worked or not... :) Sincerely, Umar -- http://www.fastmail.fm - Does exactly what it says on the tin
Attachment:
bm_4b_s2e_short.nmc
Description: Binary data
Attachment:
bm_4b_s2e_short.xdl
Description: Binary data