US20040236893A1 - Bus architecture for system on a chip - Google Patents

Bus architecture for system on a chip Download PDF

Info

Publication number
US20040236893A1
US20040236893A1 US10/800,240 US80024004A US2004236893A1 US 20040236893 A1 US20040236893 A1 US 20040236893A1 US 80024004 A US80024004 A US 80024004A US 2004236893 A1 US2004236893 A1 US 2004236893A1
Authority
US
United States
Prior art keywords
bus
coupled
clock
clock domain
bridge
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US10/800,240
Inventor
Roger May
James Tyson
Edward Flaherty
Mark Dickinson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Altera Corp
Original Assignee
Altera Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Altera Corp filed Critical Altera Corp
Priority to US10/800,240 priority Critical patent/US20040236893A1/en
Publication of US20040236893A1 publication Critical patent/US20040236893A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function

Definitions

  • a related application is Attorney Docket No. 015114-053220 filed concurrently with the present application as U.S. Patent Application No. ______ in the names of May et al., and entitled “Setting Up Memory and Registers from a Serial Device” and assigned to the present assignee.
  • Another related application is Attorney Docket No. 015114-053230 filed concurrently with the present application as U.S. Patent Application No. ______ in the names of May et al., and entitled “Re-configurable Memory Map for a System on a Chip” and assigned to the present assignee.
  • the present invention relates to digital systems. More specifically, the present invention relates to a bus architecture for an integrated digital system.
  • microprocessor also known as a CPU.
  • a microprocessor is an integrated circuit implemented on a semiconductor chip, which typically includes, among other things, an instruction execution unit, register file, arithmetic logic unit (ALU), multiplier, etc.
  • ALU arithmetic logic unit
  • Microprocessors are found in digital systems, such as personal computers for executing instructions, and can also be employed to control the operation of most digital devices.
  • Microprocessors have evolved, most notably, in two directions. The first is towards higher performance and the second is towards greater ease of use. The path to higher performance has produced microprocessors with wider data paths and longer instructions. Greater integration has also improved speed, as many microprocessors now incorporate on-board structures such as memory for caching. Finally, like all semiconductors, microprocessors have benefited from architectural and process enhancements, allowing higher speed through better clock rates and more efficient logic operations.
  • PLD programmable logic device
  • a programmable logic device is a logic element having a logic function, which is not restricted to a specific function. Rather, the logic function of a PLD is programmed by a user.
  • PLDs provide the advantages of fixed integrated circuits with the flexibility of custom integrated circuits. Demands for greater capacity and performance have been met with larger PLD devices, architecture changes, and process improvements. Similar to microprocessors, the road to greater integration has also led to memory structures being incorporated into PLD architectures.
  • a system which is integrated on a single chip, is disclosed.
  • the system includes a combination of an embedded processor, reprogrammable memory, a programmable logic device (e.g. a PLD) and a multiple bus architecture including bus bridges that allow communication between adjacent clock domains, yet which allow communication among the PLD, re programmable memory, processor, etc.
  • a programmable logic device e.g. a PLD
  • multiple bus architecture including bus bridges that allow communication between adjacent clock domains, yet which allow communication among the PLD, re programmable memory, processor, etc.
  • the bus architecture of the present invention is embodied as a multiple bus master system, which allows communication among all peripherals in the system, via bridges that de-couple the clock frequencies of the individual bus masters from the peripheral they are accessing.
  • the bus architecture of the present invention therefore, allows the system components, for example the processor peripherals, and PLD to run at their optimal speeds.
  • a digital system integrated on a semiconductor chip includes one or more first bus masters coupled to a first bus in a first clock domain, a PLD coupled to a second bus in a second clock domain.
  • a first bridge is coupled between the first and second buses and is operable to de-couple the first clock domain from the second clock domain.
  • one or more masters on the first bus are configured to communicate with one or more slaves on the second bus.
  • the second bus may also contain a number of masters, including the PLD.
  • a digital system on a semiconductor chip includes a central processing unit coupled to a first bus, a programmable logic device coupled to a second bus and a bus bridge coupled between the first and second buses.
  • the first bus operates within a first clock domain and the second bus operates within a second clock domain.
  • a digital system on a semiconductor chip includes a central processing unit (CPU) coupled to a first bus in a first clock domain defined by a first bus clock frequency; a plurality of electronic devices coupled to a second bus in a second clock domain defined by a second bus clock frequency; a bus bridge coupled between the first and second buses and operable to allow communication between the CPU at the first bus clock frequency and one of the plurality of electronic devices at the second bus clock frequency; a programmable logic device (PLD) coupled to a third bus in a third clock domain; and a PLD bridge coupled between the second and third buses.
  • CPU central processing unit
  • PLD programmable logic device
  • FIG. 1 is diagram of a digital system with a programmable logic integrated circuit
  • FIG. 2 is a block diagram of a digital system according to an embodiment of the present invention.
  • FIG. 3 is a block diagram of a system having a multiple bus architecture according to an embodiment of the present invention.
  • FIG. 4 shows a more detailed and exemplary diagram of a first bus in FIG. 3, and its connectivity to exemplary components and peripherals, according to an embodiment of the present invention
  • FIG. 5 shows a more detailed and exemplary diagram of a second bus in FIG. 3, and its connectivity to exemplary components and peripherals, according to an embodiment of the present invention.
  • FIG. 6 shows an exemplary block diagram of a bridge according to an embodiment of the present invention.
  • FIG. 1 shows a block diagram of a digital system within which the present invention may be embodied.
  • the system may be provided on a single board, on multiple boards, or even within multiple enclosures.
  • FIG. 1 illustrates a system 10 in which a programmable logic device 106 may be utilized.
  • Programmable logic devices are currently represented by, for example, Altera's MAX®, FLEX®, and APEXTM series of PLDs.
  • a semiconductor device 100 is coupled to a memory 102 and an I/O 104 and comprises a programmable logic device (PLD) 106 and embedded logic, which may include, among other components, a processor 109 .
  • PLD programmable logic device
  • the system may be a digital computer system, digital signal processing system, specialized digital switching network, or other processing system. Moreover, such systems may be designed for a wide variety of applications such as, merely by way of example, telecommunications systems, automotive systems, control systems, consumer electronics, personal computers, and others.
  • FIG. 2 there is shown a diagram of a system 20 having a multiple bus architecture, according to an embodiment of the present invention.
  • the bus architecture is comprised of bus masters 200 , 201 , 202 and 204 , each of which can communicate with one or more of the peripherals in the system, e.g., memory 206 , and other peripherals 208 - 216 such as, for example, I/O devices, etc., via bridges 218 - 224 .
  • the principle function of each bus master is to manage the bus it is associated with and control what devices can access the bus.
  • Bridges 218 - 224 function to allow communication between a bus master in a first clock domain with a peripheral in a second clock domain, thereby allowing components on each bridge to operate at their individually optimal speeds.
  • a bridge accomplishes this by preferably including a first-in first-out (FIFO) buffer, which accepts data at the clock rate of a first bridge and writes it out to a second bus at the clock rate of the second bus.
  • FIFO first-in first-out
  • this embodiment of the present invention provides for the division of processing elements into their own clock domains 226 - 232 and provides bridges 218 - 224 , which allow communication to other devices on buses across clock domains 226 - 232 .
  • the bus architecture of system 20 is flexible enough to accommodate multiple bus masters, e.g. bus masters 200 and 202 , sharing the same bus. The only condition is that the bus masters run at the same frequency.
  • Each clock domain can derive from independent clock sources or derive from a division of one or more clock sources.
  • FIG. 2 is shown to have a certain number of bus masters and peripheral devices, it should be realized that this number is merely exemplary and that a design having any number of bus master, buses, bridges and peripherals is possible and, therefore, within the scope of the present invention.
  • FIG. 3 shows a portion of embedded logic illustrating an exemplary implementation of the multiple bus architecture shown in FIG. 2. Access to a peripheral is controlled by a number of bus masters connected by a bus structure comprised of two or more buses, and which is described in greater detail below.
  • bus masters there are three bus masters, including processor 300 , PLD Master 302 and Configuration Logic 304 . These bus masters 300 - 304 are capable of initiating read and write operations by providing address and control information.
  • Processor 300 is connected to a first bus 306 (e.g. a 32-bit AHB bus).
  • First bus 306 also connects to one or more peripheral devices such as a synchronous dynamic random access memory (SDRAM) controller 330 , on-chip static random access memory (SRAM) (single 310 and dual 312 port), processor only peripherals, for example, an interrupt controller 314 for receiving an interrupt signal from another peripheral and reporting the signal to the processor 300 , and a watchdog timer 316 , which functions to cause the system to reset if, for example, certain logic states within processor 300 do not toggle within a predefined time period.
  • SDRAM synchronous dynamic random access memory
  • SRAM static random access memory
  • a test interface controller (TIC) 318 can also be connected to first bus 306 for functional testing.
  • Second bus 307 can be, for example, a standard 32-bit AHB bus that can provide for a lower memory access speed, by PLD Master 302 and Configuration logic 304 , than may be required for processor 300 , which is, as described above, connected to first bus 306 .
  • peripherals that can be accessed with a relatively larger degree of latency tolerance can be connected to second bus 307 .
  • modules connected to second bus 307 may include, for example, a universal asynchronous transceiver (UART) 320 , a bus expansion 322 , a timer 324 , clock generator 326 , a reset/mode controller 328 , an SDRAM memory controller 330 for controlling external SDRAM, and single and dual on-chip static random access memories (SRAMs) 310 and 312 .
  • Bus expansion 322 is used primarily to connect to external memory, for example, Flash memory from which processor 300 can boot.
  • Clock generator 326 is preferably programmable so that a desired clock frequency can be set for second bus 307 .
  • Both single 310 and dual 312 SRAMs may be divided into multiple blocks (e.g. divided in two, as in FIG.
  • Second bus 307 is also connected to a PLD slave bridge 332 and a PLD master bridge 334 , each of which is interfaced to a PLD in the system (not shown in FIG. 3), via third 336 and fourth 338 buses, respectively.
  • Third 336 and fourth 338 buses can be, for example, standard 32-bit AHB buses.
  • a bridge to and from the PLD may be configured in a single device.
  • the PLD may be, for example, an APEXTM 20KE, which is manufactured by Altera Corporation and described in Altera Data Book (1999), which is incorporated by reference.
  • FIG. 4 shows first bus 306 in greater detail.
  • First bus 306 is clocked by, for example, a dedicated phase locked loop (PLL), which allows the maximum possible performance to be achieved by processor 300 .
  • the clock frequency can be made selectable by writing to clock generator module 326 .
  • An address decoder 440 provides selection of bus bridge 325 , SDRAM memory controller 330 , on-chip SRAM 310 and 312 , interrupt controller 314 and watchdog timer 316 in accordance with memory maps of the various modules. Address decoder 440 selects one of these elements by comparing address information encoded in memory map registers (not shown in FIG. 3) on second bus 307 to an address output by processor 300 .
  • processor 300 If the address output by processor 300 is within an address range of any one of the elements on first bus 306 , then a select line for the corresponding element is activated. If access is not being made for elements coupled exclusively to first bus 306 (e.g. memory controller 330 , interrupt controller 314 , watchdog time 316 ) or for SRAM 310 or 312 , then access is directed to an element on second bus 307 via bus bridge 325 .
  • FIG. 5 shows second bus 307 from FIG. 2 in greater detail.
  • Second bus 307 may be clocked by, for example, a divided down version of the clock that clocks first bus 306 or may be a clock unrelated to the first bus clock.
  • a register for selection of this frequency is located within clock generator module 326 .
  • Address decoder 340 provides for selection of SDRAM memory controller 330 , bus expansion 322 , on-chip SRAM 310 and 312 , UART 320 , clock generator 326 , timer 324 , reset/mode control 328 , PLD slave bridge 332 , etc. according to the system's memory map.
  • Reset/mode controller 328 functions to reset the system and control its mode of operation.
  • Second bus 307 also includes an arbiter 542 for determining which bus master, PLD master 302 or configuration logic 304 or bus masters on first bus 306 (via bus bridge 325 ) has access to second bus 307 .
  • First 306 and second 307 buses are coupled to each other by bus bridge 325 .
  • PLD master 334 and slave 332 bridges are substantially identical with bus bridge 325 with only minor differences related to the chosen address decoding scheme and bus structure.
  • An exemplary embodiment of a bridge 60 is shown in FIG. 6. An originating bus 600 of a transaction is connected to that bridge's slave 602 while that bridge's master 604 is connected to a destination bus 606 .
  • Bridge 60 includes synchronization logic 608 , which allows the master and slave interfaces to reside in different clock domains. The master and slave interfaces of bridge 60 can be synchronous or asynchronous relative to each other. If synchronous, bridge 60 can be configured to bypass synchronization logic 608 to reduce the latency through bridge 60 .
  • a write buffer 610 is configured to accept bursts of posted write data from slave interface.
  • the bus protocol allows for several transfers of write data to be concatenated to enhances bus performance. No wait states are inserted so long as a buffer entry is free to accept the data.
  • a write request is generated by slave interface and is synchronized to the master clock domain.
  • Master 604 de-queues data from write buffer 610 , writes it out to destination bus 606 and then asserts an acknowledge signal to slave 602 to indicate that a buffer entry is now free for re-use by slave 602 . Sending an acknowledge signal back to slave 602 accounts for the difference in clock frequencies in the slave and master clock domains.
  • each bridge includes a first-in first-out (FIFO), which accepts data at the clock rate of the first bridge, buffers it and writes it out to the second bus at the clock rate of the second bus.
  • FIFO first-in first-out
  • slave 602 When selected by a read transaction, slave 602 asserts a read request that is synchronous to the master clock domain. Master 604 performs a read transaction (pre-fetching data to fill a read buffer 612 if enabled) and asserts an acknowledge signal to indicate when data is available. Read buffer tags are used to return the status of the transaction (e.g. OK, ERROR, RETRY).
  • Slave interface also provides access to a bridge status register and address status register (not shown in FIG. 6). These registers contain information pertaining to a posted write transaction that resulted in an ERROR response, could not arbitrate for the destination bus, or could not complete an access that had a RETRY response.
  • master 604 uses the address and control information to perform the requested transaction on destination bus 606 . Master 604 will only read data from destination bus 606 if there is a free entry in read buffer 612 to receive it. If no free entries are available, then master 604 will insert BUSY cycles. Similarly, if no data is available from write buffer 610 during a write transaction, master 604 will insert BUSY cycles.
  • the present in invention discloses a bus architecture of the present invention, in particular, is embodied as a multiple bus master system, which allows communication among all peripherals in the system via bridges that de-couple clock frequencies of the individual bus masters from the peripheral they are accessing.
  • the bus architecture of the present invention therefore, allows various system units to run at their optimal speeds and reduces bus contention.

Abstract

A multiple bus architecture for a system on a chip including bridges for de-coupling clock frequencies of individual bus masters from peripherals they are accessing. Each bridge interfaces to all bus masters in the system that require access to the peripherals it interfaces to.

Description

    CROSS-REFERENCES TO RELATED APPLICATIONS
  • This application claims priority from provisional U.S. Patent Application No. 60/211,094, filed Jun. 12, 2000 and which is incorporated by reference into this application for all purposes. [0001]
  • A related application is Attorney Docket No. 015114-053220 filed concurrently with the present application as U.S. Patent Application No. ______ in the names of May et al., and entitled “Setting Up Memory and Registers from a Serial Device” and assigned to the present assignee. Another related application is Attorney Docket No. 015114-053230 filed concurrently with the present application as U.S. Patent Application No. ______ in the names of May et al., and entitled “Re-configurable Memory Map for a System on a Chip” and assigned to the present assignee.[0002]
  • BACKGROUND OF THE INVENTION
  • The present invention relates to digital systems. More specifically, the present invention relates to a bus architecture for an integrated digital system. [0003]
  • Since their inception, digital systems have progressed towards higher levels of integration. Higher integration offers several benefits to the system designer, including lower development costs, shorter design cycles, increased performance and generally lower power consumption. At the device level, this integration has been achieved by the accumulation of functions once performed by multiple, individual devices into more capable, higher density devices. Additionally, the need for design flexibility has increased due to more challenging time-to-market pressures and changes in system specifications. [0004]
  • Often at the heart of a digital system is the microprocessor, also known as a CPU. A microprocessor is an integrated circuit implemented on a semiconductor chip, which typically includes, among other things, an instruction execution unit, register file, arithmetic logic unit (ALU), multiplier, etc. Microprocessors are found in digital systems, such as personal computers for executing instructions, and can also be employed to control the operation of most digital devices. [0005]
  • Microprocessors have evolved, most notably, in two directions. The first is towards higher performance and the second is towards greater ease of use. The path to higher performance has produced microprocessors with wider data paths and longer instructions. Greater integration has also improved speed, as many microprocessors now incorporate on-board structures such as memory for caching. Finally, like all semiconductors, microprocessors have benefited from architectural and process enhancements, allowing higher speed through better clock rates and more efficient logic operations. [0006]
  • Another digital device, which has evolved over its lifetime to meet the needs of system designer is the programmable logic device (PLD). A programmable logic device is a logic element having a logic function, which is not restricted to a specific function. Rather, the logic function of a PLD is programmed by a user. PLDs provide the advantages of fixed integrated circuits with the flexibility of custom integrated circuits. Demands for greater capacity and performance have been met with larger PLD devices, architecture changes, and process improvements. Similar to microprocessors, the road to greater integration has also led to memory structures being incorporated into PLD architectures. [0007]
  • The traditional approach to system design involves combining a microprocessor and other off-the-shelf devices on a board, while partitioning the board's functions into the components that are best suited to perform them. While this method seems to be straightforward, it ignores the advantages to be gained by higher device-level integration. With higher device-level integration, the elimination of on-chip/off-chip delays enhances performance. Power consumption and overall manufacturing and design costs are often improved as well. Yet, integration presents problems of its own. For example, since a microprocessor will normally be clocked at a faster rate than other elements, a method and apparatus are needed to address this difference in clock speeds. [0008]
  • SUMMARY OF THE INVENTION
  • According to an embodiment of the present invention a system, which is integrated on a single chip, is disclosed. The system includes a combination of an embedded processor, reprogrammable memory, a programmable logic device (e.g. a PLD) and a multiple bus architecture including bus bridges that allow communication between adjacent clock domains, yet which allow communication among the PLD, re programmable memory, processor, etc. [0009]
  • The bus architecture of the present invention, in particular, is embodied as a multiple bus master system, which allows communication among all peripherals in the system, via bridges that de-couple the clock frequencies of the individual bus masters from the peripheral they are accessing. The bus architecture of the present invention, therefore, allows the system components, for example the processor peripherals, and PLD to run at their optimal speeds. [0010]
  • In a first aspect of the invention a digital system integrated on a semiconductor chip is disclosed. The system includes one or more first bus masters coupled to a first bus in a first clock domain, a PLD coupled to a second bus in a second clock domain. A first bridge is coupled between the first and second buses and is operable to de-couple the first clock domain from the second clock domain. Additionally, one or more masters on the first bus are configured to communicate with one or more slaves on the second bus. The second bus may also contain a number of masters, including the PLD. [0011]
  • In a second aspect of the invention, a digital system on a semiconductor chip includes a central processing unit coupled to a first bus, a programmable logic device coupled to a second bus and a bus bridge coupled between the first and second buses. In this aspect of the invention, the first bus operates within a first clock domain and the second bus operates within a second clock domain. [0012]
  • In a third aspect of the invention, a digital system on a semiconductor chip includes a central processing unit (CPU) coupled to a first bus in a first clock domain defined by a first bus clock frequency; a plurality of electronic devices coupled to a second bus in a second clock domain defined by a second bus clock frequency; a bus bridge coupled between the first and second buses and operable to allow communication between the CPU at the first bus clock frequency and one of the plurality of electronic devices at the second bus clock frequency; a programmable logic device (PLD) coupled to a third bus in a third clock domain; and a PLD bridge coupled between the second and third buses. [0013]
  • The following detailed description and the accompanying drawings provide a better understanding of the nature and advantages of the present invention.[0014]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is diagram of a digital system with a programmable logic integrated circuit; [0015]
  • FIG. 2 is a block diagram of a digital system according to an embodiment of the present invention; [0016]
  • FIG. 3 is a block diagram of a system having a multiple bus architecture according to an embodiment of the present invention; [0017]
  • FIG. 4 shows a more detailed and exemplary diagram of a first bus in FIG. 3, and its connectivity to exemplary components and peripherals, according to an embodiment of the present invention; [0018]
  • FIG. 5 shows a more detailed and exemplary diagram of a second bus in FIG. 3, and its connectivity to exemplary components and peripherals, according to an embodiment of the present invention; and [0019]
  • FIG. 6 shows an exemplary block diagram of a bridge according to an embodiment of the present invention.[0020]
  • DESCRIPTION OF THE SPECIFIC EMBODIMENTS
  • FIG. 1 shows a block diagram of a digital system within which the present invention may be embodied. The system may be provided on a single board, on multiple boards, or even within multiple enclosures. FIG. 1 illustrates a [0021] system 10 in which a programmable logic device 106 may be utilized. Programmable logic devices are currently represented by, for example, Altera's MAX®, FLEX®, and APEX™ series of PLDs.
  • In the particular embodiment of FIG. 1, a [0022] semiconductor device 100 is coupled to a memory 102 and an I/O 104 and comprises a programmable logic device (PLD) 106 and embedded logic, which may include, among other components, a processor 109. The system may be a digital computer system, digital signal processing system, specialized digital switching network, or other processing system. Moreover, such systems may be designed for a wide variety of applications such as, merely by way of example, telecommunications systems, automotive systems, control systems, consumer electronics, personal computers, and others.
  • Referring now to FIG. 2, there is shown a diagram of a [0023] system 20 having a multiple bus architecture, according to an embodiment of the present invention. The bus architecture is comprised of bus masters 200, 201, 202 and 204, each of which can communicate with one or more of the peripherals in the system, e.g., memory 206, and other peripherals 208-216 such as, for example, I/O devices, etc., via bridges 218-224. The principle function of each bus master is to manage the bus it is associated with and control what devices can access the bus. Bridges 218-224 function to allow communication between a bus master in a first clock domain with a peripheral in a second clock domain, thereby allowing components on each bridge to operate at their individually optimal speeds. A bridge accomplishes this by preferably including a first-in first-out (FIFO) buffer, which accepts data at the clock rate of a first bridge and writes it out to a second bus at the clock rate of the second bus. So long as each bus master is accessing a different peripheral on a different bus, employment of bus bridges 218-224 leads to enhanced system performance, since multiple bus masters can communicate with different peripherals on different buses simultaneously without the problem of bus access contention. In other words, this embodiment of the present invention provides for the division of processing elements into their own clock domains 226-232 and provides bridges 218-224, which allow communication to other devices on buses across clock domains 226-232. Nevertheless, the bus architecture of system 20 is flexible enough to accommodate multiple bus masters, e.g. bus masters 200 and 202, sharing the same bus. The only condition is that the bus masters run at the same frequency. Each clock domain can derive from independent clock sources or derive from a division of one or more clock sources. Whereas the embodiment in FIG. 2 is shown to have a certain number of bus masters and peripheral devices, it should be realized that this number is merely exemplary and that a design having any number of bus master, buses, bridges and peripherals is possible and, therefore, within the scope of the present invention.
  • FIG. 3 shows a portion of embedded logic illustrating an exemplary implementation of the multiple bus architecture shown in FIG. 2. Access to a peripheral is controlled by a number of bus masters connected by a bus structure comprised of two or more buses, and which is described in greater detail below. In this exemplary implementation, there are three bus masters, including [0024] processor 300, PLD Master 302 and Configuration Logic 304. These bus masters 300-304 are capable of initiating read and write operations by providing address and control information. Processor 300 is connected to a first bus 306 (e.g. a 32-bit AHB bus). First bus 306 also connects to one or more peripheral devices such as a synchronous dynamic random access memory (SDRAM) controller 330, on-chip static random access memory (SRAM) (single 310 and dual 312 port), processor only peripherals, for example, an interrupt controller 314 for receiving an interrupt signal from another peripheral and reporting the signal to the processor 300, and a watchdog timer 316, which functions to cause the system to reset if, for example, certain logic states within processor 300 do not toggle within a predefined time period. A test interface controller (TIC) 318 can also be connected to first bus 306 for functional testing.
  • The remaining bus masters, which in this example are [0025] PLD Master 302 and Configuration Logic 304, share a second bus 307. Second bus 307 can be, for example, a standard 32-bit AHB bus that can provide for a lower memory access speed, by PLD Master 302 and Configuration logic 304, than may be required for processor 300, which is, as described above, connected to first bus 306. Similarly, peripherals that can be accessed with a relatively larger degree of latency tolerance can be connected to second bus 307. Some of the modules connected to second bus 307 may include, for example, a universal asynchronous transceiver (UART) 320, a bus expansion 322, a timer 324, clock generator 326, a reset/mode controller 328, an SDRAM memory controller 330 for controlling external SDRAM, and single and dual on-chip static random access memories (SRAMs) 310 and 312. Bus expansion 322 is used primarily to connect to external memory, for example, Flash memory from which processor 300 can boot. Clock generator 326 is preferably programmable so that a desired clock frequency can be set for second bus 307. Both single 310 and dual 312 SRAMs may be divided into multiple blocks (e.g. divided in two, as in FIG. 4), each having their own bus arbitration. Division permits concurrent access to different blocks by bus masters on first 306 and second 307 buses. Second bus 307 is also connected to a PLD slave bridge 332 and a PLD master bridge 334, each of which is interfaced to a PLD in the system (not shown in FIG. 3), via third 336 and fourth 338 buses, respectively. Third 336 and fourth 338 buses can be, for example, standard 32-bit AHB buses. (Alternatively, a bridge to and from the PLD may be configured in a single device.) In this particular embodiment, the PLD may be, for example, an APEX™ 20KE, which is manufactured by Altera Corporation and described in Altera Data Book (1999), which is incorporated by reference.
  • FIG. 4 shows [0026] first bus 306 in greater detail. First bus 306 is clocked by, for example, a dedicated phase locked loop (PLL), which allows the maximum possible performance to be achieved by processor 300. The clock frequency can be made selectable by writing to clock generator module 326. An address decoder 440 provides selection of bus bridge 325, SDRAM memory controller 330, on- chip SRAM 310 and 312, interrupt controller 314 and watchdog timer 316 in accordance with memory maps of the various modules. Address decoder 440 selects one of these elements by comparing address information encoded in memory map registers (not shown in FIG. 3) on second bus 307 to an address output by processor 300. If the address output by processor 300 is within an address range of any one of the elements on first bus 306, then a select line for the corresponding element is activated. If access is not being made for elements coupled exclusively to first bus 306 (e.g. memory controller 330, interrupt controller 314, watchdog time 316) or for SRAM 310 or 312, then access is directed to an element on second bus 307 via bus bridge 325.
  • FIG. 5 shows [0027] second bus 307 from FIG. 2 in greater detail. Second bus 307 may be clocked by, for example, a divided down version of the clock that clocks first bus 306 or may be a clock unrelated to the first bus clock. A register for selection of this frequency is located within clock generator module 326. Address decoder 340 provides for selection of SDRAM memory controller 330, bus expansion 322, on- chip SRAM 310 and 312, UART 320, clock generator 326, timer 324, reset/mode control 328, PLD slave bridge 332, etc. according to the system's memory map. Reset/mode controller 328 functions to reset the system and control its mode of operation. It may also contain memory map registers a user can access to configure a memory map for the system. Second bus 307 also includes an arbiter 542 for determining which bus master, PLD master 302 or configuration logic 304 or bus masters on first bus 306 (via bus bridge 325) has access to second bus 307.
  • First [0028] 306 and second 307 buses are coupled to each other by bus bridge 325. PLD master 334 and slave 332 bridges are substantially identical with bus bridge 325 with only minor differences related to the chosen address decoding scheme and bus structure. An exemplary embodiment of a bridge 60 is shown in FIG. 6. An originating bus 600 of a transaction is connected to that bridge's slave 602 while that bridge's master 604 is connected to a destination bus 606. Bridge 60 includes synchronization logic 608, which allows the master and slave interfaces to reside in different clock domains. The master and slave interfaces of bridge 60 can be synchronous or asynchronous relative to each other. If synchronous, bridge 60 can be configured to bypass synchronization logic 608 to reduce the latency through bridge 60.
  • A [0029] write buffer 610, is configured to accept bursts of posted write data from slave interface. Preferably, the bus protocol allows for several transfers of write data to be concatenated to enhances bus performance. No wait states are inserted so long as a buffer entry is free to accept the data. A write request is generated by slave interface and is synchronized to the master clock domain. Master 604 de-queues data from write buffer 610, writes it out to destination bus 606 and then asserts an acknowledge signal to slave 602 to indicate that a buffer entry is now free for re-use by slave 602. Sending an acknowledge signal back to slave 602 accounts for the difference in clock frequencies in the slave and master clock domains. Without write posting, for example, if master 604 is processor 300 on first bus 306 and slave 602 is one of the slaves on second bus 307, as in FIG. 3, processor would have to wait for each single transfer to complete before it send the next transfer. Since processor 300 will normally run at a higher frequency than slaves on second bus 307, write posting allows the processor 300 to run at its optimal speed. In an exemplary embodiment, write posting is controlled by action of the bridge coupled between the two buses. Preferably, each bridge includes a first-in first-out (FIFO), which accepts data at the clock rate of the first bridge, buffers it and writes it out to the second bus at the clock rate of the second bus. The FIFO thereby allows processor 300, for example, to carry out its next action at its own optimal clock rate and is not stalled by having to wait for data to be written to the second bus 307.
  • When selected by a read transaction, [0030] slave 602 asserts a read request that is synchronous to the master clock domain. Master 604 performs a read transaction (pre-fetching data to fill a read buffer 612 if enabled) and asserts an acknowledge signal to indicate when data is available. Read buffer tags are used to return the status of the transaction (e.g. OK, ERROR, RETRY).
  • Slave interface also provides access to a bridge status register and address status register (not shown in FIG. 6). These registers contain information pertaining to a posted write transaction that resulted in an ERROR response, could not arbitrate for the destination bus, or could not complete an access that had a RETRY response. When [0031] slave 602 indicates that a transfer is pending, master 604 uses the address and control information to perform the requested transaction on destination bus 606. Master 604 will only read data from destination bus 606 if there is a free entry in read buffer 612 to receive it. If no free entries are available, then master 604 will insert BUSY cycles. Similarly, if no data is available from write buffer 610 during a write transaction, master 604 will insert BUSY cycles.
  • In conclusion, the present in invention discloses a bus architecture of the present invention, in particular, is embodied as a multiple bus master system, which allows communication among all peripherals in the system via bridges that de-couple clock frequencies of the individual bus masters from the peripheral they are accessing. The bus architecture of the present invention, therefore, allows various system units to run at their optimal speeds and reduces bus contention. [0032]
  • The foregoing description of preferred exemplary embodiments has been presented for the purposes of description. It is not intended to be exhaustive or to limit the invention to the precise form described herein, and modifications and variations are possible in light of the teaching above. Accordingly, the true scope and spirit of the invention is instead indicated by the following claims and their equivalents. [0033]

Claims (27)

What is claimed is:
1. A digital system integrated on a semiconductor chip, comprising:
one or more first bus masters coupled to a first bus in a first clock domain;
a programmable logic device coupled to a second bus in a second clock domain;
a first bridge coupled between the first and second buses operable to de-couple the first clock domain from the second clock domain.
2. The system of claim 1, wherein one of the first bus masters comprises a central processing unit.
3. The system of claim 1, wherein the one or more first bus masters are configured to communicate with the one or more second bus slaves coupled to the second bus, via the first bridge.
4. The system of claim 1, wherein the programmable logic device comprises a second bus master.
5. The system of claim 4, further comprising a second bus bridge coupled between the second bus and the second bus master.
6. The system of claim 1, further comprising a plurality of second bus masters coupled to the second bus.
7. A digital system on a semiconductor chip, comprising:
a central processing unit (CPU) coupled to a first bus;
a programmable logic device (PLD) coupled to a second bus; and
a bus bridge coupled between the first and second buses.
8. The digital system of claim 7, wherein the first bus operates within a first clock domain and the second bus operates within a second clock domain.
9. The digital system of claim 8, wherein the first clock domain is characterized by a first clock frequency that is greater than a second clock frequency characteristic of the second clock domain.
8. The digital system of claim 7, wherein the first bus operates within a first clock domain and the second bus operates within a second clock domain.
9. The digital system of claim 8, wherein the first clock domain is characterized by a first clock frequency that is greater than a second clock frequency characteristic of the second clock domain.
10. The digital system of claim 8, wherein either or both of the first clock frequency and second clock frequency are programmable.
11. A digital system on a semiconductor chip, comprising:
a central processing unit (CPU) coupled to a first bus in a first clock domain defined by a first bus clock frequency;
a plurality of electronic devices coupled to a second bus in a second clock domain defined by a second bus clock frequency;
a bus bridge coupled between the first and second buses and operable to allow communication between the CPU at the first bus clock frequency and one of the plurality of electronic devices at the second bus clock frequency;
a programmable logic device (PLD) coupled to a third bus in a third clock domain; and
a PLD bridge coupled between the second and third buses.
12. A device comprising:
a first circuit operable in a first clock domain;
a first communication media coupled to the first circuit and configured to transfer information;
a second circuit operable in a second clock domain;
a second communication media coupled to the second circuit and the first communication media, wherein the second communication media configured to transfer information; and
a communication circuit coupled to the first and second communication medium and configured to provide communication between the first and second circuits.
13. The device of claim 12, wherein the device includes a plurality of circuits deposited on an integrated circuit.
14. The device of claim 12, wherein the first circuit is a processor.
15. The device of claim 12, wherein the first clock domain provides a first programmable clock frequency.
16. The device of claim 15, wherein the frequency of the first programmable clock frequency can be selectively programmed.
17. The device of claim 12, wherein the first communication media is a bus.
18. The device of claim 12, wherein the information includes data.
19. The device of claim 12, wherein the information includes control signals.
20. The device of claim 12, wherein the second circuit is a programmable logic device.
21. The device of claim 20, wherein the programmable logic device further includes:
a plurality of logic cells having at least one programmable circuit arranged in a multiple dimensional array; and
at least one interconnector coupled to the plurality of the logic cells and configured to transfer information between the plurality of the logic cells.
22. The device of claim 12, wherein the second clock domain includes a second programmable clock frequency.
23. The device of claim 22, wherein the first programmable clock frequency has the same frequency of the second programmable clock frequency.
24. The device of claim 12, wherein the communication circuit is a bus bridge.
25. The device of claim 24, wherein the bus bridge transfers the information between the first and second clock domains.
US10/800,240 2000-06-12 2004-03-12 Bus architecture for system on a chip Abandoned US20040236893A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/800,240 US20040236893A1 (en) 2000-06-12 2004-03-12 Bus architecture for system on a chip

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US21109400P 2000-06-12 2000-06-12
US09/668,665 US6745369B1 (en) 2000-06-12 2000-09-22 Bus architecture for system on a chip
US10/800,240 US20040236893A1 (en) 2000-06-12 2004-03-12 Bus architecture for system on a chip

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/668,665 Continuation US6745369B1 (en) 2000-06-12 2000-09-22 Bus architecture for system on a chip

Publications (1)

Publication Number Publication Date
US20040236893A1 true US20040236893A1 (en) 2004-11-25

Family

ID=26905823

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/668,665 Expired - Lifetime US6745369B1 (en) 2000-06-12 2000-09-22 Bus architecture for system on a chip
US10/800,240 Abandoned US20040236893A1 (en) 2000-06-12 2004-03-12 Bus architecture for system on a chip

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/668,665 Expired - Lifetime US6745369B1 (en) 2000-06-12 2000-09-22 Bus architecture for system on a chip

Country Status (3)

Country Link
US (2) US6745369B1 (en)
EP (1) EP1164494A1 (en)
JP (1) JP2002049576A (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7062589B1 (en) * 2003-06-19 2006-06-13 Altera Corporation Bus communication apparatus for programmable logic devices and associated methods
US20070067542A1 (en) * 2005-08-29 2007-03-22 Atmel Corporation Microcontroller architecture including a predefined logic area and customizable logic areas
US20070112993A1 (en) * 2004-06-04 2007-05-17 Tadashi Teranuma Data processor
US20070112991A1 (en) * 2001-04-20 2007-05-17 Frank Bahren System for transmitting data between two bus systems
US20070168740A1 (en) * 2006-01-10 2007-07-19 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for dumping a process memory space
US20070280396A1 (en) * 2006-05-31 2007-12-06 Broadcom Corporation Method and system for advance high performance bus synchronizer
US7827510B1 (en) 2002-06-07 2010-11-02 Synopsys, Inc. Enhanced hardware debugging with embedded FPGAS in a hardware description language
US20120084483A1 (en) * 2010-09-30 2012-04-05 Agarwala Sanjive Die expansion bus
US20120096200A1 (en) * 2010-10-19 2012-04-19 Samsung Electronics Co., Ltd. Bus system and operating method thereof
US20120221833A1 (en) * 2011-02-28 2012-08-30 Xilinx, Inc. Integrated circuit with programmable circuitry and an embedded processor system
US8612789B2 (en) 2011-01-13 2013-12-17 Xilinx, Inc. Power management within an integrated circuit

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6996656B2 (en) * 2002-10-31 2006-02-07 Src Computers, Inc. System and method for providing an arbitrated memory bus in a hybrid computing system
US7007126B2 (en) * 1998-02-13 2006-02-28 Intel Corporation Accessing a primary bus messaging unit from a secondary bus through a PCI bridge
WO2002033504A2 (en) * 2000-10-02 2002-04-25 Altera Corporation Programmable logic integrated circuit devices including dedicated processor components
US8103496B1 (en) 2000-10-26 2012-01-24 Cypress Semicondutor Corporation Breakpoint control in an in-circuit emulation system
US8160864B1 (en) 2000-10-26 2012-04-17 Cypress Semiconductor Corporation In-circuit emulator and pod synchronized boot
US6724220B1 (en) 2000-10-26 2004-04-20 Cyress Semiconductor Corporation Programmable microcontroller architecture (mixed analog/digital)
US8149048B1 (en) 2000-10-26 2012-04-03 Cypress Semiconductor Corporation Apparatus and method for programmable power management in a programmable analog circuit block
US8176296B2 (en) 2000-10-26 2012-05-08 Cypress Semiconductor Corporation Programmable microcontroller architecture
US7032066B2 (en) * 2001-09-20 2006-04-18 Renesas Technology Corp. Semiconductor memory unit
US8078970B1 (en) 2001-11-09 2011-12-13 Cypress Semiconductor Corporation Graphical user interface with user-selectable list-box
US8042093B1 (en) 2001-11-15 2011-10-18 Cypress Semiconductor Corporation System providing automatic source code generation for personalization and parameterization of user modules
US8069405B1 (en) 2001-11-19 2011-11-29 Cypress Semiconductor Corporation User interface for efficiently browsing an electronic document using data-driven tabs
US8103497B1 (en) 2002-03-28 2012-01-24 Cypress Semiconductor Corporation External interface for event architecture
US7308608B1 (en) 2002-05-01 2007-12-11 Cypress Semiconductor Corporation Reconfigurable testing system and method
US20050068987A1 (en) * 2003-09-24 2005-03-31 Schaik Carl Van Highly configurable radar module link
US7332976B1 (en) 2005-02-04 2008-02-19 Cypress Semiconductor Corporation Poly-phase frequency synthesis oscillator
US7400183B1 (en) 2005-05-05 2008-07-15 Cypress Semiconductor Corporation Voltage controlled oscillator delay cell and method
US8085067B1 (en) 2005-12-21 2011-12-27 Cypress Semiconductor Corporation Differential-to-single ended signal converter circuit and method
US8067948B2 (en) 2006-03-27 2011-11-29 Cypress Semiconductor Corporation Input/output multiplexer bus
US7945719B2 (en) * 2006-09-20 2011-05-17 Intel Corporation Controller link for manageability engine
US7737724B2 (en) 2007-04-17 2010-06-15 Cypress Semiconductor Corporation Universal digital block interconnection and channel routing
US8092083B2 (en) * 2007-04-17 2012-01-10 Cypress Semiconductor Corporation Temperature sensor with digital bandgap
US8130025B2 (en) 2007-04-17 2012-03-06 Cypress Semiconductor Corporation Numerical band gap
US8572297B2 (en) * 2007-04-17 2013-10-29 Cypress Semiconductor Corporation Programmable system-on-chip hub
US8026739B2 (en) 2007-04-17 2011-09-27 Cypress Semiconductor Corporation System level interconnect with programmable switching
US8040266B2 (en) 2007-04-17 2011-10-18 Cypress Semiconductor Corporation Programmable sigma-delta analog-to-digital converter
US9720805B1 (en) 2007-04-25 2017-08-01 Cypress Semiconductor Corporation System and method for controlling a target device
US8065653B1 (en) 2007-04-25 2011-11-22 Cypress Semiconductor Corporation Configuration of programmable IC design elements
US8266575B1 (en) 2007-04-25 2012-09-11 Cypress Semiconductor Corporation Systems and methods for dynamically reconfiguring a programmable system on a chip
US8049569B1 (en) 2007-09-05 2011-11-01 Cypress Semiconductor Corporation Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes
US9553590B1 (en) 2012-10-29 2017-01-24 Altera Corporation Configuring programmable integrated circuit device resources as processing elements
US10452392B1 (en) 2015-01-20 2019-10-22 Altera Corporation Configuring programmable integrated circuit device resources as processors
KR102368600B1 (en) * 2017-05-31 2022-03-02 현대자동차주식회사 I2c speed-up communication system and controlling method for transmitting data using heterogeneous protocols

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6173356B1 (en) * 1998-02-20 2001-01-09 Silicon Aquarius, Inc. Multi-port DRAM with integrated SRAM and systems and methods using the same
US6271681B1 (en) * 1997-02-20 2001-08-07 Altera Corporation PCI-compatible programmable logic devices
US6415348B1 (en) * 1999-08-23 2002-07-02 Advanced Micro Devices, Inc. Flexible microcontroller architecture
US6434636B1 (en) * 1999-10-31 2002-08-13 Hewlett-Packard Company Method and apparatus for performing high bandwidth low latency programmed I/O writes by passing tokens
US6509911B1 (en) * 1998-11-26 2003-01-21 International Business Machines Corporation Power management method and device for display devices
US6668299B1 (en) * 1999-09-08 2003-12-23 Mellanox Technologies Ltd. Software interface between a parallel bus and a packet network

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH021084A (en) * 1989-04-24 1990-01-05 Kenwood Corp One-chip microcomputer
US5504873A (en) * 1989-11-01 1996-04-02 E-Systems, Inc. Mass data storage and retrieval system
US5256912A (en) * 1991-12-19 1993-10-26 Sun Microsystems, Inc. Synchronizer apparatus for system having at least two clock domains
US5398325A (en) * 1992-05-07 1995-03-14 Sun Microsystems, Inc. Methods and apparatus for improving cache consistency using a single copy of a cache tag memory in multiple processor computer systems
JPH05341872A (en) * 1992-06-05 1993-12-24 Mitsubishi Electric Corp Data processor
US5309046A (en) 1992-09-30 1994-05-03 Intel Corporation Apparatus and method for product term allocation in programmable logic
US5592629A (en) * 1992-12-28 1997-01-07 At&T Global Information Solutions Company Apparatus and method for matching data rates to transfer data between two asynchronous devices
US5721882A (en) 1994-08-05 1998-02-24 Intel Corporation Method and apparatus for interfacing memory devices operating at different speeds to a computer system bus
US5892961A (en) 1995-02-17 1999-04-06 Xilinx, Inc. Field programmable gate array having programming instructions in the configuration bitstream
US5671400A (en) 1995-08-16 1997-09-23 Unisys Corporation Programmable bus interface unit data path
US5758131A (en) 1996-09-11 1998-05-26 Hewlett-Packard Company Bus adapter for synchronizing communications between two circuits running at different clock rates
US5909563A (en) * 1996-09-25 1999-06-01 Philips Electronics North America Corporation Computer system including an interface for transferring data between two clock domains
US5835752A (en) 1996-10-18 1998-11-10 Samsung Electronics Co. Ltd. PCI interface synchronization
US6078976A (en) 1997-06-24 2000-06-20 Matsushita Electric Industrial Co., Ltd. Bridge device that prevents decrease in the data transfer efficiency of buses
US5978869A (en) 1997-07-21 1999-11-02 International Business Machines Corporation Enhanced dual speed bus computer system
US6034542A (en) 1997-10-14 2000-03-07 Xilinx, Inc. Bus structure for modularized chip with FPGA modules
US6033441A (en) 1997-12-23 2000-03-07 Lsi Logic Corporation Method and apparatus for synchronizing data transfer
US6088751A (en) 1998-02-12 2000-07-11 Vlsi Technology, Inc. Highly configurable bus priority arbitration system
JPH11238030A (en) * 1998-02-20 1999-08-31 Mitsubishi Electric Corp Pci-pci bridge and its fast-in fast-out memory
US6134167A (en) 1998-06-04 2000-10-17 Compaq Computer Corporation Reducing power consumption in computer memory
US6279058B1 (en) 1998-07-02 2001-08-21 Advanced Micro Devices, Inc. Master isochronous clock structure having a clock controller coupling to a CPU and two data buses
US6064626A (en) 1998-07-31 2000-05-16 Arm Limited Peripheral buses for integrated circuit
US6311255B1 (en) 1999-04-29 2001-10-30 International Business Machines Corporation System and method for selectively restricting access to memory for bus attached unit IDs
US6564280B1 (en) 2000-05-01 2003-05-13 Advanced Micro Devices, Inc. Communication controller configurability for optimal resource usage

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6271681B1 (en) * 1997-02-20 2001-08-07 Altera Corporation PCI-compatible programmable logic devices
US6173356B1 (en) * 1998-02-20 2001-01-09 Silicon Aquarius, Inc. Multi-port DRAM with integrated SRAM and systems and methods using the same
US6509911B1 (en) * 1998-11-26 2003-01-21 International Business Machines Corporation Power management method and device for display devices
US6415348B1 (en) * 1999-08-23 2002-07-02 Advanced Micro Devices, Inc. Flexible microcontroller architecture
US6668299B1 (en) * 1999-09-08 2003-12-23 Mellanox Technologies Ltd. Software interface between a parallel bus and a packet network
US6434636B1 (en) * 1999-10-31 2002-08-13 Hewlett-Packard Company Method and apparatus for performing high bandwidth low latency programmed I/O writes by passing tokens

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070112991A1 (en) * 2001-04-20 2007-05-17 Frank Bahren System for transmitting data between two bus systems
US7840741B2 (en) * 2001-04-20 2010-11-23 Harman Becker Automotive Systems Gmbh System for transmitting data between two bus systems
US7827510B1 (en) 2002-06-07 2010-11-02 Synopsys, Inc. Enhanced hardware debugging with embedded FPGAS in a hardware description language
US20060190657A1 (en) * 2003-06-19 2006-08-24 Altera Corporation Bus communication apparatus for programmable logic devices and associated methods
US7350013B2 (en) * 2003-06-19 2008-03-25 Altera Corporation Bus communication apparatus for programmable logic devices and associated methods
US7062589B1 (en) * 2003-06-19 2006-06-13 Altera Corporation Bus communication apparatus for programmable logic devices and associated methods
US20070112993A1 (en) * 2004-06-04 2007-05-17 Tadashi Teranuma Data processor
US20070067542A1 (en) * 2005-08-29 2007-03-22 Atmel Corporation Microcontroller architecture including a predefined logic area and customizable logic areas
US20070168740A1 (en) * 2006-01-10 2007-07-19 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for dumping a process memory space
US8989331B2 (en) * 2006-05-31 2015-03-24 Broadcom Corporation Method and system for advance high performance bus synchronizer
US20070280396A1 (en) * 2006-05-31 2007-12-06 Broadcom Corporation Method and system for advance high performance bus synchronizer
US20120084483A1 (en) * 2010-09-30 2012-04-05 Agarwala Sanjive Die expansion bus
US8549463B2 (en) * 2010-09-30 2013-10-01 Texas Instruments Incorporated Die expansion bus
US8667195B2 (en) * 2010-10-19 2014-03-04 Samsung Electronics Co., Ltd. Bus-system including an interconnector, a master device, a slave device, and an operating method thereof
US20120096200A1 (en) * 2010-10-19 2012-04-19 Samsung Electronics Co., Ltd. Bus system and operating method thereof
US9021171B2 (en) 2010-10-19 2015-04-28 Samsung Electronics Co., Ltd. Bus system including a master device, a slave device, an interconnector coupled between the master device and the slave device, and an operating method thereof
US8612789B2 (en) 2011-01-13 2013-12-17 Xilinx, Inc. Power management within an integrated circuit
US20120221833A1 (en) * 2011-02-28 2012-08-30 Xilinx, Inc. Integrated circuit with programmable circuitry and an embedded processor system
CN103403701A (en) * 2011-02-28 2013-11-20 吉林克斯公司 Integrated circuit with programmable circuitry and an embedded processor system
US8667192B2 (en) * 2011-02-28 2014-03-04 Xilinx, Inc. Integrated circuit with programmable circuitry and an embedded processor system
US9454498B1 (en) 2011-02-28 2016-09-27 Xilinx, Inc. Integrated circuit with programmable circuitry and an embedded processor system

Also Published As

Publication number Publication date
JP2002049576A (en) 2002-02-15
EP1164494A1 (en) 2001-12-19
US6745369B1 (en) 2004-06-01

Similar Documents

Publication Publication Date Title
US6745369B1 (en) Bus architecture for system on a chip
EP1652058B1 (en) Switch/network adapter port incorporating selectively accessible shared memory resources
KR100805603B1 (en) Integrated circuit with flash memory
Cordan An efficient bus architecture for system-on-chip design
US6272582B1 (en) PCI-PCI bridge allowing controlling of a plurality of PCI agents including a VGA device
US20050091432A1 (en) Flexible matrix fabric design framework for multiple requestors and targets in system-on-chip designs
US7565461B2 (en) Switch/network adapter port coupling a reconfigurable processing element to one or more microprocessors for use with interleaved memory controllers
US8190828B1 (en) Embedded processor with dual-port SRAM for programmable logic
US6148357A (en) Integrated CPU and memory controller utilizing a communication link having isochronous and asynchronous priority modes
US20040022107A1 (en) Unidirectional bus architecture for SoC applications
US20090106531A1 (en) Field programmable gate array and microcontroller system-on-a-chip
US20010042147A1 (en) System-resource router
JP2005515548A (en) Configurable synchronous or asynchronous bus interface
JPH04350754A (en) Workstation including interface for data channel or similar data processing system
US7197575B2 (en) Switch/network adapter port coupling a reconfigurable processing element to one or more microprocessors for use with interleaved memory controllers
US6052754A (en) Centrally controlled interface scheme for promoting design reusable circuit blocks
US6954869B2 (en) Methods and apparatus for clock domain conversion in digital processing systems
EP1164490B1 (en) Re-configurable memory map for a system on a chip
JP3698324B2 (en) Workstation with direct memory access controller and interface device to data channel
US6377581B1 (en) Optimized CPU-memory high bandwidth multibus structure simultaneously supporting design reusable blocks
US20040064662A1 (en) Methods and apparatus for bus control in digital signal processors
US5765217A (en) Method and apparatus to perform bus reflection operation using a data processor
WO2010001515A1 (en) Bus arbitration device and navigation device using the same
JP2000339266A (en) Interface circuit

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION