Method and system for inserting probe points in FPGA-based...

Computer-aided design and analysis of circuits and semiconductor – Nanotechnology related integrated circuit design

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C716S030000, C716S030000, C716S030000

Reexamination Certificate

active

06760898

ABSTRACT:

FIELD OF THE INVENTION
This invention relates generally to programmable logic devices, and more particularly to a method and system for developing and testing the functionality of an FPGA design.
BACKGROUND OF THE INVENTION
Programmable devices are a class of general-purpose integrated circuits that can be configured for a wide variety of applications. Such programmable devices have two basic versions, mask programmable devices, which are programmed only by a manufacturer, and field programmable devices, which are programmable by the end user. In addition, programmable devices can be further categorized as programmable memory devices or programmable logic devices. Programmable memory devices include programmable read only memory (PROM), erasable programmable read only memory (EPROM) and electronically erasable programmable read only memory (EEPROM). Programmable logic devices include programmable logic array (PLA) devices, programmable array logic (PAL) devices, erasable programmable logic devices (EPLD) devices, and programmable gate arrays (PISA).
As chip capacity continues to increase significantly, the use of field programmable gate arrays (FPGAs) is quickly replacing the use of application specific integrated circuits (ASICs). An ASIC is a specialized integrated circuit that is designed for a particular application and can be implemented as a specialized microprocessor. Notably, a FPGA is a programmable logic device (PLD) that has an extremely high density of electronic gates as compared to an ASIC. This high gate density has contributed immensely to the popularity of FPGAs. Notably, FPGAS can be designed using a variety of architectures that can include user configurable input/output blocks (IOBs), and programmable logic blocks having configurable interconnects and switching capability.
The advancement of computer chip technology has also resulted in the development of embedded processors and controllers. An embedded processor or controller can be a microprocessor or microcontroller circuitry that has been integrated into an electronic device as opposed to being built as a standalone module or “plugin card.” Advancement of FPGA technology has led to the development of FPGA-based system-on-chips (SoC) including FPGA-based embedded processor system-on-chips. A SoC is a fully functional product having its electronic circuitry contained on a single chip. While a microprocessor chip requires ancillary hardware electronic components to process instructions, a SoC would include all required ancillary electronics. For example, a SoC for a cellular telephone can include a microprocessor, encoder, decoder, digital signal processor (DSP), RAM and ROM. It should be understood within contemplation of the present invention that an FPGA-Based SoC does not necessarily include a microprocessor or microcontroller. For example, a SoC for a cellular telephone could also include an encoder, decoder, digital signal processor (DSP), RAM and ROM that rely on an external microprocessor. It should also be understood herein that “FPGA-based embedded processor SoCs” are a specific subset of FPGA-based SoCs that would include their own processors.
In order for device manufacturers to develop FPGA-based SoCs or FPGA-based embedded processor SoCs, it is necessary for them to acquire intellectual property rights for system components and/or related technologies that are utilized to create the FPGA-based SoCs. These system components and/or technologies are called cores or Intellectual Property (IP) cores. An electronic file containing system component information can typically be used to represent the core. A device manufacturer will generally acquire several cores that are integrated to fabricate the SoC.
Notwithstanding advantages provided by using FPGA-based SoCs, the development of these SoCs can be very challenging. Although a vast proportion of cores are commercially available, a significantly greater proportion of cores are proprietary. Proprietary cores can be called customer specific cores. Commercially available cores can typically include standardized interfaces, which can provide interconnectivity between system components from various vendors. Customer specific cores can typically include proprietary interfaces that do not readily facilitate interconnectivity between system components from other vendors. For example, customer specific cores can be written in proprietary languages, which are completely different from standardized languages. Since customer specific cores do not readily facilitate interconnectivity with other vendor's system components, integrating customer specific cores during customization of an FPGA-based SoC can be time consuming. This resulted in increased development cost and greater time-to-market. Integration of the cores can include simulating, modeling and debugging the integrated cores in an operating environment. Simulation and modeling can be a daunting task since it can take hours if not days to simulate a few milliseconds of real time operation.
Importantly, verifying logic by probing the external pins has become increasingly difficult, if not impossible in certain scenarios. For example, flip-chip and ball grid array (BGA) packaging do not have exposed leads that can be physically probed using external tools such as an oscilloscope. Using traditional methods, capturing traces on devices running at system speeds in excess of 200MHz can be challenging. Furthermore, most circuit boards are small and have multiple layers with lines buried deep within layers of epoxy. These lines are inaccessible using an external tool. Notably, attaching headers to sockets or SoCs to aid in debugging can have adverse effects on system timing, especially in the case of a high-speed bus. Notably, attaching headers can consume valuable PCB real estate. The other difficulty is the fact that most functionality with the SoC is buried within the device and is not accessible via external pins. This inaccessibility leaves designers trying to debug internal logic without the ability to directly control or monitor this logic.
Given these and other inherent drawbacks, there is a need for a method and system for developing and testing the functionality of an FPGA SoC design.
SUMMARY OF THE INVENTION
The invention provides a method for automating the integration of the SoC system (as defined by an interactive processor system generator in accordance with the invention) and a SoC test and verification vehicle like Xilinx's ChipScope logic analyzer. This invention allows users to specify the inclusion of a logic analyzer as well as the desired probe points for an FPGA based SoC as well as FPGA-based Embedded Processor SoCs. These signal probing selections are input by the user via a high level GUI. As users specify what hardware and software cores they want in their FPGA-based SoC via a system generator tool, they can also specify what internal signals they want to probe with an internal logic analyzer. The ChipScope logic analyzer, for example, can be downloaded into the FPGA along with the user's SoC design to monitor internal signals. Currently, the user has to imbed the analyzer manually in the design. This is accomplished either by inserting it in the design source code (after the system generator tool has created it) or after an initial Place and Route (PAR) of the SoC design (which can greatly complicate the identification of, and access to the desired probe signals). In accordance with one aspect of the present invention, an appropriately sized logic analyzer would automatically be created and imbedded in the SoC design and the desired probe signals would be connected to the logic analyzer. In this manner, the debugging process is highly accelerated for an FPGA based SoC by making it easy for users to monitor signals. This technique provides two main advantages. The first is the aid to the user in the speedy debug of SoC designs. The second is the elimination of the need for source code by the user for the insertion of the logic analyzer which simplifies the user's j

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Method and system for inserting probe points in FPGA-based... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Method and system for inserting probe points in FPGA-based..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Method and system for inserting probe points in FPGA-based... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-3238069

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.