yosys.git
4 years agoMerge pull request #1880 from jjj11x/duplicate_enum
whitequark [Tue, 14 Apr 2020 12:39:28 +0000 (12:39 +0000)]
Merge pull request #1880 from jjj11x/duplicate_enum

duplicated enum item names should result in an error

4 years agoMerge pull request #1568 from YosysHQ/eddie/fix_zinit
Eddie Hung [Tue, 14 Apr 2020 01:33:42 +0000 (18:33 -0700)]
Merge pull request #1568 from YosysHQ/eddie/fix_zinit

zinit: fixes for $_DFF_[NP][NP][01]_and $adff cells with init = 1'b1

4 years agozinit: resolve one more comment by @mwkmwkmwk
Eddie Hung [Mon, 13 Apr 2020 22:25:37 +0000 (15:25 -0700)]
zinit: resolve one more comment by @mwkmwkmwk

4 years agozinit: fix review comments from @mwkmwkmwk
Eddie Hung [Mon, 13 Apr 2020 22:16:51 +0000 (15:16 -0700)]
zinit: fix review comments from @mwkmwkmwk

4 years agotests: zinit on $adff
Eddie Hung [Mon, 13 Apr 2020 21:29:44 +0000 (14:29 -0700)]
tests: zinit on $adff

4 years agozinit: operate on $adff, erase (* init *) entries on consumption
Eddie Hung [Mon, 13 Apr 2020 21:28:53 +0000 (14:28 -0700)]
zinit: operate on $adff, erase (* init *) entries on consumption

4 years agoFix S/R comment; thanks @mwkmwkmwk
Eddie Hung [Wed, 11 Dec 2019 22:31:23 +0000 (14:31 -0800)]
Fix S/R comment; thanks @mwkmwkmwk

4 years agozinit to transform set/reset value of $_DFF_[NP][NP][01]_
Eddie Hung [Wed, 11 Dec 2019 20:17:01 +0000 (12:17 -0800)]
zinit to transform set/reset value of $_DFF_[NP][NP][01]_

4 years agoAdd testcase for $_DFF_[NP][NP][01]_
Eddie Hung [Wed, 11 Dec 2019 20:10:30 +0000 (12:10 -0800)]
Add testcase for $_DFF_[NP][NP][01]_

4 years agoSupress error for unhandled \init if whole module selected
Eddie Hung [Wed, 11 Dec 2019 19:49:13 +0000 (11:49 -0800)]
Supress error for unhandled \init if whole module selected

4 years agoopt_expr: Optimize multiplications with low 0 bits in operands.
Marcelina Kościelnicka [Sun, 12 Apr 2020 20:37:44 +0000 (22:37 +0200)]
opt_expr: Optimize multiplications with low 0 bits in operands.

Fixes #1500.

4 years agoMerge pull request #1910 from boqwxp/cleanup_ilang_parser
whitequark [Mon, 13 Apr 2020 08:40:45 +0000 (08:40 +0000)]
Merge pull request #1910 from boqwxp/cleanup_ilang_parser

Clean up pseudo-private member usage in `frontends/ilang/ilang_parser.y`.

4 years agoClean up pseudo-private member usage in `frontends/ilang/ilang_parser.y`.
Alberto Gonzalez [Mon, 13 Apr 2020 04:22:00 +0000 (04:22 +0000)]
Clean up pseudo-private member usage in `frontends/ilang/ilang_parser.y`.

4 years agoAdd .gitignore to tests/select/
Xiretza [Sat, 11 Apr 2020 09:49:01 +0000 (11:49 +0200)]
Add .gitignore to tests/select/

4 years agoMerge pull request #1907 from YosysHQ/dave/fix-1906
David Shah [Sun, 12 Apr 2020 20:08:02 +0000 (21:08 +0100)]
Merge pull request #1907 from YosysHQ/dave/fix-1906

verilog: Fix write to deleted object

