Вы находитесь на странице: 1из 407

www.dodeca.

ru

K X IL IN X *

- M en to r
Graphics

W 0w ~ *

wmM

4 'V

EMBEDDED TE C H N O LO G Y
SERI ES

The Design W arriors


Guide to FPGAs
Clive M ax M axfield

(fji) Newnes

Animprint of Elsevier Science

-1

2007

004.312
32.844-1
17
.
17
. . .:
-1, 2007. 408 .: . ( ).
151 978-5-94120-147-1
(),
.
,
. (
), - ,
, / ++.
, -
(). ,
().
, ,
, , .
,
. , ,
, ,
.
004.312
32.844-1

. ,

. .
. .
. .
. .
. .
. . , . .
. .
15.03.2007. 70x100/16. 1.
NewtonC. . 25,5 .. . . . 33,1 + . 0,125
2000 . FPGA. 625.
-1
95 3000
105318 , / 70.
./: (495) 366-24-29, 366-09-22
E-mail: boor@dodccfaru; red@dodeca.ru
6
115088 , ., 24

: , .
Elsevier Inc., 200 Wheeler Road, 6th Floor, Burlington, MA01803,
USA.
ISBN 978-5-94120-147-1 (pyc.)
ISBN 0-7506-7604-3 (.)

-XXl, 2007

................................................................................................................................................................. 15
....................................................................................................................................................................16
1. ...........................................................................................................................................................18
....................................................................................................................................................... 18
.............................................................................................................................................18
..........................................................................................................................20
.............................................................................................................................................. 21
.............................................................................................................................................. 22
..........................................................................................................................23
2. .................................................................................................................................... 24
..........................................................................................................................24
................................................................................................................. 24
.................................................................................................................................... 25
........................................................................................................................26
, .............................................................................................. 28
..........................................................................................................................................................................29
........................................................................................................................................................................30
....................................................................................................................................................................32
Flash- .....................................................................................................................................................32
.....................................................................................................................................................33
............................................................................................................................................................... 34
3. .........................................................................................................................35
...........................................................................................................................................35
............................................................................................................................................................. 35
.................................................................................................................................. 36
, .................................................................................. 37
...................................................................................................................................... 37
....................................................................................................................................................................38
( )...................................................................................... 41
PAL G A L ..................................................................................................... 43
...............................................................................................43
................................................................................................................................................... 44
ABEL, CUPL, PALASM, JEDEC ....................................................... 46
ASIC ..............................................................................................................47
........................................................................................................... 48
....................................................................................................................49
.......................................................................................................................................49
..................................................................................................................51
ASIC ....................52
.......................................................................................................................................................................... 53
- ............................................................................................................................................. 56
............................................................................ 57
.......................................................................................................................................... 58

6
4. ............................................................................................................................... 60
......................................................................................................................................................60
............................................................................................................................................ 60
, .................................................................................. 61
.................................................................................................... 61
...................62
....................................................................................63
...................................................................................................................... 65
Flash......................................................................................................65
Flash ............................................................... 66
............................................................................................................................................................ 67
-, - ....................................................................................... 67
............................................................... 69
....................................................................................................69
..............................................................................................69
? ..........................................................................................71
3-, 4-, 5- 6- ...................................................................................... 71
, , ..................................................... 72
, , ............................................. 73
X ilinx................................................................................................................ 73
A ltera......................................................................................................74
........................................................................................................................ 74
CLB LA B .................................75
..............................................................................................76
.............................................................................................................................. 76
........................................................................................................................................ 77
, , .......................................... 77
......................................................... 79
......................................................................................................79
.................................................................................................. 81
..................................................................................81
.................................................................................................................................. 81
............................................................................................................................ 82
/ ........................................................................................................................ 85
/ ............................................................................................86
/ ........................................................................................................................ 86
/........................................................................................87
........................................................................................................................ 87
IP , . . . . 88
..........................................................................................................90
...................................................................................................................................................... 92
5. ........................... ............................................93
........................................................................................................................................................ 93
................................................................................................................ 93
................................................................................................................................ 93
.............................................................................................................. 95

..............................................................................................95
..........................................................................................................96
, .........................97
....................................................................... 98
......................................................................................................98
.................................................................................................................................... 98
, ......................................................................... 99
, ............................................................................. 100
, ............................................................................. 102
, ..................................................................... 102

7
JTAG- .............................................................................................................................................................. 103
......................................................................................................................................104
6. ........................................................................................................................ 106
....................................................................................................................................................................106
FPG F P A A ................................................................................................................................106
FPN ............................................................................................................................107
.........................................................................107
.....................................................................108
.........................................................109
, ...................................................................109
7. 111
.................................................................................................................................................................111
................................................................................................................................ 111
..............................................................................................................................112
........................................................................................................................................ 112
..............................................................................................................112
........................................................................................................................................ 114
..............................................................................................................115
................................................................................................................................115
................................................................................................................................ 115
........................................................................................................................................ 115
..........................................................................................................................115
.................................................................................................................................... 115
..............................................................................................................116
................................................................................... 116
..................................................................................... 116
.................................................117
.............................................................................................................................................. 117
............................................................................................................................................................ 117
....................................................................................................117
............................................................................................................117
........................................................................................... 117
! ........................................................................................................................118
, ! ............................................................................................................................ 118
....................................................................................................................119
...................................................................................................................................... 119
8. .................................................................................................. 120
-.......................................................................................................................................................... 120
................................................................................................................ 121
. ........................................................... 121
. ................................................................................. 125
.......................................................................................................................... 126
............................................................. 126
....................................................................... 128
................................................................................................................................................ 129
.................................................................................................................................................... 129
................................................................................................................................ 130
..................................................................................131
......................................................................... 132
..............................................................................................132
................................................................................................133
.................................134
9. ............. ............................136
..................................................................................................136
HDL- ....................................................................................................136

8
........................................................................................................................................ 136
HDL- ............................................................ 138
HDL- .......................................................................................140
......................................................................................................141
................................................................................................................141
...........................................................................................142
H D L ................................................................................................................................................ 143
Verilog H D L ...................................................................................................................................................... 144
V H D L h VITAL................................................................................................................................................ 146
.............................................................................148
UDL/I ...............................................................................................................................................................148
Superlog SystemVerilog................................................................................................................................148
System C ............................................................................................................................................................ 149
............................................................................................................................150
................................................................................................................................150
............................................................................ 150
! ................................................................................................................................ 151
....................................................................................................... 152
................................................................................................................................152
, ..................................................................................................................153
10. ..................................................................................................154
............................................................................................ 154
................................154
. ..........................................155
. , 156
.........................................................................................157
RTL ................................................................................................. 158
........................................................................................................................160
.................................................................................................................................. 161
........................................................................................................... 162
............................................................ 163
. / + + .....................................................................164
HDL- ............................................................................................................ 164
, C + + ......................................................................................................................................166
SystemC....................................................................................................................167
SystemC ................................................................................................................167
SystemC 1 .0 ...................................................................................................................................................... 168
SystemC 2 . 0 .......................................................................................................................................................168
........................................................................................................................................ 170
System C.................................................. 170
................................................................................................................................172
/ + + ......................................................................................................173
/ + + ..................................................................................................................173
/ + + .....................................................................................................175
/ + + ....................................................................................... 176
............................................................................................................................. 179
-!! .......................................................................180
12. ............................................................ 182
..................................................................................................................................................182
..................................................................................................................... 182
, ........................................................................182
..........................................................183
................................................................................ 184
..........................................................................185
........................................................................................ 187

9
....................................................................................................................... 188
....................................................................................................................... 188
.................................................... 190
..................................................................................190
/ RTL. .....................................191
/ RTL. .....................192
/ C /C + + .....................................194
................................................................................................... 195
! ..................................................................................................... 196
: VHDL/Verilog .................................................................. 196
13. .............................................198
................................................................................................................................................................ 198
.....................................................................................................................200
........................................................................................................................................... 200
................................................................................................. 201
........................................................203
...................................................................................................204
.....................................................................................................................205
.......................................................................................................................206
........................................................................ 207
RTL-: VHDL V erilog............................................................................................................. 208
C /C ++ , SystemC . .................................................................................................................................... 208
....................................................209
..................................................................................................................... 209
....................................................................................................... 211
14. .........................................................................................213
......................................................................................................................................... 213
.............................................................................................................................214
.......................................................................................................................215
.......................................................................................................................216
............................................................................................................................... 216
................................................................................................................................................. 217
15. ............... 218
........................................................................................................................................................... 218
................................................................................................................................. 218
..................................................................................................................................................... 219
FPG A Xchange........................................................................................................................................................221
................................................................................................................... 221
..........................................................................................................................221
....................................................................................................................... 222
SPIC E h IBIS ................................................................................................................................................. 222
.............................................................................................................223
................................................................................ 223
............................................................................ 224
16. ..................................................... 225
........................................................................................................................................225
....................................................................................................................................... 226
............................................................................................................................... 227
............................................................................................................... 227
VirtualWires..............................................................................................................................................................228
...................................................................................................................................................... 229
VirtualWire ..................................................................................................................................... 230
17. ................................. ..................................................... 232
...................................................................................... 232
........................................................................................................................................................232

10
RTL- ............................................................................................................232
RTL- .................................................................................................................... 233
..................................................................................... 233
...............................................................................234
IP ...............................................................................................................................................234
....................................................................................................................................................................... 235
18. .................................................................236
.....................................................................................................................................236
.................................................................................................................................................236
.........................................................................................................................................236
.............................................................................................................. 237
.............................................................................................................. 239
19. , , ............................................... 241
..................................................................................................................................................................241
............................................................................................................................................. 241
.......................................................................................................................241
............................................................................. 243
........................................................................... 245
................................................................................. 245
..........................................................................................246
.......................................................................................................... 251
!................................................................. 251
. /H D L ......................................................................... 253
/-...................................................................................................... 253
................................................................................................................ 253
, .............................................. 254
!......................................................................................................256
. ..........................................................................................256
.................................................................................................................. 256
..................................................................................... 257
.............................................................................................................. 258
.............................................................................................................................................259
.......................................................................259
.................................................................................................... 261
............................................................................................................ 262
...................................................................................................................................262
..................................................................................................263
, ....................................................................... 263
.................................................................................................................................265
/..................................................................... 266
....................................................................... 268
.......................................................................................................................................268
........................................................................................................................................................................270
HDL ........................................................................................................................ 270
........................................................................................................................................... 271
........................................................................................................................ 272
20. ....... .................................................................................................273
...........................................................................................................................................273
, .........................................................................................................................273
.....................................................................................................................................274
.................................................................................................................................275
/ ..............................................................................................276
, . ....................................................................................................... 276
.............................................................................................................. 276
/.......................................................................................................... 277

11
..................................................................................................... 277
................................................................................................................................. 278
.............................................................................................................................278
21. .....................................................................................................279
........................................................................................................................................................... 279
...............................................................................................................................280
...............................................................................................................................282
8- 10- ...........................................................................................................................283
............................................................................................................... 284
............................................................................... 286
....................................................................................................................... 286
..................................................................................................................... 287
............................................................................................................... 287
..................................................................................... 288
....................................................................................................................... 288
............................................................................................................................................. 289
, ................................................. 289
............................................................................................................. 289
..................................................................................................... 291
22. ................................................................................. 293
................................................................................................... 293
................................................................... 294
................................................................................................. 294
23. FPNA ......................................................... 298
.............................................................................................................................................................. 298
-, - ................................................................................... 298
............................................................................................................................... 300
picoArray picoC hip................................................................................................... 301
picoArray: ......................................... 301
picoArray ........................................................................................................... 302
Quicksilver............................................... 303
........................................................................................................... 305
.................................................................................................................................305
....................................................................................... 306
..................................................................................... 307
, ......................................................................................................................... 308
, , , !........................................................................... 308
24. ............................................................309
........................................................................................................................................................... 309
ParaCore Architect............................................................................................................................................. 309
................................................... 310
..................................................................................................................... 310
Web- ......................................................................................................................................... 312
Confluence................................................................................................. 312
......................................................................................................................................... 313
, - ............................................................................................................. 315
..................................................................................................................................... 316
?.................................................... ................................................................................... 316
25. .........................317
....................... 317
: Linux............................................................................................................................... 317
Linux........................................................................................................................... 320
......................................................................................................................................... 320
Icarus Verflog............................................................................................................................................... 320
Dinotrace GTKW ave............................................................................................................................... 321

12
Covered ......................................................................................................................................................... 321
V erilato r......................................................................................................................................................... 321
Python ........................................................................................................................................................... 322
...............................................................................................................................322
.................................................................................................................................323
................................................................. 323
?.................................................................................................................. 324
..................................................................... 324
O penC ores..................................................................................................................................................... 325
OVL ............................................................................................................................................................... 325
...................................................................................................................... 325
................................................................................................................................................... 325
...................................................................................................... 326
26. ........................................................................................................ 327
.....................................................................................................................................327
............................................................................................ 328
.............................................................................................. 328
/................................................................................................ 328
.................................................................................................... 328
...........................330
........................................................................................ 330
ASMBL ...................................................................................................................331
................................................................................................................................. 331
.................................................................................. 332
FPNA ............................................. 332
.................................................................................................. 332
.................................................................................................. 332
................................................................................................................................. 333
. ............................................................................................................... 334
.............................................................................................................................................................334
.................................................................................................. 334
.........................................................................................................................336
- ........................................................................336
...................................................................................... 337
, ..............................................................................338
.........................................................................................................339
-..........................................................................340
.............................................................................................. 341
...............................................................................................................342
- ..................................... 342
............................................................................................ 342
.................................................................................... 342
....................................................................................................................... 343
......................................................................................................................... 344
.............................................................................................................344
. ...............................................345
............................................................................................................................................................. 345
................................................................................................................. 345
........................................................................................................................................... 346
..................................................................................................................................... 346
................................................................................................................... 347
............................................................................................................. 347
- -.....................................................................................................348
......................................................................349
...................................................................................... 349

13
.........................................................................................................349
RC- ........................................................................................................................... 350
LC- ............................................................................................................................................350
RLC- .......................................................................................................................................................351
....................................................................................................... 351
- ...................................................351
- .............................................................352
- ....................................353
- ................................................................. 354
.............................................. 355
............................................ 356
.....................................................356
............................................................... 357
........................................ 357
- .................................................358
.......................................... 359
....................................................................................................................................360
....................................................................................................................................................................... 360
. ............................................................... 361
................................................................................................................................................................ 361
....................................................................................................................361
..............................................................................................................................................363
.................................................................................................................365
L F S R ..........................................................................................................................................366
F I F O ........................................................................................................................................................ 367
LFSR 2 ...............................................368
..................................................................................................................... 369
............................................................................................................................. 370
................................................................................371
...................................................................................................................................................... 372
........................................................................................................................... 373
....................................................................................374
, .....................................................................................................................375
........................................................................................................................................................................376
............................................................................................................................................................................ 377
...............................................................................................................................................397

,
,
.

, ,
,

!



, , ,
Elsevier ( ,
)
.
. ,
10 ,
. ,
-
. ,
Mentor Graphics Xilinx
, ,
.
. ,
,
, -
,
. ,
,
Mentor, Xilinx
, , ,
, .
,
. ,
. ,
Mentor Xilinx,
.
( Gartner DataQuest)
( EETmes),
, ,
....
-In, AccelChip,
Actel, Aldec, Altera, Altium, Axis, Cadence, Carbon, Celoxica, Elanix, In
Time, Magma, picoChip, Quick-Logic, Quicksilver, Synopsys, Synplicity,
The Math Wforks, Hier Design Verisity,
, ( Launchbird Design
Systems),

.
( GigaTest Labs)
.
, ,

(Designus Maximus Unleashed, ISBN 0-7506-9089-5)
(Bebop to the Boogie, (ISBN 0-7506-75438) , .
, - (
, ).

!
1 , ,
I
|
|
|
j
I
'
|
|
|
|
j
!
J
I
|
|
|
|
!
j
j
j

I
|
!
!
j
|
|
!
1
|
I
!
I
!
|

, .
:
. ,
, (FPGA) , .

. ,
, . , , , .

, ,
. ,
.
(AS1C application specific integrated circuit / ASSP
application specific standard parts ).
, , , .
,
, (ASIC
ASSP). , . ,
( FPGA) ,
. ,

(ASIChASSP).

, .
, .
, ,
.

17
,
, , , , ;
. .
, :
, . ,
, . ,
, ,
. , , ,
, , ( ,
- ).
(), 2003 2004.

|
|
1
|
|
|
1
|
I
|
|
1
I
I
|
I
|
|
|
I


FPGA (field programmable gte arrays), (
),
(),
.
- .

, . ,
,
.
field programmable,
FPGA, , FPGA- , (
,
). , FPGA-
() ,
,
, , -
. ,
,
.


,
( ,
),
.
(),
(ASIC application
specific integrated circuit,
ASSP application specific standard parts,
V , , .
:
( )
(i )2).
() ASIC
() ASIC
.
. . .
2) , (ASIS
ASSP) 2 3. ( ,
.)

19
,
, (
) .

.
, ASIC
ASSP,
. ASIC
ASSP ,
.
, ASIC

, a ASSP 1*.
,
,
,
. ,
,
.
,
. ,

-.
, ,
, ,

.
,
(
).
,

.
,
,
.
,



, .
, 2003 , 450000
, , 5000
ASSP 1500
4000 ASIC,
.
,
, .
, , ,
: ,
!> (
) AS1C ASSP,
,
.




.


4.

20 1.
, , .
,
.

, ,
\- , :
- .
, , , :
, .
, ,
. ,

.







,


(),

,

,
.

80- .
,

.
.
90-
,
. 90-
,
.
, ,
,
.


.
,
.

, .
,
/ .
,
.
,
(). ,

.
,
: ,
,
,
. ,
, reconfigurable
computing (RC).

!)
,
.
.

21

. , , .
. , () digital signal processors
(DSP). ,
.
500 .
. , . ,
, , /, . , ,
/.
pea .
. ,
,
, . , , ,
.
.
, (), .
.
.,

|
|
|

I
I
1
1
|
I
1
I
I
I
I
|
1
I
I
1
|
I
1
1
I

1
I
I
I
I
1
1

I
|
|
I
I
1
I
1
|
I
I


, |

( EDA electronic
design automation) , ,
.
,
.

22 1.
, - 80-,
.
, .

,
.

, ,
.

.
, ,
.
.
,
,
, .
, .
,
.
- ,
, . . ,
( , ).
, , ,
.


-
- .
,
,
,
(,
).

-
, -
,
.
, :
, .
,
,
.


.
,
, ,
( \Veb . 6).

23


,
:
;

;
,
;
,
;
;
,
,
;
.


|
(FPGA) (ASIC),
| , , ,
... , . .

1
I
I


( field programmable te array)

. , I ,
I () .


1 1 b (. 2.1).

. 2.1.

|
I
1
|

I
I
1

1
1

( ), ,
, . . ,
, . . , .
. 1.
, 1,
. , ,
.

25


,
,
.
,
(. 2.2).

= 1 (.)

^ -

. 2.2. ^


, ,
.
,
.
( ),
.
,

.


. ,
, ,
0.
0 0
. , 0,
0. , 1,
, , 0, ,
, 0.
.
,
,
.
, , ,

(. 2.3).

( -

25000 . .

,


.



.

26 2.
2500 . .

,


.

Fat

A /V

>~:

\ \ I //
// |\\

= &

\\ I //

/ / 1 \\
Fbf

^ A /V

&


,


.

. 2.3.


1).
= & (. 3).

,
.
,
,
(OTP one-time programmable),

.

,
. ,
,
, , , . 3,

.


.

, . ^

, (
, . 2.4, ).
.
(
)
. ,

, & (. 2.5, ).

() ,
. -

27

. 2.4.

\\ I
// | \ \

=&

\\1//

// |\ \

. 2.5.


, (. 2.6, ).

, ,
-
(. 2.6, ).

___

. 2.6.

28 2.
260 . .

.

, ,
,
,
.

,
,
,
.
:
()
().
,
.

, .
, , .
,
, , .

, -,

!).

, .
, , ,
2) (. 2.7).
() (),
.
,
1,
, , .
/ .

.

,
.
,
, . .
.
,
,
0, ,
, 0. :
, ,
, 1.
])
Bebop to the Boolean Boogie (An Unconventional
Guide to Electronics), ISBN 0-7506-7543-8.
2) , , 1940
(John Wilder Tukey),
.

29

. 2.7. ,

- ,
,

. ,
,
.

() 1970 Harris Semiconductor.

.

(. 2.8).

, , ,
.
,

30 2.
15 . .

.

, , ,
0
. -
,

.
1.

, . .
( ).

,
. ,
, ,


.
,
(. . 3).

,

, . -
, ,
.

,
.
, ,
, . . .

().
1971 111,
1702.
- ,
-, ()
,
(. 2.9).

) -

) -

. 2.9. - -

31

.
,
, 12 .
,
, .
, ,
. ,
.

10 .
, , ,
.

(. 2.10).

__

()

- '

^ 7

()

. 2.10. -

,

. ,
, - .
,
,
0
.
,
, .
1.

,
, .

. ,
. ,
,
() .
,

32 2.
.
. ,
, ,
-.

, ,
20 . ,
, ,
,
. ,
, . .
, ,
.
-
, .

,
.
,
.



(). 2.5
, ,
(. 2.11).

. 2.11.

j
I
1
!
|
|
I

-, - ,
.
.
- . ,
() ().

I Flash-
Flash ,
, .

, Flash, | , . Flash ,

33
,
. ,
-,
. ,

, ,
.
,
.
,

.
-
. 2002
. ,


^-,
.



: .

-,
.
, , . .

. .

.
,
.

.


,

,

.
- . 2.12.
. 2.12.


,
.
( 0 1)
(. . ) (. .
).
,

, ,
-.
, -

34 2.
I . , .
| .
| .
| ,
1 , I . 2.2, (. 2.4) | ( - ),
| (. 2.7). , ,
| .


. 2.1.
2.1.

/ V

ID

41

<

FLASH

!

SRAM

I
I
I
1

I
1

<


( )

( )

, ,
. ,
, ,
, .
, ,
(MRAM magnetic RAM).
1974 , IBM
.
, ,
.
, , .
, ,
Flash- .
, . ,
, .



,
,
(. 3.1).
1945

1950

1955

1960

1965

1970 1975
I

1980

1985

1995

2000

1990
I

( )




^)

. 3.1. ( )

, ,
,

. , Xilinx 1984
.

90- .

23 1947 (William Shockley),


(Walter Brattain) (John Bardeen) (
Bell Laboratories, ),
(
Ge).
1950-
.
, ,
. 50-
,
, (
Si).
, ,
.

36 3.
*

,
% - ().
I , -
I (). I , . I -, I .
1962 (Steven Hofstein)
(Fredric Heiman) RCA, ,
. - -

(metal-oxide
semiconductor field-effect transistors MOSFET).
-.
,
, ,
.
, , -, -, /?-. ,
- /7- ,
-
(). -,
,
.
, ()
.


,
.

.
, 1952 ,
. (G.W.A. Dummer).

, 1958 (Jack Kilby) Texas
Instruments ,
,
.
, .
, Fairchild Semiconductor,
(Jean Hoerni)
(Robert Noyce),
,
,
.
60- Texas Instruments
54- 74- ,
. -, 3/4 (1.89 )
3/8 (0.95 ) , 14 16
(
, ,
). , 7400
2- -, 7402

, 37
2- -H E, 7404
() .
54- 74- Texas Instruments . 1968 RCA , 4000.

|
j
|
1
I
1

60- 70-
. , 1970 Intel
1024- ( 1103), Fairchild 256- ( 4100).
, . . 1971, Intel (), 4004,
, (Marcian Ted Hof!),
(Stan Mazor) (Federico Faggin). 4004 --,
2300 60000
.
4004- , . , 1968
International Research Corporation , --. 1970-,
, 4004 ,
(Gilbert Hyatt)
(
). , , 4004
, , .

, ,

(. . 4).

1
I
I
1
1
I
1
I
I
|
1
I
1
1
1
I
1
I
I
I
1

I
I

|
1
1



().
70- ,
.
70- .
,
,
( PLD complex programmable logic devices). , (SPLD simple programmable logic devices).
, ,
, ,
.

|
I

|
I
I
I
|
i
1
I

38 3.
1500 . .




.

