デバッグソリューションズホームへ

1.はじめに

2.使用される単語

3.文法定義表記方法

4.文法定義

4.1 BSDLの構造

4.2 Generic

parameter文

4.3 Logical port

description文

4.4 Standard use文

4.5 Use文

4.6 Compornent

conformance文

4.7 Device package

pinmappings文

4.8 Grouped port

identification文

4.9 Scan port

identification文

4.10 Compliance enabel

description文

4.11 Instruction register

description文

4.12 Optional register

description文

4.13 Register access

description文

4.14 Boundary register

description文

4.15 RUNBIST

description文

4.16 INTEST description

4.17 User extensions

to BSDL

4.18 Design Warning文

 

5.Standard VHDL

Package

5.1 1990年版

5.2 1994年版

5.3 2001年版

 

6.各バージョンにおける

  DEBSOLホームへ

 

5.Standard VHDL Package

5.1 1990年版 Standard VHDL Package

1990年版 Standard VHDL Package を以下に示します。

-- STD_1149_1_1990

 

package STD_1149_1_1990 is

 

-- Give pin mapping declarations

attribute PIN_MAP : string;

subtype PIN_MAP_STRING is string;

 

-- Give TAP control declarations

type CLOCK_LEVEL is (LOW, BOTH);

type CLOCK_INFO is record

FREQ : real;

LEVEL: CLOCK_LEVEL;

end record;

 

attribute TAP_SCAN_IN                : boolean;

attribute TAP_SCAN_OUT            : boolean;

attribute TAP_SCAN_CLOCK        : CLOCK_INFO;

attribute TAP_SCAN_MODE         : boolean;

attribute TAP_SCAN_RESET        : boolean;

 

-- Give instruction register declarations

attribute INSTRUCTION_LENGTH          : integer;

attribute INSTRUCTION_OPCODE         : string;

attribute INSTRUCTION_CAPTURE        : string;

attribute INSTRUCTION_DISABLE         : string;

attribute INSTRUCTION_GUARD           : string;

attribute INSTRUCTION_PRIVATE         : string;

attribute INSTRUCTION_USAGE           : string;

attribute INSTRUCTION_SEQUENCE    : string;

 

-- Give ID and USER code declarations

type ID_BITS is ('0', '1', 'x', 'X');

type ID_STRING is array (31 dounto 0) of ID_BITS;

attribute IDCODE_REGISTER          : ID_STRING;

attribute USERCODE_REGISTER    : ID_STRING;

 

-- Give register declarations

attribute REGISTER_ACCESS : string;

 

-- Give boundary cell declarations

type BSCAN_INST is (EXTEST, SAMPLE, INTEST, RUNBIST);

type CELL_TYPE is (INPUT, INTERNAL, CLOCK,CONTROL,

CONTROLR, OUTPUT2,OUTPUT3, BIDIR_IN, BIDIR_OUT);

type CAP_DATA is (P1, P0, UPD, CAP, X, ZERO, ONE);

type CELL_DATA is record

CT            : CELL_TYPE;

I               : BSCAN_INST;

CD           : CAP_DATA;

end record;

 

type CELL_INFO is array (positive range <>) of CELL_DATA;

 

-- Boundary cell deferred constants (see package body)

constant BC_1              : CELL_INFO;

constant BC_2              : CELL_INFO;

constant BC_3              : CELL_INFO;

constant BC_4              : CELL_INFO;

constant BC_5              : CELL_INFO;

constant BC_6              : CELL_INFO;

 

-- Boundary register declarations

attribute BOUNDARY_CELLS          : string;

attribute BOUNDARY_LENGTH        : integer;

attribute BOUNDARY_REGISTER    : string;

 

-- Miscellaneous

attribute DESIGN_WARNING : string;

 

end STD_1149_1_1990;            -- End of IEEE Std 1149.1-1990 Package

  

package body STD_1149_1_1990 is -- Standard boundary cells

 

-- Description for f10-12, f10-16, flO-18c, f10-18d, f10-21c

constant BC_l : CELL_INFO :=

