KR100444606B1 - 명령 상태 머신 및 그 구동 방법 - Google Patents

명령 상태 머신 및 그 구동 방법 Download PDF

Info

Publication number
KR100444606B1
KR100444606B1 KR10-2002-0041654A KR20020041654A KR100444606B1 KR 100444606 B1 KR100444606 B1 KR 100444606B1 KR 20020041654 A KR20020041654 A KR 20020041654A KR 100444606 B1 KR100444606 B1 KR 100444606B1
Authority
KR
South Korea
Prior art keywords
control signal
state
command state
command
signal
Prior art date
Application number
KR10-2002-0041654A
Other languages
English (en)
Other versions
KR20040007023A (ko
Inventor
박영수
Original Assignee
주식회사 하이닉스반도체
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 하이닉스반도체 filed Critical 주식회사 하이닉스반도체
Priority to KR10-2002-0041654A priority Critical patent/KR100444606B1/ko
Publication of KR20040007023A publication Critical patent/KR20040007023A/ko
Application granted granted Critical
Publication of KR100444606B1 publication Critical patent/KR100444606B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/3017Runtime instruction translation, e.g. macros
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Logic Circuits (AREA)

Abstract

본 발명은 명령 상태 머신 및 그 구동 방법에 관한 것으로, 명령 상태를 활성화시키는 제 1 제어 신호에 따라 전원 전압을 현재 명령 상태가 활성화되었는지를 이전 인접 명령 상태에 피드백시키기 위한 제 2 제어 신호로서 출력하기 위한 스위칭 수단과, 상기 제 1 제어 신호 및 그 반전 신호에 따라 이전 단계의 명령 상태의 활성화 상태가 입력되는 제 4 제어 신호를 전달시키기 위한 제 1 전달 게이트와, 상기 제 1 제어 신호 및 그 반전 신호에 따라 상기 제 1 제어 신호의 반전 신호를 상기 제 2 제어 신호로서 출력하기 위한 제 2 전달 게이트와, 상기 제 1 전달 게이트를 통해 전달된 상기 제 4 제어 신호를 래치시키기 위한 제 1 래치 수단과, 다음 인접 명령 상태가 활성화되었을 때 피드백받아 입력되는 제 3 제어 신호 및 그 반전 신호에 따라 상기 제 1 래치 수단에 래치된 상기 제 4 제어 신호를 전달하기 위한 제 3 전달 게이트와, 상기 제 3 전달 게이트를 통해 전달된 상기 제 4 제어 신호를 래치시켜 현재 명령 상태의 활성화 상태가 다음 명령 상태로 출력되는 제 5 제어 신호를 출력하기 위한 제 2 래치 수단을 포함하여 이루어진다.

Description

명령 상태 머신 및 그 구동 방법{Command state machineand method of operating the same}
본 발명은 명령 상태 머신 및 그 구동 방법에 관한 것으로, 특히 구현해야할 기능들의 각 명령들을 순차적인 어레이(Sequencial Array) 형태로 배열한 후 어레이를 구성하는 각 명령에 하나의 상태를 설정함으로써 입력되는 명령에 따라 오직 하나의 상태가 순차적으로 활성화되도록 하는 명령 상태 머신 및 그 구동 방법에 관한 것이다.
모든 명령들은 주소(Address)와 데이터(Data)을 디코딩(Decoding)하여 생성하며, 특정 기능(Function)을 위한 신호를 생성하기 위해서는 일련의 명령들이 정해진 순서에 따라 연속적으로 입력 또는 나열되어야만 한다. 이때 입력된 명령 상태를 구현한 회로가 명령 상태 머신(Command State Machine; CSM)이다. 현재는 동적인(dynamic) 피드백 디코딩(feedback Decoding) 방식을 널리 사용하고 있다. 이 방법은 플립플롭(flip-flop) 또는 레지스터(Register)를 이용하여 필요한 만큼의 명령 상태(command state)를 생성한 후 각 명령 상태에서 다음 상태로 전이하기 위해 피드백 방식을 사용한다. 예를 들어 플립플롭은 출력 단자가 Q와 Qb 2개가 있으므로, 플립플롭을 3개 사용할 경우 8개의 명령 상태를 생성할 수 있다. 사용할 플립플롭을 각각 D0, D1, D2라 하면 각 명령 상태를 나타낼 조합은 [표 1]과 같다.
ST0 ST1 ST2 ST3 ST4 ST5 ST6 ST7
D2 0 0 0 0 1 1 1 1
D1 0 0 1 1 0 0 1 1
D0 0 1 0 1 0 1 0 1
이와 같이 플립플롭의 상태를 조합하여 명령 상태를 생성하는 것을 명령 상태 디코딩(command state decoding)이라고 한다. 즉, ST3가 1(high)이려면, D0=D1=1(high)이고 D2=0(low)이어야 한다. 한편, 역으로 특정 플립플롭을 1(high)로 만들기 위해서는 위의 조합에 해당 명령 상태가 1이 되도록 플립플롭에 입력되어야만 한다. 예를 들어 D0=1이려면 ST1=ST3=ST5=ST7=1이고, 나머지는 0이어야 한다. 이것을 피드백 디코딩(feedback encoding)이라 한다.
명령 상태간에 어떤 식으로 전이해 가는지 예를 들어보면 다음과 같다.
기능(Function) F1이 ABCD 명령 조합으로 동작한다고 가정하자. 먼저 초기 상태에서 명령 A가 입력 또는 나열되면 A와 피드백된 초기 상태인 STO가 조합되어 플립플롭에 입력되어 D0=로우(low), D1=하이(high), D2=로우(low)가 된다. 이와 같은 플립플롭의 상태는 다시 디코딩되어 ST0은 하이(high) 상태에서 로우(low) 상태로 바뀌고, ST1은 로우 상태에서 하이 상태로 바뀌어 결국 명령 A에 의해 ST0에서 ST1으로 전이되게 된다. 마찬가지로 명령 B와 피드백된 ST1이 조합되어 플립플롭의 상태를 바꾸고 이것이 다시 ST1에서 ST2로 전이를 일으키게 된다. 이와같은 식으로 최종적으로 ST4가 활성화되면 기능(function) F1이 수행된다.
이러한 피드백 방식의 명령 상태 디코딩 방식은 적은 수의 플립플롭 또는 레지스터를 사용하여 많은 명령 상태를 구현하는 장점이 있으며, 특히 동일한 명령들이 사용될 경우 적당한 알고리즘을 사용하여 명령 상태의 수를 줄일 수 있다. 즉, ABCABD와 ABCABEF의 2가지 기능의 경우 위와 같이 사용할 경우 13개의 명령 상태가필요하지만 실제 필요한 명령 상태의 수는 5개(초기 상태, A, D, E, F)이며, AB와 ABC에 대해서는 명령 상태와는 다른 별도의 플립플롭 또는 레지스터를 이용해 기억해 두었다가 적당한 추가 회로를 사용하는 기존의 명령 상태 머신에 연결되도록 한다. 이때 추가로 사용되는 별도의 회로는 13개의 상태를 사용하는 것보다 더 경제적이고 단순하며 더 유용한 것이 보통이다.
그러나 이 방식은 몇가지 한계를 지니고 있다.
첫째, 사용해야 될 상태 수가 많아지면 회로가 매우 복잡해지고 차지하는 면적도 매우 커진다. 피드백 디코딩 회로에 대해서만 고려해 보면 플립플롭의 경우 필요한 상태 수의 증가에 대해 사용되는 트랜지스터의 개수를 대략 비교보면 [표 2]와 같다.
상태 수 2개 4개 8개 16개 32개 ....
트랜지스터 수 22개 88개 166개 304개 514개 ....
보통 한 기능당 사용되는 명령이 평균적으로 4개 정도라 할때 상태 증가도 4개 정도가 되므로 새로이 한 기능만 추가되어도 명령 상태 머신 디코딩에 사용되는 트랜지스터의 개수는 크게 증가할 것이다. 따라서 이 방식은 비교적 간단한 동작들을 구현하는 회로에 사용되거나 혹은 필요한 상태 수가 일정 수 이상 넘어가면 한꺼번에 디코딩하지 않고 몇가지 그룹으로 분할하여 디코딩한 후 추가 회로를 사용하여 분할된 그룹을 연결하여 사용하기도 한다.
둘째, 상태 수가 많아져 명령 상태 머신 회로가 복잡해지면 논리적인 오류의가능성이 매우 커지며 나중에 디버깅(debugging)할 때에도 어려움이 증가하게 된다. 만일 상태가 분할되거나 상태 수를 줄이기 위해 추가 제어(control) 회로들이 사용될 경우 문제 발생의 가능성을 예상하기 힘들게 되고, 개발의 어려움이 크게 증가하게 될 것이다. 더욱이 상태 수가 많아져 명령 상태 머신이 지나치게 커지면 각 상태들간의 논리적인 관계와 타이밍(timing) 설정시 발생할 수 있는 작은 변화도 전체 명령 상태 머신에 큰 영향을 미칠 수 있으므로 회로의 독립성이 크게 악화되어 문제 발생시 원인 규명이 어렵게 될 개연성을 가지고 있다.
셋째, 회로의 연속성이나 확장성이 줄어들어 개발의 어려움이 증가할 것으로 생각된다. 기존에 개발된 제품에 새로운 기능들이 추가되거나 변경되는 경우를 생각해보면 만약 추가되거나 변경된 기능들이 많아서 기존 회로를 일부만 수정할 수 없는 경우가 발생할 수 있다. 이 경우는 회로를 크게 바꾸어야 할 것이므로 위에서 언급한 문제들에 직면하게 될 것이다
최근의 추세를 보면 여러 기능들을 하나의 칩에 집적하는 원칩(One-chip)이나 멀티미디어 기능의 확장 및 네트워크의 확대, ASIC과 메모리(Memory)의 결합 등 회로 내에서 구현해야 하거나 조절해야 할 기능들이 크게 증가하고 있으며 다양한 제품군에 대한 요구가 증가하고 있으므로 명령 상태 머신을 논리 회로가 크게 복잡해지고 차지하는 면적도 커지고 있다. 특히 오류의 가능성도 매우 많아지고 있어 개발 위험(risk)도가 크게 증가하고 있다.
본 발명의 목적은 동적인 특성을 유지하면서 상태간의 상호 독립성을 강화하는 순차적 활성화 방식을 사용함으로써 구현하고자 하는 기능들간의 논리적인 오류를 크게 줄일 수 있어 디버깅을 용이하게 하고 회로의 상호 의존성을 명확하게 할 수 있는 명령 상태 머신을 제공하는데 있다.
본 발명의 다른 목적은 사용될 상태 수에 관계없이 쉽고 단순하게 구현할 수 있으며, 복잡한 회로도 각각의 세부 회로로 순차적으로 나누어 쉽고 분명하게 구현할 수 있는 명령 상태 머신 및 그 구동 방법을 제공하는데 있다.
본 발명의 또 다른 목적은 규모가 큰 회로나 많은 내부 또는 외부 기능들을 필요로 하는 복잡한 회로 설계에 쉽게 적용할 수 있으며, 또한 회로의 업그레이드나 파생 제품의 개발에 있어서도 기존 회로에 영향을 거의 주지 않고 쉽게 수정 및 추가 할 수 있으므로 회로의 확장성과 연속성을 크게 증가시킬 수 있는 명령 상태 머신 및 그 구동 방법을 제공하는데 있다.
도 1은 본 발명에 따른 순차적인 명령 상태 신호 발생 회로도.
도 2는 본 발명에 따른 순차적인 명령 상태 신호 발생 회로를 이용하여 구성한 명령 상태 머신의 구성도.
<도면의 주요 부분에 대한 부호의 설명>
I11 내지 I18 : 제 1 내지 제 8 인버터
T11 내지 T13 : 제 1 내지 제 3 전달 게이트
11 및 12 : 제 1 및 제 2 래치 수단
P11 : PMOS 트랜지스터 N11 : NMOS 트랜지스터
본 발명에 따른 명령 상태 머신은 명령 상태를 활성화시키는 제 1 제어 신호에 따라 전원 전압을 현재 명령 상태가 활성화되었는지를 이전 인접 명령 상태에 피드백시키기 위한 제 2 제어 신호로서 출력하기 위한 스위칭 수단과, 상기 제 1 제어 신호 및 그 반전 신호에 따라 이전 단계의 명령 상태의 활성화 상태가 입력되는 제 4 제어 신호를 전달시키기 위한 제 1 전달 게이트와, 상기 제 1 제어 신호및 그 반전 신호에 따라 상기 제 1 제어 신호의 반전 신호를 상기 제 2 제어 신호로서 출력하기 위한 제 2 전달 게이트와, 상기 제 1 전달 게이트를 통해 전달된 상기 제 4 제어 신호를 래치시키기 위한 제 1 래치 수단과, 다음 인접 명령 상태가 활성화되었을 때 피드백받아 입력되는 제 3 제어 신호 및 그 반전 신호에 따라 상기 제 1 래치 수단에 래치된 상기 제 4 제어 신호를 전달하기 위한 제 3 전달 게이트와, 상기 제 3 전달 게이트를 통해 전달된 상기 제 4 제어 신호를 래치시켜 현재 명령 상태의 활성화 상태가 다음 명령 상태로 출력되는 제 5 제어 신호를 출력하기 위한 제 2 래치 수단을 포함하여 이루어진 것을 특징으로 한다.
본 발명에 따른 명령 상태 머신의 구동 방법은 모든 명령 상태가 비활성화 상태인 초기 상태에서 올바른 순서로 입력 또는 나열된 명령에 의해서만 명령 상태가 활성화되어 하이 상태의 신호를 전달하는 단계와, 상기 명령 입력이 올바른 순서가 아니면 활성화되더라도 로우 상태의 신호를 전달하는 단계와, 한 개의 명령 상태가 선택되어 활성화되면 다른 모든 명령 상태는 비활성화 상태이어야 하며, 비활성화가 되면 리셋되어 로우 상태의 값을 전달하는 단계와, 현재 어느 하나의 명령 상태가 활성화되어 있다면 인접 명령 상태가 다음에 활성화되어야 하는 단계와, 어느 하나의 명령 상태가 활성화된 상태에서 최초의 명령 상태가 활성화되면 상기 활성화된 명령 상태를 제외한 모든 명령 상태를 리셋하는 단계를 포함하여 이루어진 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써본 발명을 상세히 설명한다. 그러나, 본 발명은 이하에서 개시되는 실시 예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시 예는 본 발명의 개시가 완전하도록 하며, 이 기술 분야에서 통상의 지식을 가진자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 또한, 도면상에서 동일 부호는 동일 요소를 지칭한다.
먼저 구현해야 할 기능이 다음과 같은 방식으로 명령들을 입력 또는 나열해야 한다고 가정하자.
Fl ; ABCDE
이때 각각의 명령에 하나의 순차적인 명령 상태(Sequencial Command State: 이하 SCS라 함)를 부여하여 하나의 기능이 하나의 명령 상태 어레이에 대응되도록 할 수 있다. 즉, A에 SCS1, B에 SCS2 등으로 설정하면 기능 F1을 [SCS1, SCS2, SCS3, SCS4, SCS5]로 나타낼 수 있으며 최종적으로 SCS5의 출력 결과로 F1를 실행하게 된다.
올바른 기능이 수행되기 위해서 각각의 CSi가 지녀야할 특성을 나열해 보면 다음과 같다.
1) 모든 CS의 초기 상태는 비활성화 상태이며 올바른 순서로 입력 또는 나열된 명령에 의해서 활성화되야만 1(high)를 전달한다. 올바른 순서가 아니면 활성화가 되더라도 0(low)를 전달해야 한다. 즉, 앞의 예에서 SCS1이 1값을 가지고 있다고 가정하고 명령 B가 입력되었다고 가정하자. 명령 B는 SCS2를 활성화하고 또 SCS2만이 올바른 순서에 해당하므로 SCS2가 1값을 갖게 되고 나머지는 모두 0값을가져야 한다.
2) 한 개의 SCSi가 선택되어 활성화되면 다른 모든 CS는 비활성화 상태이어야 하며, 비활성화가 되면 리셋(reset)되어 0(low) 값을 전달한다. 따라서, 순서가 올바른 오직 하나의 CS만이 1(high) 값을 가질 수 있다.
3) SCSi가 현재 활성화되어 있다면 다음에 활성화 되어야 할 CS는 SCS(i+1) 이어야 한다. 즉, SCS2이 활성화되어 있을 때 다음에 SCS3을 제외한 다른 SCSi가 활성화되면 잘못된 명령이 입력된 것이므로 모든 CS는 리셋(reset)되어야 한다.
4) 만약 SCSi가 활성화 된 상태에서 SCS0가 활성화되면 기능이 다시 시작된다고 생각하여 SCS0를 제외한 모든 CS를 리셋(reset)시킨다.
상기와 같은 특성을 갖는 본 발명에 따른 CS 회로를 도 1에 도시하였으며, 각 제어 신호들의 기능을 먼저 살펴본 후 그 구성을 설명하면 다음과 같다.
제 1 제어 신호(CMD)는 CS를 활성화시키는 명령을 나타내는 신호이고, 제 2 제어 신호(CMRSTOUT)는 현재 CS가 활성화되었는지를 이전 인접 CS에 피드백해주기 위해 출력되는 신호이며, 제 3 제어 신호(CMDRSTIN)는 다음 인접 CS가 활성화되었을 때 피드백 받아 입력되는 신호이다. 그리고, 제 4 제어 신호(MATRIXIN)는 이전 단계의 CS 활성화 상태가 입력되는 신호이고, 제 5 제어 신호(MATRIXOUT)는 현재의 CS 활성화 상태가 다음 CS로 출력되는 신호이다.
전원 단자(Vcc)와 제 2 제어 신호(CMDRSTOUT) 출력 단자 사이에 제 1 제어 신호(CMD)에 따라 구동되는 제 1 PMOS 트랜지스터(P11)가 접속된다. 제 1인버터(I11)는 제 1 제어 신호(CMD)를 반전시킨다. 제 1 전달 게이트(T11)는 제 1 인버터(I11)의 출력 신호를 PMOS측으로 입력하고 제 1 인버터(I11)의 출력 신호가 제 2 인버터(I12)를 통해 반전된 신호를 NMOS측으로 입력하여 구동되며, 제 4 제어 신호(MATRIXIN)를 전달한다. 제 2 전달 게이트(T12)는 제 2 인버터(I12)의 출력 신호를 NMOS측으로 입력하고, 제 2 인버터(I12)의 출력 신호가 제 3 인버터(I13)를 통해 반전된 신호를 PMOS측으로 입력하여 구동되며, 제 1 인버터(I11)를 통해 반전된 제 1 제어 신호(CMD)를 제 2 제어 신호(CMDRSTOUT) 출력 단자로 전달한다. 제 4 인버터(I14)와 제 5 인버터(I15)로 구성된 제 1 래치 수단(11)은 제 1 전달 게이트(T11)를 통해 전달된 제 4 제어 신호(MATRIXIN)를 래치한다. 제 1 래치 수단(11)과 접지 단자(Vss) 사이에 제 2 인버터(I12)의 출력 신호에 따라 구동되는 제 1 NMOS 트랜지스터(N11)가 접속된다. 제 1 래치 수단(11)의 출력 신호는 제 3 전달 게이트(T13)를 통해 전달되는데, 제 3 전달 게이트(T13)는 제 3 제어 신호(CMDRSTIN)를 NMOS측으로 입력하고 제 3 제어 신호(CMDRSTIN)를 반전시키는 제 6 인버터(I16)의 출력 신호를 PMOS측으로 입력하여 구동된다. 제 3 전달 게이트(T13)를 통해 전달된 데이터는 제 7 및 제 8 인버터(I17 및 I18)로 구성된 제 2 래치 수단(12)에 래치되어 제 5 제어 신호(MATRIXOUT)로서 출력된다.
상기와 같이 구성되는 본 발명에 따른 SCS 회로의 구동 방법을 설명하면 다음과 같다.
먼저 초기 상태에서는 모든 신호들이 비활성화(low signal) 상태이다. 그리고, 현재 활성화하고자 하는 CS를 SCS2라고 가정하자. 이제 제 1 제어 신호(CMD)가 활성화되어 하이 상태로 인가되면, 제 1 인버터(I11)를 통해 로우 상태로 반전되고, 이 신호가 제 2 인버터(I12)를 통해 하이 상태로 재반전되어 제 1 전달 게이트(T11)가 턴온된다. 따라서, 제 1 전달 게이트(T11)를 통해 제 4 제어 신호(MATRIXIN)를 전달한다. 제 1 전달 게이트(T11)를 통해 전달된 제 4 제어 신호(MATRIXIN)는 제 1 래치 수단(11)에 래치된다.
한편, 현재 SCS2가 활성화되어 있으므로 SCS3는 비활성화되어 있어 SCS3에서 입력되는 제 3 제어 신호(CMDRSTIN)는 하이 상태로 입력되고, 이 신호와 이 신호가 제 6 인버터(I16)를 통해 로우 상태로 반전된 신호에 의해 제 3 전달 게이트(T13)가 턴온된다. 그런데, SCS3가 아직 비활성화 상태이므로 SCS2의 제 4 제어 신호(MATRIXIN)는 SCS3이 활성화 될 때까지 대기하게 된다. 즉, 제 1 래치 수단(11)에 래치된 제 4 제어 신호(MATRIXIN)는 제 3 전달 게이트(T13)를 통해 전달되어 제 2 래치 수단(12)에 래치된다.
이제 SCS3가 활성화되면 SCS2로 입력되는 제 3 제어 신호(CMDRSTIN)가 로우 상태로 되고, SCS2는 비활성화되므로 제 1 전달 게이트(T11)가 턴오프되고, 제 3 전달 게이트(T13) 또한 턴오프된다. 이때 SCS3의 제 1 전달 게이트가 턴온되어 대기중이던 SCS2의 제 5 제어 신호(MATRIXOUT)가 제 4 제어 신호(MATRIXIN)으로서 SCS3으로 입력된다. 따라서, SCS2에서 SCS3로 상태의 변화가 일어난다.
SCS3이 활성화 될 때 SCS2의 제 3 전달 게이트(T13)가 턴오프되어야 하는 이유는 SCS2를 리셋시켜야 하기 때문이다. 만약 SCS3이 활성화되지 않고 다른 SCS가활성화 될 경우 SCS2는 제 1 NMOS 트랜지스터(N11)에 의해 리셋된다. 즉, 제 1 NMOS 트랜지스터(N11)는 파워업(power-up), 시스템 리셋(system reset) 그리고 MSC이 비활성화 될 때 리셋시키는 역할을 수행한다.
한편, 제 2 전달 게이트(T13)는 SCS가 활성화 될 때만 턴온되어 이전 MSC로 제 2 제어 신호(CMDRSTOUT)를 출력하고, 활성화되어 있지 않을 경우에는 턴오프된다. 이는 파워업, 시스템 리셋, 그리고 CS가 비활성화 될 때 제 3 제어 신호(CMDRSTIN)와 제 2 제어 신호(CMDRSTOUT) 라인을 리셋시키기 위함이다.
도 2는 하나의 기능인 F1=ABCDE를 구현하기 위해 각각의 SCS를 연결하여 만든 하나의 CSCM를 도시하고 있다. 먼저 첫 번째 SCS0는 명령 A에 연결이 되어 있어 A 명령이 입력되면 (A = high) SCS0의 값이 1 이었으므로 1의 값을 갖게 된다. 이때 SCS0는 리셋되면서 다시 0의 값을 갖게 된다.
이와 같은 방법으로 SCS0에서 최종적인 SCS3까지 1의 값이 순차적으로 전이되어 SCS3의 제 5 제어 신호(MATRIXOUT) 출력 단자로부터 F1이 실행되기 위한 명령 상태 신호(Command State Signal)를 얻을 수 있다. 이때, F1의 기능에 필요한 어드레스와 데이터가 입력되면 SCS3의 내부는 리셋되지만 제 3 전달 게이트가 턴오프되면서 SCS3의 제 5 제어 신호(MATRIXOUT) 출력 단자의 신호는 바뀌지 않기 때문에 명령 상태 신호를 유지 할 수 있다.
이와 같은 방법으로 다른 기능들과 각각의 동적인 SCS 어레이로 Array로 표시될 수 있다.
본 발명에서 사용된 SCS나 SCSM의 구성 및 동작 원리는 단순히 명령 상태 신호를 만들기 위한 것만은 아니다. 회로 내에서 특정한 기능(function)을 수행하기 위하여 만들어진 회로를 최소한의 세부 회로(Sub-circuit block)로 나누어 각각의 세부 회로들을 동작하는 순서별로 나열할 경우 본 발명에서 제시한 방법을 적용한다면 보다 간편하고 쉬운 회로로 재구성 할 수 있다. 일반적으로 회로 내부에서 일어나는 기능들은 서로 유기적으로 연결되어 있게 마련인데, 각각의 기능들을 다시 세부적으로 분석하고 나누어 각각의 기능들이 공통적으로 사용할 수 있는 부분들을 최대한 만들어낸다면 본 발명에서 제시한 방법을 적용할 경우 보다 분명하고 간단하며 쉽게 회로 구성이 가능할 것이다.
예를 들어 회로를 내부에서 수행해야 할 기능들이 각각 F1, F2, F3라 하자. 우선 1차적으로 각 기능들을 F1 ; ABC, F2; DA, F3 ; ECF라고 분류하자. 1차로 분류된 A, B, C, D, E, F 각각에 대해 다시 2차적으로 분류 할 수 있을 것이다.
이런 식으로 3차, 4차 등으로 분류하여 가장 마지막 단계에서부터 본 발명이 제시한 방법을 단계적으로 적용하면 될 것이다.
현재 널리 사용되고 있는 명령 상태 머신의 디코딩 방법은 각각의 명령 상태들의 의존성을 동적 피드백 방법을 사용하는데 비해 본 발명은 구현해야 할 기능들의 각 명령들을 순차적인 어레이(Sequencial Array) 형태로 배열한 후 어레이를 구성하는 각 명령에 하나의 상태를 설정함으로써 입력되는 명령에 따라 오직 하나의 상태가 순차적으로 활성화되도록 하였다. 또한, 본 발명에서 제시한 순차 명령 상태 머신은 동적인 특성을 유지하면서 상태간의 상호 독립성을 강화하는 순차적 활성화 방식을 사용함으로써 구현하고자 하는 기능들간의 논리적인 오류를 크게 줄일 수 있어 디버깅을 용이하게 하고 회로의 상호 의존성을 명확하게 할 수 있다. 한편, 피드백 방식의 명령 상태 머신 디코딩은 사용해야 할 명령 상태 수가 많거나 복잡한 회로에 대해서 회로 면적이 지나치게 커지거나 논리적인 복잡함 때문에 사용하는데 많은 문제점을 갖는데 비해 본 발명에서 제시한 순차 명령 상태 머신은 사용될 상태 수에 관계없이 쉽고 단순하게 구현할 수 있으며, 복잡한 회로도 각각의 세부 회로로 순차적으로 나누어 본 발명에서 제시한 방법을 적용할 경우 쉽고 분명하게 구현할 수 있다.
이로서 규모가 큰 회로나 많은 내부 또는 외부 기능들을 필요로 하는 복잡한 회로 설계에 쉽게 적용할 수 있으며, 또한 회로의 업그레이드나 파생 제품의 개발에 있어서도 기존 회로에 영향을 거의 주지 않고 쉽게 수정 및 추가 할 수 있으므로 회로의 확장성과 연속성을 크게 증가시켰다.

