Patents by Inventor Mitchell G. Poplack
Mitchell G. Poplack has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 10303230Abstract: Disclosed herein are systems and methods to generate, by a compiling processor, one or more sets of one or more execution instructions responsive to compiling a netlist file. The method further includes storing, by the compiling processor, a set of execution instructions into an instruction memory of an execution processor. The method further includes generating, by a compiling processor, a set of one or more keephot instructions for the execution processor based upon the set of execution instructions stored into the instruction memory of the execution processor. The method further includes storing, by a compiling processor, the set of keephot instructions into the instruction memory of the execution processor.Type: GrantFiled: October 31, 2016Date of Patent: May 28, 2019Assignee: Cadence Design Systems, Inc.Inventors: Mitchell G. Poplack, Yuhei Hayashi, Beshara Elmufdi, Hitesh Gannu
-
Patent number: 10198538Abstract: The embodiments described herein may improve utilization of an emulator system's resources, and may improve efficiency and effectiveness in bug-identification and/or target-debugging; the components described herein may improve utilization of the emulator's resources, reduce wait time to execute emulation routines, and may limit or eliminate the need to stop or kill emulations in process. The various embodiments described herein allow for dynamically associating domains and targets by dynamically allocating and assigning domains with particular target connections, which are pins and/or wires that connect target pods to the emulation system. An emulation system may comprise one or more target MUXs that are situated between the target connections and the domains, to allow the relationships between target pods and domains to be identified and switched dynamically.Type: GrantFiled: December 28, 2015Date of Patent: February 5, 2019Assignee: Cadence Design Systems, Inc.Inventors: Barton Quayle, Mitchell G. Poplack, Sundar Rajan, Chuck Berghorn
-
Patent number: 9910810Abstract: Systems and methods of emulating application-specific integrated circuits using multiple execution phases, where different inputs and outputs are used or produced by components of the emulation system are disclosed. For example, an OMUX may select and transmit different data over a serial bus based on the execution phase of the emulator system. In another example, a processor or cluster may capture outputted data during a first execution phase, execute instructions for a second execution phase, and then return to the capture outputted data for further processing during a next cycle of the first execution phase.Type: GrantFiled: October 23, 2015Date of Patent: March 6, 2018Assignee: Cadence Design Systems, Inc.Inventors: Mitchell G. Poplack, Yuhei Hayashi, Beshara Elmufdi
-
Patent number: 9904759Abstract: A system for concurrent target diagnostics is disclosed. The system comprises dedicated FPGA for generating test data to test target connections between an emulator and a target system. In this way, domains of the emulator may continue to emulate at least a portion of a hardware design during the testing of the target connections. Further, a multiplexer operable to select target connections for testing eliminates errors resulting from manual swapping of target connections during the testing process. The system further comprises multiple paths to a target pod. The paths enable monitoring and reporting on the status of target connections between an emulator and a target system.Type: GrantFiled: June 8, 2017Date of Patent: February 27, 2018Assignee: CADENCE DESIGN SYSTEMS, INC.Inventors: Sundar Rajan, Charles R. Berghorn, Mitchell G. Poplack
-
Patent number: 9702933Abstract: Methods and systems for concurrent diagnostics in a functional verification system are disclosed and claimed herein. The methods and systems enable testing the interconnections of a functional verification system while the system implements a hardware design. In one embodiment, a first emulation chip of the functional verification system generates an encoded data word comprising a data word and error correction code (ECC) check bits. The ECC check bits enable a second emulation chip receiving the encoded word to determine whether the data word was received without error. In another embodiment, test patters may be transmitted along the unused interconnections while the functional verification system implements a hardware design in other interconnections. In another embodiment, a dedicated pattern generator generates test patterns to transmit across the interconnection.Type: GrantFiled: October 22, 2015Date of Patent: July 11, 2017Assignee: CADENCE DESIGN SYSTEMS, INC.Inventors: Charles R. Berghorn, Barton L. Quayle, Mitchell G. Poplack
-
Patent number: 9697324Abstract: A system for concurrent target diagnostics is disclosed. The system comprises dedicated FPGA for generating test data to test target connections between an emulator and a target system. In this way, domains of the emulator may continue to emulate at least a portion of a hardware design during the testing of the target connections. Further, a multiplexer operable to select target connections for testing eliminates errors resulting from manual swapping of target connections during the testing process. The system further comprises multiple paths to a target pod. The paths enable monitoring and reporting on the status of target connections between an emulator and a target system.Type: GrantFiled: November 5, 2015Date of Patent: July 4, 2017Assignee: CADENCE DESIGN SYSTEMS, INC.Inventors: Sundar Rajan, Charles R. Berghorn, Mitchell G. Poplack
-
Patent number: 9646120Abstract: The present patent document relates to a method to compact trace data generated by emulation processors during emulation of a circuit design, and a hardware functional verification system that compacts trace data. Compaction logic within emulation processor clusters accumulated data bits output from the emulation processors and compacts them into trace data bytes in registers based on enable bits identifying valid trace data according to a compaction scheme. Trace data bytes are further accumulated and compacted into larger trace data bytes in higher level processor clusters of the emulation chip according to a compaction hierarchy, with the compacted trace data bytes stored into a trace array of the emulation chip.Type: GrantFiled: May 19, 2016Date of Patent: May 9, 2017Assignee: CADENCE DESIGN SYSTEMS, INC.Inventors: Beshara Elmufdi, Mitchell G. Poplack, Viktor Salitrennik
-
Patent number: 9647688Abstract: A method of encoding a data word in a physical coding sublayer before serial transmission is provided, where data words comprising data bits are received, and the data words encoded using one or more 8B/10B encodings to generate 8B/10B transmission characters. ECC check bits are then generated, and the transmission characters and ECC check bits DC balanced prior to shuffling the bits together to form an encoded word to be transmitted. A receiver may decode by implementing a decode process with error correction. In some embodiments 26 data bits from two 13-bit word are encoded into a 40-bit encoded word. Bits of two or more encoded words may be interleaved for transmission, or multiple copies of encoded words sent. An integrated circuit serializer/deserializer comprises hardware to perform encoding and/or decoding. A hardware functional verification system may also implement the disclosed encoding/decoding for interconnections between emulation chips.Type: GrantFiled: December 19, 2014Date of Patent: May 9, 2017Assignee: CADENCE DESIGN SYSTEMS, INC.Inventors: Mitchell G. Poplack, Simon Sabato
-
Patent number: 9379846Abstract: In one form a method of encoding a data word for serial transmission is provided, where a data word comprising a plurality of data bits is received, an invert bit having a bit value is appended to the data word, the data bits and invert bit are scrambled, ECC check bits are generated, and the data bits, invert bit, and ECC check bits are shuffled together to form an encoded word to be transmitted from a transmitter. A receiver may decode by implementing a decode process with error correction. The encoded word may also be DC balanced by checking the disparity of the bits to be encoded against a running disparity to invert or not the bits. An integrated circuit serializer/deserializer comprises hardware to perform encoding and/or decoding. A hardware functional verification system may implement the disclosed encoding/decoding for interconnections between emulation chips.Type: GrantFiled: December 19, 2014Date of Patent: June 28, 2016Assignee: CADENCE DESIGN SYSTEMS, INC.Inventors: Mitchell G. Poplack, Simon Sabato
-
Patent number: 9372947Abstract: The present patent document relates to a method to compact trace data generated by emulation processors during emulation of a circuit design, and a hardware functional verification system that compacts trace data. Compaction logic within emulation processor clusters accumulated data bits output from the emulation processors and compacts them into trace data bytes in registers based on enable bits identifying valid trace data according to a compaction scheme. Trace data bytes are further accumulated and compacted into larger trace data bytes in higher level processor clusters of the emulation chip according to a compaction hierarchy, with the compacted trace data bytes stored into a trace array of the emulation chip.Type: GrantFiled: September 29, 2014Date of Patent: June 21, 2016Assignee: CADENCE DESIGN SYSTEMS, INC.Inventors: Beshara Elmufdi, Mitchell G. Poplack, Viktor Salitrennik
-
Patent number: 9298866Abstract: The present patent document relates to a method and apparatus for modeling a flip-flop of a user's circuit design when that circuit design is mapped in a hardware functional verification system including a plurality of interconnected emulation chips, or in a single emulation chip. The flip flop can be modeled in the emulation chip as two stages using only a single instruction, and may be configured by programming a register set. A data block, enable block, and LUT block are provided to model the flip flop, and may operate in one of several modes, including combined and uncombined modes. The data block includes a data array to store and provide previous data inputs and previous states of the modeled flip flop. The disclosed embodiments allow a more efficient use of LUTs for modeling flip flops, including options for resets and global enables, operating in several modes.Type: GrantFiled: September 30, 2014Date of Patent: March 29, 2016Assignee: CADENCE DESIGN SYSTEMS INC.Inventors: Beshara Elmufdi, Mitchell G. Poplack, Viktor Salitrennik
-
Patent number: 9292640Abstract: A method and system of dynamically selecting a memory read port are provided. In one form a method may comprises, in part, processing instructions in the emulation processors of a hardware functional verification system, storing output bits generated by the LUT in a plurality of storage elements, selecting between a plurality of previously-stored LUT output bits and the output port of the data memory, selecting one of the plurality of output bits stored in the storage elements, and sending the current data bit provided at the output port of the data memory to a selection circuit when previously-stored LUT output bits are provided. The disclosed systems and methods provide the ability all inputs to a LUT, even while a memory read port is occupied performing other operations during that emulation step, for example sending a value stored in the memory to another emulation processor using the selection circuit.Type: GrantFiled: October 30, 2014Date of Patent: March 22, 2016Assignee: CADENCE DESIGN SYSTEMS INC.Inventors: Beshara Elmufdi, Mitchell G. Poplack, Viktor Salittrennik
-
Patent number: 9292639Abstract: A method and system of providing additional lookup tables in an emulation processor cluster of an emulation chip of a hardware functional verification system is provided. An indirection table may be used within the processor cluster to provide the commonly-used function tables for the lookup tables (LUTs). The indirection table may be indexed according to a smaller portion of the standard LUT function table provided by an instruction than otherwise needed. The unused function table bits in the instruction may then be used for other purposes, including providing functionality to one or more extra LUTs of the processor cluster, whose function tables may be provided from another indirection table provided for that purpose. Additional processing capacity may thereby be provided for the cluster with a small amount of additional overhead within the emulation chip, while still providing the full range of function tables of the LUTs.Type: GrantFiled: October 30, 2014Date of Patent: March 22, 2016Assignee: CADENCE DESIGN SYSTEMS INC.Inventors: Beshara Elmufdi, Viktor Salitrennik, Mitchell G. Poplack
-
Patent number: 9171111Abstract: A processor-based hardware functional verification system with time shift registers is described. The system includes a processor cluster with a plurality of processors that each have a data inputs and select inputs. Furthermore, a plurality of electronic memories each having a plurality of read ports is associated with the processors, respectively. The time shift registers each have an input in communication with the read ports of the electronic memories and an output in communication with the select inputs of the processors. The system further includes an instruction memory that provides a control signal to each of the time shift registers to store data output from read ports of the electronic memories that can be provided to the processor for evaluation during a subsequent emulation step.Type: GrantFiled: September 29, 2014Date of Patent: October 27, 2015Assignee: CADENCE DESIGN SYSTEMS, INC.Inventors: Beshara Elmufdi, Mitchell G. Poplack, Viktor Salitrennik
-
Patent number: 8959010Abstract: A method and apparatus for redundant communication channels in an emulation system is disclosed. A processor-based emulation system has a plurality of emulation chips on an emulation board. The emulation chips have a plurality of processor clusters. Signals are sent over one or more communication channels between processor clusters, including from a processor cluster on one emulation chip to a processor cluster on another emulation chip. Copies of the same signal may be sent in duplicate over separate communication channels. If a communication channel failure is detected, instruction memory is modified so that a processor cluster's instructions no longer address a first cluster memory location, but instead address a second cluster memory location of a non-failed communication channel. By using redundant communication channels, emulation system interconnect reliability is increased and recompilation of the design under verification may be avoided.Type: GrantFiled: December 8, 2011Date of Patent: February 17, 2015Assignee: Cadence Design Systems, Inc.Inventors: Mikhail Bershteyn, Mitchell G. Poplack, Viktor Salitrennik
-
Patent number: 8612201Abstract: A hardware emulation system having a heterogeneous cluster of processors is described. The apparatus for emulating a hardware design comprises a plurality of processors, where each processor performs a different function during an emulation cycle. The method performed by the apparatus comprises using a data fetch processor to retrieve data from a data array, evaluating the retrieved data using the data fetch processor to produce an output bit, supplying the output bit to an intracluster crossbar and using a data store processor to store the output bit in the data array.Type: GrantFiled: April 11, 2006Date of Patent: December 17, 2013Assignee: Cadence Design Systems, Inc.Inventors: Mikhail Bershteyn, Mitchell G. Poplack, Beshara G. Elmufdi
-
Patent number: 8296121Abstract: Method and apparatus for controlling power in an emulation system are described. In one example, a first interface is configured to receive requirement information for a logic module to be emulated from a host computer system. The requirement information includes at least one of a power requirement or a thermal requirement. A second interface is configured to receive measurement data from sensors in the emulation system. A controller is configured to control at least one of a synchronization system, a power regulation system, or a thermal system in the emulation system in response to the requirement information and the measurement data to reduce power load of the emulation system.Type: GrantFiled: April 25, 2007Date of Patent: October 23, 2012Assignee: Cadence Design Systems, Inc.Inventors: Mitchell G. Poplack, William F. Beausoleil, Tung-Sun Tung, James Tomassetti
-
Patent number: 8027828Abstract: A method, apparatus and method for compiling a hardware design for performing hardware emulation using synchronized processors is described. The apparatus comprises a plurality of processors defining a processor group for evaluating data regarding a hardware design and a synchronizer for synchronizing the operation of the processor group while emulating at least a portion of the hardware design. The method comprises providing a synchronization signal to a plurality of processors defining a processor group for evaluating data regarding a hardware design, receiving a ready signal from the processor group, and providing an execution signal to the processor group, where the execution signal causes the processor group to evaluate a submodel. The method for compiling the hardware design comprises converting at least one high-level construct into a sequence of operations and identifying a sequence of operations that comprise at least one conditional submodel.Type: GrantFiled: May 31, 2006Date of Patent: September 27, 2011Assignee: Cadence Design Systems, Inc.Inventors: Mikhail Bershteyn, Charles Berghorn, Mitchell G. Poplack
-
Patent number: 7908465Abstract: A method and apparatus for emulating a hardware design comprising an instruction execution unit for executing at least one instruction, a memory for providing data to the instruction execution unit for processing into an output bit, and a write enable logic for controlling writing the output bit from the instruction execution unit to the memory. In this manner, the output bit produced by the instruction execution unit executing an instruction may be selectably stored in memory to facilitate efficient processing of conditional emulation operations.Type: GrantFiled: November 17, 2006Date of Patent: March 15, 2011Assignee: Cadence Design Systems, Inc.Inventors: Mitchell G. Poplack, Mikhail Bershteyn
-
Patent number: 7904288Abstract: A hardware emulator having a variable input emulation group is described. Each emulation group comprises two or more processors, where one of the processors (a first processor) is coupled to a data input selector and another one of the processors (a second processor) processes a first amount of data received from a data array. The data input selector receives the first amount of data and a second amount of data from the data array, and selects a third amount of data from among the first and second amounts of data. The third amount of data is provided to the first processor for evaluation.Type: GrantFiled: November 6, 2006Date of Patent: March 8, 2011Assignee: Cadence Design Systems, Inc.Inventors: William F. Beausoleil, Beshara G. Elmufdi, Mitchell G. Poplack, Tai Su