v8.0 CoreFFT 푸리에 변환

코어FFT v8.0

명세서

  • 변환 크기, 포인트: 32, 64, 128, 256, 512, 1024, 2048,
    4096, 8192, 16384.
  • 인플레이스 FFT: 순방향 및 역방향 FFT
  • 스트리밍 FFT: 순방향 및 역방향 FFT
  • 입력 데이터 비트 폭: 2의 보수
  • 트위들 팩터 비트 폭: 자연 출력 samp주문하다
  • 입출력 데이터 형식: 조건 블록 부동 소수점
    스케일링
  • 미리 정의된 스케일링 일정 또는 스케일링 없음
  • 선택 가능한 최소 또는 버퍼링된 메모리 구성
  • 임베디드 RAM 블록 기반 트위들 룩업 테이블(LUT)
  • 새로 고침 twiddle LUT 지원
  • 사용자와의 쉬운 인터페이스를 용이하게 하기 위한 핸드셰이크 신호
    회로
  • AXI4 스트리밍 인터페이스: 없음
  • 런타임 정방향/역방향 변환 구성: 예

제품 사용 지침

인플레이스 FFT

In-Place FFT 구현은 Radix-2를 지원합니다.
시간 내 십진 변환. In-Place FFT를 사용하려면 다음을 따르세요.
단계:

  1. 입력 시퀀스 X(0), X(1),…, X(N-1)을 초기화합니다.
  2. 변환 크기와 지점을 구성합니다.
  3. 필요에 따라 순방향 또는 역방향 FFT 연산을 수행합니다.
  4. 출력 시퀀스에서 변환된 데이터를 검색합니다.

스트리밍 FFT

스트리밍 FFT 구현은 Radix-22를 지원합니다.
십진수 주파수 변환. 스트리밍 FFT를 사용하려면 다음을 따르세요.
이 단계:

  1. 입력 시퀀스 X(0), X(1),…, X(N-1)을 초기화합니다.
  2. 변환 크기와 지점을 구성합니다.
  3. 필요에 따라 순방향 또는 역방향 FFT 연산을 수행합니다.
  4. 출력 시퀀스에서 변환된 데이터를 검색합니다.

자주 묻는 질문

질문: 어떤 변환 크기가 지원되나요?

A: CoreFFT는 32, 64, 128, 256의 변환 크기를 지원합니다.
512, 1024, 2048, 4096, 8192, 16384.

질문: 입력 데이터 형식은 무엇인가요?

답변: 입력 데이터 형식은 2의 보수입니다.

질문: CoreFFT는 전방 및 역방향 FFT를 지원합니까?
작업?

A: 예, CoreFFT는 전방 및 역방 FFT를 모두 지원합니다.
운영.

코어FFT v8.0
CoreFFT 사용자 가이드
소개
고속 푸리에 변환(FFT) 코어는 이산 푸리에 변환을 계산하기 위한 효율적인 쿨리-터키 알고리즘을 구현합니다. CoreFFT는 디지털 통신, 오디오, 측정, 제어, 생물의학과 같은 광범위한 응용 분야에서 사용됩니다. CoreFFT는 매개변수화가 가능하고 면적 효율성이 높으며 성능이 뛰어난 MACC 기반 FFT를 제공합니다. 이 코어는 Verilog 및 VHDL 언어로 변환의 RTL(Register Transfer Level) 코드로 제공됩니다. 방정식 1. 시퀀스 x(2), x(0),…, x(N-1)의 N-포인트 순방향 FFT(N은 1의 거듭제곱) 여기서 k = 0, 1… N-1
방정식 2. 시퀀스 X(2), X(0),…, X(N-1)의 N-포인트 역 FFT(N은 1의 거듭제곱) 여기서 n = 0, 1… N-1
중요: 역 FFT를 수행하는 동안 코어는 EQ 2의 N으로 나누기를 적용하지 않습니다(XNUMX의 거듭제곱으로 나누는 것은 자명하기 때문입니다).
다음 그림은 데이터 소스, FFT 모듈, 변환된 데이터 수신자인 데이터 싱크로 구성된 FFT 기반 시스템을 보여줍니다. 그림 1. FFT 기반 시스템 Example

특징
CoreFFT는 Radix-2 decimation-in-time in-place FFT와 Radix-22 decimation-in-frequency 스트리밍 FFT 변환 구현을 지원합니다. 다음 표는 각 구현의 주요 기능을 나열합니다.

© 2022 마이크로칩 테크놀로지(주)
및 그 자회사

사용자 가이드

DS50003348C-페이지 1

코어FFT v8.0

표 1. 주요 기능 지원

특징 변환 크기, 포인트

제자리에

스트리밍

32, 64, 128, 256, 512, 1024, 2048, 16, 32, 64, 128, 256, 512, 1024,

4096, 8192, 16384.

2048, 4096

참고: 16384-pt FFT는 RTG4TM, PolarFire®에서 지원됩니다.

및 PolarFire SoC 부품만 해당.

순방향 및 역방향 FFT

입력 데이터 비트 폭

8

트위들 팩터 비트 폭

8

입출력 데이터 형식

2의 보수

자연스러운 출력 samp주문하다

조건 블록 부동 소수점

스케일링

미리 정의된 스케일링 일정 또는 스케일링 없음

선택 가능한 최소 또는 버퍼링된 메모리 예 구성

내장된 RAM 블록 기반 트위들 예 룩업 테이블(LUT)

새로 고침 twiddle LUT 지원 예

사용자 회로망에 대한 쉬운 인터페이스를 용이하게 하기 위한 핸드셰이크 신호

AXI4 스트리밍 인터페이스

아니요

런타임 정방향/역방향 변환 구성 없음

예 8 32 8의 보수 선택 사항 아니요

아니요

아니오 예
네 네

지원되는 가족
CoreFFT는 다음 FPGA 제품군을 지원합니다. · PolarFire® · PolarFire SoC · SmartFusion® 2 · IGLOO® 2 · RTG4TM
장치 활용도 및 성능
CoreFFT는 속도 등급 -2을 사용하여 SmartFusion2 M050S1 디바이스에서 구현되었고, 속도 등급 -300을 사용하여 PolarFire MPF1에서 구현되었습니다. 구현 데이터의 요약은 6. 부록 A: 인플레이스 FFT 디바이스 활용 및 성능 및 7. 부록 B: 스트리밍 FFT 디바이스 활용 및 성능에 제공됩니다.

© 2022 마이크로칩 테크놀로지(주)
및 그 자회사

사용자 가이드

DS50003348C-페이지 2

코어FFT v8.0
목차
소개……………………………………………………………………………………………………………………………………………………..1 기능…………………………………………………………………………………………………………………………………………………….. 1 지원 가족…… ...
1. 기능 설명…………………………………………………………………………………………………………………………..4 1.1. 아키텍처 옵션……………………………………………………………………………………………………………………4 1.2. 인플레이스 FFT…………………………………………………………………………………………………………………………4 1.3. 인플레이스 메모리 버퍼…………………………………………………………………………………………………………..5 1.4. 스트리밍 FFT…………………………………………………………………………………………………………………………..7
2. 인터페이스………………………………………………………………………………………………………………………………………… 12 2.1. 인플레이스 FFT………………………………………………………………………………………………………………………………………….12 2.2. 스트리밍 FFT……………………………………………………………………………………………………………………………… 14
3. 타이밍 다이어그램………………………………………………………………………………………………………………………….. 20 3.1. 인플레이스 FFT……………………………………………………………………………………………………………………………….20 3.2. 스트리밍 FFT………………………………………………………………………………………………………………………… 21
4. 도구 흐름………………………………………………………………………………………………………………………………………….. 23 4.1. 라이선스…………………………………………………………………………………………………………………………………… 23 4.2. SmartDesign에서 CoreFFT 구성…………………………………………………………………………………………………… 23 4.3. 시뮬레이션 흐름………………………………………………………………………………………………………………………… 24 4.4. 설계 제약 조건………………………………………………………………………………………………………………………… 25 4.5. Libero SoC에서의 합성……………………………………………………………………………………………………………… 25 4.6. Libero SoC에서의 배치 및 경로…………………………………………………………………………………………………………..25
5. 시스템 통합………………………………………………………………………………………………………………………….. 26 5.1. 인플레이스 FFT………………………………………………………………………………………………………………………….26 5.2. 스트리밍 FFT………………………………………………………………………………………………………………………… 26
6. 부록 A: 현장 FFT 장치 활용 및 성능…………………………………………………………28
7. 부록 B: 스트리밍 FFT 장치 활용 및 성능…………………………………………………………30
8. 개정 내역………………………………………………………………………………………………………………………… 32
마이크로칩 FPGA 지원…………………………………………………………………………………………………………………………34
마이크로칩 정보………………………………………………………………………………………………………………………….. 34 마이크로칩 Web사이트…………………………………………………………………………………………………………………………..34 제품 변경 알림 서비스………………………………………………………………………………………………………………..34 고객 지원…………………………………………………………………………………………………………………………………… 34 마이크로칩 장치 코드 보호 기능…………………………………………………………………………………………………………..34 법적 고지…… ...

© 2022 마이크로칩 테크놀로지(주)
및 그 자회사

사용자 가이드

DS50003348C-페이지 3

코어FFT v8.0
기능 설명
1. 기능 설명
이 섹션에서는 CoreFFT의 기능 설명을 기술합니다.
1.1 아키텍처 옵션
사용자 구성에 따라 CoreFFT는 다음 변환 구현 중 하나를 생성합니다. · 제자리 FFT · 스트리밍 FFT
1.2 인플레이스 FFT
아키텍처 옵션은 N개의 복합 데이터 프레임을 로드합니다.amples는 제자리 RAM에 저장되고 단일 Radix-2 프로세서를 사용하여 순차적으로 처리됩니다. 각 s의 결과를 저장합니다.tage in-place RAM. in-place FFT는 스트리밍 FFT보다 칩 리소스를 적게 사용하지만 변환 시간이 더 깁니다. 다음 그림은 in-ilace 변환의 기능 다이어그램을 보여줍니다. 그림 1-1. In-Place Radix-2 FFT 기능 블록 다이어그램(최소 구성)

입력 및 출력 데이터는 실수부와 허수부로 구성된 2 * WIDTH 비트 단어로 표현됩니다. 두 부분 모두 각각 WIDTH 비트의 2의 보수 수입니다. 모듈은 N 복소수 단어의 프레임 크기를 갖는 데이터 프레임(버스트)을 처리합니다. 처리할 프레임은 인플레이스 메모리에 로드됩니다. 메모리에는 두 개의 동일한 RAM 블록이 있으며 각각 N/XNUMX 복소수 단어를 저장할 수 있습니다. 인플레이스 메모리는 이중 대역폭을 지원합니다. 동시에 두 개의 복소수를 읽고 쓸 수 있습니다. N 복소수 데이터가amp파일이 메모리에 로드되면 FFT 계산이 자동으로 시작되고, 기존 메모리가 계산에 사용됩니다.
제자리 FFT 계산 과정은 s 순서로 발생합니다.tags의 개수를 가진 estages는 log2N과 같습니다. 모든 s에서tagFFT 데이터 처리의 e에서 Radix-2 butterfly는 한 번에 두 개의 복소수 단어씩 인플레이스 메모리에 저장된 모든 데이터를 읽습니다. 읽기 스위치와 읽기 주소 생성기(그림 1-1에 표시되지 않음)는 butterfly가 FFT 알고리즘에 필요한 순서대로 저장된 데이터를 얻는 데 도움이 됩니다. 데이터 외에도 butterfly는 twiddle LUT에서 twiddle 계수(사인/코사인 계수)를 얻습니다. butterfly는 쓰기 스위치를 통해 인플레이스 메모리에 중간 결과를 씁니다.

© 2022 마이크로칩 테크놀로지(주)
및 그 자회사

사용자 가이드

DS50003348C-페이지 4

코어FFT v8.0
기능 설명
마지막 계산 s 이후tage, 인플레이스 메모리는 완전히 변환된 데이터를 저장합니다. 모듈은 READ_OUTP 신호가 활성화되어 있는 경우 한 번에 한 단어씩 N-단어로 변환된 데이터 프레임을 출력합니다. CoreFFT는 FFT 알고리즘에 필요한 트위들 계수를 계산하여 트위들 LUT에 기록합니다. 이는 비동기 글로벌 리셋 NGRST가 어설션될 때 전원이 켜질 때 자동으로 수행됩니다.

1.3
1.3.1

