# Patent

## Title
Transmitting device for high speed communication, and interface circuit and system including the same

## Abstract

A transmitting device may include an encoder, a timing transmission controller, and a transmission driver. The encoder may generate transmission control signals according to control symbols. The timing transmission controller may generate driving control signals from the transmission control signals. The transmission driver may drive each of wires to one level among multiple levels, based on the driving control signals. The timing transmission controller may control generation timings of the driving control signals according to levels to which the wires are to be driven.

## Background
CROSS-REFERENCES TO RELATED APPLICATION
The present application claims priority under 35 U.S.C. §119(a) to Korean application number 10-2015-0122951, filed on Aug. 31, 2015, in the Korean Intellectual Property Office, which is incorporated herein by reference in its entirety.
BACKGROUND
1. Technical Field
Various embodiments generally relate to a semiconductor system, and more particularly, to a transmitting device for high speed communication, and an interface circuit and a system including the same.
2. Related Art
Electronic products for personal use, such as a personal computer, a tablet PC, a laptop computer, and a smart phone, may be configured by various electronic components. Two different electronic components in the electronic products may communicate at high speed to process a large amount of data within a short time. The electronic components may generally communicate through interface circuits. The electronic components may communicate in various schemes, where a serial communication scheme is an example.
As the performance of electronic components improve, there is a greater need for a communication scheme capable of increasing bandwidth and reducing power consumption. In order to meet such need, various new serial communication schemes are needed in the art.
SUMMARY
In an embodiment, a transmitting device may include: a logic circuit configured to generate control symbols; an encoder configured to change information of a wire state based on the control symbols, and generate transmission control signals; a timing transmission controller configured to generate driving control signals based on the transmission control signals, and control generation timings of the driving control signals by comparing previously inputted transmission control signals and currently inputted transmission control signals; and a transmission driver configured to drive each of a plurality of wires to one level among multiple levels, in response to the driving control signals.
In an embodiment, a transmitting device may include: a transmission driver configured to drive a plurality of wires each to one of a high level, a middle level and a low level, in response to a plurality of driving control signals; and a timing transmission controller configured to generate the plurality of driving control signals to change levels of the plurality of wires, and change a time of a generation of the plurality of driving control signals according to levels to which the plurality of wires are to be driven.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a diagram illustrating a representation of an example configuration of a system in accordance with an embodiment.
FIG. 2 is a diagram illustrating a representation of an example configuration and operation of a system in accordance with an embodiment.
FIG. 3 is a diagram illustrating a representation of an example system including electronic components which use a balanced code multilevel signal transmission scheme described with reference to FIGS. 1 and 2.
FIG. 4 is a diagram illustrating a representation of an example configuration of a transmitting device in accordance with an embodiment.
FIG. 5 is a diagram illustrating a representation of an example configuration of a first transmission driver illustrated in FIG. 4.
FIG. 6 includes representations of examples of a table and a state diagram to assist in explaining wire states changes based on control symbols in accordance with an embodiment.
FIG. 7 is a diagram illustrating a representation of an example configuration of a first encoder illustrated in FIG. 4.
FIG. 8 is a diagram illustrating a representation of an example configuration of a rotation register illustrated in FIG. 7.
FIG. 9 is a diagram illustrating a representation of an example configuration of a first rotation circuit illustrated in FIG. 8.
FIG. 10 is a diagram illustrating a representation of an example configuration of an inversion register illustrated in FIG. 7.
FIG. 11 is a diagram illustrating a representation of an example configuration of a first inversion circuit illustrated in FIG. 10.
FIG. 12 is a diagram illustrating a representation of an example configuration of a first transmission controller illustrated in FIG. 5.
FIG. 13 is a diagram illustrating a representation of an example detailed configuration of an up controller and a down controller illustrated in FIG. 12.
FIG. 14 is a diagram illustrating a representation of an example configuration of an up pre-emphasis buffer illustrated in FIG. 13.
FIG. 15 is a diagram illustrating a representation of an example configuration of a down pre-emphasis buffer illustrated in FIG. 13.
FIG. 16 is a representation of an example diagram to assist in an explanation of an operation of a transmitting device in accordance with an embodiment.
FIG. 17 is a diagram illustrating a representation of an example configuration and operation of a transmitting device in accordance with an embodiment.
FIG. 18 is a diagram illustrating a representation of an example configuration of a transmitting device in accordance with an embodiment.
FIG. 19 is a diagram illustrating representations of examples of waveforms in which wires are driven by the transmitting device shown in FIG. 4 and the transmitting device shown in FIG. 18.
FIG. 20 is a diagram illustrating a representation of an example configuration of the first timing transmission controller illustrated in FIG. 18.
FIG. 21 is a diagram illustrating a representation of an example configuration of a timing control signal generator illustrated in FIG. 20.
FIGS. 22A to 22C are diagrams illustrating representations of example configurations of the first timing control circuit illustrated in FIG. 20.
FIG. 23 is a timing diagram illustrating a representation of example waveforms of a first wire which is driven to various levels in accordance with an embodiment.



