Multiplexer

Synopsis

A multiplexer for integer numbers. Uses an input number to trigger a single output port.


module Multiplexer<src_file="Multiplexer.c"> {
   int+IPort2 Inval;
   omethod+req Multiplex(
      Inval+read+notify+req,
      Out1+write,
      Out2+write,
      Out3+write,
      Out4+write,
      Out5+write,
      Out6+write,
      Out7+write,
      Out9+write,
      Out10+write
   ) = "Multiplex";
   int+OPort2 Out1;
   int+OPort2 Out2;
   int+OPort2 Out3;
   int+OPort2 Out4;
   int+OPort2 Out5;
   int+OPort2 Out6;
   int+OPort2 Out7;
   int+OPort2 Out8;
   int+OPort2 Out9;
   int+OPort2 Out10;
};

Description

This simple module is used to trigger one of its output ports whenever it receives something on its input port. If an integer <num> between 1 and 10 arrives at Inval, it is passed to the output Port Out<num>.

This module is particularly important within the Visit interface project because it allows the IDs output by the visitserver macro to trigger the appropriate reader or writer modules. If your application requires more than 10 IDs you can use multiple Multiplexer modules and specify the connection to the VisitServer with 'Trigger - 10' (or similar). The Multiplexer will then act on trigger values 11 to 20.

Inputs

Inval

This integer input port gives the index number which indicates which output port should be activated.

Outputs

Out1 ... Out10

Depending on the value of the input port Inval one of these output ports will be activated.

Utility Modules

The low-level Multiplexer module is used in the Functional Macro multiplexer.

Example

Examples of the use of this module can be found in the VisitSimpleEg and VisitGoLEg example applications.

Files

iac_proj/visit/visit_mods.v contains the V definition of the Multiplexer module.

Other Notes

By default the low-level library visit_mods, which needs to be compiled, has the process set to express. Therefore express must not be running while this project is compiled.

Before the Visit project can be compiled the VISIT library must be installed, configured and compiled. For full instructions please see the VISIT library web-site.

The Visit IAC project assumes that the VISIT library has been installed into the default directory i.e.

/usr/local/visit/

If this is not the case then the references to that directory in the visit_mods.v file will have to be modified.

Author

Wolfgang Frings
Central Institute for Applied Mathematics
Research Center Juelich
D-52425 Juelich
Germany

Modifications

Ma YingLiang,
Manchester Visualization Centre
Andrew Dodd,
International AVS Centre

Contact

Wolfgang Frings
Central Institute for Applied Mathematics
Forschungszentrum Juelich GmbH
D-52425 Juelich
Germany
E-mail: W.Frings@fz-juelich.de
International AVS Centre
Manchester Visualization Centre
Manchester Computing
University of Manchester
Oxford Road
Manchester
United Kingdom
M13 9PL
E-mail: avs@iavsc.org

See Also