| US 7,590,823 B1 | ||
| Method and system for handling an instruction not supported in a coprocessor formed using configurable logic | ||
| Ahmad R. Ansari, San Jose, Calif. (US); and Kathryn Story Purcell, Mountain View, Calif. (US) | ||
| Assigned to Xilinx, Inc., San Jose, Calif. (US) | ||
| Filed on Aug. 06, 2004, as Appl. No. 10/913,231. | ||
| Int. Cl. G06F 15/00 (2006.01); G06F 15/76 (2006.01) | ||
| U.S. Cl. 712—34 [712/200; 712/202] | 25 Claims |

| 23. A system in an integrated circuit (IC) for triggering software emulation for executing a floating-point instruction, comprising:
a coprocessor having a subset of floating-point instructions instantiated in configurable logic of an IC responsive at least
in part to a core configuration bitstream for the coprocessor, the configurable logic including configurable logic blocks
of the IC;
a processor coupled to the coprocessor via control circuitry, the control circuitry being external to the coprocessor and
being internal to the IC, the processor being internal to the IC;
the control circuitry coupled to a pipeline of the processor and configured for lock-step operation with the pipeline of the
processor at a rated speed of the processor;
the control circuitry including monitoring logic for monitoring the pipeline of the processor, the monitoring logic coupled
to receive execute signals from an execution stage of the processor for tracking execute states of an instruction progressing
through a portion of the pipeline of the processor;
the processor coupled for receiving each instruction of a set of instructions for both the processor and the coprocessor,
a portion of the set of instructions being for the coprocessor, the portion being sent to the coprocessor after having been
received by the processor;
a control register, wherein responsive to a floating-point instruction sent from the processor to the control circuitry, the
control circuitry queries the control register to determine whether the floating-point instruction is part of a set of disabled
floating-point instructions; and
means for indicating to the processor that the floating-point instruction is not executable by the coprocessor.
|