이 설계 예는 FIR(유한 임펄스 응답) 컴파일러 IP MegaCore 기능을 사용할 때 파일에서 계수를 재장전하는 방법을 보여줍니다. FIR 컴파일러는 런타임에 계수를 변경할 수 있는 유연성을 제공합니다. FIR 컴파일러가 하나의 계수 집합으로 데이터를 처리하는 동안 코어 처리를 중단하지 않고 다른 세트를 다시 로드할 수 있습니다.
실리콘 효율성을 최적화하기 위해 계수는 자연 순서대로 저장되지 않습니다. 이 예에서는 미리 컴파일된 실행 파일 coef_seq.exe를 사용하여 계수를 재주문하는 단계를 설명합니다. 필터는 로우패스, 하이패스, 밴드 패스, 밴드 리젝트 필터의 네 가지 계수를 사용합니다. 처음 두 매개변수는 IP 툴벤치에서 매개변수화되고, IP 툴벤치에서 매개변수화됩니다. 후자의 2는 런타임에 다시 로드해야 하며 사전에 재주문이 필요합니다. 제공된 테스트벤치는 타이밍 요구 사항을 충족하기 위해 계수를 재장전하기 위해 컨트롤을 설정하는 방법을 보여줍니다.
이 예에 사용된 파일을 다운로드하십시오.
이 설계의 사용은 인텔® 설계 예시 라이센스 계약의이용 약관에 따라 달라질 수 있습니다.
zip 다운로드 파일은 다음과 같습니다.
- fir91.v - FIR 컴파일러 래퍼 파일
- coef_reload_tb.v - Testbench 파일
- coef_reload_msim.tcl - ModelSim* 도구를 사용하여 기능 시뮬레이션을 실행하기 위한 Tcl 스크립트
- coef_seq.exe - 계수를 재주선하는 Windows 실행 가능
표 1. FIR 컴파일러 포트 목록
포트 이름 |
형식 |
설명 |
---|---|---|
Clk |
입력 |
클럭 신호 |
reset_n |
입력 |
동기 활성 낮은 재설정 신호 |
sink_data[15:0] |
입력 |
샘플 입력 데이터 |
coef_set |
입력 |
계산에 사용된 계수 집합 선택 |
sink_valid |
입력 |
입력 데이터가 유효한 경우 어설션됨 |
source_ready |
입력 |
데이터를 수락할 수 있는 경우 다운스트림 모듈에 의해 주장됨 |
sink_error[1:0] |
입력 |
싱크 측에서 Avalon®-ST 프로토콜 위반을 나타내는 오류 신호 |
coef_set_in |
입력 |
재장전할 계수 집합을 선택합니다. |
coef_we |
입력 |
액티브 하이 쓰기 지원 신호 |
coef_in[18:0] |
입력 |
계수를 재장전할 때 입력 계수 값 |
source_data[37:0] |
출력 |
필터 출력 |
sink_ready |
출력 |
데이터를 수락할 수 있을 때 FIR 필터에 의해 주장됨 |
source_valid |
출력 |
출력에 유효한 데이터가 있을 때 FIR 필터에 의해 주장됨 |
source_error[1:0] |
출력 |
소스 측면에서 Avalon®-ST 프로토콜 위반을 나타내는 오류 신호 |