행위수준 모델링
·
study/Logic Circuit
행위수준 모델링 조합논리회로와 순차논리회로의 설계, 설계된 회로의 시뮬레이션을 위한 테스트벤치의 작성에 사용 always 구문, initial 구문, task, function 내부에 사용 always 구문 always [@(sensitivity_list)] begin blocking_or_nonblocking statements; end @(sensitivity_list)는 always문의 실행을 제어 sensitivity_list (감지신호목록)에 나열된 신호들 중 하나 이상에 변화(event)가 발생했을 때 always 내부에 있는 begin-end 블록의 실행이 트리거 됨 begin-end블록은 절차형 문장들로 구성 blocking 할당문 또는 nonblocking 할당문에 따라 실행 방식이 달라..
할당문
·
study/Logic Circuit
연속할당문 : net형 객체에 값을 할당 assign문 continous_assign :: = assign [driving_strength][delay] net_assignments; 절차형 할당문 : variable형 객체에 값을 할당 always 블록, initial 블록, task, function 내부의 할당문 blocking 할당문 : 할당기호 = 을 사용 nonblocking 할당문 : 할당기호
게이트 수준 Modeling
·
study/Logic Circuit
게이트 및 스위치 프리미티브 predefined 프리미티브 정의나 선언 없이 사용 가능 단일 출력을 가짐 모듈 내에서만 사용 가능 >> initial 과 always 구문 내부에서는 사용 불가 게이트 프리미티브 인스턴스 구문 primitive_gate_name [#(n1,n2)][instance_name](output, input1, ..); // [ ] 안에 있는건 생략 할 수 있다는 뜻 // instance_name은 내가 지을 게이트의 이름 #(n1,n2) : 게이트 프리미티브의 지연. default 지연값은 0 >>n1 : 상승지연(0에서 1로 변할 때), n2 : 하강지연 (1에서 0으로 변할 때) >>min(n1, n2) : 출력이 x (unknown : 0과 1의 중간으로 표현)로 변할 때의..
Verilog 연산자
·
study/Logic Circuit
1100 && 0101 : 논리 and (이항 연산자) > 0,x,z가 아닌 정해진 값이면 1 , 1 and 1이 되서 값은 1 1100 & 0101 : 비트단위 and > 위치가 같은 비트 끼리 and 연산 , 결과는 0100 & 1100 : 축약 and (단항 연산자) > 모든 비트끼리 and , 1 and 1 and 0 and 0 = 0 수식에서 정수형 수의 처리 integer IntA, IntB, IntC, IntD; IntA = -12 / 4; // The result is -3. IntB = -'d12 / 4; // The result is 1073741821. IntC = -'sd12 / 4; // The result is -3. IntD = -4'sd12 / 4; // -4'sd12 is ..
Verilog 자료형
·
study/Logic Circuit
Verilog의 논리값 논리값 의미 0 logic zero , or false condition 1 logic one, or true condition x unknown logic value z high - impedance state Verilog HDL의 자료형 Net 자료형 : 소자간의 물리적인 연결을 추상화 논리 게이트나 모듈 등의 하드웨어 요소들 사이의 물리적 연결을 나타내기 위해 사용 연속 할당문, 게이트 프리미티브 등과 같은 구동자(의 값에 의해 net의 값이 연속적으로 유지됨 , 값을 저장하지 않음 (단, trireg net는 예외) 구동자가 연결되지 않으면, default 값인 high-impedance (z)가 됨. 단, trireg net는 이전에 구동된 값을 유지 default 자료..
Verilog HDL 개요 , 회로설계 모델링, 어휘 규칙
·
study/Logic Circuit
Verilog HDL 구문 논리 합성용 구문 assign, if ~ else , case , for , always 대부분의 논리합성 툴에서 게이트 수준 합성을 지원하는 구문들이다. Simulation용 구문 initial , $finish , $fopen 시뮬레이션을 위한 테스트벤치의 작성에 사용되며, 논리합성이 지원되지 않는다. Library용 구문 specify , $width , table 논리합성에 적용되는 셀 라이브러리 설계에 사용되며, 셀의 기능, 지연, 핀 정보 등을 정의하는 데 사용된다. Verilog HDL의 모듈 : Verilog는 module을 기본단위로 하여 구성된다. module : 특정한 목적을 위해 묶어진 변수들과 함수들의 모임이라고 생각하면 쉽고, 하나의 라이브러리 개념 p..