source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/Operation/include/Operation.h @ 101

Last change on this file since 101 was 101, checked in by rosiere, 15 years ago

1) Add soc test
2) fix bug (Pc management, Decod and execute, Update prediction ...)

  • Property svn:keywords set to Id
File size: 5.4 KB
Line 
1#ifndef morpheo_behavioural_core_multi_execute_loop_execute_loop_multi_execute_unit_execute_unit_functionnal_unit_operation_h
2#define morpheo_behavioural_core_multi_execute_loop_execute_loop_multi_execute_unit_execute_unit_functionnal_unit_operation_h
3
4/*
5 * $Id: Operation.h 101 2009-01-15 17:19:08Z rosiere $
6 *
7 * [ Description ]
8 *
9 */
10
11#include "Common/include/ToString.h"
12#include "Common/include/Debug.h"
13#include "Common/include/ErrorMorpheo.h"
14#include "Behavioural/include/Types.h"
15#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/Operation/include/Types.h"
16
17namespace morpheo {
18namespace behavioural {
19namespace core {
20namespace multi_execute_loop {
21namespace execute_loop {
22namespace multi_execute_unit {
23namespace execute_unit {
24namespace functionnal_unit {
25
26  void operation_unimplemented   (execute_operation_t * op, execute_register_t  * reg, execute_param_t * param);
27  void operation_l_add           (execute_operation_t * op, execute_register_t  * reg, execute_param_t * param);
28  void operation_l_addc          (execute_operation_t * op, execute_register_t  * reg, execute_param_t * param);
29  void operation_l_sub           (execute_operation_t * op, execute_register_t  * reg, execute_param_t * param);
30  void operation_l_mul           (execute_operation_t * op, execute_register_t  * reg, execute_param_t * param);
31  void operation_l_mulu          (execute_operation_t * op, execute_register_t  * reg, execute_param_t * param);
32  void operation_l_div           (execute_operation_t * op, execute_register_t  * reg, execute_param_t * param);
33  void operation_l_divu          (execute_operation_t * op, execute_register_t  * reg, execute_param_t * param);
34  void operation_l_and           (execute_operation_t * op, execute_register_t  * reg, execute_param_t * param);
35  void operation_l_or            (execute_operation_t * op, execute_register_t  * reg, execute_param_t * param);
36  void operation_l_xor           (execute_operation_t * op, execute_register_t  * reg, execute_param_t * param);
37  void operation_l_test_f        (execute_operation_t * op, execute_register_t  * reg, execute_param_t * param);
38  void operation_l_test_nf       (execute_operation_t * op, execute_register_t  * reg, execute_param_t * param);
39  void operation_l_jalr          (execute_operation_t * op, execute_register_t  * reg, execute_param_t * param);
40  void operation_l_sll           (execute_operation_t * op, execute_register_t  * reg, execute_param_t * param);
41  void operation_l_sra           (execute_operation_t * op, execute_register_t  * reg, execute_param_t * param);
42  void operation_l_srl           (execute_operation_t * op, execute_register_t  * reg, execute_param_t * param);
43  void operation_l_ror           (execute_operation_t * op, execute_register_t  * reg, execute_param_t * param);
44  void operation_l_movhi         (execute_operation_t * op, execute_register_t  * reg, execute_param_t * param);
45  void operation_l_extend_s      (execute_operation_t * op, execute_register_t  * reg, execute_param_t * param);
46  void operation_l_extend_z      (execute_operation_t * op, execute_register_t  * reg, execute_param_t * param);
47  void operation_l_cmov          (execute_operation_t * op, execute_register_t  * reg, execute_param_t * param);
48  void operation_l_ff1           (execute_operation_t * op, execute_register_t  * reg, execute_param_t * param);
49  void operation_l_fl1           (execute_operation_t * op, execute_register_t  * reg, execute_param_t * param);
50  void operation_l_mfspr         (execute_operation_t * op, execute_register_t  * reg, execute_param_t * param);
51  void operation_l_mtspr         (execute_operation_t * op, execute_register_t  * reg, execute_param_t * param);
52  void operation_l_sfeq          (execute_operation_t * op, execute_register_t  * reg, execute_param_t * param);
53  void operation_l_sfne          (execute_operation_t * op, execute_register_t  * reg, execute_param_t * param);
54  void operation_l_sfgeu         (execute_operation_t * op, execute_register_t  * reg, execute_param_t * param);
55  void operation_l_sfgtu         (execute_operation_t * op, execute_register_t  * reg, execute_param_t * param);
56  void operation_l_sfleu         (execute_operation_t * op, execute_register_t  * reg, execute_param_t * param);
57  void operation_l_sfltu         (execute_operation_t * op, execute_register_t  * reg, execute_param_t * param);
58  void operation_l_sfges         (execute_operation_t * op, execute_register_t  * reg, execute_param_t * param);
59  void operation_l_sfgts         (execute_operation_t * op, execute_register_t  * reg, execute_param_t * param);
60  void operation_l_sfles         (execute_operation_t * op, execute_register_t  * reg, execute_param_t * param);
61  void operation_l_sflts         (execute_operation_t * op, execute_register_t  * reg, execute_param_t * param);
62  void operation_l_mac           (execute_operation_t * op, execute_register_t  * reg, execute_param_t * param);
63  void operation_l_msb           (execute_operation_t * op, execute_register_t  * reg, execute_param_t * param);
64  void operation_l_macrc         (execute_operation_t * op, execute_register_t  * reg, execute_param_t * param);
65
66}; // end namespace functionnal_unit
67}; // end namespace execute_unit
68}; // end namespace multi_execute_unit
69}; // end namespace execute_loop
70}; // end namespace multi_execute_loop
71}; // end namespace core
72}; // end namespace behavioural
73}; // end namespace morpheo             
74
75#endif
Note: See TracBrowser for help on using the repository browser.