> On Tuesday, December 07, 2010 10:43:15 Gaston Rodriguez wrote:
>> Maybe the solution of my problem is simply ignore the FREQUENCY
>> statement in SVF files.. Can this be selected, maybe with a flag, in the
>> "svf" command?
>
> "help svf" says:
> jtag> help svf
> Usage: svf FILE [stop] [progress] [ref_freq=<frequency>]
> Execute svf commands from FILE.
> stop     : Command execution stops upon TDO mismatch.
> progress : Continually displays progress status.
> ref_freq : Use <frequency> as the reference for 'RUNTEST xxx SEC' commands
>
> FILE file containing SVF commands
>
> does "ref_freq" not do what you need ?
> -mike
>
Not exactly. "ref_freq" is used as a reference frequency to compute the
number of clocks for 'RUNTEST xxx SEC' commands, but without changing the
"real" cable frequency.

"ref_freq" is useful for example when you use a parallel cable (DLC5),
which has a very low TCK frequency (100-300Khz, depending the machine).

Suppose a svf file with these instructions:
FREQUENCY 4e6 HZ;
RUNTEST 1 SEC;

The requested operation is: perform 4.000.000 TCKs in 1 second. With a
DLC5 cable at 100Khz you really do: 100.000 TCKs in 1 second. This is a
dangerous thing, at least programming Actel FPGAs! The programming fail
and you may damage the device.
Setting "ref_freq" at 1Mhz, the operation is: run 1.000.000 TCKs (in 10
seconds). This is slow but safer.

See
http://sourceforge.net/projects/urjtag/forums/forum/682993/topic/2167032
for more details.

In my current case, setting the cable frequency to 2Mhz (editing the svf
line or removing it and using the UrJtag "frequency" command)  you get:
2.000.000 TCKs in 1 second. The clocks are fewer but seems to be enough to
program Actel devices, and the time waited is the requested.

If I let the cable frequency in 4Mhz and set "ref_freq" in 2Mhz the
commands performed is: run 2.000.000 TCKs in 0.5 seconds. The programming
fails again, and again there is danger to damage the FPGA! For this reason
I use the ERASE.svf file for these tests, which seems to be less risky.

But...
I put a "printf" in the runtest code and I see that despite the "FREQUENCY
4e6 HZ" instruction in the svf file, the real cable frequency is 3Mhz.
Using a "ref_freq" of 2.5Mhz the operation is: run 2.500.000 TCKs (in
~0.833 seconds). Maybe some overhead in the USB transfers make this time a
little higher, approaching the 1 second needed.

I made a little test with ref_freq in 2.5Mhz and seems to work, but I need
to test more times to declare victory...

In any case this workaround only works if the cable frequency is always
3Mhz. And why the frequency is "only" 3Mhz, since the FT2232H cable
maximum TCK frequency is 6Mhz
(http://sourceforge.net/apps/mediawiki/urjtag/index.php?title=Cable_FT2232#TCK_Frequency_Setting)?
I will researching a little more...

Sorry for the long message!
Gastón.






------------------------------------------------------------------------------
What happens now with your Lotus Notes apps - do you make another costly 
upgrade, or settle for being marooned without product support? Time to move
off Lotus Notes and onto the cloud with Force.com, apps are easier to build,
use, and manage than apps on traditional platforms. Sign up for the Lotus 
Notes Migration Kit to learn more. http://p.sf.net/sfu/salesforce-d2d
_______________________________________________
UrJTAG-development mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/urjtag-development

Reply via email to