CopyXXXOnTrigger

Synopsis

These modules are an extension to the GMOD.copy_on_change module which is used to copy different data types when a trigger is set.


  module modCopyOnTrigger <compile_subs = 0,
                           need_objs = "GMOD.copy_on_change"> {
    prim trigger<NEportLevels={2,0}>;
    prim input<NEportLevels={2,0}>;
    prim output<NEportLevels={0,2}>;
    boolean on_inst = 1;
    omethod+notify_inst+req Update(
      .trigger+req+notify,
      .input+req+read,
      .output+write
    ) = "GMODcopy_on_change";
  };
  module modCopyArrayOnTrigger <compile_subs = 0,
                                need_objs = "GMOD.copy_on_change"> {
    prim trigger<NEportLevels={2,0}>;
    prim input<NEportLevels={2,0}> [];
    prim output<NEportLevels={2,0}> [];
    boolean on_inst = 1;
    omethod+notify_inst+req Update(
      .trigger+req+notify,
      .input+read,
      .output+write
    ) = "GMODcopy_on_change";
  };
  module modCopyGroupOnTrigger <compile_subs = 0,
                                need_objs = "GMOD.copy_on_change"> {
    prim trigger<NEportLevels={2,0}>;
    group &input<NEportLevels={2,0}>;
    group &output<NEportLevels={2,0}>;
    boolean on_inst = 1;
    omethod+notify_inst+req Update(
      .trigger+req+notify,
      .input+req+read,
      .output+req+write
    ) = "GMODcopy_on_change";
  };
  module modCopyGroupArrayOnTrigger <compile_subs = 0,
                                     need_objs = "GMOD.copy_on_change"> {
    prim trigger<NEportLevels={2,0}>;
    group &input<NEportLevels={2,0}> [];
    group &output<NEportLevels={2,0}> [];
    boolean on_inst = 1;
    omethod+notify_inst+req Update(
      .trigger+req+notify,
      .input+req+read,
      .output+write
    ) = "GMODcopy_on_change";
  };
  module modCopyOnPtrTrigger <compile_subs = 0,
                              need_objs = "GMOD.copy_on_change"> {
    group *trigger<NEportLevels={2,0}>;
    prim input<NEportLevels={2,0}>;
    prim output<NEportLevels={0,2}>;
    boolean on_inst = 1;
    omethod+notify_inst+req Update(
      .trigger+req+notify,
      .input+req+read,
      .output+write
    ) = "GMODcopy_on_change";
  };

Description

These modules copy the input to the output if the trigger is activated. They are extensions of the GMOD.copy_on_change for different data types.

Use:

Inputs

trigger

executes the module to copy the input to the output.

input

contains the data to be copied when the trigger changes.

Outputs

output

contains a copy of the input if the trigger has been activated.

Files

iac_proj/copontrg/cxtgmods.v Creates the CopyXXXOnTriggerMods library containing the low-level modules modCopyOnTrigger, modCopyArrayOnTrigger, modCopyGroupOnTrigger, modCopyGroupArrayOnTrigger and modCopyOnPtrTrigger.

Authors

Brian Selle, Leon Thrane, Advanced Visual Systems Inc.
Documentation - Ian Curington, Advanced Visual Systems Inc.

Modifications

Paul G. Lever

Contact

International AVS Centre
Manchester Visualization Centre
Manchester Computing
University of Manchester
Oxford Road
Manchester
United Kingdom
M13 9PL