Compare commits
5 Commits
440b3ef3df
...
d387006656
Author | SHA1 | Date |
---|---|---|
occheung | d387006656 | |
occheung | 69696899ac | |
occheung | 8ce5cca85e | |
occheung | d6d29c89a1 | |
occheung | a7dfa03a21 |
|
@ -607,13 +607,23 @@ Typically, with the coarse RTIO clock at 125 MHz, a \texttt{ClockGen} channel ca
|
||||||
\inputcolorboxminted{firstline=72,lastline=75}{examples/ttl.py}
|
\inputcolorboxminted{firstline=72,lastline=75}{examples/ttl.py}
|
||||||
|
|
||||||
\newpage
|
\newpage
|
||||||
\subsection{Maximum Sustained Event Separation}
|
\subsection{Minimum Sustained Event Separation}
|
||||||
The maximum sustained event separation is the least amount of time separation between input gated events, in which all gated edges can be continuously \& reliabily timestamped by the RTIO system without causing \texttt{RTIOOverflow} exceptions.
|
The minimum sustained event separation is the least amount of time separation between input gated events, in which all gated edges can be continuously \& reliabily timestamped by the RTIO system without causing \texttt{RTIOOverflow} exceptions.
|
||||||
The following \texttt{run()} function finds the separation by approximating the time of running \texttt{timestamp\char`_mu()} as a constant. Import the \texttt{time} library to use \texttt{time.sleep()}.
|
The following \texttt{run()} function finds the separation by approximating the time of running \texttt{timestamp\char`_mu()} as a constant. Import the \texttt{time} library to use \texttt{time.sleep()}.
|
||||||
|
|
||||||
\inputcolorboxminted{firstline=60,lastline=92}{examples/ttl_in.py}
|
\inputcolorboxminted{firstline=63,lastline=98}{examples/ttl_in.py}
|
||||||
|
|
||||||
The result fluctuates at around 650ns with Kasli v1.1.
|
\begin{center}
|
||||||
|
\begin{table}[H]
|
||||||
|
\captionof{table}{Minimum sustained event separation of different carrier}
|
||||||
|
\centering
|
||||||
|
\begin{tabular}{|c|c|c|}
|
||||||
|
\hline
|
||||||
|
Carrier & Kasli v1.1 & Kasli-SoC \\ \hline
|
||||||
|
Duration & 650 ns & 600 ns \\ \hline
|
||||||
|
\end{tabular}
|
||||||
|
\end{table}
|
||||||
|
\end{center}
|
||||||
|
|
||||||
\section{Ordering Information}
|
\section{Ordering Information}
|
||||||
To order, please visit \url{https://m-labs.hk} and select the 2118 BNC-TTL/2128 SMA-TTL in the ARTIQ Sinara crate configuration tool. The card may also be ordered separately by writing to \url{mailto:sales@m-labs.hk}.
|
To order, please visit \url{https://m-labs.hk} and select the 2118 BNC-TTL/2128 SMA-TTL in the ARTIQ Sinara crate configuration tool. The card may also be ordered separately by writing to \url{mailto:sales@m-labs.hk}.
|
||||||
|
|
|
@ -51,6 +51,9 @@ class ExternalTrigger(EnvExperiment):
|
||||||
self.ttlout.pulse(1*us)
|
self.ttlout.pulse(1*us)
|
||||||
|
|
||||||
|
|
||||||
|
import time
|
||||||
|
|
||||||
|
|
||||||
class MeanTimestampDuration(EnvExperiment):
|
class MeanTimestampDuration(EnvExperiment):
|
||||||
def build(self):
|
def build(self):
|
||||||
self.setattr_device("core")
|
self.setattr_device("core")
|
||||||
|
@ -72,7 +75,10 @@ class MeanTimestampDuration(EnvExperiment):
|
||||||
|
|
||||||
# Guarantee t0 > gate_end_mu
|
# Guarantee t0 > gate_end_mu
|
||||||
# Otherwise timestamp_mu may wait for pulses till gate_end_mu
|
# Otherwise timestamp_mu may wait for pulses till gate_end_mu
|
||||||
self.rpc_sleep(1*ms)
|
rtio_time_mu = self.core.get_rtio_counter_mu()
|
||||||
|
sleep_mu = float(gate_end_mu - rtio_time_mu)
|
||||||
|
self.rpc_sleep(self.core.mu_to_seconds(sleep_mu))
|
||||||
|
|
||||||
t0 = self.core.get_rtio_counter_mu()
|
t0 = self.core.get_rtio_counter_mu()
|
||||||
while self.ttlin.timestamp_mu(gate_end_mu) >= 0:
|
while self.ttlin.timestamp_mu(gate_end_mu) >= 0:
|
||||||
pass
|
pass
|
||||||
|
|
Loading…
Reference in New Issue