DETAILED DESCRIPTION
Various embodiments are directed to a transmitting device capable of changing wire states according to data and/or symbols to transmit, in a system communicating by transmitting balanced code multilevel symbols.
Hereinafter, a transmitting device for high speed communication, and an interface circuit and a system including the same will be described below with reference to the accompanying drawings through various examples of embodiments.
Referring to FIG. 1, a system 1 in accordance with an embodiment may include a first device 110 and a second device 120. The first device 110 may represent a component which transmits data, and the second device 120 may represent a component which receives data transmitted from the first device 110. For example, the system 1 may include a master device and a slave device. When data are transmitted from the master device to the slave device, the master device may be the first device 110, and the slave device may be the second device 120. Conversely, when data are transmitted from the slave device to the master device, the master device may be the second device 120, and the slave device may be the first device 110.
The master device may be a host device such as a processor, and the processor may include a central processing unit (CPU), a graphic processing unit (GPU), a multimedia processor (MMP), or a digital signal processor (DSP). The master device may be realized in the form of a system-on-chip (SoC) by combining processor chips having various functions, such as application processors. The slave device may be a memory, and the memory may include a volatile memory or a nonvolatile memory. The volatile memory may include, for example but not limited to, an SRAM (static RAM), a DRAM (dynamic RAM), or an SDRAM (synchronous DRAM). The nonvolatile memory may include a ROM (read only memory), a PROM (programmable ROM), an EEPROM (electrically erasable and programmable ROM), an EPROM (electrically programmable ROM), a flash memory, a PRAM (phase change RAM), an MRAM (magnetic RAM), an RRAM (resistive RAM), or an FRAM (ferroelectric RAM).
The first device 110 and the second device 120 may form a link by being electrically coupled with each other through at least one signal transmission line group. The first device 110 and the second device 120 may communicate in a balanced code multilevel signal transmission scheme through the at least one signal transmission line group. The at least one signal transmission line group may include a plurality of signal transmission lines. For example, in the case where the first device 110 and the second device 120 use an n-level (phase or state) signal transmission scheme, the number of signal transmission lines which form one signal transmission line group may be equal to or greater than n. The first device 110 and the second device 120 may be electrically coupled through a plurality of signal transmission line groups. Referring to FIG. 1, the first device 110 and the second device 120 may be electrically coupled through first and second signal transmission line groups 131 and 132, and each of the first and second signal transmission line groups 131 and 132 may include at least n signal transmission lines.
The first device 110 and the second device 120 may respectively include interface circuits 111 and 121. The interface circuits 111 and 121 may be physical layers for communication between the first device 110 and the second device 120. The interface circuit 111 of the first device 110 may convert a plurality of data into n-level symbols, and transmit the n-level symbols to the second device 120 through the signal transmission line groups 131 and 132. The n-level symbols may be configured by balanced codes. The interface circuit 121 of the second device 120 may receive the n-level symbols transmitted through the signal transmission line groups 131 and 132, and recover the n-level symbols into the plurality of data. For instance, when the plurality of data are m bits, the interface circuit 111 of the first device 110 may convert the m-bits of data into a plurality of n-level symbols, and sequentially transmit in series the plurality of n-level symbols through the signal transmission lines. The interface circuit 121 of the second device 120 may sequentially receive the plurality of n-level symbols, and recover the m-bits of data based on the plurality of n-level symbols. When the first device 110 and the second device 120 include a plurality of signal transmission line groups, information corresponding to the number of signal transmission line groups * n levels of symbols may be simultaneously transmitted.
In an embodiment, one n-level symbol may be not configured by balanced codes, and a plurality of n-level symbols may be configured by balanced codes. That is to say, the entirety of the plurality of n-level symbols may become balanced codes. Accordingly, even though each symbol is not configured by balanced codes, when the plurality of n-level symbols are transmitted through the signal transmission line groups 131 and 132, balanced code multilevel signal transmission may be implemented.
FIG. 2 is a diagram illustrating a representation of an example configuration and operation of a system 2 in accordance with an embodiment. Referring to FIG. 2, the system 2 in accordance with an embodiment may include a master device 210 and a slave device 220. The master device 210 and the slave device 220 may configure one link. The master device 210 and the slave device 220 may communicate through sub links. For example, the master device 210 and the slave device 220 may include interface circuits, respectively, to communicate at a high speed. The master device 210 and the slave device 220 may be coupled through signal transmission lines, and may exchange signals through the signal transmission lines and the interface circuits.
The system 2 in accordance with an embodiment may communicate in a balanced code multilevel signal transmission scheme. The master device 210 and the slave device 220 may be coupled through a wire bus. The wire bus may include a plurality of wire groups, and each wire group may include a plurality of wires. For example, the wire bus may be a 3-wire bus, and each wire group may include 3 wires. The 3 wires of each wire group may be driven to voltage levels corresponding to a symbol to be transmitted from the master device 210 to the slave device 220, or transmitted from the slave device 220 to the master device 210. The 3 wires of each wire group may be driven to a high level, a middle level and a low level to transmit the symbol. For example, the high level may be a voltage level corresponding to 3⁄4V, the middle level may be a voltage level corresponding to 1⁄2V, and the low level may be a voltage level corresponding to 1⁄4V.
Referring to FIG. 2, the master device 210 may include an encoder 211 and a transmitter 212. The encoder 211 and the transmitter 212 may be an interface circuit for balanced code multilevel signal transmission. The encoder 211 may encode data D<0:n> into a plurality of multilevel symbols. The encoder 211 may be a 16:7 mapper which converts 16-bit data into 7 multilevel symbols. The transmitter 212 may receive the plurality of multilevel symbols outputted from the encoder 211. The transmitter 212 may change voltage levels or states of the 3-wire bus according to the multilevel symbols. The multilevel symbols may be, for example, 3-level symbols, and each symbol may include 3 phases. The 3-level symbols may include first to sixth symbols. The first to sixth symbols may mean 6 wire states, respectively. The first to sixth symbols may be defined as +x, −x, +y, −y, +z and −z. The first symbol +x may have the phases of 1, 0, 0, the second symbol −x may have the phases of 0, 1, 1, the third symbol +y may have the phases of 0, 1, 0, the fourth symbol −y may have the phases of 1, 0, 1, the fifth symbol +z may have the phases of 0, 0, 1, and the sixth symbol −z may have the phases of 1, 1, 0. Because the transmitter 212 should change voltage levels or states of the 3-wire bus according to the multilevel symbols, the transmitter 112 may use a symbol which has phases other than 0, 0, 0 or 1, 1, 1.
In order to transmit the first symbol +x, the transmitter 212 may change the states of the 3 wires A, B and C to the high level of 3⁄4V, the low level of 1⁄4V, and the middle level of 1⁄2V, respectively. In order to transmit the second symbol −x, the transmitter 212 may change the states of the 3 wires A, B and C to the low level of 1⁄4V, the high level of 3⁄4V, and the middle level of 1⁄2V, respectively. In order to transmit the third symbol +y, the transmitter 212 may change the states of 3 the wires A, B and C to the middle level of 1⁄2V, the high level of 3⁄4V, and the low level of 1⁄4V, respectively. In order to transmit the fourth symbol −y, the transmitter 212 may change the states of the 3 wires A, B and C to the middle level of 1⁄2V, the low level of 1⁄4V, and the high level of 3⁄4V, respectively. In order to transmit the fifth symbol +z, the transmitter 212 may change the states of the 3 wires A, B and C to the low level of 1⁄4V, the middle level of 1⁄2V, and the high level of 3⁄4V, respectively. In order to transmit the sixth symbol −z, the transmitter 212 may change the states of the 3 wires A, B and C to the high level of 3⁄4V, the middle level of 1⁄2V, and the low level of 1⁄4V, respectively.
The slave device 220 may include a receiver 221 and a decoder 222. The receiver 221 and the decoder 222 may be an interface circuit for balanced code multilevel signal reception. The receiver 221 may be coupled with the 3-wire bus, and may receive the plurality of multilevel symbols according to the voltage levels of the 3-wire bus. While not illustrated, the receiver 221 may include 3 differential buffers corresponding to the 3 wires. The 3 differential buffers may be coupled with at least 2 of the 3 wires A, B and C. For example, a first differential buffer may output the first phase of a multilevel symbol by differentially amplifying the voltage level difference A-B of the first wire and the second wire, a second differential buffer may output the second phase of the multilevel symbol by differentially amplifying the voltage level difference B-C of the second wire and the third wire, and a third differential buffer may generate the third phase of the multilevel symbol by differentially amplifying the voltage level difference C-A of the third wire and the first wire. Therefore, the receiver 221 may output the same multilevel symbols as the multilevel symbols transmitted through the transmitter 212, according to the states or voltage levels of the S-wire bus.
For example, when the first symbol +x is transmitted, the voltage level of the first wire A may be 3⁄4V, the voltage level of the second wire B may be 1⁄4V, and the voltage level of the third wire C may be 1⁄2V. The receiver 221 may output the first phase of the multilevel symbol as 1 by differentially amplifying the voltage level difference A-B of +1⁄2V of the first and second wires, the receiver 221 may output the second phase of the multilevel symbol as 0 by differentially amplifying the voltage level difference B-C of −1⁄4V of the second and third wires, and the receiver 221 may output the third phase of the multilevel symbol as 0 by differentially amplifying the voltage level difference C-A of −1⁄4V of the third and first wires.
The decoder 222 may decode multilevel symbols into data. The decoder 222 may be a 7:16 demapper which decodes 7 multilevel symbols into 16-bit data. The encoding scheme of the encoder 211 and the decoding scheme of the decoder 222 may be complementary to each other. While FIG. 2 shows an example in which data are transmitted from the master device 210 to the slave device 220, the embodiment is not limited to such an example. The slave device 220 may further include components such as the encoder 211 and the transmitter 212 to transmit data to the master to device 210, and the master device 210 may further include components such as the receiver 221 and the decoder 222 to receive data from the slave device 220.
FIG. 3 is a diagram illustrating a representation of an example of a system 3 including electronic components which use the balanced code multilevel signal transmission scheme described with reference to FIGS. 1 and 2. Referring to FIG. 3, the system 3 may include, for example, a host device 310, a large capacity storage device 321, a memory 322, a display device 323, a camera device 324, a modem 325, a bridge chip 326, a wireless chip 327, a sensor 328, and an audio device 329. The host device 310 may communicate with the remaining components by forming respective individual links. The components for an electronic device illustrated in FIG. 3 are nothing but a mere illustration, and it is to be noted that the system 3 may include any components capable of performing data communication with the host device 310.
The host device 310 may include at least one integrated circuit device such as an application processor and an application specific integrated circuit (ASIC). The large capacity storage device 321 may include at least one storage device such as a solid state drive (SSD) and a flash drive through USB coupling. The memory 322 may include any kind of memory devices. For example, the memory 322 may include a volatile memory device such as a DRAM (dynamic RAM), or may include a nonvolatile memory device such as a ROM (read only memory), a PROM (programmable ROM), an EEPROM (electrically erasable and programmable ROM), an EPROM (electrically programmable ROM), a FLASH memory, a PRAM (phase change RAM), an MRAM (magnetic RAM), an RRAM (resistive RAM), and an FRAM (ferroelectric RAM).
The host device 310 may communicate with the large capacity storage device 321 and the memory 322 by forming respective links. The host device 310, the large capacity storage device 321, and the memory 322 may include the interface circuits illustrated in FIGS. 1 and 2, and may exchange signals with one another in a serial communication scheme. Similarly, the host device 310 may communicate serially with the display device 323, the camera device 324, the modem 325, the bridge chip 326, the wireless chip 327, the sensor 328, and the audio device 329 by forming individual links.
FIG. 4 is a diagram illustrating a representation of an example of the configuration of a transmitting device 4 in accordance with an embodiment. The transmitting device 4 may be implemented using the interface circuits illustrated in FIGS. 1 and 2. Referring to FIG. 4, the transmitting device 4 may be coupled with a plurality of wires, and transmit data and/or a multilevel symbol through the plurality of wires. The multilevel symbol may be, for example, a 3-level symbol. When the multilevel symbol is a 3-level symbol, the plurality of wires may include 3 wires. In the following descriptions, it will be representatively explained that the transmitting device 4 outputs, for example but not limited to, a 3-level symbol through 3 wires.
The transmitting device 4 may include a logic circuit logic circuit 410, an encoder 420, a transmission controller 430, and a transmission driver 440. The logic circuit 410 may generate control symbols HOLD, ROTA and INV and wire state information D0_A, D0_B, D0_C, D1_A, D1_B and D1_C. The logic circuit 410 may generate the control symbols HOLD, ROTA and INV based on data that the transmitting device 4 will transmit. The control symbols HOLD, ROTA and INV may be received as signals for changing states of 3 wires OUT_A, OUT_B and OUT_C and may include hold information HOLD, rotation information ROTA, and inversion information INV. [claim 2, clause 1] The wire state information D0_A, D0_B, D0_C, D1_A, D1_B and D1_C may be information of initial wire states. The wire state information D0_A, D0_B, D0_C, D1_A, D1_B and D1_C may include most significant bit (MSB) information and least significant bit (LSB) information. The MSB information may include MSB information D0_A of a first wire state, MSB information D0_B of a second wire state, and MSB information D0_C of a third wire state. The LSB information may include LSB information D1_A of the first wire state, LSB information D1_B of the second wire state, and LSB information D1_C of the third wire state. The MSB and LSB information will later be described in detail. The logic circuit 410 may additionally provide an initialization signal INT, initial setting signals S0 and S1, and a clock signal CLK.
The encoder 420 may change the wire state information D0_A, D0_B, D0_C, D1_A, D1_B and D1_C based on the control symbols HOLD, ROTA and INV, and generate transmission control signals EN0_A, EN0_B, EN0_C, EN1_A, EN1_B and EN1_C. The encoder 420 may change logic values of the wire state information D0_A, D0_B, D0_C, D1_A, D1_B and D1_C based on the control symbols HOLD, ROTA and INV. The transmission control signals EN0_A, EN0_B, EN0_C, EN1_A, EN1_B and EN1_C may be information of wire states to which changes should be made according to the control symbols HOLD, ROTA and INV. The encoder 420 may include first and second encoders 421 and 422.
The first encoder 421 may receive MSB information D0_A, D0_B and D0_C and the control symbols HOLD, ROTA and INV. The first encoding unit 421 may change logic values of the MSB information D0_A, D0_B and D0_C according to the control symbols HOLD, ROTA and INV. The first encoding unit 421 may output the MSB information D0_A, D0_B and D0_C as first transmission control signals EN0_A, EN0_B and EN0_C where logic values of the MSB information D0_A, D0_B and D0_C are changed according to the control symbols HOLD, ROTA and INV. [claim 3, clause 1]The first transmission control signals EN0_A, EN0_B and EN0_C may include first to third encoding signals EN0_A, EN0_B and EN0_C. The first encoding signal EN0_A may be MSB information of a first wire state that is changed according to the control symbols HOLD, ROTA and INV. The second encoding signal EN0_B may be MSB information of a second wire state that is changed according to the control symbols HOLD, ROTA and INV. The third encoding signal EN0_C may be MSB information of a third wire state that is changed according to the control symbols HOLD, ROTA and INV.
The second encoder 422 may receive LSB information D1_A, D1_B and D1_C and the control symbols HOLD, ROTA and INV. The second encoder 422 may change logic values of the LSB information D1_A, D1_B and D1_C according to the control symbols HOLD, ROTA and INV. The second encoder 422 may output the LSB information D1_A, D1_B and D1_C as second transmission control signals EN1_A, EN1_B and EN1_C, where logic values of the LSB information D1_A, D1_B and D1_C are changed according to the control symbols HOLD, ROTA and INV. [claim 3, clause 2] The second transmission control signals EN1_A, EN1_B and EN1_C may include fourth to sixth encoding signals EN1_A, EN1_B and EN1_C. The fourth encoding signal EN1_A may be LSB information of the first wire state that is changed according to the control symbols HOLD, ROTA and INV. The fifth encoding signal EN1_B may be LSB information of the second wire state that is changed according to the control symbols HOLD, ROTA and INV. The sixth encoding signal EN1_C may be LSB information of the third wire state that is changed according to the control symbols HOLD, ROTA and INV.
The first to sixth encoding signals EN0_A, EN0_B, EN0_C, EN1_A, EN1_B and EN1_C may represent the wire states of the table shown in FIG. 2. The first and fourth encoding signals EN0_A and EN1_A may be respectively MSB and LSB information of a first wire state. The transmitting device 4 may drive a first wire OUT_A to a high level when the first and fourth encoding signals EN0_A and EN1_A are 1, 1. The transmitting device 4 may drive the first wire OUT_A to a middle level when the first and fourth encoding signals EN0_A and EN1_A are 1, 0 or 0, 1. The transmitting device 4 may drive the first wire OUT_A to a low level when the first and fourth encoding signals EN0_A and EN1_A are 0, 0. Similarly, the transmitting device 4 may drive a second wire OUT_B to a high level, a middle level and a low level according to the second and fifth encoding signals EN0_B and EN1_B, and the transmitting device 4 may drive a third wire OUT_C to a high level, a middle level and a low level according to the third and sixth encoding signals EN0_C and EN1_C. The wire state information D0_A, D0_B, D0_C, D1_A, D1_B and D1_C may represent initial wire states. For example, if the first wire OUT_A is initially a high level, the second wire OUT_B is initially a middle level and the third wire OUT_C is initially a low level, the wire state information D0_A and D1_A may be 1, 1, the wire state information D0_B and D1_B may be 1, 0 or 0, 1, and the wire state information D0_C and D1_C may be 0, 0.
The transmission controller 430 may generate driving control signals UP0<0:2>, DN0<0:2>, UP1<0:2>, DN1<0:2>, UP2<0:2> and DN2<0:2> based on the transmission control signals EN0_A, EN0_B, EN0_C, EN1_A, EN1_B and EN1_C. The transmission controller 430 may generate the driving control signals UP0<0:2>, DN0<0:2>, UP1<0:2>, DN1<0:2>, UP2<0:2> and DN2<0:2> based on the first and second transmission control signals EN0_A, EN0_B, EN0_C, EN1_A, EN1_B and EN1_C such that states of the first to third wires OUT_A, OUT_B and OUT_C may be changed. The transmission controller 430 may include first to third transmission controllers 431, 432 and 433. The first transmission controller 431 may generate first driving control signals UP0<0:2> and DN0<0:2> for driving the first wire OUT_A, based on the first encoding signal EN0_A and the fourth encoding signal EN1_A. The second transmission controller 432 may generate second driving control signals UP1<0:2> and DN1<0:2> for driving the second wire OUT_B, based on the second encoding signal EN0_B and the fifth encoding signal EN1_B. The third transmission controller 433 may generate third driving control signals UP2<0:2> and DN2<0:2> for driving the third wire OUT_C, based on the third encoding signal EN0_C and the sixth encoding signal EN1_C. Each of the first to third driving control signals UP0<0:2>, DN0<0:2>, UP1<0:2>, DN1<0:2>, UP2<0:2> and DN2<0:2> may include a plurality of up control signals and a plurality of down control signals.
The transmission driver 440 may change states of the first to third wires OUT_A, OUT_B and OUT_C based on the driving control signals UP0<0:2>, DN0<0:2>, UP1<0:2>, DN1<0:2>, UP2<0:2> and DN2<0:2>. The transmission driver 440 may drive each of the first to third wires OUT_A, OUT_B and OUT_C to one of a high level, a middle level and a low level, in response to the driving control signals UP0<0:2>, DN0<0:2>, UP1<0:2>, DN1<0:2>, UP2<0:2> and DN2<0:2>. The transmission driver 440 may include first to third transmission drivers 441, 442 and 443. The first transmission driver 441 may drive the first wire OUT_A to one of a high level, a middle level and a low level, based on the first driving control signals UP0<0:2> and DN0<0:2>. The second transmission driver 442 may drive the second wire OUT_B to one of a high level, a middle level and a low level, based on the second driving control signals UP1<0:2> and DN1<0:2>. The third transmission driver 443 may drive the third wire OUT_C to one of a high level, a middle level and a low level, based on the third driving control signals UP2<0:2> and DN2<0:2>. Each of the first to third transmission drivers 441, 442 and 443 may include a plurality of pull-up drivers and a plurality of pull-down drivers which are coupled with each of the first to third wires OUT_A, OUT_B and OUT_C. The plurality of pull-up drivers and the plurality of pull-down drivers may be turned on according to the plurality of up control signals and the plurality of down control signals.
The transmitting device 4 may further include a calibrator calibrator 450. The calibrator 450 may set resistance values of the first to third transmission drivers 441, 442 and 443. The calibrator 450 may generate a pull-up calibration signal PUCAL and a pull-down calibration signal PDCAL based on a calibration signal ZQCAL. The pull-up calibration signal PUCAL may be a signal for controlling resistance values of the pull-up drivers of the first to third transmission drivers 441, 442 and 443, and the pull-down calibration signal PDCAL may be a signal for controlling resistance values of the pull-down drivers of the first to third transmission drivers 441, 442 and 443.
FIG. 5 is a diagram illustrating a representation of an example of the configuration of the first transmission driver 441 illustrated in FIG. 4. Referring to FIG. 5, the first transmission driver 441 may include a plurality of pull-up drivers and a plurality of pull-down drivers. The first transmission driver 441 drives the first wire OUT_A to one level of a high level, a middle level or a low level such that a signal of one of a high level, a middle level or a low level may be transmitted through the first wire OUT_A. The first transmission driver 441 may drive the first wire OUT_A to the high level by turning on pull-up drivers the number of which is greater than the number of pull-down drivers. The first transmission driver 441 may drive the first wire OUT_A to the low level by turning on pull-down drivers the number of which is greater than the number of pull-up drivers. The first transmission driver 441 may drive the first wire OUT_A to the middle level by turning on pull-up drivers the number of which is the same as the number of pull-down drivers.
Referring to FIG. 5, the first transmission driver 441 may include first and second pull-up drivers 510 and 520 and first and second pull-down drivers 530 and 540. The first pull-up driver 510 may pull-up drive the first wire OUT_A to a power supply voltage level when the first up control signal UP0<0> is enabled. The second pull-up driver 520 may pull-up drive the first wire OUT_A to the level of the power supply voltage when the second up control signal UP0<1> is enabled. The first pull-down driver 530 may pull-down drive the first wire OUT_A to the ground voltage level when the first down control signal DN0<0> is enabled. The second pull-down driver 540 may pull-down drive the first wire OUT_A to a ground voltage level when the second down control signal DN0<1> is enabled.
The first transmission driver 441 may further include a pull-up pre-emphasis driver 550 and a pull-down pre-emphasis driver 560. The pull-up pre-emphasis driver 550 may additionally pull-up drive the first wire OUT_A when the third up control signal UP0<2> is enabled. The pull-down pre-emphasis driver 560 may additionally pull-down drive the first wire OUT_A when the third down control signal DN0<2> is enabled.
If both the first and second pull-up drivers 510 and 520 are turned on, the first transmission driver 441 may transmit a signal of a high level through the first wire OUT_A. If both the first and second pull-down drivers 530 and 540 are turned on, the first transmission driver 441 may transmit a signal of a low level through the first wire OUT_A. If one of the first and second pull-up drivers 510 and 520 and one of the first and second pull-down drivers 530 and 540 are turned on, the first transmission driver 441 may drive the first wire OUT_A to the middle level and a signal of a middle level may be transmitted through the first wire OUT_A. The second and third transmission drivers 442 and 443 have substantially the same configuration as the first transmission driver 441 except signals received thereby and wires coupled therewith may differ.
FIG. 6 is a representation of an example of a table and a state diagram to assist in the explanation of wire states changed based on the control symbols HOLD, ROTA and INV in accordance with an embodiment. The first to third wires OUT_A, OUT_B and OUT_C may be changed in their states according to the control symbols HOLD, ROTA and INV, and may be driven to a high level, a middle level, or a low level. In a present embodiment, the control symbols HOLD, ROTA and INV may be configured by 3 bits. A first bit A of the control symbols HOLD, ROTA and INV may correspond to hold information HOLD, a second bit B of the control symbols HOLD, ROTA and INV may correspond to rotation information ROTA, and a third bit C of the control symbols HOLD, ROTA and INV may correspond to inversion information INV. The hold information HOLD may be flip information. If the hold information HOLD is a first level, a polarity of a transmission control signal and/or a write state may be changed. If the hold information HOLD is a second level, a polarity of a write state may remain unchanged. The hold information HOLD has priority over the rotation information ROTA and the inversion information INV. If the hold information HOLD is a logic low level, a wire state may be changed only in its polarity, regardless of the rotation information ROTA and the inversion information INV. The rotation information ROTA may change a wire state in a clockwise direction or a counterclockwise direction. For example, the rotation information ROTA may rotatively change a wire state in a clockwise direction or a counterclockwise direction with regards to a wire state. For example, if the rotation information ROTA is a first level, a wire state may be changed in the clockwise direction, and, if the rotation information ROTA is a second level, a wire state may be changed in the counterclockwise direction. The inversion information INV may change a polarity of a wire state, along with the rotation information ROTA. For example, if the inversion information INV is a first level, a polarity of a wire state may be changed, and, if the inversion information INV is a second level, a polarity of a wire state may remain unchanged or, in other words, may be maintained. In a present embodiment, the hold information HOLD, the rotation information ROTA, and the inversion information INV may be binary number information, respectively. The first level may be a logic high level, and the second level may be a logic low level.
As in the table and the state diagram illustrated, if the hold information HOLD is 1, a polarity of a wire state may be changed regardless of the rotation information ROTA and the inversion information INV (when the control symbol is 1xx). That is to say, when a wire state is +x, the wire state may be changed to −x, and, when a wire state is −x, the wire state may be changed to +x. Also, +y may be changed to −y, −y may be changed to +y, +z may be changed to −z, and −z may be changed to +z.
When the hold information HOLD is 0, a wire state may be changed in a variety of ways according to the rotation information ROTA and the inversion information INV. If the rotation information ROTA is 0 and the inversion information INV is 0 (when the control symbol is 000), a wire state may not be changed in its polarity, and be changed to a wire state which is positioned in the counterclockwise direction. For example, when a wire state is +x, the wire state may be changed to +z. Similarly, −x may be changed to −z, +y may be changed to +x, −y may be changed to −x, +z may be changed to +y, and −z may be changed to −y.
If the hold information HOLD is 0, the rotation information ROTA is 0 and the inversion information INV is 1 (when the control symbol is 001), a wire state may be changed to be positioned in the counterclockwise direction while being changed in its polarity. For example, when a wire state is +x, the wire state may be changed to −z. Similarly, −x may be changed to +z, +y may be changed to −x, −y may be changed to +x, +z may be changed to −y, and −z may be changed to +y.
If the hold information HOLD is 0, the rotation information ROTA is 1, and the inversion information INV is 0 (when the control symbol is 010), the wire state may be changed to a wire state which is positioned in the clockwise direction, while not being changed in its polarity. For example, when a wire state is +x, the wire state may be changed to +y. Similarly, −x may be changed to −y, +y may be changed to +z, −y may be changed to −z, +z may be changed to +x, and −z may be changed to −x.
If the hold information HOLD is 0, the rotation information ROTA is 1 and the inversion information INV is 1 (when the control symbol is 011), a wire state may be changed to a wire state which is positioned in the clockwise direction, while being changed in its polarity. For example, when a wire state is +x, the wire state may be changed to −y. Similarly, a wire state of −x may be changed to +y, +y may be changed to −z, −y may be changed to +z, +z may be changed to −x, and −z may be changed to +x. The encoder 420, the transmission controller 430, and the transmission driver 440 should drive each of the first to third wires OUT_A, OUT_B and OUT_C to one of a high level, a middle level and a low level, to correspond to a wire state which is changed according to the control symbols HOLD, ROTA and INV.
FIG. 7 is a diagram illustrating a representation of an example of the configuration of the first encoder 421 illustrated in FIG. 4. The first encoder 421 may include a rotation register 710 and an inversion register 720. The rotation register 710 may change wire state information according to control symbols, and generate rotation encoding signals. Since the rotation register 710 receives the MSB information D0_A, D0_B and D0_C of first to third wire states from the logic circuit 410, the rotation register 710 may be an MSB rotation register section. The MSB rotation register 710 may change the MSB information D0_A, D0_B and D0_C based on the hold information HOLD and the rotation information ROTA, and generate MSB rotation encoding signals PEN_A, PEN_B and PEN_C based on the hold information HOLD and the rotation information ROTA. The MSB information D0_A, D0_B and D0_C may total 3 bits including 1 bit as the MSB information of a first wire state, 1 bit as the MSB information of a second wire state, and 1 bit as the MSB information of a third wire state. For example, when the hold information HOLD is the first level, the MSB rotation register 710 may generate the MSB rotation encoding signals PEN_A, PEN_B and PEN_C without changing, in other words, by maintaining the MSB information D0_A, D0_B and D0_C. When the hold information HOLD is the second level, the MSB rotation register 710 may rotate and change logic levels of the 3 bits through rotation in the clockwise direction or the counterclockwise direction, and output changed signals as the MSB rotation encoding signals PEN_A, PEN_B and PEN_C The MSB rotation register 710 may be initialized by receiving the initialization signal INT, and perform the operation of changing the MSB information D0_A, D0_B and D0_C in synchronization with the clock signal CLK.
The inversion register 720 may change the rotation encoding signals PEN_A, PEN_B and PEN_C outputted from the rotation register 710 based on control symbols, and output the transmission control signals EN0_A, EN0_B and EN0_C. Similarly the rotation register 710, since the inversion register 720 changes the MSB information D0_A, D0_B and D0_C, the inversion register 720 may be an MSB inversion register section to the MSB rotation register 710. The MSB inversion register 720 may change the MSB rotation encoding signals PEN_A, PEN_B and PEN_C, based on the hold information HOLD and the inversion information INV. For example, when the hold information HOLD is the first level, the MSB inversion register 720 may output the first transmission control signals EN0_A, EN0_B and EN0_C without changing or by maintaining the MSB rotation encoding signals PEN_A, PEN_B and PEN_C. When the hold information HOLD is the second level, the MSB inversion register 720 may output the first transmission control signals EN0_A, EN0_B and EN0_C by inverting logic levels of the MSB rotation encoding signals PEN_A, PEN_B and PEN_C based on the inversion information INV. Initial values of the MSB inversion register 720 may be set by receiving the MSB information D0_A, D0_B and D0_C of wire states and the initial setting signal S0, and the MSB inversion register 720 may be initialized by receiving the initialization signal INT. Also, the MSB inversion register 720 may output the first transmission control signals EN0_A, EN0_B and EN0_C in synchronization with the clock signal CLK.
The second encoder 422 may have the same configuration as the first encoding unit 421 except that signals inputted thereto and signals outputted therefrom are different. Since the second encoder 422 changes the LSB information D1_A, D1_B and D1_C of wire states according to the control symbols HOLD, ROTA and INV, the second encoder 422 may include an LSB rotation register section and an LSB inversion register section. The LSB rotation register section may have substantially the same configuration as the MSB rotation register 710, and perform the same operation according to the control symbols HOLD, ROTA and INV. Similarly, the LSB inversion register may have substantially the same configuration as the MSB inversion register 720, and perform the same operation according to the control symbols HOLD, ROTA and INV.
FIG. 8 is a diagram illustrating a representation of an example of the configuration of the rotation register 710 shown in FIG. 7. In FIG. 8, the rotation register 710 may include a rotation controller 801, and first to third rotation circuits 810, 820 and 830. The rotation controller 801 may determine whether to activate the first to third rotation circuits 810, 820 and 830, based on the hold information HOLD. For example, if the hold information HOLD is the first level, the rotation controller 801 may control the first to third rotation circuits 810, 820 and 830 not to change levels of currently outputted first to third rotation encoding signals PEN_A, PEN_B and PEN_C. If the hold information HOLD is the second level, the rotation control part 801 may control the first to third rotation circuits 810, 820 and 830 to rotate and thereby change logic values of the first to third rotation encoding signals PEN_A, PEN_B and PEN_C according to the rotation information ROTA. The rotation controller 801 may combine the hold information HOLD and the clock signal CLK, and generate a rotation clock RCLK. The rotation controller 801 may include an AND gate. The rotation clock RCLK may be a signal which is generated by ANDing an inverted signal of the hold information HOLD and the clock signal CLK.
The first rotation circuit 810 may receive the MSB information D0_A of a first wire state, the second and third rotation encoding signals PEN_B and PEN_C, and the rotation information ROTA. A logic value of the first rotation encoding signal PEN_A may be initially set according to the MSB information D0_A of a first wire state. The first rotation circuit 810 may output the second rotation encoding signal PEN_B as the first rotation encoding signal PEN_A when the rotation information ROTA is the second level, and the first rotation circuit 810 may output the third rotation encoding signal PEN_C as the first rotation encoding signal PEN_A when the rotation information ROTA is the first level. The second rotation circuit 820 may receive the MSB information D0_B of a second wire state, the third and first rotation encoding signals PEN_C and PEN_A, and the rotation information ROTA. A logic value of the second rotation encoding signal PEN_B may be initially set according to the MSB information D0_B of a second wire state. The second rotation circuit 820 may output the third rotation encoding signal PEN_C as the second rotation encoding signal PEN_B when the rotation information ROTA is the second level, and the second rotation part 820 may output the first rotation encoding signal PEN_A as the second rotation encoding signal PEN_B when the rotation information ROTA is the first level. The third rotation circuit 830 may receive the MSB information D0_C of a third wire state, the first and second rotation encoding signals PEN_A and PEN_B, and the rotation information ROTA. A logic value of the third rotation encoding signal PEN_C may be initially set according to the MSB information D0_C of a third wire state. The third rotation circuit 830 may output the first rotation encoding signal PEN_A as the third rotation encoding signal PEN_C when the rotation information ROTA is the second level, and the third to rotation part 830 may output the second rotation encoding signal PEN_B as the third rotation encoding signal PEN_C when the rotation information ROTA is the first level. The first to third rotation circuits may be initialized by receiving the initialization signal INT, and perform the operation of changing the MSB information D0_A, D0_B and D0_C in synchronization with the clock signal CLK.
FIG. 9 is a diagram illustrating a representation of an example configuration of the first rotation circuit 810 illustrated in FIG. 8. Referring to FIG. 9, the first rotation circuit 810 may include a multiplexer MUX and a D flip-flop DFF. The multiplexer MUX may output one of the second rotation encoding signal PEN_B and the third rotation encoding signal PEN_C according to the rotation information ROTA. The D flip-flop DFF may set an initial value of the first rotation encoding signal PEN_A according to the MSB information D0_A of a first wire state. The D flip-flop DFF may be activated in response to the rotation clock RCLK. The D flip-flop DFF may retain a logic value of the first rotation encoding signal PEN_A when the rotation clock RCLK is not inputted. The D flip-flop DFF may change a logic value of the first rotation encoding signal PEN_A based on the output of the multiplexer MUX when the rotation clock RCLK is inputted. Accordingly, the first rotation circuit 810 may output one of the second and third rotation encoding signals PEN_B and PEN_C as the first rotation encoding signal PEN_A according to the rotation information ROTA when the hold information HOLD is 0. The second and third rotation circuits 820 and 830 may have substantially the same configuration as the first rotation circuit 810 except that signals inputted thereto and signals outputted therefrom may differ.
FIG. 10 is a diagram illustrating a representation of an example configuration of the inversion register 720 illustrated in FIG. 7. Referring to FIG. 10, the inversion register 720 may include an inversion controller 1001, a first inversion circuit 1010, a second inversion circuit 1020, and a third inversion circuit 1030. The inversion controller 1001 may receive the hold information HOLD, the inversion information INV, the clock signal CLK, and the initial setting signal S0, and the inversion controller 1001 may generate an inversion control signal INVS. The inversion controller 1001 may include an OR gate, an AND gate, and a T flip-flop TFF. The OR gate may receive the hold information HOLD and the inversion information INV. The AND gate may receive the output of the OR gate and the clock signal CLK, and output an inversion clock signal ICLK. The T flip-flop TFF may set an initial level of the inversion control signal INVS according to the initial setting signal S0. The T flip-flop TFF may change a level of the inversion control signal INVS according to the inversion clock signal ICLK. Accordingly, the inversion control signal INVS may be enabled when any one of the hold information HOLD and the inversion information INV is the first level, and the inversion control signal INVS may be disabled when both the hold information HOLD and the inversion information INV are the second level.
The first to third inversion circuits 1010, 1020 and 1030 may respectively receive the first to third rotation encoding signals PEN_A, PEN_B and PEN_C outputted from the rotation register 710, and generate the first to third encoding signals EN0_A, EN0_B and EN0_C. The first inversion circuit 1010 may output the first encoding signal EN0_A by inverting the first rotation encoding signal PEN_A or output the first rotation encoding signal PEN_A as the first encoding signal EN0_A, in response to receiving the inversion control signal INVS. The second inversion circuit 1020 may output the second encoding signal EN0_B by inverting the second rotation encoding signal PEN_B or output the second rotation encoding signal PEN_B as the second encoding signal EN0_B, in response to receiving the inversion control signal INVS. The third inversion circuit 1030 may output the third encoding signal EN0_C by inverting the third rotation encoding signal PEN_C or output the third rotation encoding signal PEN_C as the third encoding signal EN0_C, in response to receiving the inversion control signal INVS. The first to third inversion circuits 1010, 1020, and 1030 may be respectively initialized by the initialization signal INT, and output the first to third encoding signals EN0_A, EN0_B and EN0_C in synchronization with the clock signal CLK. Further, the first to third inversion circuits 1010, 1020 and 1030 may set initial values of the first to third encoding signals EN0_A, EN0_B and EN0_C by receiving the first to third wire state information D0_A, D0_B and D0_C.
FIG. 11 is a diagram illustrating a representation of an example configuration of the first inversion circuit 1010 illustrated in FIG. 10. The first inversion circuit 1010 may include an inverter IV, a multiplexer MUX, and a D flip-flop DFF. The inverter IV may invert the first rotation encoding signal PEN_A. The multiplexer MUX may output one of the output of the inverter IV and the first rotation encoding signal PEN_A in response to the inversion control signal INVS. The D flip-flop DFF may be initialized by the initial signal INT. The D flip-flop DFF may set an initial value of the first encoding signal EN0_A based on the first wire state information D0_A. The D flip-flop DFF may generate the first encoding signal EN0_A according to the output of the multiplexer MUX in synchronization with the clock signal CLK. Therefore, the first inversion circuit 1010 may output the first encoding signal EN0_A by inverting the first rotation encoding signal PEN_A when the inversion control signal INVS is enabled, and output the first rotation encoding signal PEN_A as the first encoding signal EN0_A, when the inversion control signal INVS is disabled. The second and third inversion circuits 1020 and 1030 may have substantially the same configuration as the first inversion circuit 1010 except that signals received thereby and signals outputted therefrom may be different.
FIG. 12 is a diagram illustrating a representation of an example configuration of the first transmission controller 431 shown in FIG. 4. The first transmission controller 431 may receive the first encoding signal EN0_A and the fourth encoding signal EN1_A, and generate the plurality of up control signals UP0<0:2> and the plurality of down control signals DN0<0:2>. The first transmission controller 431 may include an up controller 1210, and a down controller 1220. The up controller 1210 may receive the first encoding signal EN0_A and the fourth encoding signal EN1_A, and generate first to third up control signals UP0<0:2> in synchronization with the clock signal CLK. The down controller 1220 may receive the first encoding signal EN0_A and the fourth encoding signal EN1_A, and generate first to third down control signals DN0<0:2> in synchronization with the clock signal CLK.
Among the first to third up control signals UP0<0:2>, the first and second up control signals UP0<0> and UP0<1> may be generated based on levels of the first and fourth encoding signals EN0_A and EN1_A. The first and second up control signals UP0<0> and UP0<1> may be signals for driving the first and second pull-up drivers 510 and 520 of the first transmission driver 441. The third up control signal UP0<2> may be generated based on a result of comparing levels of previously inputted first and fourth encoding signals EN0_A and EN1_A and levels of currently inputted first and fourth encoding signals EN0_A and EN1_A. The third up control signal UP0<2> may be a signal for driving the pull-up pre-emphasis driver 550 of the first transmission driver 441.
Among the first to third down control signals DN0<0:2>, the first and second down control signals DN0<0> and DN0<1> may be generated based on levels of the first and fourth encoding signals EN0_A and EN1_A. The first and second down control signals DN0<0> and DN0<1> may be signals for driving the first and second pull-down drivers 530 and 540 of the first transmission driver 441. The third down control signal DN0<2> may be generated based on a result of comparing levels of previously inputted first and fourth encoding signals EN0_A and EN1_A and levels of currently inputted first and fourth encoding signals EN0_A and EN1_A. The third down control signal DN0<2> may be a signal for driving the pull-down pre-emphasis driver 560 of the first transmission driver 441.
FIG. 13 is a diagram illustrating a representation of an example detailed configurations of the up controller 1210 and the down controller 1220 illustrated in FIG. 12. Referring to FIG. 13, the up controller 1210 may include an up buffer 1311, a first D flip-flop 1312, a second D flip-flop 1313, and an up pre-emphasis buffer 1314. The up buffer 1311 may generate the first up control signal UP0<0> based on the first encoding signal EN0_A, and generate the second up control signal UP0<1> based on the fourth encoding signal EN1_A. The first D flip-flop 1312 receives the first encoding signal EN0_A, and delays the first encoding signal EN0_A in response to the clock signal CLK and outputs a resultant signal. The output of the first D flip-flop 1312 may be a previously inputted first encoding signal EN0_AP. The second D flip-flop 1313 receives the fourth encoding signal EN1_A, and delays the fourth encoding signal EN1_A in response to the clock signal CLK and outputs a resultant signal. The output of the second D flip-flop 1313 may be a previously inputted fourth encoding signal EN1_AP. The up pre-emphasis buffer 1314 may receive the first and fourth encoding signals EN0_A and EN1_A and outputs of the first and second D flip-flops 1312 and 1313, and generate the third up control signal UP0<2>. The up pre-emphasis buffer 1314 may generate the third up control signal UP0<2> by comparing levels of the previously inputted first and fourth encoding signals EN0_AP and EN1_AP from the first and second D flip-flops 1312 and 1313 and levels of the currently inputted first and fourth encoding signals EN0_A and EN1_A.
Referring to FIG. 13, the down controller 1220 may include a down buffer 1321, a third D flip-flop 1322, a fourth D flip-flop 1323, and a down pre-emphasis buffer 1324. The down buffer 1321 may generate the first down control signal DN0<0> based on the first encoding signal EN0_A, and generate the second down control signal DN0<1> based on the fourth encoding signal EN1_A. The third D flip-flop 1322 receives the first encoding signal EN0_A, and delays the first encoding signal EN0_A in response to the clock signal CLK and outputs a resultant signal. The output of the third D flip-flop 1322 may be a previously inputted first encoding signal EN0_AP. The fourth D flip-flop 1323 receives the fourth encoding signal EN1_A, and delays the fourth encoding signal EN1_A in response to the clock signal CLK and outputs a resultant signal. The output of the fourth D flip-flop 1323 may be a previously inputted fourth encoding signal EN1_AP. The down pre-emphasis buffer 1324 may receive the first and fourth encoding signals EN0_A and EN1_A and the outputs of the third and fourth D flip-flops 1322 and 1323, and generate the third down control signal DN0<2>. The down pre-emphasis buffer 1324 may generate the third down control signal DN0<2> by comparing levels of the previously inputted first and fourth encoding signals EN0_AP and EN1_AP from the third and fourth D flip-flops 1322 and 1323 and levels of the currently inputted first and fourth encoding signals EN0_A and EN1_A.
FIG. 14 is a diagram illustrating a representation of an example configuration of the up pre-emphasis buffer 1314 illustrated in FIG. 13. Referring to FIG. 14, the up pre-emphasis buffer 1314 may include an OR gate OR, a NOR gate NOR, an AND gate AND, and a delay DLY. The OR gate OR may receive the currently inputted first and fourth encoding signals EN0_A and EN1_A. The NOR gate NOR may receive the previously inputted first and fourth encoding signals EN0_AP and EN1_AP. The AND gate AND may receive outputs of the OR gate OR and the NOR gate NOR. The AND gate AND may generate a first level output signal when both outputs of the OR gate OR and the NOR gate NOR are the first level. The OR gate OR may generate a first level output signal in the case where even one of the first and fourth encoding signals EN0_A and EN1_A is the first level, and the NOR gate NOR may generate a first level output signal only when both the previously inputted first and fourth encoding signals EN0_AP and EN1_AP are the second level. The first and fourth encoding signals EN0_A and EN1_A may respectively be the MSB information and the LSB information of a first wire state. Therefore, if both the previously inputted first and fourth encoding signals EN0_AP and EN1_AP are the second level, the first wire OUT_A may have transmitted a low level signal. In the case where any one of the currently inputted first and fourth encoding signals EN0_A and EN1_A is the first level, it may be sensed that the first wire OUT_A transmits a low level signal and then transmits a middle level signal or a high level signal. Therefore, the up pre-emphasis buffer 1314 may enable the third up control signal UP0<2> when both the previously inputted first and fourth encoding signals EN0_AP and EN1_AP are the second level and any one of the currently inputted first and fourth encoding signals EN0_A and EN1_A is the first level. The delay DLY may receive the output of the AND gate AND, and generate the third up control signal UP0<2>. The delay DLY may receive an up pre-emphasis control signal CTUP. The up pre-emphasis control signal CTUP may determine whether or not to perform a pre-emphasis operation on the transmitting device 4, and may control the strength of the pre-emphasis operation. The delay DLY may determine whether or not to output the third up control signal UP0<2>, based on the up pre-emphasis control signal CTUP, and change a pulse width and an output timing of the third up control signal UP0<2>.
FIG. 15 is a diagram illustrating a representation of an example configuration of the down pre-emphasis buffer 1324 shown in FIG. 13. The down pre-emphasis buffer 1324 may include an AND gate AND, a NAND gate ND, a NOR gate NOR, and a delay DLY. The AND gate AND may receive the currently inputted first and fourth encoding signals EN0_A and EN1_A. The NAND gate ND may receive the previously inputted first and fourth encoding signals EN0_AP and EN1_AP. The NOR gate NOR may receive outputs of the AND gate AND and the NAND gate ND. The NOR gate NOR may generate an output signal of the first level when both the outputs of the AND gate AND and the NAND gate ND are the second level. The AND gate AND may generate an output signal of the second level when any one of the first and fourth encoding signals EN0_A and EN1_A is the second level, and the NAND gate ND may generate an output signal of the second level only when both the previously inputted first and fourth encoding signals EN0_AP and EN1_AP are the first level. The first and fourth encoding signals EN0_A and EN1_A may be respectively the MSB information and the LSB information of a first wire state. Accordingly, when both the previously inputted first and fourth encoding signals EN0_AP and EN1_AP are the first level and any one of the currently inputted first and fourth encoding signals EN0_A and EN1_A is changed to the second level, it may be sensed that the first wire OUT_A transmits a high level signal and then transmits a middle level signal or a low level signal. Therefore, the down pre-emphasis buffer 1324 may enable the third down control signal DN0<2> when both the previously inputted first and fourth encoding signals EN0_AP and EN1_AP are the first level and any one of the currently inputted first and fourth encoding signals EN0_A and EN1_A is the second level. The delay DLY may receive the output of the NOR gate NOR, and generate the third down control signal DN0<2>. The delay DLY may receive a down pre-emphasis control signal CTDN. The down pre-emphasis control signal CTDN may determine whether or not to to perform a pre-emphasis operation on the transmitting device 4, and may control the strength of the pre-emphasis operation. The delay DLY may determine whether or not to output the third down control signal DN0<2>, based on the down pre-emphasis control signal CTDN, and change a pulse width and an output timing of the third down control signal DN0<2>.
FIG. 16 is a representation of an example diagram to assist in an explanation of the operation of the transmitting device 4 in accordance with an embodiment. The operation of the transmitting device 4 in accordance with the embodiment will be described below with reference to FIGS. 4 to 16. When assuming that an initial wire state is +z, the first wire OUT_A may transmit a low level L, the second wire OUT_B may transmit a middle level M, and the third wire OUT_C may transmit a high level H. Accordingly, the MSB information D0_A, D0_B and D0_C of the wire state may be 0, 0, 1, and the first to third encoding signals EN0_A, EN0_B and EN0_C may be set to 0, 0, 1, respectively. The LSB information D1_A, D1_B and D1_C of the wire state may be 0, 1, 1, and the fourth to sixth encoding signals EN1_A, EN1_B and EN1_C may be set to 0, 1, 1, respectively. In order to change the wire state +z to the wire state −x, the logic circuit 410 may generate the control symbols HOLD, ROTA and INV. The control symbols HOLD, ROTA and INV may be 0, 1, 1. In other words, the hold information HOLD may be the second level, and the rotation information ROTA and the inversion information INV may be the first level. According to this fact, the MSB rotation register 710 may rotate the first to third rotation encoding signals PEN_A, PEN_B and PEN_C set to 0, 0, 1 according to the MSB information D0_A, D0_B and D0_C, in the clockwise direction, and generate the first to third rotation encoding signals PEN_A, PEN_B and PEN_C being 1, 0, 0. The MSB inversion register 720 may invert the first to third rotation encoding signals PEN_A, PEN_B and PEN_C, and generate the first to third encoding signals EN0_A, EN0_B and EN0_C being 0, 1, 1. Similarly, the LSB rotation register of the second encoder 422 may rotate the rotation encoding signals set to 0, 1, 1 according to the LSB information D1_A, D1_B and D1_C, in the clockwise direction, and generate rotation encoding signals being 1, 0, 1. The LSB inversion register of the second encoder 422 may invert the rotation encoding signals, and generate the fourth to sixth encoding signals EN1_A, EN1_B and EN1_C being 0, 1, 0.
The up controller 1210 of the first transmission controller 431 may disable both the up control signals UP0<0> and UP0<1> according to the first and fourth encoding signals EN0_A and EN1_A. The down controller 1220 of the first transmission controller 431 may enable both the down control signals DN0<0> and DN0<1> according to the first and fourth encoding signals EN0_A and EN1_A. Accordingly, both the first and second pull-down drivers 530 and 540 of the first transmission driver 441 may be turned on, and the first wire OUT_A may transmit a signal of the low level L. The second transmission controller 432 may enable both the up control signals UP1<0> and UP1<1> according to the second and fifth encoding signals EN0_B and EN1_B. Accordingly, both the pull-up drivers of the second transmission driver 442 may be turned on, and the second wire OUT_B may transmit a signal of the high level H. The third transmission controller 433 may enable the up control signal UP2<0> and the down control signal DN2<1> according to the third and sixth encoding signals EN0_C and EN1_C. Accordingly, the first pull-up driver and the second pull-down driver of the third transmission driver 443 may be turned on together, and the third wire OUT_C may transmit a signal of the middle level M. Because the first wire OUT_A is driven to the low level L, the second wire OUT_B is driven to the high level H, and the third wire OUT_C is driven to the middle level M, a wire state may become −x.
When a wire state is +z, the first to third encoding signals EN0_A, EN0_B and EN0_C may be 0, 0, 1, and the fourth to sixth encoding signals EN1_A, EN1_B and EN1_C may be 0, 1, 1. In order to change the wire state +z to the wire state +y, the logic circuit 410 may generate the control symbols HOLD, ROTA and INV being 0, 0, 0. The MSB rotation register 710 may rotate the first to third rotation encoding signals PEN_A, PEN_B and PEN_C being 0, 0, 1, in the counterclockwise direction, and generate the first to third rotation encoding signals PEN_A, PEN_B and PEN_C being 0, 1, 0. The MSB inversion register 720 may possibly not invert the first to third rotation encoding signals PEN_A, PEN_B and PEN_C, and generate the first to third encoding signals EN0_A, EN0_B and EN0_C being 0, 1, 0. The LSB rotation register of the second encoder 422 may rotate rotation encoding signals being 0, 1, 1 in the counterclockwise direction, and generate rotation encoding signals being 1, 1, 0. The LSB inversion register of the second encoder 422 may possibly not invert the rotation encoding signals, and generate the fourth to sixth encoding signals EN1_A, EN1_B and EN1_C being 1, 1, 0. The first transmission controller 431 may enable the up control signal UP0<1> and the down control signal DN0<0> based on the first and fourth encoding signals EN0_A and EN1_A. Accordingly, the second pull-up driver 520 and the first pull-down driver 530 of the first transmission driver 441 may be turned on together, and the first wire OUT_A may transmit a signal of the middle level M. The second transmission controller 432 may enable both the up control signals UP1<0> and UP1<1> and disable both the down control signals DN1<0> and DN1<1>, based on the second and fifth encoding signals EN0_B and EN1_B. Accordingly, both the pull-up drivers of the second transmission driver 442 may be turned on, and the second wire OUT_B may transmit a signal of the high level H. The third transmission controller 433 may disable both the up control signals UP2<0> and UP2<1> and enable both the down control signals DN2<0> and DN2<1>, based on the third and sixth encoding signals EN0_C and EN1_C. Accordingly, both the pull-down drivers of the third transmission driver 443 may be turned on, and the third wire OUT_C may transmit a signal of the low level L. Because the first wire OUT_A is driven to the middle level M, the second wire OUT_B is driven to the high level H, and the third wire OUT_C is driven to the low level L, a wire state may be +y.
FIG. 17 is a diagram illustrating a representation of an example configuration and the operation of a transmitting device in accordance with an embodiment. FIGS. 1 to 16 show a configuration of a transmitting device where 3 wires transmit a 3-level symbol. The concept of the present disclosure may be modified and changed, and be applied to a transmitting device which transmits a multilevel symbol having at least 3 levels. In FIG. 17, a transmission driver 1700 of a transmitting device capable of transmitting a 4-level symbol through 4 wires is shown. The transmission driver 1700 may be coupled with one wire OUT_A among 4 wires capable of transmitting a 4-level symbol. The transmission driver 1700 may drive the wire OUT_A to one of 4 levels. The 4 levels may include, for example, a high level, a middle high level, a middle low level and a low level. The high level may be a voltage level corresponding to 4⁄5V, the middle high level may be a voltage level corresponding to 3⁄5V, the middle low level may be a voltage level corresponding to 2⁄5V, and the low level may be a voltage level corresponding to 1⁄5V.
The transmission driver 1700 may include first to third pull-up drivers 1710, 1720 and 1730, and first to third pull-down drivers 1740, 1750 and 1760. The first to third pull-up drivers 1710, 1720 and 1730 may be turned on in response to first to third up control signals UP<0:2>, respectively, and the first to third pull-down drivers 1740, 1750 and 1760 may be turned on in response to first to third down control signals DN<0:2>, respectively. In order to drive the wire OUT_A to the high level, the first to third up control signals UP<0:2> may be enabled, and the first to third down control signals DN<0:2> may be disabled. Accordingly, as the first to third pull-up drivers 1710, 1720 and 1730 are turned on, a high level signal may be transmitted through the wire OUT_A. In order to drive the wire OUT_A to the middle high level, 2 up control signals among the first to third up control signals UP<0:2> may be enabled, and 1 down control signal among the first to third down control signals DN<0:2> may be enabled. For example, the first and second up control signals UP<0> and UP<1> and the third down control signal DN<2> may be enabled, and the third up control signal UP<2> and the first and second down control signals DN<0> and DN<1> may be disabled. Accordingly, as the first and second pull-up drivers 1710 and 1720 are turned on and the third pull-down driver 1760 is turned on, a middle high level signal may be transmitted through the wire OUT_A. In order to drive the wire OUT_A to the middle low level, 1 up control signal among the first to third up control signals UP<0:2> may be enabled, and 2 down control signals among the first to third down control signals DN<0:2> may be enabled. For example, the first up control signal UP<0> and the second and third down control signals DN<1> and DN<2> may be enabled, and the second and third up control signals UP<1> and UP<2> and the first down control signal DN<0> may be disabled. Accordingly, as the first pull-up driver 1710 is turned on and the second and third pull-down drivers 1750 and 1760 are turned on, a middle low level signal may be transmitted through the wire OUT_A. In order to drive the wire OUT_A to the low level, the first to third up control signals UP<0:2> may be disabled, and the first to third down control signals DN<0:2> may be enabled. Accordingly, as the first to third pull-down drivers 1740, 1750 and 1760 are turned on, a low level signal may be transmitted through the wire OUT_A.
The transmission driver 1700 may further include a pull-up pre-emphasis driver 1770 and a pull-down pre-emphasis driver 1780. The pull-up pre-emphasis driver 1770 may be provided to additionally pull-up drive the wire OUT_A when the wire OUT_A is driven from a relatively low level to a high level. The pull-down pre-emphasis driver 1780 may be provided to additionally pull-down drive the wire OUT_A when the wire OUT_A is driven from a relatively high level to a low level. The pull-up pre-emphasis driver 1770 may operate by receiving a fourth up control signal UP<3>, and the pull-down pre-emphasis driver 1780 may operate by receiving a fourth down control signal DN<3>.
Each of the first to third pull-up drivers 1710, 1720 and 1730 and the pull-up pre-emphasis driver 1770 may be controlled in its impedance by receiving a pull-up calibration signal PUCAL. Each of the first to third pull-down drivers 1740, 1750 and 1760 and the pull-down pre-emphasis driver 1780 may be controlled in its impedance by receiving a pull-down calibration signal PDCAL.
FIG. 18 is a diagram illustrating a representation of an example configuration of a transmitting device 18 in accordance with an embodiment. In FIG. 18, the transmitting device 18 may include a logic circuit 1810, an encoder 1820, a timing transmission controller 1830, and a transmission driver 1840. The logic circuit 1810, the encoder 1820, and the transmission driver 1840 of the transmitting device 18 are substantially the same as those of the transmitting device 4 of FIG. 4, and thus, detailed descriptions for the same components will be omitted herein. The timing transmission controller 1830 may generate first to third driving control signals UP0<0:2>, DN0<0:2>, UP1<0:2>, DN1<0:2>, UP2<0:2> and DN2<0:2> to change first to third wires OUT_A, OUT_B and OUT_C each to one level of multiple levels. The timing transmission controller 1830 may generate the first to third driving control signals UP0<0:2>, DN0<0:2>, UP1<0:2>, DN1<0:2>, UP2<0:2>and DN2<0:2> based on first and second transmission control signals EN0_A, EN0_B, EN0_C, EN1_A, EN1_B and EN1_C which are received from the encoder 1820. The timing transmission controller 1830 may change times at which the first to third driving control signals UP0<0:2>, DN0<0:2>, UP1<0:2>, DN1<0:2>, UP2<0:2> and DN2<0:2> are generated, according to levels to which the first to third wires OUT_A, OUT_B and OUT_C are to be driven. The multiple levels may include a high level, a middle level, and a low level.
The timing transmission controller 1830 may include first to third timing transmission controller 1831, 1832 and 1833. The first timing transmission controller 1831 may generate the first driving control signals UP0<0:2> and DN0<0:2> for driving the first wire OUT_A, based on first and second transmission control signals. In detail, the first timing transmission controller 1831 may generate a plurality of up control signals UP0<0:2> and a plurality of down control signals DN0<0:2>, based on first and fourth encoding signals EN0_A and EN1_A associated with information of a first wire state among the first and second transmission control signals EN0_A, EN0_B, EN0_C, EN1_A, EN1_B and EN1_C. The second timing transmission controller 1832 may generate the second driving control signals UP1<0:2> and DN1<0:2> for driving the second wire OUT_B, based on first and second transmission control signals. In detail, the second timing transmission controller 1832 may generate a plurality of up control signals UP1<0:2> and a plurality of down control signals DN1<0:2>, based on second and fifth encoding signals EN0_B and EN1_B associated with information of a second wire state among the first and second transmission control signals EN0_A, EN0_B, EN0_C, EN1_A, EN1_B and EN1_C. The third timing transmission controller 1833 may generate the third driving control signals UP2<0:2> and DN2<0:2> for driving the third wire OUT_C, based on first and second transmission control signals. In detail, the third timing transmission controller 1833 may generate a plurality of up control signals UP2<0:2> and a plurality of down control signals DN2<0:2>, based on third and sixth encoding signals EN0_C and EN1_C associated with information of a third wire state among the first and second transmission control signals EN0_A, EN0_B, EN0_C, EN1_A, EN1_B and EN1_C.
FIG. 19 is a diagram illustrating representations of example waveforms in which wires are driven by the transmitting device 4 shown in FIG. 4 and the transmitting device 18 shown in FIG. 18. The transmission controller 430 of the transmitting device 4 shown in FIG. 4 may generate the first to third driving control signals UP0<0:2>, DN0<0:2>, UP1<0:2>, DN1<0:2>, UP2<0:2> and DN2<0:2> at the same timing regardless of levels to which the first to third wires OUT_A, OUT_B and OUT_C are to be driven, such that the first to third wires OUT_A, OUT_B and OUT_C are driven each to one of a high level H, a middle level M and a low level L. Each wire of the first to third wires OUT_A, OUT_B and OUT_C may transition from one level of the high level H, the middle level M, and the low level L to another level. Crossing points of waveforms in which the wire is driven are marked by circles in the drawing. A horizontal interval J1 between the crossing points of the level change waveforms of the wire is associated with a time during which a wire state changes or transitions. Thus, the horizontal interval J1 between the crossing points may become a jitter component of a signal to be transmitted through the wire. Therefore, as the horizontal interval J1 between the crossing points is maximally decreased, the jitter component of a signal to be transmitted through the wire may be reduced.
The timing transmission controller 1830 of the transmitting device 18 shown in FIG. 18 may change timings at which the first to third driving control signals UP0<0:2>, DN0<0:2>, UP1<0:2>, DN1<0:2>, UP2<0:2>and DN2<0:2> are generated, according to levels to which the first to third wires OUT_A, OUT_B and OUT_C are to be driven, and thereby minimize a horizontal interval J2 between crossing points. The timing transmission controller 1830 may generate driving control signals for driving a wire, at a first time, when the wire is driven from the high level H to the middle level M, or is driven from the low level L to the middle level M. The timing transmission controller 1830 may generate the driving control signals for driving the wire, at a second time, when the wire is driven from the high level H to the low level L, or is driven from the low level L to the high level H. The timing transmission controller 1830 may generate the driving control signals for driving the wire, at a third time, when the wire is driven from the middle level M to the high level H, or is driven from the middle level M to the low level L. [20] The first time may be earlier than the second time, and the second time may be earlier than the third time.
The timing transmission controller 1830 may generate the driving control signals for driving the wire, at an earliest time, when the wire is driven from the high level H or the low level L to the middle level M. The timing transmission controller 1830 may generate the driving control signals for driving the wire, at a latest time, when the wire is driven from the middle level M to the high level H or the low level L. Accordingly, the crossing points of the level change waveforms of the wire may be changed. Changed crossing points are marked by squares. By changing the generation timings of the driving control signals, the timing transmission controller 1830 may narrow the horizontal interval J2 of the crossing points, and minimize the jitter component of a signal to be transmitted through the wire.
FIG. 20 is a diagram illustrating a representation of an example configuration of the first timing transmission control unit 1831 shown in FIG. 18. In FIG. 20, the first timing transmission controller 1831 may include a timing control signal generator 2010, a first up/down controller 2020, and a second up/down controller 2030. The timing control signal generator 2010 may compare previously inputted first and second transmission control signals and currently inputted first and second transmission control signals, and generate timing control signals LEAD, LEADB, LAG and LAGB. In detail, the timing control signal generator 2010 may compare previously inputted first and fourth encoding signals EN0_AP and EN1_AP and currently inputted first and fourth encoding signals EN0_A and EN1_A, and generate a lead signal LEAD and a lag signal LAG. The timing control signal generator 2010 may generate not only the lead signal LEAD and the lag signal LAG but also an inverted signal LEADB of the lead signal LEAD and an inverted signal LAGB of the lag signal LAG. The timing control signal generator 2010 may enable the lead signal LEAD when the previously inputted first and fourth encoding signals EN0_AP and EN1_AP are the same level and the currently inputted first and fourth encoding signals EN0_A and EN1_A are different levels. That is to say, the timing control signal generator 2010 may enable the lead signal LEAD when the previously inputted first and fourth encoding signals EN0_AP and EN1_AP are the same level, that is, a first level or a second level, and the currently inputted first and fourth encoding signals EN0_A and EN1_A are different levels. The timing control signal generator 2010 may disable the lead signal LEAD and enable the lag signal LAG when the previously inputted first and fourth encoding signals EN0_AP and EN1_AP are different levels and the currently inputted first and fourth encoding signals EN0_A and EN1_A are the same level. Also, the timing control signal generator 2010 may disable both the lead signal LEAD and the lag signal LAG when the previously inputted first and fourth encoding signals EN0_AP and EN1_AP are the first level and the currently inputted first and fourth encoding signals EN0_A and EN1_A are the second level, or when the previously inputted first and fourth encoding signals EN0_AP and EN1_AP are the second level and the currently inputted first and fourth encoding signals EN0_A and EN1_A are the first level.
The first up/down controller 2020 may delay the currently inputted first transmission control signal in response to the timing control signals LEAD, LEADB, LAG and LAGB, and generate a first up control signal UP0<0> and a first down control signal DN0<0>. In detail, the first up/down controller 2020 may delay the currently inputted first encoding signal EN0_A in response to the lead signal LEAD and the lag signal LAG, and generate the first up control signal UP0<0> and the first down control signal DN0<0>. The first up/down controller 2020 may include a first timing control part 2021 and a first up/down buffer 2022. The first timing control part 2021 may delay the currently inputted first encoding signal EN0_A in response to the timing control signals LEAD, LEADB, LAG and LAGB, and generate a first timing encoding signal EN0_AD. In detail, the first timing control part 2021 may delay the currently inputted first encoding signal EN0_A by a first time and generate the first timing encoding signal EN0_AD from the currently inputted first transmission control signal, when the lead signal LEAD is enabled. The first timing control part 2021 may delay the currently inputted first encoding signal EN0_A by a second time and generate the first timing encoding signal EN0_AD, when both the lead signal LEAD and the lag signal LAG are disabled. The first timing control part 2021 may delay the currently inputted first encoding signal EN0_A by a third time and generate the first timing encoding signal EN0_AD, when the lag signal LAG is enabled. The second time may be longer than the first time, and the third time may be longer than the second time. The first up/down buffer 2022 may generate the first up control signal UP0<0> and the first down control signal DN0<0> from the first timing encoding signal EN0_AD. For example, the first up/down buffer 2022 may enable the first up control signal UP0<0> and disable the first down control signal DN0<0>, when the first timing encoding signal EN0_AD is the first level. The first up/down buffer 2022 may disable the first up control signal UP0<0> and enable the first down control signal DN0<0>, when the first timing encoding signal EN0_AD is the second level.
The second up/down controller 2030 may delay the currently inputted second transmission control signal in response to the timing control signals LEAD, LEADB, LAG and LAGB, and generate a second up control signal UP0<1> and a second down control signal DN0<1>. In detail, the second up/down controller 2030 may delay the currently inputted fourth encoding signal EN1_A in response to the lead signal LEAD and the lag signal LAG, and generate the second up control signal UP0<1> and the second down control signal DN0<1>. The second up/down controller 2030 may include a second timing control circuit 2031 and a second up/down buffer 2032. The second timing control circuit 2031 may delay the currently inputted second transmission control signal in response to the timing control signals LEAD, LEADB, LAG and LAGB, and generate a fourth timing encoding signal EN1_AD. In detail, the second timing control circuit 2031 may delay the currently inputted fourth encoding signal EN1_A by the first time and generate the fourth timing encoding signal EN1_AD from the currently inputted second transmission control signal, when the lead signal LEAD is enabled. The second timing control circuit 2031 may delay the currently inputted fourth encoding signal EN1_A by the second time and generate the fourth timing encoding signal EN1_AD, when both the lead signal LEAD and the lag signal LAG are disabled. The second timing control circuit 2031 may delay the currently inputted fourth encoding signal EN1_A by the third time and generate the fourth timing encoding signal EN1_AD, when the lag signal LAG is enabled. The second up/down buffer 2032 may generate the second up control signal UP0<1> and the second down control signal DN0<1> from the fourth timing encoding signal EN1_AD. For example, the second up/down buffer 2032 may enable the second up control signal UP0<1> and disable the second down control signal DN0<1>, when the fourth timing encoding signal EN1_AD is the first level. The second up/down buffer 2032 may disable the second up control signal UP0<1> and enable the second down control signal DN0<1>, when the fourth timing encoding signal EN1_AD is the second level.
The first timing transmission controller 1831 may further include first and second flip-flops 2040 and 2050. The first and second flip-flops 2040 and 2050 may be D flip-flops. The first and second flip-flops 2040 and 2050 may delay the first and second transmission control signals, respectively, and output resultant signals. Accordingly, outputs of the first and second flip-flops 2040 and 2050 may be the previously inputted first and second transmission control signals, respectively. In detail, the first and second flip-flops 2040 and 2050 may delay the first and fourth encoding signals EN0_A and EN1_A, respectively, and output the delayed signals as the previously inputted first and fourth encoding signals EN0_AP and EN1_AP. The first and second flip-flops 2040 and 2050 may perform delay operations in response to a clock signal CLK, and may be initialized in response to an initialization signal INT. While not shown, the first timing transmission controller 1831 may additionally include the same components as the up pre-emphasis buffer 1314 and the down pre-emphasis buffer 1324 shown in FIG. 13, to generate a third up control signal UP0<2> and a third down control signal DN0<2>.
FIG. 21 is a diagram illustrating a representation of an example configuration of the timing control signal generating section 2010 shown in FIG. 20. In FIG. 21, the timing control signal generator 2010 may include a first XOR gate 2101, a first XNOR gate 2102, a first OR gate 2103, a second XNOR gate 2104, a second XOR gate 2105, and a second OR gate 2106. The first XOR gate 2101 may receive the currently inputted first and fourth encoding signals EN0_A and EN1_A. The first XNOR gate 2102 may receive the previously inputted first and fourth encoding signals EN0_AP and EN1_AP. The first OR gate 2103 may receive the outputs of the first XOR gate 2101 and the first XNOR gate 2102, and generate the lead signal LEAD. Accordingly, the lead signal LEAD may be the first level when the currently inputted first and fourth encoding signals EN0_A and EN1_A have different levels or the previously inputted first and fourth encoding signals EN0_AP and EN1_AP have the same level. The lead signal LEAD may be the second level when the currently inputted first and fourth encoding signals EN0_A and EN1_A have the same level and the previously inputted first and fourth encoding signals EN0_AP and EN1_AP have different levels.
The second XNOR gate 2104 may receive the currently inputted first and fourth encoding signals EN0_A and EN1_A. The second XOR gate 2105 may receive the previously inputted first and fourth encoding signals EN0_AP and EN1_AP. The second OR gate 2106 may receive the outputs of the second XNOR gate 2104 and the second XOR gate 2105, and generate the lag signal LAG. Accordingly, the lag signal LAG may be the first level when the currently inputted first and fourth encoding signals EN0_A and EN1_A have the same level or the previously inputted first and fourth encoding signals EN0_AP and EN1_AP have different levels. The lag signal LAG may be the second level when the currently inputted first and fourth encoding signals EN0_A and EN1_A have different levels and the previously inputted first and fourth encoding signals EN0_AP and EN1_AP have the same level.
The timing control signal generator 2010 may further include a third XNOR gate 2107, a third XOR gate 2108, a first AND gate 2109, a fourth XOR gate 2110, a fourth XNOR gate 2111, and a second AND gate 2112. The third XNOR gate 2107 may receive the currently inputted first and fourth encoding signals EN0_A and EN1_A. The third XOR gate 2108 may receive the previously inputted first and fourth encoding signals EN0_AP and EN1_AP. The first AND gate 2109 may receive the outputs of the third XNOR gate 2107 and the third XOR gate 2108, and generate the inverted signal LEADB of the lead signal LEAD. Accordingly, the inverted signal LEADB of the lead signal LEAD may be the first level when the currently inputted first and fourth encoding signals EN0_A and EN1_A have the same level and the previously inputted first and fourth encoding signals EN0_AP and EN1_AP have different levels. The inverted signal LEADB of the lead signal LEAD may be the second level when the currently inputted first and fourth encoding signals EN0_A and EN1_A have different levels or the previously inputted first and fourth encoding signals EN0_AP and EN1_AP have the same level.
The fourth XOR gate 2110 may receive the currently inputted first and fourth encoding signals EN0_A and EN1_A. The fourth XNOR gate 2111 may receive the previously inputted first and fourth encoding signals EN0_AP and EN1_AP. The second AND gate 2112 may receive the outputs of the fourth XOR gate 2110 and the fourth XNOR gate 2111, and generate the inverted signal LAGB of the lag signal LAG. Accordingly, the inverted signal LAGB of the lag signal LAG may be the first level when the currently inputted first and fourth encoding signals EN0_A and EN1_A have different levels and the previously inputted first and fourth encoding signals EN0_AP and EN1_AP have the same level. The inverted signal LAGB of the lag signal LAG may be the second level when the currently inputted first and fourth encoding signals EN0_A and EN1_A have the same level or the previously inputted first and fourth encoding signals EN0_AP and EN1_AP have different levels.
FIGS. 22A to 22C are diagrams illustrating representations of example configurations of the first timing control circuit 2021 shown in FIG. 20. In FIG. 22A, a first timing control circuit 2021A may include a first inverter 2211, a second inverter 2212, a first capacitor 2213, and a second capacitor 2214. The first inverter 2211 may invert the first encoding signal EN0_A, and the second inverter 2212 may invert the output of the first inverter 2211 and generate the first timing encoding signal EN0_AD. The first capacitor 2213 may be a P-channel MOS capacitor. The first capacitor 2213 may be turned on when the lead signal LEAD is disabled to the second level. The second capacitor 2214 may be an N-channel MOS capacitor. The second capacitor 2214 may be turned on when the lag signal LAG is enabled to the first level. Accordingly, the first timing control circuit 2021A may delay the first encoding signal EN0_A by the first time when the lead signal LEAD is enabled to the first level and the lag signal LAG is disabled to the second level. The first timing control circuit 2021A may delay the first encoding signal EN0_A by the second time when the lead signal LEAD is disabled to the second level and the lag signal LAG is disabled to the second level. The first timing control circuit 2021A may delay the first encoding signal EN0_A by the third time when the lead signal LEAD is disabled to the second level and the lag signal LAG is enabled to the first level.
In FIG. 22B, a first timing control circuit 2021B may include a first inverter 2221, a second inverter 2222, a first capacitor 2223, a second capacitor 2224, a third capacitor 2225, and a fourth capacitor 2226. The first inverter 2221 may invert the first encoding signal EN0_A, and the second inverter 2222 may invert the output of the first inverter 2221 and generate the first timing encoding signal EN0_AD. The first capacitor 2223 may be a P-channel MOS capacitor. The first capacitor 2223 may be turned on when the lead signal LEAD is disabled to the second level. The second capacitor 2224 may be an N-channel MOS capacitor. The second capacitor 2224 may be turned on in response to the inverted signal LEADB of the lead signal LEAD which has the first level when the lead signal LEAD is disabled to the second level. The third capacitor 2225 may be a P-channel MOS capacitor. The third capacitor 2225 may be turned on in response to the inverted signal LAGB of the lag signal LAG which has the second level when the lag signal LAG is enabled to the first level. The fourth capacitor 2226 may be an N-channel MOS capacitor. The fourth capacitor 2226 may be turned on when the lag signal LAG is enabled to the first level. The first timing control circuit 2021B may increase intervals of the first to third times when compared to the first timing control circuit 2021A shown in FIG. 22A.
In FIG. 22C, a first timing control circuit 2021C may include a first inverter 2231, a second inverter 2232, and first to eighth capacitors 2241 to 2248. The first inverter 2231 may invert the first encoding signal EN0_A, and the second inverter 2232 may invert the output of the first inverter 2231 and generate the first timing encoding signal EN0_AD. The first capacitor 2241 may be a P-channel MOS capacitor. The first capacitor 2241 may be turned on when the lead signal LEAD is disabled to the second level. The second capacitor 2242 may be an N-channel MOS capacitor. The second capacitor 2242 may be turned on in response to the inverted signal LEADB of the lead signal LEAD which has the first level when the lead signal LEAD is disabled to the second level. The third capacitor 2243 may be a P-channel MOS capacitor. The third capacitor 2243 may be turned on in response to the inverted signal LAGB of the lag signal LAG which has the second level when the lag signal LAG is enabled to the first level. The fourth capacitor 2244 may be an N-channel MOS capacitor. The fourth capacitor 2244 may be turned on when the lag signal LAG is enabled to the first level.
The fifth capacitor 2245 may be a P-channel MOS capacitor. The fifth capacitor 2245 may be turned on when the lead signal LEAD is disabled to the second level. The sixth capacitor 2246 may be an N-channel MOS capacitor. The sixth capacitor 2246 may be turned on in response to the inverted signal LEADB of the lead signal LEAD which has the first level when the lead signal LEAD is disabled to the second level. Each of the fifth and sixth capacitors 2245 and 2246 may have a larger capacitance than the first to fourth capacitors 2241 to 2244.
The seventh capacitor 2247 may be a P-channel MOS capacitor. The seventh capacitor 2247 may be turned on in response to the inverted signal LAGB of the lag signal LAG which has the second level when the lag signal LAG is enabled to the first level. The eighth capacitor 2248 may be an N-channel MOS capacitor. The eighth capacitor 2248 may be turned on when the lag signal LAG is enabled to the first level. Each of the seventh and eighth capacitors 2247 and 2248 may have a larger capacitance than the fifth and sixth capacitors 2245 and 2246. The first timing control circuit 2021C may increase intervals of the first to third times when compared to the first timing control circuit 2021B shown in FIG. 22B.
FIG. 23 is a timing diagram illustrating a representation of example waveforms of the first wire OUT_A which is driven to various levels in accordance with an embodiment. In FIG. 23, a waveform TP1 depicted by a solid line illustrates level changes of the first wire OUT_A by the transmitting device 4 shown in FIG. 4, and a waveform TP2 depicted by a thick solid line illustrates level changes of the first wire OUT_A by the transmitting device 18 shown in FIG. 18. In a first period 23A, since the first wire OUT_A is driven from the high level H to the middle level M, the first timing transmission control unit 1831 may generate the first driving control signals UP0<0:2> and DN0<0:2> at the first time, and a first transmission driver 1841 may relatively quickly drive the first wire OUT_A to the middle level M. In a second period 23B, since the first wire OUT_A is driven from the middle level M to the high level H, the first timing transmission controller 1831 may generate the first driving control signals UP0<0:2> and DN0<0:2> at the third timing, and the first transmission driver 1841 may relatively slowly drive the first wire OUT_A to the high level H. A third period 23C may be the same as the first period 23A. In a fourth period 23D, since the first wire OUT_A is driven from the middle level M to the low level L, the first timing transmission controller 1831 may generate the first driving control signals UP0<0:2> and DN0<0:2> at the third timing, and the first transmission driver 1841 may relatively slowly drive the first wire OUT_A to the low level L. In a fifth period 23E, since the first wire OUT_A is driven from the low level L to the middle level M, the first timing transmission controller 1831 may generate the first driving control signals UP0<0:2> and DN0<0:2> at the first timing, and the first transmission driver 1841 may relatively quickly drive the first wire OUT_A to the middle level M. A sixth period 23F may be the same as the fourth period 23D. In a seventh period 23G, since the first wire OUT_A is driven from the low level L to the high level H, the first timing transmission controller 1831 may generate the first driving control signals UP0<0:2> and DN0<0:2> at the second timing. Therefore, the waveform TP2 of the first wire OUT_A by the transmitting device 18 and the waveform TP1 of the first wire OUT_A by the transmitting device 4 may be the same with each other.
While various embodiments have been described above, it will be understood by those skilled in the art that the embodiments described are examples only. Accordingly, the transmitting device for high speed communication, and the interface circuit and the system including the same described herein should not be limited based on the described embodiments.

