- BSDL-файл
-
BSDL-файл (англ. Boundary Scan Description Language) — это текстовый файл, написанный на VHDL-подобном языке описания для периферийного сканирования, содержащий информацию об архитектуре регистров периферийного сканирования микросхемы. Является частью стандарта IEEE 1149.1. Эти файлы обычно доступны для скачивания с сайтов производителей. Системы периферийного сканирования используют эти файлы для доступа к JTAG-цепи электронной платы, а также для автоматической генерации тестовых векторов для проверки цепей, связанных с данной ИС.
Содержание BSDL-файлов
BSDL-файл может включать в себя следующие разделы:
- ENTITY description: Раздел именования; здесь может упоминаться о функциональном предназначении микросхемы.
- generic parameter: Тип корпуса изделия.
- port description: Описание портов устройства (input, output, bidirectional, linkage).
- use statements: Используемые стандарты (такие как IEEE 1149.1).
- PIN MAPPING: Карта соответствия логических сигналов выводам микросхемы.
- Scan Port Identification: Определение выводов, используемых для периферийного сканирования — TDI, TDO, TMS, TCK, TRST — выводов порта тестового доступа.
- INSTRUCTION REGISTER description: Описание команд регистра инструкций (для входа в различные JTAG-режимы).
- REGISTER ACCESS description: Описание других JTAG-регистров и соответствующих инструкций.
- BOUNDARY SCAN CELL description: Список ячеек периферийного сканирования и их функциональное описание.
Ссылки
- Русская версия сайта JTAG-technologies
- Англоязычная версия сайта JTAG-technologies (англ.)
- Ссылки на BSDL-файлы некоторых производителей
Пример BSDL-файла
В качестве примера для иллюстрации BSDL-файла взята ПЛИС Altera EPM7032AET44:
-- Copyright (C) 1998-2005 Altera Corporation -- -- File Name : 7032AET44.BSD -- Device : EPM7032AET44 -- Package : 44-Pin Thin Quad Flat Pack -- BSDL Version : 3.01 -- BSDL Status : Final -- Date Created : 12/8/1998 -- Created by : Altera BSDL Generation Program Ver. 1.20 -- Verification : Software syntax checked on: -- Agilent Technologies 3070 BSDL Compiler -- ASSET ScanWorks ver. 3.1.1 -- Corelis ScanPlus TPG ver. 4.12 -- Genrad BSDL syntax checker ver. 4.01, a component -- of Scan Pathfinder(tm) and BasicSCAN(tm) -- GOEPEL Electronics' CASCON-GALAXY(R) ver. 4.0 -- JTAG Technologies BSDL Converter ver. 2.4 -- -- Documentation : MAX 7000A Family Datasheet -- AN39: JTAG Boundary Scan Testing for Altera Devices -- -- ********************************************************************* -- * IMPORTANT NOTICE * -- ********************************************************************* -- -- Altera, MAX 7000AE and EPM7032AE are trademarks of Altera -- Corporation. Altera products, marketed under trademarks, are -- protected under numerous US and foreign patents and pending -- applications, maskwork rights, and copyrights. Altera warrants -- performance of its semiconductor products to current specifications -- in accordance with Altera's standard warranty, but reserves the -- right to make changes to any products and services at any time -- without notice. Altera assumes no responsibility or liability -- arising out of the application or use of any information, product, -- or service described herein except as expressly agreed to in -- writing by Altera Corporation. Altera customers are advised to -- obtain the latest version of device specifications before relying -- on any published information and before placing orders for products -- or services. -- -- ********************************************************************* -- * ENTITY DEFINITION WITH PORTS * -- ********************************************************************* entity EPM7032AET44 is generic (PHYSICAL_PIN_MAP : string := "TQFP44"); port ( --I/O Pins IO42 , IO43 , IO44 , IO2 , IO3 , IO5 , IO6 , IO8 , IO10 , IO11 , IO12 , IO13 , IO14 , IO15 , IO18 , IO19 , IO20 , IO21 , IO22 , IO23 , IO25 , IO27 , IO28 , IO30 , IO31 , IO33 , IO34 , IO35 : inout bit; --Dedicated Input Pins IN39 , IN40 , IN37 , IN38 : in bit; --JTAG Ports TCK , TMS , TDI : in bit; TDO : out bit; --Power Pins VCC : linkage bit_vector (1 to 4); --Ground Pins GND : linkage bit_vector (1 to 4) ); use STD_1149_1_1994.all; attribute COMPONENT_CONFORMANCE of EPM7032AET44 : entity is "STD_1149_1_1993"; -- ********************************************************************* -- * PIN MAPPING * -- ********************************************************************* attribute PIN_MAP of EPM7032AET44 : entity is PHYSICAL_PIN_MAP; constant TQFP44 : PIN_MAP_STRING := --I/O Pins "IO42 : 42 , IO43 : 43 , IO44 : 44 , IO2 : 2 , "& "IO3 : 3 , IO5 : 5 , IO6 : 6 , IO8 : 8 , "& "IO10 : 10 , IO11 : 11 , IO12 : 12 , IO13 : 13 , "& "IO14 : 14 , IO15 : 15 , IO18 : 18 , IO19 : 19 , "& "IO20 : 20 , IO21 : 21 , IO22 : 22 , IO23 : 23 , "& "IO25 : 25 , IO27 : 27 , IO28 : 28 , IO30 : 30 , "& "IO31 : 31 , IO33 : 33 , IO34 : 34 , IO35 : 35 , "& --Dedicated Input Pins "IN39 : 39 , IN40 : 40 , IN37 : 37 , IN38 : 38 , "& --JTAG ports "TCK : 26 , TMS : 7 , TDI : 1 , TDO : 32 , "& --Power Pins "VCC : (41 , 9 , 17 , 29 ), "& --Ground Pins "GND : (4 , 16 , 24 , 36 )"; -- ********************************************************************* -- * IEEE 1149.1 TAP PORTS * -- ********************************************************************* attribute TAP_SCAN_IN of TDI : signal is true; attribute TAP_SCAN_MODE of TMS : signal is true; attribute TAP_SCAN_OUT of TDO : signal is true; attribute TAP_SCAN_CLOCK of TCK : signal is (10.00e6,BOTH); -- ********************************************************************* -- * INSTRUCTIONS AND REGISTER ACCESS * -- ********************************************************************* attribute INSTRUCTION_LENGTH of EPM7032AET44 : entity is 10; attribute INSTRUCTION_OPCODE of EPM7032AET44 : entity is "BYPASS (1111111111), "& "EXTEST (0000000000), "& "SAMPLE (0001010101), "& "IDCODE (0001011001), "& "USERCODE (0000000111)"; attribute INSTRUCTION_CAPTURE of EPM7032AET44 : entity is "0101010101"; attribute IDCODE_REGISTER of EPM7032AET44 : entity is "0001"& --4-bit Version "0111000000110010"& --16-bit Part Number (hex 7032) "00001101110"& --11-bit Manufacturer's Identity "1"; --Mandatory LSB attribute USERCODE_REGISTER of EPM7032AET44 : entity is "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; attribute REGISTER_ACCESS of EPM7032AET44 : entity is "DEVICE_ID (IDCODE)"; -- ********************************************************************* -- * BOUNDARY SCAN CELL INFORMATION * -- ********************************************************************* attribute BOUNDARY_LENGTH of EPM7032AET44 : entity is 96; attribute BOUNDARY_REGISTER of EPM7032AET44 : entity is --BSC group 0 for dedicated input pin 38 "0 (BC_4, IN38, input, X)," & "1 (BC_4, *, internal, X)," & "2 (BC_4, *, internal, X)," & --BSC group 1 for dedicated input pin 37 "3 (BC_4, IN37, input, X)," & "4 (BC_4, *, internal, X)," & "5 (BC_4, *, internal, X)," & --BSC group 2 for I/O pin 35 "6 (BC_4, IO35, input, X)," & "7 (BC_1, *, control, 0)," & "8 (BC_1, IO35, output3, X, 7, 0, Z)," & --BSC group 3 for I/O pin 34 "9 (BC_4, IO34, input, X)," & "10 (BC_1, *, control, 0)," & "11 (BC_1, IO34, output3, X, 10, 0, Z)," & --BSC group 4 for I/O pin 33 "12 (BC_4, IO33, input, X)," & "13 (BC_1, *, control, 0)," & "14 (BC_1, IO33, output3, X, 13, 0, Z)," & --BSC group 5 for I/O pin 31 "15 (BC_4, IO31, input, X)," & "16 (BC_1, *, control, 0)," & "17 (BC_1, IO31, output3, X, 16, 0, Z)," & --BSC group 6 for I/O pin 30 "18 (BC_4, IO30, input, X)," & "19 (BC_1, *, control, 0)," & "20 (BC_1, IO30, output3, X, 19, 0, Z)," & --BSC group 7 for I/O pin 28 "21 (BC_4, IO28, input, X)," & "22 (BC_1, *, control, 0)," & "23 (BC_1, IO28, output3, X, 22, 0, Z)," & --BSC group 8 for I/O pin 27 "24 (BC_4, IO27, input, X)," & "25 (BC_1, *, control, 0)," & "26 (BC_1, IO27, output3, X, 25, 0, Z)," & --BSC group 9 for I/O pin 25 "27 (BC_4, IO25, input, X)," & "28 (BC_1, *, control, 0)," & "29 (BC_1, IO25, output3, X, 28, 0, Z)," & --BSC group 10 for I/O pin 23 "30 (BC_4, IO23, input, X)," & "31 (BC_1, *, control, 0)," & "32 (BC_1, IO23, output3, X, 31, 0, Z)," & --BSC group 11 for I/O pin 22 "33 (BC_4, IO22, input, X)," & "34 (BC_1, *, control, 0)," & "35 (BC_1, IO22, output3, X, 34, 0, Z)," & --BSC group 12 for I/O pin 21 "36 (BC_4, IO21, input, X)," & "37 (BC_1, *, control, 0)," & "38 (BC_1, IO21, output3, X, 37, 0, Z)," & --BSC group 13 for I/O pin 20 "39 (BC_4, IO20, input, X)," & "40 (BC_1, *, control, 0)," & "41 (BC_1, IO20, output3, X, 40, 0, Z)," & --BSC group 14 for I/O pin 19 "42 (BC_4, IO19, input, X)," & "43 (BC_1, *, control, 0)," & "44 (BC_1, IO19, output3, X, 43, 0, Z)," & --BSC group 15 for I/O pin 18 "45 (BC_4, IO18, input, X)," & "46 (BC_1, *, control, 0)," & "47 (BC_1, IO18, output3, X, 46, 0, Z)," & --BSC group 16 for I/O pin 15 "48 (BC_4, IO15, input, X)," & "49 (BC_1, *, control, 0)," & "50 (BC_1, IO15, output3, X, 49, 0, Z)," & --BSC group 17 for I/O pin 14 "51 (BC_4, IO14, input, X)," & "52 (BC_1, *, control, 0)," & "53 (BC_1, IO14, output3, X, 52, 0, Z)," & --BSC group 18 for I/O pin 13 "54 (BC_4, IO13, input, X)," & "55 (BC_1, *, control, 0)," & "56 (BC_1, IO13, output3, X, 55, 0, Z)," & --BSC group 19 for I/O pin 12 "57 (BC_4, IO12, input, X)," & "58 (BC_1, *, control, 0)," & "59 (BC_1, IO12, output3, X, 58, 0, Z)," & --BSC group 20 for I/O pin 11 "60 (BC_4, IO11, input, X)," & "61 (BC_1, *, control, 0)," & "62 (BC_1, IO11, output3, X, 61, 0, Z)," & --BSC group 21 for I/O pin 10 "63 (BC_4, IO10, input, X)," & "64 (BC_1, *, control, 0)," & "65 (BC_1, IO10, output3, X, 64, 0, Z)," & --BSC group 22 for I/O pin 8 "66 (BC_4, IO8, input, X)," & "67 (BC_1, *, control, 0)," & "68 (BC_1, IO8, output3, X, 67, 0, Z)," & --BSC group 23 for I/O pin 6 "69 (BC_4, IO6, input, X)," & "70 (BC_1, *, control, 0)," & "71 (BC_1, IO6, output3, X, 70, 0, Z)," & --BSC group 24 for I/O pin 5 "72 (BC_4, IO5, input, X)," & "73 (BC_1, *, control, 0)," & "74 (BC_1, IO5, output3, X, 73, 0, Z)," & --BSC group 25 for I/O pin 3 "75 (BC_4, IO3, input, X)," & "76 (BC_1, *, control, 0)," & "77 (BC_1, IO3, output3, X, 76, 0, Z)," & --BSC group 26 for I/O pin 2 "78 (BC_4, IO2, input, X)," & "79 (BC_1, *, control, 0)," & "80 (BC_1, IO2, output3, X, 79, 0, Z)," & --BSC group 27 for I/O pin 44 "81 (BC_4, IO44, input, X)," & "82 (BC_1, *, control, 0)," & "83 (BC_1, IO44, output3, X, 82, 0, Z)," & --BSC group 28 for I/O pin 43 "84 (BC_4, IO43, input, X)," & "85 (BC_1, *, control, 0)," & "86 (BC_1, IO43, output3, X, 85, 0, Z)," & --BSC group 29 for I/O pin 42 "87 (BC_4, IO42, input, X)," & "88 (BC_1, *, control, 0)," & "89 (BC_1, IO42, output3, X, 88, 0, Z)," & --BSC group 30 for dedicated input pin 40 "90 (BC_4, IN40, input, X)," & "91 (BC_4, *, internal, X)," & "92 (BC_4, *, internal, X)," & --BSC group 31 for dedicated input pin 39 "93 (BC_4, IN39, input, X)," & "94 (BC_4, *, internal, X)," & "95 (BC_4, *, internal, X)" ; end EPM7032AET44;
Категории:- Цифровые системы
- Стандарты IEEE
- ENTITY description: Раздел именования; здесь может упоминаться о функциональном предназначении микросхемы.
Wikimedia Foundation. 2010.