origen 0.59.4 → 0.60.0
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/commands.rb +1 -1
- data/config/version.rb +2 -2
- data/lib/origen/generator/compiler.rb +5 -1
- data/lib/origen/generator/pattern_sequence.rb +8 -1
- data/lib/origen/loader.rb +54 -41
- data/lib/origen/model_initializer.rb +1 -1
- data/lib/origen/pins/pin.rb +2 -13
- data/lib/origen/registers/reg.rb +10 -0
- data/lib/origen/site_config.rb +1 -1
- data/lib/origen/sub_blocks.rb +58 -5
- data/origen_app_generators/Gemfile.lock +43 -42
- data/origen_app_generators/config/version.rb +2 -2
- data/origen_app_generators/doc/history +11 -0
- data/origen_app_generators/origen_app_generators.gemspec +8 -10
- data/origen_app_generators/templates/app_generators/application/Gemfile +2 -8
- data/origen_app_generators/templates/app_generators/plugin/Gemfile +2 -2
- data/vendor/lib/models/origen/export1.rb +58 -58
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7b89041bc7a6067a7945d3b9cae3415771f2a270c3f6496a217d8b27916c2211
|
4
|
+
data.tar.gz: a6c3ac53db78a810b77c0cb23c99fdb1d35fd05ec451c658f710c2501822bd03
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c2d17382ac902d0391e7d2f748e5166ff6264ba2c10529b72dc5074bbb33aab30e4558e495082221a29e7365e483e2cc8f7e2517d229200519a5bef9cf1b27e8
|
7
|
+
data.tar.gz: 66b8c763603a908bab112da936042f6e6e127b961acc52ba06d2d1e2b2d783d28480dda944d9dfd7fdadb24f3a98aa30a1f065fff069d37ea6d9213f4d64ff9e
|
data/config/commands.rb
CHANGED
@@ -17,7 +17,7 @@ when "tags"
|
|
17
17
|
when "specs"
|
18
18
|
Origen.app.session.origen_core[:mode] = 'debug'
|
19
19
|
require "rspec"
|
20
|
-
exit RSpec::Core::Runner.run(['spec'])
|
20
|
+
exit RSpec::Core::Runner.run($ARGV.empty? ? ['spec'] : $ARGV)
|
21
21
|
|
22
22
|
when "examples", "test"
|
23
23
|
Origen.app.session.origen_core[:mode] = 'debug'
|
data/config/version.rb
CHANGED
@@ -103,7 +103,11 @@ module Origen
|
|
103
103
|
# not be an issue except when testing Origen and generating and compiling within
|
104
104
|
# the same thread, but clearing this here doesn't seem to do any harm.
|
105
105
|
Origen.file_handler.default_extension = nil
|
106
|
-
|
106
|
+
begin
|
107
|
+
Origen.log.info "Compiling... #{relative_path_to(file)}" unless options[:quiet]
|
108
|
+
rescue
|
109
|
+
Origen.log.info "Compiling... #{file}" unless options[:quiet]
|
110
|
+
end
|
107
111
|
Origen.log.info " Created... #{relative_path_to(output_file(file, options))}" unless options[:quiet]
|
108
112
|
stats.completed_files += 1 if options[:collect_stats]
|
109
113
|
if is_erb?(file)
|
@@ -132,6 +132,13 @@ module Origen
|
|
132
132
|
line_size = 150
|
133
133
|
end
|
134
134
|
line_size -= 16 if tester.try(:sim?)
|
135
|
+
# This should only occur when $tester.handshake has been called on the V93K or a similar API
|
136
|
+
# which splits a pattern up until multiple outputs.
|
137
|
+
# This is a quick patch to skip rendering an execution profile for pattern parts 1 to n, instead
|
138
|
+
# of crashing.
|
139
|
+
# It should be possible to get an execution profile in these cases if someone were to invest the
|
140
|
+
# time in it to workout why this variable is not set upstream in these cases.
|
141
|
+
return unless @cycle_count_stop
|
135
142
|
cycles_per_tick = (@cycle_count_stop / (line_size * 1.0)).ceil
|
136
143
|
if tester.try(:sim?)
|
137
144
|
execution_time = tester.execution_time_in_ns / 1_000_000_000.0
|
@@ -193,7 +200,7 @@ module Origen
|
|
193
200
|
elsif time < 1.s
|
194
201
|
"%.#{number_decimal_places}fms" % (time * 1_000)
|
195
202
|
else
|
196
|
-
"%.#{number_decimal_places}fs" %
|
203
|
+
"%.#{number_decimal_places}fs" % time
|
197
204
|
end
|
198
205
|
end
|
199
206
|
|
data/lib/origen/loader.rb
CHANGED
@@ -116,62 +116,75 @@ module Origen
|
|
116
116
|
|
117
117
|
# If a block definition exists for the given model, then this will load it and apply it to
|
118
118
|
# the model.
|
119
|
+
# if options[:inherit] is passed, it will first try to load the files for the class name contained
|
120
|
+
# in that option, even if its from a plugin app
|
119
121
|
# Returns true if a model is found and loaded, otherwise nil.
|
120
122
|
def self.load_block(model, options = {})
|
121
123
|
model = model.model # Ensure we have a handle on the model and not its controller
|
122
124
|
loaded = nil
|
123
|
-
if
|
125
|
+
if local_app = options[:app] || model.app
|
124
126
|
if options[:path]
|
125
|
-
|
127
|
+
local_full_paths = Array(options[:path])
|
126
128
|
else
|
127
|
-
|
128
|
-
|
129
|
-
|
129
|
+
local_full_paths = model.class.to_s.split('::')
|
130
|
+
local_full_paths.shift # Throw away the app namespace
|
131
|
+
local_full_paths = [local_full_paths.join('/')]
|
130
132
|
end
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
133
|
+
app_paths_map = { local_app => local_full_paths }
|
134
|
+
if options[:inherit]
|
135
|
+
inherit_full_paths = options[:inherit].split('::')
|
136
|
+
inherit_app = Origen.app(inherit_full_paths.shift.underscore.to_sym)
|
137
|
+
inherit_full_paths = [inherit_full_paths.join('/')]
|
138
|
+
# merge to get inherit ordered in the beginning
|
139
|
+
app_paths_map = { inherit_app => inherit_full_paths }.merge(app_paths_map)
|
140
|
+
end
|
141
|
+
# load the inherit files, then the current app's block files
|
142
|
+
app_paths_map.each do |app, full_paths|
|
143
|
+
full_paths.each do |full_path|
|
144
|
+
paths = full_path.to_s.split('/')
|
145
|
+
key = ''
|
146
|
+
only = Array(options[:only]) if options[:only]
|
147
|
+
except = Array(options[:except]) if options[:except]
|
148
|
+
path = paths.map(&:underscore).join('/')
|
149
|
+
# If the path refers to a nested sub-block then don't load the full hierarchy since they
|
150
|
+
# don't support inheritance or derivatives, modify the paths array so that only the sub-block
|
151
|
+
# level will be loaded and nothing else.
|
152
|
+
paths = [path] if app.blocks_files[path] && app.blocks_files[path][:_sub_block]
|
153
|
+
# These will be loaded first, followed by the rest in an undefined order.
|
154
|
+
# Attributes and parameters are first so that they may be referenced in the other files.
|
155
|
+
# Sub-blocks was added early due to a corner case issue that could be encountered if the pins or
|
156
|
+
# regs imported an Origen exported file that defined a module with the same name as a sub-block
|
157
|
+
# class, in that case the sub-block class would not be auto-loaded.
|
158
|
+
load_first = [:attributes, :parameters, :sub_blocks]
|
147
159
|
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
160
|
+
load_first.each do |type|
|
161
|
+
unless (only && !only.include?(type)) || (except && except.include?(type))
|
162
|
+
with_parameters_transaction(type) do
|
163
|
+
paths.each_with_index do |path, i|
|
164
|
+
key = i == 0 ? path.underscore : "#{key}/#{path.underscore}"
|
165
|
+
if app.blocks_files[key] && app.blocks_files[key][type]
|
166
|
+
app.blocks_files[key][type].each do |f|
|
167
|
+
if type == :attributes
|
168
|
+
success = load_attributes(f, model)
|
169
|
+
else
|
170
|
+
success = load_block_file(f, model)
|
171
|
+
end
|
172
|
+
loaded ||= success
|
159
173
|
end
|
160
|
-
loaded ||= success
|
161
174
|
end
|
162
175
|
end
|
163
176
|
end
|
164
177
|
end
|
165
178
|
end
|
166
|
-
end
|
167
179
|
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
180
|
+
# Now load the rest
|
181
|
+
paths.each_with_index do |path, i|
|
182
|
+
key = i == 0 ? path.underscore : "#{key}/#{path.underscore}"
|
183
|
+
if app.blocks_files[key]
|
184
|
+
app.blocks_files[key].each do |type, files|
|
185
|
+
unless type == :_sub_block || load_first.include?(type) || (only && !only.include?(type)) || (except && except.include?(type))
|
186
|
+
files.each { |f| success = load_block_file(f, model); loaded ||= success }
|
187
|
+
end
|
175
188
|
end
|
176
189
|
end
|
177
190
|
end
|
data/lib/origen/pins/pin.rb
CHANGED
@@ -23,7 +23,7 @@ module Origen
|
|
23
23
|
PACKAGE_SCOPED_ATTRIBUTES = [:location, :dib_assignment, :dib_meta]
|
24
24
|
|
25
25
|
# Pin Types, 'digital' and 'analog' are legacy types kept for backwards compatibility
|
26
|
-
TYPES = [:
|
26
|
+
TYPES = [:analog, :digital, :signal, :ground, :power, :virtual]
|
27
27
|
|
28
28
|
attr_accessor :order
|
29
29
|
# Inverts pin states for drive and compare, can be useful if a timing set change requires clocks to drive low for example when all pattern logic has been set up to drive them high.
|
@@ -90,7 +90,7 @@ module Origen
|
|
90
90
|
@open_drain = options[:open_drain]
|
91
91
|
@ext_pullup = options[:ext_pullup]
|
92
92
|
@ext_pulldown = options[:ext_pulldown]
|
93
|
-
@type = options[:type]
|
93
|
+
@type = options[:type]
|
94
94
|
@dib_assignment = [] # Array to handle multi-site testing
|
95
95
|
@size = 1
|
96
96
|
@value = 0
|
@@ -1183,17 +1183,6 @@ module Origen
|
|
1183
1183
|
|
1184
1184
|
private
|
1185
1185
|
|
1186
|
-
def determine_type
|
1187
|
-
class_type = self.class.to_s.split('::').last.downcase
|
1188
|
-
if class_type == 'pin'
|
1189
|
-
return :signal
|
1190
|
-
else
|
1191
|
-
pin_type_match = class_type.match(/^(\S+)pin$/)
|
1192
|
-
return if pin_type_match.nil?
|
1193
|
-
pin_type_match[1].to_sym
|
1194
|
-
end
|
1195
|
-
end
|
1196
|
-
|
1197
1186
|
def primary_group=(group)
|
1198
1187
|
@primary_group = group
|
1199
1188
|
end
|
data/lib/origen/registers/reg.rb
CHANGED
@@ -574,6 +574,16 @@ module Origen
|
|
574
574
|
}.merge(options)
|
575
575
|
result = []
|
576
576
|
|
577
|
+
# Shows the bits that have changed from the reset value of the register/bits.
|
578
|
+
# Currently logs it to the console window using Origen logger.
|
579
|
+
def changed_bits(options = {})
|
580
|
+
temp = named_bits.select { |name, bits| bits.data != bits.reset_val }
|
581
|
+
temp.each do |r|
|
582
|
+
Origen.log.info "\t\t#{self.name}.#{r[0]} : #{r[1].value.to_hex}".bold.blue
|
583
|
+
end
|
584
|
+
Origen.log.info ' '
|
585
|
+
end
|
586
|
+
|
577
587
|
# test if @lookup has any values stored as an array
|
578
588
|
# if so it means there is a split group of bits
|
579
589
|
# process that differently to a single bit or continuous range of bits
|
data/lib/origen/site_config.rb
CHANGED
@@ -418,7 +418,7 @@ module Origen
|
|
418
418
|
if centralized_site_config
|
419
419
|
# The first site configs found will exist in Origen core, and they contain the default values.
|
420
420
|
# We want the centralized config to load right after those.
|
421
|
-
centralized_index = -(@configs.select { |c| c.path.start_with?(
|
421
|
+
centralized_index = -(@configs.select { |c| c.path.start_with?(File.expand_path('../../../')) }.size + 1)
|
422
422
|
@configs.insert(centralized_index, Config.new(path: centralized_site_config, parent: self))
|
423
423
|
end
|
424
424
|
|
data/lib/origen/sub_blocks.rb
CHANGED
@@ -317,10 +317,36 @@ module Origen
|
|
317
317
|
# been instantiated yet. This is not supported yet for instantiated sub-blocks since
|
318
318
|
# there are probably a lot more corner-cases to consider, and hopefully no one will
|
319
319
|
# really need this anyway.
|
320
|
-
|
321
|
-
|
320
|
+
# Note that override is to recreate an existing sub-block, not adding additional
|
321
|
+
# attributes to an existing one
|
322
|
+
if options[:override]
|
323
|
+
sub_blocks.delete(name)
|
324
|
+
if options[:class_name]
|
325
|
+
begin
|
326
|
+
constantizable = !!options[:class_name].constantize
|
327
|
+
rescue NameError
|
328
|
+
constantizable = false
|
329
|
+
end
|
330
|
+
# this is to handle the case where a previously instantiated subblock wont allow
|
331
|
+
# the current class name to exist
|
332
|
+
# e.g. NamespaceA::B::C
|
333
|
+
# => NameSpaceX::Y::Z
|
334
|
+
# After requiring the files, constants become sane again:
|
335
|
+
# e.g. NamespaceA::B::C
|
336
|
+
# => NameSpaceA::B::C
|
337
|
+
if constantizable && (options[:class_name] != options[:class_name].constantize.to_s)
|
338
|
+
block_dir = options[:block_file] || _find_block_dir(options)
|
339
|
+
Dir.glob("#{block_dir}/*.rb").each do |file|
|
340
|
+
require file
|
341
|
+
end
|
342
|
+
end
|
343
|
+
end
|
344
|
+
else
|
345
|
+
if sub_blocks[name] && !sub_blocks[name].is_a?(Placeholder)
|
346
|
+
fail "You have already defined a sub-block named #{name} within class #{self.class}"
|
347
|
+
end
|
322
348
|
end
|
323
|
-
if respond_to?(name)
|
349
|
+
if respond_to?(name) && !(singleton_class.instance_methods.include?(name) && options[:override])
|
324
350
|
callers = Origen.split_caller_line caller[0]
|
325
351
|
Origen.log.warning "The sub_block defined at #{Pathname.new(callers[0]).relative_path_from(Pathname.pwd)}:#{callers[1]} is overriding an existing method called #{name}"
|
326
352
|
end
|
@@ -404,6 +430,33 @@ module Origen
|
|
404
430
|
|
405
431
|
private
|
406
432
|
|
433
|
+
# @api private
|
434
|
+
# find the block directory path containing the namespace of options[:class_name]
|
435
|
+
def _find_block_dir(options, current_path = nil, remaining_namespace = nil)
|
436
|
+
current_path ||= Pathname.new("#{Origen.root}/app/blocks")
|
437
|
+
remaining_namespace ||= options[:class_name].split('::')[1..-1].map(&:underscore)
|
438
|
+
current_namespace = remaining_namespace.shift
|
439
|
+
if current_namespace
|
440
|
+
if current_path.join(current_namespace).exist?
|
441
|
+
return _find_block_dir(options, current_path.join(current_namespace), remaining_namespace)
|
442
|
+
elsif current_path.join("derivatives/#{current_namespace}").exist?
|
443
|
+
return _find_block_dir(options, current_path.join("derivatives/#{current_namespace}"), remaining_namespace)
|
444
|
+
elsif current_path.join("sub_blocks/#{current_namespace}").exist?
|
445
|
+
return _find_block_dir(options, current_path.join("sub_blocks/#{current_namespace}"), remaining_namespace)
|
446
|
+
else
|
447
|
+
Origen.log.error "Could not find block dir for namespace #{options[:class_name]}!"
|
448
|
+
fail
|
449
|
+
end
|
450
|
+
else
|
451
|
+
if current_path.join('model.rb').exist?
|
452
|
+
return current_path.to_s
|
453
|
+
else
|
454
|
+
Origen.log.error "Could not find block dir for namespace #{options[:class_name]}!"
|
455
|
+
fail
|
456
|
+
end
|
457
|
+
end
|
458
|
+
end
|
459
|
+
|
407
460
|
def instantiate_sub_block(name, klass, options)
|
408
461
|
return sub_blocks[name] unless sub_blocks[name].is_a?(Placeholder)
|
409
462
|
sub_blocks[name] = klass.new(options.merge(parent: self, name: name))
|
@@ -501,8 +554,8 @@ module Origen
|
|
501
554
|
rescue NameError => e
|
502
555
|
raise if e.message !~ /^uninitialized constant (.*)$/ || tmp_class !~ /#{Regexp.last_match(1)}/
|
503
556
|
begin
|
504
|
-
tmp_class = class_name
|
505
|
-
klass = eval(
|
557
|
+
tmp_class = "::#{class_name}"
|
558
|
+
klass = eval(tmp_class)
|
506
559
|
rescue NameError => e
|
507
560
|
raise if e.message !~ /^uninitialized constant (.*)$/ || tmp_class !~ /#{Regexp.last_match(1)}/
|
508
561
|
begin
|
@@ -1,54 +1,53 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
origen_app_generators (2.
|
4
|
+
origen_app_generators (2.2.0)
|
5
5
|
origen (>= 0.40.2)
|
6
6
|
|
7
7
|
GEM
|
8
8
|
remote: https://rubygems.org/
|
9
9
|
specs:
|
10
|
-
activesupport (4.2.11.
|
10
|
+
activesupport (4.2.11.3)
|
11
11
|
i18n (~> 0.7)
|
12
12
|
minitest (~> 5.1)
|
13
13
|
thread_safe (~> 0.3, >= 0.3.4)
|
14
14
|
tzinfo (~> 1.1)
|
15
|
-
ast (2.4.
|
15
|
+
ast (2.4.1)
|
16
16
|
astrolabe (1.3.1)
|
17
17
|
parser (~> 2.2)
|
18
18
|
byebug (9.0.6)
|
19
|
-
coderay (1.1.
|
19
|
+
coderay (1.1.3)
|
20
20
|
colored (1.2)
|
21
21
|
colorize (0.8.1)
|
22
|
-
concurrent-ruby (1.1.
|
22
|
+
concurrent-ruby (1.1.7)
|
23
23
|
cri (2.10.1)
|
24
24
|
colored (~> 1.2)
|
25
25
|
dentaku (2.0.11)
|
26
|
-
diff-lcs (1.
|
27
|
-
docile (1.3.
|
26
|
+
diff-lcs (1.4.4)
|
27
|
+
docile (1.3.2)
|
28
28
|
gems (0.8.3)
|
29
29
|
highline (1.7.10)
|
30
|
-
httparty (0.
|
30
|
+
httparty (0.18.1)
|
31
31
|
mime-types (~> 3.0)
|
32
32
|
multi_xml (>= 0.5.2)
|
33
33
|
i18n (0.9.5)
|
34
34
|
concurrent-ruby (~> 1.0)
|
35
|
-
json (2.2.0)
|
36
35
|
kramdown (1.17.0)
|
37
|
-
method_source (0.
|
38
|
-
mime-types (3.
|
36
|
+
method_source (1.0.0)
|
37
|
+
mime-types (3.3.1)
|
39
38
|
mime-types-data (~> 3.2015)
|
40
|
-
mime-types-data (3.
|
39
|
+
mime-types-data (3.2020.1104)
|
41
40
|
mini_portile2 (2.3.0)
|
42
|
-
minitest (5.
|
41
|
+
minitest (5.14.2)
|
43
42
|
multi_xml (0.6.0)
|
44
43
|
nanoc (3.7.5)
|
45
44
|
cri (~> 2.3)
|
46
|
-
net-ldap (0.
|
45
|
+
net-ldap (0.17.0)
|
47
46
|
nokogiri (1.8.5)
|
48
47
|
mini_portile2 (~> 2.3.0)
|
49
|
-
origen (0.
|
48
|
+
origen (0.59.4)
|
50
49
|
activesupport (~> 4.1)
|
51
|
-
bundler (
|
50
|
+
bundler (> 1.7)
|
52
51
|
coderay (~> 1.1)
|
53
52
|
colored (~> 1.2)
|
54
53
|
colorize (~> 0.8.1)
|
@@ -68,33 +67,34 @@ GEM
|
|
68
67
|
rspec-legacy_formatters (~> 1)
|
69
68
|
rubocop (= 0.30)
|
70
69
|
scrub_rb (~> 1.0)
|
71
|
-
simplecov (~> 0.
|
70
|
+
simplecov (~> 0.17)
|
71
|
+
simplecov-html (~> 0.10)
|
72
72
|
thor (~> 0.19)
|
73
73
|
yard (~> 0.8)
|
74
|
-
parser (2.
|
75
|
-
ast (~> 2.4.
|
76
|
-
powerpack (0.1.
|
77
|
-
pry (0.
|
78
|
-
coderay (~> 1.1
|
79
|
-
method_source (~>
|
74
|
+
parser (2.7.2.0)
|
75
|
+
ast (~> 2.4.1)
|
76
|
+
powerpack (0.1.3)
|
77
|
+
pry (0.13.1)
|
78
|
+
coderay (~> 1.1)
|
79
|
+
method_source (~> 1.0)
|
80
80
|
rainbow (2.2.2)
|
81
81
|
rake
|
82
82
|
rake (10.5.0)
|
83
|
-
rspec (3.
|
84
|
-
rspec-core (~> 3.
|
85
|
-
rspec-expectations (~> 3.
|
86
|
-
rspec-mocks (~> 3.
|
87
|
-
rspec-core (3.
|
88
|
-
rspec-support (~> 3.
|
89
|
-
rspec-expectations (3.
|
83
|
+
rspec (3.10.0)
|
84
|
+
rspec-core (~> 3.10.0)
|
85
|
+
rspec-expectations (~> 3.10.0)
|
86
|
+
rspec-mocks (~> 3.10.0)
|
87
|
+
rspec-core (3.10.0)
|
88
|
+
rspec-support (~> 3.10.0)
|
89
|
+
rspec-expectations (3.10.0)
|
90
90
|
diff-lcs (>= 1.2.0, < 2.0)
|
91
|
-
rspec-support (~> 3.
|
92
|
-
rspec-legacy_formatters (1.0.
|
91
|
+
rspec-support (~> 3.10.0)
|
92
|
+
rspec-legacy_formatters (1.0.2)
|
93
93
|
rspec (~> 3.0)
|
94
|
-
rspec-mocks (3.
|
94
|
+
rspec-mocks (3.10.0)
|
95
95
|
diff-lcs (>= 1.2.0, < 2.0)
|
96
|
-
rspec-support (~> 3.
|
97
|
-
rspec-support (3.
|
96
|
+
rspec-support (~> 3.10.0)
|
97
|
+
rspec-support (3.10.0)
|
98
98
|
rubocop (0.30.0)
|
99
99
|
astrolabe (~> 1.3)
|
100
100
|
parser (>= 2.2.0.1, < 3.0)
|
@@ -103,16 +103,17 @@ GEM
|
|
103
103
|
ruby-progressbar (~> 1.4)
|
104
104
|
ruby-progressbar (1.10.1)
|
105
105
|
scrub_rb (1.0.1)
|
106
|
-
simplecov (0.
|
106
|
+
simplecov (0.20.0)
|
107
107
|
docile (~> 1.1)
|
108
|
-
|
109
|
-
|
110
|
-
simplecov-html (0.
|
108
|
+
simplecov-html (~> 0.11)
|
109
|
+
simplecov_json_formatter (~> 0.1)
|
110
|
+
simplecov-html (0.12.3)
|
111
|
+
simplecov_json_formatter (0.1.2)
|
111
112
|
thor (0.20.3)
|
112
113
|
thread_safe (0.3.6)
|
113
|
-
tzinfo (1.2.
|
114
|
+
tzinfo (1.2.8)
|
114
115
|
thread_safe (~> 0.1)
|
115
|
-
yard (0.9.
|
116
|
+
yard (0.9.25)
|
116
117
|
|
117
118
|
PLATFORMS
|
118
119
|
ruby
|
@@ -123,4 +124,4 @@ DEPENDENCIES
|
|
123
124
|
origen_app_generators!
|
124
125
|
|
125
126
|
BUNDLED WITH
|
126
|
-
1.17.
|
127
|
+
1.17.2
|
@@ -1,3 +1,14 @@
|
|
1
|
+
<a class="anchor release_tag" name="v2_2_0"></a>
|
2
|
+
<h1><a href="#v2_2_0">Tag: v2.2.0</a></h1>
|
3
|
+
|
4
|
+
##### Branch: 'master'
|
5
|
+
|
6
|
+
##### by Caquelin, Brian on 03-Dec-2020 08:40AM
|
7
|
+
|
8
|
+
|
9
|
+
* Removed older Ruby dependencies
|
10
|
+
* Added Github Actions regression testing
|
11
|
+
|
1
12
|
<a class="anchor release_tag" name="v2_1_1"></a>
|
2
13
|
<h1><a href="#v2_1_1">Tag: v2.1.1</a></h1>
|
3
14
|
|
@@ -1,32 +1,30 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
# stub: origen_app_generators 2.
|
2
|
+
# stub: origen_app_generators 2.2.0 ruby lib
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = "origen_app_generators".freeze
|
6
|
-
s.version = "2.
|
6
|
+
s.version = "2.2.0"
|
7
7
|
|
8
8
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.8.11".freeze) if s.respond_to? :required_rubygems_version=
|
9
9
|
s.require_paths = ["lib".freeze]
|
10
10
|
s.authors = ["Stephen McGinty".freeze]
|
11
|
-
s.date = "
|
11
|
+
s.date = "2021-04-27"
|
12
12
|
s.email = ["stephen.f.mcginty@gmail.com".freeze]
|
13
13
|
s.files = ["bin/boot.rb".freeze, "config/application.rb".freeze, "config/boot.rb".freeze, "config/commands.rb".freeze, "config/shared_commands.rb".freeze, "config/version.rb".freeze, "lib/origen_app_generators.rb".freeze, "lib/origen_app_generators/application.rb".freeze, "lib/origen_app_generators/base.rb".freeze, "lib/origen_app_generators/empty_application.rb".freeze, "lib/origen_app_generators/empty_plugin.rb".freeze, "lib/origen_app_generators/new.rb".freeze, "lib/origen_app_generators/new_app_tests.rb".freeze, "lib/origen_app_generators/origen_infrastructure/app_generator_plugin.rb".freeze, "lib/origen_app_generators/plugin.rb".freeze, "lib/origen_app_generators/test_engineering/common.rb".freeze, "lib/origen_app_generators/test_engineering/stand_alone_application.rb".freeze, "lib/origen_app_generators/test_engineering/test_block.rb".freeze, "templates/app_generators".freeze, "templates/app_generators/application".freeze, "templates/app_generators/application/.gitignore".freeze, "templates/app_generators/application/.irbrc".freeze, "templates/app_generators/application/.rspec".freeze, "templates/app_generators/application/.travis.yml".freeze, "templates/app_generators/application/Gemfile".freeze, "templates/app_generators/application/Rakefile".freeze, "templates/app_generators/application/app".freeze, "templates/app_generators/application/app/blocks".freeze, "templates/app_generators/application/app/blocks/top_level.rb".freeze, "templates/app_generators/application/app/lib".freeze, "templates/app_generators/application/app/lib/module.rb".freeze, "templates/app_generators/application/app/templates".freeze, "templates/app_generators/application/app/templates/web".freeze, "templates/app_generators/application/app/templates/web/index.md.erb".freeze, "templates/app_generators/application/app/templates/web/layouts".freeze, "templates/app_generators/application/app/templates/web/layouts/_basic.html.erb".freeze, "templates/app_generators/application/app/templates/web/partials".freeze, "templates/app_generators/application/app/templates/web/partials/_navbar.html.erb".freeze, "templates/app_generators/application/app/templates/web/release_notes.md.erb".freeze, "templates/app_generators/application/config".freeze, "templates/app_generators/application/config/application.rb".freeze, "templates/app_generators/application/config/boot.rb".freeze, "templates/app_generators/application/config/commands.rb".freeze, "templates/app_generators/application/config/maillist_dev.txt".freeze, "templates/app_generators/application/config/maillist_prod.txt".freeze, "templates/app_generators/application/config/version.rb".freeze, "templates/app_generators/application/doc".freeze, "templates/app_generators/application/doc/history".freeze, "templates/app_generators/application/dot_keep".freeze, "templates/app_generators/application/origen_core_session".freeze, "templates/app_generators/application/spec".freeze, "templates/app_generators/application/spec/spec_helper.rb".freeze, "templates/app_generators/application/target".freeze, "templates/app_generators/application/target/debug.rb".freeze, "templates/app_generators/application/target/default.rb".freeze, "templates/app_generators/application/target/production.rb".freeze, "templates/app_generators/new".freeze, "templates/app_generators/new/generator.rb".freeze, "templates/app_generators/new/info.md.erb".freeze, "templates/app_generators/origen_infrastructure".freeze, "templates/app_generators/origen_infrastructure/app_generator_plugin".freeze, "templates/app_generators/origen_infrastructure/app_generator_plugin/app".freeze, "templates/app_generators/origen_infrastructure/app_generator_plugin/app/lib".freeze, "templates/app_generators/origen_infrastructure/app_generator_plugin/app/lib/application.rb".freeze, "templates/app_generators/origen_infrastructure/app_generator_plugin/app/lib/base.rb".freeze, "templates/app_generators/origen_infrastructure/app_generator_plugin/app/lib/module.rb".freeze, "templates/app_generators/origen_infrastructure/app_generator_plugin/app/lib/plugin.rb".freeze, "templates/app_generators/origen_infrastructure/app_generator_plugin/config".freeze, "templates/app_generators/origen_infrastructure/app_generator_plugin/config/load_generators.rb".freeze, "templates/app_generators/plugin".freeze, "templates/app_generators/plugin/Gemfile".freeze, "templates/app_generators/plugin/Rakefile".freeze, "templates/app_generators/plugin/app".freeze, "templates/app_generators/plugin/app/templates".freeze, "templates/app_generators/plugin/app/templates/web".freeze, "templates/app_generators/plugin/app/templates/web/index.md.erb".freeze, "templates/app_generators/plugin/app/templates/web/partials".freeze, "templates/app_generators/plugin/app/templates/web/partials/_navbar_external.html.erb".freeze, "templates/app_generators/plugin/app/templates/web/partials/_navbar_internal.html.erb".freeze, "templates/app_generators/plugin/config".freeze, "templates/app_generators/plugin/config/boot.rb".freeze, "templates/app_generators/plugin/gemspec.rb".freeze, "templates/app_generators/test_engineering".freeze, "templates/app_generators/test_engineering/environment".freeze, "templates/app_generators/test_engineering/environment/j750.rb".freeze, "templates/app_generators/test_engineering/environment/uflex.rb".freeze, "templates/app_generators/test_engineering/environment/v93k.rb".freeze, "templates/app_generators/test_engineering/stand_alone_application".freeze, "templates/app_generators/test_engineering/stand_alone_application/.keep".freeze, "templates/app_generators/test_engineering/test_block".freeze, "templates/app_generators/test_engineering/test_block/.keep".freeze]
|
14
14
|
s.homepage = "http://origen-sdk.org/origen_app_generators".freeze
|
15
15
|
s.licenses = ["MIT".freeze]
|
16
16
|
s.required_ruby_version = Gem::Requirement.new(">= 1.9.3".freeze)
|
17
|
-
s.rubygems_version = "3.
|
17
|
+
s.rubygems_version = "3.2.16".freeze
|
18
18
|
s.summary = "Origen application generators".freeze
|
19
19
|
|
20
|
-
s.installed_by_version = "3.
|
20
|
+
s.installed_by_version = "3.2.16" if s.respond_to? :installed_by_version
|
21
21
|
|
22
22
|
if s.respond_to? :specification_version then
|
23
23
|
s.specification_version = 4
|
24
|
+
end
|
24
25
|
|
25
|
-
|
26
|
-
|
27
|
-
else
|
28
|
-
s.add_dependency(%q<origen>.freeze, [">= 0.40.2"])
|
29
|
-
end
|
26
|
+
if s.respond_to? :add_runtime_dependency then
|
27
|
+
s.add_runtime_dependency(%q<origen>.freeze, [">= 0.40.2"])
|
30
28
|
else
|
31
29
|
s.add_dependency(%q<origen>.freeze, [">= 0.40.2"])
|
32
30
|
end
|
@@ -8,6 +8,8 @@ source 'https://rubygems.org'
|
|
8
8
|
|
9
9
|
gem 'origen', '>= <%= @latest_origen_version %>'
|
10
10
|
|
11
|
+
gem 'byebug'
|
12
|
+
|
11
13
|
gem 'origen_doc_helpers'
|
12
14
|
<% if @development_dependencies -%>
|
13
15
|
<% @development_dependencies.each do |dep| -%>
|
@@ -15,14 +17,6 @@ gem <%= dep.map{ |d| "\"#{d}\"" }.join(', ') %>
|
|
15
17
|
<% end -%>
|
16
18
|
<% end -%>
|
17
19
|
|
18
|
-
gem 'byebug', '~>8' # You can remove this version constraint if you don't care about your app
|
19
|
-
# supporting earlier versions of Ruby 2
|
20
|
-
<% if RUBY_VERSION < "2.3.0" -%>
|
21
|
-
|
22
|
-
# Lock this version of nokogiri to enable compatibility with Ruby 2.2, if you don't need
|
23
|
-
# that then you can remove this line
|
24
|
-
gem 'nokogiri', '1.8.5'
|
25
|
-
<% end -%>
|
26
20
|
<% if (@audience != :external) && Origen.site_config.gem_push_plugins -%>
|
27
21
|
<% Origen.site_config.gem_push_plugins.each do |plugin| -%>
|
28
22
|
gem <%= Array(plugin).map{ |d| "\"#{d}\"" }.join(', ') %>
|
@@ -13,8 +13,8 @@ source 'https://rubygems.org'
|
|
13
13
|
# your application's test coverage
|
14
14
|
gem 'coveralls', require: false
|
15
15
|
<% end -%>
|
16
|
-
|
17
|
-
|
16
|
+
|
17
|
+
gem 'byebug'
|
18
18
|
gem 'ripper-tags'
|
19
19
|
gem 'origen_doc_helpers'
|
20
20
|
<% if (@audience != :external) && Origen.site_config.gem_push_plugins -%>
|
@@ -5,69 +5,69 @@ module Origen
|
|
5
5
|
def self.extended(model)
|
6
6
|
model.add_package :bga
|
7
7
|
model.add_package :pcs
|
8
|
-
model.add_pin :pinx
|
9
|
-
model.add_pin :piny, reset: :drive_hi, direction: :output,
|
10
|
-
model.add_pin :tdo,
|
11
|
-
model.add_pin :porta31
|
12
|
-
model.add_pin :porta30
|
13
|
-
model.add_pin :porta29
|
14
|
-
model.add_pin :porta28
|
15
|
-
model.add_pin :porta27
|
16
|
-
model.add_pin :porta26
|
17
|
-
model.add_pin :porta25
|
18
|
-
model.add_pin :porta24
|
19
|
-
model.add_pin :porta23
|
20
|
-
model.add_pin :porta22
|
21
|
-
model.add_pin :porta21
|
22
|
-
model.add_pin :porta20
|
23
|
-
model.add_pin :porta19
|
24
|
-
model.add_pin :porta18
|
25
|
-
model.add_pin :porta17
|
26
|
-
model.add_pin :porta16
|
27
|
-
model.add_pin :porta15
|
28
|
-
model.add_pin :porta14
|
29
|
-
model.add_pin :porta13
|
30
|
-
model.add_pin :porta12
|
31
|
-
model.add_pin :porta11
|
32
|
-
model.add_pin :porta10
|
33
|
-
model.add_pin :porta9
|
34
|
-
model.add_pin :porta8
|
35
|
-
model.add_pin :porta7
|
36
|
-
model.add_pin :porta6
|
37
|
-
model.add_pin :porta5
|
38
|
-
model.add_pin :porta4
|
39
|
-
model.add_pin :porta3
|
40
|
-
model.add_pin :porta2
|
41
|
-
model.add_pin :porta1
|
42
|
-
model.add_pin :porta0
|
43
|
-
model.add_pin :portb0
|
44
|
-
model.add_pin :portb1
|
45
|
-
model.add_pin :portb2
|
46
|
-
model.add_pin :portb3
|
47
|
-
model.add_pin :portb4
|
48
|
-
model.add_pin :portb5
|
49
|
-
model.add_pin :portb6
|
50
|
-
model.add_pin :portb7
|
51
|
-
model.add_pin :portb8
|
52
|
-
model.add_pin :portb9
|
53
|
-
model.add_pin :portb10
|
54
|
-
model.add_pin :portb11
|
55
|
-
model.add_pin :portb12
|
56
|
-
model.add_pin :portb13
|
57
|
-
model.add_pin :portb14
|
58
|
-
model.add_pin :portb15
|
8
|
+
model.add_pin :pinx
|
9
|
+
model.add_pin :piny, reset: :drive_hi, direction: :output, meta: { a: '1', b: 2 }
|
10
|
+
model.add_pin :tdo, packages: { bga: { location: "BF32", dib_assignment: [10104] }, pcs: { location: "BF30", dib_assignment: [31808] } }
|
11
|
+
model.add_pin :porta31
|
12
|
+
model.add_pin :porta30
|
13
|
+
model.add_pin :porta29
|
14
|
+
model.add_pin :porta28
|
15
|
+
model.add_pin :porta27
|
16
|
+
model.add_pin :porta26
|
17
|
+
model.add_pin :porta25
|
18
|
+
model.add_pin :porta24
|
19
|
+
model.add_pin :porta23
|
20
|
+
model.add_pin :porta22
|
21
|
+
model.add_pin :porta21
|
22
|
+
model.add_pin :porta20
|
23
|
+
model.add_pin :porta19
|
24
|
+
model.add_pin :porta18
|
25
|
+
model.add_pin :porta17
|
26
|
+
model.add_pin :porta16
|
27
|
+
model.add_pin :porta15
|
28
|
+
model.add_pin :porta14
|
29
|
+
model.add_pin :porta13
|
30
|
+
model.add_pin :porta12
|
31
|
+
model.add_pin :porta11
|
32
|
+
model.add_pin :porta10
|
33
|
+
model.add_pin :porta9
|
34
|
+
model.add_pin :porta8
|
35
|
+
model.add_pin :porta7
|
36
|
+
model.add_pin :porta6
|
37
|
+
model.add_pin :porta5
|
38
|
+
model.add_pin :porta4
|
39
|
+
model.add_pin :porta3
|
40
|
+
model.add_pin :porta2
|
41
|
+
model.add_pin :porta1
|
42
|
+
model.add_pin :porta0
|
43
|
+
model.add_pin :portb0
|
44
|
+
model.add_pin :portb1
|
45
|
+
model.add_pin :portb2
|
46
|
+
model.add_pin :portb3
|
47
|
+
model.add_pin :portb4
|
48
|
+
model.add_pin :portb5
|
49
|
+
model.add_pin :portb6
|
50
|
+
model.add_pin :portb7
|
51
|
+
model.add_pin :portb8
|
52
|
+
model.add_pin :portb9
|
53
|
+
model.add_pin :portb10
|
54
|
+
model.add_pin :portb11
|
55
|
+
model.add_pin :portb12
|
56
|
+
model.add_pin :portb13
|
57
|
+
model.add_pin :portb14
|
58
|
+
model.add_pin :portb15
|
59
59
|
model.add_pin_group :porta, :porta31, :porta30, :porta29, :porta28, :porta27, :porta26, :porta25, :porta24, :porta23, :porta22, :porta21, :porta20, :porta19, :porta18, :porta17, :porta16, :porta15, :porta14, :porta13, :porta12, :porta11, :porta10, :porta9, :porta8, :porta7, :porta6, :porta5, :porta4, :porta3, :porta2, :porta1, :porta0
|
60
60
|
model.add_pin_group :portb, :portb15, :portb14, :portb13, :portb12, :portb11, :portb10, :portb9, :portb8, :portb7, :portb6, :portb5, :portb4, :portb3, :portb2, :portb1, :portb0
|
61
61
|
model.pins(:portb).endian = :little
|
62
|
-
model.add_power_pin :vdd1,
|
63
|
-
model.add_power_pin :vdd2
|
62
|
+
model.add_power_pin :vdd1, voltage: 3, current_limit: 0.05, meta: { min_voltage: 1.5 }
|
63
|
+
model.add_power_pin :vdd2
|
64
64
|
model.add_power_pin_group :vdd, :vdd1, :vdd2
|
65
|
-
model.add_ground_pin :gnd1
|
66
|
-
model.add_ground_pin :gnd2
|
67
|
-
model.add_ground_pin :gnd3
|
65
|
+
model.add_ground_pin :gnd1
|
66
|
+
model.add_ground_pin :gnd2
|
67
|
+
model.add_ground_pin :gnd3
|
68
68
|
model.add_ground_pin_group :gnd, :gnd1, :gnd2, :gnd3
|
69
|
-
model.add_virtual_pin :relay1
|
70
|
-
model.add_virtual_pin :relay2,
|
69
|
+
model.add_virtual_pin :relay1
|
70
|
+
model.add_virtual_pin :relay2, packages: { bga: {} }
|
71
71
|
|
72
72
|
model.sub_block :block1, file: 'origen/export1/block1.rb', dir: "#{Origen.root!}/vendor/lib/models", lazy: true
|
73
73
|
|
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.
|
4
|
+
version: 0.60.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: 2021-04-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -296,14 +296,14 @@ dependencies:
|
|
296
296
|
requirements:
|
297
297
|
- - "~>"
|
298
298
|
- !ruby/object:Gem::Version
|
299
|
-
version: '
|
299
|
+
version: '3'
|
300
300
|
type: :runtime
|
301
301
|
prerelease: false
|
302
302
|
version_requirements: !ruby/object:Gem::Requirement
|
303
303
|
requirements:
|
304
304
|
- - "~>"
|
305
305
|
- !ruby/object:Gem::Version
|
306
|
-
version: '
|
306
|
+
version: '3'
|
307
307
|
- !ruby/object:Gem::Dependency
|
308
308
|
name: colorize
|
309
309
|
requirement: !ruby/object:Gem::Requirement
|
@@ -749,7 +749,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
749
749
|
- !ruby/object:Gem::Version
|
750
750
|
version: 1.8.11
|
751
751
|
requirements: []
|
752
|
-
rubygems_version: 3.
|
752
|
+
rubygems_version: 3.2.16
|
753
753
|
signing_key:
|
754
754
|
specification_version: 4
|
755
755
|
summary: The Semiconductor Developer's Kit
|