Coder Social home page Coder Social logo

Comments (6)

kmurray avatar kmurray commented on May 28, 2024
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

  • Status changed: Started
  • Labels added: Type-Enhancement
  • Labels removed: Type-Defect

from vtr-verilog-to-routing.

kmurray avatar kmurray commented on May 28, 2024

Reported by JasonKaiLuu on 2012-06-04 19:29:24

from vtr-verilog-to-routing.

kmurray avatar kmurray commented on May 28, 2024
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

from vtr-verilog-to-routing.

kmurray avatar kmurray commented on May 28, 2024

Reported by JasonKaiLuu on 2012-06-04 21:51:28

  • Labels added: Module-VPR

from vtr-verilog-to-routing.

kmurray avatar kmurray commented on May 28, 2024
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

from vtr-verilog-to-routing.

kmurray avatar kmurray commented on May 28, 2024
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

from vtr-verilog-to-routing.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.