Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1113 commits
Select commit Hold shift + click to select a range
118ecbc
xilinx: Remove unnecessary assert
gatecat Sep 26, 2024
7516b89
xilinx: Few more stub timings
gatecat Sep 26, 2024
e4dfd4e
xilinx: Support single-port LUTRAM variants
gatecat Sep 26, 2024
38e5fac
xilinx: Fix workaround for unsupported xdc construct
gatecat Sep 27, 2024
d3c0f94
xilinx: Fix BRAM placement, clangformat
gatecat Sep 27, 2024
24fc33c
xilinx: Basic I/ODDR support
gatecat Sep 27, 2024
1967db1
xilinx: Support for complex IOLOGIC
gatecat Sep 27, 2024
fcdaf3f
Remove fpga_interchange
gatecat Sep 30, 2024
9b51c6e
clangformat
gatecat Sep 30, 2024
cc04882
BaseCtx : Fix crash in getNetByAlias()
marzoul Oct 1, 2024
ff9ba9e
Himbaechel Xilinx : More warning messages about unsupported things in…
marzoul Oct 1, 2024
a9cc7f4
Himbaechel Xilinx : Support multiple nets per command
marzoul Oct 1, 2024
3d00b97
Himbaechel Xilinx : Support get_nets with braces around net name in X…
marzoul Oct 1, 2024
7f33329
Himbaechel Xilinx : XDC commands : Also search nets with lowercase fo…
marzoul Oct 1, 2024
b3b2392
clang-format on basectx.h
marzoul Oct 1, 2024
268b32c
router2: additional heatmap data
Ravenslofty May 22, 2024
65cf6d8
Gowin. Fix the port check for connectivity. (#1376)
yrabbit Oct 2, 2024
75d2ce6
heap: Fix ripup criterea (#1378)
gatecat Oct 2, 2024
854549a
ice40: Fix missing clock pin types (#1380)
gatecat Oct 4, 2024
0e5b134
timing_log: Handle potentially missing net when reporting crit path (…
rowanG077 Oct 4, 2024
d27993f
Placer: Fix static legalise radius (#1382)
meiniKi Oct 8, 2024
028be14
apicula: add support for magic sip pins (#1370)
pepijndevos Oct 9, 2024
7c45980
himbaechel: Bump DB version for package extra_data addition
gatecat Oct 9, 2024
cf42baa
Fix RNG seed initialization (#1383)
meiniKi Oct 9, 2024
f36a657
cmake: Use upstream BoostConfig.cmake instead of cmake's own (#1387)
gatecat Oct 22, 2024
9c2d96f
Gowin. FFs placement. (#1386)
yrabbit Oct 22, 2024
5503546
Himbaechel GUI (#1295)
mmicko Nov 21, 2024
0e69425
Add expandBoundingBox method to API (#1395)
mmicko Nov 26, 2024
2b8a235
Gowin. Add Input Edge Monitor (#1396)
yrabbit Nov 27, 2024
5eaa1b3
Gowin. Add IODELAY. (#1398)
yrabbit Nov 30, 2024
5a80711
Adding NanoXplore NG-Ultra support (#1397)
mmicko Dec 4, 2024
d810aac
Add GroupId related calls to Himbaechel API (#1399)
mmicko Dec 5, 2024
f01465f
Add attributes to the hierarchical cells (#1405)
tarikgraba Dec 17, 2024
3d350c2
Gowin. BUGFIX. Global clock routing. (#1410)
yrabbit Dec 31, 2024
0345b6e
Fix gowin ALU SUB mode ports (#1407)
aerkiaga Jan 1, 2025
c565e36
Gowin. Add the ability to place registers in IOB (#1403)
yrabbit Jan 1, 2025
55bd760
ice40: Don't constrain multiple potentially-incompatible FFs to same …
gatecat Jan 2, 2025
5fe6803
Various fixes for clang/libc++ build (#1415)
whitequark Jan 12, 2025
92694d7
Gowin. BUGFIX. Do not create missing wires. (#1418)
yrabbit Jan 12, 2025
ab7a372
himbaechel: allow subsetting uarches. (#1416)
whitequark Jan 12, 2025
574f504
Find all components of Python at the same time.
whitequark Jan 11, 2025
c48157a
googletest: fix -Werror=maybe-uninitialized failure.
whitequark Jan 15, 2025
d214308
CMake: reformat for consistency.
whitequark Jan 15, 2025
155adc3
CMake: rationalize and refactor build system.
whitequark Jan 15, 2025
284fb3e
Updating CI to work with ubuntu-latest (#1426)
mmicko Jan 20, 2025
43b2f38
CMake: use imported target for pybind11.
whitequark Jan 21, 2025
a951faa
CMake: extract bbasm compilation into a function.
whitequark Jan 15, 2025
f5776a6
CMake: eliminate `family.cmake`/`CMakeLists.txt` split.
whitequark Jan 15, 2025
dcfb7d8
CMake: align Himbaechel targets with non-Himbaechel ones.
whitequark Jan 15, 2025
bb2336a
Fix `#embed` support in bbasm and use it when available.
whitequark Jan 16, 2025
cd7f7c1
CMake: refactor architecture-specific build system parts.
whitequark Jan 16, 2025
dbba132
Allow splitting nextpnr-himbaechel per microarchitecture.
whitequark Jan 16, 2025
17943a5
CMake: remove `-DSERIALIZE_CHIPDBS=` option.
whitequark Jan 21, 2025
6855b55
CMake: use imported target for pybind11 (in the GUI).
whitequark Jan 22, 2025
fac934b
3rdparty: upgrade pybind11 to v2.12.1.
whitequark Jan 21, 2025
90d746f
CMake: add support for exporting and importing .bba files.
whitequark Jan 22, 2025
1623243
CMake: disallow in-tree builds.
whitequark Jan 22, 2025
e120932
CMake: Add include guards when IMPORT_BBA_FILES is used (#1438)
mmicko Jan 23, 2025
d673d04
CMake: fix windows BBA resource embedding
mmicko Jan 23, 2025
0c06051
Fix undefined type error in 3rdparty/json11/json11.cpp
gsomlo Jan 23, 2025
ede78f3
ecp5: Fix constant and inverted CEMUX
gatecat Jan 27, 2025
8c96809
Update README to represent most recent changes in build system
mmicko Jan 26, 2025
922c3a1
Update README to mention checking out submodules.
whitequark Jan 28, 2025
cf9c745
CMake: exclude *-bba and *-chipdb targets from `make all`.
whitequark Jan 29, 2025
b95a3ca
Gowin. Implement MIPI IO.
yrabbit Jan 23, 2025
a76c5b5
Gowin. Typo fix.
yrabbit Jan 28, 2025
81ccada
Gowin. Add I3C io buffer. (#1445)
yrabbit Jan 29, 2025
b64bf01
frontend: don't connect a const net to ports connected to `x`. (#1447)
whitequark Jan 31, 2025
7718761
kernel: look up ports when applying clock constraints. (#1448)
whitequark Jan 31, 2025
e4115e8
Prevent chipdb array type narrowing conversion issues
gsomlo Jan 31, 2025
6caa6e4
CMake: add_custom_target does not require EXCLUDE_FROM_ALL
mmicko Feb 11, 2025
1ed03ae
gowin: Add deprecation message for nextpnr-gowin (#1455)
mmicko Feb 13, 2025
f3a5024
Gowin: Remove nextpnr-gowin (#1318)
yrabbit Feb 14, 2025
e751eac
generic: Fix archcheck crash
gatecat Feb 25, 2025
0c458f1
generic: Enable viaduct example test in CI
gatecat Feb 25, 2025
661f76d
Add arch API function for pip inversion (#1457)
Ravenslofty Feb 27, 2025
0492c55
ci: test that BUILD_RUST=ON builds (#1459)
Ravenslofty Mar 3, 2025
d8988e1
Gowin. Add HCLK wires to PLL. (#1462)
yrabbit Mar 12, 2025
864c1e4
Gowin. Add a router for segments. (#1456)
yrabbit Mar 18, 2025
c84879e
Gowin. Implement the DLLDLY primitive. (#1464)
yrabbit Mar 19, 2025
06992bd
rust: add getBels() binding (#1460)
Ravenslofty Mar 19, 2025
0c01cb9
Gowin. Fix non-DCS networks. (#1467)
yrabbit Mar 20, 2025
a5cff55
Gowin. BUGFIX Use a separate net for segment gates (#1470)
yrabbit Mar 31, 2025
7a3a43e
placer1: add sanity check for try_swap_chain (#1472)
mmicko Apr 13, 2025
d6483ad
Gatemate FPGA initial support (#1473)
mmicko Apr 22, 2025
c84f209
gatemate: make build work as for other uarch
mmicko Apr 22, 2025
bc25b04
gatemate: implemented remaining PLL features (#1474)
mmicko Apr 24, 2025
9002490
gatemate: fix ccf default values and handling
mmicko Apr 24, 2025
18c7b40
Only add subdirectory tests, if BUILD_TESTS=ON
realchonk May 2, 2025
182b77a
ecp5: fix frequency constraint on bypassed PLL outputs (#1475)
danderson May 6, 2025
764b540
gatemate: Initial SERDES support (#1476)
mmicko May 6, 2025
b1c1470
Gowin. Fill in delay values in HCLK.
yrabbit May 13, 2025
46fbe7c
GateMate clock router (#1483)
Ravenslofty May 13, 2025
7a82162
bba: use `std::filesystem` instead of `boost::filesystem`.
whitequark May 14, 2025
b127fa9
bba: fix `#embed` on Windows.
cr1901 May 14, 2025
0bbe031
set CXX standard for bba and remove boost lib (#1485)
mmicko May 14, 2025
27594f9
Reserve sinks in GateMate clock router (#1486)
Ravenslofty May 15, 2025
23a9998
gatemate: invert output enable for io buffer
mmicko May 19, 2025
6c3956c
gatemate: BRAM cascade mode support (#1487)
mmicko May 19, 2025
b0c29aa
gatemate: PLL priority for BUFG (#1488)
mmicko May 19, 2025
2b33800
Reserve EN and SR wires in GateMate clock router (#1491)
Ravenslofty May 19, 2025
5206162
Reserve all CPE control signals in clock router (#1492)
Ravenslofty May 19, 2025
77a6df1
gatemate: use BUFG input in case it is routed to PLL
mmicko May 20, 2025
226a2df
clangformat
gatecat May 20, 2025
06d3408
Use clock router even for non-global clocks (#1493)
Ravenslofty May 21, 2025
9cfc7ee
gatemate: improve estimateDelay (#1494)
Ravenslofty May 22, 2025
e7f52d1
gatemate: enable only used banks, including CFG one
mmicko May 24, 2025
12f597d
gatemate: propagate clock constraints on input ports (#1497)
mmicko May 26, 2025
9994fdb
gatemate: make sure to use latest chipdb
mmicko May 27, 2025
bac5a91
gatemate: memory clock signal handling
mmicko May 29, 2025
fd3b4d3
gatemate: fix CLK inversion
mmicko Jun 4, 2025
000faab
Gowin. BUGFIX. Fix routing of the FF inputs. (#1498)
yrabbit Jun 10, 2025
5275c14
gatemate: include DDR route-throughs in clock router (#1499)
Ravenslofty Jun 10, 2025
7318d6a
gatemate: Multi die support and primitives model improvement (#1501)
mmicko Jun 18, 2025
f58dd2d
clangformat
mmicko Jun 18, 2025
311a1a7
gatemate: do not use special serdes pins for auto placement
mmicko Jun 18, 2025
66f051d
Gowin. BUGFIX. Stupid == vs = (#1504)
yrabbit Jun 24, 2025
0c86a21
Add sources to detailed timing report (#1502)
TheZoq2 Jun 25, 2025
a77eb9e
ice40: Fix accidental division by DIVR in 2_PAD mode
gatecat Jun 25, 2025
f74aee7
gowin: Remove logspam during build
gatecat Jun 25, 2025
ff695f2
sdc: Fix EOF handling during string parse
gatecat Jun 25, 2025
23cf1d3
docs: Fix outdated content in generic.md
gatecat Jun 25, 2025
1cd1e4a
xilinx: Fix packing of weird mux trees
gatecat Jun 25, 2025
9ade2d1
himbaechel: Add Python binding for get_tile_wire_range
gatecat Jun 25, 2025
e642e21
himbaechel: output normalised wire in getWireByName (#1506)
Ravenslofty Jun 25, 2025
39f020b
Gowin. Unbreak the segment routing. (#1508)
yrabbit Jun 30, 2025
2763578
heap: Allow customising legalisation ordering (#1507)
gatecat Jul 1, 2025
cb9f311
himbaechel: gatemate: replace VLA with C++ features (#1513)
jmi2k Jul 1, 2025
1d4b0ee
himbaechel: xilinx: misc `CMakeLists.txt` improvements (#1509)
jmi2k Jul 2, 2025
84d8e1a
Use improved CPE model (#1503)
mmicko Jul 7, 2025
0ebd7af
clangformat
mmicko Jul 7, 2025
24785a3
ecp5: Fix placement of ECLKSYNCB driving PLL CLKFB (#1512)
gatecat Jul 8, 2025
840354a
Fixes for I3C pins and RPLL (#1516)
via Jul 10, 2025
4831e50
Gowin. Allow clock network routing from GP pins. (#1518)
yrabbit Jul 13, 2025
2d7d1e2
gatemate: optimizations and cleanups (#1517)
mmicko Jul 17, 2025
356278d
Gowin. Preparing to support the 5A series. (#1520)
yrabbit Jul 23, 2025
2c20ca9
clangformat
mmicko Jul 28, 2025
af6e9aa
gatemate: Proper KEEPER handling
mmicko Jul 28, 2025
f2c736e
Beginnings of the multiplier router
Ravenslofty Jul 13, 2025
8047369
better inversion verification
Ravenslofty Jul 13, 2025
0533a4c
fixed missing pip
Ravenslofty Jul 15, 2025
0829b46
move multiplier router to its own file
Ravenslofty Jul 17, 2025
530a086
current progress
Ravenslofty Jul 20, 2025
90f5f71
current progress
Ravenslofty Jul 21, 2025
56e1452
refactor common routes
Ravenslofty Jul 21, 2025
8637e3b
heavy refactoring
Ravenslofty Jul 21, 2025
4cf3309
current progress
Ravenslofty Jul 21, 2025
d1f80ca
current progress
Ravenslofty Jul 21, 2025
1576703
current progress (route zero driver too)
Ravenslofty Jul 22, 2025
78b614e
current progress
Ravenslofty Jul 24, 2025
80664e5
current progress (fixed routing done?)
Ravenslofty Jul 27, 2025
9837b6f
current progress (broken diagonal router)
Ravenslofty Jul 28, 2025
95b32a2
working diagonal router; unhappy inversion checker
Ravenslofty Jul 28, 2025
ff9fa6f
route comments
Ravenslofty Jul 29, 2025
ac8a12a
bugfix for number of hops
Ravenslofty Jul 29, 2025
d26aa34
bugfix for x2y2 in8 binding a pip twice
Ravenslofty Jul 29, 2025
7e68bea
gatemate: fix SER_CLK wiring from CLKIN to PLL (#1523)
mmicko Jul 29, 2025
7d8b7da
Add missing connection
mmicko Jul 29, 2025
341e288
fix swapped B inputs
Ravenslofty Jul 31, 2025
d53f774
re-disable multiplier packing
Ravenslofty Jul 31, 2025
da5d42d
Add missing connection
mmicko Aug 1, 2025
49001df
Fix when width is 1
mmicko Aug 1, 2025
d26fc19
clangformat
Ravenslofty Aug 1, 2025
1748f38
Add MULT_INVERT property
mmicko Aug 1, 2025
6a3c4a2
Enable pack_mult
mmicko Aug 1, 2025
0810a9a
More multiplier fixes
mmicko Aug 2, 2025
fe7546f
Multiplier routing needs priority over clocks
Ravenslofty Aug 2, 2025
60f3c25
refactor inversion checker
Ravenslofty Aug 2, 2025
88f52bc
Fix multipliers on hardware
mmicko Aug 4, 2025
eb77362
Added logs under debug, and removed include for idstring.h
mmicko Aug 4, 2025
89e7e05
cleanup
mmicko Aug 4, 2025
f0e03ed
cleanup
mmicko Aug 4, 2025
6b11a82
cleanup
mmicko Aug 4, 2025
8938c73
Merge pull request #1524 from YosysHQ/lofty/gatemate-mult-router
Ravenslofty Aug 5, 2025
8ce9918
Gowin. Remove search for old Apicula.
yrabbit Aug 5, 2025
0be6173
Gowin. Add pin configurations bel/cell.
yrabbit Aug 7, 2025
0ad43e6
gatemate: remove placement density restriction (#1527)
Ravenslofty Aug 8, 2025
2d393c2
gatemate: don't place cells all at once (#1528)
Ravenslofty Aug 8, 2025
5355222
Revert "gatemate: don't place cells all at once (#1528)"
Ravenslofty Aug 8, 2025
b062628
Change Hash Embed check to check for erroneous signed #embed
Willmac16 Aug 9, 2025
95ab16f
gatemate: add IOSEL as separate primitive (#1533)
mmicko Aug 14, 2025
2d0ad9f
Gowin. Use two additional DFFs.
yrabbit Aug 14, 2025
1780219
Gowin. Change the way DFF 6&7 presence is checked.
yrabbit Aug 14, 2025
322ad92
Gowin. Enable GW5A series. (#1534)
yrabbit Aug 15, 2025
82f8ff7
himbaechel: Extend API to enable cell delay override (#1535)
mmicko Aug 20, 2025
e598b2f
gatemate: special case RAMIO when needed (#1536)
mmicko Aug 21, 2025
6a598b9
gatemate: add iopath delays (#1537)
mmicko Aug 22, 2025
d796cc7
clangformat
mmicko Aug 22, 2025
84234e7
gatemate: delay, assign proper RAM clock
mmicko Aug 25, 2025
ca4f727
gatemate: fix CI/CO RAM connections
mmicko Aug 25, 2025
0a7cbe1
router2: iteratively reserve arc driver wires, too (#1539)
Ravenslofty Aug 26, 2025
d966fc5
Gowin. Implement ALU for the GW5A series. (#1541)
yrabbit Aug 26, 2025
52254dc
Gowin. Add ROM16 primitive. (#1542)
yrabbit Aug 27, 2025
2b203d2
gatemate: add missing RAM port mapping
mmicko Aug 27, 2025
8ab9301
clangformat
mmicko Aug 27, 2025
e1ba780
gatemate: clean data bitmask
mmicko Aug 27, 2025
bc086c0
Gowin. Optimize ALU wiring (#1543)
yrabbit Aug 29, 2025
75aa8d1
Gowin. Implement on-chip oscillator.
yrabbit Aug 31, 2025
7d2caf6
Gowin. Fix style.
yrabbit Sep 1, 2025
a18bd2e
Gowin. BUGFIX. Add data about gate wires. (#1547)
yrabbit Sep 2, 2025
0399b88
gatemate: Enable placing RAM halfs (#1544)
mmicko Sep 2, 2025
4e4f4ab
gatemate: update bounding box (#1548)
mmicko Sep 2, 2025
3eb682b
gatemate: use CPE bridge (#1538)
mmicko Sep 2, 2025
f238e2c
okami: remove (#1549)
Ravenslofty Sep 2, 2025
21bfda4
gatemate: fix fourgroup for multi die (#1550)
mmicko Sep 3, 2025
141abe6
gatemate: cleanup BRAM handling (#1551)
mmicko Sep 5, 2025
9715a1d
heap: Allow chains to ripup other chains (opt-in only) (#1552)
gatecat Sep 5, 2025
8ac7ed1
gatemate: code cleanup and netlist fix (#1554)
mmicko Sep 10, 2025
b8d2372
gatemate: BUFG must be optional
mmicko Sep 10, 2025
00cf81e
gatemate: fix static and handle dynamic FIFO almost full/empty offset…
pu-cc Sep 12, 2025
4ab735c
Gowin. Optimize ALU. (#1556)
yrabbit Sep 17, 2025
1742d09
Gowin. GW5A series PLLs. (#1557)
yrabbit Sep 20, 2025
22041ed
Gowin. GW5A chips. Implement the DCS primitive. (#1558)
yrabbit Sep 23, 2025
2e4ef6f
rust: small updates (#1560)
Ravenslofty Sep 24, 2025
0ee8181
rust: rework ownership model
Ravenslofty Sep 25, 2025
8f8181c
rust: extend example_printnets to demo iterators
Ravenslofty Sep 26, 2025
8381827
gatemate: Include and use connection timing data (#1559)
mmicko Sep 30, 2025
125df99
advertise gatemate support in readme (#1563)
Ravenslofty Sep 30, 2025
abb52f8
gatemate: cleanup of PLL and BUFG (#1562)
mmicko Sep 30, 2025
e16bd45
clangformat
mmicko Sep 30, 2025
ad76625
gatemate: respect keep attribute and prevent crash with BEL set (#1566)
mmicko Oct 2, 2025
57f70ae
Gowin. Remove the special status of corner tiles. (#1565)
yrabbit Oct 4, 2025
e9bac69
Gowin. GW5A series BSRAM fix. (#1564)
yrabbit Oct 4, 2025
e7f9060
placer_heap: fix clamping to region (#1569)
mmicko Oct 6, 2025
5d45520
ice40: Initialize context pointer in tests (#1568)
GyrosGeier Oct 6, 2025
4b00f58
himbaechel/uarch/gowin/cst.cc: added support for IO_LOC with _p/_n se…
trabucayre Oct 8, 2025
35810c9
Rust cleanup (#1573)
Ravenslofty Oct 10, 2025
5194b5c
MachXO2. Add support for several IO parameters. (#1572)
egorxe Oct 13, 2025
c783662
Gowin. Add BSRAM SDP fix. (#1575)
yrabbit Oct 13, 2025
17d42e4
Make GUI able to compile on both Qt5 and Qt6 (#1576)
mmicko Oct 15, 2025
3604554
gatemate: support multiple clock distribution strategies (#1574)
mmicko Oct 15, 2025
f245185
clangformat
mmicko Oct 15, 2025
f19a671
gatemate: document clock distribution strategies (#1580)
mmicko Oct 16, 2025
9d7e1d0
gatemate: bump chipdb to 1.9
mmicko Oct 17, 2025
6d187fb
Update CI and README for Qt6 (#1584)
mmicko Oct 17, 2025
64db93e
Google Test as submodule (#1579)
mmicko Oct 17, 2025
dfef396
Gowin. Delete unused OBUFs. (#1581)
yrabbit Oct 17, 2025
924f3a5
gatemate: properly name timing and operational mode (#1587)
mmicko Oct 21, 2025
c6f408d
gatemate: additional region handling (#1583)
mmicko Oct 21, 2025
9ccd132
himbaechel: add uarch specific options parsing (#1582)
mmicko Oct 21, 2025
c7cfb0a
Remove use of boost system and filesystem (#1591)
gatecat Oct 22, 2025
c133d00
Gowin. Take the arch arguments directly. (#1592)
yrabbit Oct 23, 2025
a530283
Cleanup Context API (#1593)
mmicko Oct 23, 2025
35629d0
gatemate: handle default parameters for IO (#1595)
tgingold Oct 28, 2025
30669ec
gatemate: fix SERDES CDR parameters (#1596)
pu-cc Oct 28, 2025
d8117e3
Gowin. Implement ADC. (#1597)
yrabbit Nov 6, 2025
69facd7
Bump gatemate chip database
mmicko Nov 10, 2025
900573c
Gowin. Implemenet special ADC IO. (#1598)
yrabbit Nov 18, 2025
cfa5f77
gatemate: pack multiplier output registers (#1603)
Ravenslofty Nov 24, 2025
c46f2bb
ice40: Explicitly connect CIN when legalizing carry chain
tarikgraba Dec 2, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
18 changes: 0 additions & 18 deletions .cirrus.yml

This file was deleted.

68 changes: 0 additions & 68 deletions .cirrus/Dockerfile.ubuntu20.04

This file was deleted.

8 changes: 0 additions & 8 deletions .cirrus/archcheck.sh

This file was deleted.

55 changes: 55 additions & 0 deletions .github/ci/build_common.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
#!/bin/bash

# Install latest Yosys
function build_yosys {
PREFIX=`pwd`/.yosys
YOSYS_PATH=${DEPS_PATH}/yosys
mkdir -p ${YOSYS_PATH}
git clone --recursive https://github.com/YosysHQ/yosys ${YOSYS_PATH}
pushd ${YOSYS_PATH}
git reset --hard ${YOSYS_REVISION}
make -j`nproc` PREFIX=$PREFIX
make install PREFIX=$PREFIX
popd
}

function build_icestorm {
PREFIX=`pwd`/.icestorm
ICESTORM_PATH=${DEPS_PATH}/icestorm
mkdir -p ${ICESTORM_PATH}
git clone --recursive https://github.com/YosysHQ/icestorm ${ICESTORM_PATH}
pushd ${ICESTORM_PATH}
git reset --hard ${ICESTORM_REVISION}
make -j`nproc` PREFIX=${PREFIX}
make install PREFIX=${PREFIX}
popd
}

function build_trellis {
PREFIX=`pwd`/.trellis
TRELLIS_PATH=${DEPS_PATH}/prjtrellis
mkdir -p ${TRELLIS_PATH}
git clone --recursive https://github.com/YosysHQ/prjtrellis ${TRELLIS_PATH}
pushd ${TRELLIS_PATH}
git reset --hard ${TRELLIS_REVISION}
mkdir -p libtrellis/build
pushd libtrellis/build
cmake -DCMAKE_INSTALL_PREFIX=${PREFIX} ..
make -j`nproc`
make install
popd
popd
}

function build_prjoxide {
PREFIX=`pwd`/.prjoxide
PRJOXIDE_PATH=${DEPS_PATH}/prjoxide
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y ;\
mkdir -p ${PRJOXIDE_PATH}
git clone --recursive https://github.com/gatecat/prjoxide ${PRJOXIDE_PATH}
pushd ${PRJOXIDE_PATH}
git reset --hard ${PRJOXIDE_REVISION}
cd libprjoxide
PATH=$PATH:$HOME/.cargo/bin cargo install --root $PREFIX --path prjoxide
popd
}
24 changes: 24 additions & 0 deletions .github/ci/build_ecp5.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/bin/bash

function get_dependencies {
:
}

function build_nextpnr {
mkdir build
pushd build
cmake .. -DARCH=ecp5 -DTRELLIS_INSTALL_PREFIX=${GITHUB_WORKSPACE}/.trellis -DWERROR=on -DBUILD_GUI=on -DUSE_IPO=off
make nextpnr-ecp5 -j`nproc`
popd
}

function run_tests {
export PATH=${GITHUB_WORKSPACE}/.trellis/bin:${GITHUB_WORKSPACE}/.yosys/bin:$PATH
make -j $(nproc) -C tests/ecp5/regressions NPNR=$(pwd)/build/nextpnr-ecp5
}

function run_archcheck {
pushd build
./nextpnr-ecp5 --um5g-25k --package CABGA381 --test
popd
}
25 changes: 25 additions & 0 deletions .github/ci/build_generic.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#!/bin/bash

function get_dependencies {
:
}

function build_nextpnr {
mkdir build
pushd build
cmake .. -DARCH=generic -DWERROR=on
make nextpnr-generic -j`nproc`
popd
}

function run_tests {
export PATH=${GITHUB_WORKSPACE}/.yosys/bin:$PATH
( export NPNR=$(pwd)/build/nextpnr-generic && cd tests/generic/flow && ./run.sh )
}

function run_archcheck {
pushd build
# TODO
./nextpnr-generic --uarch example --test
popd
}
23 changes: 23 additions & 0 deletions .github/ci/build_himbaechel.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#!/bin/bash

function get_dependencies {
:
}

function build_nextpnr {
mkdir build
pushd build
cmake .. -DARCH=himbaechel -DHIMBAECHEL_UARCH=example -DHIMBAECHEL_EXAMPLE_DEVICES=example
make nextpnr-himbaechel -j`nproc`
popd
}

function run_tests {
:
}

function run_archcheck {
pushd build
./nextpnr-himbaechel --device EXAMPLE --test
popd
}
27 changes: 27 additions & 0 deletions .github/ci/build_ice40.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#!/bin/bash

function get_dependencies {
:
}

function build_nextpnr {
mkdir build
pushd build
cmake .. -DARCH=ice40 -DICESTORM_INSTALL_PREFIX=${GITHUB_WORKSPACE}/.icestorm -DWERROR=on -DBUILD_TESTS=on -DBUILD_GUI=on
make nextpnr-ice40 nextpnr-ice40-test -j`nproc`
popd
}

function run_tests {
export PATH=${GITHUB_WORKSPACE}/.yosys/bin:${GITHUB_WORKSPACE}/.icestorm/bin:$PATH
(cd build && ./nextpnr-ice40-test)
(export NEXTPNR=$(pwd)/build/nextpnr-ice40 && cd ice40/smoketest/attosoc && ./smoketest.sh)
make -j $(nproc) -C tests/ice40/regressions NPNR=$(pwd)/build/nextpnr-ice40
}

function run_archcheck {
pushd build
./nextpnr-ice40 --hx8k --package ct256 --test
./nextpnr-ice40 --up5k --package sg48 --test
popd
}
63 changes: 0 additions & 63 deletions .github/ci/build_interchange.sh

This file was deleted.

24 changes: 24 additions & 0 deletions .github/ci/build_machxo2.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/bin/bash

function get_dependencies {
:
}

function build_nextpnr {
mkdir build
pushd build
cmake .. -DARCH=machxo2 -DTRELLIS_INSTALL_PREFIX=${GITHUB_WORKSPACE}/.trellis -DWERROR=on -DUSE_IPO=off
make nextpnr-machxo2 -j`nproc`
popd
}

function run_tests {
:
}

function run_archcheck {
pushd build
./nextpnr-machxo2 --device LCMXO2-1200HC-4SG32C --test
./nextpnr-machxo2 --device LCMXO3LF-6900C-6BG256C --test
popd
}
6 changes: 6 additions & 0 deletions .github/ci/build_mistral.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
#!/bin/bash

export MISTRAL_PATH=${DEPS_PATH}/mistral

function get_dependencies {
# Fetch mistral
mkdir -p ${MISTRAL_PATH}
Expand All @@ -17,6 +19,10 @@ function build_nextpnr {
popd
}

function run_tests {
:
}

function run_archcheck {
pushd build
./nextpnr-mistral --device 5CEBA2F17A7 --test
Expand Down
23 changes: 23 additions & 0 deletions .github/ci/build_nexus.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#!/bin/bash

function get_dependencies {
:
}

function build_nextpnr {
mkdir build
pushd build
cmake .. -DARCH=nexus -DOXIDE_INSTALL_PREFIX=${GITHUB_WORKSPACE}/.prjoxide
make nextpnr-nexus -j`nproc`
popd
}

function run_tests {
:
}

function run_archcheck {
pushd build
./nextpnr-nexus --device LIFCL-40-9BG400CES --test
popd
}
Loading