nmigen-boards.git
3 years agoecp5_evn: add SPI Flash, UART, and EXTCLK peripherals master
Aled Cuda [Sun, 28 Jun 2020 04:27:36 +0000 (21:27 -0700)]
ecp5_evn: add SPI Flash, UART, and EXTCLK peripherals

3 years agode0_cv: remove SD card WP pin (not present on this board).
whitequark [Sat, 27 Jun 2020 17:16:44 +0000 (17:16 +0000)]
de0_cv: remove SD card WP pin (not present on this board).

3 years agoresources: allow UARTResource without control signals to have no role.
whitequark [Mon, 22 Jun 2020 15:07:54 +0000 (15:07 +0000)]
resources: allow UARTResource without control signals to have no role.

3 years ago{machXO3_sk→machxo3_sk}: follow naming conventions
whitequark [Mon, 22 Jun 2020 14:45:38 +0000 (14:45 +0000)]
{machXO3_sk→machxo3_sk}: follow naming conventions

3 years agomachXO3_sk: fix platform name
Gwenhael Goavec-Merou [Sun, 21 Jun 2020 19:44:03 +0000 (21:44 +0200)]
machXO3_sk: fix platform name

Signed-off-by: Gwenhael Goavec-Merou <gwenhael.goavec-merou@trabucayre.com>
3 years agoAdd Lattice MachXO3LF Starter Kit
Gwenhael Goavec-Merou [Sun, 21 Jun 2020 17:29:37 +0000 (19:29 +0200)]
Add Lattice MachXO3LF Starter Kit

3 years agotinyfpga_axN: use lattice_machxo_2_3l instead of lattice_machxo2
Gwenhael Goavec-Merou [Sun, 21 Jun 2020 06:38:36 +0000 (08:38 +0200)]
tinyfpga_axN: use lattice_machxo_2_3l instead of lattice_machxo2

3 years agoicestick: fix UART flow control pins.
Ivan Grokhotkov [Mon, 8 Jun 2020 21:24:46 +0000 (23:24 +0200)]
icestick: fix UART flow control pins.

UART flow control pins match the signal names in the schematic, but
directions are reversed. Fix by setting role=dce.

3 years ago[breaking-change] ice40_hx8k_b_evn: fix UART flow control pins.
Ivan Grokhotkov [Mon, 8 Jun 2020 21:23:42 +0000 (23:23 +0200)]
[breaking-change] ice40_hx8k_b_evn: fix UART flow control pins.

RTS/CTS and DTR/DSR pairs have been swapped to work around the signal
direction in UARTResource. Un-reverse the signals, making the names
match the schematic. Fix the direction by setting role=dce.

Ref. http://www.latticesemi.com/view_document?document_id=50373

3 years agode0: fix UART RTS/CTS direction.
Ivan Grokhotkov [Mon, 8 Jun 2020 21:21:33 +0000 (23:21 +0200)]
de0: fix UART RTS/CTS direction.

RTS and CTS match the schematic, but the direction is incorrect:
CTS is output, RTS is input. Fix by setting role=dce.

Ref. https://www.intel.com/content/dam/altera-www/global/en_US/portal/dsn/42/doc-us-dsnbk-42-5804152209-de0-user-manual.pdf

3 years ago[breaking-change] nexys4ddr: fix UART RTS/CTS pins.
Ivan Grokhotkov [Mon, 8 Jun 2020 21:19:24 +0000 (23:19 +0200)]
[breaking-change] nexys4ddr: fix UART RTS/CTS pins.

According to the schematic, RTS is E5 and CTS is D3. Previously these
were reversed to work around signal direction set in UARTResource.
Un-reverse the signals, and set correct direction by passing role=dce.

Ref. https://reference.digilentinc.com/_media/nexys4-ddr:nexys_4_ddr_sch.pdf

3 years ago[breaking-change] blackice: remove UART RTS/CTS signals.
Ivan Grokhotkov [Mon, 8 Jun 2020 21:17:11 +0000 (23:17 +0200)]
[breaking-change] blackice: remove UART RTS/CTS signals.

