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