## Claims

1. A transmitting device comprising:
a logic circuit configured to generate control symbols;
an encoder configured to change information of a wire state based on the control symbols, and generate transmission control signals;
a timing transmission controller configured to generate driving control signals based on the transmission control signals, and control generation timings of the driving control signals by comparing previously inputted transmission control signals and currently inputted transmission control signals; and
a transmission driver configured to drive each of a plurality of wires to one level among multiple levels, in response to the driving control signals.

2. The transmitting device according to claim 1,
wherein the control symbols include a hold information, a rotation and an inversion information, and
wherein the encoder generates the transmission control signals according to the hold information, the rotation information and the inversion information.

3. The transmitting device according to claim 2, wherein the encoder comprises:
a first encoder configured to change most significant bit (MSB) information of the wire state according to control symbols, and generate first transmission control signals; and
a second encoder configured to change least significant bit (LSB) information of the wire state according to control symbols, and generate second transmission control signals.

4. The transmitting device according to claim 3, wherein the first encoder comprises:
an MSB rotation register configured to generate MSB rotation encoding signals based on the hold information and the rotation information; and
an MSB inversion register configured to change the MSB rotation encoding signals based on the hold information and the inversion information, and generate the first transmission control signals.

5. The transmitting device according to claim 4, wherein the MSB rotation register rotates and changes logic levels of the MSB rotation encoding signals based on the hold information and the rotation information.

