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

Last change on this file 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.