dott. gabriele balbi - connecting repositoriescatena lunga ci permette di escludere dalle operazioni...

32
Dott. Gabriele Balbi [email protected] Centro Elettronica Bologna Some of the figures are curtesy of Xilinx Inc. and Altera Inc., taken from documentation material linked in the references

Upload: others

Post on 27-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Dott. Gabriele Balbi - COnnecting REpositoriescatena lunga ci permette di escludere dalle operazioni le logiche programmabili che non ci interessano. (Req.) • EXTEST-> connette il

Dott. Gabriele Balbi

[email protected]

Centro Elettronica Bologna

Some of the figures are curtesy of Xilinx Inc. and Altera Inc., taken from documentation material linked in the references

Page 2: Dott. Gabriele Balbi - COnnecting REpositoriescatena lunga ci permette di escludere dalle operazioni le logiche programmabili che non ci interessano. (Req.) • EXTEST-> connette il

DEBUG

2

Page 3: Dott. Gabriele Balbi - COnnecting REpositoriescatena lunga ci permette di escludere dalle operazioni le logiche programmabili che non ci interessano. (Req.) • EXTEST-> connette il

Progettazione

Layout scheda (schematico, dimensionamento alimentazioni, scelta dei componenti attivi e passivi, impedenze caratteristiche delle linee, scelta dei banchi delle FPGA, distribuzione del clock, simulazioni delle linee veloci SI e delle alimentazioni PI, simulazioni termiche…)

Firmware(simulazioni e analisi dati reali)

CHIPSCOPE Xilinx

3

Page 4: Dott. Gabriele Balbi - COnnecting REpositoriescatena lunga ci permette di escludere dalle operazioni le logiche programmabili che non ci interessano. (Req.) • EXTEST-> connette il

Segnali lenti …

Piste lunghe …

Spazio, accessibilità ai chip…

DEBUG SEMPLICE4

Page 5: Dott. Gabriele Balbi - COnnecting REpositoriescatena lunga ci permette di escludere dalle operazioni le logiche programmabili che non ci interessano. (Req.) • EXTEST-> connette il

Piste cortissime, alta densità di connessioni, pin irraggiungibili (es. BGA)

Segnali elettrici «veloci» (elevato contenuto in

frequenza)

ogni pista/connessione è una linea di trasmissione

(RLC distribuito deformazione segnale)

5

Page 6: Dott. Gabriele Balbi - COnnecting REpositoriescatena lunga ci permette di escludere dalle operazioni le logiche programmabili che non ci interessano. (Req.) • EXTEST-> connette il

Simulazioni pre-layout e post-layout(Orcad Pspice e HyperLynx)

Curare il progetto prima della produzione della

scheda

6

Page 7: Dott. Gabriele Balbi - COnnecting REpositoriescatena lunga ci permette di escludere dalle operazioni le logiche programmabili che non ci interessano. (Req.) • EXTEST-> connette il

Tratti di connessione modellizzati con

elementi di impedenza

Simulazioni post-layout 7

Page 8: Dott. Gabriele Balbi - COnnecting REpositoriescatena lunga ci permette di escludere dalle operazioni le logiche programmabili che non ci interessano. (Req.) • EXTEST-> connette il

Simulazioni post-layout8

Page 9: Dott. Gabriele Balbi - COnnecting REpositoriescatena lunga ci permette di escludere dalle operazioni le logiche programmabili che non ci interessano. (Req.) • EXTEST-> connette il

JTAG (Joint Action Test Group)

A metà degli anni 80 nasce un nuovo modo di realizzare il debug dei componenti elettronici e schede

IEEE 1149.1

Schede elettroniche sempre più piccole e dense di componenti rendono i classici metodi di test obsoleti e poco realizzabili

9

Page 10: Dott. Gabriele Balbi - COnnecting REpositoriescatena lunga ci permette di escludere dalle operazioni le logiche programmabili che non ci interessano. (Req.) • EXTEST-> connette il

JTAG (Joint Action Test Group)

TAP (4 linee seriali)

1. TAP Port2. Data registers3. Instruction Register4. TAP Controller

Ingredienti:

10

Page 11: Dott. Gabriele Balbi - COnnecting REpositoriescatena lunga ci permette di escludere dalle operazioni le logiche programmabili che non ci interessano. (Req.) • EXTEST-> connette il

11

Boundary Scan Cell

Es. Altera Device

