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

Last change on this file since 103 was 103, checked in by moulu, 15 years ago

1) write queue vhdl
2) bug fix : in generic queue

  • Property svn:keywords set to Id
File size: 2.0 KB
Line 
1#ifdef VHDL
2/*
3 * $Id: Write_queue_vhdl.cpp 103 2009-01-16 16:55:32Z moulu $
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       );
37
38    std::cout << "size internal queue :" << _param->_size_internal_queue << "." << std::endl;
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                              , 50, 50, 50, 50
52#endif
53                              , INSTANCE_LIBRARY
54                              );
55
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,Write_queue,FUNCTION,"End");
71  };
72
73}; // end namespace write_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.