Sha256: 7c1f9f0ed2c6fc0c6f282da28aaffa80e34afa218cd4cc47df201058de8d2fb6

Contents?: true

Size: 1.1 KB

Versions: 4

Compression:

Stored size: 1.1 KB

Contents

module OrigenAhb
  module Test
    class DUT
      include Origen::TopLevel
      include OrigenAhb

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

      def instantiate_pins(options = {})
        # Standard DUT pins
        add_pin :tclk
        add_pin :tdi
        add_pin :tdo
        add_pin :tms
        add_pin :resetb

        # AHB Control Signals
        add_pin :hclk
        add_pin :hready
        add_pin :hwrite
        add_pin :htrans, size: 2
        add_pin :hburst, size: 3
        add_pin :hmastlock
        add_pin :hsize, size: 3
        add_pin :hprot, size: 3

        # AHB Data Signals
        add_pin :haddr, size: 32
        add_pin :hwdata, size: 32
        add_pin :hrdata, size: 32
      end

      def instantiate_registers(options = {})
        add_reg :top_reg, 0x20000000, 32, data: { pos: 0, bits: 32 }
      end

      def instantiate_sub_blocks(options = {})
        sub_block :block, class_name: 'OrigenAhb::Test::BLOCK', base_address: 0x2200_0000
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
origen_ahb-0.2.0 lib/origen_ahb_dev/dut.rb
origen_ahb-0.2.0.pre10 lib/origen_ahb_dev/dut.rb
origen_ahb-0.2.0.pre9 lib/origen_ahb_dev/dut.rb
origen_ahb-0.2.0.pre8 lib/origen_ahb_dev/dut.rb