OneSpin’s Holiday Puzzle 2018-19 – The Fibonacci Calculator
Nature is beautiful. And so are numbers, especially the Fibonacci numbers! Well, at least to scientists.
From flowers to pineapples, from bees to human chromosomes, the Fibonacci sequence is a staple in the mathematical modelling of many disparate phenomena of our physical world.
Let’s take honeybees as an example. Did you know that male bees hatch from unfertilized eggs, while female do from fertilized ones? Males only have one parent, while females have two. If you trace the pedigree of a male bee, assuming that ancestors are unrelated, you will find that it has one parent, two grandparents, 3 great-grandparents, 5 great-great grandparents, and so on. You guessed it: that’s exactly the Fibonacci sequence!
How about designing a simple digital circuit that calculates Fibonacci numbers? We did. It is quite cute. You give it a number n as input and, after some clock cycles, the circuit gives you the nth Fibonacci number as output. We even wrote a bunch of assertions to get confidence that the design is correct. However, we would like to have a design that is faster (in terms of clock cycles) but also simpler. You know the drill: they always ask for less area, less power, no bugs, shorter schedule, but better performances!
What do you say? Can you come up with a better solution? Are you up to the task?
Please fill out the form below to receive the puzzle files for our raffle. They contain a sample design and a formal testbench. Your task is to improve the design, provided that you do not modify the I/O definitions, and that your new design still passes the formal testbench (you cannot change that). There are also some cover properties that you must use to demonstrate how your design performs for the given benchmark.
The cover properties will be used to determine the speed score of your design. Design metrics, like the number of statements, branches, flops, and adders, will be weighted to determine the complexity score of your design. The overall score will be computed automatically using OneSpin. The design with the lowest score wins! The puzzle files include the equation used to compute the complexity score, and a few more additional details. Please, read the comments in the two files provided carefully. In that case that something is still not clear please drop us an email.
The deadline for submission is midnight (CET) Sunday, January 13th, 2019. Good luck!
As usual, we have numerous amazing prizes to give away: three Amazon Echo Plus.
The Bee Keeper, awarded to the solution with the lowest score
The Beautiful Flower, awarded to the solutions that will get most votes in a popularity contest
The Italian Mathematician, somewhat randomly awarded to a solution that will somehow impress the OneSpin jury (or elements thereof).
The winners will be announced by the end of February 2019!