I want to model a command-completion type agent. This is what I have:
Two separate command interfaces with different signals ( and hence different items), but only one corresponding completion interface.
Each cmd. interface has a output valid signal, and an input ready signal. Cmds could be driven in parallel on both cmd interfaces, but only one cmd. will be accepted at a time i.e. both interfaces could drive their cmds by asserting valid simultaneously, but only one would get a ready signal back. Also, there is a common completion interface, to drive back the corresponding completion for either of the cmds, and cpl's could be issued out of order.
What is the best way to model this agent/s?