Sylvain Munaut
7792a6cd9f
vendor.lattice_{ice40,ecp5}: Support .il (RTLIL) files in extra_files
2020-01-31 02:56:19 +00:00
whitequark
b3a8a43152
vendor.lattice_{ice40,ecp5}: fix typo.
2019-10-13 22:17:46 +00:00
whitequark
ccd28b40c2
vendor.lattice_{ice40,ecp5}: emit Verilog as well, for debugging.
2019-10-13 18:04:33 +00:00
Emily
a783e4645d
Refactor build script toolchain lookups.
...
Now environment variable overrides no longer infect the build scripts.
_toolchain.overrides is dropped as probably misguided in the first place.
Fixes #251 .
2019-10-13 13:53:24 +00:00
whitequark
ef741594b5
vendor.lattice_machxo2: new supported family.
2019-10-10 16:22:29 +00:00
whitequark
a7cc88f3d4
vendor: yosys is a required tool for all Verilog-based flows.
2019-10-10 14:38:09 +00:00
whitequark
53bb4300a3
build.plat: strip internal attributes from Verilog output.
...
Although useful for debugging, most external tools often complain
about such attributes (with notable exception of Vivado). As such,
it is better to emit Verilog with these attributes into a separate
file such as `design.debug.v` and only emit the attributes that were
explicitly placed by the user to `design.v`.
This still leaves the (*init*) attribute. See #220 for details.
2019-09-24 14:56:00 +00:00
Kate Temkin
d14366450b
vendor.lattice_ecp5: correct a typo in tristate buffer generation
2019-09-24 11:53:38 +00:00
Darrell Harmon
f3a8880cb8
vendor.xilinx_7series: apply false path / max delay constraints.
2019-09-24 00:47:54 +00:00
whitequark
5f9b8ec1eb
vendor.lattice_ecp5: simplify quoting. NFC.
...
See commit ee1ad2da
.
2019-09-22 07:17:12 +00:00
whitequark
3d62dac1cb
vendor.lattice_ice40: add iCECube support.
...
This also makes some iCE40 and ECP5 overrides more consistent.
2019-09-21 14:45:17 +00:00
whitequark
07a82ed70e
build.plat: NMIGEN_<toolchain>_env→NMIGEN_ENV_<toolchain>
...
This is more consistent with other environment variables nMigen uses.
2019-09-21 12:23:53 +00:00
whitequark
91ef2f58e3
vendor.lattice_{ecp5,ice40}: allow clock constraints on arbitrary signals.
...
Fixes #88 .
2019-09-20 16:26:27 +00:00
whitequark
9ea3ff7ae2
build.plat: bypass tool detection if NMIGEN_*_env is set.
...
It's not practical to detect tools within the toolchain environment
for various reasons, so just assume the tools are there if the user
says they are.
Before this commit, the tools would be searched outside the toolchain
environment, which of course would always fail for Vivado, ISE, etc.
2019-09-12 21:56:48 +00:00
whitequark
8c30147e39
build.plat,vendor: allow clock constraints on arbitrary signals.
...
Currently only done for Synopsys based toolchains (i.e. not nextpnr).
Refs #88 .
2019-09-11 23:35:43 +00:00
Darrell Harmon
27cedf4302
vendor.lattice_ecp5: pass ecppack_opts to ecppack.
2019-09-10 03:32:36 +00:00
Emily
c4e8ac734f
_toolchain,build.plat,vendor.*: add required_tools list and checks.
2019-08-31 00:05:47 +00:00
whitequark
4e91710933
vendor.lattice_ecp5: drive GSR synchronous to user clock by default.
...
Fixes #167 .
2019-08-30 14:26:49 +00:00
whitequark
b4b5d9e2ef
vendor.lattice_ecp5: revert default toolchain to Trellis.
...
This was unintentionally changed in 7fc1058e
.
2019-08-25 08:07:00 +00:00
whitequark
7fc1058ed2
vendor.lattice_ecp5: add Diamond support.
2019-08-22 21:36:24 +00:00
whitequark
c77274c1ad
vendor: eliminate unnecessary LUT instantiation.
...
Fixes #165 .
2019-08-22 21:29:20 +00:00
whitequark
531040d2fd
vendor: style. NFC.
2019-08-21 21:32:36 +00:00
whitequark
8854ca03ae
build.plat,vendor: automatically create sync domain from default_clk.
...
But only if it is not defined by the programmer.
Closes #57 .
2019-08-03 18:36:58 +00:00
N. Engelhardt
5fd8a796ae
vendor: don't emit duplicate iobuf submodule names.
...
These are no longer allowed after commit 698b005
.
2019-07-21 07:49:21 +00:00
whitequark
cb02a452e9
vendor.lattice_ecp5: don't leave LUT inputs disconnected.
...
This causes YosysHQ/nextpnr#301.
Fixes #136 .
2019-07-07 02:34:22 +00:00
whitequark
146f3cb684
build.plat: source a script with toolchain environment.
...
Fixes #131 .
2019-07-07 00:44:28 +00:00
whitequark
1ee21d2007
build.plat, vendor.*: don't join strings passed as _opts overrides.
...
Right now an array is expected in any _opts overrides, and if it is
actually a string (because it is passed via an environment variable,
usually), awkwardness results as each character is joined with ` `.
Fixes #130 .
2019-07-06 23:09:46 +00:00
whitequark
33f21628bb
vendor: give names to IO buffer instances.
...
Fixes #123 .
2019-07-03 14:43:03 +00:00
Sebastien Bourdeauducq
9a1048af50
lattice_ecp5: fix get_input
2019-07-03 10:25:32 +08:00
Alain Péteut
20553b1478
build.plat: add iter_extra_files method.
...
* vendor.*: employ iter_extra_files.
2019-07-02 18:25:29 +00:00
whitequark
0a145ed2d9
vendor.lattice_ecp5: implement.
...
Note that because of issues with Yosys and nextpnr, it is not yet
possible to use either SDR or DDR I/O.
2019-06-25 15:48:07 +00:00