Comments (9)
Thanks for reporting this issue Jeff.
Can you please try again with the latest SVN version of Odin II? The Odin II trunk
should be stable, and I believe this bug has already been corrected.
Reported by andy16666
on 2012-04-30 12:53:25
from vtr-verilog-to-routing.
Reported by jeffrey.goeders
on 2012-04-30 15:09:48
- Labels added: Module-ODIN
from vtr-verilog-to-routing.
I have updated to the latest versions of ODIN and VPR.
The bug still exists.
Reported by jeffrey.goeders
on 2012-05-07 23:04:57
from vtr-verilog-to-routing.
On closer examination, I believe this is correct, strictly speaking. But bear with me
for a moment while I explain and then I'll ask for your recommendation. For example:
.names top^memory_controller_out~8
0
.names top^memory_controller_out~9
0
Depending, these are probably added during padding, and *should* be unconnected. The
new version probably names them more descriptively. Knowing that, what do you suggest
it outputs instead? I would be just as happy to output nothing for unconnected output
pins, if that's legal.
The second case is correct as well. We can output something else in the BLIF if you
want, but this seems like something ABC would easily catch.
What do you think?
Reported by andy16666
on 2012-05-07 23:22:52
from vtr-verilog-to-routing.
OK. I guess what ODIN is doing is fine. I had originally flagged this as a VPR issue,
and I think that still holds true.
I don't think VPR should be mapping unconnected signals to LUTs.
The second case, where signals are merely a name change, also seems like it should
not be using LUTs.
Reported by jeffrey.goeders
on 2012-05-07 23:27:00
from vtr-verilog-to-routing.
The 1st case (unconnected) needs to be fixed in VPR.
The 2nd case (wire, name change) is already handled in VPR.
Reported by jeffrey.goeders
on 2012-05-10 16:17:52
- Status changed:
Accepted
from vtr-verilog-to-routing.
I also came across the following lines in diffeq1.pre-vpr.blif:
.names vcc
1
Is this something that we are automatically inserting to specify a constant '1'?
Currently VPR is mapping this to a LUT, which should be fixed.
Reported by jeffrey.goeders
on 2012-05-18 19:02:19
from vtr-verilog-to-routing.
I'm going to merge in Jeff Rudolphs fixes for constant output pads. He gives the user
the option of whether or not to remove constants. This choice is actually quite important.
How often have we, as digital designers, set a particular output pad to a constant
gnd or vcc (to turn on an LED on a development board, for example) for testing on small
projects? I'm sure pretty often. At the same time, we also rely on the CAD tools
to warn us when an output is constant when it is not supposed to be. So giving the
same choice to the user is pretty useful.
Constants such as vcc and gnd are not so easy to handle. They can only be removed
if the architecture can programmably set pins to gnd or vcc. If not, then a LUT will
need to get consumed to act as a constant 0 or constant 1. VPR already has code in
place that will handle constants with LUTs (ie. timing analyzer does not treat delays
from constants as part of the timing path). Furthermore, what if some blocks in your
architecture support gnd/vcc and others do not?
For these reasons, I'm actually changing this to a VPR enhancement and taking over
ownership for it.
Reported by JasonKaiLuu
on 2012-06-05 20:01:04
- Labels added: Type-Enhancement
- Labels removed: Type-Defect, Module-ODIN
from vtr-verilog-to-routing.
With the new atom netlist support has been added for more advanced netlist cleaning as documented here, including support for sweeping outputs driven by constants.
I've filed #163 to track enhanced support for constant nets.
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.