인플레이스 메모리 버퍼
이 섹션에서는 CoreFFT의 내부 메모리 버퍼에 대해 설명합니다.
최소 구성 그림 1-1에 표시된 최소 구성은 FFT 알고리즘에 필요한 인플레이스 RAM이 있으므로 FFT를 수행하기에 충분합니다. 그러나 최소 구성은 항상 처리 엔진을 활용하지 않습니다. 반대로 데이터가 인플레이스 메모리에 로드되거나 변환된 데이터가 읽혀지면 butterfly는 유휴 상태를 유지합니다. 다음 그림은 FFT 사이클 타임라인을 보여줍니다. 사이클은 다음 세 단계로 구성됩니다.
· 인플레이스 RAM에 새로운 입력 데이터 프레임 다운로드 · 실제 변환 수행 · 인플레이스 RAM을 비우기 위해 변환 결과 업로드
그림 1-2. 최소 구성 인플레이스 FFT 사이클

1.3.2

최소 구성에서 Butterfly는 계산 단계에서만 실행됩니다. 데이터 버스트 속도가 허용할 때 최소 구성은 최상의 장치 리소스 활용을 제공합니다. 특히 상당한 수의 RAM 블록을 절약합니다.
버퍼링된 구성 버터플라이 활용도를 개선하고 결과적으로 평균 변환 시간을 줄이기 위해 추가 메모리 버퍼를 사용할 수 있습니다. 다음 그림은 버퍼링된 FFT 블록 다이어그램을 보여줍니다.
그림 1-3. 버퍼링된 FFT 블록 다이어그램

버퍼링된 옵션에는 핑퐁 버퍼와 하나의 출력 버퍼를 구현하는 두 개의 동일한 인플레이스 메모리 뱅크가 있습니다. 각 뱅크는 N개의 복소수를 저장하고 한 번에 두 개의 복소수를 읽을 수 있습니다. 코어 상태 머신은 핑퐁 스위칭을 제어하므로 데이터 소스는 새 데이터를 받을 준비가 된 버퍼만 봅니다. 새 데이터를 받지 않는 버퍼는 FFT 엔진에서 인플레이스 RAM으로 사용됩니다.

© 2022 마이크로칩 테크놀로지(주)
및 그 자회사

사용자 가이드

DS50003348C-페이지 5

코어FFT v8.0
기능 설명
핑퐁 버퍼링 아키텍처는 FFT 엔진의 효율성을 높입니다. 두 개의 입력 뱅크 중 하나가 현재 FFT 계산에 관여하는 동안 다른 하나는 다음 입력 데이터 프레임을 다운로드하는 데 사용할 수 있습니다. 결과적으로 FFT 엔진은 입력 버퍼가 채워질 때까지 기다리며 유휴 상태가 되지 않습니다. 데이터 소스 관점에서 코어는 FFT 계산 기간 내 어디에서나 데이터 버스트를 수신할 수 있습니다. 엔진이 현재 데이터 프레임 처리를 완료하고 입력 버퍼 뱅크가 다른 데이터 프레임으로 채워지면 상태 머신은 핑퐁 뱅크를 스왑하고 데이터 로드 및 계산은 대체 메모리 뱅크에서 계속됩니다.
마지막 stagFFT 계산의 e는 비위치 방식을 사용합니다. FFT 엔진은 내부 메모리에서 중간 데이터를 읽지만 최종 결과는 출력 데이터 버퍼에 씁니다. 최종 결과는 FFT 엔진이 다음 데이터 프레임의 결과로 대체할 때까지 출력 버퍼에 남아 있습니다. 데이터 수신자 관점에서 볼 때 출력 데이터는 마지막 FFT s를 제외하고 언제든지 읽을 수 있습니다.tage.
버퍼링된 구성 FFT 사이클은 다음 그림에 나와 있습니다.
그림 1-4. 버퍼링된 구성 FFT 사이클

1.3.3

모든 s에서 유한 단어 길이 고려tagFFT 알고리즘의 경우 나비는 두 개의 s를 취합니다.ampin-place 메모리에서 les를 꺼내고 처리된 두 개의 s를 반환합니다.amples를 동일한 메모리 위치로 복사합니다. 나비 계산에는 복소수 곱셈, 덧셈 및 뺄셈이 포함됩니다. 반환 samples는 s보다 더 큰 데이터 폭을 가질 수 있습니다.amp메모리에서 선택되었습니다. 데이터 오버플로가 발생하지 않도록 예방 조치를 취해야 합니다.
오버플로 위험을 피하기 위해 코어는 다음 세 가지 방법 중 하나를 사용합니다.
· 입력 데이터 스케일링 · 무조건 블록 부동 소수점 스케일링 · 조건 블록 부동 소수점 스케일링
입력 데이터 크기 조정: 입력 데이터 크기 조정에는 입력 데이터 s를 미리 보류하는 것이 필요합니다.amp충분한 추가 부호 비트(가드 비트라고 함)가 있는 les. N-포인트 FFT에 대한 최대 가능한 비트 증가를 보상하는 데 필요한 가드 비트 수는 log2N + 1입니다. 예를 들어ample, 모든 입력 samp256포인트 FFT의 le는 XNUMX개의 가드 비트를 포함해야 합니다. 이러한 기술은 효과적인 FFT 비트 해상도를 크게 줄입니다.
무조건 블록 부동 소수점 스케일링: FFT 비트 증가를 보상하는 두 번째 방법은 매 초마다 데이터를 두 배로 축소하는 것입니다.tage. 결과적으로 최종 FFT 결과는 1/N의 인수로 축소됩니다. 이 접근 방식을 무조건 블록 부동 소수점 스케일링이라고 합니다.
첫 번째 s에서 오버플로를 방지하기 위해 입력 데이터를 두 배로 축소해야 합니다.tage. 연속적인 s에서의 오버플로우를 방지하기 위해tag즉, 핵심은 이전 모든 s의 결과를 축소합니다.tag데이터 블록 전체를 이동하여 e를 2배로 늘립니다(현재 s의 모든 결과)tage) 오른쪽으로 한 비트. FFT 계산에서 비트 이동으로 인해 데이터가 손실되는 총 비트 수는 log2N입니다.
무조건 블록 부동 소수점은 입력 데이터 스케일링과 동일한 수의 손실 비트를 생성합니다. 그러나 FFT 엔진이 더 정확한 입력 데이터로 시작하므로 더 정확한 결과를 생성합니다.
조건부 블록 부동 소수점 스케일링: 조건부 블록 부동 소수점 스케일링에서 데이터는 실제로 비트 증가가 발생하는 경우에만 이동합니다. 하나 이상의 버터플라이 출력이 커지면 전체 데이터 블록이 오른쪽으로 이동합니다. 조건부 블록 부동 소수점 모니터는 모든 버터플라이 출력의 증가를 확인합니다. 이동이 필요한 경우

© 2022 마이크로칩 테크놀로지(주)
및 그 자회사

사용자 가이드

DS50003348C-페이지 6

코어FFT v8.0
기능 설명
전체 s 이후에 수행됨tage는 다음 s의 입력에서 완료됩니다.tage butterfly. 이 기술은 유한한 단어 길이로 인해 발생하는 왜곡(양자화 잡음)을 최소화합니다.
조건부 블록 부동 소수점 모드에서 코어는 선택적으로 실제 스케일링 인수를 계산할 수 있습니다. 매개변수 SCALE_EXP_ON이 1로 설정된 경우 그렇게 합니다. 그러면 계산된 실제 인수가 SCALE_EXP 포트에 나타납니다. 인수는 FFT 엔진이 결과에 적용한 오른쪽 이동 횟수를 나타냅니다. 예를 들어ample, SCALE_EXP 값 4(100)는 FFT 결과가 4비트만큼 오른쪽으로 이동(축소)되었음을 의미합니다. 즉, 2SCALE_EXP = 16으로 나눕니다. 신호는 FFT 결과와 함께 제공되며 OUTP_READY가 어설션되는 동안 유효합니다. 실제 CoreFFT 결과를 축소하려면 즉, 부동 소수점 변환된 빈과 비교할 수 있도록 하려면 모든 FFT 출력 sample는 2SCALE_EXP로 곱해져야 합니다:
· FFT 결과(실수) = DATAO_RE*2SCALE_EXP · FFT 결과(허수) = DATAO_IM*2SCALE_EXP
중요: 스케일 지수 계산기는 조건부 블록 부동 소수점 모드에서만 활성화할 수 있습니다.

1.3.4

기본적으로 CoreFFT는 조건부 블록 부동 소수점 스케일링을 적용하도록 구성되어 있습니다. 조건부 블록 부동 소수점 모드에서는 입력 데이터를 확인하고 필요한 경우 첫 번째 s 이전에 2배로 다운스케일합니다.tage.
변환 시간 FFT 계산은 (N/2 + L) x log2N + 2 클럭 사이클이 소요되며, 여기서 L은 메모리 뱅크, 스위치 및 버터플라이의 총 지연 시간을 나타내는 구현별 매개변수입니다. L은 변환 크기 N에 따라 달라지지 않습니다. FFT 비트 해상도에만 따라 달라집니다. L은 10~8의 비트 해상도에서 18과 같고, L은 16~19의 비트 해상도에서 32과 같습니다. 예를 들어amp르,
· 256포인트 16비트 FFT의 경우
계산 시간 = (256/2 + 10) x log2256 + 2 = 1106 클록 주기.
· 4096포인트 24비트 FFT의 경우
계산 시간 = (4096/2 + 16) x log24096 + 2 = 24770 클록 주기.

1.3.5

메모리 구현 코어는 하드 RAM 블록을 사용하여 인플레이스 메모리, 다른 메모리 버퍼 및 트위들 LUT를 구현합니다. FPGA는 두 가지 하드 RAM 유형, 즉 대형 SRAM(LSRAM)과 마이크로 RAM을 탑재합니다. 메모리 구현은 URAM_MAXDEPTH 매개변수를 설정하여 제어할 수 있습니다. 필요한 깊이가 매개변수 값을 초과하지 않으면 CoreFFT는 마이크로 RAM을 사용합니다. 예를 들어ample, URAM_MAXDEPTH 매개변수를 64로 설정하면 필요한 깊이가 POINTS/128이므로 최대 2포인트의 모든 FFT 크기에서 마이크로 RAM을 활용합니다. 매개변수 값을 0으로 설정하면 코어가 마이크로 RAM을 전혀 사용하지 않으므로 다른 곳에서 사용할 수 있습니다.
URAM_MAXDEPTH 매개변수는 코어 사용자 인터페이스를 통해 접근할 수 있습니다.

1.4 스트리밍 FFT
스트리밍 FFT는 연속적인 복합 데이터 처리, 하나의 복합 입력 데이터 처리를 지원합니다.ample per clock period. 스트리밍 아키텍처는 스트리밍 데이터 변환을 지원하기 위해 필요한 만큼의 Radix-22 프로세서, RAM 블록 및 LUT를 갖추고 있습니다. 다음 그림은 256포인트 스트리밍 변환의 기능 다이어그램을 보여줍니다.

© 2022 마이크로칩 테크놀로지(주)
및 그 자회사

사용자 가이드

DS50003348C-페이지 7

그림 1-5. 스트리밍 Radix-22 256-pt FFT 기능 블록 다이어그램

코어FFT v8.0
기능 설명

입력 및 출력 데이터는 실수 및 허수 부분으로 구성된 (2 x DATA_BITS)비트 단어로 표현됩니다. 두 부분 모두 각각 DATA_BITS 비트의 2의 보수 수입니다. 모듈은 N개의 복소수 단어의 변환 크기와 같은 프레임 크기로 데이터 프레임을 처리합니다. 처리할 프레임은 복소수 데이터 단어의 시퀀스로 x(n) 입력에 들어오며, 클록 간격당 (XNUMX x DATA_BITS)비트 단어가 하나씩 들어옵니다. 다음 프레임은 현재 프레임의 마지막 데이터 단어 바로 뒤에 시작하거나 나중에 언제든지 시작할 수 있습니다.
다음 그림은 예를 보여줍니다amp프레임 i 바로 뒤에 오는 프레임 i+1의 le와 임의의 간격 뒤에 오는 프레임 i+2입니다. 입력 데이터 samp프레임 내의 les는 모든 클록 간격에 나와야 하므로 프레임은 정확히 N 클록 간격 동안 지속됩니다. 스트리밍 알고리즘과 관련된 상당한 지연 시간이 있습니다. 출력 데이터 프레임은 입력 프레임 사이의 간격과 동일한 순서, 클록 속도, 출력 프레임 사이의 간격(있는 경우)으로 나타납니다.
그림 1-6. FFT 입력 데이터 프레임 스트리밍

