What is a chicken bit?

It is a configuration bit which can be used to control disable or enable after tapeout of certain functional blocks inside the chip. Sometimes, there is some new functionality that the designer is not completely confident about, or maybe they have not been fully verified across all corners. So, to reduce the post-tapeout bug risk, a config bit – called chicken bit, is left in the design which can be toggled to disable new function, and revert to legacy functionality. Chickens are known for their frightened and uncertain nature (e.g. “chicken out” phrase)- and hence this bit get its interesting name – the engineer can chicken out in face of unexpected observations post-tapeout.

For example, let’s suppose that a digital processing block was designed on the assumption that the input coming from some external comparator cannot glitch. However, during lab validation it is found that under certain corner conditions, the comparator can indeed glitch and lead to serious issues in the downstream logic. As a precaution, designer had added a glitch-filter on the input stage but left it disabled by default – because the filter added some undesirable latency. However, after running into the glitch issues in lab, she can set the chicken bit that enables the glitch-filter, avoiding a potential chip respin (maybe the filter latency is still acceptable).

Normally these bits are OTP (one-time-programmable) and they are not accessible by the end user. These bits are programmed during production on the chip tester and then they get locked against further modification.

Feel free to ask in comments if there are any questions regarding chicken bits, or share your experience if you had to ever make use of them in your career!