ÿþV e r i l o g - a c c e l e r a t i n g d i g i t a l d e s i g n
G e r a r d M B l a i r
A B S T R A C T
A t f i r s t g l a n c e , V e r i l o g i s s i m p l y a l a n g u a g e f o r d i g i t a l h a r d w a r e s i m u l a t i o n -
b u t i n p r a c t i c e i t h a s b e c o m e t h e l y n c h - p i n f o r a c o m p l e t e d e s i g n f l o w f r o m c o n c e p t
t o d i g i t a l c o m p o n e n t . T h i s a r t i c l e d e s c r i b e s t h e i d e a s b e h i n d t h e l a n g u a g e a n d i t s
g r o w i n g r o l e i n d i g i t a l d e s i g n .
1 . O v e r v i e w
V e r i l o g i s a h a r d w a r e d e s c r i p t i o n l a n g u a g e . T h i s m e a n s t h a t i t i s a ( s o r t o f p r o g r a m m i n g ) l a n g u a g e
w h i c h a l l o w s a d e s i g n e r t o d e s c r i b e a c o m p o n e n t i n t e x t r a t h e r t h a n a s a s c h e m a t i c . T h u s , w h i l e a
4 - b i t c o m p a r a t o r c o u l d b e d r a w n a s a s c h e m a t i c o f f o u r s y m b o l s ( o f a o n e - b i t c o m p a r a t o r ) c o n n e c t e d
b y w i r e s , i t c a n a l s o b e w r i t t e n i n V e r i l o g a s i n F i g u r e 1 .
m o d u l e f o u r _ b i t _ c o m p ( g t _ o u t , A , B ) ;
o u t p u t g t _ o u t ;
i n p u t [ 3 : 0 ] A , B ;
w i r e [ 2 : 0 ] c a r r y ;
s u p p l y 0 g n d ;
o n e _ b i t _ c o m p b 0 ( c a r r y [ 0 ] , A [ 0 ] , B [ 0 ] , g n d ) ,
b 1 ( c a r r y [ 1 ] , A [ 1 ] , B [ 1 ] , c a r r y [ 0 ] ) ,
b 2 ( c a r r y [ 2 ] , A [ 2 ] , B [ 2 ] , c a r r y [ 1 ] ) ,
b 3 ( g t _ o u t , A [ 3 ] , B [ 3 ] , c a r r y [ 2 ] ) ;
e n d m o d u l e
F i g u r e 1 : V e r i l o g f o u r - b i t c o m p a r a t o r ( l i k e a s c h e m a t i c )
V e r i l o g a l l o w s h a r d w a r e t o b e d e s c r i b e d i n a w i d e v a r i e t y o f s t y l e s . F o r i n s t a n c e , t h e c o m p a r a t o r i n
f i g u r e 1 i s w r i t t e n a s f o u r c a l l s t o a s u b - m o d u l e : c o n c e p t u a l l y , a d i r e c t t e x t u a l r e p r e s e n t a t i o n o f a
s c h e m a t i c w i t h n o g r e a t e r o r l e s s e r " d e s i g n c o n t e n t " . I n s t e a d w e c o u l d w r i t e i t i n t e r m s o f t h e f u n c t i o n
i t p e r f o r m s , a s i n f i g u r e 2 w h e r e t h e ( A > B ) i s a V e r i l o g r e l a t i o n a l o p e r a t o r w h i c h i s t r u e ( H I G H / 1 ) i f
A i s g r e a t e r t h e n B a n d f a l s e ( L O W / 0 ) o t h e r w i s e . T h u s t h e f u n c t i o n i s d i r e c t l y e x p r e s s e d i n t h e
p r o g r a m m i n g l a n g u a g e .
m o d u l e f o u r _ b i t _ c o m p ( g t _ o u t , A , B ) ;
o u t p u t g t _ o u t ;
i n p u t [ 3 : 0 ] A , B ;
a s s i g n g t _ o u t = ( A > B ) ;
e n d m o d u l e
F i g u r e 2 : V e r i l o g f o u r - b i t c o m p a r a t o r ( f u n c t i o n a l )
W i t h t h i s r e p r e s e n t a t i o n , t h e f u n c t i o n o f t h e m o d u l e i s v e r y c l e a r , a n d v e r y e a s y t o w r i t e . T h e c l a r i t y i s
a v i t a l a i d t o d e s i g n q u a l i t y s i n c e c l e a r c o d e i s e a s i e r t o d e b u g , m a i n t a i n a n d u p g r a d e . F o r i n s t a n c e ,
V e r i l o g - 1 - G e r a r d M B l a i r - v 1 . 2
s u p p o s e t h e m o d u l e w e r e t o b e c h a n g e d t o o u t p u t t h e l a r g e r o f t h e t w o i n p u t s - c o n s i d e r t h e c h a n g e s
n e e d e d i n t h e s c h e m a t i c . T h e V e r i l o g c a n b e r e w r i t t e n a s f i g u r e 3 w h e r e ( <