Class: OrigenARMDebugDev::JTAG_AXI_DUT

Inherits:
DUT
  • Object
show all
Includes:
OrigenJTAG
Defined in:
lib/origen_arm_debug_dev/dut_jtag_axi.rb

Overview

Simple JTAG-specific dut model that inherits from protocol-agnostic DUT model

Constant Summary

Constants included from OrigenARMDebug

OrigenARMDebug::Driver

Instance Method Summary collapse

Methods inherited from DUT

#read_register, #startup, #write_register

Constructor Details

#initialize(options = {}) ⇒ JTAG_AXI_DUT

Adds jtag-required pins to the simple dut model Returns nothing.



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/origen_arm_debug_dev/dut_jtag_axi.rb', line 8

def initialize(options = {})
  super
  add_pin :tclk
  add_pin :tdi
  add_pin :tdo
  add_pin :tms
  add_pin :trst
  add_pin :swd_clk
  add_pin :swd_dio

  options[:class_name] = 'OrigenARMDebug::DAP'
  options[:mem_aps] = {
    mem_ap: {
      base_address:      0x00000000,
      latency:           16,
      apreg_access_wait: 8,
      apmem_access_wait: 8,
      is_axi:            true,
      csw_reset:         0x1080_6002
    },
    mdm_ap: 0x01000000
  }
  options[:dp_select_reset] = 0xC2_0D00
  # Specify (customize) ARM Debug implementation details
  sub_block :arm_debug, options

  options[:dapv6] = true
  options[:class_name] = 'OrigenARMDebug::DAP'
  options[:mem_aps] = {
    mem_ap: {
      base_address:      0x00C2_0000,
      latency:           16,
      apreg_access_wait: 8,
      apmem_access_wait: 8,
      is_axi:            true,
      csw_reset:         0x1080_6002
    },
    mdm_ap: 0x00C3_0000
  }
  sub_block :arm_debugv6, options
end