NAME

Device::Jtag::PP - Perl extension for communicating with JTAG devices via PC parallel port.

SYNOPSIS

use Device::Jtag::PP;
my $jtag = Device::Jtag::PP->new();
$jtag->autodetect();
$jtag->shiftir($device_number, $binary_string);
$jtag->shiftdr($device_number, $binary_string);

DESCRIPTION

Facilitates communication with JTAG devices using the Windows parallel port driving a Digilent Parallel Cable 3 (commonly shipped with Xilinx Spartan-3 FPGA evaluation boards).

EXPORT

None by default.

PREREQUISITES One must install the Perl module Device-Parallel port, which in turn requires that the file inpout32.dll available from http://www.logix4u.net/inpout32.htm be copied to the Windows\sytem32 folder.

CONSTRUCTOR =head2 new =over 4 =item new() Creates a Device::Jtag::PP =back

METHODS =over 4 =item initialize() Initializes the devices on the JTAG chain to the RTI state.

autodetect() Auto detects devices on the JTAG scan chain by shiting out 32-bit IDCODE register values for each device on the chain. The subroutine idcode_lookup is called for each 32 bit value to assign information for that device. Currently, only the IDCODEs for Spartan-3 and XCF0xS Flash PROMs are available, but the user can easily add his own.
shiftir(DEVICE, BIT_STRING) Shift BIT_STRING (a simple string of 0's and 1's) to the instruction register of device number DEVICE (integer) on the JTAG chain. All other devices on the chain get the BYPASS instruction. The device closest to the PC's outgoing serial data is defined as device 0. The length of BIT_STRING must match the number of bits defined for that device's instruction register.

= item shiftdr(DEVICE, BIT_STRING) Shift BIT_STRING (a simple string of 0's and 1's) to the data register of device number DEVICE (integer) on the JTAG chain. The device closest to the PC's outgoing serial data is defined as device 0. The length of BIT_STRING must match the number of bits defined for that device's instruction register. Returns a hexadecimal string of the data received on TDO from device number DEVICE.

HISTORY =over =item 0.1 - First release Basic first release. IDCODE support for Spartan-3 and XCF0xS Flash PROM devices only. =back

SEE ALSO

"bvdocs/appnotes/xapp139.pdf" in www.xilinx.com for information on JTAG tap controllers.

AUTHOR

Toby Deitrich, <tdeitrich@cpan.org>

COPYRIGHT AND LICENSE

Copyright (C) 2007 by Toby Deitrich

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.

2 POD Errors

The following errors were encountered while parsing the POD:

Around line 392:

'=item' outside of any '=over'

Around line 411:

You forgot a '=back' before '=head1'