6. The transmitting device according to claim 5,
wherein the MSB rotation register maintains the MSB rotation encoding signals when the hold information is a first level, and
wherein the MSB rotation register rotates and changes the logic levels of the MSB rotation encoding signals in a clockwise direction or a counterclockwise direction, based on the rotation information, when the hold information is a second level.

7. The transmitting device according to claim 4,
wherein the MSB inversion register outputs the first transmission control signals by maintaining the MSB rotation encoding signals, when the hold information is the first level, and
wherein the MSB inversion register outputs the first transmission control signals by inverting the logic levels of the MSB rotation encoding signals, based on the inversion information, when the hold information is the second level.

8. The transmitting device according to claim 4, wherein the second encoder comprises:
an LSB rotation register configured to generate LSB rotation encoding signals based on the hold information and the rotation information; and
an LSB inversion register configured to change the LSB rotation encoding signals based on the hold information and the inversion information, and generate the second transmission control signals.

9. The transmitting device according to claim 3, wherein the timing transmission controller comprises:
a first timing transmission controller configured to generate first driving control signals for driving a first wire, based on first and second transmission control signals;
a second timing transmission controller configured to generate second driving control signals for driving a second wire, based on first and second transmission control signals; and
a third timing transmission controller configured to generate third driving control signals for driving a third wire, based on first and second transmission control signals.

10. The transmitting device according to claim 9, wherein the first timing transmission controller comprises:
a timing control signal generator configured to compare previously inputted first and second transmission control signals and currently inputted first and second transmission control signals, and generate timing control signals;
a first up/down controller configured to delay the currently inputted first transmission control signal in response to the timing control signals, and generate a first up control signal and a first down control signal; and
a second up/down controller configured to delay the currently inputted second transmission control signal in response to the timing control signals, and generate a second up control signal and a second down control signal.

11. The transmitting device according to claim 10, wherein the timing control signal generator enables a lead signal when the previously inputted first and second transmission control signals are the first level or the second level and the currently inputted first and second transmission control signals have different levels.

12. The transmitting device according to claim 11, wherein the timing control signal generator enables a lag signal when the previously inputted first and second transmission control signals have different levels and the currently inputted first and second transmission control signals are the first level or the second level.

13. The transmitting device according to claim 12, wherein the timing control signal generator disables both the lead signal and the lag signal when the previously inputted first and second transmission control signals are the first level and the currently inputted first and second transmission control signals are the second level or when the previously inputted first and second transmission control signals are the second level and the currently inputted first and second transmission control signals are the first level.

14. The transmitting device according to claim 10, wherein the first up/down controller comprises:
a first timing control circuit configured to generate a first timing encoding signal from the currently inputted first transmission control signal in response to the timing control signals; and
a first up/down buffer configured to generate the first up control signal and the first down control signal from the first timing encoding signal.

