Download as pdf or txt
Download as pdf or txt
You are on page 1of 26

II

- VHDL


....................................................................................

VHDL 2 ......................................
3 ....................................................................................
6 .........................................................................
8 .....................................................................
? 9 .......................................................................
13 ......................................................................................................
:1 ................................................................

15

................................................................................
* .................................................................
.......................................... Design Entry
................................. Design Flows
* ................................................
...........................................................................
............................................................... VHDL
................................................................................
..................................................................................................
..................................................... ModelSim
.............................................................. ModelSim
.................................................... ModelSim
.............................................. ModelSim
script ................................................. ModelSim
Test Bench * ......................
................................................. Riviera-PRO
.......................................................... Riviera-PRO
............................................... Riviera-PRO
.......................................... Riviera-PRO
script ............................................. Riviera-PRO
....................................................................................
.........................................................
RTL ................................... Gate-Level
* ...........................................
................................................ Quartus
* ..........................................................................
....................................................... * Quartus
)/( ....................... * DE2

16
17
20
22
26
29
33
35
35
37
39
41
43
44
47
48
50
53
56
57
60
60
66
69
73
80
87
92

- VHDL

III

:2 ................................................................

101

................................................................................
........................................................................
........................................................................................... VHDL
................................................................... VHDL
............................................................
..............................................................................
.................................................................. VHDL
......................................................................
......................................................................................... entity -
................................................................... architecture -
port - ......................................
.........................................................
Test Bench * ......................
..................................................................
* ...............................................................................
....................................................................................
............................................................................
......................................................................................
........................................................
...........................................................
............................................................................ Enumerated
) ( ..............................................................
bit_vector - ............................................. string
...........................................................................................
- ...............................
................................................. * VHDL-2008 -
- ..............
- ) (slice ...........................
bit - bit_vector ..............................................
.............................................................................................
.........................................................................
...................................................
- .........................................................
...........................................................................
..................................... * VHDL-2008 -
...................................................
................................................................................... package -
..................................................................................... use
* ............................................................
.....................................................................
.................................................................
......................................................... std_logic_1164

101
102
102
104
106
107
107
110
110
112
115
120
124
125
129
132
132
134
137
143
145
146
148
149
152
153
155
158
160
161
162
167
171
171
174
175
175
178
181
182
183
186

IV

- VHDL

std_logic_unsigned 193 .................. std_logic_signed


) 199 .................................... (VHDL-2008
- 200 ..........................................................
- * 202 .........................................................
- * 204 .........................................................
210 ................................ * VHDL-2008 -
211 ................... * VHDL-2008 -
217 ................................................... * VHDL-2008 -
context - 227 ............................ * VHDL-2008 -
VHDL-2008 - * 228 .................................................
:3 .....................................................

231

................................................................................
...................................................................
.........................................................................
...................
..................................................
...................................................................
.....................................................
.........................................................................................
............ wait
.............................................................
..........................................................................................
.............................................
- .........................................
- .................................................... if
if VHDL ...........................................
if "??" * ..........................................................
- ............................................... case
case VHDL .......................................
case ..............................
Matching-Case ................................................ * VHDL-2008 -
if case ...................... * VHDL-2008 -
......................................................................................................
..................................................................................... for
......................................................................... for
for ....................................................
............................................................................
..........................................................................................

232
233
233
236
242
244
245
249
250
254
255
255
260
267
270
272
275
277
279
280
281
283
283
284
288
291
296

- VHDL

:4 301 .....................................................
................................................................................
..................................
..........................
.........................................................
..............................................................
..........
..........................................................................
AHDL - ................................................. * VHDL
................................................................................
.........................................................................................
..............................................
Tri-State .................................................................. Open Drain
Latch ......................................................................
Tri-State ..................

302
303
306
307
308
312
313
320
322
330
333
334
342
345

:5 351 ..................................................
................................................................................
.................................................................................
........................................................
.................................................. bit
....................................................................................
.......................................
..................................................................................
Template - - ......................................... I
Template - - ........................................ II
..........................................................
...................................................
.......................................................
..........................................................................................
.....................................................
...................................................................
- .............................................
- .....................
..........................................................................................
.............................................................................
- .....................................
- ..........................................
..............................

VI

- VHDL

352
353
353
360
364
369
371
378
381
386
390
392
402
402
408
412
414
419
431
435
439
444

:6 447 ............................................................
................................................................................
................................................................................
.............................................. assert
.............................................................. assert
.......................................
* .............................................................
................................... * VHDL-2008 -
............................................................................................. wait
........................................................................... wait
........................................................................................ wait on
...................................................................................... wait until
- wait ................................................................... on + until
......................................................................................... wait for
................................................................. wait
.......................................................................................
.............................................................................................
........................................................... wait
..................................................................................................
......................................................
.............................................................................................
......................................................................
................................................................
* .......................................................................................
...............................................................................
* .........................................................
* .......................................................................
* ....................................................................
.......................................... * real

448
449
449
450
454
456
457
460
460
461
463
465
467
468
470
471
472
475
475
478
478
480
483
483
484
488
490
491

:7 ........................................................

493

................................................................................
..........................................................................
.....................................................
....................................................... ? Component
Top-to-Bottom ............................................. Bottom-Up
...............................................................
...................................................
..........................................................................................
.......................................................
)..................................................... (Named Association

491
499
504
506
508
511
513
517
518
519

- VHDL

VII

...................................................................................
.............................................................................................
............................................................................................
- ................................
........................................................................
) .................. (VHDL-2002
...........................................................
.............................................................................. BUS -
Test-Bench ........................................................................
? ..............................................
........................................................................ Test-Bench
Template - ......................................... Test-Bench
Test Bench - .......................................
Test Bench - .................................................................
Modelsim ............... Riviera
................................
..........................................................................................
............................................................................

521
522
524
527
528
529
530
534
535
535
537
543
544
546
552
556
560
564

:8 .......................................................

565

................................................................................
..........................................................
................................................
..........................................................................
................................................
.......................................
................................................................................
.......................................................... LPMs -
........................................................
.............................................................
- ........................................
......................................... generate
......................... generate
............................................ generate
.............................................................................
generate - ........................................................................
if-generate ? ..............................................
..........................................................
.........................................................................
generate ................................... * VHDL-2008 -
.......................................................................................... * Alias
)........................................ * (VHDL-2008

566
567
567
567
570
573
575
576
580
583
584
584
585
587
588
592
595
596
598
599
601
602

VIII

- VHDL

)...................................... * (VHDL-2008
* .................................................................
* ........................................................
* ..........................................................................
) ( * .........................................
* ........................................................
* ........................................
* ................................
*
* ..............................................................................
* ...........................................................
* ..................................................
................................................ * configuration specifications -
................................................... * configuration declarations -
* ...........................................................
.......................................... * VHDL-93 -
* ..........................................................
.......................................................... * LPM
............................................. * LPMs
.................. * LPMs
- * ...........................................
...................................... * Quartus
Altera * ....
LPM * ........
....................................................................... * Mega-Wizard -

603
605
605
605
607
608
609
611
612
615
619
619
621
623
626
629
632
632
634
636
638
643
644
648
653

:9 ......................................

657

................................................................................
........................................................................
enumerated type ........... type
.................................. * type
............................................ * subtype
* ...................................................................................
) (attributes * ................
* .................................
* .............
...........................................................................................
...............................................................
................................................................................
........................................................
...............................................................
.....................................................

658
659
659
662
664
668
671
674
676
677
677
682
684
691
698

- VHDL

IX

? ..............................................
................................................................
.....................
present_state ...........................

702
703
708
711

:10 .........................................

719

................................................................................
............................................................................
..............................................................................
......................................................................
..........................................
....................................................
................................................................................
* ......................................................
* .................................................................................................
.........................
- ...................................................................
.......................................................................
....................................................................................... DPRAM
..................................

720
721
721
722
724
725
733
738
741
747
747
753
756
760

:11 .......................................

767

................................................
)..................... (function specification
)............................................................... (function call
)................... (function specification
..............................................
.....................................................
.....................................................................................
* .............................................................
........................................ * Resolved data type
* .......................................................
......................................................................... Procedures -
.....................................................................................
..........................................................................
.....................
.................................................................. BFM
....................................................................... * std_logic_1164
............................................................. * std_logic_1164
std_logic * ..............................................................
* ...........................................

768
768
771
773
777
778
779
781
783
785
786
786
789
790
793
795
795
798
805

- VHDL

signed 805 ............................ * unsigned


signed 815 ...................................................... * unsigned
unsigned 818 .... * signed
std_logic_vector * 819 .........
:12 825 .....................................................................
................................................................................
............................................................................... textio
......................................................................
....................................................
.......................................................
) ( ...........
) ( ........
.........................................................................
std_logic_textio ................................................... Synopsys
....................................................
characters .................................................................... strings
....................................................................................... strings
)........................................................................ (integers
)................................................................ (real
bit ........................................................ bit_vector
boolean enumerated data type ..................
.................................. VHDL 93
............................................... * VHDL 87
ROM ..........................................................
..........................................................................................

826
826
829
832
834
835
839
841
844
847
847
847
848
849
851
852
853
855
856
860

867 .................................................................................
VHDL 868 ....................................
Modelsim GUI - 873 .................................................
881 ...........................................................................................

- VHDL

XI

XII

- VHDL

- VHDL

VHDL
"" :
) (Microprocessors ).(Programmable Devices
, ,
.
. ,
. C++ ,C
.
,
, .
) , ( . ,
,
.

. ,
.

.
74 ,
.
) ( - .

.
.
,C
.VHDL
VHDL .
.Verilog :
VHDL Verilog ,
, . ASIC
) .(VLSI
,VHDL
: ) ( )
( . VHDL ,
) Design Flow(.

- VHDL


) , ,(
.VHDL .
" :
"" , " " " ,
.
" .
. : 51111
, 310105 , 044262/234248
, 1 1 044160/044151 -
.
" ) ( :
" " ) (6.27" " )
.(4.22 " :
) "VHDL .(11.9014

