<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Flynn Systems &#187; onTAP Usage</title>
	<atom:link href="http://www.flynn.com/category/jtag-blog/jtag-test-issues/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.flynn.com</link>
	<description></description>
	<lastBuildDate>Thu, 02 Feb 2012 20:19:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>onTAP Supports IEEE 1149.6!</title>
		<link>http://www.flynn.com/product-news/ontap-is-ieee-1149-6-enabled/</link>
		<comments>http://www.flynn.com/product-news/ontap-is-ieee-1149-6-enabled/#comments</comments>
		<pubDate>Fri, 14 May 2010 20:26:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[onTAP JTAG Blog]]></category>
		<category><![CDATA[onTAP Usage]]></category>
		<category><![CDATA[Press Releases]]></category>
		<category><![CDATA[Product News]]></category>

		<guid isPermaLink="false">http://www.flynn.com/?p=2979</guid>
		<description><![CDATA[As we have promised our users, Flynn Systems continues to develop and add new features to onTAP Boundary Scan Software.&#160; These new features vastly improve onTAP&#8217;s capability, enabling onTAP&#160;users to do more with less.&#160; We had been developing support for IEEE 1149.6 for several months, and at the end of April, we were able to [...]]]></description>
			<content:encoded><![CDATA[<p>As we have promised our users, Flynn Systems continues to develop and add new features to onTAP Boundary Scan Software.&nbsp; These new features vastly improve onTAP&#8217;s capability, enabling onTAP&nbsp;users to do more with less.&nbsp; We had been developing support for IEEE 1149.6 for several months, and at the end of April, we were able to fully implement the IEEE 1149.6 standard into the current version of onTAP.&nbsp; It has been rigorously field tested, and we are proud to release it to our user community. Please download the newest version of onTAP, and feel free to begin developing truly complete, robust JTAG&nbsp;tests for your projects with IEEE 1149.6 capability.</p>
<p><span style="font-size: larger;"><strong>onTAP Boundary Scan Software Now Supports IEEE 1149.6</strong></span></p>
<div>&nbsp;</div>
<div><strong><span style="font-size: 11pt;">NASHUA, NH</span></strong><span style="font-size: 11pt;"> May 14, 2010 &#8211; Flynn Systems Corp is proud to announce the latest version of onTAP is IEEE 1149.6 compliant.&nbsp;The implementation of IEEE 1149.6 greatly enhances onTAP&rsquo;s scope and capability, while delivering more JTAG test coverage and power to current and interested onTAP users. </span></div>
<div>&nbsp;</div>
<div><span style="font-size: 11pt;">According to Ryan Flynn, onTAP Marketing Manager, &ldquo;As Xilinx and Altera begin to implement IEEE 1149.6 protocols in their latest designs, including the Virtex 6 and Aria GX devices (respectively), it was increasingly important for us to enable onTAP users with every bit of capability so they could harness the full test potential of these new devices and implement them into their designs.&nbsp;onTAP&rsquo;s IEEE 1149.6 implementation has been field tested in very intense and rigorous applications with Intel.&nbsp;Intel&rsquo;s success has been a heck of proving ground for onTAP.&rdquo;</span></div>
<div>&nbsp;</div>
<div><span style="font-size: 11pt;">As implementation of IEEE 1149.1 and 1149.X Boundary Scan testing becomes more widespread, greater flexibility, faster speeds, and smoother operation are needed.&nbsp;Flynn Systems&rsquo; commitment to its Customers has always been to keep onTAP a live software by continuing to support, develop, and enhance onTAP tools that capitalize on JTAG test capability. The 1149.6 implementation is another demonstration of Flynn&rsquo;s commitment to its user base. </span></div>
<div><span style="font-size: 11pt;">onTAP&rsquo;s new update expands users&rsquo; test capabilities, flexibility, and further enhances test fault coverage in a number of ways.&nbsp;Most apparent is the productivity gain achieved by testing to both IEEE 1149.1 and IEEE 1149.6 standards.&nbsp;The IEEE 1149.6 feature enables users to test AC Coupled circuits and differential pairs to the industry standard protocol.&nbsp;Adding these two elements to a test not only increases test fault coverage, but also creates a more robust and reliable test by incorporating additional aspects of the board in the test. </span></div>
<div>&nbsp;</div>
<div><span style="font-size: 11pt;">Flynn Systems continues its pursuit of delivering cost-effective, complete, robust JTAG test and programming software packages with attentive and dedicated technical support to its current users and anyone interested in a feature-rich, high-value complete JTAG solution at a reasonable price. </span></div>
<div>&nbsp;</div>
<div><b><span style="">About Flynn Systems:</span></b></div>
<div><span style="">Flynn Systems began delivering Automatic Test Generation Solutions to the ATE market as FS-ATG in 1986.&nbsp;In late 1999, they transitioned to the boundary scan market with onTAP and have provided test, debug, and programming solutions for the boundary scan test standard (JTAG IEEE 1149.1) for over ten years.&nbsp;Their onTAP software package is designed for completely automated boundary scan testing for devices of all levels of complexity on printed circuit boards (PCB) and non-boundary scan devices interacting with the scan enabled devices.&nbsp;onTAP&rsquo;s functionality also includes the capability to program FLASH devices using only the onTAP USB Test and Programming Cable (HighSpeed included). Flynn Systems Corp. provides high level test suites and the highest fault coverage available with a powerful ATG engine: all backed by fast, responsive technical support.&nbsp;Its satisfied customers include Intel, Qualcom, Harris RF, Benchmark Electronics, Raytheon, L-3 Communications, Cadence Design, Teradyne, Checkpoint Systems, Ulticom, and University of Arizona.&nbsp;Flynn Systems&rsquo; onTAP provides boundary scan services for university research, avionics, defense systems, consumer goods, and medical electronics.&nbsp;It is based in New Hampshire with distributors and partners in Europe and Asia. </span></div>
<div>&nbsp;</div>
<div><span style="">Those interested are invited to download a free 30 day evaluation software package with full technical support available at </span><a href="../../../../../../"><span style="">www.flynn.com</span></a><span style="">.</span></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flynn.com/product-news/ontap-is-ieee-1149-6-enabled/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Properly Managing Common Tri-State Control Cells Boosts Fault Coverage</title>
		<link>http://www.flynn.com/jtag-blog/properly-managing-common-tri-state-control-cells-boosts-fault-coverage/</link>
		<comments>http://www.flynn.com/jtag-blog/properly-managing-common-tri-state-control-cells-boosts-fault-coverage/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 20:16:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[onTAP JTAG Blog]]></category>
		<category><![CDATA[onTAP Usage]]></category>
		<category><![CDATA[boundary scan]]></category>
		<category><![CDATA[Boundary Scan JTAG Turnkey Solution]]></category>
		<category><![CDATA[boundary scan test]]></category>
		<category><![CDATA[boundary scan test types]]></category>
		<category><![CDATA[DFT and JTAG test]]></category>
		<category><![CDATA[JTAG]]></category>
		<category><![CDATA[JTAG boundary scan test]]></category>
		<category><![CDATA[JTAG Test]]></category>
		<category><![CDATA[turnkey JTAG test]]></category>

		<guid isPermaLink="false">http://www.flynn.com/?p=2800</guid>
		<description><![CDATA[ We are constantly exposed to new situations in boundary scan test and new approaches to using boundary scan to achieve better test fault coverage. One item standing in the way of higher, more accurate fault coverage is common tri-state control cells.]]></description>
			<content:encoded><![CDATA[<p><span style="font-size: small;">As the boundary scan community continues looking for new ways to improve test procedures and achieve higher and higher fault coverage, we expect the test tools to compensate for shortcomings in silicon devices or board design.&nbsp;We are constantly exposed to new situations in boundary scan test and new approaches to using boundary scan to achieve better test fault coverage.&nbsp;One item standing in the way of higher, more accurate fault coverage is common tri-state control cells.</span></p>
<p><span style="font-size: small;">  <span style="line-height: 115%;">Common tri-state control cells are groups of pins on a common net.&nbsp; Just as the name suggests, they are tri-state pins, grouped together by a common function, sharing a boundary scan cell.&nbsp;Though this is efficient for circuitry, it poses some issues during JTAG test.&nbsp;For example, when a single pin on the common cell drives or senses a value, all the pins associated with that cell are forced to perform the same function, simultaneously.&nbsp;This is represented in the following drawing.</span></span></p>
<p><img src="file:///C:/Users/Ryan/AppData/Local/Temp/moz-screenshot-4.png" alt="" /></p>
<p><img src="file:///C:/Users/Ryan/AppData/Local/Temp/moz-screenshot-5.png" alt="" /></p>
<p><img width="414" height="174" alt="Tri-State Control Cell diagram for JTAG test" src="/wp-content/uploads/image/PICS/Tri-State%20Control%20Cells.jpg" /><br />
Un-handled common tri-state cells can have a negative impact on boundary scan test, dramatically reducing accuracy and fault coverage of opens and shorts tests because multiple pins sharing a common net drive in the same test vector, as displayed in the screen capture below.&nbsp;</p>
<p><img width="541" height="170" alt="onTAP JTAG Test showing Common Tri-State Control Cell un-tested" src="/wp-content/uploads/image/PICS/BLOG%20POSTS/ProScan%20no%20TriState.jpg" /><br />
<var>In this image, you can see pins U23.AA14 and U36.AE30 are on net U23_AA14. This test is not accounting for the tri-state pins on the common control cell, ultimately compromising fault coverage. </var></p>
<div><span style="font-size: small;"><var>The yellow 0 and 1 characters show drive, or boundary register update, values at each test vector, and the green L and H values show expected boundary register capture values on the vectors following an update.</p>
<p></var></span></div>
<p><img width="605" height="197" alt="Mv64360 boundary scan device multiple pins sharing common tr-state cells" src="/wp-content/uploads/image/PICS/BLOG%20POSTS/Mv6430%20TriState.jpg" /><var><span style="font-size: small;"><br />
</span></var></p>
<p><var><span style="font-size: small;">This image shows the netlist view of the Mv6430 <strong>boundary scan</strong> device, while the following image displays the pins in an expanded view.</span></var></p>
<p><img width="621" height="241" alt="onTAP Netlist Browser displays common tristate control cells for JTAG device" src="/wp-content/uploads/image/PICS/BLOG%20POSTS/Mv6430%20TriState%20Netsview.jpg" /></p>
<p>&nbsp;</p>
<p><img width="624" height="117" alt="ProScan test view showing additional vectors added to JTAG test for tristate condition" src="/wp-content/uploads/image/PICS/BLOG%20POSTS/tristate%20fixed.jpg" /></p>
<p>&nbsp;</p>
<div><var><span style="font-size: small;"><em>This image shows how the test was revised to account for the tri-state pins on the common control cell. &nbsp;The result is a boost in fault coverage, with the added benefit of making the test more accurate.</em></span></var></div>
<div>&nbsp;</div>
<div>As explained in the text box in this screen shot, onTAP accounts for the shared cells and adds additional test vectors to ensure pins do not drive simultaneously, allowing for more comprehensive tests that deliver higher, and most importantly, more accurate, test fault coverage.&nbsp;</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flynn.com/jtag-blog/properly-managing-common-tri-state-control-cells-boosts-fault-coverage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>onTAP BIST (Built In Self Test)</title>
		<link>http://www.flynn.com/jtag-blog/ontap-bist-built-in-self-test/</link>
		<comments>http://www.flynn.com/jtag-blog/ontap-bist-built-in-self-test/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 16:47:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[onTAP JTAG Blog]]></category>
		<category><![CDATA[onTAP Usage]]></category>

		<guid isPermaLink="false">http://www.flynn.com/?p=2724</guid>
		<description><![CDATA[Tests may be defined in script files which may then be translated into executable Serial Vector Format (SVF) files.&#160;The general approach is to place all of the required BSDL files into a folder and then to relate the BSDL files to circuit locations in declarations at the beginning of the script file. Once BIT_STRINGS are [...]]]></description>
			<content:encoded><![CDATA[<p><span style="font-size: 10pt;">Tests may be defined in script files which may then be translated into executable Serial Vector Format (SVF) files.&nbsp;The general approach is to place all of the required BSDL files into a folder and then to relate the BSDL files to circuit locations in declarations at the beginning of the script file. Once BIT_STRINGS are defined, instruction register scans may be created by simply declaring the instruction names to be used. And data scans can be created by concatenating BIT_STRINGS.&nbsp;String variables may be assigned values and then multiple variables may be concatenated. In addition literal string assignments may be used directly or mixed with variables. </span></p>
<div style="margin-bottom: 0.0001pt; line-height: normal;">&nbsp;</div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="font-size: 10pt;">Values are always expressed as binary strings, BIT_STRINGS. If zero and one values are present in a TDO string, the corresponding MASK bits will be set to one. If &lsquo;X&rsquo; characters are present in a TDO string, the corresponding mask bits are set to zero.</span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;">&nbsp;</div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="font-size: 10pt;">The following example shows a very literal application of an IDCODE test to a three device chain. Comments, beginning with the ! character, explain the purpose of each statement and are consistent with SVF syntax. Note that onTAP allows C-like flow control expressions to be embedded within SVF files and that these expressions also use exclamation marks. onTAP distinguishes the two based on context.</span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;">&nbsp;</div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="font-size: 10pt;">As found in the onTAP&nbsp;folder on your computer: </span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;">&nbsp;</div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="font-size: 10pt;">Example of a User Defined IDCODE Test for Three Devices , U2,U3,U4( see onTAP/examples/UserDefinedTests/ idcode_batch.txt).</span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;">&nbsp;</div>
<div style="margin-bottom: 0.0001pt; line-height: normal;">&nbsp;</div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">!Begin here&hellip;.</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">create svf c:\bsdapps\UserDefined\idcode.svf;&nbsp;&nbsp;&nbsp;&nbsp; ! the following user statements will be placed in this SVF file</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);">&nbsp;</span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">! onTAP uses the declarations between the begin chain and end chain lines to define the chain and&nbsp;to associate a BSDL file with each </span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">! circuit location in the chain.</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);">&nbsp;</span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">begin chain;</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">&nbsp;U2 = xc9536xl_pc44;</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">&nbsp;U3 = ispLSI2032VE;</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">&nbsp;U4 = 3032AL44;</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">end chain;</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);">&nbsp;</span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">BIT_STRING u2_version, U2_part_num, U2_manuf_id, U2_required;&nbsp;&nbsp; // declare string variables for U2 IDCODE fields</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">BIT_STRING u3_version, U3_part_num, U3_manuf_id, U3_required;&nbsp;&nbsp; // declare string variables for U3 IDCODE fields</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">BIT_STRING u3_version, U3_part_num, U3_manuf_id, U3_required;&nbsp;&nbsp; // declare string variables for U4 IDCODE fields</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">BIT_STRING u4_version, U4_part_num, U4_manuf_id, U4_required;&nbsp;&nbsp; // declare string variables for U4 IDCODE fields</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">BIT_STRING zeroes;</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);">&nbsp;</span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">state reset;&nbsp;&nbsp;&nbsp;&nbsp; ! place chain defined in TAPMAP in reset state</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);">&nbsp;</span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">begin scan;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ! onTAP creates one SIR scan in SVF file for U1,U2,U3</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);">&nbsp;</span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">&nbsp;&nbsp; U2=IDCODE;&nbsp;&nbsp; ! if the BSDL file is in the folder, onTAP will find the opcode for U2&rsquo;s&nbsp;IDCODE instruction</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">&nbsp;&nbsp; U3=IDCODE;</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">&nbsp;&nbsp; U4=IDCODE;</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);">&nbsp;</span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">end scan;</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);">&nbsp;</span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">! When compliled with Tools/Compose SVF, onTAP uses the declarations between begin scan and end scan lines</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">! to create an SIR scan that loads the IDCODE instructions.</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);">&nbsp;</span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">U2_version = &quot;XXXX&quot;;&nbsp;&nbsp; ! IDCODE version field from U2&rsquo;s BSDL file</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">U2_part_num&nbsp;=&nbsp;&quot;1001011000000010&quot;;&nbsp;! part number</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">U2_manuf_id =&nbsp;&quot;00001001001&quot;;&nbsp;&nbsp; U2&rsquo;s&nbsp;manufacturer&#8217;s id</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">U2_required = &quot;1&quot;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // required by BSDL spec</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);">&nbsp;</span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">U3_version = &quot;0001&quot;;&nbsp;&nbsp; ! IDCODE version field from U3&rsquo;s BSDL file</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">U3_part_num&nbsp;=&nbsp;&quot;0000001100000001&quot;;&nbsp;! part number</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">U3_manuf_id =&nbsp;&quot;00000100001&quot;;&nbsp;&nbsp; U3&rsquo;s&nbsp;manufacturer&#8217;s id</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">U3_required = &quot;1&quot;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // required by 1149.1 spec</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);">&nbsp;</span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">U4_version = &quot;0001&quot;;&nbsp;&nbsp; ! IDCODE version field from U4&rsquo;s BSDL file</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">U4_part_num&nbsp;=&nbsp;&quot;0111000000110010&quot;;&nbsp;! part number</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">U4_manuf_id =&nbsp;&quot;00001101110&quot;;&nbsp;&nbsp; U4&rsquo;s&nbsp;manufacturer&#8217;s id</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">U4_required = &quot;1&quot;;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // required by BSDL spec</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);">&nbsp;</span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">zeroes = &quot;00000000000000000000000000000000&quot;;&nbsp;&nbsp; // 32 zeroes</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);">&nbsp;</span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">! TDI definesTest Data In and TDO defines Test Data Out.</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);">&nbsp;</span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">! The strings in the TDO expression will be concatenated. LSB is on the right.</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);">&nbsp;</span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">begin scan;</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">&nbsp;U2 = TDI(zeroes) TDO(U2_version+ U2_part_num+ U2_manuf_id+ U2_required);&nbsp;&nbsp;&nbsp; !concatenate BIT_STRINGS to form TDO string</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">&nbsp;U3 = TDI(zeroes) TDO(U3_version+ U3_part_num+ U3_manuf_id+ U3_required);</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">&nbsp;U4 = TDI(zeroes) TDO(U4_version+ U4_part_num+ U4_manuf_id+ U4_required);</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">end scan;</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">&nbsp;</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">! When compiled with Tools/Compose SVF, the declarations between begin and end scan will be compiled into</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">! an SVF SDR scan.</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);">&nbsp;</span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">! Examples of test statements that may be applied follow. onTAP will extract the measured value from SDR scans and will update </span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">! BIT_STRING values so that they can be used in control flow branch expressions as shown below.</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);">&nbsp;</span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);">&nbsp;</span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">if ( U3_part_num&nbsp;!=&nbsp;&quot;0000001100000001&quot; )</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">{</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; MESSAGE_PAUSE(&quot;U3&rsquo;s IDCODE part number, %%s, is incorrect. Should be &quot;0000001100000001&quot;&quot;,U3_part_num);</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">}</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);">&nbsp;</span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">if ( !(U2_part_num &amp; &quot;010&quot;))</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">{</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; MESSAGE(&quot;bit 1 in U2&rsquo;s part number reads low but should be high&quot;);</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">}</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);">&nbsp;</span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">if&nbsp;( U3_part_num != &quot;0000001100000001&quot; )</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">{</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; MESSAGE(&quot;U3&rsquo;s part number reads %%s, but should read 0000001100000001&quot;, U3_part_num);</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">}</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);">&nbsp;</span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">if ( FAIL )</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">{</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">&nbsp;&nbsp;&nbsp; MESSAGE(&quot;IDCODE test fails&quot;);</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">}</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);">&nbsp;</span></div>
<div style="margin: 0in 0in 0.0001pt 0.5in; line-height: normal;"><span style="color: rgb(0, 51, 102);">&nbsp;</span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">User defined script files may be compiled into SVF files by selecting the Compose SVF File menu item from the Tools menu. </span></span></div>
<div style="margin: 0in 0in 0.0001pt 0.5in; line-height: normal;"><span style="color: rgb(0, 51, 102);">&nbsp;</span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">When the command file, idcode_batch.txt,&nbsp;is called a new SVF file, IDCODE.SVF is created. Instructions such as &ldquo;state reset;&rdquo; are transferred directly into the new SVF file.&nbsp;onTAP compiles&nbsp;chain-wide SIR and SDR instructions based on a list of SIR and SDR instructions for each device in the target chain. SIR and SDR statements for the first device in a chain are listed first and statements for the last device are listed last.</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);">&nbsp;</span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);"><span style="font-size: 10pt;">A &ldquo;log scan data on;&rdquo; statement enables all scan-in and scan-out data to be captured in the scandata.txt file.</span></span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="color: rgb(0, 51, 102);">&nbsp;</span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><b><span style="font-size: 12pt;">User Defined Instruction Statements</span></b></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;">&nbsp;</div>
<table cellspacing="0" cellpadding="0" border="1" style="border-collapse: collapse;">
<tbody>
<tr>
<td width="197" valign="top" style="padding: 0in 5.4pt; width: 2.05in;">
<div style="margin-bottom: 0.0001pt; line-height: normal;"><b><span style="font-size: 12pt;">Statement</span></b></div>
</td>
<td width="374" valign="top" style="padding: 0in 5.4pt; width: 3.9in;">
<div style="margin-bottom: 0.0001pt; line-height: normal;"><b><span style="font-size: 12pt;">Use</span></b></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;"><b>&nbsp;</b></div>
</td>
</tr>
<tr>
<td width="197" valign="top" style="padding: 0in 5.4pt; width: 2.05in;">
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="font-size: 10pt;">create filename.svf;</span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;">&nbsp;</div>
</td>
<td width="374" valign="top" style="padding: 0in 5.4pt; width: 3.9in;">
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="font-size: 10pt;">Begin ceation of a new   SVF file.</span></div>
</td>
</tr>
<tr>
<td width="197" valign="top" style="padding: 0in 5.4pt; width: 2.05in;">
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="font-size: 10pt;">state state_name</span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;">&nbsp;</div>
</td>
<td width="374" valign="top" style="padding: 0in 5.4pt; width: 3.9in;">
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="font-size: 10pt;">Sequence TAP to   designated state.</span></div>
</td>
</tr>
<tr>
<td width="197" valign="top" style="padding: 0in 5.4pt; width: 2.05in;">
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="font-size: 10pt;">begin scan;</span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;">&nbsp;</div>
</td>
<td width="374" valign="top" style="padding: 0in 5.4pt; width: 3.9in;">
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="font-size: 10pt;">Begin steps that will be   compiled into an SIR or SDR scan .</span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;">&nbsp;</div>
</td>
</tr>
<tr>
<td width="197" valign="top" style="padding: 0in 5.4pt; width: 2.05in;">
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="font-size: 10pt;">end scan;</span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;">&nbsp;</div>
</td>
<td width="374" valign="top" style="padding: 0in 5.4pt; width: 3.9in;">
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="font-size: 10pt;">End steps that will be   compiled into an SIR or SDR scan .</span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;">&nbsp;</div>
</td>
</tr>
<tr>
<td width="197" valign="top" style="padding: 0in 5.4pt; width: 2.05in;">
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="font-size: 10pt;">BIT_STRING_name;</span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;">&nbsp;</div>
</td>
<td width="374" valign="top" style="padding: 0in 5.4pt; width: 3.9in;">
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="font-size: 10pt;">Declare string   variables.</span></div>
</td>
</tr>
<tr>
<td width="197" valign="top" style="padding: 0in 5.4pt; width: 2.05in;">
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="font-size: 10pt;">LogScanDataOn()</span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;">&nbsp;</div>
</td>
<td width="374" valign="top" style="padding: 0in 5.4pt; width: 3.9in;">
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="font-size: 10pt;">Enables logging of   scan data to the project folder file scandata.txt. </span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;">&nbsp;</div>
</td>
</tr>
<tr>
<td width="197" valign="top" style="padding: 0in 5.4pt; width: 2.05in;">
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="font-size: 10pt;">LogScanDataOff()</span></div>
<div style="margin-bottom: 0.0001pt; line-height: normal;">&nbsp;</div>
</td>
<td width="374" valign="top" style="padding: 0in 5.4pt; width: 3.9in;">
<div style="margin-bottom: 0.0001pt; line-height: normal;"><span style="font-size: 10pt;">Disables logging of   scan data to the project folder file scandata.txt.</span></div>
</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.flynn.com/jtag-blog/ontap-bist-built-in-self-test/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Importance of Testing for Mid-State/Resistive Shorts</title>
		<link>http://www.flynn.com/jtag-blog/jtag-test-issues/jtag-test-for-mid-stateresistive-shorts/</link>
		<comments>http://www.flynn.com/jtag-blog/jtag-test-issues/jtag-test-for-mid-stateresistive-shorts/#comments</comments>
		<pubDate>Mon, 02 Nov 2009 17:10:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[onTAP Usage]]></category>
		<category><![CDATA[boundary scan test types]]></category>
		<category><![CDATA[JTAG boundary scan test]]></category>
		<category><![CDATA[JTAG Test]]></category>
		<category><![CDATA[mid state shorts]]></category>
		<category><![CDATA[resistive shorts]]></category>

		<guid isPermaLink="false">http://www.flynn.com/?p=2711</guid>
		<description><![CDATA[Mid-state shorts are a major problem that often goes undetected by typical boundary scan connectivity tests is mid-state/resitive shorts. Flynn Systems recognized this "hole" in boundary scan testing and was the first boundary scan test company to test for mid-state shorts, improving test fault coverage.  ]]></description>
			<content:encoded><![CDATA[<p><big><span style="font-size: small;">Mid-state shorts are a major problem that often goes undetected by typical boundary scan connectivity tests is mid-state/resitive shorts. Flynn Systems recognized this &quot;hole&quot; in boundary scan testing and was the first boundary scan test company to test for mid-state shorts, improving test fault coverage.&nbsp; </span></big></p>
<p><img style="width: 563px; height: 188px;" alt="JTAG Identification of mid-state shorts" src="/wp-content/uploads/image/JTAG_TEST_MidStateShorts.png" /></p>
<p><big><strong>How onTAP Detects and Diagnoses Mid-State Shorts</strong></big></p>
<p>Mid-state shorts are bridging faults that result in a mid-state voltage level rather than a hard low or high level. In our experience at Flynn Systems when working with customers, we have found the condition occurs where short circuits exist:</p>
<p>1. between some boundary-scan pins on FPGA devices when only one boundary scan pin is present on a PCB net<br />
2. across pins on resistor networks where the resistors lie between the shorts fault and scannable pins, and again on nets that have only one boundary-scan pin</p>
<p>Mid-state shorts, like any bridging fault, can result in system level applications failures if not detected and cleared. The difficulty is that these shorts will not be detected by traditional boundary scan shorts detection algorithms where zero or one logic levels must be detected. The reason is that at the capture cell on single-pin nets, the capture value is equal to the value being actively driven from the same pin.</p>
<p>In the case of the resistor network, it is easy to see how the resistors can isolate the capture value from the value measured at the physical short. In the case of the FPGA pins the reasons are not quite so clear, but apparently sufficient impedance exists between the bidirectional cells and physical pins so that the input cell sees the value driven from the drive cell, not the value measured at the physical short. Again, the capture value is equal to the expected value, producing a PASS.</p>
<p><big><strong>How can Mid-State Shorts be Detected?</strong></big></p>
<p>As might be expected, MID-STATE shorts can be detected by a test pattern that uses tri-state, high impedance values, Z, in combination with zero and one values. One difficulty, however, is that since Z is a passive condition, this approach is likely to result in unpredictable numbers of false failures. Another problem is that the number of potential test scans required can be quite large.</p>
<p>onTAP addresses these difficulties in several ways. First, to achieve a manageable number of test patterns, standard Wagner test popular in boundary scan testing and known for their compactness and effectiveness, are employed. But instead of using only 0-1 test patterns, 0-Z and 1-Z patterns are also used. This is effective and will detect the shorts, but will inevitably also produce false failures.<br />
To deal with the false failures, onTAP actively interrogates all indicted net combinations at run time with a more exhaustive<br />
0-1-Z pattern that eliminates false failures but indicts any MID-STATE shorts<br />
conditions.<br />
&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flynn.com/jtag-blog/jtag-test-issues/jtag-test-for-mid-stateresistive-shorts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PC Based Parallel Test</title>
		<link>http://www.flynn.com/jtag-blog/pc-based-parallel-test/</link>
		<comments>http://www.flynn.com/jtag-blog/pc-based-parallel-test/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 17:03:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[onTAP JTAG Blog]]></category>
		<category><![CDATA[onTAP Usage]]></category>
		<category><![CDATA[boundary scan test]]></category>
		<category><![CDATA[JTAG boundary scan test]]></category>
		<category><![CDATA[parallel JTAG test]]></category>
		<category><![CDATA[Parallel test]]></category>

		<guid isPermaLink="false">http://www.flynn.com/?p=2707</guid>
		<description><![CDATA[Ontap_parallel.exe can be used to simultaneously run test suites on multiple PC boards using the onTAP DLL. Parallel board testing must be enabled for the DLL license. Testing is fastest on a multiple processor PC , particularly where one core processor is available for each board. For example if four PC boards are being tested in parallel, then a quad core processor is recommended so that the time to test four boards is about the same as that required to test one board.]]></description>
			<content:encoded><![CDATA[<p>Ontap_parallel.exe can be used to simultaneously run test suites on multiple PC boards using the onTAP DLL. Parallel board testing must be enabled for the DLL license. Testing is fastest on a multiple processor PC , particularly where one core processor is available for each board. For example if four PC boards are being tested in parallel, then a quad core processor is recommended so that the time to test four boards is about the same as that required to test one board.</p>
<p>&nbsp;</p>
<p><big><strong>Procedure for Running Tests in Parallel</p>
<p></strong></big>Create a separate folder for each board to be tested and in the folder place all of the tests that will be run for a board.</p>
<p>Launch an ontap_parallel.exe for each board to be tested, and for each instance of ontap_parallel.<br />
exe, browse to a folder with the tests for a designated board. In the SVF Files list, check the SVF files that will be run for the board.</p>
<p>Return to the first instance of ontap_parallel.exe and check the boards that you wish to run in the Board list.</p>
<p>Click Run Checked Board Folders to run the tests for one or more folders. Test results are left in the .test and .fail files for each test in each folder. The test and diagnostic messages can be seen on the screen by selecting, as opposed to checking, a board and then selecting an SVF file.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flynn.com/jtag-blog/pc-based-parallel-test/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Escape Communications Selects onTAP as its Embedded JTAG Solution</title>
		<link>http://www.flynn.com/product-news/case-study-ontap-chosen-as-embedded-jtag-solution/</link>
		<comments>http://www.flynn.com/product-news/case-study-ontap-chosen-as-embedded-jtag-solution/#comments</comments>
		<pubDate>Fri, 03 Apr 2009 18:00:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[onTAP JTAG Blog]]></category>
		<category><![CDATA[onTAP Usage]]></category>
		<category><![CDATA[Product News]]></category>
		<category><![CDATA[boundary scan]]></category>
		<category><![CDATA[embedded JTAG solution]]></category>
		<category><![CDATA[JTAG]]></category>

		<guid isPermaLink="false">https://www.flynn.com/newsite/?p=1433</guid>
		<description><![CDATA[(text version &#8211; download PDF version here) &#160; The challenge: &#160; Escape Communications of Torrance, CA (www.escapecom.com), a trusted provider of point-to-point microwave radio indoor units (IDUs) for commercial telecommunications OEMs and custom advanced signal processing designs for major space and defense contractors, sought to improve their physical user interface for testing, especially during the [...]]]></description>
			<content:encoded><![CDATA[<table cellspacing="1" cellpadding="1" border="0" style="width: 575px; height: 841px;">
<tbody>
<tr>
<td>
<p><span style="font-size: 10pt;">(<strong>text version</strong> &#8211; <a target="_blank" href="/wp-content/uploads/file/NEWS/onTAP_Escape_Case_Study_Embedded_JTAG_Test_Solution(2).pdf">download PDF version here</a>)</span></p>
<p>&nbsp;</p>
<div><big><strong><span style="font-size: 10pt;">The challenge:</span></strong></big></div>
<div>&nbsp;</div>
<div><span style="font-size: 10pt;">Escape Communications of Torrance, CA (<a href="http://www.escapecom.com">www.escapecom.com</a>), a trusted provider of point-to-point microwave radio indoor units (IDUs) for commercial telecommunications OEMs and custom advanced signal processing designs for major space and defense contractors, sought to improve their physical user interface for testing, especially during the manufacturing process.&nbsp; Having already developed a test executive with an intuitive GUI, Escape then needed to eliminate proprietary third party&nbsp; test fixtures, some of which were outdated and unreliable, and integrate reliable, easy to use, and cost-effective test capabilities into their new Automated Test Board (ATB) design.&nbsp;&nbsp; <br />
            </span><span style="font-size: 10pt;"><br />
            </span></div>
<div><span style="font-size: 10pt;">In previous projects, Escape had recognized the high value of comprehensive IEEE 1149.1 tests and had successfully used onTAP software for boundary scan test applications.&nbsp; The major test and development challenges for their current ATB project were limited physical access to the board and limited boundary scan access.&nbsp; &ldquo;Some devices were not able to interface via boundary scan,&rdquo; said Ted Pascaru, Director of Operations for Escape Communications, &ldquo;and other devices required proprietary test and programming methods&hellip;We needed a solution that would make it easier for us, our customers, and manufacturers to access the board and conduct the necessary tests.&rdquo;<br />
            </span></div>
<div>&nbsp;</div>
<div><span style="font-size: 10pt;">Escape set out to develop a method that provided boundary scan access along with the needed access to the devices with special provisions.&nbsp; Such a strategy, Pascaru explained, &ldquo;Would enable our customers, and subsequently our CMs, to implement reliable, user-friendly, cost-effective tests without the need to purchase suites of separate test tools and licenses.&rdquo;</span></div>
<div>&nbsp;</div>
<div><img width="583" height="128" src="/wp-content/uploads/image/for%20News/EXM2L-16%20Reflection.jpg" alt="Escape Communcations Flagship Product EXM2L-16" /></div>
<div><strong>&nbsp;<span style="font-size: xx-small;">The Escape Communications EXM-2L16 is their flagship product offering 16 native T1/E1 tributaries and offering optional built-in switched protection / receive diversity. The EXM-2L16 supports arbitrary bandwidths from 3.5 to 30 MHz&nbsp; and transport capacities from&nbsp; 5 Mbps to 170 Mbps (QPSK to 256 QAM).</span></strong></div>
<div>&nbsp;</div>
<div><big><strong><span style="font-size: 10pt;">The solution:</span></strong></big></div>
<div>&nbsp;&nbsp;</div>
<p>            Escape Communications asked Flynn Systems to help them tackle the challenge of embedding boundary scan tests into their ATB design through the use of readily available, off-the-shelf firmware in order to minimize customization and engineering development costs.&nbsp; Escape selected the FTDI 2232D Dual USB UART/FIFO IC chip for the ATB test interface, the same chip Flynn Systems uses in their USB JTAG Test and Programming cable.&nbsp; Escape and Flynn have both had great success with this particular device due to its versatility and full range of capabilities for test and development purposes.</p>
<p>            The Escape solution confines the necessary test equipment to little more than a common high speed A-A USB 2.0 cable, controlling the embedded FTDI chip through Escape&rsquo;s board design and its own test executive.&nbsp; The result: &ldquo;Now we have created a way to easily access the board and perform all the necessary functions for the different devices on the board.&nbsp; Flynn was easy to work with and open to the idea of embedding a solution,&rdquo; Pascaru noted.&nbsp; Instead of having several cables and test and programming pods interfacing with the board, there is one embedded device connected to the test PC via a standard USB 2.0 port. &nbsp;</p>
<p></p>
<div>&nbsp;</div>
<div><img width="582" height="289" src="/wp-content/uploads/image/for%20News/Escape%20Communications%20Automatic%20Test%20Board%20with%20Embedded%20JTAG%20Test.jpg" alt="Escape Commincation Automatic Test Board with onTAP Embedded JTAG Test Solution" /></div>
<div><span style="font-size: xx-small;">&nbsp;</span></div>
<div><span style="font-size: xx-small;">Escape Communications Automatic Test Board (ATB) with embedded onTAP JTAG test via USB port</span></div>
<div>&nbsp;</div>
<div><strong><big><span style="font-size: 10pt;">How it Works with onTAP:</span></big></strong></div>
<div><span style="font-size: 10pt;"><br />
            </span></div>
<p>            From a single test port, a design, test, or manufacturing test engineer can simply plug the board into an onTAP-enabled PC or laptop, and run a complete suite of pre-developed onTAP boundary scan tests.&nbsp; onTAP&rsquo;s automated test generation delivers the highest possible fault coverage with a graphical debugging environment that provides pin-level diagnostic messages and detailed test reports. Pascaru is pleased with the outcome of the seamless integration of onTAP with Escape&rsquo;s Automated Test Board.&nbsp; The comprehensive test results provided by onTAP enable users to identify and repair faults on boards under test more quickly and easily than ever before.</p>
<div>&nbsp;</div>
<div>
<div><strong><big><span style="font-size: 10pt;">About Escape Communications:</span></big></strong></div>
</p></div>
<p>            Founded in 1998, Escape Communications provides indoor units (IDUs), high-speed modem modules, and Satcom terminals to commercial telecommunications equipment OEMs and major space and defense contractors.&nbsp; Escape has developed an extensive portfolio of communications, signal processing, mixed-signal and embedded processor IP that enables them to offer standard product solutions and custom turnkey design services that are both cost-effective and schedule-efficient.&nbsp; More details can be found at <a href="http://www.escapecom.com" target="_blank">www.escapecom.com</a>.</td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.flynn.com/product-news/case-study-ontap-chosen-as-embedded-jtag-solution/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

