분류 전체보기 48

0521 system verilog, adder.sv

Verilog vs System Verilogverilog : 디지털 시슽템의 설계와 시뮬레이션에 사용되며, 구조적, 데이터, 행동적 모델링을 지원한다.설계 구조 : 설계를 구조적, 데이터 흐름, 행동적 수준에서 표현할 수 있다.system verilog : verilog의 모든 기능을 포함하며, 추가적인 데이터 타입, 구문, 검증 기능을 제공한다.패키지 [Package]: 공통 코드를 재사용할 수 있도록 패키지 기능을 제공한다.인터페이스 [Interface]: 모듈 간의 신호 연결을 간소화하고 가독성을 높이기 위해 인터페이스 기능을 제공합니다.클래스[Class] 및 객체 지향 프로그래밍: 클래스, 상속, 다형성 등 객체 지향 프로그래밍 기능을 제공합니다.강화된 제어문: always_ff, always_..

0520 oversampling, uart

oversmapling: 수신기에서 신호를 더 정확하게 복구하기 위해 사용되는 기술이다.비트당 8, 16 등 샘플을 나눠 가운데 샘플의 값을 얻는 방식이다.→ 샘플링 속도를 원래 신호의 대역폭에 필요한 최소한 샘플링 속도보다 높이는 기술.잡음, 타이밍 오류를 줄이고 데이터 정확도를 높이는 기술이다. transmitter: oversampling bit = br_cntSTART, STOP: br_cnt == 15가 될 때마다 다음 상태로 넘어간다.DATA : br_cnt == 15가 될 때마다 data의 LSB를 보낸다. receiver: oversampling bit = br_cntSTART : br_cnt == 7이 되면 다음 상태인 DATA로 넘어간다.DATA : br_cnt == 15가 되면 다음 ..

0516 UART

UART: Universal Asynchronous Receiver/Transmitter직렬 통신을 위한 하드웨어 장치 또는 인터페이스 비동기 통신 : 클럭 신호 없이 데이터를 전송한다 [Master가 없다].송신기와 수신기는 독립적으로 동작하며, 클럭 신호 대신 baudrate[전송 속도]를 설정하여 동작한다.직렬 전송 : 데이터가 한 비트씩 순차적으로 전송된다. LSB → MSB 순서로 전송한다.데이터 프레이밍 : 시작 비트, 데이터 비트, 패리티 비트[옵션], 정지 비트로 구성된다.데이터 프레이밍에서 봤듯이 Start Bit, Data Bit, Stop Bit가 전달된다.위의 그림과 아래의 코드에서는 Parity Bit를 포함하지 않는다. IDLE : 1 신호를 보내는 1 bit를 계속 보내며 Da..

0514 assignment, FSM, button_moore_mealy

절차형 할당문 [Procedural assignment]blocking vs non-blockingBlocking Assignment : '=' 연산자를 사용한다.이전의 할당문이 완료된 후 다음 할당문이 실행되는 방식으로, 순차적 실행이다.주로 조합 논리에서 사용된다.Non-blocking Assignment : '병렬로 할당이 되어, 모든 할당이 동시에 실행되며 1clk 안에 모두 완료된다.주로 순차 논리에 사용된다.조합 논리회로 & 순차 논리회로조합 논리회로, Combinational Logic Circuit : 출력값이 입력 값에만 영향을 받음.ex) 가산기, BCD, 7 segment 등...순차 논리회로, Sequential Logic Circuit : 출력값이 입력 값과 이전 입력들의 영향을 ..