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; };
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.
Inval
This integer input port gives the index number which indicates which output port should be activated.
Out1 ... Out10
Depending on the value of the input port Inval
one of these output ports will be activated.
The low-level Multiplexer module is used in the Functional Macro multiplexer.
Examples of the use of this module can be found in the VisitSimpleEg and VisitGoLEg example applications.
iac_proj/visit/visit_mods.v contains the V definition of the Multiplexer module.
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.
Wolfgang Frings Central Institute for Applied Mathematics Research Center Juelich D-52425 Juelich Germany
Ma YingLiang, Manchester Visualization Centre Andrew Dodd, International AVS Centre
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