source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/src/Load_store_unit_function_speculative_load_commit_genMealy_insert.cpp @ 59

Last change on this file since 59 was 59, checked in by rosiere, 17 years ago

Add Load store queue -> but not terminated and tested
Add article to sympa 2007 -> but no started

File size: 1.4 KB
Line 
1#ifdef SYSTEMC
2//#if defined(STATISTICS) or defined(VHDL_TESTBENCH)
3/*
4 * $Id$
5 *
6 * [ Description ]
7 *
8 */
9
10#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Execute_unit/Execute_unit/Load_store_unit/include/Load_store_unit.h"
11
12namespace morpheo                    {
13namespace behavioural {
14namespace core {
15namespace multi_execute_loop {
16namespace execute_loop {
17namespace multi_execute_unit {
18namespace execute_unit {
19namespace load_store_unit {
20
21
22#undef  FUNCTION
23#define FUNCTION "Load_store_unit::function_speculative_load_commit_genMealy_insert"
24  void Load_store_unit::function_speculative_load_commit_genMealy_insert (void)
25  {
26    log_printf(FUNC,Load_store_unit,FUNCTION,"Begin");
27
28    // ~~~~~[ Output "memory_in" ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
29    if (is_operation_memory_store(PORT_READ(in_MEMORY_IN_OPERATION)) == true)
30      {
31        internal_MEMORY_IN_ACK = 1;
32      }
33    else
34      {
35        internal_MEMORY_IN_ACK = not _speculative_access_queue_control->full();
36      }
37
38    PORT_WRITE(out_MEMORY_IN_ACK, internal_MEMORY_IN_ACK);
39
40    log_printf(FUNC,Load_store_unit,FUNCTION,"End");
41  };
42
43}; // end namespace load_store_unit
44}; // end namespace execute_unit
45}; // end namespace multi_execute_unit
46}; // end namespace execute_loop
47}; // end namespace multi_execute_loop
48}; // end namespace core
49
50}; // end namespace behavioural
51}; // end namespace morpheo             
52#endif
53//#endif
Note: See TracBrowser for help on using the repository browser.