Commit Graph

5538 Commits

Author SHA1 Message Date
alanminko 64ed5b81a4
Merge pull request #323 from rocallahan/workflow-name
Rename Github Actions job to `build-posix-cmake`
2024-08-24 09:22:08 -07:00
alanminko 034492b0e2
Merge pull request #322 from rocallahan/unit-tests
Adds unit testing framework to ABC
2024-08-24 09:21:50 -07:00
Robert O'Callahan d93a12ebee Rename Github Actions job to `build-posix-cmake`
Clarify that it belongs to the `build-posix-cmake` workflow, not the
`build-posix` workflow.
2024-08-23 04:12:04 +00:00
Ethan Mahintorabi 49a489554b Adds unit testing framework to ABC
Signed-off-by: Ethan Mahintorabi <ethanmoon@google.com>
2024-08-23 04:09:00 +00:00
Alan Mishchenko af77b80194 Regrouping recently added code. 2024-08-18 13:57:35 -07:00
Alan Mishchenko 5e35510e25 New APIs for AIG package. 2024-08-18 13:12:08 -07:00
Alan Mishchenko 03b786af99 Experiments with adder-based circuits. 2024-08-17 16:26:20 -07:00
Alan Mishchenko 732abf5b48 Compiler warnings. 2024-08-16 21:35:10 -07:00
Alan Mishchenko 2055b1b490 Adding an option to dump satisfying assignments into a BLIF file. 2024-08-14 14:41:35 -07:00
Alan Mishchenko c099e62032 Adding a switch to complement the primary outputs of an AIG. 2024-08-14 13:40:52 -07:00
Alan Mishchenko 1a62954eb8 Adding command to read ROM data. 2024-08-14 12:56:10 -07:00
Alan Mishchenko e2b7750d3b Experiments with bit-blasting. 2024-08-14 11:40:41 -07:00
Alan Mishchenko c2391686ea Adding BLIF dumping to "lutexact". 2024-08-13 20:03:18 -07:00
alanminko 324ceeaa08
Merge pull request #320 from YosysHQ/povik/revert-pdr
Revert recent PDR changes
2024-08-12 17:17:24 -07:00
Alan Mishchenko 81fcf8494e Updating "lutexact" to support single-rail LUT cascade. 2024-08-12 16:26:55 -07:00
Martin Povišer de8620d777 Revert "pdr -X to write CEXes immediately"
This reverts commit e62e8ac528.
2024-08-12 22:53:53 +02:00
Martin Povišer 39f6fbb052 Revert "Fix pdr timing output"
This reverts commit c8d64b8682.
2024-08-12 22:53:48 +02:00
Martin Povišer ec8419c84b Revert "Improved anytime pdr"
This reverts commit 5444cf281c.
2024-08-12 22:53:40 +02:00
Alan Mishchenko 807f6ddacf Experiments with detecting multipliers. 2024-08-10 19:24:00 -07:00
Alan Mishchenko e824cca0ca Fixing a serious bug in bit-blasting when multiplier argments have different bit-width. 2024-08-10 19:13:50 -07:00
Alan Mishchenko 71c4e23f97 Adding cut print-out in &funtrace. 2024-08-10 19:12:19 -07:00
Alan Mishchenko 35a1bbbdb4 Ongoing development related to Boolean decomposition. 2024-08-09 18:33:36 -07:00
Alan Mishchenko 4156a88dbb Extending &funtrace to trace functions found in an AIG. 2024-08-09 12:39:43 -07:00
alanminko 71b409b778
Merge pull request #319 from YosysHQ/povik/rm-buffering-asserts
Remove extra asserts in buffering code
2024-08-08 15:00:20 -07:00
alanminko 762a123edc
Merge pull request #318 from YosysHQ/povik/fix-atomic_store-call
Fix types in call to atomic_store_explicit
2024-08-08 15:00:05 -07:00
alanminko dce6e4899b
Merge pull request #317 from YosysHQ/povik/fix-transfer-timing
Handle edge case in Gia_ManTransferTiming
2024-08-08 14:59:49 -07:00
alanminko 0129b4c60a
Merge pull request #316 from YosysHQ/povik/yosyshq-commands
Pull command changes from YosysHQ fork
2024-08-08 14:59:31 -07:00
alanminko e6b36cb5da
Merge pull request #315 from YosysHQ/povik/yosyshq-build
Pull build-related changes from YosysHQ fork
2024-08-08 14:58:42 -07:00
Alan Mishchenko 95f1837960 Ongoing development related to Boolean decomposition. 2024-08-07 10:07:39 -07:00
Martin Povišer 2d267786d7 Include `stdbool.h` for portability of atomic calls 2024-08-07 18:13:45 +02:00
Martin Povišer 2a8ea11ce0 Remove extra asserts in buffering code 2024-08-07 18:04:35 +02:00
Martin Povišer f0b070ef70 Fix types in call to atomic_store_explicit
Deals with the following compilation error:

  src/misc/util/utilPth.c:106:9: error: no matching function for call to 'atomic_store_explicit'
          atomic_store_explicit(&pThData->fWorking, 0, memory_order_release);
          ^~~~~~~~~~~~~~~~~~~~~
  ... /include/c++/v1/atomic:1911:1: note: candidate template ignored: deduced conflicting types for parameter '_Tp' ('bool' vs. 'int')
  atomic_store_explicit(volatile atomic<_Tp>* __o, _Tp __d, memory_order __m) _NOEXCEPT
  ^
