source: trunk/IPs/systemC/processor/Morpheo/Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/src/RegisterFile_Multi_Banked_vhdl_testbench_transition.cpp @ 15

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

Interface normalisé
Début du banc de registres multi niveaux

File size: 2.0 KB
Line 
1#ifdef VHDL_TESTBENCH
2/*
3 * $Id$
4 *
5 * [ Description ]
6 *
7 */
8
9#include "Behavioural/Generic/RegisterFile/RegisterFile_Multi_Banked/include/RegisterFile_Multi_Banked.h"
10
11namespace morpheo                    {
12namespace behavioural {
13namespace generic {
14namespace registerfile{
15namespace registerfile_multi_banked {
16
17
18  void RegisterFile_Multi_Banked::vhdl_testbench_transition ()
19  {
20    log_printf(FUNC,RegisterFile_Multi_Banked,"vhdl_testbench_transition","Begin");
21
22    // Evaluation before read the ouput signal
23    sc_start(0);
24
25    // In order with file RegisterFile_Multi_Banked_vhdl_testbench_port.cpp
26    // Warning : if a output depend of a subcomponent, take directly the port of subcomponent
27    // (because we have no control on the ordonnancer's policy)
28
29    _vhdl_testbench->add_input (PORT_READ( in_NRESET));
30
31    // ----- Interface Read
32    for (uint32_t i=0; i<_param._nb_port_read; i++)
33      {
34        _vhdl_testbench->add_input (PORT_READ(  in_READ_VAL     [i]));
35        _vhdl_testbench->add_output(PORT_READ( out_READ_ACK     [i]));
36        _vhdl_testbench->add_input (PORT_READ(  in_READ_ADDRESS [i]));
37        _vhdl_testbench->add_output(PORT_READ( out_READ_DATA    [i]));
38      }
39
40    // ----- Interface Write
41    for (uint32_t i=0; i<_param._nb_port_write; i++)
42      {
43        _vhdl_testbench->add_input (PORT_READ(  in_WRITE_VAL     [i]));
44        _vhdl_testbench->add_output(PORT_READ( out_WRITE_ACK     [i]));
45        _vhdl_testbench->add_input (PORT_READ(  in_WRITE_ADDRESS [i]));
46        _vhdl_testbench->add_input (PORT_READ(  in_WRITE_DATA    [i]));
47      }
48
49   
50    // add_test :
51    //  - True  : the cycle must be compare with the output of systemC
52    //  - False : no test
53    _vhdl_testbench->add_test(true);
54
55    _vhdl_testbench->new_cycle (); // always at the end
56
57    log_printf(FUNC,RegisterFile_Multi_Banked,"vhdl_testbench_transition","End");
58  };
59
60}; // end namespace registerfile_multi_banked
61}; // end namespace registerfile
62}; // end namespace generic
63
64}; // end namespace behavioural
65}; // end namespace morpheo             
66#endif
Note: See TracBrowser for help on using the repository browser.