Verilog Basic, FPGA, 시프트 레지스터 카운터 예비레포트
- 최초 등록일
- 2022.11.06
- 최종 저작일
- 2022.09
- 8페이지/ MS 워드
- 가격 1,000원
소개글
"Verilog Basic, FPGA, 시프트 레지스터 카운터 예비레포트"에 대한 내용입니다.
목차
1. 실험 제목
2. 관련 이론
3. design source, test bench, simulation 결과
4. 참고 문헌
본문내용
1. 실험 제목
1) Verilog Basic, FPGA
2) 시프트 레지스터 카운터
2. 관련 이론
1) Verilog Basic, FPGA
- Verilog의 구조
(1) 시작부분 module의 선언
module은 Verilog에서 기본 설계 단위이며 이를 통해 다른 모듈을 포함하는 계층적 구성을 할 수 있다.
module {모듈 이름} ({port 목록});
이후에 module 맨 마지막에 endmodule로 module의 끝을 알려야 한다.
(2) pin 선언
module에서 필요한 것들을 선언한다.
C언어에서 변수 선언하는 것과 유사한 부분이 있다.
port (port들의 방향, 비트 폭), reg, wire, parameter 등을 사용한다.
begin ~ end:
initial, if, case, always 등을 사용할 때 블록을 지정할때 사용한다.
C 언어에서 { … }와 같은 개념이다.
주석:
//: 한 줄을 comment 처리할 때 사용.
/* ~ */: 여러 줄을 comment 처리할 때 사용.
수 표현:
<비트폭>’<진수><값>: 8’hFB
<진수>: b - 2진수, d - 10진수, h - 16진수
음수는 2’complememt 사용
언더바(_): 가독성을 좋게 함. (2’b1100_0101)
- Verilog 문법
reg:
절차형 할당문(always, initial)에 의해 값을 받는 객체이고, 신호를 저장하는 역할을 한다. D F-F과 비슷하다. 값이 바뀌지 않고 내부 클럭에 따라 변화시킨다. 레지스터 값이므로 크기를 정해준다.
wire:
신호를 전달하는 역할을 한다. wire 타입의 변수는 값을 저장할 수 없다. 따라서 combinational logic을 표현할 때 wire를 주로 사용한다.
integer:
정수형 변수
time, realtime:
시간형 변수 (시간에 따라 다른 값을 넣고 싶을 때처럼 시간 체크가 필요한 상황에서 simulation 시간을 처리)
참고 자료
김동민 외, 『디지털공학 실험』, 그린, 2003
WIKIPEDIA, “Field-programmable gate array”
차재복, “Shift Register, Shift-register 시프트 레지스터, 이동 레지스터”, 정보통신기술용어해설
차재복, “Counter 카운터, 계수기”, 정보통신기술용어해설