source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/src/Execute_queue_vhdl.cpp @ 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: 1.9 KB
Line 
1#ifdef VHDL
2/*
3 * $Id: Execute_queue_vhdl.cpp 101 2009-01-15 17:19:08Z rosiere $
4 *
5 * [ Description ]
6 *
7 */
8
9#include "Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Write_unit/Write_unit/Execute_queue/include/Execute_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 execute_queue {
21
22
23#undef  FUNCTION
24#define FUNCTION "Execute_queue::vhdl"
25  void Execute_queue::vhdl (void)
26  {
27    log_printf(FUNC,Execute_queue,FUNCTION,"Begin");
28
29    //----- Queue -----
30   
31    morpheo::behavioural::generic::queue::Parameters * param_queue;
32    morpheo::behavioural::generic::queue::Queue      * queue;
33   
34    param_queue = new morpheo::behavioural::generic::queue::Parameters
35      (_param->_size_queue,
36       _param->_size_internal_queue,
37       0,
38       false,
39       false
40       );
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                              , 0, 0, 0, 0
54#endif
55                              , INSTANCE_LIBRARY
56                              );
57
58    Vhdl * vhdl = new Vhdl (_name);
59
60    _interfaces->set_port(vhdl);
61    _component->vhdl_instance(vhdl);
62
63    vhdl_declaration (vhdl);
64    vhdl_body        (vhdl);
65
66    vhdl->generate_file();
67
68    delete vhdl;
69
70    log_printf(FUNC,Execute_queue,FUNCTION,"End");
71  };
72
73}; // end namespace execute_queue
74}; // end namespace write_unit
75}; // end namespace multi_write_unit
76}; // end namespace execute_loop
77}; // end namespace multi_execute_loop
78}; // end namespace core
79
80}; // end namespace behavioural
81}; // end namespace morpheo             
82#endif
Note: See TracBrowser for help on using the repository browser.