1.4.1 1.4.2

FFT 나비의 수는 log2(N)과 같으므로 s마다tage는 별도의 나비에 의해 처리됩니다. 결과적으로 모든 stages는 병렬로 처리됩니다.
CoreFFT는 FFT 알고리즘에 필요한 트위들 계수를 계산합니다. 전원을 켜면 코어는 트위들 LUT가 되는 온칩 RAM에 트위들 계수를 자동으로 업로드합니다. 이를 위해 사용자 작업은 필요하지 않습니다. 업로드가 완료되면 코어는 RFS 신호를 활성화하여 데이터 소스에 코어가 FFT 처리를 시작할 준비가 되었음을 알립니다. LUT 내용은 1클럭 폭 신호인 REFRESH를 발행하여 언제든지 새로 고칠 수 있습니다.
스트리밍 FFT 지연 스트리밍 FFT 지연은 주로 변환 크기 N에 의해 ​​정의됩니다. 구현은 FFT 크기와 데이터 경로 비트 폭에 따라 달라지는 여러 파이프라인 지연을 추가합니다. 즉, FFT 결과는 비트 반전 출력에 대해 입력 데이터와 관련하여 N 데이터 간격 이상 지연됩니다. 정렬된 출력 지연은 약 2배 더 큽니다.
스트리밍 FFT 메모리 구현 인플레이스 아키텍처와 유사하게 스트리밍 FFT는 하드 RAM 블록을 사용하여 필요한 메모리, LUT 및 지연 라인을 구현합니다. 메모리 구현은 URAM_MAXDEPTH 매개변수를 설정하여 제어할 수 있습니다. CoreFFT는 메모리 깊이가 매개변수 값을 초과하지 않으면 마이크로 RAM을 사용합니다. 예를 들어ample, URAM_MAXDEPTH 매개변수를 128로 설정하면 마이크로 RAM을 활용하여 128 이하의 깊이 메모리를 만듭니다. 매개변수 값을 0으로 설정하면 코어가 마이크로 RAM을 전혀 사용하지 못하게 되어 다른 곳에서 사용할 수 있습니다.

© 2022 마이크로칩 테크놀로지(주)
및 그 자회사

사용자 가이드

DS50003348C-페이지 8

코어FFT v8.0
기능 설명

1.4.3

스트리밍 FFT 출력 데이터 단어 순서 Radix-2 및 Radix-22 FFT 알고리즘에서 얻은 출력 결과는 비트 반전 순서입니다.
그러나 내부 구현은 내부적으로 s를 수행합니다.ample ordering. 따라서 코어는 자연스러운 순서로 결과를 출력합니다. 스트리밍 FFT는 비트 반전 및 자연스러운 출력 순서를 모두 지원합니다. 비트 반전 옵션은 더 적은 칩 리소스를 사용하고 더 작은 지연 시간을 제공합니다.

1.4.4 1.4.4.1

유한 단어 길이에 대한 고려 사항 이 섹션에서는 CoreFFT의 유한 단어 길이에 대한 고려 사항을 설명합니다.

비축소 및 축척 일정 모드
버터플라이 계산에는 덧셈과 뺄셈이 포함됩니다. 이러한 연산으로 인해 버터플라이 데이터 폭이 입력에서 출력으로 커질 수 있습니다. 모든 버터플라이, BF2I 또는 BF2II(그림 1-5 참조)는 데이터 폭에 여분의 비트를 도입할 수 있습니다. 또한 곱셈은 결과에 비트 하나를 더할 수 있습니다. 전체 잠재적 비트 증가 = log2(N)+1비트. 데이터 오버플로가 발생하지 않도록 예방 조치를 취해야 합니다.

오버플로 위험을 방지하거나 줄이기 위해 코어는 다음 두 가지 기술 중 하나를 사용합니다.
· Unscaled 모드는 비트 증가를 수용할 만큼 충분히 넓은 데이터 경로를 구축합니다. 데이터 경로 폭은 s에서 증가합니다.tage에서 stag알고리즘 비트 증가를 완전히 수용하여 데이터 오버플로가 발생하지 않도록 합니다. 실수 또는 허수 출력 비트 폭은 입력 비트보다 log2(N)+1비트 더 넓습니다. 이 설계는 오버플로 지점에서 완전히 안전합니다. view.
· 구성 가능한 스케일 일정 기술은 사용자에게 오버플로를 일으킬 수 있는 모든 중간 결과의 축소(잘라내기)에 대한 제어권을 제공합니다. 출력 비트 폭은 입력 비트 폭과 같습니다. 이 기술은 스케일링 일정이 실제 비트 증가와 일치할 때만 오버플로 안전하며, 이는 달성하기 쉽지 않습니다. 구성 가능한 스케일링에 대한 신중한 접근 방식은 종종 추가적인 축소로 이어집니다. 그러나 변환된 신호의 특성이 일부 또는 모든 s로 오버플로 안전하다고 알려진 경우tag광범위한 다운스케일링을 생략하면 이 기술은 신호 대 잡음 비율과 칩 리소스 활용 측면에서 모두 유익합니다. 스케일 스케줄 기술에 맞게 구성하면 코어는 오버플로가 발생하면 오버플로 플래그를 생성합니다. Radix-22 버터플라이는 3비트 성장을 도입할 수 있습니다. 버터플라이 BF2I, BF2II 및 곱셈기는 각각 비트를 추가할 수 있습니다. 그러나 모든 FFT 중 곱셈은 단 하나뿐입니다.tages는 비트를 추가할 수 있습니다. 미리 알려지지 않았기 때문에 stag곱셈기가 추가 비트를 유도하는 e에서 비스케일 모드의 FFT 엔진은 첫 번째 s에서 시작하는 비트로 데이터 경로를 확장합니다.tage.
스케일 스케줄 기법에서는 모든 Radix-22 stage는 3비트 성장을 도입할 수 있습니다. s 내의 데이터 경로tage는 그에 따라 성장합니다. 즉, stage 출력은 s보다 3비트 더 넓습니다.tage 입력. 엔진은 s 뒤에 있는 세 개의 추가 비트를 잘라냅니다.tage 결과가 계산됩니다. 즉, stage 출력은 다음 s로 이동하기 전에 3비트로 잘립니다.tage. 이러한 접근 방식은 하위 항목을 추측할 필요성을 제거합니다.tag다운스케일링을 적용해야 하는 곳입니다.
다음 표는 특정 s에 대한 2비트 스케줄 값에 따라 스케일 스케줄 모드에서 잘려나가는 XNUMX비트를 설명합니다.tage.

표 1-1. 스케일 일정 모드에서 XNUMX개의 추가 비트 잘라내기

주어진 Radix-22 S에 대한 스케일 일정tage

핵심이 잘라낸 부분

00

MSB 3개를 잘라내세요

01

MSB 2개를 잘라내고 LSB 1개를 라운드로 만듭니다.

10

MSB 하나를 잘라내고 LSB 두 개를 둥글게 만듭니다.

11

3라운드 LSB

32의 거듭제곱이 아닌 크기 128, 512 또는 22의 FFT/IFFT는 Radix-2 버터플라이 외에도 단일 Radix-XNUMX 버터플라이를 사용합니다. 마지막 처리 s에 적용되는 것은tage를 사용해서 불필요한 부분을 하나 잘라냅니다.
코어는 스케일 스케줄 모드에서 자동으로 오버플로 감지를 호출합니다. 오버플로 플래그(OVFLOW_FLAG)는 코어가 실제 오버플로를 감지하자마자 나타납니다. 플래그는 오버플로가 감지된 출력 프레임이 끝날 때까지 활성 상태를 유지합니다.

© 2022 마이크로칩 테크놀로지(주)
및 그 자회사

사용자 가이드

DS50003348C-페이지 9

코어FFT v8.0
기능 설명

1.4.4.2

Unscaled 모드 입력 비트 폭 제한 Unscaled 모드는 최대 입력 비트 폭을 제한합니다.amp코어에서 처리하는 비트 폭. 다음 표는 모든 FFT 크기에 대한 최대 비트 폭을 나열합니다.
표 1-2. 스트리밍 비스케일 FFT 최대 입력 데이터 비트 폭

FFT 크기 16

최대 입력 폭 32

32

30

64

30

128

28

256

28

512

26

1024

26

2048

24

4096

24

1.4.4.3

스케일 일정 입력 스케일 일정은 모든 스트리밍 FFT에 대한 다운스케일링 요소를 식별합니다.tage. 모든 Radix-22 stage 스케일링 인자는 스케일 일정의 전용 2비트와 Radix-XNUMX s에 의해 제어됩니다.tag4의 거듭제곱이 아닌 FFT에서 사용되는 e는 단일 비트로 제어됩니다. 다음 그림은 ex를 나타냅니다.amp1024-pt FFT를 위한 스케일 스케줄 사용자 인터페이스의 le. 체크박스 한 쌍은 특정 Radix-22 s에 해당합니다.tage는 다운스케일링 계수의 두 비트를 나타냅니다. 특정 s에서의 실제 다운스케일링 계수tage는 22*Bit1+Bit0로 계산되며 다음 값 중 하나를 취합니다: 1, 2, 4, 8. 다음 그림에 표시된 체크박스는 10 10 10 10 11의 이진 스케일 일정 값에 해당합니다. 이 값은 오버플로를 발생시키지 않는 보수적인 스케일 일정을 나타냅니다.
그림 1-7. 스케일 일정 사용자 인터페이스

다음 표는 완전히 오버플로우에 안전한 모든 FFT 크기에 대한 보수적인 스케일 일정을 나열합니다.

표 1-3. 다양한 FFT 크기에 대한 보수적인 스케일 일정

FFT 크기

라딕스-22 Stage

5

4

3

2

1

0

4096

1

0

1

0

1

0

1

0

1

0

1

1

© 2022 마이크로칩 테크놀로지(주)
및 그 자회사

사용자 가이드

DS50003348C-페이지 10

………..계속 FFT 크기
2048 1024 512 256 128 64 32 16

코어FFT v8.0
기능 설명

라딕스-22 Stage

5

4

3

2

1

0

x

1

1

0

1

0

1

0

1

0

1

1

x

x

1

0

1

0

1

0

1

0

1

1

x

x

x

1

1

0

1

0

1

0

1

1

x

x

x

x

1

0

1

0

1

0

1

1

x

x

x

x

x

1

1

0

1

0

1

1

x

x

x

x

x

x

1

0

1

0

1

1

x

x

x

x

x

x

x

1

1

0

1

1

x

x

x

x

x

x

x

x

1

0

1

1

© 2022 마이크로칩 테크놀로지(주)
및 그 자회사

사용자 가이드

DS50003348C-페이지 11

코어FFT v8.0
인터페이스

2. 인터페이스
이 섹션에서는 CoreFFT의 인터페이스를 설명합니다.

2.1
2.1.1

인플레이스 FFT
이 섹션에서는 CoreFFT의 In-Place FFT를 설명합니다.

구성 매개변수 CoreFFT에는 RTL 코드를 구성하기 위한 매개변수(Verilog) 또는 제네릭(VHDL)이 있습니다. 다음 표는 매개변수와 제네릭을 설명합니다. 모든 매개변수와 제네릭은 정수 유형입니다.
표 2-1. In-Place CoreFFT 매개변수 설명

매개변수 INVERSE

유효 범위 0

기본값 0

설명
0: 정방향 푸리에 변환 1: 역방향 푸리에 변환

규모

0

0

0: 조건부 블록 부동 소수점 스케일링

1: 무조건 블록 부동 소수점 스케일링

입력 데이터 스케일링을 적용하려면 SCALE 매개변수를 0으로 설정하고 적절한 수의 가드 비트를 입력 데이터에 추가합니다. 그러면 조건 블록 부동 소수점은 효과가 없습니다.

전철기
폭 멤버

32, 64, 128,

256

256, 512, 1024,

2048, 4096,

8192, 16384

8

18

0

0

변환 크기. 참고: 16384-pt FFT는 RTG4, PolarFire 및 PolarFire SoC 부분에서만 지원됩니다.
데이터 및 트위들 팩터 비트 폭
0: 최소(버퍼 없음) 구성 1: 버퍼링된 구성

스케일_증가_시작

0

0

0: 조건 블록 부동 소수점을 빌드하지 않습니다.

지수 계산기

1: 계산기를 만듭니다

URAM_최대 깊이

0, 4, 8, 16, 32, 64, 128, 256, 512

