Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

That's a pretty naive adder implementation. A more efficient version would stabilize after two ticks.


yup, but I'm using it as an example to make a point here (hence my use of the word 'naive') - also the whole point of doing async stuff is that you don't have to worry about 'ticks'


Even in async you have to worry about ticks, it's just that the ticks aren't global.

Think of the extent to which a clock can propagate as a lightcone, within that domain everything is synchronized, but it need not be synchronized with things on the outside. The smaller the domains the more asynchronous a design gets. But you'll never be async all the way down, at some point you will have to worry about stabilizing your outputs and passing them on to the next stage in that stable situation.

Compare synchronous serial lines with an asynchronous interface such as a centronics printer interface. The former will happily send zeros + clocks all day long absent a signal, the latter will strobe it's 'ready' output only when there actually is data, but it will still have to output that pulse, which serves as a very local clock.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: