origen 0.59.1 → 0.59.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/config/version.rb +1 -1
- data/lib/origen/controller.rb +12 -0
- data/lib/origen/generator/pattern_sequence.rb +8 -1
- data/lib/origen/pins/pin.rb +2 -2
- data/lib/origen/registers/reg.rb +10 -0
- data/lib/origen/site_config.rb +4 -3
- data/origen_app_generators/origen_app_generators.gemspec +3 -3
- data/spec/format/origen_formatter.rb +2 -1
- data/templates/code_generators/model.rb +9 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7e2a028ce1b3b3fe724cb3c9cec676ed6830a40fa7ec74864a0dd3bd50611260
|
4
|
+
data.tar.gz: 8fe8e6c101236617832f6db76f807c346e2d41b6f3872ae33b5c1cd3de602914
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cca720d7a1c5d40101d6c4bd2b5ec598993026c3980d1a814cbe86db25c6f973d1549f1ea9a58eba026e2b06aadbd687a20753ffa3ca8bcdfded6cc310e0283a
|
7
|
+
data.tar.gz: 1ce140605160e77ab74aca9fbd40be126cf18e07f8e74a2826a4f63289f61b57ab0200e3180d9c034b250527351a6c5b6d81bba94fc15fdbd89c0f313fe7d7b5
|
data/config/version.rb
CHANGED
data/lib/origen/controller.rb
CHANGED
@@ -2,6 +2,18 @@ module Origen
|
|
2
2
|
module Controller
|
3
3
|
extend ActiveSupport::Concern
|
4
4
|
|
5
|
+
# Workaround due to reserved keywords in Ruby, Display in the case below.
|
6
|
+
def display
|
7
|
+
# If the DUT responds to a sub_block "display" return the sub_block
|
8
|
+
if model.sub_blocks.include? 'display'
|
9
|
+
Origen.log.debug "Found a sub_block \'display\', passing control to the #{model.class}..."
|
10
|
+
model.sub_blocks['display']
|
11
|
+
else
|
12
|
+
# Else, pass control to the ruby core.
|
13
|
+
super
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
5
17
|
module ClassMethods
|
6
18
|
def model(options = {})
|
7
19
|
options[:controller_class] = self
|
@@ -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/pins/pin.rb
CHANGED
@@ -22,8 +22,8 @@ module Origen
|
|
22
22
|
# before falling back to a default
|
23
23
|
PACKAGE_SCOPED_ATTRIBUTES = [:location, :dib_assignment, :dib_meta]
|
24
24
|
|
25
|
-
# Pin Types
|
26
|
-
TYPES = [:analog, :digital]
|
25
|
+
# Pin Types, 'digital' and 'analog' are legacy types kept for backwards compatibility
|
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.
|
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
@@ -416,9 +416,10 @@ module Origen
|
|
416
416
|
# Load any centralized site configs now.
|
417
417
|
centralized_site_config = find_val('centralized_site_config')
|
418
418
|
if centralized_site_config
|
419
|
-
#
|
420
|
-
#
|
421
|
-
@configs.
|
419
|
+
# The first site configs found will exist in Origen core, and they contain the default values.
|
420
|
+
# We want the centralized config to load right after those.
|
421
|
+
centralized_index = -(@configs.select { |c| c.path.start_with?(Origen.top.to_s) }.size + 1)
|
422
|
+
@configs.insert(centralized_index, Config.new(path: centralized_site_config, parent: self))
|
422
423
|
end
|
423
424
|
|
424
425
|
# After all configs have been populated, see if the centralized needs refreshing
|
@@ -8,16 +8,16 @@ Gem::Specification.new do |s|
|
|
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 = "2020-
|
11
|
+
s.date = "2020-12-08"
|
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.0.
|
17
|
+
s.rubygems_version = "3.0.1".freeze
|
18
18
|
s.summary = "Origen application generators".freeze
|
19
19
|
|
20
|
-
s.installed_by_version = "3.0.
|
20
|
+
s.installed_by_version = "3.0.1" if s.respond_to? :installed_by_version
|
21
21
|
|
22
22
|
if s.respond_to? :specification_version then
|
23
23
|
s.specification_version = 4
|
@@ -1,7 +1,8 @@
|
|
1
1
|
require 'rspec/core/formatters/base_formatter'
|
2
2
|
|
3
3
|
class OrigenFormatter < RSpec::Core::Formatters::BaseFormatter
|
4
|
-
|
4
|
+
rspec_version = RSpec.constants.include?(:Version) ? RSpec::Version::STRING : RSpec::Core::Version::STRING
|
5
|
+
if Gem::Version.new(rspec_version) < Gem::Version.new('3.0.0')
|
5
6
|
# legacy formatter
|
6
7
|
def dump_summary(duration, example_count, failure_count, pending_count)
|
7
8
|
if failure_count > 0
|
@@ -15,7 +15,15 @@ class <%= @namespaces.map { |n| camelcase(n[1]) }.join('::') %>::<%= camelcase(@
|
|
15
15
|
include Origen::Model
|
16
16
|
<% end -%>
|
17
17
|
|
18
|
-
<% end -%>
|
19
18
|
def initialize(options = {})
|
20
19
|
end
|
20
|
+
<% else -%>
|
21
|
+
# super means that the initialize request will get passed onto the parent class's initialize method.
|
22
|
+
# i.e. the one defined in <%= @parent_class %>
|
23
|
+
# If you want to override that and add a specific implementation for this DUT type,
|
24
|
+
# then simply delete the super below and add the code you wish to handle the request.
|
25
|
+
def initialize(options = {})
|
26
|
+
super
|
27
|
+
end
|
28
|
+
<% end -%>
|
21
29
|
end
|
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.59.
|
4
|
+
version: 0.59.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stephen McGinty
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-12-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -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.0.
|
752
|
+
rubygems_version: 3.0.1
|
753
753
|
signing_key:
|
754
754
|
specification_version: 4
|
755
755
|
summary: The Semiconductor Developer's Kit
|