Methods and associated apparatus for simulating digital logic circuits with a general purpose computer system. A description of a digital logic circuit is converted into executable computer code. The code produced is capable of simulating the circuit's response to a large number of independent sets of circuit stimulus. The code is broken into separate modules which each simulate the circuit's operation during a particular clock phase. Loops within the code are limited in size to make efficient use of the computer's instruction cache and the data cache. Known constant nodes are propagated through the circuit before code is generated to eliminate the generation of unnecessary code. Code is only generated to simulate gates which may switch on a particular phase. Code which does not need to be evaluated during a particular phase is dropped. The circuit is broken into acyclic sets of gates and code is generated to iterate over each acyclic set of gates until stability is reached. A scoring function is used to prioritize which logic gate and which nodes are to be selected for code generation. Tri-state buffers are simulated using boolean operations. Drive-fight checking is also accomplished using boolean operations.

Métodos y aparato asociado para simular los circuitos de lógica digitales con un sistema informático de fines generales. Una descripción de un circuito de lógica digital se convierte en código de computadora ejecutable. El código producido es capaz de simular la respuesta del circuito a una gran cantidad de sistemas independientes del estímulo del circuito. El código está quebrado en los módulos separados que cada uno simula la operación del circuito durante una fase particular del reloj. Los lazos dentro del código se limitan de tamaño para hacer el uso eficiente del escondrijo de la instrucción de computadora y del escondrijo de los datos. Los nodos constantes sabidos se propagan a través del circuito antes de que el código se genere para eliminar la generación del código innecesario. El código se genera solamente para simular las puertas que pueden encender (con.) una fase particular. Cifre se cae que no necesita ser evaluada durante una fase particular. El circuito está quebrado en sistemas acíclicos de puertas y el código se genera para iterar sobre cada uno el sistema acíclico de puertas hasta que se alcanza la estabilidad. Una función que anota se utiliza para dar la prioridad que puerta de la lógica y que deben los nodos ser seleccionados para la generación del código. Se simulan los almacenadores intermediarios de triple estado usando operaciones boleanas. Conducir-luche la comprobación también se logra usando operaciones boleanas.

 
Web www.patentalert.com

< (none)

< System and method for performing remote requests with an on-line service network

> Transaction replication system and method for supporting replicated transaction-based services

> (none)

~ 00002