728x90

반도체 Study/디지털 설계 15

Cadence - Synthesis / Pre_layout Simulation

SynthesisSynthesis(합성)는 고수준의 HDL 코드를 하드웨어 리소스로 변환하여 구현 가능한 하드웨어로 만드는 작업이다. 합성을 하기 위해서는 게이트에 대한 정보(delay 등)를 담고 있는 [.lib 파일], 코드로 작성한 디지털 회로 설계 파일 [.v 파일], CLK 정보를 담고 있는 [.sdc] 파일이 필요하다. run_counter.tclset_db init_lib_search_path ../../LIB/ // 라이브러리 파일 위치set_db init_hdl_search_path ./rtl/ // hdl 파일 경로read_libs slow_vdd1v0_basicCells.lib // lib 파일명read_hdl counter.v // hdl 파일명elaborateread_s..

Xcelium - (Verilog 파일 전송 및 Xcelium 실행)

(기본적인 Linux 사용법은 알고 있다고 가정한다.) Xcelium 기본 명령어 csh : C Shell의 약어 xrun : 시뮬레이션을 실행하는 데 사용되며, 다양한 옵션을 설정하여 시뮬레이션 동작을 제어할 수 있다. -access +rwc : 디자인 파일에 대한 액세스 권한을 설정한다. +rwc는 읽기, 쓰기 및 변경이 가능한 엑세스를 의미한다. -gui : GUI를 열도록 한다. 시뮬레이션 결과 및 디버깅 정보를 시각적으로 확인할 수 있다. Verilog를 이용하여 코드를 작성한다. Verilog Code nor3_bitop.v module nor3_bitop ( input [2:0] a, output out_nor3 ); assign out_nor3 = ~(a[2] | a[1] | a[0]); ..

SPI - Serial Peripheral Interface 통신

SPI는 주변 장치들과의 통신을 위한 시리얼 통신 프로토콜을 구현하는데 사용된다. SPI는 다음과 같은 구성 요소로 구성된다. 1. Master와 Slave : SPI 통신은 하나의 마스터와 하나 이상의 슬레이브로 구성된다. 마스터는 통신을 제어하고 슬레이브 간에 데이터를 전송한다. 2. Serial 데이터 전송 : SPI는 시리얼 방식으로 데이터를 전송한다. 이것은 비트 단위로 직렬로 전송되며, 일반적으로 데이터는 MSB 또는 LSB부터 전송된다. 3. 시간 동기화 : SPI는 시간 동기화 방식을 사용하여 통신한다. 마스터는 클럭 신호를 생성하여 통신 속도를 제어하며, 데이터는 클럭 신호의 edge에 따라 전송된다. 4. 전송 모드 : SPI는 여러 전송 모드를 지원한다. 주로 사용되는 모드에는 CPO..

Verilog - n비트 양방향 시프트 레지스터

시프트 레지스터는 한 플롭의 출력 핀 q가 다음 플롭의 데이터 입력핀(d)에 연결되는 일련의 플립플롭이다. 모든 플롭은 동일한 클럭에서 작동하기 때문에 시프트 레지스터에 저장된 비트 배열은 한 위치만큼 이동한다. ex) 5bit 오른쪽 시프트 레지스터의 초기 값이 10110이고 시프트 레지스터에 대한 입력이 0에 묶여 있으면 다음 패턴은 01011이 되고 다음 패턴은 00101이 된다. 설계 시프트 레지스터 설계에는 5개의 입력과 1개의 n비트 출력이 있다. parameter MSB를 사용하여 매개변수화를 통해 시프트 레지스터의 폭을 나타낸다. 주요 기능 1. input d(design) 핀을 통해 활성화, 비활성화 할 수 있다. 2. input dir을 통해 왼쪽, 오른쪽으로 이동할 수 있다. 3. i..

Verilog - 기본 문법 정리

- 자료형과 연산자 - Verilog 연산자 - 게이트 수준 모델링 - 할당문 - 행위수준 모델링 - 구조적 모델링 자료형과 연산자 Verilog 자료형 논리값 0 : 거짓, 1 : 참, x : unknown, z : high-impedance (구동자가 없는 상태) net 자료형 wire, tri, wand, wor, triand, trior, supply0, supply1, tri0, tri1, trireg net는 값을 저장하지 않으며(단, trireg net는 예외임), 연속 할당문, 게이트 프리미티브 등과 같은 구동자의 값에 의해 net의 값이 연속적으로 유지된다. net에 구동자가 연결되어 있지 않으면, default 값인 high-impedance(z)가 된다. net 자료형을 선언하는 문법..

728x90