오늘은 맑음

fpga와 asic설계시 유의사항 본문

Digital logic

fpga와 asic설계시 유의사항

자전거 타는 구구 2019. 12. 1. 00:00
반응형

fpga와 asic은 성질이 달라 설계할 때 유의해야 할 사항이 있다.

clock을 사용할 때 유의사항이 발생하는데 어떤 것이 있을까

clock이 동작할 때는 rising edge와 falling edge중 어떤 것이 동작 속도가 빠른가?

일반적으로 알고 있는 지식에 따르면 falling edge가 동작속도가 빠르다.

rising edge를 사용할 때는 low에 있던 시그널이 high로 바뀌기 위해 charging하는 단계가 필요하다.

하지만 falling edge일때는 어떠할까?

방전시켜버리면 high에서 low로 떨어지게 된다.

따라서 charging하여 high로 올라가는 시간보다 low보다 떨어지는 시간이 더 짧기 때문에 빠르게 동작할 수 있다.

그러면 모두 falling edge를 사용하자! 라고 생각하면 좋겠지만 이는 asic을 설계할 때는 허용이 된다.

fpga와 asic은 library가 다르기 때문이다.

fpga에서 만약 falling edge를 사용하게 되면 모든 flip flop마다 bubble(buffer)가 붙어 모델이 복잡해지며 더 많은 resource를 사용하게 될 것이다. 어마어마하게 많이 사용되겠지...

따라서 fpga에서는 rising edge, 즉 positive edge를 사용하는 것이 좋다

반응형

'Digital logic' 카테고리의 다른 글

CDC(Clock Domain Crossing)  (4) 2019.12.05
Metastability/Metastable state  (0) 2019.12.04
module 사이의 데이터 전달 방법  (0) 2019.11.30
verilog hdl 설계시 주의할 점(1)  (0) 2019.11.30
Timing analysis  (2) 2019.11.30
Comments