origen_doc_helpers 0.7.2 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1d338032f14e42458a138b9b188701a0b5914ee3e9ab5ff8990d683911ffffcf
4
- data.tar.gz: f0613005c722f92600e8633b8ede68a638dcf68b5361cbd2c8f12c98fc616564
3
+ metadata.gz: e38c7e090bcb00c720933266cbf06095d99d817206d105a88fa2a3792f9dfd71
4
+ data.tar.gz: '076904f8fedfcbecab07c948341ffc529f68357d02106d235dbdebf8db6496d1'
5
5
  SHA512:
6
- metadata.gz: e413e7c44118ac002618c54dbd7e926c49aec0602e2af86cf0f6eaa4f8182cb934c400b8a245b6576e9452da56454b0a17a4ac83c350e209c29b36ac4007ba47
7
- data.tar.gz: b69b7a92e04b5b2ac0030998ffa9aca87e784050da0d9f798fb7b97114c28f21102d081840cd4b0d779bce7f402c52622d45455087b2758c486d8d5fdf21c7ba
6
+ metadata.gz: 0bb5c8624309ad1e3d5f3261c0e9b5fecc6f30e899a45ef8694d24992b7f6813aadc29bfaebd3ca33bd3915cd44ab5e2319c7c92a300a9e93379fe2aeae8f1ee
7
+ data.tar.gz: e6cc432dcef4200b37cbc045eec8c2777f327f055cb5e3d36366cefd0ee508996a5864a7a0c09c1f09c2f30c746c51f498e1fac13808dcce8730fb8ea2c79e6a
data/config/version.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  module OrigenDocHelpers
2
2
  MAJOR = 0
3
- MINOR = 7
4
- BUGFIX = 2
3
+ MINOR = 8
4
+ BUGFIX = 0
5
5
  DEV = nil
6
6
 
7
7
  VERSION = [MAJOR, MINOR, BUGFIX].join(".") + (DEV ? ".pre#{DEV}" : '')
@@ -79,18 +79,23 @@ module OrigenDocHelpersDev
79
79
  bit 31..0, :placeholder, reset: 0b0, access: :rw
80
80
  end
81
81
  reg :msb0_debug, 0xf58, 32, bit_order: 'msb0', ip_base_address: 0x1080000, description: '' do
82
- bit 31..0, :placeholder, reset: 0b0, access: :rw
82
+ # placeholder field description
83
+ bit 31..1, :placeholder, reset: 0b0, access: :rw
84
+ # single bit
85
+ bit 0, :single_bit, reset: 1, access: :rw
83
86
  end
84
87
  reg :lsb0_non_byte_aligned, 0xf5c, 9, bit_order: 'lsb0', ip_base_address: 0x1080000, description: '' do
85
88
  bit 8..0, :placeholder, reset: 0b0, access: :rw
86
89
  end
87
90
  reg :msb0_non_byte_aligned, 0xf60, 9, bit_order: :msb0, ip_base_address: 0x1080000, description: '' do
91
+ # placeholder field description
88
92
  bit 8..0, :placeholder, reset: 0b0, access: :rw
89
93
  end
90
94
  reg :lsb0_tiny, 0xf64, 3, bit_order: :lsb0, ip_base_address: 0x1080000, description: '' do
91
95
  bit 2..0, :placeholder, reset: 0b0, access: :rw
92
96
  end
93
97
  reg :msb0_tiny, 0xf68, 3, bit_order: :msb0, ip_base_address: 0x1080000, description: '' do
98
+ # placeholder field description
94
99
  bit 2..0, :placeholder, reset: 0b0, access: :rw
95
100
  end
96
101
  end
@@ -19,6 +19,7 @@
19
19
  <h4>0x<%= reg.address.to_s(16).upcase %> - <%= reg_path %></h4>
20
20
  % end
21
21
  </a>
22
+
22
23
  % if options[:current_value]
23
24
  % if reg.size <= 8
24
25
  <h4><font style="background-color: #66FF66">Current Value: <%= sprintf("0x%02X",reg.value) %></font></h4>
@@ -41,33 +42,43 @@
41
42
  </div>
42
43
  % end
43
44
 
