KR101311617B1 - Method and apparatus of address bus coding/decoding for low-power very large scale integration system - Google Patents

Method and apparatus of address bus coding/decoding for low-power very large scale integration system Download PDF

Info

Publication number
KR101311617B1
KR101311617B1 KR1020060020164A KR20060020164A KR101311617B1 KR 101311617 B1 KR101311617 B1 KR 101311617B1 KR 1020060020164 A KR1020060020164 A KR 1020060020164A KR 20060020164 A KR20060020164 A KR 20060020164A KR 101311617 B1 KR101311617 B1 KR 101311617B1
Authority
KR
South Korea
Prior art keywords
bit
value
bits
bus
current bus
Prior art date
Application number
KR1020060020164A
Other languages
Korean (ko)
Other versions
KR20070090447A (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 KR1020060020164A priority Critical patent/KR101311617B1/en
Publication of KR20070090447A publication Critical patent/KR20070090447A/en
Application granted granted Critical
Publication of KR101311617B1 publication Critical patent/KR101311617B1/en

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/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3243Power saving in microcontroller unit
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

본 발명은 어드레스 버스값의 비트 변화율을 최소화하여 VLSI 시스템의 전력 소모를 절감할 수 있는 어드레스 버스값의 코딩/디코딩 장치 및 방법에 대한 것으로서, 본 발명에 따른 저전력 대규모 집적 회로 시스템을 위한 어드레스 버스 코딩 방식은 현재 버스값을 입력받아 0과 1의 비트수를 비교하여 상기 현재 버스값을 선택적으로 비트 반전하고, 상기 선택적으로 비트 반전된 현재 버스값과 이전 버스값을 벡터적 연산한 후, 상기 벡터적 연산된 비트값에 상기 비트 반전 여부를 지시하는 비트 정보를 덧붙여 해당 버스로 전송하는 것을 특징으로 한다. 따라서 본 발명은 현재 발생되는 어드레스 버스값에 의한 비트 변화율을 사전에 알 수 있으므로 어드레스 맵을 작성 시 이를 고려하여 작성할 수 있으며, 종래 방식에 비해 어드레스 버스값의 비트 변화율을 최소화할 수 있기 때문에 전력소모를 최소화할 수 있다.The present invention relates to an apparatus and method for coding / decoding an address bus value, which can reduce power consumption of a VLSI system by minimizing a bit change rate of an address bus value. An address bus coding for a low power large scale integrated circuit system according to the present invention. The method receives a current bus value and compares the number of bits between 0 and 1 to selectively bit invert the current bus value, and vectorizes the selectively bit inverted current bus value and the previous bus value, and then the vector. The bit information indicating whether the bit is inverted is added to the bit value that has been previously calculated and transmitted to the corresponding bus. Therefore, the present invention can know in advance the bit change rate due to the address bus value currently generated can be prepared in consideration of this when creating an address map, and the power consumption is reduced because the bit change rate of the address bus value can be minimized compared to the conventional method. Can be minimized.

VLSI, 어드레스 버스, 코딩, 디코딩, 비트 변화율, 전력 VLSI, Address Bus, Coding, Decoding, Bit Rate of Change, Power

Description

저전력 대규모 집적 회로 시스템을 위한 어드레스 버스 코딩/디코딩 방법 및 장치{METHOD AND APPARATUS OF ADDRESS BUS CODING/DECODING FOR LOW-POWER VERY LARGE SCALE INTEGRATION SYSTEM}TECHNICAL AND APPARATUS OF ADDRESS BUS CODING / DECODING FOR LOW-POWER VERY LARGE SCALE INTEGRATION SYSTEM}

도 1은 종래 VLSI 시스템에서 버스 코딩 장치의 구성을 나타낸 블록도1 is a block diagram showing the configuration of a bus coding apparatus in a conventional VLSI system

도 2는 종래 VLSI 시스템에서 버스 디코딩 장치의 구성을 나타낸 블록도2 is a block diagram showing the configuration of a bus decoding apparatus in a conventional VLSI system

도 3은 본 발명의 실시 예에 따른 VLSI 시스템에 구비되는 어드레스 버스 코딩 장치의 구성을 나타낸 블록도3 is a block diagram illustrating a configuration of an address bus coding apparatus included in a VLSI system according to an exemplary embodiment of the present invention.

도 4는 본 발명의 실시 예에 따른 어드레스 버스 코딩 방법을 나타낸 순서도4 is a flowchart illustrating an address bus coding method according to an exemplary embodiment of the present invention.

도 5는 본 발명의 실시 예에 따른 VLSI 시스템에 구비되는 어드레스 버스 디코딩 장치의 구성을 나타낸 블록도5 is a block diagram illustrating a configuration of an address bus decoding apparatus included in a VLSI system according to an exemplary embodiment of the present invention.

도 6은 본 발명의 실시 예에 따른 어드레스 버스 디코딩 방법을 나타낸 순서도6 is a flowchart illustrating an address bus decoding method according to an exemplary embodiment of the present invention.

본 발명은 대규모 집적 회로(Very Large Scale Integration : VLSI) 시스템 에서 어드레스 버스(address bus)를 통해 전송되는 비트값을 코딩/디코딩하는 장치 및 방법에 대한 것으로서, 특히 어드레스 버스값의 비트 변화율을 최소화하여 VLSI 시스템의 전력 소모를 절감할 수 있는 어드레스 버스값의 코딩/디코딩 장치 및 방법에 대한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an apparatus and method for coding / decoding bit values transmitted over an address bus in a Very Large Scale Integration (VLSI) system. An apparatus and method for coding / decoding an address bus value that can reduce power consumption of a VLSI system.

일반적으로 이동통신 시스템의 핸드폰과 같이 저전력 VLSI 시스템이 탑재되는 전자 장치에서 메모리 등의 억세스를 위한 버스 코딩(bus coding) 기법은 어드레스 또는 데이터 버스를 통해 전송되는 비트 정보의 각 비트의 변화율을 최대한으로 낮춰줌으로서 버스 상에서 소모되는 전력의 소모를 줄이는 것이 중요하다. 이는 저전력 VLSI 시스템의 버스를 통해 전송되는 비트 정보의 비트 변화율이 높을수록 시스템내에서 CMOS(Complementary Metal-Oxide Semiconductor) 소자 등의 스위칭 동작이 빈번하게 수행되어 전력 소모가 증가되기 때문이다. 또한 VLSI 시스템의 제조 기술이 급속히 향상됨에 따라 트랜지스터에서 소모되는 전력보다는 VLSI 시스템의 버스 라인에서 소모되는 전력이 더 큰 비중을 차지하게 되어 버스 코딩 기법의 중요성은 더욱 커지고 있다.In general, in an electronic device equipped with a low-power VLSI system such as a mobile phone of a mobile communication system, a bus coding technique for accessing a memory may maximize the rate of change of each bit of bit information transmitted through an address or data bus. It is important to reduce the power consumption on the bus by lowering it. This is because the higher the bit change rate of the bit information transmitted through the bus of the low-power VLSI system, the more frequently the switching operation of a complementary metal-oxide semiconductor (CMOS) device in the system is increased power consumption. In addition, as the manufacturing technology of the VLSI system is rapidly improved, the bus coding technique becomes more important because the power consumed by the bus line of the VLSI system is more important than the power consumed by the transistor.

따라서 VLSI 시스템의 내부 프로세서와 메모리와 같은 시스템 구성 요소들간에 어드레스 버스 또는 데이터 버스를 통한 데이터 통신을 수행할 경우 전력 소모를 최소화하기 위해서는 버스를 통해 각 구성 요소들간에 전달되는 비트 정보를 최소한의 비트 변화율로 전송하는 것이 필요하다. 이를 위해 VLSI 시스템은 어드레스 버스 또는 데이터 버스를 통해 전달되는 비트 정보의 변화율을 감소시키기 위한 버스 코딩 장치와 디코딩 장치를 구비하여야 한다.Therefore, when performing data communication through the address bus or data bus between system components such as the internal processor and memory of the VLSI system, in order to minimize power consumption, the bit information transmitted between the components through the bus is minimized. It is necessary to transmit at the rate of change. To this end, the VLSI system should be equipped with a bus coding apparatus and a decoding apparatus for reducing the rate of change of the bit information transmitted through the address bus or data bus.

즉 도 1은 종래 VLSI 시스템에서 버스 코딩 장치의 구성을 나타낸 블록도이다.1 is a block diagram illustrating a configuration of a bus coding apparatus in a conventional VLSI system.

먼저 본 명세서에서는 이전 시점에 발생되어 어드레스 버스 또는 데이터 버스를 통해 전송된 비트 정보를 "이전 버스값"이라 정의하고, 현재 어드레스 버스 또는 데이터 버스를 통해 전송하고자 입력된 비트 정보를 "현재 버스값"이라 정의하기로 한다.First, in the present specification, bit information generated at a previous time and transmitted through an address bus or a data bus is defined as a “previous bus value.” Bit information input to be transmitted through a current address bus or data bus is referred to as a “current bus value.” This will be defined.

도 1에서 이전 버스값 저장기(110)는 이전 버스값(A’(n-1))을 저장한다. 그리고 벡터거리 계산기(130)는 입력 라인으로부터 N 비트의 현재 버스값(A(n))을 전달받음은 물론 이전 버스값 저장기(110)로부터 이전 버스값(A’(n-1))을 전달받아 두 버스값 간의 서로 다른 비트 수를 계산하여 벡터 거리를 구한다. 예를 들어 이전 버스값 A’(n-1) = “1000_0000”이고, 현재 버스값 A(n) = “1100_0000”이라 했을 때 두 버스값 간의 서로 다른 비트는 1 비트이므로 벡터거리 값은 ‘1’이 된다. 상기한 방식으로 계산된 벡터거리 값은 다음단인 벡터거리 비교기(150)로 입력된다.In FIG. 1, the previous bus value store 110 stores the previous bus value A ′ (n−1). The vector distance calculator 130 receives the N-bit current bus value A (n) from the input line as well as receives the previous bus value A '(n-1) from the previous bus value store 110. The vector distance is obtained by calculating the number of different bits between the two bus values. For example, when the previous bus value A '(n-1) = “1000_0000” and the current bus value A (n) = “1100_0000”, different bits between the two bus values are 1 bit, so the vector distance value is' 1'. 'Becomes. The vector distance value calculated in the above manner is input to the vector distance comparator 150 which is the next stage.

상기 벡터거리 비교기(150)는 벡터거리 계산기(130)로부터 입력받은 벡터거리값이 해당 버스 길이의 절반(N/2, N: 버스 길이에 대응되는 비트 수) 보다 클 경우 ‘1’의 값을 출력하고, 입력받은 벡터거리 값이 해당 버스 길이의 절반보다 작거나 같을 경우 ‘0’의 값을 출력한다. 상기 벡터거리 비교기(150)의 1 비트 출력은 최종 출력 버스값(B(n))의 최상위 비트(Most Significant Bit : MSB)로 사용되며, 동시에 비트 반전기(170)로 입력된다.The vector distance comparator 150 receives a value of '1' when the vector distance value received from the vector distance calculator 130 is greater than half of the corresponding bus length (N / 2, N: number of bits corresponding to the bus length). If the input vector distance value is less than or equal to half of the bus length, '0' is output. The 1-bit output of the vector distance comparator 150 is used as the most significant bit (MSB) of the final output bus value B (n), and is simultaneously input to the bit inverter 170.

상기 비트 반전기(170)는 벡터거리 비교기(150)의 출력이 ‘1’일 경우 현재 버스값을 일의 보수형태(one’s complement)로 변환시키며, 벡터거리 비교기(150)의 출력이 ‘0’일 경우 현재 버스값을 입력된 그대로 출력한다. 여기서 일의 보수 형태의 변환은 입력되는 버스값의 각 비트를 ‘0’에서 ‘1’로 ‘1’에서 ‘0’으로 변환시키는 것을 의미한다. 벡터거리 비교기(150)의 1 비트 출력과 비트 반전기(170)의 N 비트 출력은 N+1 비트의 인코딩된 출력 버스값(B(n))을 구성한다.The bit inverter 170 converts the current bus value into one's complement when the output of the vector distance comparator 150 is '1', and the output of the vector distance comparator 150 is '0'. In this case, the current bus value is output as it is. Here, the conversion in the form of one's complement means converting each bit of the input bus value from '0' to '1' and from '1' to '0'. The one bit output of vector distance comparator 150 and the N bit output of bit inverter 170 constitute an encoded output bus value B (n) of N + 1 bits.

도 1에서 설명한 버스 코딩 장치의 특징은 현재 비트값의 비트 수를 N이라 했을 때 이전 버스값에 비해 현재 버스값의 비트 변화가 N/2 보다 클 경우 비트 반전기(170)를 통해 현재 버스값의 비트들을 반전시킴으로서 전송되는 버스값의 최대 비트 변화율을 N/2로 감소시키는 것이다.The characteristic of the bus coding apparatus described with reference to FIG. 1 is that when the number of bits of the current bit value is N, when the bit change of the current bus value is greater than N / 2 compared to the previous bus value, the current bus value is obtained through the bit inverter 170. By inverting the bits of P, the maximum bit rate of change of the transmitted bus value is reduced to N / 2.

도 2는 종래 VLSI 시스템에서 버스 디코딩 장치의 구성을 나타낸 블록도이다.2 is a block diagram illustrating a configuration of a bus decoding apparatus in a conventional VLSI system.

도 1에서 설명한 버스 코딩 장치의 출력 버스값은 VLSI 시스템의 버스를 통해 전송되어 도 2에 도시된 버스 디코딩 장치의 입력 버스값(B(n))으로 주어진다. 도 2의 비트 반전기(210)는 N+1 비트의 입력 버스값(B(n))으로부터 1 비트의 최상위 비트(MSB)와 N 비트의 비트값을 구분하여 입력받는다. 그리고 비트 반전기(210)는 최상위 비트(MSB)의 비트값을 근거로 N 비트의 비트값에 대한 비트 반전을 수행할 지 여부를 결정한다.The output bus value of the bus coding apparatus described in FIG. 1 is transmitted through the bus of the VLSI system and is given as the input bus value B (n) of the bus decoding apparatus shown in FIG. The bit inverter 210 of FIG. 2 receives the most significant bit (MSB) of 1 bit and the bit value of N bits separately from the input bus value B (n) of N + 1 bits. The bit inverter 210 determines whether to perform bit inversion on the bit value of the N bits based on the bit value of the most significant bit (MSB).