SmartFusion2, IGLOO2, RTG4, PolarFire 및 PolarFire SoC 파트에서 사용 가능한 microRAM으로 구현할 가장 큰 RAM 깊이입니다. 사용자가 선택한 변환 크기 POINTS에 필요한 RAM 깊이가 URAM_MAXDEPTH를 초과하면 큰 LSRAM 블록이 사용됩니다.

2.1.2

포트 다음 표는 기본 CoreFFT 아키텍처의 포트 신호를 나열합니다.
표 2-2. In-Place CoreFFT 포트 설명

포트 이름 DATAI_IM

입/출력 포트 폭 비트 설명

In

너비

변환할 가상 입력 데이터

데이터_리

In

너비

변환할 실제 입력 데이터

© 2022 마이크로칩 테크놀로지(주)
및 그 자회사

사용자 가이드

DS50003348C-페이지 12

코어FFT v8.0
인터페이스

………..계속되는

포트 이름

인/아웃

DATAI_VALID에서

포트 폭 비트 1

설명
입력 복합어 유효 신호는 입력 DATAI_IM, DATAI_RE에 있는 유효한 입력 복합어를 동반합니다. 신호가 활성화되면 BUF_READY 신호가 어설션된 경우 입력 복합어가 코어 메모리에 로드됩니다.

READ_OUTP에서

1

변환된 데이터 읽기 일반적으로 모듈은 FFT 결과가 준비되면 N개의 복합 단어로 구성된 단일 버스트로 출력합니다. 변환된 데이터 수신자는 READ_OUTP 신호를 해제하여 버스트에 임의의 중단을 삽입할 수 있습니다.

데이터_메신저

밖으로

데이터_재

밖으로

DATAO_VALID가 없습니다

너비 너비 1

가상 출력 데이터
실제 출력 데이터
유효한 복합어 출력 신호는 DATAO_IM 및 DATAO_RE 출력에 존재하는 유효한 복합어 출력과 함께 제공됩니다.

BUF_READY 아웃

1

FFT는 새로운 데이터를 수용합니다. 코어는 데이터를 수용할 준비가 되면 신호를 주장합니다. 신호는 코어 메모리가 가득 찰 때까지 활성 상태를 유지합니다. 즉, 신호는 POINTS 복소수 입력 s까지 활성 상태를 유지합니다.amples가 로드되었습니다.

OUTP_READY 아웃

1

FFT 결과 준비 코어는 FFT 결과가 변환된 데이터 수신자가 읽을 준비가 되면 신호를 어서트합니다. 변환된 데이터 프레임을 읽는 동안 신호는 활성 상태를 유지합니다. 일반적으로 READ_OUTP 신호가 어서트 해제되지 않는 한 POINTS 클록 간격 동안 지속됩니다.

스케일_익스프레스

밖으로

바닥[log2 ( Ceil(log2(POIN TS)))]+1

조건부 블록 부동 소수점 스케일링 지수 이 선택적 출력은 SCALE_EXP_ON 매개변수를 설정하여 활성화할 수 있습니다. 코어가 조건부 블록 부동 소수점 스케일링 모드(매개변수 SCALE = 0)일 때만 출력을 활성화할 수 있습니다.

퐁클럭

밖으로

1

In

1

입력 메모리 버퍼의 Pong 뱅크는 FFT 엔진에서 작동하는 인플레이스 메모리로 사용됩니다. 이 선택적 신호는 버퍼링된 구성에서만 유효합니다.
Clock Rising edge 활성화 코어 마스터 클럭

슬로클럭

In

1

한국어:

In

1

트위들 LUT 초기화를 위한 저주파 상승 에지 클록 신호, 최소한 CLK 주파수의 8배로 나눠야 합니다.
비동기 재설정 Active-Low

중요: 달리 지정하지 않는 한 모든 신호는 활성 하이(논리 1)입니다.

© 2022 마이크로칩 테크놀로지(주)
및 그 자회사

사용자 가이드

DS50003348C-페이지 13

코어FFT v8.0
인터페이스

2.2
2.2.1

스트리밍 FFT
스트리밍 FFT는 GUI로 구성 가능한 기본 인터페이스 또는 AXI4 스트리밍 인터페이스와 함께 사용할 수 있습니다.

구성 매개변수 CoreFFT에는 RTL 코드를 구성하기 위한 매개변수(Verilog) 또는 제네릭(VHDL)이 있습니다. 다음 표는 이러한 매개변수와 제네릭을 설명합니다. 모든 매개변수와 제네릭은 정수 유형입니다.
표 2-3. CoreFFT 스트리밍 아키텍처 매개변수 설명

매개변수 이름 FFT_SIZE

유효한 범위 기본값
16, 32, 64, 128, 256 256, 512, 1024, 2048, 4096

설명
변환 크기 포인트 코어는 모든 프레임에 FFT_SIZE 복합 s가 포함된 복합 데이터 프레임을 처리합니다.amples. 변환된 데이터 프레임은 동일한 크기입니다.

NATIV_AXI4

0 – 1

0

IP의 인터페이스 선택

· 0 – 네이티브 인터페이스

· 1 – AXI4 스트리밍 인터페이스

스트리밍 아키텍처에만 사용 가능합니다.

스케일 켜기

0 – 1

1

1 – 구성 가능한 스케일 일정 활성화

옵션이 활성화되면 코어는 구성 가능한 것을 적용합니다.

나비마다 SCALE_SCH를 적용하여 축척 인자를 지정합니다.

0 – 비축소 모드

스케일_SCH

0

스케일 일정

SCALE_ON 매개변수가 1이면 SCALE_SCH가 사용됩니다.

모든 처리 s에 대한 스케일링 요소를 정의합니다.tage.

DATA_BITS TWID_BITS 순서

8년 – 32년 8년 – 32년 0년 – 1년

18

실수 또는 허수 부분의 입력 데이터 비트 폭입니다.

18

실수 또는 허수 부분의 비트 폭을 변경하는 계수입니다.

0

0: 비트 역순으로 데이터 출력

1: 정상적인 순서로 출력 데이터

URAM_MAXDEPTH 0, 4, 8, 16, 32, 0 64, 128, 256, 512

SmartFusion2, IGLOO2, RTG4, PolarFire 또는 PolarFire SoC 파트에서 사용 가능한 마이크로 RAM으로 구현할 가장 큰 RAM 깊이입니다. 사용자가 선택한 변환 크기 POINTS에 필요한 RAM 깊이가 URAM_MAXDEPTH를 초과하면 큰 LSRAM 블록이 사용됩니다.

© 2022 마이크로칩 테크놀로지(주)
및 그 자회사

사용자 가이드

DS50003348C-페이지 14

코어FFT v8.0
인터페이스

………..계속되는
매개변수 이름
AXI4S_IN_DATA 참고: 실수 및 허수 입력 데이터에 대한 0 패딩을 설명합니다.ampNATIV_AXI4 = 1일 때

유효 범위 8,16,24,32

기본값 24

설명
내부적으로 생성된 매개변수로 사용자가 접근할 수 없습니다. 입력 데이터를 해석하는 데 사용됩니다.ampAXI4 스트리밍 인터페이스를 용이하게 하기 위해 바이트 경계에 따른 les. AXI4S_IN_DATA 크기는 다음과 같이 정의됩니다.
1. DATA_BITS = 8이면 AXI4S_IN_DATA= 8이므로 입력 데이터 s에 패딩이 필요하지 않습니다.amp레
2. 8 < DATA_BITS < 16이면 AXI4S_IN_DATA = 16이고 입력 데이터 sample는 실수 및 허수 데이터 s 모두에 대해 MSB 위치에 16개(DATA_BITS)의 0으로 패딩되어야 합니다.amp보내기 전에 les
3. 16 < DATA_BITS < 24이면 AXI4S_IN_DATA = 24이고 입력 데이터 sample는 실수 및 허수 데이터 s 모두에 대해 MSB 위치에 24개(DATA_BITS)의 0으로 패딩되어야 합니다.amp보내기 전에 les
4. 24 < DATA_BITS < 32이면 AXI4S_IN_DATA = 32이고 입력 데이터 sample는 실수 및 허수 데이터 s 모두에 대해 MSB 위치에 32개(DATA_BITS)의 0으로 패딩되어야 합니다.amp보내기 전에 les
참고: 패딩은 MSB에서 시작해야 합니다.

© 2022 마이크로칩 테크놀로지(주)
및 그 자회사

사용자 가이드

DS50003348C-페이지 15

코어FFT v8.0
인터페이스

………..계속 매개변수 이름

유효 범위

AXI4S_OUT_DATA 8,16,24,32, 40 참고: 실수 및 허수 출력 데이터의 0 패딩을 설명합니다.ampNATIV_AXI4 = 1일 때

기본값 24

설명
내부적으로 생성된 매개변수로 사용자가 접근할 수 없습니다. 출력 데이터를 해석하는 데 사용됩니다.ampAXI4 스트리밍 인터페이스를 용이하게 하기 위해 바이트 경계에 따른 les. AXI4S_OUT_DATA 크기는 다음과 같이 정의됩니다.
SCALE_ON = 0인 경우 출력 sample size는 STREAM_DATAO_BITS = DATA_BITS+ceil_log2(FFT_SIZE) + 1입니다.
SCALE_ON = 1인 경우 출력 sample size는 STREAM_DATAO_BITS = DATA_BITS 입니다.
1. STREAM_DATAO_BITS = 8이면 AXI4S_OUT_DATA = 8인 경우 출력 데이터 s에 패딩이 추가되지 않습니다.amp레
2. 8 < STREAM_DATAO_BITS < 16이면 AXI4S_OUT_DATA= 16이 되고 출력 데이터는amples는 실수 및 허수 데이터 모두에 대해 MSB 위치에 16개의 – (STREAM_DATAO_BITS) 0으로 패딩됩니다.amp프레이밍 전의 les
3. 16 < STREAM_DATAO_BITS < 24이면 AXI4S_OUT_DATA = 24가 되고 출력 데이터는amples는 실수 및 허수 데이터 모두에 대해 MSB 위치에 24개의 – (STREAM_DATAO_BITS) 0으로 패딩됩니다.amp프레이밍 전의 les
4. 24 < STREAM_DATAO_BITS < 32이면 AXI4S_OUT_DATA = 32가 되고 출력 데이터는amples는 실수 및 허수 데이터 모두에 대해 MSB 위치에 32-(STREAM_DATAO_BITS)개의 0으로 패딩됩니다.amp프레이밍 전의 les
5. 32 < STREAM_DATAO_BITS < 40이면 AXI4S_OUT_DATA = 40가 되고 출력 데이터는amples는 실수 및 허수 데이터 모두에 대해 MSB 위치에 40 – (STREAM_DATAO_BITS)의 0으로 패딩됩니다.amp프레이밍 전의 les
참고: 패딩은 MSB에서 시작해야 합니다.

2.2.2

포트 다음 표는 Streaming CoreFFT 매크로의 포트 신호를 설명합니다.
표 2-4. 스트리밍 FFT I/O 신호 설명

포트 이름 CLK SLOWCLK
클켄

인/아웃 인 인
In

포트 폭, 비트 설명

1

상승 에지 클록 신호

1

트위들 LUT를 위한 저주파 상승 에지 클록 신호

초기화는 최소한 CLK의 4배로 나누어야 합니다.

빈도.

1

옵션 클록 활성화 신호

신호를 해제한 후 코어는 유효한 신호를 생성하지 않습니다.

결과

한국어:

In

1

뉴스

In

1

NATIV_AXI4 = 1일 때 사용 가능한 포트

비동기 리셋 신호 액티브-로우. 선택 사항인 동기 리셋 신호 액티브-하이.

© 2022 마이크로칩 테크놀로지(주)
및 그 자회사

사용자 가이드

DS50003348C-페이지 16

코어FFT v8.0
인터페이스

………..계속되는

포트 이름

인/아웃

TVALID에서 AXI4_S_DATAI_

AXI4_S_DATAI_ 아웃 트레디
AXI4_S_TDATAI에서

AXI4_S_TLASTI에서
AXI4_M_DATAO 아웃 _TVALID

_TREADY에서 AXI4_M_DATAO

AXI4_M_TDATA 출력 O

AXI4_M_TLAST 아웃 O
I_TVALID의 AXI4_S_CONFIG

AXI4_S_

밖으로

구성

_트레디

AXI4_S_CONFIG I에서

AXI4_M_CONFI 아웃 GO_TVALID
GO_TREADY에서 AXI4_M_CONFI

포트 폭, 비트 설명

1

