Commit Graph

13563 Commits

Author SHA1 Message Date
Jason Thorpe a02d4e7853 Tweak the FreeBSD version of proc_self_dirname() to work on NetBSD use it. 2024-03-03 07:54:39 -08:00
Martin Povišer d2a7ce04ea synth: Rename `-inject` to `-extra-map` 2024-03-01 10:54:51 +01:00
github-actions[bot] 91fbd58980 Bump version 2024-02-27 00:15:58 +00:00
Catherine da2e9386f0 cxxrtl: install `cxxrtl_time.h` and `cxxrtl_replay.h`. 2024-02-26 17:55:56 +00:00
Martin Povišer 1fb71656b4
Merge pull request #4229 from povik/cut-notice
Cut down startup banner
2024-02-26 16:26:31 +01:00
Martin Povišer dd11a5a37c Shrink further 2024-02-26 16:25:46 +01:00
N. Engelhardt 6dc5da3ed9
Merge pull request #4232 from povik/mem-ui-fixes
opt_mem, memory_*: Refuse to operate in presence of processes
2024-02-26 16:09:27 +01:00
Catherine 639a8d83e4
Merge pull request #4234 from RCoeurjoly/master
´Use g++ and clang++ instead of gcc and clang as C++ compilers
2024-02-26 12:47:20 +00:00
Catherine 1a44645aef cxxrtl: expose scope information in the C++ API.
This commit adds a `debug_scopes` container, which can collect metadata
about scopes in a design. Currently the only scope is that of a module.
A module scope can be represented either by a module and cell pair, or
a `$scopeinfo` cell in a flattened netlist. The metadata produced by
the C++ API is identical between these two cases, so flattening remains
transparent to a netlist with CXXRTL.

The existing `debug_items` method is deprecated. This isn't strictly
necessary, but the user experience is better if the path is provided
as e.g. `"top "` (as some VCD viewers make it awkward to select topmost
anonymous scope), and the upgrade flow encourages that, which should
reduce frustration later.

While the new `debug_items` method could still be broken in the future
as the C++ API permits, this seems unlikely since the debug information
can now capture all common netlist aspects and includes several
extension points (via `debug_item`, `debug_scope` types).

Also, naming of scope paths was normalized to `path` or `top_path`,
as applicable.
2024-02-26 12:42:48 +00:00
Catherine d903f47d41 write_cxxrtl: don't assert on `-noflatten` with `-g4`. 2024-02-26 12:42:48 +00:00
Catherine 569a6d7fea cxxrtl: make blackbox `commit()` possible to override.
This fixes a regression introduced when commit observers were added.
2024-02-26 10:29:19 +00:00
Roland Coeurjoly 5fa609b6bf Fix help of yosys-config.in and provide backward compatibility 2024-02-25 18:48:21 +01:00
Roland Coeurjoly cf7b6c66f0 Changes in misc/yosys-config.in. LDLIBS -> LIBS. LDFLAGS -> LINKFLAGS. 2024-02-25 18:35:43 +01:00
Roland Coeurjoly 4a2fb18718 Changes in libs, passes and tests Makefiles. LDLIBS -> LIBS. LDFLAGS -> LINKFLAGS. CXX is clang++ or g++, not clang and gcc 2024-02-25 17:23:56 +01:00
Roland Coeurjoly dea4aeae56 LDLIBS -> LIBS. LDFLAGS -> LINKFLAGS 2024-02-25 17:02:35 +01:00
Roland Coeurjoly 033fa10307 We use CXX instead of LD for linking yosys-filterlib 2024-02-25 16:49:28 +01:00
Roland Coeurjoly a69a89f2e5 LD is removed, we use CXX instead 2024-02-25 16:43:55 +01:00
Roland Coeurjoly fe34abab3a ´Use g++ and clang++ instead of gcc and clang as C++ compilers 2024-02-23 14:03:12 +01:00
Martin Povišer 030d639201 opt_mem, memory_*: Refuse to operate in presence of processes
Processes can contain `MemWriteAction` entries which are invisible to
most passes operating on memories but which will be lowered to write
ports later on by `proc_memwr`. For that reason we can get corrupted
RTLIL if we sequence the memory passes before `proc`. Address that by
making the affected memory passes ignore modules with processes.
2024-02-23 12:27:53 +01:00
Martin Povišer 975517b022 memory_memx: Fix log header 2024-02-23 12:27:10 +01:00
Martin Povišer b5b737de38 Shrink a bit more 2024-02-22 22:20:35 +01:00
Martin Povišer f7737a12ca Cut down startup banner 2024-02-22 22:14:32 +01:00
Martin Povišer 173f4b5fbd Bump Claire's notices 2024-02-22 22:03:44 +01:00
Martin Povišer 53ca7b48f8 techmap: Fix help message wording 2024-02-22 22:00:56 +01:00
Martin Povišer ba07cba6ce synth: Introduce `-inject` for amending techmap 2024-02-22 17:38:48 +01:00
Martin Povišer d77b792156 synth: Put in missing bounds check for `-lut` 2024-02-22 17:24:26 +01:00
github-actions[bot] 84116c9a38 Bump version 2024-02-22 00:15:36 +00:00
Miodrag Milanovic 38f1b0b12d Revert "Add shlwapi lib for mingw builds"
This reverts commit 20dbc860e7.
2024-02-21 20:23:49 +01:00
Miodrag Milanović 6e06723ddb
Merge pull request #4223 from rovinski/master
dfflibmap: use patmatch() from kernel/yosys.cc
2024-02-21 20:23:26 +01:00
Martin Povišer 4c96546717 equiv_simple: Take FFs into account for driver map
This fixes an issue introduced in commit 26644ea due to which flip-flops
are inadvertently ignored when building up driver map. The mentioned
commit wasn't without functional change after all.
2024-02-21 12:05:52 +01:00
github-actions[bot] d5934357f3 Bump version 2024-02-21 00:15:24 +00:00
Austin Rovinski 03cadf6474 dfflibmap: use patmatch() from kernel/yosys.cc
Replace OS matching functions with yosys kernel function

