origen 0.7.21 → 0.7.22
Sign up to get free protection for your applications and to get access to all the features.
- 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
|