BSDL Files: Common Mistakes and How to Spot Them

Do you want to hear more?

Contact us for any inquiry or subscribe to our newsletter. Use the ‘Message’ box to describe your needs.

What is a BSDL File?

A BSDL (Boundary Scan Description Language) file is essentially a blueprint that describes how a device implements boundary scan. Written in a VHDL-based syntax, every JTAG-compliant device must provide one. Boundary scan tools, like XJTAG, use BSDL files to determine which tests can be run on a device and how to set it into boundary scan modes such as BYPASS, EXTEST, or SAMPLE.

Manufacturers typically provide BSDL files for free on their websites, sometimes requiring a verification step before download.

What’s Inside a BSDL File?

A BSDL file usually starts with comments for the user—like copyright notes or manufacturer information—which are ignored by test systems. After that, the main sections of the file include:

  • Port Groupings and Pin Mapping: Lists all device connections and maps them to pins. Some files include multiple mappings for different packages and groupings for differential signals.
  • TAP Definition: Specifies which port names are used for the JTAG interface signals.
  • Instruction Register Length and Opcodes: Defines the instruction register size and supported opcodes. At a minimum, IEEE 1149.1 requires EXTEST, SAMPLE/PRELOAD, and BYPASS. Manufacturers may also add custom opcodes.
  • IDCODE_REGISTER: A common but optional attribute holding a 32-bit device ID, including version, part number, and manufacturer ID.
  • Register Access: Specifies which registers are located between TDI and TDO for each instruction, e.g., “BYPASS (HIGHZ, CLAMP).”
  • Boundary Scan Register: Describes the connection, function, safe values, and relationships of individual boundary scan cells.
  • Optional Sections: Can include compliance pins, AIO_Pin_Behaviour for AC-coupled digital signals under IEEE 1149.6, and other device-specific features.

Common Mistakes in BSDL Files

Loading a BSDL file into your boundary scan tool is the fastest way to spot errors. Tools like XJDeveloper automatically parse the file and flag issues. If a file from the manufacturer doesn’t parse correctly, contact them first—editing a BSDL file yourself should be a last resort, as mistakes can lead to misleading test results or even damage to the device or board.

Some common issues include:

  • Unmasked ID Code Version Bits: The IDCODE_REGISTER identifies the device. If the version bits are incorrect, masking them with “XXXX” can help, but only if the rest of the ID matches.
  • Incorrect or Missing Compliance Pin Definitions: Compliance pins must be in specific states for boundary scan mode. Always check datasheets and reference manuals to confirm.
  • Missing Differential Pair Groupings: Differential signals need proper grouping in the BSDL file. If missing, tools may report inverted shorts.
  • Mismatched AIO_Pin_Behaviour References: For IEEE 1149.6 devices, inconsistencies in this section can prevent the file from parsing. Only modify if you are confident and have verified with the manufacturer.

Summary

BSDL files are crucial for boundary scan testing but are not always error-free, even when provided by manufacturers. Generally, assume a file is correct unless proven otherwise. If issues arise, contact your tool provider or the chip manufacturer. Manual edits carry risk, so only make changes if you are confident in your understanding and have verified the device documentation.

When working with XJTAG products using BSDL files is easy and regular part of the workflow. Contact us at ITEC to try XJTAG boundary Scan solutions.

More Articales

You can call us directly:

You can call us directly: