anonkey
ea91f189a3
cli(tcl): add ability to pass argument to tcl script from cli
2023-11-03 12:21:35 +01:00
Miodrag Milanovic
4eb18e1f07
change verific log callback api
2023-11-01 08:13:27 +01:00
Krystine Sherwin
8fad77bd0f
Merge branch 'master' into krys/docs
...
Fix failing verific tests
2023-11-01 13:17:51 +13:00
N. Engelhardt
f9ab6e147a
mem: only import attributes from ports if the memory doesn't have them yet
2023-10-30 16:31:53 +01:00
N. Engelhardt
1b6d1e9419
memory_libmap: look for ram_style attributes on surrounding signals
2023-10-19 19:23:35 +02:00
Lofty
d21c464ae4
Merge pull request #3946 from rmlarsen/toposort
...
Speed up TopoSort by 2.7-3.3x.
2023-10-17 13:00:18 +01:00
Martin Povišer
bdd74e61ae
celledges: Account for shift down of x-bits wrt B port
2023-10-16 13:29:47 +02:00
N. Engelhardt
6c562c76bc
fix handling right shifts
2023-10-12 11:46:09 +02:00
N. Engelhardt
2d6d6a8da1
fix handling a_width != y_width
2023-10-12 11:46:09 +02:00
N. Engelhardt
d0e559a34f
celledges: support shift ops
2023-10-12 11:46:09 +02:00
N. Engelhardt
3e22791810
Merge pull request #3975 from rmlarsen/optmerge
2023-10-09 17:05:19 +02:00
Rasmus Munk Larsen
bc0df04e06
Get rid of double lookup in TopoSort::node(). This speeds up typical TopoSort time overall by ~10%.
2023-10-06 12:53:05 -07:00
Miodrag Milanovic
2ab7d1d0c8
Fix readline/editline memory leak
2023-10-06 16:05:44 +02:00
Rasmus Munk Larsen
6a5799cc2e
Add missing initialization of node_cmp_ member.
2023-10-05 17:27:26 -07:00
Rasmus Munk Larsen
0a37c2a301
Fix translation bug: The old code really checks for the presense of a node, not an edge in glift and flatten.
...
Add back statement that inserts nodes in order in opt_expr.cc.
2023-10-05 17:01:42 -07:00
Rasmus Munk Larsen
fd7bd420b3
Add back newline.
2023-10-05 15:26:29 -07:00
Rasmus Munk Larsen
e38c9e01c9
Undo formatting changes in kernel/utils.h.
2023-10-05 15:24:26 -07:00
Rasmus Munk Larsen
8e0308b5e7
Revert changes to celltypes.h. Use dict instead of std::unordered_map and most hash function for uint64_t to hashlib.h to support this.
2023-10-03 14:25:59 -07:00
Rasmus Munk Larsen
7b454d4633
Revert changes to celltypes.h.
2023-10-03 14:06:41 -07:00
Rasmus Munk Larsen
a6247cba42
Fix compiler warnings from GCC.
2023-10-03 09:29:06 +01:00
Rasmus Munk Larsen
cb9f318d37
Remove local modifications.
2023-10-03 09:29:06 +01:00
Rasmus Munk Larsen
ff915d21b6
Update comment.
2023-10-03 09:29:06 +01:00
Rasmus Munk Larsen
4968229efc
Speed up stringf / vstringf by 1.8x.
...
The main speedup is accomplished by avoiding a heap allocation in the common case where the final string length is less than 128. Inlining stringf & vstringf adds an additional improvement.
2023-10-03 09:29:06 +01:00
Rasmus Munk Larsen
058973faee
Undo formatting change.
2023-10-02 16:15:47 -07:00
Rasmus Munk Larsen
bce984fa60
Speed up OptMergePass by 1.7x.
...
The main speedup comes from swithing from using a SHA1 hash to std::hash<std::string>. There is no need to use an expensive cryptographic hash for fingerprinting in this context.
2023-10-02 15:57:18 -07:00
Martin Povišer
b894abf8b1
Merge pull request #3959 from rmlarsen/decode_string
...
Speed up RTLIL::Const::decode_string by 1.7x.
2023-10-02 16:38:43 +02:00
N. Engelhardt
dcb600ab81
Merge pull request #3938 from povik/booth-cleanup
2023-10-02 16:10:17 +02:00
Rasmus Munk Larsen
12218a4c74
Unflip i and j.
2023-09-28 19:39:09 -07:00
Rasmus Munk Larsen
01a015747e
Speed up RTLIL::Const::decode_string by 1.7x.
2023-09-27 17:16:13 -07:00
Wanda
c172fef01a
hashlib: Use a better hash for pool.
2023-09-26 18:55:06 +01:00
Martin Povišer
d641dfaec2
rtlil: Add helper to emit full-adder cells
2023-09-25 14:50:41 +02:00
Ethan Mahintorabi
aa06809d64
rtlil: Speeds up Yosys by 17%
...
This PR speeds up by roughly 17% across a wide spectrum of designs
tested at Google. Particularly for the mux generation pass.
Co-authored-by: Rasmus Larsen <rmlarsen@google.com>
Signed-off-by: Ethan Mahintorabi <ethanmoon@google.com>
2023-09-21 10:46:11 +01:00
Rasmus Munk Larsen
b9745f638b
Remove extraneous "public:".
2023-09-20 16:20:08 -07:00
Rasmus Munk Larsen
e0042bdff7
Speed up TopoSort. The main sorting algorithm implementation in TopoSort::sort_worker is 11-12x faster. Overall, the complete sequence of building the graph and sorting is about 2.5-3x faster. The overall impact in e.g. the replace_const_cells optimization pass is a ~25% speedup. End-to-end impact on our synthesis flow is about 3%.
2023-09-20 15:49:05 -07:00
Krystine Sherwin
98d0e749d6
Merge updates from 'master' into krys/docs
2023-09-19 11:28:36 +12:00
Jannis Harder
62b4df4989
dft_tag: Implement $overwrite_tag
and $original_tag
...
This does not correctly handle an `$overwrite_tag` on a module output,
but since we currently require the user to flatten the design for
cross-module dft, this cannot be observed from within the design, only
by manually inspecting the signals in the design.
2023-09-13 11:32:36 +02:00
Miodrag Milanovic
27ac912709
Support import of $future_ff
2023-09-13 11:32:36 +02:00
Miodrag Milanovic
54050a8c16
Basic support for tag primitives
2023-09-13 11:32:36 +02:00
Martin Povišer
05f0262d77
Merge pull request #3929 from YosysHQ/gatecat/fmt-fix
...
fmt: Fix C++ string assertion when buf is empty
2023-09-12 19:44:17 +02:00
gatecat
98b9459535
fmt: Fix C++ string assertion when buf is empty
...
Signed-off-by: gatecat <gatecat@ds0.me>
2023-09-12 18:12:07 +02:00
Martin Povišer
cbc4ec8178
mem: Fix index confusion in write port merging
...
Fix mistaking the read-port and write-port indices for each other when
we are adding the partial transparency emulation to be able to merge two
write ports.
2023-09-12 16:43:59 +02:00
Martin Povišer
6d9cd16fad
cellaigs: Drop initializer list in call to IdString::in
...
Remove superfluous curly braces in call to IdString::in to address
a compilation error (reproduced below) under GCC 9 and earlier.
kernel/cellaigs.cc:395:18: error: call to member function 'in' is ambiguous
if (cell->type.in({ID($gt), ID($ge)}))
~~~~~~~~~~~^~
./kernel/rtlil.h:383:8: note: candidate function
bool in(const std::string &rhs) const { return *this == rhs; }
^
./kernel/rtlil.h:384:8: note: candidate function
bool in(const pool &rhs) const { return rhs.co...
^
2023-08-14 11:42:19 +02:00
Charlotte
f9d38253c5
ast: add PRIORITY
to $print
cells
2023-08-11 04:46:52 +02:00
Charlotte
7f7c61c9f0
fmt: remove lzero by lowering during Verilog parse
...
See https://github.com/YosysHQ/yosys/pull/3721#issuecomment-1502037466
-- this reduces logic within the cell, and makes the rules that apply
much more clear.
2023-08-11 04:46:52 +02:00
Charlotte
3571bf2c2d
fmt: fuzz, remove some unnecessary busywork
...
Removing some signed checks and logic where we've already guaranteed the
values to be positive. Indeed, in these cases, if a negative value got
through (per my realisation in the signed fuzz harness), it would cause
an infinite loop due to flooring division.
2023-08-11 04:46:52 +02:00
Charlotte
9f9561379b
fmt: format %t consistently at initial
2023-08-11 04:46:52 +02:00
Charlotte
75b44f21d1
fmt: rudimentary %m support (= %l)
2023-08-11 04:46:52 +02:00
Charlotte
c382d7d3ac
fmt: %t/$time support
2023-08-11 04:46:52 +02:00
Charlotte
b0f69f2cd5
tests: test cxxrtl against iverilog (and uncover bug!)
2023-08-11 04:46:52 +02:00
Charlotte
095b093f4a
cxxrtl: first pass of $print impl
2023-08-11 04:46:52 +02:00