Commit Graph
203 Commits
Author SHA1 Message Date
Miodrag Milanovic 049253fffc logger: do not emit partial log messages 2026-10-05 14:23:13 +02:00
Miodrag Milanovic 709e780fe7 logger: add highlighted text and fix formatting 2026-09-24 09:05:39 +02:00
Miodrag Milanović 303b1ff528 Merge pull request #6204 from YosysHQ/mmicko/logger
logger: add LogSourceLocation
2026-09-23 10:48:18 +00:00
Miodrag Milanovic 656f62b337 Execute clean shutdown on windows as well 2026-09-18 08:06:51 +02:00
Miodrag Milanovic 59e5cbf41d logger: fix bug related to time in broken lines 2026-09-16 16:32:05 +02:00
Miodrag Milanovic 32ef29fafb logger: added non-fatal errors and update verific logging 2026-09-16 09:24:46 +02:00
Miodrag Milanovic 18239a6fbb logger: add LogSourceLocation 2026-09-15 14:29:36 +02:00
Miodrag Milanovic 5b7979e920 log: Logger colored output for console 2026-09-03 08:57:15 +02:00
Miodrag Milanovic 09c227b0a7 log_stderr_sink_forced since it is external sink configuration 2026-08-31 10:34:45 +02:00
Miodrag Milanovic a3cc43277f log: added log_deprecated 2026-08-26 08:40:12 +02:00
Miodrag Milanovic 14f85ce38e log: updating review point 2026-08-21 13:25:47 +02:00
Miodrag Milanovic 900fd36eec log: small cleanup 2026-08-21 09:19:56 +02:00
Miodrag Milanovic bd1c3942aa log: remove non-useful/non-used functionality 2026-08-20 15:19:36 +02:00
Miodrag Milanovic 2e113f5eff log: create LogManager singleton and move implementation 2026-08-19 15:59:46 +02:00
Miodrag Milanovic b17b5a19e0 log: fix some functionality and wrappers 2026-08-14 12:23:25 +02:00
Miodrag Milanovic cbbd8c0dfd log: convert all to sinks 2026-08-14 11:55:46 +02:00
Catherine 9020fc2ffe Accept UTF-8 filenames and terminal I/O on Windows. 2026-08-06 12:06:07 +00:00
Miodrag Milanovic 102f008194 Remove EMSCRIPTEN leftovers 2026-06-05 10:03:27 +02:00
Miodrag Milanovic 1e28e8ccab Handle unused variable for WIN32 2026-05-13 09:49:39 +02:00
bin 5dfe1937a0 Upgrade to WASI SDK 33 and enable exceptions 2026-05-01 13:30:43 -04:00
nella ee0461eb00 Change time log format. 2026-03-19 14:38:22 +01:00
nella d6ab610622 Implement wall clock time meas. 2026-03-19 14:38:22 +01:00
Emil J. Tywoniak 6acb79afa2 driver: add --git-hash 2025-12-09 11:58:57 +01:00
Robert O'Callahan 638e904f91 Remove cover() coverage tracking 2025-12-04 16:27:13 +01:00
Emil Jiří Tywoniak c281bac461 sdc: add initial stubbed demo 2025-11-19 15:25:03 +01:00
Emil J. Tywoniak 65d7d70507 driver: move IdString collection to yosys_shutdown 2025-11-14 15:31:45 +01:00
Emil J. Tywoniak c48bc56f4a driver: fix timing data divison by zero when no passes run 2025-11-13 14:10:52 +01:00
Emil J. Tywoniak 1dd5b150e5 driver: garbage collect IdStrings without tracing at exit 2025-11-13 14:10:52 +01:00
Robert O'Callahan 578d658871 Add timing stats for IdString garbage collection 2025-11-12 11:52:04 +01:00
Mohamed Gaber 447a6cb3f0 misc: WITH_PYTHON -> YOSYS_ENABLE_PYTHON
For consistency.

