Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Merge pull request #2105 from whitequark/split-flatten-off-techmap | clairexen | 2020-06-08 | 5 | -325/+541 |
|\ | | | | | 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 | 4 | -14/+16 |
| | | |||||
| * | 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 #2117 from PeterCrozier/struct_array | clairexen | 2020-06-08 | 3 | -17/+158 |
|\ \ | | | | | | | Support packed arrays in struct/union. | ||||
| * | | Support packed arrays in struct/union. | Peter Crozier | 2020-06-07 | 3 | -17/+158 |
| | | | |||||
* | | | Merge pull request #2119 from YosysHQ/mwk/fix-fsm-idstring | clairexen | 2020-06-08 | 1 | -1/+1 |
|\ \ \ | | | | | | | | | fsm_extract: avoid calling log_signal to determine wire name | ||||
| * | | | fsm_extract: avoid calling log_signal to determine wire name | Marcelina Kościelnicka | 2020-06-08 | 1 | -1/+1 |
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | log_signal can result in a string with spaces (when bit selection is involved), which breaks the rule of IdString not containing whitespace. Instead, remove the sigspec from the name entirely — given that the resulting wire will have no users, it will be removed later anyway, so its name doesn't really matter. Fixes #2118 | ||||
* | | | Merge pull request #2116 from whitequark/cxxrtl-vcd | whitequark | 2020-06-07 | 7 | -3/+419 |
|\ \ \ | |/ / |/| | | cxxrtl: add a VCD writer using debug information | ||||
| * | | cxxrtl: rename cxxrtl.cc→cxxrtl_backend.cc. | whitequark | 2020-06-07 | 2 | -1/+1 |
| | | | | | | | | | | | | | | | To avoid confusion with the C++ source files that are a part of the simulation itself and not a part of Yosys build. | ||||
| * | | cxxrtl: add a C API for writing VCD dumps. | whitequark | 2020-06-07 | 5 | -2/+204 |
| | | | | | | | | | | | | This C API is fully featured. | ||||
| * | | cxxrtl: only write VCD values that were actually updated. | whitequark | 2020-06-07 | 1 | -10/+30 |
| | | | | | | | | | | | | | | | On a representative design (Minerva SoC) this reduces VCD file size by ~20× and runtime by ~3×. | ||||
| * | | cxxrtl: add a VCD writer using debug information. | whitequark | 2020-06-07 | 1 | -0/+194 |
|/ / | |||||
* | | Merge pull request #2115 from whitequark/cxxrtl-introspection | whitequark | 2020-06-06 | 4 | -5/+396 |
|\ \ | | | | | | | cxxrtl: add debug information to the C++ API, and add introspection via a new C API | ||||
| * | | cxxrtl: add a C API for driving and introspecting designs. | whitequark | 2020-06-06 | 4 | -29/+291 |
| | | | | | | | | | | | | | | | | | | Compared to the C++ API, the C API currently has two limitations: 1. Memories cannot be updated in a race-free way. 2. Black boxes cannot be implemented in C. | ||||
| * | | cxxrtl: generate debug information for non-localized public wires. | whitequark | 2020-06-06 | 2 | -2/+131 |
|/ / | | | | | | | | | | | | | | | | | | | Debug information describes values, wires, and memories with a simple C-compatible layout. It can be emitted on demand into a map, which has no runtime cost when it is unused, and allows late bound designs. The `hdlname` attribute is used as the lookup key such that original names, as emitted by the frontend, can be used for debugging and introspection. | ||||
* | | Merge pull request #2110 from BracketMaster/master | whitequark | 2020-06-06 | 1 | -1/+1 |
|\ \ | | | | | | | MacOS has even stricter stack limits in catalina. | ||||
| * | | more reasonable numbers for memory | Yehowshua Immanuel | 2020-06-04 | 1 | -1/+1 |
| | | | |||||
| * | | MacOS has even stricter stack limits in catalina. | Yehowshua Immanuel | 2020-06-04 | 1 | -1/+1 |
| | | | | | | | | | Invoking sby in macOS Catalina fails because of bizarre stack limits in Catalina. | ||||
* | | | Merge pull request #2113 from whitequark/cxxrtl-fix-sshr | whitequark | 2020-06-05 | 1 | -1/+1 |
|\ \ \ | | | | | | | | | cxxrtl: fix implementation of $sshr cell | ||||
| * | | | cxxrtl: fix implementation of $sshr cell. | whitequark | 2020-06-05 | 1 | -1/+1 |
| | |/ | |/| | | | | | | | Fixes #2111. | ||||
* | | | Merge pull request #2109 from nakengelhardt/btor_internal_names | N. Engelhardt | 2020-06-05 | 1 | -5/+5 |
|\ \ \ | | | | | | | | | btor backend: make not printing internal names default | ||||
| * | | | btor backend: make not printing internal names default | N. Engelhardt | 2020-06-04 | 1 | -5/+5 |
| | | | | |||||
* | | | | Add missing .gitignore file | Claire Wolf | 2020-06-04 | 1 | -0/+2 |
| |_|/ |/| | | | | | | | | Signed-off-by: Claire Wolf <claire@symbioticeda.com> | ||||
* | | | Merge pull request #2041 from PeterCrozier/struct | clairexen | 2020-06-04 | 10 | -204/+690 |
|\ \ \ | | | | | | | | | Implementation of SV structs. | ||||
| * \ \ | Merge branch 'master' into struct | Peter Crozier | 2020-06-03 | 154 | -2453/+4094 |
| |\ \ \ | |||||
| * | | | | Allow structs within structs. | Peter Crozier | 2020-05-12 | 3 | -7/+38 |
| | | | | | |||||
| * | | | | Generalise structs and add support for packed unions. | Peter Crozier | 2020-05-12 | 8 | -59/+209 |
| | | | | | |||||
| * | | | | Implement SV structs. | Peter Crozier | 2020-05-08 | 9 | -205/+510 |
| | | | | | |||||
* | | | | | Merge pull request #2099 from Xiretza/manual-include-path | clairexen | 2020-06-04 | 1 | -1/+4 |
|\ \ \ \ \ | | | | | | | | | | | | | Use in-tree include directory in manual build | ||||
| * | | | | | Use in-tree include directory in manual build | Xiretza | 2020-05-30 | 1 | -1/+4 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is basically the same issue as in tests/various/plugin.sh, which uses yosys-config to compile a plugin. `yosys-config --cxxflags` points to `$PREFIX/share/` (/usr/local/share by default), which might not exist yet or might be out of date. Building directly from the headers in ./share/ avoids this. | ||||
* | | | | | | Add codeowners file (#2098) | N. Engelhardt | 2020-06-04 | 1 | -0/+37 |
| | | | | | | |||||
* | | | | | | Merge pull request #2077 from YosysHQ/eddie/abc9_dff_improve | Eddie Hung | 2020-06-04 | 6 | -55/+143 |
|\ \ \ \ \ \ | |_|_|_|/ / |/| | | | | | 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 | 2 | -8/+8 |
| | | | | | | |||||
| * | | | | | 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 | 3 | -7/+25 |
| | | | | | | |||||
| * | | | | | tests: add test for abc9 -dff removing a redundant flop entirely | Eddie Hung | 2020-05-25 | 1 | -0/+15 |
| | | | | | | |||||
| * | | | | | abc9_ops: -reintegrate to preserve flop names | Eddie Hung | 2020-05-25 | 1 | -5/+25 |
| | | | | | | |||||
| * | | | | | tests: add testcase for abc9 -dff preserving flop names | Eddie Hung | 2020-05-25 | 1 | -0/+34 |
| | | | | | |