일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- pytest-pythonpath 설치 오류
- linux makefile 작성
- CUDA
- Pyverilog 실행
- Pyverilog 설치
- 남산업힐
- 딥러닝 가속기
- gpgpu-sim
- DNN Accelerator
- 클럭 게이팅
- pyverilog 설치 오류
- Makefile compile
- Data HAzard
- gcc 컴파일
- 이진수 곱셈 알고리즘
- Pyverilog 튜토리얼
- systolic array
- Pyvrilog tutorial
- DNN 가속기
- 대구 반도체 설계기업 특화
- 컨벌루션 연산
- CLOCK GATING
- pygraphviz 설치 오류
- 데이터 해저드
- Design DNN Accelerator
- CDC
- linux c 컴파일
- AMBA
- makefile
- linux c++ 컴파일
- Today
- Total
목록분류 전체보기 (227)
오늘은 맑음
Metastable state라고도 하는데 번역하면 준안정상태라고 합니다. 즉, 안정적이지 않은 상태를 의미합니다. 보통 서로 다른 clock domain의 flip-flop사이에 데이터를 주고 받을때 발생합니다. A라는 clock domain에서 동작하는 A_ff와 B라는 clock domain에서 동작하는 B_ff가 있다고 하겠습니다. A_ff와 B_ff는 서로 다른 clock에 의해 동기화가 되기 때문에 동기화 되는 타이밍이 달라 문제가 발생합니다. A_ff는 aclk의 rising edge에 데이터가 동기화 되고 B_ff는 bclk의 rising edge에 데이터가 동기화 됩니다. A_ff에서 데이터가 변경될 때 bclk이 rising edge가 되어 동기화를 시킨다면 어떻게 될까요? 변경되는 데..
fpga와 asic은 성질이 달라 설계할 때 유의해야 할 사항이 있다. clock을 사용할 때 유의사항이 발생하는데 어떤 것이 있을까 clock이 동작할 때는 rising edge와 falling edge중 어떤 것이 동작 속도가 빠른가? 일반적으로 알고 있는 지식에 따르면 falling edge가 동작속도가 빠르다. rising edge를 사용할 때는 low에 있던 시그널이 high로 바뀌기 위해 charging하는 단계가 필요하다. 하지만 falling edge일때는 어떠할까? 방전시켜버리면 high에서 low로 떨어지게 된다. 따라서 charging하여 high로 올라가는 시간보다 low보다 떨어지는 시간이 더 짧기 때문에 빠르게 동작할 수 있다. 그러면 모두 falling edge를 사용하자! 라..
verilog를 사용하여 module을 설계할 때 고려해야 할 점 중 하나가 각자 다른 모듈을 설계할 때 서로 데이터를 전달하는 방식에 있다. verilog는 software적인 개념인 모든 함수가 sequential하게 동작하는 것과는 다르게 모든 module이 clock이라는 매개체를 통해 동시에 동작하기 때문에 design할 때 고려해 주어야 할 것이 많다. 특히 서로 다른 모듈에서 data를 전달할 때 쉽게 두 가지 방식으로 데이터를 전달할 수 있다. 1. 어떠한 동작을 수행한 후 데이터를 그냥 출력시킨다. 2. hand shake신호를 사용하여 동작이 종료되었음을 알림 ex) axi bus 1번을 택하는 경우 내가 설계한 모듈의 데이터를 받는 모듈을 설계하는 다음 사람에게 정보를 알려줘야 한다...
if문과 case문은 mux로 구성되나 if문은 reset신호가 들어오기 전 reg형 데이터를 초기화 할 수 있음if문은 4개 이상 중첩시키지 않는 것이 좋음-if-else문이 여러개 중첩되는 경우 mux가 소세지처럼 줄줄이 달려 많은 cycle을 소모하기 때문에 좋지 않음 reg형 데이터는 읽힌 후 쓰기를 해야 latch가 발생하는 것을 막을 수 있음-temp = A; A = i_data;-latch가 발생하면 왜 좋지 않은가???????????????????? 일반적으로 clock을 사용하면 edge일 때 데이터를 전송하게 되지만 latch의 경우 level상태에서 데이터를 갖고 전달하기 때문에 edge상태에서 데이터를 전달할 때 보다 많은 시간이 소요된다. 이 사이에 glitch(noise)가 끼게..
어떠한 로직을 설계한 후 타이밍을 분석 negative slack이 발생하여 타이밍에서 문제가 되는 경우 이를 해결하는 방법 일반적으로 setup time안에 데이터가 들어오지 않거나 hold time동안 데이터를 유지시키지 못할 때 발생하며 다양하게 문제를 일으킬 수 있음. 보통 longest path(두 개의 F/F사이에 많은 combinational logic이 존재하는 path)에서 발생하지만 문제가 되지 않을 수도 있음 다양하게 문제를 일으키는 만큼 다양한 해결방법이 있음 ex) worst negative slack을 해결하는 방법과 전체적인 negative slack을 해결하는 방법 flip/flop과 flip/flop사이에 존재하는 longest path에서 slack이 발생하는 경우 com..
sudo netplan apply