,
(, )
,
( ,
, ).
,
,
(. 3.2).
(PLD)


(SPLD)
1

(PROM)


(SPLD)
1

......

.. PAL.J

I
GAL

1
1

. 3.2.

, ,
, 1- , (. . 2). . 3.2 .

-I ,
70-.
,
,
.

(. 3.3).

, -
, . . 3.3

.
,
, .
,
.
,
, . .
.
,

39
- I -
-)|(-

1
2
3
4
5
6
7

a & b & "


& b &
" & b & "
& &
& & "
& b &

;{

/ ----/ \

/ ....../

}N

?^

/\

>S

& &
& b &

2>

2
22
.
22S

V..... >

3/

. 3.3.


1>,
, ,
. ,
, . 3.3,

. , ,
, . 3.4.
, .

1 0

1 0 0
1 0 1
1 1 0
1 1 1

1 0

1 0

. 3.4.

(. 3.4)
.

(. 3.5).

: & (AND), | (OR),
(XOR), " - (NOT).
.

40 3.

: !,

, .
.


. 60- 80- (
)
-, 74-
Texas Instruments.

;
s

)
2

5
S

32

>*
Q.

2
2
.

. 3.5.

,
, ,
, ,
(
). ,
,
,
-
-.
, ,
.
,


.

41
(&)
, (|)
. ,

= ( & & ) | ( & & ) | ( & & ) | ( & & ),
,
(, , , . .), ,
&, . ,
( & & ) , , ,
.
,
(. 3.4 3.5),

, ,
.

()
,
, .
()
1975 .
, , . . ,
, .
(. 3.6),

.
.


.
.

/V V s

V ?

-)|f-

/V /V /

':

. 3.6.

,
:
\ = ( & ) | ( & ), = ( & & ) | ( & ) = ( & & ).

, . 3.7.

1600 .
(John Napier)


,

(Napiers
Bones).
1614 .
(John Napier)
.

42 3.

3^
3

. 3.7.

,
,
-
. ,
.
,
, -,
. ,
, -, --, --
. ,
-1* ( --), , .
, -,
.
, ,
, .

,
.
, ( & ) :
: (. 3.7).
.

,
.
, ,
.

!) , - ,
-----,
, ,
-, . ,
, - , ,
, .

43

PAL GAL
,
, 1970-
, (
PAL Programmable Array Logic).
PAL ,

. GAL (Generic
Array Logic ), 1983
Lattice Semiconductor Corporation,
-
PAL.
PAL-
(. 3.8). PAL
( )
,
.

\ s

- -

X X X X X X
X X XXX

X X X - -
X

s=:

>

>

>
>
>

X X X X X X

Q)

8
<0

2
2

X
)

I
6
g

. 3.8. ^ PAL


,
.
: ,
.


PAL
, ,
.
,
, , , .
, ,
. . , -

PAL


Monolithic Memories,
Inc.

44 3.
1621 . (William
Oughtred)

I
I
.


! ,
,

.
, . , .
,
I , | .

, I , 1 .

I
I
I
|
I
I

I
I
|

I
I
I
|
I
I
I
I

I
I
I

I
|
|
|
I

I
|
software
( . I
!

I
)

I
(John Wilder
|
Tukey).
|
I
I
|
I
I

,
, , ,
, , .
, . ? 70- 80- ,
(CPLD complex PLD).
PAL Monolithic Memories (MMI), -PAL (Mega-PAL).
84 4 PAL- . , Mera-PAL , .
1984 , Altera ,
- -.
Altera

.
,
.
Altera .
, Mera-PAL, , , , , 100% .
, .
Altera , / 100% ( . 3.10). , ,
.

, -

45
, PAL, I
(. 3.9). - 1
- 1

.

. 3.9 ,
.

. ,
, 100.
, ,
,
30.
(. ).
100



, , Flash .

,

.

46 3.

ABEL, CUPL, PALASM, JEDEC



.

.
,

, .
,
,
. , ,
,
.

, ,
.
,
(. 3.11).






,
.




.

. 3.11.


, .

,
. ,
, ,
, .
1980 (JEDEC),
,
.
,
.
(John Birkner), PAL
, PAL (PALASM). PAL
(HDL Hardware
Description Language) .
PAL -

ASIC 47
.
, -.
, ])
6 (
) PALASM
,
.
PALASM, ,
,
MMI (Monolithic Memories Inc),
- .
1983 Data I/O ABEL
(Advanced Boolean Expression Language
). Assisted Technology
CUPL (Common Universal toolfor Programmable Logic

). HDL
. ,
,

.
PALASM, ABEL CUPL, , ,
HDL,
, AMAZE (Automated Map and Zap of Equation
) Signetics.

HDL,
Verilog VHDL, ,
,

.

ASIC

(ASIC
application specific integrated circuit), .

, ASIC,
(. 3.12).

, . 3.12.
,
, . .
2), , ,
,
. , -

1 1950 (
(1 1 )
, , .
2)
(). . .

48 3.

(ASIC)

(Gate Arrays)


(
ASIC)

(Standard Cell)


(Full Custom)

. 3.12.

,
, , ]).



, , , .
,
, Texas Instruments Fairchild,
.
,
,
.


.


.


. ,

, .
, ,
-.

,

.


. , (ASIC) , (Full Custom) -
. , ... . .

AS 1C 49


60- Fairchild Semiconductor
(Micromatrix).
, 100,
.
,
.

Y, . . ,
. ,
, X, . .
, . ,

,
,
.

, ,
,
. ,
,
( ), (
).
, 1967 ,
Fairchild ,
(Micromosaic).
, ,
150 , .
,
,
,

, .
,



().


,
, 60- IBM, Fujitsu .

, 70- ,
,
.
(ULA uncommitted logic
array). .
,
.

,
(. 3.13).

1642 .
(Blaise Pascal)


,

.

50 3.

- -<

*!

. 3.13.

1
|
|
|

, . ,
,
, ,
(. 3.14).
/

. 3.14.

!
I

I
|

1
I
|

|
|
|
I


.
. .

,
, . - .
! , , .
, ,
. , , , ,
.
,
,
, , .

ASIC 51
,
.
,
, .
,
,
.
. ,
,
.
.


,
90- .
.
, : (ASIC)
,
.
,
, , ,
. , ,

.
,
,
, . . - ,
.
IP
(intellectual property).
,
. ,
, .

,
,
.
,
.

,
.


.

.

,
- ;
,
.

.

1671 .

(Gottfried von
Leibniz)

.

52 3.
1746 . .



.


ASIC

. , ,
,
,
.
,
,
90- ,
, . 10 , -
2001-2002 ,

.
,
. , 2003

(structured AS 1C), .
, ,
.
.
, ,
.
, ,
,
, , , (. 3.15).

) ,

)
(LUT)

. 3.15.


.
,
, .,
,
.
( 4x4, 8x8 16x16)
, ,
, ,
, .
.

53
,
, ,
, ,
(. 3.16).

1752 . .

,
,
,


.
1775 . .

,
,
. ,

. ,

,

.
,
.
,

,
, ,
.

, .

. , , ,
- ,
.

80- ,
. ,
, ,

.
.

54 3.
,
.
, ,
. ,

(. 3.17).

(5
)

s \ \ I ///

7 //| W 4


1) 1980- .

. 3.17.

, Xilinx
FPGA (Field programmable gte arrays),
( ),
1984 .
. 4,
, -
.

, ,
, ,
, .

, 3-
(LUT - lookup table), ,
, ,
, .
. 3.18 .
. 4,
.

.

.

0 1, ,
(. 3.18).
, ,
,
.
. , ,

55
1777 .
(Charles
Stanhope)

.

.

.
,

= ( & ) | .

(. 3.19).

(LUT)

= {& ) |

. 3.19.

8:1,
. 3.19,
(. . 4 . 5).

, ,
(. 3.20).
,
.


.

56 3.
1700- .

(Charles Stanhope)

,

.

. 3.20.

, . 3.20,
, , ,

.

/ ( ).

,
,
/
.
,
.
,
, .
,
,
.
,
. ,
,
,
.

-
, ,
.

.
,
,
, ,
/ . ,
.
-.
,

57
-


.


,
,
,
:
,
. ,

.


.
,
,
.
,
,

.
,

(. 3.21).

. 3.21.



.
,
-

1800 . .


.

58 3.
1801 . .

(Joseph Jacquard)

,

.

.

. ,
. :
(FPGA-ASIC).
, , ,

. ,
, ,
.
, ,
,

.
, ,
( ,
,
,
, ).

, ,

.


, ASIC,
.

,
,
, ,
. ,
- ,
ASIC,
, ,
,
- .

1820 . .
(Andre
Ampere)


.

|
,
!^ ,
. ,
?

1
|
|
|
|
I


? , ?
,
. , , ,
-

- *
, 1
- I
.
,
. ,
, . .
,
.
,
,

.
,
.

I
|

I
I

I
|
I

I
|
|

.
, , ,

, .

, ,
.
.
,
, , ,

.
,
, //
/, - .
, , , . ,
, , , .

I
I
|
I
1
I

I
|

I
I

I
I
|
|

, , ,
. , ,
.
, ,
(, ).
- , , , . , , , . , ,
, , .

, ... 61
, ,
.
,
, ,
,
. . 80-
3- , . .
3 ( =
= ). :
.

. 90- ,
1- , 10
. 21-
,
0.18 . 2002
0.13 , 2003
0.09 .
0.5 ,
(DSM deep submicron).
, ,
, ,
(USMC ultra deep
submicron).
:
1 , -
.
. ,
, , ,
, .

(0.09 ),
. ,
, ,

, .

,
...


,
.
,
,
. ,

, ,
,
.

62 4.

,
. ,
, ,

. ,
-, , . .
-
.

.
, ,

.

, . . ,
. , 1
0.09 (90 ),
, .
, , .
,
.
,
,
, - {. . 5).




,
. ,
, ,
.
,


. ,

, :
+ .
,
,
.

, . , ,
. ,
, ,
.
,

.
.

, ... 63
, ,


.
. ,

( , ), ...
.
,
.

.

,1 (. . 5).


.

.
,
(
),
.
.
, ,
.
,

,
, .
, ,
. ,
, .

I
|
1
|


, ,
,

.

. -,
, . .
, . ,
: . ,

.

.

:
, , 1
. 1
- I

64 4.
I . | ,
,
. ,
. ,
I ,
I , ,
,

. ,
,
.
,



, 0, 1,
0, , 1,
0, 1.
[^= >

- (
), - ( )
-. ,

. ,
,
.

, ,
1 ,
. , .

, , ,
. ,

. ,
50 .
,

,
.

, ,
,
(
). ,
^ ,
,
,
.

,
, ,
, , .
I , ,
| , ,
| 20%

1
I

, ... 65
,
, .
,
, ,
,
. ,

, .
, , ,
,

. , ,
, ,
.
...
, .
,

. ,

,
,

.

, , ,
,
.
, ,
, . 2,
.
,
, ,
,
. ,

,
, ,


,

.

Flash
^ , ,
.

.

1821 . .

(Michael Faraday)

66 4.
1821 . .



.

,

.

, . .
. ,
,
50 .
,
. . , .
, , ,
,
JTAG- (. 5). , JTAG
20 ,

.
- Flash-

, ,
. ,
,
.


.

. , ,
, .

-
.

Flash
,
- .

.
, , ,
Flash- ( -)
.
Flash-
. , , Flash
.
,
, ,
. ,
,

. Flash , ,

.

-, - 67

. 4.1
.
4.1.

()

(
)


( )

(

)

(
)

(
)

( )

()

(
)

-, -


. , ,
,

-
(. 4.1).


.
,
, .


.
, 3--

68 4.
1821 . .

(Sir Charles
Wheatstone)

.

. 4.1.

(, , - )
( D -, D - ).

,
.
(,
).

,
.

90-.
,
.

. ,
, 4-
, , D -,
.

.

. ,
,
.

, .
,
, ,
(),
(. . 6 23). ,
,
.
(LUT)
, ,
, .

69




,
(MUX multiplexer)
(LUT lookup table).



3- = ( & ) \ ,
, (. 4.2).

. 4.2.

,
0 1, , ( , ), .
(: . 4.2
, 0 1).

|
1
1
I
I
|
|
|

.

(, ) . , , ,
. , = ( & ) | ,
. . 4.3.

|
1
1
I
I
I
1

70 4.

0 0 1

0
0

0 1 1

1 0 0

1 0 1

1 1 0

V 11

. 4.3.
,

.

, . 4.3
.
,
, 2- ,
.
.

3-
. ,
.
, - ^-
.
,
. 4.4.
,
. 4.4 .

(
)

(
)

. 4.4.

, ,
.
, .

71
,
,
0. , ,
,
1. , ,

.

?

, ,
,
. , ,
, , .
.
,

, ,
...1).
.
,
.
, ,
,
,
.
() .
,

,
.

90-
.
,
.
,
,
.
, ,
.

3-, 4-, 5- 6-

, -
, 2), .
!) ,
(www.quicklogic.com),
,
, .
,
.
2) . 3,
.

72 4.
1822 . .

(Charles Babbage)



,

.

,
,
.
3-
.

3-, 4-, 5- 6- (
,
). ,
4-
.

, ,
,
.
,
.
4- .
,
,
.

, ,


.
.
, . . ,
,
, .
, 16 , 4- ,
16x1.
, , -,
() , -,
.

, , ,
,
(. 4.5).

. 4.5. ,

, , 73
, , I 1822 . .
, | (Andre
I Ampere) ,

. ,
,


(. 4.6).
,
.
16-

16x1

->

-
-*

4-

. 4.6.

,
,
,
, .
,
,
. ,
.

Xilinx
, I
. , , - 1
Xilinx, - 1
(logic cell). ,
4- ,
16x1 16- ,
(. 4.7).

. 4.7. Xilinx

74 4.
1827 . .

(Sir Charles
Wheatstone)
.

, . 4.7, , ,
, .

(. 4.7) . (
)
,
/ ( ).
, ,
,

.

Altera
, Altera,
(logic element).
Xilinx Altera ,
.



,
Xilinx, (slice). Altera , -, - ,
. ? , , -
. , ,
, , .
, (. 4.8).

16x1
4-


- 16-


16-

16x1
4-

; "

DU

. 4.8. ,

,
,
. . 4.8 ,

, , 75
, ,

. ,
/ .

CLB
LAB
, ,
Xilinx
(CLB configurable logic block). Altra,
, LAB (LAB logic
array block). , ,
, ,
.
()
.
3- .
4- .
,
4-
, ...


, , Xilinx
,
.

(. 4.9).

. 4.9. ,
( )


.
( . 4.9
).
- , . .
- -
, ,

1827 . .
(Georg
Ohm)



.

76 4.
. ,
,

.


.


, 4-
16x1.
,
. 4.9,
:
16x8 .
32x4 .
64x2 .
128x1 .
16x4 .
32x2 .
64 1 .
,
, .
.

().
, , (
), . .

.

, 4-
16- .

,

.

16- .

128 .


,
,
.
, ,
,
.

,
.

,

77
, , .

,
,

().



,
,

,

, . 4.10.


.
. , .
,
.
, , - - , FIFO (first-in first-out
, ), .

1
1
I
i
I
|
|
I
1
|

, ,
.

, ,
,
.

|
|
I
|

78 4.
,
.
,
, (. 4.11).

. 4.11.


. ,
, ,
(1-(1- ),
. 4.12. ,
,
.

()

. 4.12. ,

,
,
,
. -

79
, ,
. ,
,
.



,
(
, . .)
( ).

,
:

( ).

, . ,
,
.

,
.
;
,
. ,
,
,
.

.
,
.
,
, .

, ,
. ,
,
, ,
.



.
.
( stripe) ,
(. 4.13).

,
(Multichip
module ).
, ,
.

1829 . .

(Sir Charles
Wheatstone)


.

80 4.
1831 . .

(Michael Faraday)

.

X------------------ V------------------ \

,
,

/,

. 4.13. ,

|
|

I
|
I
|
|
|
I
|
I
|
|


() ,
.
.
, , , - , .

. ,
(. 4.14).
,
, ,
, .

. 4.14. ,

81


. , ,
,

. ,

() .

I
I
!
!
1
I

1831 . .

(Michael Faraday)
.



,
.
,

,
.
, .

,
.

,
,
,
.

,
.



(. 4.15, ).
)
,
,
.
,
, .
,
, ,

, .
, .

, ,
.

,
. , ,
.




30...50%

.

82 4.
1831 . .

(Michael Faraday)


.

. 4.15.

(
),
(
).




(
)
Xilinx
DCM
(digital clock manager).


. , ,
, ( )
, ,
(. 4.16).
_ _ _

J I T U

>


1
1
1

^ /

_ _

. 4.16. ,


()
, , ,
,
.
,

.
.

83
. ,
1 . , ,
- .

.

.
, ,
,
;
(. 4.17).

. 4.17.




(. 4.18).

J T J L T L


1 _

>

_ _

_ _ 1
/

. 4.18.

. ,
,
, ,
.
,

.


()

(Heinrich Hertz),


(Karlsruhe)
,
1888 .



.
(1 )

, 1
(1 )
.

84 4.

: ,
, ,
, ,
(. 4.19).

-_

1.0
2.0

- ~ -

0.5

. 4.19.

, . 4.19
.
,
.
.
, ()
.
, 120 240
90, 180 270
.

.
,
,
, 90,
180 . . (. 4.20).

0*
90*
180
270*

. 4.20.

. ,
,
, ,
. , ,
. ,

, . ,
,

. ,
.

/ 85
,
,
.

.

,
(. 4.21).
, . .
, ,
.

( ),




,

___

! 1 ! 2
()


. 4.21.


(),
(digital delay-locked loop DLL).
40- . ,

.
,
.
,
, ,
.

/
1000 ,
.
.
.
, ,
/ .
, ,
, .

1831 . .

(Michael Faraday)

86 4.
1831 ..

(Michael Faraday)
,

/

, .
, , ,
,
. (
,
0 1 .)
, ,

. /
,
. /
. ,
, 0 7 (. 4.22).

/

( 0- 7-)

. 4.22. /

,
/.
, ,
, /,

/,
,
.

/

. ,
.
,
, , . . ,
, . .
.

, .
,

87
, , . .
, .
,
,
,
/.

/
, - 1965 1995 ,

+5 . , /
( 0) +5 ( 1),
.

,
, .
.
(. 4.2).
4.2.

()[] []
1998
3.3
350
1999
2.5
250
2000
1.8
180
2001
1.5
150
2003
1.2
130
, ,
,
(
).
/ ,
,
/ .
, , 350 ,
.
,
1 (
,
),
.



,
,
(. 4.23).
1975 .
8- .

1832 . .

(Charles Babbage)


,

.

88 4.
1832 . .

(Joseph Henry)

,
.

-
/

. 4.23.

16 , 32 ,
64 . ,

.
,
,
. ,
, ,
,


.

() () (. 4.24). ,
.

. 4.24.


,
. ,
, , ,
.

IP ,


,
(IP intellectual property).
( IP) -

IP , 89
, ,
, , ,
. ,

, ,
, .
.
(
IP)
,
.
HDL (HDL hardware description language),
Verilog VHDL, (RTL
register transfer level).
, ,
, RTL,
,

, .

(
IP firm IP),
.
,
(

, , , ).
,
IP.
,
,
IP, ,
,

. , ,
, ,

. ,

, , PCI. , ,
, ,
,
.
PCI-
,
.
,
, ,



, ,

()
.

1833 . .

(Michael Faraday)

.

90 4.


,
, .
,
,
.
.

:
;
....
,
,
: 10
, ,
!
, , ,
,
, . ,
2- -
. ,
.
,
, -
: ,
(
?). -
,
.
. ,
,
. , -
500000
.
,
? , 4-
, 20
2- ,
.
, 90-
.
,
, ,
,
.
, ,
. ,

.
, :
, ,
, ,
^ ?. ,
, ,
,

91
. ,
.
,
,
, .
,
, . , ,
: , 20 30%
.

,
:
.
-
?
. , ,
3.
, , 3 000000 -
1 000000
. , ,
5.
3 000000 600000
.
- , ,
,
,
,
. - ,
, 10.
3 000000
300000 ),
- ... !
, ,

. ,
,
, .
, ,
.

:

( 4-
/);
( ) ;
( ) ;
( ) ;
( )
;
. .
?


,
.

1837 . .

(Samuel
Finley Breese Morse)


.

92 4.
1837 . .

(Sir Charles
Wheatstone)

(Sir William
Fothergill Cooke)
5
.

, /,


.
, ,

, , , .

1842 . .

(Joseph Henry)
,






.

30 .

,
. , 10- ,
, 70- . , ,
. , ,
. ,
,
: , , , 100 .
- .

, 15
. , ,
,
. , ,

.
, , ,
.
2- ,
30 ,
,
.
(45 ) ,
(60- )
, !

1842 .
.
(Alexander
Bail)

,
,


.



, ,
. :
,
10000 . ( , .
. .)
,
, , . ,

.
.

I
I
I

