Commit Graph

1595 Commits

Author SHA1 Message Date
Emil J. Tywoniak 1df8a3e64b hashlib: legacy mkhash_add -> djb2_add 2024-12-18 15:09:25 +01:00
Emil J. Tywoniak 4e29ec1854 hashlib: acc -> eat 2024-12-18 15:09:25 +01:00
Emil J. Tywoniak 79acc141d5 hashlib: add deprecated mkhash function to prevent plugin breakage 2024-12-18 14:58:53 +01:00
Emil J. Tywoniak ad0dc17711 docs: document the ideas behind the hashing interface 2024-12-18 14:58:31 +01:00
Emil J. Tywoniak 0dafe06cd4 hashlib: run_hash uses hash_top_ops, not hash_ops 2024-12-18 14:58:31 +01:00
Emil J. Tywoniak 02a578365a hashlib: remove is_new from HasherDJB32, implement hash_top for IdString 2024-12-18 14:58:31 +01:00
Emil J. Tywoniak 704a58ab21 hashlib: restore hash_obj_ops for pointers to indexed types 2024-12-18 14:58:31 +01:00
Emil J. Tywoniak 52b0fc03b7 hash: solo hashing interface, override for SigBit 2024-12-18 14:58:31 +01:00
Emil J. Tywoniak b7991ed1f5 hashlib: prevent naive hashing of IdString when hashing SigBit 2024-12-18 14:58:31 +01:00
Emil J. Tywoniak 4d14399749 hashlib: allow forcing Hasher state, use it for IdString trivial hashing 2024-12-18 14:58:31 +01:00
Emil J. Tywoniak c1af19fabc hashlib: don't xorshift in between upper and lower word 2024-12-18 14:58:31 +01:00
Emil J. Tywoniak 209ab6fb72 hashlib: fudge always 2024-12-18 14:58:31 +01:00
Emil J. Tywoniak 582259f770 hashlib: hash_t can be set to 64-bit 2024-12-18 14:58:31 +01:00
Emil J. Tywoniak b8738e2bd7 hashlib: use hash_t across the board 2024-12-18 14:58:31 +01:00
Emil J. Tywoniak c73c88033d hashlib: only include in one place 2024-12-18 14:58:31 +01:00
Emil J. Tywoniak db04788c18 hashlib: fix pyosys 2024-12-18 14:58:31 +01:00
Emil J. Tywoniak 953508f6d2 driver: add --hash-seed 2024-12-18 14:58:29 +01:00
Emil J. Tywoniak d071489ab1 hashlib: redo interface for flexibility 2024-12-18 14:49:25 +01:00
Martin Povišer 1f718e3ab6 kernel: Remove global `tcl.h` include
In commit ac988cf we made sure to undefine the CONST/VOID macros left
defined by `tcl.h`, but this in turn makes it an issue to include
additional Tcl headers later on (see issue #4808).

One way out is to avoid a global `tcl.h` include. In the process we drop
support for Tcl-enabled MXE builds, which were likely broken anyway due
to the additional Tcl APIs used from `tclapi.cc`.
2024-12-10 13:49:08 +01:00
Martin Povišer b0708a38bf
Merge pull request #4678 from povik/tcl-rtlil-api
Start Tcl design inspection methods
2024-12-09 15:44:58 +01:00
N. Engelhardt 2a744b4b82 add hash method to scopeindex cursor 2024-12-06 11:18:39 +01:00
Krystine Sherwin 9925b27432
Goodbye guidelines (except GettingStarted)
Drop the parts that are being dropped.
Move the things that are being moved.
Also move the verilog stuff out of README and into the docs.
GettingStarted is less cut and dry, so hold off on that one.
2024-12-05 09:21:12 +13:00
Krystine Sherwin f0da1cc67f
Start removing guidelines folder
Disable the export to docs and remove any references to the guidelines folder.
2024-12-05 09:18:56 +13:00
KrystalDelusion c61b2bc1bc
Merge pull request #4794 from YosysHQ/krys/cygwin_compat
Fix Cygwin compatibility
2024-12-05 09:16:18 +13:00
KrystalDelusion c96d02b204
Merge pull request #4784 from YosysHQ/krys/reduce_warnings
Reduce number of warnings
2024-12-05 09:16:06 +13:00
Emil J d78086480f
Merge pull request #4770 from YosysHQ/emil/autoidx-option
driver: add --autoidx
2024-12-04 16:43:40 +01:00
Jannis Harder 81de54f436 tclapi: Remove unused -bool flag from get_param and document -[su]int 2024-12-03 18:59:52 +01:00
Jannis Harder cac6dd9bcb tclapi: Use older bignum API and handle external tommath for mac os 2024-12-03 18:49:38 +01:00
Krystine Sherwin 7d8140ddea
kernel/mem: Fix Cygwin compat
Avoid error:
```
kernel/mem.cc:1683:7: error: conflicting declaration ‘using addr_t = using addr_t = uint32_t’
 1683 | using addr_t = MemContents::addr_t;
      |       ^~~~~~
In file included from /usr/include/sys/types.h:222,
                 from /usr/include/pthread.h:11,
                 from /usr/lib/gcc/x86_64-pc-cygwin/12/include/c++/x86_64-pc-cygwin/bits/gthr-default.h:35,
                 from /usr/lib/gcc/x86_64-pc-cygwin/12/include/c++/x86_64-pc-cygwin/bits/gthr.h:148,
                 from /usr/lib/gcc/x86_64-pc-cygwin/12/include/c++/ext/atomicity.h:35,
                 from /usr/lib/gcc/x86_64-pc-cygwin/12/include/c++/bits/cow_string.h:37,
                 from /usr/lib/gcc/x86_64-pc-cygwin/12/include/c++/bits/basic_string.h:51,
                 from /usr/lib/gcc/x86_64-pc-cygwin/12/include/c++/string:53,
                 from ./kernel/yosys_common.h:27,
                 from ./kernel/yosys.h:42,
                 from ./kernel/mem.h:23,
                 from kernel/mem.cc:20:
/usr/include/machine/types.h:63:15: note: previous declaration as ‘typedef char* addr_t’
   63 | typedef char *addr_t;
```

According to IntelliSense, only the return types need to be prefixed with `MemContents::`, the rest are automagically using the class definition and highlight as `using Yosys::MemContents::addr_t = uint32_t`.
2024-12-03 13:15:33 +13:00
Martin Povišer f0704b6ede Redo integer passing on top of bignum 2024-12-02 19:56:51 +01:00
Martin Povišer 1ded817beb booth: Map simple `$macc` instances too 2024-12-01 16:00:04 +01:00
Krystine Sherwin 1de5d98ae2
Reduce comparisons of size_t and int
`Const::size()` returns int, so change iterators that use it to `auto` instead of `size_t`.
For cases where size is being explicitly cast to `int`, use the wrapper that we already have instead: `Yosys::GetSize()`.
2024-11-29 12:53:29 +13:00
Martin Povišer 646c5a19a8
Merge pull request #4776 from YosysHQ/krys/get_blackbox_attribute
Move get_blackbox_attribute method to Module instead of AttrObject
2024-11-28 00:25:16 +01:00
Martin Povišer 1717a0b9c0
Merge pull request #4721 from ldoolitt/main
kernel/drivertools.h: avoid maybe-uninitialized compile warnings
2024-11-28 00:09:43 +01:00
KrystalDelusion f428163252
Move get_blackbox_attribute method to Module instead of AttrObject 2024-11-28 11:19:16 +13:00
Emil J. Tywoniak 65146e3acf driver: add --autoidx 2024-11-26 12:11:10 +01:00
Martin Povišer 270846a49a
Merge pull request #4723 from povik/memv2-nordports
rtlil: Adjust internal check for `$mem_v2` cells
2024-11-18 15:44:39 +01:00
Martin Povišer 1cb5fd08b7
Merge pull request #4682 from povik/read_liberty-extensions
read_liberty extensions
2024-11-18 14:42:18 +01:00
Martin Povišer 2dba345049 portarcs: New command to derive propagation arcs 2024-11-13 16:20:35 +01:00
Martin Povišer 4ce8c7a0d3
Merge pull request #4709 from YosysHQ/emil/idstring-in-fold
functional, glift: use fold overload of IdString::in instead of pool …
2024-11-13 15:17:33 +01:00
Martin Povišer c7e8d41600 read_liberty: Set `area` `capacitance` attributes 2024-11-12 13:26:38 +01:00
Robin Ole Heinemann 8bc4bd8a20 cxxrtl, fmt: escape double quotes in c strings 2024-11-11 18:49:05 +00:00
Larry Doolittle 3ae9ca7c2b drivertools.h: switch from log_assert(0) to log_abort() for new feature 2024-11-08 10:30:11 -08:00
Martin Povišer e82e5f8b13 rtlil: Adjust internal check for `$mem_v2` cells
There's a mismatch between what `kernel/mem.cc` emits for memories
with no read ports and what the internal RTLIL check expects.

The point of dispute it whether some of the parameters relating to read
ports have a zero-width value in this case. The `mem.cc` code says no,
the internal checker says yes.

Surveying the other `$mem_v2` parameters, and internal cell parameters
in general, I am inclined to side with the `mem.cc` code.

This breaks RTLIL compatibility but for an obscure edge case.
2024-11-08 15:18:43 +01:00
Larry Doolittle d36a387aca kernel/drivertools.h: avoid maybe-uninitialized compile warnings
Initialize "unsigned int inner" in hash() functions
Includes a log_assert() that might help catch corrupted data structures
or future incomplete modification of DriveType definition
2024-11-07 19:49:25 -08:00
N. Engelhardt 2de9f00368
Merge pull request #4620 from RCoeurjoly/fix-vcd-parsing-ghdl-var-spacing 2024-11-06 16:29:07 +01:00
N. Engelhardt 9068ec5566
Merge pull request #4627 from RCoeurjoly/roland/assume_x 2024-11-06 16:27:30 +01:00
Emil J. Tywoniak 387a235158 functional, glift: use fold overload of IdString::in instead of pool literals 2024-11-06 12:48:32 +01:00
Martin Povišer cba9460cba Split off Tcl APIs into `tclapi.cc` 2024-11-04 16:17:02 +01:00
Emil J b2d78589e2
Merge pull request #4675 from YosysHQ/emil/pyosys-fix-segfault
yosys: fix pyosys initialization segfault
2024-11-01 16:40:58 +01:00