Sha256: 7979193c0c77d21b6bf0a7f472bb1a9e26468a74e87d7f40007c38ae4b9ba64c

Contents?: true

Size: 1.29 KB

Versions: 3

Compression:

Stored size: 1.29 KB

Contents

module OrigenLink
  module Test
    class TopLevel
      include Origen::TopLevel

      def initialize(options = {})
        instantiate_pins(options)
        instantiate_registers(options)
        instantiate_sub_blocks(options)
      end

      def instantiate_pins(options = {})
        options = {
          jtag_comm_config:			     false,
          invalid_pin_number_test:	false,
          missing_pinmap_test:		   false
        }.merge(options)
        add_pin :tclk
        add_pin :tdi
        add_pin :tdo
        add_pin :tms
        add_pin :resetb
        add_pins :port_a, size: 8

        pin_pattern_order :tclk, :tms, :tdi, :tdo, only: true if options[:jtag_comm_config]

        # if tester.link? #.to_s == 'OrigenLink::VectorBased'
        if tester.to_s == 'OrigenLink::VectorBased'
          if options[:invalid_pin_number_test]
            tester.pinmap = 'tclk,119,tms,1900,tdi,116,tdo,124'
          else
            tester.pinmap = 'tclk,119,tms,6,tdi,116,tdo,124' unless options[:missing_pinmap_test]
          end
          tester.pinorder = 'tclk,tms,tdi,tdo'
        end
      end

      def instantiate_registers(options = {})
        reg :testreg, 0 do |reg|
          reg.bits 31..0,		:value
        end
      end

      def instantiate_sub_blocks(options = {})
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
origen_link-0.2.0.pre0 lib/origen_link/test/top_level.rb
origen_link-0.1.2 lib/origen_link/test/top_level.rb
origen_link-0.1.0 lib/origen_link/test/top_level.rb