Releases: FPGA-Research/FABulous
Releases · FPGA-Research/FABulous
FABulous 1.3.0
This release focuses on improving the user experience, enhancing the documentation, and adding new features to the FABulous framework.
Key Features & Enhancements:
- FABulous CLI: An interactive shell has been introduced to streamline the workflow of generating and testing fabrics.
- Geometry Generation for FABulator: The geometry generation has been improved to support the FABulator GUI, allowing a
better visualization and debugging of the fabric. - Improved Documentation: The documentation has been significantly updated with more detailed explanations, examples, and
tutorials. This includes a new section on the VPR and nextpnr flows, as well as a guide on how to use the new FABulous
shell. - Enhanced Error Handling: The error handling has been improved to provide more informative messages, making it easier to
debug issues. - Refactored Codebase: The codebase has been refactored to improve modularity and maintainability.
- Bug Fixes and Stability Improvements: Numerous bug fixes and stability improvements have been made across the entire
toolchain.
Known Issues:
- CRITICAL: Non-power-of-two multiplexers in switch matrices can cause serious errors in fabric, npnr model and bitstream spec generation.
- The documentation is still a work in progress.
- VHDL simulation setup is broken.
What's Changed:
- Cleanup README and gitignore by @TaoBi22 in #83
- FABulous refactor by @KelvinChung2000 in #50
- Post-refactor README cleanups by @gatecat in #84
- Include autogenerated code docs in sidebar by @TaoBi22 in #85
- Add FASM to docs requirements by @TaoBi22 in #87
- Improve sim instructions; remove old sim code by @gatecat in #88
- readme.md: Update some wording and old links by @gatecat in #90
- Add updated emulation support to refactored FABulous by @gatecat in #89
- fabric_gen: Fix user clock connectivity between supertiles by @gatecat in #91
- Adding break_comb_loop to models_pack.v by @ruck314 in #93
- nextpnr: Fix nice pass bel names for v2 format by @gatecat in #96
- Fix error when supertile defined but never used by @gatecat in #97
- docs: Escape backticks in Verilog definitions by @TaoBi22 in #98
- Fail docs CI on warning by @TaoBi22 in #99
- bit_gen: Refactor; fix T-shaped and other irregular fabrics by @gatecat in #95
- docs: Update out of date documentation by @TaoBi22 in #102
- Make top level wrapper generation more flexible by @gatecat in #106
- Fix docs build failing due to RTD deprecated attribute by @TaoBi22 in #107
- Move
maxWidth.txt
handling toFABulous.py
by @TaoBi22 in #108 - Fix minor typos and remove unnecessary flag in setup guide by @TaoBi22 in #109
- Add support for generating GUI geometry by @JakobTernes in #111
- Fixing file_parser.py for MaxFramesPerCol Issue? #115 by @KelvinChung2000 in #116
- Gui support: small fixes and additions by @JakobTernes in #114
- Fix repr function of Fabric by @JakobTernes in #117
- Dim calculation fix + small fixes by @JakobTernes in #119
- Take care of wire naming TODOs by @JakobTernes in #120
- Match wire names in the documentation of the wire shifting example by @IAmMarcelJung in #126
- Fix the calculation of the addressable config bits by @IAmMarcelJung in #123
- Add exception handling for the synthesis CLI commands by @IAmMarcelJung in #127
- Fix file name of the bitstream specification file in the documentation. by @IAmMarcelJung in #122
- Prevent FABulous crash by checking for existing directory in do_place_and_rout_npnr by @IAmMarcelJung in #129
- Remove
_des
suffix by @TaoBi22 in #131 - Fix filetype confusion and CSV generation bug by @TaoBi22 in #128
- Add a persistent command history to the CLI by @IAmMarcelJung in #132
- Add pycache dirs to git ignore by @TaoBi22 in #135
- Fix outdated simulation docs by @TaoBi22 in #136
- Fix rendering of simulation doc commands by @TaoBi22 in #137
- Fix small typo in the documentation by @IAmMarcelJung in #141
- Correct bel.txt comment by @TaoBi22 in #144
- Prevent more crashes of the shell with more error handling by @IAmMarcelJung in #130
- Use pathlib to extract the file name information by @IAmMarcelJung in #146
- Print traceback on error inside FABulous Shell by @mole99 in #152
- Implement a simulation command in the shell (only for verilog) by @IAmMarcelJung in #138
- Refactor file path handling in fabric_gen.py using pathlib by @KelvinChung2000 in #171
- Add documentation of MID wires by @IAmMarcelJung in #167
- geometry_gen:fabric_geometry: Fix indexing error for smaller fabrics by @EverythingElseWasAlreadyTaken in #208
- Adds docs dependencies installation to README by @TaoBi22 in #212
- Fix .fst generation in run_simulation and correct signal generation for the demo design in the test bench by @IAmMarcelJung in #217
- Improve and fix problems in geometry generation by @JakobTernes in #164
- Fix typos, grammar, spelling and factual mistakes in the documentation by @IAmMarcelJung in #203
- Update issue templates by @EverythingElseWasAlreadyTaken in #271
- Update publications.bib by @ruck314 in #247
Full Changelog: v1.0.0...v1.3.0
FABulous 1.0.0
The initial tagged release of FABulous.
This provides a known reference point for "classic" FABulous, as used on MPW2-7 and silicon proven there, before a significant refactor.