( (INPUT, EXTEST, P1), (OUTPUT2, EXTEST, PI),

(INPUT, SAMPLE, P1), (OUTPUT2, SAMPLE, P1),

(INPUT, INTEST, P1), (OUTPUT2, INTEST, PI),

(INPUT, RUNBIST, PI), (OUTPUT2, RUNBIST, PI),

(OUTPUT3, EXTEST, PI), (INTERNAL, EXTEST, PI),

(OUTPUT3, SAMPLE, PI), (INTERNAL, SAMPLE, PI),

(OUTPUT3, INTEST, PI), (INTERNAL, INTEST, PI),

(OUTPUT3, RUNBIST, PI), (INTERNAL, RUNBIST, PI),

(CONTROL, EXTEST, PI), (CONTROLR, EXTEST, PI),

(CONTROL, SAMPLE, PI), (CONTROLR, SAMPLE, PI),

(CONTROL, INTEST, PI), (CONTROLR, INTEST, PI),

(CONTROL, RUNBIST, PI), (CONTROLR, RUNBIST, P1) );

 

--- Description for f10-8, f10-17, f10-19c, f10-19d, f10-22c

constant BC_2 : CELL_INFO :

( (INPUT, EXTEST, PI)              , (OUTPUT2, EXTEST, UPD),

(INPUT, SAMPLE, PI)              , (OUTPUT2, SAMPLE, PI),

(INPUT, INTEST, UPD), -- Intest on output2 not supported

(INPUT, RUNBIST, UPD)       , (OUTPUT2, RUNBIST, UPD),

(OUTPUT3, EXTEST, UPD)       , (INTERNAL, EXTZST, PI),

(OUTPUT3, SAMPLE, PI)          , (INTERNAL, SAMPLE, PI),

(OUTPUT3, INTEST, PI)          , (INTERNAL, INTEST, UPD),

(OUTPUT3, RUNBIST, PI)          , (INTERNAL, RUNBIST, UPD),

(CONTROL, EXTEST, UPD)       , (CONTROLR, EXTEST, UPD),

(CONTROL, SAMPLE, PI)          , (CONTROLR, SAMPLE, PI),

(CONTROL, INTEST, PI)          , (CONTROLR, INTEST, PI),

(CONTROL, RUNBIST, PI)              , (CONTROLR, RUNBIST, P1) );

 

--- Description for f10-9

constant BC_3 : CELL_INFO :=

( (INPUT, EXTEST, PI)              , (INTERNAL, EXTEST, PI),

(INPUT, SAMPLE, PI)              , (INTERNAL, SAMPLE, PI),

(INPUT, INTEST, PI)                            , (INTERNAL, INTEST, PI),

(INPUT, RUNBIST, PI)              , (INTERNAL, RUNBIST, PI) );

 

--- Description for f10-10, f10-11

constant BC_4 : CELL_INFO :=

( (INPUT, EXTEST, PI), -- Intest on input not supported

(INPUT, SAMPLE, PI), -- Runbist on input not supported

(CLOCK, EXTEST, PI)          , (INTERNAL, EXTEST, PI),

(CLOCK, SAMPLE, PI)          , (INTERNAL, SAMPLE, PI),

(CLOCK, INTEST, PI)              , (INTERNAL, INTEST, PI),

(CLOCK, RUNBIST, PI)          , (INTERNAL, RUNBIST, PI) );

 

--- Description for f10-20c, a combined input/control

constant BC_5 : CELL_INFO :=

( (INPUT, EXTEST, PI)              , (CONTROL, EXTEST, PI),

(INPUT, SAMPLE, PI)              , (CONTROL, SAMPLE, PI),

(INPUT, INTEST, UPD)       , (CONTROL, INTEST, UPD),

(INPUT, RUNBIST, PI)              , (CONTROL, RUNBIST, PI) );

 

--- Description for f10-22d, a reversible cell

constant BC_6 : CELL_INFO :=

( (BIDIR_IN, EXTEST, PI)              , (BIDIR_OUT, EXTEST, UPD),

(BIDIR_IN, SAMPLE, PI)          , (BIDIR_OUT, SAMPLE, PI),

(BIDIR_IN, INTEST, UPD)       , (BIDIR_OUT, INTEST, PI),

(BIDIR_IN, RUNBIST, UPD)       , (BIDIR_OUT, RUNBIST, PI) );

 

end STD_1149_1_1990; -- End of 1990 Package Body

 

 

 

Debug Solutionsへのご連絡 :

Copyright © 2001-2006 Debug Solutions