[
|
I
[



,
-.
, ,
, ,
, . .
.

, , ,

, . . , ,
.

.
- . ,

.

1
1

|
1

I
I
1
1
1
|



- 1
. - , 1

94 5.
1843 . .

(Augusta Ada
Lovelace)
,


.

, .
,
,
(. 5.1).

. 5.1. - ( )


.
,
^-,
.

()
, ,

, . /
, . 5.1,
,

/ .
,
4- ,
(. 5.2).
, ,
.
, :
( . 5.2)
;
(
)
( );
0 1.
, 4- 16
.

95



, ,
.
,

.

,
.
, ,
-
-
. , /
,
.
,
, .

. ,

, -
, ,
.


- .
, .
, , . .
, .

.
,
/
(. 5.3).
, , . . ,

. ,

96 5.


<-

'^

= /

1nJ4J4J4J4J4i]^^

. 5.3.

,
.
,
: (master) (slave).
,
, . 5.3,
,
, . .
,
.
Flash ( )
,
, .
Flash-
.
,
,
. Flash-
, . . ,
.



. , .
, ,
.
. 5.3,

.
,
,
.
,
. 2003-
25
! ,

97
, .

. , 25
100
, .
,
. , , . ,
, , , 25 .
,
1024-,
. .
25 -
,
.
25
. ,
1024
,
. 1024


.
.
(^ =

.
,
25 ,
25
. ,
,

.

,

,

. , ,
,
, .
, 4-
(. . 5.2)

(16x1) , 16-
.
16 ,

.
16-
? .
? , ,
. ,
,
.

, 60- .

98 5.
1843 . .

(Sir Charles
Wheatstone)

(Sir William
Fothergill Cooke)

2-

.
1844 . .



.


. 5.3
.
,
.
,
.

,
.


,
,
: 0 1.
,
, ,
.
.


,
. ,
, -,
,
,
.

, , ,
.
,
(. 5.1).
5.1.

00

01

10

11

, ,

.
.
, ,
0 1
.
, ,
.

99
,

, ,
.
, .
,

.

.
,
. ,

/ .

,
,
.
. ,
, ,
-.
,
(. 5.4).

'

"'

- "

. 5.4. ,


. ,
, ,
.

.

,

.

.

1845 . .

(Michael Faraday)




.

100 5.
1845 . .






.

.

, . 5.4.
, , . .
,
(. 5.5).

lb

.-.:--:

-------------------------------

. 5.5. FPGA




.
,

.

,

.






,

5, 6, 7, 8
9 .


,
8-.


.

,

.

, . 5.5, (
)
(master).

(slave).

,
,
8- ,
.
.
,
,
,
(. 5.6).
,
,
. 24- ,
16 .
.
, ,
.
,
.
,

. .
, , -

. ,
.

101

. 5.6. , ( )

- ,
. ,
,
, ,
.

, ,

, .

,
.
,
,
18-, . .
.
.
,
, . .
(. 5.7).

. 5 .7. ,
( )

102 5.
1845 .
.
-

.
1846 . .

(Gustav Kirchhoff)

, ,
,

,
, .

,
,
(master)
,
.
,

.

(. 5.8).

,
. ,
,

, -,
,
,
.
,
,
, ,

.

,
,
.
-

.

JTAG-nopm 103
,
,
. ,
/,
.

JTAG-
, ,
, JTAG-nopm.
,
(Joint Test Automation Group, JTAG)
IEEE 1149.1,
,
.
JTAG
. ,
-,
JTAG-.
, ,
JTAG-
(. 5.9).
JTAG

JTAG

. 5.9. JTAG-

:
JTAG-op JTAG-pe, .
, ,
, JTAG, ,
JTAG-op.
JTAG-
. JTAG-op,
, .
, ,
JTAG-pecp ( . 5.9)
JTAG-opa.

104 5.
1847 . .

(George Boole)


.

.1-. -
. ,

, , , ,
, , . 5.2
( ).
5.2.

001

010

011

}-

, 1- ,

,
, , ,
.1-.
-.


! . 4 ,
,
- .
,
(. 5.10).

JTAG

JTAG

. 5.10.

105
JTAG. ,
JTAG- JTAG- . , ,
,
.
, JTAG-

,
.


, .

|
I
(
|

1850 . .

(Francis Galton)
.



. 1,
- -
, ,
, , . ,


, ,

.
, ,
,
.

FPGA FPAA

(FPG A).
,
(FPAA field-programmable analog arrays
). ,

,

, . . ASIC.
6.1.

Web-

Actel .

www.actel.com

Altera .

www.altera.com

Anadigm Inc.

www.anadigm.com

Atmel .

www.atmel.com

Lattice Semiconductor .

www.latticesemi.com

Leopard Logic Inc.

www.leopardlogic.com

QuickLogic .

www.quicklogic.com

Xilinx Inc.

www.xilinx.com

FPNA 107

FPNA
FPNA (fieldprogrammable nodal arrays) ,
.

, . , ?
,
.
, ,
-
() (),
.

. , ,
,
, , ,
,
. FPNA,
,
,
.
30 50
FPNA-;
. 6.2
(. . 23).
6.2. FPNA

Web-

Elixent Ltd.

www.elixent.com

IPflex Inc.

www.ipflex.com

Motorola

www.motorola.com

PACT XPP Technologies AG www.pactxpp.com


picoChip Design Ltd.

www.picochip.com

Quicksilver Technology Inc. www.qstech.com

(FPGA), (FPAA) FPNA



.
.
OEM- ,
1- .
:
,
.
-
,

(. 6.3). -
,
.

108 6.
1850 .
.

6.3.

Web-

Altium Ltd.

www.altium.com

Cadence Design
Systems

www.cadence.com

Mentor Graphics
Corp.

www.mentor.com

Synopsys Inc.

www.synopsys.com

!
, ,
.
, -
.
,
, , ,
,
.




, ,
.
,
,
(. 6.4). -
,
.
: , .
6.4.

Web-

-In Design Automation www.0-in.com

AccelChip Inc.

www.accelchip.com

Aldec Inc.

www.aldec.com

Celoxica Ltd.

www.celoxica.com

Elanix Inc.

www.elanix.com

Fintronic USA Inc.

www.fintronic.com

First Silicon Solutions www.fs2.com


Inc.

109
()

Web-

Green Hills Software


Inc.

www.ghs.com

Hier Design Inc.

www.hierdesign.com

Novas Software Inc.

www.novas.com

Simucad Inc.

www.simucad.com

Synplicity Inc.

www.synplicity.com

The MathWbrks Inc.

www.mathworks.com

TransEDA PLC

www.transeda.com

\ferisity Design Inc.

www.verisity.com

Wind River Systems


Inc.

www.windriver.com

,
-.
,
, .
6.5.

Web-

Dillon Engineering Inc. www.diIloneng.com


Launchbird Inc.


Architect

www. lau nchbi rd. com


Confluence

, -

.
. , ,
!

.
.

110 6.
1853 . /.

(Sir Charles
Tilston Bright)



.

6.6.

Web-

Altera Corp. www.altera.com


Gentoo
Icarus

www.gentoo.com

Linux

http://icarus.com/eda/verilog


Vferilog

Xilinx Inc. www.xilinx.com

www. cs. man .ac.uk/apt/tools/gt kwave/


GTKWave

--

www.opencores.org

--

www.opencollector.org

--

www.python.org

Python
(
)

www.veripool.com/dinotrace


Dinotrace

www.veripool.com/verilator.html

\ferilator
\ferilog

Linux
, ,
Xilinx Altera,
.
ISE Quartus-Il
.
.

,
.
, : ,
,
.
, , ,
1).
,
, ,
, .
, ,
,
.
, ,
, ,
, .

. ,
,

(ASIC).



(. . 9), ,
,
VHDL Verilog
.
-
. -,
, ,
,
.
, ,
, ,
.
!) Wfortsel Grinder
Mark 4, .
, . ,
.

112 7.
1854 . .


.



.
. ,
, ,
, ,
, 1*.
,
. ,
:
1. .
2. .
3. .
4. .
5. .
... , . ,
,
. , , !
,
.
,
. ( ,
)2) ,
. ( )
, .
, .
,
. ,
.
, . , ,
,
. ,
, .
,
. ,
,
,
. ,
,
, .


,
. , , ,
,

, ,
- . ,
, 21- .
2)
, ,
.

113
,
, (. 7.1).
,
. , (
. 7.1 ). 5
,

.

1855 . .

(James
Clerk Maxwell)



.


, ,
. , ,
.
,
, , . . ,
.
,
(. 7.2).

. 7.2.


.
,
.
,
.
,
,
.



,


.



, , ,

.

114 7.
1858 . .






.


,
.


, ,
, , .
,
( )
, .
, ,
.
,
8 ,
(
).

, . .
. ,
, . 7.3 ,
, ,
.

,
. 7.3,
, . .
. , ,

.
,
, , 15 .
,

(LUT), ,
,
. ,
(,
. 7.3, 4-
), ,
.
, ,
, ,
. ,
.

115



,
,
.
,

.


- .
,
,
1\
,
,
. ,

,
, ,
. ,
.




. ,

.
, ,
,

.




. - ,
300 () .
:
,
.
,
.

!> , ,
.
.

1858 . .


.

.

116 7.
1858 .





.


.
,
.



,
.
,
. ,
,
.



,
(. 7.4, ).

,
, .
(ASIC)
.

(. 7.4, ),

(. 7.4, ).

()
----

>

()

1
------

------

>

()

( )

( )

. 7.4.



() :
(. . 4).

,

.

117


, . ,

,
.
.

,
.


. ,
,
!


(ASIC)
, (set) (reset).
, .
ASIC
: , .

. ,
, .



: 0, 1. ,
,
, ,
. , ,
.



,
,
, . ,
, .

, .
. 12.
,
, .
, ASIC,

1859 . .


.

118 7.
,
,

.
2=>



.

, , ,

.

!
,
,
,
. ,
. ,
,
,
.
, ,
.
,

10- 2-
. , 50
10 ,
.
,
,
.

, !
(
) ,
, (- ),
(
).
, .

,
, , , . ,
,
Altera Xilinx, ,
,
. ,

,
.
, .

119
; ASIC
.


, ,
Altera Xilinx.



,
, .

. ,
, . .
, - .
,

,
.




,

.
.

. , ,
,
.
, ,
JTAG-,
.
, ,
, .







,



.

-

, -, . . 60-.
,
,
,
. , ,
,
, .
- .
, ,
,
, .

.

,
, .

,
.

I
I
|
I

I
|
|

I
|

I
I

,

,
, ,
.

, . . ,
,
, : , . ,
, . .

, ,
,
,
. .
,
,
, , ,
, .
, , ,
.

121

, ,
,
. -
,
. , ,
60- 70-

.
, ,

,
(. 8.1).

,
.
,
,
(gate-level netlist). -
, . . ,
,
. . ( ... ,
?)
, ,
(. 8.2).

. 8.1. ,


. ,
,
,
(. . 19).
,
. 8.2, .
, , - -

1865 . .

(James
Clerk Maxwell)


,


, .

122 8.

BEGIN

CIRCUIT=TEST

INPUT

SET_A,

OUTPUT

Q, N_Q;
SET,
N_DATA,

WIRE

SET-B,

DATA,

CLEAR_A,

CLEAR_B;

CLEAR;

GATE
GATE

G1=NAND
G2=NOT

(IN1=SET_A,

GATE

G3=OR

(!N1=CLEAR_A,

GATE

G4=DFF

(IN1=SET,

(IN1=DATA,

IN4=CUEAR,
END

CLOCK,

IN2=SET_B,
OUT1=N_DATA);

OUT1=SET);

IN2=CLEAR_B,
IN2=N_DATA,
0UT1=Q,

0UT1=CLEAR);
IN3=CLOCK,

0UT2=N_Q);

CIRCUIT=TEST;

Puc. 8.2.



.

, , -, ,
-HE .
.
, D -.
G4 = DFF, . 8.2,
.

, DDF,
, - .
G4 = DFF, . 8.2,



, (stimulus),
0 1,
.
, (. 8.3),
; .

.
.
. 8.1 8.2, DATA D -
(NOT).
, DATA
1, 0,
, . .
0 1, 500.
1500 DATA 0,
1 2000
.
,
. 8.3, .
:
, .

123

1 1 1 0 0 0

500

1 1 1 1 0 0

( 0)

1000

1 1 1 0 0 0

1500

1 1 0 0 0 0

0 (N_data = 1)

2000

1 1 0 1 0 0

( 1)

2500

1 1 0 1 0 1

( 0)

. 8.3.


,

.
( ),

.
, , ,
(. 8.4).

. 8.4.


( )
() ,
,

124 8.

.
.
,
,
, . 8.1 8.2 ,
. 8.3. ,

. ,
,
. ,
, - 10
, D - 20 .

,
, . 8.5.

S S

DL

0 R R

DL
S

___
TIME

Q Q

X X X
X 0 X
0 0 0

X X
X X
X X

0
0

0 0 0
0 0 0

X X
0 1

1000

1 1 1 0 0 0

0 0 0

0 1

1500
1505

1 1 0 0 0 0
1 1 0 0 0 0

0 0 0
0 1 0

0 1
0 1

; 0

2000 1 1 0 1 0 0
2020 1 1 0 1 0 0

0 1 0
0 1 0

0 1

1 1 0 10 1
1 1 0 10 1
1 1 0 1 0 1

0 1 0
0 1 1
0 1 1

1 0
1 0

0 1 1 1 0 0 0
5 1 1 1 0 0 0
10 1 1 1 0 0 0
500 1 1 1 1 0
520 1 1 1 1 0

2500
2510
2530

I.,.

1 0

; 1_

0 1

. 8.5. ( )


,
.

0.
X,
. ,
1, DATA,

0 N_DATA.

125
10 , ,
SET A SET_B,
- SET. ,
CLEAR_A CLEAR_B,
CLEAR.
500 CLOCK
D - ,
N_DATA. 20
Q N_Q . .
, ,
10 500,
. ,
0
5 10.
CLOCK 500
520.
,
.
,
, ,

(). , ,
, , ,
, , ,
- .

.
, ,

.
,

.
( ,
) , ,
, .
70- , Calma, ComputerVision
Applicon ,

.
.
, ,
, . . ,
.
, ,
, , ,
.

,
,

.

,
.

1865 .

(
)
(
).
1866 .
/.

.
1869 .

(William Stenly
Jevans)
.
1872 .




.

126 8.



,



.

,
, ,
. .
,
() CAE (computer-aided engineering).
, . .
, , , ,

() CAD (computer-aided design).
, ,

, , ,
,
, . . ,
, , . .
. , -,
, ,
, . .
,
,
.
80-


,
(EDA electronic design automation). , ,
. , -, ,
...



70- 80- Daisy, Mentor Valid
,

.

, /,
,
.
,
.


.
, -,
, . .
, , -,
(. 8.6).
,
.
,

127

. 8.6.


. ,
, . .
,
, , :
, .

.


.
,

,

!).

2* ,
!) . ,

, .
,
, ,
,
.
2) ,
, 2- ,
. ,
,
( 0 1), ,
2 X.
0 1, , ,
, ,
.

1873 . .

(James
Clerk Maxwell)




.

128 8.
1874 . .

(Alexander Graham
Bell)
.
1875 . .

.


.
, -
.

.
ASIC .



1984


. ,
,

,
. ,

.
,

(),
.
,
(. 8.7).

1

&


(SDF)

. 8.7.

129


,

. ,
,

(. 8.8).

3-

0 0

0
0
0

0 1
1 0
1 1

1
1
0

1 0 0

1 0 1

1 1 0

1 1

. 8.8.

, , ,
,
, ,
,
. ,
, . 8.8,
, ,
.


,
().
( , ,
, )
,
.
,
,
3- ,
, , . ,
,
3- .
( 1 2).
, 4! ( = 4 x 3 x 2 x 1 = 24)

(. 8.9).

1875 . .

(James Clerk
Maxwell)
,


.

130 8.

1
*
1
0
|

1||1

11 11
| |

11
||

]
1*1

||

------------

||

||

||

] || ||
|] 151 (51

|1 [*] []
I 1

. 8.9.

. 8.9 12 24 (

). 12 ,
. ,
,
, - -,
. 8.9.
,
.


,
.
,
, ,
,
.

(. 8.10).

\
3


------------------------------------------------------------------------

. 8.10.

1 , 2
.

.

131
(. 8.10)

, . .
, .

, ,

: ,
, 2004 .
1 2
. , 1 3, 5 8, 2
4, 6, 7 8. ,
. ,
1 2

,
.
,
1 2 .

,
.
, ,
, ,
,
.

, ,
.
(fitter) ,
(place-androute), .
90- .

,
70.
,
, ,
.
,
.



( ),
. 8.7.
(STA static timing analysis)
,
,
, . . ,
, .
,

, . .
, . -

132 8.
1876 . .
10- .

(Alexander Graham
Bell)

.

1
|
|
I
|
j
I

- ( )
, , , (SDF standard delay format). , , (),
1 I .

|




. ,
,
1000 .
( ).
, ,
.

. ,
.
,
,
.
, ,
.

.
,
. ! . ,
| (. 8.11).

,
,
4- . ,
, -

133
.
,

(. 8.12).

. 8.12.


,
50- ,
:

.

.
-
, , , ,
.

, . . .

,
.
,
, :
.
.
, .
,
.
,


.
(. 8.13).

, (
) .
, ,
:

1876 .

.

134 8.
1877 .


.


.

.
,

, . . .
,
- .
.


(
)
\
-

-
D -

---

>

. 8.13.




,
, , .
, ,

, ,
.
,
(ASIC)
( ,
).

(
),

. ,
,
,
, .

,
,
(. 9 19). (
) ,
, ,
.

135

,
.

,

.
,
,

. , ,
, -
,
.

1877 . .
(Thomas
Watson)


.
1878 . .





.

----------------

I
j
!
!

j
I

I
I


80- . , , , , 5000 ,
.
,
.
,
HDL (Hardware Description
Language).

1 HDL-
!

I
I
I

I
I
I
!
1

I
I
I
I
!
I
I
I

, ,
, ,
. ,

, , , , , , . H DL ,
. . , . HDL
, .

HDL.
HDL, , .
HDL, .

|
1
I
S
!
I

HDL , .
, (HDL) . , .
! HDL
(. 9.1).

I
I

HDL- 137

. 9.1.

HDL
,
.
,
.
,
,
, ,
.
, ,
.
,
,
,
, . 9.1.
, HDL,
,
.

() . , ,
, Y, SELECT, DATA-A
DATA-B, 2:1
:
Y

(SE LEC T

&

D A T A -A )

(!SELECT

&

D A T A -B );

,
HDL
. , &
, |
, (. . 3).

(RTL register transfer level).
RTL .

138 9.
1847 1854 i t .

(George Boole)


,


,




.

.
1938
(Claude
Shannon)
,
,






.


,
.
. ,
, CLOCK CONTROL,
, REGA, REGB, REGC REGD.
RTL :

when CLOCK rises


i f CONTROL == " 1 "
then REGA = REGB & REGC;
else REGA = REGB I REGD;
end i f ;
end when;
when, rises, if, then, else
,
HDL. ,
HDL
.
,
HDL
,
, .
,
. :

Y = (DATA- + DATA-) * DATA-C;


(
. 9.1), ,
,
.
HDL

.
, ABEL, CUPL PALASM,

().
, ,
, (. . 3).
HDL,
,
, RTL
( ,
).
,
- HDL-
.

HDL-
HDL-

,
80- .
RTL-

- 139
. ,
, ,

, N .
.

- ,
,

.
,
, ,
(. 9.2).

. -,
,
, ,
,
, ,
. -,
- ,
.

,
,
, ,

.

.


, .

140 9.
,
,
,
.

,

.


- , -
.
.
90-
-,
(. 9.3).

. 9.3. - ()


,

, . 8.
,
,
.
,
, ,
, , . . ,
.

HDL- 141



,
. ,
. ,


, , .
1994
() .
,
, ,
.

,
. ,

,
.
15...20% ,
( )
.


,
.
,
80- ,
. ,
, ,
. , (
),
.

.
,
.
, (
) .
,
:
, ,
;
, ,
.
90-, ,
, .
,
.
, ,
, ,
.
,

1878 . .
(Sir
Joseph Wilson Swan)


.

142 9.
1878 . . I (

) .
(William Crook.es)
, 1996 ,



.
.
. 19. , ,

. ,
.
,
( ) .
( )

, ()
,
.
. ,
.
, ?
90- .

, . , 2000
,
- ,
,
(LUT/CLB-level netlist).
(
place-and-route)
,
() ,
.


,
(HDL),
:
. ,
,
, VI[) (
Visual Interface) EMACS,
.
, , , .
, ,

. ,
,
.

HDL- ,
. ,
HDL- ,
.

!) VI , .

HDL 143
,
-.
, , VI,
-

, .
,

, ,
-, ,
, -
. ,
-,

(. 9.4).

HDL

When clock rises


If (s == 0)
theny = ( a & b ) |c;
elsey = c & ( d Ae);

f
!

--C

. 9.4.


,
. -

,
.


.

1.

, .
, . ,
, - 70- ,

1878 . .

(Denis Redmond)




,
.

144 9.

HDL-

. ,
.
.
HDL, ?

( Verilog HDL
80- (Phil Moorby), I HILO, I HDL Verilog. 1985
Gateway Design Automation, ,
I
, Verilog-XL.
Verilog Verilog-XL I , PLI Verilog
I (Programming Language Interface).
I API (Application
I Programming Interface). API
,

. , API Verilog

.
,
,
, ,
(). ,
Verilog,
,
.

, 1000 ,
Verilog-.
PLI, .
VerilogonncaHHfl
! PLI,
( Verilog)
( ).
, , Verilog
Verilog-XL,
,
SDF- (Standart Delay Format ). , I ,
I , SDF-, I
I .
, Verilog
I ( ) (| ), I ( RTL) | ()

I
I

HDL 145
1879 . .

(Thomas Alva
Edison)

(
,
).

(, RTL)

Verilog

()

(
,
)

. 9.5. (Verilog)

1989 Cadence Design Systems


Gateway Design Automation Verilog,
Verilog-XL.
Verilog
. 1990
Cadence VerilogHDL, VerilogPLI
VerilogSDF .
,
,
Verilog, Cadence.

VHDL. Verilog
, ,
HDL,
,
Verilog.
,
, ,
. ,
Verilog
, .
, ,
,
,
,
, .
Verilog ,
LRM (Language Reference
Manual), .

,
, ,
.

146 9.
1879 . .

(William Crookes)
,




.

LRM
, -
. , , Verilog LRM
.

,
, ?
,
,
.
Verilog .
,
. 1991
Open Verilog International (OVI),
Verilog HDL Verilog PLI

.
Verilog
, OVI
(IEEE)
Verilog. 1993
IEEE 1364. 1995
IEEE Verilog,
: 1364-1995, : Verilog 95.
2001 ,
Verilog 2001 ( Verilog 21).
IEEE 1364
Verilog 2005, ,
, .

VHDL VITAL
1980

VHSIC (Very High Speed Integrated Circuit).

.
,
.

.
,

.
, 1981 ,
, VHSIC
HDL, VHDL. ,

. 1983 -, Intermetrics,
IBM Texas Instruments VHDL,
1985 .
, 1986
VHDL
(IEEE).
,

HDL 147
, 1987 VHDL
IEEE 1076.
1993 1999 .
VHDL
( RTL) ()
,
.
( ) ,
.

()

(, RTL)

I
I

(, )

VITAL

. 9.6. : \ferilog VHDL

, VHDL

. 1992

VHDL-
VITAL (VHDL Initiative toward ASIC Libraries). VITAL
VHDL

.
,
,
. ,
Verilog (. 9.6).


VHDL
,
Verilog
PLI.




, ,
ModelSim
foreign language
interface FLI
(
).
,
,
,
.

148 9.
1880 . .



,
.

:

,

.

(Edward Murphy)

1949 .


- , ,
: Verilog
VHDL.

.
. ,
.
,
,
. , ,
,

.
90- HDL,
Verilog VHDL
... , -
.

,
, ,
, , VHDL, Verilog.

UDL/I
, Verilog
. VHDL
.

, .
1990
(JEIDA)
HDL,
( UDL/I Unified design
languagefor integrated circuits).
,
,
. U DL/I
, (
). U DL/I ,
Verilog VHDL , U DL/I
.

Superlog SystemVerilog
1997 Co-Design Automation
.

Verilog on steroids,
Superlog.
Superlog , Verilog
. ,
, ,
API

HDL 149
, model
checking ( ). (VHDL
, Verilog
.)
Superlog , -,
, -, ,
Verilog 95 Verilog 2001.
.
, ,
, OVI
VHDL, VHDL
International, ,
Accellera. :
, ,
, .
2002 Accellera
, SystemVerilog 3.0. (
1.0 2.0.)
, Verilog,
- Superlog. , SystemVerilog 3.0
Superlog,
Co-Design Automation. ,
.
- , . SystemVerilog 3.0
Accellera,
.
2002 -Design Automation
Synopsys,
Superlog SystemVerilog, ,
Superlog .

SystemVerilog

. 2003 SystemVerilog
3.1, , 2004 , 3.1,

. ,
(IEEE)
Verilog 2005. Verilog
2005 SystemVerilog. Accellera 2004
SystemVerilog IEEE.

1880 . .

(Pierre Currie,
Jacques Currie)

.

Systeme
SystemC,
, .
SystemC
RTL (. . 11).
5... 10 ,
Verilog VHDL,
SystemC RTL .
SystemC ,
SystemC
- .
SystemC ,

SystemC


, RTL,


;

. 11.

150 9.
1881 . (Alan
Marquand)



.

Verilog VHDL,
-
SystemC. ,

Verilog VHDL .
SystemC ,
.
SystemC
, (RTL).
SystemC ,
SystemC, SystemVerilog VHDL
.



,
.
, , ,
.
, , RTL-,
- . ,
, RTL,
. RTL-
,
, ,
, . . ,
, .
,
.
, .
, , RTL-onepa ,
.


,
.
,
,
.


RTL- ,
. ,
if-then-else (--), ,
2:1.
, if-thenelse,
. , Y, , , ,
D SEL ( )
if-then-else (. 9.7).

151
==

elseif

SEL

==

elseif

SEL

==

SEL

if

then

01"

then

10"

then

else

1883 .
(William
Hammer)
(Thomas
Alva Edison)

.

D;

end if;
2:1

MUX

Puc. 9.7. if-then-else

,

(. 9.7).
if-then-else , ,
.
,
,
case ( ).
case 4:1,

(. 9.8).

4:1 MUX
case SEL of;

00

01

N 10

-< <
II
II

otherwise:

CD
II

10":

>-

01":

-----

<
II
>-

00":

>

11

end case;

SEL

. 9.8. case

!

, ,
. ,
if-then-else else,

.

152 9.
1884 . .
(Paul
Gottleib Nipkow)


,

.



.

.
, , , ,
, .

,
. , + 2
+ 1 ,
2 1 .
, 2

1 ( ),
3 ( 1) + .
,
. , 9
( 3) +
40%.


,
,
, .
, - .
,
, . .
.
, , ,
, . ,
, , . 9.9.
, >
, . . ,
, ; + ,
2:1,

.

, . 9.9,
,
,
.

,
:

><>=<=
, +
+ ,
.

153
if

>

1886 . (Lewis Carrol)



,



.

thenY = A + ;
end

elseY = A + C;
if;


( )

32
= 87.7

64
= 133.3 (+52%!)

. 9.9.

, -
. :
,
, ,
.

,

,
, .

. -
,
,

.
, -,
.

,
.

1 0




, ,
() (SVP silicon
virtual prototype) .

,
, .
(ASIC)
, .

,
.
,

,
, ,
.

, ,
,
. ,

.


.
, , ,
!

, ,
, , ,
,
,
. ,
,
, .



,

RTL

155
.
-
() ,
,
, , .
, ,
, .

, .
,
.

. ,
,
, ,
, . . .

.


, .

,
.
,


.

(. 10.1).

1
X V ........
1

^
0 " ' *?'' :

.
!
1
1

1

1
1
1
1
1
1
1
1

3X
5
6

2
5X

1
|

. 10.1. ,


, ,
. ,
, -. , -

1887 . . .

.

156 10.
1887 . .

(William Crookes)

.
1887 . .

(Heinrich Hertz)


,

.


,
|
,

I
I
I

j
I

I
1

1
I
I

.
; ,
RTL- , -
, , . . .
, , ,

, . , , , ,
.

I .
I ,

,
,
,
(gain-based synthesis), 2).

