anchor.diff:  
   Follow the instructions here if you want to make a 3rd party app
   workspace use your development copy of the OrigenNexus plugin:
  -[Setting up a Plugin Development Environment](http://origen-sdk.org/origen/latest/guides/plugins)
  +[Setting up a Plugin Development Environment](http://origen-sdk.org/origen/guides/plugins)
   
   This plugin also contains a test suite, makes sure this passes before committing
   any changes!
  
positive.code:     add_pin :tdo
      add_pin :tms
  
      add_reg32 :testme32, 0x007a, :portA => {pos: 8, bits: 8},
                                   :portB => {pos: 16, bits: 16},
                                   :enable => {pos: 0}
  
    end
  
    # Hook the Nexus module into the register API, any register read
  
negative.code: 
    # Generate an overlay subroutine for a register
    def overlay_register(reg, options={})
      if tester.respond_to?('start_subroutine')
        tester.start_subroutine(options[:label])
      end
  
      nexus.write_data_only(reg, options)
  
      if tester.respond_to?('end_subroutine')
        tester.end_subroutine
      end
    end
  
  
  end
  
  Panther2.new.myreg.write!(0x55AA55AA)  # => Will perform the write using the Nexus protocol
  
  Panther2.new.myreg.bits(:portA).read!(0xAA)  # => Only the portA bits will be read
  ~~~
  
  Access to the underlying [OrigenJTAG](http://origen-sdk.org/jtag/) hardware
  driver:
  
  ~~~ruby
  nexus.jtag    # => an instance of OrigenJTAG::Driver
  ~~~
  
  The address can be overridden:
  
  ~~~ruby
  # Transform the default register address
  nexus.write_register(reg, address: reg.address << 2)
  ~~~
  
  The driver will also accept flat data values in place of a register.
  
  This can also be used to write to any memory mapped location, even if not a register!
  
  ~~~ruby
  # Write 0x1234 to address 0x12
  nexus.write(0x1234, address: 0x12)
  
  # Read and expect 0x1234 from address 0x12
  nexus.read(0x1234, address: 0x12)
  ~~~
  
  
  