Comments (6)
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.
Reported by JasonKaiLuu
on 2012-06-04 19:29:24
from vtr-verilog-to-routing.
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.
Reported by JasonKaiLuu
on 2012-06-04 21:51:28
- Labels added: Module-VPR
from vtr-verilog-to-routing.
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.
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)
- Run-flat on Koios Benchmark HOT 1
- Router Lookahead File Extension Error Handling HOT 3
- Change RRG storage to keep (drive pt, direction) instead of (start, end)
- Try setting first_iter_pres_fac to a value > 0 HOT 1
- Designs with many different wire types fail at certain channel widths with an arithmetic exception
- Clean up rr_node_route_inf HOT 4
- Add wire length attribute to RR graph output XML when using "--write_rr_graph" option
- CI Test Failures on Master HOT 3
- Failed to build target 'libarchfpga' HOT 1
- Disabling CAPNPROTO Crashes Build
- clang/LLVM-17 build HOT 4
- Remove Warnings in VTR CI Builds HOT 1
- Parmys fails to properly handle multipliers with unequal input widths HOT 5
- Primitive input pin permutability should be more general HOT 1
- 3d switch block code, architecture files & reg tests
- [Documentation] Missing Documentation on `--router_profiler_astar_fac` HOT 7
- Turn on faster place delay matrix loader by default
- vpr placement algorithm HOT 2
- Giant distance from initial placing and routing solution to a better one VTR could have found.
- Document how to use Perf for profiling with vpr
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vtr-verilog-to-routing.