Dangerous Prototypes

Other projects => Open Bench Logic Sniffer => Topic started by: danmoto on October 10, 2013, 09:42:32 pm

Title: Dynamic capture for the OLS
Post by: danmoto on October 10, 2013, 09:42:32 pm
Hi, based on my quick reading on the OLS, once OLS is trigger, it captures every clock cycle.  I am not exactly a FPGA guru by anymeans, but is it possible to capture on a change instead of every cycle?

The idea is this:  If we add a 32bit memory array for a counter, and a comparator for the input and last input state, we can extend the recording time significantly.  We capture only when we detect a change by the comparator, or a overflow of the counter.

The worst case where signal changes every cycle, we cut our memory in half for 32bit and 1/5 for 8bit capture.  But in the best case, we effectively multiply the memory by up to ((2^32)-1)/2 for 32bit and ((2^32)-1)/5 for 8bit.

Most likely this implementation will reduce the maximum bandwidth.  But I think it would be very useful for applications that require very long captures with bursty signals that have many gaps and delays.

Is this possible?
Title: Re: Dynamic capture for the OLS
Post by: hlipka on October 10, 2013, 10:15:37 pm
OLS already does this (I think its called 'compressed mode' or so, don't remember exactly at the moment :(
Title: Re: Dynamic capture for the OLS
Post by: danmoto on October 10, 2013, 10:26:10 pm
Doh! Very Nice!  Thanks.  I should have read around longer before posting.
Title: Re: Dynamic capture for the OLS
Post by: sdixon on October 11, 2013, 06:24:57 pm
[quote author="hlipka"]OLS already does this (I think its called 'compressed mode' or so, don't remember exactly at the moment :([/quote]
It is called run length encoding.  It does help in some cases where the signals are changing sporadically but you need high capture rates when they are changing.

( ! ) Fatal error: Uncaught exception 'Elk_Exception' with message 'Please try again. If you come back to this error screen, report the error to an administrator.' in /var/www/dangerousprototypes/forum/sources/database/Db-mysql.class.php on line 696
( ! ) Elk_Exception: Please try again. If you come back to this error screen, report the error to an administrator. in /var/www/dangerousprototypes/forum/sources/database/Db-mysql.class.php on line 696
Call Stack
#TimeMemoryFunctionLocation
10.00952047136session_write_close ( )...(null):0
20.00982178712ElkArte\sources\subs\SessionHandler\DatabaseHandler->write( )...(null):0
30.00982179488Database_MySQL->query( ).../DatabaseHandler.php:119
40.05542318208Database_MySQL->error( ).../Db-mysql.class.php:273