Input functions act as filters, restricting the net functions that are able to enter an object through an input, bidirectional or control port. Although input functions can neither be created nor deleted (there is always one and only one input function for each object input), the Analyst can edit the list of filtered net functions (i.e., the input function's dependencies). Whenever possible, it is best to let eXpress handle filtering automatically; there are some situations, however, when the use of Analyst-defined input filters can greatly reduce the modeling effort (for example, when modeling buses).
How to Work with Input Functions
Input functions explicitly enumerate all net functions that are allowed to enter the object through the given input, bidirectional or control port. Initially, the dependencies of each input function are automatically filtered so that the input depends upon all of the net functions that are present on the connected net. In other words, by default, all signals that are present on a net are assumed to enter all input ports to which that net is connected. The Analyst, however, can turn off automatic filtering and edit the list of net function dependencies.
It must be remembered that net functions are not only created automatically by the eXpress software, but are also recreated any time functions are re-propagated due to changes either upstream or within a lower level design. For input functions with automatic filtering, this presents no problem, since all net functions will always be allowed to pass through the port. Because net functions that have been newly created by the eXpress function propagation engine are not recognized by existing input filters (they will be considered to be "non-dependencies"), the Analyst must review custom input filters for accuracy after having changed the topology or functional flow of the design. The Analyst should take this into consideration when deciding whether or not a design should be modeled using input filtering (there are other techniques, such as modeling parallel paths for signals that must remain separated). There are times, however, when the use of input filters significantly reduces the modeling effort—enough that it is worth the effort of repeatedly updating these filters as the design changes.
For more detail on working with functions, choose from the following:
Recommendation: The Analysts should refrain from using a lot of input filters. While these are sometimes necessary; if the upstream functions are changed all input filters on the net must be redefined. Where multiple output ports are tied to a net it is sometimes better to use multiple nets and multiple input ports so no filtering is required on the input ports (filters remain on automatic). Now updates to upstream functions do not require re-filtering. This is the Analyst's decision to make.