Commit Graph

6180 Commits

Author SHA1 Message Date
Miodrag Milanovic 9794114a68 Change to ABC_NO_HISTORY so it is possible to change externally 2026-06-25 14:15:03 +02:00
Miodrag Milanovic b89ccd36bc Fix for case where ABC_USE_PTHREADS is not used 2026-06-25 13:24:00 +02:00
Miodrag Milanovic 0e32819325 Fix WASI and make prototype valid 2026-06-25 13:15:56 +02:00
Petter Reinholdtsen 5100825c51 Only use __int128 on architectures where it is present.
With GCC and Clang, look for the __SIZEOF_INT128__ define only defined
when __int128 is present before trying to use it.

This fixes build problem on all 32 bit Linux architectures.
2026-06-25 13:15:01 +02:00
alanminko 3ce53c361f
Merge pull request #519 from heshpdx/master
Fix strict aliasing violations
2026-06-25 02:53:37 +07:00
Mahesh Madhav 2eb8f38cd1 Fix build errors and spacing 2026-06-24 14:35:55 -04:00
Alan Mishchenko 7d253d7cb2 Do not support extension "e" (equiv classes of nodes). 2026-06-22 19:35:32 -07:00
alanminko 68bf7cba8e
Merge pull request #521 from fxreichl/master
Fix issue with constant replacements
2026-06-18 20:42:01 +07:00
Franz Reichl 70a92ee63f Fix issue with constant replacements 2026-06-18 14:45:45 +02:00
alanminko 29c59ab009
Merge pull request #508 from mshockwave/patch/fix-vec-int-nSize-reload
misc: Prevent Vec_IntRemove from loading nSize in every iteration
2026-06-16 22:44:11 +07:00
Mahesh Madhav cfd526afd0 Fix strict aliasing violations
The cast to char** is a violation of strict aliasing rules.
Compilers may generate incorrect code due to this issue.
Using memcpy to avoid the issue. Not expecting perf difference.
2026-06-16 15:33:12 +00:00
alanminko 4c08da846a
Merge pull request #511 from wjrforcyber/rd_inv
Feat(rd_inv): Simple inv redis framework.
2026-06-16 22:12:38 +07:00
alanminko d79133b567
Merge pull request #516 from flyingfoxyy/fix-satlut-k5-boundary
giaSatLut: fix &satlut expanding LUT size from K=5 to K=6
2026-06-16 22:11:36 +07:00
alanminko f1d6c364cf
Merge pull request #517 from YosysHQ/cmake_windows
Windows cleanup
2026-06-16 21:57:13 +07:00
Alan Mishchenko 334ae5d1b7 Update .gitingore 2026-06-16 07:53:07 -07:00
Alan Mishchenko 61e74a1033 Update high-effort synthesis. 2026-06-16 07:52:19 -07:00
Alan Mishchenko 2d835aabf0 Adding command "power" to eval static/dynamic power 2026-06-16 07:46:55 -07:00
Alan Mishchenko e00a2fe834 Adding support power info exraction from Liberty 2026-06-16 05:05:05 -07:00
Alan Mishchenko a4b7912895 Adding API to compute switching activity 2026-06-16 04:52:40 -07:00
alanminko 8783dcfd73
Merge pull request #513 from maliberty/update-zlib
Update zlib 1.2.5 to 1.3.2
2026-06-16 00:21:47 +07:00
alanminko f1ec6d32d8
Merge pull request #512 from maliberty/update-bzip2
Update bzip2 from version 1.0.5 to 1.0.8
2026-06-16 00:21:20 +07:00
Matt Liberty cd9d9fcc13 Fix namespace build of zlib gzguts.h on macOS
Move ABC_NAMESPACE_HEADER_START (and the abc_global.h include) before the
non-LFS prototype block so the bare gzFile references in gzopen64/gzseek64/
gztell64/gzoffset64 resolve to the namespaced type. Without this, building
with ABC_USE_NAMESPACE=xxx fails on platforms that compile this block (e.g.
macOS, which does not define _LARGEFILE64_SOURCE):

  gzguts.h: error: unknown type name 'gzFile'; did you mean 'xxx::gzFile'?

