ÿþK u r s
P o l e k t u r z e p o p r z e d n i c h c z [c i
k u r s u C z y t e l n i k p o w i n i e n
w i e d z i e , c z y m s p r o c e s o r y
s o f t c o r e i g d z i e m o |n a j e
s t o s o w a . P r z e d s t a w i o n o r ó w n i e |
p r o c e s i m p l e m e n t a c j i p r o s t e g o
s y s t e m u c y f r o w e g o z p r o c e s o r e m
N i o s I I p r z y u |y c i u p r o g r a m ó w
p r o j e k t o w y c h f i r m y A l t e r a .
W b i e |c y m a r t y k u l e o p i s a n o
e t a p y t w o r z e n i a o p r o g r a m o w a n i a
d l a p r o c e s o r ó w N i o s I I
w [r o d o w i s k u p r o g r a m i s t y c z n y m
N i o s I I S B T n a p r z y k Ba d z i e
o b s Bu g i p o r t ó w G P I O .
P r o c e s o r y N i o s I I
w u k Ba d a c h F P G A ( 3 )
D o d a t k o w e m a t e r i a By
n a C D i F T P
O b s Bu g a p o r t ó w G P I O
D o d a t k o w e m a t e r i a By n a C D i F T P :
C z [ 3 k u r s u j e s t w p r o w a d z e n i e m d o P o r t y I / O p r o c e s o r a N i o s I I
f t p : / / e p . c o m . p l , u s e r : 1 6 1 9 5 , p a s s : 4 k 1 7 u 6 0 6
o m ó w i e n i a p r o g r a m o w e j o b s Bu g i p o d s t a - D o t a k u t w o r z o n e g o p r o j e k t u d o d a n e
w o w y c h b l o k ó w p e r y f e r y j n y c h m i k r o p r o - z o s t a n p o r t y G P I O . F i r m a A l t e r a o f e r u j e
c e s o r a N i o s I I d o s t p n y c h w p r o g r a m i e b l o k I P d o o b s Bu g i p o r t ó w G P I O o n a z w i e d o d a d w u k r o t n i e b l o k I P z u s t a w i e n i a -
S O P C B u i l d e r . W a r t y k u l e o m ó w i o n o o b - P I O ( P a r a l l e l I O ) . m i k o n f i g u r a c y j n y m i p o k a z a n y m i n a r y -
s Bu g p o r t ó w G P I O . W t y m c e l u z o s t a n i e W b i b l i o t e c e b l o k ó w s u n k u 1 9 i r y s u n k u 2 0 , o d p o w i e d n i o , d o
z m o d y f i k o w a n y p r o j e k t c y f r o w e g o s y s t e m u I P p r o g r a m u d o t w o - o b s Bu g i d i o d L E D i p r z y c i s k ó w . J a k m o |n a
u t w o r z o n e g o w d r u g i e j c z [c i k u r s u . r z e n i a s y s t e m ó w c y - z a u w a |y , b l o k P I O u m o |l i w i a t w o r z e n i e
P r z y d a t n f u n k c j [r o d o w i s k a p r o j e k - f r o w y c h S O P C b u -
t o w e g o Q u a r t u s I I j e s t k o p i o w a n i e p r o j e k - i l d e r u m i e s z c z o n o
t ó w . U m o |l i w i a t o t w o r z e n i e p o d o b n y c h g o w z a k Ba d c e P e r i -
p r o g r a m ó w b e z |m u d n e g o p r z e p i s y w a n i a p h e r a l s > M i c r o c o n -
c z [c i k o d u . t r o l l e r P e r i p h e r a l s
P r z e d d o d a n i e m d o s y s t e m u p o r t ó w ( r y s u n e k 1 8 ) . J e s t
G P I O n a l e |y u t w o r z y k o p i p r o j e k t u t o u n i w e r s a l n y b l o k
W i t a j S w i e c i e o n a z w i e G P I O . W t y m I P , k t ó r y w z a l e |-
c e l u n a l e |y g o o t w o r z y , a n a s t p n i e n o [c i o d k o n f i g u r a -
z m e n u P r o j e c t w y b r a C o p y P r o j e c t , w p i - c j i , m o |e p r a c o w a
s a n a z w i w s k a z a m i e j s c e n a d y s k u , j a k o : p o r t w y j [c i o w y
g d z i e z o s t a n z a p i s a n e p l i k i ( n a p r z y k Ba d ( o u t p u t ) , w e j [c i o w y
f o l d e r p o r t y _ g p i o r y s u n e k 1 7 ) . ( i n p u t ) l u b d w u k i e -
r u n k o w y ( b i d i r e c t i o -
n a l ) .
N a p By t c e z e s t a -
w u e w a l u a c y j n e g o r y s u n e k 1 8 . u m i e j -
s d o s t p n e c z t e - s c o w i e n i e b l o k u I P
r y p r z y c i s k i o r a z P I O w b i b l i o t e c e r y s u n e k 1 9 . u s t a w i e n i a k o n f i g u r a c y j n e
r y s u n e k 1 7 . K o p i o w a n i e p r o j e k t u w p r o - o s i e m d i o d L E D . p r o g r a m u s O P C b l o k ó w P I O d l a p o r t u w y j [c i o w e g o d o
g r a m i e Q u a r t u s I I D o p r o j e k t u n a l e |y B u i l d e r s t e r o w a n i a d i o d L E D
7 0 E L E K T R O N I K A P R A K T Y C Z N A 1 2 / 2 0 1 0
O b s Bu g a p o r t ó w G P I O
p o r t ó w o m a k s y m a l n e j s z e r o k o [c i w y n o - P o z a m k n i c i u p r o g r a m u S O P C B u - c o n i e m o g b y m i d z y s o b w y m i e n i a n e .
s z c e j 3 2 b i t y . M o |n a z a u w a |y , |e p r o j e k - i l d e r p r o g r a m Q u a r t u s I I w y [w i e t l i z a p y - D o d a t k o w o , s y s t e m y c y f r o w e u t w o r z o n e
t a n t s y s t e m u c y f r o w e g o w u k Ba d z i e F P G A t a n i e o a k t u a l i z a c j s y m b o l u s y s t e m u . P o w p r o g r a m i e S O P C B u i l d e r w w e r s j i 7 . 0
m o |e d o d a w i e l e t a k i c h p o r t ó w i j e s t o d [w i e |e n i u s y m b o l u g r a f i c z n e g o n a l e - l u b n i |s z e j n i e m o g b y u |y w a n e w p r o -
o g r a n i c z o n y t y l k o l i c z b d o s t p n y c h w y - |y d o d a w y p r o w a d z e n i a d o k o Dc ó w e k c e s i e p r o j e k t o w y m N i o s I I S B T .
p r o w a d z e D u k Ba d u p r o g r a m o w a l n e g o o r a z u k Ba d u F P G A o r a z p r z y p i s a o d p o w i e d n i e W p r o g r a m i e N i o s I I S B T m o |n a t w o -
p r z e s t r z e n i a d r e s o w p r o c e s o r a N i o s I I . k o Dc ó w k i d o l i n i i s y g n a Bo w y c h . P o p r a - r z y t r z y r o d z a j e p r o j e k t ó w : a p l i k a c j e , B S P
P o r t y m o g m i e n a z w z g o d n z p e Bn i o n w i o n y p l i k e d y t o r a s c h e m a t ó w p r o g r a m u o r a z b i b l i o t e k i u |y t k o w n i k a . W p r o j e k c i e
f u n k c j , c o u Ba t w i a p r a c p r o g r a m i [c i e . Q u a r t u s I I z a m i e s z c z o n o n a r y s u n k u 2 2 .
N a r y s u n k u 2 1 p r z e d s t a w i o n o p r o j e k t W d y m k a c h w i d o c z n y c h p r z y s y m b o -
o p i s y w a n e g o s y s t e m u , w k t ó r y m u t w o r z o - l a c h w y p r o w a d z e D I O p r o g r a m Q u a r t u s
n o d w a p o r t y : l e d _ p i o d o s t e r o w a n i a d i o - w y [w i e t l a p r z y p i s a n e k o Dc ó w k i u k Ba d u
d a m i L E D i b u t t o n _ p i o d o o d c z y t y w a n i a F P G A . S o n e w i d o c z n e d o p i e r o p o k o m -
s t a n u p r z y c i s k ó w . P o d o d a n i u p o r t ó w G P I O p i l a c j i p r o j e k t u .
n a l e |y w y g e n e r o w a s y s t e m .
Zr o d o w i s k o
L i s t i n g 1 . P l i k s y s t e m . h z o p i s e m s y s t e m u c y f r o w e g o
p r o j e k t o w e N i o s
# i f n d e f _ _ S Y S T E M _ H _
I I E D S
# d e f i n e _ _ S Y S T E M _ H _
D o t w o r z e n i a p r o -
/ * I n c l u d e d e f i n i t i o n s f r o m l i n k e r s c r i p t g e n e r a t o r * /
# i n c l u d e l i n k e r . h g r a m ó w d l a p r o c e s o r a
N i o s I I s Bu |y [r o d o w i -
/ *
s k o p r o g r a m i s t y c z n e
* C P U c o n f i g u r a t i o n
N i o s I I E D S ( E m b e d d e d
*
* /
D e v e l o p e m n t S u i t e ) .
# d e f i n e A L T _ C P U _ A R C H I T E C T U R E a l t e r a _ n i o s 2 U m o |l i w i a o n o z a r z -
# d e f i n e A L T _ C P U _ B I G _ E N D I A N 0
d z a n i e p r o j e k t a m i o p r o -
# d e f i n e A L T _ C P U _ B R E A K _ A D D R 0 x 8 2 0
# d e f i n e A L T _ C P U _ C P U _ F R E Q 5 0 0 0 0 0 0 0 u
g r a m o w a n i a d l a r ó |-
# d e f i n e A L T _ C P U _ C P U _ I D _ S I Z E 1
n y c h s y s t e m ó w c y f r o -
# d e f i n e A L T _ C P U _ C P U _ I D _ V A L U E 0 x 0
# d e f i n e A L T _ C P U _ C P U _ I M P L E M E N T A T I O N t i n y
w y c h , k o m p i l a c j k o d u
# d e f i n e A L T _ C P U _ D A T A _ A D D R _ W I D T H 1 6
p r o g r a m u o r a z d e b u -
# d e f i n e A L T _ C P U _ D C A C H E _ L I N E _ S I Z E 0
# d e f i n e A L T _ C P U _ D C A C H E _ L I N E _ S I Z E _ L O G 2 0
g o w a n i e . Zr o d o w i s k u
# d e f i n e A L T _ C P U _ D C A C H E _ S I Z E 0
# d e f i n e A L T _ C P U _ E X C E P T I O N _ A D D R 0 x 8 0 2 0
N i o s I I E D S u m o |l i w i a
# d e f i n e A L T _ C P U _ F L U S H D A _ S U P P O R T E D
k o r z y s t a n i e z d w ó c h
# d e f i n e A L T _ C P U _ F R E Q 5 0 0 0 0 0 0 0
# d e f i n e A L T _ C P U _ H A R D W A R E _ D I V I D E _ P R E S E N T 0
r ó |n y c h p r o c e s ó w p r o -
# d e f i n e A L T _ C P U _ H A R D W A R E _ M U L T I P L Y _ P R E S E N T 0
j e k t o w y c h p r z y t w o r z e -
# d e f i n e A L T _ C P U _ H A R D W A R E _ M U L X _ P R E S E N T 0
# d e f i n e A L T _ C P U _ H A S _ D E B U G _ C O R E 1
n i u p r o g r a m ó w :
# d e f i n e A L T _ C P U _ H A S _ D E B U G _ S T U B
# d e f i n e A L T _ C P U _ H A S _ J M P I _ I N S T R U C T I O N N i o s I I S o f t w a r e B u i l d
# d e f i n e A L T _ C P U _ I C A C H E _ L I N E _ S I Z E 0
T o o l s ( S B T ) ,
# d e f i n e A L T _ C P U _ I C A C H E _ L I N E _ S I Z E _ L O G 2 0
# d e f i n e A L T _ C P U _ I C A C H E _ S I Z E 0
N i o s I I I D E .
# d e f i n e A L T _ C P U _ I N S T _ A D D R _ W I D T H 1 6
N i o s I I I D E b y B
# d e f i n e A L T _ C P U _ N A M E c p u _ 0
# d e f i n e A L T _ C P U _ R E S E T _ A D D R 0 x 8 0 0 0
u |y w a n y w e w c z e -
. . .
/ * [n i e j s z y c h w e r s j a c h
* D e f i n e f o r e a c h m o d u l e c l a s s m a s t e r e d b y t h e C P U
[r o d o w i s k a p r o j e k t o -
*
* /
w e g o . N i o s I I S B T j e s t
a k t u a l n i e w s p i e r a n y m
# d e f i n e _ _ A L T E R A _ A V A L O N _ J T A G _ U A R T
# d e f i n e _ _ A L T E R A _ A V A L O N _ O N C H I P _ M E M O R Y 2
d l a p r o c e s o r ó w N i o s I I
# d e f i n e _ _ A L T E R A _ A V A L O N _ P I O
i d o m y [l n i e u r u c h a -
# d e f i n e _ _ A L T E R A _ A V A L O N _ S Y S I D
# d e f i n e _ _ A L T E R A _ A V A L O N _ T I M E R
m i a n y p r z y o t w i e r a n i u
# d e f i n e _ _ A L T E R A _ N I O S 2
. . . [r o d o w i s k a p r o j e k t o w e -
/ *
g o . O b a p r o c e s y p r o j e k -
* l e d _ p i o c o n f i g u r a t i o n
*
t o w e s z b u d o w a n e n a
* /
b a z i e [r o d o w i s k a E c -
# d e f i n e A L T _ M O D U L E _ C L A S S _ l e d _ p i o a l t e r a _ a v a l o n _ p i o
l i p s e , k o r z y s t a j z t y c h
# d e f i n e L E D _ P I O _ B A S E 0 x 4 0
# d e f i n e L E D _ P I O _ B I T _ C L E A R I N G _ E D G E _ R E G I S T E R 0 s a m y c h p r o g r a m ó w
# d e f i n e L E D _ P I O _ B I T _ M O D I F Y I N G _ O U T P U T _ R E G I S T E R 1
n a r z d z i o w y c h p r z y
# d e f i n e L E D _ P I O _ C A P T U R E 0
# d e f i n e L E D _ P I O _ D A T A _ W I D T H 8
t w o r z e n i u k o d u w y -
# d e f i n e L E D _ P I O _ D O _ T E S T _ B E N C H _ W I R I N G 0
n i k o w e g o , a p r o g r a m y
# d e f i n e L E D _ P I O _ D R I V E N _ S I M _ V A L U E 0 x 0
# d e f i n e L E D _ P I O _ E D G E _ T Y P E N O N E
i b i b l i o t e k i u t w o r z o n e
# d e f i n e L E D _ P I O _ F R E Q 5 0 0 0 0 0 0 0 u
p r z y u |y c i u j e d n e g o
# d e f i n e L E D _ P I O _ H A S _ I N 0
# d e f i n e L E D _ P I O _ H A S _ O U T 1
p r o c e s u m o g b y u |y -
# d e f i n e L E D _ P I O _ H A S _ T R I 0
# d e f i n e L E D _ P I O _ I R Q - 1
w a n e p r z e z d r u g i . J e d -
# d e f i n e L E D _ P I O _ I R Q _ I N T E R R U P T _ C O N T R O L L E R _ I D - 1
n a k r ó |n i s i o n e s p o -
# d e f i n e L E D _ P I O _ I R Q _ T Y P E N O N E
# d e f i n e L E D _ P I O _ N A M E / d e v / l e d _ p i o
s o b e m t w o r z e n i a p l i k u r y s u n e k 2 0 . u s t a w i e n i a k o n f i g u r a c y j n e
# d e f i n e L E D _ P I O _ R E S E T _ V A L U E 0 x 0
m a k e f i l e z p o l e c e n i a m i b l o k ó w P I O d l a p o r t u w e j [c i o w e g o d o
# d e f i n e L E D _ P I O _ S P A N 3 2
# d e f i n e L E D _ P I O _ T Y P E a l t e r a _ a v a l o n _ p i o
d l a k o m p i l a t o r a , p r z e z o d c z y t y w a n i a s t a n u p r z y c i s k ó w
E L E K T R O N I K A P R A K T Y C Z N A 1 2 / 2 0 1 0 7 1
K u r s
a p l i k a c j i j e s t p r z e c h o w y w a n y k o d zr ó d Bo -
w y p r o g r a m u d l a p r o c e s o r a N i o s I I . P r o j e k t
B S P j e s t b i b l i o t e k p r o g r a m o w z o p i s e m
w a r s t w y s p r z t o w e j s y s t e m u c y f r o w e g o ,
d l a k t ó r e g o j e s t t w o r z o n a a p l i k a c j a . Z a w i e -
r a o n s t e r o w n i k i p r o g r a m o w e i n i e z b d n e
p l i k i n a g Bó w k o w e d l a j e d n e g o p r o c e s o r a
N i o s I I w d a n y m s y s t e m i e c y f r o w y m . J e |e -
l i w s y s t e m i e c y f r o w y m s d w a l u b w i c e j
p r o c e s o r y N i o s I I , t o d l a k a |d e g o z n i c h n a -
l e |y u t w o r z y o d r b n y p r o j e k t B S P o p c j o -
n a l n i e z a w i e r a j c y d o d a t k o w e b i b l i o t e k i
p r o g r a m o w e o f e r o w a n e p r z e z p a r t n e r ó w
f i r m y A l t e r a , t a k i e j a k n a p r z y k Ba d s y s -
t e m o p e r a c y j n y m C / O S - I I ( b e z l i c e n c j i ) .
P r o j e k t b i b l i o t e k p r o g r a m o w y c h s Bu |y d o
g r o m a d z e n i a c z s t o u |y w a n y c h w r ó |n y c h
p r o j e k t a c h f u n k c j i , n a p r z y k Ba d b i b l i o t e k i r y s u n e k 2 1 . P r o j e k t s y s t e m u c y f r o w e g o z p o r t a m i G P I O
f u n k c j i g r a f i c z n y c h .
P r o j e k t B S P
J a k w s p o m n i a n o , p r o j e k t B S P z a w i e r a
d e f i n i c j [r o d o w i s k a u r u c h o m i e n i o w e g o
p r o c e s o r a N i o s I I o r a z b i b l i o t e k z f u n k -
c j a m i o b s Bu g i p e r y f e r i ó w d o s t p n y c h
w s y s t e m i e c y f r o w y m , d l a k t ó r e g o j e s t o n
t w o r z o n y . P r o j e k t B S P i z o l u j e w i c p r o j e k t
a p l i k a c j i o d d e f i n i c j i z a s o b ó w s p r z t o -
w y c h , t a k i c h j a k : m a p a p a m i c i p r o c e s o -
r a , p e r y f e r i a c z y k o n f i g u r a c j a p r o c e s o r a .
W p r o g r a m i e N i o s I I S B T m o |n a u t w o r z y
d w a r o d z a j e p r o j e k t ó w B S P : k o r z y s t a j -
c y c h z w a r s t w y a b s t r a k c j i s p r z t u A l t e r a
H A L l u b p i s a n y c h d l a s y s t e m u o p e r a c y j n e -
g o m C / O S - I I . S y s t e m o p e r a c y j n y m C / O S - I I
o r a z p r o g r a m y p i s a n e d l a n i e g o k o r z y s t a j
z b i b l i o t e k i p r o g r a m o w e j A l t e r a H A L ( p o -
r ó w n a j r y s u n e k 2 3 a i b ) .
A b y u t w o r z y n o w y p r o j e k t B S P n a - r y s u n e k 2 2 . P l i k e d y t o r a s c h e m a t o w e g o z p r o j e k t o w a n y m s y s t e m e m c y f r o w y m
l e |y w p r o g r a m i e N i o s I I S B T z m e n u
F i l e w y b r a o p c j N e w > N i o s I I B o a r d s y s t e m . h z n a j d u j c y s i w g Bó w n y m k a - z d e f i n i o w a n e d o s t p n e p e r y f e r i a m i k r o p r o -
S u p p o r t P a c k a g e ( r y s u n e k 2 4 ) . N a s t p n i e t a l o g u p r o j e k t u B S P . Z a w i e r a o n m a k r o d e - c e s o r a . K a |d e z u r z d z e D p e r y f e r y j n y c h m a
w p r o w a d z i n a z w p r o j e k t u , w s k a z a p l i k f i n i c j e u |y w a n e p r z e z f u n k c j e b i b l i o t e k i p o d a n e u s t a w i e n i a k o n f i g u r a c y j n e w p l i k u
* . s o p c z o p i s e m s y s t e m u c y f r o w e g o o r a z H A L . N a l i s t i n g u 1 z a m i e s z c z o n o f r a g - s y s t e m . h . N a l i s t i n g u 1 p r z e d s t a w i o n o
w y b r a t y p p r o j e k t u . W d a l s z e j c z [c i m e n t t e g o p l i k u , z k t ó r e g o m o |n a o d c z y t a u s t a w i e n i e k o n f i g u r a c y j n e t y l k o d l a p o r t u
k u r s u b d t w o r z o n e p r o j e k t y b e z s y s t e - m . i n . : c z s t o t l i w o [ s y g n a Bu z e g a r o w e g o G P I O , d o k t ó r e g o d o Bc z o n o d i o d y L E D z e -
m u o p e r a c y j n e g o , d l a t e g o n a l e |y w y b r a ( A L T _ C P U _ F R E Q - 5 0 M H z ) i w e r s j p r o - s t a w u e w a l u a c y j n e g o . N a z w y d e f i n i c j i z a -
o p c j A l t e r a H A L . N a r y s u n k u 2 5 p r z e d - c e s o r a ( A L T _ C P U _ C P U _ I M P L E M E N T A T I O N c z y n a j s i o d n a z w y m o d u Bu z d e f i n i o w a -
s t a w i o n o w i d o k o k n a k r e a t o r a t w o r z e n i a - N i o s I I / e ) . W p l i k u t y m s r ó w n i e | n e j w p r o g r a m i e S O P C B u i l d e r . D e f i n i c j e t e
p r o j e k t u B S P .
P o r o z w i n i c i u d r z e w a u t w o r z o n e g o
p r o j e k t u B S P ( r y s u n e k 2 6 ) m o |n a z a u w a -
|y , |e p r o g r a m N i o s I I S B T u t w o r z y B m . i n .
p l i k i n a g Bó w k o w e , d e f i n i c j e l i n k e r a d l a
p r o c e s o r a N i o s I I o r a z d o Bc z y B b i b l i o t e k i
z e s t e r o w n i k a m i u k Ba d ó w p e r y f e r y j n y c h
( f o l d e r d r i v e r s ) i b i b l i o t e k A l t e r a H A L
( f o l d e r H A L ) . W [r ó d u t w o r z o n y c h p l i k ó w
z n a j d u j e s i s u m m a r y . h t m l , k t ó r y m o |n a
o t w o r z y w p r z e g l d a r c e W W W . Z a w i e r a
o n p o d s t a w o w e i n f o r m a c j e o p r o c e s o r z e
i s y s t e m i e c y f r o w y m ( r y s u n e k 2 7 ) .
J e d n y m z n a j w a |n i e j s z y c h p l i k ó w o p i -
s u j c y c h p e r y f e r i a i k o n f i g u r a c j s p r z t o - r y s u n e k 2 3 . P o r ó w n a n i e p r o g r a m ó w d l a p r o c e s o r a N i o s I I : a ) t y l k o z b i b l i o t e k A l t e r a
w p r o c e s o r a N i o s I I j e s t p l i k n a g Bó w k o w y H A L , b ) z s y s t e m e m o p e r a c y j n y m m C / O s - I I
7 2 E L E K T R O N I K A P R A K T Y C Z N A 1 2 / 2 0 1 0
O b s Bu g a p o r t ó w G P I O
L i s t i n g 2 . P l i k s t e r o w n i k ó w p r o g r a m o w y c h b l o k u P I O L i s t i n g 3 . s z a b l o n p r o g r a m u g Bó w n e g o
# i f n d e f _ _ A L T E R A _ A V A L O N _ P I O _ R E G S _ H _ _
d l a p r o c e s o r a N i o s I I z d e f i n i c j a m i
# d e f i n e _ _ A L T E R A _ A V A L O N _ P I O _ R E G S _ H _ _
p o d s t a w o w y c h b i b l i o t e k
# i n c l u d e s y s t e m . h
# i n c l u d e <