I am a computer engineering student in university and I recently learned about the difference between Synchronous and Asynchronous digital circuits in my studies.
I had been wondering about these for a while and I thought maybe it is good to share the knowledge.
basically a synchronous digital circuit runs on a clock, the clock is a signal that changes value periodically, (for example a 50 MHz clock changes values 50 million times a second).
I wont go to gruesone detail but a synchronous digital circuit is designed in a way that it finishes one instruction on every clock cycle, thus doing instruction in discrete time.
on the other hand, an asynchronous digital circuit, is one that does not have any clock at all, and it continously gives out outputs (depending on the inputs and previous states of the input).
a synchronous circuit is usually easier to implement and understand but it is not always the fastest and the most efficient (since the clock signal needs to be distributed to every component, the chips heat up more, more power is needed, etc...)
synchronous circuits are usually more stable than their async counterparts (for obvious reasons)
I hope that helps.
P.S, these digital circuits are sequential circuits (vs, combinational circuits) but wont go to gruesome detail, if you are interested look up sequential logic. a DAC is a digital circuit for the most part.