45
+ % if !order_is_lsb0
46
+ <table class="reg table table-condensed ljust" style="margin-bottom: 0; table-layout: fixed;">
47
+ <thead>
48
+ <tr class="bit-positions">
49
+ <b><tr class = "heading"><%= reg_path%> <span class="msb0_specific" style="color:gray;">(<%= reg_path %>.with_msb0)</span></tr></b>
50
+ </tr>
51
+ </thead>
52
+ </table>
53
+ % end
54
+
44
55
  % num_bytes = (reg.size / 8.0).ceil
45
56
  % num_bytes.times do |byte_index|
46
57
  % # Need to add support for little endian regs here?
47
58
  % byte_number = num_bytes - byte_index
48
- % if order_is_lsb0
49
- % max_bit = (byte_number * 8) - 1
50
- % min_bit = max_bit - 8 + 1
51
- % else
52
- % min_bit = (byte_index * 8)
53
- % max_bit = min_bit + 7
54
- % end
59
+ % max_bit = (byte_number * 8) - 1
60
+ % min_bit = max_bit - 8 + 1
55
61
  % partial_byte = max_bit > (reg.size - 1)
56
62
 
57
- <table class="reg table table-condensed <%= order_is_lsb0 ? 'rjust' : 'ljust' %><%= partial_byte ? ' partial' : '' %>" style="margin-bottom: 0; table-layout: fixed;">
63
+ <table class="reg table table-condensed <%= 'rjust' %><%= partial_byte ? ' partial' : '' %>" style="margin-bottom: 0; table-layout: fixed;">
58
64
  <thead>
59
65
  <tr class="bit-positions">
66
+ % if order_is_lsb0
60
67
  <th class="spacer"></th>
68
+ % else
69
+ <td class="heading">LSB0<span class="msb0_specific" style="color:gray;"> (MSB0)</span></td>
70
+ % end
71
+
61
72
  % 8.times do |i|
62
- % if order_is_lsb0
63
- % bit_num = (byte_number * 8) - i - 1
64
- % else
65
- % bit_num = (byte_index * 8) + i
66
- % end
73
+ % bit_num = (byte_number * 8) - i - 1
67
74
  % if bit_num > reg.size - 1
68
75
  <th class="spacer"></th>
69
76
  % else
70
- <th class="bit-position<%= !order_is_lsb0 && bit_num == reg.size - 1 ? ' last' : '' %>"><%= bit_num %></th>
77
+ % if order_is_lsb0
78
+ <th class="bit-position"><%= bit_num %></th>
79
+ % else
80
+ <th class="bit-position"><%= bit_num %><span class="msb0_specific" style="color:gray;"> (<%= reg.size - bit_num -1%>)</span></th>
81
+ % end
71
82
  % end
72
83
  % end
73
84
  </tr>
@@ -78,8 +89,13 @@
78
89
  %# Read Row
79
90
  %#############################################
80
91
  <tr class="read">
92
+ % if order_is_lsb0
81
93
  <td class="heading">R</td>
82
- % alignment_done = !order_is_lsb0
94
+ % else
95
+ <td class="heading"><span class="msb0_specific" style="color:gray;">[LSB0] </span>R</td>
96
+ % end
97
+
98
+ % alignment_done = false
83
99
  % reg.named_bits :include_spacers => true do |name, bit|
84
100
  % if _bit_in_range?(bit, max_bit, min_bit)
85
101
  % if max_bit > (reg.size - 1) && !alignment_done
@@ -145,7 +161,7 @@
145
161
  %#############################################
146
162
  <tr class="write">
147
163
  <td class="heading">W</td>
148
- % alignment_done = !order_is_lsb0
164
+ % alignment_done = false
149
165
  % reg.named_bits :include_spacers => true do |name, bit|
150
166
  % if _bit_in_range?(bit, max_bit, min_bit)
151
167
  % if max_bit > (reg.size - 1) && !alignment_done
@@ -246,7 +262,7 @@
246
262
  %#############################################
247
263
  <tr class="reset">
248
264
  <td class="heading">Reset</td>
249
- % alignment_done = !order_is_lsb0
265
+ % alignment_done = false
250
266
  % reg.named_bits :include_spacers => true do |name, bit|
251
267
  % if _bit_in_range?(bit, max_bit, min_bit)
