본문 바로가기
반응형

개발 Tools/Verilog HDL13

Verilog HDL 연산자 ( 산술 연산자, 비트 연산자, 논리 연산자, 축약 연산자, 등가 연산자, 시프트 연산자, 결합 연산자, 반복 연산자 ) 산술 연산자 예를 보는 게 더 이해가 쉽다. // a = 4'b0011; (== 3) // b = 4'b0100; (== 4) // d = 6; // e = 4; a * b // 4'b1100 (== 12), 10진수 값으로 곱한다 d / e // 1, 소수점 이하는 버림 a + b // 4'b0111, 비트 연산 b - a // 4'b0001 13 % 3 // 1, 나머지 연산 값 16 % 4 // 0, 나머지 연산 값 -7 % 2 // -1, 첫번째 값의 부호와 일치해야 한다 7 % -2 // 1, 첫번째 값의 부호와 일치해야 한다 더하기 ( + )와 빼기 ( - )는 비트로 더하든 10진수로 더하든 똑같다. 나누기 ( / )와 나머지 ( % ) 연산자는 두 번째 피연산자가 0인 경우 결괏값은 x인 .. 2022. 2. 9.
Verilog HDL 자료형 (주석, 수의 표현, 상수 표현, 논리값 종류, 문자열, reg, wire, 식별자, vector, 메모리, 파라미터) 논리 값 종류 논리 값으로는 0, 1, z, x가 존재한다. 0과 1은 기본적으로 알 테니 z와 x에 대해 알아보자 Tri-state - 제3의 상태라고 하며 z라고 표시한다. high-impedance ( disconnected ) 즉. 아무것도 연결된 것이 없는 걸 말한다. en이 0이면 다 끊어져서 z가 출력된다. Unknown (또는 Don't care) - x라고 표시하며 뭐가 출력될지 모르는 상태를 말한다. 예로는 아래와 같은 경우가 있다. 주석 // : 한 줄 주석 /* */ : 부분 주석 수의 표현 표현방법으로는 아래와 같다. ' 예를 들면, "16'b0000_1000_1000_0000"의 의미는 을 의미한다. ( '_'는 표현의 편리성을 위해 사용 가능하다 ) 조금 더 자세히 보면 비트수.. 2022. 2. 9.
HDL의 특징 ( 병렬성, 종류, 컴파일, 장점, tri-state, pull-up, pull-down) HDL = Hardware Description Language HDL의 종류에는 verilog, VHDL 두 가지가 있다 프로그래밍 언어가 아니라는 것을 인지해야 한다. HDL을 설계할 때는, 회로를 염두해 두고 작성해야 한다. 프로그래밍적 사고로 접근하면 어렵다. 프로그래밍과 가장 큰 차이는 순차적 실행이 아니라 병렬적 실행이라는 것이다. z[3] simulation -> 합성 (synthesis) -> Hardware 컴파일 과정중에 합성을 좀 더 보면 합성 ( synthesis )이란, - RTL 수준의 HDL 코드를 게이트 수준으로 변환하는 과정이다. 이때 제한 조건 ( Constrain )과 Target library의 조건을 고려하여 합성한다 제한 조건 - 목표하는 스펙이다. 예를 들어, 동.. 2022. 2. 8.