여기서 비트 반전기(210)는 최상위 비트(MSB)가 ‘1’이면 일의 보수 형태의 비트 변환을 통해 비트 반전을 수행하고, ‘0’이면 비트 반전을 수행하지 않는다. 상기한 비트 변환을 수행하기 위해서는 버스를 통해 전송되는 비트값에 비트 반전 여부를 판별하기 위한 1 비트 정보가 더 추가되지만, 원래 버스에서 발생될 수 있는 최대 비트 변화는 N/2이므로 버스 코딩 기법을 사용하지 않는 경우(최대 N의 변화 비트가 발생할 수 있음)보다는 전력 소모를 절감할 수 있다.Here, the bit inverter 210 performs bit inversion through one's complement bit conversion when the most significant bit MSB is '1', and does not perform bit inversion when the most significant bit MSB is '1'. In order to perform the above bit conversion, one bit information for determining whether bits are inverted is added to the bit value transmitted through the bus, but since the maximum bit change that can occur in the original bus is N / 2, Power consumption can be reduced rather than unused (which can result in up to N change bits).

그러나 버스값을 인코딩할 때 N/2의 비트 변화는 실제 버스상에서 발생되는 비트 변화에서 상당히 많은 부분을 차지하고 있으며, 상기한 종래 버스 코딩 기법은 벡터거리 계산을 이용하므로 N/2 비트 변화가 가능한 버스값을 예측하는 것이 불가능하다. 따라서 종래 버스 코딩 기법으로는 N/2의 비트 변화를 갖는 버스값에 대해서는 그 변화율을 낮출 방법이 없으며, 이에 대한 해결책이 요망된다.However, when encoding bus values, bit changes of N / 2 occupy a considerable part of the bit changes occurring on the actual bus. Since the conventional bus coding technique uses vector distance calculation, a bus capable of changing N / 2 bits is used. It is impossible to predict the value. Therefore, there is no conventional method for reducing the change rate of a bus value having a bit change of N / 2 by the conventional bus coding technique, and a solution for this is desired.

본 발명은 VLSI 시스템에서 버스값의 비트 변화율을 최소화하여 전력 소모를 절감할 수 있는 어드레스 버스값의 코딩/디코딩 장치 및 방법을 제공한다.The present invention provides an apparatus and method for coding / decoding an address bus value that can reduce power consumption by minimizing a bit change rate of a bus value in a VLSI system.

또한 본 발명은 VLSI 시스템에서 버스값의 총 비트수의 절반보다 낮은 비트 변화율을 보장하는 어드레스 버스값의 코딩/디코딩 장치 및 방법을 제공한다.The present invention also provides an apparatus and method for coding / decoding an address bus value that guarantees a bit change rate lower than half of the total number of bits of a bus value in a VLSI system.

본 발명에 따른 저전력 대규모 집적 회로 시스템을 위한 버스 코딩 방법은 현재 버스값을 입력받아 0과 1의 비트수를 비교하여 상기 현재 버스값을 선택적으로 비트 반전하여 출력하는 과정과, 상기 선택적으로 비트 반전된 현재 버스값과 이전 버스값을 벡터적 연산하는 과정과, 상기 벡터적 연산된 비트값에 상기 비트 반전 여부를 지시하는 비트 정보를 덧붙여 해당 버스로 전송하는 과정을 포함함을 특징으로 한다. 그러므로, 본 발명의 버스 코딩/디코딩 방식은 현재 버스값을 통해 비트 변화율을 미리 알 수 있기 때문에 비트 변화율이 많은 어드레스를 미리 판단할 수 있다. 그러므로, 어드레스 맵을 정할 때 이를 고려하여 어드레스 중에서 비트 변화량이 많은 어드레스 값은 미리 제외함으로서 어드레스 버스에서의 비트 변화율을 최소화할 수 있다. 반면 데이터 버스는 출력값 자체가 랜덤(Random)하므로 종래 방식과 동일한 비트 변화율을 보인다.A bus coding method for a low power large scale integrated circuit system according to the present invention includes receiving a current bus value and comparing the number of bits between 0 and 1 to selectively bit invert the current bus value and outputting the bit selectively. And a step of vectorly calculating the current bus value and the previous bus value, and transmitting bit information indicating whether or not the bit is inverted to the vectored bit value to transmit to the corresponding bus. Therefore, in the bus coding / decoding method of the present invention, since the bit change rate can be known in advance through the current bus value, an address having a large bit change rate can be determined in advance. Therefore, when determining the address map, it is possible to minimize the bit change rate on the address bus by excluding an address value having a large amount of bit change among the addresses in advance. On the other hand, since the data bus itself is random, the data bus shows the same bit rate as the conventional method.

본 발명에 따른 저전력 대규모 집적 회로 시스템을 위한 어드레스 버스 디코딩 방법은 버스 라인을 통해 입력된 현재 버스값으로부터 비트 반전 여부를 지시하는 비트 정보를 제외한 비트값과 이전 버스값을 벡터적 연산하는 과정과, 상기 비트 정보를 근거로 상기 벡터적 연산된 비트값을 선택적으로 비트 반전하여 출력하는 과정을 포함함을 특징으로 한다.The address bus decoding method for a low power large scale integrated circuit system according to the present invention includes the steps of performing a vector operation on a bit value and a previous bus value excluding bit information indicating bit inversion from a current bus value input through a bus line; And selectively inverting and outputting the vectorized bit value based on the bit information.

본 발명에 따른 저전력 대규모 집적 회로 시스템을 위한 어드레스 버스 코딩 장치는 이전 버스값을 저장하는 이전 버스값 저장기와, 현재 버스값을 입력받아 0과 1의 비트수를 비교하여 비트 반전 여부를 지시하는 정보를 출력하는 다수 비트 판단기와, 상기 비트 정보를 근거로 상기 현재 버스값을 선택적으로 비트 반전하는 비트 반전기와, 상기 선택적으로 비트 반전된 현재 버스값과 상기 이전 버스값을 벡터적 연산하는 벡터적 연산기와, 상기 벡터적 연산된 비트값에 상기 비트 반전 여부를 지시하는 비트 정보를 덧붙여 해당 버스로 전송하는 출력 라인을 포함함을 특징으로 한다.An address bus coding apparatus for a low power large scale integrated circuit system according to the present invention includes a previous bus value store storing a previous bus value and information indicating whether bits are inverted by comparing the number of bits of 0 and 1 by receiving a current bus value. A multi-bit determiner for outputting a signal, a bit inverter for selectively bit inverting the current bus value based on the bit information, and a vector operator for vectorly calculating the selectively inverted current bus value and the previous bus value. And an output line for adding the bit information indicating whether the bit is inverted to the vectored bit value and transmitting the bit information to the corresponding bus.

본 발명에 따른 저전력 대규모 집적 회로 시스템을 위한 어드레스 버스 디코딩 장치는 이전 버스값을 저장하는 이전 버스값 저장기와, 버스 라인을 통해 입력 된 현재 버스값으로부터 비트 반전 여부를 지시하는 비트 정보를 제외한 비트값과 이전 버스값을 벡터적 연산하는 벡터적 연산기와, 상기 비트 정보를 근거로 상기 벡터적 연산된 비트값을 선택적으로 비트 반전하여 출력하는 비트 반전기를 포함함을 특징으로 한다.An address bus decoding apparatus for a low power large scale integrated circuit system according to the present invention includes a previous bus value store for storing a previous bus value, and a bit value excluding bit information indicating bit inversion from a current bus value input through a bus line. And a vector inverter for vectoring the previous bus value and a bit inverter for selectively bit inverting the vectored bit value based on the bit information.

이하 본 발명에 따른 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 하기의 설명에서는 본 발명에 따른 동작을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description, only parts necessary for understanding the operation according to the present invention will be described, and the description of other parts will be omitted so as not to obscure the gist of the present invention.

먼저 본 발명의 기본 개념을 설명하면, 본 발명의 어드레스 버스 코딩 장치는 버스값을 구성하는 '0'과 '1'의 비트수가 동일한 경우 이전에 출력된 어드레스 버스값에 대한 현재 출력되는 어드레스 버스값의 비트 변화가 버스값의 총 비트수(N)의 절반이 되도록 어드레스 버스값의 코딩을 수행함을 특징으로 한다. 따라서 본 발명은 버스값에서 '0'과 '1'의 비트수가 동일한 경우를 제외한 버스값을 입력 버스값으로 사용할 경우 이전 어드레스 버스값에 대한 비트 변화를 종래 최대 비트 변화율인 N/2 보다 작아지도록 할 수 있다.First, the basic concept of the present invention will be described. In the address bus coding apparatus of the present invention, when the number of bits of '0' and '1' constituting the bus value is the same, the currently output address bus value with respect to the previously output address bus value The coding of the address bus value may be performed such that the bit change of the signal becomes half of the total number N of bus values. Therefore, when the bus value is used as an input bus value except when the number of bits of '0' and '1' is the same in the bus value, the bit change of the previous address bus value is smaller than the conventional maximum bit change rate N / 2. can do.

이하 도 3 및 도 4를 참조하여 본 발명의 버스 코딩 방식을 설명하기로 한다.Hereinafter, the bus coding scheme of the present invention will be described with reference to FIGS. 3 and 4.

도 3은 본 발명의 실시 예에 따른 VLSI 시스템에 구비되는 어드레스 버스 코 딩 장치의 구성을 나타낸 블록도이다.3 is a block diagram illustrating a configuration of an address bus coding apparatus included in a VLSI system according to an exemplary embodiment of the present invention.

도 3에서 이전 버스값 저장기(310)는 이전 시점에 발생된 N 비트의 이전 버스값(A’(n-1))을 벡터적 연산기(370)로부터 전달받아 저장하고, 시스템으로부터 클럭(CLK)이 인가될 때 이전 버스값(A’(n-1))을 벡터적 연산기(370)로 출력한다. 다수 비트 판단기(330)는 시스템으로부터 입력되는 현재 버스값(A(n))의 비트들에 ‘0’ 많은 경우와 ‘1’이 많은 경우를 구분하여 비트 반전기(350)의 동작을 위한 제어신호를 다르게 출력한다.In FIG. 3, the previous bus value store 310 receives and stores the N-bit previous bus value A ′ (n−1) generated from the previous point of time from the vector operator 370 and stores a clock (CLK) from the system. ) Is outputted to the vector operator 370 when the previous bus value A '(n-1) is applied. The multiple bit determiner 330 distinguishes a case where a large number of '0's and a number of' 1's exist in the bits of the current bus value A (n) input from the system to perform the operation of the bit inverter 350. Output control signals differently.

본 실시 예에서 상기 다수 비트 판단기(330)는 현재 버스값(A(n))의 비트들에 ‘0’의 비트가 많으면 비트 반전기(350)로 출력되는 제어신호로 ‘0’을 출력하고, ‘1’의 비트가 많으면 비트 반전기(350)로 출력되는 제어신호로 ‘1’을 출력한다. 그리고 ‘0’과 ‘1’의 비트 개수가 같을 경우 다수 비트 판단기(330)는 ‘0’과 ‘1’ 중 어떤 제어신호를 출력하여도 무관하며, 본 실시 예에서는 '0'을 출력하는 것으로 가정하기로 한다.In the present exemplary embodiment, the multi-bit determiner 330 outputs '0' as a control signal output to the bit inverter 350 when there are many bits of '0' in the bits of the current bus value A (n). If there are many bits of '1', '1' is output as a control signal output to the bit inverter 350. When the number of bits of '0' and '1' is the same, the multiple bit determiner 330 may output any control signal of '0' and '1', and in this embodiment, outputs '0'. Let's assume.

