Method and apparatus of emulating interfaces using FIFOs

US9703748B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9703748-B2
Application numberUS-201414459731-A
CountryUS
Kind codeB2
Filing dateAug 14, 2014
Priority dateJun 6, 2014
Publication dateJul 11, 2017
Grant dateJul 11, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

An interface emulator for an IC is disclosed. An interface emulator includes a first first-in, first-out memory (FIFO) and a second FIFO. The first FIFO is coupled to receive data from an access port and a second FIFO coupled to receive data from at least one functional unit in the IC. The access port may be coupled to a device that is external to the IC. The external device may write information into the first FIFO, and this information may subsequently be read by a functional unit in the IC. Similarly, the functional unit may write information into the second FIFO, with the external device subsequently reading the information. Information may be written into the FIFOs in accordance with a predefined protocol. Thus, a particular type of interface may be emulated even though the physical connection and supporting circuitry for that interface is not otherwise implemented in the IC.

First claim

Opening claim text (preview).

What is claimed is: 1. An integrated circuit comprising: an access port configured to couple the integrated circuit to an external device; a first first-in, first-out memory (FIFO) coupled to receive data from the external device via the access port and further coupled to provide data to a functional unit of the integrated circuit; and a second FIFO coupled to provide data to the external device via the access port and further coupled to receive data from the functional unit of the integrated circuit; wherein the access port, the first FIFO, and the second FIFO comprise a communications channel configured to emulate an interface having a predefined protocol, wherein the functional unit is configured to conduct communications with the external device through the communications channel via reads from the first FIFO and writes to the second FIFO. 2. The integrated circuit as recited in claim 1 , wherein the access port is a physical access port configured to provide a hardwired connection to the external device. 3. The integrated circuit as recited in claim 1 , wherein the access port is configured to provide a wireless connection to the external device. 4. The integrated circuit as recited in claim 1 , wherein the communications channel is configured to emulate a universal serial bus (USB) port. 5. The integrated circuit as recited in claim 1 , wherein the communications channel is configured to emulated a universal asynchronous receiver transmitter (UART) interface. 6. The integrated circuit as recited in claim 1 , wherein the access port is a debug access port configured to provide a JTAG (Joint Test Action Group) interface to the integrated circuit. 7. The integrated circuit as recited in claim 6 , wherein the access port is a serial wire debug (SWD) interface. 8. The integrated circuit as recited in claim 1 , further comprising a first timer associated with the first FIFO and a second timer associated with the second FIFO, wherein the first and second timers are configured to enforce a maximum latency for the first and second FIFOs, respectively. 9. A method comprising: conducting communications between a functional unit internal to an integrated circuit (IC) and an external device coupled to a debug access port, wherein communications are conducted through an interface emulator coupled between the debug access port and the functional unit, the interface emulator implementing a communications channel that emulates an interface having a predefined protocol, wherein conducting communications comprises: inputting data to the functional unit from the external device via a first first-in first-out memory (FIFO) in the IC; and outputting data from the functional unit to the external device via a second FIFO in the IC. 10. The method as recited in claim 9 , wherein the external device is coupled to the IC by a hardwired connection. 11. The method as recited in claim 9 , wherein the external device is coupled to the IC by a wireless connection. 12. The method as recited in claim 9 , further comprising first and second timers enforcing latency limits for the first and second FIFOs, respectively. 13. The method as recited in claim 9 , wherein emulating an interface having a predefined protocol comprises emulating a universal serial bus (USB) interface. 14. The method as recited in claim 9 , emulating an interface having a predefined protocol comprises emulating a universal asynchronous receiver transmitter (UART) interface. 15. An integrated circuit comprising: a plurality of functional units; a debug access port; a first interface emulator coupled between the debug access port and at least one of the plurality of functional units, wherein the first interface emulator is configured to emulate an interface having a first predefined protocol, wherein the first interface emulator includes: a first first-in, first-out memory (FIFO), wherein the one of the plurality of functional units is configured to conduct communications with an external device coupled to the debug access port via reads from and writes to the FIFO. 16. The integrated circuit as recited in claim 15 , wherein the first interface emulator includes a first pair of FIFOs including the first FIFO and a second FIFO, wherein the first FIFO is configured to act as a first input FIFO and wherein the second FIFO is configured to act as a first output FIFO, wherein the first input FIFO is configured to receive data from the external device via the debug access port, and wherein the first output FIFO is configured to provide data to the external device via the debug access port. 17. The integrated circuit as recited in claim 15 , further comprising a second interface emulator coupled between the debug access port and one or more of the plurality of functional units, wherein the second interface emulator is configured to emulate an interface having a second predefined protocol and includes a second input FIFO and a second output FIFO. 18. The integrated circuit as recited in claim 15 , wherein the debug access port is a serial wire debug port. 19. The integrated circuit as recited in claim 16 , further comprising a timing unit coupled to the first input FIFO and the first output FIFO, wherein the timing unit is configured to limit an amount of time that data is stored in the first input FIFO and the first output FIFO. 20. The integrated circuit as recited in claim 17 , wherein the first interface emulator is configured to emulate a universal serial bus (USB) interface and the second interface emulator is configured to emulate a universal asynchronous receiver transmitter (UART) interface.

Assignees

Inventors

Classifications

  • using burst mode transfer, e.g. direct memory access {DMA}, cycle steal (G06F13/32 takes precedence) · CPC title

  • where the synchronisation uses buffers, e.g. for speed matching between buses · CPC title

  • using switching circuits, e.g. switching matrix, connection or expansion network (G06F13/4009 takes precedence) · CPC title

  • where the program performs an input/output emulation function · CPC title

  • for adaptation of a particular data processing system to different peripheral devices · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9703748B2 cover?
An interface emulator for an IC is disclosed. An interface emulator includes a first first-in, first-out memory (FIFO) and a second FIFO. The first FIFO is coupled to receive data from an access port and a second FIFO coupled to receive data from at least one functional unit in the IC. The access port may be coupled to a device that is external to the IC. The external device may write informati…
Who is the assignee on this patent?
Apple Inc
What technology area does this patent fall under?
Primary CPC classification G06F13/4226. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 11 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).