Claims (8)

  1. 제 1 제어 신호에 따라 전원 전압을 제 2 제어 신호 출력 단자로 공급하기 위한 스위칭 수단;
    상기 제 1 제어 신호 및 그 반전 신호에 따라 제 4 제어 신호를 전달시키기 위한 제 1 전달 게이트;
    상기 제 1 제어 신호 및 그 반전 신호에 따라 상기 제 1 제어 신호의 반전 신호를 상기 제 2 제어 신호 출력 단자로 출력하기 위한 제 2 전달 게이트;
    상기 제 1 전달 게이트를 통해 전달된 상기 제 4 제어 신호를 래치시키기 위한 제 1 래치 수단;
    제 3 제어 신호 및 그 반전 신호에 따라 상기 제 1 래치 수단에 래치된 상기 제 4 제어 신호를 전달하기 위한 제 3 전달 게이트; 및
    상기 제 3 전달 게이트를 통해 전달된 상기 제 4 제어 신호를 래치시켜 제 5 제어 신호를 출력하기 위한 제 2 래치 수단을 포함하여 이루어진 것을 특징으로 하는 명령 상태 머신.
  2. 제 1 항에 있어서, 상기 제 1 제어 신호는 명령 상태를 활성화시키는 명령을 나타내는 신호이고, 상기 제 2 제어 신호는 현재 명령 상태가 활성화되었는지를 이전 인접 명령 상태에 피드백해주기 위해 출력되는 신호이며, 상기 제 3 제어 신호는 다음 인접 명령 상태가 활성화되었을 때 피드백 받아 입력되는 신호이고, 상기 제 4 제어 신호는 이전 단계의 명령 상태 활성화 상태가 입력되는 신호이며, 상기 제 5 제어 신호는 현재의 명령 상태 활성화 상태가 다음 명령 상태로 출력되는 신호인 것을 특징으로 하는 명령 상태 머신.
  3. 제 1 항에 있어서, 상기 스위칭 수단은 전원 단자와 제 2 제어 신호 출력 단자 사이에 접속된 PMOS 트랜지스터인 것을 특징으로 하는 명령 상태 머신.
  4. 제 1 항에 있어서, 다음 인접 명령 상태가 활성화되기 않은 상태에서 다른 명령 상태가 활성화될 경우 현재 명령 상태를 리셋시키기 위한 NMOS 트랜지스터를 더 포함하는 것을 특징으로 하는 명령 상태 머신.
  5. 명령 상태를 활성화시키는 제 1 제어 신호에 따라 전원 전압을 현재 명령 상태가 활성화되었는지를 이전 인접 명령 상태에 피드백시키기 위한 제 2 제어 신호로서 출력하기 위한 스위칭 수단;
    상기 제 1 제어 신호 및 그 반전 신호에 따라 이전 단계의 명령 상태의 활성화 상태가 입력되는 제 4 제어 신호를 전달시키기 위한 제 1 전달 게이트;
    상기 제 1 제어 신호 및 그 반전 신호에 따라 상기 제 1 제어 신호의 반전 신호를 상기 제 2 제어 신호로서 출력하기 위한 제 2 전달 게이트;
    상기 제 1 전달 게이트를 통해 전달된 상기 제 4 제어 신호를 래치시키기 위한 제 1 래치 수단;
    다음 인접 명령 상태가 활성화되었을 때 피드백받아 입력되는 제 3 제어 신호 및 그 반전 신호에 따라 상기 제 1 래치 수단에 래치된 상기 제 4 제어 신호를 전달하기 위한 제 3 전달 게이트; 및
    상기 제 3 전달 게이트를 통해 전달된 상기 제 4 제어 신호를 래치시켜 현재 명령 상태의 활성화 상태가 다음 명령 상태로 출력되는 제 5 제어 신호를 출력하기 위한 제 2 래치 수단을 포함하여 이루어진 것을 특징으로 하는 명령 상태 머신.
  6. 제 5 항에 있어서, 상기 스위칭 수단은 전원 단자와 상기 제 2 제어 신호 출력 단자 사이에 접속된 PMOS 트랜지스터인 것을 특징으로 하는 명령 상태 머신.
  7. 제 5 항에 있어서, 다음 인접 명령 상태가 활성화되기 않은 상태에서 다른 명령 상태가 활성화될 경우 현재 명령 상태를 리셋시키기 위한 NMOS 트랜지스터를 더 포함하는 것을 특징으로 하는 명령 상태 머신.
  8. 모든 명령 상태가 비활성화 상태인 초기 상태에서 올바른 순서로 입력 또는 나열된 명령에 의해서만 명령 상태가 활성화되어 하이 상태의 신호를 전달하는 단계;
    상기 명령 입력이 올바른 순서가 아니면 활성화되더라도 로우 상태의 신호를 전달하는 단계;
    한 개의 명령 상태가 선택되어 활성화되면 다른 모든 명령 상태는 비활성화 상태이어야 하며, 비활성화가 되면 리셋되어 로우 상태의 값을 전달하는 단계;
    현재 어느 하나의 명령 상태가 활성화되어 있다면 인접 명령 상태가 다음에 활성화되어야 하는 단계;
    어느 하나의 명령 상태가 활성화된 상태에서 최초의 명령 상태가 활성화되면 상기 활성화된 명령 상태를 제외한 모든 명령 상태를 리셋하는 단계를 포함하여 이루어진 것을 특징으로 하는 명령 상태 머신의 구동 방법.
