이산 지연

입력값을 지정한 값만큼 지연합니다. 이 노드는 정수 및 고정 소수점 스칼라와 배열 값, 불리언 데이터 타입, 클러스터 및 클러스터의 배열을 지원합니다.

입력/출력

datatype_icon

D

지연할 데이터.

노트 D의 데이터 타입은 소스에 따라 변경되지 않습니다.
datatype_icon

n-1

값이 Q 출력에 도달하는 내부 레지스터의 인덱스. n-1의 값은 0과 n-1 사이가 될 수 있으며, 이 때 n아이템 탭의 최대 지연의 값입니다.

datatype_icon

초기값

이 노드가 사용하는 내부 레지스터의 초기값 셋팅.

datatype_icon

활성화

이 노드가 D로의 입력을 무시하는지 나타내는 불리언.

이 노드는 모든 값을 다음 내부 레지스터로 옮기고 D의 값을 첫번째 내부 레지스터로 가져옵니다.
거짓 이 노드는 D를 무시하고 기존의 값을 옮기지 않습니다. 이는 내부 레지스터가 이전 클럭 사이클에서 가졌던 값을 유지함을 뜻합니다.
이 입력을 사용하여 D의 유효한 값에서만 작업합니다. 예를 들어, 높은 처리량 수학 노드의 출력 유효 출력을 이 입력에 연결할 수 있습니다. 이 때 [이산 지연]은 들어오는 값이 유효할 때만 D의 값을 받아들입니다.

Default value: 참

datatype_icon

Q

D의 지연된 값. Qn-1 입력을 사용하여 지정한 레지스터 값을 반환합니다.

최대 지연

이 노드가 D를 지연하는데 사용할 최대 클럭 사이클을 지정합니다. 이렇게하면 이 노드가 사용하는 내부 레지스터 개수도 지정됩니다. 이 값은 16과 512를 포함하여 그 사이의 사이클이어야 합니다. n-1 입력을 사용하여 어떤 레지스터가 Q 출력에 도달할지 지정합니다.

Examples

최대 지연20 클럭 사이클로 설정하는 경우, 노드는 값을 저장하도록 20 레지스터를 생성합니다. D에 연결한 값은 연속적인 각 클럭 사이클 동안 레지스터 0으로부터 레지스터 19까지 이동합니다. 그러나 n-1을 사용하여 특정 내부 레지스터의 번호를 지정하는 경우, Q는 항상 마지막 레지스터의 값을 반환하는 대신 지정된 레지스터의 값을 반환합니다. 예를 들어 17 클럭 사이클이 경과한 경우, 첫번째 클럭 사이클 동안에 보낸 D의 값은 register 16에 있습니다. 18번째 클럭 사이클에서 n-1에 값 16을 연결하면, 노드는 이 값을 반환합니다. 값은 20 클럭 사이클이 아닌 17 클럭 사이클만큼 지연되었습니다.

이산지연과 피드백 노드 사이에서 선택하기

[이산 지연][피드백 노드]는 비슷하지만, 몇가지 중요한 차이점이 있습니다. 다음 테이블은 두 노드 사이에서 선택할 때의 권장사항을 보여줍니다.

피드백 노드 이산 지연 권장사항
설계 및 기능 목적
  • 출력 신호를 입력으로 피드백합니다.
  • 입력 신호를 클럭 사이클의 상수로 지연합니다.
입력 신호를 클럭 사이클의 상수 또는 변수로 지연하도록 설계되었습니다. 프로그램의 용도에 맞는 노드를 선택하여 사용하십시오.
초기화 옵션 다음과 같은 상황에서는 내부 레지스터를 사용자 정의 값으로 초기화합니다.
  • FPGA VI를 처음으로 호출할 때 또는 FPGA VI가 리셋할 때
  • FPGA VI가 컴파일되거나 로드할 때 또는 FPGA VI가 리셋할 때
  • FPGA VI가 리셋되는 것을 무시하고 FPGA VI가 컴파일되거나 로드할 때
  • FPGA VI를 처음으로 호출할 때 또는 FPGA VI가 리셋할 때 내부 레지스터를 0으로 리셋
  • FPGA VI가 리셋되는 것을 무시하고 FPGA VI가 컴파일되거나 로드할 때 내부 레지스터를 사용자 정의 값으로 초기화
[이산 지연]은 플립 플롭 대신 시프트 레지스터 룩업 테이블(SRL)을 사용하여 지연을 구현합니다. SRL은 여러 지연을 단일 룩업 테이블(LUT)로 병합하므로 플립 플롭에 비해 FPGA 리소스 사용을 상당히 감소시킬 수 있습니다.
초기값 정의 방법 다이어그램에서 초기값 입력에 값을 연결하여 초기값을 정의합니다. 초기값 입력을 사용하여 초기값을 정의합니다. 초기화 VI가 있거나 고정 크기 배열을 지연해야 하는 경우 [이산 지연]을 사용합니다.
동적 지연 지원 아니오 동적 지연이 필요한 경우 [이산 지연]을 사용합니다.
블록다이어그램에서 피드백 표현 지원 아니오 블록다이엉그램에서 피드백을 표현하려면 [피드백 노드]를 사용합니다.

노드가 지연을 구현하는 방법이 성능에 미치는 영향

이 노드는 플립 플롭 대신 시프트 레지스터 룩업 테이블(SRL)을 사용하여 지연을 구현합니다. SRL은 여러 지연을 단일 룩업 테이블(LUT)로 병합하므로 플립 플롭에 비해 FPGA 리소스 사용을 상당히 감소시킬 수 있습니다.

시뮬레이션의 성능에 미치는 영향

이 노드는 FPGA VI 다운로드, 정지 또는 실행 동작을 함께하는 경우, 시뮬레이션 실행 시간을 크게 증가시킬 수 있습니다.