Appendix C. Segments of Code
83
w h e n " 1 0 1 1 0 0 " = > - - a d d f
P C _ c o n t r o l _ s i g n a l s
<= "00"; - - p r o g r a m c o u n t e r ( + 4 )
A L U _ c o n t r o l _ s i g n a l s
<= "0 X X X X X X X X X X X X X X X X X X X "; - - ALU not e n a b l e d
M U L T _ c o n t r o l _ s i g n a l s
<= "0 X X X X X X X "; - - M u l t i p l i e r not e n a b l e d
S H I F T _ c o n t r o l _ s i g n a l s
<= "0 X X X X X X X X "; - - S h i f t e r not e n a b l e d
M I X _ c o n t r o l _ s i g n a l s
<= "0 X X X X X "; - - MIX / MUX not e n a b l e d
F P U _ c o n t r o l _ s i g n a l s
<= "1000"; - - FPU e n a b l e d
S I G N _ E X T _ c o n t r o l _ s i g n a l s
<= ’X ’; - - S I G N _ E X T E N S I O N not e n a b l e d
D A T A _ M E M _ c o n t r o l _ s i g n a l s
<= " 0 0 0 0 0 0 0 0 " ; - - D A T A M E M O R Y not e n a b l e d
R E G I S T E R _ F _ c o n t r o l _ s i g n a l s
<= "01"; - - R E G I S T E R F I L E w r i t e e n a b l e e n a b l e d
P R E D I C A T E _ c o n t r o l _ s i g n a l s
<= "000"; - - P R E D I C A T E F I L E N U L L op
R E G _ I N P U T _ c o n t r o l _ s i g n a l s
<= "0000"; - - r e g i s t e r i n p u t Rs2
i l l e g a l
<= ’0 ’; - - i n s t r u c t i o n OK
w h e n " 1 0 1 1 0 1 " = > - - s u b f
P C _ c o n t r o l _ s i g n a l s
<= "00"; - - p r o g r a m c o u n t e r ( + 4 )
A L U _ c o n t r o l _ s i g n a l s
<= "0 X X X X X X X X X X X X X X X X X X X "; - - ALU not e n a b l e d
M U L T _ c o n t r o l _ s i g n a l s
<= "0 X X X X X X X "; - - M u l t i p l i e r not e n a b l e d
S H I F T _ c o n t r o l _ s i g n a l s
<= "0 X X X X X X X X "; - - S h i f t e r not e n a b l e d
M I X _ c o n t r o l _ s i g n a l s
<= "0 X X X X X "; - - MIX / MUX not e n a b l e d
F P U _ c o n t r o l _ s i g n a l s
<= "1001"; - - FPU e n a b l e d
S I G N _ E X T _ c o n t r o l _ s i g n a l s
<= ’X ’; - - S I G N _ E X T E N S I O N not e n a b l e d
D A T A _ M E M _ c o n t r o l _ s i g n a l s
<= " 0 0 0 0 0 0 0 0 " ; - - D A T A M E M O R Y not e n a b l e d
R E G I S T E R _ F _ c o n t r o l _ s i g n a l s
<= "01"; - - R E G I S T E R F I L E w r i t e e n a b l e e n a b l e d
P R E D I C A T E _ c o n t r o l _ s i g n a l s
<= "000"; - - P R E D I C A T E F I L E N U L L op
R E G _ I N P U T _ c o n t r o l _ s i g n a l s
<= "0000"; - - r e g i s t e r i n p u t Rs2
i l l e g a l
<= ’0 ’; - - i n s t r u c t i o n OK
w h e n " 1 0 1 1 1 0 " = > - - m u l t f
P C _ c o n t r o l _ s i g n a l s
<= "00"; - - p r o g r a m c o u n t e r ( + 4 )
A L U _ c o n t r o l _ s i g n a l s
<= "0 X X X X X X X X X X X X X X X X X X X "; - - ALU not e n a b l e d
M U L T _ c o n t r o l _ s i g n a l s
<= "0 X X X X X X X "; - - M u l t i p l i e r not e n a b l e d
S H I F T _ c o n t r o l _ s i g n a l s
<= "0 X X X X X X X X "; - - S h i f t e r not e n a b l e d
M I X _ c o n t r o l _ s i g n a l s
<= "0 X X X X X "; - - MIX / MUX not e n a b l e d
F P U _ c o n t r o l _ s i g n a l s
<= "1010"; - - FPU e n a b l e d
S I G N _ E X T _ c o n t r o l _ s i g n a l s
<= ’X ’; - - S I G N _ E X T E N S I O N not e n a b l e d
D A T A _ M E M _ c o n t r o l _ s i g n a l s
<= " 0 0 0 0 0 0 0 0 " ; - - D A T A M E M O R Y not e n a b l e d
R E G I S T E R _ F _ c o n t r o l _ s i g n a l s
<= "01"; - - R E G I S T E R F I L E w r i t e e n a b l e e n a b l e d
P R E D I C A T E _ c o n t r o l _ s i g n a l s
<= "000"; - - P R E D I C A T E F I L E N U L L op
R E G _ I N P U T _ c o n t r o l _ s i g n a l s
<= "0000"; - - r e g i s t e r i n p u t Rs2
i l l e g a l
<= ’0 ’; - - i n s t r u c t i o n OK
w h e n " 1 0 1 1 1 1 " = > - - d i v f
P C _ c o n t r o l _ s i g n a l s
<= "00"; - - p r o g r a m c o u n t e r ( + 4 )
A L U _ c o n t r o l _ s i g n a l s
<= "0 X X X X X X X X X X X X X X X X X X X "; - - ALU not e n a b l e d
M U L T _ c o n t r o l _ s i g n a l s
<= "0 X X X X X X X "; - - M u l t i p l i e r not e n a b l e d
S H I F T _ c o n t r o l _ s i g n a l s
<= "0 X X X X X X X X "; - - S h i f t e r not e n a b l e d
M I X _ c o n t r o l _ s i g n a l s
<= "0 X X X X X "; - - MIX / MUX not e n a b l e d
F P U _ c o n t r o l _ s i g n a l s
<= "1011"; - - FPU e n a b l e d
S I G N _ E X T _ c o n t r o l _ s i g n a l s
<= ’X ’; - - S I G N _ E X T E N S I O N not e n a b l e d
D A T A _ M E M _ c o n t r o l _ s i g n a l s
<= " 0 0 0 0 0 0 0 0 " ; - - D A T A M E M O R Y not e n a b l e d
R E G I S T E R _ F _ c o n t r o l _ s i g n a l s
<= "01"; - - R E G I S T E R F I L E w r i t e e n a b l e e n a b l e d
P R E D I C A T E _ c o n t r o l _ s i g n a l s
<= "000"; - - P R E D I C A T E F I L E N U L L op
R E G _ I N P U T _ c o n t r o l _ s i g n a l s
<= "0000"; - - r e g i s t e r i n p u t Rs2
i l l e g a l
<= ’0 ’; - - i n s t r u c t i o n OK
Figure C.1: The FPU instruction signals