2024-08-07 18:00:17 +02:00
Martin Povišer afbeccb79e Handle edge case in Gia_ManTransferTiming 2024-08-07 17:35:20 +02:00
Jannis Harder 5444cf281c Improved anytime pdr
(cherry picked from commit c832967200)
2024-08-07 15:46:44 +02:00
Jannis Harder c8d64b8682 Fix pdr timing output
(cherry picked from commit acbe1b1f03)
2024-08-07 15:46:44 +02:00
Jannis Harder e62e8ac528 pdr -X to write CEXes immediately
(cherry picked from commit f63471bdf5)
2024-08-07 15:46:44 +02:00
Miodrag Milanovic e334586ae4 Additional fix for large liberty files
(cherry picked from commit ab5b16ede2)
2024-08-07 15:46:43 +02:00
David A Roberts 3e65b25942 Apply patch to If_ObjPerformMappingChoice too
(cherry picked from commit accf50468a)
2024-08-07 15:46:43 +02:00
David A Roberts eef8c01340 Fix Assertion using &if: `pCutSet->nCuts > 0'
(cherry picked from commit 316eec6d3f)
2024-08-07 15:46:43 +02:00
Martin Povišer 1383c76464 Pull YosysHQ read_cex/write_cex changes
See

 - YosysHQ/abc#19
 - YosysHQ/abc#16
 - commit 6234e18d
 - YosysHQ/abc#14
 - YosysHQ/abc#12
 - YosysHQ/abc#11

Co-authored-by: Jannis Harder <me@jix.one>
Co-authored-by: Claire Xenia Wolf <claire@clairexen.net>
Co-authored-by: Miodrag Milanovic <mmicko@gmail.com>
2024-08-07 15:46:43 +02:00
Jade Lovelace 68c99247bd Fix archive reproducibility
The git archive export-subst option does not have consistent results
over time, since the abbreviated commit hash can get longer over time.

Instead, let's export the full commit hash.

This was found in an audit of source archive reproducibility in nixpkgs:

```
~ » expected=$(nix-store -r /nix/store/4j9rj4m6akjskp0f7k923qff817k6hv5-source)
actual=$(nix-prefetch-url --print-path --unpack --name source 896e5e7ded.tar.gz | tail -n1)
nix-shell -p diffoscope --run "diffoscope $expected $actual"
this path will be fetched (3.77 MiB download, 34.50 MiB unpacked):
  /nix/store/4j9rj4m6akjskp0f7k923qff817k6hv5-source
