Commit Graph
395 Commits
Author SHA1 Message Date
Emil J. Tywoniak ea4634ecee twine: remove LeafIdString since it was designed to cope with lack of content hashing 2026-10-02 18:42:02 +02:00
Emil J. Tywoniak 992c8c2eb3 twines: use LeafIdString codebase-wide 2026-10-02 18:42:02 +02:00
Emil J. Tywoniak 62fb600000 use twines() for brevity 2026-10-02 18:42:01 +02:00
Emil J. Tywoniak 311e51d227 techlibs: rebuild attribute name handling on the pool 2026-10-02 18:42:01 +02:00
nella 57ab8ef2c6 Merge remote-tracking branch 'origin/main' into nella/latch-diagnostics-2 2026-09-22 16:49:41 +02:00
nella 5c338c559a Reassociate sums of products via $macc. 2026-09-16 14:26:07 +02:00
Emil J. Tywoniak 5d393b8207 synth*: run check after proc before opt_clean to discover process-initial driver conflicts 2026-09-02 14:44:36 +02:00
Lofty 44bab117d7 synth_ice40: remove classic ABC mapping 2026-08-19 11:42:59 +01:00
nella 8b50a13181 Add global latch policy. 2026-08-10 15:56:02 +02:00
nella 431d5f5e33 check make always_latch exempt. 2026-08-10 15:56:02 +02:00
Catherine 1277640bdf CMake: add missing dependency edges for synth_* passes. 2026-08-06 14:48:56 +00:00
Lofty f0b5225134 flowmap: remove 2026-07-22 13:50:33 +01:00
nella f5809a7c2c Merge branch 'main' into nella/latch-toggle 2026-07-08 11:41:08 +02:00
nella 362e828dc2 Simplify check -latchonly calls in synth. 2026-07-07 10:10:00 +02:00
nella a3b8609c84 Add -nolatches check option. 2026-06-24 10:38:10 +02:00
Miodrag Milanovic a689342207 Remove trailing whitespaces 2026-06-23 07:24:59 +02:00
Miodrag Milanovic 48a3dcc02a End of file fix 2026-06-23 07:23:41 +02:00
nella b3b1394cf1 Fixup level policy. 2026-06-18 18:00:51 +02:00
nella 32a268d745 Emit errors before dfflegalize. 2026-06-18 17:07:24 +02:00
nella b2d688dbf9 Error out on latches. 2026-06-17 17:36:32 +02:00
nella c814ef35e3 Emit latch warning. 2026-06-17 11:27:43 +02:00
Catherine a727e7f6e7 Migrate build system to CMake
See #5895 for details.

