origen_std_lib 0.10.1 → 0.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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);