Commit Graph

457 Commits

Author SHA1 Message Date
whitequark d20e971725 write_cxxrtl: new backend.
This commit adds a basic implementation that isn't very performant
but implements most of the planned features.
2020-04-09 04:08:36 +00:00
Xiretza 5f649fc19d Add constids.inc to final install
If this is not present in the install, #include-ing most yosys
headers will fail in rtlil.h:380.
2020-04-08 21:36:33 +02:00
Claire Wolf 40223eaee1
Merge pull request #1814 from YosysHQ/mmicko/pyosys_makefile
Enable ENABLE_LIBYOSYS when ENABLE_PYOSYS is set (closes #1813)
2020-04-07 17:06:47 +02:00
Claire Wolf 3477749459 Bump YOSYS_VER
Signed-off-by: Claire Wolf <claire@symbioticeda.com>
2020-04-02 15:40:00 +02:00
Miodrag Milanovic aad92abce9 Enable ENABLE_LIBYOSYS when ENABLE_PYOSYS is set 2020-03-25 10:02:56 +01:00
Alberto Gonzalez 1b333d49ef
Add tests for `select` command warnings. 2020-03-23 17:30:53 +00:00
Xiretza 9dedac50e2
Improve ABC repository management in Makefile
`rev-parse --short` output may have a different abbreviated hash length than
ABCREV, so a simple string comparison always fails, even if the correct
commit is checked out. Pass both commits through rev-parse and then
compare the full hashes instead.

Add an `echo-abc-rev` target so that packaging scripts can set ABCPULL=0 and
handle all the git nastiness themselves.
2020-03-12 19:26:21 +01:00
Miodrag Milanovic a0cc795e85 Added filter-out for libyosys.so 2020-03-12 18:28:20 +01:00
Miodrag Milanovic f37f558f72 Revert "Clean up 'install' Makefile target"
This reverts commit 2a746234fe.
2020-03-12 18:26:19 +01:00
Miodrag Milanovic 178a8e3bff Revert "Improve ABC repository management in Makefile"
This reverts commit 90404e1969.
2020-03-12 18:26:07 +01:00
Miodrag Milanović af84e5acf1
Merge pull request #1666 from Xiretza/improve-makefile
Makefile improvements for packaging scripts
2020-03-12 16:14:48 +02:00
Miodrag Milanovic 82ad422b4e Add mandatory wasm file to zip file as well 2020-03-12 11:17:15 +01:00
jiegec 26137d8bb7 Add EXTRA_EXPORTED_RUNTIME_METHODS env for yosysjs 2020-03-11 23:01:04 +08:00
jiegec 7b679eecb3 Fix compilation for emcc 2020-03-11 22:09:24 +08:00
Eddie Hung 7a89ed1fa2 Bump ABCREV to receive fix for #1675 2020-03-06 10:32:48 -08:00
Rodrigo Alejandro Melo eaaba6e091 Added tests/memfile to 'make test' with an extra testcase
Signed-off-by: Rodrigo Alejandro Melo <rodrigomelo9@gmail.com>
2020-02-01 22:44:06 -03:00
Xiretza 90404e1969
Improve ABC repository management in Makefile
`rev-parse --short` output may have a different abbreviated hash length than
ABCREV, so a simple string comparison always fails, even if the correct
commit is checked out. Pass both commits through rev-parse and then
compare the full hashes instead.

Add an `echo-abc-rev` target so that packaging scripts can set ABCPULL=0 and
handle all the git nastiness themselves.
2020-01-29 19:10:54 +01:00
Xiretza 2a746234fe
Clean up 'install' Makefile target
- libyosys.so is now only installed to LIBDIR instead of LIBDIR, BINDIR
  and PYTHON_DESTDIR
- replace mkdir/cp for single files with `install`
2020-01-29 19:10:54 +01:00
Eddie Hung 93e680b7d3 Merge remote-tracking branch 'origin/master' into eddie/abc9_mfs 2020-01-11 07:59:56 -08:00
Eddie Hung 9005bb97ff Bump ABCREV for upstream fix 2020-01-11 07:59:18 -08:00
Clifford Wolf ccc83d99ba Bump version
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2020-01-09 21:37:28 +01:00
Eddie Hung 66b0f3c406 Bump ABCREV for upstream fix 2020-01-07 15:40:37 -08:00
Eddie Hung 7738d608e3 Bump ABCREV for upstream fix 2020-01-06 11:14:05 -08:00
Graham Edgecombe 319cba70d3 Fix linking with Python 3.8
The behaviour of python-config --libs has changed in Python 3.8.

For example, compare the output of it with Python 3.7 and 3.8 on an
ArchLinux system:

    $ python3.7-config --libs
    -lpython3.7m -lcrypt -lpthread -ldl  -lutil -lm
    $ python3.8-config --libs
    -lcrypt -lpthread -ldl  -lutil -lm -lm
    $

The lack of -lpython in the latter case causes the linker to fail when
attempting to build Yosys against Python 3.8.

Passing the new --embed flag to python-config adds -lpython, just like
earlier versions of Python:

    $ python3.8-config --embed --libs
    -lpython3.8 -lcrypt -lpthread -ldl  -lutil -lm -lm
    $

This commit adds code for automatically detecting support for the
--embed flag. If it is supported, it is passed to all python-config
invocations. This fixes building against Python 3.8.
2019-12-20 10:23:18 +01:00
Graham Edgecombe 2a8cfdebbb Add PYTHON_CONFIG variable to the Makefile 2019-12-20 10:23:18 +01:00
Pepijn de Vos 4ec4d5ec7e actually run the gowin tests 2019-10-28 14:28:03 +01:00
Sean Cross 82f60ba938 Makefile: don't assume python is called `python3`
On some architectures, notably on Windows, the official name for the
Python binary from python.org is `python`.  The build system assumes
that python is called `python3`, which breaks under this architecture.

There is already infrastructure in place to determine the name of the
Python binary when building PYOSYS.  Since Python is now always required
to build Yosys, enable this check universally which sets the
`PYTHON_EXECUTABLE` variable.

Then, reuse this variable in other Makefiles as necessary, rather than
hardcoding `python3` everywhere.

Signed-off-by: Sean Cross <sean@xobs.io>
2019-10-19 14:04:52 +08:00
Miodrag Milanovic c2ec7ca703 Moved all tests in arch sub directory 2019-10-18 11:06:12 +02:00
Miodrag Milanović b4d7650548
Merge branch 'master' into mmicko/efinix 2019-10-18 10:54:28 +02:00
Miodrag Milanović 66fca65b58
Merge branch 'master' into mmicko/anlogic 2019-10-18 10:53:56 +02:00
Miodrag Milanović 0b0b0cc0d9
Merge branch 'master' into eddie/pr1352 2019-10-18 10:52:50 +02:00
SergeyDegtyar 6331fa5b02 Remove xilinx_ug901 tests (will be moved to yosys-tests) 2019-10-17 17:10:02 +02:00
SergeyDegtyar 757c476f62 Add smoke tests to tests/xilinx 2019-10-17 17:10:02 +02:00
SergeyDegtyar 2ae7dec530 Add tests for Xilinx UG901 examples 2019-10-17 17:08:38 +02:00
Clifford Wolf e84cedfae4 Use "(id)" instead of "id" for types as temporary hack
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2019-10-14 05:24:31 +02:00
Miodrag Milanovic ef417fb1b3 Merge branch 'SergeyDegtyar/efinix' of https://github.com/SergeyDegtyar/yosys into mmicko/efinix 2019-10-04 12:20:49 +02:00
Miodrag Milanovic b932654964 Merge branch 'SergeyDegtyar/anlogic' of https://github.com/SergeyDegtyar/yosys into mmicko/anlogic 2019-10-04 10:52:16 +02:00
Clifford Wolf 17cb916cc8 Update ABC to git rev 623b5e8
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2019-10-03 14:05:21 +02:00
Clifford Wolf be8efd7c7b Bump version
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2019-10-03 12:26:08 +02:00
David Shah abc155715d sv: Add test scripts for typedefs
Signed-off-by: David Shah <dave@ds0.me>
2019-10-03 09:54:14 +01:00
Sergey e092c4ae6b
Merge branch 'master' into SergeyDegtyar/efinix 2019-10-01 11:04:32 +03:00
Sergey d99b1e3261
Merge branch 'master' into SergeyDegtyar/anlogic 2019-10-01 10:57:09 +03:00
Eddie Hung 0bbd1b6364 Merge branch 'SergeyDegtyar/ecp5' of https://github.com/SergeyDegtyar/yosys into eddie/pr1352 2019-09-30 14:57:55 -07:00
whitequark 5c5881695d
Merge pull request #1406 from whitequark/connect_rpc
rpc: new frontend
2019-09-30 17:38:20 +00:00
whitequark 99a7f39084 rpc: new frontend.
A new pass, connect_rpc, allows any HDL frontend that can read/write
JSON from/to stdin/stdout or an unix socket or a named pipe to
participate in elaboration as a first class citizen, such that any
other HDL supported by Yosys directly or indirectly can transparently
instantiate modules handled by this frontend.

Recognizing that many HDL frontends emit Verilog, it allows the RPC
frontend to direct Yosys to process the result of instantiation via
any built-in Yosys frontend. The resulting RTLIL is then hygienically
integrated into the overall design.
2019-09-30 15:53:11 +00:00
whitequark 8f2bdff7b9 libs: import json11.
This commit imports the code from upstream commit
dropbox/json11@8ccf1f0c5e.
2019-09-30 15:53:11 +00:00
Clifford Wolf 7ed13297b1 Bump version
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2019-09-30 17:08:38 +02:00
SergeyDegtyar 1070f2e90b Add new tests for Efinix architecture.
Problems/questions:
	- fsm.ys. equiv_opt -assert failed because of unproven cells;
	- latches.ys,tribuf.ys - internal cells present;
	- memory.ys - sat called with -verify and proof did fail.
2019-09-23 15:51:41 +03:00
SergeyDegtyar 27377c4663 Add new tests for Anlogic architecture
Problems/questions:
	- memory.ys: ERROR: Failed to import cell gate.mem.0.0.0 (type
EG_LOGIC_DRAM16X4) to SAT database.
		Why EG_LOGIC_DRAM16X4, not AL_LOGIC_BRAM?
	- Internal cell type $_TBUF_  is present.
2019-09-23 12:12:02 +03:00
Clifford Wolf 36df37a734 Bump version
Signed-off-by: Clifford Wolf <clifford@clifford.at>
2019-09-16 13:05:41 +02:00