또한 상기 다수 비트 판단기(330)로부터 출력되는 1 비트의 제어신호는 비트 반전기(350)뿐만 아니라 출력 버스값((B(n))의 최상위 비트(MSB)로도 사용된다. 본 실시 예에서 다수 비트 판단기(330)의 제어신호는 편의상 최종 출력 버스값(B(n))의 최상위 비트(MSB)에 위치되는 것으로 가정하였으나 최하위 비트(LSB) 등 미리 정해진 다른 위치에 사용하는 것도 가능하다.In addition, the 1-bit control signal output from the multi-bit determiner 330 is used not only as the bit inverter 350 but also as the most significant bit MSB of the output bus value (B (n)). For convenience, the control signal of the majority bit determiner 330 is assumed to be located at the most significant bit MSB of the final output bus value B (n). However, the control signal of the majority bit determiner 330 may be used at another predetermined position such as the least significant bit LSB. .

도 3에서 비트 반전기(350)는 다수 비트 판단기(330)로부터 ‘0’의 제어신호가 인가되면, 현재 버스값(A(n))을 그대로 출력하고, ‘1’의 제어신호가 인가되 면, 현재 버스값(A(n))을 일의 보수 형태로 변환하여 출력한다. 벡터적 연산기(370)는 이전 버스값 저장기(310)로부터 전달된 이전 버스값((A’(n-1)))과 비트 반전기(350)로부터 전달된 버스값의 대응되는 비트들끼리 벡터적(xor) 연산을 수행하여 N 비트의 비트값(A'(n))을 출력한다.In FIG. 3, when the control signal of '0' is applied from the majority bit determiner 330, the bit inverter 350 outputs the current bus value A (n) as it is, and the control signal of '1' is applied. If so, the current bus value A (n) is converted into one's complement form and output. The vector operator 370 compares the previous bus value (A '(n-1)) transmitted from the previous bus value store 310 with corresponding bits of the bus value transferred from the bit inverter 350. A vector value (xor) operation is performed to output a bit value A '(n) of N bits.

도 3의 어드레스 버스 코딩 장치를 통해 인코딩된 출력 버스값(B(n))은 상기 벡터적(xor) 연산된 비트값에 다수 비트 판단기(330)의 출력을 최상위 비트(MSB)로 덧붙인 N+1 비트의 비트값이다. 그리고 상기 벡터적(XOR) 연산된 비트값은 이전 버스값 저장기(310)로 전달되어 이전 버스값으로 저장된다.The output bus value B (n) encoded by the address bus coding apparatus of FIG. 3 is N by adding the output of the majority bit determiner 330 as the most significant bit MSB to the vectored bit value. Bit value of +1 bit. The bitwise computed bit value is transferred to the previous bus value store 310 and stored as the previous bus value.

도 4는 본 발명의 실시 예에 따른 어드레스 버스 코딩 방법을 나타낸 순서도로서, 도 4의 순서도를 참조하여 도 3의 버스 코딩 장치의 동작을 설명하기로 한다.FIG. 4 is a flowchart illustrating an address bus coding method according to an exemplary embodiment of the present invention. An operation of the bus coding apparatus of FIG. 3 will be described with reference to the flowchart of FIG. 4.

401 단계에서 시스템으로부터 현재 버스값(A(n))이 입력되면, 403 단계에서 다수 비트 판단기(330)는 현재 버스값(A(n))의 비트들 중 '0' 비트가 많은지 '1' 비트가 많은지 판단하여 '0'의 비트 수가 '1'의 비트 수 보다 많거나 같은 경우 비트 반전기(350)로 예컨대, '0'의 제어신호를 출력하고, 405 단계로 진행한다.When the current bus value A (n) is input from the system in step 401, the multi-bit determiner 330 determines whether there are many '0' bits among the bits of the current bus value A (n) in step 403. If the number of bits of '0' is greater than or equal to the number of bits of '1', the control unit outputs a control signal of, for example, '0' to the bit inverter 350 and proceeds to step 405.

405 단계에서 다수 비트 판단기(330)로부터 '0'의 제어신호를 입력받은 비트 반전기(350)는 입력된 현재 버스값(A(n))을 그대로 출력한다. 반면 상기 403 단계에서 '0'의 비트 수가 '1'의 비트 수 보다 적은 경우 다수 비트 판단기(330)는 비트 반전기(350)로 예컨대, '0'의 제어신호를 출력하고, 407 단계로 진행한다. 407 단계에서 다수 비트 판단기(330)로부터 '1'의 제어신호를 입력받은 비트 반전기 (350)는 입력된 현재 버스값(A(n))의 각 비트들을 일의 보수 형태로 변환하여 출력한다.In operation 405, the bit inverter 350 receiving the control signal of '0' from the multiple bit determiner 330 outputs the input current bus value A (n) as it is. On the other hand, when the number of bits of '0' is less than the number of bits of '1' in step 403, the majority bit determiner 330 outputs a control signal of, for example, '0' to the bit inverter 350, and proceeds to step 407. Proceed. In step 407, the bit inverter 350 receiving the control signal of '1' from the multiple bit determiner 330 converts each bit of the input current bus value A (n) into one's complement form and outputs it. do.

409 단계에서 벡터적 연산기(370)는 상기 405 단계 또는 407 단계에 따라 그대로 전달되거나 또는 반전되어 전달된 현재 비트값과 이전 버스값 저장기(310)로부터 전달된 이전 비트값의 대응되는 비트들에 대해 벡터적(XOR) 연산을 수행하여 N 비트의 비트값을 출력한다. 이후 도 3의 버스 코딩 장치는 다수 비트 판단기(330)의 출력이 최상위 비트(MSB)로 덧붙여진 벡터적(XOR) 연산된 비트값을 N+1 비트의 버스값(B(n))을 출력하고, 출력된 버스값은 해당 버스를 통해 후술할 도 5의 버스 디코딩 장치로 전달된다.In operation 409, the vector operator 370 is applied to the corresponding bits of the current bit value and the previous bit value transferred from the previous bus value store 310 as they are transferred or inverted according to the operations 405 or 407. Vector bit (XOR) operation is performed on the bit value of N bits. Afterwards, the bus coding apparatus of FIG. 3 outputs a bus value B (n) of N + 1 bits from a vectored (XOR) -operated bit value to which the output of the majority bit determiner 330 is appended with the most significant bit (MSB). The output bus value is transmitted to the bus decoding apparatus of FIG. 5 to be described later through the corresponding bus.

도 3 및 도 4의 실시 예에서 예컨대 이전 어드레스 버스값이 “1100”이고, 현재 버스값이 “0001”인 경우 다수 비트 판단기(330)의 출력은 ‘0’이 되며, 현재 어드레스 버스값은 반전없이 이전 버스값과 함께 벡터적 연산기(370)로 전달되고, 벡터적(XOR) 연산된 출력값은 “1101”이 된다. 즉 최상위 비트를 제외하고 최종 출력된 비트값은 이전 버스값에 비해 단지 한 비트의 출력변화를 가진다. 이는 현재 버스값에 ‘0’이 많을수록 이전 버스값에 대한 출력 비트값의 비트 변화를 최소화할 수 있다는 것을 의미한다. 왜냐하면 벡터적 연산에서 ‘0’의 입력은 다른 입력을 단지 버퍼링시킨다는 의미로 해석되기 때문이다. 반대로 현재 버스값에 ‘1’이 많을 때는 다수 비트 판단기(330)의 출력은 ‘1’이 될 것이고, 이 경우에도 현재 비트값은 비트 반전기(350)를 통해 ‘0’이 많은 형태로 변환되므로 이전 버스값에 대한 출력 비트값의 비트 변화를 최소화하게 된다.3 and 4, for example, when the previous address bus value is “1100” and the current bus value is “0001,” the output of the multi-bit determiner 330 becomes '0' and the current address bus value is It is passed to vector operator 370 with the previous bus value without inversion, and the vectored (XOR) calculated output value is “1101”. In other words, except the most significant bit, the final output bit value has only one bit of output change compared to the previous bus value. This means that more '0's in the current bus value can minimize bit changes in the output bit value relative to the previous bus value. This is because, in vector operations, an input of '0' is interpreted as just buffering another input. On the contrary, when there are many '1's in the current bus value, the output of the majority bit determiner 330 will be' 1 ', and even in this case, the current bit values have a lot of' 0 'through the bit inverter 350. The conversion minimizes bit changes in the output bit value relative to the previous bus value.

따라서 본 발명에 의한 어드레스 버스 코딩 방법을 사용할 경우 최상위 비트로 추가되는 1 비트를 제외한 버스에서 발생할 수 있는 최대 비트 변화는 N/2이 되며, 사용 가능한 어드레스 버스값에서 '0'과 '1'의 비트수가 동일한 경우를 제외한 나머지 버스값을 입력 버스값으로 사용할 경우 이전 버스값에 대한 비트 변화를 종래 최대 비트 변화율인 N/2 보다 낮출 수 있다.Therefore, when using the address bus coding method according to the present invention, the maximum bit change that can occur on the bus except 1 bit added as the most significant bit becomes N / 2, and bits of '0' and '1' in the available address bus values. When the remaining bus values are used as input bus values except when the number is the same, the bit change with respect to the previous bus value may be lower than the conventional maximum bit change rate N / 2.

이하 도 5 및 도 6을 참조하여 본 발명의 버스 디코딩 방식을 설명하기로 한다.Hereinafter, the bus decoding method of the present invention will be described with reference to FIGS. 5 and 6.

도 5는 본 발명의 실시 예에 따른 VLSI 시스템에 구비되는 어드레스 버스 디코딩 장치의 구성을 나타낸 블록도이다.5 is a block diagram illustrating a configuration of an address bus decoding apparatus included in a VLSI system according to an exemplary embodiment of the present invention.

도 5에서 이전 버스값 저장기(510)는 이전 클럭에 입력된 N+1 비트의 입력 버스값으로부터 최상위 비트(MSB)를 제외한 나머지 N 비트의 버스값을 이전 버스값(A’(n-1))으로 저장하고, 시스템으로부터 클럭(CLK)이 인가될 때 이전 버스값(A’(n-1))을 벡터적 연산기(530)로 출력한다. 벡터적 연산기(530)는 이전 버스값 저장기(510)로부터 전달된 이전 버스값(A’(n-1))과, 입력 버스 라인을 통해 전달되어 최상위 비트가 제거된 N 비트의 현재 입력 버스값을 입력받아 대응되는 비트들끼리 벡터적(XOR) 연산을 수행하여 N 비트의 비트값을 출력한다.In FIG. 5, the previous bus value storage unit 510 stores the bus values of the remaining N bits except the most significant bit MSB from the N + 1 bit input bus values input to the previous clock. ), And outputs the previous bus value A '(n-1) to the vector operator 530 when the clock CLK is applied from the system. The vector operator 530 is a previous bus value A '(n-1) passed from the previous bus value store 510 and an N-bit current input bus passed through the input bus line to remove the most significant bit. The N-bit bit value is output by receiving a value and performing a corresponding XOR operation on the corresponding bits.

도 5의 비트 반전기(550)는 N+1 비트의 입력 버스값(A(n))으로부터 분리된 1 비트의 최상위 비트(MSB)를 제어신호로 전달받는다. 그리고 상기 제어신호를 근거로 비트 반전기(550)는 벡터적 연산기(530)로부터 입력된 비트값의 반전 출력 여부를 결정한다. 본 실시 예에서 비트 반전기(550)는 상기 제어신호가 ‘0’이면 입력 된 비트값을 그대로 출력하며, 상기 제어신호가 ‘1’이면 입력된 비트값을 일의 보수 형태로 변환하여 출력 버스값(B(n))으로 최종 출력한다. 도 5의 어드레스 버스 디코딩 장치는 상기한 구성을 통해 어드레스를 통해 전달된 비트값을 원래 비트값으로 복원하게 된다.The bit inverter 550 of FIG. 5 receives the most significant bit MSB of one bit separated from the input bus value A (n) of N + 1 bits as a control signal. Based on the control signal, the bit inverter 550 determines whether to invert the bit value input from the vector operator 530. In the present embodiment, the bit inverter 550 outputs the input bit value as it is when the control signal is '0', and converts the input bit value into a one's complement form when the control signal is '1'. The final output is the value B (n). The address bus decoding apparatus of FIG. 5 restores the bit value transmitted through the address to the original bit value through the above configuration.

도 6은 본 발명의 실시 예에 따른 어드레스 버스 디코딩 방법을 나타낸 순서도로서, 도 6의 순서도를 참조하여 도 5의 버스 디코딩 장치의 동작을 설명하기로 한다.FIG. 6 is a flowchart illustrating an address bus decoding method according to an exemplary embodiment of the present invention. An operation of the bus decoding apparatus of FIG. 5 will be described with reference to the flowchart of FIG. 6.

먼저 도 6의 601 단계에서 버스 디코딩 장치는 이전 클럭의 입력 버스값으로부터 최상위 비트(MSB)를 제외한 나머지 버스값을 이전 버스값 저장기(510)에 저장한다. 이후 603 단계에서 벡터적 연산기(530)는 다음 클럭에서 입력 버스 라인을 통해 전달된 현재 버스값(A'(n))과 이전 버스값 저장기(510)로부터 전달된 이전 버스값(A'(n-1))을 입력받아 대응되는 비트들끼리 벡터적(XOR) 연산을 수행하여 N 비트의 비트값을 출력한다.First, in step 601 of FIG. 6, the bus decoding apparatus stores the remaining bus values excluding the most significant bit MSB from the input bus value of the previous clock in the previous bus value store 510. Afterwards, in operation 603, the vector operator 530 transmits the current bus value A ′ (n) transmitted through the input bus line at the next clock and the previous bus value A ′ (transferred from the previous bus value store 510). n-1)) is input to perform NOR operations on the corresponding bits and outputs a bit value of N bits.