15. The transmitting device according to claim 14, wherein the second up/down controller comprises:
a second timing control circuit configured to generate a second timing encoding signal from the currently inputted second transmission control signal in response to the timing control signals; and
a second up/down buffer configured to generate the second up control signal and the second down control signal from the second timing encoding signal.

16. The transmitting device according to claim 9,
wherein the multiple levels include a high level, a middle level and a low level, and
wherein the transmission driver comprises:
a first transmission driver configured to drive the first wire to one of the high level, the middle level and the low level, based on the first driving control signals;
a second transmission driver configured to drive the second wire to one of the high level, the middle level and the low level, based on the second driving control signals; and
a third transmission driver configured to drive the third wire to one of the high level, the middle level and the low level, based on the third driving control signals.

17. The transmitting device according to claim 16, wherein the first to third transmission drivers include pluralities of pull-up drivers and pluralities of pull-down drivers, respectively and change the numbers of pull-up drivers and pull-down drivers for driving the first to third wires, in response to the first to third driving control signals.

18. The transmitting device according to claim 16, wherein the high level has a level corresponding to 3/4 V, the middle level has a level corresponding to 1/2 V, and the low level has a level corresponding to 1/4 V.

19. A transmitting device comprising:
a transmission driver configured to drive a plurality of wires each to one of a high level, a middle level and a low level in response to a plurality of driving control signals; and
a timing transmission controller configured to generate the plurality of driving control signals to change levels of the plurality of wires, and change a time of a generation of the plurality of driving control signals according to levels to which the plurality of wires are to be driven,
wherein the timing transmission controller generates driving control signals for driving one wire, at a first time, when the one wire is driven from the high level or the low level to the middle level, generates the driving control signals for driving the one wire, at a second time, when the one wire is driven from the high level to the low level or is driven from the low level to the high level, and generates the driving control signals for driving the one wire, at a third time, when the one wire is driven from the middle level to the high level or the low level.

