Robert Jördens
18e3f58c22
sawg: reduce coefficient width
2016-12-08 16:14:32 +01:00
Robert Jördens
598da09a93
sawg: fix latency
2016-12-08 15:53:35 +01:00
Robert Jördens
f4ceace253
test/fir: needs mpl. don't run by default
2016-12-08 15:49:50 +01:00
Robert Jördens
efc95043c4
test/sawg: patch spline
2016-12-08 15:49:23 +01:00
Robert Jördens
3eef6229cc
sawg: use ParallelHBFCascade to AA [WIP]
2016-12-08 15:32:57 +01:00
Robert Jördens
a629eb1665
fir: add ParallelHBFCascade
2016-12-08 15:30:26 +01:00
Robert Jördens
d303225249
fir: add ParallelFIR and test
2016-12-08 15:21:04 +01:00
Robert Jördens
7e0f3edca5
gateware/dsp: add FIR and test
2016-12-07 19:14:23 +01:00
Sebastien Bourdeauducq
4c3717932e
drtio: link layer debugging CSRs
2016-12-07 23:03:14 +08:00
Robert Jördens
5efd0fcea5
sawg: documentation
2016-12-06 19:25:40 +01:00
Sebastien Bourdeauducq
b311830fc4
kc705: fix drtio_aux address conflict
2016-12-06 18:28:48 +08:00
Sebastien Bourdeauducq
4669d3f02f
kc705_drtio_satellite: add MiSoC system, hook up auxiliary controller
2016-12-06 14:56:42 +08:00
Sebastien Bourdeauducq
f4b7d39a69
kc705_drtio_master: hook up auxiliary controller
2016-12-06 14:56:15 +08:00
Sebastien Bourdeauducq
f3c50a37ca
rtio: always read full DMA sequence
2016-12-06 01:05:47 +08:00
Sebastien Bourdeauducq
c413d95b49
rtio: fix DMA get_csrs
2016-12-05 18:12:09 +08:00
Sebastien Bourdeauducq
eb8d630148
rtio: test DMA RTIO wait state
2016-12-05 18:01:48 +08:00
Sebastien Bourdeauducq
b677c69faf
rtio: fix handling of o_status in DMA
2016-12-05 18:01:48 +08:00
Sebastien Bourdeauducq
75ea13748a
rtio: fix DMA data MSB and stop signaling, self-checking unittest
2016-12-05 18:01:48 +08:00
Sebastien Bourdeauducq
43a5455058
rtio: DMA unittest WIP
2016-12-05 18:01:48 +08:00
Sebastien Bourdeauducq
a5834765d0
rtio: more DMA fixes, better stopping mechanism
2016-12-05 18:01:48 +08:00
Sebastien Bourdeauducq
30bce5ad35
rtio: DMA fixes
2016-12-05 18:01:48 +08:00
Sebastien Bourdeauducq
74fe5c3ef0
test: make gateware simulations discoverable
2016-12-05 18:01:48 +08:00
whitequark
668928a16c
runtime: fix a lifetime issue in lwip::Pbuf.
...
This would have allowed a use-after-move (or -free) to typecheck.
2016-12-05 05:24:27 +00:00
whitequark
f68e4ae519
compiler: rein in overzealous cast monomorphization.
2016-12-05 05:08:57 +00:00
whitequark
218720cfa7
Revert "compiler: rein in overzealous cast monomorphization."
...
This reverts commit 4305903dde
.
This broke the monomorphizer/round.py test.
2016-12-05 05:04:26 +00:00
whitequark
4305903dde
compiler: rein in overzealous cast monomorphization.
...
This caused failures on e.g. "int32(var64a >> var64b)", where
the type of the argument is already fully known, but was unified
with the result of the cast anyway.
2016-12-05 04:38:25 +00:00
whitequark
4c94873560
runtime: upgrade lwip to release 2.0.0.
2016-12-05 04:35:02 +00:00
whitequark
b5a684830d
compiler: fix parsing of TList annotations ( fixes #632 ).
2016-12-05 03:18:56 +00:00
Robert Jördens
695eb705b3
sawg: extract spline
2016-12-04 16:52:08 +01:00
Robert Jördens
39becd0b4e
sawg: document
2016-12-04 16:50:49 +01:00
Sebastien Bourdeauducq
88ad054ab6
Merge branch 'drtio'
2016-12-03 23:25:17 +08:00
Sebastien Bourdeauducq
5d145ff912
drtio: add false paths between sys and transceiver clocks
2016-12-03 23:03:01 +08:00
Sebastien Bourdeauducq
4b97b9f8ce
drtio: add clock constraints
2016-12-03 22:17:29 +08:00
Sebastien Bourdeauducq
617f6897a4
runtime: more concise message
2016-12-03 11:17:47 +08:00
Robert Jördens
d6f6ebf066
sawg: demo_2tone
2016-12-02 18:18:47 +01:00
Robert Jördens
a324f4faa1
Merge remote-tracking branch 'm-labs/master' into phaser2
...
* m-labs/master:
compiler: monomorphize int64(round(x)) to not lose precision.
2016-12-02 18:11:29 +01:00
Robert Jördens
87bd2072e8
sawg: round to int64
2016-12-02 18:07:01 +01:00
whitequark
68de724554
compiler: monomorphize int64(round(x)) to not lose precision.
...
This applies to any expression with an indeterminate integer type
cast to int64(), not just round().
2016-12-02 15:02:44 +00:00
Robert Jördens
3d4723353e
Merge branch 'master' into phaser2
...
* master:
dashboard: mention disable in CCB policies
runtime: clear async RPC queue when kernel stops (fixes #631 ).
artiq_devtool: fix incorrect use of nargs in argparse.
2016-12-02 14:12:04 +01:00
Robert Jördens
e747696aaa
Merge remote-tracking branch 'm-labs/phaser2' into phaser2
...
* m-labs/phaser2:
phaser: fix typo
2016-12-02 14:11:56 +01:00
Robert Jördens
cbf1004df3
gateware/phaser -> gateware/ad9154_fmc_ebz
2016-12-02 14:11:41 +01:00
Sebastien Bourdeauducq
6353f6d590
drtio: support different configurations and speeds
2016-12-02 17:22:22 +08:00
Sebastien Bourdeauducq
3cee269afe
phaser: fix typo
2016-12-02 11:06:45 +08:00
Robert Jördens
6e9bc7c05d
sawg: merge set/set64
2016-12-01 16:45:54 +01:00
Robert Jördens
93a853a0e0
test/sawg: non trivial coarse_ref_period
2016-12-01 16:00:06 +01:00
Sebastien Bourdeauducq
3931d8097b
rtio: fix DMA TimeOffset stream.connect
2016-12-01 16:43:46 +08:00
Sebastien Bourdeauducq
d4cb1eb998
kc705: integrate DMA
2016-12-01 16:31:00 +08:00
Sebastien Bourdeauducq
7c59688a12
rtio: simple DMA fixes
2016-12-01 16:30:48 +08:00
Sebastien Bourdeauducq
46dbc44c8f
rtio: export DMA and CRIInterconnectShared
2016-12-01 16:30:29 +08:00
Sebastien Bourdeauducq
6c97a97d8c
rtio: support single-master CRI arbiter
2016-12-01 16:30:11 +08:00
Sebastien Bourdeauducq
a318243083
rtio: CRI arbiter (untested)
2016-12-01 15:41:43 +08:00
Sébastien Bourdeauducq
696db32603
dashboard: mention disable in CCB policies
2016-12-01 11:47:04 +08:00
Sebastien Bourdeauducq
cd3f68ba76
rtio: DMA core (untested)
2016-11-30 18:43:19 +08:00
Robert Jördens
01057dfb6d
test/sawg: check 48 bit frequency
2016-11-30 11:21:25 +01:00
Robert Jördens
ea04fb2704
test/sawg: skip 2tone demo test
2016-11-30 11:02:41 +01:00
Robert Jördens
ed6d1e73cc
sawg: cleanup
2016-11-30 10:52:35 +01:00
Robert Jördens
fb58f31c9d
Revert "sawg: test w/o discrete_compensate"
...
This reverts commit b736dd0df7
.
2016-11-29 20:56:04 +01:00
Robert Jördens
dbf72f5fde
sawg: extend unittests
2016-11-29 20:52:51 +01:00
Robert Jördens
b736dd0df7
sawg: test w/o discrete_compensate
2016-11-29 20:52:02 +01:00
Robert Jördens
d8b5eac856
sawg: style
2016-11-29 20:51:40 +01:00
Robert Jördens
4f813c4977
test/sawg: rtio_output_wide fixes
2016-11-29 18:11:38 +01:00
Robert Jördens
d9dd79fb1a
sawg: int32 artiq python
2016-11-29 17:36:03 +01:00
Robert Jördens
4a03e3fce0
sawg: rtio_output_wide
2016-11-29 17:23:06 +01:00
Robert Jördens
f6fc7f9216
rtio: rtio_output_{list->wide}
2016-11-29 17:22:55 +01:00
Robert Jördens
313aa32779
sawg: artiq-python list scoping
2016-11-29 17:20:02 +01:00
Robert Jördens
c53040e1e4
sawg: work around #632
2016-11-29 17:01:39 +01:00
Robert Jördens
a3d9e21b8c
sawg: artiq-python changes
2016-11-29 16:58:26 +01:00
Robert Jördens
82c651c17a
phaser: remove trivial sawg demo
2016-11-29 15:40:23 +01:00
Robert Jördens
27160f5912
phaser: make sysref input only for timing
2016-11-29 15:28:10 +01:00
Robert Jördens
7816078d6b
phaser/demo: update
2016-11-29 15:11:18 +01:00
whitequark
5b7e068157
runtime: clear async RPC queue when kernel stops ( fixes #631 ).
2016-11-29 14:00:43 +00:00
Robert Jördens
d5d17aca9e
Merge remote-tracking branch 'm-labs/master' into phaser2
...
* m-labs/master:
applets: compatibility with older Qt. Closes #629
doc: update LLVM configure command (fixes #628 ).
runtime: match argument signedness between ARTIQ Python and ksupport.
runtime: refactor rtio_output_list.
runtime: use correct ABI when accepting ARTIQ lists.
2016-11-29 14:49:30 +01:00
Robert Jördens
23fd225947
sawg: spline knot packing/conversion, unittest
2016-11-29 14:49:07 +01:00
whitequark
852598c491
artiq_devtool: fix incorrect use of nargs in argparse.
2016-11-29 13:09:26 +00:00
Sebastien Bourdeauducq
c5b55c1dfe
applets: compatibility with older Qt. Closes #629
2016-11-29 10:45:07 +08:00
Sebastien Bourdeauducq
cf342eca6e
kc705_drtio_master: fix number of fine RTIO timestamp bits
2016-11-29 10:44:27 +08:00
Sebastien Bourdeauducq
f4c6d6eb69
kc705_drtio_master: fix number of fine RTIO timestamp bits
2016-11-28 15:18:54 +08:00
Sebastien Bourdeauducq
85f2467e2c
rtio: fix RTIO/DRTIO timestamp resolution discrepancy
2016-11-28 15:01:46 +08:00
Sebastien Bourdeauducq
9fdd29ddae
drtio: connect KernelInitiator correctly
2016-11-28 14:36:18 +08:00
Sebastien Bourdeauducq
5460202220
drtio: typo
2016-11-28 14:35:21 +08:00
Sebastien Bourdeauducq
4e1b497742
drtio: typo
2016-11-28 14:34:58 +08:00
Sebastien Bourdeauducq
c419c422fa
drtio: support for local RTIO core
2016-11-28 14:33:26 +08:00
Sebastien Bourdeauducq
d37b73fd31
drtio: FIFO timeout is handled in gateware + give remote side more time
2016-11-28 14:33:06 +08:00
Sebastien Bourdeauducq
046b8bfd33
drtio: fix transmit datapath with transceiver width > max packet width
2016-11-27 13:19:12 +08:00
Sebastien Bourdeauducq
b2450c7c56
drtio: test large data
2016-11-27 12:57:12 +08:00
Sebastien Bourdeauducq
0903964488
drtio: large data fixes
2016-11-27 02:12:50 +08:00
whitequark
ea25856d92
runtime: match argument signedness between ARTIQ Python and ksupport.
...
This is only required when reading the ABI very strictly, but better
be conservative here than spend time debugging silly stuff.
2016-11-26 07:25:22 +00:00
whitequark
cf12a888e7
runtime: refactor rtio_output_list.
2016-11-26 07:25:22 +00:00
whitequark
79e70fa465
runtime: use correct ABI when accepting ARTIQ lists.
2016-11-26 07:25:22 +00:00
Sebastien Bourdeauducq
d381dd5384
drtio: remove stale signal from test
2016-11-25 18:33:55 +08:00
Sebastien Bourdeauducq
8090abef5d
drtio: large data support
2016-11-25 17:04:09 +08:00
Robert Jördens
55e37b41ec
phaser: use ttl_simple.Input for sync
2016-11-24 15:55:26 +01:00
Robert Jördens
6fa2a6ebd8
phaser: move ad9154 spi/jesd api to rust
2016-11-24 15:53:14 +01:00
Robert Jördens
8060652913
phaser: use Inout_8X
2016-11-24 15:21:03 +01:00
Robert Jördens
617650f3b2
phaser: extract target
2016-11-24 15:20:51 +01:00
Robert Jördens
1c84d1ee59
Merge branch 'master' into phaser2
...
* master:
rtio: support differential ttl
RELEASE_NOTES: int(a, width=b) removal, use int32/64
pc_rpc: use ProactorEventLoop on Windows (#627 )
2016-11-24 15:05:49 +01:00
Robert Jördens
95c885b580
rtio: support differential ttl
2016-11-24 15:04:12 +01:00
Sebastien Bourdeauducq
7d4297b9bb
pc_rpc: use ProactorEventLoop on Windows ( #627 )
2016-11-24 10:19:13 +08:00
Sebastien Bourdeauducq
8b736ddbc9
drtio: update test
2016-11-24 00:37:53 +08:00
Sebastien Bourdeauducq
7cd27abaa6
drtio: do not reset remote TSC on reset command
2016-11-24 00:09:53 +08:00
Robert Jördens
dab19d23cc
runtime: support rtio data wider than 64 bit
2016-11-23 16:40:52 +01:00
Robert Jördens
fbf60108a8
moninj.rs: force u32 dds_ftws
2016-11-23 16:39:08 +01:00
Robert Jördens
0d5f962d0c
runtime.rs/rtio.rs: style
2016-11-23 23:27:59 +08:00
Robert Jördens
eab18d8e34
runtime.rs: wide rtio data
2016-11-23 23:27:46 +08:00
Sebastien Bourdeauducq
2d62a89143
rtio: use large data register
2016-11-23 23:23:27 +08:00
Sebastien Bourdeauducq
07f2d84275
drtio: remote resets
2016-11-23 23:19:31 +08:00
Sebastien Bourdeauducq
9941f3557d
rtio: use only CRI commands for rio/rio_phy resets
2016-11-23 23:19:14 +08:00
Robert Jördens
a964cf24f2
runtime.rs/rtio.rs: style
2016-11-23 15:03:36 +01:00
Robert Jördens
8cce5d2fcd
runtime.rs: wide rtio data
2016-11-23 15:03:36 +01:00
Robert Jördens
347609d765
rtio: auto clear output event data and address
...
This is to support channels where variable length
event data is well-defined through zero-padding.
E.g. in the case of `Spline` zero-padding of events naturally
corresponds to low-order knots.
Use timestamp change as trigger. This assumes that writes to the
timestamp register always precede address and data writes.
It does not break support for ganged writes of the same event
timestamp and data/address to multiple channels or
channel-addresses.
2016-11-23 15:03:36 +01:00
Robert Jördens
32fdacd95a
Merge remote-tracking branch 'm-labs/master' into phaser2
...
* m-labs/master:
runtime: don't attempt to perform writeback if disabled in kernel.
runtime: print trace level log messages to UART during startup.
runtime: support for targets without RTIO log channel
runtime: support for targets without I2C
kc705: remove stale DDS definition
runtime: show a prompt to erase startup/idle kernels.
2016-11-23 14:56:29 +01:00
Robert Jördens
fec34d605e
runtime.rs/rtio.rs: style
2016-11-23 14:56:20 +01:00
whitequark
4df7941a97
runtime: don't attempt to perform writeback if disabled in kernel.
...
Otherwise, the startup kernel session hangs.
2016-11-23 13:53:40 +00:00
whitequark
cd7527b701
runtime: print trace level log messages to UART during startup.
...
There's no way to retrieve them otherwise if the startup kernel
hangs.
2016-11-23 13:53:40 +00:00
Sebastien Bourdeauducq
d400c81cb2
rtio: remove debug print
2016-11-23 13:37:14 +08:00
Sebastien Bourdeauducq
4e931c7dd2
rtio: fix timestamp shift
2016-11-23 13:36:30 +08:00
Sebastien Bourdeauducq
5a2edef422
drtio: adapt example to new mu/second API
2016-11-23 12:43:17 +08:00
Sebastien Bourdeauducq
cd334c0ecf
Merge branch 'master' into drtio
2016-11-23 12:40:18 +08:00
Sebastien Bourdeauducq
e532261a9b
drtio: fix FullMemoryWE usage
2016-11-23 12:25:43 +08:00
Sebastien Bourdeauducq
0443f83d5e
runtime: support for targets without RTIO log channel
2016-11-23 10:50:55 +08:00
Sebastien Bourdeauducq
cd40d5b107
runtime: support for targets without I2C
2016-11-23 10:50:55 +08:00
Sebastien Bourdeauducq
0c49679984
runtime: support for targets without RTIO log channel
2016-11-23 10:48:26 +08:00
Sebastien Bourdeauducq
3c5a62243d
runtime: support for targets without I2C
2016-11-23 10:43:33 +08:00
Sebastien Bourdeauducq
ffefdb9269
rtio: fix counter readback
2016-11-23 00:54:47 +08:00
Sebastien Bourdeauducq
aa00627c0e
rtio: fix CRI CSRs
2016-11-22 22:57:04 +08:00
Sebastien Bourdeauducq
fbd83cf9ee
kc705: remove stale DDS definition
2016-11-22 22:48:22 +08:00
Sebastien Bourdeauducq
9acc7d135e
gateware: common RTIO interface
2016-11-22 22:46:50 +08:00
Sebastien Bourdeauducq
0aaf120ca7
kc705: remove stale DDS definition
2016-11-22 22:46:19 +08:00
whitequark
965fdd35e5
runtime: show a prompt to erase startup/idle kernels.
2016-11-22 14:45:40 +00:00
Robert Jördens
6799bb097a
sawg: adapt to int32/int64 change
2016-11-22 11:57:34 +01:00
Sebastien Bourdeauducq
7498c8bba0
Merge branch 'master' into drtio
2016-11-22 16:07:30 +08:00
Sebastien Bourdeauducq
3459793586
Merge branch 'master' into drtio
2016-11-22 15:15:22 +08:00
Robert Jördens
5e900cf42a
runtime.rs: wide rtio data
2016-11-21 23:12:16 +01:00
Robert Jördens
4cd2b36995
Merge branch 'phaser' into phaser2
...
* phaser:
runtime: replace a (deliberate) memory leak with an interner.
compiler: disable remarks.
runtime: rewrite i2c support code in Rust.
runtime: rewrite rtio support code in Rust.
2016-11-21 23:11:52 +01:00
Robert Jördens
feb95bf3cf
Merge branch 'master' into phaser
...
* master:
runtime: replace a (deliberate) memory leak with an interner.
compiler: disable remarks.
runtime: rewrite i2c support code in Rust.
runtime: rewrite rtio support code in Rust.
2016-11-21 22:26:52 +01:00
whitequark
1d1e821a74
runtime: replace a (deliberate) memory leak with an interner.
2016-11-21 19:47:56 +00:00
whitequark
ac997daf95
compiler: disable remarks.
2016-11-21 19:12:11 +00:00
whitequark
18b7ccea4e
runtime: rewrite i2c support code in Rust.
2016-11-21 18:25:43 +00:00
whitequark
a825584ac0
runtime: rewrite rtio support code in Rust.
2016-11-21 17:13:09 +00:00
Robert Jördens
4160490e0a
Merge branch 'phaser' into phaser2
...
* phaser: (23 commits)
RELEASE_NOTES: update
pipistrello: add some inputs
Remove last vestiges of nist_qc1.
Fully drop AD9858 and kc705-nist_qc1 support (closes #576 ).
coredevice.dds: reimplement fully in ARTIQ Python.
compiler: unbreak casts to int32/int64.
analyses.constness: fix false positive on x[...].
inferencer: significantly improve the op-assignment diagnostic.
Fix tests.
Move mu_to_seconds, seconds_to_mu to Core.
artiq_devtool: don't crash on invalid utf-8.
artiq_devtool: detect a race condition during connect.
llvm_ir_generator: handle no-op coercions.
conda: use development version of migen/misoc
Revert accidentally committed code.
Revert "gateware: increase RTIO FIFO sizes for NIST_CLOCK. Closes #623 "
analyses.invariant_detection: implement (#622 ).
Fix whitespace.
coredevice.dds: work around the round(numpy.float64()) snafu.
coredevice.dds: update from obsolete int(width=) syntax (fixes #621 ).
...
2016-11-21 17:29:46 +01:00
Robert Jördens
f7e8961ab0
Merge branch 'master' into phaser
...
* master: (23 commits)
RELEASE_NOTES: update
pipistrello: add some inputs
Remove last vestiges of nist_qc1.
Fully drop AD9858 and kc705-nist_qc1 support (closes #576 ).
coredevice.dds: reimplement fully in ARTIQ Python.
compiler: unbreak casts to int32/int64.
analyses.constness: fix false positive on x[...].
inferencer: significantly improve the op-assignment diagnostic.
Fix tests.
Move mu_to_seconds, seconds_to_mu to Core.
artiq_devtool: don't crash on invalid utf-8.
artiq_devtool: detect a race condition during connect.
llvm_ir_generator: handle no-op coercions.
conda: use development version of migen/misoc
Revert accidentally committed code.
Revert "gateware: increase RTIO FIFO sizes for NIST_CLOCK. Closes #623 "
analyses.invariant_detection: implement (#622 ).
Fix whitespace.
coredevice.dds: work around the round(numpy.float64()) snafu.
coredevice.dds: update from obsolete int(width=) syntax (fixes #621 ).
...
2016-11-21 17:29:39 +01:00
Robert Jördens
ad264ac070
phaser: 300 MHz sample rate clock/dac
2016-11-21 16:58:07 +01:00
Sebastien Bourdeauducq
93c310dfa5
pipistrello: add some inputs
2016-11-21 23:43:41 +08:00
whitequark
6aa5d9f6c6
Remove last vestiges of nist_qc1.
2016-11-21 15:36:22 +00:00
whitequark
5e8888d5f3
Fully drop AD9858 and kc705-nist_qc1 support ( closes #576 ).
2016-11-21 15:14:17 +00:00
whitequark
f4b7666768
coredevice.dds: reimplement fully in ARTIQ Python.
...
This commit also drops AD9858 support from software.
2016-11-21 15:13:26 +00:00
whitequark
55ea68da7f
compiler: unbreak casts to int32/int64.
2016-11-21 14:20:28 +00:00
whitequark
53b7d59b6a
analyses.constness: fix false positive on x[...].
2016-11-21 14:20:26 +00:00
whitequark
35f4449ef2
inferencer: significantly improve the op-assignment diagnostic.
...
Before this commit, it displayed incorrect output if an error
appeared on 2nd run and beyond, and displayed messages for trying
to do "num32 -= num64" that made very little sense.
2016-11-21 14:20:24 +00:00
Robert Jördens
b3e4a1df03
sawg: adapt basic example
2016-11-21 13:17:01 +01:00
Robert Jördens
c73b1af7ab
coredevice/sawg: missing comma
2016-11-21 13:16:44 +01:00
Robert Jördens
b226dbd257
sawg: unittest data format
2016-11-21 12:35:57 +01:00
Robert Jördens
2f838e3512
rtio: fix i_data/o_data csr endianess
2016-11-21 12:15:26 +01:00
Robert Jördens
174c4be218
phaser: false paths sys<->{jesd,phy.tx}
2016-11-21 09:57:33 +01:00
whitequark
3485c83429
Fix tests.
2016-11-21 06:40:47 +00:00
whitequark
009d396740
Move mu_to_seconds, seconds_to_mu to Core.
2016-11-21 05:37:30 +00:00
whitequark
06ea76336d
artiq_devtool: don't crash on invalid utf-8.
2016-11-21 05:37:27 +00:00
whitequark
b562b0fbc4
artiq_devtool: detect a race condition during connect.
2016-11-21 03:10:41 +00:00
whitequark
7af41bd29c
llvm_ir_generator: handle no-op coercions.
2016-11-21 02:25:34 +00:00
Robert Jördens
9221a275cb
sawg: kernel support (wip)
2016-11-20 16:39:53 +01:00
Robert Jördens
74e5013fe5
sawg: fix b delay width
2016-11-20 16:39:22 +01:00
whitequark
cdb29f9caa
Revert accidentally committed code.
2016-11-20 14:32:59 +00:00
Sebastien Bourdeauducq
ad1049d59a
Revert "gateware: increase RTIO FIFO sizes for NIST_CLOCK. Closes #623 "
...
This reverts commit 4a62e09bd4
.
2016-11-20 21:35:07 +08:00
whitequark
f5cca6b09e
analyses.invariant_detection: implement ( #622 ).
2016-11-20 12:48:26 +00:00
whitequark
30598720f4
Fix whitespace.
2016-11-20 09:50:00 +00:00
whitequark
abf2b32b20
coredevice.dds: work around the round(numpy.float64()) snafu.
2016-11-20 09:49:58 +00:00
whitequark
d7f4397924
coredevice.dds: update from obsolete int(width=) syntax ( fixes #621 ).
2016-11-20 09:49:39 +00:00
David Leibrandt
4a62e09bd4
gateware: increase RTIO FIFO sizes for NIST_CLOCK. Closes #623
2016-11-20 15:22:32 +08:00
Robert Jördens
12e39a64cf
sawg: reduce f0 oscillator width to 32
2016-11-19 17:07:07 +01:00
Robert Jördens
04813ea29b
sawg: wir up limiting, saturating addition
2016-11-19 16:12:27 +01:00
Robert Jördens
e53d0bcd5b
dsp: add limits support to SatAddMixin
2016-11-19 16:12:27 +01:00
Robert Jördens
97a54046e8
rtio: auto clear output event data and address
...
This is to support channels where variable length
event data is well-defined through zero-padding.
E.g. in the case of `Spline` zero-padding of events naturally
corresponds to low-order knots.
Use timestamp change as trigger. This assumes that writes to the
timestamp register always precede address and data writes.
It does not break support for ganged writes of the same event
timestamp and data/address to multiple channels or
channel-addresses.
2016-11-19 16:12:27 +01:00
Robert Jördens
b714137f76
phaser: 150 MHz rtio/jesd clock
2016-11-19 13:16:30 +01:00
Sebastien Bourdeauducq
02adae7397
drtio: fix link shutdown
2016-11-19 11:01:33 +08:00
Sebastien Bourdeauducq
abd1b2a94e
drtio: wait longer for remote (bruteforce clock aligner can be slow)
2016-11-19 11:01:09 +08:00
Sebastien Bourdeauducq
381e58434f
drtio: handle link restarts at transceiver level
2016-11-19 10:46:56 +08:00
Robert Jördens
0ee47e77ae
phaser: fix widths
2016-11-18 17:24:11 +01:00
Robert Jördens
bcde26f990
Revert "phaser: cap phy data width to 64 temporarily"
...
This reverts commit 342b9e977e
.
2016-11-18 17:08:44 +01:00
Robert Jördens
641f07119f
runtime: support rtio data wider than 64 bit
2016-11-18 17:08:33 +01:00
Sebastien Bourdeauducq
ba94ed8f4b
drtio: check for absence of disparity errors before claiming RX ready
2016-11-19 00:05:59 +08:00
Robert Jördens
342b9e977e
phaser: cap phy data width to 64 temporarily
2016-11-18 15:46:59 +01:00
Robert Jördens
14ddcd2e30
Revert "dsp/Delay: reset_less"
...
for now
This reverts commit 98193d6fa1
.
2016-11-18 15:25:42 +01:00
Robert Jördens
d678bb3fb6
phaser: update sawg tests
2016-11-18 15:23:56 +01:00
Sebastien Bourdeauducq
4d07974a34
drtio: reset link from CPU
2016-11-18 17:45:33 +08:00
Sebastien Bourdeauducq
f040e27041
drtio: add timeout on FIFO get space request
2016-11-18 17:44:48 +08:00
whitequark
c7844d5223
runtime: use proper format for git commit.
...
Fixes #620 .
2016-11-17 15:20:21 +00:00
Sebastien Bourdeauducq
bb047aabe9
drtio: simpler link layer
2016-11-17 22:32:39 +08:00
Robert Jördens
51f23feeac
dsp: implement sawg features
2016-11-17 03:20:37 +01:00
Robert Jördens
98193d6fa1
dsp/Delay: reset_less
2016-11-17 02:36:29 +01:00
Robert Jördens
424a1f8f4e
dsp: move test tools
2016-11-16 13:39:19 +01:00
Sebastien Bourdeauducq
09363e1da8
drtio: aux controller unittest
2016-11-16 19:45:28 +08:00
Sebastien Bourdeauducq
140bb0ecee
drtio: aux controller fixes
2016-11-16 19:44:03 +08:00
Sebastien Bourdeauducq
7fa9a4efc3
drtio: aux controller unittest WIP
2016-11-15 12:02:53 +08:00
Sebastien Bourdeauducq
6c9965b444
drtio: aux controller fixes
2016-11-15 12:02:41 +08:00
Sebastien Bourdeauducq
e1394db861
drtio: aux controller minor fixes
2016-11-14 17:26:30 +08:00
Sebastien Bourdeauducq
84bd962ed5
drtio: integrate aux controller
2016-11-14 17:20:47 +08:00
Sebastien Bourdeauducq
a4d92716da
drtio: fix aux receiver, add aux transmitter
2016-11-14 17:18:54 +08:00
Robert Jördens
b9ce2bb1f0
Merge branch 'phaser' into phaser2
...
* phaser: (127 commits)
phaser: use misoc cordic
phaser: fix DDS dummy cfg
runtime: disable the Nagle algorithm entirely.
runtime: buffer RPC send packets.
runtime: don't print debug messages to the UART.
runtime: print microsecond timestamps in debug messages.
artiq_devtool: abort if build failed.
conda: bump llvmlite-artiq dep.
conda: bump llvmlite-artiq dep.
llvm_ir_generator: use !{→unconditionally.}invariant.load metadata.
artiq_devtool: more robust port forwarding.
setup: remove paramiko dependency (optional and developer-only)
artiq_devtool: implement.
artiq_compile: actually disable attribute writeback.
conda: use pythonparser 1.0.
conda: tighten pythonparser dependency (fixes #600 ).
doc: clarify kernel_invariant doc (fixes #609 ).
compiler: Emit all-kernel_invariant objects as LLVM constants
conda: update for LLVM 3.9.
add has_dds, use config flags
...
2016-11-13 17:30:37 +01:00
Robert Jördens
70a70320bd
phaser: use misoc cordic
2016-11-13 17:29:38 +01:00
Robert Jördens
2e482505c6
phaser: fix DDS dummy cfg
2016-11-13 17:08:59 +01:00
Sebastien Bourdeauducq
f2f131e0fb
drtio: add aux receiver (untested)
2016-11-14 00:04:53 +08:00
Robert Jördens
aedb6747f2
Merge branch 'master' into phaser
...
* master: (47 commits)
runtime: disable the Nagle algorithm entirely.
runtime: buffer RPC send packets.
runtime: don't print debug messages to the UART.
runtime: print microsecond timestamps in debug messages.
artiq_devtool: abort if build failed.
conda: bump llvmlite-artiq dep.
conda: bump llvmlite-artiq dep.
llvm_ir_generator: use !{→unconditionally.}invariant.load metadata.
artiq_devtool: more robust port forwarding.
setup: remove paramiko dependency (optional and developer-only)
artiq_devtool: implement.
artiq_compile: actually disable attribute writeback.
conda: use pythonparser 1.0.
conda: tighten pythonparser dependency (fixes #600 ).
doc: clarify kernel_invariant doc (fixes #609 ).
compiler: Emit all-kernel_invariant objects as LLVM constants
conda: update for LLVM 3.9.
add has_dds, use config flags
Revert "Revert "Revert "Revert "Update for LLVM 3.9.""""
Revert "Revert "Revert "Update for LLVM 3.9."""
...
2016-11-13 16:54:28 +01:00
whitequark
18c394976e
runtime: disable the Nagle algorithm entirely.
...
See also commit feed91d; that commit fixed the test_rpc_timing test,
but caused frequent hangs elsewhere, which were also caused by buggy
Nagle implementation. Just disable this entirely, as with our
explicit buffering it provides no benefit anyway.
2016-11-13 00:33:24 +00:00
whitequark
feed91d8b2
runtime: buffer RPC send packets.
...
This brings mean RPC time from ~45ms to ~2ms.
The cause of the slowness without buffering is, primarily, that lwip
is severely pessimized by small writes, whether with Nagle on or off.
(In fact, disabling Nagle makes it function *better* on many small
writes, which begs the question of what's the point of having Nagle
there in the first place.) In practical terms, the slowness appears
only when writing a 4-byte buffer (the synchronization segment);
writing buffers of other sizes does not trigger the problem.
This all is extremely confusing and the fix is partly palliative,
but since it seems to work reliably and we're migrating off lwip
I think it is unwise to spend any more time debugging this.
2016-11-12 23:06:33 +00:00
whitequark
3ce1826891
runtime: don't print debug messages to the UART.
...
It takes ~4ms to print an empty log line because of how slow
the UART is. This makes the log timestamps useless for debugging
performance problems.
After this commit, it takes ~75us to print an empty log line instead,
which pessimizes test_rpc_timing by less than 2ms with tracing
enabled.
2016-11-12 20:26:32 +00:00
whitequark
acc5e53b32
runtime: print microsecond timestamps in debug messages.
2016-11-12 20:26:32 +00:00
whitequark
dca3fb5c96
artiq_devtool: abort if build failed.
2016-11-12 20:26:32 +00:00
whitequark
d3ee858d16
llvm_ir_generator: use !{→unconditionally.}invariant.load metadata.
...
This helps LICM, among other things.
2016-11-12 04:08:58 +00:00
whitequark
8b6418c604
artiq_devtool: more robust port forwarding.
2016-11-11 15:22:07 +00:00
whitequark
3b6cbb1f06
artiq_devtool: implement.
2016-11-10 20:25:15 +00:00
whitequark
0e76cbc414
artiq_compile: actually disable attribute writeback.
...
I wrote both halves of this condition but forgot to hook
them together.
Fixes #586 .
2016-11-10 01:04:36 +00:00
David Nadlinger
bfbdba9205
compiler: Emit all-kernel_invariant objects as LLVM constants
...
This enables constant propagation optimisations, as verified by
the included test case. This is only a first stop-gap measure, though;
we should support optimisation based on kernel invariants on a more
fine-grained level.
2016-11-09 14:50:48 +00:00
Sebastien Bourdeauducq
8a48d6d66e
drtio: fix typo
2016-11-09 22:15:42 +08:00
Sebastien Bourdeauducq
863934c4fa
drtio: more reliable link layer init
2016-11-09 22:03:47 +08:00
Sebastien Bourdeauducq
c92ccd3b5b
drtio: add pulse rate example
2016-11-09 15:29:15 +08:00
Sebastien Bourdeauducq
60e748eabe
drtio: better LED demo
2016-11-09 14:53:45 +08:00
Sebastien Bourdeauducq
d547c5d922
drtio: fix example ref_period
2016-11-09 14:44:01 +08:00
Sebastien Bourdeauducq
99ad9b5917
add has_dds, use config flags
2016-11-08 23:33:03 +08:00
whitequark
ec8fe6f8bd
Revert "Revert "Revert "Revert "Update for LLVM 3.9.""""
...
This reverts commit 7b81ed1d18
.
2016-11-08 14:22:47 +00:00
whitequark
7b81ed1d18
Revert "Revert "Revert "Update for LLVM 3.9."""
...
This reverts commit 0d7688017b
.
2016-11-08 12:58:20 +00:00
whitequark
a8fd697d41
runtime: unbreak 453e8b7
.
...
Running
rustc --cfg 'foo="1"'
does not result in a statement of the form
do_thing()
to be compilex in.
2016-11-08 12:57:06 +00:00
whitequark
e0297039c9
artiq_run: fix bitrot in .ll/.bc runners.
2016-11-08 12:08:20 +00:00
whitequark
0d7688017b
Revert "Revert "Update for LLVM 3.9.""
...
This reverts commit 5f5975844a
.
2016-11-08 11:59:16 +00:00
whitequark
798a5f70df
Revert "runtime: remove some redundant libm functions copied inline."
...
This reverts commit fee75bd50f
.
LLVM does not have lround as a libcall and this inhibits LICM.
2016-11-08 11:54:17 +00:00
Sebastien Bourdeauducq
95acc9b9d4
drtio: allow specifying 7series RXSynchronizer initial phase
2016-11-08 16:52:40 +08:00
Sebastien Bourdeauducq
bcb5053fb6
drtio: fix master TSC KCSR readout
2016-11-08 16:40:50 +08:00
Sebastien Bourdeauducq
651d538217
Merge branch 'master' into drtio
2016-11-08 16:11:18 +08:00
Sebastien Bourdeauducq
8c86920364
drtio: add examples
2016-11-08 16:11:10 +08:00
David Nadlinger
6e77f65d50
compiler: Clarify recv_rpc value names and documentation [nfc]
...
Previously, the phi emitted for the pointer parameter to recv_rpc was –
rather confusingly – called "size", and the pseudo-code in the comment
had bit-rotted.
Signed-off-by: David Nadlinger <code@klickverbot.at>
2016-11-07 14:38:21 +00:00
Sebastien Bourdeauducq
78f18a12eb
runtime: basic DRTIO init code
2016-11-07 19:34:34 +08:00
Sebastien Bourdeauducq
453e8b7eb3
runtime: support configurations without moninj, log or dds
2016-11-06 23:53:10 +08:00
Sebastien Bourdeauducq
266ae292d9
runtime: support configurations without moninj, log or dds
2016-11-06 23:52:27 +08:00
Sebastien Bourdeauducq
c4cd269afc
Merge branch 'master' into drtio
2016-11-06 00:13:32 +08:00
Robert Jördens
d158c69be0
phaser: fix frequency comment
2016-11-05 16:54:23 +01:00
Sebastien Bourdeauducq
47b9868c68
kc705_drtio_master: pretend drtio is rtio
2016-11-05 23:48:29 +08:00
Sebastien Bourdeauducq
de065b7578
kc705_drtio_satellite: set output dir
2016-11-05 23:48:15 +08:00
David Nadlinger
7dcc987dd7
compiler: Fix break/continue targets in loop else blocks
...
Previously, they would still target the respective labels in the
just-exited loop.
Signed-off-by: David Nadlinger <code@klickverbot.at>
2016-11-05 02:35:01 +00:00
Sebastien Bourdeauducq
de47123737
drtio: connect RST and LOCKED on 7series RXSynchronizer MMCM
2016-11-05 00:24:49 +08:00
Sebastien Bourdeauducq
5019b03f10
drtio: add echo and packet count test
2016-11-04 22:24:35 +08:00
Sebastien Bourdeauducq
df7294792c
drtio: break some RT features into manager, add echo request CSR
2016-11-04 19:38:24 +08:00
Sebastien Bourdeauducq
1145a193dd
drtio: fix ack of echo and set_time requests
2016-11-04 18:36:43 +08:00
Sebastien Bourdeauducq
3da1cce783
drtio: add packet counters
2016-11-04 17:53:42 +08:00
Sebastien Bourdeauducq
8ec73cb9ec
dashboard: pack moninj widgets ( #603 )
2016-11-04 16:20:46 +08:00
Sebastien Bourdeauducq
747da3da15
drtio: differentiate local and remote unknown packet type errors
2016-11-04 15:17:19 +08:00
Sebastien Bourdeauducq
f76aa249ce
drtio: squelch 7series RXSynchronizer outputs when MMCM is unlocked
2016-11-04 15:16:48 +08:00
Sebastien Bourdeauducq
6a75837261
drtio: fix link_layer remote RX ready detection
2016-11-03 20:15:04 +08:00
Sebastien Bourdeauducq
1d027ffa95
drtio: fix gtx_7series comma alignment
2016-11-03 20:14:11 +08:00
Sebastien Bourdeauducq
a4ba34bb2c
drtio: cleanup test_full_stack
2016-11-03 20:13:31 +08:00
Sebastien Bourdeauducq
ba58a8affd
drtio/gtx_7series: paranoid reset deglitching
2016-11-02 18:30:22 +08:00
whitequark
00100148f1
Si5324: actually write value of N32 into registers.
2016-11-02 07:09:04 +00:00