이후 605 단계에서 비트 반전기(550)는 버스 라인으로부터 제어신호로 인가된 현재 버스값의 최상위 비트(MSB)를 근거로 벡터적 연산기(530)로부터 입력된 비트값의 반전 출력 여부를 결정한다. 이때 비트 반전기(550)는 현재 버스값의 최상위 비트(MSB) ‘1’이면, 607 단계로 진행하여 벡터적(XOR) 연산된 비트값을 일의 보수 형태로 비트 반전하여 출력하고, 현재 버스값의 최상위 비트(MSB) ‘1’이면, 609 단계로 진행하여 입력된 비트값을 그대로 출력하여 도 3의 버스 코딩 장치를 통해 인코딩된 비트값을 원래 비트값으로 복원한다.Thereafter, in step 605, the bit inverter 550 determines whether the bit value inputted from the vector operator 530 is inverted based on the most significant bit MSB of the current bus value applied as a control signal from the bus line. At this time, if the most significant bit (MSB) '1' of the current bus value, the bit inverter 550 proceeds to step 607 and bit-inverts the vectorized (XOR) -operated bit value in one's complement form and outputs the current bus. If the most significant bit (MSB) '1' of the value, the process proceeds to step 609 to output the input bit value as it is to restore the bit value encoded by the bus coding apparatus of FIG.

상기한 본 발명의 버스 코딩/디코딩 방법은 동일한 비트간의 벡터적(XOR) 연산은 ‘0’인 특징을 이용한 것이다. 즉 본 발명에 의하면, 현재 입력 버스값이 주어지면, 현재 출력 버스값의 비트 변화를 바로 예측할 수 있으며, 이러한 본 발명의 특징은 버스값의 어드레스 맵을 정할 때 이용할 수 있다. 예를 들어 본 출원인의 실험에 의하면, VLSI 시스템에서 2비트, 4비트, 6비트, 8비트 어드레스의 경우 전체 어드레스에서 ‘0’과 ‘1’의 비트 수가 동일한 어드레스가 차지하는 비율이 각각 50%, 38%, 31%, 27% 정도로 상당한 비중을 차지함을 알 수 있다.In the above-described bus coding / decoding method of the present invention, a vector-to-bit (XOR) operation between the same bits uses '0'. That is, according to the present invention, given the current input bus value, it is possible to immediately predict the bit change of the current output bus value, and this feature of the present invention can be used to determine the address map of the bus value. For example, according to the experiments of the applicant, in the VLSI system, in the case of 2-bit, 4-bit, 6-bit, and 8-bit addresses, 50% of the addresses occupy the same number of bits of '0' and '1' in all addresses, 38%, 31%, and 27% account for a considerable proportion.

