origen_arm_debug 0.10.0 → 0.10.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6fba804b692152d859fe005174df7a52b74ac636
4
- data.tar.gz: b9b02e218c1525893ccf429e71a0169931a169e5
3
+ metadata.gz: 3b9c86cc50df6d0c06e836b469ac5c5505538507
4
+ data.tar.gz: 5ff8f7838d12c691a28d5b32129762391e0c0413
5
5
  SHA512:
6
- metadata.gz: b394aa148fc46d0e8586ee16a44f7e30da09d14d75b2c77eb7982dddc3d8144cf6e8fc81beb0d64c2161e24712858972e98e070c22ef6f75e2ce0ca8f00691ad
7
- data.tar.gz: 1bb7ff132cdce3a2d9302b10f6b02c4689cfe7598f6ecdb92f8702dbba04af96dbb19aa67b11e570573149f757d18e60b3b560f6adab198442e52d09f876e5ee
6
+ metadata.gz: c607efbf26b27c0d7c178d6c3eb825c5e57d7568031a91bc6ca42be0e701fea7fcc138a7116d6a5f0a6537b28deb231bd77991a064f24f37f956c9d9732ec805
7
+ data.tar.gz: 10f47615a8dadfe981bf165c9edde516f4fbf3c23dc04836e1e42972be98b362dd12fd6112e24a7cf59599e35548578e0e3a043b48806f4540cc2b99d56252ce
data/config/version.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  module OrigenARMDebug
2
2
  MAJOR = 0
3
3
  MINOR = 10
4
- BUGFIX = 0
4
+ BUGFIX = 1
5
5
  DEV = nil
6
6
 
7
7
  VERSION = [MAJOR, MINOR, BUGFIX].join(".") + (DEV ? ".pre#{DEV}" : '')
@@ -11,6 +11,10 @@ module OrigenARMDebug
11
11
  # either a DUT object or a protocol abstraction
12
12
  attr_reader :owner
13
13
 
14
+ # Customizable delay that will be applied after any read/write register transaction
15
+ # defaults to 0
16
+ attr_reader :latency
17
+
14
18
  # Initialize class variables
15
19
  #
16
20
  # @param [Hash] options Options to customize the operation
@@ -23,6 +27,7 @@ module OrigenARMDebug
23
27
  # (also used to support case on non-register based calls)
24
28
  add_reg :buffer, 0x00, 32, data: { pos: 0, bits: 32 }
25
29
 
30
+ @latency = options[:latency] || 0
26
31
  instantiate_subblocks(options)
27
32
  end
28
33
 
@@ -19,7 +19,7 @@ module OrigenARMDebug
19
19
  add_reg :test, 0x0, 32, data: { pos: 0, bits: 32 },
20
20
  bit: { pos: 0 }
21
21
 
22
- sub_block :arm_debug, class_name: 'OrigenARMDebug::Driver', aps: { mem_ap: 0x00000000, mdm_ap: 0x01000000 }
22
+ sub_block :arm_debug, class_name: 'OrigenARMDebug::Driver', aps: { mem_ap: 0x00000000, mdm_ap: 0x01000000 }, latency: 2
23
23
  arm_debug.add_mem_ap('alt_ahbapi', 0x02000000)
24
24
 
25
25
  # arm_debug.add_mem_ap('mem_ap', 0x00000000)
@@ -64,6 +64,8 @@ module OrigenARMDebug
64
64
  cc "MEM-AP(#{@name}): WR-#{size.to_s(10)}: "\
65
65
  "addr=0x#{addr.to_s(16).rjust(size / 4, '0')}, "\
66
66
  "data=0x#{reg(:drw).data.to_s(16).rjust(size / 4, '0')}"
67
+
68
+ apply_latency
67
69
  end
68
70
 
69
71
  def read_register(reg_or_val, options = {})
@@ -88,6 +90,8 @@ module OrigenARMDebug
88
90
 
89
91
  cc "MEM-AP(#{@name}): R-#{size.to_s(10)}: "\
90
92
  "addr=0x#{addr.to_s(16).rjust(size / 4, '0')}"
93
+
94
+ apply_latency
91
95
  end
92
96
 
93
97
  # -----------------------------------------------------------------------------
@@ -289,5 +293,12 @@ module OrigenARMDebug
289
293
  end
290
294
  wdata
291
295
  end
296
+
297
+ # Apply delay as specified by the top-level attribute 'latency' (defaults to 0).
298
+ #
299
+ # @param [Hash] options Options to customize the operation
300
+ def apply_latency(options = {})
301
+ Origen.tester.cycle(repeat: parent.latency)
302
+ end
292
303
  end
293
304
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: origen_arm_debug
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0
4
+ version: 0.10.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ronnie Lajaunie
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-04-07 00:00:00.000000000 Z
11
+ date: 2016-04-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: origen