aboutsummaryrefslogtreecommitdiffstats
path: root/passes
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #1603 from whitequark/ice40-ram_stylewhitequark2020-04-102-13/+148
|\ | | | | ice40/ecp5: add support for both 1364.1 and Synplify/LSE RAM/ROM attributes
| * memory_map: add -attr option, to respect inference attributes.whitequark2020-04-031-6/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this commit, memory_map (which is always a part of a synth script) would always pick up any $mem cell that was not processed by a preceding pass and lower it down to $dff/$mux cells. This is undesirable for two reasons: * If there is an explicit inference attribute set on a $mem cell, e.g. (* ram_block *), then it is arguably incorrect to map such a memory to $dff/$mux cells. * If memory_map tries to lower a memory that was intended to be mapped to a large BRAM, it often takes extraordinarily long time to finish, produces an extremely large log file, and outputs an unusable design. After this commit, properly invoked memory_map will not map any memory that has an explicit inference attribute specified, solving the first issue, and alleviating the second. The default behavior is not changed.
| * memory_bram: add `attr_icase` option.whitequark2020-02-061-7/+35
| | | | | | | | | | Some vendor toolchains use case insensitive matching for values of attributes that control BRAM inference.
* | Support custom PROGRAM_PREFIXMiodrag Milanovic2020-04-104-14/+14
| |
* | [NFCI] Deduplicate builtin FF cell types listMarcelina Kościelnicka2020-04-093-73/+3
| | | | | | | | | | | | | | | | | | A few passes included the same list of FF cell types. Make it a global const instead. The zinit pass also seems to include a list like that, but given that it seems to be completely broken at the time (see #1568 discussion), I'm going to pretend I didn't see that.
* | Merge pull request #1890 from boqwxp/cleanup_memory_collectN. Engelhardt2020-04-091-6/+3
|\ \ | | | | | | Clean up `passes/memory/memory_collect.cc`.
| * | Clean up `passes/memory/memory_collect.cc`.Alberto Gonzalez2020-04-091-6/+3
| | |
* | | Merge pull request #1889 from boqwxp/cleanup_memory_unpackN. Engelhardt2020-04-091-7/+6
|\ \ \ | | | | | | | | Clean up `passes/memory/memory_unpack.cc`.
| * | | Clean up `passes/memory/memory_unpack.cc`.Alberto Gonzalez2020-04-091-7/+6
| |/ /
* / / Clean up `passes/techmap/hilomap.cc`.Alberto Gonzalez2020-04-091-6/+2
|/ /
* | Merge pull request #1857 from whitequark/splitnets-skip-processeswhitequark2020-04-091-0/+3
|\ \ | | | | | | splitnets: skip modules with processes
| * | splitnets: skip modules with processes.whitequark2020-04-031-0/+3
| | |
* | | Clean up `passes/cmds/connect.cc`.Alberto Gonzalez2020-04-081-14/+12
| | |
* | | Merge pull request #1874 from boqwxp/cleanup_showwhitequark2020-04-061-52/+42
|\ \ \ | | | | | | | | Clean up `passes/cmds/show.cc`.
| * | | Use more descriptive variable name.Alberto Gonzalez2020-04-061-10/+10
| | | | | | | | | | | | | | | | Co-Authored-By: whitequark <whitequark@whitequark.org>
| * | | Clean up `passes/cmds/show.cc`.Alberto Gonzalez2020-04-061-52/+42
| |/ /
* | | Merge pull request #1861 from boqwxp/cleanup_hierarchy_submodwhitequark2020-04-061-25/+20
|\ \ \ | | | | | | | | Clean up `passes/hierarchy/submod.cc`.
| * | | Use more descriptive variable name.Alberto Gonzalez2020-04-061-2/+2
| | | | | | | | | | | | | | | | Co-Authored-By: whitequark <whitequark@whitequark.org>
| * | | Clean up `passes/hierarchy/submod.cc`.Alberto Gonzalez2020-04-051-25/+20
| |/ /
* | | Merge pull request #1870 from boqwxp/cleanup_setattrwhitequark2020-04-061-22/+14
|\ \ \ | | | | | | | | Clean up `passes/cmds/setattr.cc`.
| * | | Clean up `passes/cmds/setattr.cc`.Alberto Gonzalez2020-04-061-22/+14
| |/ /
* | | Merge pull request #1872 from boqwxp/cleanup_copywhitequark2020-04-061-2/+2
|\ \ \ | | | | | | | | Clean up private member usage in `passes/cmds/copy.cc`.
| * | | Clean up private member usage in `passes/cmds/copy.cc`.Alberto Gonzalez2020-04-061-2/+2
| |/ /
* | | Merge pull request #1871 from boqwxp/cleanup_splicewhitequark2020-04-061-18/+14
|\ \ \ | | | | | | | | Clean up `passes/cmds/splice.cc`.
| * | | Clean up `passes/cmds/splice.cc`.Alberto Gonzalez2020-04-061-18/+14
| |/ /
* | | Merge pull request #1869 from boqwxp/cleanup_connwrapperswhitequark2020-04-061-15/+7
|\ \ \ | | | | | | | | Clean up `passes/cmds/connwrappers.cc`.
| * | | Clean up `passes/cmds/connwrappers.cc`.Alberto Gonzalez2020-04-061-15/+7
| |/ /
* | | Merge pull request #1868 from boqwxp/cleanup_deletewhitequark2020-04-061-24/+19
|\ \ \ | | | | | | | | Clean up `passes/cmds/delete.cc`.
| * | | Clean up `passes/cmds/delete.cc`.Alberto Gonzalez2020-04-061-24/+19
| |/ /
* | | Merge pull request #1867 from boqwxp/cleanup_statwhitequark2020-04-061-26/+20
|\ \ \ | | | | | | | | Clean up `passes/cmds/stat.cc`.
| * | | Clean up `passes/cmds/stat.cc`.Alberto Gonzalez2020-04-061-26/+20
| |/ /
* | | Merge pull request #1866 from boqwxp/cleanup_test_autotbwhitequark2020-04-061-12/+8
|\ \ \ | | | | | | | | Clean up `passes/tests/test_autotb.cc`.
| * | | Clean up `passes/tests/test_autotb.cc`.Alberto Gonzalez2020-04-061-12/+8
| |/ /
* | | Merge pull request #1865 from boqwxp/cleanup_dfflibmapwhitequark2020-04-061-27/+27
|\ \ \ | | | | | | | | Clean up `passes/techmap/dfflibmap.cc`.
| * | | Clean up `passes/techmap/dfflibmap.cc`.Alberto Gonzalez2020-04-061-27/+27
| |/ /
* | | Merge pull request #1863 from boqwxp/cleanup_techmap_extractwhitequark2020-04-061-43/+36
|\ \ \ | | | | | | | | Clean up `passes/techmap/extract.cc`.
| * | | Clean up `passes/techmap/extract.cc`.Alberto Gonzalez2020-04-051-43/+36
| |/ /
* | | Merge pull request #1859 from boqwxp/design_duplicatewhitequark2020-04-061-2/+13
|\ \ \ | | | | | | | | Add `-push-copy` option to the `design` command.
| * | | Rename `-duplicate` to `-push-copy`.Alberto Gonzalez2020-04-041-6/+6
| | | | | | | | | | | | | | | | Co-Authored-By: whitequark <whitequark@whitequark.org>
| * | | Add `-duplicate` option to the `design` command.Alberto Gonzalez2020-04-031-2/+13
| | | |
* | | | Clean up private member usage in `passes/cmds/bugpoint.cc`.Alberto Gonzalez2020-04-061-14/+14
| |/ / |/| |
* | | Merge pull request #1767 from YosysHQ/eddie/idstringsEddie Hung2020-04-02114-2708/+2691
|\ \ \ | | | | | | | | IdString: use more ID::*, make them easier to use, speed up IdString::in()
| * | | kernel: big fat patch to use more ID::*, otherwise ID(*)Eddie Hung2020-04-02109-2335/+2316
| | | |
| * | | kernel: use more ID::*Eddie Hung2020-04-0243-391/+393
| | | |
* | | | iopadmap: Fix z assignment to inout portMarcin Kościelnicki2020-04-021-1/+15
| | | | | | | | | | | | | | | | Fixes #1841.
* | | | Merge pull request #1842 from YosysHQ/mwk/fix-deminout-xzClaire Wolf2020-04-021-1/+1
|\ \ \ \ | |/ / / |/| | | deminout: prevent any constant assignment from demoting to input
| * | | deminout: prevent any constant assignment from demoting to inputMarcin Kościelnicki2020-03-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this patch, ``` module top(inout io); assign io = 1'bx; endmodule ``` would have the `io` pin demoted to input (same happens for `1'bz`, but not for `1'b0` or `1'b1`), resulting in check failures later on. Part of fix for #1841.
* | | | Merge pull request #1845 from YosysHQ/eddie/kernel_speedupEddie Hung2020-04-0213-45/+45
|\ \ \ \ | | | | | | | | | | kernel: speedup by using more pass-by-const-ref
| * | | | kernel: more pass by const ref, more speedupsEddie Hung2020-03-181-1/+1
| | | | |
| * | | | kernel: SigSpec use more const& + overloads to prevent implicit SigSpecEddie Hung2020-03-1312-44/+44
| | | | |