,

. ,
,
.
, ,
,
.
,

.

, . ,
, (gainbased synthesis),
.
, ,
(gain-based synthesis),
. ,
,
.

, I , Magma Design Automation


(www.magma-da.com).
2) 1999
: - (Logical
Effort:Designing Fast CMOS Ciecuits,
I (Ivan Sutherland), (Bob Sproull) (David Harris).

I .

157
,
,
.
, ,
? , ,
,
, (. 10.2).

1
1

.
~

>

.-.:;

.^.

&

>

................ ^

.........

............... -? ............

1
|

. 10.2. ,

, ,
, ,

,
.


,
.
-- , . ,

.


. ,
. . , --
, ,
, .

, . . ,
,
,

.
,
, , , ,

1888 . .


.

158 10.
1889 . .

(Almon Brown
Strowger)

.

, .
, ,

, . ,
,
, ,
,
.

RTL
,
:
, 10 ,
.

,
,
(. 10.3).

RTL
(
)

(
)

(
)


()

. 10.3. ,

,
, ,

(timing closure).
,
. .
--.
, . 10.3,
, ,
.
, ,
. , ,
,

.

159

,
,

,

.
,

.

,
,
, .

, ,
,

.

2).
,
.
, ,
, (LEF)
(DEF) ,
ASIC,
,
(RTL), . . 10.4.
LEF

"'

* N
. 10.4.

,
,
( : ,
).
,
.

- ,
( )
,

,
(
). , ,
.
2)
(RTL)
InTime Software (www.intimesw.corn).

LEF (logical
exchange format

)


.
DEF- (design
exchange format

)

,


,
.

160 10.
1890 . .


80-


(Herman Hollerith)


.

. RTL ,
.
,
.
RTL- ,

, .
,
, ,
.


.
,
, , ,
.
,
,
,
.

.
.
,
, 40-

.
, 2003 , 4.5
,
RTL 2.5
.
99 .
, :
RTL?
,
,
, 20%,
30%.
, ,

20...30%. - .
, RTL
,
RTL,
.
, , . ,
.
.


, , ,
, ,
, ,
.

161
,
, ,
,
, ,
. ,
-
,
. ,
,
.
,
,

, . .
, .
,
1*.

,
( , ,
, , , ).
,
,

,
, .

,
.
-
,
. .

, . . , ,
, , .

,
.




. -

.


, , , . ,
, >,

!) ,
Hier Design
(www, hierdesign.com).

1890- .
(John Venn)


(
)

.

,


,


.

162 10.
1892 . .



.

I -; 1 .

I .

, ,

; ,
.


, . . ,
, , ,
, .

,
. .


, , ,
.


, . ,

,
.
,

,
.
,
,

, , , ,
.
,
,

.

- .
(
),

. , !


, --,

, .
,
,
.

163
. -,

.
-,
,
,
. ,

.
,

, .
,

. ,


.
.
,
, . . .


,
,
(RTL).
RTL-
. ,
,

,
. , , .

1894 . .

(Heinrich Hertz)
,




.
1894 . .
(Guglielmo Marconi)

.

1 1

C/C++

HDL-





/


\TID L
\ferilog-


.


/ + + . ,
, (
),
. 12.

, HDL-, . 9,
,
.
,

(. . 13).

, ,
,
, . ,
,

,
,

, .

(RTL) VHDL Verilog.
RTL-
,

(. 11.1).

(FPGA)'

RTL

/1
(/
)

RTL,
( ,
,
)

RTL

. 11.1. HDL- ()

165
95%

VHDL Verilog.
:
RTL
VHDL Verilog
,
.
RTL
,
/?7-,
.


RTL,

. ,
,
.


,
RTL
.

, ,
,
.
RTL
RTL,
( 7, 9 18).
,
, RTL-,
. , , ,
.
, ,
RTL,
.
,
,
RTL-, ,
,
. ,
, ,
,

. , , RTL
,
.
RTL
, . , ,
, -

1
|
j

1
|
1
|
1

166 11. C/C++


1895 . .





.





,

.

ASIC,

,
, ASIC. , ,
ASIC
, , ,
, RTL,
FPGA.
RTL -
,
, ,
. , . .
,

. ,

, ,
,
, ,
, ,
.
- ()
, VHDL Verilog,
, C /C + + .


, ,
VHDL Verilog.
- C /C ++, , ,
,
, , SystemC, C /C ++ ^
() C /C + + .

, C++
,
, . -,
, ,
,
- C + + .
,
C /C ++.
-, ,
, C /C ++, . ,
, ,
, , .

= ;
b = 2;
= 9;

/* C/C++
/* C/C++
/* C/C++

*/
*/
*/

, , .
. ,
,

= ;
b = ;

/* C/C++
/* C/C++

*/
*/

SystemC 167
, 6,
,
, . . 2.; , 2,
,
, . . 2. ,
b .

.
-.
,
, . ,
6
2 HDL- :

= ;
b = ;

/* VHDL Verilog */
/* VHDL Verilog */

,
VHDL Verilog:
.
,
. , ,
6, ,
, . . 2,
, 2,
, , . . 6.
b
.
,
. , HDL-
.
, ,
. ,
RTL
;
RTL ,
. ,
, C /C + +
.

Systeme
SystemC
,
, SystemC,
, ,
,
.
SystemC
OSCI (Open SystemC Initiative),
,
SystemC
, .
CF*

SystemC
www.systme.org.

1895 . .

(Wilhelm
Kohnrad Roentgen)

.

168 11. C/C++


1895 . .

SystemC 1.0
SystemC ,
,
.
Linux,
.
,
, Linux
(), ,
Microsoft.

SystemC - 2000 .
- ,
,
(,
), /.
,
, .
SystemC
. ,

. ,
,
SystemC,
5... 10 ,
VHDL Verilog1*.

RTL- . ,
,
,
SystemC.

SystemC 2.0
2002 SystemC 2.0.

, ,
FIFO. ,

, .
2.0 ,
,
(
).
,
SystemC 1.0
. , f(x) g(x),
(. 11.2).
, . 11.2
, . .

;
, , SystemC,
, HDL-.

SystemC 169

,

/++

. 11.2. SystemC 1.0

, . ,
, ,

, .

.
2.0,
(. 11.3).
,

/++

. 11.3. SystemC 2.0


,
, ,
.

.

,
FIFO.
, , ,
, , ,
,

1897 . .

(Guglielmo Marconi)

170 11. /++


1897 . .
.




22
.

.

,
.


,
, . , ,

.
81 (. 11.4).

. 11.4. Systeme
- ,
SystemC -. , ,
VHDL/Verilog,
.
,
,
,
.

, , ,
, .
.


Systeme
,
. ,
.

/ + + ,
.

SystemC 171
,
, .
HDL- ,
. 9, / + +
RTL- VHDL/Verilog.
/ + + ,
RTL
RTL-.
,
.
SystemC

/ + +
, , ,
. . ,
.
,
,
SystemC,

.
SystemC
.
,
, ,
/ + + , RTL
SystemC.
.
SystemC
.
SystemC RTL VHDL/Verilog
RTL-.
,
SystemC ,
.
, / + + RTL
VHDL/Verilog. , RTL
,
,
. ,
VHDL/Verilog
SystemC. .
,
(. 11.5).
SystemC
,

, : ,
, .
,
,
.
. 11.5
SystemC
.

1901 .
(Hubert Booth)
.

172 11. C/C++


1901 . .

.

. 11.5. SystemC

,
, - VHDL, Verilog
C /C + + ,
.
SystemC
,
(ASIC), .
SystemC ,
,

, ,
, .
, ,

,

, , ,
.


.


, ,
: 851.
, 51 2.0
.
5811,
. , 81
,

.
,
,
,
- ++. ,
,

C/C++ 173
SystemC, , ,
, , , , ,
.
, SystemC

(
),
.
, , ,
SystemC ,
.
.
SystemC ? , .

C/C++
C/C++
C /C ++
.
C /C + + ,

().
, ,
,
1*.
,
, C /C + + ,
.
,
,
.
C /C + +
.
,

C /C ++ .
,
, ,
,
,
.
,
#ifdef. ,

. , .


C /C ++ ,

!) C /C ++
-In Design Automation (www.0in.com).
Future Design Automation
(www.future-da.com),
RTL-.

1902 . .

(Millar Hutchinson)


.

174 11. C/C++


1902 .

(Robert Bosch)

.

, , , , (
) ^.
, ,
C /C ++. ,
,
,
/.

. C /C + +
,

,
.
, , ,
C /C + + , :

= ;
= 2;
= 9;
= + ;

/*
/*
/*
/*

C/C++
C/C++
C/C++
C/C++

*/
*/
*/
*/

=
. ,
, ,

: 6,
b 2,
9 . ,
,
.
,
,
,
.
.
,
. C /C + +
parallel, (),
sequential, seq (),

. :

parallel;
= 6;
b = 2;
-

9;

sequential ;
d = + b;

/*
/*
/*
/*
/*
/*

C/C++

C/C++
C/C++
C/C++
C/C++

C/C++

*/
*/
*/
*/
*/
*/

/ ++
1 (www.celoxica.com),
,
11-.

C/C++ 175
parallel
,
, sequential ,
. ,
.

,
. - 1 10
1 , ZZZZ,

.
, , ,
.
,
share, ,
channel,
, .
(^ = >

,
,
, ,
.
#ifdef,
. ,
- ,
.
,

.

C/C++
,
.
, ,

C + + .
C /C + +
, ,
-, ,
, ,
. ,
C /C + + .
,

C /C + + , .
, ,
.
, C /C + + , Vferilog
VHDL
RTL .

C /C + + .
: ,
C /C + +
. ,

1902 . ,

,

.

176 11. C/C++


1902 .
-
()

.
1904 .
(John Ambrose
Fleming)

.
1904 .

Verilog/VHDL
,
RTL-
.
,
(. 11.6).
C /C + +
(AS 1C).
,
-,
, , .

, , ,
,
.

. 11.6. ,
/++

. 11.6
(ASIC),
.
,
, , ,

.

C/C++
,
1* C /C ++.
, ,
C /C ++,
, SystemC.
, .
1)
, ,
C /C ++
Precision Synthesis Mentor (www.mentor.com).
SPARK -to- VHDL synthesis

(www.cecs.uci.edu/~spark).

/++ 177
^
/ + +
, , ,
-
^/ :
/ ++ :
/ + +
/
,
581 / + + , -
, ,
.
/++ :
,
/ + + , ,
,
81 / + + , 100... 10000
, -.
, / + +

.

:
, / + + ,
,
.
.
,
-.
:

,
,
/ + + ,
,

.
,
, 581
/ + + , ,
.
.
, , . .
, / + + ,
, ,
,
. , / ++-,
,
. ,
,
/ + + , ,
,

178 11. /++


;
, ,
.
,
, ,

(. 11.7).

C/C++


- > C/C++

/ ...... ...... .......... \


VHDL/Verilog
RTL

F
(ASIC)

RTL

\
,

/
VHDL/Verilog
RTL

'

>

(/
)

. 11.7.
/ + +

,
.
,

,
.
,
. ,
;
, ,
( )
; ,
.
,
.

/
/,
, . . /
.
,
. ,
,
-.
, , . . ,
/ + + , ,
-
,

179

.
,
Go ()
RTL VHDL .

,
( ).

/ ++- (
. 11.7). RTL-
,
,
C /C + + RTL.
RTL
,
,
.

, .
, RTL- ,

. 11.7.
RTL-,
,
.


,
C /C + + ,
, . ,
SystemC ,
,
. ,
C /C + + C /C + + ,
SystemC, , .
,
, SystemC
C /C + + , . . ,
. , ;
,

(. 11.8).

C /C + + .
C /C + +
, .
,

.
C /C + +

C /C + + .

1904 .

.
1904 .

.

180 11. C/C++




(! )
(
)

>s
S .




(Timed )
(
)


(RTL)
(
)

-+
4*-.

>s

go

|
>

3z
X
+

S<
1

. 11.8. C /C ++



, ,

,
, .

Verilog C /C + +
(PLI Programming Language
Interface) VHDL
(FLI Foreign Language Interface).
, SystemC
, Verilog
VHDL.
,

,
:
VHDL;
Verilog;
SystemVerilog;
SystemC;
Handel-C;
C /C ++.

HDL, ,
HDL C /C + + ( ).

C /C + + , ,
.
,
VHDL, Verilog SystemVerilog,

181
.

C /C + + . ,

, C /C ++;
, ;
, ,
,
,
1*.
,
,
()
.
SystemC ,

. SystemC,
,
.
SystemC
. SystemCSystemVerilog, SystemC,
SystemVerilog
.

C /C + +
. , ,
,
, C /C + + RTL.
, ,
C /C + + VHDL/Verilog,
RTL.
,
C /C + +
RTL .
, - ,
, .



Aldec Inc. (www.aldec.com).
ModelSim Mentor,
SystemC,
, VHDL,
Verilog SystemC.

,



, . .


,



-

,
SystemC

-.

1 2




, ,
,
.
, , , ,
- (, )
, ,
, .

, , .

- (), . 12.1.
[ .11. .1
1 ' 11 1 I1

, . .
^

--------------------------------,

11

. 12.1.

.

- ().

, , ) -,
, ,
, ...
. ,
, 2003
10 !


,
, ,

:
()
() (),

183

.
, (DSP Digital Signal
processor) , ,

,
.

,

,
. ,


.

,
,
.
,

.

.


, . .
, (DSP), ,



.

,
,
MATLAB0 The
MathWorks (www.mathworks.com)2).

MATLAB. ,
.
, , Simulink The MathWorks,
, , Signal
Processing Worksystem (SPW) CoWare3) (www.coware.com), a
Elanix (www.elanix.com).
MATLAB Simulink
The MathWorks Inc.
2) , MATLAB Simulink
, ,
.
3) . ,
SPW , ,
Cadence, ,
Coware!

184 12.
1906 . .

,

.


,
| I (). I& , . 12.2.

. 12.2.

, -
!
.

I
|

I
I

I
I

I
I
|
|
|
I

I
*

|
|
|
!
|
|

,
MATLAB.
C /C + +
.

C /C + + . MATLAB
C /C + + . , , .
. , / + + ,

. 80:20,
, 80% 20% .


C /C + + ,
, , .
,

.

, (Turing machines). , , :

185
,
,
.
, , ,
,
.



.
.
, ,
,
, .

.
,
= ( * ) + ( * ) + ( * ) + ( 6 * ).

)- .
, . ,
- ,
.
,
, ,
() .
,
, ( 16
, 32 ).

, ,
,
,
. , ,
, ,
(. 12.3).

,
, ,
.
, (

) ,
(. 12.4).

2:1 ,
, .
,
, , ,
.
, :
( * ) ( * ), ,
,
0, .

1937 .
,





.


,

,

186 12.

. 12.3.

2:1

. 12.4.

( * ) ( * ),
,
,
, .

187

(. 12.5).

. .

4:1

> V

. 12.5.

,
.
, ( * ),
,
0,
. ( * ),
.
. ,
,
,

.


. 4, , ,
, ,

.
,
.
,
.

.
, .
,
, .

(1-!-11), ,
(. 12.6).

1906 .

188 12.
1907 . .
(Lee de
Forest)


().

MAC

. 12.6.

,
, . 12.5,
.
,
,
,

. ,
,

.


, .
, . ,
, ,
.

. ,
, ,
, .



. ,
, ,

.
,
. 8, -,
1 (. 9).

189
, . 11,
,
.
,
-

,
, ,
C /C + + SystemC.
MATLAB,

,
(),
0

f f (

) ;

MATLAB ,
. ,
-, MATLAB- -2),
. . , MATLAB.
-,
The MathWorks.
, ,
, ,
, , ,
.
,
.
, . . ,

,
.
,

. , ,
() ,
.
,
, , ,
, .

, (. . 13).

.

!) .
.
2) - ,
. , - -.
( ) - ,
.
,
, .





,
,


.

190 12.

1962
(),


,


.


,
.
Simulink The
MathWorks. , Simulink
MATLAB.
Simulink
, MATLAB.
Simulink
,

.
,
Simulink.
, , .
,

. ,
MATLAB, -, C /C + + , FORTRAN...
.


Simulink. MATLAB,
Simulink
,
,
.
,
,
Simulink.
,
.
MATLAB ,
Simulink, . - ,
, . .

. , , .
. ,
, ,
, .


, , Simulink
MATLAB, ,
,
.
1.235103 (
, 10 ).
, MATLAB,
IEEE
.

191

,
.



.

, . .
.
.

,

,

, .
,
.
, :
14, 15 16 ?.


.


,
C /C + + .
MATLAB

, .
Simulink

.

/ RTL.

, , ,
,
MATLAB
,
.
,
C /C + +
.
RTL
, VHDL \ferilog
(. 12.7, ).
(
)
VHDL Vferilog (. 12.7, ).
, ,

- (-

1907 .
(Lee de Forest)


.

192 12.
1908 .

(Charles Fredrick
Cross)
.
1909 .


.

()
(
)

()
( )

|
)
I

JL


Verilog/VHDL RTL (
)

RTL

. 12.7. RTL-

) -
VHDL Verilog.
()
(RTL) ,

, . RTL-
,

, .
RTL-
, .
,
:
,
, ,
. .
,
,
()
, RTL-
.
RTL-
,
. 9.

/ RTL.

,
() RTL
.
,

193
1909 .
(Leo Baekeland)



.

()
VHDL Verilog (. 12.8).
, ()

. ,
()
,
RTL
VHDL Verilog0 (. 12.8, ).


RTL

. 12.8. RTL

, RTL VHDL
Verilog (. 12.8, )2).
, RTL-

, . 9.

Elanix Inc. (www.elanix.com).
2)
AccellChip Inc. (www.accelchop.com).
- MATLAB,
,
RTL-.

I
|
1
I
1
I

194 12.

I /
/++

,
(RTL), .
()
/ + + ,
RTL.
, ,
,
/ + + , . . , ,
,
, RTL.
, ,

(. 12.9).

C/C++
Handel-C
Handel-C ,
Systeme Systeme , ...

. 12.9.

, . 12.9
. ,
C /C + +
Handel-C SystemC
.
, ,
C /C + + ,
C /C ++ ,
. 11.
, , C /C + + , Precision Mentor.

195

.
:
) MATLAB
/ + + , .
, ,
,
.
)
, - (
).
,
.
) MATLAB / + + RTL
,
.
.
)

MATLAB/Simulink,
- ( IP)
.


,
.
,
()
RTL VHDL Verflog.
,
, (
) .
, RTL-

.
, ,
, , , .
, ,

(IP).
,
;
.
() .
, ,
() ,
(
) ().
, --,
0.
() ,

Simulink System Generator Xilinx (www.xilinx.com).

196 12.
1909 .



.

,
.
\ferilog.
/,
.
, ,
,
. ,
,
, . ,
- ,
, ,

,
.

!


. , ,
()
RTL.
.
,
.
, ,
()
/ + + ,

. / + +
/ + +
.
/ + + (
) RTL
, ... ... 0.
,
2) (
- , (
!) .

:
VHDL/Verilog
, ,
,
,
,
!) , ,
!
2) / ++ RTL,
RTL / ++, , ,
, , . .
.

: VHDL/Verilog 197
. ,
,
,
:
VHDL;
\ferilog;
SystemVerilog;
SystemC;
Handel-C;
C /C ++.

HDL, ,
HDL
C /C ++.
C /C + + ,
, .
,
() .
,
. , , (
) , . . MATLAB,
,
VHDL Verilog . ,
, VHDL Verilog RTL,
,
() .

, VHDL/Verilog.
, . , ,
,
, . ,
,

.
,
.
,
-
, . . .
,
,
. , ,
,
: !
, ?

1909 .
(SOS)
1900

.
1910 ..


-

.

,
.

()
0 .
() ().


.
,
(. 13.1).

. 13.1.

, . 13.1,
.

, ,
, .

,
. 13.1, .
,
, .
,
, . 13.1, .
,

.

199
,


. , ,
, . . ,
.

0
(. 13.2).

.... -----------

- 1
1
|

. 13.2.

,
, .

.

. -,
, , . .
,
( ).
-,
,

, , .
QgF

,
. , Altera
Quicklogic ARM (
,
www.arm.com ). Xilinx
CoreConnect IBM. CoreConnect
. 64-
PLB (processor local bus
).
32- (on-chip peripheral busses
).


ASIC, !

1910 .


.

200 13.
1910 . .

(George Claude)

.

f
I
I
|
|
|
|
|
I
|
|

|
|
|


, , . . -,
, , .

. , Altera ARM , QuickLogic MIPS-,
Xilinx PowerPC.
, ,
. , , ,
,
.
. 4,
.
-
(. 13.3).

,

().

, ,

/
. 13.3.

,

, ,
, .
,
, ,
/ ,
1).
!) , Altera (www.altera.com)
QuickLogic (www.quicklogic.com).

201
- *
.
,
(. 13.4).

. 13.4.


. ,
, ,

.
,

0.



,
.
,
(soft)
(firm)
. ,
RTL,
,
.
()
, .
, ,
, ,
,

(www.xilinx.com),

.

202 13.

Nios

SPARC,

,
MicroBlaze

RISC-
.

.
.
,
, , .
,
,
,
.
,

. , Altera Nios, a Xilinx
MicroBlaze. Nios 16- 32-
, 16- 32 .
16- . , MicroBlaze
32- , . . 32-
32- . ,
,

. , ,
, .
: (IDE
integrated development environment) Xilinx
PowerPC MicroBlaze.
,
CoreConnect,
.
.
, Xilinx
8- , PicoBlaze,
() 150
. MicroBlaze 1000
. 0 32-
, - ,
70000 * .
LisaTek
CoWare Inc. (www.coware.com).

(, , ). LisaTek
RTL-
,
, ,
.
QuickLogic 9-
, Q90Clxx (9-

).

!) ,
4- , ,
.
2) 70000 , ,
, , ,
.

203



. 4,
(
, ) (
)0.

, , :


.
.
, . ,
,
.

,
.

; ,
.
,
(
), ,
.
,
.
, ,
,
,
( -
).

,

.
() , ,
851.
, ,
,
.
,
,

.
, ,
,
.

!) , ,
, ,
, , ,
- , , ,
.

204 13.
I
I
1
|
|
I
|
|
|
|
|
|
|





,

.

|
|
I
I
|
|
|
|
|

I
I
1

|
|
!

.
,
. , .
,
, ,
( ).
, . ,
:


(HAL hardware abstraction layer);
;
( );
;
.
C /C + +
, .
,
.
RTL- , VHDL
Verilog, SystemVerilog.
, . ,
, .

|
, 1
,
| .
1
1 RTL-, ,
, ,
I .
I , ,
,
1 .
I I
1 RTL-, .

I C /C + + ,
I ( ) .
I

I
I

205
. , ,
,
,
, ,
. ,
, ,
,
,
.
,
, , ,
, .
-, -, ,
,
. - , ,
, ,
, .
:
-: ,
.
: ?
,
?
-: 9:30,
.

. ,
,
,

. ,

(, ,
),
. ,
,
.


,
,
. ,
( )
,
. ,
, ,
(. 13.5).
() ,
,
,
/ .
/ + +
.

1911 .
-
(Heike Kamerlingh
Onnes)

.
1912 . .
(Dr.
Sidney Russell)

.
1912 .




.

206 13.
1912 .




.

. 13.5.

,
,
(. 13.6).



(
)

(/++ )

(1)

. 13.6.


, ,
,
.

207
,

( . 16).
,
. ,

} ,
. 5 (. 13.7).

. 13.7.

