origen_doc_helpers 0.5.2 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/config/application.rb +9 -0
- data/config/boot.rb +2 -3
- data/config/version.rb +2 -2
- data/lib/origen_doc_helpers/model_page_generator.rb +9 -4
- data/lib/{origen_doc_helpers → origen_doc_helpers_dev}/dut.rb +1 -1
- data/lib/origen_doc_helpers_dev/interface.rb +69 -0
- data/program/_func.rb +12 -0
- data/program/_hvst.rb +12 -0
- data/program/_para.rb +26 -0
- data/program/probe1.rb +9 -0
- data/templates/model_page.md.erb +6 -0
- data/templates/model_page.md.erb~ +129 -0
- data/templates/web/helpers/flow.md.erb +2 -2
- data/templates/web/helpers/model.md.erb +13 -0
- data/templates/web/helpers/model.md.erb~ +81 -0
- metadata +10 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ddb0151af6cf74f9080784ce49f885fd55952d81
|
4
|
+
data.tar.gz: d18ecaa6b5e985b720082027f1377d442f3f26b0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6339ee1a74d32e6073ad1e7a5f4483f9323ee08f6d73a348782902b104471a811ada5a40b0657e585bd671214729ba355410a9d66fa1ff83ce2b5426a6861bb9
|
7
|
+
data.tar.gz: 027348178efe90fac8e8f9ab8a623724c6beb119579f3ee438b71c8fcb9fed80c7f9158ab93e8bed5a62b0008cdc9d67fe816e5b3ed19070b43e1ad4f8283b21
|
data/config/application.rb
CHANGED
@@ -32,4 +32,13 @@ class OrigenDocHelpersApplication < Origen::Application
|
|
32
32
|
end
|
33
33
|
end
|
34
34
|
|
35
|
+
def after_web_site_compile(options)
|
36
|
+
Origen.app.runner.launch action: :program, files: "program"
|
37
|
+
# Then the documentation
|
38
|
+
OrigenDocHelpers.generate_flow_docs layout: "#{Origen.root}/templates/web/layouts/_basic.html.erb", tab: :flows do |d|
|
39
|
+
d.page flow: :probe1,
|
40
|
+
name: "Probe 1 Flow",
|
41
|
+
target: "default.rb"
|
42
|
+
end
|
43
|
+
end
|
35
44
|
end
|
data/config/boot.rb
CHANGED
@@ -14,6 +14,5 @@ require "origen_doc_helpers"
|
|
14
14
|
# and is required by some of our tests.
|
15
15
|
# Normally such a class should not be exposed to 3rd party users of the plugin,
|
16
16
|
# so we required it here rather than in lib/origen_doc_helpers.rb.
|
17
|
-
|
18
|
-
|
19
|
-
end
|
17
|
+
require "origen_doc_helpers_dev/dut"
|
18
|
+
require "origen_doc_helpers_dev/interface"
|
data/config/version.rb
CHANGED
@@ -50,8 +50,10 @@ module OrigenDocHelpers
|
|
50
50
|
attr_reader :model
|
51
51
|
|
52
52
|
def initialize(options)
|
53
|
+
options = { search_box: true }.merge(options)
|
53
54
|
@options = options
|
54
55
|
@model = options[:model]
|
56
|
+
@search_box = options[:search_box]
|
55
57
|
end
|
56
58
|
|
57
59
|
def run
|
@@ -72,12 +74,15 @@ module OrigenDocHelpers
|
|
72
74
|
model: model,
|
73
75
|
breadcrumbs: options[:breadcrumbs],
|
74
76
|
path: options[:path],
|
75
|
-
origen_path: options[:origen_path]
|
77
|
+
origen_path: options[:origen_path],
|
78
|
+
search_box: @search_box
|
76
79
|
|
77
80
|
write_out(output_file, t)
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
+
if @search_box
|
82
|
+
Origen.log.info "Building JSON page: #{json_file}"
|
83
|
+
File.open(json_file, 'w') do |f|
|
84
|
+
f.puts model.to_json
|
85
|
+
end
|
81
86
|
end
|
82
87
|
|
83
88
|
model.sub_blocks.each do |name, block|
|
@@ -0,0 +1,69 @@
|
|
1
|
+
module LinkDemo
|
2
|
+
module TestProgram
|
3
|
+
class Interface
|
4
|
+
include OrigenTesters::ProgramGenerators
|
5
|
+
|
6
|
+
def instance_name(name, options = {})
|
7
|
+
name = pattern_name(name)
|
8
|
+
if options[:vdd] || options[:vdd] != :nom
|
9
|
+
name += "_#{options[:vdd]}"
|
10
|
+
end
|
11
|
+
name
|
12
|
+
end
|
13
|
+
|
14
|
+
def pattern_name(name, options = {})
|
15
|
+
options[:pattern] || name.to_s
|
16
|
+
end
|
17
|
+
|
18
|
+
def vdd_loop(options)
|
19
|
+
[options[:vdd]].flatten.each do |vdd|
|
20
|
+
yield options.merge(vdd: vdd)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def func(name, options = {})
|
25
|
+
options = {
|
26
|
+
vdd: [:min, :max],
|
27
|
+
type: :functional
|
28
|
+
}.merge(options)
|
29
|
+
vdd_loop(options) do |options|
|
30
|
+
test = test_instances.functional(instance_name(name, options), options)
|
31
|
+
test.pattern = pattern_name(name, options)
|
32
|
+
apply_levels(test, options)
|
33
|
+
add_flow_entry(test, options)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
def para(name, options = {})
|
38
|
+
options = {
|
39
|
+
vdd: [:min, :max],
|
40
|
+
type: :parametric
|
41
|
+
}.merge(options)
|
42
|
+
unless options[:cz]
|
43
|
+
vdd_loop(options) do |options|
|
44
|
+
test = test_instances.ppmu(instance_name(name, options), options)
|
45
|
+
test.pattern = pattern_name(name, options)
|
46
|
+
test.lo_limit = options[:lo]
|
47
|
+
test.hi_limit = options[:hi]
|
48
|
+
test.force_cond = options[:force] || 0
|
49
|
+
apply_levels(test, options)
|
50
|
+
add_flow_entry(test, options)
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
def apply_levels(test, options)
|
56
|
+
test.dc_category = 'spec'
|
57
|
+
test.dc_selector = options[:vdd] || :nom
|
58
|
+
end
|
59
|
+
|
60
|
+
def add_flow_entry(test, options)
|
61
|
+
options = {
|
62
|
+
number: options[:bin] * 1000,
|
63
|
+
soft_bin: options[:bin]
|
64
|
+
}.merge(options)
|
65
|
+
flow.test test, options
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
data/program/_func.rb
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
# Functional test of the Vreg
|
2
|
+
Flow.create do
|
3
|
+
# This test verifies that the following things work:
|
4
|
+
#
|
5
|
+
# * The vreg can be disabled
|
6
|
+
# * The trim register can be written to and read from
|
7
|
+
func :vreg_functional, vdd: :min, bin: 101
|
8
|
+
|
9
|
+
func :vreg_functional, vdd: :max, bin: 101, continue: true
|
10
|
+
|
11
|
+
import "hvst"
|
12
|
+
end
|
data/program/_hvst.rb
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
# HVST
|
2
|
+
Flow.create do
|
3
|
+
# Check if this device has already had the Vreg HVST
|
4
|
+
func :rd_vreg_hvst_passcode, bin: 50, vdd: :nom, id: :vreg_hvst_done
|
5
|
+
|
6
|
+
# Apply HVST to the vreg module
|
7
|
+
func :vreg_hvst, bin: 101, hv: 10.V, vdd: :max, unless_passed: :vreg_hvst_done
|
8
|
+
|
9
|
+
# Program a passcode to the device to record that the HVST
|
10
|
+
# has been applied
|
11
|
+
func :pgm_vreg_hvst_passcode, bin: 51, vdd: :nom, unless_passed: :vreg_hvst_done
|
12
|
+
end
|
data/program/_para.rb
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
# Parametric flow
|
2
|
+
#
|
3
|
+
# Blah blah, this is marked down:
|
4
|
+
#
|
5
|
+
# * blah
|
6
|
+
# * blah
|
7
|
+
Flow.create do
|
8
|
+
# Measure the output of the vreg under no load, this is a simple
|
9
|
+
# test to catch any gross defects that prevent the vreg from working
|
10
|
+
#
|
11
|
+
# Blah blah, this is marked down:
|
12
|
+
#
|
13
|
+
# * blah
|
14
|
+
# * blah
|
15
|
+
pp "No load tests" do
|
16
|
+
para :vreg_meas, bin: 105, lo: 1.12, hi: 1.34
|
17
|
+
|
18
|
+
para :vreg_meas, bin: 105, cz: true, if_enable: "vreg_cz"
|
19
|
+
end
|
20
|
+
|
21
|
+
# Measure the output of the vreg under the given load, this is approximately
|
22
|
+
# equivalent to 1.5x the maximum load anticipated in a customer application.
|
23
|
+
para :vreg_meas_loaded, vdd: :min, bin: 105, force: 5.mA, lo: 1.10, hi: 1.34, pattern: "vreg_meas"
|
24
|
+
|
25
|
+
para :vreg_meas_loaded, vdd: :max, bin: 105, force: 5.mA, lo: 1.12, hi: 1.34, pattern: "vreg_meas"
|
26
|
+
end
|
data/program/probe1.rb
ADDED
data/templates/model_page.md.erb
CHANGED
@@ -23,6 +23,7 @@
|
|
23
23
|
<img src="http://origen-sdk.org/img/origen-device.png" style="float: left; height:50px; width: 50px; margin-top: 14px;">
|
24
24
|
<h1 style="float: left; margin-left: 10px;"><%= opts[:heading] %></h1>
|
25
25
|
</div>
|
26
|
+
% if opts[:search_box]
|
26
27
|
<div id="search" class="col-md-3" style="margin-top: 20px;">
|
27
28
|
<form style="margin-bottom: 15px;">
|
28
29
|
<div class="input-group">
|
@@ -33,6 +34,7 @@
|
|
33
34
|
</div>
|
34
35
|
</form>
|
35
36
|
</div>
|
37
|
+
% end
|
36
38
|
</div>
|
37
39
|
|
38
40
|
<div class="row">
|
@@ -101,7 +103,9 @@
|
|
101
103
|
<hr>
|
102
104
|
<div class="row">
|
103
105
|
<div class="col-md-12">
|
106
|
+
% if opts[:search_box]
|
104
107
|
<article>
|
108
|
+
% end
|
105
109
|
<h3>Registers of <%= model.model.class%> <%= model.name ? "(#{model.name})" : model.try(:includes_origen_top_level?) ? "(dut)" : "" %></h3>
|
106
110
|
|
107
111
|
% model.regs.sort_by { |name, reg| reg.offset }.each do |name, reg|
|
@@ -114,7 +118,9 @@
|
|
114
118
|
|
115
119
|
% end
|
116
120
|
|
121
|
+
% if opts[:search_box]
|
117
122
|
</article>
|
123
|
+
% end
|
118
124
|
</div>
|
119
125
|
</div>
|
120
126
|
|
@@ -0,0 +1,129 @@
|
|
1
|
+
% opts = options
|
2
|
+
% model = options[:model]
|
3
|
+
% render options[:layout], options[:layout_options] do
|
4
|
+
|
5
|
+
<script type="text/javascript">
|
6
|
+
// Modified from: http://jsfiddle.net/jhfrench/mc4Qd/
|
7
|
+
window.onload = function() {
|
8
|
+
// Links to the top of the page
|
9
|
+
$('.top-link').click(function() {
|
10
|
+
jQuery('html,body').animate({scrollTop: 0}, 500);
|
11
|
+
return false;
|
12
|
+
});
|
13
|
+
};
|
14
|
+
</script>
|
15
|
+
|
16
|
+
<style>
|
17
|
+
tr.clickable td { padding: 0px !important; }
|
18
|
+
tr.clickable a { display: block; height: 100%; width: 100%; padding: 8px; text-decoration: none; }
|
19
|
+
</style>
|
20
|
+
|
21
|
+
<div class="row" style="margin-top: 10px; margin-bottom: 15px;">
|
22
|
+
<div class="col-md-9">
|
23
|
+
<img src="http://origen-sdk.org/img/origen-device.png" style="float: left; height:50px; width: 50px; margin-top: 14px;">
|
24
|
+
<h1 style="float: left; margin-left: 10px;"><%= opts[:heading] %></h1>
|
25
|
+
</div>
|
26
|
+
% if opts[:search_box]
|
27
|
+
<div id="search" class="col-md-3" style="margin-top: 20px;">
|
28
|
+
<form style="margin-bottom: 15px;">
|
29
|
+
<div class="input-group">
|
30
|
+
<input class="form-control" type="search" placeholder="Search within this model..."/>
|
31
|
+
<span class="input-group-btn">
|
32
|
+
<button type="submit" class="btn btn-search">GO!</button>
|
33
|
+
</span>
|
34
|
+
</div>
|
35
|
+
</form>
|
36
|
+
</div>
|
37
|
+
% end
|
38
|
+
</div>
|
39
|
+
|
40
|
+
<div class="row">
|
41
|
+
<div class="col-md-12">
|
42
|
+
<ol class="breadcrumb">
|
43
|
+
% size = opts[:breadcrumbs].size
|
44
|
+
% opts[:breadcrumbs].each_with_index do |crumb, i|
|
45
|
+
% if i == size - 1
|
46
|
+
<li class="active"><%= crumb[0] %></li>
|
47
|
+
% else
|
48
|
+
<li><a href="<%= path crumb[1] %>"><%= crumb[0] %></a></li>
|
49
|
+
% end
|
50
|
+
% end
|
51
|
+
</ol>
|
52
|
+
</div>
|
53
|
+
</div>
|
54
|
+
|
55
|
+
<div class="row">
|
56
|
+
<div class="col-md-12 search-results">
|
57
|
+
</div>
|
58
|
+
</div>
|
59
|
+
|
60
|
+
<div class="row">
|
61
|
+
<div class="col-md-6">
|
62
|
+
<h3>Blocks</h3>
|
63
|
+
|
64
|
+
<table class="table table-hover">
|
65
|
+
<thead><tr>
|
66
|
+
<th>Address</th>
|
67
|
+
<th>Name</th>
|
68
|
+
</tr></thead>
|
69
|
+
<tbody>
|
70
|
+
% model.sub_blocks.sort_by { |name, block| block.base_address }.each do |name, block|
|
71
|
+
<tr class="clickable">
|
72
|
+
<td><a href="<%= path "#{opts[:path]}/#{name}" %>"><%= block.base_address.to_hex %></a></td>
|
73
|
+
<td><a href="<%= path "#{opts[:path]}/#{name}" %>"><%= name %></a></td>
|
74
|
+
</tr>
|
75
|
+
% end
|
76
|
+
</tbody>
|
77
|
+
</table>
|
78
|
+
</div>
|
79
|
+
|
80
|
+
<div class="col-md-6">
|
81
|
+
<h3>Registers</h3>
|
82
|
+
|
83
|
+
<table class="table table-hover">
|
84
|
+
<thead><tr>
|
85
|
+
<th>Address</th>
|
86
|
+
<th>Name</th>
|
87
|
+
</tr></thead>
|
88
|
+
<tbody>
|
89
|
+
% model.regs.sort_by { |name, reg| reg.offset }.each do |name, reg|
|
90
|
+
<tr class="clickable">
|
91
|
+
<td><a href="#<%= reg.name %>"><%= reg.address.to_hex %></a></td>
|
92
|
+
<td><a href="#<%= reg.name %>"><%= name %></a></td>
|
93
|
+
</tr>
|
94
|
+
% end
|
95
|
+
</tbody>
|
96
|
+
</table>
|
97
|
+
</div>
|
98
|
+
</div>
|
99
|
+
|
100
|
+
|
101
|
+
% if model.owns_registers?
|
102
|
+
|
103
|
+
<hr>
|
104
|
+
<div class="row">
|
105
|
+
<div class="col-md-12">
|
106
|
+
% if opts[:search_box]
|
107
|
+
<article>
|
108
|
+
% end
|
109
|
+
<h3>Registers of <%= model.model.class%> <%= model.name ? "(#{model.name})" : model.try(:includes_origen_top_level?) ? "(dut)" : "" %></h3>
|
110
|
+
|
111
|
+
% model.regs.sort_by { |name, reg| reg.offset }.each do |name, reg|
|
112
|
+
|
113
|
+
<div>
|
114
|
+
<span class="pull-right"><a class="top-link" href="#">back to top</a></span>
|
115
|
+
</div>
|
116
|
+
|
117
|
+
<%= render "doc_helpers/register.html", reg: reg, preserve_target: true, descriptions: true, origen_path: opts[:origen_path] %>
|
118
|
+
|
119
|
+
% end
|
120
|
+
|
121
|
+
</article>
|
122
|
+
</div>
|
123
|
+
</div>
|
124
|
+
|
125
|
+
% end
|
126
|
+
|
127
|
+
% end
|
128
|
+
<script>window.origen_search_id = "<%= opts[:search_id] %>";</script>
|
129
|
+
<script src="<%= path "search.js" %>"></script>
|
@@ -4,9 +4,9 @@
|
|
4
4
|
|
5
5
|
This helper will build a web page to document a test program flow the has been created with Origen.
|
6
6
|
|
7
|
-
[Here is an example](
|
7
|
+
[Here is an example](<%= path "flows/probe_1_flow" %>).
|
8
8
|
|
9
|
-
Multiple flows can be supplied and an [index page like this](
|
9
|
+
Multiple flows can be supplied and an [index page like this](<%= path "flows" %>)
|
10
10
|
is generated to help locate the documentation for a given flow.
|
11
11
|
|
12
12
|
## How To Use
|
@@ -27,6 +27,19 @@ def after_web_site_compile(options)
|
|
27
27
|
end
|
28
28
|
~~~
|
29
29
|
|
30
|
+
For very large models the model search feature may cause the model pages to load slowly. In this
|
31
|
+
case it may be desirable to disable the model search feature. You can do this by adding an optional
|
32
|
+
argument to the your application's callback handler like this:
|
33
|
+
|
34
|
+
~~~ruby
|
35
|
+
def after_web_site_compile(options)
|
36
|
+
# Build the model documentation
|
37
|
+
OrigenDocHelpers.generate_model_docs layout: "#{Origen.root}/templates/web/layouts/_basic.html.erb", tab: :model do |d|
|
38
|
+
d.page model: $dut, search_box: false
|
39
|
+
end
|
40
|
+
end
|
41
|
+
~~~
|
42
|
+
|
30
43
|
To generate documentation for more than one model, call the page method multiple times like this:
|
31
44
|
|
32
45
|
~~~ruby
|
@@ -0,0 +1,81 @@
|
|
1
|
+
% render "../layouts/helpers.html" do
|
2
|
+
|
3
|
+
# Model Documentation
|
4
|
+
|
5
|
+
This helper will build a collection of web pages that document a model's attributes,
|
6
|
+
currently this includes its sub-blocks and registers.
|
7
|
+
|
8
|
+
[Here is an example](http://origen-sdk.org/link_demo/models/linkdemo_toplevel/).
|
9
|
+
|
10
|
+
Multiple models can be supplied and an [index page like this](http://origen-sdk.org/link_demo/models)
|
11
|
+
is generated to help locate the documentation for a given model.
|
12
|
+
|
13
|
+
The collection of pages associated with a particular model is also fully searchable via
|
14
|
+
the provided search box.
|
15
|
+
|
16
|
+
## How To Use
|
17
|
+
|
18
|
+
Call the helper from an <code>after_web_site_compile</code> callback handler in your
|
19
|
+
application's <code>config/application.rb</code> like this:
|
20
|
+
|
21
|
+
~~~ruby
|
22
|
+
def after_web_site_compile(options)
|
23
|
+
# Build the model documentation
|
24
|
+
OrigenDocHelpers.generate_model_docs layout: "#{Origen.root}/templates/web/layouts/_basic.html.erb", tab: :model do |d|
|
25
|
+
d.page model: $dut
|
26
|
+
end
|
27
|
+
end
|
28
|
+
~~~
|
29
|
+
|
30
|
+
To generate documentation for more than one model, call the page method multiple times like this:
|
31
|
+
|
32
|
+
~~~ruby
|
33
|
+
def after_web_site_compile(options)
|
34
|
+
# Build the model documentation
|
35
|
+
OrigenDocHelpers.generate_model_docs layout: "#{Origen.root}/templates/web/layouts/_basic.html.erb", tab: :model do |d|
|
36
|
+
d.page model: MyApp::ModelA.new
|
37
|
+
d.page model: MyApp::ModelB.new
|
38
|
+
d.page model: MyApp::ModelC.new
|
39
|
+
end
|
40
|
+
end
|
41
|
+
~~~
|
42
|
+
|
43
|
+
If the different models are all top-level instances (i.e. they include <code>Origen::TopLevel</code> and are
|
44
|
+
what is commonly referred to as <code>$dut</code>), then a target loop should be used like this:
|
45
|
+
|
46
|
+
~~~ruby
|
47
|
+
def after_web_site_compile(options)
|
48
|
+
# Build the model documentation
|
49
|
+
OrigenDocHelpers.generate_model_docs layout: "#{Origen.root}/templates/web/layouts/_basic.html.erb", tab: :model do |d|
|
50
|
+
Origen.target.loop targets: ["target_a", "target_b", "target_c"] do
|
51
|
+
d.page model: $dut
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
~~~
|
56
|
+
|
57
|
+
## Options
|
58
|
+
|
59
|
+
<code>OrigenDocHelpers.generate_model_docs</code>
|
60
|
+
|
61
|
+
* <code>:layout</code> - **Required**, supply a full path to your application's layout file
|
62
|
+
* Any other options will be passed to your layout file unmodified, e.g. to set the tab in the generated
|
63
|
+
pages in the above example
|
64
|
+
|
65
|
+
<code>page</code>
|
66
|
+
|
67
|
+
* <code>:model</code> - **Required**, supply an instance of the model
|
68
|
+
* <code>:group</code> - Optional, a heading to group similar models under on the index page, e.g. "Production", "In Development"
|
69
|
+
|
70
|
+
## Website Integration
|
71
|
+
|
72
|
+
The model index page will be generated at path <code>/models</code> within your application, and it is common
|
73
|
+
to create a "Model(s)" tab in your website's navigation bar to link to this.
|
74
|
+
|
75
|
+
If your application only has one model, then the navbar link should be setup to point directly to
|
76
|
+
that model's page.
|
77
|
+
|
78
|
+
The location of the pages for the individual models are based on the model name and will be unique to each application,
|
79
|
+
you can find them initially via the index page.
|
80
|
+
|
81
|
+
% end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: origen_doc_helpers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stephen McGinty
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-03-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: origen
|
@@ -51,17 +51,23 @@ files:
|
|
51
51
|
- config/users.rb
|
52
52
|
- config/version.rb
|
53
53
|
- lib/origen_doc_helpers.rb
|
54
|
-
- lib/origen_doc_helpers/dut.rb
|
55
54
|
- lib/origen_doc_helpers/flow_page_generator.rb
|
56
55
|
- lib/origen_doc_helpers/helpers.rb
|
57
56
|
- lib/origen_doc_helpers/html_flow_formatter.rb
|
58
57
|
- lib/origen_doc_helpers/list_flow_formatter.rb
|
59
58
|
- lib/origen_doc_helpers/model_page_generator.rb
|
60
59
|
- lib/origen_doc_helpers/pdf.rb
|
60
|
+
- lib/origen_doc_helpers_dev/dut.rb
|
61
|
+
- lib/origen_doc_helpers_dev/interface.rb
|
62
|
+
- program/_func.rb
|
63
|
+
- program/_hvst.rb
|
64
|
+
- program/_para.rb
|
65
|
+
- program/probe1.rb
|
61
66
|
- templates/flow_index.md.erb
|
62
67
|
- templates/flow_page.md.erb
|
63
68
|
- templates/model_index.md.erb
|
64
69
|
- templates/model_page.md.erb
|
70
|
+
- templates/model_page.md.erb~
|
65
71
|
- templates/pdf/topic_wrapper.html
|
66
72
|
- templates/shared/_register.html.erb
|
67
73
|
- templates/shared/_searchable.html.erb
|
@@ -71,6 +77,7 @@ files:
|
|
71
77
|
- templates/web/helpers/disqus.md.erb
|
72
78
|
- templates/web/helpers/flow.md.erb
|
73
79
|
- templates/web/helpers/model.md.erb
|
80
|
+
- templates/web/helpers/model.md.erb~
|
74
81
|
- templates/web/helpers/register.md.erb
|
75
82
|
- templates/web/helpers/searchable/intro.md.erb
|
76
83
|
- templates/web/helpers/searchable/page2.md.erb
|