source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/src/Write_queue_vhdl.cpp @ 105

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

1) Bug fix : Load Miss Speculation (in Commit_unit, Update Prediction Table and Context State)
2) Change address, in rob write address_next.
3) Move Meta_Predictor in save directory

  • Property svn:keywords set to Id
File size: 2.0 KB
Line 
1#ifdef VHDL
2/*
3 * $Id: Write_queue_vhdl.cpp 105 2009-02-05 11:18:31Z rosiere $
4 *
5 * [ Description ]
6 *
7 */
8
9#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Write_queue/include/Write_queue.h"
10#include "Behavioural/include/Vhdl.h"
11#include "Behavioural/Generic/Queue/include/Queue.h"
12
13namespace morpheo                    {
14namespace behavioural {
15namespace core {
16namespace multi_execute_loop {
17namespace execute_loop {
18namespace multi_write_unit {
19namespace write_unit {
20namespace write_queue {
21
22
23#undef  FUNCTION
24#define FUNCTION "Write_queue::vhdl"
25  void Write_queue::vhdl (void)
26  {
27    log_printf(FUNC,Write_queue,FUNCTION,"Begin");
28
29    morpheo::behavioural::generic::queue::Parameters * param_queue;
30    morpheo::behavioural::generic::queue::Queue      * queue;
31   
32    param_queue = new morpheo::behavioural::generic::queue::Parameters
33      (_param->_size_queue,
34       _param->_size_internal_queue,
35       _param->_nb_bypass_write,
36       false,
37       false
38       );
39
40    std::cout << "size internal queue :" << _param->_size_internal_queue << "." << std::endl;
41
42    std::string queue_name = _name + "_queue";
43    queue = new morpheo::behavioural::generic::queue::Queue
44      (queue_name.c_str()
45#ifdef STATISTICS
46       ,NULL
47#endif
48       ,param_queue
49       ,USE_VHDL);
50   
51    _component->set_component(queue->_component
52#ifdef POSITION
53                              , 50, 50, 50, 50
54#endif
55                              , INSTANCE_LIBRARY
56                              );
57
58
59
60    Vhdl * vhdl = new Vhdl (_name);
61
62    _interfaces->set_port(vhdl);
63    _component->vhdl_instance(vhdl);
64
65    vhdl_declaration (vhdl);
66    vhdl_body        (vhdl);
67
68    vhdl->generate_file();
69
70    delete vhdl;
71
72    log_printf(FUNC,Write_queue,FUNCTION,"End");
73  };
74
75}; // end namespace write_queue
76}; // end namespace write_unit
77}; // end namespace multi_write_unit
78}; // end namespace execute_loop
79}; // end namespace multi_execute_loop
80}; // end namespace core
81
82}; // end namespace behavioural
83}; // end namespace morpheo             
84#endif
Note: See TracBrowser for help on using the repository browser.