IP Library Granted Patent US 10,558,477
Granted Patent B2
US 10,558,477 · App. 15/352,824 · Granted Feb 11, 2020

Array clocking in emulation

Inventors: Michael J. Becht (Poughkeepsie, NY); Raymond Wong (Hopewell Junction, NY)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F9/45508G06F1/08G06F17/5027G06F17/5054
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,558,477
App. No.
15/352,824
Granted
Feb 11, 2020
Kind
B2
Abstract

Examples of techniques for emulating an application-specific integrated circuit (ASIC) array using a field programmable gate array (FPGA) are disclosed. In one example implementation according to aspects of the present disclosure, a method may include loading configuration information to the FPGA, wherein the configuration information is representative of configuration information of the ASIC. The method may further include emulating the ASIC using the FPGA loaded with the configuration information by applying a fast emulation clock signal to the FPGA. The fast emulation clock signal is a multiple of a system clock signal.

Claims (18)

1. A system for emulating an application-specific integrated circuit (ASIC) array using a field programmable gate array (FPGA), the system comprising:

a memory comprising computer readable instructions; and

a processing device for executing the computer readable instructions for performing a method, the method comprising:

loading configuration information to the FPGA, wherein the configuration information is representative of configuration information of the ASIC; and

emulating the ASIC using the FPGA loaded with the configuration information by applying a fast emulation clock signal to the FPGA instead of a system clock signal, wherein a frequency of a fast emulation clock is a multiple number of a frequency of a system clock, wherein emulating the ASIC comprises performing a number of read/write cycles during one system clock cycle, the number of read/write cycles being equal to the multiple number, wherein emulating the ASIC using the FPGA further comprises applying the fast emulation clock signal and a read/write signal to a read/write toggle block, the read/write toggle block providing a read/write signal input to the FPGA based on the timing of the fast emulation clock signal and the read/write signal to toggle the FPGA between a read operation and a write operation based on whether a read or write is occurring during a particular cycle associated with the fast emulation clock,

wherein the FPGA receives an address signal, a data in signal, and the read/write signal,

wherein the data in signal is received from a modify data block, wherein the data in signal is based on an initial data in signal and an output of the FPGA, and wherein the initial data in signal and the output of the FPGA are inputted into the modified data block.

2. The system of claim 1 , wherein the FPGA receives the fast emulation clock signal from the fast emulation clock.

3. The system of claim 1 , wherein the system clock signal is applied to a latch that receives the output of the FPGA.

4. The system of claim 3 , wherein the latch outputs emulation data based on the emulation of the ASIC using the FPGA.

5. A computer program product for emulating an application-specific integrated circuit (ASIC) array using a field programmable gate array (FPGA), the computer program product comprising:

a computer readable storage medium having program instructions embodied therewith, wherein the computer readable storage medium is not a transitory signal per se, the program instructions executable by a processing device to cause the processing device to perform a method comprising:

loading configuration information to the FPGA, wherein the configuration information is representative of configuration information of the ASIC; and

emulating the ASIC using the FPGA loaded with the configuration information by applying a fast emulation clock signal to the FPGA instead of a system clock signal, wherein a frequency of a fast emulation clock is a multiple number of a frequency of a system clock, wherein emulating the ASIC comprises performing a number of read/write cycles during one system clock cycle, the number of read/write cycles being equal to the multiple number, wherein emulating the ASIC using the FPGA further comprises applying the fast emulation clock signal and a read/write signal to a read/write toggle block, the read/write toggle block providing a read/write signal input to the FPGA based on the timing of the fast emulation clock signal and the read/write signal to toggle the FPGA between a read operation and a write operation based on whether a read or write is occurring during a particular cycle associated with the fast emulation clock,

wherein the FPGA receives an address signal, a data in signal, and the read/write signal,

wherein the data in signal is received from a modify data block, wherein the data in signal is based on an initial data in signal and an output of the FPGA, and wherein the initial data in signal and the output of the FPGA are inputted into the modified data block.

6. The computer program product of claim 5 , wherein the FPGA receives the fast emulation clock signal from the fast emulation clock.

7. The computer program product of claim 5 , wherein the system clock signal is applied to a latch that receives the output of the FPGA, and wherein the latch outputs emulation data based on the emulation of the ASIC using the FPGA.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2016
From: BECHT, MICHAEL J.; WONG, RAYMOND
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 040344/0330 →
Continuity (1)
Related Publication 20180136689A1 · May 17, 2018