Open kmurray opened 9 years ago
That is a good sanity check you have. Are you using a fracturable LUT architecture
with molecules? If yes, then this behaviour you see is normal because you have in
fact three unique architectural LUT+FF patterns each of which correspond to different
parts of the complex block.
Pattern #1: 6-LUT to flip-flop
Pattern #2: 5-LUT to flip-flop shared with pattern #1
Pattern #3: 5-LUT to flip-flop not shared with pattern #1
One thing that I could do to reduce the molecule search space is to prune away patterns
that become dominated. But in this situation, it's actually not obvious whether or
not there is a dominating molecule. Pre-packing to the 5-LUT + FF is obvious but there
is a non-obvious case where one may wish to pre-pack to the 6-LUT for speed reasons
(the fastest LUT input cannot be used in dual 5-LUT mode so the larger 6-LUT should
be used instead).
Another implementation that I could have done instead is reduce the control the architect
has when specifying pack patterns to only specify patterns for netlist blocks without
regard to physical implementation. For example, the architect can specify that the
tool look for LUT+FF pairs in the netlist and the tool will auto-infer when such cases
make sense and when they do not make sense in the architecture. This will reduce
the number of molecules generated. I don't intend to implement this because our intention
is to eventually remove the need for the architect to specify pack_patterns to begin
with. So if the packer was smart enough to auto-infer when a molecule exists in the
architecture given a netlist molecule, then it is pretty close to being smart enough
to automate that whole process.
Reported by JasonKaiLuu
on 2012-06-04 19:28:50
Started
Reported by JasonKaiLuu
on 2012-06-04 19:29:24
Oh I see, thanks for explaining this!
Yes, I am using a fracturable LUT architecture with molecules.
Reported by alshahna.jamal
on 2012-06-04 20:08:50
Reported by JasonKaiLuu
on 2012-06-04 21:51:28
Is it right to assume that in clustering, the most feasible molecule of the three packing
patterns (with the same logical blocks) will be chosen? As in right now there are three
molecules with the same logical blocks but each logical block is only clustered once
... so the best molecule for this is chosen?
Reported by alshahna.jamal
on 2012-07-12 19:36:30
Yes, the "best" molecule gets chosen where "best" is based on cost functions during
packing.
Works well right now for regular BLEs and fracturable LUT BLEs but I got some work
to do making this more robust for other kinds of blocks (The performance of molecules
is right now hit-and-miss for other kinds of structures).
Reported by JasonKaiLuu
on 2012-07-12 19:45:39
Originally reported on Google Code with ID 32
Reported by
alshahna.jamal
on 2012-06-04 18:46:20