20. The transmitting device according to claim 19, wherein the first time is earlier than the second time, and the second time is earlier than the third time.

21. The transmitting device according to claim 19,
wherein the timing transmission controller comprises:
a first timing transmission controller configured to generate first driving control signals for driving a first wire, based on first and second transmission control signals;
a second timing transmission controller configured to generate second driving control signals for driving a second wire, based on first and second transmission control signals; and
a third timing transmission controller configured to generate third driving control signals for driving a third wire, based on first and second transmission control signals, and
wherein the first and second transmission control signals have information of states of the first to third wires.

22. The transmitting device according to claim 21, wherein the first timing transmission controller comprises:
a timing control signal generator configured to compare previously inputted first and second transmission control signals and currently inputted first and second transmission control signals, and generate timing control signals;
a first up/down controller configured to delay the currently inputted first transmission control signal in response to the timing control signals, and generate a first up control signal and a first down control signal; and
a second up/down controller configured to delay the currently inputted second transmission control signal in response to the timing control signals, and generate a second up control signal and a second down control signal.

23. The transmitting device according to claim 22, wherein the timing control signal generator enables a lead signal when the previously inputted first and second transmission control signals are the first level or the second level and the currently inputted first and second transmission control signals have different levels.

24. The transmitting device according to claim 23, wherein the timing control signal generator enables a lag signal when the previously inputted first and second transmission control signals have different levels and the currently inputted first and second transmission control signals are the first level or the second level.

25. The transmitting device according to claim 24, wherein the timing control signal generator disables both the lead signal and the lag signal when the previously inputted first and second transmission control signals are the first level and the currently inputted first and second transmission control signals are the second level or when the previously inputted first and second transmission control signals are the second level and the currently inputted first and second transmission control signals are the first level.

26. The transmitting device according to claim 22, wherein the first up/down controller comprises:
a first timing control circuit configured to generate a first timing encoding signal from the currently inputted first transmission control signal in response to the timing control signals; and
a first up/down buffer configured to generate the first up control signal and the first down control signal from the first timing encoding signal.

27. The transmitting device according to claim 22, wherein the second up/down controller comprises:
a second timing control circuit configured to generate a second timing encoding signal from the currently inputted second transmission control signal in response to the timing control signals; and
a second up/down buffer configured to generate the second up control signal and the second down control signal from the second timing encoding signal.