origen 0.5.8 → 0.5.9
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/version.rb +1 -1
- data/lib/origen/chip_mode.rb +0 -0
- data/lib/origen/commands.rb +6 -2
- data/lib/origen/file_handler.rb +2 -0
- data/lib/origen/regression_manager.rb +11 -1
- data/lib/origen/revision_control/git.rb +4 -1
- data/lib/origen/specs.rb +9 -5
- data/lib/origen/specs/creation_info.rb +5 -3
- data/lib/origen/specs/doc_resource.rb +1 -1
- data/lib/origen/specs/exhibit.rb +0 -0
- data/lib/origen/specs/mode_select.rb +52 -8
- data/lib/origen/specs/note.rb +0 -0
- data/lib/origen/specs/power_supply.rb +35 -1
- data/lib/origen/specs/version_history.rb +3 -3
- data/lib/origen/users/ldap.rb +1 -1
- data/lib/origen/version_string.rb +6 -0
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ed45b25fc195c61acaf99010cbee3f3fe032eb32
|
4
|
+
data.tar.gz: 58dd3f0356d71f526f53c6ae8aabd7c2cfa8f3e4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 11a43e23e9331325d3bf54a447d1bb14f3c1f4a67d981ae11f912c0a41dc631d6981cea479aeabf458e0881ef66bda2714b8a835dedf03aa44aff28541aca4ec
|
7
|
+
data.tar.gz: 6ce6af41232ab71e1f1608f653b07ec181a02aaebff4b787a47f67c38add2972b0c95edff793295d165cad6517bcb85807976968ee98dce76e874fdb0ca3b0db
|
data/config/version.rb
CHANGED
data/lib/origen/chip_mode.rb
CHANGED
File without changes
|
data/lib/origen/commands.rb
CHANGED
@@ -169,10 +169,12 @@ end
|
|
169
169
|
# overloading of Origen commands by the application.
|
170
170
|
@application_options = []
|
171
171
|
@plugin_commands = []
|
172
|
-
|
172
|
+
# Prevent plugins from being able to accidentally override app commands
|
173
|
+
# @application_commands = []
|
173
174
|
app_id = @application_options.object_id
|
174
175
|
plugin_id = @plugin_commands.object_id
|
175
|
-
|
176
|
+
# Prevent plugins from being able to accidentally override app commands
|
177
|
+
# app_cmd_id = @application_commands.object_id
|
176
178
|
app_opt_err = false
|
177
179
|
plugin_opt_err = false
|
178
180
|
app_cmd_err = false
|
@@ -191,6 +193,8 @@ if File.exist? "#{Origen.root}/config/commands.rb"
|
|
191
193
|
plugin_opt_err = true
|
192
194
|
end
|
193
195
|
end
|
196
|
+
# Only the app can set this, so cache it locally prevent any plugins overriding it
|
197
|
+
application_commands = @application_commands || ''
|
194
198
|
|
195
199
|
shared_commands = Origen.app.plugins.shared_commands
|
196
200
|
if shared_commands && shared_commands.size != 0
|
data/lib/origen/file_handler.rb
CHANGED
@@ -327,6 +327,8 @@ module Origen
|
|
327
327
|
@reference_directory = relative_to_absolute(options[:reference])
|
328
328
|
else
|
329
329
|
@reference_directory = Pathname.new(Origen.config.reference_directory)
|
330
|
+
# Create the reference output directory if it does not exist.
|
331
|
+
FileUtils.mkdir_p(@reference_directory) unless @reference_directory.exist?
|
330
332
|
end
|
331
333
|
if options[:create]
|
332
334
|
# Delete any broken symlinks in the top level .ref
|
@@ -77,6 +77,11 @@ module Origen
|
|
77
77
|
yield options
|
78
78
|
wait_for_completion(options) if options[:uses_lsf]
|
79
79
|
summarize_results(options)
|
80
|
+
|
81
|
+
# call exit code false to force process fail
|
82
|
+
unless Origen.app.stats.clean_run?
|
83
|
+
exit 1
|
84
|
+
end
|
80
85
|
end
|
81
86
|
end
|
82
87
|
|
@@ -225,7 +230,12 @@ module Origen
|
|
225
230
|
puts "Valid values are 'latest', 'last' (production release), or a tag."
|
226
231
|
end
|
227
232
|
puts ''
|
228
|
-
get_text(default: Origen.app.version, single: true)
|
233
|
+
v = VersionString.new(get_text(default: Origen.app.version, single: true))
|
234
|
+
if v.semantic?
|
235
|
+
v.prefixed
|
236
|
+
else
|
237
|
+
v
|
238
|
+
end
|
229
239
|
end
|
230
240
|
|
231
241
|
def version_to_tag(version)
|
@@ -238,7 +238,10 @@ module Origen
|
|
238
238
|
else
|
239
239
|
rem = remote
|
240
240
|
end
|
241
|
-
|
241
|
+
# check if matches 40 digit hex string followed by branch name
|
242
|
+
git("ls-remote --heads #{remote} #{str}", verbose: false).any? do |line|
|
243
|
+
line =~ /^[0-9a-f]{40}\s+[a-zA-Z]/
|
244
|
+
end
|
242
245
|
end
|
243
246
|
|
244
247
|
def initialized?
|
data/lib/origen/specs.rb
CHANGED
@@ -14,7 +14,11 @@ module Origen
|
|
14
14
|
|
15
15
|
attr_accessor :_specs, :_notes, :_exhibits, :_doc_resources, :_overrides, :_power_supplies, :_mode_selects, :_version_history, :_creation_info
|
16
16
|
|
17
|
-
|
17
|
+
# Detailed description for the ip block
|
18
|
+
attr_accessor :description
|
19
|
+
|
20
|
+
# Added :impedance and :power to the spec types
|
21
|
+
SPEC_TYPES = [:dc, :ac, :temperature, :supply, :impedance, :power]
|
18
22
|
|
19
23
|
NOTE_TYPES = [:spec, :doc, :mode, :feature, :sighting]
|
20
24
|
|
@@ -158,10 +162,10 @@ module Origen
|
|
158
162
|
@_power_supplies[gen][act] = Power_Supply.new(gen, act)
|
159
163
|
end
|
160
164
|
|
161
|
-
def mode_select(
|
165
|
+
def mode_select(block_information, mode_usage, power_information)
|
162
166
|
_mode_selects
|
163
|
-
if
|
164
|
-
@_mode_selects[
|
167
|
+
if block_information[:usage]
|
168
|
+
@_mode_selects[block_information[:name]][mode_usage[:mode]] = Mode_Select.new(block_information, mode_usage, power_information)
|
165
169
|
end
|
166
170
|
end
|
167
171
|
|
@@ -421,7 +425,7 @@ module Origen
|
|
421
425
|
fail 'Hash argument is not a Hash!' unless hash.is_a? Hash
|
422
426
|
filtered_hash = {}
|
423
427
|
select_logic = case filter
|
424
|
-
when String then 'k[Regexp.new(filter)]'
|
428
|
+
when String then 'k[Regexp.new(filter)] && k.length == filter.length'
|
425
429
|
when (Fixnum || Integer || Float || Numeric) then "k[Regexp.new('#{filter}')]"
|
426
430
|
when Regexp then 'k[filter]'
|
427
431
|
when Symbol then
|
@@ -2,7 +2,7 @@ module Origen
|
|
2
2
|
module Specs
|
3
3
|
# Ruby Data Class that contains Creation Information for the IP Block
|
4
4
|
class Creation_Info
|
5
|
-
attr_accessor :author, :date, :revision, :source, :tool, :tool_version, :ip_version
|
5
|
+
attr_accessor :author, :date, :revision, :source, :tool, :tool_version, :ip_version, :ip_block_name
|
6
6
|
|
7
7
|
# Initialize the Creation Info block to store data for latest version of the file.
|
8
8
|
#
|
@@ -12,8 +12,9 @@ module Origen
|
|
12
12
|
# * date # Date that the File was released to Downstream Audiences
|
13
13
|
# ==== Source Information
|
14
14
|
#
|
15
|
-
# * :revision
|
16
|
-
# * :source
|
15
|
+
# * :revision # Revision Information
|
16
|
+
# * :source # Where the Information came from
|
17
|
+
# * :ip_block_name # Block Name for the IP. e.g. DDR for DDRC1, DDRC2; I2C for I2C1, I2C2
|
17
18
|
#
|
18
19
|
# ==== Tool Info
|
19
20
|
#
|
@@ -29,6 +30,7 @@ module Origen
|
|
29
30
|
@ip_version = ip_version
|
30
31
|
@revision = src_info[:revision]
|
31
32
|
@source = src_info[:source]
|
33
|
+
@ip_block_name = src_info[:ip_block_name]
|
32
34
|
@tool = tool_info[:tool]
|
33
35
|
@tool_version = tool_info[:version]
|
34
36
|
end
|
data/lib/origen/specs/exhibit.rb
CHANGED
File without changes
|
@@ -2,14 +2,58 @@ module Origen
|
|
2
2
|
module Specs
|
3
3
|
# This class is used to store mode select for IP
|
4
4
|
class Mode_Select
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
5
|
+
# Block Name at the SoC (e.g. DDRC1, DDRC2, DDRC3)
|
6
|
+
attr_accessor :block
|
7
|
+
|
8
|
+
# Data Sheet Header/Group Name
|
9
|
+
attr_accessor :ds_header
|
10
|
+
|
11
|
+
# Block Use at the SoC Level
|
12
|
+
attr_accessor :usage
|
13
|
+
|
14
|
+
# Mode Reference Name
|
15
|
+
attr_accessor :mode
|
16
|
+
|
17
|
+
# SoC Supports this mode?
|
18
|
+
attr_accessor :supported
|
19
|
+
|
20
|
+
# SoC Supply List
|
21
|
+
attr_accessor :supply
|
22
|
+
|
23
|
+
# SoC Supply Voltage Level
|
24
|
+
attr_accessor :supply_level
|
25
|
+
|
26
|
+
# Use Information from different data source
|
27
|
+
attr_accessor :diff_loc
|
28
|
+
|
29
|
+
# Location of the block to read
|
30
|
+
attr_accessor :location
|
31
|
+
|
32
|
+
# There are three sub-blocks of information in Mode Select
|
33
|
+
# * block_information:
|
34
|
+
# ** name : The name of the block as instiniated in the SoC
|
35
|
+
# ** ds_header: Data Sheet Header/Group. Allows for multiple instantation to be grouped under one header in datasheet or allows for them to broken out
|
36
|
+
# ** usage: Block is used in this SoC {Could be starting point for license plate support}
|
37
|
+
# ** location: File path to the specml location
|
38
|
+
#
|
39
|
+
# * mode_usage:
|
40
|
+
# ** mode: The mode name at the IP Level
|
41
|
+
# ** usage: Does this IP in this SoC support this mode?
|
42
|
+
#
|
43
|
+
# * power_information:
|
44
|
+
# ** supply: Name of the supply for that Interface.
|
45
|
+
# ** voltage_level: Array of the possible values for this supply e.g. [1.8, 2.5, 3.3] or [1.8]
|
46
|
+
# ** use_diff: Use information from a different location
|
47
|
+
def initialize(block_information, mode_usage, power_information)
|
48
|
+
@block = block_information[:name]
|
49
|
+
@ds_header = block_information[:ds_header]
|
50
|
+
@usage = block_information[:usage]
|
51
|
+
@location = block_information[:location]
|
52
|
+
@mode = mode_usage[:mode]
|
53
|
+
@supported = mode_usage[:supported]
|
54
|
+
@supply = power_information[:supply]
|
55
|
+
@supply_level = power_information[:voltage_level]
|
56
|
+
@diff_loc = power_information[:use_diff]
|
13
57
|
end
|
14
58
|
end
|
15
59
|
end
|
data/lib/origen/specs/note.rb
CHANGED
File without changes
|
@@ -2,11 +2,45 @@ module Origen
|
|
2
2
|
module Specs
|
3
3
|
# This class is used to store Power Supply Information at the SoC Level
|
4
4
|
class Power_Supply
|
5
|
-
|
5
|
+
# Generic Power Supply Name. For example:
|
6
|
+
# * GVDD
|
7
|
+
# * DVDD
|
8
|
+
# * TVDD
|
9
|
+
# * EVDD
|
10
|
+
attr_accessor :generic
|
6
11
|
|
12
|
+
# The Actual Power Supply Name. For example, GVDD could be the generic name and actual names can be G1VDD and G2VDD.
|
13
|
+
# GVDD ==> {G1VDD, G2VDD, G3VDD}
|
14
|
+
# DVDD ==> {D1VDD, D2VDD}
|
15
|
+
attr_accessor :actual
|
16
|
+
|
17
|
+
# Voltages for the power supply. Needs to be supplied by a different source
|
18
|
+
# Voltages is an array for all possible values for that power supply
|
19
|
+
# DVDD ==>
|
20
|
+
# * 1.8 V
|
21
|
+
# * 3.3 V
|
22
|
+
attr_accessor :voltages
|
23
|
+
|
24
|
+
# Display Name for the Voltage. Will be in html/dita code
|
25
|
+
# G1VDD --> G1V<sub>DD</sub>
|
26
|
+
attr_accessor :display_name
|
27
|
+
|
28
|
+
# Input Display Name for the Voltage
|
29
|
+
# G1VDD --> G1V<sub>IN</sub>
|
30
|
+
attr_accessor :input_display_name
|
31
|
+
|
32
|
+
# Output Displat Name for the Voltage
|
33
|
+
# G1VDD --> G1V<sub>OUT</sub>
|
34
|
+
attr_accessor :output_display_name
|
35
|
+
|
36
|
+
# Initialize the variables
|
7
37
|
def initialize(gen, act)
|
8
38
|
@generic = gen
|
9
39
|
@actual = act
|
40
|
+
@voltages = []
|
41
|
+
@display_name = ''
|
42
|
+
@input_display_name = ''
|
43
|
+
@output_display_name = ''
|
10
44
|
end
|
11
45
|
end
|
12
46
|
end
|
data/lib/origen/users/ldap.rb
CHANGED
@@ -3,6 +3,12 @@ module Origen
|
|
3
3
|
include Utility::TimeAndDate
|
4
4
|
require 'date'
|
5
5
|
|
6
|
+
# returns version number string but strips out prefix
|
7
|
+
def initialize(version, prefix = 'v')
|
8
|
+
version.gsub!(/^#{prefix}/, '') # remove leading prefix
|
9
|
+
super(version)
|
10
|
+
end
|
11
|
+
|
6
12
|
# Returns a new production timestamp version string
|
7
13
|
def self.production_timestamp
|
8
14
|
VersionString.new("Rel#{time_now(format: :universal, include_time: false)}")
|
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.5.
|
4
|
+
version: 0.5.9
|
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: 2016-01-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -44,14 +44,14 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '0.
|
47
|
+
version: '0.13'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '0.
|
54
|
+
version: '0.13'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: httparty
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|