Sha256: 0130f11252de1db9b474622e4135c066169effd7c4bdebc1a744d014d278596d

Contents?: true

Size: 1.08 KB

Versions: 1

Compression:

Stored size: 1.08 KB

Contents

module TestDut
  class TopLevelController
    include Origen::Controller

    include OrigenJTAG

    JTAG_CONFIG = {
      #:tclk_format => :rl,
      tclk_format:     :rh,
      #:tclk_multiple => 1,
      tclk_multiple:   4,
      tdo_strobe:      :tclk_high,
      tdo_store_cycle: 3,
      init_state:      :idle
    }

    def startup(options)
      pp 'Enter test mode' do
        # if tester.link?
        if tester.to_s == 'OrigenLink::VectorBased'
          tester.initialize_pattern
          # below is for testing return format timing, requires tclk to be rl and multiple of 1
          # tester.pinformat = 'func_25mhz,tclk,rl'
          # tester.pintiming = 'func_25mhz,tdi,0,tms,0,tdo,1'
        end
        tester.set_timeset('func_25mhz', 40)   # Where 40 is the period in ns
        tester.wait time_in_us: 100
      end
    end

    def shutdown(options)
      pp 'Reset the device' do
        pin(:resetb).drive!(0)
        pin(:tclk).drive!(0)
      end
      # if tester.link?
      if tester.to_s == 'OrigenLink::VectorBased'
        tester.finalize_pattern
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
origen_link-0.1.0.pre0 lib/origen_link/test/test_dut_controller.rb