블로그 이미지
by 장그래씨

NOTICE

CALENDAR

«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

TAG CLOUD

  • Total :
  • Today :  | Yesterday :

CATEGORY

분류 전체보기 (2)
꿈을 먹자 (0)
꿈을 감상하자 (0)
꿈을 꾸자 (0)
꿈을 쫓자 (2)

RECENT ARTICLE

RECENT COMMENT

ARCHIVE



Verilog HDL의 모듈은 다음과 같습니다.

 

 

처음에 module을 먼저 선언해주고

 

이용한 변수의 종류와 이름을 선언해줍니다. C언어와 크게 다를게 없습니다.

 

그 다음에는 어떤 function을 할지 구성해주고 디자인 해준 후

 

endmodule로 모듈을 종료하는 방식입니다.

 

 

 

 

Verilog에서 숫자와 문자열은 다음과 같이 표현을 하고

 

 

논리 연산 기호는 다음과 같습니다.

 

논리값 0은 거짓 상태를 뜻하고 1은 참인 상태를 의미합니다. 그리고 x는 알수 없는

 

논리 값, z는 하이 임피던스 상태인데 이 것은 쉽게 표현하면 단자에 아무것도 연결

 

안된 상태라고 보시면됩니다.

 

넷(Net)은 wire인데 소자간의 물리적인 연결을 추상화 한 것이고 default 초기값은 z

 

입니다. 

다음을 wire로 표현 하면

 

wire a;

wire b, c;

wire d=1'b0;

 

과 같이 기술할수 있습니다.  

 

레지스터(Reg)는 데이터 값을 저장할 수 있는 변수를 지정할 때 사용합니다.

 

배열은 reg 또는 wire 선을 이용하여 선언합니다.

 

reg [7:0] mema[0:255]; // 8비트 레지스터 256개의 mema 메모리

 

Parameter는 데이터형에 속하지 않는 상수값을 표현할 때 사용합니다.

 

주로 회로의 비트 크기 또는 지연값을 지정하기 위해 사용됩니다.

 

parameter DATA_WIDTH = 8;

parameter RAM_DEPTH = 16;

 

과 같이 기술하여 사용합니다.

 

 

그럼 예제로 half-adder를 구현을 해보기전에

 

half-adder란 두 개의 비트를 더하여 합(sum)과 올림자(Carry)를 구하는 것 입니다.

 

0+0 = 0

0+1 = 1

1+0 = 1

 

이 때 까지 sum값은 그데로 0 또는 1이고 Carry는 올림수 가 없으므로 0이 됩니다.

 

하지만 1+1=10(이진수)  이 되는데 이 때 Carry값이 1이 되고 sum값은 0이 되는

 

block도 입니다. 그래서 이것을 논리회로로 표현해보면

 

 

다음과 같은 block도를 가집니다.

 

그럼 이 half-adder를 구현 하는 예제는 다음시간 까지 과제로 하고 오늘 study 를

 

마치겠습니다.

 

과제는 Quartus2를 이용하여 직접 구현하여 파형까지 확인 해보도록 합시다!

And

디지털은 이산적인 값이고 analog는 continous 한 값입니다.

 

이러한 디지털 값의 input, output과 내부 function을 통해 이뤄지는 system을

 

디지털 시스템이라고 합니다.

 

 

 

 

시스템 설계 순서로는 Design, Implementation, Debugging이 있는데요,

 

Design 할 때는 빠른지, 얼마의 공간이 필요한지, 가격이 얼마 필요한지등의 제약조

 

건을 맞춰 어떤 기능을 수행할지를 생각하여 짜야합니다.

 

Implementation 은 각각의 기초적인 block들을 assemble(조립)하여 하나의 크고

 

복잡한 블락들을 만들고 wire를 통하여 이어주는 것 입니다.

 

Debugging은 디자인 오류, 구성 오류등 다양한 오류들을 잡고 검사하는 과정입니

 

다.

 

이러한 디지털 시스템을 설계하기 위해 앞으로 HDL(hardware description

 

language : 하드웨어를 기술하고 시뮬레이션, 합성을 하기 위해 고안된 프로그래밍

 

언어)중 Verilog HDL을 배워보고 직접 응용해보도록 하겠습니다.

'꿈을 쫓자 > Soc, Verilog 스터디' 카테고리의 다른 글

Verilog HDL의 기본 문법 #2  (2) 2018.07.03
And