따라서 실제 VLSI 시스템의 하드웨어 설계 시 주어진 어드레스 비트를 모두 사용하는 경우는 거의 발생되지 않으므로 하드웨어 어드레스 맵을 설정할 때 ‘0’과 ‘1’의 비트 수가 동일한 어드레스는 사용하지 않도록 버스 코딩 장치의 입력 버스값을 설정하거나 ‘0’과 ‘1’의 비트 수가 큰 값부터 어드레스를 할당함으로서 버스에서의 비트 변화를 최소화할 수 있다. 만일 ‘0’과 ‘1’의 비트 수가 동일한 어드레스를 입력 버스값으로 사용하지 않고 본 발명의 어드레스 버스 코딩을 수행할 경우 최상위 비트로 추가된 1 비트를 제외한 최대 비트 변화는 N/2-1이 된다. 따라서 본 발명에 의한 어드레스 버스 코딩 기법이 종래의 어드레스 버스 코딩에 비해 더 좋은 성능을 보장해 줄 수 있게 된다.Therefore, in the hardware design of the actual VLSI system, almost all of the given address bits are rarely used. Therefore, when setting the hardware address map, the input bus value of the bus coding apparatus is used so that the same number of bits of '0' and '1' are not used. You can minimize the bit change on the bus by setting or assigning an address from a value with a large number of bits between '0' and '1'. If the address bus coding of the present invention is performed without using an address having the same number of bits as '0' and '1' as an input bus value, the maximum bit change except for one bit added as the most significant bit becomes N / 2-1. . Therefore, the address bus coding scheme according to the present invention can ensure better performance than conventional address bus coding.

이상 설명한 바와 같이 본 발명에 의하면, VLSI 시스템에서 어드레스 버스값의 비트 변화율을 최소화하여 전력 소모를 절감할 수 있다.As described above, according to the present invention, power consumption may be reduced by minimizing a bit change rate of an address bus value in a VLSI system.

또한 본 발명에 의하면, VLSI 시스템에서 버스값의 총 비트수의 절반 보다 낮은 비트 변화를 보장하는 어드레스 버스 코딩/디코딩 방식을 제공할 수 있다.In addition, according to the present invention, it is possible to provide an address bus coding / decoding scheme that guarantees a bit change lower than half of the total number of bits of a bus value in a VLSI system.

Claims (12)

저전력 대규모 집적 회로 시스템을 위한 어드레스 버스 코딩 방법에 있어서,An address bus coding method for a low power large scale integrated circuit system, 현재 버스 값을 입력받아 0의 비트 수와 1의 비트 수를 비교하여 상기 현재 버스 값을 선택적으로 비트 반전하여 출력하는 과정과,Receiving a current bus value and comparing the number of bits of 0 and the number of bits of 1 to selectively bit invert the current bus value and output the result; 상기 선택적으로 비트 반전된 현재 버스 값과 이전 버스 값을 벡터적 연산하는 과정과,Performing a vector operation on the selectively and inverted current bus values and previous bus values; 상기 벡터적 연산된 비트 값에 상기 비트 반전 여부를 지시하는 비트 정보를 덧붙여 해당 버스로 전송하는 과정을 포함하되,And adding the bit information indicating whether the bit is inverted to the vectored bit value and transmitting the bit information to the corresponding bus. 상기 비트 반전 여부를 지시하는 비트 정보는 상기 0의 비트 수가 상기 1의 비트 수 보다 많은 경우, 상기 현재 버스 값을 그대로 출력하며, 상기 0의 비트 수가 상기 1의 비트 수 보다 적은 경우 상기 현재 버스 값을 반전하여 출력하는 과정을 포함하고, The bit information indicating whether the bit is inverted outputs the current bus value as it is when the number of bits of 0 is greater than the number of bits of 1, and the current bus value when the number of bits of 0 is less than the number of bits of 1. Inverting and outputting, 상기 비트 반전 여부를 지시하는 비트 정보는 상기 0의 비트 수와 상기 1의 비트 수가 동일한 경우, 상기 현재 버스 값을 그대로 출력하거나 또는 반전하여 출력하는 과정을 포함하는 버스 코딩 방법.And the bit information indicating whether the bit is inverted includes outputting the current bus value as it is or inverting the same when the number of bits of 0 and the number of bits of 1 are the same. 저전력 대규모 집적 회로 시스템을 위한 어드레스 버스 디코딩 방법에 있어서,An address bus decoding method for a low power large scale integrated circuit system, 버스 라인을 통해 입력된 현재 버스 값으로부터 상기 현재 버스 값의 0의 비트 수와 1의 비트 수를 비교하여 결정되는 비트 반전 여부를 지시하는 비트 정보를 제외한 비트 값과 이전 버스 값을 벡터적 연산하는 과정과,A vector operation is performed on the previous bus value and the bit value except for bit information indicating whether or not bit inversion is determined by comparing the number of bits of 0 and the number of bits of the current bus value from the current bus value input through the bus line. Process, 상기 반전 여부를 지시하는 비트 정보에 따라 상기 벡터적 연산된 비트 값을 선택적으로 비트 반전하여 출력하는 과정을 포함하되,And selectively inverting and outputting the vectorized bit value according to bit information indicating whether the inversion is performed. 상기 비트 반전 여부를 지시하는 비트 정보는 상기 0의 비트 수가 상기 1의 비트 수 보다 많은 경우, 상기 현재 버스 값을 그대로 출력하도록 하며, 상기 0의 비트 수가 상기 1의 비트 수 보다 적은 경우 상기 현재 버스 값을 반전하여 출력하도록 하고,The bit information indicating whether the bit is inverted outputs the current bus value as it is when the number of bits of 0 is greater than the number of bits of 1, and when the number of bits of 0 is less than the number of bits of 1, the current bus. Invert the value and print it out, 상기 비트 반전 여부를 지시하는 비트 정보는 상기 0의 비트 수와 상기 1의 비트 수가 동일한 경우, 상기 현재 버스 값을 그대로 출력하거나 또는 반전하여 출력하도록 하는 것을 특징으로 하는 버스 디코딩 방법.And if the bit information indicating whether the bit is inverted is equal to the number of bits of 0 or the number of bits of 1, outputting the current bus value as it is or inverting the bit. 저전력 대규모 집적 회로 시스템을 위한 어드레스 버스 코딩 장치에 있어서,An address bus coding apparatus for a low power large scale integrated circuit system, 이전 버스 값을 저장하는 이전 버스 값 저장기와,A previous bus value store for storing previous bus values, 현재 버스 값을 입력받아 0의 비트 수와 1의 비트 수를 비교하여 비트 반전 여부를 지시하는 비트 정보를 출력하는 다수 비트 판단기와,A multiple bit determiner for receiving a current bus value and comparing bit numbers of 0 and bit numbers of 1 to output bit information indicating whether bits are inverted; 상기 비트 정보에 따라 상기 현재 버스 값을 선택적으로 비트 반전하는 비트 반전기와,A bit inverter for selectively bit inverting the current bus value according to the bit information; 상기 선택적으로 비트 반전된 현재 버스 값과 상기 이전 버스 값을 벡터적 연산하는 벡터적 연산기와,A vectored operator for performing a vectorwise operation on the selectively inverted current bus value and the previous bus value; 상기 벡터적 연산된 비트 값에 상기 비트 반전 여부를 지시하는 비트 정보를 덧붙여 해당 버스로 전송하는 출력 라인을 포함하되,And an output line for adding the bit information indicating whether the bit is inverted to the vectored bit value and transmitting the bit information to the corresponding bus. 상기 비트 반전 여부를 지시하는 비트 정보는 상기 0의 비트 수가 상기 1의 비트 수 보다 많은 경우, 상기 현재 버스 값을 그대로 출력하도록 하며, 상기 0의 비트 수가 상기 1의 비트 수 보다 적은 경우 상기 현재 버스 값을 반전하여 출력하도록 하고,The bit information indicating whether the bit is inverted outputs the current bus value as it is when the number of bits of 0 is greater than the number of bits of 1, and when the number of bits of 0 is less than the number of bits of 1, the current bus. Invert the value and print it out, 상기 비트 반전 여부를 지시하는 비트 정보는 상기 0의 비트 수와 상기 1의 비트 수가 동일한 경우, 상기 현재 버스 값을 그대로 출력하거나 또는 반전하여 출력하도록 하는 것을 특징으로 하는 버스 코딩 장치.And the bit information indicating whether the bit is inverted is to output the current bus value as it is or to invert the same when the number of bits of 0 and the number of bits of 1 are the same. 저전력 대규모 집적 회로 시스템을 위한 어드레스 버스 디코딩 장치에 있어서,An address bus decoding apparatus for a low power large scale integrated circuit system, 이전 버스값을 저장하는 이전 버스값 저장기와,A previous bus value store for storing previous bus values, 버스 라인을 통해 입력된 현재 버스 값으로부터 상기 현재 버스 값의 0의 비트 수와 1의 비트 수를 비교하여 결정되는 비트 반전 여부를 지시하는 비트 정보를 제외한 비트 값과 이전 버스 값을 벡터적 연산하는 벡터적 연산기와,A vector operation is performed on the previous bus value and the bit value except for bit information indicating whether or not bit inversion is determined by comparing the number of bits of 0 and the number of bits of the current bus value from the current bus value input through the bus line. Vector operator, 상기 반전 여부를 지시하는 비트 정보에 따라 상기 벡터적 연산된 비트 값을 선택적으로 비트 반전하여 출력하는 비트 반전기를 포함하되,And a bit inverter for selectively bit inverting and outputting the vectorized bit value according to bit information indicating whether the inversion is performed. 상기 비트 반전 여부를 지시하는 비트 정보는 상기 0의 비트 수가 상기 1의 비트 수 보다 많은 경우, 상기 현재 버스 값을 그대로 출력하도록 하며, 상기 0의 비트 수가 상기 1의 비트 수 보다 적은 경우 상기 현재 버스 값을 반전하여 출력하도록 하고,The bit information indicating whether the bit is inverted outputs the current bus value as it is when the number of bits of 0 is greater than the number of bits of 1, and when the number of bits of 0 is less than the number of bits of 1, the current bus. Invert the value and print it out, 상기 비트 반전 여부를 지시하는 비트 정보는 상기 0의 비트 수와 상기 1의 비트 수가 동일한 경우, 상기 현재 버스 값을 그대로 출력하거나 또는 반전하여 출력하도록 하는 것을 특징으로 하는 버스 디코딩 장치.And the bit information indicating whether the bit is inverted is to output the current bus value as it is or to invert the same when the number of bits of 0 and the number of bits of 1 are the same. 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020060020164A 2006-03-02 2006-03-02 Method and apparatus of address bus coding/decoding for low-power very large scale integration system KR101311617B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060020164A KR101311617B1 (en) 2006-03-02 2006-03-02 Method and apparatus of address bus coding/decoding for low-power very large scale integration system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060020164A KR101311617B1 (en) 2006-03-02 2006-03-02 Method and apparatus of address bus coding/decoding for low-power very large scale integration system