Page 12: Dott. Gabriele Balbi - COnnecting REpositoriescatena lunga ci permette di escludere dalle operazioni le logiche programmabili che non ci interessano. (Req.) • EXTEST-> connette il

12

Page 13: Dott. Gabriele Balbi - COnnecting REpositoriescatena lunga ci permette di escludere dalle operazioni le logiche programmabili che non ci interessano. (Req.) • EXTEST-> connette il

JTAG (Joint Action Test Group)

TestModeSelect e TestCK

Consentono il caricamento di svariate istruzioni:• BYPASS• EXTEST• SAMPLE• CONFIGURE• IDCODE• INTEST• JPROGRAM• …

Transizioni tra gli stati sui fronti positivi

Moore FSM a 16 stati

Operazioni sui registri sui fronti negativi

TAP Controller 13

Page 14: Dott. Gabriele Balbi - COnnecting REpositoriescatena lunga ci permette di escludere dalle operazioni le logiche programmabili che non ci interessano. (Req.) • EXTEST-> connette il

14

JTAG (Joint Action Test Group)

Il TDO è in tristate

Caricamento istruzione nell’IR

Page 15: Dott. Gabriele Balbi - COnnecting REpositoriescatena lunga ci permette di escludere dalle operazioni le logiche programmabili che non ci interessano. (Req.) • EXTEST-> connette il

15

JTAG (Istruzioni principali)

• BYPASS -> mette in comunicazione il TDI con il TDO con tramite un piccolo registro. In una catena lunga ci permette di escludere dalle operazioni le logiche programmabili che non ci interessano. (Req.)

• EXTEST-> connette il BSR tra il TDI e il TDO. Il contenuto del BSR, caricato precedentemente dall’istruzione di SAMPLE/PRELOAD pilota le uscite (Req.)

• SAMPLE/PRELOAD -> connette il BSR tra il TDI e il TDO (Req.)• CONFIGURE• IDCODE• INTEST• JPROGRAM• …

Page 16: Dott. Gabriele Balbi - COnnecting REpositoriescatena lunga ci permette di escludere dalle operazioni le logiche programmabili che non ci interessano. (Req.) • EXTEST-> connette il

16

JTAG (alcune applicazioni)

• Boundary scan• FPGA programming• ChipScope

Page 17: Dott. Gabriele Balbi - COnnecting REpositoriescatena lunga ci permette di escludere dalle operazioni le logiche programmabili che non ci interessano. (Req.) • EXTEST-> connette il

JTAG (Joint Action Test Group)

Ci sono cortocircuiti (CC) o circuiti aperti (CA) sulle linee?

17

Page 18: Dott. Gabriele Balbi - COnnecting REpositoriescatena lunga ci permette di escludere dalle operazioni le logiche programmabili che non ci interessano. (Req.) • EXTEST-> connette il

JTAG (Joint Action Test Group)

18

EXTEST

Es. Altera Device

Page 19: Dott. Gabriele Balbi - COnnecting REpositoriescatena lunga ci permette di escludere dalle operazioni le logiche programmabili che non ci interessano. (Req.) • EXTEST-> connette il

JTAG (Joint Action Test Group)

19

EXTEST

Es. Altera Device

Page 20: Dott. Gabriele Balbi - COnnecting REpositoriescatena lunga ci permette di escludere dalle operazioni le logiche programmabili che non ci interessano. (Req.) • EXTEST-> connette il

JTAG (Joint Action Test Group)

20

SAMPLE/Preload

Es. Altera Device

Page 21: Dott. Gabriele Balbi - COnnecting REpositoriescatena lunga ci permette di escludere dalle operazioni le logiche programmabili che non ci interessano. (Req.) • EXTEST-> connette il

JTAG (Joint Action Test Group)

21

SAMPLE

Es. Altera Device

SAMPLE/Preload

Page 22: Dott. Gabriele Balbi - COnnecting REpositoriescatena lunga ci permette di escludere dalle operazioni le logiche programmabili che non ci interessano. (Req.) • EXTEST-> connette il

22

Boundary Scan

Esempio 1

Demo Board Starter Kit Altera (APEX, inizio anni 2000)

SWs EPC7064

APEX20K

OFFON

Page 23: Dott. Gabriele Balbi - COnnecting REpositoriescatena lunga ci permette di escludere dalle operazioni le logiche programmabili che non ci interessano. (Req.) • EXTEST-> connette il

23

Boundary Scan

Demo Board Starter Kit Altera (APEX, inizio anni 2000)

Esempio 1EPM7064 APEX20K

TDI

