The currents steering DAC is easy get good DNL, if you want get good INL:
first, calculate the current cell's output resistance, the finite output resistance is a large error source effect the INL.
second: The mismatch between the current cells. Calculate the matching error,(reference the foundry's device matching form).
About the resistive DAC, it cann't get high speed but can get high output swing. when you design resistive DAC, take care the switch's parasitic resistor and capacitor, when you use segment resistors DAC.
You can reference the book "CMOS data converters for communications "