source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Core/Multi_Execute_loop/Execute_loop/Multi_Read_unit/Read_unit/Read_queue/src/Read_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: Read_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_Read_unit/Read_unit/Read_queue/include/Read_queue.h"
10#include "Behavioural/Generic/Queue/include/Queue.h"
11#include "Behavioural/include/Vhdl.h"
12
13namespace morpheo                    {
14namespace behavioural {
15namespace core {
16namespace multi_execute_loop {
17namespace execute_loop {
18namespace multi_read_unit {
19namespace read_unit {
20namespace read_queue {
21
22
23  void Read_queue::vhdl (void)
24  {
25    log_printf(FUNC,Read_queue,"vhdl","Begin");
26   
27    //----- Queue -----
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       0,
36       false,
37       false
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
57    Vhdl * vhdl = new Vhdl (_name);
58
59    _interfaces->set_port(vhdl);
60    _component->vhdl_instance(vhdl);
61
62    vhdl_declaration (vhdl);
63    vhdl_body        (vhdl);
64
65    vhdl->generate_file();
66
67    delete vhdl;
68    delete param_queue;
69    delete queue;
70
71    log_printf(FUNC,Read_queue,"vhdl","End");
72  };
73
74}; // end namespace read_queue
75}; // end namespace read_unit
76}; // end namespace multi_read_unit
77}; // end namespace execute_loop
78}; // end namespace multi_execute_loop
79}; // end namespace core
80
81}; // end namespace behavioural
82}; // end namespace morpheo             
83#endif
Note: See TracBrowser for help on using the repository browser.