Changeset 82 for trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter_genMealy_shift.cpp
- Timestamp:
- May 1, 2008, 6:48:45 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/Shifter/src/Shifter_genMealy_shift.cpp
r81 r82 18 18 void Shifter::genMealy_shift (void) 19 19 { 20 for (uint32_t i=0; i<_param ._nb_port; i++)20 for (uint32_t i=0; i<_param->_nb_port; i++) 21 21 { 22 22 // Read 23 23 Tdata_t data_in = PORT_READ(in_SHIFTER_DATA [i]); 24 24 Tdata_t data_out = data_in; 25 Tshift_t shift_value = _param ._shift_value;25 Tshift_t shift_value = _param->_shift_value; 26 26 if (shift_value == 0) 27 27 shift_value = PORT_READ(in_SHIFTER_SHIFT [i]); 28 28 29 29 Tdirection_t direction; 30 if (_param ._direction == external_direction)30 if (_param->_direction == external_direction) 31 31 direction = PORT_READ(in_SHIFTER_DIRECTION [i]); 32 32 else 33 direction = _param ._internal_direction;33 direction = _param->_internal_direction; 34 34 35 35 Ttype_t type; 36 if (_param ._rotate == external_rotate)36 if (_param->_rotate == external_rotate) 37 37 type = PORT_READ(in_SHIFTER_TYPE [i]); 38 38 else 39 type = _param ._internal_type;39 type = _param->_internal_type; 40 40 41 41 Tcarry_t carry; 42 if (_param ._carry == external_carry)42 if (_param->_carry == external_carry) 43 43 carry = PORT_READ(in_SHIFTER_CARRY [i]); 44 44 else 45 carry = _param ._internal_carry;45 carry = _param->_internal_carry; 46 46 47 47 if (type == _shift) 48 48 { 49 data_out = shift <Tdata_t> (_param ._size_data, data_in, shift_value, direction == _left, carry == _arithmetic);49 data_out = shift <Tdata_t> (_param->_size_data, data_in, shift_value, direction == _left, carry == _arithmetic); 50 50 51 if (_param ._size_data_completion > 0)51 if (_param->_size_data_completion > 0) 52 52 { 53 53 Tdata_t completion; 54 54 55 if (_param ._type_completion_bool == true)55 if (_param->_type_completion_bool == true) 56 56 completion = (PORT_READ(in_SHIFTER_CARRY_IN [i])==true)?1:0; 57 57 else … … 66 66 else 67 67 { 68 mask = gen_mask<Tdata_t> (shift_value) << (_param ._size_data-shift_value);68 mask = gen_mask<Tdata_t> (shift_value) << (_param->_size_data-shift_value); 69 69 } 70 70 … … 73 73 } 74 74 else 75 data_out = rotate <Tdata_t> (_param ._size_data, data_in, shift_value, direction == _left);75 data_out = rotate <Tdata_t> (_param->_size_data, data_in, shift_value, direction == _left); 76 76 77 77 // Write
Note: See TracChangeset
for help on using the changeset viewer.