Commit Graph

3535 Commits

Author SHA1 Message Date
whitequark a12876b239 firmware: update Cargo.lock. 2017-02-21 05:28:48 +00:00
whitequark 1dabe05c5a artiq_devtool: add clean command and --config option. 2017-02-21 05:28:19 +00:00
Sebastien Bourdeauducq c66efc0279 moninj: do not require a rsys clock domain 2017-02-20 15:52:48 +08:00
Robert Jördens e323e37829 pcu: refactor into a device 2017-02-19 19:34:55 +01:00
Robert Jördens b05d1bb7e3 coreanalyzer: fix corner case crash 2017-02-19 19:28:13 +01:00
Robert Jördens 1573ff5fc1 coreanalyzer: add WB stb signal 2017-02-18 14:53:10 +01:00
Robert Jördens 039ced6637 coreanalyzer: use VCD scopes for DDS/SPI 2017-02-18 14:25:01 +01:00
Robert Jördens 7519408857 coreanalyzer: add SPIMaster support 2017-02-18 14:13:20 +01:00
Robert Jördens 41e8acf3ad coreanalyzer handle input events without timestamp
Offset the timeline by the first non-zero timestamp.
2017-02-18 14:12:02 +01:00
Robert Jördens bc3fc26e34 coredevice: expose PCU 2017-02-18 14:09:12 +01:00
Robert Jördens 6b5b679659 libboard: PCU regs 2017-02-18 14:09:12 +01:00
Robert Jördens c022b53578 kernel_cpu: enable perf counters 2017-02-18 14:09:12 +01:00
Sebastien Bourdeauducq 9501d37378 firmware: wait longer for Si5324 lock + more monitoring 2017-02-18 17:24:46 +08:00
Sebastien Bourdeauducq 7e8348a73e si5324: fix error handling 2017-02-18 14:12:18 +08:00
Sebastien Bourdeauducq 59e79673f7 satman: program Si5324 BWSEL depending on frequency 2017-02-18 14:12:01 +08:00
Sebastien Bourdeauducq 0bfce37fae satman: do not use Si5324 automatic clock switching
The Si5324 is easily confused by the broken clock generated during link
initialization with BruteforceClockAligner. This commit prevents this problem.
2017-02-18 13:32:40 +08:00
Sebastien Bourdeauducq bd55436668 protocols: increase asyncio line limit. Closes #671 2017-02-17 20:46:23 +08:00
whitequark 52a046d0fd conda: roll cargo back to 0.11.0, then fix revision of compiler_builtins. 2017-02-05 15:25:43 +00:00
whitequark 25c9b8827a firmware: mark __artiq_{re,}raise as #[unwind].
This is required for correctness.
2017-02-05 09:04:22 +00:00
whitequark f94028b8df Fix c39394b. 2017-02-04 16:23:32 +00:00
Sebastien Bourdeauducq 3eef0bcc1a firmware: give si5324 more time to lock 2017-02-04 19:19:25 +08:00
Sebastien Bourdeauducq 935799dfb7 drtio: fix satellite transceiver clocking 2017-02-04 19:18:35 +08:00
whitequark c39394b4d5 firmware: port the exception handling routines to Rust. 2017-02-04 08:21:07 +00:00
whitequark b9cbedceb1 firmware: migrate last vestiges of the old runtime build system. 2017-02-03 12:59:35 +00:00
whitequark cde2054926 firmware: do not link to C code in runtime and satman. 2017-02-03 12:12:41 +00:00
whitequark fd8b11532f compiler, firmware: use Pascal strings everywhere.
This removes a large amount of very ugly code, and also simplifies
the compiler and runtime.
2017-02-03 11:53:27 +00:00
Chris Ballance e13d8919ff Correct tooltip inconsistency between browser and dashboard 2017-02-03 17:53:40 +08:00
Chris Ballance 639066c6d8 Add tooltips to experiment arguments 2017-02-03 17:53:40 +08:00
whitequark f48cf9d9a0 firmware: use libcompiler_builtins to build satman. 2017-02-03 08:11:42 +00:00
whitequark 4164fc880e artiq_devtool: add support for switching targets. 2017-02-03 07:42:06 +00:00
Sebastien Bourdeauducq a8ecbd6041 firmware: do not attempt to build Si5324 code when gateware does not support it 2017-02-03 12:27:13 +08:00
Sebastien Bourdeauducq 6fe1c9ff45 firmware: read back reserved bits from Si5324, use SFOUT2_REG=b001 instead of reserved b000 2017-02-03 12:24:13 +08:00
Sebastien Bourdeauducq f6e9d571c2 satman: use rust liballoc 2017-02-03 12:23:38 +08:00
Sebastien Bourdeauducq d181989de9 drtio: reset Si5324 at each boot 2017-02-03 12:00:58 +08:00
Sebastien Bourdeauducq b3697f951a drtio: forward clocks to SMA connectors for debugging 2017-02-03 12:00:36 +08:00
Sebastien Bourdeauducq aafefee7f5 targets: make number of ethmac slots consistent 2017-02-02 23:02:51 +08:00
Sebastien Bourdeauducq 90ac915dd1 firmware: do not clear si5324 reserved bit 2017-02-02 20:54:50 +08:00
Sebastien Bourdeauducq 6bea253f82 firmware: fix misleading si5324 comment 2017-02-02 20:53:39 +08:00
whitequark 9c93c760fc firmware: do not use PIC in Rust code.
This fixes test_pulse_rate and test_pulse_rate_dds by making
rtio_output slightly faster.
2017-02-02 12:22:55 +00:00
whitequark 259319e456 firmware: use compiler_builtins crate instead of our compiler-rt.
This cannot be done for ksupport yet because compiler_builtins
misses most soft-float operations.
2017-02-02 10:55:35 +00:00
whitequark 44a9a79f96 firmware: port allocator to Rust. 2017-02-02 10:55:35 +00:00
Sebastien Bourdeauducq f512ea42dc drtio: initialize si5324 in firmware 2017-02-02 18:11:24 +08:00
Sebastien Bourdeauducq 3488b4a857 firmware: si5324 cleanups/fixes 2017-02-02 18:11:00 +08:00
whitequark 3b54736c02 firmware: port flash storage management to Rust. 2017-02-02 05:26:06 +00:00
whitequark 0df8a24135 Fix c2cf60e. 2017-02-02 01:08:20 +00:00
whitequark c2cf60e7f6 firmware: use the cslice crate to get rid of unsafe code in ksupport. 2017-02-02 00:51:58 +00:00
whitequark 9a9a3aa7de firmware: remove unnecessary inline assembly in libboard. 2017-02-02 00:21:34 +00:00
whitequark f3b2610ffc Fix bc22d1c. 2017-02-01 01:56:39 +00:00
whitequark 6fd149f048 Show a message when interrupting a running kernel (except idle kernel).
Fixes #625.
2017-01-31 22:53:38 +00:00
whitequark bc22d1c009 firmware: libksupport → ksupport.
The idea is that support libraries are called lib*, and the final
products that linked into an executable are not.
2017-01-31 22:24:37 +00:00
whitequark 7a14cf503b firmware: fix a warning. 2017-01-31 22:19:45 +00:00
whitequark 680a7067a8 firmware: use ? instead of try! everywhere. 2017-01-31 22:18:59 +00:00
whitequark ee1b2fa3ea compiler: swap the order of ptr/len fields in lists.
This is to make them match the Rust slices.
Once the cslice crate becomes #![no_std] we'll also use its (tidier)
conversion functions.
2017-01-31 22:11:13 +00:00
whitequark ab71c9a0ba compiler: the len builtin is not polymorphic, coerce the result.
Fixes #659.
2017-01-31 21:28:20 +00:00
whitequark 6acdcbb82a Fix 2f37b1d. 2017-01-30 10:25:11 +00:00
whitequark 2f37b1d1c0 compiler: support methods defined on singleton instances.
Fixes #638.
2017-01-30 10:10:21 +00:00
whitequark b95db4fa4e Use four ethmac buffers instead of two.
This should address an issue where the host sends a packet burst,
the second packet in a burst gets dropped, the rest also gets
dropped since smoltcp doesn't do reassembly, and the entire dance
is repeated on every retransmit.
2017-01-30 07:42:27 +00:00
whitequark 3a19a9fb77 firmware: minor cleanup in board::si5324. 2017-01-30 07:29:44 +00:00
Sebastien Bourdeauducq 9800acea92 drtio: program Si5324 for 150MHz in 3G config 2017-01-30 14:50:12 +08:00
Sebastien Bourdeauducq 7daab07a29 drtio: fix syntax/import 2017-01-30 13:01:45 +08:00
Sebastien Bourdeauducq d8e9949266 drtio: initialize AD9516 clock chip 2017-01-30 11:06:45 +08:00
Sebastien Bourdeauducq 54295b1699 firmware: use has_ad9154 instead of has_converter_spi for conditional compilation
DRTIO designs do not have a JESD core yet, so we need to support converter SPI buses with only the clock chip.
2017-01-30 11:03:55 +08:00
Sebastien Bourdeauducq f6024b6c9a drtio: fix ad9154 extension registration 2017-01-30 10:59:22 +08:00
Sebastien Bourdeauducq 3aced46b19 dashboard: report lost connection with master. Closes #602 2017-01-30 10:48:27 +08:00
Sebastien Bourdeauducq dcea48a52d protocols/broadcast,sync_struct: add disconnect callback 2017-01-30 10:47:56 +08:00
Sebastien Bourdeauducq 43aad0914e python3.5 -> python3
Many things also work with Python 3.6.
2017-01-30 09:24:43 +08:00
Sebastien Bourdeauducq 657afd770e artiq/test/gateware -> artiq/gateware/test
This allows gateware simulations to be skipped or not considered for coverage when using test discovery.
2017-01-30 09:00:55 +08:00
whitequark be0953d98f firmware: unbreak Io::sleep().
Fixes #663.
2017-01-27 18:18:02 +00:00
Sebastien Bourdeauducq 82c4c61290 fix 7b2eba9f 2017-01-27 23:44:59 +08:00
Sebastien Bourdeauducq 94b0783897 drtio: remove support for transceiver SMAs
Passive SFP cables do not require bitstream rebuilds and do not cause weird transceiver failures.
2017-01-27 23:33:50 +08:00
Sebastien Bourdeauducq 7b2eba9fbd firmware: misoc_registers -> misoc_cfg 2017-01-27 23:28:00 +08:00
Sebastien Bourdeauducq 11994d1900 satman: unbreak build 2017-01-27 23:26:40 +08:00
Sebastien Bourdeauducq 6acb8021e1 satman: remove stale reference to main.c 2017-01-27 23:24:07 +08:00
whitequark 6891b5fcfd firmware: accept sessions even when startup kernel is running.
Fixes #625.
Fixes #649.
2017-01-27 13:46:32 +00:00
whitequark 24ce9a057b firmware: add missing try!. 2017-01-27 13:46:32 +00:00
whitequark 74b910e97d In case of a load error, pass the reason to host interpreter.
Fixes #654.
2017-01-27 12:49:48 +00:00
whitequark 609fd3d902 test: skip test_clock_generator_loopback as well.
Both tests pass locally, which means there's some conda screwup
that prevents them from working on CI.
2017-01-27 11:47:26 +00:00
whitequark c529cefc89 conda: bump llvmlite-artiq dependency. 2017-01-27 11:14:53 +00:00
Robert Jördens c659c2e551 Relicense ARTIQ as LGPLv3+ (closes #570)
Kelly Stevens: 1481043941095.63542@gtri.gatech.edu
David Nadlinger: E7C03799-5D45-4C03-9DF9-029FE2B4F12B@klickverbot.at
whitequark: 69d1ca29d5ab03fbcfb446d65cbe1150@mail.whitequark.org
Felix Held: 9145cc19-2319-3516-b2a9-dde60aef11f7@felixheld.de
Robert Jordens: CANb+zoFgXVYgCji_vXPauK-fnnYKpm_QioMnvmh=hvLFWQONWA@mail.gmail.com
Daniel Slichter: BL2PR09MB1010FE3D3A325E889AD70A2591820@BL2PR09MB1010.namprd09.prod.outlook.com
Joe Britton: CAE2_b1V60_6PJ3VYx_s-p5XVfKJUx8kbQA7VwD3MdcmHdzROGw@mail.gmail.com
Florent Kermarrec: CA+96J6JHM8yZM=RYaporU36NdyOTL3BeSuO9oM8TTtdnXiJ5jw@mail.gmail.com
Zach Smith: CAAJ=EH+OzDs_rBJ_zTjbOZmumEZWONX2MSFUasJwf8josJGdkw@mail.gmail.com
David Leibrandt: CY1PR09MB0921C628EC76CDFC4CC7F64F95820@CY1PR09MB0921.namprd09.prod.outlook.com
Raghavendra Srinivas: DM5PR09MB1531C49EEE1774DF2BA80616F8850@DM5PR09MB1531.namprd09.prod.outlook.com
Yann Sionneau: CACi+aWbdY48D9CgKtXdtVsdX4NS1JwVN4v-PCC17F_rPKSt4XQ@mail.gmail.com
Sébastien Bourdeauducq: c3f235dc-e9c5-7f7a-10f2-bb4e4f85e7f5@m-labs.hk
2017-01-27 11:19:46 +01:00
whitequark 50f234bea4 firmware: update smoltcp to take advantage of TCP MSS option. 2017-01-27 03:47:57 +00:00
whitequark 477664f931 test: temporarily skip pulse_rate_dds. 2017-01-26 20:53:30 +00:00
Robert Jördens 143f784291 artiq_flash: fix scripts_path 2017-01-26 21:52:59 +01:00
whitequark b7f6bfffeb firmware: fix embedding of software version during build. 2017-01-26 17:40:29 +00:00
whitequark 31e5f9a810 firmware: read MAC/IP address configuration from flash. 2017-01-26 17:40:29 +00:00
Robert Jördens 653eee071d artiq_flash: make scripts_path a function (for doc generating) 2017-01-26 17:53:33 +01:00
Sebastien Bourdeauducq f7dec72f02 firmware: give satman whole RAM in linker script 2017-01-26 15:58:42 +08:00
whitequark 0b67396630 test: convert test_pulse_rate_dds to use mu.
Before this commit, this test was actually measuring soft-FP
performance.
2017-01-25 11:26:30 +00:00
whitequark 57f54dbd12 llvm_ir_generator: recognize inline and forceinline flags. 2017-01-25 10:25:00 +00:00
whitequark 7b6de36d1d firmware: cap loglevel at DEBUG to increase RPC throughput ~3x. 2017-01-25 06:50:56 +00:00
whitequark 3c177c6d71 firmware: update smoltcp, to fix analyzer dump extraction. 2017-01-25 06:36:26 +00:00
whitequark 6721c1e82f firmware: update smoltcp. 2017-01-25 04:08:06 +00:00
whitequark 82cd9e27f7 ksupport: fix I2C function signatures. 2017-01-25 02:11:32 +00:00
whitequark 58a0e4c97f Fix 2de3770. 2017-01-25 01:24:03 +00:00
whitequark de17908b38 Revert "Globally update UART baudrate to 921600."
This reverts commit b29e2d5bfe.

This broke flterm firmware upload, which was the entire point
of the whole exercise.
2017-01-25 00:31:28 +00:00
whitequark 6414e40deb firmware: fix race condition between TCP listen and accept. 2017-01-25 00:17:46 +00:00
whitequark 2de3770c06 firmware: rewrite cache flushing code in Rust. 2017-01-24 23:07:28 +00:00
whitequark 209be73204 firmware: simplify ksupport build script. 2017-01-24 23:07:28 +00:00
whitequark b29e2d5bfe Globally update UART baudrate to 921600. 2017-01-24 22:25:58 +00:00
whitequark 3633671656 firmware: factor out console and logging from runtime/satman. 2017-01-24 21:58:58 +00:00
whitequark 5604d9bb55 firmware: factor out build scripts from runtime/satman. 2017-01-24 21:15:41 +00:00
whitequark 4d05c70dfa firmware: update smoltcp. 2017-01-23 22:37:33 +00:00
whitequark 15ba6f36ba runtime: reduce the amount of noise during build. 2017-01-23 13:59:34 +00:00
whitequark 527b1e986c firmware: integrate smoltcp instead of lwip. 2017-01-23 13:59:34 +00:00
whitequark 0253e0a89d firmware: remove false dependency from runtime to ksupport.
This significantly speeds up no-change builds.
2017-01-23 13:57:08 +00:00
whitequark 971e4c3026 firmware: increase post-boot UART speed to 921600. 2017-01-23 13:57:08 +00:00
whitequark 13a544e13f artiq_devtool: add boot+log action; avoid forwarder crashes. 2017-01-23 13:57:08 +00:00
Sebastien Bourdeauducq 28a41a2f60 gateware: fix aeb1ba847 2017-01-18 17:11:02 -06:00
Sebastien Bourdeauducq 5c0d402ef3 firmware: runtime.ld formatting 2017-01-18 17:09:49 -06:00
Sebastien Bourdeauducq 2a7a8f91ca gateware: fix import 2017-01-18 16:51:30 -06:00
Sebastien Bourdeauducq ce31ffddb0 firmware: add satellite manager
The code duplication with the runtime should be cleaned up later.
2017-01-18 16:50:32 -06:00
Sebastien Bourdeauducq b40953800a gateware: soc -> amp.soc 2017-01-18 15:28:14 -06:00
Sebastien Bourdeauducq aeb1ba8471 gateware: use default MiSoC timer 2017-01-18 15:22:33 -06:00
Sebastien Bourdeauducq 043780d603 drtio: fix DRTIOSatellite invokation in test 2017-01-15 17:30:02 -06:00
Sebastien Bourdeauducq b8d89d56b1 drtio: add GenericRXSynchronizer 2017-01-15 13:44:43 -06:00
Sebastien Bourdeauducq 0edffb54c2 drtio: fix packet truncation detection in RTPacketSatellite 2017-01-13 09:29:22 -06:00
Sebastien Bourdeauducq 6805feb494 drtio: report truncated packets 2017-01-12 23:44:45 -06:00
Robert Jördens 394ffd827e phaser/demo_2tone: add ttl and led pulse 2017-01-11 21:45:34 +01:00
Sebastien Bourdeauducq 7c699e2f80 drtio: add FIFO space request count debug API 2017-01-11 13:48:14 -06:00
Sebastien Bourdeauducq c25186fae1 drtio: print packet error descriptions in log 2017-01-10 18:03:01 -06:00
Sebastien Bourdeauducq 7af152ed22 firmware: pass spawner around instead of scheduler 2017-01-10 16:15:39 -06:00
Sebastien Bourdeauducq d3d23d0d3b drtio: report get FIFO space timeouts to log 2017-01-10 16:12:46 -06:00
Sebastien Bourdeauducq 98598df78e rtio: keep retrying on get FIFO space timeout 2017-01-10 16:12:32 -06:00
Sebastien Bourdeauducq e624f45369 drtio: remove FIFO empty local detection optimization
It optimizes a marginal case, it is difficult to get right
(need to know the size of the FIFO for each channel), and
it adds complexity and potential bug sources.
2017-01-10 14:31:46 -06:00
Sebastien Bourdeauducq f75fffcf96 drtio: fix satellite RX data corruption 2017-01-10 14:29:30 -06:00
Sebastien Bourdeauducq fdfaa377db drtio: add debug syscalls 2017-01-08 15:06:14 -06:00
Sebastien Bourdeauducq 1b49affd18 typo 2017-01-08 13:04:10 -06:00
Sebastien Bourdeauducq 780d6d152c worker: fix handling of archive parameter during dataset get in examine 2017-01-07 16:20:17 +01:00
Sebastien Bourdeauducq fe53bab953 targets: kc705 -> kc705_dds 2017-01-05 18:40:56 +01:00
Sebastien Bourdeauducq 8be9a827ba test: move dsp tests into their own folder 2017-01-05 18:25:38 +01:00
Sebastien Bourdeauducq 4f97d00e79 firmware: make i2c busno u8 2017-01-05 14:54:48 +01:00
Sebastien Bourdeauducq 13c45c8766 firmware: add si5324 programming functions 2017-01-05 14:50:00 +01:00
Sebastien Bourdeauducq 6c685205ce firmware: support i2c restart 2017-01-05 14:49:24 +01:00
Sebastien Bourdeauducq 082fdaf450 move i2c to libboard, do bit-banging on comms CPU 2017-01-04 21:04:38 +01:00
Sebastien Bourdeauducq 3dd9d54b22 firmware: fix compilation warning without moninj/analyzer 2017-01-04 21:04:08 +01:00
Sebastien Bourdeauducq 86f6b391b7 ad9xxx -> ad9_dds 2017-01-04 11:34:52 +01:00
Sebastien Bourdeauducq c08fc8aae9 firmware: support moninj without DDS. Closes #650 2017-01-04 11:26:02 +01:00
Sebastien Bourdeauducq 455250b3f9 remove DDS_AD9914 and DDS_ONEHOT_SEL 2017-01-03 22:04:25 +01:00
whitequark c2ba718efa firmware: remove unnecessary --cfg injection. 2017-01-03 20:56:56 +00:00
Sebastien Bourdeauducq 9b4c1ddc8e libboard: use --cfg 2017-01-03 21:39:40 +01:00
Sebastien Bourdeauducq fbf5a4d4a2 Merge branch 'phaser2-rust-init' 2017-01-03 21:31:21 +01:00
Sebastien Bourdeauducq 318dbb699b fix phaser device_db SAWG channel numbers 2017-01-03 21:22:16 +01:00
whitequark c2d86c4f67 firmware: apply build flags globally, move --cfg handling to build.rs. 2017-01-03 20:12:56 +00:00
Sebastien Bourdeauducq 8e9be41c73 reset core device in phaser examples 2017-01-03 20:05:22 +01:00
Sebastien Bourdeauducq d29ec22497 remove stale phaser startup kernel 2017-01-03 20:03:55 +01:00
Robert Jördens 9a80b8d533 spi: fix xfers with full data_width (closes #615)
misoc 15000af43611bbe8be13cb2b016e408f043202cd
2017-01-03 19:51:14 +01:00
Sebastien Bourdeauducq 7ff77bceac move AD9616 and AD9154 initialization to firmware 2017-01-03 16:11:38 +01:00
Sebastien Bourdeauducq 6b7e6a53f7 firmware: ad9154 timeouts and logging 2017-01-03 15:19:51 +01:00
Sebastien Bourdeauducq 417708af90 phaser: add note about DDS defines (#650) 2017-01-02 22:15:21 +01:00
Sebastien Bourdeauducq eef3f50016 firmware: fix compilation problems in ad9154 and ad9516 2017-01-02 22:14:20 +01:00
Sebastien Bourdeauducq 26e7f68b5d firmware: move clock to libboard 2017-01-01 18:23:27 +01:00
Sebastien Bourdeauducq bb056c1d2c firmware: load *_reg correctly 2017-01-01 18:21:12 +01:00
whitequark 74f46cb965 firmware: fix merge screwup. 2016-12-31 14:03:39 +00:00
whitequark 58a95c1f40 firmware: libboard: extract irq.rs, csr.rs. 2016-12-31 14:00:43 +00:00
Sebastien Bourdeauducq 6c1fc2987a libbsp: add ad9154 and ad9516 init code (untested) 2016-12-31 14:48:43 +01:00
Sebastien Bourdeauducq 62596a733d libbsp: add ad9154 and ad9516 register maps 2016-12-31 14:48:43 +01:00
Sebastien Bourdeauducq fb35336389 typo 2016-12-31 14:48:43 +01:00
whitequark 4bb7132848 firmware: prune stabilized and unused features. 2016-12-31 13:41:32 +00:00
whitequark 4480a1c2ff firmware: libbsp::board → libboard. 2016-12-31 13:41:32 +00:00
whitequark bd33dca203 firmware: extract liballoc_none into its own crate. 2016-12-31 13:41:32 +00:00
Joe Britton 2dd72fb94c work around firmware bug in KA3005P that impacts get_i() 2016-12-30 12:19:19 +01:00
whitequark 010ce019b3 firmware: remove spurious build-dependency on winapi. 2016-12-29 13:06:40 +00:00
whitequark aed91292e2 firmware: remove cargo profiles.
These are specified per-workspace, and anyhow are mostly overridden
by our Makefile, so specify everything in it.
2016-12-29 13:06:40 +00:00
whitequark 9df7932169 firmware: add a Cargo workspace.
The Rust editor plugin for Sublime Text tries to invoke cargo,
which disregards our Makefile and places junk all around the source
tree. This calms it down, and now it only does that where our
.gitignore already handles it.
2016-12-26 17:20:29 +00:00
whitequark c45a170bb4 firmware: update for Rust 1.16.0. 2016-12-26 17:20:29 +00:00
Robert Jördens f5f662200b fir: streamline, optimize DSP extraction, left-align inputs 2016-12-20 21:39:51 +01:00
Robert Jördens cfb66117af fir: size hint for pre-adder 2016-12-20 17:58:06 +01:00
Robert Jördens f310274e39 fir: cleanup halfgen4 2016-12-20 17:58:06 +01:00
whitequark 5f3033b518 firmware: remove max_level_debug.
Tracing to the core log isn't particularly slow, and is handy
when debugging.
2016-12-19 13:24:29 +00:00
whitequark 739da9f1b3 runtime: print trace level log messages to UART during startup.
There's no way to retrieve them otherwise if the startup kernel
hangs.

This commit was mistakenly removed in 88ad054.
2016-12-19 13:21:21 +00:00
whitequark b9588ddf03 firmware: don't crash on artiq_compile'd kernels (fixes #641). 2016-12-19 13:01:18 +00:00
Sebastien Bourdeauducq 68b2373b9a korad_ka3005p: fix simulation mode 2016-12-19 09:49:44 +01:00
Sebastien Bourdeauducq 161025e7df korad_ka3005p: use ProactorEventLoop on windows 2016-12-19 09:33:20 +01:00
Sebastien Bourdeauducq d55f2bda86 korad_ka3005p: cleanup 2016-12-19 09:32:21 +01:00
jboulder baac555f96 add device for Korad KA3005P programmable DC power supply 2016-12-19 09:31:21 +01:00
Sebastien Bourdeauducq db5957a7e7 firmware: use bsp crate in ad9154 2016-12-17 11:43:29 +08:00
Sebastien Bourdeauducq 9a564e07c0 firmware: make libbsp a crate 2016-12-16 21:28:25 +08:00
Sebastien Bourdeauducq c99388f80f firmware: use M-Labs as author in Cargo.toml files 2016-12-16 20:14:11 +08:00
Sebastien Bourdeauducq 9967dfc5ca runtime: reorganize to support DRTIO satellite firmware 2016-12-16 19:11:19 +08:00
Sebastien Bourdeauducq 6b998581cc rtio: use same reset for counter_rtio whatever the interface delay is 2016-12-15 09:28:13 +08:00
Robert Jördens 15b48be6e4 test/sawg: adapt to new latency spec 2016-12-14 19:43:30 +01:00
Robert Jördens 115ea67860 fir: automatically use transposed topology 2016-12-14 19:16:07 +01:00
Robert Jördens a451b675c9 Revert "fir: different adder layout"
This reverts commit 6f50e77b409c293c1905f28e69d79403a0803866.
2016-12-14 19:16:07 +01:00
Robert Jördens 93076b8efa fir: different adder layout 2016-12-14 19:16:07 +01:00
Robert Jördens 61abd994e9 Revert "fir: force dsp48"
This reverts commit 0ad433832d1b6dcd803ffa086ae73b2ee0568326.
2016-12-14 19:16:07 +01:00
Robert Jördens 641d109786 fir: force dsp48 2016-12-14 19:16:07 +01:00
Robert Jördens 8381db279f sawg: wire up all HBF outputs, latency compensation in phys, simplify 2016-12-14 19:16:07 +01:00
Robert Jördens 6cdb96c5e0 rtio: add support for latency compensation in phy
* if multiple RTIO channels influence the same data stream and physical
output channel (see SAWG) differential latency needs to be compensated
* this is a NOP for phys with zero delay (default)
* if delay==1, it adds one timestamp-wide register
* if delay >1, it adds one adder and one register
* latency compensation using (~10-50 deep) delay lines is about as
expensive as a single adder+register but very tedious to implement
2016-12-14 19:16:07 +01:00
Robert Jördens 7be27d7116 fir: add upsample transfer function test 2016-12-14 19:16:07 +01:00
Robert Jördens 4c27029be0 sawg: fix limit regs 2016-12-14 19:16:07 +01:00
Robert Jördens 708c25b83a phaser: don't init rtio in startup_kernel 2016-12-14 19:16:07 +01:00
Sebastien Bourdeauducq e9592105ce drtio: fix aux controller clock domain mistakes 2016-12-14 10:16:45 +08:00
Sebastien Bourdeauducq 527757b471 kc705_drtio: use ad9154_fmc_ebz 2016-12-13 14:30:26 +08:00
Sebastien Bourdeauducq 3b5abae935 drtio: fix clock domain conflict 2016-12-13 14:19:49 +08:00
Robert Jördens 03d13d3811 phaser: dma/drtio changes 2016-12-12 17:46:36 +01:00
Robert Jördens c63fa46430 Merge branch 'phaser2'
* phaser2: (157 commits)
  sawg/hbf: tweak pipeline for timing
  fir: register multiplier output
  conda/phaser: build-depend on numpy
  sawg: reduce coefficient width
  sawg: fix latency
  test/fir: needs mpl. don't run by default
  test/sawg: patch spline
  sawg: use ParallelHBFCascade to AA [WIP]
  fir: add ParallelHBFCascade
  fir: add ParallelFIR and test
  gateware/dsp: add FIR and test
  README_PHASER: update
  sawg: documentation
  sawg: extract spline
  sawg: document
  sawg: demo_2tone
  sawg: round to int64
  gateware/phaser -> gateware/ad9154_fmc_ebz
  phaser: fix typo
  sawg: merge set/set64
  ...
2016-12-12 17:31:39 +01:00
Sebastien Bourdeauducq 4b61020b27 drtio: reset more local state 2016-12-12 18:48:10 +08:00
Sebastien Bourdeauducq d99e64effd drtio: clear any stale FIFO space reply 2016-12-12 18:02:56 +08:00
Sebastien Bourdeauducq 4c59c0fecf Revert "drtio: order resets wrt writes"
This reverts commit 9a048c2b3a.
2016-12-12 17:49:07 +08:00
Sebastien Bourdeauducq 6a60afcba0 runtime: clear all DRTIO FIFOs first, reset remote PHYs on link init 2016-12-12 17:48:25 +08:00
Sebastien Bourdeauducq 8f747fa209 drtio: clear underflow and sequence error on reset 2016-12-12 17:39:14 +08:00