,
.

,
. .1
,
,
, .

,

.

, 1 5511 - .

(. 13.8).
,
, (
) -

.

1913 . (William
D. Coolidge)




.



.

208 13.
1914 . .
,
. ,

.

I,
RTL

VHDLyVerilog

RTL

RTL

RTL

"

C/C++

C/C++, Systeme

RTL

::: z
---

---!

RTL

1I I LL1

::;

Psy

ISS

. 13.8.

. 13.8
.
,
. ,
- ,
.

|
|
|
|
|
|
1
I

1
|
|
|
1

-: 01

, -
,
.
,

. ,
. , , 10...20 .
, . .:
. , .
, , ,
, ,
, . , ,

. - .

/++, Systeme . .
RTL-
/ + + . (
SystemC
, ,
.)

-

209
(PLI Programming Language Interface), Verilog, (FL1 Foreign
language interface) , VHDL-.
:
, RTL-;
, , ,
; ,
, , (
, ).
, C /C + +
100%
,
. , :
,
, . .
. ,

.
- Logic Modeling Corporation (LMC),
Synopsys,

,
SWIFT. , ,
, SWIFT- .


. ,
PowerPC Xilinx
PowerPC.
,
.
,

.
,
.
,
,
. ,
1*. ,

.


,
. ,

|}
, ,
Simpod Inc. (www.simpod.coni).

1914 .

-.

210 13.
1914 .

.
I

I
I

,
. C /C + + ,
, , ,
.

. ,

.

.

. , ,
(),
.
C /C + + ,
, C /C + +
, .
,
. ,
, ,
: , , .
. 13.9.


-d

C/C++(debug )
.

*.

,
.

,



()

()

. 13.9.

-,
C /C + + . ,
-d (debug ),

.

211
,
.
,
,
,
, ,
( ,
).


. ,
, .
, ,
(BIM bus interface model),
.


.
.
,
. ,
, /
, /.
,
.
, - ,
,
, ,
,
, , ,
.
,
.
, ,
1*.
.
,
, . ,
,
,
.


( ),
.
, .
1. (www.altium.com),

, ,
.

5) , Seamless Mentor (www.mentor.com),


Incisive Cadence (www.cadence.com)
Axis Systems (www.axissystems.com).

1914 .


.

212 13.
1915 .



.

. , ,

7995
1*. ,
,
, , ,
. ,
, 1
, 20 2*.
Nexar ,
.
:
Xilinx, Altera. Nexar
,
8-
, 8051, Z80, PIC- (
16- 32-
(DSP)-Hflep).
1500 ,
, ,
( ).

, ,
, ,
. Nexar
, .
,

.
.
Nexar.
C /C + + ,
,
.
, Nexar.
,
,
. ,
,
, ,
.
Nexar ,
, ,
, .
?
. ,
, . .
, -
, , , .
, , Nexar
- .

'* 2003 .
2)
,
2003 .

1 4


,
,

,
(), . . 14.1.

. 14.1.
, ,
,
,
, .

, ,

(. . 5). , ,
, /
(. 14.2).
:
,
, . 14.1.
,
,

214 14.
1917 .
(Clarence
Birdseye)

.
/

. 14.2. ,

.
.
, 80-,
,
. ,
, - .
- ,

, .
,

.
,
, .


:
,
.
,
.
, ,
,
. ,
,
,
.
- 2002,
,

(. 14.3).

.
, -

215

= /

1917 .
(Frank Conrad)

,

KDKA
(

).

. 14.3. ,

,
- : , , ,
?
, ,
. , ,
- - - , (
). , ,

.



.

,
.
-,

.
, ( )
.
.
-
,
.
,


. ,
,
/ ,
.

216 14.
1918 .



.




RTL - ,

. ,
.
, ,
, . ,
,
,
.

,
.
.


, ,
,
, ,
, ,
. , -
, , 75% , 25%
. ,
, ,
.
,
--,
. ,
,
--, . .
,
.
, ,
,

, , -, ,
.

, ,

(. 14.4).
,
,
, . ,
,
. , ,
.

217

1919 .





.
1919 .

.

. 14.4.


10 (
) . ,
,

,
, .

,
1*.
, 10- ,
,

, , ,
. , ,
,
, ,
. , , .


, , Hier
Design (www.hierdesign.com).

1 5

,
/,
: . 21.

90- .,



;




(?,


.

, - 1990 ,
,
. ,

.
, .
200 ,
.
( )]\
1/10 (2.5 ),
. ,
,
,
. ,
.

, , ,
.

, ,

(. 15.1).
,
, ,
, ,
.

, , , ,
,
.
,
.

!) PGA ,
.
.
.

219

. 15.1.

,
,
.
,
, -

,
. ,
.

.

, ,
, .
, ,

.
.
.
() , .
, ,

, ,
.
,
. ,
.


,
, ,
90- .
,
.
, ,
, 1700
, BGA (Ball Grid Array)])
1 . ,

1919 .

(
).

220 15.
1919 .
(Walter
Schottky)

, ,
,
,
.
,

,
.
, ,
.
,
(. 15.2).

. 15.2.



.
,
.
,

.
, . ,
() ,

/ .

.
,

1 ,
.

.
.
,
.

FPGAXchange 221

1*.

.
1000 ,
.
/
/.

,
,
.

. ,

,
,
.

FPGA Xchange


.
ASCII- FPGAXchange,
Mentor - (FPGA), Altera, Xilinx .

, ,
, ,
.
.
,
, FPGAXchange ,

. .

.
FPGAXchange ,
,
.
.




,
. ,
. , -

!)
BoardLink Mentor
(www.mentor.com).

222 15.
1921 .
(Albert Hull)

(
).

I
!
I
I
I
I

0 1 .
, , , ..

. ,


.
.



II

.
1 .
1 ,
1 .
1 ,
I

I SPICE IBIS

I
I
I
I
I

I
I


SPICE1*,
. 90- Intel IBIS (Input/output buffer
information specification /), ,
.
Intel
SPICE-,
--
,
.
IBIS .
, 500 1 .
!) SPICE
(simulation
program
with integrated
circuit emphasis)

.
,

SPICE.

,


,

, 70-.

223
. ,
.
2002 IBIS-
, BIRD75 (
BIRD buffer information resolution document,
).
.
IBIS
,
SPICE, VHDL-AMS, Verilog-A .



-
, .

,
.
.



/ ,
()
.

,
.
,
,
, , ,
.


( , 1
, ).

(DCI digitally controlled
impedance).


.

,
,
.
, :
500

,
.

224 15.
1921 . .
(John
Augustus Larson)

.


,
, ,
. , 8-
8- , ,
, 8 .
,
,
,
(universal asynchronous receiver transmitter UART).
8- ,
, 8-

. ,
,
, 8- ,
. ,
2 (TXD)
(RXD).

,
. 8
,
.

.
: 16- , 32-, 64- .
:
, , .


, ,
.
,
,
,
. 21.

1 6




,
,
, ,
.
, (. 16.1).

, .
, , ,

. , . 16.1,
.
,
,
. ,
.
,
, ,
, .

,
(. 16.2).

.
, -
, , ,
,
, -
.

226 16.
1921 .

(Karal
Capek)


.
1921 .



.




(. 16.3).

RA0
RA1
RA2
RA3

>
RB0

-< 0

OutO

RB1

Out1

RB2

Out2

RB3

0ut3

RC0

>

RC1

RC2
\

RC3

. 16.3.
|
!
!
I

I
I

, . , .
, , .

227

.
,
,
. ,
(),
,
,
.
, ,
,
,
, , .


,
. ,
Actel ,
PRA (Probe ) PRB (Probe ).

1*

.
,
.
,

.


,

,
,
.

(OCI On-chip instrumentation),
,

, ,
.

,
.
,

JTAG- (. 16.4).

, -

Actionprobe.
Silicon Explorer.
Silicon Explorer!!.

1922 .


( 100$ 10
).
1923 .

.

228 16.
1923 .

(


)

1923 .


-.

I
;

(


)

. 16.4.


.

, ,
.
,

- .

.
Chipscope Xilinx (www.xilinx.com)
SignalTap II Altra (www.altera.com). ,
,
, ,
First Silicon Solutions Inc. (www.fs2.com), |
- .
,
, ,
First Silicon Solutions
(CLAM configurable logic analyzer module).

, Verilog VHDL,
.
( , )
,
, .

| VirtuaIWires
90- Virtual Machine Works
I VirtualWire. ! ,

VirtualWires 229
, 11\\1
.
, ,
,
.
, .

1\1 ,
,

. ,

,
. ,
(. 16.5).

1
1
1
1
>
1
1
.-11-------1
!

1
1
1
1

1
j D
1
1
________ 1_________

-----F

. 16.5. ,

. 16.5 ,
.
.
,

,
. ,
1\
(. 16.6).
, ,

,
.

1925 . .
,

(Vannevar
Bush)

,
Product
Intergraph.
1925 .




/
.

230 16.
1926 . .
(Dr. Julius
Edgar Lilienfeld)
-
,




---
.


()
5,6.7, 8

. 16.6.


, ,
,
, 2
, ,
. , ,

(. 16.7).
()

( + 1)

, 1|11\\1,
:
,
.
,
.
,
(. 16.8).
. 16.8
,
. ,

VirtualWires 231
()

1926 . .

.

( + 1)

^^ .
. 16.8.

, /
, .
, . 16.8 :
^

, .

,

.
.
,

.
, , ,
.
,
. ,
,

.
, ,
, ,
, .
, .
1\ ,
,
,
'^,
, .

1926 .




.
1926 .
(John
Logie Baird)



.
1927 .


().

1 7

, ,

. ,
, -

.
,

.
,
, (IP). :
,

. .



-. ,
IP
RTL-. ,

(. 17.1). ,
,
.

RTL-



(
RTL-).
RTL- (. 17.1, ).
IP IP
, .
, ,
, . ,

RTL, , -
. ,
, , , -,
, , -,
.

233

. 17.1.

RTL- -
,
,
, , .
IP , .

, .
,

,
, .

RTL-
,
RTL-,
.
, Altera Xilinx,
. ,
(
,
OEM- ).


, -

/ ,
(. 17.1, ).
EDIF-
(electronic data
interchange format )
.

234 17.
B IP
(cycle-accurate) C /C + +
,
, , 1 / .
,
I
,
, I .

I -
I . , IP .

I
I
I

I
- I
/ ,
(. 17.1, ). ,
EDIF-
.
,
. I . I , , I , I ,
I ,
.
IP, ,

/,
, .
, IP
C /C + +
, ,
, ,
/ .

IP
( ,
IP )
,
. ,
,
, ,
.
( )
.
,
, ,
. ,
,

235
.
.

1 .
- (
, )
, ,
,
.
/ + + (. 17.2).

. 17.2. IP


.

,
, IP
.

(
RTL ).
-
, RTL-
. ,
RTL-
( 12).




(IDE Integrated Development Environment).
IP,
, . ,

, ,
Ethernet, / .
,
, . ,
.

1927 .





.

1 8





(. 18.1).

. 18.1.

1
,
.
, ,
.

I
1
I

I
1

I
1

I
I

1
1
I

1
I

, . , , .

1:1, . .

.
. ,

.
-
, ,
.

237


(ASIC)

. ,

,
.
( ) ,
!),
. ,
(
,
).
, FIFO
, - ,
, .
,
,
.
RTL-
, , ,
, -. ,
RTL-,
RTL-
.
, , .
. 7, ,
,
( )
,
. RTL- ,

-.
RTL-,
-,
ASIC. , ,
,

.
,
C /C + + , . 11.
, ,
RTL- (
),
() C /C + +
() (. 18.2).
,

.

!) ,
, Certify Synplicity (www.synplicity.com).

238 18.

. 18.2. C/C++

, , , .
,
ASIC. ,
C /C + +
.
,

() (
). ,
( 10). ,

,
.
,
0437491 ( 1), , ,
,
, ,
ASIC, . ,
, , ,
, ,

.
^f=>

,
Synopsys (www.synopsys.com) - Design Compiler FPGA (DC FPGA),

Design Compiler (DC ASIC). ,
,
Adaptive Optimization Technology.
, DC ASIC DC FPGA
RTL-
.
,
. ,
,
, RTL. DC FPGA
DC ASIC

.

239


,
, .
,

.
, ASIC,
, ,
, (
). ,
,

, ,
(
,
, ).
, RTL-,
, , , ,
,
(. . 7).
, ,
(. . 7).
. ,
if-then-else,
else,
(. . 9).
, ,

, ,

. , ,
, ,
(. . 7). ,
,

ASIC, ,
-, 1*.
,
( FIFO ),
, RTL- .

RTL- ( )
.
, ,
, ,
, ,
.

,

!) ,
, Amplify Synplicity
(www.synplicity.com).

1927 .

(Harold Stephen
Black)


,




Hi-Fi .

240 18.
1927 . .

(Philo Farnsworth)


.


.
(. . 19).
, , ,
,
(, 130 ),
(,
250 ). ,

. , , , ,
,
.

1 9

,
,

, , -
.
1

, :
, ;
/H D L ;
;
;
.




, , .

(event-driven) .

. ,
. 19.1. ,
, BUF ;
BUF. ,
.
BUF

1
2
1

. 19.1.

!) , .

242 19. , ,
,
5 , 10 ,
15 (. 19.2).

\1
2
1

15

. 19.2.


, , ,
. 1
/ |,
, :
.

, : 15
?2 1 0 1.
,
- ^ ,
, ,
. ,
/2, . . ,
0 1, ?1.
,
>.
, g2,
, #5.
(#3) 5 ,
, . .
)2, 3 ( 5 )
( 1 0). ,
(^2) 10 ,
( 0
1) 1 /4 ( 10 ).
, ,
1.
,

243
,
, .
,
,
,
.
,
, , .


. 8,
( 60- 70-)
. ,
, , , , , , -,
.

,
.


. (
) .

,
.
,
,
() (. 19.3).

CWCUfrtE*t

-.
. CLOCK.
.8:

4,0:

. .

.0,

6 4
GATE Q & N Q t

wa-5tt,8.
OUTJ-SSIt
(M 1 4 M U .

-;

QATC G 4 4V T <MfSET,
#C"W .O MA.
.w w a o c * . M t- c u w t .
OUTI-Q. DUTIWt.Q),
0 -:




1-:
$
6
D I
t

T II C *
0
S00

1500

2500

t
*
f

1 10
I * *
1
10 0

10

0
0

0
0

;
;
;
;
;
;

S tu p
fU s fa fl
a f it n Q *
S a t
4 0
C t o r *

()

. 19.3.

1928 .
(John Logie Baird)




.
1928 .



.

244 19. , ,
1929 .
(Joseph
Schick)

.

. ,

.


.

,
,
(RTL register transfer level).
GHDL (GenRad Hardware Description Language
GenRad),
System HILO.

, , GWDL (GenRad Waveform Description
Language GenRad).
, ,
, ,
:
, ,
.
- . ,
GWDL ,
, = 0,
, Y = = 1.

,
.
STROBE, , (
) ( )
, .
,
HDL, Verilog VHDL.
,
, 1*.

, VCD- (Value Change Dump
).

, ,

. FSDB- (Fast Signal
Database ) Novas Software
(www.novas.com), ,
VCD,
.
, SDF- (standard delay
format ),

. , !) Verilog (Phil Moorby)
HILO.

245
,
SDF-,



, ,
. ,

0 1 () true false (
).
,
, .

. .
. ,
,
0 1. , -
, X.

,
, ,

. ,
, Z.
q^=>

X
? .

. ,
,
.

0, 1, X Z .

.
,


. , , ,
VHDL Verilog -.


,
, VHDL Verilog, ,
,
, . ,
,
. ,
, ,
. ,

,



,


,


X

Designus
Maximus Unleashed
(Banned in Alabama),
ISBN 0-7506-9089-5.

246 19. , ,
I , . ! ,
, I .

,
.
.
,

, .

, ,
.

VHDL Verilog
.
, ,
, ,
, .
.

,
, ( )
VHDL Verilog. I ,
| , I , , : VHDL, Verilog,
| SystemVerilog, SystemC PSL1*.

I
I
,
| ,

( ) ,
.
( STA static timing
analysis) (
).
1 , . . 0 , . . I 1. I , .
I
| . 1
I .
I , ( 0 1) I LH ( low-to-high

ModelSim

Mentor
Graphics
(www.mentor.com).

247
). ( 1 0)
(^11-1-1\ ).
, , , 12- (12 ) (0-1-0)
= 5 = 8
(. 19.4).
= 5
1= 8
1

12

1
15

. 19.4. - -
,
5 ,
8 . , 12-
15 ,
3 . ,
12 (1-0-1)
,
9 . ,
.
,
, (::)
. , ,
16 ,
,
6:8:10 7:9:11 (. 19.5).
,

.
,
, .
(,
) ,
.

1929 .





.

248 19. , ,
= 6:8:10
. = 7:9:11
1

1
1 ()

1 ( )

1 ()

. 19.5.
::

-




.


.
, 3- , ,
-, -
- .
,
.

,

.
, ,
( )
. ,

. ,

(),
. ( )
,
.
.
8 4 ,
,
:: 6
(. 19.6).

249
1929 .

LH = 6:6:6

HL = 6:6:6

>
BUF

. 19.6. ,
,

,
, -
( ECL emitter-coupled logic)]\ ,

.
,
.
8 4 ,
,
:: 6 (. 19.7).

, ,
.

,
2\
,
,
. , ,
:: 6 ,
33% 66% (. 19.8).
, ,
, ;
, , ,

- ,
, .
-, (,
).
2) System HILO GenRad
3- .

250 19. , ,
1929 .


(
)
.

= 6:6:6

. = 6:6:6
1

>

. 19.7.

= 6:6:6 (33:66%)

. = 6:6:6 (33:66%)
1

>

. 19.8. ,
,

(); ,
,
, X , ,
, ,

. ( 100%
, 0%
.)

251


,
(cycle-based) .
,
(. 19.9).

. 19.9.


,
,
() ,
.
, ,

.
,
0 1 ( X, Z
). ,

.

.

. ,
,
,
,
.

!
,
- , .
,
,
. 25,
.
,
.
,
, , -

252 19. , ,
1929 . .




.

, ,
, .
, 1 8511, ,
, 81
. , ,

.
,
. :
? ,

.
, ,
, .
,

.
, ,
.
,
.

. ,
,
.
, :
,
,
.
, ,
,
,

1*.
.
, , ,
,
32- .
, ,
500000 , , ,
, .
.
, ,
,
. -

,


.

.
Novas Software
Inc. (www.novas.com) Debussy Verdi.

. /H D L 253

.
/HDL
/

80-.
HDL-.
/0-

RTL
.
,
,
.
90-
.
/ ,
,
(. 19.10).


HDL-


( )

RTL

. 19.10. -

, , ,
, 15...20% , ,

.


/- ,
, ,

, .
,
.
,
(),

. . ,
,
, .

1929 .


.

254 19. , ,
1930 .
(Vannevar
Bush)

,
Differential
Anaiizer (

).
1933 .
(Edwin
Howard Armstrong)


:

.


,
, ,
. ,
,
. ,
80%
. ,
/-
,
.
.

(ASIC), 1996
, 2000 2001 .
,
, .
,
, ?
,

, .


,
,
.
,
, /- (. 19.11).

/
( )


( FPGA)

. 19.11.

,
, ,
, , 1).


. -

!) /-,
I , .

. / 255
, ,
, .
,
,
15 . ,
, . 19.12, .

10 . ,
5 ,
20 , . .
5 .

. 19.12.


, , ,
, ,

(. 19.12, ).
,
.

,
. ,
4 . ,
,
(. 19.13, ).

,

(. 19.13, ).

1934 .


.

256 19. , ,
1935 .



.

+ 1

/
+4

-2-
-1

+ 1

+2

-----------------------

+2

)
)
. 19.13.

,
.
,

, , ,
, .

!
?

,
, ,
.
,
.

( )
,
,

. , ,
,
. ,
max@techbites.com.

.


.
, , ,
, .
,


. , ,

.

. 257

,
.

, . .
.
,
,
,
,
, .

.
,
, ,

. ,
,

. , ,
,
.




(ASIC). ,
,
.

90-, 2007- 45- .
,
, ,
, ,
. ,
,
,
.
,

.

. , ,
,
, ,
.
,
,
,
. ,

, -
.

258 19. , ,
,

. ,
,
,

, ,
.

,
,
!

( SSTA
statistical static timing analyzer).

, , ,
,
.
,

.


,
, DTA dynamic timing analysis,
-
.
,
.
, ,
. . (), ()
(), ,
, . . :, :
:). , ,
(. 19.14).

,
, ,
:,


.

X, ,
0 1 1 0,
. ,
1, 0, 1*.

, -

1}
Designus Maximus Unleashed (Banned in Alabama), ISBN 0-7506-9089.

259
LH = 3:5:7
HL = 3:5:7
1

< _ j 1

>
BUF

1

,

1
5

----------

------------

!
-----frj

-----

--------

. 19.14.

. ,
,
, , ?




.
, ,
,
. ,
,
ASIC , 70% ,

.

( IP). ,
,
, ,
. ,
, ,
, . .

.

,
,
. ,
,
.

260 19. , ,
R T L - mo , .
, RTL-
. ,

/
.

IP , BFM (bus
functional model), /
, (. 19.15)1>.

() ,
/
,

(RTL)

. 19.15. IP


,

.
,
. ,
,
, .
, (
^), .
,
- , ,
,
.
, , ,
,
,
. , ,
, / + + ,
- ( IP
TransEDA PLC (www.transeda.com).
2)
, ,
, . . .

261
), , ,
. .
,
,
,
.

1935 .

.


,
,
, ASCII-,
0 1 ( ,
). , ,
, .

:
1000
.
2000
.
2500 , 8-
00000000.
... .
,
.

,
,
. (
, 010,
.)
.

, .

. ,
,
(HVL hardware verification language),

Verisity
Design
(www.verisity.com)1\
, .
,
(english) .
,
.
,
, Verilog Pascal,
, !)
, Verisity Design IEEE
, .
IEEE 1647
.



,


.

262 19. , ,
.

.
,
,
, Specman Elite Verisity.

,
HDL- .
Specman
,
HDL- .

,

.




,





Novas
Software Inc.
(www.novas.com)

Debussy. ,


\ferdi



,
,



.


,


, VCD- (value
change dump ). ,
, ,

. , ,
.



, IBM, Intel Motorola,

( 80-),
. ,

. ,
,
.
,
,
,
. ,
,
.
, .
, 20
,
- 1

, . , ,

263
, - g
I
.
I
(^gF5
.
Design VERIFYer, 1993 . Chrysalis Symbolic Design Inc.

Chrysalis
1996 Design inSIGHT.

I
I
I
1
1




.
, ,

, RTL- .
,
.
,
,
(Modelchecking)^. ,

,
.
:
.
, ,
,
,
,
.
j

,
, ,
, ,
. RTL, ,
.
/
.
/
: 1} Model Checking ( )
90-

. , ,
2002 . ( .. . :
Model Checking). . .

264 19. , ,
1935 . .

.
1936 .


(August
Dvorak)

,
,



.
I

1
1

I
I

I
I
I
I

I
|

.
, :
PCI
5 36
.
, /

.
. ( .)
, /
, .
, / ,
,
, .

/ :
.
, ,
.
, (RTL),
, ,
.
,
.
, , . . ,
-
. ,
.

. , IP
,
/ .
,
,
.
IP,
/ :
0 1
.
IP .
,
IP
.
,
,
,
. ,
,

.

265


(Model
checking), .
,
.
, .

(Model checking)
,
() , :
10 .


,
, ,
.


, . .
.
/
,
. ,
/
()
,
.

(Model checking).

. ,
-
,

,
. ,
.
,
. ,
,
.
.

,
,
.
,

.

,

.

/

266 19. , ,
1936 . .


(Benjamin Burack)



(


1949 .).
1936 .

.

.
,
/. , , , ,
, , , ,
, .
/
,

. /

.

, , ,

, ,
\ferilog ( /).
/ ,

.
/,
,

. , ,
. ,
/ /
,
-.

',
,
,
. ( ,
.)

/
, ,
,
/, .

,
/.
, Sugar, PSL OVA,

,
.

/,
HDL- .
,
. , ,

,

267
.
HDL- (
).

.
HDL VHDL
,

,
false (). \ferilog

SystemVerilog .

