origen_std_lib 0.10.1 → 0.13.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (75) hide show
  1. checksums.yaml +5 -5
  2. data/config/application.rb +7 -19
  3. data/config/commands.rb +9 -0
  4. data/config/version.rb +1 -2
  5. data/lib/origen_std_lib/v93k.rb +17 -1
  6. data/{stdlib/v93k → src/advantest/smt7}/origen/.cproject +0 -0
  7. data/{stdlib/v93k → src/advantest/smt7}/origen/.project +0 -0
  8. data/src/advantest/smt7/origen/origen/helpers/console.cpp +94 -0
  9. data/src/advantest/smt7/origen/origen/helpers/misc.cpp +456 -0
  10. data/src/advantest/smt7/origen/origen/helpers/time.cpp +64 -0
  11. data/{stdlib/v93k → src/advantest/smt7}/origen/origen/helpers.hpp +25 -8
  12. data/src/advantest/smt7/origen/origen/site.cpp +237 -0
  13. data/src/advantest/smt7/origen/origen/site.hpp +50 -0
  14. data/src/advantest/smt7/origen/origen/test_method/base.cpp +231 -0
  15. data/src/advantest/smt7/origen/origen/test_method/base.hpp +155 -0
  16. data/src/advantest/smt7/origen/origen/test_method/dc_measurement.cpp +266 -0
  17. data/src/advantest/smt7/origen/origen/test_method/dc_measurement.hpp +58 -0
  18. data/src/advantest/smt7/origen/origen/test_method/empty.cpp +13 -0
  19. data/src/advantest/smt7/origen/origen/test_method/empty.hpp +24 -0
  20. data/src/advantest/smt7/origen/origen/test_method/frequency_measurement.cpp +133 -0
  21. data/src/advantest/smt7/origen/origen/test_method/frequency_measurement.hpp +46 -0
  22. data/src/advantest/smt7/origen/origen/test_method/functional_test.cpp +168 -0
  23. data/src/advantest/smt7/origen/origen/test_method/functional_test.hpp +53 -0
  24. data/{stdlib/v93k → src/advantest/smt7}/origen/origen/test_method.hpp +1 -3
  25. data/src/advantest/smt7/origen/origen/utils/version.cpp +72 -0
  26. data/{stdlib/v93k → src/advantest/smt7}/origen/origen/utils/version.hpp +20 -21
  27. data/{stdlib/v93k → src/advantest/smt7}/origen/origen/utils.hpp +1 -3
  28. data/src/advantest/smt7/origen/origen.cpp +18 -0
  29. data/{stdlib/v93k → src/advantest/smt7}/origen/origen.hpp +3 -3
  30. data/src/advantest/smt7/origen/test_methods/ApplyBin.cpp +37 -0
  31. data/src/advantest/smt7/origen/test_methods/DCMeasurement.cpp +90 -0
  32. data/src/advantest/smt7/origen/test_methods/FrequencyMeasurement.cpp +50 -0
  33. data/src/advantest/smt7/origen/test_methods/FunctionalTest.cpp +24 -0
  34. data/src/advantest/smt7/origen/test_methods/RecordBin.cpp +39 -0
  35. data/src/advantest/smt8/origen/common/Origen.java +334 -0
  36. data/src/advantest/smt8/origen/common/OrigenData.java +391 -0
  37. data/src/advantest/smt8/origen/common/OrigenHelpers.java +170 -0
  38. data/src/advantest/smt8/origen/test_methods/Base.java +265 -0
  39. data/src/advantest/smt8/origen/test_methods/DC_Measurement.java +302 -0
  40. data/src/advantest/smt8/origen/test_methods/Empty.java +12 -0
  41. data/src/advantest/smt8/origen/test_methods/Functional_test.java +474 -0
  42. data/templates/web/faq.md.erb +1 -52
  43. data/templates/web/guides/intro.md.erb +8 -0
  44. data/templates/web/guides/{v93k/intro.md.erb → v93ksmt7/capture.md.erb} +0 -2
  45. data/templates/web/guides/v93ksmt7/complete.md.erb +68 -0
  46. data/templates/web/guides/v93ksmt7/customizable.md.erb +139 -0
  47. data/templates/web/guides/v93ksmt7/helpers.md.erb +3 -0
  48. data/templates/web/guides/{v93k → v93ksmt7}/install.md.erb +1 -1
  49. data/templates/web/guides/v93ksmt7/integration.md.erb +3 -0
  50. data/templates/web/guides/v93ksmt7/intro.md.erb +8 -0
  51. data/templates/web/guides/v93ksmt7/patching.md.erb +3 -0
  52. data/templates/web/guides/v93ksmt8/intro.md.erb +9 -0
  53. data/templates/web/index.md.erb +23 -6
  54. data/templates/web/layouts/_guides.html.erb +15 -3
  55. data/templates/web/partials/_common_args.md.erb +13 -0
  56. data/templates/web/partials/_navbar.html.erb +2 -2
  57. metadata +52 -33
  58. data/stdlib/v93k/origen/origen/helpers/console.cpp +0 -105
  59. data/stdlib/v93k/origen/origen/helpers/misc.cpp +0 -311
  60. data/stdlib/v93k/origen/origen/site.cpp +0 -220
  61. data/stdlib/v93k/origen/origen/site.hpp +0 -51
  62. data/stdlib/v93k/origen/origen/test_method/base.hpp +0 -156
  63. data/stdlib/v93k/origen/origen/test_method/dc_measurement.cpp +0 -182
  64. data/stdlib/v93k/origen/origen/test_method/dc_measurement.hpp +0 -59
  65. data/stdlib/v93k/origen/origen/test_method/frequency_measurement.cpp +0 -107
  66. data/stdlib/v93k/origen/origen/test_method/frequency_measurement.hpp +0 -48
  67. data/stdlib/v93k/origen/origen/test_method/functional_test.cpp +0 -125
  68. data/stdlib/v93k/origen/origen/test_method/functional_test.hpp +0 -52
  69. data/stdlib/v93k/origen/origen/utils/version.cpp +0 -79
  70. data/stdlib/v93k/origen/origen.cpp +0 -22
  71. data/stdlib/v93k/origen/test_methods/ApplyBin.cpp +0 -41
  72. data/stdlib/v93k/origen/test_methods/DCMeasurement.cpp +0 -129
  73. data/stdlib/v93k/origen/test_methods/FrequencyMeasurement.cpp +0 -93
  74. data/stdlib/v93k/origen/test_methods/FunctionalTest.cpp +0 -94
  75. data/stdlib/v93k/origen/test_methods/RecordBin.cpp +0 -48
