Skip to content

Commit

Permalink
sayma: use GTP_CLK1 to clock DRTIO satellite transceiver
Browse files Browse the repository at this point in the history
This is required to get constant skew between the DRTIO transceiver clock
(which then generates the RTIO clock) and the siphaser reference clock.

Both the Si5324 and the RTM clock tree have non-deterministic in-to-out skew
at 150MHz due to dividers.
  • Loading branch information
sbourdeauducq committed Jun 28, 2018
1 parent a65721d commit 729ce58
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 4 deletions.
6 changes: 3 additions & 3 deletions artiq/firmware/satman/main.rs
Expand Up @@ -270,13 +270,13 @@ pub extern fn main() -> i32 {

i2c::init();
si5324::setup(&SI5324_SETTINGS, si5324::Input::Ckin1).expect("cannot initialize Si5324");
#[cfg(has_hmc830_7043)]
/* must be the first SPI init because of HMC830 SPI mode selection */
hmc830_7043::init().expect("cannot initialize HMC830/7043");
unsafe {
csr::drtio_transceiver::stable_clkin_write(1);
}

#[cfg(has_hmc830_7043)]
/* must be the first SPI init because of HMC830 SPI mode selection */
hmc830_7043::init().expect("cannot initialize HMC830/7043");
#[cfg(has_ad9154)]
let mut ad9154_initialized = false;
#[cfg(has_allaki_atts)]
Expand Down
2 changes: 1 addition & 1 deletion artiq/gateware/targets/sayma_amc.py
Expand Up @@ -552,7 +552,7 @@ def __init__(self, with_sawg, **kwargs):

self.comb += platform.request("sfp_tx_disable", 0).eq(0)
self.submodules.drtio_transceiver = gth_ultrascale.GTH(
clock_pads=platform.request("si5324_clkout"),
clock_pads=platform.request("dac_refclk", 0),
data_pads=[platform.request("sfp", 0)],
sys_clk_freq=self.clk_freq,
rtio_clk_freq=rtio_clk_freq)
Expand Down

0 comments on commit 729ce58

Please sign in to comment.