본문 바로가기

Contact English

【Logic Design】 door_lock

 

door_lock

 

추천글 【논리설계】 논리설계 목차


 

 Implementation in software

int door_lock(){
    int Key;
    int Error = 0;
    static int c[3] = {3, 4, 2};
    
    // S0; state 0
    while (! KeyPressed());
    Key = read_value();
    if(v0 != c[0]) error = 1;
    if(Error == 1) return 0;

    // S1; state 1
    while(! KeyPressed());
    Key = read_value();
    if(v1 != c[1]) error = 1;
    if(Error == 1) return 0;

    // S2; state 2
    while(! KeyPressed());
    Key = read_value();
    if(v2 != c[2]) error = 1;
    if(Error == 1) return 0;

    // OPEN
    return 1;
}

 

 

▶ State Transition Diagram (FSM)

출처: 서울대학교 논리설계(유승주) 강의

Figure. 1. Moore machine으로 표현 State Transition Diagram]

 

 

 State transition table & Encoding

Table 1. state transition table

 

 

▶ Data-path

출처: 서울대학교 논리설계(유승주) 강의

Figure 2. door_lock의 data-path
control unit
데이터도 저장하므로 data unit이기도 함

 

 

Logic design

○ new := KeyPressed, reset := RESET, equal := Equal
 state := s3s2s1s0
 mux := 2m1m0
 s0 = reset + reset' · new' · s0
 s1 = reset' ·  new · equal · s0 + reset' · new' · s1
 s2 = reset' · new · equal · s1 + reset' · new' · s2
 s3 = reset' · s3 + reset' · new · equal · s2
 mi = s, 0 ≤ i ≤ 2
 open = s3

 

 

▶ Circuit design

 

 

Figure. 3. sequential logic circuit

 

입력: 2016.09.11 20:45

수정: 2016.12.06 14:35