AXI4 스트림 데이터는 외부 소스에서 코어로 유효한 입력을 받습니다.

데이터 가용성을 나타냅니다. 코어의 START 역할을 합니다.

참고: 자세한 내용은 START 포트 설명을 참조하세요.

1

AXI4 스트림 데이터가 외부 소스로 준비됨

코어가 데이터를 수용할 준비가 되었음을 나타냅니다.

(2 *

AXI4 스트림 데이터를 소스에서 코어로 입력합니다.

AXI4S_IN_DATA) 0과 허수로 채워진 실수 데이터(DATAI_RE)를 포함합니다.

(DATAI_IM) 데이터는 0으로 채워집니다.

1

마지막 데이터 전송을 나타냅니다.amp외부에서 le

원천.

1

AXI4 스트림 데이터 유효 출력은 수신기에 코어가 준비되었음을 나타냅니다.

변환된 데이터를 전송합니다. 코어의 DATAO_VALID 역할을 합니다.

참고: 자세한 내용은 DATAO_VALID 포트 설명을 읽어보세요.

정보.

1

수신기에서 AXI4 스트림 데이터 준비됨

외부 수신기 준비 상태 표시

핵심 기능의 경우 항상 1이어야 합니다.

(2 * AXI4S_아웃_데이터)

AXI4 스트림 데이터를 수신기로 전송합니다.
0으로 채워진 변환된 실수 데이터(DATAO_RE)와 0으로 채워진 허수 데이터(DATAO_IM)를 포함합니다.

1

마지막으로 변환된 데이터의 전송을 나타냅니다.amp르에서

IP

1

외부 소스에서 코어에 대한 유효한 입력

구성 데이터 가용성을 나타냅니다

1

코어 준비 상태를 나타내기 위해 외부 소스에 준비됨

구성 데이터를 수락합니다.

8

소스에서 코어 및 소스로의 구성 데이터 입력

데이터를 전송하기 전에 IP를 구성해야 합니다.amp레. 그것

다음의 구성 정보를 포함합니다:

· Bit0 – INVERSE(비트가 높으면 코어는 다음 데이터 프레임의 역 FFT를 계산하고 그렇지 않으면 순방향 FFT를 계산함)

· Bit1 – REFRESH(해당 RAM 블록의 회전 계수 LUT를 다시 로드)

1

수신기에 유효한 상태 데이터 출력

코어가 변환된 데이터를 보낼 준비가 되었음을 나타냅니다.

1

수신기에서 상태 데이터가 준비됨

외부 수신기가 준비되었음을 나타냅니다.

핵심 기능에 대해서는 항상 1이어야 합니다.

© 2022 마이크로칩 테크놀로지(주)
및 그 자회사

사용자 가이드

DS50003348C-페이지 17

코어FFT v8.0
인터페이스

………..계속되는

포트 이름

인/아웃

AXI4_M_CONFI 아웃 GO

포트 폭, 비트 설명

8

수신기로 상태 데이터 전송

다음과 같은 상태 정보가 포함되어 있습니다.

Bit0 – OVFLOW_FLAG(산술 오버플로 플래그, CoreFFT는 FFT/IFFT 계산이 오버플로되면 플래그를 주장합니다. 플래그는 코어가 오버플로를 감지하자마자 시작됩니다. 플래그는 현재 출력 데이터 프레임이 끝나면 끝납니다)

NATIV_AXI4=0일 때 사용 가능한 포트

데이터I_IM

In

데이터 비트

데이터_리

In

데이터 비트

시작

In

1

변환할 가상의 입력 데이터입니다.
변환할 실제 입력 데이터입니다.
변환 시작 신호
첫 번째 s의 순간을 의미합니다.ampN 복소수 s의 입력 데이터 프레임의 leamples가 핵심으로 들어갑니다.
이전 입력 데이터 프레임이 완료되지 않은 상태에서 START가 발생하면 해당 신호는 무시됩니다.

In

1

역 변환 신호가 주장되면 코어는 다음 데이터 프레임의 역 FFT를 계산하고, 그렇지 않으면 순방향 FFT를 계산합니다.

새로 고치다

In

데이터_메신저

밖으로

데이터_재

밖으로

OUTP_READY 아웃

1
데이터 비트 데이터 비트 1

해당 RAM 블록의 회전 계수 LUT를 다시 로드합니다.
가상 출력 데이터
실제 출력 데이터
FFT 결과가 준비되었습니다. 코어는 N FFT된 데이터의 프레임을 출력하려고 할 때 신호를 주장합니다. 신호의 폭은 1클럭 간격입니다.

DATAO_VALID가 없습니다

1

출력 프레임이 유효합니다
유효한 출력 데이터 프레임을 동반합니다. 신호가 시작되면 N 클럭 사이클 동안 지속됩니다.
입력 데이터가 프레임 사이에 간격 없이 지속적으로 들어오는 경우 DATAO_VALID는 한 번 시작되면 무기한 지속됩니다.

OVFLOW_FLAG 아웃

1

산술 오버플로 플래그 CoreFFT는 FFT/IFFT 계산이 오버플로되면 플래그를 주장합니다. 플래그는 코어가 오버플로를 감지하자마자 시작됩니다. 플래그는 현재 출력 데이터 프레임이 끝나면 끝납니다.

RFS

밖으로

1

시작 요청 코어는 다음 입력 데이터 프레임을 위해 준비되면 신호를 주장합니다. 신호는 코어가 다음 프레임을 위해 준비되는 즉시 시작됩니다. 신호는 코어가 요청된 START 신호를 받으면 끝납니다.

© 2022 마이크로칩 테크놀로지(주)
및 그 자회사

사용자 가이드

DS50003348C-페이지 18

코어FFT v8.0
인터페이스
중요: 달리 지정하지 않는 한 모든 신호는 활성 하이(논리 1)입니다.

2.2.3

AXI4 스트리밍 인터페이스의 입력/출력 데이터 프레임 형식 AXI4 스트리밍 인터페이스가 선택되면 입력 및 출력 데이터 프레임은 계단식 실수 및 허수 데이터로 사용할 수 있으며 데이터 프레임은ampAXI4 스트리밍을 원활하게 하기 위해 바이트 경계에 맞게 먼저 파일을 XNUMX으로 채웁니다.
예를 들어ample, DATA_BITS는 26이고 가장 가까운 바이트 경계는 32이므로 실수 및 허수 데이터에 대해 0개의 XNUMX을 추가해야 합니다.ampAXI4 스트리밍 I/O 데이터를 프레임으로 캐스케이딩하기 전 les
표 2-5. AXI4 스트리밍 인터페이스 I/O 데이터 프레임 형식

비트: 63…58 0 패딩

비트: 57…32 가상 데이터

비트: 31..26 0 패딩

비트: 25…0 실제 데이터

팁: 표 4-4의 2 패딩에 대한 AXI3S_IN_DATA 및 AXIXNUMXS_OUT_DATA 매개변수 설명을 참조하세요.

© 2022 마이크로칩 테크놀로지(주)
및 그 자회사

사용자 가이드

DS50003348C-페이지 19

코어FFT v8.0
타이밍 다이어그램
3. 타이밍 다이어그램
이 섹션에서는 CoreFFT의 타이밍 다이어그램을 설명합니다.
3.1 인플레이스 FFT
제자리 FFT가 BUF_READY 신호를 주장하면 데이터 소스가 데이터 공급을 시작합니다.amp변환할 les. 입력 데이터의 허수 및 실수 반쪽 sample는 동시에 제공되어야 하며 유효성 비트 DATAI_VALID와 함께 제공되어야 합니다. 데이터 소스는 s를 제공할 수 있습니다.ample는 모든 클록 사이클 또는 임의의 더 느린 속도로(그림 3-1 참조) FFT 모듈이 N개의 입력 s를 수신하면amples, BUF_READY 신호를 낮춥니다. FFT 엔진은 데이터가 준비되면 자동으로 데이터 처리를 시작합니다. 최소 메모리 구성에서 처리 단계는 데이터 로딩이 완료된 직후에 시작됩니다. 버퍼링된 구성에서 FFT 엔진은 이전 데이터 버스트가 처리될 때까지 기다릴 수 있습니다. 그런 다음 엔진이 자동으로 시작됩니다. 다음 그림은 입력 데이터 로딩을 보여줍니다. 그림 3-1. 입력 데이터 로딩
변환을 완료하면 FFT 모듈은 OUTP_READY 신호를 주장하고 FFT 결과를 생성하기 시작합니다. 출력의 허수 및 실수 반쪽amples는 DATAO_IM 및 DATAO_RE 멀티비트 출력에 동시에 나타납니다. 모든 출력 sample에는 DATAO_VALID 비트가 수반됩니다. 데이터 수신기는 모든 클록 사이클 또는 임의의 더 느린 속도로 변환된 데이터를 수락합니다. FFT 모듈은 READ_OUTP 신호가 어설션되는 동안 데이터 출력을 계속 제공합니다. 출력 s를 제어하려면ample rate에서 수신기는 필요에 따라 READ_OUTP 신호를 deassert해야 합니다(다음 그림 참조). 다음 그림은 변환 데이터 수신을 보여줍니다. 그림 3-2. 변환된 데이터 수신

READ_OUTP 신호를 사용하여 읽기 속도를 제어할 때 가능한 FFT 사이클 증가를 고려해야 합니다. 최소 메모리 구성에서 읽기(업로드) 시간이 연장되면 FFT 사이클이 확장됩니다(그림 1-2 참조). 버퍼링된 구성에서 실제 업로드 시간이 그림 1-3에 "사이클 i의 결과 읽기에 사용 가능"으로 표시된 전용 간격을 초과하면 FFT 사이클이 증가합니다. 또한 버퍼링된 구성에서 출력 버퍼는 이전 결과가 읽히지 않았더라도 새로운 FFT 결과를 수락하기 시작하여 이전 결과를 덮어씁니다. 이 경우 코어는 더 이상 유효하지 않을 때 OUTP_READY 및 DATAO_VALID 신호를 해제합니다.

© 2022 마이크로칩 테크놀로지(주)
및 그 자회사

사용자 가이드

DS50003348C-페이지 20

코어FFT v8.0
타이밍 다이어그램

3.2
3.2.1

스트리밍 FFT
AXI4S 인터페이스의 경우 AXI4S 인터페이스 포트의 작동은 네이티브 인터페이스의 작동에 매핑됩니다. 일대일 매핑의 경우 2. 스트리밍 FFT의 포트에 있는 표 4-2.2를 참조하세요.
RFS 및 START 코어는 데이터 소스에 입력 데이터의 다음 프레임을 준비되었음을 알리기 위해 RFS 신호를 생성합니다.amples. 주장된 후, RFS는 데이터 소스가 START 신호로 응답할 때까지 활성 상태를 유지합니다.
코어가 START를 받으면 RFS 신호를 해제하고 입력 데이터 프레임을 수신하기 시작합니다. N 클록 간격 후에 데이터 프레임 수신이 완료되고 RFS 신호가 다시 활성화됩니다. 다음 그림은 ex를 보여줍니다.ampFFT 엔진이 데이터 소스가 START 신호를 제공할 때까지 기다리는 경우입니다.
그림 3-3. RFS가 START를 기다림

START 신호는 영구적인 활성 값을 가지며 코어는 이전 프레임이 끝난 직후에 다른 입력 프레임을 수신하기 시작합니다. 데이터 소스가 RFS 신호를 감시하는 것은 선택 사항입니다. 언제든지 START 신호를 주장할 수 있으며 코어는 가능한 한 빨리 다른 입력 프레임을 수신하기 시작합니다. 그림 3-3의 상황에서 새 프레임 로딩은 START 신호 직후에 시작됩니다. 이전 입력 프레임이 로드되는 동안 START 신호가 오면 코어는 프레임이 끝날 때까지 기다렸다가 다른 프레임을 로드하기 시작합니다. 다음 그림은 다른 예를 보여줍니다.ample 프레임 사이에 간격 없이 입력 데이터가 무한정 들어오는 곳입니다. 그림 3-4. 스트리밍 데이터 변환
다음 그림은 START 신호가 실제 입력 프레임보다 한 클럭 간격 앞서 있음을 보여줍니다. 그림 3-5. START가 데이터를 앞서는 경우

3.2.2

