3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-04-24 09:35:32 +00:00
Commit graph

11004 commits

Author SHA1 Message Date
github-actions[bot]
bfcd08a323 Bump version 2021-08-12 00:49:51 +00:00
Marcelina Kościelnicka
b98376884e test/arch/{ecp5,ice40}/memories.ys: Use read_verilog -defer.
These parts keep rereading a Verilog module, then using chparam
to test it with various parameter combinations.  Since the default
parameters are on the large side, this spends a lot of time
needlessly elaborating the default parametrization that will then
be discarded.  Fix it with -deref and manual hierarchy call.

Shaves 30s off the test time on my machine.
2021-08-11 14:52:38 +02:00
Marcelina Kościelnicka
72d86c327e memory_dff: Recognize read ports with reset / initial value. 2021-08-11 14:17:48 +02:00
Marcelina Kościelnicka
24027b5446 proc_memwr: Use the v2 memwr cell. 2021-08-11 13:34:10 +02:00
Marcelina Kościelnicka
fd79217763 Add v2 memory cells. 2021-08-11 13:34:10 +02:00
github-actions[bot]
b96eb888cc Bump version 2021-08-11 00:52:20 +00:00
Marcelina Kościelnicka
e6f3d1c225 kernel/mem: Introduce transparency masks. 2021-08-11 00:04:16 +02:00
Michael Singer
681a1c07e5 Allow optional comma after last entry in enum 2021-08-09 22:25:57 -06:00
github-actions[bot]
f368e2c7e6 Bump version 2021-08-10 00:52:49 +00:00
Marcelina Kościelnicka
d25b9088c8 Refactor common parts of SAT-using optimizations into a helper.
This also aligns the functionality:

- in all cases, the onehot attribute is used to create appropriate
  constraints (previously, opt_dff didn't do it at all, and share
  created one-hot constraints based on $pmux presence alone, which
  is unsound)
- in all cases, shift and mul/div/pow cells are now skipped when
  importing the SAT problem (previously only memory_share did this)
  — this avoids creating clauses for hard cells that are unlikely
  to help with proving the UNSATness needed for optimization
2021-08-09 16:54:35 +02:00
github-actions[bot]
d8fcf1ab25 Bump version 2021-08-08 00:50:48 +00:00
Marcelina Kościelnicka
98003430d6 opt_merge: Use FfInitVals.
Partial  fix.
2021-08-08 01:19:22 +02:00
github-actions[bot]
a24906a7d2 Bump version 2021-08-07 00:45:55 +00:00
Marcelina Kościelnicka
52cbf1bea5 verilog: Support tri/triand/trior wire types.
These are, by the standard, just aliases for wire/wand/wor.

Fixes .
2021-08-06 21:35:43 +02:00
github-actions[bot]
2e421feb0e Bump version 2021-08-05 00:51:08 +00:00
Marcelina Kościelnicka
63f9e0544f memory_share: Don't skip ports with EN wired to input for SAT sharing.
Fixes .
2021-08-04 04:47:43 +02:00
github-actions[bot]
d8b0c3277f Bump version 2021-08-04 00:49:53 +00:00
Marcelina Kościelnicka
8733e1923a memory_bram: Move init data swizzling before other swizzling.
Fixes .
2021-08-03 15:04:10 +02:00
github-actions[bot]
ca8ad62696 Bump version 2021-08-03 00:55:22 +00:00
Miodrag Milanovic
be04d8834e Require latest verific 2021-08-02 10:29:58 +02:00
github-actions[bot]
10bcc4e192 Bump version 2021-08-02 00:50:24 +00:00
Marcelina Kościelnicka
ec2a468bd3 backend/verilog: Add alternate mode for transparent read port output.
This mode will be used whenever read port cannot be handled in the
"extract address register" way, ie. whenever it has enable, reset,
init functionality or (in the future) mixed transparency mask.
2021-08-01 19:11:29 +02:00
Marcelina Kościelnicka
4451f7f5e9 memory_bram: Some refactoring
This will make more sense when the new transparency masks land.

Fixes .
2021-08-01 16:51:24 +02:00
github-actions[bot]
12db9b4273 Bump version 2021-07-31 00:50:30 +00:00
Miodrag Milanović
c4a295cb8d
Update version.yml 2021-07-30 19:50:02 +02:00
Maciej Dudek
cfddef5d7d Fixes xc7 BRAM36s
UG473 from Xilinx states that 15 bit should always be set if RAMB isn't in cascade mode.

