Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | techmap: Add _TECHMAP_CELLNAME_ special parameter. | Marcelina Kościelnicka | 2020-07-21 | 1 | -0/+6 |
| | | | | | | | This parameter will resolve to the name of the cell being mapped. The first user of this parameter will be synth_intel_alm's Quartus output, which requires a unique (and preferably descriptive) name passed as a cell parameter for the memory cells. | ||||
* | dfflegalize: Gather init values from all wires. | Marcelina Kościelnicka | 2020-07-12 | 1 | -1/+1 |
| | | | | Skipping non-selected wires is unsound in an obvious way. | ||||
* | dfflibmap: Refactor to use dfflegalize internally. | Marcelina Kościelnicka | 2020-07-09 | 1 | -211/+78 |
| | |||||
* | clkbufmap: improve input pad handling. | Marcelina Kościelnicka | 2020-07-09 | 1 | -17/+39 |
| | | | | | | - allow inserting only the input pad cell - do not insert the usual buffer if the input pad already acts as a buffer | ||||
* | dfflegalize: Add special support for const-D latches. | Marcelina Kościelnicka | 2020-07-09 | 1 | -0/+18 |
| | | | | | | Those can be created by `opt_dff` when optimizing `$adff` with const clock, or with D == Q. Make dfflegalize do the opposite transform when such dlatches would be otherwise unimplementable. | ||||
* | dfflegalize: typo fix | Marcelina Kościelnicka | 2020-07-07 | 1 | -1/+1 |
| | |||||
* | Naming fixes. | Marcelina Kościelnicka | 2020-07-05 | 2 | -2/+2 |
| | |||||
* | dfflegalize: Prefer mapping dff to sdff before adff | Marcelina Kościelnicka | 2020-07-05 | 1 | -1/+1 |
| | | | | | | This ensures that, when both sync and async FFs are available and abc9 is involved, the sync FFs will be used, and will thus remain available for sequential synthesis. | ||||
* | abc9: only techmap (* abc9_flop *) modules | Eddie Hung | 2020-07-04 | 1 | -1/+1 |
| | |||||
* | abc9: techmap from user design to allow abc9_flop modules to be composed | Eddie Hung | 2020-07-04 | 1 | -1/+1 |
| | | | | from other primitives | ||||
* | Add newlines to help text for dfflegalize | Rupert Swarbrick | 2020-07-03 | 1 | -11/+11 |
| | | | | | | | | | | | | | I think these were probably missed by accident. Spotted because GCC spits out lots of messages like this: passes/techmap/dfflegalize.cc:114:7: warning: zero-length gnu_printf format string [-Wformat-zero-length] 114 | log(""); | ^~ (because we tell GCC that the first argument to log() looks like a printf control string in log.h, and a zero length such string triggers a warning). | ||||
* | Add dfflegalize pass. | Marcelina Kościelnicka | 2020-07-01 | 2 | -0/+1357 |
| | |||||
* | techmap: don't drop attributes on replaced cells. | whitequark | 2020-06-29 | 1 | -2/+3 |
| | | | | | | This was introduced in 76c4ee4ea5cb6a3dc214f66237af22a1bedda010. Fixes #2204. | ||||
* | Merge pull request #2168 from whitequark/assert-unused-exprs | clairexen | 2020-06-25 | 2 | -7/+7 |
|\ | | | | | Use (and ignore) the expression provided to log_assert in NDEBUG builds | ||||
| * | Remove YS_ATTRIBUTE(unused) where present just for log_assert()/log_debug(). | whitequark | 2020-06-19 | 2 | -7/+7 |
| | | |||||
* | | simplemap: Fix $dffsre mapping. | Marcelina Kościelnicka | 2020-06-23 | 1 | -1/+1 |
| | | |||||
* | | Update dff2dffe, dff2dffs, zinit to new FF types. | Marcelina Kościelnicka | 2020-06-23 | 3 | -43/+73 |
| | | |||||
* | | Add new FF types to simplemap. | Marcelina Kościelnicka | 2020-06-23 | 1 | -8/+133 |
|/ | |||||
* | Use C++11 final/override keywords. | whitequark | 2020-06-18 | 34 | -77/+77 |
| | |||||
* | msvc does not support designated initializers in structs | Anonymous Maarten | 2020-06-17 | 1 | -5/+5 |
| | |||||
* | flatten: accept processes. | whitequark | 2020-06-09 | 1 | -8/+8 |
| | |||||
* | flatten: preserve original object names via hdlname attribute. | whitequark | 2020-06-08 | 1 | -5/+16 |
| | |||||
* | flatten: only prepend $flatten once per wire. | whitequark | 2020-06-08 | 1 | -2/+6 |
| | |||||
* | flatten: make hygienic. | whitequark | 2020-06-08 | 1 | -155/+116 |
| | | | | | | | | | | | | | | | | | | | | Before this commit, `flatten` matched the template objects with the newly created objects solely by their name. Because of this, it could be confused by code such as: module bar(); $dff a(); endmodule module foo(); bar b(); $dff \b.a (); endmodule After this commit, `flatten` avoids every possible case of name collision. Fixes #2106. | ||||
* | Merge pull request #2105 from whitequark/split-flatten-off-techmap | clairexen | 2020-06-08 | 3 | -325/+527 |
|\ | | | | | Split `flatten` from `techmap` and simplify it | ||||
| * | flatten: clean up log messages. | whitequark | 2020-06-04 | 1 | -1/+1 |
| | | |||||
| * | flatten: topologically sort modules. | whitequark | 2020-06-04 | 1 | -55/+47 |
| | | |||||
| * | flatten: simplify. | whitequark | 2020-06-04 | 1 | -43/+7 |
| | | | | | | | | | | | | | | `flatten` cannot derive modules in most cases because that would just yield processes, and it does not support `-autoproc`; in practice `flatten` has to be preceded by a call to `hierarchy`, which makes deriving unnecessary. | ||||
| * | flatten: simplify. NFC. | whitequark | 2020-06-04 | 1 | -7/+3 |
| | | | | | | | | Remove redundant sigmaps. | ||||
| * | flatten: simplify. | whitequark | 2020-06-04 | 1 | -35/+0 |
| | | | | | | | | | | Flattening does not benefit from topologically sorting cells within a module when processing them. | ||||
| * | flatten: simplify. NFC. | whitequark | 2020-06-04 | 1 | -11/+4 |
| | | | | | | | | | | Flatten is non-recursive and doesn't need to keep track of handled cells. | ||||
| * | flatten: simplify. NFC. | whitequark | 2020-06-04 | 1 | -6/+4 |
| | | | | | | | | Flattening always does "non-recursive" mapping. | ||||
| * | flatten: simplify. NFC. | whitequark | 2020-06-04 | 1 | -73/+39 |
| | | | | | | | | The `celltypeMap` always maps `x` to `{x}`. | ||||
| * | flatten: simplify. NFC. | whitequark | 2020-06-04 | 1 | -8/+8 |
| | | | | | | | | The `design` and `map` designs are always the same when flattening. | ||||
| * | RTLIL: factor out RTLIL::Module::addMemory. NFC. | whitequark | 2020-06-04 | 2 | -14/+2 |
| | | |||||
| * | flatten: rename techmap-related stuff. NFC. | whitequark | 2020-06-04 | 1 | -16/+16 |
| | | |||||
| * | techmap, flatten: remove dead options. | whitequark | 2020-06-04 | 2 | -928/+212 |
| | | | | | | | | | | | | After splitting the passes, some options can never be activated, and most conditions involving them become dead. Remove them, and also all of the newly dead code. | ||||
| * | flatten: split from techmap. | whitequark | 2020-06-03 | 3 | -93/+1149 |
| | | | | | | | | | | | | | | Although the two passes started out very similar, they diverged over time and now have little in common. Moreover, `techmap` is extremely complex while `flatten` does not have to be, and this complexity interferes with improving `flatten`. | ||||
* | | Merge pull request #2077 from YosysHQ/eddie/abc9_dff_improve | Eddie Hung | 2020-06-04 | 1 | -19/+60 |
|\ \ | | | | | | | abc9: -dff improvements | ||||
| * | | abc9_ops: fix comment | Eddie Hung | 2020-05-30 | 1 | -1/+1 |
| | | | |||||
| * | | abc9_ops: update messaging (credit to @Xiretza for spotting) | Eddie Hung | 2020-05-30 | 1 | -4/+4 |
| | | | |||||
| * | | abc9_ops: optimise to not derive unless attribute exists | Eddie Hung | 2020-05-29 | 1 | -4/+8 |
| | | | |||||
| * | | abc9_ops: -reintegrate use SigMap to remove (* init *) from $_DFF_[NP]_ | Eddie Hung | 2020-05-29 | 1 | -5/+22 |
| | | | |||||
| * | | abc9_ops: -reintegrate to preserve flop names | Eddie Hung | 2020-05-25 | 1 | -5/+25 |
| | | | |||||
* | | | Merge pull request #2082 from YosysHQ/eddie/abc9_scc_fixes | Eddie Hung | 2020-06-03 | 1 | -2/+4 |
|\ \ \ | |_|/ |/| | | abc9: fixes around handling combinatorial loops | ||||
| * | | abc9_ops: -prep_xaiger exclude (* abc9_keep *) wires from toposort | Eddie Hung | 2020-05-25 | 1 | -2/+4 |
| |/ | |||||
* | | techmap: remove dead variable. NFC. | whitequark | 2020-06-03 | 1 | -1/+0 |
| | | |||||
* | | techmap: use C++11 default member initializers. NFC. | whitequark | 2020-06-02 | 1 | -16/+6 |
| | | |||||
* | | techmap: simplify. | whitequark | 2020-06-02 | 1 | -7/+1 |
| | | | | | | | | `rewrite_filename` is already called in `Frontend::extra_args`. | ||||
* | | techmap: use +/techmap.v instead of an ad-hoc code generator. | whitequark | 2020-06-02 | 3 | -16/+1 |
| | |