The words "construct" and "generate" are in practice synonyms when it comes to transformations, but suggest different ways in which we consider what's going on.

 * "Construct" suggests thinking of a FREDKIN gate as a subroutine, which you realise as a composition of more primitive operations. 

 * "Simulate" suggests the idea that there is some model (eg. conservative reversible computation) for which FREDKIN is a primitive, and which you are realising by other operations in some other model (eg. quantum computation, or reversible but not necessarily conservative computation) in which it is not a primitive.

The second viewpoint is particularly useful when you consider operations which are being realised using a protocol which succeeds only under certain circumstances, or using a protocol which is only realises an operation up to some probability of error or up to some precision.