.
:
.1
.2
.3
.4
.5
.6
.7
.8
.9
.10
.11
.12
,
) (Design Flow .
.
Aldec \ Mentor ,Altera
.
) (5 script .

- VHDL

Test Bench ) 7( .
Test-Bench
, .
, VHDL .
, .
VHDL . :
) ,(entity ) (architecture ) .(Package
) (Data Types ) (Operators
. ,
VHDL ) .(Strongly Typed Language
.
.
: ) (process .
) .(Variables
) ,(conditioning ) (selection
).(loops
" " .
) (Templates ,

) .(Sick Hardware
.
. " " ,
" " !
: ) ,(Selector\ ) ,(De-Multiplexer\Decoder
) ,(Encoder Tri-State .Open-Drain .Latch
" " ,
.

.
.
. " " ,
" " !
: ) ,(Flip-Flops )(Counters
, ) (Registers .
RTL
.
,
.Test Bench wait
: , reset .
4

- VHDL

, ,
Test-Bench - .
) (
) (6 - .
,7 )Behavioral
.(Coding Style VHDL )Structural Description
.(Style 7 .
.
.Test-Bench
8 .
) (Generics .Generate
) .(LPMs , ,
,
.
.
9 , .VHDL
.
.VHDL
Mealy Moore ,
Moore ).(Direct Moore Machine
10
.VHDL RAM ,ROM :
Dual Port RAM .
11
.VHDL
std_logic1164 : numeric_std :
std_logic_arith std_logic_signed
.std_logic_unsigned
12 .
textio .std_textio
) .(Binary Files
VHDL-87 - .VHDL-93

.
) (.

- VHDL


ABEL ,AHDL ,
VHDL .
, ,
) VHDL Language Reference Manual .(LRM -
, VHDL
) Very Hard Description Language :
.(1
:





).(Strongly Typed Language

, VHDL ,
) (.
,
. , ,
,
.
.
. , - .
.
"" . ,
.
) .( .. 3.3 ,3.2 ,3.1 - 3
, .
ModelSim ,Riviera-Pro
) Active-HDL - , (Aldec ) ISim ) VCS ,(Xilinx ,(Synopsys
) NC-VHDL NCSim ,(Cadence .
.
Quartus Altera Precision RTL
.Mentor , .

- VHDL

) 4
5 ( ,
ABEL-Synario : ,Data I/O
Warp2 Web-Pack ,Cypress ISE FPGA-Compiler ,Xilinx
FPGA-Express Design-Compiler ,Synopsys Synplify .Synplicity
"
.
" ,
Modelsim-AE-Starter ,Altera :
ModelSim-PE Riviera-Pro
,Quartus Web Edition ISE Web Edition
) 1 (.

, .
.
,
7 ,6 .8 11 ,10 .12
1 : 5 ) 9
( .
.* - !
,* - )
( ,
.
7
.* -
.Test - Bench - 6 8
* . 10 .
) (
.
,
) (.

- VHDL


.VHDL
. ,
,
.
.
"- ) ( ,"-- )
( , , ECI ,ACS ,RSL , .
.
) (
.
.
. "
,
VHDL ,
) 1 1( , .

.
VLSI ,
. .
, .
VHDL ,
" .
,
.
.

. .

' ' .
.
.
.
, Altera .
Altera ) ACAP
,(Altera )
:Altera - , ,"- , VHDL
.(ECI

- VHDL

.
, , , ,
.
. )
( , Model-Sim Mentor
.Aldec VHDL
,
) , ,"( .
VHDL .
.
,
. . .
) "(