(
/). ,

( SystemVerilog
VHDL).
, HDL HDL

. /
, HDL,
.

/, ,
.
(OVL),
Accellera (www.accellera.org).
, HDL
,
,
, HDL-.
,
.
CheckerWare -In Design Automation
(www.0-In.com). , ,
Verilog:
reg [5:0] STATEJVAR; //Oin one_hot.
6- ,
STATE_VAR, , ,
,
. , ,
Oin one_hot, .
,
, -In
one_hot (
) /
CheckerWare. ,
,
,
. ,
,
.

1936 .

.
1936 .

268 19. , ,

1937 .
(George
Robert Stibitz)

Bell Labs,

,
,


Model .

,
. -,
/.
, ,
,
- ,

.

.

. ,

,

.
,
,
,
.

1
, ,
I , . I
| . | | .

.

FIFO (
, ),
.
,
.
/, , , FIFO
- , , I .

I
I
I

I
I

269
Sun Microsystems 90-. , -
90-, Systems Science
C orporation, 1998
Synopsys.
Vera , ,
, , , ,
. Vera
, Synopsys

. ,
, Synopsys
OpenVera OpenVera Assertions ( OVA1*).
SystemVerilog
assert (). ,

Acceller
,
.
, OVA, 2002 ,
, Sugar IBM. ,
- Synopsys OVA
Accellera, SystemVerilog (
, ).
, Accellera
(
OVL open verification liblary),
VHDL Verilog 21.
, assert
VHDL SystemVerilog,
OVL, OVA
PSL (property specification language),
Sugar IBM,
Accellera (. 19.16)2). PSL
,
,
.
, ,
, VHDL, Verilog, C /C + + ,
.
PSL, Verilog PSL, VHDL PSL,
SystemC PSL .
,
.

OVA
Synopsys.
. Synopsys
Intel,
,
ForSpec.
OVA 2.0,
.
2) , PSL Sugar .
PSL, Sugar, . PSL
Accellera, a Sugar , IBM.

270 19. , ,
1937 .

-
()


( )

,

1
( ,
)

1938 .

(Claude . Shannon)

,

,




.

SystemVerilog
(

SystemVerilog
OVA


(-)


(-)

. 19.16.

. 19.16 ,
: -
, -
.

01_
|
I
|
I
|
|
|
|

1
I

I
|

. 11,
, , / + + . , ( () ) , / + + , , -.
,
-.
,
, ,
, ,
,
(
).
, - ,

271
1*. ,
()
. ,
,
, , ,
,
.


,
,
.
,
/
, , ,
.
,
.
:
(Basic code coverage)
, . .
.
(Brunch coverage)
, if-then-else:
then, else.
(Condition coverage)
, if (a OR b = = TRUE) then ....
, then
,
TRUE, - ,
.
(Expression coverage)
= ( AND ) OR d, ,
,

.
(State coverage)
,
, ,
,
.
, .
(Functional coverage)
(,
)
.
/ (Assertion/property coverage)
, ,
-

11
VTOC ( Verilog )
Tenison Technology Ltd. (www.tenison.com).
SPEEDCompiler DesignPlayer Carbon Design Systems Inc.
(www.carbondesignsystems.com).

1938 . .


(Lazro Biro)


.
1938 . .

(Konrad Zuse)




, ZI.
1938 .
(John Logie Baird)


.
1938 . .




.

272 19. , ,
1938 .



.
1938 .
(Walter
Schottky)







-
.

,
.

:
. ,

.
/ , (
)
. ,


. ,
RTL,
, , ,
FIFO.
.


,

.
,
.
, ,
.

2 0



,
- . ,
, , ,
, -
.
-, ,
(, , ,
, , , -, ).
, ,
, , , ,
; ,
, , ,
, ...
,
,
.
,
,
.
.

,
, , ,
.

, /,
, .
, , ,
.
, ,
, ,
.
,
, ,
- .

.
,

.
, -

274 20.
1939 .,
, (George Stibitz)

,




.



(Complex
Number Calculator).
1939 . .

(John Atanasoff)

(Clifford Berry)


,




.
ABC (AtanasojfBerry Computer).
no

1942
.
1939 .
Bell Labs


.
1939

(Messers )
(Szigeti)


, ,
. ,
,
.
-
, Web-,
.
,

,
(ASIC)
( ,
, . . 4),
/,
. .

,
, , ,
, ( , )
. . ,
(
) .
, , ,
, .
, ! ,
,
, .
, , 1*,
. , ?
,
,
, , -
,
- .


, ,
. :
,
, ,
,
( , ),

.
-
,
.
, - , ,
(),
.

275

. ,

.


(IP), ,
,
( ,
).
, ,
,
. ,
,
.

,
-
.
Flash
,
, , IP,

. - Flash


.
, Flash-
,
,
-
.

, .



,
, .
,
,
, (,
),
. ,

/,
( ).
. 4, ,
,
.
,
,
( CLB configurable logic block)
(LAB logic array bloc),
.

1939


.
1939 . .

(George Stibitz)



-
-
.

276 20.
1940 . 11$



(


30).

,
, ,

(DCM digital clock manager).
,
, ,
, . ,
, ,
?

1941 .


.

1
I
J
I

I
I
I
I


, /
, , .
, /
. ,
,
, .
:
, ,


;
-
,

(

). ,

. ,

.

, . .


( ) (
).
,
, ,
.
()
,
(MAC),
.



,
(

/ 277
)
(. . 13).

, .

,
.

,
1*.
,
, , ,

.
. ,
,
PowerPC,

. , , ,
Xilinx,
PowerPC. ARM
MIPS, Altera
QuickLogic.

/

,
,
(. . 21).


,
( IP).
, -

,
.

.


(
).
, , , /
, -

2*.
,

1. (www.altium.com),
13.
2) ,
, 19.

1941 .



(


).
1942-1946
.
(Konrad
Zuse)



,

Plankakul.
1943 . .

(Konrad Zuse)



Z4,


.
1944 . .

(Howard Aiken)



Harvard Mark I
(

IBMASCC).
1945



(John Von
Neumann)




EDVAC.

278 20.
1946
(Percy
Spensor)

(

1947).

, ,
.

,
.

1945 .,

(Arthur
Clark)


.


.

( ).
,
12... 15%,
20...30%. ,

12... 15% (, ),

20 30% .

- ,
. ,
,
,
.
,
RTL- -

. (

, ,
.) ,
,
, .
. 11,
()
.
C /C + + , ,
( ) ( )
. ,
, , .

1946 . .

(John Mauchly)

(Presper Eckert)






ENIAC.
1946 .,



.
23 1947 .


(William
Shockley),
(Walter
Brattain)
(John
Bardeen)


.


(Tom Dillon) , ,
,
.
, ,
-
,
.

2 1

. 4,
( )
,
,
(. 21.1).

. 21.1.
1975
8- .

16 , 32 , 64
. .

.
,
, . ,

-
.

.

(),

(. 21.2).
, ,
,

-,
,
.


. ,
.
,

280 21.
1948





.

> ()
()

. 21.2.


.

,
, .
,

!


, . .
,
, ,
.
,
, ,
.
,
(. 21.3).

. 21.3.

,
.
() -
, () .

281

,
() . ,
(,
).
,
0 1
5 , , 1 ,
- . ,
/
1.8 , 1.5
. 1
\
,

(. 21.4). 2*,
, ,
( . 21.3 21.4 )
, (
) .
, , ,
( . 21.3,
, .

,
. , (
(. 21.3) ,
, . . 21.3,
, ,
. ,
.

, ,
, ,
.

]) , ,
0 1 0.175 (175 )!
2)
. . .

1948 .



-1.

282 21.
1948 .

.
1949 . .





Whirlwind.

, ,
,
. ,
() ,
,
.


, ,

.
.
:
Fibre Channel ( );
InifiniBand;
PCI Express ( Intel Corporation);
RapidIO;
SkyRail ( Mindspeed Technologies);
10- Ethernet.
,
, PCI Express SkyRail,
,
.
,
.
,
.
,
.

, , , . ,
,
,
, .

, ASIC, ,
,
IP .
( ASSP)

.
( ) (. 21.5).

. 21.5.

8- 10- 283

8- 10-

,
,
.
, ,
() .
,
0 1 (. 21.6).
1

--------------------------------------------------------------------------------------------------------------

. 21.6.


. , , ,
:
.
, ,
,
.
, , ,
, . 21.6.
, , ,
.
,
, .
,
. , ,
,

(. 21.7).
, ,
,
. ( ,
!)
,
,
010101...,
1.
(
, )
. , , ,
,

1949 . .


.

284 21.
1

. 21.7.

. (ISI intersymbol interference).


, ,
(ID consecutive
identical digits) ,
(. 21.7).
, , . 21.7,
. , ,
.
,
, 8 /10 (
8/10 8/10), 8-
,
0 1 . ,
,
, . .

20 ( ).
,
64b/66b SONET Scrambling (
). Scrambling ()
,
() 0 1 ,
, 0 1.
, ,

.


, 8/10,

(. 21.8).
,
, ,
, ,
. ,
.

285
1949 . .
EDSAC



Initial Orders.


8-
. 8/10
FIFO ( ,
),
.
FIFO ,
,
0 1 (
,
). ,
-
,
.
,
.
,
,
- ,
10- .
,
0 1 (
,
, ,
).

286 21.
1950 . .

8/10, .
i
8- FIFO

I
|
|
|
I
|

, .
,
,
, 8/10,
64b/66b, SONET Scrambling . , 8/10,

.

J
I
|
I
1
I
|
|
|
:
|
|
|

I
|
!
1
|
|
|
|
I
I
!
I
1
|

(baud rate)
, (
) .
, ,
.

8/10
3.125 (/)1*.
, ,
8/10,
2.5 / ( 2.5 /
3.125 / 10 8 ).
, , ,
, 10- Ethernet,
10 /. , 10- (10-gigfbit attachment unit interface XAUI), 10 / (. 21.9).

,
, , .
, , , ,
.
(. . 26).

I
, ,
| () ,
f ! .
I .
3.175 /
8/10,
, 64/66.

287
1950 . .

(William
Shockley)


.


, 8/10 (
) - (comma
characters). -
,

,
.
,
, . .
. ,
,
( ),
.
, -
.

-,
10- ,
,
.



,
0
1. , ,

,

.

288 21.
1950
(Maurice
Karnaugh)
,



.


,
, ,
()
,
,
.
, , (
50 75 )
.


. 21.6, ,

, ,

, (
) .

, , 0
0 1
1 . (

.)
, ,

(. 21.10).

1 1 1 1 0
1 ... j i -

i ! :

0 0 1 1 0 1 0
............ ! - 1

! I


............................. ...... f .....................................;......................
0 ....... J ......

.........j------i.............. I-......... I - - * ----1

. 21.10.

,
( ),
.

,
. ,

(. .
),
.

.

, 289

,
,
(. 21.11).

1950

(Konrad
Zuse)
Z4


(),
,


.
1951 . .


UNIVAC1.

. 21.11.

,
, .
,
,
.
,

.
, ,
.

(, 1 ), ,

,
, ().

,
. ,
,
.

,



, ,
. ,
()

290 21.
1952 . .

(John Mauchly)

(Persper Eckert)






EDVAC.
1952 . .



,



.
(G. W. A. Dummer).

(CDR clock and data


recovery), ,

. ,
,
0 1,

(. 21.12, ).

(. 21.12, ). , 1,
0, ,
, ,
1/3 .

.

\/


()
1

/

()


()

. 21.12.


,
0 1 (. 21.13).
()

()

/
()

. 21.13.

, 291
,
,
-,
.

()

, ,
.



. ,
,
0 1 (. 21.14, , ), ,
,
(. 21.14, -).
1

--------------------- ----- -- ---- -----------

F
j

ir

6)

1953 .
Swanson Company




(

).
1954 .

Echo 1



.
1954 .

.

) 1
j|

1952 .
Sony



,

1954 .

1955 .
.

1 2

) 1,2
)

;| ) 1,2, 4

. 21.14.

,
, 0 1-0
1-0-1 (. 21.14, ).
, , . 21.14,
,
.
,
,
, . 21.15.
,
, , .
,
,

. , -

1956 .
(John Backus)


,


FORTRAN.

292 21.
1956 . .

(John McCarthy)


LISP

.
1956 . .

MANIAC 1


(
).
1956 .


.

. 21.15.

, ,
.
,
.

, ,
,
.

2 2



,
. ,
.
,
,
.
,
.
, ,
,
,
( )

(. 22.1).

,
0- 1-

. 22.1. :


. ,

. ,

.

294 22.
1957 . .
(Gordon
Gould)

.
1957 . .

IBM
610.
1957 .


.

,

, ,

, , .

.

( FPID
field-programmable interconnect devices),
(
FPIC field-programmable interconnect chips)]). ,
,
,
.
FPID 1000 ,

(. 22.2).
FPID
( )

. 22.2. :
FPID

,
.

, , .


,
(Reconfigurable Computing)
. ,
.
(
)
( -

FPIC Aptix Corporation (www.aptix.com).

295
!)
- ,
.


.
,
(
8 ).
,
.
,
/
,
(, 256 ),
(. . 26).
,
(FPNA fieldprogrammable node array)
(. . 23).

,

.
(. . 14),
. ,

.
.
, 1994 Atmel
Corporation (www.atmel.com) .

, , :
;
;
, ,
;
, ,
.
,
.
,
. -
, ,

\
.

,
.
,
-2).
!) .
2) - (Cache Logic) Atmel
Corporation, -, , .

1958 . .




.
1958 . .
(Jack
Kilby) ,

Texas
Instruments,


(

).

296 22.
1959 . .


COBOL.
1959 . .

(Robert Noyce)



,





.


',
,
.
,
, . , ,
, 500
, 128 .
, ,
, ,
,
, , .
, , ,

, -
.
-
-,

,
, , ( ).
,
,
, ,
.

.

, , , .

, :
-, , ,
,
-,
, . .
.
. ,


.

, ,

, ,
. , , 100000
,
10000. ,
90000
. 10000
100000
(. 22.3).

,
.

297

. 22.3.

90-
, -
,
. ,
,
. ,
,
(
). ,
,
.
, (. . 23).

1959 .

(Jean Hoemi)


,


.
1960 . .

(Theodore Maiman)
.
1960 . .



-
( DAR
Defense Advanced
Research Projects
Agency)
,


.

2 3

F P N A -

I
I
,

,
| ,
I ( FPNA field-programmable node array)
.
I .

-, -

, (ASIC),
I , , -
! . , I ,
()
(
)
.
, ,
, .
- ,
,
FPNA
, FPNA
.
, ,

(. 23.1).
, . 23.1
FPNA-,
/
,
. FPN A
-
,
( ).
30 50
FPNA;
| . 23.1.

-, - 299
1960 . NASA Bell
Labs

.

. 23.1. FPNA

23.1. FPNA

Web-

Elixent Ltd

www.elixent.com

IPflex Inc.

www.ipflex.com

Motorola

www.motorola.com

PACT XPP Technologies AG www.pactxpp.com

picoChip Design Ltd.

www.picochip.com

Quicksilver Technology Inc.

www.qstech.com


picoChip Quicksilver
. picoArray
picoChip , ,
,
, , , ,
. ,
(
, ,
).

Quicksilver
. ,
,
(
). ,
( Quicksilver
) .

300 23. FPNA


1961 .


.


FPNA
,
. , ,
, ,
.
, ,
, , ,
( TDMA
time division multiple access),
. ,
Sirius, Radio, EDGE , ,
TDMA. , ,
,
(TDMA),
(. 23.2).
TDMA

. 23.2. FPNA

, ,
,
( W-CDMA
Wideband Code Division Multiple Access) CDMA2000, IS95 . (W-CDMA
, ,
,
.)
, ,
,
, MPEG, , .
,

(
. 22). ,

picoArray picoChip 301


,
.
,
,
.
, ,
,
.
, ,
() ,
. .
. , ,
.
?

picoArray picoChip

, picoChip
picoArray.
16- RISC (Reduced Instruction Set
Computing
) ,
. ,
,

CDMA, (
40 ).

( ,
) ARM9 , TI 54
(). ,
picoArray ,
.
, - 2002 ,
picoArray,
TMS320C6415 Texas
Instruments.
, . picoChip
, picoArray, 160 ,
20 (
16- ), TMS320C6415,
600 . !

:


,
,
.

.
,
.
-

1962 . .

(Steve Hofstein)

(Fredric Heiman)


.

302 23. FPNA


1962 . .

, (DSP),

.
,
, , ,
: (ASIC) ()
, (DSP) RISC (
).
, ,
(. 23.3, ).
picoArray
. (. 23.3, ).

\ /

-,

<

/1 .'.,.*4 -/

picoArray

...

RISC

)*-

7"\...... J

RISC

<

. 23.3.


,
. ,
, .
, , ,
,

. ,
, .

, ,

,
,
. , ,
,
, .

.
. 11,
, -

Quicksilver 303
.
C /C + + , . 11,
picoChip .
VHDL ,
,
.
.
, picoChip
/ ,

(
).
2003 picoChip ,
3GPP
! picoChip
, ,
www.picochip.com.


Quicksilver

Quicksilver
FPNA. , ,
. , ( ,
..., , ),
, Quicksilver,
(),

(. 23.4).

. 23.4.

1962 .


.

304 23. FPNA


1962 .




.


. , ,
, ,
.
.

( ,
).
, ,
. ,

,
(-),
(), ()
. .
, (1/sin )-(1/)
13 .

,
, ,
, TCP/IP- . .
,
.
(,
, . .)
, , ,
, .
,

, , ,
. ,
, ,
, ,
, .
, Quicksilver
,
Quicksilver.
, !
.
, ,
,

. , 75%
.
.

,
. ,
,
,
,
, ,
.

.

Quicksilver 305


, ,
. , ,
,
,
. , ,
,
.
, Quicksilver
, , , - .

() , ,

,
.
,
,
!


, . 23.4,

, ,
, /
. /
/
() ,
, PCI, USB, Firewire ( ,
/
). ,
,

.

. ,
, ,
. ,
,
,
.
.
,

.
. 23.4 ,
. ,


.
.

1963 . .

306 23.
1963 . I

I
I ,
-8.
1 . I .
I
I . I
| | .
|
. ,
* ,
.
,
.
.

, , :
, . :
. ,
, ,
.

I
I
I
|
I
|

I
|
|
|
|

1
|
|

|
!

I
1
I
1

,
,
. ,
, , , . ,
,
.
.
,
. ,
, (. 23.5).

,
. ,
.
, .
.
, (

QuickSilver 307
1963 .
Philips

.
1965 . (John )

(Thomas Kurtz)

(BASIC).

. 23.5. ,


.

, ,
( ,
,
2...20 ).


, :
, ? ,
-, QuickSilver
- , SilverC.
C /C + + (. 11).
SilverC
. -
-.
SilverC ,
module (), pipe () process (),

. , SilverC
,

,
.
SilverC
,
(Verilog VHDL),

308 23. FPNA


1967 . .
Fairchild



Micromosaic,




.
1967 .


(Dolby).

. SilverC-
()
Silverware.
,
.
, Silverware
,
, ABM- .

.

,

(. 12)
Simulink
MathWorks (www.mathworks.com).

.
QuickSilver
SilverC Simulink.
Simulink
, , , ,
.
SilverC.
QuickSilver SilverC-,
Simulink-.

, , , ,
.

Silverware- .

, , ,
!
, , , FPNA, ,
QuickSilver
! ,
? , !
FPNA ,
,
, .
FPNA
.
, ,
,
FPNA. ,
, QuickSilver
.
-, QuickSilver,
.
, ,
, ,
, : !

2 4


, ,
,
, ,
,
.
,
( . 25). ,

,
.
, .
.

ParaCore Architect
Dillon Engineering (www.dilloneng.com)

,

.
90- ,
,
, ,
.
ParaCore Architect,
.

Python ,

( Python . 25).
ParaCore Architect ,
,
HDL, C /C + +
,
(. 24.1).
RTL-
,
-
.
,
.

310 24.
1967 . .
(Jack
Kilby),
Texas
Instruments,


.

VHDLRTL

1
-

ParaCore

Architect

C/C++

. 24.1. ParaCore Architect C /C + + RTL-,


ParaCore Architect
,
. , , ,

. ,
,
( )
.
,
.

ParaCore Architect,
.

,
,
, , (
),
. .


I
|
I
|

|
j

I
I
I
1
|

ParaCore
Architect , (). ,
, , ,
(. 24.2).
, ,
. , .
, , 2048x2048 , 120

ParaCore Architect 311

. 2048
11256 , ,
. .
, 45025
67536 .
2048x2048 ,
2048 , . ,
120
4 . (
, 90 ,
60 .)
11256 ,
2048 .
,
, Xilinx Virtex-II
XC2V40
( ),
.
2048 90
. ,
,
4 .


.
Xilinx XC2V6000,
, 144 18-
144 18 ,
2048x2048 120 .
,
ParaCore
Architect, ,
.
, 2048
1024 ,
,

312 24.
1969 .

.

,
, .

(

).
2002 Dillon Engineering
ParaCore Architect , , (
) .
, , SETI
,
, !

Web-
, ,
Dillon Engineering
ParaCore Architect . ,
, -
, , ,
. Dillon Engineering
www.dilloneng.com, ,
Go C /C + +
HDL-, .

Confluence
, ,

, Launchbird Design Systems
(www.launchbird.com)
Confluence,
Confluence Compiler, .

Confluence, . -,
Confluence ,
,
.
Confluence,
RTL- VHDL
Verilog (. 24.3).
....
VHDL
RTL

s':; ...........


Confluence

Confluence

*1

Verilog
RTI


. 24.3. Confluence

, ,
(, \ferilog) -

Confluence 313
, Confluence ,
.
, Confluence
, (
3- 10- ,
, ).
,
RTL-,
.
, ,
Confluence , ,
( ,
).



Confluence, (
)
:

component Cascade +Stages +SisoComp +Input -Output


is
i f Stages <= 0
Output <- Input
else
Output <- {Cascade (Stages - 1) SisoComp
{SisoComp Input $} $}
end
end
, ,
, .
,
Cascade, : Stages (
, . .
), SisoComp ( ,
), Input (
, ) Output (
, ).
,
component is, Stages, SisoComp, Input
Output
. +
.
, ,

, , Input
Output . ,
,

( ).

Cascade , , 1024 ( -

1970 . .
(Bob
Metcalf)
(David Boggs)


-

Ethernet.
1970 . .
Fairchild

256-

,

4100.

314 24.
) ,
I
, . .
,
Cascade
:

{Cascade 1024

Input Output}

Confluence ,
~ ().
, 8-
,
, . .
,
, Reg8, 8- ,
Cascade, 16
:

component Reg8 + -X is
{VectorReg 8 A X}
end
{Cascade 16 Reg8 Input Output}
? !
I ,
, ,
?
:

component RegisteredPowerOfTwo + -X is
{Delay 1 (A
A) X}
I end
{Cascade 4 RegisteredPowerOfTwo Input Output}

I
I
|
I
I

I
I

I
I
I
I
I
I

I
I
1

, Cascade

,
,
.
, - SisoComp , . , , ,
, . , SisoComp , , , , ,
Confluence.
SisoComp , , . , , , SelfConcat:

Confluence 315

component SelfConcat + -X is
X = A '++' A
end
++ ().
SelfConcat Cascade,
. ,
, 2- ,
01 SelfConcat Cascade:

{Cascade 4 SelfConcat '01' Output}


32-
01010101010101010101010101010101 .
, VHDL
, Verilog,
21, Confluence .

, -
,
Confluence. ,
(. 24.4).
RTL-,

. 24.4.
Confluence


Confluence,
,
, . |
, |
Confluence RTL- VHDL Verilog, 1
.
Confluence
ANSI , Python Java
( Python . . 25).
,

,
. ,
,

.

1970 . .
11

1024-

,

1103.

316 24.
1970 .


(8.5 ).
1970 .

Coming Glass


.

, , Confluence
PROMELA NuSMV,
SPIN NuSMV
(
. 19, a PROMELA, SPIN NuSMV . 25).


Launchbird (www.launchbird.com),
,
Confluence. ,
.
(
), ,

Launchbird.
,
,
(
Confluence VHDL,
Verilog) , ,
.

?

-,
, , ,

max@techbites.com, , ,

Bytes www.eedesign.com.

2 5





,
, ,
.
, ,
,
100 000$ .
,
.
,
.

.

.

(
), , ,
, .
, ,



.
,
.
,
,
, :
;
();
( );

;
;
( ).

: Linux
(Linus
Torvalds) 1990- , Linux

.

318 25.


LISP
List
Processor (
),

, LISP

Lots of
Irritating, Superfluous
Parentheses (

).


Microsoft Windows,
Linux.
Linux GNU (G N U
. . .)
. ,
( - ,
) :
gcc.
.
, HDL (Verilog
VHDL) ,

gcc (
G N U Compiler).
make. make
.
,
RTL- .
,
, makefile,
,
, .
gvim.
Unix, , VI,
visual interface,
. vim
v/,
gvim. gvim
V/, ()
.
Verilog VHDL,
.
EMACS ( Editing MACroS )
1) ,

