whitequark
feff32914b
Merge pull request #2642 from whitequark/cxxrtl-noproc-fixes
...
CXXRTL: some -noproc fixes
2021-03-11 20:01:10 +00:00
Zachary Snow
cb9f3b6abf
verilog: disallow overriding global parameters
...
It was previously possible to override global parameters on a
per-instance basis. This could be dangerous when using positional
parameter bindings, hiding oversupplied parameters.
2021-03-11 12:36:51 -05:00
Miodrag Milanovic
81c2b92bb4
Add _pm.h files to GENLIST, fixes vcxsrc target
2021-03-11 15:56:32 +01:00
Dan Ravensloft
83fc5cc28b
Replace assert in xaiger with more useful error message
2021-03-10 22:35:06 +01:00
whitequark
26e01a67db
Merge pull request #2643 from zachjs/fix-param-no-default-log
...
Fix param without default log line
2021-03-08 16:36:03 -08:00
Marcelina Kościelnicka
0b0e219765
Bump version
2021-03-08 20:18:11 +01:00
Marcelina Kościelnicka
a3528649c8
memory_dff: Remove now-useless write port handling.
2021-03-08 20:16:29 +01:00
Marcelina Kościelnicka
89c74ffd71
verilog: Use proc memory writes in the frontend.
2021-03-08 20:16:29 +01:00
Marcelina Kościelnicka
4e03865d5b
Add support for memory writes in processes.
2021-03-08 20:16:29 +01:00
Marcelina Kościelnicka
c00a29296c
sim: Avoid a crash on empty cell connection.
...
Fixes #2513 .
2021-03-08 17:03:31 +01:00
Marcelina Kościelnicka
760284033d
proc_dff: Fix emitted FF when a register is not assigned in async reset
...
Fixes #2619 .
2021-03-08 17:01:43 +01:00
Marcelina Kościelnicka
bc717abad2
memory_dff: Remove code looking for $mux cells.
...
This job is now performed by `opt_dff`, which runs before this pass.
2021-03-08 16:58:12 +01:00
Marcelina Kościelnicka
d555454969
tests/bram: Do not generate write address collisions.
...
These have no defined semantics, making the tests non-deterministic.
2021-03-08 16:53:03 +01:00
Zachary Snow
bdc4fd0e92
Fix param without default log line
2021-03-07 16:06:25 -05:00
Dan Ravensloft
9cdc6b5f2e
Replace assert in abc9_ops with more useful error message
2021-03-07 18:52:14 +01:00
whitequark
ab76d9cec5
cxxrtl: don't assert on edge sync rules tied to a constant.
...
These are commonly the result of tying an async reset to an inactive
level.
2021-03-07 14:29:30 +00:00
whitequark
d1de08e38a
cxxrtl: allow `always` sync rules in debug_eval.
...
These can be produced from `always @*` processes, if `-noproc`
is used.
2021-03-07 14:28:45 +00:00
whitequark
9bb839c613
Merge pull request #2626 from zachjs/param-no-default
...
sv: support for parameters without default values
2021-03-07 05:48:03 -08:00
whitequark
72ae15c77c
Merge pull request #2632 from zachjs/width-limit
...
verilog: impose limit on maximum expression width
2021-03-07 03:45:41 -08:00
Zachary Snow
b1a8e73a60
sv: fix some edge cases for unbased unsized literals
...
- Fix explicit size cast of unbased unsized literals
- Fix unbased unsized literal bound directly to port
- Output `is_unsized` flag in `dumpAst`
2021-03-06 15:20:34 -05:00
Marcelina Kościelnicka
d245e2bae5
proc_clean: Fix empty case removal conditions.
...
Fixes #2639 .
2021-03-06 17:39:50 +01:00
Marcelina Kościelnicka
3d2aef0bde
Remove a few functions that, in fact, did not exist in the first place.
2021-03-06 01:19:49 +01:00
Dan Ravensloft
55e5bd4213
Replace assert in addModule with more useful error message
2021-03-06 00:10:28 +01:00
whitequark
9dd813374e
Merge pull request #2635 from whitequark/cxxrtl-memrd-async-addr
...
cxxrtl: follow aliases to outlines when emitting $memrd.ADDR
2021-03-05 05:30:19 -08:00
whitequark
06da2e0f18
Merge pull request #2634 from whitequark/cxxrtl-debug-wire-types
...
cxxrtl: add pass debug flag to show assigned wire types
2021-03-05 04:57:22 -08:00
whitequark
b117f9bba8
Merge pull request #2633 from whitequark/cxxrtl-no-top
...
cxxrtl: don't crash on empty designs
2021-03-05 04:14:07 -08:00
whitequark
14ce8bdaa6
cxxrtl: follow aliases to outlines when emitting $memrd.ADDR.
2021-03-05 12:09:02 +00:00
whitequark
8471808834
cxxrtl: add pass debug flag to show assigned wire types.
...
Refs #2543 .
2021-03-05 11:58:59 +00:00
whitequark
a9a873a1d2
cxxrtl: don't crash on empty designs.
2021-03-05 11:05:19 +00:00
Zachary Snow
c18ddbcd82
verilog: impose limit on maximum expression width
...
Designs with unreasonably wide expressions would previously get stuck
allocating memory forever.
2021-03-04 15:20:52 -05:00
Claire Xen
7d2097b005
Update command-reference-manual.tex
2021-03-04 16:45:21 +01:00
Claire Xen
6c56c083f8
Update README
2021-03-04 16:43:30 +01:00
Zachary Snow
d738b2c127
sv: support for parameters without default values
...
- Modules with a parameter without a default value will be automatically
deferred until the hierarchy pass
- Allows for parameters without defaults as module items, rather than
just int the `parameter_port_list`, despite being forbidden in the LRM
- Check for parameters without defaults that haven't been overriden
- Add location info to parameter/localparam declarations
2021-03-02 10:43:53 -05:00
whitequark
375af199ef
Merge pull request #2620 from zachjs/port-int-types
...
verilog: fix sizing of ports with int types in module headers
2021-03-01 22:46:07 -08:00
Zachary Snow
10a6bc9b81
verilog: fix sizing of ports with int types in module headers
...
Declaring the ports as standard module items already worked as expected.
This adds a missing usage of `checkRange()` so that headers such as
`module m(output integer x);` now work correctly.
2021-03-01 13:39:05 -05:00
Marcelina Kościelnicka
0e0f84299a
Bump version
2021-03-01 19:33:05 +01:00
Zachary Snow
1ec5994100
verilog: fix handling of nested ifdef directives
...
- track depth so we know whether to consider higher-level elsifs
- error on unmatched endif/elsif/else
2021-03-01 12:28:33 -05:00
Zachary Snow
b6904a8e53
Set aside extraneous tests in simple_abc9 test suite
...
New test cases on one branch may be automatically copied from simple/ to
simple_abc9/, causing failures when switching to another branch. This
updates the simple_abc9 script to set aside extraneous tests in a
non-destructive way.
2021-03-01 12:13:11 -05:00
Claire Xen
004b780b8a
Merge pull request #2523 from tomverbeure/define_synthesis
...
Add -nosynthesis flag for read_verilog command
2021-03-01 18:00:48 +01:00
Claire Xen
527c681a2b
Merge pull request #2524 from bkbncn/patch-1
...
Add boost-python3
2021-03-01 17:46:33 +01:00
whitequark
7b47dd0f88
Merge pull request #2617 from RobertBaruch/doc
...
RTLIL Documentation: switch in process is optional
2021-03-01 08:10:32 -08:00
whitequark
ca5f5ffcd6
Merge pull request #2615 from zachjs/genrtlil-conflict
...
genrtlil: improve name conflict error messaging
2021-03-01 08:10:19 -08:00
whitequark
0fb4224ebc
Merge pull request #2618 from zachjs/int-types
...
sv: extended support for integer types
2021-02-28 20:29:44 -08:00
Zachary Snow
0f5b646ab8
sv: extended support for integer types
...
- Standard data declarations can now use any integer type
- Parameters and localparams can now use any integer type
- Function returns types can now use any integer type
- Fix `parameter logic`, `localparam reg`, etc. to be 1 bit (previously 32 bits)
- Added longint type (64 bits)
- Unified parser source for integer type widths
2021-02-28 16:31:56 -05:00
Robert Baruch
ca4b1afcb6
RTLIL Documentation: switch in process is optional
2021-02-27 09:58:03 -08:00
Claire Xen
d882b6fe3c
Update issue_template.md
2021-02-27 16:52:30 +01:00
Zachary Snow
bbff844acd
genrtlil: improve name conflict error messaging
2021-02-26 18:08:23 -05:00
Michael Singer
d56b76bd7c
Add tests for $countbits
2021-02-26 12:28:58 -05:00
Michael Singer
04b41ed04a
Implement $countones, $isunknown and $onehot{,0}
2021-02-26 12:28:58 -05:00
Michael Singer
8434ba5a3b
Implement $countbits function
2021-02-26 12:28:58 -05:00