FPGA [package & function & procedure]
- 최초 등록일
- 2020.10.22
- 최종 저작일
- 2020.04
- 8페이지/ 어도비 PDF
- 가격 1,500원
* 본 문서는 PDF문서형식으로 복사 및 편집이 불가합니다.
소개글
"FPGA 과제 5"에 대한 내용입니다.
목차
1. procedure를 3가지 방법(architecture·process·package)으로 작성하라.
1) architecture선언부
2) process선언부
3) package
2. min(x,y)에 대해서 package를 만들고 순차호출, 병행호출 방식으로 함수를설계하라.
1) 순차호출
2) 병행호출
본문내용
1. architecture선언부
procedure을 architecture선언부, 즉 architecture와 begin 사이에 선언하였다. min, max, same이 variable로 선언되어야 하므로 variable를 사용하였고 procedure 출력을 if-else문을 사용하지 않고 단순한 if문을 사용하여 출력값 (c) (d) (e)를 얻으려고 하였다. 그리고 signal (<=)를 사용하지 않고 variable(:=)를 사용해야만 컴파일 할 때 에러가 나지 않았다. process문에서 temp와 port의 입출력 비트값을 일치시켜야 하며 process maxmin() 괄호안에 처음에 선언한 port
입출력값의 순서를 맞춰서 설계해야만 원하는 값을 얻을 수 있을 것이다.
procedure에서 출력값(c) (d) (e)를 얻기 위해서 만든 조건을 보면 먼저 a>b이면 c는 b이고 아니면 c는 a값을 얻게된다. 이런 식으로 두 수 a와b를 비교하여 값이 작으면 c값, 값이 크면 d값, 만약 수가 같다면 e값으로 들어가도록 설계하였고 위에 파형을 보면 x와 y중 값이 큰 값은 max값, 값이 작으면 min값이 나오고 만약 값이 같은 수가 나왔다면 x나y 값중 하나가 나오고 만약 다른수가 나오면 “00000” 값으로 나오게 코드를 설계해서 파형이 나오게 만들었다.
2. process선언부
procedure을 process선언부, 즉 process와 begin 사이에 선언하였다. architecture선언부와 다른 점은 procedure 위치가 architecture와 begin사이가 아니라 process와 begin사이로 단순히 바꿔서 설계하였다. procedure선언 위치만 바뀌었으므로 architecture 선언부에서 설계한 코드와 같은 회로가 나오게 된다. (파형이 다른 이유는 파형에 입력값을 다르게 했기 때문이다.)
참고 자료
없음