Running the snapshot debugger chapter 4. tasks, Vhdl instantiation – Achronix ACE Version 5.0 User Manual
Page 300

Running the SnapShot Debugger
Chapter 4. Tasks
32
wire arm ; / / / / / S i g n a l i n d i c a t e s SnapShot i s armed ( and has s t a r t e d t e s t i n g p a t t e r n s )
33
34
//////// Now SnapShot macro b l o c k i n s t a n t i a t i o n ///////
35
ACX SNAP SHOT # ( . MNTR WIDTH(MNTR WIDTH) ,
36
.DUTNAME(DUTNAME) ,
37
. OUTPUTPIPELINING ( OUTPUTPIPELINING )
38
)
39
s n a p s h o t i n s t a n c e ( . t c k ( t c k ) ,
40
. tms ( tms ) ,
41
. t r s t n ( t r s t n ) ,
42
. t d i ( t d i ) ,
43
. tdo ( tdo ) ,
44
. u s r c l k ( u s r c l k ) ,
45
. Monitor ch ( monitor ch ) ,
46
. t r i g g e r c h ( monitor ch [ 3 5 : 0 ] ) ,
47
. S t i m u l i ( s t i m u l i ) ,
48
. R s t n o u t ( r s t n o u t ) ,
49
. Arm( arm )
50
) ;
51
52
u s e r s l o g i c
53
u s e r s l o g i c b l o c k i n s t a n c e ( . c l k ( u s r c l k ) ,
54
. r s t n ( u s r r s t n ) ,
55
. d a t a o u t f r o m b l o c k ( monitor ch ) ,
56
. o p t i o n a l t e s t r s t n i n ( r s t n o u t ) ,
57
. o p t i o n a l t e s t a r m i n ( arm ) ,
58
. o p t i o n a l t e s t s t i m u l i i n ( s t i m u l i )
59
) ;
60
endmodule
61
///////////// End o f Sample Example ////////////////////////
VHDL Instantiation:
1
−−VHDL e n t i t y f o r Top−Level Design Example with SnapShot Macro −−
2
−− as well as Users Design block . This example w i l l guide the
−−
3
−− user how t o implement SnapShot macro with Users Logic block . −−
4
L i b r a r y IEEE ;
5
Use IEEE . s t d l o g i c 1 1 6 4 . a l l ;
6
Use IEEE . s t d l o g i c u n s i g n e d . a l l ;
7
Use IEEE . n u m e r i c b i t . a l l ;
8
9
e n t i t y u s e r d e s i g n w i t h s n a p s h o t i s
10
g e n e r i c
(
11
MNTR WIDTH : n a t u r a l : = 7 2
12
−− This above parameter should be v a r i e d ( 3 6 , 7 2 , 1 0 8 , 1 4 4 )
13
−− depending on t he number o f user s i g n a l s t o be monitored
14
−− i n SnapShot
15
) ;
16
p o r t ( t c k
: i n
s t d l o g i c ;
17
t r s t n
: i n
s t d l o g i c ;
18
tms
: i n
s t d l o g i c ;
19
t d i
: i n
s t d l o g i c ;
20
tdo
: out s t d l o g i c ;
21
u s r c l k
: i n
s t d l o g i c ;
22
u s r r s t n : i n
s t d l o g i c
23
) ;
24
end u s e r d e s i g n w i t h s n a p s h o t ;
25
26
a r c h i t e c t u r e arch o f u s e r d e s i g n w i t h s n a p s h o t i s
27
component ACX SNAP SHOT i s
28
g e n e r i c
(
29
MNTR WIDTH : n a t u r a l ;
30
−− This above parameter should be v a r i e d ( 3 6 , 7 2 , 1 0 8 , 1 4 4 )
31
−− depending on t he number o f user s i g n a l s t o be monitored
32
33
OUTPUTPIPELINING : n a t u r a l ;
34
−− I f we a r e using t he SnapShot outputs S t i m u l i , Arm , and
35
−− R s t n o u t i n u s e r s l o g i c t o d r i v e behavior , we should s e t
36
−− t h i s t o a value g r e a t e r than the d e f a u l t o f 0 .
37
−− S e v e r a l v a l u e s may need t o be t r i e d b e f o r e d i s c o v e r i n g
38
−− the optimal b a l a n c e o f timing c r i t i c a l i t y and SnapShot a r e a .
39
40
DUTNAME: s t r i n g
41
−− This parameter value should match th e user ’ s module name .
42
) ;
43
p o r t ( t c k
: i n
s t d l o g i c ;
44
t r s t n : i n
s t d l o g i c ;
45
tms
: i n
s t d l o g i c ;
46
t d i
: i n
s t d l o g i c ;
47
tdo
: out s t d l o g i c ;
48
u s r c l k
: i n
s t d l o g i c ;
49
Monitor ch : i n
s t d l o g i c v e c t o r ( MNTR WIDTH−1 downto 0 ) ;
50
t r i g g e r c h : i n
s t d l o g i c v e c t o r ( 3 5 downto 0 ) ;
UG001 Rev. 5.0 - 5th December 2012
288