Signed-off-by: Austin Rovinski <rovinski@nyu.edu>
2024-02-20 11:04:55 -05:00
Claire Xen c734b2bfe5
Merge pull request #3519 from ekliptik/master
smt2/smtbmc: Fix mathsat counterexample VCD dump crash
2024-02-20 13:40:30 +01:00
Miodrag Milanovic 20dbc860e7 Add shlwapi lib for mingw builds 2024-02-20 12:44:55 +01:00
Miodrag Milanović bc8a3a5b18
Merge pull request #4219 from rovinski/master
dfflibmap: Add a -dont_use flag to ignore cells
2024-02-20 12:43:44 +01:00
github-actions[bot] 01d6c12af4 Bump version 2024-02-20 00:15:14 +00:00
Miodrag Milanović a3c81f4d62
Merge pull request #4216 from YosysHQ/show_href
show: Add option to add cell/wire "src" attribute into graphviz attribute href
2024-02-19 20:50:53 +01:00
Austin Rovinski 5059bb1d4f dfflibmap: force PathMatchSpecA on WIN32
Depending on the WIN32 compilation mode, PathMatchSpec may expect a LPCSTR or
LPCWSTR argument. char* is only convertable to LPCSTR, so use that
implementation

Signed-off-by: Austin Rovinski <rovinski@nyu.edu>
2024-02-19 14:40:46 -05:00
Austin Rovinski 689feed012 dfflibmap: Add a -dont_use flag to ignore cells
This is an alternative to setting the dont_use property in lib. This brings
dfflibmap in parity with the abc pass for dont_use.

Signed-off-by: Austin Rovinski <rovinski@nyu.edu>
2024-02-19 13:00:18 -05:00
N. Engelhardt 63d256dc83
Merge pull request #4221 from povik/const-hash-fix
rtlil: Fix `Const` hashing omission
2024-02-19 16:40:46 +01:00
Martin Povišer 78b0697d33
Merge pull request #4210 from whitequark/fix-read_verilog-hdlname
read_verilog: correctly format `hdlname` attribute value
2024-02-19 16:23:06 +01:00
Martin Povišer db947e4c71
Merge pull request #4218 from kivikakk/proc_rom-actionless-switch
proc_rom: don't assert on big actionless switch.
2024-02-19 16:21:40 +01:00
N. Engelhardt 83a3058bb8
Merge pull request #4202 from passingglance/master
Update CHAPTER_CellLib.rst
2024-02-19 16:20:53 +01:00
N. Engelhardt edd154e3cd
Merge pull request #4215 from povik/xprop-race
Address race in `xprop` tests
2024-02-19 16:16:16 +01:00
Martin Povišer f5013d035e rtlil: Fix `Const` hashing omission 2024-02-19 15:45:54 +01:00
N. Engelhardt 4b99db0b73
Merge pull request #4177 from povik/connect-extra_args
connect: Do interpret selection arguments
2024-02-19 15:18:37 +01:00
N. Engelhardt aebb7a0c4d
Merge pull request #4188 from povik/dlatch-bwmux
proc_dlatch: Include `$bwmux` among considered mux cells
2024-02-19 15:15:03 +01:00
passingglance 67e7f383d5
Merge branch 'YosysHQ:master' into master 2024-02-17 11:48:35 -08:00
Amelia Cuss bf4a46ccb3 proc_rom: don't assert on big actionless switch.
See the test case.  PROC_ROM will consider this for evaluation, even
though -- without any actions -- lhs is empty (but still "uniform").
A zero-width memory is constructed, which later fails check with:

ERROR: Assert `width != 0' failed in kernel/mem.cc:518.

Ensure we don't proceed if there's nothing to encode.
2024-02-18 01:33:28 +11:00
github-actions[bot] f8d4d7128c Bump version 2024-02-17 00:15:42 +00:00