Patents by Inventor Ahmad R. Ansari

Ahmad R. Ansari 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: 7610469
    Abstract: A vector transfer unit for handling transfers of vector data between a memory and a data processor in a computer system. Vector data transfer instructions are posted to an instruction queue in the vector transfer unit. Program instructions for performing a burst transfer include determining the starting address of the vector data to be transferred, the ending address of the vector data to be transferred, and whether the ending address of the vector data to be transferred is within the same virtual memory page as the starting address. The ending address of the vector data to be transferred is determined based on the number of data elements to be transferred, the stride of the vector data to be transferred, and the width of the vector data elements to be transferred. When the amount of data to be transferred is divisible by a factor of two, the multiplication of the stride and width of the data elements is carried out by shifting.
    Type: Grant
    Filed: March 29, 2004
    Date of Patent: October 27, 2009
    Assignee: NEC Electronics America, Inc.
    Inventor: Ahmad R. Ansari
  • Patent number: 7590823
    Abstract: Method of informing a processor that a coprocessor instruction is not executable by a coprocessor is described. The coprocessor, instantiated in configurable logic, is configured to execute a subset of coprocessor instructions, excluding user-selected instructions not instantiated. The processor is coupled to the coprocessor via a controller. The coprocessor instruction is sent from the processor to the controller, which queries control logic to determine whether the coprocessor is configured to execute the coprocessor instruction. If a control bit is set to disable an instruction or group of instructions, the coprocessor instruction is not executable by the coprocessor.
    Type: Grant
    Filed: August 6, 2004
    Date of Patent: September 15, 2009
    Assignee: Xilinx, Inc.
    Inventors: Ahmad R. Ansari, Kathryn Story Purcell
  • Patent number: 7590822
    Abstract: Method and apparatus for indicating to a coprocessor when the coprocessor can update internal register content thereof without negative repercussion to a processor is described. A controller is coupled between the coprocessor and a processor, where the controller is configured with a state machine to track the instruction through pipeline stages of the processor.
    Type: Grant
    Filed: August 6, 2004
    Date of Patent: September 15, 2009
    Assignee: Xilinx, Inc.
    Inventors: Kathryn Story Purcell, Ahmad R. Ansari
  • Patent number: 7546441
    Abstract: A controller interface between a processor and a coprocessor is described. The controller is coupled to the processor to provide a processor interface for operating at a first frequency, where the first frequency is a frequency of operation of the processor. The controller is coupled to the coprocessor to provide a coprocessor interface for operating at a second frequency, where the second frequency is a frequency of operation of the coprocessor which is slower than or equal to the first frequency. The controller is configured to operate at both the first frequency and the second frequency providing in part handshaking between the processor and the coprocessor such that the processor does not have to be slowed down to the second frequency for operation with the coprocessor.
    Type: Grant
    Filed: August 6, 2004
    Date of Patent: June 9, 2009
    Assignee: Xilinx, Inc.
    Inventors: Ahmad R. Ansari, Kathryn Story Purcell
  • Patent number: 7539848
    Abstract: A system is disclosed comprising a logic circuit in an integrated circuit device, wherein the logic circuit comprises a logic fabric that includes a plurality of configurable logic blocks, switching blocks, and input/output blocks, wherein the logic fabric is configured according to configuration data provided to the integrated circuit device from an external memory and at least a portion of the logic fabric is configured as a configured processor to perform a first fixed logic function according to the configuration data. A fixed logic processor, a first auxiliary processing interface, a second fixed logic processor, a second auxiliary processing interface enable communication with the configured processor, wherein the configured processor remains configured to enable both the fixed logic processor and the second fixed logic processor to access the configured processor to perform the fixed logic function.
    Type: Grant
    Filed: September 30, 2005
    Date of Patent: May 26, 2009
    Assignee: Xilinx, Inc.
    Inventors: Stephen M. Douglass, Ahmad R. Ansari
  • Patent number: 7406670
    Abstract: Method and apparatus for generating a test program for an integrated circuit having an embedded processor. One embodiment has a system which includes an embedded microprocessor; a plurality of assembly language instructions stored in a memory, where the assembly language instructions substantially exercise a critical path or a path closest to the critical path in the embedded microprocessor; and programmable test circuitry having a programmable clock circuit for providing a multiplied clock signal to the embedded microprocessor in order to execute the assembly language instructions.
    Type: Grant
    Filed: August 1, 2007
    Date of Patent: July 29, 2008
    Assignee: Xilinx, Inc.
    Inventors: Ahmad R. Ansari, Mehul R. Vashi, Nigel G. Herron, Stephen M. Douglass
  • Patent number: 7346759
    Abstract: Method and apparatus for a decoder interface for a processor and a coprocessor is described. An input instruction register stores an input instruction from the processor. Configuration instruction registers store instructions. Comparison/pointer logic coupled to the input instruction register and the configuration instruction registers is configured to compare the input instruction from the processor with the instructions stored in the configuration registers to determine if there is a match, and configured to provide a pointer associated with a configuration instruction register of the configuration instruction registers having a instruction of the instructions matching the input instruction, where the pointer has fewer bits than the input instruction.
    Type: Grant
    Filed: August 6, 2004
    Date of Patent: March 18, 2008
    Assignee: Xilinx, Inc.
    Inventors: Ahmad R. Ansari, Kathryn Story Purcell
  • Patent number: 7313794
    Abstract: Method and apparatus for synchronizing access to a memory shared among a plurality of processors is described. In one example, each of the plurality of processors includes a primary bus for communicating with the memory and a secondary bus. A synchronization block is coupled to the secondary bus of each of the plurality of processors. The synchronization block includes at least one semaphore for controlling access among the plurality of processors to at least one data segment stored within the memory.
    Type: Grant
    Filed: January 30, 2003
    Date of Patent: December 25, 2007
    Assignee: Xilinx, Inc.
    Inventor: Ahmad R. Ansari
  • Patent number: 7269805
    Abstract: Method and apparatus for generating a test program for an integrated circuit having an embedded processor. One embodiment has a system which includes an embedded microprocessor; a plurality of assembly language instructions stored in a memory, where the assembly language instructions substantially exercise a critical path or a path closest to the critical path in the embedded microprocessor; and programmable test circuitry having a programmable clock circuit for providing a multiplied clock signal to the embedded microprocessor in order to execute the assembly language instructions.
    Type: Grant
    Filed: April 30, 2004
    Date of Patent: September 11, 2007
    Assignee: Xilinx, Inc.
    Inventors: Ahmad R. Ansari, Mehul R. Vashi, Nigel G. Herron, Stephen M. Douglass
  • Patent number: 7243212
    Abstract: Method and apparatus for non-lock-step operation between a processor and a controller is described. An instruction is provided from the processor to the controller. A busy signal is provided from the controller to the processor to indicate that the controller is not ready to execute the instruction. Initiation of execution of the instruction by the controller is done while continuing to indicate to the processor that the controller is not ready to execute the instruction.
    Type: Grant
    Filed: August 6, 2004
    Date of Patent: July 10, 2007
    Assignee: Xilinx, Inc.
    Inventors: Kathryn Story Purcell, Ahmad R. Ansari
  • Patent number: 7231621
    Abstract: Method and apparatus for generating a test program for a programmable logic device having an embedded processor. Predetermined code is obtained to exercise at least one speed limiting path identified. To the predetermined code is added wrapper code to provide the test program, the wrapper code in part for loading the predetermined code into cache of the embedded processor for testing the at least one speed limiting path of the embedded processor identified.
    Type: Grant
    Filed: April 30, 2004
    Date of Patent: June 12, 2007
    Assignees: Xilinx, Inc., International Business Machines
    Inventors: Nigel G. Herron, Ahmad R. Ansari, Stephen M. Douglass, Anthony Correale, Jr., Leslie M. DeBruyne
  • Patent number: 7200723
    Abstract: An interface for accessing a bank of registers is described. A controller is coupled to receive address information, read information and write information. The device control register interface includes: a data bus for receiving data, pointer information and operation delineation information; a decoder coupled to receive the read information, the write information, the pointer information and the operation delineation information, where the decoder is configured to provide activation signaling responsive to information received; and the bank of registers coupled to the decoder to receive the activation signaling and coupled to the data bus for receiving the data, where the address information is for the bank or registers and where a single address is used for accessing all registers in the bank of registers.
    Type: Grant
    Filed: August 6, 2004
    Date of Patent: April 3, 2007
    Assignee: Xilinx, Inc.
    Inventors: Ahmad R. Ansari, Kathryn Story Purcell
  • Patent number: 7194600
    Abstract: A method and apparatus for processing data within a programmable gate array comprise a first fixed logic processor and a second fixed logic processor that are embedded within the programmable gate array and detect a custom operation code. The processing continues when a fixed logic processor provides an indication of the custom operational code to the programmable gate array. The processing continues by having at least a portion of the programmable gate array, which is configured as a dedicated processor, performing a fixed logic routine upon receiving the indication from the fixed logic processor.
    Type: Grant
    Filed: February 17, 2005
    Date of Patent: March 20, 2007
    Assignee: Xilinx, Inc.
    Inventors: Stephen M. Douglass, Ahmad R. Ansari
  • Patent number: 7007121
    Abstract: A bus arbiter controls the bus frequency in a system that includes a plurality of bus masters and a plurality of slaves. The bus frequency is determined according to the internal frequency of the devices that are part of the transaction. Additionally, the bus frequency is set according to the length of the bus between the devices that are a part of the transaction and, correspondingly, the expected amount of impedance there between. As a part of the present invention, a master seeking bus resources to initiate a transaction generates a bus request and a destination address to the bus arbiter so that it may determine a corresponding bus frequency in advance. Thereafter, the bus arbiter sets the bus frequency to a value that corresponds to the transaction that is about to take place thereon. Next, the bus arbiter issues a grant signal to enable the master to use the bus. Each slave device for a transaction then generates or receives sample cycle signals indicating when a signal should be read on the bus.
    Type: Grant
    Filed: February 27, 2002
    Date of Patent: February 28, 2006
    Assignee: Xilinx, Inc.
    Inventors: Ahmad R. Ansari, Mehul R. Vashi
  • Patent number: 6973405
    Abstract: A verification agent can be used to verify hard and/or soft modules under test in an integrated circuit. The integrated circuit contains a processor and memory for storing code executable by the processor. The module under test performs predetermined operations. The verification agent interacts with the module under test, including sending signals to the module under test and generating results based on the interaction. The code causes the processor to receive the results and compare the results with expected values. The module under test may be deemed to operate properly if the actual results match the expected values.
    Type: Grant
    Filed: May 22, 2002
    Date of Patent: December 6, 2005
    Assignee: Xilinx, Inc.
    Inventor: Ahmad R. Ansari
  • Patent number: 6886092
    Abstract: A method and apparatus for processing data within a programmable gate array begins when a fixed logic processor that is embedded within the programmable gate array detects a custom operation code. The processing continues when the fixed logic processor provides an indication of the custom operational code to the programmable gate array. The processing continues by having at least a portion of the programmable gate array, which is configured as a dedicated processor, performing a fixed logic routine upon receiving the indication from the fixed logic processor.
    Type: Grant
    Filed: November 19, 2001
    Date of Patent: April 26, 2005
    Assignee: Xilinx, Inc.
    Inventors: Stephen M. Douglass, Ahmad R. Ansari
  • Patent number: 6813701
    Abstract: A compiler and vector data transfer instructions for use in a vector transfer unit for handling transfers of vector data between a memory and a data processor in a computer system. The compiler identifies the use of vector data in an application program and implements one or more vector instructions for transferring the vector data between memory and registers used to perform calculations on the vector data. A vector is partitioned by the compiler into variable-sized streams which are transferred into and out of the processor as burst transactions. The compiler schedules transfers of vector streams required in a calculation so that calculations on a portion of the vector data are performed while a subsequent portion of the vector data is transferred. A vector buffer pool is partitioned into one or more vector buffers and each vector buffer is used at a specific time.
    Type: Grant
    Filed: August 17, 1999
    Date of Patent: November 2, 2004
    Assignee: NEC Electronics America, Inc.
    Inventor: Ahmad R. Ansari
  • Publication number: 20040186980
    Abstract: A vector transfer unit for handling transfers of vector data between a memory and a data processor in a computer system. Vector data transfer instructions are posted to an instruction queue in the vector transfer unit. Program instructions for performing a burst transfer include determining the starting address of the vector data to be transferred, the ending address of the vector data to be transferred, and whether the ending address of the vector data to be transferred is within the same virtual memory page as the starting address. The ending address of the vector data to be transferred is determined based on the number of data elements to be transferred, the stride of the vector data to be transferred, and the width of the vector data elements to be transferred. When the amount of data to be transferred is divisible by a factor of two, the multiplication of the stride and width of the data elements is carried out by shifting.
    Type: Application
    Filed: March 29, 2004
    Publication date: September 23, 2004
    Inventor: Ahmad R. Ansari
  • Patent number: 6742106
    Abstract: A vector transfer unit for handling transfers of vector data between a memory and a data processor in a computer system. Vector data transfer instructions are posted to an instruction queue in the vector transfer unit. Program instructions for performing a burst transfer include determining the starting address of the vector data to be transferred, the ending address of the vector data to be transferred, and whether the ending address of the vector data to be transferred is within the same virtual memory page as the starting address. The ending address of the vector data to be transferred is determined based on the number of data elements to be transferred, the stride of the vector data to be transferred, and the width of the vector data elements to be transferred. When the amount of data to be transferred is divisible by a factor of two, the multiplication of the stride and width of the data elements is carried out by shifting.
    Type: Grant
    Filed: January 28, 2003
    Date of Patent: May 25, 2004
    Assignee: NEC Electronics, Inc.
    Inventor: Ahmad R. Ansari
  • Patent number: 6693452
    Abstract: Interconnecting logic provides connectivity of an embedded fixed logic circuit, or circuits, with programmable logic fabric of a programmable gate array such that the fixed logic circuit functions as an extension of the programmable logic fabric. The interconnecting logic includes interconnecting tiles and may further include interconnecting logic. The interconnecting tiles provide selective connectivity between inputs and/or outputs of the fixed logic circuit and the interconnects of the programmable logic fabric. The interconnecting logic, when included, provides logic circuitry that conditions data transfers between the fixed logic circuit and the programmable logic fabric. The invention is directed towards the various needs and requirements of the layout and floor planning of a device having both fixed logic circuitry and programmable logic circuitry.
    Type: Grant
    Filed: February 25, 2002
    Date of Patent: February 17, 2004
    Assignee: Xilinx, Inc.
    Inventors: Ahmad R. Ansari, Stephen M. Douglass