본문 바로가기

Knowledge/Basic15

Full Duplex(전이중), Half Duplex(반이중), Simplex(단방향) 목차  Full Duplex두 장치 간 통신선이 두 개(송신선, 수신선) 있습니다.송신선과 수신선이 각각 존재하므로 데이터 송신과 동시에 수신이 가능합니다. Half Duplex두 디바이스 간 통신선이 하나입니다. 한쪽 디바이스에서 송신과 수신 모두 가능합니다.하나의 통신선으로 송신과 수신을 해야 하므로 송신과 수신을 동시에 할 수 없습니다. 한쪽이 송신 시 다른 쪽에서는 수신만 가능합니다.양쪽에서 전송시 충돌이 발생합니다. CSMA/CD와 같은 통신방식으로 충돌을 보안해야합니다. Simplex두 디바이스 간 통신선이 하나입니다. 송신 측과 수신 측이 미리 정해져 있어 한쪽으로만 전송 가능합니다. 2024. 11. 16.
[CAN] Cyclic redundancy check(CRC) 목차CRCCyclic redundancy check입니다. CRC 는 네트워크 등을 통하여 데이터를 전송할 때 전송된 데이터에 오류가 있는지를 확인하기 위한 체크값을 결정하는 방식을 입니다. CAN은 CRC를 사용하는 대표적인 통신입니다. CAN에서 사용하는 CRC를 기준으로 CRC의 계산방법과 개념에 대해 알아보겠습니다.CRC (in CAN) TxCAN에서 사용하는 CRC 다항식입니다. 어렵게 생각할 필요없습니다. +를 or로 생각한다면 이진법으로 나타낸 숫자를 쉽게 이해하실 수 있습니다.위 다항식을 사용하여 어떻게  CRC Sequence를 만들어 내는지 알아봅시다.위와 같은 Data가 있다고 가정합시다. CAN의 Data Frame입니다. 해당 형식은 아래 글에서 정리된 내용을 보실 수 있습니다. .. 2024. 11. 9.
2차원 DCT(Discrete cosine transform), 이산 코사인 변환 목차 DCT 흔히 DCT라 부르는 DCT2, DCT역변환은 DCT3이자 IDCT(Inverse DCT)라 부릅니다. 간단하게 DCT2는 공간 영역에서 주파수 영역으로 변환하는 방법입니다. 흔히 사용하는 이미지 확장자 JPEG라는 국제 표준 손실 영상 압축 알고리즘의 중심에는 DCT가 있습니다. DCT를 사용하는 이유? 결국에 DCT를 하는 목적은 공간 영역(Spatial Domain)에서 주파수 영역(Frequency Domain)으로 바꾸기 위해 입니다. 저주파와 고주파를 분리하는 작업이기도 합니다. 앞서 JPEG에서 DCT를 주로 사용한다고 했습니다. JPEG의 목적은 사람이 보는 이미지 화질(인지화질)이 크게 떨어지지 않으면서 용량을 줄이기 위함입니다. 이미지나 영상을 주파수영역으로 바꾸게 되면 인.. 2023. 7. 23.
SoC ASIC Flow(디지털 반도체 설계) 목차 Front End Flow Design Specification, RTL Design 디자인의 스펙을 정하고, IP를 선정 및 구매하고 필요에 따라 logic를 설계하고 Integration 하는 과정입니다. 현재는 주로 Verilog HDL를 사용합니다. Design Verification Coverege 100%를 목표로 보통 UVM환경에서 Simulation를 통해 디자인의 오류가 없는지 점검하고, 모든 코드들을 검증합니다. 기능적인 측면을 중점으로 검증이 이뤄집니다. Soft IP가 주 대상이며, Hard IP의 경우 model를 물립니다. VCS, Xcelium 같은 Tool를 주로 사용합니다. Loigc Synthesis SDC(Synopsys Design Constraint)를 작성하고.. 2023. 7. 20.
bps란? 목차 bps란? bit per second의 약자입니다. bps 단위는 초당 전송되는 0과 1로 구성된 이진수 단위입니다. 초당 통신하는 bit수입니다. 다운로드, 업로드, 인터넷 속도를 표현할때 자주 쓰입니다. 주파수 * bit line = bps 예를 들어 이더넷 GMII 인터페이스의 경우 125MHz로 8bit data line입니다. "bps는 125MHz * 8 = 약 1000MHz = 1Gbps" 가 됩니다. Kbps? Mbps? Gbps? K=2^10 = 약 10^3 M=2^20 = 약 10^6 G=2^30 = 약 10^9 간단합니다. bps앞에 K(킬로), M(메가), G(기가) 붙는다 생각하시면 됩니다. 2023. 7. 17.
컴파일(Compile)이란 무엇인가? 컴파일(Compile)이란 사람이 읽을 수 있는 코드(예: C, C++ 또는 Verilog와 같은 프로그래밍 언어)로 작성된 소스 코드를 컴퓨터가 이해하고 실행할 수 있는 기계어로 변환하는 과정을 말합니다. 이 과정은 컴파일러라는 특별한 프로그램에 의해 수행됩니다. 컴파일은 프로그래밍에서 중요한 단계로, 소스 코드의 문법 오류를 찾아내고, 실행 가능한 프로그램을 생성하는 역할을 합니다. 컴파일의 목적은 사람이 읽고 쓰기 쉬운 소스 코드를 컴퓨터가 직접 처리하고 실행할 수 있는 실행 파일 또는 바이너리라고 하는 기계 판독 가능 형식으로 변환하는 것입니다. 컴파일의 과정 컴파일 과정은 크게 네 단계로 이루어집니다. 전처리(Preprocessing): 이 단계에서는 소스 코드에서 주석을 제거하고, 매크로를 확.. 2023. 7. 8.
반응형