HEXAGON Challenge

1. You have the following board:


2. On each round, you can press on a single hexagon that is not black, and is not on the outskirts of the board (i.e., only on those inside the internal hexagon):


3. Pressing this hexagon will cause its surrounding hexagons to move in a clockwise manner:


4. In the following drawing, we gave reference to the indexes of each hexagon, which will be used in the TCL procedures you will provide:


5. Run Script
  • In order to check your solution, we will run the script shown in the next page.
  • The INIT array variable will hold the initial state of the hexagonal board, per position (i.e., INIT(N) will hold the color of position N (where N is a number in the range of [1..19])).
  • The initial state is not necessarily the one stated in the script on the following page.
  • You must provide two files:
    • i. hex.tcl
      • In the first row of the script, the composer name and email will be stated (commented out).
      • In the script, use only native TCL and JasperGold® TCL commands.
      • Implement a "solve_hexa_board" procedure that will return a list of decimals representing the press indexes sequence that will lead us to the configuration shown in Section 4 from the initial state described by the INIT array.
    • ii. hex.sv
      • This file will hold the auxiliary Verilog/SystemVerilog/VHDL code that will be used to solve the quiz.


6. Grading


7. Prizes will be awarded to the three highest scoring participants who meet the following criteria:
  • Send solution consisting of one hex.tcl file and one hex.sv file via email to [email protected], which is received at least one day prior to the event itself
  • Are physically present for the entire conference

© Cadence Design Systems, Inc. All Rights Reserved.