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 @ 100

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

1) Bug fix (Operation, Instruction)
2) Modif Return Address Stack
3) Add Soft Test
4) Add Soc Test

  • Property svn:keywords set to Id
File size: 1.9 KB
Line 
1#ifdef VHDL
2/*
3 * $Id: Execute_queue_vhdl.cpp 100 2009-01-08 13:06:27Z 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       );
39   
40    std::string queue_name = _name + "_queue";
41    queue = new morpheo::behavioural::generic::queue::Queue
42      (queue_name.c_str()
43#ifdef STATISTICS
44       ,NULL
45#endif
46       ,param_queue
47       ,USE_VHDL);
48   
49    _component->set_component(queue->_component
50#ifdef POSITION
51                              , 0, 0, 0, 0
52#endif
53                              , INSTANCE_LIBRARY
54                              );
55
56    Vhdl * vhdl = new Vhdl (_name);
57
58    _interfaces->set_port(vhdl);
59    _component->vhdl_instance(vhdl);
60
61    vhdl_declaration (vhdl);
62    vhdl_body        (vhdl);
63
64    vhdl->generate_file();
65
66    delete vhdl;
67
68    log_printf(FUNC,Execute_queue,FUNCTION,"End");
69  };
70
71}; // end namespace execute_queue
72}; // end namespace write_unit
73}; // end namespace multi_write_unit
74}; // end namespace execute_loop
75}; // end namespace multi_execute_loop
76}; // end namespace core
77
78}; // end namespace behavioural
79}; // end namespace morpheo             
80#endif
Note: See TracBrowser for help on using the repository browser.