이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명하기로 한다. 그러나, 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구성될 수 있으며, 단지 본 실시예는 본 발명의 개시가 완전하도록하며 통상의 지식을 가진자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다.
(제1 실시예)
도 2는 본 발명의 제1 실시예에 따른 지연라인을 구비한 반도체 장치를 도시한 블록 다이어그램이다.
도 2를 참조하면, 본 발명의 제1 실시예에 따른 반도체 장치의 지연라인은, 입력신호(IN_SIG_S, IN_SIG_1, IN_SIG_2, …, IN_SIG_N)가 거치는 공통 지연경로의 길이가 지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>, CON_1<1>, CON_1<2>, …, CON_1<N>, CON_2<1>, CON_2<2>, …, CON_2<N>)에 응답하여 결정되는 공통 지연부(200)와, 공통 지연부(200)로부터 인계받은 입력신호(IN_SIG_S, IN_SIG_1, IN_SIG_2, …, IN_SIG_N)가 거치는 제1 지연경로의 길이가 지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>, CON_1<1>, CON_1<2>, …, CON_1<N>, CON_2<1>, CON_2<2>, …, CON_2<N>)에 응답하여 결정되는 제1 지연부(220), 및 공통 지연부(200)로부터 인계받은 입력신호(IN_SIG_S, IN_SIG_1, IN_SIG_2, …, IN_SIG_N)가 거치는 제2 지연경로의 길이 - 제1 지연경로의 길이에 비해 예정된 길이만큼의 차이를 두고 결정됨 - 가 지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>, CON_1<1>, CON_1<2>, …, CON_1<N>, CON_2<1>, CON_2<2>, …, CON_2<N>)에 응답하여 결정되는 제2 지연부(240)를 구비한다. 또한, 제1 지연부(220)에서 출력되는 신호(OUT_SIG1_F)와, 제2 지연부(240)에서 출력되는 신호(OUT_SIG2_F)의 위상을 혼합하기 위한 위상 혼합부(260)를 더 구비한다. 또한, 외부에서 입력신호 신호(IN_SIG)를 지연라인의 신호 입력단(IN_SIG_ND)으로 구동(IN_SIG_S)하기 위한 입력 드라이버(280)를 더 구비한다.
여기서, 지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>, CON_1<1>, CON_1<2>, …, CON_1<N>, CON_2<1>, CON_2<2>, …, CON_2<N>)는 지연제어부(290)에서 생성되며, 공통 지연부(200)의 동작을 제어하기 위한 공통지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>)와, 제1 지연부(220)의 동작을 제어하기 위한 제1 지연제어코드(CON_1<1>, CON_1<2>, …, CON_1<N>), 및 제2 지연부(240)의 동작을 제어하기 위한 제2 지연제어코드(CON_2<1>, CON_2<2>, …, CON_2<N>)를 포함한다.
그리고, 공통 지연부(200)는, 신호 입력단(IN_SIG_ND)을 통해 인가되는 입력신호(IN_SIG_S)를 지연유닛 단위로 지연하기 위한 다수의 공통지연유닛(200<1>, 200<2>, …, 200<N>)을 구비한다.
이때, 각각의 공통지연유닛(200<1>, 200<2>, …, 200<N>)은 공통지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>)에 응답하여 그 동작이 결정된다. 즉, 각각의 공통지연유닛(200<1>, 200<2>, …, 200<N>)으로 인가되는 공통지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>)가 활성화되는 경우 신호 입력단(IN_SIG_ND) 또는 앞쪽 공통지연유닛(200<1>, 200<2>, …, 200<N-1>)로부터 인가되는 입력신호(IN_SIG_S, IN_SIG_1, IN_SIG_2, …, IN_SIG_N-1)를 지연유닛 단위만큼 지연시키고, 각각의 공통지연유닛(200<1>, 200<2>, …, 200<N>)으로 인가되는 공통지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>)가 비활성화되는 경우 신호 입력단(IN_SIG_ND) 또는 앞쪽 공통지연유닛(200<1>, 200<2>, …, 200<N-1>)로부터 인가되는 입력신호(IN_SIG_S, IN_SIG_1, IN_SIG_2, …, IN_SIG_N-1)를 입력받지 않는다.
그리고, 제1 지연부(220)는, 신호 입력단(IN_SIG_ND)을 통해 인가되는 입력신호(IN_SIG_S) 또는 공통 지연부(200)에 구비된 각각의 공통지연유닛(200<1>, 200<2>, …, 200<N-1>)에서 인계되는 입력신호(IN_SIG_1, IN_SIG_2, …, IN_SIG_N-1)를 지연유닛 단위로 지연하기 위한 다수의 제1 지연유닛(220<1>, 220<2>, …, 220<N>)을 구비한다.
이때, 각각의 제1 지연유닛(220<1>, 220<2>, …, 220<N>)은 제1 지연제어코드(CON_1<1>, CON_1<2>, …, CON_1<N>)에 응답하여 그 동작이 결정된다. 즉, 각각의 제1 지연유닛(220<1>, 220<2>, …, 220<N>)으로 인가되는 제1 지연제어코드(CON_1<1>, CON_1<2>, …, CON_1<N>) 중 어느 하나의 제1 지연제어코드가 활성화되는 경우 활성화된 제1 지연제어코드에 대응하는 제1 지연유닛들은 앞쪽 제1 지연유닛들로부터 인가되는 입력신호를 지연유닛 단위로 지연시키고, 각각의 제1 지연유닛(220<1>, 220<2>, …, 220<N>)으로 인가되는 제1 지연제어코드(CON_1<1>, CON_1<2>, …, CON_1<N>) 중 활성화되지 않은 나머지 제1 지연제어코드에 대응하는 제1 지연유닛은 공통 지연부(200)에 구비된 어느 하나의 공통지연유닛으로부터 인계되는 입력신호 또는 신호 입력단(IN_SIG_ND)을 통해 인가되는 입력신호(IN_SIG_S)를 지연유닛 단위만큼 지연시킨다.
그리고, 제2 지연부(240)는, 신호 입력단(IN_SIG_ND)을 통해 인가되는 입력신호(IN_SIG_S) 또는 공통 지연부(200)에 구비된 각각의 공통지연유닛(200<1>, 200<2>, …, 200<N-1>)에서 인계되는 입력신호(IN_SIG_1, IN_SIG_2, …, IN_SIG_N-1)를 두 배의 지연유닛 단위로 지연하기 위한 한 개의 제2 지연유닛(240<1>)과 지연유닛 단위로 지연하기 위한 다수의 제2 지연유닛(240<2>, 240<3>, …, 240<N>)을 구비한다.
이때, 한 개의 제2 지연유닛(240<1>)과 다수의 제2 지연유닛(240<2>, 240<3>, …, 240<N>)은 제2 지연제어코드(CON_2<1>, CON_2<2>, …, CON_2<N>)에 응답하여 그 동작이 결정된다. 즉, 한 개의 제2 지연유닛(240<1>)으로 인가되는 제2 지연제어코드(CON_2<1>)가 활성화되는 경우 한 개의 제2 지연유닛(240<1>) 앞쪽의 제2 지연유닛(240<2>)으로부터 인가되는 입력신호(OUT_SIG2_1)를 두 배의 지연유닛 단위만큼 지연시키고, 한 개의 제2 지연유닛(240<1>)으로 인가되는 제2 지연제어코드(CON_2<1>)가 비활성화되는 경우 신호 입력단(IN_SIG_ND)을 통해 인가되는 입력신호(IN_SIG_S)를 두 배의 지연유닛 단위만큼 지연시킨다. 또한, 다수의 제2 지연유닛(240<2>, 240<3>, …, 240<N>)으로 인가되는 제2 지연제어코드(CON_2<2>, CON_2<3>, …, CON_2<N>) 중 어느 하나의 제2 지연제어코드가 활성화되는 경우 활성화된 제2 지연제어코드에 대응하는 제2 지연유닛들은 앞쪽 제2 지연유닛들로부터 인가되는 입력신호를 지연유닛 단위로 지연시키고, 각각의 제2 지연유닛(240<2>, 240<3>, …, 240<N>)으로 인가되는 제2 지연제어코드(CON_2<2>, CON_2<3>, …, CON2<N>) 중 활성화되지 않은 나머지 제2 지연제어코드에 대응하는 제2 지연유닛은 공통 지연부(200)에 구비된 어느 하나의 공통지연유닛으로부터 인계되는 입력신호를 지연유닛 단위만큼 지연시킨다.
전술한 구성을 바탕으로 본 발명의 제1 실시예에 따른 반도체 장치의 지연회로의 동작을 설명하면 다음과 같다.
먼저, 공통 지연부(200)의 동작을 살펴보면, 공통 지연부(200)에 구비된 다수의 공통지연유닛(200<1>, 200<2>, …, 200<N>)은 공통지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>)가 활성화되면 인가되는 입력신호(IN_SIG_S, IN_SIG_1, IN_SIG_2, …, IN_SIG_N)를 입력받아 지연유닛 단위만큼 지연시켜 출력하는 동작을 수행하고, 공통지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>)가 비활성화되면 인가되는 입력신호(IN_SIG_S, IN_SIG_1, IN_SIG_2, …, IN_SIG_N)를 아예 입력받지 않으므로 지연시키는 동작을 수행하지 않게 된다. 즉, 공통 지연부(200)에 구비된 다수의 공통지연유닛(200<1>, 200<2>, …, 200<N>)에게 공통지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>)의 활성화유무는 인가되는 신호를 입력받을지 입력 안 받을지를 결정하는 요소가 된다. 따라서, 다수의 비트로 이루어진 공통지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>) 중 어느 하나의 비트가 활성화되면 그 보다 낮은 단위의 비트들은 모두 활성화되어야 하고 그 보다 높은 단위의 비트들은 모두 비활성화되어야 한다.
예컨대, 공통지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>) 중 세번째 공통지연제어코드(CON_PUB<3>)가 활성화된다고 하면, 그 보다 낮은 단위인 첫 번째 및 두 번째 공통지연제어코드(CON_PUB<1>, CON_PUB<2>)도 활성화되어야 하고, 그 보다 높은 단위인 네 번째 내지 N 번째 공통지연제어코드(CON_PUB<4>, CON_PUB<5>, …, CON_PUB<N>)는 비활성화되어야 한다.
예를 든 바와 같이, 공통지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>) 중 첫 번째 내지 세 번째 공통지연제어코드(CON_PUB<1>, CON_PUB<2>, CON_PUB<3>)가 활성화되고 나머지 네 번째 내지 N 번째 공통지연제어코드(CON_PUB<4>, CON_PUB<5>, …, CON_PUB<N>)가 비활성화되는 상태에서 공통 지연부(200)의 동작을 살펴보면, 신호 입력단(IN_SIG_ND)을 통해 인가된 입력신호(IN_SIG_S)는 첫 번째 및 세 번째 공통지연유닛(200<1>, 200<2>, 200<3>)에 의해 지연유닛 단위로 3단계 지연되어 출력(IN_SIG_1, IN_SIG_2, IN_SIG_3)하는 동작을 수행하게 된다.
반면, 네 번째 내지 N 번째 공통지연유닛(200<4>, 200<5>, …, 200<N>)은 지연동작을 수행하지 않는 상태가 되므로, 출력되는 신호도 신호 입력단(IN_SIG_ND)을 통해 인가된 입력신호(IN_SIG_S)와는 전혀 상관없이 설정된 레벨 - 보통은 로직'로우'(Low)를 의미함 - 로 고정된 의미없는 신호가 될 뿐이다.
전술한 공통 지연부(200)의 동작을 일반화 시켜보면, 공통지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>)의 초기값 - 모든 공통지연제어코드가 비활성화된 상태를 의미함 - 에 대응하여 입력신호(IN_SIG_S)를 지연시키지 않고 그대로 출력시키고, 공통지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>)의 값이 한 단위씩 증가하는 것 - 첫 번째 공통지연제어코드(CON_PUB<1>)부터 순서대로 활성화되는 것을 의미함 - 에 대응하여 입력신호(IN_SIG_S)를 지연유닛 단위씩 증가시키는 동작을 수행하는 구성요소라고 표현할 수 있다.
참고로, 도 2에 도시된 도면에서 공통 지연부(200)에 구비된 다수의 공통지연유닛(200<1>, 200<2>, …, 200<N>) 중 가장 뒤쪽에 있는 N번째 공통지연유닛(200<N>)에서 출력되는 신호(IN_SIG_N)는 제1 지연부(220) 및 제2 지연부(240)로 입력되지 않고 그냥 끊겨 있는 상태로 되어 있어서 실질적으로 아무런 역할도 하지않는 신호이다. 설계자의 의도에 따라 이 신호(IN_SIG_N)는 제1 지연부(220)와 제2 지연부(240)에 동시에 입력될 수도 있고, 이 신호(IN_SIG_N)를 생성하기 위한 N번째 공통지연유닛(200<N>) 자체가 존재하지 않는 것처럼 될 수도 있는 등 본 발명에서 직접적으로 제시된 형태와는 다른 방식으로 사용될 수도 있다.
그리고, 제1 지연부(220)의 동작을 살펴보면, 제1 지연부(220)에 구비된 다수의 제1 지연유닛(220<1>, 220<2>, …, 220<N>)은 제1 지연제어코드(CON_1<1>, CON_1<2>, …, CON_1<N>)가 활성화되면 해당 제1 지연유닛(220<1>, 220<2>, …, 220<N-1>)의 앞쪽 제1 지연유닛(220<2>, 220<3>, …, 220<N>)으로부터 인가되는 입력신호(OUT_SIG1_1, OUT_SIG1_2, …, OUT_SIG1_N)를 입력받아 지연유닛 단위로 지연시켜 출력하는 동작을 수행하고, 제1 지연제어코드(CON_1<1>, CON_1<2>, …, CON_1<N>)가 비활성화되면 신호 입력단(IN_SIG_ND)으로부터 인가되는 입력신호(IN_SIG_S) 또는 공통 지연부(200)에 구비된 다수의 공통지연유닛(200<1>, 200<2>, …, 200<N-1>)으로부터 인계되는 입력신호(IN_SIG_1, IN_SIG_2, …, IN_SIG_N-1)를 입력받아 지연유닛 단위로 지연시켜 출력하는 동작을 수행한다.
즉, 제1 지연부(220)에 구비된 다수의 제1 지연유닛(220<1>, 220<2>, …, 220<N>)에게 제1 지연제어코드(CON_1<1>, CON_1<2>, …, CON_1<N>)의 활성화유무는 두 개의 신호 중 어떤 신호를 입력받을지를 결정하는 요소가 된다. 따라서, 다수의 비트로 이루어진 제1 지연제어코드(CON_1<1>, CON_1<2>, …, CON_1<N>) 중 어느 하나의 비트가 활성화되면 그 보다 낮은 단위의 비트들은 모두 활성화되어야 하고 그 보다 높은 단위의 비트들은 모드 비활성화되어야 한다.
예컨대, 제1 지연제어코드(CON_1<1>, CON_1<2>, …, CON_1<N>) 중 세 번째 제1 지연제어코드(CON_1<3>)가 활성화된다고 하면, 그 보다 낮은 단위인 첫 번째 및 두 번째 제1 지연제어코드(CON_1<1>, CON_1<2>)는 활성화되어야 하고, 그 보다 높은 단위인 네 번째 내지 N 번째 제1 지연제어코드(CON_1<4>, CON_1<5>, …, CON_1<N>)는 비활성화되어야 한다.
예를 든 바와 같이, 제1 지연제어코드(CON_1<1>, CON_1<2>, …, CON_1<N>) 중 첫 번째 내지 세 번째 제1 지연제어코드(CON_1<1>, CON_1<2>, CON_1<3>)가 활성화되고 나머지 네 번째 내지 N 번째 제1 지연제어코드(CON_1<4>, CON_1<5>, …, CON_1<N>)가 비활성화되는 상태에서 제1 지연부(220)의 동작을 살펴보면, 공통 지연부(200)에 구비된 다수의 공통지연유닛(200<1>, 200<2>, …, 200<N-1>) 중 세 번째 공통지연유닛(200<3>)을 통해 인계된 입력신호(IN_SIG_3)를 제1 지연부(220)에 구비된 다수의 제1 지연유닛(220<1>, 220<2>, …, 220<N>) 중 네 번째 제1 지연유닛(220<4>)에서 입력받아 지연유닛 단위만큼 지연시켜 출력하고, 제1 지연부(220)에 구비된 다수의 제1 지연유닛(220<1>, 220<2>, …, 220<N>) 중 첫 번째 내지 세 번째 제1 지연유닛(220<1>, 220<2>, 220<3>)은 앞쪽 제1 지연유닛인 두 번째 내지 네 번째 제1 지연유닛(220<2>, 220<3>, 220<4>)에서 인가되는 입력신호(OUT_SIG1_1, OUT_SIG1_2, OUT_SIG1_3)를 각각 입력받아 지연유닛 단위만큼 지연시켜 출력(OUT_SIG1_S, OUT_SIG1_1, OUT_SIG1_2)하는 동작을 수행하게 된다. 즉, 제1 지연부(220)에 구비된 다수의 제1 지연유닛(220<1>, 220<2>, …, 220<N>) 중 네 번째 제1 지연유닛(220<4>)으로 인계된 공통 지연부(200)를 거친 입력신호(IN_SIG_3)는 네 번째 내지 첫 번째 제1 지연유닛(220<4>, 220<3>, 220<2>, 220<1>)에 의해 지연유닛 단위로 4단계 지연되어 출력(OUT_SIG1_3, OUT_SIG1_2, OUT_SIG1_1, OUT_SIG1_F)하는 동작을 수행하게 된다.
반면, 다섯 번째 내지 N 번째 제1 지연유닛(220<5>, 220<6>, …, 220<N>)은 그에 해당하는 제1 지연제어코드(CON_1<5>, CON_1<6>, …, CON_1<N>)가 공통 지연부(200)를 통해 신호를 인계받는 상태이긴 하지만, 공통 지연부(200)에서 인계되는 신호가 신호 입력단(IN_SIG_ND)을 통해 인가된 입력신호(IN_SIG_S)와는 전혀 상관없이 설정된 레벨 - 보통은 로직'로우'(Low)를 의미함 - 로 고정된 의미없는 신호일 뿐이므로 출력되는 신호도 신호 입력단(IN_SIG_ND)을 통해 인가된 입력신호(IN_SIG_S)와는 전혀 상관없이 설정된 레벨로 고정된 의미없는 신호를 출력하는 동작을 수행하게 된다.
전술한 제1 지연부(220)의 동작을 일반화 시켜보면, 제1 지연제어코드(CON_1<1>, CON_1<2>, …, CON_1<N>)의 초기값 - 모든 제1 지연제어코드가 비활성화된 상태를 의미함 - 에 대응하여 공통 지연부(200)로부터 인계받은 입력신호(IN_SIG_S) - 지연시키지 않고 그대로 출력된 신호를 의미함 - 를 지연유닛 단위만큼 지연시키고, 제1 지연제어코드(CON_1<1>, CON_1<2>, …, CON_1<N>)의 값이 한 단위씩 증가하는 것 - 첫 번째 제1 지연제어코드(CON_1<1>)부터 순서대로 활성화되는 것을 의미함 - 에 대응하여 공통 지연부(200)로부터 인계받은 입력신호(IN_SIG_1, IN_SIG_2, …, IN_SIG_N-1)를 지연유닛 단위씩 증가시키는 동작을 수행하는 구성요소라고 표현할 수 있다.
이때, 제1 지연부(220)는 전술한 구성설명을 통해 모든 제1 지연제어코드(CON_1<1>, CON_1<2>, …, CON_1<N>)가 비활성화되는 초기값 상태에서 신호 입력단(IN_SIG_ND)을 통해 인가되는 입력신호(IN_SIG_S)를 직접 입력 받는 상태라는 것을 알 수 있는데, 일반화 과정에서 '공통 지연부(200)로부터 인계받은 입력신호(IN_SIG_S)'표현을 사용한 것은 전술한 공통 지연부(200)의 동작을 일반화하는 설명에서 '모든 공통지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>)가 비활성화되는 초기값 상태에서 입력신호(IN_SIG_S)를 지연시키지 않고 그대로 출력'한다는 표현이 사용되었기에 그에 대응하는 형태로 표현된 것이다.
그리고, 제2 지연부(240)의 동작을 살펴보면, 제2 지연부(240)에 구비된 다수의 제2 지연유닛(240<1>, 240<2>, 240<3>, …, 240<N>)은 제2 지연제어코드(CON_2<1>, CON_2<2>, …, CON_2<N>)가 활성화되면 해당 제2 지연유닛(240<1>, 240<2>, …, 240<N-1>)의 앞쪽 제2 지연유닛(240<2>, 240<3>, …, 240<N>)으로부터 인가되는 입력신호(OUT_SIG2_1, OUT_SIG2_2, …, OUT_SIG2_N)를 입력받아 두 배의 지연유닛 단위 또는 한 배의 지연유닛 단위로 지연시켜 출력하는 동작을 수행하고, 제2 지연제어코드(CON_2<1>, CON_2<2>, …, CON_2<N>)가 비활성화되면 신호 입력단(IN_SIG_ND)으로부터 인가되는 입력신호(IN_SIG_S)를 두 배의 지연유닛 단위로 지연시켜 출력하거나 공통 지연부(200)에 구비된 다수의 공통지연유닛(200<1>, 200<2>, …, 200<N-1>)으로부터 인계되는 입력신호(IN_SIG_1, IN_SIG_2, …, IN_SIG_N-1)를 입력받아 지연유닛 단위로 지연시켜 출력하는 동작을 수행한다.
즉, 제2 지연부(240)에 구비된 다수의 제2 지연유닛(240<1>, 240<2>, …, 240<N>)에게 제2 지연제어코드(CON_2<1>, CON_2<2>, …, CON2<N>)의 활성화유무는 두 개의 신호 중 어떤 신호를 입력받을지를 결정하는 요소가 된다. 따라서, 다수의 비트로 이루어진 제2 지연제어코드(CON_2<1>, CON_2<2>, …, CON_2<N>) 중 어느 하나의 비트가 활성화되면 그 보다 낮은 단위의 비트들은 모두 활성화되어야 하고 그 보다 높은 단위의 비트들은 모드 비활성화되어야 한다.
예컨대, 제2 지연제어코드(CON_2<1>, CON_2<2>, …, CON2<N>) 중 세 번째 제2 지연제어코드(CON_2<3>)가 활성화된다고 하면, 그 보다 낮은 단위인 첫 번째 및 두 번째 제2 지연제어코드(CON_2<1>, CON_2<2>)는 활성화되어야 하고, 그 보다 높은 단위인 네 번째 내지 N 번째 제1 지연제어코드(CON_2<4>, CON_2<5>, …, CON_2<N>)는 비활성화되어야 한다.
예를 든 바와 같이, 제2 지연제어코드(CON_2<1>, CON_2<2>, …, CON_2<N>) 중 첫 번째 내지 세 번째 제2 지연제어코드(CON_2<1>, CON_2<2>, CON_2<3>)가 활성화되고 나머지 네 번째 내지 N 번째 제2 지연제어코드(CON_2<4>, CON_2<5>, …, CON_2<N>)가 비활성화되는 상태에서 제2 지연부(240)의 동작을 살펴보면, 공통 지연부(200)에 구비된 다수의 공통지연유닛(200<1>, 200<2>, …, 200<N>) 중 세 번째 공통지연유닛(200<3>)을 통해 인계된 입력신호(IN_SIG_3)를 제2 지연부(240)에 구비된 다수의 제2 지연유닛(240<1>, 240<2>, …, 240<N>) 중 네 번째 제2 지연유닛(240<4>)에서 입력받아 지연유닛 단위만큼 지연시켜 출력(OUT_SIG2_3)하고, 제2 지연부(240)에 구비된 다수의 제2 지연유닛(240<1>, 240<2>, …, 240<N>) 중 두 번째 및 세 번째 제2 지연유닛(240<2>, 240<3>)은 앞쪽 제2 지연유닛인 세 번째 및 네 번째 제2 지연유닛(240<3>, 240<4>)에서 인가되는 입력신호(OUT_SIG2_2, OUT_SIG2_3)를 각각 입력받아 지연유닛 단위만큼 지연시켜 출력(OUT_SIG2_1, OUT_SIG2_2)하며, 제2 지연부(240)에 구비된 다수의 제2 지연유닛(240<1>, 240<2>, …, 240<N>) 중 첫 번째 제2 지연유닛(240<1>)은 앞쪽 제2 지연유닛인 두 번째 제2 지연유닛(240<2>)에서 인가되는 입력신호(OUT_SIG2_1)를 입력받아 두 배의 지연유닛 단위만큼 지연시켜 출력(OUT_SIG2_S)하는 동작을 수행하게 된다.
즉, 제2 지연부(220)에 구비된 다수의 제2 지연유닛(240<1>, 240<2>, …, 240<N>) 중 네 번째 제1 지연유닛(240<4>)으로 인계된 공통 지연부(200)를 거친 입력신호(IN_SIG_3)는 네 번째 내지 두 번째 제2 지연유닛(240<4>, 240<3>, 240<2>)에 의해 지연유닛 단위로 3단계 지연된 후 첫 번째 제2 지연유닛(240<1>)에 의해 지연유닛 단위로 2단계 지연되어 출력(OUT_SIG1_3, OUT_SIG1_2, OUT_SIG1_1, OUT_SIG1_F)하는 동작을 수행하게 된다.
반면, 다섯 번째 내지 N 번째 제2 지연유닛(240<5>, 240<6>, …, 240<N>)은 그에 해당하는 제2 지연제어코드(CON_2<5>, CON_2<6>, …, CON_2<N>)가 공통 지연부(200)를 통해 신호를 인계받는 상태이긴 하지만, 공통 지연부(200)에서 인계되는 신호가 신호 입력단(IN_SIG_ND)을 통해 인가된 입력신호(IN_SIG_S)와는 전혀 상관없이 설정된 레벨 - 보통은 로직'로우'(Low)를 의미함 - 로 고정된 의미없는 신호일 뿐이므로 출력되는 신호도 신호 입력단(IN_SIG_ND)을 통해 인가된 입력신호(IN_SIG_S)와는 전혀 상관없이 설정된 레벨로 고정된 의미없는 신호를 출력하는 동작을 수행하게 된다.
전술한 제2 지연부(240)의 동작을 일반화 시켜보면, 제2 지연제어코드(CON_2<1>, CON_2<2>, …, CON_2<N>)의 초기값 - 모든 제2 지연제어코드가 비활성화된 상태를 의미함 - 에 대응하여 공통 지연부(200)로부터 인계받은 입력신호(IN_SIG_S) - 지연시키지 않고 그대로 출력된 신호를 의미함 - 를 두배의 지연유닛 단위만큼 지연시키고, 제2 지연제어코드(CON_2<1>, CON_2<2>, …, CON_2<N>)의 값이 한 단위씩 증가하는 것 - 첫 번째 제2 지연제어코드(CON_2<1>)부터 순서대로 활성화되는 것을 의미함 - 에 대응하여 공통 지연부(200)로부터 인계받은 입력신호(IN_SIG_1, IN_SIG_2, …, IN_SIG_N)를 지연유닛 단위씩 증가시키는 동작을 수행하는 구성요소라고 표현할 수 있다.
이때, 제2 지연부(240)는 전술한 구성설명을 통해 모든 제2 지연제어코드(CON_2<1>, CON_2<2>, …, CON_2<N>)가 비활성화되는 초기값 상태에서 신호 입력단(IN_SIG_ND)을 통해 인가되는 입력신호(IN_SIG_S)를 직접 입력 받는 상태라는 것을 알 수 있는데, 일반화 과정에서 '공통 지연부(200)로부터 인계받은 입력신호(IN_SIG_S)'표현을 사용한 것은 전술한 공통 지연부(200)의 동작을 일반화하는 설명에서 '모든 공통지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>)가 비활성화되는 초기값 상태에서 입력신호(IN_SIG_S)를 지연시키지 않고 그대로 출력'한다는 표현이 사용되었기에 그에 대응하는 형태로 표현된 것이다.
상기에서 예를 든 바와 같이 공통 지연부(200)와 제1 지연부(220) 및 제2 지연부(240)가 동작을 수행하게 되었을 때, 최종으로 출력되는 신호들 간의 관계를 정리해 보면, 제1 지연부(220)에서 최종으로 출력되는 신호(OUT_SIG1_F)는 공통 지연부(200)를 통해 지연유닛 단위로 3단계 지연된 후 제1 지연부(220)를 통해 지연유닛 단위로 4단계 지연되므로 최종적으로 출력되는 신호(OUT_SIG1_F)는 신호 입력단(IN_SIG_ND)을 통해 공통 지연부(200)로 인가되었던 입력신호(IN_SIG_S)보다 지연유닛 단위로 7단계 지연된 신호가 된다.
그리고, 제2 지연부(240)에서 최종으로 출력되는 신호(OUT_SIG2_F)는 제1 지연부(220)에서 최종으로 출력되는 신호(OUT_SIG1_F)와 마찬가지로 공통 지연부(200)를 통해 지연유닛 단위로 3단계 지연된 후 제2 지연부(240)를 통해 지연유닛 단위로 5단계 지연되므로 최종적으로 출력되는 신호(OUT_SIG2_F)는 신호 입력단(IN_SIG_ND)을 통해 공통 지연부(200)로 인가되었던 입력신호(IN_SIG_S)보다 지연유닛 단위로 8단계 지연된 신호가 된다.
전술한 본 발명의 제1 실시예에 따른 반도체 장치의 지연라인을 설명할 때에는, 지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>, CON_1<1>, CON_1<2>, …, CON_1<N>, CON_2<1>, CON_2<2>, …, CON_2<N>)에 포함된 공통지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>)와 제1 지연제어코드(CON_1<1>, CON_1<2>, …, CON_1<N>) 및 제2 지연제어코드(CON_2<1>, CON_2<2>, …, CON_2<N>)가 모두 동일한 값 - 같은 위치의 값까지 활성화되고 나머지 값들은 비활성화되는 것을 의미 - 을 갖는다고 가정한 상태였다. 즉, 공통지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>) 중 첫 번째 내지 세 번째 공통지연제어코드(CON_PUB<1>, CON_PUB<2>, CON_PUB<3>)가 활성화되고 나머지 네 번째 내지 N번째 공통지연제어코드(CON_PUB<4>, CON_PUB<5>, …, CON_PUB<N>)가 비활성화되는 상태라고 하면, 제1 지연제어코드(CON_1<1>, CON_1<2>, …, CON_1<N>) 중 첫 번째 내지 세 번째 제1 지연제어코드(CON_1<1>, CON_1<2>, CON_1<3>)가 활성화되고 나머지 네 번째 내지 N번째 제1 지연제어코드(CON_1<4>, CON_1<5>, …, CON_1<N>)가 비활성화되는 상태가 되고, 제2 지연제어코드(CON_2<1>, CON_2<2>, …, CON_2<N>) 중 첫 번째 내지 세 번째 제2 지연제어코드(CON_2<1>, CON_2<2>, CON2<3>)가 활성화되고 나머지 네 번째 내지 N번째 제2 지연제어코드(CON_2<4>, CON_2<5>, …, CON2<N>)가 비활성화되는 상태가 되는 것을 가정한 상태였다.
하지만, 이런 상태에서는 제1 지연부(220)의 최종 출력신호(OUT_SIG1_F)보다 제2 지연부(240)의 최종 출력신호(OUT_SIG2_F)가 항상 한 단계의 지연유닛만큼 더 지연된 상태가 된다.
따라서, 공통지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>)가 제1 지연제어코드(CON_1<1>, CON_1<2>, …, CON_1<N>)와 동일한 값을 갖고 제2 지연제어코드(CON_2<1>, CON_2<2>, …, CON_2<N>)의 값보다 한 단위만큼 큰 상태가 될 수도 있어야 한다. 즉, 공통지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>) 중 첫 번째 내지 세 번째 공통지연제어코드(CON_PUB<1>, CON_PUB<2>, CON_PUB<3>)가 활성화되고 나머지 네 번째 내지 N번째 공통지연제어코드(CON_PUB<4>, CON_PUB<5>, …, CON_PUB<N>)가 비활성화되는 상태라고 하면, 제1 지연제어코드(CON_1<1>, CON_1<2>, …, CON_1<N>) 중 첫 번째 내지 세 번째 제1 지연제어코드(CON_1<1>, CON_1<2>, CON_1<3>)가 활성화되고 나머지 네 번째 내지 N번째 제1 지연제어코드(CON_1<4>, CON_1<5>, …, CON_1<N>)가 비활성화되는 상태가 되고, 제2 지연제어코드(CON_2<1>, CON_2<2>, …, CON_2<N>) 중 첫 번째 내지 두 번째 제2 지연제어코드(CON_2<1>, CON_2<2>)가 활성화되고 나머지 세 번째 내지 N번째 제2 지연제어코드(CON_2<3>, CON_2<4>, CON_2<5>, …, CON2<N>)가 비활성화되는 상태가 될 수도 있어야 한다.
이와 같이 지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>, CON_1<1>, CON_1<2>, …, CON_1<N>, CON_2<1>, CON_2<2>, …, CON_2<N>)의 값을 변경하게 되면, 제1 지연부(220)에서 최종으로 출력되는 신호(OUT_SIG1_F)는 공통 지연부(200)를 통해 지연유닛 단위로 3단계 지연된 후 제1 지연부(220)를 통해 지연유닛 단위로 4단계 지연되므로 최종적으로 출력되는 신호(OUT_SIG1_F)는 신호 입력단(IN_SIG_ND)을 통해 공통 지연부(200)로 인가되었던 입력신호(IN_SIG_S)보다 지연유닛 단위로 7단계 지연된 신호가 된다.
그리고, 제2 지연부(240)에서 최종으로 출력되는 신호(OUT_SIG2_F)는 제1 지연부(220)에서 최종으로 출력되는 신호(OUT_SIG1_F)와 다르게 공통 지연부(200)를 통해 지연유닛 단위로 2단계만 지연된 후 제2 지연부(240)를 통해 지연유닛 단위로 4단계 지연되므로 최종적으로 출력되는 신호(OUT_SIG2_F)는 신호 입력단(IN_SIG_ND)을 통해 공통 지연부(200)로 인가되었던 입력신호(IN_SIG_S)보다 지연유닛 단위로 6단계 지연된 신호가 된다.
즉, 지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>, CON_1<1>, CON_1<2>, …, CON_1<N>, CON_2<1>, CON_2<2>, …, CON_2<N>)의 값을 변경하는 동작을 통해 제1 지연부(220)의 최종 출력신호(OUT_SIG1_F)보다 제2 지연부(240)의 최종 출력신호(OUT_SIG2_F)가 항상 한 단계의 지연유닛만큼 덜 지연된 상태가 될 수도 있다.
그리고, 위상 혼합부(260)는, 종래기술에서와 마찬가지로 서로 한 단계의 지연유닛 단위차이가 나는 제1 지연부(220)의 최종 출력신호(OUT_SIG1_F)와 제2 지연부(240)의 최종 출력신호(OUT_SIG2_F)의 위상을 혼합하여 한 단계의 지연유닛 단위보다 작은 지연량 차이를 갖는 출력신호(OUT_SIG_F)를 생성할 수 있다.
이상에서 살펴본 바와 같이 본 발명의 제1 실시예를 적용하면, 지연라인의 신호 입력단(IN_SIG_ND)을 통해 인가되는 입력신호(IN_SIG_S)는 먼저 공통 지연부(200)를 설정된 만큼 지연된 후, 제1 지연부(220)와 제2 지연부(240)를 거치면서 다시 설정된 만큼 지연되어 두 개의 출력노드(OUT_SIG_ND1, OUT_SIG_ND2)를 통해 두 개의 출력신호(OUT_SIG1_F, OUT_SIG2_F)로서 출력하게 된다.
때문에, 입력 드라이버(280)를 통해 입력신호(IN_SIG_S)가 신호 입력단(IN_SIG_ND)으로 인가될 때에는 공통 지연부(200)의 로딩(loading)만 바라보는 상태가 되므로 입력신호(IN_SIG_S)의 레벨이 변형되는 것을 최소한으로 유지할 수 있을 뿐만 아니라 입력 드라이버(280)의 사이즈를 최소한으로 유지할 수도 있다. 따라서, 입력신호(IN_SIG_S)가 높은 정확도 및 빠른 반응속도로 지연라인을 통과하면서 지연될 수 있다.
이로 인해, 본 발명의 제1 실시예에 따른 지연라인은 종래기술에 비해 좀 더 고속으로 동작하는 반도체 장치에 적용되는 것이 가능하다.
(제2 실시예)
도 3은 본 발명의 제2 실시예에 따른 지연라인을 구비한 반도체 장치를 도시한 블록 다이어그램이다.
도 3을 참조하면, 지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>, CON_1<1>, CON_1<2>, …, CON1<N>, CON_2<1>, CON_2<2>, …, CON_2<N>)에 응답하여 그 길이가 결정되는 공통 지연경로를 통해 입력신호(IN_SIG_S)를 지연시켜 제1 지연신호를 생성한 후, 지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>, CON_1<1>, CON_1<2>, …, CON1<N>, CON_2<1>, CON_2<2>, …, CON_2<N>)에 응답하여 그 길이가 결정되는 추가 지연경로를 통해 공통 지연경로에서 생성된 제1 지연신호를 지연시켜 제2 지연신호를 생성하기 위한 입력지연부(300)와, 지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>, CON_1<1>, CON_1<2>, …, CON1<N>, CON_2<1>, CON_2<2>, …, CON_2<N>)에 응답하여 그 길이가 결정되는 제1 지연경로를 통해 입력지연부(300)에 구비된 공통 지연경로에서 생성된 제1 지연신호를 지연시켜 출력하는 제1 출력지연부(320), 및 지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>, CON_1<1>, CON_1<2>, …, CON1<N>, CON_2<1>, CON_2<2>, …, CON_2<N>)에 응답하여 그 길이가 결정되는 제2 지연경로를 통해 입력지연부(300)에 구비된 공통 지연경로에서 생성된 제1 지연신호와 추가 지연경로에서 생성된 제2 지연신호 중 어느 하나의 신호를 지연시켜 출력하는 제2 출력지연부(340)를 구비한다.
또한, 제1 출력지연부(320)에서 출력되는 신호(OUT_SIG1_F)와, 제2 출력지연부(340)에서 출력되는 신호(OUT_SIG2_F)의 위상을 혼합하기 위한 위상 혼합부(360)를 더 구비한다. 또한, 외부에서 입력신호 신호(IN_SIG)를 지연라인의 신호 입력단(IN_SIG_ND)으로 구동(IN_SIG_S)하기 위한 입력 드라이버(380)를 더 구비한다.
여기서, 지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>, CON_1<1>, CON_1<2>, …, CON1<N>, CON_2<1>, CON_2<2>, …, CON_2<N>)는 지연제어부(390)에서 생성되며, 입력지연부(300)의 동작을 제어하기 위한 입력지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>), 제1 출력지연부(320)의 동작을 제어하기 위한 제1 지연제어코드(CON_1<1>, CON_1<2>, …, CON1<N>), 제2 출력지연부(340)의 동작을 제어하기 위한 제2 지연제어코드(CON_2<1>, CON_2<2>, …, CON_2<N>)를 포함한다.
그리고, 입력지연부(300)는, 신호 입력단(IN_SIG_ND)을 통해 인가되는 입력신호(IN_SIG_S)를 지연유닛 단위로 지연하기 위한 다수의 입력지연유닛(300<1>, 300<2>, …, 300<N>)을 구비한다. 즉, 각각의 입력지연유닛(300<1>, 300<2>, …, 300<N>)으로 인가되는 입력지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>)가 활성화되는 경우 신호 입력단(IN_SIG_ND) 또는 앞쪽 입력지연유닛(300<1>, 300<2>, …, 300<N-1>)으로부터 인가되는 입력신호(IN_SIG_S, IN_SIG_1, IN_SIG_2, …, IN_SIG_N-1)를 지연유닛 단위만큼 지연시키고, 각각의 입력지연유닛(300<1>, 300<2>, …, 300<N>)으로 인가되는 입력지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>)가 비활성화되는 경우 신호 입력단(IN_SIG_ND) 또는 앞쪽 입력지연유닛(300<1>, 300<2>, …, 300<N-1>)으로부터 인가되는 입력신호(IN_SIG_S, IN_SIG_1, IN_SIG_2, …, IN_SIG_N-1)를 입력받지 않는다.
그리고, 제1 출력지연부(320)는, 신호 입력단(IN_SIG_ND)을 통해 인가되는 입력신호(IN_SIG_S) 또는 입력지연부(300)에 구비된 각각의 입력지연유닛(300<1>, 300<2>, …, 300<N-1>)에서 인계되는 입력신호(IN_SIG_1, IN_SIG_2, …, IN_SIG_N-1)를 지연유닛 단위로 지연하기 위한 다수의 제1 출력지연유닛(320<1>, 320<2>, …, 320<N>)을 구비한다.
이때, 각각의 제1 출력지연유닛(320<1>, 320<2>, …, 320<N>)은 제1 지연제어코드(CON_1<1>, CON_1<2>, …, CON1<N>)에 응답하여 그 동작이 결정된다. 즉, 각각의 제1 출력지연유닛(320<1>, 320<2>, …, 320<N>)으로 인가되는 제1 지연제어코드(CON_1<1>, CON_1<2>, …, CON1<N>) 중 어느 하나의 제1 지연제어코드가 활성화되는 경우 활성화된 제1 지연제어코드에 대응하는 제1 출력지연유닛들은 앞쪽 제1 출력지연유닛들로부터 인가되는 입력신호를 지연유닛 단위로 지연시키고, 각각의 제1 출력지연유닛(320<1>, 320<2>, …, 320<N>)으로 인가되는 제1 지연제어코드(CON_1<1>, CON_1<2>, …, CON1<N>) 중 활성화되지 않은 나머지 제1 지연제어코드에 대응하는 제1 출력지연유닛은 입력지연부(300)에 구비된 어느 하나의 입력지연유닛으로부터 인계되는 입력신호 또는 신호 입력단(IN_SIG_ND)을 통해 인가되는 입력신호(IN_SIG_S)를 지연유닛 단위만큼 지연시킨다.
그리고, 제2 출력지연부(340)는, 입력지연부(300)에 구비된 각각의 입력지연유닛(300<1>, 300<2>, …, 300<N>)에서 인계되는 입력신호(IN_SIG_1, IN_SIG_2, …, IN_SIG_N)를 지연유닛 단위로 지연하기 위한 다수의 제2 출력지연유닛(340<1>, 340<2>, …, 340<N>)을 구비한다.
이때, 각각의 제2 출력지연유닛(340<1>, 340<2>, …, 340<N>)은 제2 지연제어코드(CON_2<1>, CON_2<2>, …, CON_2<N>)에 응답하여 그 동작이 결정된다. 즉, 각각의 제2 출력지연유닛(340<1>, 340<2>, …, 340<N>)으로 인가되는 제2 지연제어코드(CON_2<1>, CON_2<2>, …, CON_2<N>) 중 어느 하나의 제2 지연제어코드가 활성화되는 경우 활성화된 제2 지연제어코드에 대응하는 제2 출력지연유닛들은 앞쪽 제2 출력지연유닛들로부터 인가되는 입력신호를 지연유닛 단위로 지연시키고, 각각의 제2 출력지연유닛(340<1>, 340<2>, …, 340<N>)으로 인가되는 제2 지연제어코드(CON_2<1>, CON_2<2>, …, CON_2<N>) 중 활성화되지 않은 나머지 제2 지연제어코드에 대응하는 제2 출력지연유닛들은 입력지연부(300)에 구비된 어느 하나의 입력지연유닛으로부터 인계되는 입력신호(IN_SIG_1, IN_SIG_2, …, IN_SIG_N)를 지연유닛 단위만큼 지연시킨다.
이때, 입력지연부(300)에 구비된 다수의 입력지연유닛(300<1>, 300<2>, …, 300<N>)은 제1 출력지연부(320)와 제2 출력지연부(340)와의 연결 관계 및 입력지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>)에 응답하여 결정되는 동작을 통해 유연성 있게 공통 지연경로와 추가 지연경로로 나뉘게 되며, 그 기준을 설명하면 다음과 같다.
먼저, 제1 및 제2 출력지연부(320, 340)와 입력지연부(300)의 연결 관계를 설명해보면, 제1 출력지연부(320)는 입력지연부(300)에 구비된 각각의 입력지연유닛(300<1>, 300<2>, …, 300<N>)으로 인가되는 입력신호(IN_SIG_S, IN_SIG_1, IN_SIG_2, …, IN_SIG_N-1)를 인계받아 지연동작을 수행하고, 제2 출력지연부(340)는 입력지연부(300)에 구비된 각각의 입력지연유닛(300<1>, 300<2>, …, 300<N>)에서 출력되는 입력신호(IN_SIG_1, IN_SIG_2, …, IN_SIG_N)를 인계받아 지연동작을 수행하는 것을 알 수 있다. 즉, 입력지연부(300)를 통과하여 제1 출력지연부(320)에 구비된 각각의 제1 출력지연유닛(320<1>, 320<2>, …, 320<N>)로 인계되는 입력신호(IN_SIG_S, IN_SIG_1, IN_SIG_2, …, IN_SIG_N-1)가 제2 출력지연부(340)에 구비된 각각의 제2 출력지연유닛(340<1>, 340<2>, …, 340<N>)으로 인계되는 입력신호(IN_SIG_1, IN_SIG_2, …, IN_SIG_N)보다 지연유닛 단위로 한 단계 덜 지연된 신호가 되는 것을 알 수 있다.
따라서, 입력지연부(300)에 구비된 다수의 입력지연유닛(300<1>, 300<2>, …, 300<N>)에서 입력지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>) 중 활성화되는 입력지연제어코드의 가장 큰 값보다 한 단위만큼 작은 입력지연제어코드 값에 대응하는 입력지연유닛의 지연량까지가 입력지연부(300)에서 제1 출력지연부(320)와 제2 출력지연부(340)로 인계되는 입력신호에 입력지연부(300)의 지연량이 공통으로 적용되는 부분이 되어 공통 지연경로가 된다. 이때, 입력지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>) 중 활성화되는 입력지연제어코드의 가장 큰 값은 미리 결정되어 있지 않으므로 공통 지연경로의 길이는 미리 결정되어 있을 수 없다는 것을 알 수 있다.
그리고, 입력지연부(300)에 구비된 다수의 입력지연유닛(300<1>, 300<2>, …, 300<N>)에서 입력지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>) 중 활성화되는 입력지연제어코드의 가장 큰 값에 대응하는 입력지연유닛의 지연량이 입력지연부(300)에서 제1 출력지연부(320)로 인계되는 입력신호에는 적용되지 않고 입력지연부(300)에서 제2 출력지연부(340)로 인계되는 입력신호에는 적용되는 부분이 되어 추가 지연경로가 된다. 이때, 추가 지연경로는 입력지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>) 중 활성화되는 입력지연제어코드의 가장 큰 값에 대응하는 한 개의 입력지연유닛의 지연량을 갖는 상태가 되므로 한 단계의 지연유닛 단위에 대응하는 지연량으로 고정된 상태가 되는 것을 알 수 있다.
이와 같은 방법으로 입력지연부(300)에 구비된 다수의 입력지연유닛(300<1>, 300<2>, …, 300<N>)을 공통 지연경로와 추가 지연경로로 나눌 수 있지만, 이는, 제1 출력지연부(320)와 제2 출력지연부(340)가 서로 같은 길이를 갖는 상태라는 것을 가정한 경우에서 나눠지는 것이고, 제1 출력지연부(320)의 길이가 제2 출력지연부(340)의 길이보다 한 단계의 단위 지연유닛 길이만큼 더 긴 길이를 가진다면 입력지연부(300) 전체가 공통 지연경로가 될 수도 있다. 즉, 추가 지연경로는 경우에 따라 한 단계의 지연유닛 단위에 대응하는 지연량으로 고정될 수도 있지만 아무런 지연량도 갖지 않는 상태가 될 수도 있다는 것을 알 수 있다.
따라서, 제1 출력지연부(320)와 제2 출력지연부(340)가 서로 같은 길이를 갖는 경우, 제2 출력지연부(340)는 입력지연부(300)의 추가 지연경로를 통해 생성된 제2 지연신호를 지연시켜 출력하는 동작을 수행한다. 반면, 제1 출력지연부(320)가 제2 출력지연부(340)보다 한 단계의 단위 지연유닛 길이만큼 더 긴 길 길이를 가지는 경우, 제2 출력지연부(340)는 제1 출력지연부(320)와 마찬가지로 입력지연부(300)의 공통 지연경로를 통해 생성된 제1 지연신호를 지연시켜 출력하는 동작을 수행한다. 참고로, 제1 출력지연부(320)가 제2 출력지연부(340)보다 한 단계의 단위 지연유닛 길이만큼 더 긴 길 길이를 가지는 경우에는 입력지연부(300)의 추가 지연경로가 존재하지 않는 것과 동일한 형태가 되므로 제2 지연신호가 존재하지 않는다고 볼 수 있다.
전술한 구성을 바탕으로 본 발명의 제2 실시예에 따른 반도체 장치의 지연회로의 동작을 설명하면 다음과 같다.
먼저, 입력지연부(300)의 동작을 살펴보면, 입력지연부(300)에 구비된 다수의 입력지연유닛(300<1>, 300<2>, …, 300<N>)은 입력지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>)가 활성화되면 인가되는 입력신호(IN_SIG_S, IN_SIG_1, IN_SIG_2, …, IN_SIG_N-1)를 입력받아 지연유닛 단위만큼 지연시켜 출력하는 동작을 수행하고, 입력지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>)가 비활성화되면 인가되는 입력신호(IN_SIG_S, IN_SIG_1, IN_SIG_2, …, IN_SIG_N-1)를 아예 입력받지 않으므로 지연시키는 동작을 수행하지 않게 된다. 즉, 입력지연부(300)에 구비된 다수의 입력지연유닛(300<1>, 300<2>, …, 300<N>)에게 입력지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>)의 활성화유무는 인가되는 신호를 입력받을지 입력 안 받을지를 결정하는 요소가 된다. 따라서, 다수의 비트로 이루어진 입력지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>) 중 어느 하나의 비트가 활성화되면 그 보다 낮은 단위의 비트들은 모두 활성화되어야 하고 그 보다 높은 단위의 비트들은 모두 비활성화되어야 한다.
예컨대, 입력지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>) 중 세 번째 입력지연제어코드(CON_PUB<3>)가 활성화된다고 하면, 그 보다 낮은 단위인 첫 번째 및 두 번째 입력지연제어코드(CON_PUB<1>, CON_PUB<2>)도 활성화되어야 하고, 그 보다 높은 단위인 네 번째 내지 N 번째 입력지연제어코드(CON_PUB<4>, CON_PUB<5>, …, CON_PUB<N>)는 비활성화되어야 한다.
예를 든 바와 같은 상태에서, 입력지연부(300)에 구비되는 공통 지연경로와 추가 지연경로가 어떻게 구분되는지를 설명해 보면 다음과 같다.
먼저, 제1 출력지연부(320)의 길이를 결정하기 위한 제1 지연제어코드(CON_1<1>, CON_1<2>, …, CON1<N>) 값과 입력지연부(300)의 입력지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>) 값이 서로 같고, 제2 출력지연부(340)의 길이를 결정하기 위한 제2 지연제어코드(CON_2<1>, CON_2<2>, …, CON_2<N>) 값이 입력지연부(300)의 입력지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>) 값보다 한 단위 작은 값을 갖는 경우 추가 지연경로의 길이가 '0'이 되어 입력지연부(300)의 공통 지연경로를 통해 출력되는 입력신호를 제1 출력지연부(320)와 제2 출력지연부(340)가 같이 인계받아 지연동작을 수행하게 된다.
즉, 입력지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>) 중에서 첫 번째 내지 세 번째 입력지연제어코드(CON_PUB<1>, CON_PUB<2>, CON_PUB<3>)가 활성화된 것과 같이 제1 지연제어코드(CON_1<1>, CON_1<2>, …, CON1<N>) 중에서 첫 번째 내지 세 번째 제1 지연제어코드(CON_1<1>, CON_1<2>, CON1<3>)가 활성화되고 제2 지연제어코드(CON_2<1>, CON_2<2>, …, CON_2<N>)중에서 첫 번째 및 두 번째 제2 지연제어코드(CON_2<1>, CON_2<2>)가 활성화되는 경우 입력지연부(300)에 구비된 입력지연유닛들(300<1>, 300<2>, …, 300<N>) 중 첫 번째 세 번째 입력지연유닛(300<1>, 300<2>, 300<3>)이 공통 지연경로에 속하는 상태가 된다. 동시에, 추가 지연경로는 존재하지 않는 상태가 된다. 따라서, 제1 출력지연부(320)와 제2 출력지연부(340)가 모두 입력지연부(300)의 공통 지연경로를 통해 지연유닛 단위로 3단계 지연되어 출력되는 입력신호(IN_SIG_3)를 인계받아 지연동작을 수행하게 된다.
반면, 입력지연부(300)의 입력지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>) 값보다 제1 출력지연부(320)의 길이를 결정하기 위한 제1 지연제어코드(CON_1<1>, CON_1<2>, …, CON1<N>) 값과 제2 출력지연부(340)의 길이를 결정하기 위한 제2 지연제어코드(CON_2<1>, CON_2<2>, …, CON_2<N>) 값이 한 단위 작은 값을 갖는 경우 추가 지연경로의 길이가 한 단계의 지연유닛 단위에 대응하는 길이를 갖게 되어 입력지연부(300)의 공통 지연경로를 통해 출력되는 입력신호를 제1 출력지연부(320)가 인계받아 지연동작을 수행하고, 공통 지연경로를 통해 출력되는 입력신호보다 한 단계의 지연유닛 단위만큼 더 지연된 입력신호를 추가 지연경로를 통해 제2 출력지연부(340)가 인계받아 지연동작을 수행하게 된다.
즉, 입력지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>) 중에서 첫 번째 내지 세 번째 입력지연제어코드(CON_PUB<1>, CON_PUB<2>, CON_PUB<3>)가 활성화되는 것에 비해 제1 지연제어코드(CON_1<1>, CON_1<2>, …, CON1<N>) 중에서 첫 번째 내지 두 번째 제1 지연제어코드(CON_1<1>, CON_1<2>)가 활성화되고 제2 지연제어코드(CON_2<1>, CON_2<2>, …, CON_2<N>)중에서 첫 번째 및 두 번째 제2 지연제어코드(CON_2<1>, CON_2<2>)가 활성화되는 경우 입력지연부(300)에 구비된 입력지연유닛들(300<1>, 300<2>, …, 300<N>) 중 첫 번째 두 번째 입력지연유닛(300<1>, 300<2>)이 공통 지연경로에 속하는 상태가 되고, 세 번째 입력지연유닛(300<3>)이 추가 지연경로에 속하는 상태가 된다. 따라서, 제1 출력지연부(320)는 입력지연부(300)의 공통 지연경로를 통해 지연유닛 단위로 2단계 지연되어 출력되는 입력신호(IN_SIG_2)를 인계받아 지연동작을 수행하게 되고, 제2 출력지연부(340)는 입력지연부(300)의 공통 지연경로 및 추가 지연경로를 통해 지연유닛 단위로 3단계 지연되어 출력되는 입력신호(IN_SIG_3)를 인계받아 지연동작을 수행하게 된다.
그리고, 입력지연부(300)에서 공통 지연경로 및 추가 지연경로에도 속하지 못한 네 번째 내지 N 번째 입력지연유닛(300<4>, 300<5>, …, 300<N>)은 지연동작을 수행하지 않는 상태가 되므로, 출력되는 신호도 신호 입력단(IN_SIG_ND)을 통해 인가된 입력신호(IN_SIG_S)와는 전혀 상관없이 설정된 레벨 - 보통은 로직'로우'(Low)를 의미함 - 로 고정된 의미없는 신호가 될 뿐이다.
전술한 입력지연부(300)에 구비된 공통 지연경로의 동작을 일반화 시켜보면, 입력지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>)의 초기값 - 모든 입력 지연제어코드가 비활성화된 상태를 의미함 - 에 대응하여 그 길이가 '0'으로 설정 - 입력신호(IN_SIG_S)를 지연시키지 않고 그대로 출력시킴 - 되고, 입력지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>)의 값이 한 단위씩 증가하는 것 - 첫 번째 입력지연제어코드(CON_PUB<1>)부터 순서대로 활성화되는 것을 의미함 - 에 대응하여 그 길이가 지연유닛 단위에 대응하는 만큼씩 증가하는 길이로 입력되는 신호를 지연시키는 동작을 수행하는 구성요소라고 표현할 수 있다.
또한, 입력지연부(300)에 구비된 추가 지연경로의 동작을 일반화 시켜보면, 입력지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>)의 값이 제1 지연제어코드(CON_1<1>, CON_1<2>, …, CON1<N>)와 동일한 값을 갖고 제2 지연제어코드(CON_2<1>, CON_2<2>, …, CON_2<N>)보다 한 단위 큰 값을 갖는 경우에 그 길이가 '0'으로 설정 - 공통 지연경로에서 출력되는 입력신호를 지연시키지 않고 그대로 출력시킴 - 되고, 입력지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>)의 값이 제1 지연제어코드(CON_1<1>, CON_1<2>, …, CON1<N>) 및 제2 지연제어코드(CON_2<1>, CON_2<2>, …, CON_2<N>)보다 한 단위 큰 값을 갖는 경우에 지연유닛 단위에 대응하는 길이로 설정되는 구성요소라고 표현할 수 있다.
그리고, 제1 출력지연부(320)의 동작을 살펴보면, 제1 출력지연부(320)에 구비된 다수의 제1 출력지연유닛(320<1>, 320<2>, …, 320<N>)은 제1 지연제어코드(CON_1<1>, CON_1<2>, …, CON_1<N>)가 활성화되면 해당 제1 출력지연유닛(320<1>, 320<2>, …, 320<N-1>)의 앞쪽 제1 출력지연유닛(320<2>, 320<3>, …, 320<N>)으로부터 인가되는 입력신호(OUT_SIG1_1, OUT_SIG1_2, …, OUT_SIG1_N)를 입력받아 지연유닛 단위로 지연시켜 출력하는 동작을 수행하고, 제1 지연제어코드(CON_1<1>, CON_1<2>, …, CON_1<N>)가 비활성화되면 신호 입력단(IN_SIG_ND)으로부터 인가되는 입력신호(IN_SIG_S) 또는 입력지연부(300)에 구비된 다수의 입력지연유닛(300<1>, 300<2>, …, 300<N-1>)으로부터 인계되는 입력신호(IN_SIG_1, IN_SIG_2, …, IN_SIG_N-1)를 입력받아 지연유닛 단위로 지연시켜 출력하는 동작을 수행한다.
즉, 제1 출력지연부(320)에 구비된 다수의 제1 출력지연유닛(320<1>, 320<2>, …, 320<N>)에게 제1 지연제어코드(CON_1<1>, CON_1<2>, …, CON_1<N>)의 활성화유무는 두 개의 신호 중 어떤 신호를 입력받을지를 결정하는 요소가 된다. 따라서, 다수의 비트로 이루어진 제1 지연제어코드(CON_1<1>, CON_1<2>, …, CON_1<N>) 중 어느 하나의 비트가 활성화되면 그 보다 낮은 단위의 비트들은 모두 활성화되어야 하고 그 보다 높은 단위의 비트들은 모드 비활성화되어야 한다.
예컨대, 제1 지연제어코드(CON_1<1>, CON_1<2>, …, CON_1<N>) 중 세 번째 제1 지연제어코드(CON_1<3>)가 활성화된다고 하면, 그 보다 낮은 단위인 첫 번째 및 두 번째 제1 지연제어코드(CON_1<1>, CON_1<2>)는 활성화되어야 하고, 그 보다 높은 단위인 네 번째 내지 N 번째 제1 지연제어코드(CON_1<4>, CON_1<5>, …, CON_1<N>)는 비활성화되어야 한다.
예를 든 바와 같이, 제1 지연제어코드(CON_1<1>, CON_1<2>, …, CON_1<N>) 중 첫 번째 내지 세 번째 제1 지연제어코드(CON_1<1>, CON_1<2>, CON_1<3>)가 활성화되고 나머지 네 번째 내지 N 번째 제1 지연제어코드(CON_1<4>, CON_1<5>, …, CON_1<N>)가 비활성화되는 상태에서 제1 출력지연부(320)의 동작을 살펴보면, 입력지연부(300)에 구비된 다수의 입력지연유닛(300<1>, 300<2>, …, 300<N-1>) 중 세 번째 입력지연유닛(300<3>)을 통해 인계된 입력신호(IN_SIG_3)를 제1 출력지연부(320)에 구비된 다수의 제1 출력지연유닛(320<1>, 320<2>, …, 320<N>) 중 네 번째 제1 출력지연유닛(320<4>)에서 입력받아 지연유닛 단위만큼 지연시켜 출력하고, 제1 출력지연부(320)에 구비된 다수의 제1 출력지연유닛(320<1>, 320<2>, …, 320<N>) 중 첫 번째 내지 세 번째 제1 출력지연유닛(320<1>, 320<2>, 320<3>)은 앞쪽 제1 출력지연유닛인 두 번째 내지 네 번째 제1 출력지연유닛(320<2>, 320<3>, 320<4>)에서 인가되는 입력신호(OUT_SIG1_1, OUT_SIG1_2, OUT_SIG1_3)를 각각 입력받아 지연유닛 단위만큼 지연시켜 출력(OUT_SIG1_S, OUT_SIG1_1, OUT_SIG1_2)하는 동작을 수행하게 된다.
즉, 제1 출력지연부(320)에 구비된 다수의 제1 출력지연유닛(320<1>, 320<2>, …, 320<N>) 중 네 번째 제1 출력지연유닛(320<4>)으로 인계된 입력지연부(300)를 거친 입력신호(IN_SIG_3)는 네 번째 내지 첫 번째 제1 출력지연유닛(320<4>, 320<3>, 320<2>, 320<1>)에 의해 지연유닛 단위로 4단계 지연되어 출력(OUT_SIG1_3, OUT_SIG1_2, OUT_SIG1_1, OUT_SIG1_F)하는 동작을 수행하게 된다. 따라서, 제1 출력지연부(320)의 제1 지연경로 길이는 4단계의 지연유닛 단위에 해당하는 길이가 될 것이다.
반면, 다섯 번째 내지 N 번째 제1 출력지연유닛(320<5>, 320<6>, …, 320<N>)은 그에 해당하는 제1 지연제어코드(CON_1<5>, CON_1<6>, …, CON_1<N>)가 입력지연부(300)를 통해 신호를 인계받는 상태이긴 하지만, 입력지연부(300)에서 인계되는 신호가 신호 입력단(IN_SIG_ND)을 통해 인가된 입력신호(IN_SIG_S)와는 전혀 상관없이 설정된 레벨 - 보통은 로직'로우'(Low)를 의미함 - 로 고정된 의미없는 신호일 뿐이므로 출력되는 신호도 신호 입력단(IN_SIG_ND)을 통해 인가된 입력신호(IN_SIG_S)와는 전혀 상관없이 설정된 레벨로 고정된 의미없는 신호를 출력하는 동작을 수행하게 된다.
전술한 제1 출력지연부(320)의 제1 지연경로의 길이가 결정되는 동작을 일반화 시켜보면, 제1 지연제어코드(CON_1<1>, CON_1<2>, …, CON_1<N>)의 초기값 - 모든 제1 지연제어코드가 비활성화된 상태를 의미함 - 에 대응하여 입력지연부(300)로부터 인계받은 입력신호(IN_SIG_S) - 입력지연부(300)의 공통 지연경로의 길이가 '0'인 경우임 - 를 지연유닛 단위만큼 지연시키고, 제1 지연제어코드(CON_1<1>, CON_1<2>, …, CON_1<N>)의 값이 한 단위씩 증가하는 것 - 첫 번째 제1 지연제어코드(CON_1<1>)부터 순서대로 활성화되는 것을 의미함 - 에 대응하여 입력지연부(300)로부터 인계받은 입력신호(IN_SIG_1, IN_SIG_2, …, IN_SIG_N-1)를 지연유닛 단위씩 증가시키는 동작을 수행하는 구성요소라고 표현할 수 있다.
이때, 제1 출력지연부(320)는 전술한 구성설명을 통해 모든 제1 지연제어코드(CON_1<1>, CON_1<2>, …, CON_1<N>)가 비활성화되는 초기값 상태에서 신호 입력단(IN_SIG_ND)을 통해 인가되는 입력신호(IN_SIG_S)를 직접 입력 받는 상태라는 것을 알 수 있는데, 일반화 과정에서 '입력지연부(300)로부터 인계받은 입력신호(IN_SIG_S)'표현을 사용한 것은 전술한 입력지연부(300)의 동작을 일반화하는 설명에서 '모든 입력지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>)가 비활성화되는 초기값 상태에서 공통 지연경로의 길이가 '0'이 되어입력신호(IN_SIG_S)를 지연시키지 않고 그대로 출력'한다는 표현이 사용되었기에 그에 대응하는 형태로 표현된 것이다.
그리고, 제2 출력지연부(340)의 동작을 살펴보면, 제2 출력지연부(340)에 구비된 다수의 제2 출력지연유닛(340<1>, 340<2>, …, 340<N>)은 제2 지연제어코드(CON_2<1>, CON_2<2>, …, CON_2<N>)가 활성화되면 해당 제2 출력지연유닛(340<1>, 340<2>, …, 340<N-1>)의 앞쪽 제2 출력지연유닛(340<2>, 340<3>, …, 340<N>)으로부터 인가되는 입력신호(OUT_SIG1_1, OUT_SIG1_2, …, OUT_SIG1_N)를 입력받아 지연유닛 단위로 지연시켜 출력하는 동작을 수행하고, 제2 지연제어코드(CON_2<1>, CON_2<2>, …, CON_2<N>)가 비활성화되면 입력지연부(300)에 구비된 다수의 입력지연유닛(300<1>, 300<2>, …, 300<N>)으로부터 인계되는 입력신호(IN_SIG_1, IN_SIG_2, …, IN_SIG_N)를 입력받아 지연유닛 단위로 지연시켜 출력하는 동작을 수행한다.
즉, 제2 출력지연부(340)에 구비된 다수의 제2 출력지연유닛(340<1>, 340<2>, …, 340<N>)에게 제2 지연제어코드(CON_2<1>, CON_2<2>, …, CON_2<N>)의 활성화유무는 두 개의 신호 중 어떤 신호를 입력받을지를 결정하는 요소가 된다. 따라서, 다수의 비트로 이루어진 제2 지연제어코드(CON_2<1>, CON_2<2>, …, CON_2<N>) 중 어느 하나의 비트가 활성화되면 그 보다 낮은 단위의 비트들은 모두 활성화되어야 하고 그 보다 높은 단위의 비트들은 모드 비활성화되어야 한다.
예컨대, 제2 지연제어코드(CON_2<1>, CON_2<2>, …, CON_2<N>) 중 세 번째 제2 지연제어코드(CON_2<3>)가 활성화된다고 하면, 그 보다 낮은 단위인 첫 번째 및 두 번째 제2 지연제어코드(CON_2<1>, CON_2<2>)는 활성화되어야 하고, 그 보다 높은 단위인 네 번째 내지 N 번째 제2 지연제어코드(CON_2<4>, CON_2<5>, …, CON_2<N>)는 비활성화되어야 한다.
예를 든 바와 같이, 제2 지연제어코드(CON_2<1>, CON_2<2>, …, CON_2<N>) 중 첫 번째 내지 세 번째 제2 지연제어코드(CON_2<1>, CON_2<2>, CON_2<3>)가 활성화되고 나머지 네 번째 내지 N 번째 제2 지연제어코드(CON_2<4>, CON_2<5>, …, CON_2<N>)가 비활성화되는 상태에서 제2 출력지연부(340)의 동작을 살펴보면, 입력지연부(300)에 구비된 다수의 입력지연유닛(300<1>, 300<2>, …, 300<N-1>) 중 네 번째 입력지연유닛(300<4>)을 통해 인계된 입력신호(IN_SIG_4)를 제2 출력지연부(340)에 구비된 다수의 제2 출력지연유닛(340<1>, 340<2>, …, 340<N>) 중 네 번째 제2 출력지연유닛(340<4>)에서 입력받아 지연유닛 단위만큼 지연시켜 출력하고, 제2 출력지연부(340)에 구비된 다수의 제2 출력지연유닛(340<1>, 340<2>, …, 340<N>) 중 첫 번째 내지 세 번째 제2 출력지연유닛(340<1>, 340<2>, 340<3>)은 앞쪽 제2 출력지연유닛인 두 번째 내지 네 번째 제2 출력지연유닛(340<2>, 340<3>, 340<4>)에서 인가되는 입력신호(OUT_SIG1_1, OUT_SIG1_2, OUT_SIG1_3)를 각각 입력받아 지연유닛 단위만큼 지연시켜 출력(OUT_SIG1_S, OUT_SIG1_1, OUT_SIG1_2)하는 동작을 수행하게 된다.
즉, 제2 출력지연부(340)에 구비된 다수의 제2 출력지연유닛(340<1>, 340<2>, …, 340<N>) 중 네 번째 제2 출력지연유닛(340<4>)으로 인계된 입력지연부(300)를 거친 입력신호(IN_SIG_4)는 네 번째 내지 첫 번째 제2 출력지연유닛(340<4>, 340<3>, 340<2>, 340<1>)에 의해 지연유닛 단위로 4단계 지연되어 출력(OUT_SIG1_3, OUT_SIG1_2, OUT_SIG1_1, OUT_SIG1_F)하는 동작을 수행하게 된다. 따라서, 제2 출력지연부(340)의 제2 지연경로 길이는 4단계의 지연유닛 단위에 해당하는 길이가 될 것이다.
반면, 다섯 번째 내지 N 번째 제2 출력지연유닛(340<5>, 340<6>, …, 340<N>)은 그에 해당하는 제2 지연제어코드(CON_2<5>, CON_2<6>, …, CON_2<N>)가 입력지연부(300)를 통해 신호를 인계받는 상태이긴 하지만, 입력지연부(300)에서 인계되는 신호가 신호 입력단(IN_SIG_ND)을 통해 인가된 입력신호(IN_SIG_S)와는 전혀 상관없이 설정된 레벨 - 보통은 로직'로우'(Low)를 의미함 - 로 고정된 의미없는 신호일 뿐이므로 출력되는 신호도 신호 입력단(IN_SIG_ND)을 통해 인가된 입력신호(IN_SIG_S)와는 전혀 상관없이 설정된 레벨로 고정된 의미없는 신호를 출력하는 동작을 수행하게 된다.
전술한 제2 출력지연부(340)의 제2 지연경로의 길이가 결정되는 동작을 일반화 시켜보면, 제2 지연제어코드(CON_2<1>, CON_2<2>, …, CON_2<N>)의 초기값 - 모든 제2 지연제어코드가 비활성화된 상태를 의미함 - 에 대응하여 입력지연부(300)로부터 인계받은 입력신호(IN_SIG_1) - 입력지연부(300)의 공통 지연경로의 길이가 '0'이고, 추가 지연경로의 길이가 한 단계의 지연유닛 단위에 해당하는 경우임 - 를 지연유닛 단위만큼 지연시키고, 제2 지연제어코드(CON_2<1>, CON_2<2>, …, CON_2<N>)의 값이 한 단위씩 증가하는 것 - 첫 번째 제2 지연제어코드(CON_2<1>)부터 순서대로 활성화되는 것을 의미함 - 에 대응하여 입력지연부(300)로부터 인계받은 입력신호(IN_SIG_1, IN_SIG_2, …, IN_SIG_N-1)를 지연유닛 단위씩 증가시키는 동작을 수행하는 구성요소라고 표현할 수 있다.
상기에서 설명한 것을 바탕으로 입력지연부(300)와 제1 출력지연부(320) 및 제2 출력지연부(340)가 동작을 수행할 때, 각 구성요소에서 최종으로 출력되는 신호들 간의 관계를 정리해 보면 다음과 같다.
먼저, 입력지연부(300)의 길이를 결정하기 위한 입력지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>)의 값이 제1 출력지연부(320)의 길이를 결정하기 위한 제1 지연제어코드(CON_1<1>, CON_1<2>, …, CON1<N>)의 값 및 제2 출력지연부(340)의 길이를 결정하기 위한 제2 지연제어코드(CON_2<1>, CON_2<2>, …, CON_2<N>)의 값보다 한 단위 더 높은 상태라는 것을 가정한 경우를 살펴보면, 입력지연부(300)의 길이가 3단계의 지연유닛 단위만큼의 길이를 가질 때, 입력지연부(300)는 2단계의 지연유닛 단위만큼의 길이를 갖는 공통 지연경로와 1단계의 지연유닛 단위만큼의 길이를 갖는 추가 지연경로로 나뉘게 된다는 것을 알 수 있다.
또한, 입력지연부(300)의 길이가 3단계의 지연유닛 단위만큼의 길이를 갖는 상태이므로 제1 출력지연부(320) 및 제2 출력지연부(340)의 길이도 모두 3단계의 지연유닛 단위만큼의 길이를 가지는 상태가 된다.
이와 같은 상태에서 제1 출력지연부(320)를 통해 출력되는 신호(OUT_SIG1_F)는, 입력지연부(300)의 공통 지연경로 길이에 해당하는 2단계의 지연유닛 단위만큼 지연되고, 제1 출력지연부(320)의 제1 지연경로 길이에 해당하는 3단계의 지연유닛 단위만큼 지연되어 출력되는 신호로서, 신호 입력단(IN_SIG_ND)을 통해 입력지연부(300)로 인가되었던 입력신호(IN_SIG_S)보다 총 5단계의 지연유닛 단위만큼 지연된 신호가 된다.
반면, 제2 출력지연부(340)를 통해 출력되는 신호(OUT_SIG2_F)는, 입력지연부(300)의 공통 지연경로 및 추가 지연경로 길이에 해당하는 3단계의 지연유닛 단위만큼 지연되고, 제2 출력지연부(340)의 제2 지연경로 길이에 해당하는 3단계의 지연유닛 단위만큼 지연되어 출력되는 신호로서, 신호 입력단(IN_SIG_ND)을 통해 입력지연부(300)로 인가되었던 입력신호(IN_SIG_S)보다 총 6단계의 지연유닛 단위만큼 지연된 신호가 된다.
그리고, 입력지연부(300)의 길이를 결정하기 위한 입력지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>)의 값이 제1 출력지연부(320)의 길이를 결정하기 위한 제1 지연제어코드(CON_1<1>, CON_1<2>, …, CON1<N>)의 값과 같고 제2 출력지연부(340)의 길이를 결정하기 위한 제2 지연제어코드(CON_2<1>, CON_2<2>, …, CON_2<N>)의 값보다 한 단위 더 높은 상태라는 것을 가정한 경우를 살펴보면, 입력지연부(300)의 길이가 3단계의 지연유닛 단위만큼의 길이를 가질 때, 입력지연부(300)는 3단계의 지연유닛 단위만큼의 길이를 갖는 공통 지연경로만 가질 뿐 추가 지연경로가 존재하지 않게 된다는 것을 알 수 있다.
또한, 입력지연부(300)의 길이가 3단계의 지연유닛 단위만큼의 길이를 갖는 상태이므로 제1 출력지연부(320)의 길이는 4단계의 지연유닛 단위만큼의 길이를 갖는 상태가 되고, 제2 출력지연부(340)의 길이는 3단계의 지연유닛 단위만큼의 길이를 가지는 상태가 된다.
이와 같은 상태에서 제1 출력지연부(320)를 통해 출력되는 신호(OUT_SIG1_F)는, 입력지연부(300)의 공통 지연경로 길이에 해당하는 3단계의 지연유닛 단위만큼 지연되고, 제1 출력지연부(320)의 제1 지연경로 길이에 해당하는 4단계의 지연유닛 단위만큼 지연되어 출력되는 신호로서, 신호 입력단(IN_SIG_ND)을 통해 입력지연부(300)로 인가되었던 입력신호(IN_SIG_S)보다 총 7단계의 지연유닛 단위만큼 지연된 신호가 된다.
반면, 제2 출력지연부(340)를 통해 출력되는 신호(OUT_SIG2_F)는, 입력지연부(300)의 공통 지연경로 길이에 해당하는 3단계의 지연유닛 단위만큼 지연되고, 제2 출력지연부(340)의 제2 지연경로 길이에 해당하는 3단계의 지연유닛 단위만큼 지연되어 출력되는 신호로서, 신호 입력단(IN_SIG_ND)을 통해 입력지연부(300)로 인가되었던 입력신호(IN_SIG_S)보다 총 6단계의 지연유닛 단위만큼 지연된 신호가 된다.
그리고, 위상 혼합부(360)는, 종래기술에서와 마찬가지로 서로 한 단계의 지연유닛 단위차이가 나는 제1 출력지연부(320)의 최종 출력신호(OUT_SIG1_F)와 제2 출력지연부(340)의 최종 출력신호(OUT_SIG2_F)의 위상을 혼합하여 한 단계의 지연유닛 단위보다 작은 지연량 차이를 갖는 출력신호(OUT_SIG_F)를 생성할 수 있다.
이상에서 살펴본 바와 같이 본 발명의 제2 실시예를 적용하면, 지연라인의 신호 입력단(IN_SIG_ND)을 통해 인가되는 입력신호(IN_SIG_S)는 먼저 입력지연부(300)에 의해 설정된 만큼 지연된 후, 제1 출력지연부(320)와 제2 출력지연부(340)를 거치면서 다시 설정된 만큼 지연되어 두 개의 출력노드(OUT_SIG_ND1, OUT_SIG_ND2)를 통해 두 개의 출력신호(OUT_SIG1_F, OUT_SIG2_F)로서 출력하게 된다.
때문에, 입력 드라이버(380)를 통해 입력신호(IN_SIG_S)가 신호 입력단(IN_SIG_ND)으로 인가될 때에는 입력지연부(300)의 로딩(loading)만 바라보는 상태가 되므로 입력신호(IN_SIG_S)의 레벨이 변형되는 것을 최소한으로 유지할 수 있을 뿐만 아니라 입력 드라이버(380)의 사이즈를 최소한으로 유지할 수도 있다. 따라서, 입력신호(IN_SIG_S)가 높은 정확도 및 빠른 반응속도로 지연라인을 통과하면서 지연될 수 있다.
이로 인해, 본 발명의 제2 실시예에 따른 지연라인은 종래기술에 비해 좀 더 고속으로 동작하는 반도체 장치에 적용되는 것이 가능하다.
(제3 실시예)
도 4는 본 발명의 제3 실시예에 따른 지연라인을 구비한 반도체 장치를 도시한 블록 다이어그램이다.
도 4를 참조하면, 체인 접속된 다수의 단위지연단(400<1>, 400<2>, …, 400<N>)으로 이루어진 지연라인(400)를 구비하는 반도체 장치에 있어서, 각각의 단위지연단(400<1>, 400<2>, …, 400<N>)은, 지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>, CON_1<1>, CON_1<2>, …, CON1<N>, CON_2<1>, CON_2<2>, …, CON_2<N>)에 응답하여 공통입력단(IN_PUB_ND1, IN_PUB_ND2, …, IN_PUB_NDN)으로 입력되는 신호를 지연시켜 공통출력단(OUT_PUB_ND1, OUT_PUB_ND2, …, OUT_PUB_NDN)으로 출력하기 위한 공통 지연부(402<1>, 402<2>, …, 402<N>)와, 지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>, CON_1<1>, CON_1<2>, …, CON1<N>, CON_2<1>, CON_2<2>, …, CON_2<N>)에 응답하여 공통입력단(IN_PUB_ND1, IN_PUB_ND2, …, IN_PUB_NDN)과 제1 입력단(IN_ND1_1, IN_ND1_2, …, IN_ND1_N) 중 어느 하나의 입력단을 통해 입력되는 신호(IN_SIG_S, IN_SIG_1, IN_SIG_2, …, IN_SIG_N-1 or OUT_SIG1_1, OUT_SIG1_2, …, OUT_SIG1_N)를 지연시켜 제1 출력단(OUT_ND1_1, OUT_ND1_2, …, OUT_ND1_N)으로 출력하기 위한 제1 지연부(404<1>, 404<2>, …, 404<N>), 및 지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>, CON_1<1>, CON_1<2>, …, CON1<N>, CON_2<1>, CON_2<2>, …, CON_2<N>)에 응답하여 공통출력단(OUT_PUB_ND1, OUT_PUB_ND2, …, OUT_PUB_NDN)과 제2 입력단(IN_ND2_1, IN_ND2_2, …, IN_ND2_N) 중 어느 하나의 입력단을 통해 입력되는 신호(IN_SIG_1, IN_SIG_2, …, IN_SIG_N or OUT_SIG2_1, OUT_SIG2_2, …, OUT_SIG2_N)를 지연시켜 제2 출력단(OUT_ND2_1, OUT_ND2_2, …, OUT_ND2_N)으로 출력하기 위한 제2 지연부(406<1>, 406<2>, …, 406<N>)를 구비한다. 또한, 지연라인(400)의 제1 신호출력단(OUT_SIG_ND1)을 통해 출력되는 신호(OUT_SIG1_F)와 지연라인(400)의 제2 신호출력단(OUT_SIG_ND2)을 통해 출력되는 신호(OUT_SIG2_F)의 위상을 혼합하기 위한 위상 혼합부(460)를 더 구비한다.
이와 같은 구성을 갖는 각각의 단위지연단(400<1>, 400<2>, …, 400<N>) 중 해당 단위지연단이 지연라인(400)의 가장 앞쪽에 위치한 단위지연단(400<1>)일 경우, 해당 단위지연단(400<1>)의 공통입력단(IN_PUB_ND1)은 지연라인(400)의 신호입력단(IN_SIG_ND)에 접속되고, 해당 단위지연단(400<1>)의 제1 출력단(OUT_ND1_1)은 지연라인(400)의 제1 신호출력단(OUT_SIG_ND1)에 접속되며, 해당 단위지연단(400<1>)의 제2 출력단(OUT_ND2_1)은 지연라인(400)의 제2 신호출력단(OUT_SIG_ND2)에 접속된다.
또한, 이와 같은 구성을 갖는 각각의 단위지연단(400<1>, 400<2>, …, 400<N>) 중 해당 단위지연단이 지연라인(400)의 가장 앞쪽에 위치한 단위지연단(400<1>)이 아닐 경우, 해당 단위지연단(400<2>, 400<3>, …, 400<N>)의 공통입력단(IN_PUB_ND2, IN_PUB_ND3, …, IN_PUB_NDN)은 앞쪽 단위지연단(400<1>, 400<2>, …, 400<N-1>)의 공통출력단(OUT_PUB_ND1, OUT_PUB_ND2, …, OUT_PUB_NDN-1)에 접속되고, 해당 단위지연단(400<2>, 400<3>, …, 400<N>)의 제1 출력단(OUT_ND1_2, OUT_ND1_3, …, OUT_ND1_N)은 앞쪽 단위지연단(400<1>, 400<2>, …, 400<N-1>)의 제1 입력단(IN_ND1_1, IN_ND1_2, …, IN_ND1_N-1)에 접속되며, 해당 단위지연단(400<2>, 400<3>, …, 400<N>)의 제2 출력단(OUT_ND2_2, OUT_ND2_3, …, OUT_ND2_N)은 앞쪽 단위지연단(400<1>, 400<2>, …, 400<N-1>)의 제2 입력단(IN_ND2_1, IN_ND2_2, …, IN_ND2_N-1)에 접속된다.
그리고, 이와 같은 구성을 갖는 각각의 단위지연단(400<1>, 400<2>, …, 400<N>) 중 해당 단위지연단이 지연라인(400)의 가장 뒤쪽에 위치한 단위지연단(400<N>)일 경우, 해당 단위지연단(400<N>)의 공통출력단(OUT_PUB_NDN)은 해당 단위지연단(400<N>)의 제2 입력단(IN_ND2_N)에 접속되고, 해당 단위지연단(400<N>)의 제1 입력단(IN_ND1_N)은 해당 단위지연단(400<N>)의 공통입력단(IN_PUB_NDN)에 접속되며, 해당 단위지연단(400<N>)의 제2 입력단(IN_ND2_N)은 해당 단위지연단(400<N>)의 공통출력단(OUT_PUB_NDN)에 접속된다.
또한, 이와 같은 구성을 갖는 각각의 단위지연단(400<1>, 400<2>, …, 400<N>) 중 해당 단위지연단이 지연라인(400)의 가장 뒤쪽에 위치한 단위지연단(400<N>)이 아닐 경우, 해당 단위지연단(400<1>, 400<2>, …, 400<N-1>)의 공통출력단(OUT_PUB_ND1, OUT_PUB_ND2, …, OUT_PUB_NDN-1)은 뒤쪽 단위지연단(400<2>, 400<3>, …, 400<N>)의 공통입력단(IN_PUB_ND2, IN_PUB_ND3, …, IN_PUB_NDN)에 접속되고, 해당 단위지연단(400<1>, 400<2>, …, 400<N-1>)의 제1 입력단(IN_ND1_1, IN_ND1_2, …, IN_ND1_N-1)은 뒤쪽 단위지연단(400<2>, 400<3>, …, 400<N>)의 제1 출력단(OUT_ND1_2, OUT_ND1_3, …, OUT_ND1_N)에 접속되며, 해당 단위지연단(400<1>, 400<2>, …, 400<N-1>)의 제2 입력단(IN_ND2_1, IN_ND2_2, …, IN_ND2_N-1)은 뒤쪽 단위지연단(400<2>, 400<3>, …, 400<N>)의 제2 출력단(OUT_ND2_2, OUT_ND2_3, …, OUT_ND2_N)에 접속된다.
그리고, 지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>, CON_1<1>, CON_1<2>, …, CON1<N>, CON_2<1>, CON_2<2>, …, CON_2<N>)는 지연제어부(590)에서 생성되며, 공통 지연부(402<1>, 402<2>, …, 402<N>)의 동작을 제어하기 위한 공통지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>)와, 제1 지연부(404<1>, 404<2>, …, 404<N>)의 동작을 제어하기 위한 제1 지연제어코드(CON_1<1>, CON_1<2>, …, CON1<N>), 및 제2 지연부(406<1>, 406<2>, …, 406<N>)의 동작을 제어하기 위한 제2 지연제어코드(CON_2<1>, CON_2<2>, …, CON_2<N>)를 포함한다.
이때, 각각의 단위지연단(400<1>, 400<2>, …, 400<N>)에 구비된 공통 지연부(402<1>, 402<2>, …, 402<N>)는, 공통지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>)가 활성화되는 것에 응답하여 공통입력단(IN_PUB_ND1, IN_PUB_ND2, …, IN_PUB_NDN)으로 입력되는 신호(IN_SIG_S, IN_SIG_1, IN_SIG_2, …, IN_SIG_N-1)를 지연유닛 단위만큼 지연시켜 공통출력단(OUT_PUB_ND1, OUT_PUB_ND2, …, OUT_PUB_NDN)으로 출력(IN_SIG_1, IN_SIG_2, …, IN_SIG_N)하고, 공통지연제어코드(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>)가 비활성화되는 것에 응답하여 공통입력단(IN_PUB_ND1, IN_PUB_ND2, …, IN_PUB_NDN)으로 입력되는 신호(IN_SIG_S, IN_SIG_1, IN_SIG_2, …, IN_SIG_N-1)를 무시하는 동작을 수행한다.
그리고, 각각의 단위지연단(400<1>, 400<2>, …, 400<N>)에 구비된 제1 지연부(404<1>, 404<2>, …, 404<N>)는, 제1 지연제어코드(CON_1<1>, CON_1<2>, …, CON1<N>)가 활성화되는 것에 응답하여 제1 입력단(IN_ND1_1, IN_ND1_2, …, IN_ND1_N)을 통해 입력되는 신호(OUT_SIG1_1, OUT_SIG1_2, …, OUT_SIG1_N)를 지연유닛 단위만큼 지연시켜 제1 출력단(OUT_ND1_1, OUT_ND1_2, …, OUT_ND1_N)으로 출력(OUT_SIG1_F, OUT_SIG1_1, OUT_SIG1_2, …, OUT_SIG1_N-1)하고, 제1 지연제어코드(CON_1<1>, CON_1<2>, …, CON1<N>)가 비활성화되는 것에 응답하여 공통입력단(IN_PUB_ND1, IN_PUB_ND2, …, IN_PUB_NDN)을 통해 입력되는 신호(IN_SIG_S, IN_SIG_1, IN_SIG_2, …, IN_SIG_N-1)를 지연유닛 단위만큼 지연시켜 제1 출력단(OUT_ND1_1, OUT_ND1_2, …, OUT_ND1_N)으로 출력(OUT_SIG1_F, OUT_SIG1_1, OUT_SIG1_2, …, OUT_SIG1_N-1)하는 동작을 수행한다.
그리고, 각각의 단위지연단(400<1>, 400<2>, …, 400<N>)에 구비된 제2 지연부(406<1>, 406<2>, …, 406<N>)는, 제2 지연제어코드(CON_2<1>, CON_2<2>, …, CON_2<N>)가 활성화되는 것에 응답하여 제2 입력단(IN_ND2_1, IN_ND2_2, …, IN_ND2_N)을 통해 입력되는 신호(IN_SIG_1, IN_SIG_2, …, IN_SIG_N)를 지연유닛 단위만큼 지연시켜 제2 출력단(OUT_ND2_1, OUT_ND2_2, …, OUT_ND2_N)으로 출력(OUT_SIG2_F, OUT_SIG2_1, OUT_SIG2_2, …, OUT_SIG2_N-1)하고, 제2 지연제어코드(CON_2<1>, CON_2<2>, …, CON_2<N>)가 비활성화되는 것에 응답하여 공통출력단(OUT_PUB_ND1, OUT_PUB_ND2, …, OUT_PUB_NDN)에서 출력되는 신호(IN_SIG_1, IN_SIG_2, …, IN_SIG_N)를 지연유닛 단위만큼 지연시켜 제2 출력단(OUT_ND2_1, OUT_ND2_2, …, OUT_ND2_N)으로 출력(OUT_SIG2_F, OUT_SIG2_1, OUT_SIG2_2, …, OUT_SIG2_N-1)하는 동작을 수행한다.
이상에서 살펴본 바와 같이 본 발명의 제3 실시예를 적용하면, 지연라인의 신호 입력단(IN_SIG_ND)을 통해 인가되는 입력신호(IN_SIG_S)는 먼저 다수의 단위지연단(400<1>, 400<2>, …, 400<N>)에 구비된 공통 지연부(402<1>, 402<2>, …, 402<N>)를 거치면서 설정된 만큼 지연된 후, 다수의 단위지연단(400<1>, 400<2>, …, 400<N>)에 구비된 제1 지연부(404<1>, 404<2>, …, 404<N>)와 제2 지연부(406<1>, 406<2>, …, 406<N>)를 거치면서 다시 설정된 만큼 지연되어 두 개의 출력노드(OUT_SIG_ND1, OUT_SIG_ND2)를 통해 두 개의 출력신호(OUT_SIG1_F, OUT_SIG2_F)로서 출력하게 된다.
때문에, 입력 드라이버(480)를 통해 입력신호(IN_SIG_S)가 신호 입력단(IN_SIG_ND)으로 인가될 때에는 다수의 단위지연단(400<1>, 400<2>, …, 400<N>)에 구비된 공통 지연부(402<1>, 402<2>, …, 402<N>)의 로딩(loading)만 바라보는 상태가 되므로 입력신호(IN_SIG_S)의 레벨이 변형되는 것을 최소한으로 유지할 수 있을 뿐만 아니라 입력 드라이버(480)의 사이즈를 최소한으로 유지할 수도 있다. 따라서, 입력신호(IN_SIG_S)가 높은 정확도 및 빠른 반응속도로 지연라인을 통과하면서 지연될 수 있다.
이로 인해, 본 발명의 제3 실시예에 따른 지연라인은 종래기술에 비해 좀 더 고속으로 동작하는 반도체 장치에 적용되는 것이 가능하다.
(제4 실시예)
도 5는 본 발명의 제4 실시예에 따른 지연라인을 구비한 반도체 장치를 상세히 도시한 회로도이다.
도 5를 참조하면, 체인 접속된 다수의 단위지연단(500<1>, 500<2>, …, 500<N>)으로 이루어진 지연라인(500)을 구비하는 반도체 장치에 있어서, 각각의 단위지연단(500<1>, 500<2>, …, 500<N>)은, 제1 지연제어신호(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>)에 응답하여 제1 신호입력단(IN_PUB_ND1, IN_PUB_ND2, …, IN_PUB_NDN)에 실린 신호(IN_SIG_S, IN_SIG_1, IN_SIG_2, …, IN_SIG_N-1)를 입력받고, 입력받은 신호(IN_SIG_S, IN_SIG_1, IN_SIG_2, …, IN_SIG_N-1)를 지연하여 제1 신호출력단(OUT_PUB_ND1, OUT_PUB_ND2, …, OUT_PUB_NDN) 또는 신호전달노드(OUT_TRA_ND1, OUT_TRA_ND2, …, OUT_TRA_NDN)로 출력하는 제1 지연논리부(502<1>, 502<2>, …, 502<N>)와, 제2 지연제어신호(CON_1<1>, CON_1<2>, …, CON_1<N>)에 응답하여 제1 신호입력단(IN_PUB_ND1, IN_PUB_ND2, …, IN_PUB_NDN)에 실린 신호(IN_SIG_S, IN_SIG_1, IN_SIG_2, …, IN_SIG_N-1)를 입력받거나 제2 지연제어신호의 반전신호(/CON_1<1>, /CON_1<2>, …, /CON_1<N>)에 응답하여 제2 신호입력단(IN_ND1_1, IN_ND1_2, …, IN_ND1_N)에 실린 신호(OUT_SIG1_1, OUT_SIG1_2, …, OUT_SIG1_N)를 입력받고, 입력받은 신호(OUT_SIG1_1, OUT_SIG1_2, …, OUT_SIG1_N)를 지연하여 제2 신호출력단(OUT_ND1_1, OUT_ND1_2, …, OUT_ND1_N)으로 출력하는 제2 지연논리부(504<1>, 504<2>, …, 504<N>), 및 제3 지연제어신호(CON_2<1>, CON_2<2>, …, CON_2<N>)에 응답하여 신호전달노드(OUT_TRA_ND1, OUT_TRA_ND2, …, OUT_TRA_NDN)에 실린 신호(IN_SIG_1, IN_SIG_2, …, IN_SIG_N-1)를 입력받거나 상기 제3 지연제어신호의 반전신호(/CON_2<1>, /CON_2<2>, …, /CON_2<N>)에 응답하여 제3 신호입력단(IN_ND2_1, IN_ND2_2, …, IN_ND2_N)에 실린 신호(OUT_SIG2_1, OUT_SIG2_2, …, OUT_SIG2_N)를 입력받고, 입력받은 신호(OUT_SIG2_1, OUT_SIG2_2, …, OUT_SIG2_N)를 지연하여 제3 신호출력단(OUT_ND2_1, OUT_ND2_2, …, OUT_ND2_N)으로 출력하는 제3 지연논리부(506<1>, 506<2>, …, 506<N>)를 구비한다. 또한, 지연라인(500)의 제1 신호출력단(OUT_SIG_ND1)을 통해 출력되는 신호(OUT_SIG1_F)와 지연라인(500)의 제2 신호출력단(OUT_SIG_ND2)을 통해 출력되는 신호(OUT_SIG2_F)의 위상을 혼합하기 위한 위상 혼합부(560)를 더 구비한다. 또한, 제1 지연제어신호(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>)와 제2 지연제어신호(CON_1<1>, CON_1<2>, …, CON_1<N>) 및 제3 지연제어신호(CON_2<1>, CON_2<2>, …, CON_2<N>)를 생성하기 위한 지연제어부(590)를 더 구비한다.
여기서, 제1 지연논리부(502<1>, 502<2>, …, 502<N>)는 그 상세한 구성이 설계자의 의도에 따라 다양하게 변화될 수 있다.
먼저, 도면에 도시된 것과 같은 제1 지연논리부(502<1>, 502<2>, …, 502<N>)는, 제1 지연제어신호(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>)와 제1 신호입력단(IN_PUB_ND1, IN_PUB_ND2, …, IN_PUB_NDN)에 실린 신호(IN_SIG_S, IN_SIG_1, IN_SIG_2, …, IN_SIG_N-1)를 부정논리곱하기 위한 제1 낸드게이트(NAND1_1, NAND2_1, …, NANDN_1)와, 제1 낸드게이트(NAND1_1, NAND2_1, …, NANDN_1)의 출력신호와 제1 지연제어신호(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>)를 부정논리곱하여 제1 신호출력단(OUT_PUB_ND1, OUT_PUB_ND2, …, OUT_PUB_NDN)에 출력(IN_SIG_1, IN_SIG_2, …, IN_SIG_N)하기 위한 제2 낸드게이트(NAND1_2, NAND2_2, …, NANDN_2), 및 제1 낸드게이트(NAND1_1, NAND2_1, …, NANDN_1)의 출력신호와 제3 지연제어신호(CON_2<1>, CON_2<2>, …, CON_2<N>)를 부정논리곱하여 신호전달노드(OUT_TRA_ND1, OUT_TRA_ND2, …, OUT_TRA_NDN)에 출력(IN_SIG_1, IN_SIG_2, …, IN_SIG_N)하기 위한 제3 낸드게이트(NAND1_3, NAND2_3, …, NANDN_3)를 구비한다.
그리고, 도면에 직접 도시되진 않았지만 내부에서 사용되는 제어신호의 수를 줄이게 되면 도면에 도시된 것과 동일한 구성요소를 가진 상태에서 제1 지연논리부(502<1>, 502<2>, …, 502<N>)의 구성이 다음과 같이 변형될 수 있다.
도면에 도시된 것보다 제어신호를 감소시킨 제1 지연논리부(502<1>, 502<2>, …, 502<N>)는, 제1 지연제어신호(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>)와 제1 신호입력단(IN_PUB_ND1, IN_PUB_ND2, …, IN_PUB_NDN)에 실린 신호를 부정논리곱하기 위한 제1 낸드게이트(NAND1_1, NAND2_1, …, NANDN_1)와, 제1 낸드게이트(NAND1_1, NAND2_1, …, NANDN_1)의 출력신호와 전원전압(VDD)단에 실린 신호를 부정논리곱하여 제1 신호출력단(OUT_PUB_ND1, OUT_PUB_ND2, …, OUT_PUB_NDN)에 출력(IN_SIG_1, IN_SIG_2, …, IN_SIG_N)하기 위한 제2 낸드게이트(NAND1_2, NAND2_2, …, NANDN_2), 및 제1 낸드게이트(NAND1_1, NAND2_1, …, NANDN_1)의 출력신호와 전원전압(VDD)단에 실린 신호를 부정논리곱하여 신호전달노드(OUT_TRA_ND1, OUT_TRA_ND2, …, OUT_TRA_NDN)에 출력(IN_SIG_1, IN_SIG_2, …, IN_SIG_N)하기 위한 제3 낸드게이트(NAND1_3, NAND2_3, …, NANDN_3)를 구비한다.
즉, 제어신호를 감소시킨 제1 지연논리부(502<1>, 502<2>, …, 502<N>)는, 제어신호 대신 전원전압(VDD)단에 실린 신호를 인가하여 내부에서 사용되는 제어신호의 수를 줄이는 방법을 사용하였다.
그리고, 도면에 직접 도시되진 않았지만 제어신호를 감소시킬 뿐만 아니라 도면에 도시된 제1 지연논리부(502<1>, 502<2>, …, 502<N>)의 구성요소를 최소한으로 줄인다면 그 구성이 다음과 같이도 변형될 수 있다.
도면에 도시된 것보다 제어신호 및 구성요소를 감소시킨 제1 지연논리부(502<1>, 502<2>, …, 502<N>)는, 제1 지연제어신호(CON_PUB<1>, CON_PUB<2>, …, CON_PUB<N>)와 제1 신호입력단(IN_PUB_ND1, IN_PUB_ND2, …, IN_PUB_NDN)에 실린 신호를 부정논리곱하기 위한 제1 낸드게이트(NAND1_1, NAND2_1, …, NANDN_1), 및 제1 낸드게이트(NAND1_1, NAND2_1, …, NANDN_1)의 출력신호와 전원전압(VDD)단에 실린 신호를 부정논리곱하여 제1 신호출력단(OUT_PUB_ND1, OUT_PUB_ND2, …, OUT_PUB_NDN) 및 신호전달노드(OUT_TRA_ND1, OUT_TRA_ND2, …, OUT_TRA_NDN)에 동시에 출력(IN_SIG_1, IN_SIG_2, …, IN_SIG_N)하기 위한 제2 낸드게이트(NAND1_2, NAND2_2, …, NANDN_2)를 구비한다.
즉, 제어신호 및 구성요소를 감소시킨 제1 지연논리부(502<1>, 502<2>, …, 502<N>)는, 제3 낸드게이트(NAND1_3, NAND2_3, …, NANDN_3)의 역활을 제2 낸드게이트(NAND1_2, NAND2_2, …, NANDN_2)가 동시에 해낼 수 있도록 하는 방법을 사용하였다.
그리고, 제2 지연논리부(504<1>, 504<2>, …, 504<N>)는, 제2 지연제어신호(CON_1<1>, CON_1<2>, …, CON_1<N>)와 제1 신호입력단(IN_PUB_ND1, IN_PUB_ND2, …, IN_PUB_NDN)에 실린 신호(IN_SIG_S, IN_SIG_1, IN_SIG_2, …, IN_SIG_N-1)를 부정논리곱하기 위한 제1 낸드게이트(NAND1_4, NAND2_4, …, NANDN_4)와, 제2 지연제어신호의 반전신호(/CON_1<1>, /CON_1<2>, …, /CON_1<N>)와 제2 신호입력단(IN_ND1_1, IN_ND1_2, …, IN_ND1_N)에 실린 신호(OUT_SIG1_1, OUT_SIG1_2, …, OUT_SIG1_N)를 부정논리곱하기 위한 제2 낸드게이트(NAND1_5, NAND2_5, …, NANDN_5), 및 제1 낸드게이트(NAND1_4, NAND2_4, …, NANDN_4)의 출력신호와 제2 낸드게이트(NAND1_5, NAND2_5, …, NANDN_5)의 출력신호를 부정논리곱하여 제2 신호출력단(OUT_ND1_1, OUT_ND1_2, …, OUT_ND1_N)으로 출력(OUT_SIG1_F, OUT_SIG1_1, OUT_SIG1_2, …, OUT_SIG1_N-1)하기 위한 제3 낸드게이트(NAND1_6, NAND2_6, …, NANDN_6)를 구비한다.
그리고, 제3 지연논리부(506<1>, 506<2>, …, 506<N>)는, 제3 지연제어신호(CON_2<1>, CON_2<2>, …, CON_2<N>)와 신호전달노드(OUT_TRA_ND1, OUT_TRA_ND2, …, OUT_TRA_NDN)에 실린 신호(IN_SIG_1, IN_SIG_2, …, IN_SIG_N)를 부정논리곱하기 위한 제1 낸드게이트(NAND1_7, NAND2_7, …, NANDN_7)와, 제3 지연제어신호의 반전신호(/CON_2<1>, /CON_2<2>, …, /CON_2<N>)와 제3 신호입력단(IN_ND2_1, IN_ND2_2, …, IN_ND2_N)에 실린 신호(OUT_SIG2_1, OUT_SIG2_2, …, OUT_SIG2_N)를 부정논리곱하기 위한 제2 낸드게이트(NAND1_8, NAND2_8, …, NANDN_8), 및 제1 낸드게이트(NAND1_7, NAND2_7, …, NANDN_7)의 출력신호와 제2 낸드게이트(NAND1_8, NAND2_8, …, NANDN_8)의 출력신호를 부정논리곱하여 제3 신호출력단(OUT_ND2_1, OUT_ND2_2, …, OUT_ND2_N)으로 출력(OUT_SIG2_F, OUT_SIG2_1, OUT_SIG2_2, …, OUT_SIG2_N-1)하기 위한 제3 낸드게이트(NAND1_9, NAND2_9, …, NANDN_9)를 구비한다.
그리고, 전술한 구성에서 한 개의 낸드게이트는 입력되는 신호를 1/2 유닛 지연단위만큼 지연시킨다.
따라서, 각각의 단위지연단(500<1>, 500<2>, …, 500<N>)의 제1 신호입력단(IN_PUB_ND1, IN_PUB_ND2, …, IN_PUB_NDN)으로 입력된 신호(IN_SIG_S, IN_SIG_1, IN_SIG_2, …, IN_SIG_N-1)가 제1 신호출력단(OUT_PUB_ND1, OUT_PUB_ND2, …, OUT_PUB_NDN) 또는 신호전달노드(OUT_TRA_ND1, OUT_TRA_ND2, …, OUT_TRA_NDN)로 전달되기까지 1단계의 유닛지연단위만큼 지연된다는 것을 알 수 있다.
마찬가지로, 각각의 단위지연단(500<1>, 500<2>, …, 500<N>)의 제2 신호입력단(IN_ND1_1, IN_ND1_2, …, IN_ND1_N)으로 입력된 신호(OUT_SIG1_1, OUT_SIG1_2, …, OUT_SIG1_N) 또는 제1 신호출력단(OUT_PUB_ND1, OUT_PUB_ND2, …, OUT_PUB_NDN)에 실린 신호(IN_SIG_1, IN_SIG_2, …, IN_SIG_N)가 제2 신호출력단(OUT_ND1_1, OUT_ND1_2, …, OUT_ND1_N)으로 전달되기까지 1단계의 유닛지연단위만큼 지연된다는 것을 알 수 있다.
또한, 각각의 단위지연단(500<1>, 500<2>, …, 500<N>)의 제3 신호입력단(IN_ND2_1, IN_ND2_2, …, IN_ND2_N)으로 입력된 신호(OUT_SIG2_1, OUT_SIG2_2, …, OUT_SIG2_N) 또는 신호전달노드(OUT_TRA_ND1, OUT_TRA_ND2, …, OUT_TRA_NDN)에 실린 신호(IN_SIG_1, IN_SIG_2, …, IN_SIG_N)가 제3 신호출력단(OUT_ND2_1, OUT_ND2_2, …, OUT_ND2_N)으로 전달되기까지 1단계의 유닛지연단위만큼 지연된다는 것을 알 수 있다.
그리고, 이와 같은 구성을 갖는 각각의 단위지연단(500<1>, 500<2>, …, 500<N>) 중 해당 단위지연단이 지연라인(500)의 가장 앞쪽에 위치한 단위지연단(500<1>)일 경우, 해당 단위지연단(500<1>)의 제1 신호입력단(IN_PUB_ND1)은 지연라인(500)의 공통신호입력단(IN_SIG_ND)에 접속되고, 해당 단위지연단(500<1>)의 제2 신호출력단(OUT_ND1_1)은 지연라인(500)의 제1 신호출력단(OUT_SIG_ND1)에 접속되며, 해당 단위지연단(500<1>)의 제3 신호출력단(OUT_ND2_1)은 지연라인(500)의 제2 신호출력단(OUT_SIG_ND2)에 접속된다.
반대로, 이와 같은 구성을 갖는 각각의 단위지연단(500<1>, 500<2>, …, 500<N>) 중 해당 단위지연단이 지연라인(500)의 가장 앞쪽에 위치한 단위지연단(500<1>)이 아닐 경우, 해당 단위지연단(500<2>, 500<3>, …, 500<N>)의 제1 신호입력단(IN_PUB_ND2, IN_PUB_ND3, …, IN_PUB_NDN)은 앞쪽 단위지연단(500<1>, 500<2>, …, 500<N-1>)의 제1 신호출력단(OUT_PUB_ND1, OUT_PUB_ND2, …, OUT_PUB_NDN-1)에 접속되고, 해당 단위지연단(500<2>, 500<3>, …, 500<N>)의 제2 신호출력단(OUT_ND1_2, OUT_ND1_3, …, OUT_ND1_N)은 앞쪽 단위지연단(500<1>, 500<2>, …, 500<N-1>)의 제2 신호입력단(IN_ND1_1, IN_ND1_2, …, IN_ND1_N-1)에 접속되며, 해당 단위지연단(500<2>, 500<3>, …, 500<N>)의 제3 신호출력단(OUT_ND2_2, OUT_ND2_3, …, OUT_ND2_N)은 앞쪽 단위지연단(500<1>, 500<2>, …, 500<N-1>)의 제3 신호입력단(IN_ND2_1, IN_ND2_2, …, IN_ND2_N-1)에 접속된다.
그리고, 이와 같은 구성을 갖는 각각의 단위지연단(500<1>, 500<2>, …, 500<N>) 중 해당 단위지연단이 지연라인(500)의 가장 뒤쪽에 위치한 단위지연단(500<N>)일 경우, 해당 단위지연단(500<N>)의 제2 신호입력단(IN_ND1_N) 및 제3 신호입력단(IN_ND2_N)은 전원전압(VDD)단에 접속된다.
반대로, 이와 같은 구성을 갖는 각각의 단위지연단(500<1>, 500<2>, …, 500<N>) 중 해당 단위지연단이 지연라인(500)의 가장 뒤쪽에 위치한 단위지연단(500<N>)이 아닐 경우, 해당 단위지연단(500<1>, 500<2>, …, 500<N-1>)의 제1 신호출력단(OUT_PUB_ND1, OUT_PUB_ND2, …, OUT_PUB_NDN-1)은 뒤쪽 단위지연단(500<2>, 500<3>, …, 500<N>)의 제1 신호입력단(IN_PUB_ND2, IN_PUB_ND3, …, IN_PUB_NDN)에 접속되고, 해당 단위지연단(500<1>, 500<2>, …, 500<N-1>)의 제2 신호입력단(IN_ND1_1, IN_ND1_2, …, IN_ND1_N-1)은 뒤쪽 단위지연단(500<2>, 500<3>, …, 500<N>)의 제2 신호출력단(OUT_ND1_2, OUT_ND1_3, …, OUT_ND1_N)에 접속되며, 해당 단위지연단(500<1>, 500<2>, …, 500<N-1>)의 제3 신호입력단(IN_ND2_1, IN_ND2_2, …, IN_ND2_N-1)은 뒤쪽 단위지연단(500<2>, 500<3>, …, 500<N>)의 제3 신호출력단(OUT_ND2_2, OUT_ND2_3, …, OUT_ND2_N)에 접속된다.
그리고, 이와 같은 구성을 갖는 각각의 단위지연단(500<1>, 500<2>, …, 500<N>) 중 해당 단위지연단이 지연라인(500)의 가장 앞쪽에 위치한 단위지연단(500<1>)일 경우, 해당 단위지연단(500<1>)으로 인가되는 제1 지연제어신호(CON_PUB<1>)는 전원전압(VDD)단의 논리레벨로 고정된다.
반대로, 이와 같은 구성을 갖는 각각의 단위지연단(500<1>, 500<2>, …, 500<N>) 중 해당 단위지연단이 지연라인(500)의 가장 앞쪽에 위치한 단위지연단(500<1>)이 아닐 경우, 해당 단위지연단(500<2>, 500<3>, …, 500<N>)으로 인가되는 제1 지연제어신호(CON_PUB<2>, CON_PUB<3>, …, CON_PUB<N>)는 앞쪽 단위지연단(500<1>, 500<2>, …, 500<N-1>)으로 인가되는 제2 지연제어신호의 반전신호(/CON_1<1>, /CON_1<2>, …, /CON_1<N-1>)와 동일한 논리레벨을 갖게 된다.
참고로, 도 5에 도시된 도면에서 다수의 단위지연단(500<1>, 500<2>, …, 500<N>) 중 가장 뒤쪽에 위치한 단위지연단(500<N>)의 제1 신호출력단(OUT_PUB_NDN)은 그냥 끊겨 있는 상태로 되어 있어서 실질적으로는 아무런 역할도 하지 않는 신호이다. 따라서, 설계자의 의도에 따라 이 신호(IN_SIG_N)를 다른 용도로 사용할 수도 있고, 용도가 없을 경우에는 이 신호(IN_SIG_N)를 생성하기 위한 낸드게이트(NANDN_2) 자체가 존재하지 않는 형태로 변형될 수도 있다.
이상에서 살펴본 바와 같이 본 발명의 제4 실시예를 적용하면, 지연라인(500)의 신호 입력단(IN_SIG_ND)을 통해 인가되는 입력신호(IN_SIG_S)는 먼저 다수의 단위지연단(500<1>, 500<2>, …, 500<N>)에 구비된 제1 지연논리부(502<1>, 502<2>, …, 502<N>)를 거치면서 설정된 만큼 지연된 후, 다수의 단위지연단(500<1>, 500<2>, …, 500<N>)에 구비된 제2 지연논리부(504<1>, 504<2>, …, 504<N>)와 제3 지연논리부(506<1>, 506<2>, …, 506<N>)를 거치면서 다시 설정된 만큼 지연되어 두 개의 출력노드(OUT_SIG_ND1, OUT_SIG_ND2)를 통해 두 개의 출력신호(OUT_SIG1_F, OUT_SIG2_F)로서 출력하게 된다.
때문에, 입력 드라이버(580)를 통해 입력신호(IN_SIG_S)가 신호 입력단(IN_SIG_ND)으로 인가될 때에는 다수의 단위지연단(500<1>, 500<2>, …, 500<N>)에 구비된 제1 지연논리부(502<1>, 502<2>, …, 502<N>)의 로딩(loading)만 바라보는 상태가 되므로 입력신호(IN_SIG_S)의 레벨이 변형되는 것을 최소한으로 유지할 수 있을 뿐만 아니라 입력 드라이버(580)의 사이즈를 최소한으로 유지할 수도 있다. 따라서, 입력신호(IN_SIG_S)가 높은 정확도 및 빠른 반응속도로 지연라인을 통과하면서 지연될 수 있다.
이로 인해, 본 발명의 제4 실시예에 따른 지연라인은 종래기술에 비해 좀 더 고속으로 동작하는 반도체 장치에 적용되는 것이 가능하다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속한 기술분야에서 통상의 지식을 가진자에게 있어 명백할 것이다.
예컨대, 전술한 실시예에서 예시한 논리 게이트 및 트랜지스터는 입력되는 신호의 극성에 따라 그 위치 및 종류가 다르게 구현되어야 할 것이다.