Konrad Beckmann
d4946b060a
vendor.lattice_ecp5: Add support for io with xdr=7
...
This adds support for IOs with xdr=7 using the
IODDR71B and ODDR71B primitives.
2020-07-06 16:12:07 +00:00
Konrad Beckmann
981e674081
vendor.lattice_ecp5: Add support for io with xdr=4
...
This adds support for IOs with xdr=4 using the
IDDRX2F and ODDRX2F primitives.
2020-07-06 16:12:07 +00:00
whitequark
175c8a596e
docs: use working sphinxcontrib-platformpicker.
2020-07-05 23:51:14 +00:00
whitequark
1fbd7f1d08
docs: use sphinxcontrib-platformpicker.
...
Fixes #416 .
2020-07-05 23:39:47 +00:00
whitequark
f1153352c0
docs: link to community tutorials until we have an official one.
2020-07-04 02:09:35 +00:00
whitequark
f24f1b02e8
docs/lang: document constshifts.
2020-07-02 23:11:35 +00:00
whitequark
76b3ef4b13
docs/index: rename to "Language & toolchain".
2020-07-02 23:08:10 +00:00
whitequark
fd5ee548b6
test: remove FHDLTestCase.assertRaisesRegex.
...
This method is only there because I misunderstood the documentation
of unittest.
2020-07-02 22:50:20 +00:00
whitequark
8dd28fecc6
compat.fhdl.specials: fix handling of tristate (i=None) pins.
...
Fixes #406 .
2020-07-02 22:22:44 +00:00
whitequark
369bc3e307
_yosys→_toolchain.yosys
2020-07-02 18:26:08 +00:00
whitequark
6bfff25e76
vendor: yosys
is not a required tool for proprietary toolchains.
...
Since commit b9799b4c
, the discovery mechanism for the Yosys required
to produce Verilog is different from the usual require_tool(); namely
it is possible to produce Verilog without a `yosys` binary on PATH.
Fixes #419 .
2020-07-02 18:13:54 +00:00
whitequark
14845af235
setup: add wheel as setup dependency.
...
See commit 416b2531ae
.
See commit 7fca037f9c
.
2020-07-01 21:05:57 +00:00
whitequark
ba1b4c20c8
setup: gracefully recover from missing setuptools_scm.
2020-07-01 21:04:04 +00:00
whitequark
d5d3bc4b1a
setup: link to the right documentation version from pip metadata.
2020-07-01 20:49:41 +00:00
whitequark
102565f6de
Update README.
2020-07-01 20:17:10 +00:00
whitequark
75a466537e
Update README.
2020-07-01 19:16:01 +00:00
whitequark
7fa4b348a9
docs/install: use pip/pip3 more consistently.
2020-07-01 08:58:36 +00:00
whitequark
6c0530cf4e
docs: clarify naming.
2020-07-01 08:53:52 +00:00
whitequark
416b2531ae
Revert "Add PEP 518 pyproject.toml
."
...
This reverts commit 7fca037f9c
.
This broke editable installs and has to be reverted due to a number
of pip issues:
* pypa/pip#6375
* pypa/pip#6434
* pypa/pip#6438
We can put this back once PEP 517/518 support editable installs.
Until then the legacy behavior will suffice, and we should just teach
people to install the dependencies in virtualenvs or something...
2020-07-01 08:24:47 +00:00
whitequark
76c7e70582
docs: add a crude approximation of intersphinx toctrees.
...
This is a pretty awful hack. We could do this properly after one of
the following issues is fixed:
* sphinx-doc/sphinx#701
* sphinx-doc/sphinx#1836
2020-07-01 08:03:57 +00:00
whitequark
126f0be731
Gracefully handle missing dependencies.
...
Some people's workflows involve not using `pip`. This is not
a recommended way to use nMigen, but is prevalent enough for good
enough reason that we try to keep them working anyway.
2020-07-01 07:00:02 +00:00
whitequark
f5670a9b71
docs/install: fix dead link.
2020-07-01 06:33:03 +00:00
whitequark
43da4e3f0a
docs/install: quote special chars to avoid issues with extended glob.
2020-07-01 06:32:15 +00:00
whitequark
f50303ca7c
docs/install: explain how to install non-editable snapshot from git.
2020-07-01 06:15:16 +00:00
whitequark
7fca037f9c
Add PEP 518 pyproject.toml
.
...
This is necessary to be able to install nMigen into a virtualenv that
does not have `wheel` installed in certain cases.
See #349 .
2020-07-01 05:58:34 +00:00
whitequark
adbc947274
docs/install: use pip install --user
on *nix.
2020-07-01 05:06:20 +00:00
whitequark
78c027fb36
docs/install: reduce repetition.
2020-07-01 04:11:51 +00:00
whitequark
7d25bd50c7
README: update to refer to documentation where applicable.
2020-07-01 04:08:02 +00:00
whitequark
20baea401b
docs: reword slightly.
2020-07-01 03:59:16 +00:00
whitequark
9f731d185d
docs: explain how to install GTKWave on Windows.
2020-07-01 03:47:02 +00:00
whitequark
b0dbbb6b2a
CI: build docs on all pushes, update only on master.
2020-07-01 03:37:29 +00:00
whitequark
c20266164d
docs: rewrite install instructions to be easier to understand.
2020-07-01 03:32:17 +00:00
whitequark
39c3bacb79
setup: link to proper location for docs.
2020-06-30 23:13:44 +00:00
whitequark
5048c5efc7
docs: fix syntax.
2020-06-30 22:29:43 +00:00
whitequark
d5c297aa94
docs: fix CI workflow.
2020-06-30 22:28:12 +00:00
whitequark
9928b6067d
docs: explain that pip3 install -e
should be run after pulling.
2020-06-30 22:26:54 +00:00
whitequark
399b8f9863
Add (heavily work in progress) documentation.
...
To render correctly, the docs require:
* pygments/pygments#1441
2020-06-30 22:21:16 +00:00
whitequark
8dacbbb2b2
Don't use pkg_resources.
...
This package is deprecated and introduces a massive amount of startup
latency. On my machine with 264 installed Python packages, it reduces
the time required to `import nmigen` from ~100ms to ~200ms.
2020-06-30 22:11:47 +00:00
whitequark
25ce260207
lib.cdc: update PulseSynchronizer to follow conventions.
...
Fixes #370 .
2020-06-28 05:17:33 +00:00
whitequark
2606ee33ad
back.pysim: simplify.
...
Remove _EvalContext, which was a level of indirection serving almost
no purpose. (The only case where it would be useful is repeatedly
resetting a simulation that, each time it is reset, would create new
signals to communicate with between coroutine processes. In that case
the signal states would not be persisted in _SimulatorState, but
would be removed with the _EvalContext that is recreated each time
the simulation is reset. But this could be solved with a weak map
instead.)
This regresses simulator startup time by 10-15% for unknown reasons
but is necessary to align pysim and future cxxsim.
2020-06-28 05:04:16 +00:00
Alan Green
303ea18cb6
_yosys: handle unparseable versions
...
Do not use yosys binaries with unparseable version numbers. This ensures
that nmigen always knows what version of yosys it is generating RTLIL
for.
The effect of this change is that if the version number of the system
yosys is unparsable, nmigen will attempt to fallback to the builtin
Yosys.
Fixes #409 .
2020-06-23 12:12:02 +00:00
whitequark
706eb03e6b
vendor.lattice_machxo2: add back as a compatibility shim.
2020-06-21 17:28:01 +00:00
Gwenhael Goavec-Merou
0aef5f4d48
vendor.lattice_machxo*: add MachXO3L support.
2020-06-21 17:24:47 +00:00
whitequark
868d49eccd
back.verilog: refactor Yosys script generation. NFCI.
...
In commit 5f30bcbb
, back.cxxsim gained a nicer way to generate
a script; this commit brings it to back.verilog too.
2020-06-14 09:38:32 +00:00
whitequark
5f30bcbb14
back.cxxrtl: allow injecting black boxes.
2020-06-14 09:25:54 +00:00
whitequark
eddc397509
_yosys: add a way to retrieve Yosys data directory.
...
This is important for CXXRTL, since that's where its include files
are located.
2020-06-14 00:31:34 +00:00
whitequark
45c61969fc
_yosys: fix typo in error message.
2020-06-14 00:03:36 +00:00
whitequark
ca360917ba
test: fix example test after commit a7b8ced9
.
2020-06-11 16:36:08 +00:00
whitequark
545e49c2ca
back.cxxrtl: new backend.
2020-06-11 16:19:40 +00:00
whitequark
bddec3741e
_yosys: translate Yosys warnings to Python warnings.
...
This isn't used yet (the only Yosys warning we can get is useless),
but will be handy for CXXRTL.
2020-06-11 16:12:52 +00:00