copying path '/nix/store/4j9rj4m6akjskp0f7k923qff817k6hv5-source' from 'https://cache.nixos.org'...
warning: you did not specify '--add-root'; the result might be removed by the garbage collector
--- /nix/store/4j9rj4m6akjskp0f7k923qff817k6hv5-source
+++ /nix/store/v7ms5ghibzi8pk71nzlhvsbn7a0rdpy7-source
│   --- /nix/store/4j9rj4m6akjskp0f7k923qff817k6hv5-source/.gitcommit
├── +++ /nix/store/v7ms5ghibzi8pk71nzlhvsbn7a0rdpy7-source/.gitcommit
│ @@ -1 +1 @@
│ -896e5e7de
│ +896e5e7ded
│ ├── stat {}
│ │ @@ -1,7 +1,7 @@
│ │
│ │ -  Size: 10        	Blocks: 1          IO Block: 512    regular file
│ │ +  Size: 11        	Blocks: 1          IO Block: 512    regular file
│ │  Device: 0,24	Access: (0444/-r--r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
│ │
│ │  Modify: 1970-01-01 00:00:01.000000000 +0000
```

(cherry picked from commit 04f50406fd)
2024-08-07 15:40:04 +02:00
Jannis Harder adbcb914b2 Add '-p' option to 'constr' to allow fully removing constraints
Invoking 'constr -r' converts constraints into POs but does not fully
remove them. Now 'constr -pr' can be used to completely remove them,
leaving the set of non-constraint POs unchanged.

(cherry picked from commit 8c923ad492)
2024-08-07 14:51:38 +02:00
Martin Povišer 57c3bd36f2 Patch to support WASI builds
Co-authored-by: whitequark <whitequark@whitequark.org>
2024-08-07 14:49:13 +02:00
Jannis Harder 6d52a1e449 fold: Option (-s) to make sequential cleanup optional
(cherry picked from commit 1bd088d027)
2024-08-07 14:47:00 +02:00
Mohamed A. Bamakhrama 15ec302095 Define S_IREAD|IWRITE macros using IRUSR|IWUSR
On platforms such as Android, legacy macros are no longer defined.
Hence, we define them in terms of the new POSIX macros if the new ones are defined. Otherwise, we throw an error.

Signed-off-by: Mohamed A. Bamakhrama <mohamed@alumni.tum.de>
Signed-off-by: Miodrag Milanovic <mmicko@gmail.com>
(cherry picked from commit e792072f8a)
2024-08-07 14:40:26 +02:00
Miodrag Milanovic 23435fc8bf Export version
(cherry picked from commit 4e89fc7ccb)
2024-08-07 14:34:42 +02:00
Sean Cross 10b9da7acb Makefile: break apart steps in `make clean`
The `make clean` target consists of a single `rm` call that passes every
generated file, object file, and dependency directory.  This results in
a command line that's around 53,800 characters long.

On Linux, the maximum length of a command line is 131,072 or 262,144
characters, however on Windows the limit is 32,768.

The 53,800 character command simply fails to run on Windows, which is a
problem when the first command that gets run is `make clean`.

Break this target into steps, first removing the output files, then the
object files, then any generated garbage, and then the object depedency
directories.

This fixes `make clean` (and as a result yosys) on Windows.

Signed-off-by: Sean Cross <sean@xobs.io>
(cherry picked from commit 11c4f998b2)
2024-08-07 14:34:16 +02:00
Roland Coeurjoly a692c0da48 Support out of tree builds
(cherry picked from commit 2c52e3f969)
2024-08-07 14:32:25 +02:00
Jason Thorpe f5f317d7d2 Skip -ldl on NetBSD; it does not exist. Skip -lrt on NetBSD; it is
not required.  Same treatment as FreeBSD.

(cherry picked from commit ecce27ce1d)
2024-08-07 14:31:59 +02:00
Josuah Demangeon fe0bb59baa do not include -lrt or -ldl on platform that do not support them
Some platforms were already listed, this includes OpenBSD to the list
and makes it easier to add more.

(cherry picked from commit b6c0b36c8a)
2024-08-07 14:31:48 +02:00