This is odd; I have just compiled it successfully at 210MHz on my
laptop. I am out of the office 'till next week. In the meantime, can
you run the timing analyser to see what's causing the problem? We'll
be in a better position to debug it with that info.
Jason
On 28 Dec 2009, at 14:30, Homin Jiang wrote:
Hi Jason:
I compiled the 322g couple of times with different system clock rate,
210MHz, 205Mhz and 200MHz. unfortunately, all failed at timing
contraint.
Is there anywhere the timing constraint can be relaxed ?
the errors as :
210MHz:
-------------------------------------------------
------------------------------------------------------------------------------------------------------
Constraint | Check | Worst Case |
Best Case | Timing | Timing
| | Slack |
Achievable | Errors | Score
------------------------------------------------------------------------------------------------------
* NET "epb_cs_n_IBUF" MAXDELAY = 4 ns | MAXDELAY|
-0.750ns| 4.750ns| 1| 750
------------------------------------------------------------------------------------------------------
* TS_clk_8623c679 = PERIOD TIMEGRP "clk_862 | SETUP |
-0.426ns| 5.187ns| 31| 2977
3c679" 4.7619 ns HIGH 50% | HOLD |
0.236ns| | 0| 0
------------------------------------------------------------------------------------------------------
TS_mgt_clk_1 = PERIOD TIMEGRP "mgt_clk_1" | SETUP |
0.025ns| 6.375ns| 0| 0
156.25 MHz HIGH 50% | HOLD |
0.101ns| | 0| 0
------------------------------------------------------------------------------------------------------
205MHz and 200MHz:
.......................................................................
* NET "epb_cs_n_IBUF" MAXDELAY = 4 ns | MAXDELAY| -0.750ns|
4.750ns| 1| 750
.......................................................................
cheers
homin jiang
Jason Manley wrote:
I have just checked-in the latest versions. F engine is at revision
306 (stable) for ibobs and X engine is up to rev 322g (debug
compile) for roach.
There are two major outstanding issues before the system is
deployable:
1) Loss of packets from F engines. There is a loss of data (about
1 in 4 million packets) in the 10GbE network. I am trying to debug
this at the moment, and the problem appears to be in the 10GbE RX
core, but this is as yet unconfirmed. There should be zero data
loss in a correctly functioning system.
2) Output not thoroughly checked. I do not yet have working
receive code to capture and plot the correlator output packets and
so have not confirmed correct end-to-end instrument operation.
Minor issues which I hope to correct by Feb 2010:
* SPEAD metadata not yet issued. The python code that controls the
system will eventually output SPEAD compliant metadata describing
the data stream, including instructions on how the receiver should
interpret the data. See http://github.com/sratcliffe/PySPEAD for
further info.
* Some cleanup is required. I want to mux the output data over the
existing 10GbE link rather than use a separate 10GbE core. Various
blocks can use some optimisation too.
If you want to start playing with the design, please ensure that
you're running the latest tcpborphserver2 on your ROACHes (http://casper.berkeley.edu/svn/trunk/roach/sw/binaries/tcpborphserver/
) because there were fixes to the tgtap call.
Jason
On 22 Dec 2009, at 10:49, Homin Jiang wrote:
Hi Jason:
Are there stable model files for packetized correlator on ROACH ?
I saw there are 2 model files in the /roach subdirectory, but with
comments of "lots of stuff here for debug ".
cheers
homin jiang
Today's Topics:
1. roach reference designs (Jason Manley)
----------------------------------------------------------------------
Message: 1
Date: Mon, 21 Dec 2009 09:13:15 +0200
From: Jason Manley <[email protected]>
Subject: [casper] roach reference designs
To: [email protected], [email protected]
Message-ID: <[email protected]>
Content-Type: text/plain; charset=US-ASCII; format=flowed;
delsp=yes
Hi all
It came to my attention that not many people know about the
ROACH reference designs from the last CASPER workshop. The
reference designs can be found in SVN here: http://casper.berkeley.edu/svn/trunk/ref_designs_tutorials/
and provide a great way to get started with CASPER and ROACH.
The tutorials at the 2009 CASPER workshop are as follows:
1) Introduction
===============
Introduction to Simulink, communication with FPGAs. Build a
simple program that flashes LEDs, counts and adds numbers on
demand, captures raw ADC data. Communicate with ROACH's FPGA
using the PPC's BORPH operating system and also using raw KATCP
commands. Includes step-by- step walkthrough for building your
design, compiling it, loading onto ROACH and communicating with
it. Prerequisites: just your enthusiastic self, your computer
with 10.1 libraries and a ROACH board.
* PDF walkthrough:
http://casper.berkeley.edu/svn/trunk/ref_designs_tutorials/workshop_2009/roach_tut1_intro/tut1_intro.pdf
* Completed Simulink model file:
http://casper.berkeley.edu/svn/trunk/ref_designs_tutorials/workshop_2009/roach_tut1_intro/tut1.mdl
2) 10GbE, KATCP
===============
Construct a design that transmits a counter over 10GbE to
another ROACH port. During this tutorial, you will learn more
about the CASPER hardware interfaces, communicating with ROACH
remotely using KATCP and the supplied Python libraries.
Prerequisites: Introduction tutorial (we expect conceptual
understanding of software registers and PPC/FPGA mapped memory
regions along with some basic Simulink experience). Also useful,
but not required, is some experience in programming in Python,
since sample scripts for configuring and controlling the system
are provided. You will need a ROACH board and a 10GbE cable.
Please also ensure that you're running the latest versions of
tcpborphserver and tgtap on your ROACH, else the 10GbE may not
function correctly. Get 'em here: http://casper.berkeley.edu/svn/trunk/roach/sw/binaries/
* PDF walkthrough:
http://casper.berkeley.edu/svn/trunk/ref_designs_tutorials/workshop_2009/roach_tut2_10GbE/tut2_10gbe.pdf
* Simulink model file:
http://casper.berkeley.edu/svn/trunk/ref_designs_tutorials/workshop_2009/roach_tut2_10GbE/tut2.mdl
* Python control script:
http://casper.berkeley.edu/svn/trunk/ref_designs_tutorials/workshop_2009/roach_tut2_10GbE/tut2.py
3) Wideband spectrometer
========================
Build a 512MHz "wideband" spectrometer with 2048 FFT channels on
ROACH. This will introduce the ADC boards, the CASPER DSP
libraries including the wideband PFB and FFT blocks as well as
demonstrate the use of vector accumulators, shared BRAMs and
readout through the PPC's 1GbE port. We will make use of KATCP
for remote control of the ROACHes using Python libraries to plot
the output. Prerequisites: tutorials 1 and 2. This design is
complete and tested working, but is not documented. You'll need
a ROACH board and an iADC board. Revision 102 had a design flaw
in the VACC (bit growth), so rev103 adds requantisation after
the FFT. Careful of configuring this correctly for your given
signal type. See comments in Python code. Or, you can forego to
requantisation if you opt for a 64-bit VACC (not demonstrated).
* Revision 103, tested working:
http://casper.berkeley.edu/svn/trunk/ref_designs_tutorials/workshop_2009/roach_tut3_wideband_spec/r_spec_2048_r103.mdl
* Compiled bitstream, ready for execution on ROACH:
http://casper.berkeley.edu/svn/trunk/ref_designs_tutorials/workshop_2009/roach_tut3_wideband_spec/r_spec_2048_r103_2009_Nov_23_1234.bof
* Python script to configure it:
http://casper.berkeley.edu/svn/trunk/ref_designs_tutorials/workshop_2009/roach_tut3_wideband_spec/spectrometer.py
4.1) Wideband pocket correlator
===============================
Build a wideband correlator, ported from the original IBOB design
for use on ROACH. This is a good starting point for your field-
deployable correlator and demonstrates the use of requantisation
after the FFT. It is not documented. Code is commented, so you
could probably figure it out. You'll need a ROACH board and two
iADCs.
* Revision 311 Simulink model file using standard CASPER 10.1
libraries: http://casper.berkeley.edu/svn/trunk/ref_designs_tutorials/workshop_2009/roach_tut4_1_wideband_poco/poco_wide_10_r311.mdl
* Revision 311 compiled bitstream, ready for execution on
ROACH: http://casper.berkeley.edu/svn/trunk/ref_designs_tutorials/workshop_2009/roach_tut4_1_wideband_poco/poco_wide_10_r311_2009_Aug_27_1805.bof
* Python control package, including scripts to plot output:
http://casper.berkeley.edu/svn/trunk/ref_designs_tutorials/workshop_2009/roach_tut4_1_wideband_poco/poco_wide_0.2.0.tar.gz
4.2) Narrowband pocket correlator <INCOMPLETE and UNTESTED>
=================================
Build a 250MHz, 1024 channel single board correlator on ROACH.
This tutorial demonstrates the use of CASPER's digital downmix
and filter blocks, along with the narrowband biplexed PFB and
FFT blocks. Data is accumulated on the FPGA and output through
the PPC's 1GbE port and displayed remotely using KATCP. This
design is incomplete, and is provided purely to demonstrate the
architecture of using a DDC, PFB and FFT.
5) High resolution spectrometer <DESIGN AND DOC FROM DAVE>
===============================
Build a 500MHz, 1 million channel spectrometer on a single ROACH
board. This tutorial demonstrates advanced use of the PFB and
FFT blocks, some DSP concepts, along with the ROACH's DRAM for
large-scale accumulation. Prerequisites: tutorials 1 and 2 plus
either 3 or 4. This project's home is located elsewhere in SVN,
since it was originally designed as a stand-alone project rather
than a tutorial: http://casper.berkeley.edu/svn/trunk/projects/roach_mspec/
Please note that you will need the Python KATCP and correlator
control packages (corr-0.4.0) to use the included python control
scripts. Get them here: http://pypi.python.org/pypi/katcp and http://casper.berkeley.edu/svn/trunk/projects/packetized_correlator/corr-0.4.0/
Otherwise, the designs use the standard CASPER 10.1 libraries
and do not require any special software, different settings or
configurations to compile for ROACH.
Jason Manley
Digital Engineer
SKA-SA, KAT Pinelands office
Unit 12, Lonsdale Building
Lonsdale Road
Pinelands
7405
South Africa
Cell: +27 82 662 7726
Work: +27 21 531 7282
Fax: + 27 21 531 9761
End of casper Digest, Vol 25, Issue 16
**************************************
--Regards,
Homin Jiang(¦¿§»©ú)
--
Regards,
Homin Jiang(¦¿§»©ú)