Restores the header ordering used in the previous zlib 1.2.5 sources.

Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
2026-06-15 17:12:13 +00:00
Miodrag Milanovic 1e130338f0 Make sure we detect these errors in future 2026-06-09 08:20:13 +02:00
Miodrag Milanovic d3d218eee2 Cleanup 2026-06-08 16:11:48 +02:00
Miodrag Milanovic b73fcb78ed Add missing includes for windows 2026-06-08 16:11:31 +02:00
Alan Mishchenko 304481b68a Simplify internal AIG reading when %yosys is used. 2026-06-08 18:05:22 +07:00
Alan Mishchenko 59896d6ec8 Another bug fix in delay propagation. 2026-06-08 17:45:17 +07:00
Alan Mishchenko 9749046cd6 Bug fix in required time propagation. 2026-06-08 17:05:54 +07:00
longfei 8149daf921 giaSatLut: fix &satlut expanding LUT size from K=5 to K=6
Sbl_CutIsFeasible only checked LutSize <= 4 before the final
return Count <= 6, allowing 6-input cuts when LutSize=5.
Add the missing LutSize <= 5 check after the 5th bit-strip.
2026-06-06 20:31:57 +08:00
Alan Mishchenko b7ee7a5f70 Fix a windows compile problem. 2026-06-05 16:15:34 +07:00
alanminko cd33ba563f
Merge pull request #514 from maliberty/fix-non-readline-prompt-pipe
mainUtils: match readline behavior when ABC_USE_READLINE is undefined
2026-06-05 16:14:23 +07:00
Matt Liberty 66f5d7c7a2 mainUtils: match readline behavior when ABC_USE_READLINE is undefined
The non-readline branch of Abc_UtilsGetUsersInput has three behavioral
gaps versus the readline branch that break callers driving abc as a
coprocess over a pipe (e.g. yosys's passes/techmap/abc.cc, which spawns
"abc -s" with piped stdin/stdout and uses read_until_abc_done to wait
for "abc NN> <command>" lines):

  1. The prompt is written with fprintf() and never flushed. On a pipe
     stdout is fully buffered, so the prompt never reaches the reader.
     The reader waits for the prompt, abc waits in fgets(), deadlock.

  2. There is no echo of the line read from stdin. readline() emits
     each character to its output stream; yosys's protocol depends on
     seeing "abc NN> source ...\n" in the output to advance state.
     Without an echo it waits forever.

  3. EOF on stdin is silently ignored: fgets() returns NULL but the
     function returns a stale Prompt buffer, causing a tight loop on
     pipe close. The readline branch exit(0)s on NULL.

Fix all three. Echo only when stdin is not a tty -- on a tty the kernel
already echoes typed characters during cooked input, so double-echo
would be visible to interactive users.

Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
2026-06-05 06:05:32 +00:00
Alan Mishchenko 21b2d8959a Add output name permutation in &cec. 2026-06-04 21:05:04 +07:00
Matt Liberty 749bc49826 Update zlib 1.2.5 to 1.3.2
Fixes many CVEs.

Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
2026-06-03 06:40:02 +00:00
Matt Liberty 0497d4708a Update bzip2 from version 1.0.5 to 1.0.8
Get the fixes for CVE-2010-0405 & CVE-2019-12900.  I have tried to
preserve the local modifications on top of the base library.

Signed-off-by: Matt Liberty <mliberty@precisioninno.com>
2026-06-02 21:29:57 +00:00
JingrenWang 7b0a6cbb58
Feat(rd_inv): Simple inv redis framework.
Signed-off-by: JingrenWang <wjrforcyber@163.com>
2026-06-01 16:23:38 +08:00
alanminko a917c1af9f
Merge pull request #509 from fxreichl/master
Add option for lut optimisation
2026-05-21 23:44:41 -07:00
Alan Mishchenko cd6e9b582b Modify default intermediate AIGER file name. 2026-05-21 23:41:12 -07:00
Franz Reichl 70c42b7292 Add option for lut optimisation 2026-05-21 11:58:13 +02:00
Min Hsu 9e02a87c1d misc: Prevent Vec_IntRemove from loading nSize in every iteration
This seemly benign loop
```
for ( i++; i < p->nSize; i++ )
  p->pArray[i-1] = p->pArray[i];
```

will actually load `p->nSize` in every loop iteration (rather than
memorizing the value) due to some unfortunate pointer aliasing properties
in C/C++. As Vec_IntRemove is quite ubiquitous, this extra memory load
actually causes visible performance impact and prevents further
optimizations on the loop.

This patch fixes this by factoring `p->nSize` out of the loop.
2026-05-19 14:17:09 -07:00
Alan Mishchenko f4d870e109 Updating interface of "twoexaxct". 2026-05-18 07:31:39 -07:00
Alan Mishchenko ffb0ff63fc Updating interface of %yosys to take multiple Verilog files. 2026-05-18 07:23:18 -07:00
Alan Mishchenko 07e38ef030 Imrpovements in "twoexact". 2026-05-17 18:51:49 -07:00
Alan Mishchenko 7bf1177d39 Add MM-based adder generation to &genadder. 2026-05-15 17:57:45 -07:00
Alan Mishchenko 26567123a7 Fix warnings. 2026-05-15 17:47:46 -07:00
alanminko 2827348459
Merge pull request #507 from Meneya/bmc3c
Added option -c to call CaDiCaL solver inside bmc3 engine (bmc3 -c)
2026-05-15 07:54:43 -07:00
Alan Mishchenko c61f1a04e9 Bug fix in handling ufar calls. 2026-05-11 19:27:06 -07:00
alanminko 9d410e8163
Merge pull request #506 from zxxr1113/incremental_scorr_clean
New feature: Add incremental refinement to &scorr command
2026-05-11 14:36:23 -07:00
xiran 97b15a29a0 Fix: fix the build bug in abclib.dsp by registering cecCorrIncr.c 2026-05-11 14:02:23 -07:00
Alan Mishchenko 8c9e66205e Bug fix in &sprove. 2026-05-11 13:49:26 -07:00