목차
< 제 목 >
< 목 표 >
< 설계조건 >
1. FSM state diagram
2. 엘리베이터 동작 설명
3. verilog 코드 & 주석
4. verilog 설명
5. waveform + 설명
6. 결과 및 토의
< 목 표 >
< 설계조건 >
1. FSM state diagram
2. 엘리베이터 동작 설명
3. verilog 코드 & 주석
4. verilog 설명
5. waveform + 설명
6. 결과 및 토의
본문내용
으며 S (Stop), U (Going Up), D (Going Down)라고 표시한다. 가령 1층에서 4층으로 올라갈 경우를 살펴보면, 처음 1층에 멈춰있는 상태는 (1, S) 로 표시되고, 2층, 3층에서는 4층으로 올라가는 도중이기 때문에 U 상태이므로 (2, U), (3, U) 와 같이 표시된다. 그리고 4층에 도착했을 때는 (4, S) 로 표시된다. 이 동작을 kit 로 구현하여 살펴 보면, 1층에 멈춰있는 상태 (1, S) 에서 내부입력 4층인 F4와 함께 Clock을 누르면 Clock을 한 번 누를 때마다 위에서 언급한 것과 같이 상태가 변하게 된다. 층별 표시와 상태 표시는 7-segment 를 이용하여서 나타내고, 초기상태, 과정, 그리고 결과를 모두 확인 할 수 있었다.
5. waveform + 설명
위의 waveform은 1층에 멈춰있는 상태에서 2층에서 내려가려는 외부 입력(D2)을 받았을 경우에 나타나는 변화이다. output PF는 층의 변화, M은 운동 상태의 변화를 7-segment로 표시한다. PF와 M의 waveform을 보면 상태는 (1, S) → (2, U) → (2, S)와 같이 변한다는 사실을 알 수 있다. 즉, 1층에 멈춰있던 엘리베이터(1, S)는 2층에 올라간 후(2, U) 2층에서 멈춘다는 뜻(2, S)이다. D2의 waveform과 output의 waveform을 비교해보면, 외부 입력이 들어가서 반응하기 시작한 후에는 clock을 D2와 같이 누르지 않아도 계속 clock을 누르면 스스로 2층에 가서 멈춘다는 사실을 확인할 수 있다(2층에 도착한 후에는 clock을 계속 누른다 해도 변화는 없다.). 그 이유는 ‘reg [1:0] SUD, B, NS;’에서 볼 수 있듯이 가고자 하는 층수를 B가 저장하고 있기 때문이다.
위의 waveform은 2층에 멈춰있는 상태에서 3층에서 올라가려는 외부 입력(U3)을 받았을 경우에 나타나는 변화이다. PF와 M의 waveform을 보면 상태는 (2, S) → (2, U) → (3, U) → (3, S)와 같이 변한다. 즉, 2층에서 출발한 엘리베이터는(2, S) 올라가서(2, U) 3층에 도착한 다음(3, U) 멈춘다는 뜻(3, S)이다.
위의 waveform은 3층에 멈춰있는 엘리베이터가 1층으로 가는 내부입력(F1)을 받은 뒤 나타나는 변화에 대한 것이다. PF와 M의 waveform을 보면 상태는 (3, S) → (2, D) → (1, D) → (1, S)와 같이 변한다. 즉, 3층에 멈춰있던 엘리베이터(3, S)는 2층을 거쳐(2, D), 1층까지 내려가서(1, D) 멈춘다는 뜻(1, S)이다.
위의 waveform은 1층에 멈춰있는 엘리베이터가 4층으로 가는 내부입력(F4)을 받은 후 나타나는 변화에 대한 것이다. PF와 M의 waveform을 보면 상태는 (1, S) → (1, U) → (2, U) → (3, U) → (4, U) → (4, S)와 같이 변한다. 즉, 1층에 멈춰있던 엘리베이터는(1, S) 올라가서(1, U) 2층을 거치고(2, U) 3층을 거쳐서(3, U) 4층까지 올라간 다음(4, U) 멈춘다는 뜻(4, S)이다.
6. 결과 및 토의
1) 결과
현재 위치
가려고 하는 층수
상태 변화
1
(처음 동작)
2
(1, S) (2, U) (2, S)
3
(1, S) (2, U) (3, U) (3, S)
4
(1, S) (2, U) (3, U) (4, U) (4, S)
1
2
(1, S) (1, U) (2, U) (2, S)
3
(1, S) (1, U) (2, U) (3, U) (3, S)
4
(1, S) (1, U) (2, U) (3, U) (4, U) (4, S)
2
1
(2, S) (2, D) (1, D) (1, S)
3
(2, S) (2, U) (3, U) (3, S)
4
(2, S) (2, U) (3, U) (4, U) (4, S)
3
1
(3, S) (3, D) (2, D) (1, D) (1, S)
2
(3, S) (3, D) (2, D) (2, S)
4
(3, S) (3, U) (4, U) (4, S)
4
1
(4, S) (4, D) (3, D) (2, D) (1, D) (1, S)
2
(4, S) (4, D) (3, D) (2, D) (2, S)
3
(4, S) (4, D) (3, D) (3, S)
(case 1) 가려고 하는 층수의 입력이 clock의 positive edge와 함께 들어간 경우이다.
kit로 실험하는 상황에서는 clock을 먼저 누른 다음 가려고 하는 층수를 누른 경우이다. 이 후에는 clock을 동작 한번마다 1회 누르게 된다.
(case 2) 가려고 하는 층수의 입력이 clock의 negative edge와 함께 들어간 경우이다.
kit로 실험하는 상황에서는 가려고 하는 층수를 먼저 누르고 clock을 나중에 누른 경우이다. 이 후에는 clock을 동작 한번마다 1회 누르게 된다.
(2층, 3층, 4층의 경우 모두 case 2에 따른 상태 변화 결과이다.)
II) 토의
실험에서 결과를 봤듯이 알 수 있는 사실은 clock과 가려고 하는 층수의 입력 순서에 따라 약간씩 달라지는 과정의 차이이다. case 1에서 clock이 0에서 1로 변할 때 가고자 하는 층수의 입력이 들어갔는데 이 경우에는 엘리베이터의 상태는 멈춰있는 상태에서 바로 다음 층과 이동 상태를 표시하게 된다. clock을 먼저 눌렀기 때문에 일어나는 현상이라고 생각할 수 있다. case 2는 clock이 1에서 0으로 변할 때 가고자 하는 층의 입력이 들어갔는데 이 경우 엘리베이터는 현재 있던 층부터 가고자 하는 층까지 계속 운동 상태를 표시하게 된다. 이 작동 상태가 우리가 원하는 작동 형태이며, 올바르게 작동시키기 위해서는 kit에서 가고자 하는 층을 먼저 누르고 clock을 눌러야 한다는 사실을 알 수 있다. case 1과 case 2의 구체적인 파형 차이는 waveform설명에 있다. 첫 번째 waveform 과 세 번째 waveform은 case 1인 경우의 것이고 두 번째 waveform과 네 번째 waveform은 case 2인 경우의 것이다.
5. waveform + 설명
위의 waveform은 1층에 멈춰있는 상태에서 2층에서 내려가려는 외부 입력(D2)을 받았을 경우에 나타나는 변화이다. output PF는 층의 변화, M은 운동 상태의 변화를 7-segment로 표시한다. PF와 M의 waveform을 보면 상태는 (1, S) → (2, U) → (2, S)와 같이 변한다는 사실을 알 수 있다. 즉, 1층에 멈춰있던 엘리베이터(1, S)는 2층에 올라간 후(2, U) 2층에서 멈춘다는 뜻(2, S)이다. D2의 waveform과 output의 waveform을 비교해보면, 외부 입력이 들어가서 반응하기 시작한 후에는 clock을 D2와 같이 누르지 않아도 계속 clock을 누르면 스스로 2층에 가서 멈춘다는 사실을 확인할 수 있다(2층에 도착한 후에는 clock을 계속 누른다 해도 변화는 없다.). 그 이유는 ‘reg [1:0] SUD, B, NS;’에서 볼 수 있듯이 가고자 하는 층수를 B가 저장하고 있기 때문이다.
위의 waveform은 2층에 멈춰있는 상태에서 3층에서 올라가려는 외부 입력(U3)을 받았을 경우에 나타나는 변화이다. PF와 M의 waveform을 보면 상태는 (2, S) → (2, U) → (3, U) → (3, S)와 같이 변한다. 즉, 2층에서 출발한 엘리베이터는(2, S) 올라가서(2, U) 3층에 도착한 다음(3, U) 멈춘다는 뜻(3, S)이다.
위의 waveform은 3층에 멈춰있는 엘리베이터가 1층으로 가는 내부입력(F1)을 받은 뒤 나타나는 변화에 대한 것이다. PF와 M의 waveform을 보면 상태는 (3, S) → (2, D) → (1, D) → (1, S)와 같이 변한다. 즉, 3층에 멈춰있던 엘리베이터(3, S)는 2층을 거쳐(2, D), 1층까지 내려가서(1, D) 멈춘다는 뜻(1, S)이다.
위의 waveform은 1층에 멈춰있는 엘리베이터가 4층으로 가는 내부입력(F4)을 받은 후 나타나는 변화에 대한 것이다. PF와 M의 waveform을 보면 상태는 (1, S) → (1, U) → (2, U) → (3, U) → (4, U) → (4, S)와 같이 변한다. 즉, 1층에 멈춰있던 엘리베이터는(1, S) 올라가서(1, U) 2층을 거치고(2, U) 3층을 거쳐서(3, U) 4층까지 올라간 다음(4, U) 멈춘다는 뜻(4, S)이다.
6. 결과 및 토의
1) 결과
현재 위치
가려고 하는 층수
상태 변화
1
(처음 동작)
2
(1, S) (2, U) (2, S)
3
(1, S) (2, U) (3, U) (3, S)
4
(1, S) (2, U) (3, U) (4, U) (4, S)
1
2
(1, S) (1, U) (2, U) (2, S)
3
(1, S) (1, U) (2, U) (3, U) (3, S)
4
(1, S) (1, U) (2, U) (3, U) (4, U) (4, S)
2
1
(2, S) (2, D) (1, D) (1, S)
3
(2, S) (2, U) (3, U) (3, S)
4
(2, S) (2, U) (3, U) (4, U) (4, S)
3
1
(3, S) (3, D) (2, D) (1, D) (1, S)
2
(3, S) (3, D) (2, D) (2, S)
4
(3, S) (3, U) (4, U) (4, S)
4
1
(4, S) (4, D) (3, D) (2, D) (1, D) (1, S)
2
(4, S) (4, D) (3, D) (2, D) (2, S)
3
(4, S) (4, D) (3, D) (3, S)
(case 1) 가려고 하는 층수의 입력이 clock의 positive edge와 함께 들어간 경우이다.
kit로 실험하는 상황에서는 clock을 먼저 누른 다음 가려고 하는 층수를 누른 경우이다. 이 후에는 clock을 동작 한번마다 1회 누르게 된다.
(case 2) 가려고 하는 층수의 입력이 clock의 negative edge와 함께 들어간 경우이다.
kit로 실험하는 상황에서는 가려고 하는 층수를 먼저 누르고 clock을 나중에 누른 경우이다. 이 후에는 clock을 동작 한번마다 1회 누르게 된다.
(2층, 3층, 4층의 경우 모두 case 2에 따른 상태 변화 결과이다.)
II) 토의
실험에서 결과를 봤듯이 알 수 있는 사실은 clock과 가려고 하는 층수의 입력 순서에 따라 약간씩 달라지는 과정의 차이이다. case 1에서 clock이 0에서 1로 변할 때 가고자 하는 층수의 입력이 들어갔는데 이 경우에는 엘리베이터의 상태는 멈춰있는 상태에서 바로 다음 층과 이동 상태를 표시하게 된다. clock을 먼저 눌렀기 때문에 일어나는 현상이라고 생각할 수 있다. case 2는 clock이 1에서 0으로 변할 때 가고자 하는 층의 입력이 들어갔는데 이 경우 엘리베이터는 현재 있던 층부터 가고자 하는 층까지 계속 운동 상태를 표시하게 된다. 이 작동 상태가 우리가 원하는 작동 형태이며, 올바르게 작동시키기 위해서는 kit에서 가고자 하는 층을 먼저 누르고 clock을 눌러야 한다는 사실을 알 수 있다. case 1과 case 2의 구체적인 파형 차이는 waveform설명에 있다. 첫 번째 waveform 과 세 번째 waveform은 case 1인 경우의 것이고 두 번째 waveform과 네 번째 waveform은 case 2인 경우의 것이다.
추천자료
전자전기실험 - 예비보고서 3 [분압기의 설계]
전자전기실험 다단 증폭기(결과)
전자전기실험 - 실험 3 결과보고서 [분압기의 설계]
전자전기실험 - 실험 4 결과보고서 [Thevenin의 정리]
전자전기실험 - 실험 8 결과보고서 [인덕터, RL회로의 과도응답]
전자전기실험 - 실험 11 결과보고서 [직렬 및 병렬공진회로와 필터]
전자전기실험 - 실험 12 결과보고서 [저항, 커패시터,인덕터의 등가회로와 주파수응답]
중앙대 전자전기 실험 예비 3학년 전자회로 - 예비6 : DCPowerSupply 설계
기초전기회로실험 - 직렬회로를 설계
기초전기회로실험 - 회로내 임의의 접합점에서의 유입전류의 합과 유출전류 사이의 관계
기초전기회로실험 - 직렬, 병렬회로의 총 저항 Rt를 구하기 위한 규칙들을 실험
기초전기회로실험 - 지정된 전압, 전류 및 저항조건을 만족하는 병렬회로를 설계
전기전자실험 - 전압계, 전류계 사용법 실험
기초基礎전기회로실험 병렬회로설계