Sha256: 8e8d36446489a36162101e0950624d2ca2046cdada39c4e14062897df498dbf3

Contents?: true

Size: 1.92 KB

Versions: 59

Compression:

Stored size: 1.92 KB

Contents

# Pattern to exercise the reading and writing of a register using ARM Debug
Pattern.create do
  ss 'Test write register with all 1s'
  $dut.reg(:testme32).write!(0xFFFFFFFF)
  ss 'Test read register after all 1s write'
  $dut.reg(:testme32).read!

  ss 'Test write register with all 0s'
  $dut.reg(:testme32).write!(0x00000000)
  ss 'Test read register after all 0s write'
  $dut.reg(:testme32).read!

  ss 'Test store register, the whole register data should be stored'
  $dut.reg(:testme32).store!

  ss 'Test store bits, only enable bit should be captured'
  $dut.reg(:testme32).bit(:enable).store!

  ss 'Test store bits, only port A should be captured'
  $dut.reg(:testme32).bits(:portA).store!

  ss 'Test read of partial register, only portA should be read'
  $dut.reg(:testme32).bits(:portB).read!

  ss 'Test overlay, all reg vectors should be from subroutine'
  $dut.reg(:testme32).overlay('write_overlay')
  $dut.reg(:testme32).write!

  ss 'Test overlay, same again but for read'
  $dut.reg(:testme32).overlay('read_overlay')
  $dut.reg(:testme32).read!

  ss 'Test bit level write overlay, only portA should be from subroutine'
  $dut.reg(:testme32).overlay(nil)  # have to reset overlay bits as they are sticky from last overlay set
  $dut.reg(:testme32).bits(:portA).overlay('write_overlay')
  $dut.reg(:testme32).bits(:portA).write!

  ss 'Test bit level read overlay, only portA should be from subroutine'
  $dut.reg(:testme32).overlay(nil)
  $dut.reg(:testme32).bits(:portA).overlay('read_overlay')
  $dut.reg(:testme32).bits(:portA).read!

  ss 'Call execute subroutine'
  $dut.execute

  ss 'Call match_pin subroutine'
  $dut.match(:type => :match_pin)

  ss 'Call match_2pins subroutine'
  $dut.match(:type => :match_2pins)

  ss 'Call match_2pins custom_jump subroutine'
  $dut.match(:type => :match_2pins_custom_jump)

  ss 'Call match_done subroutine'
  $dut.match(:type => :match_done)

  ss 'Call handshake subroutine'
  $dut.handshake

end

Version data entries

59 entries across 59 versions & 1 rubygems

Version Path
origen_testers-0.52.9 pattern/read_write_reg.rb
origen_testers-0.52.8 pattern/read_write_reg.rb
origen_testers-0.52.7 pattern/read_write_reg.rb
origen_testers-0.52.6 pattern/read_write_reg.rb
origen_testers-0.52.5 pattern/read_write_reg.rb
origen_testers-0.52.4 pattern/read_write_reg.rb
origen_testers-0.52.3 pattern/read_write_reg.rb
origen_testers-0.52.1 pattern/read_write_reg.rb
origen_testers-0.52.0 pattern/read_write_reg.rb
origen_testers-0.51.5 pattern/read_write_reg.rb
origen_testers-0.51.4 pattern/read_write_reg.rb
origen_testers-0.51.3 pattern/read_write_reg.rb
origen_testers-0.51.2 pattern/read_write_reg.rb
origen_testers-0.51.1 pattern/read_write_reg.rb
origen_testers-0.51.0 pattern/read_write_reg.rb
origen_testers-0.50.0 pattern/read_write_reg.rb
origen_testers-0.49.4 pattern/read_write_reg.rb
origen_testers-0.49.3 pattern/read_write_reg.rb
origen_testers-0.49.2 pattern/read_write_reg.rb
origen_testers-0.49.1 pattern/read_write_reg.rb