OUTP_READY 및 DATAO_VALID
이 두 신호는 FFT 결과가 준비되었을 때 데이터 수신기에 알리는 역할을 합니다. OUTP_READY는 클록 폭 펄스입니다. 코어는 출력 데이터 프레임이 출력되려고 할 때 어서트합니다. 코어는 출력 프레임을 생성하는 동안 DATAO_VALID 신호를 어서트합니다. DATAO_VALID 신호는 OUTP_READY 신호보다 클록 간격 하나 뒤처집니다. 다음 그림은 두 신호와 FFT된 데이터 프레임 간의 타이밍 관계를 보여줍니다.

© 2022 마이크로칩 테크놀로지(주)
및 그 자회사

사용자 가이드

DS50003348C-페이지 21

그림 3-6. 출력 데이터 및 핸드셰이크 신호

코어FFT v8.0
타이밍 다이어그램

다음 그림은 스트리밍 데이터 사이에 프레임 간격이 없을 때 DATAO_VALID 신호가 영구적으로 활성화되는 시나리오를 보여줍니다.
그림 3-7. 갭이 없는 스트리밍 출력 데이터

© 2022 마이크로칩 테크놀로지(주)
및 그 자회사

사용자 가이드

DS50003348C-페이지 22

코어FFT v8.0
도구 흐름
4. 도구 흐름
이 섹션에서는 CoreFFT의 도구 흐름을 설명합니다.
4.1 라이센스
CoreFFT는 라이센스로 잠겨 있습니다.
4.2 SmartDesign에서 CoreFFT 구성
CoreFFT는 Libero® IP 카탈로그에서 다운로드할 수 있습니다. web 저장소. 카탈로그에 나열된 후, SmartDesign 흐름을 사용하여 코어를 인스턴스화할 수 있습니다. SmartDesign 프로젝트를 만드는 방법을 알아보려면 SmartDesign 사용자 가이드를 참조하세요. 코어 인스턴스를 구성하고 생성한 후, CoreFFT와 함께 제공된 테스트 벤치를 사용하여 기본 기능을 시뮬레이션할 수 있습니다. 테스트 벤치 매개변수는 CoreFFT 구성에 자동으로 조정됩니다. CoreFFT는 더 큰 디자인의 구성 요소로 인스턴스화할 수 있습니다.
중요: CoreFFT는 Libero 통합 설계 환경(IDE)과 Libero SoC와 모두 호환됩니다. 달리 명시되지 않는 한, 이 문서에서는 Libero라는 이름을 사용하여 Libero IDE와 Libero SoC를 모두 식별합니다. 그림 4-1. SmartDesign CoreFFT 인스턴스 View
핵심은 SmartDesign 내의 구성 그래픽 사용자 인터페이스(GUI)를 사용하여 구성할 수 있습니다.amp다음 그림은 SmartFusion2 제품군의 GUI를 보여줍니다.

© 2022 마이크로칩 테크놀로지(주)
및 그 자회사

사용자 가이드

DS50003348C-페이지 23

그림 4-2. SmartDesign에서 CoreFFT 구성

코어FFT v8.0
도구 흐름

4.3 시뮬레이션 흐름
CoreFFT용 사용자 테스트벤치가 릴리스에 포함되어 있습니다. 이를 위해 다음 단계를 수행합니다. 1. 사용자 테스트벤치를 실행하려면 Libero SoC 설계 계층 창에서 Design Root를 CoreFFT 인스턴스화로 설정합니다. 2. Libero SoC Design Flow 창에서 Verify Pre-Synthesized Design 아래에서 Simulate를 마우스 오른쪽 버튼으로 클릭한 다음 Open Interactively를 선택합니다. 그러면 ModelSim이 호출되고 자동으로 시뮬레이션이 실행됩니다.
중요: 코어의 VHDL 버전을 시뮬레이션할 때 IEEE.NUMERIC_STD 라이브러리 경고를 제거하고 싶을 수 있습니다. 이를 위해 다음 두 줄을 자동으로 생성된 run.do에 추가합니다. file:
· 숫자 표준 경고 없음 -1 설정 · 표준 Arith 경고 없음 -1 설정

4.3.1 4.3.1.1

CoreFFT를 검증하고 테스트하는 데 사용되는 통합 테스트벤치를 사용자 테스트벤치라고 합니다.
사용자 테스트벤치 다음 그림은 테스트벤치의 블록 다이어그램을 보여줍니다. 다음 방정식은 골든 행동 FFT가 다음에 표시된 유한 정밀도 계산을 구현하는 방식을 보여줍니다.
x(k) = n= 0N-1X(n)e?jnk2?/N

서론의 방정식 1 또는 방정식 2에서 골든 FFT와 CoreFFT는 모두 동일하게 구성되고 동일한 테스트 신호를 수신합니다. 테스트벤치는 골든 모듈과 실제 CoreFFT의 출력 신호를 비교합니다.

© 2022 마이크로칩 테크놀로지(주)
및 그 자회사

사용자 가이드

DS50003348C-페이지 24

그림 4-3. CoreFFT 사용자 테스트벤치

코어FFT v8.0
도구 흐름

테스트벤치는 다음을 제공합니다.amp생성된 FFT 모듈을 사용하는 방법에 대한 설명입니다. 테스트벤치는 요구 사항에 따라 수정할 수 있습니다.
4.4 설계 제약 사항
코어 타이밍은 예외(즉, 거짓 경로 및 다중 사이클 경로)가 클록 경계 사이에 사용되어야 합니다. 추가해야 할 필수 제약 조건에 대한 참조는 경로에서 CoreFFT.sdc를 참조하세요. /구성요소/Actel/DirectCores/CoreFFT/ /제약 조건/ CoreFFT.sdc.
4.5 Libero SoC에서의 합성
선택한 구성의 합성을 실행하려면 다음 단계를 수행합니다. 1. 구성 GUI에서 설계 루트를 적절히 설정합니다. 2. 설계 구현에서 설계 흐름 탭에서 합성을 마우스 오른쪽 버튼으로 클릭하고 실행을 선택합니다.
4.6 Libero SoC의 Place-and-Route
설계 루트를 적절히 설정하고 Synthesis를 실행한 후, 설계 흐름 탭의 설계 구현에서 배치 및 경로를 마우스 오른쪽 버튼으로 클릭하고 실행을 클릭합니다.

© 2022 마이크로칩 테크놀로지(주)
및 그 자회사

사용자 가이드

DS50003348C-페이지 25

코어FFT v8.0
시스템 통합
5. 시스템 통합
이 섹션에서는 예를 제공합니다.ampCoreFFT의 통합을 보여주는 파일입니다.
5.1 인플레이스 FFT
다음 그림은 예를 보여줍니다amp코어를 사용하는 경우. 인플레이스 FFT가 BUF_READY 신호를 주장하면 데이터 소스가 데이터 s를 공급하기 시작합니다.amp변환할 les. 입력 데이터의 허수 및 실수 반쪽 sample는 동시에 제공되어야 하며 유효성 비트-DATAI_VALID와 함께 제공되어야 합니다. 데이터 소스는 s를 제공할 수 있습니다.ample는 모든 클록 사이클 또는 임의의 더 느린 속도로(그림 3-1 참조) FFT 모듈이 N개의 입력 s를 수신한 후amples, BUF_READY 신호를 낮춥니다. 그림 5-1. 예ampIn-Place FFT 시스템의 le

FFT 엔진은 데이터가 준비되면 자동으로 데이터 처리를 시작합니다. 최소 메모리 구성에서 처리 단계는 데이터 로딩이 완료된 직후에 시작됩니다. 버퍼링된 구성에서 FFT 엔진은 이전 데이터 버스트가 처리될 때까지 기다릴 수 있습니다. 그런 다음 엔진이 자동으로 시작됩니다.
5.2 스트리밍 FFT
코어는 모든 클록 사이클에서 들어오는 데이터에 대해 전방 FFT를 수행합니다. 데이터 소스는 데이터 수신기가 FFT된 결과를 지속적으로 수신하고 필요한 경우 오버플로 플래그를 모니터링하는 동안 데이터를 계속 공급합니다. 데이터 프레임 처리가 필요한 경우 선택적 입력 START 신호와 출력 RFS 신호를 사용할 수 있습니다. 데이터 소스는 START 신호를 생성하여 다른 프레임의 시작을 표시하고 데이터 수신기는 RFS 신호를 사용하여 출력 프레임의 시작을 표시합니다. 스트리밍 CoreFFT는 다음 그림과 같이 무한한 복잡한 데이터 스트림을 처리할 수 있습니다.

© 2022 마이크로칩 테크놀로지(주)
및 그 자회사

사용자 가이드

DS50003348C-페이지 26

그림 5-2. 전amp스트리밍 FFT 시스템의 le

코어FFT v8.0
시스템 통합

© 2022 마이크로칩 테크놀로지(주)
및 그 자회사

사용자 가이드

DS50003348C-페이지 27

코어FFT v8.0
부록 A: 인플레이스 FFT 장치 활용…

6. 부록 A: 인플레이스 FFT 장치 활용 및 성능
표 6-1과 표 6-2는 다양한 인플레이스 FFT 크기와 데이터 폭에 대한 활용도와 성능을 보여줍니다. 숫자는 표 6-3에 나열된 구성에서 얻었습니다.
표 6-1. In-Place FFT SmartFusion2 M2S050 장치 활용 및 성능(최소 메모리 구성)

핵심 매개 변수

패브릭 리소스 사용

블록

성능

포인트 256

폭 18

DFF 1227

4 루트 1245

총 2472개

LSRAM MACC

3

4

클록 속도
328

FFT 시간(초)
3.3

512

18

1262

1521

2783

3

4

321

7.4

1024

18

1299

2029

3328

3

4

310

16.8

4096

18

1685

4190

5875

12

4

288

85.7

표 6-2. In-Place FFT SmartFusion2 M2S050 장치 활용 및 성능(버퍼링된 구성)

핵심 매개 변수

포인트 폭

256

18

512

18

1024

18

4096

18

패브릭 리소스 사용

디에프에프

4루트

1487

1558

3045

1527

1820

3347

1579

2346

3925

2418

4955

7372

블록 LSRAM 7 7 7 28

맥 4 4 4 4

성능

클록 속도 FFT 시간(초)

328

3.3

321

7.4

310

16.8

281

87.8

팁: · 표 6-1 및 표 6-2의 데이터는 일반적인 합성 설정을 사용하여 얻었습니다. Synplify 주파수(MHz)는 500으로 설정되었습니다.
· 활용 수치는 Libero v12.4를 사용하여 얻은 것이며 최신 개정판에서는 잠재적으로 면적 및 성능이 향상될 수 있습니다.
· 합성 설정에서 ROM 구성 요소는 논리에 매핑되고 RAM 최적화는 고속으로 매핑됩니다.
· 레이아웃 설정은 다음과 같습니다.
디자이너 블록 생성이 활성화됨
고효율 레이아웃 활성화
· 표시된 FFT 시간은 변환 시간만 반영합니다. 데이터 다운로드 또는 결과 업로드 시간은 고려하지 않습니다.

표 6-3. In-Place FFT PolarFire MPF300 장치 활용 및 성능(최소 메모리 구성)

핵심 매개 변수

패브릭 리소스 사용

최대 시계

포인트 폭 uRAM 깊이 4 LUT DFF uRAM LSRAM MACC 주파수

64

18

512

939 1189 9

0

4

415

변환 시간(uS)
0.6

128

18

512

1087 1254 9

0

4

415

1.2

256

18

512

1501 1470 18 0

4

415

2.6

© 2022 마이크로칩 테크놀로지(주)
및 그 자회사

사용자 가이드

DS50003348C-페이지 28

코어FFT v8.0
부록 A: 인플레이스 FFT 장치 활용…

………..계속되는

핵심 매개 변수

패브릭 리소스 사용

최대 시계

포인트 폭 uRAM 깊이 4 LUT DFF uRAM LSRAM MACC 주파수

512

18

0

1519 1275 0

3

4

386

512

25

0

2494 2841 0

6

16

364

1024 25

0

3088 2859 0

6

16

369

4096 18

0

4161 1679 0

12

4

352

4096 25

0

6426 3237 0

15

16

339

16384 18

0

9667 3234 0

54

4

296

16384 25

0

17285 5483 0

75

16

325

변환 시간(uS)
6.2 6.7 14.3 70.1 73 387 353.5

표 6-4. In-Place FFT PolarFire MPF300 장치 활용 및 성능(버퍼링된 구성)

핵심 매개 변수

패브릭 리소스 사용

최대 시계

포인트 폭 uRAM 깊이 4 LUT DFF uRAM LSRAM MACC 주파수

변환 시간(uS)

64

18

512

1294 1543 21 0

4

351

0.7

256

18

512

2099 2050 42 0

4

351

3.1

512

18

512

