Hi Dave

I think Andrews point 3 is relevant.

We have picked up on transient on the register write with the latest memory
mapped TCPBORPH. It seems that sometimes, some of the bits goes high for a
short while and then settles at the required register value.

We need to figure out where the issue is (gateware or software).

For now try TCPBORPH server 2 and see if the problem still persist.

HK

On Fri, Dec 7, 2012 at 8:56 AM, Andrew Martens <and...@ska.ac.za> wrote:

> Hi Dave
>
> > I am working on ROACH2.
>
> Jason also had a problem with snapshot blocks using ROACH2. His snap
> block would not finish capturing, i.e write 7 into the control register,
> busy bit goes high and byte count spins, but busy bit never goes low
> again! Again, the logic to finish capturing is very simple (counter and
> comparison). He also reports that this behaviour changes with different
> compiles. This may mean that we are missing some crucial timing-related
> constraint.
>
> > When I say they are triggered, I mean that the contents of the BRAM
> change immediately upon writing 5 to the ctrl register while the trigger
> input is 0 (i.e. before I set the trigger to 1).
>
> I will assume that the BRAM value changes are caused by snapshot logic
> (the status register reflects a 'busy' snapshot, address changing etc),
> which seems ok as a write to a register connected to logic triggering
> capture causes the values to change.
>
> That means that the snapshot block was enabled, and then triggered. It
> seems as though the enable is happening as expected i.e it does not
> randomly become enabled, but the trigger is premature. The trigger could
> come from three sources
> 1. Some kind of metastability in the triggering logic in the snapshot
> block. This is unlikely as all 4 snapshot blocks are behaving the same.
>
> 2. The bit in the register linked to the trig input on all snapshots is
> toggling high (or held high). This is unlikely (no writes to that
> address) but would indicate some problem in the bus controller (writes
> affect registers not addressed) or register logic (some kind of
> metastability/weirdness). Replicating the register for each snapshot
> block, and replacing some with constants would shed some light.
>
> 3. The ctrl register is misbehaving. If bit 1 somehow goes high for a
> bit before going low, or toggles high for even one cycle, then this
> would generate an internal trigger. This would indicate some systematic
> error in the register logic (occurs in the same way in four different
> registers) or metastability (unlikely again as occurs in multiple
> places). Manually modifying the snapshot block to use bit 0 for the
> trigger and 1 for the enable would be interesting as bit 0 *seems* to be
> behaving (no completely random enabling).
>
> Changing the design would also be interesting as it would be nice to see
> if the problem changes if things are placed differently in the chip.
>
> Regards
> Andrew
>
>
>
>
>
>
>


-- 
Henno Kriel

DSP Engineer
Digital Back End
meerKAT

SKA South Africa
Third Floor
The Park
Park Road (off Alexandra Road)
Pinelands
7405
Western Cape
South Africa

Latitude: -33.94329 (South); Longitude: 18.48945 (East).

(p) +27 (0)21 506 7300
(p) +27 (0)21 506 7365 (direct)
(f) +27 (0)21 506 7375
(m) +27 (0)84 504 5050

Reply via email to