One embodiment of the present invention provides a system for synthesizing a circuit that allocates propagation delay between modules in the circuit based upon wireload information. The system receives a circuit divided into modules coupled together by a number of signal lines. The system defines a first set of timing constraints, and uses the first set of timing constraints to compile the circuit from a hardware description language specification into a first gate-level implementation. Next, the system performs a timing analysis on the first gate-level implementation to determine positive or negative slack values for the signal lines. These slack values specify amounts of extra propagation delay available on the signal lines. Next, the slack values are used to define a second set of timing constraints by allocating the slack values between the modules based upon wireload information. This wireload information may include such parameters as gate delays and drive strengths for gates coupled to the signal lines. The second set of timing constraints is used to compile the circuit into a second gate-level implementation. If necessary, the process of compilation, timing analysis and allocation of slack values may be repeated until the circuit meets all timing constraints.

Uma incorporação da invenção atual fornece um sistema synthesizing um circuito que aloce a propagação atrase entre os módulos no circuito baseado na informação do wireload. O sistema recebe um circuito dividido nos módulos acoplados junto por um número de linhas de sinal. O sistema define um primeiro jogo de confinamentes do sincronismo, e usa o primeiro jogo de confinamentes do sincronismo compilar o circuito de uma especificação da língua de descrição da ferragem em uma primeira execução do porta-nível. Em seguida, o sistema executa uma análise do sincronismo na primeira execução do porta-nível para determinar valores frouxos positivos ou negativos para as linhas de sinal. Estes valores frouxos especificam quantidades de propagação extra atrasam disponível nas linhas de sinal. Em seguida, os valores frouxos são usados definir um segundo jogo de confinamentes do sincronismo alocando os valores frouxos entre os módulos baseados na informação do wireload. Esta informação do wireload pode incluir tais parâmetros como a porta atrasam e as forças da movimentação para as portas acopladas às linhas de sinal. O segundo jogo de confinamentes do sincronismo é usado compilar o circuito em uma segunda execução do porta-nível. Se necessário, o processo da análise da compilação, cronometrar e do alocamento de valores frouxos pode ser repetido até que o circuito se encontre com todos os confinamentes do sincronismo.

 
Web www.patentalert.com

< Circuit synthesis time budgeting based upon wireload information

< Circuit synthesis time budgeting based upon wireload information

> VLSI layout design jobs scheduling method

> Apparatus and method for providing error ordering information and error logging information

~ 00090