AMD: Advanced Micro Devices, manufacturer ofCPLDs (e.g.MACH)- Xilinx: manufacturer of
CPLDs and in particularFPGAs - Intel: Intel Corporation (active in the
PLD/FPGAspace via its acquisition ofAltera) - Altera: former
PLD/FPGAdivision of Intel (previously independent; knowne.g.forMAXCPLDs) LSC: Lattice Semiconductor Corporation
OpenOCD: Open On-Chip Debugger -FOSSsoftware for programming or debugging integrated circuits, capable of executingSVFfiles
PALtoGAL: Converts configuration files for PAL devices to GAL
MACHXL:AMD's tool for designing withMACH 3andMACH 4PLDs
XNF2WIR: Xilinx tool that converts XNF netlists into a WIR formatXNF2VST: Xilinx tool that converts/generates VST view files from netlistsVIEWlogic: Xilinx tool for graphical/analytical visualization of logic structuresVIEWsim: Xilinx tool for simulation/analysis of logic designs
PAL33V16:PALdevice with 33 inputs and 16 outputsPAL16L8:PALdevice with 16 inputs and 8 outputsPAL16R8:PALdevice with 16 inputs and 8 outputsPAL18V8:PALdevice with 18 inputs and 8 outputsPAL20L10:PALdevice with 20 inputs and 10 outputsPAL22V10:PALdevice with 22 inputs and 10 outputsPAL24V10:PALdevice with 24 inputs and 10 outputs
GAL16V8:GALdevice with 16 inputs and 8 outputsGAL20V8:GALdevice with 20 inputs and 8 outputsGAL22V10:GALdevice with 22 inputs and 10 outputsGAL26V12:GALdevice with 26 inputs and 12 outputsGAL30V18:GALdevice with 30 inputs and 18 outputs
MAX7000: Series ofCPLDdevices fromAltera(Intel), programmed using EEPROM programmingMAX7000S: Series ofCPLDdevices fromAltera(Intel), withJTAGandISPsupportEPM7032S: AlteraMAX7000S-seriesCPLDwith 32 macrocells
MACH 1,MACH 2,MACH 3,MACH 4: Serieses ofCPLDdevices fromAMDMACH130:MACHPLD family model (fuse-/LUT-like logic architecture)MACH1230:MACHPLD family modelMACH435-15: eightPAL33V16-like blocks connected via a central switch matrix, with 128 synchronous or asynchronous configurableMCs, built-inXOR, and up to 20PTs perMC
PLD: Programmable Logic Device - generic term for devices such asCPLDs andFPGAs that can be configured after manufacturingPLA: Programmable Logic Array - configurable logic device architecture with programmableANDand programmableORplanesPAL: Programmable Array Logic - configurable logic device architecture with a programmableANDplane and fixedORplane; trademark ofAMDEPLD: Erasable Programmable Logic Device - class of PLDs that can be erased in-system (or after disassembly) and reprogrammedPEEL: Programmable Electrically Erasable Logic - term for electrically erasable logic blocks/PLDsGAL: Generic Array Logic -PAL/GAL-like family/variant with electrically erasable logicPT: Product Term - basicANDterm in a sum-of-products expressionSOP: Sum Of Products - canonical form combining several product terms by ORing themLC: Logic Cell - device-family-specific composition ofPTs, logic gates, multiplexers and oneDFFLAB: Logic Array Block - grouping of logic cells in aMAX7000device sharing local routing and control signalsPIA: Programmable Interconnect Array - configurable interconnect structure for routing internal signalsREG: Register - flip-flop, prominently D-typeFF: Flip-flop - one-bit storage elementDFF: D-type flip-flop - flip-flop with data input DMUX: Multiplexer - in the context ofPLDs, logical entity for routing internal signals according to configuration bits (bitstream)CPLD: Complex Programmable Logic Device - non-volatile programmable logic device family including the AlteraMAX7000seriesJTAG: Joint Test Action Group -IEEE 1149.xboundary scan interface for communicating with and programming a deviceISP: In-System Programming - programming aCPLDor otherPLDwhile it is soldered into the target system, typically viaJTAGTAP: Test Access Port -JTAGinterface on the device including pins andTAPstate machineLCA: Logic Cell Array - term used by Xilinx in the context of XC3000 FPGAs, referring to the configurable fabricCMOS: Complementary Metal-Oxide Semiconductor - semiconductor technology using complementary MOS transistorsXACT: Term and trademark of XilinxXACTOR: Term and trademark of XilinxROM: Read-Only Memory - non-volatile memory with fixed, programmed contentRAM: Random Access Memory - volatile memory with random accessPROM: Programmable ROM - one-time (or limited) programmable ROM typeEPROM: Erasable PROM - PROM that can be erased byUVlight and reprogrammedEEPROM/E²PROM: Electrically Erasable PROM - PROM that can be erased electrically and reprogrammedADC: Analog-to-Digital ConverterDAC: Digital-to-Analog Converter
PNR: Place and Route - design step mapping logic onto physical device resources and calculating necessary routing between themBST: Boundary Scan Testing - testing integrated circuits via boundary scan chains, typically overJTAGISC: In-System Configuration - standardizedJTAG-based method for configuring programmable logic devices in-circuitOCD: On-chip debugging - observing and controlling a running system via debug logicIEEE 1149.1:JTAGboundary-scan standard definingTAP, instructions and basic test infrastructure for digitalICsIEEE 1532: in-system configuration standard for programmable logic devices building onJTAG(IEEE 1149.1)
BIT: raw bitstream - binary configuration data for a deviceRBF: Raw Bitstream File - file containing a raw bitstreamJEDEC: JEDEC fuse vector - interchange format for fuse/bit mappings, stored as a textual list of configuration bitsBSDL: Boundary Scan Description Language -IEEElanguage describing a device's boundary scan (JTAG) structurePALASM: PAL Assembler - textual language for describing logic equations and pin assignments forPAL- andCPLD-style devices; trademark ofAMDFASM: FPGA Assembly - textual, human-readable, feature-based format for specifying logical configurations as an intermediate between place-and-route output and low-level bitstreamPLDCONF: Programmable Logic Device Configuration - C-style, human-readable configuration file format used as an intermediate beforeFASMand bitstream generationPOF: Programmable Object File - Altera-proprietary flash/bitstream file formatSVF: Serial Vector Format - textual format storing a sequence ofJTAGoperationse.g.for programming or testing aJTAG-capable deviceSTAPL: Standard Test and Programming Language -JTAG-based test/programming format forPLDs(often output as.jam/.jbc)CUPL: trademark of Logical DevicesABEL: Advanced Boolean Expression Language - text-based input language forPAL/CPLDlogicLog/IC: historical design/input tool for logic design (e.g.forPAL/GAL-like devices)PLDesigner: design/engineering tool (historical) for PLD logic design; specific usage depends on vendor/version
TITLE: directive for naming a design or fileDEVICE: directive for selecting target device type or familyPIN: directive for assigning logical signals to device pinsEQUATIONS: section for specifying Boolean equations for outputs and internal nodesFIELD: directive for defining bit fields in vectors to simplify equationsTABLE: directive for describing combinational behaviour as a truth table
STATE: statement for forcing theTAPcontroller into a specific stable stateRUNTEST: statement for keeping theTAPin a state for a given number ofTCKcycles or a given timeSIR: Shift Instruction Register - statement for shifting a value into the instruction register (IR)SDR: Shift Data Register - statement for shifting a value into the currently selected data register (DR)FREQUENCY: statement for constraining maximumJTAGclock frequency for subsequent operationsTRST: statement for declaring use or absence of theTRSTreset signalENDDR/ENDIR: options for defining theTAPend state afterDRorIRshifting
TEST_LOGIC_RESET:TAPstate for resettingJTAGlogic and returning to a defined idle conditionRUN_TEST/IDLE:TAPstate for idling or running built-in self-test between scan operationsSHIFT_IR:TAPstate for shifting bits through the instruction registerSHIFT_DR:TAPstate for shifting bits through the currently selected data registerUPDATE_IR:TAPstate for updating instruction register contents from the shift pathUPDATE_DR:TAPstate for updating data register contents from the shift pathPAUSE_IR/PAUSE_DR:TAPstates for temporarily pausing shifting ofIRorDRwhile preserving contentsBYPASS: instruction selecting a single-bit bypass register for minimal scan lengthIDCODE: instruction selecting a device identification register containing a fixedIDvalueSAMPLE/PRELOAD: instruction for sampling pin values into the boundary register and/or preloading boundary-scan dataEXTEST: instruction for using boundary-scan cells to drive and sample external pins for board-level testing
entity: top-levelBSDLconstruct naming theJTAG-capable devicegeneric/port: constructs for declaring configuration parameters andI/Opins of the deviceTAP_SCAN_IN/TAP_SCAN_OUT/TAP_SCAN_MODE/TAP_SCAN_CLOCK: attributes mappingJTAGpins (TDI,TDO,TMS,TCK) to logical portsINSTRUCTION_LENGTH: attribute giving the number of bits in the instruction registerINSTRUCTION_OPCODE: attribute mapping instruction mnemonics (e.g.EXTEST,SAMPLE,BYPASS,IDCODE) to opcode bit patternsBOUNDARY_LENGTH: attribute giving the number of cells in the boundary-scan registerBOUNDARY_REGISTER: attribute describing the boundary-scan cells, their associated pins and functions
OE: Output Enable - signal controlling whether an output driver actively drives a pinCLK: Clock - periodic signal triggering synchronous logic and flip-flopsGCLK: Global Clock - dedicated clock distribution network feeding logic cells across the deviceCLR: Clear - signal asynchronously resetting/clearing logic cellsGCLR: Global Clear - dedicated global reset/clear signal asynchronously resetting logic cells
TMS: Test Mode Select -JTAGcontrol signal steering theTAPcontroller through its state machineTCK: Test Clock -JTAGclock signal advancing theTAPstate machine and shifting data through scan chainsTDI: Test Data In -JTAGdata input pin for shifting instructions and data into the deviceTDO: Test Data Out -JTAGdata output pin for shifting data and status information out of the deviceTRST: Test Reset - optionalJTAGreset signal for asynchronous reset of theTAPcontrollerICR: Instruction Control Register -JTAG-accessible register for controlling/configuring in-system configurations (e.g. according toIEEE 1532)
SCLK: Serial Clock - clock signal used forSPItransfersMOSI: Master Out Slave In - data line used forSPItransfers from master to slaveMISO: Master In Slave Out - data line used forSPItransfers from slave to masterCS: Chip Select - active-select line used to enable a specificSPIslave
SCL: Serial Clock Line - clock line used forI²CtransfersSDA: Serial Data Line - bidirectional data line used forI²Ctransfers
TXD: Transmit Data - UART/serial output for sending dataRXD: Receive Data - UART/serial input for receiving dataRTS: Request To Send - handshake signal indicating that a sender wants to transmit dataCTS: Clear To Send - handshake signal that allows the sender to transmitDSR: Data Set Ready - modem/end-device status signal (ready)DCD: Data Carrier Detect - signal indicating that a carrier/connection was detected at the modemDTR: Data Terminal Ready - handshake signal indicating that a terminal is ready
VCC: supply voltage (positive operating voltage)VDD: supply voltage (positive voltage for a circuit/logic power domain)VPP: programming voltage - often a higher voltage used for programming/erasingGND: Ground - reference potential (0V)AGND: Analog ground - stabilized reference potential for analog circuits
- Intel-Altera
BSDLresources: https://www.altera.com/design/devices/resources/models/bsdl JTAGoverview (Wikipedia): https://en.wikipedia.org/wiki/JTAG- Boundary scan overview (Wikipedia): https://en.wikipedia.org/wiki/Boundary_scan
BSDLoverview (Wikipedia): https://en.wikipedia.org/wiki/Boundary_Scan_Description_LanguagePALASMbackground (Wikipedia): https://en.wikipedia.org/wiki/PALASM