[En-Nut-Discussion] xsvfexec
Harald Kipp
harald.kipp at egnite.de
Wed Jun 1 14:40:10 CEST 2011
Werner,
On 6/1/2011 12:26 PM, Landsperger, Werner wrote:
> Furthermore it doesn't matter if the hardware is connected or not. I'm
As long as Impact will not perform a verify, there will be no error,
because nothing gets compared automagically. The Executor is not able to
make assumptions about the result of a JTAG action. Such tests must be
embedded in the SVF, created by Impact.
> not sure but It appears to me that the problem accrues while reading the
> bitstream, because that part is extreamly short. What do you think?
That could be the cause. Did you try to increase
#define MAX_BITVEC_BYTES 12
? Not sure, but it may be require one or several kBytes. For the static
globals
static u_char tdiVal[MAX_BITVEC_BYTES];
static u_char tdiVal2[MAX_BITVEC_BYTES];
static u_char tdoExp[MAX_BITVEC_BYTES];
static u_char tdoMask[MAX_BITVEC_BYTES];
static u_char dataMask[MAX_BITVEC_BYTES];
static u_char addrMask[MAX_BITVEC_BYTES];
defining
#define MAX_BITVEC_BYTES 4096
this is no problem. However, in ReShift() we have a local array
u_char tdo_val[MAX_BITVEC_BYTES];
Increasing this array to 1kB or more will create a stack overflow.
Either make this static global too
static u_char tdo_val[MAX_BITVEC_BYTES];
static int ReShift(...
or use
u_char *tdo_val;
tdo_val = malloc(MAX_BITVEC_BYTES);
...
free(tdo_val);
I vaguely remember that I heard about SVF for FPGAs containing mostly a
large bit vector and not much else.
Regards,
Harald
More information about the En-Nut-Discussion
mailing list