Releases: FPGA-Research/FABulous
Releases · FPGA-Research/FABulous
v2.0.0b4
4. Beta Release of FABulous 2.0
What's Changed
- feat: all librelane steps by @KelvinChung2000 in #499
- fix(ci): nightly dependency test silently fails by @EverythingElseWasAlreadyTaken in #548
- fix(geometry_generator): broken geometry in FABulator by @EverythingElseWasAlreadyTaken in #551
Full Changelog: v2.0.0b3...v2.0.0b4
v2.0.0b3
Third beta release of FABulous2.0!
What's Changed
- feat: All the steps scripts for GDS flow by @KelvinChung2000 in #498
- chore(README): Fix command syntax in README for bitstream generation by @EverythingElseWasAlreadyTaken in #537
- docs: Remove references to FABulous2.0-development branch by @EverythingElseWasAlreadyTaken in #539
- chore: Add warning for Windows systems by @EverythingElseWasAlreadyTaken in #538
- chore(pyproject.toml): extend interrogate excludes by @EverythingElseWasAlreadyTaken in #540
- fix: allow standalone API use case working again by @KelvinChung2000 in #543
- docs: fix and cleanup qickstart guide + README, replace old GitHub links by @EverythingElseWasAlreadyTaken in #544
- fix(FABulousSettings): OSS_CAD_SUITE not present in PATH by @EverythingElseWasAlreadyTaken in #545
- chore: Write models_pack path as relative in .env by @EverythingElseWasAlreadyTaken in #546
- chore(fabric_files): make Verilog Makefile mac compatible by @EverythingElseWasAlreadyTaken in #541
Full Changelog: v2.0.0b2...v2.0.0b3
v2.0.0b2
What's Changed
- chore: Make bit_gen an own project by @EverythingElseWasAlreadyTaken in #486
- ci: Add nightly dependency test by @EverythingElseWasAlreadyTaken in #525
- chore(doc): converting all
.rstto.mdby @KelvinChung2000 in #516 - chore: migration to latest software and project upgrade task by @KelvinChung2000 in #526
- chore: Add fabulous alias for the executable by @EverythingElseWasAlreadyTaken in #529
- chore: Add missing dependencies and remove FASM by @EverythingElseWasAlreadyTaken in #528
- chore(pre-commit): add checks for missing dependencies and outdated uv.lock by @EverythingElseWasAlreadyTaken in #532
Full Changelog: v2.0.0b1...v2.0.0b2
v2.0.0b1
First Beta Release of FABulous 2.0!
What's Changed
- Separate fabric and tile configuration by @mole99 in #154
- Add formatter by @KelvinChung2000 in #163
- Splitting FABulous.py into API file and CLI file and clean up import by @KelvinChung2000 in #172
- Adding back the line that is deleted by mistake by @KelvinChung2000 in #174
- Build FABulous with setuptools by @EverythingElseWasAlreadyTaken in #110
- README+Docs: Add virtual environments as recommended usage way by @EverythingElseWasAlreadyTaken in #176
- :fabric_gen: Fix VHDL ConfigMem gets instantiated twice per tile by @EverythingElseWasAlreadyTaken in #198
- fabric_generator:file_parser: Refactor parseFileVHDL and parseFileVerilog by @EverythingElseWasAlreadyTaken in #177
- Updates to documentation & new logger. by @A-Kibats in #210
- Added toggle for log level + minor corrections. by @A-Kibats in #220
- drop vpr support and clean up by @KelvinChung2000 in #221
- Vector Support for User BEL in Verilog. by @A-Kibats in #222
- Feature INCLUDE keyword by @KelvinChung2000 in #224
- Add new print feature by @KelvinChung2000 in #225
- Warning For Individual Port Declaration by @A-Kibats in #223
- Fix for VHDL Project Creation Issue by @Biswajitks1 in #211
- Add start_FABulator command to be able to run FABulator from the FABulous shell by @JakobTernes in #227
- Update python to 3.12 and update documentation by @IAmMarcelJung in #229
- fabric_files:verilog_template:FABulous.tcl: Remove npnr parameter by @EverythingElseWasAlreadyTaken in #231
- Add better handling for environment variables by @EverythingElseWasAlreadyTaken in #232
- Fix backward compatibility to old project structure and some housekeeping by @EverythingElseWasAlreadyTaken in #233
- FABulous: Extend .env default paths and update gitignore by @EverythingElseWasAlreadyTaken in #234
- Fix VHDL fabric generation by @EverythingElseWasAlreadyTaken in #235
- Fix UserCLK wire generation in SuperTiles by @mole99 in #237
- RegFile: Fix assignment to read data by @mole99 in #238
- Update Dependencies by @mole99 in #239
- Wip/listfile multipliers by @EverythingElseWasAlreadyTaken in #243
- FABulous: Fix default project language by @EverythingElseWasAlreadyTaken in #244
- Fixing non power of 2 mux generation by @KelvinChung2000 in #242
- docs: Fix build_docs workflow and add docs dependency versions by @EverythingElseWasAlreadyTaken in #240
- workflows: Update workflows for ubuntu 24 by @EverythingElseWasAlreadyTaken in #256
- docs: Add readme.md for docs and add imgconverter to sphinx extensions. by @EverythingElseWasAlreadyTaken in #257
- docs: Add note about tkinter on older Ubuntu versions by @EverythingElseWasAlreadyTaken in #258
- workflows: Run build_docs also on dev branch PRs by @EverythingElseWasAlreadyTaken in #264
- Update ubuntu and python versions for readthedocs by @EverythingElseWasAlreadyTaken in #265
- Update python version for readthedocs by @EverythingElseWasAlreadyTaken in #266
- docs: Add main requrements to docs requirements by @EverythingElseWasAlreadyTaken in #267
- Vhdl synthesis by @Biswajitks1 in #202
- Cmd2 fix commit by @KelvinChung2000 in #273
- pre-commit and apply by @KelvinChung2000 in #275
- fabric_gen: Generate configMem files only if needed by @EverythingElseWasAlreadyTaken in #281
- fabric_gen: Check if configMem is needed in VHDL projects by @EverythingElseWasAlreadyTaken in #292
- FABulous: Remove default language in CLI by @EverythingElseWasAlreadyTaken in #298
- Fix some issues in generated verilog by @EverythingElseWasAlreadyTaken in #282
- code_gen_VHDL: Fix issue with VHDL module instantiation by @EverythingElseWasAlreadyTaken in #293
- Fix #300 by @KelvinChung2000 in #301
- Add support for SystemVerilog in BELs by @mole99 in #304
- Fix run_simulation output by @IAmMarcelJung in #307
- Improve FrameData and FrameStrobe handling by @mole99 in #306
- Add the new synthesis options by @KelvinChung2000 in #291
- fabric_generator: Fix broken VHDL fabric generation by @EverythingElseWasAlreadyTaken in #309
- FABulous cleanup by @EverythingElseWasAlreadyTaken in #290
- Fixing changes after #291 by @KelvinChung2000 in #313
- Fix #316 by @KelvinChung2000 in #317
- Add reusable workflow and add Makefile based test by @EverythingElseWasAlreadyTaken in #320
- Fix config bit after #242 by @KelvinChung2000 in #314
- Fix VHDL simulation, cleanup VHDL project template, add VHDL action by @EverythingElseWasAlreadyTaken in #312
- fix: Make FAB_PROJ_DIR env export an absolute path by @EverythingElseWasAlreadyTaken in #341
- fix:fabric_gen: Bitstream spec gen for legacy fabrics by @EverythingElseWasAlreadyTaken in #353
- Fix: Bitstream incompatibility between dev and main by @KelvinChung2000 in #352
- fix:fabric_gen: Bistream spec gen for non power of 2 MUX by @EverythingElseWasAlreadyTaken in #354
- fix:fabric_gen: Wrong number of config bits in switch matrix by @EverythingElseWasAlreadyTaken in #342
- Add the current fabric limitations to the documentation by @IAmMarcelJung in #359
- fix: Unify project templates and remove duplicate files by @EverythingElseWasAlreadyTaken in #336
- fix:fabric_gen: Bel port names with numbers get cut off by @EverythingElseWasAlreadyTaken in #343
- fix:fabric_geometry: Non-deterministic geometry CSV generation by @EverythingElseWasAlreadyTaken in #355
- feat: Install OSS-CAD-Suite by @EverythingElseWasAlreadyTaken in #347
- feat: Add User Design Top Wrapper Generation by @EverythingElseWasAlreadyTaken in #361
- feat: Generate Custom Tile Config by @EverythingElseWasAlreadyTaken in #364
- fix: Add cmd2 to pyproject.toml by @EverythingElseWasAlreadyTaken in #371
- CLI testing by @KelvinChung2000 in #366
- fix:fabric_gen Add parseBelFile import by @EverythingElseWasAlreadyTaken in #372
- feat: Add force mode, improve exception handling, correct debug log and direct command input with testing by @KelvinChung2000 in #365
- Add generative IOs by @EverythingElseWasAlreadyTaken in #380
- feat: Replace Black with Ruff for code linting and formatting by @EverythingElseWasAlreadyTaken in #384
- fix: Cleanup unused code by @EverythingElseWasAlreadyTaken in #385
- Add the desync frame during the bitstream generation by @IAmMarcelJung in #387
- Cherry pick: geometry_gen:fabric_geometry: Fix indexing error for smaller fabrics by @IAmMarcelJung in #3...
v1.3.1
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.txthandling toFABulous.pyby @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
_dessuffix 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.