KR10-2002-0041654A 2002-07-16 2002-07-16 명령 상태 머신 및 그 구동 방법 KR100444606B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0041654A KR100444606B1 (ko) 2002-07-16 2002-07-16 명령 상태 머신 및 그 구동 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0041654A KR100444606B1 (ko) 2002-07-16 2002-07-16 명령 상태 머신 및 그 구동 방법

Publications (2)

Publication Number Publication Date
KR20040007023A KR20040007023A (ko) 2004-01-24
KR100444606B1 true KR100444606B1 (ko) 2004-08-16

Family

ID=37316859

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0041654A KR100444606B1 (ko) 2002-07-16 2002-07-16 명령 상태 머신 및 그 구동 방법

Country Status (1)

Country Link
KR (1) KR100444606B1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5235545A (en) * 1991-03-29 1993-08-10 Micron Technology, Inc. Memory array write addressing circuit for simultaneously addressing selected adjacent memory cells
JPH0883178A (ja) * 1994-09-14 1996-03-26 Nec Corp 情報処理装置
KR19980034727A (ko) * 1996-11-08 1998-08-05 김영환 메모리 소자에서 프리패치 방법 및 이를 적용한 메모리 구조
KR20000070999A (ko) * 1997-02-11 2000-11-25 린치 마이클 엘. 메모리 디바이스 명령 신호 발생기

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5235545A (en) * 1991-03-29 1993-08-10 Micron Technology, Inc. Memory array write addressing circuit for simultaneously addressing selected adjacent memory cells
JPH0883178A (ja) * 1994-09-14 1996-03-26 Nec Corp 情報処理装置
KR19980034727A (ko) * 1996-11-08 1998-08-05 김영환 메모리 소자에서 프리패치 방법 및 이를 적용한 메모리 구조
KR20000070999A (ko) * 1997-02-11 2000-11-25 린치 마이클 엘. 메모리 디바이스 명령 신호 발생기