TDO

TDI TDITDO

TDO

TCK

TMS

TCK

TMSJTAG

SW8=0N SW9=0N

Page 24: Dott. Gabriele Balbi - COnnecting REpositoriescatena lunga ci permette di escludere dalle operazioni le logiche programmabili che non ci interessano. (Req.) • EXTEST-> connette il

DEMO

24

Page 25: Dott. Gabriele Balbi - COnnecting REpositoriescatena lunga ci permette di escludere dalle operazioni le logiche programmabili che non ci interessano. (Req.) • EXTEST-> connette il

25

Boundary ScanEPM7064 APEX20K

TDI

TDO

TDI TDITDO

TDO

TCK

TMS

TCK

TMS

JTAG

All’accensione i 2 dispositivi in catena rispondono al comando IDCODE

• Impact –batch• setMode –bs• setCable –port usb21 –baud 750000• bsdebug –start• bsdebug –scandr –drlength 70

082000DD|170640DD

SW8=0N SW9=0N

Page 26: Dott. Gabriele Balbi - COnnecting REpositoriescatena lunga ci permette di escludere dalle operazioni le logiche programmabili che non ci interessano. (Req.) • EXTEST-> connette il

26

Boundary Scan

Instructions Set

• IDCODE 00|0000|0110• EXTEST 00|0000|1111• SAMPLE-PRELOAD 00|0000|0101• BYPASS 11|1111|1111• HIGHZ 00|0000|1111

APEX 20K EPM 7064

• IDCODE 00|0101|1001• EXTEST 00|0000|0000• SAMPLE-PRELOAD 00|0101|0101• BYPASS 11|1111|1111

IR SIZE 10bits IR SIZE 10bits

Page 27: Dott. Gabriele Balbi - COnnecting REpositoriescatena lunga ci permette di escludere dalle operazioni le logiche programmabili che non ci interessano. (Req.) • EXTEST-> connette il

27

Boundary ScanJTAG

Escludo l’Apex20K

• Impact –batch• setMode –bs• setCable –port usb21 –baud 750000• bsdebug –start

• bsdebug –scanir 0x3FF –irlength 10

SW8=0N

SW9=0FF

BYPASS

>bsdebug -scanir 0x0 -irlength 10TDO Capture Data: 00000000000000000000000101010101Elapsed time = 0 sec.>bsdebug -scandr 0101010100000000000000000000000000 -drlength 48TDO Capture Data: 010110010010011010110010010011010000010010010010Elapsed time = 0 sec.>bsdebug -scandr 0101011100000000000000000000000000 -drlength 48TDO Capture Data: 010110110010010010110010010010010000010010011010Elapsed time = 0 sec.>bsdebug -scandr 0101010100000000000000000000000000 -drlength 48TDO Capture Data: 010110110010010010110010010010010000010010010010Elapsed time = 0 sec.

EPM7064 APEX20KTDI

TDO

TDI TDITDO

TDO

TCK

TMS

TCK

TMS

EXTEST

LED OFF

LED ON

LED OFF

Page 28: Dott. Gabriele Balbi - COnnecting REpositoriescatena lunga ci permette di escludere dalle operazioni le logiche programmabili che non ci interessano. (Req.) • EXTEST-> connette il

JTAG (Joint Action Test Group)Programmazione FPGAs e PROM

Esempio 2

28

Page 29: Dott. Gabriele Balbi - COnnecting REpositoriescatena lunga ci permette di escludere dalle operazioni le logiche programmabili che non ci interessano. (Req.) • EXTEST-> connette il

JTAG (Joint Action Test Group)Programmazione FPGAs e PROM

Esempio 2

29

Page 30: Dott. Gabriele Balbi - COnnecting REpositoriescatena lunga ci permette di escludere dalle operazioni le logiche programmabili che non ci interessano. (Req.) • EXTEST-> connette il

JTAG (Joint Action Test Group)Programmazione FPGAs e PROM

Esempio 2

30

Page 31: Dott. Gabriele Balbi - COnnecting REpositoriescatena lunga ci permette di escludere dalle operazioni le logiche programmabili che non ci interessano. (Req.) • EXTEST-> connette il

JTAG (Joint Action Test Group)Programmazione FPGAs e PROM

Esempio 2

31

Page 32: Dott. Gabriele Balbi - COnnecting REpositoriescatena lunga ci permette di escludere dalle operazioni le logiche programmabili che non ci interessano. (Req.) • EXTEST-> connette il

32

DEMO