Also trying a new thing: only rebuilding objects that use the pybind11 library. The idea is these are the only objects that include the Python/pybind headers and thus the only ones that depend on the Python ABI in any capacity, so other objects can be reused across wheel builds. This has the potential to cut down build times.
2025-10-03 11:54:44 +03:00
Mohamed Gaber 88be728353 pyosys: rewrite using pybind11
- Rewrite all Python features to use the pybind11 library instead of boost::python.
  Unlike boost::python, pybind11 is a header-only library that is just included by Pyosys code, saving a lot of compile time on wheels.
- Factor out as much "translation" code from the generator into proper C++ files
- Fix running the embedded interpreter not supporting "from pyosys import libyosys as ys" like wheels
- Move Python-related elements to `pyosys` directory at the root of the repo
- Slight shift in bridging semantics:
  - Containers are declared as "opaque types" and are passed by reference to Python - many methods have been implemented to make them feel right at home without the overhead/ambiguity of copying to Python and then copying back after mutation
  - Monitor/Pass use "trampoline" pattern to support virual methods overridable in Python: virtual methods no longer require `py_` prefix
- Create really short test set for pyosys that just exercises basic functionality
2025-10-03 11:54:44 +03:00
Robert O'Callahan e0ae7b7af4 Remove .c_str() calls from log()/log_error()
There are some leftovers, but this is an easy regex-based approach that removes most of them.
2025-09-11 20:59:37 +00:00
KrystalDelusion 4ade617c41 driver.cc: Don't split options on commas 2025-06-13 10:31:53 +12:00
Emil J. Tywoniak 90a2c92370 driver: allow --no-version still write things like Generated by Yosys 2025-05-07 11:34:23 +02:00
Emil J. Tywoniak d7affb8821 driver: add --no-version to suppress writing Yosys version in command outputs 2025-05-05 13:12:08 +02:00
Emil J. Tywoniak 3541db8bbb driver: fix -X xtrace backtrace level 2025-04-25 00:51:10 +02:00
Krystine Sherwin cd3b914132 Reinstate #4768
Revert the reversion so that we can fix the bugs that the PR missed.
2025-04-08 11:58:05 +12:00
Miodrag Milanović d49364d96f Revert "Refactor full_selection" 2025-04-07 12:11:55 +02:00
Krystine Sherwin dac2bb7d4d Use selection helpers
Catch more uses of selection constructor without assigning a design.
2025-03-14 14:08:13 +13:00
Emil J. Tywoniak 953508f6d2 driver: add --hash-seed 2024-12-18 14:58:29 +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
Emil J. Tywoniak 65146e3acf driver: add --autoidx 2024-11-26 12:11:10 +01:00
Emil J. Tywoniak 0341265e64 driver: fix special args passing to tcl and python 2024-10-16 23:56:45 +02:00
Emil J. Tywoniak 575415ade2 driver: switch to cxxopts, replace -B 2024-10-09 15:21:34 +02:00
Mohamed Gaber 35c8ad61ac cli/python: error-checking, python interpreter bugfix
* Less brittle method of adding script dirname to sys.path
* Check if scriptfp successfully opens before using it
* Move `log_error` to after `PyErr_Print()` is called
2024-09-30 17:38:43 +03:00
Mohamed Gaber 8dac27108e Typos 2024-09-11 21:45:51 +03:00
Mohamed Gaber 738b5eef0b Add dirname of script file to sys.path
This matches the behavior of running a Python interpreter, where the
first element of sys.path is the dirname of the script being run.

This allows importing of files and modules in the same directory without
messing with PYTHONPATH or similar.
2024-09-11 21:45:51 +03:00
Mohamed Gaber 38f9e6c3a2 -y flag for libyosys Python scripts
This adds a Python equivalent to the `-c` option, where scripts importing `libyosys` can be imported and used.

Most of the work for this was already done to enable Python passes a couple years back, so this is a relatively small changeset.
2024-09-11 21:45:51 +03:00
Emil J. Tywoniak 4847caac49 driver: print maximum memory usage on macOS as well 2024-08-19 12:50:12 +02:00
Krystine Sherwin 3eeefd23e3 Typo fixup(s) 2024-03-18 11:09:23 +13:00