2017-02-08 1 views
1

저는 ISE에서 간단한 Ripple Carry Adder를 설계했으며 FPGA 용으로 합성 한 후 "최대 조합 경로 지연"은 약 15ns라고합니다.자일링스 ISE - 최대 주파수가 잘못 되었습니까?

그런 다음 RCA 인스턴스가 포함 된 Robertson 곱셈기 (순차 회로)를 설계했습니다. 보고서에 따르면 "최대 조합 경로 지연"은 약 7.5ns이고 최대 주파수는 약 130MHz입니다.

내 질문은 :이 숫자들이 맞습니까? 곱셈기 내부에서 가산기를 "빠르게"하기 위해이 도구가 일종의 "마법"최적화를 수행합니까? 아니면 그냥 잘못된 견적입니까?

"Keep Hierarchy"를 "Yes"로 선택하면 합성 옵션에서 보고서의 빈도가 RCA의 지연과 거의 일치한다는 것을 알게되었습니다.

[편집] 나는 합성 텍스트 보고서 (지도 후) 구현 텍스트 보고서 게시하도록하겠습니다 :

+0

"간단한 리플 캐리 가산기 설계"- HDL 추가 연산자를 사용하는 대신 조합 회로로 구성한 것을 의미합니까? – duskwuff

+0

@duskwuff 예, 전 가산기 체인으로 설계했습니다. – Alessandro

답변

0

이 두 숫자는 모두 유용하지만, 구현 중에보고 된 수치는 하드웨어를 생성하는 FPGA에서 디자인을 안정적으로 사용할 수있는 가장 빠른 시계를 제공합니다. 합성 숫자는 구현 번호가 무엇인지 추정 한 것입니다.

합성에서 디자인은 하드웨어 블록으로 변환되고, 로직이 가장 단순한 블록으로 단순화되도록 최적화가 수행됩니다. 이 블록은 하드웨어를 생성하는 FPGA 제품군을 기반으로 타이밍 파라미터를 가지고 있습니다. 이것들은 합성 최대 결합 경로 지연 추정에 사용됩니다.

구현시 블록이 매핑되어 FPGA 패브릭으로 라우팅되는 동안 블록이 잠재적으로 "최대 조합 경로 지연"을 줄일 수있는 최적화가 수행됩니다. 크거나 복잡한 디자인의 경우 추가 라우팅이 필요할 때 지연이 증가 할 수 있습니다. 이 시점에서 설계가 실제 하드웨어에 매핑되고 라우팅 되었기 때문에 매핑 및 라우팅 된 설계에서 최악의 지연을 계산할 수 있습니다.

일어날 수있는 한 가지 점은 곱셈기가 전후 가산 논리를 갖는 곱셈기를 포함하는 "하드"DSP 블록에 매핑된다는 것입니다. 이 경우 DSP 블럭이 LUT 매핑 된 가산기/곱셈기보다 더 높은 실행 주파수를 가지므로 더 나은 타이밍을 가질 수 있습니다. 합성이 타이밍을 나타내지 않는 이유는 DSP 블록이 상대적으로 적기 때문이며, 이동하기에 충분한 DSP 블록이없는 경우 안전한 가정을하기 때문입니다.

+0

저는 합성 후 ISE가보고 한 수치만을 언급하고 있습니다. 멀티 플라이어에 15 ns 지연을 가져야하는 가산기가 포함되어 있으면 어떻게 배율기의 클럭이 매우 빠릅니다 (7.5 ns)? – Alessandro

+0

가능한 한 가지는 디자인의 일부가 DSP 블록에 매핑되는 것입니다. 나는이 가능성에 대해 약간의 설명을 덧붙였다. 지도는 사용 된 DSP 블록을보고합니까? 나는 그것이 DSP48 *로 나타날 것이라고 생각하지만 지금 당장지도 보고서를 가지고 있지 않습니다. – Lincoln

+0

아니요, DSP에 대해 아무 것도보고하지 않습니다. – Alessandro

0

가산기를 명시 적 조합 회로로 구성한 경우 MAP이이를 가산기로 인식하지 못하기 때문에 FPGA에있는 carry chain 회로를 사용하여 구현할 수 없습니다. 이는 성능이 훨씬 떨어지는 디자인을 초래할 수 있습니다.

HDL 더하기 연산자 (예 : Verilog의 assign c = a + b;)를 사용하여 더하기 연산자를 구현하면 더 효과적으로 구현할 수 있습니다. 또한 코드를 훨씬 간단하게 만들 것입니다.

+0

실제 성능에 대해서는별로 신경 쓰지 않아요.이 두 견적 (가산기 및 곱셈기)이 왜 다른지 이해하고 싶습니다. – Alessandro

관련 문제