Catherine
78b90fbafa
build.plat,vendor: fix toolchain environment variable check.
...
The bug was introduced in commit 15b6068c
. A changelog entry was also
missing.
Fixes #1089 .
2024-02-08 11:37:59 +00:00
Daniel Estévez
d8f70be4d9
xilinx: use FDPE instances to implement get_async_ff_sync()
...
This closes #721 by implementing get_async_ff_sync() using FDPE
primitives to obtain exactly the netlist that we want. This consits
of a chain of N FPDEs (by default N = 2) with all their PRE pins
connected to the reset for a positive edge reset or to the ~reset
for a negative edge reset. The D pin of the first FDPE in the chain
is connected to GND.
To make timing analysis work correctly, two new attributes are
introduced: amaranth.vivado.false_path_pre and
amaranth.vivado.max_delay_pre. These work similarly to
amaranth.vivado.false_path and amaranth.vivado.max_delay, but affect
only the PRE pin, which is what is needed for this synchronizer.
The TCL has been modified to generate constraints using these
attributes, and there are comments explaining how to use the attributes
directly in an XDC file in case the user wants to manage their XDC
file manually instead of using the TCL.
2024-02-08 11:30:51 +00:00
Catherine
15b6068c57
Remove features deprecated in past releases.
2024-02-06 15:55:05 +00:00
Catherine
5d9ad62f36
build.plat,vendor: start build.sh
with #!/bin/sh
.
...
The build scripts generated by Amaranth are designed to be invoked by
directly running them with any shell (some of them will re-invoke
themselves with `bash` specifically, when it's a toolchain requirement),
and they're not currently marked executable, so there's no shebang.
Add a shebang line to improve compatibility with cases where they are
treated as executables in their own right.
2024-01-03 11:45:57 +00:00
Catherine
3ed78d98ea
Implement RFC 18: Reorganize vendor platforms
...
Closes #873 .
2023-12-13 11:24:37 +00:00
Catherine
7db049f37f
Remove remaining traces of $verilog_initial_trigger
.
...
This construct was originally removed in commit b452e0e8
. It has not been relevant since Yosys 0.10.
2023-12-07 21:10:11 +00:00
Catherine
f9da3c0d16
Pyupgrade to 3.8+. NFCI
2023-11-14 13:07:21 +00:00
Catherine
04b542a626
vendor._gowin: fix typo.
2023-09-25 14:15:11 +00:00
Catherine
d27681b157
vendor.GowinPlatform: account for rouding error in frequency calculation.
2023-09-25 08:41:49 +00:00
Catherine
47851c2328
vendor.GowinPlatform: fix fencepost error in oscillator range.
...
Python ranges are half-open (exclusive).
2023-09-25 08:41:49 +00:00
Catherine
bfd62569c8
vendor.GowinPlatform: improve oscillator frequency diagnostic.
2023-09-25 08:41:49 +00:00
crzwdjk
11d5bb19eb
vendor._lattice_ice40: add an icepack_opts override
...
Add an icepack_opts override in case the user wants to pass
extra options to icepack as part of the build process.
2023-09-13 20:05:01 +00:00
Catherine
7f1397b281
vendor/*: add missing __all__
.
...
This broke code that did e.g.
from amaranth.vendor.xilinx import *
which is common in amaranth-boards.
2023-09-01 01:30:46 +00:00
Catherine
796068a192
Implement RFC 18: Reorganize vendor platforms
2023-09-01 00:37:48 +00:00
Catherine
49a56c4467
vendor.gowin: unbreak dir="o"
pins with xdr=2
.
2023-08-08 19:51:22 +00:00
Bastian Löher
93e89f5632
vendor.gowin: new platform.
...
Co-authored-by: Catherine <whitequark@whitequark.org>
2023-08-08 12:38:36 +00:00
Catherine
d491288e32
Eliminate uses of deprecated abstractproperty()
decorator.
...
Its docstring with the deprecation notice polluted the documentation.
2023-07-24 13:46:48 +00:00
Darrell Harmon
ea36c80663
vendor.xilinx: recognize Artix Ultrascale+ part numbers
2023-07-10 20:39:45 +00:00
Charlotte
d218273b9b
hdl.ast: deprecate Repl
and remove from AST; add Value.replicate
.
2023-06-22 03:52:55 +00:00
Marcelina Kościelnicka
e3e542afff
vendor.xilinx: fix a SyntaxWarning.
2023-03-01 00:51:13 +00:00
Catherine
a704b1b218
vendor.xilinx: update build script template for prjxray.
2023-02-03 06:09:56 +00:00
Catherine
5a79c351e3
Remove features deprecated in version 0.3.
2023-01-31 21:38:27 +00:00
Catherine
309f647c0e
Update documentation and changelog to reflect existing changes.
2023-01-31 12:57:44 +00:00
Bastian Löher
64b96e143b
vendor.xilinx: Add support for more parts when using Symbiflow.
2023-01-23 19:26:58 +00:00
J. Neuschäfer
91d4513682
Fix several typos. NFC.
2023-01-20 19:48:29 +00:00
Gwenhael Goavec-Merou
e3b2ba4316
vendor.xilinx: add support for Xray-based toolchain.
2022-12-13 20:09:57 +00:00
Bastian Löher
0a1ba22050
vendor.xilinx: update symbiflow toolchain scripts.
2022-12-01 20:00:48 +00:00
Adam Greig
af7c11441d
Use all-uppercase toolchain_env_var names.
...
Accepts previous case for backwards compatibility.
Fixes #728 .
2022-11-16 02:37:53 +00:00
jreyesr
9b8354e137
vendor.lattice_machxo_2_3l: add support for the internal oscillator, OSCH.
2022-04-06 04:12:52 +00:00
Catherine
4dea0b2d0f
vendor.lattice_ecp5: on Diamond, only emit attributes if there are any.
2022-03-12 13:25:00 +00:00
Irides
40b92965c9
docs: cover amaranth.vendor
.
2021-12-13 09:17:50 +00:00
whitequark
90777a65c8
build.plat,vendor: add missing compatibility shims for NMIGEN_ENV_*.
...
These have been mistakenly omitted from commit 909a3b8b
.
2021-12-11 12:40:05 +00:00
Irides
b1eba5fd82
vendor.xilinx: support setting options on synth_design
...
Closes #606 .
2021-12-11 12:09:09 +00:00
whitequark
909a3b8be7
Rename nMigen to Amaranth HDL.
2021-12-10 10:34:13 +00:00