2858 2858 84 0

4

351

6.8

1024 18

512

4962 4488 168 0

4

278

18.7

16384 18

0

12346 6219 0

126

4

335

342

팁: · 표 6-3 및 표 6-4의 데이터는 일반적인 Libero SoC 도구 ​​설정을 사용하여 얻었습니다. 타이밍 제약 조건은 400MHz로 설정되었습니다.
· 활용 수치는 Libero v12.4를 사용하여 얻은 것이며 최신 개정판에서는 잠재적으로 면적 및 성능이 향상될 수 있습니다.
· 합성 설정에서 ROM 구성 요소는 논리에 매핑되고 RAM 최적화는 고속으로 매핑됩니다.
· 장소 및 경로는 타이밍 중심의 고효율 레이아웃으로 설정되었습니다.
· FFT 시간은 변환 시간만 반영합니다. 데이터 다운로드 또는 결과 업로드 시간은 고려하지 않습니다.

중요: PolarFire SoC 제품군에 대한 FPGA 리소스 및 성능 데이터는 PolarFire 제품군과 유사합니다.

표 6-5. 인플레이스 FFT 활용 및 성능 구성 매개변수 INVERSE SCALE SCALE_EXP_ON HDL 유형

값 0 0 0 Verilog

© 2022 마이크로칩 테크놀로지(주)
및 그 자회사

사용자 가이드

DS50003348C-페이지 29

코어FFT v8.0
부록 B: 스트리밍 FFT 장치 활용…

7. 부록 B: 스트리밍 FFT 장치 활용 및 성능
다음 표에는 다양한 스트리밍 FFT 구성에 대한 활용도와 성능이 나열되어 있습니다.
표 7-1. 스트리밍 FFT SmartFusion2 M2S050T 속도 등급 -1

핵심 매개 변수

리소스 사용

블록

클록 속도

FFT_SIZE DATA_BITS TWID_BITS 순서 DFF 4LUT 전체 LSRAM uRAM MACC

16

18

18

역방향 2198 1886 4084 0

11

8

241

16

18

18

보통 1963 1600 3563 0

5

8

241

32

18

18

역방향 3268 2739 6007 0

16

16

225

64

18

18

역방향 3867 3355 7222 0

19

16

217

128

18

18

역방향 4892 4355 9247 5

16

24

216

256

18

18

역방향 5510 5302 10812 7

16

24

229

256

18

18

보통 5330 5067 10406 3

16

24

229

256

24

25

역방향 8642 7558 16200 8

21

48

223

512

18

18

역방향 6634 6861 13495 10

16

32

228

512

18

24

역방향 9302 8862 18164 12

18

64

228

1024

24

24

역방향 10847 11748 22595 17

18

64

225

1024

24

25

역방향 11643 12425 24068 19

22

64

221

팁: · uRAM 최대 깊이는 64로 설정되었습니다.
· 활용 수치는 Libero v12.4를 사용하여 얻은 것이며, 최신 개정판에서는 잠재적으로 면적 및 성능이 향상될 수 있습니다.
· 합성 설정에서 ROM 구성 요소는 논리에 매핑되고 RAM 최적화는 고속으로 매핑됩니다. Synplify 주파수는 500으로 설정되었습니다.
· 레이아웃 고효율 모드가 설정되었습니다.

표 7-2. 스트리밍 FFT PolarFire MPF300 속도 등급 -1

핵심 매개 변수
FFT_SIZE DATA_BIT TWID_BITS SCALE uRAM 순서 깊이

리소스 사용

시계

4LUT DFF uRAM LSRAM MACC 속도

16

16

18

On

256 역방향 1306 1593 6

0

4

319

16

16

18

On

256 정상 1421 1700 12 0

4

319

32

16

18

On

256 역방향 1967 2268 18 0

8

319

64

16

18

On

256 역방향 2459 2692 15 0

8

319

128

20

18

On

256 정상 4633 4911 44 0

24

310

256

22

18

끄다

256 정상 6596 6922 94 0

24

307

256

24

25

512

18

18

On

0

On

0

역방향 8124 8064 0

14

48

304

역방향 6686 5691 0

9

32

293

© 2022 마이크로칩 테크놀로지(주)
및 그 자회사

사용자 가이드

DS50003348C-페이지 30

코어FFT v8.0
부록 B: 스트리밍 FFT 장치 활용…

………..계속 핵심 매개변수
FFT_SIZE DATA_BIT TWID_BITS SCALE uRAM 순서 깊이

리소스 사용

시계

4LUT DFF uRAM LSRAM MACC 속도

1024

24

25

On

0

역방향 13974 10569 0

21

64

304

1024

18

18

On

0

정상 14289 10816 0

27

64

307

2048

18

18

On

0

정상 12852 7640 0

24

40

304

2048

18

18

On

0

역방향 12469 7319 0

16

40

315

4096

24

25

On

0

정상 29977 14288 0

59

80

305

4096

28

28

On

512 정상 34448 17097 120 48

80

301

팁: · 이전 표의 데이터는 일반적인 Libero SoC 도구 ​​설정을 사용하여 얻었습니다. 타이밍 제약 조건은 400MHz로 설정되었습니다.
· 스트리밍 아키텍처의 장치 활용 수치는 AXI4S 인터페이스와 네이티브 인터페이스 모두에서 거의 동일합니다.
· 활용 수치는 Libero v12.4를 사용하여 얻은 것이며, 최신 개정판에서는 잠재적으로 면적 및 성능이 향상될 수 있습니다.
· 합성 설정에서 ROM 구성 요소는 논리에 매핑되고 RAM 최적화는 고속으로 매핑됩니다.
· 타이밍 중심의 고효율 레이아웃을 위해 장소 및 경로가 설정되었습니다.
· PolarFire SoC 제품군의 FPGA 리소스 및 성능 데이터는 PolarFire 제품군과 유사합니다.

© 2022 마이크로칩 테크놀로지(주)
및 그 자회사

사용자 가이드

DS50003348C-페이지 31

코어FFT v8.0
개정 내역

8. 개정 내역
개정 내역은 문서에서 구현된 변경 사항을 설명합니다. 변경 사항은 최신 출판물부터 시작하여 개정별로 나열됩니다.
표 8-1. 개정 내역

개정 날짜 설명

C

08/2022 문서의 개정판 C에서 표 6-1, 표 6-2, 표 6-3, 표 6-4, 표 7-1을 업데이트했습니다.

및 표 7-2.

B

07년 2022월 다음은 문서 개정 B의 변경 사항 목록입니다.

· 업데이트: 2 포트의 표 2-2.1.2.

· 업데이트: 2 포트의 표 4-2.2.2.

· 업데이트: 4.4. 설계 제약 사항.

· 제거됨: “타이밍 제약 조건 구성” 섹션.

A

07년 2022월 다음은 문서 개정 A의 변경 사항 목록입니다.

· 문서가 마이크로칩 템플릿으로 마이그레이션되었습니다.

· 문서 번호가 50003348에서 DS50200267A로 업데이트되었습니다.

· 다음 섹션이 업데이트되었습니다.

특징의 표 1.

장치 활용 및 성능.

1의 표 2-1.4.4.2. 비스케일 모드 입력 비트 폭 제한.

1의 그림 7-1.4.4.3. 규모 일정 입력.

1의 표 3-1.4.4.3. 규모 일정 입력.

2 구성 매개변수의 표 3-2.2.1.

2 포트의 표 4-2.2.2.

2 포트의 표 2-2.1.2.

4의 그림 2-4.2. SmartDesign에서 CoreFFT 구성.

· 다음 섹션이 추가되었습니다. 1.4.3. 스트리밍 FFT 출력 데이터 단어 순서. 2.2.3. AXI4 스트리밍 인터페이스에 대한 입력/출력 데이터 프레임 형식. 4.3. 시뮬레이션 흐름. 4.4. 설계 제약. 4.5. Libero SoC에서의 합성. 4.6. Libero SoC에서의 배치 및 경로.
· 다음 섹션이 제거되었습니다: “지원되는 버전.” “자연스러운 출력 순서.”

10

PolarFire® SoC 지원이 추가되었습니다.

9

“제품 지원”: 제거됨.

8

CoreFFT v7.0과 관련된 변경 사항을 업데이트했습니다.

7

CoreFFT v6.4과 관련된 변경 사항을 업데이트했습니다.

6

CoreFFT v6.3과 관련된 변경 사항을 업데이트했습니다.

5

지원 가족(SAR 47942)과 관련된 변경 사항이 업데이트되었습니다.

4

CoreFFT v6.1과 관련된 변경 사항을 업데이트했습니다.

© 2022 마이크로칩 테크놀로지(주)
및 그 자회사

사용자 가이드

DS50003348C-페이지 32

코어FFT v8.0
개정 내역

………..계속 개정 날짜

3

2

1

설명
다음은 문서의 revision 3.0에서 변경된 사항 목록입니다. · CoreFFT v6.0과 관련된 변경 사항을 업데이트했습니다. · 이 릴리스에서는 SmartFusion2 제품군(In-Place 아키텍처만 해당)에 대한 지원이 추가되었습니다.
다음은 문서의 개정판 2.0에서 변경된 사항 목록입니다. · CoreFFT v5.0과 관련된 변경 사항 업데이트. · 이 릴리스에서는 기존 In-place CoreFFT v4.0에 새로운 아키텍처를 추가합니다. · 새로운 아키텍처는 고속 데이터 스트림을 변환하는 Streaming Forward 및 Inverse FFT를 지원합니다.
최초 출시.

© 2022 마이크로칩 테크놀로지(주)
및 그 자회사

사용자 가이드

DS50003348C-페이지 33

코어FFT v8.0
마이크로칩 FPGA 지원
Microchip FPGA 제품 그룹은 고객 서비스, 고객 기술 지원 센터, web사이트 및 전세계 판매 사무소. 문의 사항이 이미 답변되었을 가능성이 높으므로 고객 지원팀에 문의하기 전에 Microchip 온라인 리소스를 방문하는 것이 좋습니다. 다음을 통해 기술 지원 센터에 문의하십시오. webwww.microchip.com/support 사이트. FPGA 장치 부품 번호를 언급하고 적절한 케이스 범주를 선택한 다음 디자인을 업로드하십시오. file기술 지원 사례를 만드는 동안. 제품 가격, 제품 업그레이드, 업데이트 정보, 주문 상태 및 승인과 같은 비기술적 제품 지원에 대해서는 고객 서비스에 문의하십시오.
· 북미 지역에서는 800.262.1060으로 전화하세요. · 기타 국가에서는 650.318.4460으로 전화하세요. · 팩스, 세계 어디에서나 650.318.8044로 연락하세요.
마이크로칩 정보
마이크로칩 Web대지
Microchip은 다음을 통해 온라인 지원을 제공합니다. webwww.microchip.com/ 사이트. 이것 web사이트는 만드는 데 사용됩니다 file고객이 쉽게 이용할 수 있는 s 및 정보. 이용 가능한 콘텐츠 중 일부는 다음과 같습니다.
· 제품 지원 데이터 시트 및 정오표, 애플리케이션 노트 및 sample 프로그램, 디자인 리소스, 사용자 가이드 및 하드웨어 지원 문서, 최신 소프트웨어 릴리스 및 보관된 소프트웨어
· 일반 기술 지원 자주 묻는 질문(FAQ), 기술 지원 요청, 온라인 토론 그룹, Microchip 설계 파트너 프로그램 회원 목록
· Microchip 비즈니스 제품 선택 및 주문 가이드, 최신 Microchip 보도 자료, 세미나 및 이벤트 목록, Microchip 영업 사무소, 유통업체 및 공장 대표 목록
상품 변경 알림 서비스
Microchip의 제품 변경 알림 서비스는 고객이 Microchip 제품에 대한 최신 정보를 얻을 수 있도록 도와줍니다. 구독자는 특정 제품군이나 관심 있는 개발 도구와 관련된 변경, 업데이트, 개정 또는 오류 사항이 있을 때마다 이메일 알림을 받게 됩니다. 등록하려면 www.microchip.com/pcn으로 이동하여 등록 지침을 따르세요.
고객 지원
Microchip 제품 사용자는 다음과 같은 다양한 채널을 통해 지원을 받을 수 있습니다. · 유통업체 또는 대리점 · 현지 영업 사무소 · 임베디드 솔루션 엔지니어(ESE) · 기술 지원
고객은 대리점, 담당자 또는 ESE에 지원을 요청해야 합니다. 지역 판매 사무소도 고객을 도울 수 있습니다. 판매 사무소 및 위치 목록이 이 문서에 포함되어 있습니다. 기술 지원은 다음을 통해 제공됩니다. web사이트: www.microchip.com/support
Microchip Devices 코드 보호 기능
Microchip 제품의 코드 보호 기능에 대한 자세한 내용은 다음과 같습니다.