. .

?
.

. ,
.
. ,
.
: :
www.amos.eguru-il.com
,
:

.Altera
) (

,Altera
. )
(Altera
Quartus .
.
" : Verilog " .
Verilog
, .

- VHDL

) ,(2008 VHDL
) .(VHDL-2008
VHDL 1987 .
1993 .2002 ,

. .
, , ) 2008
(2009 -
VHDL Verilog ) .(2005 VHDL
,
.Verification
.
.
Mentor ,ALDEC :
.
) .(Aldec

.
Xilinx ,Altera Lattice
, .
.
VHDL
) Verification & Hardware Description Language
(.
? ,

. .
)
( . .

) (VHDL-2008 . ) PSL
VHDL- Procedural ,IP-Protection & Encryption ,(Verification -
,(VHPI) Interface Generics ,OS-VVM ,Packages

, .
. .

10

- VHDL

,
. :

Fixed Point -
Floating Point -
alias -


min max

case Don't Care
if conditional expression

std_logic_vector
port map

)(sized bit strings
context
unary reduction operators

out
generate


, . ,
.Modelsim
ALDEC .Riviera-Pro
VHDL .
,Modelsim .
,ALDEC
,Webinras - .

- VHDL

11

) ,(1 -
.Riviera-Pro Modelsim - Riviera-Pro -
,
.
. ,
) ALDEC( Alicja
) Marciniszyn ,(ALDEC
.
,
Modelsim . Riviera-Pro
, .
, .Altera
Quartus ,Max+Plus II :
Precision-RTL .
Quartus .Max+Plus-II
Max+Plus-II Quartus
. ) ,(1
- Quartus
.
. Max+Plus-II - .
,
- * . - ,
.
. ) (
.


,
.

.
.

12

- VHDL

:
amos.zaslavsky@gmail.com
amos.books@gmail.com
amos@eguru-il.com
:
050-7270673
)( 04-8230219
.

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

..

- VHDL

13

: , .

14

- VHDL

You might also like