Also Published As

Publication number Publication date
KR20040007023A (ko) 2004-01-24

Similar Documents

Publication Publication Date Title
US7154319B2 (en) Pulse-based high-speed low-power gated flip-flop circuit
US7474116B2 (en) Latch circuit
US20090066386A1 (en) Mtcmos flip-flop with retention function
US9780788B2 (en) Muller C-element as majority gate for self-correcting triple modular redundant logic with low-overhead modes
US6788122B2 (en) Clock controlled power-down state
US20090058486A1 (en) Master-slave circuit and control method of the same
US6566932B2 (en) On-chip system with voltage level converting device for preventing leakage current due to voltage level difference
CN113395057A (zh) 主从d触发器和包括主从d触发器的集成电路
US20050104643A1 (en) Ultra low-power data retention latch
KR100991386B1 (ko) 배타적 논리합 회로
KR100444606B1 (ko) 명령 상태 머신 및 그 구동 방법
EP0808022B1 (en) Latch circuit operating in synchronization with clock signals
KR101005265B1 (ko) 레이스 컨디션 문제를 묵인하는 디지털 회로
US20110316616A1 (en) Semiconductor integrated circuit for controlling power supply
CN105321575B (zh) 半导体器件
TW502258B (en) Method and apparatus for an improved reset and power-on arrangement for a dram generator controller
CN109390006B (zh) 列译码器及应用其的存储器系统
KR100604847B1 (ko) 저-전력 고속 래치와 이를 구비하는 데이터 저장장치
KR100304280B1 (ko) 반도체소자의파이프라인장치
KR20000008719A (ko) 레이아웃 면적을 최소화하는 리던던시 회로
KR100399922B1 (ko) 코드 저장 메모리 셀 선택 회로
US20230396241A1 (en) Semiconductor Device and Semiconductor System Having The Same
US6181639B1 (en) Method and apparatus for a flexible controller for a DRAM generator system
JP2007272953A (ja) 半導体装置
KR20190136829A (ko) 반도체 장치

Legal Events

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

Payment date: 20100726

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee