I am working on a Decoder module based on BCH codes. The design is to be implemented on a Virtex-7 FPGA . I have basically three blocks . Syndrome computation block , Error locator finder and Error locator solver block . The syndrome computation block is working fine on the FPGA and it is working at 225 MHz clock . I am working on the Error locator finder block and it is giving me some timing issues. The problem is essentially this :
1) I have a module that has just a case statement . The case block has 1024 entries . The path that is failing contains this module . If I comment out this module , the design works fine . In the implemented design , this module is placed too far and because of this , I am getting a huge net/wire delay. Is there a way for me to have the case based module closer to my actual design ??
Any help will be appreciated. The net delay accounts for atleast 60 percent of the total delay . This is unacceptable for the problem I am trying to solve as this decoder needs to work atleast at 200 MHz