FPGA (vhdl을 사용하여 xilinx spartan3e가있는 Papilio 개발 보드)를 사용하는 방법을 배우고 있습니다.
들어오는 펄스를 (하드 코딩 된) 숫자로 나눌 필요가 있습니다.
의사 코드로 대략 3 가지 옵션을 볼 수 있습니다 (예 : 10 카운트 사용).
- 입력 상승 에지가 1 증가하면 0으로 초기화하고 10과 비교하십시오. 동일하면 0으로 재설정하고 출력 펄스를 트리거
- 입력 상승 에지 감소시 1로 10으로 초기화하고 0과 비교합니다. 동일하면 10으로 재설정하고 출력 펄스를 트리거
- 9로 초기화하지만 적어도 하나의 선행 "0"비트 (내 출력 비트)가 있는지 확인하십시오. 입력 상승 에지에서 1 씩 감소합니다. 출력 비트의 상승 에지에서, 리셋하십시오.
듀티 사이클은 중요하지 않습니다.
이 중 하나가 다른 것보다 낫습니까? 내가 생각하지 못한 더 좋은 방법이 있습니까?
컴파일러에게 최적의 최적화 기회를 제공하는 "표준"방법이 있습니까?