Sha256: adb217f2555ae5e626e14d029738332c33fe44a2af2193dd7c0d3c559567f430

Contents?: true

Size: 1.83 KB

Versions: 47

Compression:

Stored size: 1.83 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_done subroutine'
  $dut.match(:type => :match_done)

  ss 'Call handshake subroutine'
  $dut.handshake

end

Version data entries

47 entries across 47 versions & 1 rubygems

Version Path
origen_testers-0.9.6 pattern/read_write_reg.rb
origen_testers-0.9.5 pattern/read_write_reg.rb
origen_testers-0.9.4 pattern/read_write_reg.rb
origen_testers-0.9.3 pattern/read_write_reg.rb
origen_testers-0.9.2 pattern/read_write_reg.rb
origen_testers-0.9.1 pattern/read_write_reg.rb
origen_testers-0.9.0 pattern/read_write_reg.rb
origen_testers-0.8.13 pattern/read_write_reg.rb
origen_testers-0.8.11 pattern/read_write_reg.rb
origen_testers-0.8.8 pattern/read_write_reg.rb
origen_testers-0.8.7 pattern/read_write_reg.rb
origen_testers-0.8.6 pattern/read_write_reg.rb
origen_testers-0.8.5 pattern/read_write_reg.rb
origen_testers-0.8.4 pattern/read_write_reg.rb
origen_testers-0.8.3 pattern/read_write_reg.rb
origen_testers-0.8.2 pattern/read_write_reg.rb
origen_testers-0.8.1 pattern/read_write_reg.rb
origen_testers-0.8.0 pattern/read_write_reg.rb
origen_testers-0.8.0.pre1 pattern/read_write_reg.rb
origen_testers-0.7.13 pattern/read_write_reg.rb