According to the schematic, RTS and CTS are not connected to CH340G in
this version of the board.

Ref. https://github.com/monsonite/BackIce_FPGA/blob/master/BlackIce18_07_01D.pdf
and https://forum.mystorm.uk/uploads/default/original/1X/a5db1ce1c9bc2d91e63cfdc8424d699c2419a3d0.png

3 years agoblackice_ii: fix UART RTS/CTS direction.
Ivan Grokhotkov [Mon, 8 Jun 2020 21:13:28 +0000 (23:13 +0200)]
blackice_ii: fix UART RTS/CTS direction.

Pin numbers match the P0/P1 signals in the schematic, but the
direction is reversed. Fix by setting role="dce".

Ref. https://github.com/mystorm-org/BlackIce-II/blob/master/hardware/BlackIce.pdf

3 years ago[breaking-change] resources: distinguish "dte"/"dce" roles of UART.
Ivan Grokhotkov [Mon, 8 Jun 2020 21:06:11 +0000 (23:06 +0200)]
[breaking-change] resources: distinguish "dte"/"dce" roles of UART.

UARTResource gets a new argument, "role", which determines flow
control signal directions:
- DCE means that the design acts as a modem
- DTE means that the design acts as a PC

3 years agoAdd Digilent Genesys2 board.
Alain Péteut [Thu, 28 May 2020 01:44:32 +0000 (03:44 +0200)]
Add Digilent Genesys2 board.

3 years agoUpdate .gitignore.
whitequark [Thu, 21 May 2020 10:40:15 +0000 (10:40 +0000)]
Update .gitignore.

3 years agotinyfpga_ax{1,2}: add missing `resources`.
Simon Kirkby [Fri, 8 May 2020 04:40:13 +0000 (12:40 +0800)]
tinyfpga_ax{1,2}: add missing `resources`.

4 years agoAdd ICE40UP5K-B-EVN.
WRansohoff [Fri, 24 Apr 2020 18:53:26 +0000 (14:53 -0400)]
Add ICE40UP5K-B-EVN.

4 years agoecp5_5g_evn: add connectors.
x44203 [Mon, 13 Apr 2020 17:54:35 +0000 (19:54 +0200)]
ecp5_5g_evn: add connectors.

4 years agoAdd Upduino v1/v2.
WRansohoff [Mon, 23 Mar 2020 01:14:44 +0000 (21:14 -0400)]
Add Upduino v1/v2.

4 years agoecp5_5g_evn: add variable IO standards and SERDES resources.
x44203 [Fri, 20 Mar 2020 08:03:43 +0000 (09:03 +0100)]
ecp5_5g_evn: add variable IO standards and SERDES resources.

4 years agozturn_lite: fix typo
Robin Ole Heinemann [Wed, 18 Mar 2020 14:59:53 +0000 (15:59 +0100)]
zturn_lite: fix typo

4 years agonexys4ddr: enable pushbutton reset.
Stuart Olsen [Tue, 17 Mar 2020 07:08:00 +0000 (00:08 -0700)]
nexys4ddr: enable pushbutton reset.

4 years agoresources.display: Apply inversion setting to dp
Stuart Olsen [Sat, 14 Mar 2020 09:02:03 +0000 (02:02 -0700)]
resources.display: Apply inversion setting to dp

4 years agoAd DE10-Lite.
Yusuf Taiwo Hassan [Thu, 12 Mar 2020 18:50:15 +0000 (19:50 +0100)]
Ad DE10-Lite.

4 years agoAdd Alchitry Au board definition.
Joshua Koike [Mon, 10 Feb 2020 01:24:54 +0000 (17:24 -0800)]
Add Alchitry Au board definition.

4 years agosetup: update project URLs.
whitequark [Sun, 9 Feb 2020 17:03:19 +0000 (17:03 +0000)]
setup: update project URLs.

4 years agoversa_ecp5: fix switch{4..7} IO_TYPE.
whitequark [Thu, 6 Feb 2020 21:59:42 +0000 (21:59 +0000)]
versa_ecp5: fix switch{4..7} IO_TYPE.