LISP.
, VI,
Verilog VHDL.
cvs. CVS (Concurrent Version System
)
(
),

. CVS ,
,
,
50-
,
.
(Richard Stallman), EMACS. ,
1983 . War Games,
(cracker) ,
. . .

: Linux 319

( ) . , CVS
, ,
. ,
RTL-
, CVS
.
PERL.

.



. PERL (Practical Extraction
and Report Language )

. (Larry Wall)
PERL
( ) Unix
( Linux),

, PERL.
Python. , , PERL, Python
,
. Python
(Guido Van Rossum) 1990
(Monty Python),
1\ Python
,
, ,
(.
Python ).
diff. ,
diff ,
.
grep.
, , grep

.
OpenSSL. ,
,
(IP).
, IP

.
,
OpenSSL.

SSL (Secure Sockets Layer )
TLS (Transport Layer Security ),


, (
). . .

j
j
j
I

j
I
I

320 25.
1971 . .
(Ted
Hoff) (
Intel
)
-,

4004.
1971 . .


Datapoint 2200.


.
OpenSSH. ,
? ssh (Secure
SHell ),
,
() .


. OpenSSH
,
( )
. OpenSSH

.
tar, gzip, bzip2.
.

Linux
Linux
Red Hat (www.redhat.com) MandrakeSoft
(www.mandrakesoft.com).
Gentoo Linux (www.gentoo.org).
Gentoo ,
,
Linux . Icarus Verilog?

$ emerge iverilog
Icarus
!


,
()
.
HDL-,
,
.

Icarus Verilog

Verilog Icarus
(http://icarus.com/eda/verilog). Icarus
, Verilog,
, .
, Icarus
,
Xilinx.
Verilog ,
( Icarus)
. Icarus Verilog

.

321

Dinotrace GTKWave
Icarus Verilog, ,
. (
Unix Linux,
-.)
Icarus
(GUI) .
VCD (value
change dump ),

.
Icarus, Dinotrace GTKWave
(G UI)
,
VCD.
,
. Dinotrace
(www.veripool.com/dinotrace)
, .
, GTKWave (www.es.man. .uk/apt/tools/gtkwave)
,
.

1971 . .


Kenbak-1.

Covered

, ,
( )
.
Covered (http://covered.sourceforge.net)
, Verilog,
.
, Covered
Verilog VCD,
Icarus Verilog.
Covered :
,
, .

Verilator
,
,
.

(. . 13).

. ,
Verilator (www.veripool.com/verilator.html)
Verilog C /C ++. ,
C /C + + RTL
, -

Tenison
EDA


VTOC,

C++
SystemC
RTL-.

322 25.
1971 .


.


.
- ,
Verilator Verilog ,

, HDL-. ,
-
gcc (
: Linux ) 1*.

Python
Python (www.python.org)
,

. , Python
,
, ,
.
,

Python,
Verilog VHDL.
Pythone,
, , RTL-,
.
Python

MyHDL
(www.jandecaluwe.com/Tools/MyHDL/Overview.html),
(),
. MyHDL
Icarus Verilog
Python/Verilog.


1
1
|
I
|
I
!
|
I
I
!
|


(Edsger Wybe Dijkstra):
,
, , .
-
, (. . 19). , ,
.
. , .
,
, Icarus
.

323
(, RTL
). ,

, (
).

SPIN
(http://spinroot.com), 20
(Dr. Gerard J. Holzmann) Bell Labs.
, SPIN
(Software and System Award)
( ACM Association for Computing Machinery),
Unix, SmallTalk, TCP/IP World Wide Web.
SPIN
, PROMELA1*.
,
,
. SPIN
.
SPIN ,

, .

,
.

.
,
( SAT)2) ,
, ,
.

NuSMV
(http://nusmv.irst.itc.it).



,
. ,
, .
,
NuSMV, , ,

. ,
,
. ,

1} PROMELA PROcess MEta LAnguage


. . .
2) SAT satisfiability,
.

1971 .
( \Virth)

(

).

324 25.
1972 . .
Intel

8008.

.
, , ,
.

, . ,
,
. ,

.
, , ,
. ,
. ,

. ,

, .
, ,
, ,
.
,

,
.

HOL (http://hol.source-forge.net);
TPS (http://gtps.math.cmu.edu/tps.html);
MetaPRL (http://cvs.metaprl.org: 12000/metaprl/default.html).

?
,
, , , .

?

?
,

.
, ,
.
, .

,

.

( )
, .

,
.
(IP).

325

OpenCores
,
OpenCores
(www.opencores.org). OpenCores

(IP) ,
, , ,
,
. , OpenCores
Wishbone,
.

OVL
70
, ,
.
IP, .
, Accellera (www.accellera.org)
( OVL
Open Verification Library)


( )
,

. ,
- -.
, , Icarus
(. )
,
HDL .
( ,
).

,
. ,

.



,
.
OpenCores (.
)
,
.
, ,
. ,

(,
OpenCores).

1973 . .
Selbi
Computer Consulting
Company


Selbi-8H.

326 25.
1973 . .

Xerox Alto.
1973 ., ,
.
Micral

8008.


-,
:
www.easics.be
WebTools
, (CRC),

Verilog
VH DL-.
www.linuxeda.com
Linux.
http://geda.weul.org

.
www.veripool.com
Verilog (
Dinotrace Verilator).
http://ghdl .free.fr

VHDL gcc.
http://asics.ws

.

,
. ,
,
- .
, - ,
, , max@techbites.com,
, -,
.

2 6



, ,
- , ,
, ,

, .
, , , 1980 ,
(, , ),
,
. , , , . (
, ),

, ,
: -, .
HDL, Verilog VHDL, , , ,
, .
,
,
, .


(
).
,
, (
). - , 2003
, 90- ,
,
, , .
, -
2 , 60 ,
, , -

I
j
j
|
j
1
J
|
|
I
1
|
|
1
1
|
1

I
I
I
I
I
I
I

1
I
1
I

328 26.
, ,
1*.
,
:
?... .
- ,
, .



, ,
,
, (
, Xilinx
). 90-
,
65 70 .

/

,
. 21.
. ,
2.5 /, ,
10 /. ,
,

. ,
,
, .
,

10 /.
,

- -
.
, ,
Sun Microsystems

. ,
()
, 60

.



, 8- .

IBM PC 1981 .

329
.
( 1990- ) Pilkington
Microelectronics (PMEL)
, /

. (256
),
(jiffy)0 .
Pilkington, 1826 ,
,
.
, 1952 , 1000
.
,
, ,
.
,
.

, ,
(
), - .
,
,
.
,
, ,


.
1 2.5 ,
(
). ,
PMEL,
,
(. 26.1).
,
,

- . ,
, ,

.

jiffy ()
, , .
jiffy
.
, 1/60 , 1/50
.
jiffy 1/100 . ,
jiffy ,
( 1
).

CODEC

COmpressor/DECom
pressor

330 26.
1973 .


,


Micral
8008.

PMEL

1974 . .
Intel

8080,



.

\ _________ _________ /
- ,

. 26.1.
.
, , ,
, 1*.



90- ( ) ,
,

,
, .



,
. ,
IP ,
(- ) (
- ).
(
)
.
.
,
( FPAA fieldprogrammable analog arrays)2\ ,
,
, ,
FPAA.
1}
( ),
23.
2) , ^ (www.anadigm.com)
.

331

ASMBL
, Xilinx
ASMBL (Application
Specific Modular Block ).
,
, , Xilinx
, :
;
;
();
;
/;
IP;
.
Xilinx
, ,

(. 26.2).

- = .

-------------- \

(DSP)

(DSP)

. 26.2.

,
, ,

.


4 ,

3-, 4-, 5- 6- .

, 3 4 ,

1974 . .
Motorola

6800.

332 26.
1974 . .
Radio
Electronic


(Jonathon
Tytus)

Mark-8

8008.

.

4- , ,

.


90-
. ,

. ,
,
, (
1 ) .


. , ,

. ,
XBlue,
IBM Xilinx. ,
90- , .
,
,
,
.

FPNA

23 FPNA
, ,
- FPNA. ,

,
FPNA, , ,
. !


2 .

, ,
Flash .

.
,
.


,
1 .
, HDL,
,

333
,
1975 . .

.





,
.
/ + + , .
,

.
,

.

, ,

, , , ,
,
.

,
.
,
.


, . !
, ,
,
.
, ,
- ( ,
, ), !
! ?. ,
!

I
,



,


/?,
(1 ).

(

)


,
1827


,
.

I
I

I
I
!

, ,
,
,
.
,
. ,
, ,
(Eric Bogatin), Signal Integrity
Simplified, ISBN: 0130669466, (Howard
Johnson) High Speed Signal Propagation: Advanced Black Magic ISBN:
013084408X.

,
,
( ,
).
,

.
() , , , .
,
.

I
,
I 1 2,
(I ), . ! ( ) I , ( ),
j I , , I (. .1).
CW] CW2 I .
| , ,
j . , ! ! , -

335

()

()

. .1. ( )
.
,
(. .2).

. .2. , ,


,

() ,
.
,
. ,
, ,
, ,
, . ,

.


,


,


,
().




,
1821

.

1831

,




.


.




,
1833

,

336 .

().





,


,
.

,

,

. , ,
,
, , ,
, .
,
, (. .).

()

1925



aluminium
aluminum.







aluminum.


,

( 10000 ).

,
,

,


.




()
,

.

. .. , ,


-

( 1),
.


,
.

( ),
, ,
, .
, ,
, .
1990-, 1
.

, -
,
. ,
,
-
( -).

337
,

.
,

, .



,
(. .4, ).
, ,
,
(. .4, ).

()

) 1 1990
( )

) 0.13 2003
( )

. .4.
( , )


(5)


. ,
,
,
, . .5
^ -

------------

----------

. .5. ,

338 .

,
.

,

glitch (),
,

glitsh (,
).

,
,
,
.
( )
( ),
,
(. .6).

. .6.

,
-
, . ,
.
,
. , (^
/2) (/! )
, .
( )
.
, . .6,
,
, -
- (. .7).

339
1975 . .

1-1

6502,

-.

. . 7.
-
,
.
,
.
,
.
-
,
, .
( )


,
, ,
.


,

. ,
-
(. .8).
-
( ),

( 50 1 0).
,
0 1 -,
-
.
.
,

, - (. .9).


0.5

.

,

(
,
),


.

340 .


- 1
( )


- 0 1

,

,
, - ,

. .8. ,

-
0 1 (
- )


0 1

,
-
, - ,

. .9. ,

,
,
, -
, .
.

-
,
. - -
(. . 10).
,
-
.

341
1975 . .
Sphere
Corporation

Sphere 1

6800.

. . 10. -


,
, ,

.
, ,
,
1*.

, ,
,
(
,
- , ).
,


,
.
,
, ,
.
(
, ) , ,
,
,
.

!)
,
.

342 .
1975 . .
(Bill
Gates)
(Paul Allen)

Microsoft.




FR4 (

flame retardant

). (


.
. .)

I
-

, ,
,

. ,
125 18 ,
,
( ,
). , ,
.
- (-).



,
. ,
( ) ,
(. . 11).
,

. .11. ,

,
,

. ,

-,
.



, ,
. ,
, ,
.
- (. . 12).
,
-
-. ,
-

343

,
.
,

( ).
,
( ).
, ,

. ,
, ()
.
.
,
.
,
.
.
-
, 10...30
. ,
,

. ,
(, ),
.



,
,
( ) , , .
, , - , . , -

1
1
1
;
I
1
1
1

344 .
1975 . .
(Ed
Roberts)



Altair 8800


(8800).
1975 . .




().



,
.
, ,

.
,
,
.


, ,
,
.

,
, .


, 70...80%
,
().

- ,
,
, ,
.

( /).
,
, /
, ,
, .
, 2
,
/, - , , ,

.

,
. ,
.

, ,
,
.
, ,
500 ,
,
.

,
(ASIC)
(ASSP),
.

. ,
( -), 0.5- (500
) , ,
.
, ,
, , ,
(
). , ,
.
, ,

.
.


-, , - ,
, 1970-
1980- ,
, ,
. () .
2- ,


(. .1, ).

-----

->

,
,

->

*> < )

= ?

+ ?/

->

= ?

+ ?/

b
b

(HL)
- > (LH)
-> (H L )

= ?

+ ?/

+ ?/

->

->

(HL)

HI) = ?

+ ?/

= ? + ?/
= ? + ?/

1970-

I
1 2000-

. .1.




Designus Maximus
Unleashed
(ISBN 0-7506-9089-5)

.

346 .
1975 .

6502
-.


.
(
) ( )
(. .1, ),
(. .1, ).

? + ?/. (?)
0
. ,
2) (?/).
,
, ,
, , .


,
, ,
.


( )
0
1 . ,
,
(. .2).

. .2. ,



() (
).

,
.
2)
(Michael Faraday), 1821
.

347



( ),
,
,
.

0 1,
(. .).

. ..


,
,
()
(. .4).
(34%)

(66%)

) 1.0

(66%)

(34%)

) 2.0

= 100%

''

-W


. , 2-

(. .4, ).
. 1
(. .4, ).

1975 . .
Microsoft

Basic 2.0

Altair 8800.

348 .
1976 . .
Zilog

Z80.
1976 . (Steve Wozniak)

(Steve Jobs)

Apple 1

6502.


, ,
. - 80
.

- -
- (- pin-to-pin)
- (Pt-Pt point-to-point)
.
-
, -
1 (. .5).
- -

4-------------------- ------------

g l.a

/_

Q ly


/
gi

u >
______ ! L _

g2.a

(/

L
~7

. .5. - -

, -

,
-.
.
,
, -
, -
.
, 50%
0 1. , ,
50%.
,
30%.
, 50 ,
, ( )
, .
( )
( )

,
.
|} ,
,
. ,
.

349


, (
-),
, .
, , (
-),
, .
,
-.



,
, ,
,
. .


, -

-. ,
, ,
.

(. .6).

92 !

. .6.

, ,
,
.
( ),
/ -.
,

. .

1977 . .
1

1 II.

350 .
1977 . .

Commodore Business
Machines

Commodore
PET
6502.

-
1980-

,
. -
(. .7).

- I

V .I
. .7. -

-
-. ,
,
. ,
.

-

.
- (
)
( ) ,
(. .8).

V.
. .8. LC-

351
, ,
,
, ,
.

-
,
,
,
.
-.

.- (. .9).

. .9. RLC-

-
, - ,
- -
.



-. , 2-

(. . 10, ),
,
(. .10, ).

1977 . .

Tendy/Radio Shack

TRS80
Z80.

352 .
1977 .




.
1978 .
1


.

. . 10. -

-
. ,
(
)
, (
) .
,
50 , , ,
,
, ,
.
,
-
(
), ,
.

-
.
,
,
. ,
30%
0 1 (. . 11, ),
, 70%
(. .11, ).
,
, .
, ,
50 .
,
(. . 12, ),
, (. .12, ).

-, -
,
.

353

70%

17*-
3

30%

V---------^

,
/ /

4-------

*---------

) 30% ) 70%


. . 11. -

50%

----- _

11 V
4

-------
( )

( )

. . 12.

-

,
-
.

, .
,
,

.
,
.
-,
. ,
-
(. . 13, ), (. . 13, ).
, . . 13,

,
. , -

354 .
1979 .

,


(Lady Ada Augusta
Lovelace).

.
(

,



(Charles Babbage).
. .)

) )

. . 13. -

, , ,
,
, .

-
(
).
,

.
,

, .

,
.
( )
-.
,

, , ,
!

-
, -
,
,
(. . 14).
,
( )
. ,
, ,
- -
, /.

- , !

355

7L

ci

ci


IIIIIIIIIII

a) b = 1, ci =

mtttimt HIIIIHHIHtHII iiiiimmiiimii


) b = 0, ci = 1

. . 14. -

,
( , - ?)
,
, (
-),
,
( ). ,
(. .15).

--

------ ^

g1

/1

. . 15.

,
-,
(, ,
) ,
.
-
, .

-,
.
.

1979 . .


Visicalc
spreadsheet (
),

Apple II.
1980 .


.

356 .
1980 .

.




, (
), (
) .
, (. . 16, ),

(. . 16, ). , , ?
-L

50%

^
/ I V

gi

. . 16.



,
, ,
, ,
.
(. . 17).

/_

ci

ci

|/

+ Ht IIIIIIIIIIIIIIIIIIIIIII

1
mmum

) b = 0, ci = 1
a) b = 1, ci = 0
. . 17.

. . 17 ,
.
,
, ,

, .

357


,
,

. - ,
.
,
.
,
, (. .18).

. .18.

(,
)
/.




, , (
)
, . ,
2- (. . 19).
g2.a (
^/.)
g2.b. g2.b
0, g2.a
. #/.>> ( #2.)
.
xo,g2.b 1, g2.a
.
g l.y .

1980 .


.
1981 ..


IBM PC.
1981 . .


.

358 .
1981 .
.

. . 19.
:
, ,
?
,
? ,
g l.y #2., ,
, g l.y
.
- (). 1980- -, -
( -)
100
.
.
, , ,

,
.


-
,

. ,
,
. , 2-
(. .20).
, ,
,
-.
, ( ,
)
(. .20, ).
,
.
, -
50 ,
.
,
,
. ,

359

Hfl

)
)

. .20. -

,
. ,
, . .20 ,
0. ,
,
, .

.
.

,

, ,
(. .21).

--------------v
1

^ 0 1

!
j

|11
1
1
1
1
1
1
1
1
1
1

11111||[|||

1
1

1
1
1

1
1
1
1
1
!
1
1

. .21.

,
. ,
, ,
,
.

1983 .

Lisa
Apple



.

360 .
1983 .
Time

.
1984 .


1 .



,
,
. , , ,
. .22.

,
g2 g l g.
,

, , , >7
g2.a.

. ,
. .22, ,
, >2 g3.a
#2 #/..
, #2 2-
, , ,
,
, .
,
.
( ),
,
, .

,
, , ,
,
- ,
.
0.5 0.35 ,
,

.
,
. ,
,
,
, ,
. ,

, .

,
, .

1*.

,

,
.


( LFSR Linear
Feedback Shift Registers)
. LFSR
,
,
(. .1).

)
. .1.

0 2,
[0,2].
,
. ,
,
( -),
, ,
.



Bebop
to the Boolean Boogie
(An Unconventional
Guild to Electronics,
Edition 2)
(ISBN 0-7506-7543-8)

.

362 .
1985 .


-.

,
.
( ^ .)
(
-),
. , 3- ,

, [0,2],
[1,2] (. .2).

71
-

; 1

1
2

!1
:

| 1

: 1

! 0 ' 1

5
6

7
8

41

1: |

&
1
I

!
:
:

:
;

!. .

| 0

1 .
1 ;

! 1

$!

0} *
)
[0,2]

)
[1,2]

. .2.


, . -
,
, .
. ,
. .2,
,
( ) ,
.
, , 2
, ^-
(2 1) .
, 3- 23 = 8 , 3 - . .2 (23 1) = 7
. ,

363
, ,
-
(. .3)!).

)
[0,2]

) -
[0,2]

. ..
-


- ,

. ,
,
.

,
2
32 . ,
. .4 ( *
, ).

,
-, , ,
, . ,

, . -

!) ,
, , .

1989 .
-
,

(

40000

).

364 .
1990 . .

-
(Tim Berners-Lee)

W WW -cepeep.
1993 .
Web-
MOSAIC.

3 .

3
4
5

7 .
15
31 .

6
7

63
127 .

8
9

511

[3.8]

10
11

1023
2047

[2,9]
[1.10]

12
13

4095
8191

14
15
16

16383
32767
65535

17
18

131071
262 143

[2,16]
[6.17]

524 287

,1]
[0,2]
10.3J
.4]
10.5]
[0,6]
[1.2.3.73

255

[0,3.5,11]
[0,2,3,12]
[0,2.4,13]
[0,14]
[1,2,4.15]

19
20

1048575

[0.1,4.18]
[2,19]

21
22

2097151
4194 303

[1,20]
[0,21]

8388607

25

16777215
33 554431

[4,22]
[0.2.3.23]
[2,24]

26
27

67 108 863
134217727

[0,1,5.25]
[0,1.4.26]

28
29

268435455
536870911

30
31

1073741823
2147483647

32

4294967 295

23
24

[2.27]
[1.28]
.

[0,3.5,29]
[2,30]
[1.5,6,31]

. .4.
LFSR 2 32

, 10- LFSR- 2-
([2,9] [6,9]),
. 4- , 6- 8- ,

! , ,
. .4,
, ,

.
,
. LFSR ,
Error-Correcting Codes ( W. Wesley Peterson J. Weldor Jr.,
MIT Press)
.
(CRC),
25 .

|} ( 511- 168 )
052 .

365


8- 8-,
,
.
, 4-

. ,


,
, (
).


^ .

(. .5).

\
0

- 1 - 2

6
3 > - 4 -> 5

7 -

. .5.

8-
^ - [1,2,3,7].
,
, (
7- ),
.
(
[1,2,3]).

,
.
,

.
, ,
4- -

1999 .
11


1 .

366 .
2-, 3- 4-
.
LFSR-
.

LFSR
I
I
I
I

I
I
I

I
1

LFSR-
,
, ,
, -
- . , -HE, ,
. , 0, 1, , .
LFSR- .
,
-HE
, . ,
,
0.

(set reset). ,
,
. LFSR-
- .

. , ,
LFSR-
(. .6).

. .6.

,
.

, LFSR.

FIFO 367

FIFO
, LFSR-

. , 16-
FIFO (first-in, first-out , )
4 (. .7).

, FIFO
,
4- ,
4:16 , 1 16 ,
.
,
.
, , ,
.
,
. , ,
, ,
,
!).
, ,
,
.
16- FIFO
4- .
,
, LFSR-.
. .8, .
,
LFSR- .
, 4-

-
-, FIFO - -.

368 .

) 4-

) 4- LFSR-

. .8. LFSR-

, LFSR-
. , LFSR
.
, LFSR-
, .
, LFSR
, ,
.
FIFO
, . ,
LFSR
1*.

LFSR
2

4- LFSR- FIFO
, 15
(24 1), 16 (24).
,
,
. ,
LFSR-
.
(. .9).
, ,
, , -

!) ,
.

369

%
'>

q0 ql q2 q3

5
6
7

9
10
11
12
13
14
15
16
17
V*4/,
#.

*
*

!
:-
:i
*

3
ft

0
0
1
1
1
1
0
1
0
1
1
0
0
1
0

0
0
0
1
1
1
1
0
1
0
1
1
0
0
1

0
0
0
0
1
1
1
1
0
1
0
1
1
0
0

1
2
3

1
1
1
1
0
1

1
1

:
:
;
;
I
!

;
;
I
!
;

0.J

0 ..

*" 0 t
0

, 1

S
Z)
Q
0X
3

CD

II

0 i
*

*' -

. .9. LFSR- 2

1* 1,
. LFSR-

. LFSR-,
. .9, .
-HE
0,
0, ,
1, 0.
-HE 1,
.
, ,
, 0,
. (
-HE ,
, .)



. , FIFO
,
, 2*.
,

. ,
, ,
.

, .
.
2) !

370 .
,
.
(,

FIFO) . , .

.

. ,

. , LFSR-
.
(. . 10).

,

----------------------------
. . 10. -


, , ()
() .

8-
(. .11).


LFSR-


LFSR-

ST

