Line | |
---|
1 | #ifdef VHDL_TESTBENCH |
---|
2 | |
---|
3 | /* |
---|
4 | * $Id$ |
---|
5 | * |
---|
6 | * [ Description ] |
---|
7 | * |
---|
8 | */ |
---|
9 | |
---|
10 | #include "Behavioural/include/Vhdl_Testbench.h" |
---|
11 | #include "Include/ErrorMorpheo.h" |
---|
12 | |
---|
13 | namespace morpheo { |
---|
14 | namespace behavioural { |
---|
15 | |
---|
16 | void Vhdl_Testbench::generate_file (void) |
---|
17 | { |
---|
18 | _vhdl->set_library_work (_name + "_Pack"); |
---|
19 | |
---|
20 | if (_size_input == 0) |
---|
21 | throw (ErrorMorpheo ("No input for the test bench.")); |
---|
22 | if (_size_output == 0) |
---|
23 | throw (ErrorMorpheo ("No output for the test bench.")); |
---|
24 | |
---|
25 | // Only 2 signals and a variable |
---|
26 | _vhdl->set_signal ("testbench_input" ,std_logic(_size_input )); |
---|
27 | _vhdl->set_signal ("testbench_output" ,std_logic(_size_output)); |
---|
28 | _vhdl->set_signal ("testbench_test" ,std_logic(_size_output)); |
---|
29 | _vhdl->set_signal ("testbench_must_test" ,std_logic(1)); |
---|
30 | _vhdl->set_signal ("testbench_counter" ,"natural","0"); |
---|
31 | |
---|
32 | uint32_t counter = get_input (); |
---|
33 | get_output (); |
---|
34 | get_test (); |
---|
35 | get_label (); |
---|
36 | |
---|
37 | // if (counter == get_output ()) |
---|
38 | // throw (ErrorMorpheo ("The number of input is different of number of output.")); |
---|
39 | |
---|
40 | generate_instance (); |
---|
41 | generate_process_clock (counter); |
---|
42 | |
---|
43 | _vhdl->generate_file(false, true); |
---|
44 | }; |
---|
45 | |
---|
46 | }; // end namespace behavioural |
---|
47 | }; // end namespace morpheo |
---|
48 | |
---|
49 | #endif |
---|
Note: See
TracBrowser
for help on using the repository browser.