mirror design
For low input impedance, make the input be the
source of a source-follower and the drain goes to the
current mirror pilot device (or stack). For high Zout,
use a cascoded mirror or source degeneration, try
them both to see which plays better with your desired
attributes (supply current, bandwidth, matching w/
foundry device tolerances etc.).
The IDAC probably wants a very constant input
voltage as well as impedance, so it may want a
layer of feedback control at the source follower
gate such that Vin remains at null across the code-range
and externalities (supply, temp, process).