close By using this website, you agree to the use of cookies. Detailed information on the use of cookies on this website can be obtained on OneSpin's Privacy Policy. At this point you may also object to the use of cookies and adjust the browser settings accordingly.


OneSpin’s Holiday Puzzle 2020

Unlock Your Vision

Can you really see what is in front of you? Whether it is a hardware design or a seemingly repetitive pattern in a picture, quite often, there is more than meets the eye! Even simple designs have corner cases that are hard to detect by code review. The situation becomes more tricky if it is a third-party or legacy semiconductor IP with incomplete or obsolete documentation! And what if the IP has some deliberately hidden function? Luckily, there are mighty tools to the rescue. OneSpin’s solutions are extremely efficient in revealing unknown behaviors and bugs, even in one’s own design. If your organization’s vision includes high-integrity ICs that are functionally correct, safe, and secure, OneSpin is the key to unlock it. 

Challenge your eyes and/or brain with the latest OneSpin Holiday Puzzle and find out for yourself that designs—especially this one!—include more than meets the eye. 


Challenge

We provide a stereogram image and a Verilog design (named 'shifter_locked') that is not trivial to read. The challenge is to discover a 4-bit key that makes the design work as expected. You can participate by finding the key hidden in the image at right, or by analyzing the Verilog design with your eyes or choice of tool. With OneSpin, it should be a task that takes only a few minutes. You can use a simulator if you want, but make sure to take regular breaks! :) 

The (incomplete) shifter_locked specification is simple: the data input is shifted right or left by one bit, depending on the operation input, and presented to the result output a cycle later.

According to this ambiguous specification and using pseudo-code we have:

result == ($past( operation ? data << 1 : data >> 1))

or the alternative

result == ($past(!operation ? data << 1 : data >> 1))

That is if the correct key input is set, of course. Otherwise, the resulting output behavior is very much undefined. 

In addition to the key, feel free to provide comments if you find out interesting facts about the design. You will have more chances to win an amazing prize.

Good luck!


Prizes

The OneSpin Holiday Puzzle committee will select three winners that will receive a $125 gift certificate for Pixel Eyewear. Their blue light glasses protect against eye strain and other damaging effects of staring at screens all day (or you're welcome to choose sunglasses or any other style they offer). 

The Mole winner will be chosen randomly among the participants that can read the 4-bit key in the stereogram image.

The Hawk winner will be chosen randomly among the participants that work out a valid key using the provided Verilog design.

The Fox winner will be the participant that provides the most interesting comment, as judged by the committee in a totally unobjective way.

The winners will be announced by early March 2021!

In additional, all—yes, we mean ALL!—participants are entitled to receive a nifty little prize from us in the mail, just for playing. Thank you for celebrating the festive season with OneSpin!

The deadline for submission is midnight (CET) Wednesday, January 20th, 2021.

The winners will be announced by early March 2021! Best of luck!