origen 0.5.8 → 0.5.9
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/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
|