aboutsummaryrefslogtreecommitdiffstats
path: root/passes
Commit message (Collapse)AuthorAgeFilesLines
* opt_expr: Add more $alu optimizations.Marcelina Kościelnicka2020-04-141-19/+110
| | | | | | | | | | | Detect the places in the $alu where the carry bit is constant (due to const A[i] == B[i] ^ BI) and split it into smaller $alu at these points. Also, make the existing const-carry detection for low bits more generic (now handles cases where both BI and CI are constant, but not equal to one another). Fixes #1912.
* dffinit: Avoid setting init parameter to zero-length value.Marcelina Kościelnicka2020-04-141-3/+5
| | | | Fixes #1704.
* abc9_exe: verify -> &verify -sEddie Hung2020-04-141-2/+2
|
* techmap: fix error messageEddie Hung2020-04-141-1/+1
|
* zinit: resolve one more comment by @mwkmwkmwkEddie Hung2020-04-131-3/+5
|
* zinit: fix review comments from @mwkmwkmwkEddie Hung2020-04-131-5/+6
|
* zinit: operate on $adff, erase (* init *) entries on consumptionEddie Hung2020-04-131-22/+20
|
* Fix S/R comment; thanks @mwkmwkmwkEddie Hung2020-04-131-1/+1
|
* zinit to transform set/reset value of $_DFF_[NP][NP][01]_Eddie Hung2020-04-131-0/+14
|
* Supress error for unhandled \init if whole module selectedEddie Hung2020-04-131-3/+4
|
* opt_expr: Optimize multiplications with low 0 bits in operands.Marcelina Kościelnicka2020-04-131-0/+33
| | | | Fixes #1500.
* 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>