반응형
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 | 31 |
Tags
- linux makefile 작성
- Makefile compile
- CLOCK GATING
- gcc 컴파일
- 클럭 게이팅
- 데이터 해저드
- 딥러닝 가속기
- AMBA
- CUDA
- 대구 반도체 설계기업 특화
- 이진수 곱셈 알고리즘
- Pyverilog 설치
- linux c++ 컴파일
- 컨벌루션 연산
- CDC
- makefile
- Pyvrilog tutorial
- gpgpu-sim
- Pyverilog 튜토리얼
- pytest-pythonpath 설치 오류
- Design DNN Accelerator
- pygraphviz 설치 오류
- linux c 컴파일
- pyverilog 설치 오류
- DNN Accelerator
- systolic array
- Data HAzard
- DNN 가속기
- 남산업힐
- Pyverilog 실행
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)
반응형
'Digital logic' 카테고리의 다른 글
Digital logic에서 assert와 deassert란? (0) | 2023.08.07 |
---|---|
Timing analysis (2): RTL level에서 slack을 줄이는 방법 (0) | 2023.08.02 |
CDC: Multi-bit Synchronizer (4) | 2023.06.17 |
Verilog HDL random, random 신호 생성하기 (2) | 2022.04.03 |
CMOS 동작 원리와 장/단점 (0) | 2022.01.09 |
Comments