반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- CLOCK GATING
- gcc 컴파일
- Design DNN Accelerator
- linux c 컴파일
- makefile
- systolic array
- 남산업힐
- pytest-pythonpath 설치 오류
- pygraphviz 설치 오류
- Pyverilog 설치
- gpgpu-sim
- Pyvrilog tutorial
- 데이터 해저드
- AMBA
- 컨벌루션 연산
- DNN 가속기
- Data HAzard
- Pyverilog 실행
- 클럭 게이팅
- linux makefile 작성
- CUDA
- DNN Accelerator
- Pyverilog 튜토리얼
- 대구 반도체 설계기업 특화
- linux c++ 컴파일
- CDC
- pyverilog 설치 오류
- 이진수 곱셈 알고리즘
- 딥러닝 가속기
- Makefile compile
Archives
- Today
- Total
오늘은 맑음
CDC handshake waveform 예제 본문
반응형
CDC상황에서 handshake에 대해서 알아본 내용에 대해 적어보겠습니다.
- *_high가 붙은 신호는 동작 주파수가 높은 클럭 도메인의 신호이며, *_low가 붙은 신호는 동작 주파수가 낮은 클럭 도메인의 신호입니다.
- clk_high와 clk_low의 비율은 1.5:1로, synchronizer의 F/F chain은 2단으로 설정했습니다.
- 모든 req/ack신호는 synchronizer를 통과합니다.

- A에서 B로 req를 보냄 (a -> b)
- B에서 req를 받으면 A로 ack를 보냄(c -> d)
- A에서 ack를 받으면 req를 내림
- B가 A에서 ack를 내린 것을 확인(e ~> f)하면 ack를 내림
- A에서 ack가 내려간 것을 확인(g~>h)
위의 handshake가 정상적으로 동작하기 위해서 선행되어야 하는 조건
- A에서 보내는 req와 B에서 보내는 ack는 서로의 신호를 확인하기 전까지 level값을 유지한다.
- A에서 B로 req를 보낼 수 있는 조건은 A와 B가 모두 아무 동작도 하지 않는 IDLE상태여야 한다.
아래의 유튜브 강의가 이해하기 참 쉽게 설명 되어 있더라구요
Handshake synchronizer (clock domain crossing) - YouTube
CDC(Clock Domain Crossing) (tistory.com)
CDC(Clock Domain Crossing)
CDC라 함은 서로 다른 clock으로 동작하는 clock domain끼리 데이터를 전송하는 것을 의미합니다. 서로 다른 clock domain에 있는 Flip Flop끼리 데이터를 주고 받기 때문에 문제가 발생합니다. 하나의 clock d
wh00300.tistory.com
반응형
'Digital logic' 카테고리의 다른 글
Digital logic에서 assert와 deassert란? (0) | 2023.08.07 |
---|---|
Timing analysis (2): RTL level에서 slack을 줄이는 방법 (2) | 2023.08.02 |
CDC: Multi-bit Synchronizer (4) | 2023.06.17 |
Verilog HDL random, random 신호 생성하기 (2) | 2022.04.03 |
CMOS 동작 원리와 장/단점 (0) | 2022.01.09 |