Difference between revisions of "CasperTutorial01"

From AstroBaki
Jump to navigationJump to search
Line 646: Line 646:
 
\section{Interacting using KATCP}
 
\section{Interacting using KATCP}
  
KATCP is a process running on the ROACH boards which listens for TCP
+
KATCP is a process running on the ROACH boards that listens for TCP
 
connections on port 7147 (tcpborphserver). It talks using machine-parseable
 
connections on port 7147 (tcpborphserver). It talks using machine-parseable
 
ASCII text strings. It was designed this way so that it is easy to debug by
 
ASCII text strings. It was designed this way so that it is easy to debug by
watching the exchange of network traffic, whilst still being easy to program
+
watching the exchange of network traffic, and also be easy to program
 
clients and servers.
 
clients and servers.
  
 
\subsection{Connecting to your ROACH}
 
\subsection{Connecting to your ROACH}
  
Telnet allows you to connect directly to an open TCP port. Let's connect to ROACH's KATCP port now.  
+
Telnet (either "telnet" under Linux, or Putty on Windows) allows you to connect directly to an open TCP port. Let's connect to ROACH's KATCP port now:  
Open putty.exe.
+
 
 
\begin{itemize}
 
\begin{itemize}
 
     \item Select Telnet as the connection type.
 
     \item Select Telnet as the connection type.
Line 662: Line 662:
 
     \item Press Open.
 
     \item Press Open.
 
\end{itemize}
 
\end{itemize}
 
\begin{figure}[h!]\centering\includegraphics[scale=.5]{tut1_fig36.png}\end{figure}
 
  
 
You will be greeted with the KATCP welcome header.
 
You will be greeted with the KATCP welcome header.
Line 717: Line 715:
 
Here you can see what a multiline response looks like. Although a little hard
 
Here you can see what a multiline response looks like. Although a little hard
 
to read by us humans, this is easy to parse by a machine. We have clients
 
to read by us humans, this is easy to parse by a machine. We have clients
available for decoding this text and constructing commands automatically. They
+
available for decoding this text and constructing commands automatically. For now, let's look at constructing some
will be demonstrated in Tutorial 2. For now, let's look at constructing some
 
 
commands by hand.
 
commands by hand.
 
+
To get a list of bof files available:
To get a list of bof files available, type ?listbof.
 
  
 
\begin{verbatim}
 
\begin{verbatim}
Line 730: Line 726:
 
\end{verbatim}
 
\end{verbatim}
  
To program the FPGA with one of these bitstreams, type ?progdev <my\_boffile>.
+
To program the FPGA with one of these bitstreams:
 +
 
 
\begin{verbatim}
 
\begin{verbatim}
 
?progdev tut1_2009_Aug_14_1140.bof
 
?progdev tut1_2009_Aug_14_1140.bof
Line 737: Line 734:
  
 
You will notice that commands are ignored if you don't include the ? in the
 
You will notice that commands are ignored if you don't include the ? in the
front.  To list the registers available to you, type ?listdev.
+
front.  To list the registers available to you:
  
 
\begin{verbatim}
 
\begin{verbatim}
Line 776: Line 773:
 
index offset. It is used when writing to blocks of memory, rather than software
 
index offset. It is used when writing to blocks of memory, rather than software
 
registers. For example, if you wanted to write a single 32 bit number into a
 
registers. For example, if you wanted to write a single 32 bit number into a
1GB DRAM memory chunk, at address 0x12808, you would say ?wordwrite <my\_dram>
+
1GB DRAM memory chunk, at address 0x12808, you would say:
0x12808 <my\_value>.
+
\begin{verbatim}
 +
?wordwrite <my\_dram> 0x12808 <my\_value>
 +
\end{verbatim}
  
 
As you can see, the same FPGA functions that are available in BORPH are
 
As you can see, the same FPGA functions that are available in BORPH are
Line 785: Line 784:
 
\section{Conclusion}
 
\section{Conclusion}
  
This concludes Tutorial 1. You have learnt how to constuct a simple Simulink
+
This concludes Tutorial 1. You have constucted a simple Simulink
design, transfer the files to a ROACH board and interact with it using BORPH
+
design, transfered the BORPH files to a ROACH board, and interacted with a running FPGA design using BORPH
 
and KATCP.
 
and KATCP.
 
In Tutorial 2, you will learn how to use the 10GbE network interfaces and
 
interact with your design using the KATCP Python client.
 
  
 
\end{document}
 
\end{document}
 
</latex>
 
</latex>

Revision as of 17:09, 26 March 2010