@@ -1,52 +0,0 @@
1
- #ifndef ORIGEN_TEST_METHOD_FUNCTIONAL_TEST_INCLUDED
2
- #define ORIGEN_TEST_METHOD_FUNCTIONAL_TEST_INCLUDED
3
-
4
- #include "base.hpp"
5
- #include "mapi.hpp"
6
- #include "rdi.hpp"
7
-
8
- using namespace std;
9
-
10
- namespace Origen {
11
- namespace TestMethod {
12
-
13
- class FunctionalTest: public Base {
14
- void serialProcessing(int site);
15
-
16
- string _pin;
17
- int _capture;
18
- int _bitPerWord;
19
- int _processResults;
20
- string _pattern;
21
-
22
- public:
23
- FunctionalTest();
24
-
25
- virtual ~FunctionalTest();
26
- void SMC_backgroundProcessing();
27
- void execute();
28
-
29
- FunctionalTest & capture(int v);
30
- FunctionalTest & pin(string v);
31
- FunctionalTest & bitPerWord(int v);
32
- FunctionalTest & processResults(int v);
33
- FunctionalTest & pattern(string v);
34
-
35
- protected:
36
- FunctionalTest & getThis();
37
- ARRAY_I capturedData();
38
- ARRAY_I capturedData(int);
39
-
40
- // Internal variables, declared outside the the execute function body since
41
- // they may be useful in callback functions
42
- ARRAY_I activeSites;
43
- string testSuiteName;
44
- string label;
45
- vector<int> results;
46
- string pinName;
47
- };
48
-
49
-
50
- }
51
- }
52
- #endif
@@ -1,79 +0,0 @@
1
- #include "version.hpp"
2
- using namespace std;
3
-
4
- #include <sstream>
5
-
6
- namespace Origen {
7
- namespace Utils {
8
-
9
- Version::Version(string ver) {
10
- vector<int> v = parse(ver);
11
- _major = v[0];
12
- _minor = v[1];
13
- _tiny = v[2];
14
- }
15
-
16
- int Version::major() {
17
- return _major;
18
- }
19
- int Version::minor() {
20
- return _minor;
21
- }
22
- int Version::tiny() {
23
- return _tiny;
24
- }
25
-
26
- string Version::str() {
27
- ostringstream str;
28
- str << _major;
29
- str << ".";
30
- str << _minor;
31
- str << ".";
32
- str << _tiny;
33
- return str.str();
34
- }
35
-
36
- bool Version::operator==(string rhs) {
37
- vector<int> v = parse(rhs);
38
- return _major == v[0] && _minor == v[1] && _tiny == v[2];
39
- }
40
-
41
- bool Version::operator!=(string rhs) {
42
- vector<int> v = parse(rhs);
43
- return _major != v[0] || _minor != v[1] || _tiny != v[2];
44
- }
45
-
46
- bool Version::operator<(string rhs) {
47
- vector<int> v = parse(rhs);
48
- return _major < v[0] || (_major == v[0] && _minor < v[1])
49
- || (_major == v[0] && _minor == v[1] && _tiny < v[2]);
50
- }
51
-
52
- bool Version::operator<=(string rhs) {
53
- return operator==(rhs) || operator<(rhs);
54
- }
55
-
56
- bool Version::operator>(string rhs) {
57
- vector<int> v = parse(rhs);
58
- return _major > v[0] || (_major == v[0] && _minor > v[1])
59
- || (_major == v[0] && _minor == v[1] && _tiny > v[2]);
60
- }
61
-
62
- bool Version::operator>=(string rhs) {
63
- return operator==(rhs) || operator>(rhs);
64
- }
65
-
66
- vector<int> Version::parse(string ver) {
67
- vector<int> v(3);
68
-
69
- istringstream parser(ver);
70
- parser >> v[0];
71
- for (int i = 1; i < 3; i++) {
72
- parser.get(); //Skip dot
73
- parser >> v[i];
74
- }
75
- return v;
76
- }
77
-
78
- }
79
- }
@@ -1,22 +0,0 @@
1
- /** @file */
2
- #include "origen.hpp"
3
-
4
- namespace Origen {
5
-
6
- Utils::Version version() {
7
- Utils::Version v(ORIGEN_VERSION);
8
- return v;
9
- }
10
-
11
- vector<Site> Sites;
12
-
13
-
14
- Site& site() {
15
- return Sites[CURRENT_SITE_NUMBER()];
16
- }
17
-
18
- Site& site(int site) {
19
- return Sites[site];
20
- }
21
-
22
- }
@@ -1,41 +0,0 @@
1
- #include "testmethod.hpp"
2
-
3
- //for test method API interfaces
4
- #include "mapi.hpp"
5
- using namespace std;
6
- #include "origen.hpp"
7
-
8
- /**
9
- * Test method class.
10
- *
11
- * For each testsuite using this test method, one object of this
12
- * class is created.
13
- */
14
- class ApplyBin: public testmethod::TestMethod {
15
-
16
- protected:
17
- /**
18
- *Initialize the parameter interface to the testflow.
19
- *This method is called just once after a testsuite is created.
20
- */
21
- virtual void initialize()
22
- {
23
- //Add your initialization code here
24
- //Note: Test Method API should not be used in this method!
25
- }
26
-
27
- /**
28
- *This test is invoked per site.
29
- */
30
- virtual void run()
31
- {
32
- if (Origen::site().bin() || Origen::site().softbin()) {
33
- stringstream softbin;
34
- softbin << Origen::site().softbin();
35
- SET_MULTIBIN(softbin.str(), Origen::site().bin());
36
- TESTSET().judgeAndLog_FunctionalTest(false);
37
- }
38
- }
39
-
40
- };
41
- REGISTER_TESTMETHOD("ApplyBin", ApplyBin);
@@ -1,129 +0,0 @@
1
- #include "testmethod.hpp"
2
-
3
- //for test method API interfaces
4
- #include "mapi.hpp"
5
- using namespace std;
6
- #include "origen/test_method/dc_measurement.hpp"
7
-
8
- /**
9
- * Test method class.
10
- *
11
- * For each testsuite using this test method, one object of this
12
- * class is created.
13
- */
14
- class DCMeasurement: public testmethod::TestMethod, public Origen::TestMethod::DCMeasurement {
15
- protected:
16
- int mApplyShutdown;
17
- string mShutdownPattern;
18
- string mMeasure;
19
- double mSettlingTime;
20
- string mPin;
21
- double mForceValue;
22
- double mIRange;
23
- int mCheckShutdown;
24
- int mBadc;
25
-
26
- protected:
27
- /**
28
- *Initialize the parameter interface to the testflow.
29
- *This method is called just once after a testsuite is created.
30
- */
31
- virtual void initialize()
32
- {
33
- //Add your initialization code here
34
- //Note: Test Method API should not be used in this method!
35
- addParameter("applyShutdown",
36
- "int",
37
- &mApplyShutdown,
38
- testmethod::TM_PARAMETER_INPUT)
39
- .setDefault("1")
40
- .setComment("Apply a shutdown pattern after taking the measurement");
41
- addParameter("shutdownPattern",
42
- "string",
43
- &mShutdownPattern,
44
- testmethod::TM_PARAMETER_INPUT)
45
- .setComment("The name of the shutdown pattern, by default it will be the main pattern name appended with '_part1'");
46
- addParameter("checkShutdown",
47
- "int",
48
- &mCheckShutdown,
49
- testmethod::TM_PARAMETER_INPUT)
50
- .setDefault("1")
51
- .setComment("Check that the shutdown pattern passed (and fail if not)");
52
- addParameter("measure",
53
- "string",
54
- &mMeasure,
55
- testmethod::TM_PARAMETER_INPUT)
56
- .setDefault("VOLT")
57
- .setComment("Measure 'CURR' or 'VOLT' (the default)");
58
- addParameter("settlingTime",
59
- "double",
60
- &mSettlingTime,
61
- testmethod::TM_PARAMETER_INPUT)
62
- .setDefault("0")
63
- .setComment("Time to wait between running the pattern and taking the measurement, expressed in ms");
64
- addParameter("pin",
65
- "PinString",
66
- &mPin,
67
- testmethod::TM_PARAMETER_INPUT)
68
- .setComment("Pin to be measured");
69
- addParameter("forceValue",
70
- "double",
71
- &mForceValue,
72
- testmethod::TM_PARAMETER_INPUT)
73
- .setDefault("0")
74
- .setComment("Value to be forced on the pin during the measurement");
75
- addParameter("iRange",
76
- "double",
77
- &mIRange,
78
- testmethod::TM_PARAMETER_INPUT)
79
- .setDefault("0")
80
- .setComment("The current range to apply to the measurement (in A), will be calculated if not supplied (set to 0)");
81
- addParameter("badc",
82
- "int",
83
- &mBadc,
84
- testmethod::TM_PARAMETER_INPUT)
85
- .setDefault("0")
86
- .setComment("Perform the measurement using the Board ADC (rather than the PPMU)");
87
- addLimit("Functional");
88
- }
89
-
90
- /**
91
- *This test is invoked per site.
92
- */
93
- virtual void run()
94
- {
95
- RDI_INIT();
96
-
97
- origen.applyShutdown(mApplyShutdown)
98
- .forceValue(mForceValue)
99
- .shutdownPattern(mShutdownPattern)
100
- .checkShutdown(mCheckShutdown)
101
- .measure(mMeasure)
102
- .settlingTime(mSettlingTime)
103
- .pin(mPin)
104
- .iRange(mIRange)
105
- .badc(mBadc)
106
- .execute();
107
- }
108
-
109
- /**
110
- *This function will be invoked once the specified parameter's value is changed.
111
- *@param parameterIdentifier
112
- */
113
- virtual void postParameterChange(const string& parameterIdentifier)
114
- {
115
- //Add your code
116
- //Note: Test Method API should not be used in this method!
117
- return;
118
- }
119
-
120
- /**
121
- *This function will be invoked once the Select Test Method Dialog is opened.
122
- */
123
- virtual const string getComment() const
124
- {
125
- string comment = " please add your comment for this method.";
126
- return comment;
127
- }
128
- };
129
- REGISTER_TESTMETHOD("DCMeasurement", DCMeasurement);
@@ -1,93 +0,0 @@
1
- #include "testmethod.hpp"
2
-
3
- //for test method API interfaces
4
- #include "mapi.hpp"
5
- using namespace std;
6
- #include "../origen/test_method/frequency_measurement.hpp"
7
-
8
- /**
9
- * Test method class.
10
- *
11
- * For each testsuite using this test method, one object of this
12
- * class is created.
13
- */
14
- class FrequencyMeasurement: public testmethod::TestMethod,
15
- public Origen::TestMethod::FrequencyMeasurement {
16
-
17
- protected:
18
- int mPeriodBased;
19
- string mPin;
20
- int mSamples;
21
- int mPeriodInNs;
22
-
23
- protected:
24
- /**
25
- *Initialize the parameter interface to the testflow.
26
- *This method is called just once after a testsuite is created.
27
- */
28
- virtual void initialize()
29
- {
30
- addParameter("periodBased",
31
- "int",
32
- &mPeriodBased,
33
- testmethod::TM_PARAMETER_INPUT)
34
- .setDefault("0")
35
- .setComment("Set to 1 if the limits are expressed as a period instead of a frequency (the default)");
36
- addParameter("pin",
37
- "PinString",
38
- &mPin,
39
- testmethod::TM_PARAMETER_INPUT)
40
- .setComment("Pin to be measured");
41
- addParameter("samples",
42
- "int",
43
- &mSamples,
44
- testmethod::TM_PARAMETER_INPUT)
45
- .setDefault("2000")
46
- .setComment("The number of captures made by the pattern, defaults to 2000");
47
- addParameter("periodInNs",
48
- "int",
49
- &mPeriodInNs,
50
- testmethod::TM_PARAMETER_INPUT)
51
- .setComment("The period of the capture vectors");
52
-
53
-
54
- //Add your initialization code here
55
- //Note: Test Method API should not be used in this method!
56
- addLimit("Functional");
57
- }
58
-
59
- /**
60
- *This test is invoked per site.
61
- */
62
- virtual void run()
63
- {
64
- RDI_INIT();
65
-
66
- origen.periodBased(mPeriodBased)
67
- .pin(mPin)
68
- .samples(mSamples)
69
- .periodInNs(mPeriodInNs)
70
- .execute();
71
- }
72
-
73
- /**
74
- *This function will be invoked once the specified parameter's value is changed.
75
- *@param parameterIdentifier
76
- */
77
- virtual void postParameterChange(const string& parameterIdentifier)
78
- {
79
- //Add your code
80
- //Note: Test Method API should not be used in this method!
81
- return;
82
- }
83
-
84
- /**
85
- *This function will be invoked once the Select Test Method Dialog is opened.
86
- */
87
- virtual const string getComment() const
88
- {
89
- string comment = " please add your comment for this method.";
90
- return comment;
91
- }
92
- };
93
- REGISTER_TESTMETHOD("FrequencyMeasurement", FrequencyMeasurement);
@@ -1,94 +0,0 @@
1
- #include "testmethod.hpp"
2
-
3
- //for test method API interfaces
4
- #include "mapi.hpp"
5
- #include "rdi.hpp"
6
- using namespace std;
7
- #include "origen/test_method/functional_test.hpp"
8
-
9
- /**
10
- * Test method class.
11
- *
12
- * For each testsuite using this test method, one object of this
13
- * class is created.
14
- */
15
- class FunctionalTest: public testmethod::TestMethod,
16
- public Origen::TestMethod::FunctionalTest {
17
-
18
- protected:
19
- /**
20
- *Initialize the parameter interface to the testflow.
21
- *This method is called just once after a testsuite is created.
22
- */
23
- virtual void initialize() {
24
- //Add your initialization code here
25
- //Note: Test Method API should not be used in this method!
26
- // addLimit("testlimit");
27
- }
28
-
29
- /**
30
- *This test is invoked per site.
31
- */
32
- virtual void run() {
33
- RDI_INIT();
34
-
35
- origen.execute();
36
-
37
- // string label = Primary.getLabel();
38
- // string testSuiteName;
39
- // GET_TESTSUITE_NAME(testSuiteName);
40
- //
41
- // RDI_INIT();
42
- // ON_FIRST_INVOCATION_BEGIN();
43
- // RDI_BEGIN();
44
- // rdi.func(testSuiteName).label(label).execute();
45
- //
46
- //// cout << testSuiteName << endl;
47
- //// cout << label << endl;
48
- // RDI_END();
49
- // cout << "-----------------" << endl;
50
- // ON_FIRST_INVOCATION_END();
51
- //
52
- // int site = CURRENT_SITE_NUMBER();
53
- // int res = rdi.id(testSuiteName).getPassFail();
54
- // cout << CURRENT_SITE_NUMBER() << ":" << res << endl;
55
- // Origen::logFunctionalTest(testSuiteName, site, res == 1, label);
56
- // // TESTSET().judgeAndLog_FunctionalTest(CURRENT_SITE_NUMBER() != 2);
57
-
58
- /*
59
- string name;
60
- GET_TESTSUITE_NAME(name);
61
- RDI_INIT();
62
- ON_FIRST_INVOCATION_BEGIN();
63
- FUNCTIONAL_TEST();
64
- // RDI_BEGIN();
65
- // rdi.func(name).label(Primary.getLabel()).execute();
66
- // RDI_END();
67
- ON_FIRST_INVOCATION_END();
68
-
69
- cout << "Result is " << GET_FUNCTIONAL_RESULT("@") << endl;
70
- // cout << "Result is " << rdi.id(name).getPassFail() << endl;
71
- // TESTSET().cont(true).judgeAndLog_FunctionalTest();
72
- // TESTSET().cont(true).judgeAndLog_ParametricTest("@","testlimit",GET_FUNCTIONAL_RESULT("@"));
73
- */
74
- }
75
-
76
- /**
77
- *This function will be invoked once the specified parameter's value is changed.
78
- *@param parameterIdentifier
79
- */
80
- virtual void postParameterChange(const string& parameterIdentifier) {
81
- //Add your code
82
- //Note: Test Method API should not be used in this method!
83
- return;
84
- }
85
-
86
- /**
87
- *This function will be invoked once the Select Test Method Dialog is opened.
88
- */
89
- virtual const string getComment() const {
90
- string comment = " please add your comment for this method.";
91
- return comment;
92
- }
93
- };
94
- REGISTER_TESTMETHOD("FunctionalTest", FunctionalTest);
@@ -1,48 +0,0 @@
1
- #include "testmethod.hpp"
2
-
3
- //for test method API interfaces
4
- #include "mapi.hpp"
5
- using namespace std;
6
- #include "origen.hpp"
7
-
8
- /**
9
- * Test method class.
10
- *
11
- * For each testsuite using this test method, one object of this
12
- * class is created.
13
- */
14
- class RecordBin: public testmethod::TestMethod {
15
- protected:
16
- int mBin;
17
- int mSoftbin;
18
-
19
- protected:
20
- /**
21
- *Initialize the parameter interface to the testflow.
22
- *This method is called just once after a testsuite is created.
23
- */
24
- virtual void initialize()
25
- {
26
- //Add your initialization code here
27
- //Note: Test Method API should not be used in this method!
28
- addParameter("bin",
29
- "int",
30
- &mBin,
31
- testmethod::TM_PARAMETER_INPUT);
32
- addParameter("softbin",
33
- "int",
34
- &mSoftbin,
35
- testmethod::TM_PARAMETER_INPUT);
36
- }
37
-
38
- /**
39
- *This test is invoked per site.
40
- */
41
- virtual void run()
42
- {
43
- Origen::site().bin(mBin);
44
- Origen::site().softbin(mSoftbin);
45
- }
46
-
47
- };
48
- REGISTER_TESTMETHOD("RecordBin", RecordBin);