Publications (2)

Publication Number Publication Date
KR20070090447A KR20070090447A (en) 2007-09-06
KR101311617B1 true KR101311617B1 (en) 2013-09-26

Family

ID=38688847

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060020164A KR101311617B1 (en) 2006-03-02 2006-03-02 Method and apparatus of address bus coding/decoding for low-power very large scale integration system

Country Status (1)

Country Link
KR (1) KR101311617B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100933667B1 (en) 2007-11-02 2009-12-23 주식회사 하이닉스반도체 Semiconductor memory device with bus inversion technology

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100435215B1 (en) * 1999-12-30 2004-06-09 삼성전자주식회사 Bus encoding/decoding apparatus and method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100435215B1 (en) * 1999-12-30 2004-06-09 삼성전자주식회사 Bus encoding/decoding apparatus and method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
국외학술지논문 *

Also Published As

Publication number Publication date
KR20070090447A (en) 2007-09-06

Similar Documents

Publication Publication Date Title
US7538696B2 (en) System and method for Huffman decoding within a compression engine
US20070242508A1 (en) Low power balance code using data bus inversion
KR20140088319A (en) Method for compressing data and devices using the method
WO2019214141A1 (en) Coding method and device, and readable storage medium
KR100969748B1 (en) Method and apparatus for transmitting/receiving serial data in serial communication system and serial communication system thereof
WO2019214140A1 (en) Coding method, device and readable storage medium
KR101311617B1 (en) Method and apparatus of address bus coding/decoding for low-power very large scale integration system
US9077606B2 (en) Data transmission device, data reception device, and data transmission method
KR101653468B1 (en) Data inversion coding apparatus and method
JP2009503927A (en) 4-level logic decoder
CN115114209B (en) Signal transmitting apparatus, transmitting and receiving system, and transmitting and receiving method
CN111970007B (en) Decoding method, decoder, device and medium
US6925592B2 (en) Turbo decoder, turbo encoder and radio base station with turbo decoder and turbo encoder
JP2009009289A (en) Semiconductor memory device
US7170431B2 (en) Data transmitting circuit and method based on differential value data encoding
KR101370606B1 (en) Bus encoding device to minimize the switching and crosstalk delay
US8166219B2 (en) Method and apparatus for encoding/decoding bus signal
KR20210063011A (en) OR-network Bus Encoding Apparatus and Method for Low-Pover Two-Burst Data Transfer
US20020099673A1 (en) Coding and memorizing method for fuzzy logic membership functions and corresponding method and circuit architecture for calculating the membership degree
WO2007059645A1 (en) Signal transition feature based coding for serial link
KR100946177B1 (en) Apparatus and method transmitting - receivering data
JP6695813B2 (en) Dedicated arithmetic coding instruction
TW201440046A (en) Decoding circuit and associated encoding method and decoding method
CN112462845B (en) Data transmission clock control circuit, method and processor
KR102684403B1 (en) Logic circuit, encoder including the same, and method for generating control signal using the same

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160830

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170830

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180830

Year of fee payment: 6