구성 요소에 필요한 플립 플롭 수를 계산하여 리소스 사용량을 계산합니다. 예를 들어, 내가 ins_controldata
(간단한 카운터 및 일부 I/O)을 계산할 때 32 개의 flipflops를 사용합니다. 이 구성 요소의 세부 맵 보고서, 섹션 13 - 계층 별 사용률을 살펴보면 필자의 추정치가이 구성 요소에 사용 된 슬라이스 레지스터의 수와 비슷하다는 것을 알 수 있습니다. 모든 슬라이스에는 4 개의 LUT와 8 개의 플립 플롭이 있습니다. 내 유한 상태 기계, inst_xtm640
에 대해 동일한 작업을 수행 할 때FPGA 리소스 추정
지금, 나는 (6 개 주에 필요한 3 플립 플롭 포함) (43)의 주위에 내 플립 플롭 사용량을 추정하고있다. 지도 보고서를 보면 예상치가 다소 정확합니다 (+ -10 % 오류). 그러나 필요한 슬라이스 수는 슬라이스 레지스터와 필요한 LUT보다 훨씬 높습니다. 사용한 LUT를 보면 40 정도입니다. 약 20 정도 여야합니다.
왜이 구성 요소에 여분의 조각이 사용됩니까? 속도 최적화를위한 것입니까?
+----------------------------------------------------------------------------------+
| Module | Partition | Slices* | Slice Reg | LUTs |
+----------------------------------------------------------------------------------+
| ++inst_controldata | | 6/6 | 35/35 | 20/20 |
| +++inst_xtm640 | | 40/40 | 57/57 | 88/88 |
+----------------------------------------------------------------------------------+
편집 : 는 내가 그것을 발견 나 자신을 생각하지만 다른 입력은 언제나 환영합니다 :
모든 조각이 완벽하게 사용되는 것은 아닙니다. 그래서 88 LUTS와 57 슬라이스 레지스터를 사용한다면 22 슬라이스를 사용할 것입니다. 일부 슬라이스는 완전히 사용되지 않으므로 슬라이스 사용이 증가합니다. 또한 타이밍 제약 조건을 충족하기 위해 여분의 조각이 사용됩니다.