EP1550059B1

A system and method for reducing wire delay or congestion during synthesis of hardware solvers

Abstract

This record has no abstract on file.

EP1550059B1, drawing sheet 1
Sheet 1 of 12

Term

Term ended

Expired 3 October 2023, 3 years ago.

  1. Priority
  2. Filed
  3. Granted
  4. Expired
  5. Today

10 claims: 2 independent, 8 dependent

  1. 1
    A computer-implemented method for producing a netlist (505) of a hardware circuit from a high-level code (501), the method comprising:compiling the high-level code (501) to generate an intermediate code (503), the intermediate code (503) comprising operations including definitions (DEF) of variables and computations (USE) using the variables;analyzing (508) the intermediate code (503) for at least one instantiation that may cause at least one of wire delay and congestion in the hardware circuit, wherein the analyzing (508) comprises: building (531) a model netlist (511-1), and partitioning (512) the model netlist (511-1) into a plurality of partitions having reduced inter-partition communications;modifying (533) the intermediate code (503) based on information obtained from the step of analyzing (508) the intermediate code (503), wherein the modifying (533) comprises: adding one or more operations to the intermediate code (503), said operation adding a delay between the partitions, or uniquely renaming every variable of the intermediate code (503) in each partition;and generating the netlist (505) from the modified intermediate code (503-1).
  2. 9
    A device for producing a netlist (505) of a hardware circuit from a high-level code (501), the device comprising:means for compiling the high-level code (501) to generate an intermediate code (503), the intermediate code (503) comprising operations including definitions (DEF) of variables and computations (USE) using the variables;means for analyzing (508) the intermediate code (503) for at least one instantiation that may cause at least one of wire delay and congestion in the hardware circuit, wherein the means for analyzing (508) comprises: means for building (531) a model netlist (511-1), and means for partitioning (512) the model netlist (511-1) into a plurality of partitions having reduced inter-partition communications;means for modifying (533) the intermediate code (503) based on information obtained from the means for analyzing (508) the intermediate code (503), wherein the means for modifying (533) comprises: means for adding one or more operations to the intermediate code (503), said operation adding a delay between the partitions, or means for uniquely renaming every variable of the intermediate code (503) in each partition;and means for generating the netlist (505) from the modified intermediate code (503-1).