This application claims priority under 35 U.S.C. §119 to Korean Patent Application No. 10-2010-0108125, filed on Nov. 2, 2010, in the Korean Intellectual Property Office (KIPO), the entire contents of which are incorporated herein by reference.
1. Technical Field
Example embodiments generally relate to data transmission. More particularly, example embodiments relate to an interface device and a system including the same.
2. Description of the Related Art
According to convergence which integrates computers, communications, etc., market demand is changing from existing application specific integrated circuit (ASIC) or application specific standard product (ASSP) to System-on-chip (SoC). In addition, miniaturization trends and high-performance requirements of information technology (IT) devices have been chief factors in development of SoC industries.
SoC is a technology-intensive semiconductor field, which includes various complex functions on one chip. Methods for interconnecting intelligent devices included in the chip are being implemented.
At least some example embodiments provide an interface device capable of reducing latency and overhead for connection of a master device and a slave device.
At least some example embodiments provide a system including the interface device.
According to at least some example embodiments, an interface device includes a transaction management unit, a buffer unit and a selection circuit. The transaction management unit selectively splits a transaction of a master device into a first sub-transaction and at least one remaining sub-transaction based on a size of the transaction. The buffer unit stores the at least one remaining sub-transaction. The selection circuit selects one of the first sub-transaction and an output of the buffer unit in response to a select control signal.
In at least some example embodiments, the interface device may further include a boundary check unit. The boundary check unit may receive the transaction and generate a check signal to the transaction management unit, the check signal indicating if the size of the transaction exceeds a reference value.
In at least some example embodiments, if the size of the transaction exceeds the reference value, the boundary check unit is configured to generate the check signal having a first logic level and the transaction management unit is configured to split the transaction into the first sub-transaction and at least one remaining sub-transaction.
In at least some example embodiments, if the size of the transaction is below the reference value, the boundary check unit is configured to generate the check signal having a second logic level and the transaction management unit is configured to generate the transaction to the selection circuit without splitting.
In at least some example embodiments, the size of the transaction may correspond to a size of an address that is included in the transaction.
In at least some example embodiments, the buffer unit may include a plurality of registers storing the at least one remaining sub-transaction. The buffer unit is configured to sequentially output the remaining at least one sub-transaction to the selection circuit.
In at least some example embodiments, the interface device may further include a merging unit. The merging unit may merge at least one remaining sub-transaction provided sequentially from the buffer unit to generate a merged sub-transaction to the selection circuit.
In at least some example embodiments, the transaction may be one of a write transaction and a read transaction.
In at least some example embodiments, the write transaction may include a write address and a write data when the transaction is the write transaction.
In at least some example embodiments, the read transaction may include a read address and a read data when the transaction is the read transaction.
In at least some example embodiments, the interface device may operate according to Advanced Extensible Interface (AXI) protocol.
According to at least some example embodiments, a system includes a plurality of master devices, a plurality of slave devices, an interconnect device and a slave interface device. The interconnect device connects the plurality of master devices and the plurality of slave devices. The slave interface device is between each of the slave devices and the interconnect device and the slave interface device is configured to process data that is transmitted between at least one of the master devices and one of the plurality of slave devices associated with the slave interface device. The slave interface device includes a transaction management unit, a buffer unit and a selection circuit. The transaction management unit selectively splits a transaction from one of the plurality of master devices into a first sub-transaction and at least one remaining sub-transaction based on a size of the transaction. The buffer unit stores the at least one remaining sub-transaction. The selection circuit selects one of the head sub-transaction and an output of the buffer unit in response to a select control signal provided from one of the plurality of slave devices.
In at least some example embodiments, the plurality of master devices and the plurality of slave devices may be installed on one chip.
In at least some example embodiments, the interconnect device may include an arbiter and a routing unit. The arbiter may generate an arbitration signal based on a transaction from each of the plurality of master devices. The routing unit may select one of the transactions based on the arbitration signal.
In at least some example embodiments, the arbiter may generate the arbitration signal with Round-Robin scheduling.
In at least some example embodiments, the arbiter may generate the arbitration signal based on a priority of the transaction.
In at least some example embodiments, the system may further include a master interface device. The master interface device is between each of the plurality of master devices and the interconnect device and the master interface device is configured to process data transmitted between at least one of the slave devices and one of the plurality of master devices associated with the master interface device.
In at least some example embodiments, the master interface device may include an arbiter configured to generate an arbitration signal, a buffer and a selection circuit. The buffer may store packets from at least one of the plurality of the slave devices. The selection circuit may select one of the packets stored in the buffer to provide to the corresponding master device based on the arbitration signal.
In at least some example embodiments, each of the slave devices may be a memory device.
At least another example embodiment discloses a system configured to perform a transaction. The system includes at least one master device configured to transmit a transaction, the transaction identifying an address of an at least one slave device to receive the transaction, a slave interface device associated with the at least one slave device, the slave interface device configured to receive the transaction and divide the transaction into a plurality of sub-transactions based on a size of the address, and the at least one slave device configured to receive the plurality of sub-transactions.
According to at least some example embodiments, a transaction is split based on the size of the transaction. Therefore, latency and overhead can be decreased.
Illustrative, non-limiting example embodiments will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings.
Various example embodiments will be described more fully hereinafter with reference to the accompanying drawings, in which some example embodiments are shown. Inventive concepts may, however, be embodied in many different forms and should not be construed as limited to the example embodiments set forth herein. Rather, these example embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of inventive concepts to those skilled in the art. In the drawings, the sizes and relative sizes of layers and regions may be exaggerated for clarity. Like numerals refer to like elements throughout.
It will be understood that, although the terms first, second, third etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are used to distinguish one element from another. Thus, a first element discussed below could be termed a second element without departing from the teachings of inventive concepts. As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items.
It will be understood that when an element is referred to as being “connected” or “coupled” to another element, it can be directly connected or coupled to the other element or intervening elements may be present. In contrast, when an element is referred to as being “directly connected” or “directly coupled” to another element, there are no intervening elements present. Other words used to describe the relationship between elements should be interpreted in a like fashion (e.g., “between” versus “directly between,” “adjacent” versus “directly adjacent,” etc.).
The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of inventive concepts. As used herein, the singular forms “a,” “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “includes,” “including,” “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which inventive concepts belong. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
Referring to
In at least some example embodiments, the slave devices 50, 60, 70 may be memory devices. In addition, the master devices 20, 30, 40 may be processors.
The first master device 20 may transmit a first transaction TRAC1 to the interconnect device 100 such that the first transaction TRAC1 is transmitted to at least one of the slave devices 50, 60, 70. The second master device 30 may transmit a second transaction TRAC2 to the interconnect device 100 such that the second transaction TRAC2 is transmitted to at least one of the slave devices 50, 60, 70. The third master device 40 may transmit a third transaction TRAC3 to the interconnect device 100 such that the third transaction TRAC3 is transmitted to at least one of the slave devices 50, 60, 70.
Each of the first to third transactions TRAC1, TRAC2, TRAC3 may be a request burst or a corresponding data burst from each of the first to third master devices 20, 30, 40, respectively. Each of the first to third transactions TRAC1, TRAC2, TRAC3 may include accesses to at least one of the first to third slave devices 50, 60, 70.
Referring to
Here, the master interface device MI may be one of the master interface devices 300, 301, 302 in
Referring
Referring to
A half-clock after the time T5, read data RDATA is transmitted from the slave interface device SI to the master interface device MI. In other words, read data D(A0) corresponding to an address A0, read data D(A1) corresponding to an address A1, read data D(A2) corresponding to an address A2, and read data D(A3) corresponding to an address A3 are transmitted from the slave interface device SI to the master interface device MI. During transmission of the read data D(A3) from the slave interface device SI to the master interface device MI, a last read data signal RLAST, which is transmitted from the slave interface device SI to the master interface device MI, is maintained at a high-level. The last read data signal RLAST indicates that the currently transmitted data is last. During the transmission of the read data D(A0), D(A1), D(A2), D(A3), a read data validity signal RVALID is maintained at a high-level. In addition, a read data ready signal RREADY is maintained at a high-level, at least during the transmission of the read data D(A0), D(A1), D(A2), D(A3).
Referring to
At time T2, write data WDATA is transmitted from the master interface device MI to the slave interface device SI. In other words, write data D(A0) corresponding to an address A0, write data D(A1) corresponding to an address A1, write data D(A2) corresponding to an address A2, and write data D(A3) corresponding to an address A3 are transmitted from the master interface device MI to the slave interface device SI. During transmission of the write data D(A3) from the master interface device MI to the slave interface device SI, a last write data signal WLAST, which is transmitted from the master interface device MI to the slave interface device SI, is maintained at a high-level. The last write data signal WLAST indicates that the currently transmitted data is last. During the transmission of the write data D(A0), D(A1), D(A2), D(A3), a write data validity signal WVALID is maintained at a high-level. In addition, a write data ready signal WREADY is maintained at a high-level, at least during the transmission of the write data D(A0), D(A1), D(A2), D(A3). The write date ready signal WREADY indicates that the slave interface device SI is ready to receive the write data signal WDATA.
In addition, after the transmission of the last write data D(A3), the write data response signal BRESP, which is transmitted from the slave interface device SI to the master interface device MI, shows ‘OKAY’ to indicate that the write data D(A0), D(A1), D(A2), DA(3) are surely transmitted. During the appearance of ‘OKAY’, a response validity signal BVALID is maintained at a high-level. During the transmission of the write data D(A0), D(A1), D(A2) and the appearance of ‘OKAY’, a response ready signal BREADY is maintained at a high-level.
The system 10 described with reference to
Referring to
The arbiter 110 may receive first to third transactions TRAC1, TRAC2, TRAC3. The arbiter 110 may generate an arbitration signal AR based on the first to third transactions TRAC1, TRAC2, TRAC3. In response to the arbitration signal AR, the routing unit 120 may select one of the first to third transactions TRAC1, TRAC2, TRAC3 to provide a transaction TRS.
The arbiter 110 may receive the first to third transactions TRAC1, TRAC2, TRAC3, to generate the arbitration signal AR with Round Robin schedule. According to Round Robin schedule, the arbitration signal AR may be generated such that the first to third transactions TRAC1, TRAC2, TRAC3 are sequentially selected. In addition, the arbiter 110 may receive the first to third transactions TRAC1, TRAC2, TRAC3 to generate the arbitration signal AR with priority schedule. According to priority schedule, each of the transactions TRAC1, TRAC2, TRAC3 has corresponding priority. The arbitration signal AR may be generated so that the first to third transactions TRAC1, TRAC2, TRAC3 are selected based on the priorities. In some example embodiments, the arbiter 110 and the routing unit 120 may be placed with respect to each of the slave interface devices 200, 201, 202. The transaction TRS may be sequential transactions, when the arbiter 110 and the routing unit 120 are placed with respect to each of the slave interface devices 200, 201, 202 and the transactions TRAC1, TRAC2, TRAC3 require access to the same slave device.
Since the system 10 of
By multiple outstanding address function, when information is provided through an address line and a data line of a bus (channel), each address of the data is transmitted only once through the address line in parallel with the data transmission. Therefore, unoccupied terms between addresses can be used. By data interleaving function, when a number of master devices transmit data to one slave device, data is mixed at slave device's end. Therefore, bandwidth can be used more efficiently.
Referring to
The transaction management unit 210 receives a transaction TRS, and selectively splits the transaction TRS into a first sub-transaction STRH (first sub-transaction may also be referred to as a first sub-transaction) and at least one remaining sub-transaction STRR1, STRR2, STRR3 based on a size of the transaction TRS. The transaction TRS may be one of the first to third transactions TRAC1, TRAC2, TRAC3 selected by the arbiter 110 and the routing unit 120 in
The boundary check unit 220 may receive the transaction TRS to check whether the size of the received transaction TRS exceeds a predetermined reference value. Then the boundary check unit 220 may provide a check signal CS for the transaction management unit 210. The check signal may indicate whether the size of the received transaction TRS exceeds the predetermined reference value. In accordance with the level of the check signal CS, the transaction management unit 210 may split the received transaction TRS into a first sub-transaction and at least one remaining sub-transactions, or may provide the received transaction TRS for the selection circuit 240 without splitting.
For example, when the size of the received transaction TRS exceeds the predetermined reference value, the check signal CS may have a first logic level (high-level). In response to the check signal CS having a high-level, the transaction management unit 210 splits the transaction TRS into the first sub-transaction STRH and at least one remaining sub-transactions STRR1, STRR2, STRR3. The number of the remaining sub-transactions STRR1, STRR2, STRR3 may be determined based on the predetermined reference value and the size of the transaction TRS.
For example, when the size of the received transaction TRS is below the predetermined reference value, the check signal CS may have a second logic level (low-level). In response to the check signal CS having a low-level, the transaction management unit 210 provides the transaction TRS for the selection circuit 240 without splitting. In this case, only the first sub-transaction STRH may be provided for the selection circuit 240.
When the size of the received transaction TRS exceeds the predetermined reference value, the at least one remaining sub-transactions are stored in the buffer unit 230. The buffer unit 230 includes a plurality of registers 231, 232, 233. Each of the registers 231, 232, 233 stores each of the remaining sub-transactions STRR1, STRR2, STRR3. The registers 231, 232, 233 are shift-queuing registers. Therefore, when the sub-transaction STRR1 is output from the register 231, the sub-transaction STRR2 stored in the register 232 is stored in the register 231. In other words, the buffer unit 230 may output the remaining sub-transactions STRR1, STRR2, STRR3 in sequence.
In response to a select control signal SCON from the slave device, the selection circuit 240 selects the first sub-transaction STRH or output of the buffer unit 230 to provide a result SO to the slave device. Since the first sub-transaction STRH and the remaining sub-transaction STRR1, STRR2, STRR3 are split from the transaction TRS, each of the first sub-transaction STRH and the remaining sub-transaction STRR1, STRR2, STRR3 may include a plurality of data transmissions, respectively. Therefore data interleaving can be performed by controlling the select control signal S CON. In detail, output timing of the data transmissions included in the first sub-transaction and the remaining sub-transaction can be controlled by controlling the logic level of the select control signal SCON, for data interleaving. The selection circuit 240 can be realized as a multiplexer, or other circuit devices functioning multiplexing.
Referring to
The slave interface device 200b of
The merging unit 250 merges the remaining sub-transactions STRR1, STRR2, STRR3, which are output of the buffer unit 230, to provide a merged sub-transaction MSTR for the selection circuit 240. When the number of the remaining sub-transactions STRR1, STRR2, STRR3 is increased, it may affect the system 10 as an overhead. Therefore, when the remaining sub-transactions STRR1, STRR2, STRR3 are merged into the merged sub-transaction MSTR, the overhead affecting the system 10 may be decreased. Since the remaining sub-transactions STRR1, STRR2, STRR3 are split from the transaction TRS, the remaining sub-transactions STRR1, STRR2, STRR3 may have consecutive addresses. Therefore, the remaining sub-transactions STRR1, STRR2, STRR3 can be merged into the merged sub-transaction MSTR. The number of the remaining sub-transactions STRR1, STRR2, STRR3 may be changed according to the size of the address of the received transaction TRS. Therefore, the merged sub-transaction MSTR may have a size corresponding to size of the address of the received transaction TRS.
In the description with reference to
Referring to
In
Referring to
A master interface device 300a may be one of the master interface devices 300, 301, 302 in
Referring to
The buffer unit 310 includes a plurality of registers 311, 312, 313, 314. Each of the plurality of registers 311, 312, 313, 314 respectively stores packets, i.e., PKT11 and PKT21, PKT12 and PKT22, PKT13 and PKT23, PKT14 and PKT24. Here, the packets PKT11, PKT12, PKT13 and PKT14 may be provided by the slave device 50. In addition, the packets PKT21, PKT22, PKT23 and PKT24 may be provided by the slave device 60.
The arbiter 330 generates an arbitration signal ARS according to the state of one of the master interface devices 300, 301, 302 in
Referring to
In other words, the sub-transaction may be composed of packets in the interface devices and systems according to example embodiments.
In
Referring to
Referring to
Referring to
Referring to
In description with reference to the
As described above, according to example embodiments, the interface device and the system may split the transaction according to the size of address included the transaction. In addition, the interface device and the system may merge the split transactions. Therefore, it is possible to decrease latency and system overhead resulting from the size of the transaction.
The interface device and the system according to example embodiments can be applied to system on chip (SoC).
The foregoing is illustrative of example embodiments and is not to be construed as limiting thereof. Although a few example embodiments have been described, those skilled in the art will readily appreciate that many modifications are possible in example embodiments without materially departing from the novel teachings and advantages of inventive concepts. Accordingly, all such modifications are intended to be included within the scope of inventive concepts as defined in the claims. Therefore, it is to be understood that the foregoing is illustrative of various example embodiments and is not to be construed as limited to the specific example embodiments disclosed, and that modifications to the disclosed example embodiments, as well as other example embodiments, are intended to be included within the scope of the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
10-2010-0108125 | Nov 2010 | KR | national |