I have the following problem that I would like your opinion on how to solve elegantly:
I have a block A (say a standard sync block with some memory--eg an fir filter) which
has input x(t) and output y(t) and is pretty computationally intensive.
I would like to add the following functionality to it:
Add a new input s(t) to A which can be 0 or 1.
When s(t)=1 the block operates as before ie, it processes x(t) to generate y(t).
If s(t)=0 I would like it to output y(t)=0 and consume the appropriate x(t)'s from the input.
This way when s(t)=0 block A essentially "does not work".
This is pretty straightforward to code if I modify the work function of block A.
However, block A for me is a pretty complicated hierarchical block, so I don't have access to its "work" function.
One way to do this is to rewrite the whole hierarchical block A as a flat block and then do as suggested above.
Is there a better way?