-II(-

. . 11. LFSR-



, 8-. , ,
,
.

371

LFSR-
( CRC cyclic redundancy code),
.

LFSR-
(. .12).

. .12. CRC

CRC-, LFSR-,
, .
, ,
.
CRC-,
.

, ,
,
.

,
.
, ,
,
.
4-

, (24 1) = 15
. ,
( aliasing),
,
,
CRC-.
CRC
, ,

, .
16- CRC-,
65535 .

. -

372 .
,
|

. ,
^-
.

|
|

1
I
*

,
- ,
,
.
,
. ,
, ,
.

I
,
1 , , | . , ,

^ .
,
I ,
| , .
| , | . ! ,
1*.

I
1

|

I
.

. ,
, | ,
.
I
, ,
I ,
I .
,
1 .
|
,
| , I . I

1
I
I

!) ,
,
.
,
, ,
,
.

373
,
.
, , ,
. (
) ,
.

, .
, 10000
, 10000
.
10000
, 100 . ,

10000 ,
. ,

.

CRC- LFSR.
- 16 CRC-. ,
, ,
CRC-, .

,
.

.
,
, , . ,
,
,
.


,
,
. , ,

, LFSR-
(. .13).
LFSR-, ,
, LFSR-

. ,
.


.
.
, LFSR- ,
,
, , , .

374 .

. XOR -

. . 13.

,
.
.
,
( ).
. .13 .


. , Space Invaders,

.
.

. ,
( . 19)

.

, .

, .
,
.

, 375

,
. , ,
, ,
.

,
.

, LFSR-

.

,
LFSR-
, ,
(
)
, ,
,
,
(
^, ).

, ,
!


( ) 185 ,
, . , ,
(
, ).

1980 . , (
Sheffield Hallam University),
().
, ,
TechBites Interactive (www.techbites.com). TechBites

, ,
, , , .
(!)
Online (www.epemag.com) ,
, - www.eedesign.com. ,
,
, Bebop to the Boolean Boogie (An unconventional guide to electronics)
Designus Maximus Unleashed (Banned in Alabama), Bebop
of BYTES Back (An unconventional guide to computers) EDA: Where Electronics Begins.
, :

,
, .

ASIC (application specific integration circuit)


( ),
,
.
.
ASSP, , ASIC
.
A SSP (application specific standard parts)
, ,
.

.
(ASIC), , ASSP
.
BGA (ball grid array) , PGA (pad grid
array),
, . BGA
,
.
BiCMOS (bipolar-CMOS + -)
, ,
( )
- ,
.
BIST (built-in self-test) ,
, ,
.
CGA (column grid array) , PGA (pad grid
array),
, . CGA
, .

CPLD (complex programmable logic device) .

CRC (cyclic redundancy check )


, ,
(LFSR).
, ,
.
CSP (chip scale package )
, .

378

DCM (digital clock manager )



,
. DCM Xilinx
, .
DSP (digital signal processing ) ,
.
, , , ,
- (, . .) ,
/,
( ).
DSP (digital signal processor
) ,

, .
FET . .
FIFO (frst-in first-out , )
() , ,
.
Flash- ,
. Flash () ,
,
FPGA (field programmable gte
), ( )
, (
)
. () - .
FPIC (field programmable interconnect chip
)^ ,
(FPID).
FPID (field programmable interconnect device
) ,
.
, FPGA ()
. FPID-
1000 , , ,
.
FR4 .
FR4 ,
.
, ,
.
flame retardant, , ,
, 4, . FR4
,
- - .
GAL (generic logic )2)
PAL (programmable logic )
Lattice Semiconductor Corporation.

FPIC Aptix Corporation.


2) GAL Lattice Semiconductor Corporation.

379

HDL (hardware description language )



(), (
).
HDL.
Verilog, SystemVerilog, VHDL SystemC.
HDL - . .
.
IP (intellectual property )
, ,
,
- .
IP.
,
. , ,
. . IP, IP IP.
JEDEC (Joint Electronic Device Engineering Council
) , , ,
,
.
JEDEC , ,
.
JEDEC JEDEC-.
LFSR (linear feedback shift register )
,
-HE,
.
MOSFET . -.
NMOS (N-channel MOS) - -.
NPN , ---.
- ,
.
OVA (OpenVera Assertion) ,
. OVA

,
. SystemVerilog
Accellera (www.accellera.org) Sugar IBM.
OVL (Open Verification Library )
VHDL Verilog 21,
Accellera (www.accellera.org).
PAL (programmable logic )1)
,
, .
PGA 1) pad grid ,
,
. 2) Pin grid
,
, .

PAL Monolithic Memories.

380

PLA (programmable logic array , )


,
. . PAL, , .
PLD (programmable logic device) . .
PMOS (P-channel MOS) - /?-.
PNP , />--/?-.
PSL (property-specification language )
,
. PSL
,
.

Accellera
(www.accellera.org), Sugar IBM.
p-iw a ,
.
QFP (quad flat pack)
, .
RTL . .
RWM (read-write memory -) (,
, ) ().
SVA (SystemVerilog Assertions) Verilog
, SystemVerilog .
2002 Synopsys OpenVera Assertions (OVA)
Accellera, SystemVerilog.
SystemVerilog Assertions SVA.
SystemVerilog (HDL),
,
Accellera (www.accellera.com).
UDL/I Verilog
, VHDL
, .

, .
, (
JEIDA Japan Electronic Industry Development Association) 1990-
HDL UDL/I (Unified Design Language
for Integrated Circuit ).
,
, . U D L /I
,
( ). , U D L /I ,
Verilog VHDL , U DL/I
.
Verilog (HDL),
,
IEEE (The Institute of Electrical and Electronics Engineers, Inc.
no ).
VHDL (HDL),
.
VITAL VHDL
, ,

381

. 1992
VHDL- (AS 1C)
VITAL (VHDL Initiative toward ASIC Libraries). VITAL
VHDL
.
,
,
.
( adaptive computing machine, ACM)
(),
,
() .
. .
(Implementation-based verification coverage)
.
, RTL-
, ,
FIFO ,
.
. . ,
, .
(Specification-based verification coverage)
. /,
(
), . . ,
.
, ,
.
,
,
.
- . .


,
.
,

, ,
. ,
(DSP digital signal processor),
. ,

(IP).
(ASIC) (FPGA).

( ) (- ).
,
,
.
, .
,
.

382

,
. . .
( IP)
IP ,
, , , ,
. ,
,
, , .

. .
IP IP.

, , ,
, .
,
, .
(- )
.

.
(AISC).
.
,
(AISC).

, , .
, 1940- ,

.
.
, : 0 1.
(logical block LAB) Altera
, .
.
(ASIC),

( ), ,
().
,
,
, .
(ASIC),
() .
.
(ASIC),
.
. .
(In-system programmable, ISP)
, flash , ,
, .

383

(In-circuit reconfigurable, ICR)


,
, .
(level sensitive) .
( )

.
() (edge sensitive)
.
.
(time of flight)
( , ) .

, .
, ,
.
Z.
,
.
.
.
. .
| ( ),
109. , 3 9 .
,
, , 0.5 (
).
() .
.
() ,
.
0 1 .
,
.
; (
) : 0 1.

. ,
(
,
). , ,
.
.

,

.
,

.

384

. . ,
, .
,
; , ,
.
, .
,
.
.

, , , ,
.
,
.
. .
(nonrecurring engineering, NRE)
(
)
(AS 1C ASSP) .

, , ,
. .
1965 (Gordon Moore), 1968
Intel Corporation, ,
18 ,
, .

.
, ,
/ ( ) .
,
, .
.
. .
.IP.
(PLI) Verilog
Verilog-XL ,
PLI (programming-language interface).
API (application programming interface
). API
,
. Verilog PLI

.
( ()) , ,
, , ,
.
1)
. 2) -.
- ( MOSFET metal-oxidesemiconductor field-effect transistor) .

385

1) ,
.
.
. 2)

.
, , ,
, ,

.
( ),
103. , 3 3 .
( ) Xilinx,
, .
2 , 4.
( - ) ,
- - /.
) ,
, : 00, 01,
11, 10.
. .
,
() (, , -, -H E .),
.
,

. .

() .
() .
( ),
.

(CRC),
(LFSR) ( ).
.
,

. . .
,
,
. .
.
. .
, ,
,
.
.

. .
.

386


, ,
.
().
.
- (
), ,
,
, . -
!), ,
.
. LFSR.
.
,
.

Xilinx. 4- , ,
. . , ,
(LAB) .
,

( HDL),
(RTL register transfer level),
.
,
. . HDL- (Physically
aware synthesis).

Altera. 4- , ,
. . , ,
(LAB) .
.
,
2005 ,
,
flash-, .
,
.
( )
.

,
. ,

, , .
- ,
.
. .

!) ,
( )
.

387

-
(LFSR), ,
(2 1) , .
(maximal displacement)
(LFSR), ,

.
,
.
. .
- ,
(),
- .
( ),
106. , 3 6 .
( )
,
.
, .
,
,
, .

.
, .
,
,
. ,
, .

, .
( ),
, 10_6. , 3
-6 .

,
. ,
, , .
- ,

, ,
.
FIFO,
, ,
,
. ,
, ,
, ,
, , ,
.
, ,
, .
, , . .

388

( IP)
.
(
IP), ,
(
IP-, , ).
IP. . IP IP.
,
( ,
).
( ),
10_3. , 3 -3 .
.
,
,
, .
,
, .
,
, .

, ,
.

, , ,
, ,
.
() ,
, , ,
.
( ),
10~9. , 3 10~9 .
() ,
(LFSR) .
. .
, ,
.
, .
. JEDEC.
.
()
, ,
().
,
, ()
.
,
,
, .
,

389

(, , ).

, ,
.
( ) ,
. ,
.
.
, , 1 MQ 1 .
,
.

, , ,
.
,
(LFSR).
, ,
.
,
.

,
.
( ),
1015. , 3 15 .
,
.
.
( ) ,
, . ,
.
( ),
10 . , 3
-12 .
( ) ,
,
()
.
.

.
,
,
.
(HDL),
Verilog,
, .
,
, ,
(RTL).
.
. HDL RTL.

390

(FET) ,
, .

.

(ASIC).
.


.
.
,
.
,
,
. ,
. . .
( )
,
, .
,
.
, (
) .

, .
()
() , ,
.
, , , , -, ,
-HE, -HE.
.
,
. 60
40 .
, ,
.
. .
.
.
. FPGA.
. FPID.
. FPIC1\
,
.


, .
, (ASIC) ,
FP1C Aptix Corporation.

391

, ASIC .
,
, ( UART)
. , , ,

( IP intellectual property). RTL, VHDL/Verilog. ,
,
. (
,
.)
,
, ,
. ,
, . ,
RTL-, ,
RTL- . ,
,
.
.
,
, ,

.
, . .
.
( IP)
,
.
(HDL),
Verilog VHDL, (RTL register transfer level).
, ,
( RTL)

(
). . IP IP.
.

.
,
.

;
.
() ,
C /C + + HDL,
, .
.
,
, .
( ),
, , 2- .
/ . /.

392

,
,
.
(slice) Xilinx, ,
().
? ,
. . .
, , .

.

, .
. .
() 1) ,
, . 2) ,
.
,

(ASIC). , ,
, 500 ,
, ,
? ,
1990- . - ,
, ,
, ,
.

,
.
. ,
, , ,
.
,
. ,
.
,
. .
(CPLD complex programmable logic
device) ,
(SPLD simple programmable logic device),
.
,
. ,
.
,
, , ,
.

,
. ,
,
.

393

. .
1
0.
. AS 1C.
( )
,
-. ,
,
.
,
, .
,
, .
,
-
. ,
,

. .
.
,
,
. ,
,
.
. .
(AS 1C),

.
( ,
), , , .

.
- (
).
.
.
(ASIC), ,
,
.
,

.

, .
(LUT look-up table)
,
: .

() , .
( ),
1012. , 3 3x1012 .

394

, .
,
.
, .
: 0, 1 2.
,

.
, .
, ,
0, 1 2.
(- ) ,
.
. .

.
,
, .
(register transfer level, RTL) ,
,
(HDL).
, .
,

(, , -, -HE ) .
( )
(register transfer level RTL).
(), ,
(, --)
(: 0 1,
, ,
). ,
RTL, VHDL Verilog.
/
(Model checking), ,
() (:
10 ).
, ,
( ,
). ,
,
,
.
( )

(). 1940- ,
.


,
,
.

395

, - ,
/H D L . .
.

()
.
, (
)
RTL-
.

(model checking),
,
. .
.
,
,
.
0
1.
( ) ,
,
( - ) ,
.
3- ,
: 0, 1 Z ( ). ,
Z-, ,
.
,
,
().
(- )
.
. .
. (DSP).
,
.
,
, .
, .
. (DSP).
( digital signal processing, DSP)
,
. , , , ,
- (, . .)
, /,
( ).
( ) ,
.
( ) ,

396

,
.
().
,
. , 8-
[7:0].
, (
) , .
,
.
,
.
,
.
, - .
(ASIC)
,
.
, .

. .
- . .
, ,
.
,
, ,
.
(- ) ,
.
(
) ,
. ,
, ,
.
. HDL.
,
.
(ASIC Cell)
, (ASIC).

-In Design Automation 108, 173, 267


1076 (IEEE VHDL ) 147
10- Ethernet 282
1364 (IEEE Verilog ) 146
4000 37
4004 37
5400 36
64b/66b 284
7400 36
8/1Ob 284

ABEL 47, 138


AccellChip Inc. 193
Actionprobe 227
Aldec Inc. 108, 181
Altera Corp. 106, 110
Altium Ltd. 108, 211, 277
AMAZE 47
AMBA 199
Amplify 239
Anadigm Inc. 106
API 144
Applicon 125
ARM 199
ARM9 301
ASIC 16, 18, 47
ASIC 52
ASMBL 331
AssistedTechnology 47
ASSP 16, 18
Atmel Corp. 106
Axis Systems 211

Bell Laboratories 35
BGA 219
BIM 211
BIRD75 223
BoardLink 221

c
C54xx 301
Calma 125
Carbon Design Systems Inc. 271
CDR 290
Celoxica Ltd. 108
CheckerWare 267
Chipscope 228
Chrysalis Symbolic Design Inc. 263
CLAM 228
Co-Design Automation 148, 149
Complex programmable logic devices 37
ComputerVision 125
Confluence 109, 312
CoreConnect 199
Covered 321
CoWare 183, 202
CPLD 37
CRC 371
CUPL 47
CVS 318

D
Daisy 126
Data I/O 47
DCI 223
DCM 82
Debussy 252, 262
DEF 159
Design Compiler FPGA 238
Design VERIFYer 263
DesignPlayer 271
difT 319
Digital signal processors 21
Dillon Engineering Inc. 109
Dinotrace 321
DSP 21
DTA 258

398

( ) 261
EDA 21, 126
EDGE 300
EDIF 233
EETimes 15
Elanix 15, 108, 183, 193
electronic design automation 21
Elixent Ltd 107, 299
EMACS 142, 318

Fairchild Semiconductor 36, 49


Fibre Channel 282
FIFO 77, 168, 169, 268, 285
Fintronic USA Inc. 108
First Silicon Solutions Inc. 108, 228
FLASH 32, 66
FLI 180, 209
FPAA 106, 330
FPGA 18
FPGA Xchange 221
FPIC 294
FPID 294
FPNA 107, 295, 298, 330
FPNAACM 323
FPNA picoArray 299
FR4 342
FSDB 244
Future Design Automation 173

GAL 43
Gartner DataQuest 15
Gateway Design Automation 144
gcc 318
Gentoo 110
Gentoo Linux 320
GHDL 244
GigaTest Labs 15
GNU 318
Green Hills Software Inc. 109
grep 319
GTKWave 321
gvim 318

H
Handel-C 180, 197
Harris Semiconductor 29
HDL 46, 89, 136

HDL/ 253
HDL- 138, 140
Hier Design Inc. 109
HOL 324
HVL 261

IBIS 222
Icarus 110
Icarus Verflog 320, 322
IDE 202
IEEE 1076 147
IEEE 1364 146
Incisive 211
InifiniBand 282
Intel 30, 37
International Research Corporation 37
InTime Software 159
IP 232, 234
IPflex Inc. 107, 299

JEDEC 46
JEIDA 148
Jiffy 329
JTAG 103
JTAG- 63, 103, 207

L
Lattice Semiconductor Corp. 106
Launchbird Design Systems 15, 312
LEF 159
Leopard Logic Inc. 106
Linux 317
LISP 318
LRM 145
LUT 54

M
MAC 78, 276
Magma Design Automation 156
magnetic RAM 34
make 318
MandrakeSoft 320
MATLAB 183, 189
MCM 79
Mega-PAL 44
Mentor Graphics Corp. 15, 108, 126, 194
MetaPRL 324
MicroBlaze 202

399
Micromatrix 49
Micromosaic 49
MIPS 200
Model checking 149, 263
Model Sim 147, 181, 246
Monolithic Memories, Inc. 43
Motorola 107, 299
MPEG 300
MRAM 34

N
Nexar 211
Nios 202
Novas Software Inc. 109, 244, 252, 262
NuSMV 316, 323
- 36

227
Open Verilog International 146
OpenCores 325
OpenSSH 320
OpenSSL 319
OpenVera Assertions, c m . OVA
OSCI 167
OVA 266, 269
O VI 146
OVL 269, 325

P
PACT XPP Technologies AG 107, 299
PAL 43
PAL 46
PALASM 46, 138
ParaCore Architect 309
PCI 89
PCI Express 282
PERL 319
PGA 218
picoArray 299
PicoBlaze 202
picoChip 15
picoChip Design Ltd. 107, 299
Pilkington Microelectronics, c m . PMEL
PLI 144, 180, 209
PLI Verilog 144
PMEL 329
PowerPC 200
Precision 176
PROMELA 316, 323
PSL 269

Python 309, 319, 322


- 36

Q
Q90Clxx 202
QuickLogic Corp. 106
Quicksilver Technology Inc. 107, 299

R
Rapid10 282
RC 20
RCA 36
reconfigurable computing 20
Red Hat 320
RLC- 351
RTL 89, 137, 244
RXD 224

s
SDF 144, 159, 244
Seamless 211
SignalTap 228
Signetics 47
Silicon Explorer 227
SilverC 307
Silverware 308
Simple programmable logic devices 37
Simpod Inc. 209
Simucad Inc. 109
Simulink 183, 190, 308
Sirius 300
SkyRail 282
SONET Scrambling 284
SPARK C-to-VHDL 176
Specman Elite 262
SPEEDCompiler 271
SPICE 222
SPIN 316, 323
SPLD 37
SSTA 258
Sugar 266, 269
Superlog 148
SVP 154
SWIFT 209
Synopsys Inc. 15, 108, 238, 269
Synplicity Inc. 15, 109, 237
System Generator 195
System HILO 244
SystemC 149, 166, 167
SystemVerilog 149
SystemVerilog, assert 269

400

TDMA 300
Tenison Technology Ltd. 271
Texas Instruments 36
The MathWorks Inc. 109, 183, 189, 308
TPS 324
TransEDA PLC 109, 260
TXD 224

UART 224
UDL/I 148

Valid 126
VCD 244, 262, 321
Vera 268
Verdi 252, 262
Verilator 321
Verilog 144
Verilog 2001 146
Verilog 2005 146
Verilog 95 146
Verilog-XL 144
Verisity Design Inc. 15, 109, 261
VHDL 146
VHDL International 149
VHSIC 146
VI 142, 318
Virtual Machine Works 228
VirtualWire 228
VITAL 147
VTOC 271, 321

w
W-CDMA 300
Wind River Systems Inc. 109

X ( ) 245
XBlue, 332
Xilinx Inc. 15, 35, 54, 73, 106, 110, 199, 328, 331
XM Radio 300
XoC 211

Z ( ) 245

ABM 303
84
112
, .
304
323
68
222
272
272
272
307
IP 88

88
79
49
XBlue 332
115
361
182, 330

244
271
243
100
, 35
, 46
50
50, 126
35
28, 245
1 51, 56, 88, 234, 277
77
, . 1
75
75
, 15
68, 144, 189, 310
, 35
138
, 104, 138
153

221
155

- 112
/ 85, 86

401
/ 86
49
50
50
183
IP 259
120
263
264
264, 268
264, 268
296
295, 296
227
154, 217
154, 155, 217
ASIC 154
RTL 158
/55, 156
157
160
288
227
18
319
92
289
158
, 258
86
77
79

79

81
373
79
78
79
119
273
338
- 348
116
245

319
336
304
234

IP 234

374
35
, 83
- 58
87
,
291
,
279
, 289
,
286
,
287
,
286
,
286
,
10- Ethernet 282
, Fibre
Channel 282
,
InifmiBand 282
, PCI
Express 282
,
Rapid I 282
,
SkyRail 282
291
291
61, 339
, 15
142
126

, . 36, 290
93
245
76
, 322
266
81
370
323
, 278
293

402

294
33, 37
191
82
334
115
369
82

335

349
349
16, 18, 47
148
28
117
62
115

133
335
31
LFSR 366
36
202
235
180, 209
286
144, 180, 209
261
38
46

93
39
115
343
125, 128
112
152
371
96

228
/ 86
75
114

306
254
35
58
336
- 295, 296
- 296

93
114

304, 361
41
39
73
114
() 227
141, 253
74
121
159
, 15

191
32
, 36
157
36
329
119
271
304
121
215

34, 65, 332


34
, 37
164
362
- 28
246
304
218
185
Mera-PAL 44
284

403
58
67, 298
28
120
120
103
25
194
141
182
, 51 167
, / + + 173
, / + + 176
164
21
49
49

89
37
198
-
248
211
- 189
79, 200

300
249
249
248
, .
349
249
52
319
- 36
, 144
37
226
117
180
245
196
- 189
, 148

206, 225
, 15
61
87

() / + + 166
49
92
, 36

() 304
117
342
265
18
20
76
132
107
28
33
33
28
168
( ) 93
204, 212
361
239
255

,
102
,
100
0437491 (1) 238
37
35
37
37
37
35
224
338
26
237
236
115
198, 218
28
, 329
30
18, 53
,
111
^- 65

404
69
63
65
69
65
, 60
, 92
, 62
, 328
, 74
, 278
, 134
- 56
41
18, 37
37
37
32
43
257
264
254
145
271
271
271
271
271
271
36
- 36
/7- 36
- 257
255
79
100
nopTJTAG 103
98
,
102
,
99
284
28
93
216
162
29
173, 266
224
120
120
263

120
259
46, 63
44
, .
44
IP 89

89
81
89
215
148
/++ 164
41
122
18, 37
266
26
ARM 200, 277
MIPS 200, 277
PowerPC 200, 202
173

160
64
117
130
, 162
203
116
268
19
42
152, 185
72, 76
RC- 350
18
361
365
33
125
98
303
156, 255
46
254

/++ 166
/++ 208

405
C/C++ 166
C/C++ () 166
49
21
61, 339
63
265
296
20
74
145
367
367
373
373
( ) 283
- 287
145
155
141, 253
254
156
142, 253
89
325

21
System HILO 244
Verilog-XL 144
64
90
251
20
241
68
278
18, 37, 44
28
, 15
242
241
( ) 265
371
/ 86, 223
128
334
141
189
227
266
, OVA 266, 269
, PSL 266, 269
, Sugar 266, 269

30
145
, 156
261
OpenVera 269
Vera 268
46
58, 298

88

317
196
257

258
131, 246, 256
33
28
116
28
60
ASIC 52
137
41
77
64b/66b 284
8/10 284
SONET Scrambling 284
119, 267
76
51
, 156

121
54, 69, 94
3, 4, 5 6 72
, 28
370
122
61
HDL- 253
173
, 317
35
- 348
260
35
35
- , .
245

406
245
36
, 185

, 36
, 323
, 36
, 36
, 37

304
, 320
31
78
77
372
137
, .
137
137
83
121
148, 265
235

182, 330
334
198
104
371
251
85
223
, .
18
21
20, 182
21, 183

, .
81, 84
93
93
159
159
85, 116
335
141, 142, 254
282
83, 289, 291
260
262, 322


322
246
132, 144
47
28
97
260
120
271
137
372
, 37

, 37
, 156

83
360
112
190
191
- 350
- 349

73
, 138
87
216

300
370
63
, 35
343

90
349
53
115
52
- 36
209
28

407
28
36
32
32
339
344
341
343
151
345

345

51, 195
, 200
81, 201
11 202
N105 202
11 202
?901 202
261
136

, . ]
49
94
73