산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> VHDL

VHDL Loop와 Exit 구조 마스터하기: 실용 가이드

이전 튜토리얼에서는 wait for 문을 사용한 타이밍 지연과 프로세스 루프를 다뤘습니다. 이제 코드를 한 번 실행한 다음 특정 조건이 충족될 때까지 블록을 반복하는 핵심 VHDL 구조인 loop 문에 초점을 맞춥니다.

프로세스는 무한히 실행될 수 있지만, 종종 우아하게 빠져나올 수 있는 제어된 루프가 필요합니다. VHDL의 loop 문은 이러한 구조의 가장 단순한 형태이며, exit가 발생할 때만 종료됩니다.

단순 루프의 구문

loop -- 문장들 end loop;

각 exit는 자신이 속한 가장 안쪽 루프를 빠져나오며, 어떤 루프 유형에서든 나타날 수 있습니다.

실습

이 튜토리얼은 기본 루프를 구성하고 단일 반복 후 빠져나오는 방법을 보여줍니다.

예제 코드

entity T03_LoopTb is end entity;
architecture sim of T03_LoopTb is
begin
  process is
  begin
    report "Hello!";
    loop
      report "Peekaboo!";
      exit; -- 첫 반복 후 빠져나오기
    end loop;
    report "Goodbye!";
    wait; -- 프로세스를 무한히 일시 중단
  end process;
end architecture;

시뮬레이션 출력 (ModelSim)

VSIM 2> run
# ** Note: Hello!
# Time: 0 ns Iteration: 0 Instance: /t03_looptb
# ** Note: Peekaboo!
# Time: 0 ns Iteration: 0 Instance: /t03_looptb
# ** Note: Goodbye!
# Time: 0 ns Iteration: 0 Instance: /t03_looptb

콘솔은 모든 메시지가 0ns에 발생함을 보여주며, wait 외의 문장은 시뮬레이션 시간을 소비하지 않음을 확인시켜 줍니다. exit 문은 한 번 반복 후 루프를 멈추고, 프로세스는 최종 wait에 도달하여 유휴 상태가 됩니다.

분석

타임스탬프를 보면 정확한 실행 순서를 알 수 있습니다: report "Hello!" → report "Peekaboo!" → exit → report "Goodbye!". 이 예제는 복잡한 상태 머신에 의존하지 않고 loop와 exit로 흐름을 제어하는 방법을 보여줍니다.

핵심 요약

다음 튜토리얼로 이동 »

VHDL

  1. 프로세스 내 프로시저로 VHDL FSM 설계 깔끔하게 만들기
  2. VHDL 비순수 함수 활용: FSM 가독성과 유지보수성 높이기
  3. VHDL 함수 마스터하기: 효율적 설계를 위한 실전 가이드
  4. VHDL 프로시저 활용: 재사용 코드로 설계 단순화하기
  5. VHDL로 신뢰할 수 있는 타이머 만들기: 클록 사이클 세서 시간 측정하기
  6. VHDL 상수와 제네릭 맵으로 유연한 모듈 설계하기
  7. VHDL 포트 맵 인스턴스화 마스터하기: 실전 가이드
  8. 무료 VHDL 시뮬레이터 & 에디터 설정: 학생 가이드
  9. PIC18F452 마이크로컨트롤러 완벽 가이드: 특징, 핀아웃, 프로그래밍, 응용
  10. 레퍼런스 디그네이터 이해: PCB 어셈블리 연결 라벨링 방법