This commit does not include CI or documentation changes.
2026-06-03 08:58:10 +00:00
Miodrag Milanovic 8bbc3c359c Remove id2cstr uses in our code base 2026-05-16 19:49:45 +02:00
Miodrag Milanovic 965a3e67f0 Remove pmgen related users of log_id 2026-05-14 17:28:10 +02:00
Codexplorer e41b969da2 Refactored uses of log_id() 2026-05-08 20:59:24 -07:00
nella fff034d2f8 Add check before flatten in synth_*. 2026-05-05 14:06:58 +02:00
nataliakokoromyti e289e4c893 add ID::src to allowlist instead 2025-12-17 01:31:32 -08:00
nataliakokoromyti cf8be2bae7 Update ice40_wrapcarry.cc 2025-12-16 09:33:47 -08:00
Emil J. Tywoniak a915143768 ice40: fix IdString memory leak 2025-11-13 14:10:52 +01:00
Robert O'Callahan 5ac6858f26 Remove .c_str() from log_cmd_error() and log_file_error() parameters 2025-09-16 22:59:08 +00:00
Robert O'Callahan 1a367b907c Use fast path for 32-bit Const integer constructor in more places 2025-09-16 03:17:24 +00: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
Robert O'Callahan c7df6954b9 Remove .c_str() from stringf parameters 2025-09-01 23:34:42 +00:00
Anhijkt 163e339c69 ice40_dsp: add unextend_unsigned function 2025-04-11 19:41:35 +03:00
Anhijkt 4a178d7cff ice40_dsp: change unextend call condition 2025-04-10 17:42:39 +03:00
Anhijkt 2b3a148fc4 ice40_dsp: fix const handling 2025-04-05 13:46:38 +03:00
Anhijkt a9d765e11e ice40_dsp: group empty wires 2025-03-16 15:11:45 +02:00
Anhijkt 725c489c7e ice40_dsp: fix log_assert issue 2025-03-15 17:11:32 +02:00
Krystine Sherwin 0ec5f1b756 pmgen: Move passes out of pmgen folder
- Techlib pmgens are now in relevant techlibs/*.
- `peepopt` pmgens are now in passes/opt.
- `test_pmgen` is still in passes/pmgen.
- Update `Makefile.inc` and `.gitignore` file(s) to match new `*_pm.h` location,
  as well as the `#include`s.
- Change default `%_pm.h` make target to `techlibs/%_pm.h` and move it to the
  top level Makefile.
- Update pmgen target to use `$(notdir $*)` (where `$*` is the part of the file
  name that matched the '%' in the target) instead of `$(subst _pm.h,,$(notdir
  $@))`.
2025-01-31 15:18:28 +13:00
Krystine Sherwin ff10aeebd6 Fix some synth_* help messages
Mostly memory_libmap arg checks; puts the checks into an else block on the `if (help_mode)` check to avoid cases like `synth_ice40` listing `-no-auto-huge [-no-auto-huge]`.
Also fix `map_iopad` section being empty in `synth_fabulous`.
2024-03-18 11:33:18 +13:00
Martin Povišer 568418b50b opt_lut: Replace -dlogic with -tech ice40 2024-01-15 12:35:21 +01:00
N. Engelhardt d87bd7ca3f Merge pull request #3887 from kivikakk/env-bash
tests: use /usr/bin/env for bash.
2023-12-18 16:33:35 +01:00
Lofty 5c96746309 ice40: fix -noabc9 2023-11-17 12:49:17 +00:00
Lofty 7ae4041e20 ice40, ecp5, gowin: enable ABC9 by default 2023-11-13 15:28:13 +00:00
Lofty b8b47f7c6c Revert "ice40, ecp5: enable ABC9 by default" 2023-11-03 14:52:52 +00:00
Lofty 32082477b5 ice40, ecp5: enable ABC9 by default 2023-11-03 08:52:54 +00:00
Charlotte d130f7fca2 tests: use /usr/bin/env for bash. 2023-08-12 11:59:39 +10:00
Stefan Riesenberger baa3659ea5 ice40: Fix path delay definitions
Parallel connections do not allow matching different bit widths.
A full connection has to be used instead.
Allows iverilog to parse the simulation library with hardware path delays enabled.
2023-03-10 10:48:05 +01:00
KrystalDelusion 9465b2af95 Fitting help messages to 80 character width
Uses the regex below to search (using vscode):
	^\t\tlog\("(.{10,}(?<!\\n)|.{81,}\\n)"\);

Finds any log messages double indented (which help messages are)
and checks if *either* there are is no newline character at the end,
*or* the number of characters before the newline is more than 80.
2022-08-24 10:40:57 +12:00
Sean Anderson 8c05f14b58 Order ports with default assignments first
Although the current style is allowed by the standard, Icarus verilog
doesn't parse default assignments using an implicit net type:

	techlibs/ice40/cells_sim.v:305: syntax error
	techlibs/ice40/cells_sim.v:1: Errors in port declarations.

Fix this by making sure that ports with default assignments first on
their line.

Fixes: 46d3f03d2 ("Add default assignments to other SB_* simulation models")
Signed-off-by: Sean Anderson <[email protected]>
2022-08-09 23:42:24 -04:00