© 2022 마이크로칩 테크놀로지(주)
및 그 자회사

사용자 가이드

DS50003348C-페이지 34

코어FFT v8.0
· Microchip 제품은 해당 Microchip 데이터 시트에 포함된 사양을 충족합니다. · Microchip은 해당 제품군이 작동 범위 내에서 의도된 방식으로 사용될 경우 안전하다고 믿습니다.
사양 및 정상 조건에서. · 마이크로칩은 지적 재산권을 중시하고 적극적으로 보호합니다. 규정 위반 시도
Microchip 제품의 보호 기능은 엄격히 금지되어 있으며 디지털 밀레니엄 저작권법을 위반할 수 있습니다. · Microchip이나 다른 반도체 제조업체는 코드의 보안을 보장할 수 없습니다. 코드 보호는 제품이 "깨지지 않는다"는 것을 보장한다는 것을 의미하지 않습니다. 코드 보호는 끊임없이 진화하고 있습니다. Microchip은 제품의 코드 보호 기능을 지속적으로 개선하기 위해 최선을 다하고 있습니다.
법적 고지
이 간행물과 여기에 있는 정보는 Microchip 제품을 설계, 테스트 및 귀하의 애플리케이션과 통합하는 것을 포함하여 Microchip 제품에만 사용할 수 있습니다. 이 정보를 다른 방식으로 사용하는 것은 이 약관을 위반하는 것입니다. 장치 응용 프로그램에 대한 정보는 귀하의 편의를 위해서만 제공되며 업데이트로 대체될 수 있습니다. 애플리케이션이 사양을 충족하는지 확인하는 것은 귀하의 책임입니다. 추가 지원을 받으려면 현지 Microchip 영업소에 문의하거나 www.microchip.com/en-us/support/design-help/client-support-services에서 추가 지원을 받으십시오.
이 정보는 MICROCHIP에서 "있는 그대로" 제공합니다. MICROCHIP은 비침해, 상품성 및 특정 목적에의 적합성에 대한 묵시적 보증을 포함하되 이에 국한되지 않는 정보와 관련하여 명시적이든 묵시적이든, 서면이든 구두이든, 법률적이든 기타이든 어떠한 종류의 진술이나 보증도 하지 않습니다. 또는 그 상태, 품질 또는 성능과 관련된 보증도 하지 않습니다.
어떠한 경우에도 MICROCHIP은 정보 또는 그 사용과 관련된 간접적, 특수적, 징벌적, 우발적 또는 결과적 손실, 피해, 비용 또는 경비에 대해 어떠한 원인으로 발생하든, MICROCHIP이 가능성을 통보받았거나 피해가 예측 가능한 경우에도 책임을 지지 않습니다. 법률에서 허용하는 최대 범위 내에서 정보 또는 그 사용과 관련된 모든 청구에 대한 MICROCHIP의 총 책임은 귀하가 정보에 대해 MICROCHIP에 직접 지불한 수수료 금액을 초과하지 않습니다(있는 경우).
생명 유지 및/또는 안전 애플리케이션에서 Microchip 장치를 사용하는 것은 전적으로 구매자의 위험이며, 구매자는 그러한 사용으로 인해 발생하는 모든 손해, 청구, 소송 또는 비용으로부터 Microchip을 방어, 보상하고 무해하게 보호하는 데 동의합니다. 달리 명시되지 않는 한, Microchip 지적 재산권에 따라 묵시적 또는 기타 방식으로 라이선스가 양도되지 않습니다.
상표
Microchip 이름 및 로고, Microchip 로고, Adaptec, AVR, AVR 로고, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, LinkMD, maXStylus, maXTouch, MediaLB, megaAVR, Microsemi, Microsemi 로고, MOST, MOST 로고, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, PIC32 로고, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST 로고, SuperFlash, Symmetricom , SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron 및 XMEGA는 미국 및 기타 국가에서 Microchip Technology Incorporated의 등록 상표입니다.
AgileSwitch, APT, ClockWorks, The Embedded Control Solutions Company, EtherSynch, Flashtec, Hyper Speed ​​Control, HyperLight Load, Libero, motorBench, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC Plus, ProASIC Plus 로고, Quiet-Wire, SmartFusion, SyncWorld, Temux, TimeCesium, TimeHub, TimePictra, TimeProvider, TrueTime 및 ZL은 미국에서 Microchip Technology Incorporated의 등록 상표입니다.
인접 키 억제, AKS, Analog-for-the-Digital Age, Any Capacitor, AnyIn, AnyOut, Augmented Switching, BlueSky, BodyCom, Clockstudio, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoController, dsPICDEM, dsPICDEM.net, 동적 평균 매칭 , DAM, ECAN, Espresso T1S, EtherGREEN, GridTime, IdealBridge, 인서킷 직렬 프로그래밍, ICSP, INICnet, 지능형 병렬화, IntelliMOS, 칩 간 연결, JitterBlocker, Knob-on-Display, KoD, maxCrypto, maxView, memBrain, Mindi, MiWi, MPASM, MPF, MPLAB 인증 로고, MPLIB, MPLINK, MultiTRAK, NetDetach, Omniscient 코드 생성, PICDEM, PICDEM.net, PICkit, PICtail, PowerSmart, PureSilicon, QMatrix, REAL ICE, Ripple Blocker, RTAX , RTG4, SAM-

© 2022 마이크로칩 테크놀로지(주)
및 그 자회사

사용자 가이드

DS50003348C-페이지 35

코어FFT v8.0
ICE, 직렬 쿼드 I/O, simpleMAP, SimpliPHY, SmartBuffer, SmartHLS, SMART-IS, storClad, SQI, SuperSwitcher, SuperSwitcher II, Switchtec, SynchroPHY, 총 내구성, 신뢰할 수 있는 시간, TSHARC, USBCheck, VariSense, VectorBlox, VeriPHY, ViewSpan, WiperLock, XpressConnect 및 ZENA는 미국 및 기타 국가에서 Microchip Technology Incorporated의 상표입니다. SQTP는 미국에서 Microchip Technology Incorporated의 서비스 마크입니다. Adaptec 로고, Frequency on Demand, Silicon Storage Technology 및 Symmcom은 기타 국가에서 Microchip Technology Inc.의 등록 상표입니다. GestIC는 다른 국가에서 Microchip Technology Inc.의 자회사인 Microchip Technology Germany II GmbH & Co. KG의 등록 상표입니다. 여기에 언급된 다른 모든 상표는 해당 회사의 자산입니다. © 2022, Microchip Technology Incorporated 및 그 자회사. 판권 소유. ISBN: 978-1-6683-1058-8
품질 경영 시스템
Microchip의 품질 관리 시스템에 대한 정보는 www.microchip.com/quality를 방문하십시오.

© 2022 마이크로칩 테크놀로지(주)
및 그 자회사

사용자 가이드

DS50003348C-페이지 36

아메리카
회사 사무실 2355 West Chandler Blvd. Chandler, AZ 85224-6199 전화: 480-792-7200 팩스: 480-792-7277 기술 지원: www.microchip.com/support Web 주소: www.microchip.com Atlanta Duluth, GA 전화: 678-957-9614 팩스: 678-957-1455 텍사스 주 오스틴 전화: 512-257-3370 매사추세츠주 보스턴 웨스트보로 전화: 774-760-0087 팩스: 774-760-0088 일리노이주 시카고 이타스카 전화: 630-285-0071 팩스: 630-285-0075 텍사스주 댈러스 애디슨 전화: 972-818-7423 팩스: 972-818-2924 미시간주 디트로이트 노비 전화: 248-848-4000 휴스턴, 텍사스 전화: 281-894-5983 인디애나폴리스 노블스빌, 인디애나 전화: 317-773-8323 팩스: 317-773-5453 전화: 317-536-2380 로스앤젤레스 미션 비에호, 캘리포니아주 전화: 949-462-9523 팩스: 949-462-9608 전화: 951-273-7800 노스캐롤라이나주 롤리 전화: 919-844-7510 뉴욕주 뉴욕 전화: 631-435-6000 캘리포니아 주 산호세 전화: 408-735-9110 전화: 408-436-4270 캐나다 – 토론토 전화: 905-695-1980 팩스: 905-695-2078

전세계 판매 및 서비스

아시아/태평양
호주 - 시드니 전화: 61-2-9868-6733 중국 - 베이징 전화: 86-10-8569-7000 중국 - 청두 전화: 86-28-8665-5511 중국 - 충칭 전화: 86-23-8980-9588 중국 - 동관 전화: 86-769-8702-9880 중국 – 광저우 전화: 86-20-8755-8029 중국 – 항저우 전화: 86-571-8792-8115 중국 – 홍콩 SAR 전화: 852-2943-5100 중국 – 난징 전화 : 86-25-8473-2460 중국 – 칭다오 전화: 86-532-8502-7355 중국 – 상하이 전화: 86-21-3326-8000 중국 – 선양 전화: 86-24-2334-2829 중국 – 선전 전화: 86 -755-8864-2200 중국 – 쑤저우 전화: 86-186-6233-1526 중국 – 우한 전화: 86-27-5980-5300 중국 – 시안 전화: 86-29-8833-7252 중국 – 샤먼 전화: 86-592 -2388138 중국 – 주하이 Tel: 86-756-3210040

아시아/태평양
인도 - 방갈로르 전화: 91-80-3090-4444 인도 - 뉴델리 전화: 91-11-4160-8631 인도 - 푸네 전화: 91-20-4121-0141 일본 - 오사카 전화: 81-6-6152-7160 일본 – 도쿄 전화: 81-3-6880-3770 한국 – 대구 전화: 82-53-744-4301 한국 – 서울 전화: 82-2-554-7200 말레이시아 – 쿠알라룸푸르 전화: 60-3-7651-7906 말레이시아 – 페낭 전화: 60-4-227-8870 필리핀 – 마닐라 전화: 63-2-634-9065 싱가포르 전화: 65-6334-8870 대만 – 신주 전화: 886-3-577-8366 대만 – 가오슝 전화: 886- 7-213-7830 대만 – 타이베이 전화: 886-2-2508-8600 태국 – 방콕 전화: 66-2-694-1351 베트남 – 호치민 전화: 84-28-5448-2100

유럽
오스트리아 – Wels 전화: 43-7242-2244-39 팩스: 43-7242-2244-393 덴마크 – 코펜하겐 전화: 45-4485-5910 팩스: 45-4485-2829 핀란드 – Espoo 전화: 358-9-4520-820 프랑스 – 파리 전화: 33-1-69-53-63-20 팩스: 33-1-69-30-90-79 독일 – Garching 전화: 49-8931-9700 독일 – Haan 전화: 49-2129-3766400 독일 – 하일브론 전화: 49-7131-72400 독일 – 카를스루에 전화: 49-721-625370 독일 – 뮌헨 전화: 49-89-627-144-0 팩스: 49-89-627-144-44 독일 – 로젠하임 전화: 49 -8031-354-560 이스라엘 – Ra'anana Tel: 972-9-744-7705 이탈리아 – 밀라노 Tel: 39-0331-742611 팩스: 39-0331-466781 이탈리아 – Padova Tel: 39-049-7625286 네덜란드 – Drunen 전화: 31-416-690399 팩스: 31-416-690340 노르웨이 – 트론헤임 전화: 47-72884388 폴란드 – 바르샤바 전화: 48-22-3325737 루마니아 – 부쿠레슈티 전화: 40-21-407-87-50 스페인 – 마드리드 전화 : 34-91-708-08-90 팩스: 34-91-708-08-91 스웨덴 – 예테보리 Tel: 46-31-704-60-40 스웨덴 – 스톡홀름 Tel: 46-8-5090-4654 영국 – Wokingham 전화: 44-118-921-5800 팩스: 44-118-921-5820

© 2022 마이크로칩 테크놀로지(주)
및 그 자회사

사용자 가이드

DS50003348C-페이지 37

문서 / 리소스

MICROCHIP v8.0 CoreFFT 푸리에 변환 [PDF 파일] 사용자 가이드
v8.0 CoreFFT 푸리에 변환, v8.0 CoreFFT, 푸리에 변환, 변환

참고문헌

댓글을 남겨주세요

이메일 주소는 공개되지 않습니다. 필수 항목은 표시되어 있습니다. *