4 years agoAdd Fomu PVT support.
Jean THOMAS [Mon, 3 Feb 2020 06:52:26 +0000 (07:52 +0100)]
Add Fomu PVT support.

4 years agoartyz7: fix attribute name.
Nicolas Robin [Sat, 18 Jan 2020 22:08:12 +0000 (23:08 +0100)]
artyz7: fix attribute name.

4 years agoAdd Digilent Arty Z7-20 board.
Nicolas Robin [Fri, 17 Jan 2020 21:54:48 +0000 (22:54 +0100)]
Add Digilent Arty Z7-20 board.

4 years agoAdd Digilent Nexys 4 DDR board.
Nicolas Robin [Wed, 15 Jan 2020 17:35:57 +0000 (18:35 +0100)]
Add Digilent Nexys 4 DDR board.

4 years agoblinky: replace deprecated Signal(max=...) (#42)
Nicolas Robin [Mon, 13 Jan 2020 18:54:23 +0000 (19:54 +0100)]
blinky: replace deprecated Signal(max=...) (#42)

4 years agoice40_hx8k_b_evn: fix swapped DTR/DSR
Nicolas Robin [Sun, 12 Jan 2020 10:33:46 +0000 (11:33 +0100)]
ice40_hx8k_b_evn: fix swapped DTR/DSR

4 years agoice40_hx8k_b_evn: fix swapped RTS/CTS
Nicolas Robin [Sun, 12 Jan 2020 00:10:25 +0000 (01:10 +0100)]
ice40_hx8k_b_evn: fix swapped RTS/CTS

4 years agoAdd Lattice ECP5-5G Evaluation Board stub.
whitequark [Tue, 31 Dec 2019 09:56:29 +0000 (09:56 +0000)]
Add Lattice ECP5-5G Evaluation Board stub.

4 years agomister: fix SD card typo
Dan Ravensloft [Sat, 30 Nov 2019 21:26:54 +0000 (21:26 +0000)]
mister: fix SD card typo

4 years agotinyfpga_bx: fix definition of io pin 17
Ezekiel Bethel [Thu, 28 Nov 2019 16:32:36 +0000 (16:32 +0000)]
tinyfpga_bx: fix definition of io pin 17

4 years ago[breaking-change] Atlys: use reset button as reset
Staf Verhaegen [Fri, 25 Oct 2019 10:18:44 +0000 (12:18 +0200)]
[breaking-change] Atlys: use reset button as reset

4 years agoAdd DE10-Nano-based MiSTer.
Dan Ravensloft [Fri, 25 Oct 2019 09:20:20 +0000 (10:20 +0100)]
Add DE10-Nano-based MiSTer.

4 years agoresources.memory: fix typo.
whitequark [Sun, 13 Oct 2019 13:04:15 +0000 (13:04 +0000)]
resources.memory: fix typo.

4 years ago[breaking-change] icebreaker: update leftover user_* resources.
whitequark [Fri, 11 Oct 2019 14:49:34 +0000 (14:49 +0000)]
[breaking-change] icebreaker: update leftover user_* resources.

4 years ago[breaking-change] mercury: update leftover user_btn resources.
whitequark [Fri, 11 Oct 2019 14:44:19 +0000 (14:44 +0000)]
[breaking-change] mercury: update leftover user_btn resources.

4 years agoresources: add conn= argument to every factory.
whitequark [Fri, 11 Oct 2019 14:46:30 +0000 (14:46 +0000)]
resources: add conn= argument to every factory.

4 years agoAdd KCU105 board stub.
whitequark [Thu, 10 Oct 2019 16:37:26 +0000 (16:37 +0000)]
Add KCU105 board stub.

4 years agoAdd TinyFPGA AX{1,2} boards.
whitequark [Thu, 10 Oct 2019 15:38:03 +0000 (15:38 +0000)]
Add TinyFPGA AX{1,2} boards.

4 years agode0cv→de0_cv, for consistency with de10_nano
whitequark [Thu, 10 Oct 2019 12:02:33 +0000 (12:02 +0000)]
de0cv→de0_cv, for consistency with de10_nano

4 years agode10_nano: fix programming.
whitequark [Thu, 10 Oct 2019 11:44:55 +0000 (11:44 +0000)]
de10_nano: fix programming.

4 years agoAdd Terasic DE10-Nano (#32)
Dan Ravensloft [Thu, 10 Oct 2019 10:54:48 +0000 (11:54 +0100)]
Add Terasic DE10-Nano (#32)

4 years agode0{,cv}: {Altera→Intel}Platform
whitequark [Wed, 9 Oct 2019 22:40:29 +0000 (22:40 +0000)]
de0{,cv}: {Altera→Intel}Platform

4 years agotest.blinky: invert LED status when button/switch is active.
whitequark [Wed, 9 Oct 2019 22:38:45 +0000 (22:38 +0000)]
test.blinky: invert LED status when button/switch is active.

Allows testing buttons/switches as well.

4 years agode0: fix typo.
whitequark [Fri, 4 Oct 2019 07:00:52 +0000 (07:00 +0000)]
de0: fix typo.

4 years agoAdd Terasic DE0-CV board.
Dan Ravensloft [Thu, 3 Oct 2019 15:06:54 +0000 (16:06 +0100)]
Add Terasic DE0-CV board.

4 years agode0: fix button polarity.
whitequark [Thu, 3 Oct 2019 09:51:27 +0000 (09:51 +0000)]
de0: fix button polarity.

4 years agoFix typo in SDCardResources().
whitequark [Thu, 3 Oct 2019 09:01:42 +0000 (09:01 +0000)]
Fix typo in SDCardResources().

4 years agoAdd Terasic DE0.
whitequark [Thu, 3 Oct 2019 08:42:08 +0000 (08:42 +0000)]
Add Terasic DE0.

4 years agoFactor out "nor_flash" resource.
whitequark [Thu, 3 Oct 2019 06:41:56 +0000 (06:41 +0000)]
Factor out "nor_flash" resource.

4 years agoFactor out "sdram" resource.
whitequark [Thu, 3 Oct 2019 06:10:53 +0000 (06:10 +0000)]
Factor out "sdram" resource.

4 years ago[breaking-change] Fix polarity of "dm" signal in "memory" resource.
whitequark [Thu, 3 Oct 2019 06:10:43 +0000 (06:10 +0000)]
[breaking-change] Fix polarity of "dm" signal in "memory" resource.

LB# and UB# enable writing their corresponding byte. The "m" in "dm"
means mask; that is, logical high masks (prevents) the byte from
being written. This means that it should use Pins(), not PinsN(),
to get the behavior implied by "mask".

4 years agoReorganize resource taxonomy.
whitequark [Thu, 3 Oct 2019 05:54:12 +0000 (05:54 +0000)]
Reorganize resource taxonomy.

The current hierarchy isn't particularly well suited to resources
like SDRAM or NOR flash, so make it much less fine-grained but easier
to use and less nitpicky.

4 years agoFactor out "sd_card_{1bit,4bit,spi}" resources.
whitequark [Thu, 3 Oct 2019 05:42:59 +0000 (05:42 +0000)]
Factor out "sd_card_{1bit,4bit,spi}" resources.

4 years agodev.display: factor out from dev.user. NFC.
whitequark [Thu, 3 Oct 2019 03:02:44 +0000 (03:02 +0000)]
dev.display: factor out from dev.user. NFC.

4 years ago[breaking-change] Factor out "display_7seg" resource.
whitequark [Thu, 3 Oct 2019 02:56:47 +0000 (02:56 +0000)]
[breaking-change] Factor out "display_7seg" resource.

With the expectation that "display_9seg", "display_14seg" and
"display_16seg" will be forthcoming.

There are no provisions in this resource itself for multiplexing
the display. It is expected that on boards with multiplexed displays,
an additional resource "display_7seg_ctrl" will be provided, and it
would have either an n-bit signal "sel" (binary encoded) or an n-bit
signal "en" (one-hot encoded). (This may be revisited in the future.)

Fixes #17.

4 years agoAdd missing __init__.py.
whitequark [Tue, 1 Oct 2019 21:01:54 +0000 (21:01 +0000)]
Add missing __init__.py.

4 years agodev.user: fix typo.
whitequark [Mon, 23 Sep 2019 10:11:39 +0000 (10:11 +0000)]
dev.user: fix typo.

4 years ago_blinky→test.blinky
whitequark [Mon, 23 Sep 2019 08:16:07 +0000 (08:16 +0000)]
_blinky→test.blinky

Expose blinky as a stable component, to make writing out-of-tree
board files a bit nicer.

4 years ago[breaking-change] Factor out "led", "button" and "switch" resources.
whitequark [Mon, 23 Sep 2019 08:07:37 +0000 (08:07 +0000)]
[breaking-change] Factor out "led", "button" and "switch" resources.

These resources were renamed as:
  * user_led → led
  * user_btn → button
  * user_sw → switch

Fixes #13.

4 years agoFix IO_STANDARD on all iCE40 boards.
whitequark [Sat, 21 Sep 2019 14:30:14 +0000 (14:30 +0000)]
Fix IO_STANDARD on all iCE40 boards.

SB_LVCMOS33 is not recognized by vendor tools. Use SB_LVCMOS instead.

4 years agosetup.py: fixes.
Emily [Fri, 20 Sep 2019 14:13:14 +0000 (15:13 +0100)]
setup.py: fixes.

4 years agonumato_mimas: add spi_flash#0 resource.
whitequark [Wed, 18 Sep 2019 04:25:03 +0000 (04:25 +0000)]
numato_mimas: add spi_flash#0 resource.

4 years agonumato_mimas: SW* are actually buttons.
whitequark [Wed, 18 Sep 2019 04:23:57 +0000 (04:23 +0000)]
numato_mimas: SW* are actually buttons.

4 years agoAdd Numato Mimas (V1).
whitequark [Wed, 18 Sep 2019 04:13:22 +0000 (04:13 +0000)]
Add Numato Mimas (V1).

4 years agoatlys: fix typo.
whitequark [Wed, 11 Sep 2019 23:26:30 +0000 (23:26 +0000)]
atlys: fix typo.

4 years agoFix .gitignore.
whitequark [Fri, 6 Sep 2019 05:30:35 +0000 (05:30 +0000)]
Fix .gitignore.

4 years agosetup: replace versioneer with setuptools_scm.
whitequark [Fri, 6 Sep 2019 05:24:11 +0000 (05:24 +0000)]
setup: replace versioneer with setuptools_scm.

4 years agoUpdate iCE40 GLOBAL and PULLUP attribute to use correct types.
whitequark [Fri, 30 Aug 2019 08:39:30 +0000 (08:39 +0000)]
Update iCE40 GLOBAL and PULLUP attribute to use correct types.

4 years agoAdd ZTurn lite platform.
Robin Ole Heinemann [Sun, 18 Aug 2019 21:07:37 +0000 (23:07 +0200)]
Add ZTurn lite platform.

4 years agoAdd SK-XC6SLX9.
whitequark [Thu, 22 Aug 2019 23:00:01 +0000 (23:00 +0000)]
Add SK-XC6SLX9.

4 years agoAtlys: pass extra keyword arguments to platform.
whitequark [Thu, 22 Aug 2019 21:32:26 +0000 (21:32 +0000)]
Atlys: pass extra keyword arguments to platform.

4 years agoAdd Fomu Hacker platform.
Robin Ole Heinemann [Wed, 21 Aug 2019 21:18:49 +0000 (23:18 +0200)]
Add Fomu Hacker platform.

4 years agoversa_ecp5: prepare for switchable ECP5 toolchains.
whitequark [Wed, 21 Aug 2019 17:51:46 +0000 (17:51 +0000)]
versa_ecp5: prepare for switchable ECP5 toolchains.

4 years agoAdd Mercury platform.
William D. Jones [Tue, 13 Aug 2019 12:20:45 +0000 (08:20 -0400)]
Add Mercury platform.

4 years agoAdd Arty A7 platform.
Jean-François Nguyen [Wed, 7 Aug 2019 23:31:49 +0000 (01:31 +0200)]
Add Arty A7 platform.

4 years agoMake oe in SRAMResource optional.
William D. Jones [Sun, 4 Aug 2019 13:32:34 +0000 (09:32 -0400)]
Make oe in SRAMResource optional.

4 years agoUse Pins/DiffPairs(assert_width) where appropriate.
whitequark [Sun, 4 Aug 2019 11:14:16 +0000 (11:14 +0000)]
Use Pins/DiffPairs(assert_width) where appropriate.

4 years agoAdd Digilent Atlys Spartan-6 board.
Staf Verhaegen [Sun, 4 Aug 2019 11:20:37 +0000 (13:20 +0200)]
Add Digilent Atlys Spartan-6 board.

This board file was developed based on the Atlys reference manual and
the Atlys platform file from litex-buildenv.

4 years ago[breaking-change] Factor out "sram" resource.
whitequark [Sun, 4 Aug 2019 11:08:45 +0000 (11:08 +0000)]
[breaking-change] Factor out "sram" resource.

Fixes #9.

4 years agoAdd missing trailing spaces to multiline connector definitions.
whitequark [Sun, 4 Aug 2019 10:53:20 +0000 (10:53 +0000)]
Add missing trailing spaces to multiline connector definitions.

Or the last and the first on line pin get glued together.

4 years agoRemove useless _blinky.build_and_program() function.
whitequark [Sun, 4 Aug 2019 09:35:14 +0000 (09:35 +0000)]
Remove useless _blinky.build_and_program() function.

4 years agoRemove explicit domain instantiation from blinky.
whitequark [Sat, 3 Aug 2019 18:42:37 +0000 (18:42 +0000)]
Remove explicit domain instantiation from blinky.

4 years agoUpdate all boards to use default_rst.
whitequark [Sat, 3 Aug 2019 16:28:57 +0000 (16:28 +0000)]
Update all boards to use default_rst.

This is pretty much just Versa ECP5 (5G).

4 years agoUpdate all boards to use default_clk.
whitequark [Sat, 3 Aug 2019 16:19:03 +0000 (16:19 +0000)]
Update all boards to use default_clk.

4 years agoReplace subprocess.run(..., check=True) with subprocess.check_call().
whitequark [Sun, 7 Jul 2019 00:11:33 +0000 (00:11 +0000)]
Replace subprocess.run(..., check=True) with subprocess.check_call().

4 years agoAdd support for the iCE40-HX8K Breakout Board
Emily [Fri, 26 Jul 2019 03:13:44 +0000 (20:13 -0700)]
Add support for the iCE40-HX8K Breakout Board

4 years agodev: Refactor resource abstractions to use Resource.family.
William D. Jones [Wed, 10 Jul 2019 16:05:45 +0000 (12:05 -0400)]
dev: Refactor resource abstractions to use Resource.family.

4 years agodev.spi: Update SPIResources to accept a name and direction.
William D. Jones [Wed, 10 Jul 2019 07:58:43 +0000 (03:58 -0400)]
dev.spi: Update SPIResources to accept a name and direction.

4 years agodev.flash: spiflash→spi_flash, spiflash{2x,4x}→spi_flash_{2x,4x}.
whitequark [Fri, 5 Jul 2019 20:15:49 +0000 (20:15 +0000)]
dev.flash: spiflash→spi_flash, spiflash{2x,4x}→spi_flash_{2x,4x}.

Every other resource name uses underscores for separation, like
eth_rgmii, so SPI flash should do it too.

4 years agoversa_ecp5: add missing pin directions.
whitequark [Fri, 5 Jul 2019 20:05:01 +0000 (20:05 +0000)]
versa_ecp5: add missing pin directions.

Fixes #16.

4 years agoFactor out SPI resource definition.
Jean-François Nguyen [Wed, 3 Jul 2019 16:31:21 +0000 (18:31 +0200)]
Factor out SPI resource definition.

4 years agodev.uart: fix typo.
whitequark [Wed, 3 Jul 2019 09:54:39 +0000 (09:54 +0000)]
dev.uart: fix typo.