KR100485691B1 - Conflict prevention method of synchronous data bus - Google Patents

Conflict prevention method of synchronous data bus Download PDF

Info

Publication number
KR100485691B1
KR100485691B1 KR10-2002-0072315A KR20020072315A KR100485691B1 KR 100485691 B1 KR100485691 B1 KR 100485691B1 KR 20020072315 A KR20020072315 A KR 20020072315A KR 100485691 B1 KR100485691 B1 KR 100485691B1
Authority
KR
South Korea
Prior art keywords
control signal
clock
data bus
collision
output enable
Prior art date
Application number
KR10-2002-0072315A
Other languages
Korean (ko)
Other versions
KR20040043879A (en
Inventor
정경아
Original Assignee
(주)씨앤에스 테크놀로지
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 (주)씨앤에스 테크놀로지 filed Critical (주)씨앤에스 테크놀로지
Priority to KR10-2002-0072315A priority Critical patent/KR100485691B1/en
Publication of KR20040043879A publication Critical patent/KR20040043879A/en
Application granted granted Critical
Publication of KR100485691B1 publication Critical patent/KR100485691B1/en

Links

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
    • G06F13/4059Coupling between buses using bus bridges where the bridge performs a synchronising function where the synchronisation uses buffers, e.g. for speed matching between buses
    • 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/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Logic Circuits (AREA)

Abstract

본 발명은 동기 데이터 버스의 충돌 방지 방법에 관한 것으로서, 더 상세하게는 3상태 버퍼의 출력 이네이블 제어신호를 클록 주기의 일부분 동안으로 제한함으로써 동기 데이터 버스의 충돌을 막아 전력소비를 줄일 수 있는 동기 데이터 버스의 충돌 방지 방법에 관한 것이다.The present invention relates to a collision avoidance method of a synchronous data bus, and more particularly, to restrict the output enable control signal of a three-state buffer to a part of a clock cycle to prevent a collision of the synchronous data bus, thereby reducing power consumption. An anti-collision method of a data bus is provided.

본 발명은 IC 구조의 각 블록들 내에서 일정 제어신호에 의하여 공통신호를 드라이브하기 위해 사용되는 3상태 버퍼가, 클록에 동기되게 발생되는 출력 이네이블 제어신호로 각 블록의 드라이브 여부를 좌우하는 방법에 있어서; 상기 출력 이네이블 제어신호의 주기를 클록 주기의 일부분 동안으로 한정하는 방법 또는 상기 출력 이네이블 제어신호의 주기를 클록의 양주기(positive)나 음주기(negative) 동안으로 한정하는 방법으로, 상기 공통신호를 구동하는 출력 이네이블 제어신호에 클록 정보를 포함시켜 드라이빙 on/off가 바뀌는 부분에서 발생하는 공통신호의 충돌을 방지함을 특징으로 하는 동기 데이터 버스의 충돌 방지 방법을 특징으로 한다.The present invention relates to a method in which a three-state buffer used to drive a common signal by a constant control signal in each block of an IC structure determines whether each block is driven by an output enable control signal generated in synchronization with a clock. To; A method of limiting a period of the output enable control signal to a part of a clock period or a method of limiting a period of the output enable control signal to a positive or negative period of a clock; A method of preventing a collision of a synchronous data bus is provided by including clock information in an output enable control signal for driving a signal to prevent a collision of a common signal occurring at a portion where driving on / off is changed.

Description

동기 데이터 버스의 충돌 방지 방법{Conflict prevention method of synchronous data bus}Conflict prevention method of synchronous data bus

본 발명은 동기 데이터 버스의 충돌 방지 방법에 관한 것으로서, 더 상세하게는 3상태 버퍼의 출력 이네이블 제어신호를 클록 주기의 일부분 동안으로 제한함으로써 동기 데이터 버스의 충돌을 막아 전력소비를 줄일 수 있는 동기 데이터 버스의 충돌 방지 방법에 관한 것이다.The present invention relates to a collision avoidance method of a synchronous data bus, and more particularly, to restrict the output enable control signal of a three-state buffer to a part of a clock cycle to prevent a collision of the synchronous data bus, thereby reducing power consumption. An anti-collision method of a data bus is provided.

일반적인 IC의 구조에서 데이터 버스(data bus)와 같이 공통으로 사용되는 신호들은 각 블록들 내에서 일정 제어신호에 의하여 드라이브된다.In the structure of a general IC, signals commonly used such as a data bus are driven by a certain control signal in each block.

이러한 방식을 사용하기 위해서는 MUX를 이용하거나 3상태 버퍼(tri-state buffer)를 이용해야 하는데, MUX를 이용하는 방식은 블록이 많고, 데이터 버스의 액세스 타임(access time, 접근시간)이 빠를 경우 한계가 있으므로 대부분의 경우 3상태 버퍼를 이용한다.In order to use this method, it is necessary to use MUX or tri-state buffer, but the method using MUX has a lot of blocks and limits when the access time of data bus is fast. In most cases, a tri-state buffer is used.

3상태 버퍼는 출력 이네이블(enable) 제어신호를 on/off 함으로써 각 블록의 드라이브 여부가 좌우되며, 이때 제어신호(control signal)는 일반적으로 메인 클록(main clock)에 동기되게(synchronous) 발생된다.The tri-state buffer depends on whether each block is driven by turning on / off the output enable control signal, and the control signal is generally generated synchronously with the main clock. .

그러나 종래의 방식은 각 블록에서 발생하는 3상태의 제어신호가 서로간의 동기를 완벽하게 구현할 수 없기 때문에, 드라이빙 on/off가 바뀌는 부분에서 블록간의 충돌이 일어날 수 밖에 없다. However, in the conventional method, since the three-state control signals generated in each block cannot fully realize synchronization with each other, collision between blocks inevitably occurs at a portion where driving on / off is changed.

이러한 충돌구간은 대부분의 클록 주기 때마다 발생하며, 데이터 버스의 로드(load)가 많아질수록 많은 영향을 받게 된다.These collisions occur every clock cycle, and the greater the load on the data bus, the greater the impact.

특히 동작속도가 높은 경우에는 충돌구간이 짧다 하더라도 차지하는 비중이 커지게 된다.In particular, when the operating speed is high, the weighting ratio becomes large even if the collision section is short.

상기 종래 기술을 첨부된 도면을 참고로 좀 더 자세히 설명하면, 도 1은 일반적으로 사용되는 공통버스에 대한 드라이브 구조를 보여준다.Referring to the prior art in more detail with reference to the accompanying drawings, Figure 1 shows a drive structure for a commonly used common bus.

일정 신호를 기준으로 하여 해당되는 프로세서(예를 들어 10a)가 데이터 버스를 구동한다면 다른 프로세서(10b,10c)의 데이터 버스 출력은 고임피던스(high-impedance)가 되어야 한다.If a corresponding processor (eg, 10a) drives a data bus based on a certain signal, the data bus outputs of the other processors 10b and 10c should be high-impedance.

따라서 이러한 동작을 위해 출력 부분에 3상태 버퍼를 이용하고 있으며, 이러한 회로에서는 모든 프로세서(10a,10b,10c)의 출력이 고임피던스인 경우를 대비하여 버스 홀더(bus-holder,12)가 반드시 구비된다.Therefore, a tri-state buffer is used at the output part for this operation, and in such a circuit, a bus holder 12 must be provided in case the output of all the processors 10a, 10b, and 10c is high impedance. do.

버스 홀더(12)가 구비되지 않으면 모든 출력 드라이버가 고임피던스가 되었을 때 공통버스는 일정한 데이터값을 유지할 수 없어 충전(charge)이나 방전(discharge)이 되므로 하이(high) 혹은 로(low)가 아닌 중간값을 갖게 된다.If the bus holder 12 is not provided, the common bus cannot maintain a constant data value when all output drivers become high impedance, so that the bus is not charged high or low. It will have a median value.

이렇게 되면 해당 신호를 입력(input)으로 받고 있는 게이트들은 모두 많은 전류를 소모하게 되며, 이 값을 입력으로 가져감으로써 오동작을 하게 된다.In this case, all the gates receiving the signal as input consumes a lot of current, and malfunctions by bringing this value to the input.

도 1에서 데이터 버스 제어를 각 프로세서(10a,10b,10c)에서 결정하고, 이 경우 제어신호는 클록의 동기에 맞추어 만들어지는데, 같은 클록 소스라 할 지라도 각 프로세서 간의 클록의 시간차이는 어느 정도 존재할 수 밖에 없으며 이것은 주파수가 올라갈수록 차지하는 상대적인 비중이 커지게 된다.In FIG. 1, the data bus control is determined by each processor 10a, 10b, and 10c, and in this case, the control signal is made in synchronization with the clock. Even if the same clock source exists, there may be some time difference between clocks between the processors. There is only this and the higher the frequency, the greater the relative weight.

또한 같은 시간에 3상태 버퍼의 의 출력이 이네이블되었다 하더라도 버스 내의 비트 데이터들은 서로 다른 부하 전기용량(load capacitance)과 전이 시간(transition time)에 따라 제각기 다른 스위칭 타임(switching time)을 갖게 된다.Also, even if the output of the tri-state buffer is enabled at the same time, the bit data in the bus will have different switching times according to different load capacitances and transition times.

전이 시간의 경우, 1에서 0으로(1 -> 0) 변하는 강하 시간(falling time)과 0에서 1로(0 -> 1) 변하는 상승 시간(rising time)이 서로 다르며, 또한 고임피던스로 변하는 시간이 다르다.For transition time, the falling time that varies from 1 to 0 (1-> 0) and the rising time that varies from 0 to 1 (0-> 1), and also the time that changes to high impedance This is different.

이로 인하여 전 클록에서 출력 노드를 구동하던 3상태 버퍼가 고임피던스가 되는 시점보다 현재 클록에서 출력 노드를 구동하려는 3상태 버퍼가 on되는 시점이 빠를 수 있게 된다.As a result, the tri-state buffer that drives the output node at the current clock is turned on earlier than the tri-state buffer driving the output node at all clocks has high impedance.

따라서 두 프로세서에서 공통버스를 동시에 드라이브하는 부분이 발생하게 된다.As a result, the two buses simultaneously drive the common bus.

위와 같은 이유로 인하여 도 2에서와 같이 공통버스를 갖는 대부분의 신호들은 데이터 충돌(data conflict) 부분이 존재하게 된다.For the above reason, as shown in FIG. 2, most signals having a common bus have a data conflict portion.

도시된 바와 같이 모든 프로세서는 같은 클록 에지(clock edge) 시간에 데이터 버스를 on/off하지만 상기한 신호들간의 지연(delay) 차이에 의하여 충돌구간이 존재한다.As shown, all processors turn on / off the data bus at the same clock edge time, but there is a collision section due to the delay difference between the signals.

이것을 피하기 위해서는 3상태 버퍼를 사용하지 않고 MUX를 통하여 버스 제어를 하면 되지만, 이 방법은 빠른 속도에서 동작하는 회로에서, 데이터 버스와 같이 많은 종류의 프로세서가 구동하는 버스에는 적합하지 않는 방법이다.To avoid this, you can control the bus via MUX without using a tri-state buffer, but this method is not suitable for buses driven by many kinds of processors, such as data buses, in high-speed circuits.

이렇게 충돌구간이 존재하게 되면 아래에서 설명하는 바와 같이 전력소모가 커질 뿐만 아니라 원하는 시점에서 드라이빙이 불가능해 진다.The presence of a collision section not only increases power consumption as described below, but also makes driving impossible at a desired point in time.

도 2의 구간에서 데이터 버스의 스위칭 시점은 데이터 버스2가 드라이빙을 시작하는 시점에 의해 결정되기 보다 데이터 버스1이 끊어지는 시점에 의해 좌우 됨을 알 수 있다.It can be seen that the switching time of the data bus in the section of FIG. 2 depends on the time when the data bus 1 is disconnected rather than the time when the data bus 2 starts driving.

일반적으로 MOS가 한 노드의 값을 충전이나 방전하기 위해서 소비하는 전류의 대부분은 스위칭 전류(switching current)가 차지한다.In general, most of the current MOS consumes to charge or discharge a node's value is taken up by switching current.

도 3a에서 출력노드가 0에서 1로(0 -> 1) 값이 변하기 위해서 입력노드는 1에서 0으로( 1-> 0) 바뀌어야 한다.In FIG. 3A, in order for the output node to change from 0 to 1 (0-> 1), the input node must change from 1 to 0 (1-> 0).

즉, 입력이 0으로 바뀌면 PMOS(PM)가 턴 온(turn on) 되고, PMOS(PM)를 통해 전류가 흘러 출력노드가 전원전압(VDD)이 될 때까지 캐퍼시터(C)에 충전이 이루어 진다.That is, when the input is changed to 0, the PMOS (PM) is turned on, and the capacitor C is charged until the current flows through the PMOS (PM) and the output node becomes the power supply voltage (VDD). .

출력노드가 전원전압(VDD)이 되면 PMOS(PM)는 드레인과 소스의 전압차가 없으므로 PMOS(PM)는 턴 오프 되고 버퍼는 더 이상 전류소모를 하지 않게 된다.When the output node becomes the power supply voltage VDD, since the PMOS PM has no voltage difference between the drain and the source, the PMOS PM is turned off and the buffer no longer consumes current.

그러나, 도 2에서 보이는 충돌구간은 전력소비 면에서 많은 손해를 만들어내게 된다.However, the collision section shown in FIG. 2 generates a lot of damages in terms of power consumption.

예를 들어 데이터 출력1과 데이터 버스2가 충돌하는 구간에서, 데이터 버스1이 하이를 구동하고 데이터버스2가 로를 구동한다고 하면 도 3b와 같은 현상이 나타난다.For example, if data bus 1 drives high and data bus 2 drives a furnace in a section where data output 1 and data bus 2 collide, a phenomenon as shown in FIG. 3B occurs.

미설명 부호 NM은 NMOS이다.Reference numeral NM denotes an NMOS.

도 3b의 TRI1과 TRI2는 일반적인 3상태 버퍼의 MOS 레벨 회로이다.TRI1 and TRI2 in FIG. 3B are MOS level circuits of a typical tri-state buffer.

도시된 바와 같이 새로운 데이터를 드라이브하려는 3상태 버퍼(TRI2)는 실제 부하 전기용량(load capacitance) 외에 TRI1의 PMOS(PM1)에 흐르는 전류까지 드라이브해야 한다.As shown, the tri-state buffer TRI2 to drive new data must drive up to the current flowing in the PMOS PM1 of TRI1 in addition to the actual load capacitance.

즉, 충돌구간은 두개의 드라이버가 하이와 로를 동시에 드라이브하는 부분이므로 도 3b에서 일점쇄선 부분의 MOS(PM1,NM2)가 모두 on이 되어 있는 상태가 된다.That is, since the collision section is a portion in which two drivers drive high and low at the same time, the MOSs PM1 and NM2 of the dashed-dotted line portion are both turned on in FIG. 3B.

따라서 굵은 실선과 같이 전류가 흐를 수 있는 경로(path)가 생기므로 실제 동작을 위한 스위칭 전류와 비교할 수 없이 많은 양의 단락전류(short circuit current)가 발생하게 된다.As a result, a path through which current flows, such as a thick solid line, generates a large amount of short circuit current that cannot be compared with a switching current for actual operation.

이 전류는 드라이브가 겹치는 시간이 길면 길수록 많게 된다.This current increases the longer the drive overlaps.

대부분의 경우 충돌구간은 비교적 짧은 시간으로 되어있으나, 동작 주파수가 높아질수록 이 충돌구간에서 일어나는 손실은 치명적이게 된다.In most cases, the collision section is relatively short, but as the operating frequency increases, the loss in this collision section becomes fatal.

상술한 문제점을 달성하기 위하여 안출된 본 발명의 목적은, 3상태 버퍼의 출력 이네이블 제어신호를 클록 주기의 일부분 동안으로 제한함으로써, 실제동작에는 영향을 주지 않으면서 충돌을 막아 전력소비를 줄일 수 있는 동기 데이터 버스의 충돌 방지 방법을 제공하는데 있다.An object of the present invention devised to achieve the above-mentioned problem is to limit the output enable control signal of the tri-state buffer to a part of a clock period, thereby preventing collisions and reducing power consumption without affecting actual operation. An anti-collision method of a synchronous data bus is provided.

상술한 목적을 달성하기 위하여 본 발명은, IC 구조의 각 블록들 내에서 일정 제어신호에 의하여 공통신호를 드라이브하기 위해 사용되는 3상태 버퍼가, 클록에 동기되게 발생되는 출력 이네이블 제어신호로 각 블록의 드라이브 여부를 좌우하는 방법에 있어서; 상기 출력 이네이블 제어신호의 주기를 클록 주기의 일부분 동안으로 한정하는 방법 또는 상기 출력 이네이블 제어신호의 주기를 클록의 양주기(positive)나 음주기(negative) 동안으로 한정하는 방법으로, 상기 공통신호를 구동하는 출력 이네이블 제어신호에 클록 정보를 포함시켜 드라이빙 on/off가 바뀌는 부분에서 발생하는 공통신호의 충돌을 방지함을 특징으로 하는 동기 데이터 버스의 충돌 방지 방법을 제공하고자 한다.In order to achieve the above object, the present invention provides a three-state buffer used for driving a common signal by a constant control signal in each block of the IC structure, wherein the three-state buffer is an output enable control signal generated in synchronization with a clock. What is claimed is: 1. A method of controlling whether a block is driven; A method of limiting a period of the output enable control signal to a part of a clock period or a method of limiting a period of the output enable control signal to a positive or negative period of a clock; The present invention provides a method of preventing a collision of a synchronous data bus by including clock information in an output enable control signal for driving a signal to prevent a collision of a common signal occurring at a portion where driving on / off is changed.

삭제delete

이하 본 발명의 실시예에 대하여 첨부된 도면을 참고로 그 구성 및 작용을 설명하기로 한다.Hereinafter, the configuration and operation of the present invention will be described with reference to the accompanying drawings.

도 4에서는 3상태 버퍼를 on/off하는 제어신호를 클록과 논리곱(AND)하여 출력 이네이블을 만드는 것을 개념적으로 나타낸 것으로, 이 외에도 구성할 수 있는 회로는 다양하게 가능하다.4 conceptually illustrates an output enable by ANDing a control signal for turning on / off a three-state buffer with a clock. In addition, various circuits may be configured.

즉, 도 4에서는 종래 클록의 한 주기동안 데이터를 드라이브하던 방식을 양주기(positive) 혹은 음주기(negative) 동안에만 데이터를 드라이브하는 방식으로 변경됨을 보여준다.That is, FIG. 4 shows that the method of driving data for one period of the conventional clock is changed to a method of driving data only during a positive period or a negative period.

이렇게 클록과 논리곱(AND) 혹은 부정논리곱(NAND)하여 출력 이네이블 신호를 만들게 되면 버스 드라이브가 시작되는 클록 에지와 끝나는 에지가 서로 다르므로 충돌구간은 존재하지 않게 된다.When the output enable signal is generated by AND and NOR, the clock edge is different from the clock edge at which the bus drive starts and the edge does not exist.

예를 들어, 도 4에서와 같이 클록 양주기 동안에만 데이터를 드라이브하면 3상태 버퍼의 출력은 클록의 끝모서리(falling edge)에서 고임피던스가 되고, 음주기 동안 버스 홀더(12)가 기존의 데이터를 유지한다.For example, as shown in FIG. 4, if the data is driven only during the clock cycle, the output of the tri-state buffer becomes high impedance at the falling edge of the clock, and the bus holder 12 causes the existing data during the drinking period. Keep it.

실제로 3상태 버퍼가 출력 노드를 스위칭하기 위해 전류를 소모하는 것은 도 3a에서 설명한 바와 같이 클록의 상승 에지(rising edge) 즉, 드라이빙 시작 시점이며 버스 홀더에 의하여 출력값이 유지되어 있는 상황에서는 더 이상 3상태 버퍼가 하는 역할이 없으므로 출력 이네이블이 off되어도 된다.In practice, the tri-state buffer draws current to switch the output node to the rising edge of the clock, as described in Figure 3a. The output buffer can be turned off because there is no role for the status buffer.

이렇게 되면 다음 클록의 상승 에지에서는 다른 모든 3상태 버퍼가 off이므로 충돌이 발생하지 않게 되는 것이다.This prevents collisions because all other three-state buffers are off on the rising edge of the next clock.

단, 위와 같은 상황이 되기 위해서는 출력 노드에 버스 홀더(12)가 구비되어야 하는데, 기존의 3상태 버퍼로 구성된 회로에 버스 홀더가 구비되어 있으므로 상기 버스 홀더가 추가적으로 요구되지 않는다.However, in order to achieve the above situation, the bus holder 12 should be provided at the output node. Since the bus holder is provided in a circuit composed of the existing three-state buffer, the bus holder is not additionally required.

또한 도 4의 경우 논리곱(AND) 혹은 부정논리곱(NAND)하는 신호가 반드시 클록과 동기가 될 필요는 없다.In addition, in the case of FIG. 4, the AND or NAND signal is not necessarily synchronized with the clock.

즉, 좀더 빠른 액세스(access)를 원할 시에는 그 구간이 앞당겨 질 수 있다.That is, the section can be advanced if you want faster access.

도 5는 본 발명에 의해 개선된 회로에서 동작하는 데이터 버스의 동작을 보여준다.5 shows the operation of a data bus operating in a circuit improved by the present invention.

도 2에 비하여 데이터 버스를 이네이블하는 제어신호가 클록 한 주기의 반으로 줄었으며 따라서 데이터 출력1이 고임피던스로 되는 시점이 데이터 출력2가 드라이브를 시작하는 시점보다 앞서게 된다.Compared to FIG. 2, the control signal for enabling the data bus is reduced by half of one clock cycle, so that the time when the data output 1 becomes high impedance is earlier than the time when the data output 2 starts the drive.

이렇게 됨으로써 도 2에서와 같이 충돌구간은 존재하지 않는다.As a result, there is no collision section as shown in FIG.

최종적인 데이터값을 비교해보면 도 2에서 데이터 버스 드라이브의 시작 시점은 클록의 끝모서리(falling edge)인 반면, 본 발명의 경우 상승 에지(rising edge)에서 드라이브를 시작하므로 데이터 전달이 늦어진다는 단점이 있으나, 도 2에서와 같이 데이터가 충돌하는 구간을 생각하면 실제 데이터가 스위칭 되는 시점은 큰 차이가 없게 되며, 또한 일반적인 고임피던스 회로의 경우 데이터를 읽어가는 시점이 드라이브 기준으로 1 클록 이후이므로 도 5에서 네거티브 에지(negative edge)가 된다.Comparing the final data values, the starting point of the data bus drive in FIG. 2 is the falling edge of the clock, whereas in the present invention, since the drive starts at the rising edge, the data transfer is delayed. However, when considering the period in which data collides, as shown in FIG. 2, the time point at which the actual data is switched does not have a large difference. Also, in the case of a general high impedance circuit, the time point at which the data is read is one clock or later based on the drive, FIG. 5. Becomes the negative edge at.

따라서 실제 동작에는 영향을 주지 않으며, 필요시 도 6에서 후술하는 바와 같이 이네이블 제어신호를 앞부분으로 시프팅(shifting) 함으로써 좀 더 빠른 액세스를 할 수 있다.Therefore, it does not affect the actual operation, and if necessary, a faster access can be achieved by shifting the enable control signal to the front as described later in FIG. 6.

단, 이 경우에는 도 6a와 같이 제어신호와 논리곱(AND) 하고자 하는 지연된 클록(delayed clock)의 위상이 제어신호의 지연보다 늦어야 한다.In this case, however, the phase of the delayed clock to be ANDed with the control signal should be later than the delay of the control signal as shown in FIG. 6A.

만약 도 6b의 그림과 같이 제어신호의 지연보다 빠른 위상의 지연된 클록을 이용하게 되면 돌발사고(glitch)가 발생하게 되므로 바람직하지 않다.If a delayed clock of a phase earlier than the delay of the control signal is used as shown in FIG. 6B, glitches occur, which is not preferable.

이러한 제한요소가 자칫 성능(performance)을 떨어뜨리는 것으로 생각하기 쉬우나, 도 6b에서와 같이 지연된 클록에 대하여 많은 지연을 갖는 이네이블 제어신호가 존재한다면, 그것은 일반적인 회로에서 그만큼 많은 시간동안 충돌이 발생하며 드라이브 되는 속도가 늦다는 것을 의미한다.It is easy to think that this limiting factor is likely to degrade performance, but if there is an enable control signal with a large delay for the delayed clock as shown in Fig. 6b, it will crash for that much time in a typical circuit. This means that the drive speed is slow.

따라서 본 발명에 따른 정도의 지연을 갖는 게이티드 제어(gated-control)신호는 실제 동작에 거의 영향을 주지 않는다.Thus, a gated-controlled signal with a degree of delay in accordance with the present invention has little effect on actual operation.

여러 블록이나 프로세서들에서 구동하는 공통 신호의 경우 종래의 구조로는 블록간의 신호가 충돌하는 구간이 존재하며 이로 인하여 필요없는 전력 소모가 많아진다.In the case of a common signal driven by several blocks or processors, there is a section in which signals between blocks collide with each other in the conventional structure, thereby increasing unnecessary power consumption.

본 발명에서는 공통신호를 드라이브하는 3상태 버퍼의 이네이블 신호를 클록 주기의 일부분으로 제한하여 충돌구간을 제거함으로써, 회로의 큰 수정없이 동작의 성능에 영향을 주지 않으면서, 전력소비를 줄일 수 있게 된다.In the present invention, the enable signal of the tri-state buffer driving the common signal is limited to a part of the clock cycle to eliminate the collision section, thereby reducing power consumption without affecting the performance of the operation without significant modification of the circuit. do.

도 1은 일반적인 공통버스의 드라이브 구조도이다.1 is a drive structure diagram of a common bus.

도 2는 도 1에 의한 파형도이다.2 is a waveform diagram of FIG. 1.

도 3a와 도 3b는 종래 기술의 문제점을 설명하기 위한 회로도로서 도 3a는 버퍼의 MOS 회로도이고, 도 3b는 3상태 버퍼의 MOS 레벨 회로도이다.3A and 3B are circuit diagrams for explaining problems of the prior art. FIG. 3A is a MOS circuit diagram of a buffer, and FIG. 3B is a MOS level circuit diagram of a three-state buffer.

도 4는 본 발명의 일실시예에 따른 동기 데이터 버스의 충돌 방지 방법을 나타내는 회로도이다.4 is a circuit diagram illustrating a collision avoidance method of a synchronous data bus according to an exemplary embodiment of the present invention.

도 5는 본 발명의 일실시예에 의한 데이터 버스의 출력 파형도이다.5 is an output waveform diagram of a data bus according to an embodiment of the present invention.

도 6a와 도 6b는 본 발명의 다른 실시예에 의한 데이터 버스의 출력 파형도이다.6A and 6B are output waveform diagrams of a data bus according to another embodiment of the present invention.

<도면의 주요부분에 대한 부호의 설명><Description of the symbols for the main parts of the drawings>

10a,10b,10c : 프로세서 12 : 버스 홀더10a, 10b, 10c: processor 12: bus holder

20 : AND 게이트 C: 캐퍼시터20: AND gate C: capacitor

I1,I2 : 인버터 NM,NM1,NM2 : NMOSI1, I2: Inverter NM, NM1, NM2: NMOS

PM,PM1,PM2 : PMOS TRI1,TRI2 : 3상태 버퍼의 MOS 회로PM, PM1, PM2: PMOS TRI1, TRI2: MOS circuit with three-state buffer

Claims (4)

IC 구조의 각 블록들 내에서 일정 제어신호에 의하여 공통신호를 드라이브하기 위해 사용되는 3상태 버퍼가, 클록에 동기되게 발생되는 출력 이네이블 제어신호로 각 블록의 드라이브 여부를 좌우하는 방법에 있어서;A method of controlling whether each block is driven by an output enable control signal generated in synchronization with a clock is a tri-state buffer used to drive a common signal by a constant control signal in each block of the IC structure; 상기 출력 이네이블 제어신호의 주기를 클록 주기의 일부분 동안으로 한정하는 방법 또는 상기 출력 이네이블 제어신호의 주기를 클록의 양주기(positive)나 음주기(negative) 동안으로 한정하는 방법으로, 상기 공통신호를 구동하는 출력 이네이블 제어신호에 클록 정보를 포함시켜 드라이빙 on/off가 바뀌는 부분에서 발생하는 공통신호의 충돌을 방지함을 특징으로 하는 동기 데이터 버스의 충돌 방지 방법.A method of limiting a period of the output enable control signal to a part of a clock period or a method of limiting a period of the output enable control signal to a positive or negative period of a clock; A method of preventing a collision of a synchronous data bus, characterized by including a clock information in an output enable control signal for driving a signal to prevent a collision of a common signal occurring at a portion where driving on / off is changed. (삭제)(delete) (삭제)(delete) (삭제)(delete)
KR10-2002-0072315A 2002-11-20 2002-11-20 Conflict prevention method of synchronous data bus KR100485691B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0072315A KR100485691B1 (en) 2002-11-20 2002-11-20 Conflict prevention method of synchronous data bus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0072315A KR100485691B1 (en) 2002-11-20 2002-11-20 Conflict prevention method of synchronous data bus

Publications (2)

Publication Number Publication Date
KR20040043879A KR20040043879A (en) 2004-05-27
KR100485691B1 true KR100485691B1 (en) 2005-04-27

Family

ID=37340284

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0072315A KR100485691B1 (en) 2002-11-20 2002-11-20 Conflict prevention method of synchronous data bus

Country Status (1)

Country Link
KR (1) KR100485691B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06242863A (en) * 1993-02-17 1994-09-02 Hitachi Ltd Semiconductor integrated circuit device
KR970051112A (en) * 1995-12-20 1997-07-29 김광호 Sink RAM with Dual Output Ports
KR20010026375A (en) * 1999-09-06 2001-04-06 윤종용 Circuit for preventing bus contention
US6346828B1 (en) * 2000-06-30 2002-02-12 Intel Corporation Method and apparatus for pulsed clock tri-state control

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06242863A (en) * 1993-02-17 1994-09-02 Hitachi Ltd Semiconductor integrated circuit device
KR970051112A (en) * 1995-12-20 1997-07-29 김광호 Sink RAM with Dual Output Ports
KR0172338B1 (en) * 1995-12-20 1999-03-30 김광호 Synchronous random access memory having dual output port
KR20010026375A (en) * 1999-09-06 2001-04-06 윤종용 Circuit for preventing bus contention
US6346828B1 (en) * 2000-06-30 2002-02-12 Intel Corporation Method and apparatus for pulsed clock tri-state control

Also Published As

Publication number Publication date
KR20040043879A (en) 2004-05-27

Similar Documents

Publication Publication Date Title
EP0212584B1 (en) Output circuit device with stabilized potential
EP0675601B1 (en) Circuit for enhancing logic transitions appearing on a line
US20080074151A1 (en) Dual-edge-triggered, clock-gated logic circuit and method
CN108322211B (en) Detection circuit and electronic system for output state of I/O interface circuit
JP2004056428A (en) Buffer circuit, buffer tree, and semiconductor device
US6356101B1 (en) Glitch removal circuitry
JPH09261031A (en) Output buffer circuit for semiconductor integrated circuit
EP0887935A1 (en) Noise isolation circuit
US20030001619A1 (en) Semiconductor integrated circuit
US20060273838A1 (en) Master latch circuit with signal level displacement for a dynamic flip flop
US7528630B2 (en) High speed flip-flop
KR100416379B1 (en) High-speed discharge-suppressed d flip-flop
JP2805466B2 (en) Memory address transition detection circuit
KR100485691B1 (en) Conflict prevention method of synchronous data bus
US6292038B1 (en) Smooth clock switching for power managed PCI adapters
JP3175683B2 (en) Output buffer circuit
KR100346002B1 (en) Register and latch circuits
US20120280737A1 (en) Signal delay circuit, clock transfer control circuit and semiconductor device having the same
US6694444B1 (en) System and method for reducing over-shoot and ringback by delaying input and establishing a synchronized pulse over which clamping is applied
US6825694B2 (en) Flip-flop circuit for use in electronic devices
US7405631B2 (en) Oscillating divider topology
JP2001186004A (en) Logic circuit
JP2518642B2 (en) Register circuit
KR100400042B1 (en) Complementary Pass transistor based Flip Flop
JP3565257B2 (en) Flip-flop circuit

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130424

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20140402

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160401

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20170403

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20180409

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20190401

Year of fee payment: 15