Chapter 3. The FPU
45
Figure 3.5: The FPU divider simulation
- - FPU . D I V I D E R . S I G N I F I C A N D _ D I V I S I O N . C O M B I N A T I O N A L _ D I V I S I O N - -
- - A N G E L O S NTASIOS - -
- - - - - - - - - - - - - - L I B R A R I E S - - - - - - - - - - - - - - - - - - - - - - - - - - -
l i b r a r y i e e e ;
use i e e e . s t d _ l o g i c _ 1 1 6 4 . all ;
use i e e e . n u m e r i c _ s t d . all ;
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
e n t i t y c o m b i n a t i o n a l _ d i v i s i o n is
p o r t (
r e m a i n d e r _ i n
: in s t d _ l o g i c _ v e c t o r (52 d o w n t o 0);
Sb
: in s t d _ l o g i c _ v e c t o r (52 d o w n t o 0);
r e m a i n d e r _ o u t : out s t d _ l o g i c _ v e c t o r (52 d o w n t o 0);
S r _ o u t
: out s t d _ l o g i c
);
end ;
a r c h i t e c t u r e
c m n t n l _ d v s n of c o m b i n a t i o n a l _ d i v i s i o n is
b e g i n
p r o c e s s ( r e m a i n d e r _ i n , Sb )
b e g i n
if ( u n s i g n e d ( r e m a i n d e r _ i n ) >= u n s i g n e d ( Sb ) ) t h e n
S r _ o u t
<= ’1 ’;
r e m a i n d e r _ o u t
<= s t d _ l o g i c _ v e c t o r ( u n s i g n e d ( r e m a i n d e r _ i n )
- u n s i g n e d ( Sb ));
e l s e
S r _ o u t
<= ’0 ’;
r e m a i n d e r _ o u t
<= r e m a i n d e r _ i n ;
end if ;
end p r o c e s s ;
end ;
Figure 3.6: The Divisor module