Ignore:
Timestamp:
May 21, 2009, 12:01:32 AM (15 years ago)
Author:
rosiere
Message:

1) Stat List : scan all queue to find free register
2) Write_queue : test "genMealy" add bypass [0]
3) Functionnal_unit : add const parameters to add or not the pipeline_in
4) Load Store Unit : if load make an exception, free nb_check
5) Debug, change test to add model

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Functionnal_unit/src/Functionnal_unit_genMealy.cpp

    r117 r118  
    2929      {
    3030        {
     31          // Can out if : have an instruction and is finish (latence == 0)
    3132          internal_EXECUTE_OUT_VAL = (reg_BUSY_OUT and (_execute_operation_out->_timing._latence == 0));
    3233         
    33           PORT_WRITE(out_EXECUTE_OUT_VAL          , internal_EXECUTE_OUT_VAL);
     34          PORT_WRITE(out_EXECUTE_OUT_VAL, internal_EXECUTE_OUT_VAL);
    3435        }
    3536       
    3637        {
     38          // Can accept an instruction if :
     39          //  * pipeline in is not busy (not previous instruction)
     40          //  * pipeline in is     busy (    previous instruction) and the instruction go to pipeline out
     41          if (_param->_have_pipeline_in)
     42            {         
    3743          internal_EXECUTE_IN_ACK = (not reg_BUSY_IN or
    3844                                     (reg_BUSY_IN and (not reg_BUSY_OUT or
    3945                                                       (internal_EXECUTE_OUT_VAL and PORT_READ(in_EXECUTE_OUT_ACK)))));
    40          
    41           PORT_WRITE(out_EXECUTE_IN_ACK           , internal_EXECUTE_IN_ACK);
     46            }
     47          else
     48            {
     49          internal_EXECUTE_IN_ACK = (not reg_BUSY_OUT or
     50                                     (internal_EXECUTE_OUT_VAL and PORT_READ(in_EXECUTE_OUT_ACK)));
     51            }
     52
     53          PORT_WRITE(out_EXECUTE_IN_ACK , internal_EXECUTE_IN_ACK);
    4254        }
    4355      }
Note: See TracChangeset for help on using the changeset viewer.