[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[partial-reconfig] Spartan-IIE Custom BMs...



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