Comments (8)
Isn't this a don't care? The time spent generating a bitstream is so small that you won't notice it and it has no effect on being able to analyse the placement reports.
from edalize.
Not really, if I don't provide IO constraints (which I don't), the bitstream cannot be generated
from edalize.
I wouldn't have thought that you would get any sensible timing results without IO constraints but hey.
But going back to your original issue, why does the bitstream generation failing hurt you? The reporting stage happens before the write_bitstream step. So any reports will already have been written. Edalize isn't in charge of the Tcl flow as under the hood it uses the project flow so there are no options to control this behaviour.
If for some other reason you really don't want the bitstream step run then you have a number of options:
- Run Fusesoc with the
--setup
flag only and then runmake build-gui
from the build directory. This will launch the GUI and you can do what you want. - Write your own Tcl hooks that write out whatever reports you want and then exit at whatever step you want to.
from edalize.
Thanks for the reply!
I'm analyzing whether I can use fusesoc/edalize as part of our continuous integration, so using a GUI is not an option.
I find it quite misleading to let the bitstream generation error, even though my intended use case worked. It is specially hard to differentiate actual errors and the expected bitstream generation error.
I managed to execute a tcl hook, but am unable to gracefully stop vivado (This might be more related to vivado than to edalize)
from edalize.
What you could do is create a PR that updates the following template to enable different steps to be passed in.
https://github.com/olofk/edalize/blob/main/edalize/templates/vivado/vivado-run.tcl.j2#L12
from edalize.
I'm willing to make a PR, but I'm not really sure which is the best way to implement this.
Maybe an approach similar to --pnr None
? Something like --skip-bitream
?
from edalize.
I am currently refactoring the Vivado flow to increase the flexibility and avoid unnecessary rebuilds. Once that is done, it should be straight-forward to add an option to skip the bitstream step. If possible, it would be great if we could hold off adding a PR until then. I understand it's not ideal to wait for this, so I can help probably give you some pointers if you want to make a quick hack in the meantime
from edalize.
It would be really helpful if you could give me some hints on how to workaround this problem
from edalize.
Related Issues (20)
- Xcelium: file list HOT 1
- Modelsim missing in tools
- Support a Vivado IP-packaging flow HOT 2
- Simulating Vivado IPs (xci, bd) HOT 4
- `make_libraries_directories` on Windows fails due to `mkdir -p` HOT 3
- GHDL Support for cocotb simulation flow HOT 2
- Vars do not survive Edaflow
- Add update_compile_order to vivado workflow HOT 1
- QSys Pro 23 files are not processed correctly by the filter HOT 4
- Jinja2 issue witth edarool loader HOT 4
- Vivado flow not re-run when Verilog parameter is changed HOT 3
- Yosys: `configure_main` should check for "file_type" in fileset, or provide a default
- Incorrect toplevel name used when loading EDIF netlist in Vivado
- How to read an EDIF netlist into Vivado that isn't the toplevel?
- Not possible to fully suppress stdout in edatool API?
- Passing Verilog string parameters with quotes
- edalize/flows/edaflow.py # Yeah, I know. It's just a temporary hack HOT 1
- Symbiflow tool doesn't pass Yosys parameters when using VPR as PnR HOT 1
- Error using f4pga flow for Xilinx
- Edatool.tool_options.get() returns string "None" rather than NoneType
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 edalize.