Signed-off-by: Maciej Dudek <mdudek@antmicro.com>
2021-07-30 16:17:22 +02:00
Zachary Snow
c016f6a423 proc_rmdead: use explicit pattern set when there are no wildcards
If width of a case expression was large, explicit patterns could cause
the existing logic to take an extremely long time, or exhaust the
maximum size of the underlying set. For cases where all of the patterns
are fully defined and there are no constants in the case expression,
this change uses a simple set to track which patterns have been seen.
2021-07-29 20:55:59 -04:00
Zachary Snow
4fec3a85cd genrtlil: add width detection for AST_PREFIX nodes 2021-07-29 20:55:31 -04:00
github-actions[bot]
87ef1dd805 Bump version 2021-07-30 00:52:33 +00:00
Marcelina Kościelnicka
54e75129e5 opt_lut: Allow more than one -dlogic per cell type.
Fixes .
2021-07-29 17:30:07 +02:00
Zachary Snow
3156226233 verilog: save and restore overwritten macro arguments 2021-07-28 21:52:16 -04:00
github-actions[bot]
a055145b95 Bump version 2021-07-29 00:49:14 +00:00
Marcelina Kościelnicka
8bdc019730 verilog: Emit $meminit_v2 cell.
Fixes .
2021-07-28 23:18:38 +02:00
Marcelina Kościelnicka
e9effd58d2 backends/verilog: Support meminit with mask. 2021-07-28 23:18:38 +02:00
Marcelina Kościelnicka
19720b970d memory: Introduce $meminit_v2 cell, with EN input. 2021-07-28 23:18:38 +02:00
github-actions[bot]
37d76deef1 Bump version 2021-07-28 00:52:46 +00:00
Marcelina Kościelnicka
a0e912ba99 proc: Run opt_expr at the end 2021-07-27 20:44:45 +02:00
Marcelina Kościelnicka
436d42c00c opt_expr: Propagate constants to port connections.
This adds one simple piece of functionality to opt_expr: when a cell
port is connected to a fully-constant signal (as determined by sigmap),
the port is reconnected directly to the constant value.  This is just
enough optimization to fix the "non-constant $meminit input" problem
without requiring a full opt_clean or a separate pass.
2021-07-27 20:44:26 +02:00
github-actions[bot]
9600f20be8 Bump version 2021-07-27 00:52:14 +00:00
Miodrag Milanovic
45968ad740 Add version bump workflow 2021-07-26 11:25:32 +02:00
Miodrag Milanovic
987fca5297 Update to latest verific 2021-07-21 09:46:53 +02:00
Rupert Swarbrick
7a25246a7e Use new read_id_num helper function elsewhere in hierarchy.cc 2021-07-20 10:13:15 -04:00
Rupert Swarbrick
8fd6b45a3c Extract connection checking logic from expand_module in hierarchy.cc
No functional change, but pulls more logic out of the expand_module
function.
2021-07-20 10:13:15 -04:00
whitequark
a04844bdf8
Merge pull request from whitequark/cxxrtl-fix-2883
cxxrtl: treat wires with multiple defs as not inlinable
2021-07-20 13:12:11 +00:00
whitequark
72beee2ccc
Merge pull request from whitequark/cxxrtl-fix-2882
cxxrtl: treat assignable internal wires used only for debug as locals
2021-07-20 13:12:03 +00:00
whitequark
1a6ddf7892 cxxrtl: treat wires with multiple defs as not inlinable.
Fixes .
2021-07-20 10:30:39 +00:00
whitequark
225af830c1 cxxrtl: treat assignable internal wires used only for debug as locals.
This issue was introduced in commit 4aa65f40 while fixing .

Fixes .
2021-07-20 10:10:42 +00:00
whitequark
c2afcbe78d
Merge pull request from whitequark/cxxrtl-sideways-colon
cxxrtl: escape colon in variable names in VCD writer
2021-07-20 09:30:08 +00:00
whitequark
fc84f23001 cxxrtl: escape colon in variable names in VCD writer.
The following VCD file crashes GTKWave's VCD loader:

    $var wire 1 ! x:1 $end
    $enddefinitions $end

In practice, a colon can be a part of a variable name that is
translated from a Verilog function, something like:

    update$func$.../hdl/hazard3_csr.v:350$2534.$result
2021-07-19 16:22:55 +00:00
whitequark
9af88951bc
Merge pull request from whitequark/cxxrtl-fix-2877
cxxrtl: add debug_item::{get,set}
2021-07-18 07:35:23 +00:00