Aki Van Ness [Thu, 17 Mar 2022 11:26:14 +0000 (07:26 -0400)]
pass jny: flipped the defaults for the inclusion of various bits of metadata
(cherry picked from commit
1f1a403ccee3b37a42fae96a66114943d30e0415)
Aki Van Ness [Thu, 10 Mar 2022 16:05:04 +0000 (11:05 -0500)]
pass jny: ensured the cell collection is cleared between modules
(cherry picked from commit
6053856f9130dd864b4f38c8b71f13f5e2ca7f6b)
Aki Van Ness [Thu, 10 Mar 2022 16:04:44 +0000 (11:04 -0500)]
pass jny: fixed missing quotes around the type value for the cell sort
(cherry picked from commit
5a016713cc78e5c1e6abf3c5d3acefcd42016167)
Aki Van Ness [Thu, 10 Mar 2022 16:03:51 +0000 (11:03 -0500)]
pass jny: fixed the backslash escape for strings
(cherry picked from commit
2e792857e9f26078b65d969d9ad2a1c27326b330)
Aki Van Ness [Thu, 24 Feb 2022 16:19:35 +0000 (11:19 -0500)]
pass jny: removed the invalid json escapes
(cherry picked from commit
cae5ea833747e8a5bb5916277d963460712ac890)
Aki Van Ness [Thu, 24 Feb 2022 15:39:30 +0000 (10:39 -0500)]
pass jny: added some todo comments about things that need to be done before a proper merge, but it should be enough for the PoC at the moment
(cherry picked from commit
dccc89e8b3e8f711e66461c0dbc5595d6d35353a)
Aki Van Ness [Thu, 24 Feb 2022 14:54:03 +0000 (09:54 -0500)]
pass jny: changed the constructor initializers to use parens rather than curly-braces to hopefully make GCC 4.8 happy
(cherry picked from commit
1be9bef28bca20014ee778a986280453a6b47a38)
Aki Van Ness [Thu, 17 Feb 2022 16:35:45 +0000 (11:35 -0500)]
pass jny: fixed the string escape method to be less jank and more proper
(cherry picked from commit
43b2fc55660bd36ca9553b03ea6ddc3b2dfe4231)
Aki Van Ness [Thu, 17 Feb 2022 13:15:48 +0000 (08:15 -0500)]
pass jny: fixed the signed output for param value output
(cherry picked from commit
52ea944012a43f3b00f60023108ed7dd8b38eafb)
Aki Van Ness [Thu, 17 Feb 2022 13:11:58 +0000 (08:11 -0500)]
pass jny: added connection output
(cherry picked from commit
58e2870261c74682025c878af02fb5edf3139369)
Aki Van Ness [Thu, 10 Feb 2022 16:34:43 +0000 (11:34 -0500)]
pass jny: added filter options for including connections, attributes, and properties
(cherry picked from commit
167206f2f53ef7bf1aa2b0ee85bfa94930486617)
Aki Van Ness [Thu, 3 Feb 2022 10:04:45 +0000 (05:04 -0500)]
pass jny: large chunk of refactoring to make the JSON output more pretty and the internals less of a spaghetti nightmare
(cherry picked from commit
587f31b9a3d4ba458520d3a6241469ee87568df5)
Aki Van Ness [Fri, 14 Jan 2022 14:41:52 +0000 (09:41 -0500)]
metadata -> jny: migrated to the proper name for the pass
(cherry picked from commit
0e20619189db03ce61379010eb54306033f89fea)
Aki Van Ness [Fri, 3 Dec 2021 18:44:09 +0000 (13:44 -0500)]
pass metadata: added the machinery to write param and attributes
(cherry picked from commit
bdf14557ca3a25b10b6300a76d974d95988ebdf4)
Aki Van Ness [Fri, 3 Dec 2021 18:43:11 +0000 (13:43 -0500)]
pass metadata: removed superfluous `stringf` calls
(cherry picked from commit
1876ed21e704a8c4c384981560659da1fc248d1b)
Aki Van Ness [Thu, 18 Nov 2021 12:35:14 +0000 (07:35 -0500)]
pass metadata: some more rough work on dumping the parameters and attributes
(cherry picked from commit
ca03fbdc6d156a58a77e3b075d5a9a65964a683d)
Aki Van Ness [Thu, 18 Nov 2021 12:34:14 +0000 (07:34 -0500)]
pass metadata: fixed the MetadataWriter object initializer so GCC 4.8 is happy
(cherry picked from commit
6a90b42c480a44296d7363577c50dbd578724625)
Aki Van Ness [Tue, 16 Nov 2021 20:25:14 +0000 (15:25 -0500)]
pass metadata: added the output of parameters,
it's kinda dumb at the moment and needs parsing based on type but it's a start
(cherry picked from commit
7a275567df5231673cb8832bb6e97e0aaa2b82d8)
Aki Van Ness [Tue, 16 Nov 2021 20:24:28 +0000 (15:24 -0500)]
pass metadata: fixed some of the output formatting
(cherry picked from commit
d8b85e124783b55f414ccfd0513211daa8a94cdb)
Aki Van Ness [Tue, 16 Nov 2021 17:30:23 +0000 (12:30 -0500)]
pass metadata: initial commit of the metadata pass for exporting design metadata for yosys assisted tooling
(cherry picked from commit
f6bb238051a9f77e6fda902bcf0c8310426d3ff1)
Marcelina Kościelnicka [Mon, 21 Feb 2022 15:30:42 +0000 (16:30 +0100)]
ecp5: Do not use specify in generate in cells_sim.v.
(cherry picked from commit
d0f4d0b153572ddee5f19831f40b9c40eb480db0)
Miodrag Milanovic [Tue, 11 Jan 2022 07:35:50 +0000 (08:35 +0100)]
Release version 0.13
Miodrag Milanovic [Tue, 11 Jan 2022 07:21:12 +0000 (08:21 +0100)]
Update CHANGELOG
github-actions[bot] [Sun, 9 Jan 2022 01:01:33 +0000 (01:01 +0000)]
Bump version
Zachary Snow [Fri, 7 Jan 2022 05:04:00 +0000 (22:04 -0700)]
sv: auto add nosync to certain always_comb local vars
If a local variable is always assigned before it is used, then adding
nosync prevents latches from being needlessly generated.
Zachary Snow [Thu, 6 Jan 2022 06:33:08 +0000 (23:33 -0700)]
sv: fix size cast internal expression extension
github-actions[bot] [Wed, 5 Jan 2022 01:00:24 +0000 (01:00 +0000)]
Bump version
Zachary Snow [Tue, 4 Jan 2022 03:12:22 +0000 (20:12 -0700)]
logger: fix unmatched expected warnings and errors
- Prevent unmatched expected error patterns from self-matching
- Prevent infinite recursion on unmatched expected warnings
- Always print the error message for unmatched error patterns
- Add test coverage for all unmatched message types
- Add test coverage for excess matched logs and warnings
Austin Seipp [Tue, 4 Jan 2022 16:49:54 +0000 (10:49 -0600)]
opt_dff: fix sequence point copy paste bug
Newer GCCs emit the following warning for opt_dff:
passes/opt/opt_dff.cc:560:17: warning: operation on ‘ff.Yosys::FfData::has_clk’ may be undefined [-Wsequence-point]
560 | ff.has_clk = ff.has_ce = ff.has_clk = false;
| ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Which is correct: the order of whether the read or write of has_clk
occurs first is undefined since there is no sequence point between them.
This is almost certainly just a typo/copy paste error and objectively
wrong, so just fix it.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
gatecat [Sat, 1 Jan 2022 18:26:59 +0000 (18:26 +0000)]
manual: Fix cell-stmt order
Signed-off-by: gatecat <gatecat@ds0.me>
github-actions[bot] [Tue, 4 Jan 2022 00:58:28 +0000 (00:58 +0000)]
Bump version
Zachary Snow [Wed, 29 Dec 2021 17:38:55 +0000 (10:38 -0700)]
fix iverilog compatibility for new case expr tests
Zachary Snow [Thu, 30 Dec 2021 07:06:23 +0000 (00:06 -0700)]
fixup verilog doubleslash test
- add generated doubleslash.v to .gitignore
- ensure backend verilog can be read again
Zachary Snow [Thu, 30 Dec 2021 07:01:30 +0000 (00:01 -0700)]
sv: fix size cast clipping expression width
Miodrag Milanovic [Mon, 3 Jan 2022 10:57:11 +0000 (11:57 +0100)]
Update manual
github-actions[bot] [Sun, 26 Dec 2021 01:00:33 +0000 (01:00 +0000)]
Bump version
Catherine [Sat, 25 Dec 2021 12:29:44 +0000 (12:29 +0000)]
Merge pull request #3127 from whitequark/cxxrtl-no-reset-elided
cxxrtl: don't reset elided wires with \init attribute
Catherine [Sat, 25 Dec 2021 01:06:10 +0000 (01:06 +0000)]
cxxrtl: don't reset elided wires with \init attribute.
github-actions[bot] [Wed, 22 Dec 2021 00:58:25 +0000 (00:58 +0000)]
Bump version
Lofty [Tue, 21 Dec 2021 18:11:45 +0000 (18:11 +0000)]
intel_alm: disable 256x40 M10K mode
This BRAM mode uses both address ports, making it effectively single-port.
Since memory_bram can't presently map to single-port memories, remove it.
github-actions[bot] [Tue, 21 Dec 2021 00:59:45 +0000 (00:59 +0000)]
Bump version
Marcelina Kościelnicka [Mon, 20 Dec 2021 16:10:30 +0000 (17:10 +0100)]
memory_share: Fix SAT-based sharing for wide ports.
Fixes #3117.
github-actions[bot] [Sun, 19 Dec 2021 01:00:40 +0000 (01:00 +0000)]
Bump version
Zachary Snow [Thu, 16 Dec 2021 01:15:09 +0000 (18:15 -0700)]
fix width detection of array querying function in case and case item expressions
I also removed the unnecessary shadowing of `width_hint` and `sign_hint`
in the corresponding case in `simplify()`.
github-actions[bot] [Fri, 17 Dec 2021 00:58:02 +0000 (00:58 +0000)]
Bump version
Catherine [Thu, 16 Dec 2021 07:29:29 +0000 (07:29 +0000)]
Merge pull request #3115 from whitequark/issue-3112
cxxrtl: demote wires not inlinable only in debug_eval to locals
Catherine [Thu, 16 Dec 2021 07:29:19 +0000 (07:29 +0000)]
Merge pull request #3114 from whitequark/issue-3113
bugpoint: avoid infinite loop between -connections and -wires
Thomas Sailer [Wed, 25 Aug 2021 19:34:26 +0000 (21:34 +0200)]
preprocessor: do not destroy double slash escaped identifiers
The preprocessor currently destroys double slash containing escaped
identifiers (for example \a//b ). This is due to next_token trying to
convert single line comments (//) into /* */ comments. This then leads
to an unintuitive error message like this:
ERROR: syntax error, unexpected '*'
This patch fixes the error by recognizing escaped identifiers and
returning them as single token. It also adds a testcase.
Catherine [Wed, 15 Dec 2021 08:48:49 +0000 (08:48 +0000)]
cxxrtl: demote wires not inlinable only in debug_eval to locals.
Fixes #3112.
Co-authored-by: Irides <irides@irides.network>
Catherine [Wed, 15 Dec 2021 08:15:54 +0000 (08:15 +0000)]
bugpoint: avoid infinite loop between -connections and -wires.
Fixes #3113.
github-actions[bot] [Wed, 15 Dec 2021 00:59:04 +0000 (00:59 +0000)]
Bump version
Catherine [Tue, 14 Dec 2021 21:25:06 +0000 (21:25 +0000)]
Merge pull request #3111 from whitequark/issue-3110
Fix null pointer dereference after failing to extract DFF from memory
Claire Xenia Wolf [Tue, 14 Dec 2021 20:38:58 +0000 (21:38 +0100)]
Hotfix for run_shell auto-detection
Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
Catherine [Tue, 14 Dec 2021 16:27:37 +0000 (16:27 +0000)]
Fix null pointer dereference after failing to extract DFF from memory.
Fixes #3110.
github-actions[bot] [Tue, 14 Dec 2021 00:59:10 +0000 (00:59 +0000)]
Bump version
Claire Xen [Mon, 13 Dec 2021 21:03:29 +0000 (22:03 +0100)]
Merge pull request #3108 from YosysHQ/claire/verificdefs
Add YOSYS to the implicitly defined verilog macros in verific
Claire Xenia Wolf [Mon, 13 Dec 2021 17:20:08 +0000 (18:20 +0100)]
Add YOSYS to the implicitly defined verilog macros in verific
Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
github-actions[bot] [Mon, 13 Dec 2021 00:55:45 +0000 (00:55 +0000)]
Bump version
Marcelina Kościelnicka [Sat, 11 Dec 2021 15:07:29 +0000 (16:07 +0100)]
Add clean_zerowidth pass, use it for Verilog output.
This should remove instances of zero-width sigspecs in the netlist,
avoiding problems in the Verilog backend with emitting them.
See #3103.
Catherine [Sun, 12 Dec 2021 01:23:03 +0000 (01:23 +0000)]
Merge pull request #3105 from whitequark/cxxrtl-reset-memories-2
cxxrtl: preserve interior memory pointers across reset
github-actions[bot] [Sun, 12 Dec 2021 01:12:53 +0000 (01:12 +0000)]
Bump version
Marcelina Kościelnicka [Sat, 11 Dec 2021 16:17:43 +0000 (17:17 +0100)]
Fix unused param warning with ENABLE_NDEBUG.
Marcelina Kościelnicka [Sat, 11 Dec 2021 15:53:54 +0000 (16:53 +0100)]
rtlil: Dump empty connections when whole module is selected.
Without this, empty connections will be always skipped by `dump`, since
they contain no selected wires. This makes debugging rather confusing.
Catherine [Sat, 11 Dec 2021 15:38:43 +0000 (15:38 +0000)]
cxxrtl: preserve interior memory pointers across reset.
Before this commit, values, wires, and memories with an initializer
were value-initialized in emitted C++ code. After this commit, all
values, wires, and memories are default-initialized, and the default
constructor of generated modules calls the reset() method, which
assigns the members that have an initializer.
Catherine [Sat, 11 Dec 2021 16:24:47 +0000 (16:24 +0000)]
Merge pull request #3103 from whitequark/write_verilog-more-zero-width-values
write_verilog: dump zero width sigspecs correctly
whitequark [Sun, 20 Dec 2020 17:17:37 +0000 (17:17 +0000)]
cxxrtl: use unique_ptr<value<>[]> to store memory contents.
This makes the depth properly immutable.
whitequark [Sat, 11 Dec 2021 12:01:52 +0000 (12:01 +0000)]
write_verilog: dump zero width sigspecs correctly.
Before this commit, zero width sigspecs were dumped as "" (empty
string). Unfortunately, 1364-2005 5.2.3.3 indicates that an empty
string is equivalent to "\0", and is 8 bits wide, so that's wrong.
After this commit, a replication operation with a count of zero is
used instead, which is explicitly permitted per 1364-2005 5.1.14,
and is defined to have size zero. (Its operand has to have a non-zero
size for it to be legal, though.)
PR #1203 has addressed this issue before, but in an incomplete way.
github-actions[bot] [Sat, 11 Dec 2021 00:54:59 +0000 (00:54 +0000)]
Bump version
Miodrag Milanović [Fri, 10 Dec 2021 18:36:37 +0000 (19:36 +0100)]
Merge pull request #3102 from YosysHQ/claire/enumxz
Fix verific import of enum values with x and/or z
Claire Xenia Wolf [Fri, 10 Dec 2021 13:52:27 +0000 (14:52 +0100)]
Fix verific import of enum values with x and/or z
Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
Miodrag Milanović [Fri, 10 Dec 2021 13:32:14 +0000 (14:32 +0100)]
Merge pull request #3097 from YosysHQ/modport
If direction NONE use that from first bit
Claire Xen [Fri, 10 Dec 2021 13:27:18 +0000 (14:27 +0100)]
Update verific.cc
Ad-hoc fixes/improvements
Claire Xen [Fri, 10 Dec 2021 10:23:53 +0000 (11:23 +0100)]
Merge pull request #3099 from YosysHQ/claire/readargs
Use "read" command to parse HDL files from Yosys command-line
Claire Xenia Wolf [Thu, 9 Dec 2021 23:22:37 +0000 (00:22 +0100)]
Fix the tests we just broke
Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
Claire Xenia Wolf [Thu, 9 Dec 2021 21:24:58 +0000 (22:24 +0100)]
Added "yosys -r <topmodule>"
Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
Claire Xenia Wolf [Thu, 9 Dec 2021 09:33:55 +0000 (10:33 +0100)]
Use "read" command to parse HDL files from Yosys command-line
Signed-off-by: Claire Xenia Wolf <claire@clairexen.net>
github-actions[bot] [Thu, 9 Dec 2021 00:55:26 +0000 (00:55 +0000)]
Bump version
Marcelina Kościelnicka [Wed, 8 Dec 2021 22:23:03 +0000 (23:23 +0100)]
opt_mem_priority: Fix non-ascii char in help message.
This is a fixed version of #3072.
Miodrag Milanovic [Wed, 8 Dec 2021 10:50:10 +0000 (11:50 +0100)]
If direction NONE use that from first bit
github-actions[bot] [Sat, 4 Dec 2021 00:54:12 +0000 (00:54 +0000)]
Bump version
Miodrag Milanovic [Fri, 3 Dec 2021 11:51:34 +0000 (12:51 +0100)]
Next dev cycle
Miodrag Milanovic [Fri, 3 Dec 2021 11:48:49 +0000 (12:48 +0100)]
Release version 0.12
Miodrag Milanovic [Fri, 3 Dec 2021 08:57:14 +0000 (09:57 +0100)]
Update manual
Miodrag Milanovic [Fri, 3 Dec 2021 08:56:37 +0000 (09:56 +0100)]
Add gitignore for gatemate
Miodrag Milanovic [Fri, 3 Dec 2021 08:49:05 +0000 (09:49 +0100)]
Make sure cell names are unique for wide operators
github-actions[bot] [Thu, 2 Dec 2021 00:54:50 +0000 (00:54 +0000)]
Bump version
Miodrag Milanovic [Wed, 1 Dec 2021 07:42:37 +0000 (08:42 +0100)]
Update CHANGELOG and CODEOWNERS
github-actions[bot] [Fri, 26 Nov 2021 00:52:41 +0000 (00:52 +0000)]
Bump version
Lofty [Wed, 24 Nov 2021 21:20:40 +0000 (21:20 +0000)]
intel_alm: preliminary Arria V support
Lofty [Wed, 24 Nov 2021 21:21:08 +0000 (21:21 +0000)]
sta: very crude static timing analysis pass
Co-authored-by: Eddie Hung <eddie@fpgeh.com>
github-actions[bot] [Thu, 18 Nov 2021 00:54:02 +0000 (00:54 +0000)]
Bump version
Miodrag Milanović [Wed, 17 Nov 2021 12:57:56 +0000 (13:57 +0100)]
Merge pull request #3080 from YosysHQ/micko/init_wire
Give initial wire unique ID, fixes #2914
Miodrag Milanovic [Wed, 17 Nov 2021 11:19:06 +0000 (12:19 +0100)]
Give initial wire unique ID, fixes #2914
github-actions[bot] [Wed, 17 Nov 2021 00:53:07 +0000 (00:53 +0000)]
Bump version
Kamil Rakoczy [Tue, 16 Nov 2021 09:59:54 +0000 (10:59 +0100)]
Support parameters using struct as a wiretype (#3050)
Signed-off-by: Kamil Rakoczy <krakoczy@antmicro.com>
github-actions[bot] [Sun, 14 Nov 2021 00:54:56 +0000 (00:54 +0000)]
Bump version
Patrick Urban [Fri, 12 Nov 2021 07:47:15 +0000 (08:47 +0100)]
synth_gatemate Revert cascade A/B port mixup
Patrick Urban [Wed, 10 Nov 2021 17:46:07 +0000 (18:46 +0100)]
synth_gatemate: Remove iob_map invokation
Patrick Urban [Wed, 10 Nov 2021 15:18:13 +0000 (16:18 +0100)]
synth_gatemate: Add block RAM cascade support
* add simulation model for block RAM cascade in 40K mode
* limit 20K_SDP and 40K_SDP to 40 and 80 bits (the only useful configurations)
Patrick Urban [Wed, 10 Nov 2021 14:44:54 +0000 (15:44 +0100)]
synth_gatemate: Remove obsolete iob_map