252
268
  % if max_bit > (reg.size - 1) && !alignment_done
@@ -304,16 +320,16 @@
304
320
  <p>
305
321
  <a class="anchor" name="<%= "#{reg.name}_#{name}_#{bits.position}" %>"></a>
306
322
  % if bits.size == 1
307
- <%= bits.position %>
323
+ <%= bits.position %><%= order_is_lsb0 ? '' : "<span class=\"msb0_specific\" style=\"color:gray;\"> (#{reg.size - bits.position - 1})</span>" %>
308
324
  % else
309
- <%= bits.position + bits.size - 1 %>-<%= bits.position %>
325
+ <%= bits.position + bits.size - 1 %>-<%= bits.position %><%= order_is_lsb0 ? '' : "<span class=\"msb0_specific\" style=\"color:gray;\"> (#{reg.size - bits.position - bits.size}-#{reg.size - bits.position - 1})</span>" %>
310
326
  % end
311
327
  </p>
312
328
  <p>
313
329
  % if bits.size == 1
314
330
  <%= name %>
315
331
  % else
316
- <%= name %>[<%= bits.size - 1 %>:0]
332
+ <%= name %>[<%= bits.size - 1 %>:0]<%= order_is_lsb0 ? '' : "<span class=\"msb0_specific\" style=\"color:gray;\"> ([0:#{bits.size - 1}])</span>" %>
317
333
  % end
318
334
  </p>
319
335
  </td>
@@ -1,4 +1,6 @@
1
1
  % reg = options[:reg]
2
+ % order_is_lsb0 = true
3
+ % order_is_lsb0 = false if reg.bit_order == :msb0 || reg.bit_order == 'msb0'
2
4
  % include_data = false
3
5
 
4
6
  <div class="register">
@@ -17,6 +19,7 @@
17
19
  <h4>0x<%= reg.address.to_s(16).upcase %> - <%= reg_path %></h4>
18
20
  % end
19
21
  </a>
22
+
20
23
  % if options[:current_value]
21
24
  % if reg.size <= 8
22
25
  <h4><font style="background-color: #66FF66">Current Value: <%= sprintf("0x%02X",reg.value) %></font></h4>
@@ -39,32 +42,43 @@
39
42
  </div>
40
43
  % end
41
44
 
45
+ % if !order_is_lsb0
46
+ <table class="reg table table-condensed ljust" style="margin-bottom: 0; table-layout: fixed;">
47
+ <thead>
48
+ <tr class="bit-positions">
49
+ <b><tr class = "heading"><%= reg_path%> <span class="msb0_specific" style="color:gray;">(<%= reg_path %>.with_msb0)</span></tr></b>
50
+ </tr>
51
+ </thead>
52
+ </table>
53
+ % end
54
+
42
55
  % num_bytes = (reg.size / 8.0).ceil
43
56
  % num_bytes.times do |byte_index|
44
57
  % # Need to add support for little endian regs here?
45
58
  % byte_number = num_bytes - byte_index
46
- % if reg.bit_order == :lsb0
47
- % max_bit = (byte_number * 8) - 1
48
- % min_bit = max_bit - 8 + 1
49
- % else
50
- % min_bit = (byte_index * 8)
51
- % max_bit = min_bit + 7
52
- % end
59
+ % max_bit = (byte_number * 8) - 1
60
+ % min_bit = max_bit - 8 + 1
61
+ % partial_byte = max_bit > (reg.size - 1)
53
62
 
54
- <table class="reg table table-condensed" style="margin-bottom: 0; table-layout: fixed;">
63
+ <table class="reg table table-condensed <%= 'rjust' %><%= partial_byte ? ' partial' : '' %>" style="margin-bottom: 0; table-layout: fixed;">
55
64
  <thead>
56
65
  <tr class="bit-positions">
66
+ % if order_is_lsb0
57
67
  <th class="spacer"></th>
68
+ % else
69
+ <td class="heading">LSB0<span class="msb0_specific" style="color:gray;"> (MSB0)</span></td>
70
+ % end
71
+
58
72
  % 8.times do |i|
59
- % if reg.bit_order == :lsb0
60
- % bit_num = (byte_number * 8) - i - 1
61
- % else
62
- % bit_num = (byte_index * 8) + i
63
- % end
73
+ % bit_num = (byte_number * 8) - i - 1
64
74
  % if bit_num > reg.size - 1
