전공지식정리/디지털시스템설계

디자인스타일 3. Behavioral design

TimeSave 2020. 12. 8. 23:16

1. behavioral design을 하는 이유.

machine point of view

your point of view

1.1  가끔은 concurrent statement를 직접, 바로 짤 수 있다.
그러나, 추상화 단계가 높아질 수록 concurrent를 다루기 어렵다.

1.2 그래서 sequential한 동작을 묘사할 방법이 필요하다.
=> 
Sequential = 우리의 뇌가 동작하는 방식이므로,
=> process문이 있다. 
process문은 sequential 구문의 모음이다.

2. behavioral 동작 표현방법 = Process 문.

2.1. process는 변수'만' 선언한다(signal 아님)
- 변수는 process 구문 안에서만 유지된다.
- 변수는 구문 밖에서 보이지 않느다.

2.2 변수선언 방법 
  variable variable-names : variable-type ;
 - 값 할당 연산자 := (C++ 처럼 <= 아님)

2.3. process 문의 동작방식
; 프로세스는 동작중이면서, 정지(suspended)중이다.
- 처음엔 정지상태이다.
- sensitivity list의 signal의 값이 변하면,  process문은 처음부터 끝까지 다시 실행한다.

3. process문 예시

3.1 The prime-number detector example  
; 소수(;약수과 1과 자기자신)판별기

4. process문의 begin~ end
= Sequential 구문들 [Sequential statements] 
 
4.1 if-then-else statement

if-then-else statement 문법

if-then-else statement 사용예시

4.2 case statement

case문 문법

case문 예시

4.3 loop, for, while statements

loop, for, while 문법

loop, for, while 예시


[1.1 Sometimes, it is possible to directly describe a logic behavior using a concurrent statement Level of abstraction becomes higher ]

[1.2. We need to have a good way to describe the sequential behavior . because your brain works that way! 
process statement is a collection of sequential statements]

[2.1 A process may not declare signals, only variables 
Variable keeps track of the state within a process and is not visible outside. 
2.2 variable variable-names : variable-type; 
Assignment operator “:=“, not “<=“]

[2.3 A process is always either running or suspended 
Initially, it is suspended; 
Any signal in the sensitivity list changes value, the process resumes execution from the start to the end.]



출처 
1. Digital Design: Principles and Practices, Fourth Edition, John F. Wakerly

2. KOCW. 디지털시스템설계. 아주대학교. 양회석. http://www.kocw.net/home/search/kemView.do?kemId=1145013

 

'전공지식정리 > 디지털시스템설계' 카테고리의 다른 글

VHDL 코드 개념, 구조  (0) 2020.12.08
4. Timing과 Simulation  (0) 2020.12.08
디자인스타일2. Dataflow Design  (0) 2020.12.08
디자인 스타일 1. Structural design  (0) 2020.12.08
1.HDLs  (0) 2020.12.07