4 years agoverilog: Fix write to deleted object
David Shah [Sun, 12 Apr 2020 17:49:09 +0000 (18:49 +0100)]
verilog: Fix write to deleted object

Signed-off-by: David Shah <dave@ds0.me>
4 years agoMerge pull request #1603 from whitequark/ice40-ram_style
whitequark [Fri, 10 Apr 2020 14:51:01 +0000 (14:51 +0000)]
Merge pull request #1603 from whitequark/ice40-ram_style

ice40/ecp5: add support for both 1364.1 and Synplify/LSE RAM/ROM attributes

4 years agoMerge pull request #1893 from mmicko/program_prefix
Miodrag Milanović [Fri, 10 Apr 2020 14:33:01 +0000 (16:33 +0200)]
Merge pull request #1893 from mmicko/program_prefix

Support custom PROGRAM_PREFIX

4 years agoKeep libyosys name same as befire, but put it in directory
Miodrag Milanovic [Fri, 10 Apr 2020 13:02:48 +0000 (15:02 +0200)]
Keep libyosys name same as befire, but put it in directory

4 years agoSupport custom PROGRAM_PREFIX
Miodrag Milanovic [Fri, 10 Apr 2020 08:38:40 +0000 (10:38 +0200)]
Support custom PROGRAM_PREFIX

4 years agoMerge pull request #1562 from whitequark/write_cxxrtl
whitequark [Fri, 10 Apr 2020 01:24:31 +0000 (01:24 +0000)]
Merge pull request #1562 from whitequark/write_cxxrtl

write_cxxrtl: new backend

4 years agoMerge pull request #1858 from YosysHQ/eddie/fix1856
Eddie Hung [Thu, 9 Apr 2020 21:23:47 +0000 (14:23 -0700)]
Merge pull request #1858 from YosysHQ/eddie/fix1856

kernel: include "kernel/constids.inc"

4 years agotests: add a quick plugin test
Eddie Hung [Thu, 9 Apr 2020 16:45:20 +0000 (09:45 -0700)]
tests: add a quick plugin test

4 years agokernel: include "kernel/constids.inc" instead of "constids.inc"
Eddie Hung [Thu, 9 Apr 2020 16:14:03 +0000 (09:14 -0700)]
kernel: include "kernel/constids.inc" instead of "constids.inc"

4 years ago[NFCI] Deduplicate builtin FF cell types list
Marcelina Kościelnicka [Wed, 8 Apr 2020 15:36:12 +0000 (17:36 +0200)]
[NFCI] Deduplicate builtin FF cell types list

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.

4 years agoMerge pull request #1890 from boqwxp/cleanup_memory_collect
N. Engelhardt [Thu, 9 Apr 2020 12:01:29 +0000 (14:01 +0200)]
Merge pull request #1890 from boqwxp/cleanup_memory_collect

Clean up `passes/memory/memory_collect.cc`.

4 years agoMerge pull request #1889 from boqwxp/cleanup_memory_unpack
N. Engelhardt [Thu, 9 Apr 2020 12:00:44 +0000 (14:00 +0200)]
Merge pull request #1889 from boqwxp/cleanup_memory_unpack

Clean up `passes/memory/memory_unpack.cc`.

4 years agoMerge pull request #1887 from boqwxp/cleanup_hilomap
N. Engelhardt [Thu, 9 Apr 2020 10:09:44 +0000 (12:09 +0200)]
Merge pull request #1887 from boqwxp/cleanup_hilomap

Clean up `passes/techmap/hilomap.cc`.

4 years agoClean up `passes/memory/memory_collect.cc`.
Alberto Gonzalez [Thu, 9 Apr 2020 05:43:05 +0000 (05:43 +0000)]
Clean up `passes/memory/memory_collect.cc`.

4 years agoClean up `passes/memory/memory_unpack.cc`.
Alberto Gonzalez [Thu, 9 Apr 2020 05:38:36 +0000 (05:38 +0000)]
Clean up `passes/memory/memory_unpack.cc`.

4 years agoClean up `passes/techmap/hilomap.cc`.
Alberto Gonzalez [Thu, 9 Apr 2020 05:24:37 +0000 (05:24 +0000)]
Clean up `passes/techmap/hilomap.cc`.

4 years agowrite_cxxrtl: add basic documentation.
whitequark [Sun, 5 Apr 2020 10:03:23 +0000 (10:03 +0000)]
write_cxxrtl: add basic documentation.

4 years agowrite_cxxrtl: add support for $dlatch and $dlatchsr cells.
whitequark [Sun, 5 Apr 2020 09:27:55 +0000 (09:27 +0000)]
write_cxxrtl: add support for $dlatch and $dlatchsr cells.

Also, fix codegen for $dffe and $adff.

4 years agowrite_cxxrtl: add support for $sr cell.
whitequark [Sun, 5 Apr 2020 09:13:13 +0000 (09:13 +0000)]
write_cxxrtl: add support for $sr cell.

Also, fix the semantics of SET/CLR inputs of the $dffsr cell, and
fix the scheduling of async FF cells to consider ARST/SET/CLR->Q
as a forward combinatorial arc.

4 years agowrite_cxxrtl: add support for $slice and $concat cells.
whitequark [Sun, 5 Apr 2020 07:46:42 +0000 (07:46 +0000)]
write_cxxrtl: add support for $slice and $concat cells.

4 years agowrite_cxxrtl: improve writable memory handling.
whitequark [Sun, 5 Apr 2020 02:06:26 +0000 (02:06 +0000)]
write_cxxrtl: improve writable memory handling.

This commit reduces space and time overhead for writable memories
to O(write port count) in both cases; implements handling for write
port priorities; and simplifies runtime representation of memories.

4 years agowrite_cxxrtl: add support for hierarchical designs.
whitequark [Fri, 3 Apr 2020 16:07:43 +0000 (16:07 +0000)]
write_cxxrtl: add support for hierarchical designs.

Hierarchical design simulations are generally much slower, but this
comes with a major increase in flexibility:
 1. Since the `flatten` pass currently does not support flattening
    of designs with processes, this is the only way to simulate such
    designs with cxxrtl.
 2. Support for hierarchy paves way for simulation black boxes,
    which are necessary for e.g. replacing PHYs with C++ code that
    integrates with the host system.

4 years agowrite_cxxrtl: avoid undefined behavior on out-of-bounds memory access.
whitequark [Sat, 4 Apr 2020 22:53:46 +0000 (22:53 +0000)]
write_cxxrtl: avoid undefined behavior on out-of-bounds memory access.

After this commit, if NDEBUG is not defined, out-of-bounds accesses
cause assertion failures for reads and writes. If NDEBUG is defined,
out-of-bounds reads return zeroes, and out-of-bounds writes are
ignored.

This commit also adds support for memories that start with a non-zero
index (`Memory::start_offset` in RTLIL).

4 years agowrite_cxxrtl: statically schedule comb logic and localize wires.
whitequark [Tue, 10 Dec 2019 20:09:24 +0000 (20:09 +0000)]
write_cxxrtl: statically schedule comb logic and localize wires.

This results in further massive gains in performance, modest decrease
in compile time, and, for designs without feedback arcs, makes it
possible to run eval() once per clock edge in certain conditions.

4 years agowrite_cxxrtl: elide wires for results of comb cells used once.
whitequark [Mon, 9 Dec 2019 19:05:52 +0000 (19:05 +0000)]
write_cxxrtl: elide wires for results of comb cells used once.

This results in massive gains in performance, equally massive
reduction in compile time, and improved readability.

4 years agowrite_cxxrtl: new backend.
whitequark [Sun, 1 Dec 2019 01:51:16 +0000 (01:51 +0000)]
write_cxxrtl: new backend.

This commit adds a basic implementation that isn't very performant
but implements most of the planned features.

4 years agoMerge pull request #1857 from whitequark/splitnets-skip-processes
whitequark [Thu, 9 Apr 2020 04:03:30 +0000 (04:03 +0000)]
Merge pull request #1857 from whitequark/splitnets-skip-processes

splitnets: skip modules with processes

4 years agoMerge pull request #1875 from whitequark/read_ilang-int_overflow
whitequark [Thu, 9 Apr 2020 04:02:57 +0000 (04:02 +0000)]
Merge pull request #1875 from whitequark/read_ilang-int_overflow

Improve handling of integer literals in RTLIL frontend

4 years agoMerge pull request #1886 from boqwxp/cleanup_connect
whitequark [Thu, 9 Apr 2020 03:58:07 +0000 (03:58 +0000)]
Merge pull request #1886 from boqwxp/cleanup_connect

Clean up `passes/cmds/connect.cc`.

4 years agoClean up `passes/cmds/connect.cc`.
Alberto Gonzalez [Wed, 8 Apr 2020 22:11:06 +0000 (22:11 +0000)]
Clean up `passes/cmds/connect.cc`.

4 years agoAdd constids.inc to final install
Xiretza [Wed, 8 Apr 2020 13:25:16 +0000 (15:25 +0200)]
Add constids.inc to final install

If this is not present in the install, #include-ing most yosys
headers will fail in rtlil.h:380.

4 years agoMerge pull request #1881 from hzeller/only-define-stdc-format-macros-if-not-already
Eddie Hung [Tue, 7 Apr 2020 20:56:40 +0000 (13:56 -0700)]
Merge pull request #1881 from hzeller/only-define-stdc-format-macros-if-not-already

aigerparse: only define __STDC_FORMAT_MACROS it not already before.

4 years agoaigerparse: only define __STDC_FORMAT_MACROS it not already before.
Henner Zeller [Tue, 7 Apr 2020 19:50:31 +0000 (12:50 -0700)]
aigerparse: only define __STDC_FORMAT_MACROS it not already before.

4 years agoMerge pull request #1814 from YosysHQ/mmicko/pyosys_makefile
Claire Wolf [Tue, 7 Apr 2020 15:06:47 +0000 (17:06 +0200)]
Merge pull request #1814 from YosysHQ/mmicko/pyosys_makefile

Enable ENABLE_LIBYOSYS when ENABLE_PYOSYS is set (closes #1813)

4 years agoduplicated enum item names should result in an error
Jeff Wang [Tue, 7 Apr 2020 06:30:11 +0000 (02:30 -0400)]
duplicated enum item names should result in an error

4 years agoMerge pull request #1874 from boqwxp/cleanup_show
whitequark [Mon, 6 Apr 2020 18:32:20 +0000 (18:32 +0000)]
Merge pull request #1874 from boqwxp/cleanup_show

Clean up `passes/cmds/show.cc`.

4 years agoMerge pull request #1861 from boqwxp/cleanup_hierarchy_submod
whitequark [Mon, 6 Apr 2020 18:32:10 +0000 (18:32 +0000)]
Merge pull request #1861 from boqwxp/cleanup_hierarchy_submod

Clean up `passes/hierarchy/submod.cc`.

4 years agoread_ilang: improve style. NFC.
whitequark [Mon, 6 Apr 2020 18:31:15 +0000 (18:31 +0000)]
read_ilang: improve style. NFC.

Co-Authored-By: Alberto Gonzalez <61295559+boqwxp@users.noreply.github.com>
4 years agoUse more descriptive variable name.
Alberto Gonzalez [Mon, 6 Apr 2020 14:48:27 +0000 (14:48 +0000)]
Use more descriptive variable name.

Co-Authored-By: whitequark <whitequark@whitequark.org>
4 years agoUse more descriptive variable name.
Alberto Gonzalez [Mon, 6 Apr 2020 14:37:07 +0000 (14:37 +0000)]
Use more descriptive variable name.

Co-Authored-By: whitequark <whitequark@whitequark.org>
4 years agoMerge pull request #1870 from boqwxp/cleanup_setattr
whitequark [Mon, 6 Apr 2020 11:04:49 +0000 (11:04 +0000)]
Merge pull request #1870 from boqwxp/cleanup_setattr

Clean up `passes/cmds/setattr.cc`.

4 years agoMerge pull request #1872 from boqwxp/cleanup_copy
whitequark [Mon, 6 Apr 2020 11:03:46 +0000 (11:03 +0000)]
Merge pull request #1872 from boqwxp/cleanup_copy

Clean up private member usage in `passes/cmds/copy.cc`.

4 years agoMerge pull request #1871 from boqwxp/cleanup_splice
whitequark [Mon, 6 Apr 2020 11:03:34 +0000 (11:03 +0000)]
Merge pull request #1871 from boqwxp/cleanup_splice

Clean up `passes/cmds/splice.cc`.

4 years agoMerge pull request #1869 from boqwxp/cleanup_connwrappers
whitequark [Mon, 6 Apr 2020 11:01:44 +0000 (11:01 +0000)]
Merge pull request #1869 from boqwxp/cleanup_connwrappers

Clean up `passes/cmds/connwrappers.cc`.

4 years agoMerge pull request #1868 from boqwxp/cleanup_delete
whitequark [Mon, 6 Apr 2020 10:58:38 +0000 (10:58 +0000)]
Merge pull request #1868 from boqwxp/cleanup_delete

Clean up `passes/cmds/delete.cc`.

4 years agoMerge pull request #1867 from boqwxp/cleanup_stat
whitequark [Mon, 6 Apr 2020 10:58:02 +0000 (10:58 +0000)]
Merge pull request #1867 from boqwxp/cleanup_stat

Clean up `passes/cmds/stat.cc`.

4 years agoMerge pull request #1866 from boqwxp/cleanup_test_autotb
whitequark [Mon, 6 Apr 2020 10:56:45 +0000 (10:56 +0000)]
Merge pull request #1866 from boqwxp/cleanup_test_autotb

Clean up `passes/tests/test_autotb.cc`.

4 years agoMerge pull request #1865 from boqwxp/cleanup_dfflibmap
whitequark [Mon, 6 Apr 2020 10:56:22 +0000 (10:56 +0000)]
Merge pull request #1865 from boqwxp/cleanup_dfflibmap

Clean up `passes/techmap/dfflibmap.cc`.

4 years agoMerge pull request #1863 from boqwxp/cleanup_techmap_extract
whitequark [Mon, 6 Apr 2020 10:55:50 +0000 (10:55 +0000)]
Merge pull request #1863 from boqwxp/cleanup_techmap_extract

Clean up `passes/techmap/extract.cc`.

4 years agoMerge pull request #1859 from boqwxp/design_duplicate
whitequark [Mon, 6 Apr 2020 10:39:26 +0000 (10:39 +0000)]
Merge pull request #1859 from boqwxp/design_duplicate

Add `-push-copy` option to the `design` command.

4 years agoread_ilang: improve error message for overly long wires.
whitequark [Mon, 6 Apr 2020 10:32:50 +0000 (10:32 +0000)]
read_ilang: improve error message for overly long wires.

Fixes #1838.

4 years agoread_ilang: detect overflow of integer literals.
whitequark [Mon, 6 Apr 2020 10:32:02 +0000 (10:32 +0000)]
read_ilang: detect overflow of integer literals.

4 years agoMerge pull request #1873 from boqwxp/cleanup_bugpoint
whitequark [Mon, 6 Apr 2020 10:13:06 +0000 (10:13 +0000)]
Merge pull request #1873 from boqwxp/cleanup_bugpoint

Clean up private member usage in `passes/cmds/bugpoint.cc`.

4 years agoClean up `passes/cmds/show.cc`.
Alberto Gonzalez [Mon, 6 Apr 2020 08:51:25 +0000 (08:51 +0000)]
Clean up `passes/cmds/show.cc`.

4 years agoClean up private member usage in `passes/cmds/bugpoint.cc`.
Alberto Gonzalez [Mon, 6 Apr 2020 08:35:09 +0000 (08:35 +0000)]
Clean up private member usage in `passes/cmds/bugpoint.cc`.

4 years agoClean up private member usage in `passes/cmds/copy.cc`.
Alberto Gonzalez [Mon, 6 Apr 2020 08:26:10 +0000 (08:26 +0000)]
Clean up private member usage in `passes/cmds/copy.cc`.

4 years agoClean up `passes/cmds/splice.cc`.
Alberto Gonzalez [Mon, 6 Apr 2020 07:42:46 +0000 (07:42 +0000)]
Clean up `passes/cmds/splice.cc`.

4 years agoClean up `passes/cmds/setattr.cc`.
Alberto Gonzalez [Mon, 6 Apr 2020 06:52:18 +0000 (06:52 +0000)]
Clean up `passes/cmds/setattr.cc`.

4 years agoClean up `passes/cmds/connwrappers.cc`.
Alberto Gonzalez [Mon, 6 Apr 2020 06:08:11 +0000 (06:08 +0000)]
Clean up `passes/cmds/connwrappers.cc`.

4 years agoClean up `passes/cmds/delete.cc`.
Alberto Gonzalez [Mon, 6 Apr 2020 05:06:48 +0000 (05:06 +0000)]
Clean up `passes/cmds/delete.cc`.

4 years agoClean up `passes/cmds/stat.cc`.
Alberto Gonzalez [Mon, 6 Apr 2020 04:36:41 +0000 (04:36 +0000)]
Clean up `passes/cmds/stat.cc`.

4 years agoClean up `passes/tests/test_autotb.cc`.
Alberto Gonzalez [Mon, 6 Apr 2020 04:25:21 +0000 (04:25 +0000)]
Clean up `passes/tests/test_autotb.cc`.

4 years agoClean up `passes/techmap/dfflibmap.cc`.
Alberto Gonzalez [Mon, 6 Apr 2020 03:02:40 +0000 (03:02 +0000)]
Clean up `passes/techmap/dfflibmap.cc`.

4 years agoClean up `passes/techmap/extract.cc`.
Alberto Gonzalez [Sun, 5 Apr 2020 19:36:23 +0000 (19:36 +0000)]
Clean up `passes/techmap/extract.cc`.

4 years agoClean up `passes/hierarchy/submod.cc`.
Alberto Gonzalez [Sun, 5 Apr 2020 04:39:54 +0000 (04:39 +0000)]
Clean up `passes/hierarchy/submod.cc`.

4 years agoRename `-duplicate` to `-push-copy`.
Alberto Gonzalez [Sat, 4 Apr 2020 21:26:11 +0000 (21:26 +0000)]
Rename `-duplicate` to `-push-copy`.

Co-Authored-By: whitequark <whitequark@whitequark.org>
4 years agoMerge pull request #1648 from YosysHQ/eddie/cmp2lcu
Eddie Hung [Fri, 3 Apr 2020 23:28:25 +0000 (16:28 -0700)]
Merge pull request #1648 from YosysHQ/eddie/cmp2lcu

"techmap -map +/cmp2lcu.v" for decomposing arithmetic compares to $lcu

4 years agocmp2lcu: rename _90_lcu_cmp -> _80_lcu_cmp
Eddie Hung [Fri, 3 Apr 2020 21:25:04 +0000 (14:25 -0700)]
cmp2lcu: rename _90_lcu_cmp -> _80_lcu_cmp

4 years agocmp2lcu: fail if `LUT_WIDTH < 2
Eddie Hung [Thu, 6 Feb 2020 16:46:38 +0000 (08:46 -0800)]
cmp2lcu: fail if `LUT_WIDTH < 2

4 years agosynth: only techmap cmp2{lut,lcu} if -lut
Eddie Hung [Thu, 6 Feb 2020 16:46:11 +0000 (08:46 -0800)]
synth: only techmap cmp2{lut,lcu} if -lut

4 years agosynth: use +/cmp2lcu.v in generic 'synth' too
Eddie Hung [Wed, 5 Feb 2020 22:31:51 +0000 (14:31 -0800)]
synth: use +/cmp2lcu.v in generic 'synth' too

4 years agoCleanup +/cmp2lut.v
Eddie Hung [Tue, 21 Jan 2020 17:14:03 +0000 (09:14 -0800)]
Cleanup +/cmp2lut.v

4 years agosynth_xilinx: techmap +/cmp2lut.v and +/cmp2lcu.v in 'coarse'
Eddie Hung [Tue, 21 Jan 2020 01:05:49 +0000 (17:05 -0800)]
synth_xilinx: techmap +/cmp2lut.v and +/cmp2lcu.v in 'coarse'

4 years ago+/cmp2lcu.v to work efficiently for fully/partially constant inputs
Eddie Hung [Tue, 21 Jan 2020 01:00:35 +0000 (17:00 -0800)]
+/cmp2lcu.v to work efficiently for fully/partially constant inputs

4 years ago+/cmp2lcu.v to work efficiently for fully/partially constant inputs
Eddie Hung [Tue, 21 Jan 2020 00:42:17 +0000 (16:42 -0800)]
+/cmp2lcu.v to work efficiently for fully/partially constant inputs

4 years agoRefactor +/cmp2lcu.v into recursive techmap
Eddie Hung [Tue, 21 Jan 2020 00:42:08 +0000 (16:42 -0800)]
Refactor +/cmp2lcu.v into recursive techmap

4 years agoCleanup
Eddie Hung [Mon, 20 Jan 2020 23:06:50 +0000 (15:06 -0800)]
Cleanup

4 years agoCleanup cmp2lcu.v
Eddie Hung [Mon, 20 Jan 2020 20:52:47 +0000 (12:52 -0800)]
Cleanup cmp2lcu.v

4 years agotechmap +/cmp2lcu.v for decomposing arithmetic compares to $lcu
Eddie Hung [Fri, 17 Jan 2020 18:51:27 +0000 (10:51 -0800)]
techmap +/cmp2lcu.v for decomposing arithmetic compares to $lcu

4 years agocmp2lut: comment out unused since 362f4f9
Eddie Hung [Fri, 17 Jan 2020 18:21:22 +0000 (10:21 -0800)]
cmp2lut: comment out unused since 362f4f9

4 years agoAdd `-duplicate` option to the `design` command.
Alberto Gonzalez [Fri, 27 Mar 2020 22:36:27 +0000 (22:36 +0000)]
Add `-duplicate` option to the `design` command.

4 years agosplitnets: skip modules with processes.
whitequark [Wed, 11 Dec 2019 02:14:23 +0000 (02:14 +0000)]
splitnets: skip modules with processes.

4 years agoecp5: do not map FFRAM if explicitly requested otherwise.
whitequark [Wed, 1 Jan 2020 10:11:35 +0000 (10:11 +0000)]
ecp5: do not map FFRAM if explicitly requested otherwise.

4 years agoice40: do not map FFRAM if explicitly requested otherwise.
whitequark [Wed, 1 Jan 2020 09:48:39 +0000 (09:48 +0000)]
ice40: do not map FFRAM if explicitly requested otherwise.

4 years agomemory_map: add -attr option, to respect inference attributes.
whitequark [Wed, 1 Jan 2020 09:42:33 +0000 (09:42 +0000)]
memory_map: add -attr option, to respect inference attributes.

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.