65
75
  <th class="spacer"></th>
66
76
  % else
77
+ % if order_is_lsb0
67
78
  <th class="bit-position"><%= bit_num %></th>
79
+ % else
80
+ <th class="bit-position"><%= bit_num %><span class="msb0_specific" style="color:gray;"> (<%= reg.size - bit_num -1%>)</span></th>
81
+ % end
68
82
  % end
69
83
  % end
70
84
  </tr>
@@ -75,8 +89,13 @@
75
89
  %# Read Row
76
90
  %#############################################
77
91
  <tr class="read">
92
+ % if order_is_lsb0
78
93
  <td class="heading">R</td>
79
- % alignment_done = reg.bit_order == :lsb0 ? false : true
94
+ % else
95
+ <td class="heading"><span class="msb0_specific" style="color:gray;">[LSB0] </span>R</td>
96
+ % end
97
+
98
+ % alignment_done = false
80
99
  % reg.named_bits :include_spacers => true do |name, bit|
81
100
  % if _bit_in_range?(bit, max_bit, min_bit)
82
101
  % if max_bit > (reg.size - 1) && !alignment_done
@@ -142,7 +161,7 @@
142
161
  %#############################################
143
162
  <tr class="write">
144
163
  <td class="heading">W</td>
145
- % alignment_done = reg.bit_order == :lsb0 ? false : true
164
+ % alignment_done = false
146
165
  % reg.named_bits :include_spacers => true do |name, bit|
147
166
  % if _bit_in_range?(bit, max_bit, min_bit)
148
167
  % if max_bit > (reg.size - 1) && !alignment_done
@@ -200,7 +219,7 @@
200
219
  % if options[:current_value]
201
220
  <tr class="current_value">
202
221
  <td class="heading">Current Value (Hex)</td>
203
- % alignment_done = reg.bit_order == :lsb0 ? false : true
222
+ % alignment_done = !order_is_lsb0
204
223
  % reg.named_bits :include_spacers => true do |name, bit|
205
224
  % if _bit_in_range?(bit, max_bit, min_bit)
206
225
  % if max_bit > (reg.size - 1) && !alignment_done
@@ -243,7 +262,7 @@
243
262
  %#############################################
244
263
  <tr class="reset">
245
264
  <td class="heading">Reset</td>
246
- % alignment_done = reg.bit_order == :lsb0 ? false : true
265
+ % alignment_done = false
247
266
  % reg.named_bits :include_spacers => true do |name, bit|
248
267
  % if _bit_in_range?(bit, max_bit, min_bit)
249
268
  % if max_bit > (reg.size - 1) && !alignment_done
@@ -301,16 +320,16 @@
301
320
  <p>
302
321
  <a class="anchor" name="<%= "#{reg.name}_#{name}_#{bits.position}" %>"></a>
303
322
  % if bits.size == 1
304
- <%= bits.position %>
323
+ <%= bits.position %><%= order_is_lsb0 ? '' : "<span class="msb0_specific" style="color:gray;"> (#{reg.size - bits.position - 1})</span>" %>
305
324
  % else
306
- <%= bits.position + bits.size - 1 %>-<%= bits.position %>
325
+ <%= bits.position + bits.size - 1 %>-<%= bits.position %><%= order_is_lsb0 ? '' : "<span class="msb0_specific" style="color:gray;"> (#{reg.size - bits.position - bits.size}-#{reg.size - bits.position - 1})</span>" %>
307
326
  % end
308
327
  </p>
309
328
  <p>
310
329
  % if bits.size == 1
311
330
  <%= name %>
312
331
  % else
313
- <%= name %>[<%= bits.size - 1 %>:0]
332
+ <%= name %>[<%= bits.size - 1 %>:0]<%= order_is_lsb0 ? '' : "<span class="msb0_specific" style="color:gray;"> ([0:#{bits.size - 1}])</span>" %>
314
333
  % end
315
334
  </p>
316
335
  </td>
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.7.2
4
+ version: 0.8.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: 2018-11-08 00:00:00.000000000 Z
11
+ date: 2018-12-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: origen