origen 0.7.21 → 0.7.22
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.
- checksums.yaml +4 -4
- data/config/boot.rb +0 -1
- data/config/version.rb +1 -1
- data/lib/origen/application.rb +1 -1
- data/lib/origen/generator/pattern.rb +1 -0
- data/lib/origen/registers/bit_collection.rb +11 -0
- data/lib/origen/registers/reg.rb +17 -5
- metadata +2 -4
- data/lib/c99/doc_interface.rb +0 -56
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ac431b3c69fa97233c3cf47c28ba88f5acff4d63
|
4
|
+
data.tar.gz: 1a0f88d62a1cfbfb7305106d2ca77b76d116590c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d6c5f3f359a15736467ffa20a9c8369613f90ef0bae436ca9bbb9f193ed4701c61a9e18ee221561cca9727b0d88655df579ff51c99e6a91dcd9ee9e88d929d9a
|
7
|
+
data.tar.gz: 960961ec6d3a0e3e2c236ccc81f5c6417ba235e1c5d7c89b2b47038dd41251ddf9dd83796389d70965aa69ff5eeaa1d4af2341080e730955eb76825ef4c28763
|
data/config/boot.rb
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
# Interfaces must be required, can't autoload
|
2
2
|
require "c99/ate_interface"
|
3
|
-
require "c99/doc_interface"
|
4
3
|
# The majority of this class is defined in the support application,
|
5
4
|
# this is to test that the importing application can override and
|
6
5
|
# extend imported classes.
|
data/config/version.rb
CHANGED
data/lib/origen/application.rb
CHANGED
@@ -595,7 +595,7 @@ module Origen
|
|
595
595
|
dynamic_resource(:toplevel_listeners, [], adding: true) << obj
|
596
596
|
end
|
597
597
|
|
598
|
-
# Any attempts to instantiate a
|
598
|
+
# Any attempts to instantiate a tester within the give block will be forced to instantiate
|
599
599
|
# an Origen::Tester::Doc instance
|
600
600
|
def with_doc_tester(options = {})
|
601
601
|
@with_doc_tester = true
|
@@ -279,6 +279,17 @@ module Origen
|
|
279
279
|
~data & ((1 << size) - 1)
|
280
280
|
end
|
281
281
|
|
282
|
+
# Returns the reverse of the data value held by the collection
|
283
|
+
def data_reverse
|
284
|
+
data = 0
|
285
|
+
reverse.each_with_index do |bit, i|
|
286
|
+
return undefined if bit.is_a?(Origen::UndefinedClass)
|
287
|
+
data |= bit.data << i
|
288
|
+
end
|
289
|
+
data
|
290
|
+
end
|
291
|
+
alias_method :reverse_data, :data_reverse
|
292
|
+
|
282
293
|
# Supports reg.bit[0] and bitcollection.bit[0]
|
283
294
|
def bit
|
284
295
|
self
|
data/lib/origen/registers/reg.rb
CHANGED
@@ -151,9 +151,10 @@ module Origen
|
|
151
151
|
|
152
152
|
# BIT NAME ROW
|
153
153
|
line = ' '
|
154
|
+
first_done = false
|
154
155
|
named_bits include_spacers: true do |name, bit, bitcounter|
|
155
156
|
if _bit_in_range?(bit, max_bit, min_bit)
|
156
|
-
if max_bit > (size - 1)
|
157
|
+
if max_bit > (size - 1) && !first_done
|
157
158
|
(max_bit - (size - 1)).times do
|
158
159
|
line << ' ' * (bit_width + 1)
|
159
160
|
end
|
@@ -172,8 +173,12 @@ module Origen
|
|
172
173
|
bit_name = "#{name}[#{upper}:#{lower}]"
|
173
174
|
bit_span = upper - lower + 1
|
174
175
|
end
|
175
|
-
width = bit_width * bit_span
|
176
|
-
|
176
|
+
width = (bit_width * bit_span) + bit_span - 1
|
177
|
+
if bit_name.length > width
|
178
|
+
line << '|' + "#{bit_name[0..width - 2]}*"
|
179
|
+
else
|
180
|
+
line << '|' + bit_name.center(width)
|
181
|
+
end
|
177
182
|
|
178
183
|
else
|
179
184
|
bit.shift_out_left do |bit|
|
@@ -186,22 +191,28 @@ module Origen
|
|
186
191
|
else
|
187
192
|
if name
|
188
193
|
bit_name = "#{name}"
|
189
|
-
|
194
|
+
if bit_name.length > bit_width
|
195
|
+
txt = "#{bit_name[0..bit_width - 2]}*"
|
196
|
+
else
|
197
|
+
txt = bit_name
|
198
|
+
end
|
190
199
|
else
|
191
200
|
txt = ''
|
192
201
|
end
|
193
202
|
line << '|' + txt.center(bit_width)
|
194
203
|
end
|
195
204
|
end
|
205
|
+
first_done = true
|
196
206
|
end
|
197
207
|
line += '|'
|
198
208
|
desc << line
|
199
209
|
|
200
210
|
# BIT STATE ROW
|
201
211
|
line = ' '
|
212
|
+
first_done = false
|
202
213
|
named_bits include_spacers: true do |name, bit, _bitcounter|
|
203
214
|
if _bit_in_range?(bit, max_bit, min_bit)
|
204
|
-
if max_bit > (size - 1)
|
215
|
+
if max_bit > (size - 1) && !first_done
|
205
216
|
(max_bit - (size - 1)).times do
|
206
217
|
line << ' ' * (bit_width + 1)
|
207
218
|
end
|
@@ -247,6 +258,7 @@ module Origen
|
|
247
258
|
end
|
248
259
|
end
|
249
260
|
end
|
261
|
+
first_done = true
|
250
262
|
end
|
251
263
|
line += '|'
|
252
264
|
desc << line
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: origen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.22
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stephen McGinty
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-08-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -346,7 +346,6 @@ files:
|
|
346
346
|
- helpers/guides.rb
|
347
347
|
- helpers/url.rb
|
348
348
|
- lib/c99/ate_interface.rb
|
349
|
-
- lib/c99/doc_interface.rb
|
350
349
|
- lib/c99/nvm.rb
|
351
350
|
- lib/c99/target/mock2.rb
|
352
351
|
- lib/c99/target/subdir/mock3.rb
|
@@ -573,4 +572,3 @@ signing_key:
|
|
573
572
|
specification_version: 4
|
574
573
|
summary: The Semiconductor Developer's Kit
|
575
574
|
test_files: []
|
576
|
-
has_rdoc:
|
data/lib/c99/doc_interface.rb
DELETED
@@ -1,56 +0,0 @@
|
|
1
|
-
module C99
|
2
|
-
class DocInterface
|
3
|
-
include OrigenTesters::Doc::Generator
|
4
|
-
|
5
|
-
# Options passed to Flow.create and Library.create will be passed in here, use as
|
6
|
-
# desired to configure your interface
|
7
|
-
def initialize(_options = {})
|
8
|
-
end
|
9
|
-
|
10
|
-
def resources_filename=(*_args)
|
11
|
-
end
|
12
|
-
|
13
|
-
def log(_msg)
|
14
|
-
end
|
15
|
-
|
16
|
-
def func(name, options = {})
|
17
|
-
options = {
|
18
|
-
duration: :static
|
19
|
-
}.merge(options)
|
20
|
-
|
21
|
-
block_loop(name, options) do |_block, i, group|
|
22
|
-
ins = tests.add(name, options)
|
23
|
-
if group
|
24
|
-
flow.test(group, options) if i == 0
|
25
|
-
else
|
26
|
-
flow.test(ins, options)
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
def block_loop(name, options)
|
32
|
-
if options[:by_block]
|
33
|
-
tests.group do |group|
|
34
|
-
group.name = name
|
35
|
-
$nvm.blocks.each_with_index do |block, i|
|
36
|
-
yield block, i, group
|
37
|
-
end
|
38
|
-
end
|
39
|
-
else
|
40
|
-
yield
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
def por(_options = {})
|
45
|
-
end
|
46
|
-
|
47
|
-
def para(name, options = {})
|
48
|
-
options = {
|
49
|
-
high_voltage: false
|
50
|
-
}.merge(options)
|
51
|
-
ins = tests.add(name, options)
|
52
|
-
ins.dc_category = 'NVM_PARA'
|
53
|
-
flow.test(ins, options)
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|