Class: OrigenSWDDev::DUT

Inherits:
Object
  • Object
show all
Includes:
Origen::TopLevel, OrigenSWD
Defined in:
lib/origen_swd_dev/dut.rb

Overview

This is a dummy DUT model which is used to instantiate and test the SWD locally during development.

It is not included when this library is imported.

Instance Method Summary collapse

Methods included from OrigenSWD

#swd

Constructor Details

#initialize(options = {}) ⇒ DUT

Initializes simple dut model with test register and required swd pins

Examples:

$dut = OrigenSWD::DUT.new

Parameters:

  • options (Hash) (defaults to: {})

    Options to customize the operation



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/origen_swd_dev/dut.rb', line 18

def initialize(options = {})
  # Sample DPACC register
  add_reg :test, 0x04, 32, data: { pos: 0, bits: 32 },
                           bit:  { pos: 2 }

  # Sample DPACC register
  add_reg :select, 0x08, 32, data: { pos: 0, bits: 32 }

  # Sample APACC register
  add_reg :stat, 0x00, 32, data: { pos: 0, bits: 32 }
  add_reg :control, 0x01, 32, data: { pos: 0, bits: 32 }

  add_pin :swd_clk
  add_pin :swd_dio
end

Instance Method Details

#startup(options = {}) ⇒ Object

Add any custom startup business here.

Parameters:

  • options (Hash) (defaults to: {})

    Options to customize the operation



37
38
39
# File 'lib/origen_swd_dev/dut.rb', line 37

def startup(options = {})
  $tester.set_timeset('swd', 40)
end