27
Configuration of FPGAs Using (JTAG) Boundary Scan Chen Shalom www.cs.huji.ac.il/~chensha

Configuration of FPGAs Using (JTAG) Boundary Scan

  • Upload
    luigi

  • View
    94

  • Download
    0

Embed Size (px)

DESCRIPTION

Configuration of FPGAs Using (JTAG) Boundary Scan. Chen Shalom www.cs.huji.ac.il/~chensha. Agenda. FPGAs - overview Using FPGA – from HDL to chip FPGA configuration Using JTAG Summary. - overview. F ield P rogrammable G ate A rray. What are FPGAs ? Who makes FPGAs ? FPGA vs. CPLD - PowerPoint PPT Presentation

Citation preview

Page 1: Configuration of FPGAs Using (JTAG) Boundary Scan

Configuration of FPGAs Using (JTAG) Boundary ScanChen Shalom

www.cs.huji.ac.il/~chensha

Page 2: Configuration of FPGAs Using (JTAG) Boundary Scan

Agenda

• FPGAs - overview

• Using FPGA – from HDL to chip

• FPGA configuration Using JTAG

• Summary

Page 3: Configuration of FPGAs Using (JTAG) Boundary Scan

Field

Programmable

Gate

Array

What are FPGAs ?

Who makes FPGAs ?

FPGA vs. CPLD

Internal logic

- overview

Page 4: Configuration of FPGAs Using (JTAG) Boundary Scan

What are FPGAs ?• FPGAs are programmable digital logic

chips• Can be programmed to almost any

digital function• FPGA can be configured many times

with different functions• If we have bug in our design- we fix it in

the RTL and configure the FPGA again• FPGAs are much faster than a design

board with discrete components• FPGAs are volatile devices

Page 5: Configuration of FPGAs Using (JTAG) Boundary Scan

Who makes FPGAs ?

• Xilinx – Virtex, VirtexII, VirtexII-

pro

• Altera

• Lattice

• Actel

• Quicklogic

Page 6: Configuration of FPGAs Using (JTAG) Boundary Scan
Page 7: Configuration of FPGAs Using (JTAG) Boundary Scan

FPGAs vs. CPLDsFPGAs CPLDs

“fine-grain” “coarse-grain”

RAM based- need to be downloaded at each power up

EEPROM based- active at power up

Slower Faster

Can hold very large designs

Can contain small designs only

Page 8: Configuration of FPGAs Using (JTAG) Boundary Scan

Internal Logic• Thousands of Basic logic cells• Each logic cell consist:

• Small lookup table• Some basic gates• D-flipflop

• Logic cells can be connected using interconnect resources (wires/muxes)

Page 9: Configuration of FPGAs Using (JTAG) Boundary Scan

Using FPGAFrom HDL to chip

Page 10: Configuration of FPGAs Using (JTAG) Boundary Scan

Using FPGA

netlistplace & route

config

• Write synthesizable RTL in HDL

• Create the netlist from a HDL code

• Place and route according to the

module

constrains – creating a binary file

• Configure into the FPGA

Page 11: Configuration of FPGAs Using (JTAG) Boundary Scan

FPGA configuration Using JTAG

What does it means ?The JTAG interfaceVirtex Boundry Scan InstructionsVirtex Boundry Scan RegistersThe configuration sequence

Page 12: Configuration of FPGAs Using (JTAG) Boundary Scan

What does it means ?

• Configuring an FPGA means downloading a stream of 0’s and 1’s into it through some special pins

• The FPGA has 2 states- “configuration mode” and “user mode”

• Once the FPGA is configured, it goes into “user mode” and becomes active

• A special PROM on board configures the FPGA automatically at power-up

Page 13: Configuration of FPGAs Using (JTAG) Boundary Scan

The JTAG interface• Standard JTAG commands can be used

to take control of each pin in the chain• In addition to testing, BS offers a device

to have it’s own set of user defined instructions

• The added instructions, such as configure and verify, have increased the popularity of BS devices

• BS FPGAs has the ability to be configured through the BS chain

Page 14: Configuration of FPGAs Using (JTAG) Boundary Scan

Virtex Boundry Scan Instructions

Page 15: Configuration of FPGAs Using (JTAG) Boundary Scan

Virtex Boundry Scan Registers

• The Virtex family is fully compliant with BS.1• In addition it supports some optional registers:

Page 16: Configuration of FPGAs Using (JTAG) Boundary Scan

The configuration sequence

• Power up – FPGA in configuration mode• Get INIT==1• Load CFG_IN instruction• Load bitstream from the BSR• Load JSTART instruction• Start up sequence

• The FPGA is operational !!

Page 17: Configuration of FPGAs Using (JTAG) Boundary Scan

An example for binary code0011 0000 0000 0001 0010 0000 0000 0001-> Header: Write to COR0000 0000 1010 0000 0011 1111 1111 1111-> COR data sets SHUTDOWN = 00011 0000 0000 0000 1000 0000 0000 0001-> Header: Write to CMD0000 0000 0000 0000 0000 0000 0000 0101-> Header: Start command0011 0000 0000 0000 1000 0000 0000 0001-> Write to CMD0000 0000 0000 0000 0000 0000 0000 0111-> RCRC command0000 0000 0000 0000 0000 0000 0000 0000-> flush pipe

Page 18: Configuration of FPGAs Using (JTAG) Boundary Scan

Xilinx Virtex FPGA

Page 19: Configuration of FPGAs Using (JTAG) Boundary Scan

A JTAG cable• Connects between the PC to the FPGA board

Page 20: Configuration of FPGAs Using (JTAG) Boundary Scan

The Ximpact tool

Page 21: Configuration of FPGAs Using (JTAG) Boundary Scan

Summary

Page 22: Configuration of FPGAs Using (JTAG) Boundary Scan

Az ma haya lanu sham ??

• FPGA is a programmable chip

• The best friend of the HW designer

• Built with many basic cells

• JTAG is a great interface for FPGAs

configuration- added instructions and

regs

• The configuration sequence

• Future – IEEE 1532

• Element

Page 23: Configuration of FPGAs Using (JTAG) Boundary Scan

BGU Pictures

Page 24: Configuration of FPGAs Using (JTAG) Boundary Scan

Board infrastructure

Page 25: Configuration of FPGAs Using (JTAG) Boundary Scan

The BGU device

Page 26: Configuration of FPGAs Using (JTAG) Boundary Scan

The warm-air machine

Page 27: Configuration of FPGAs Using (JTAG) Boundary Scan