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

VHDL While 루프 마스터하기: 동적 반복 제어

이전 for 루프 탐구에 이어, 이 튜토리얼은 while 루프를 다룹니다. while 루프는 미리 정해진 범위가 아닌 동적 조건에 따라 반복을 제어할 수 있는 강력한 구조입니다.

while 루프는 지정된 조건이 true로 유지되는 동안 본문을 반복 실행합니다. 이는 반복 횟수가 런타임 데이터나 복잡한 로직에 의존하는 시나리오에 이상적입니다.

이 게시물은 기본 VHDL 튜토리얼 시리즈의 일부입니다.

구문

while <조건> loop -- 루프 본문 end loop;

<조건>은 부울 값으로 평가되어야 합니다. 단순 비교나 더 복잡한 표현식일 수 있습니다. 조건은 각 패스 전에 체크되어 true로 유지될 때만 루프가 계속됩니다.

조건 예시

관계 연산자

=같음
/=같지 않음
<작음
<=작거나 같음
>큼
>=크거나 같음

논리 연산자

not aa가 거짓이면 참
a and ba와 b가 모두 참이면 참
a or ba 또는 b가 참이면 참
a nand ba 또는 b가 거짓이면 참
a nor ba와 b가 모두 거짓이면 참
a xor ba와 b 중 정확히 하나만 참이면 참
a xnor ba와 b가 같으면 참

실습

아래 비디오 튜토리얼을 시청하여 변수가 while 루프를 구동하는 실제 모습을 확인하세요:

샘플 코드

entity T05_WhileLoopTb is end entity;
architecture sim of T05_WhileLoopTb is
begin
  process is
    variable i : integer := 0;
  begin
    while i < 10 loop
      report "i=" & integer'image(i);
      i := i + 2;
    end loop;
    wait;
  end process;
end architecture;

시뮬레이터 출력

VSIM 2> run
# ** Note: i=0
# Time: 0 ns Iteration: 0 Instance: /t05_whilelooptb
# ** Note: i=2
# Time: 0 ns Iteration: 0 Instance: /t05_whilelooptb
# ** Note: i=4
# Time: 0 ns Iteration: 0 Instance: /t05_whilelooptb
# ** Note: i=6
# Time: 0 ns Iteration: 0 Instance: /t05_whilelooptb
# ** Note: i=8
# Time: 0 ns Iteration: 0 Instance: /t05_whilelooptb

분석

i를 0으로 초기화하고 i < 10을 루프 가드로 사용했습니다. 루프가 i를 매 사이클마다 2씩 증가시키므로 마지막으로 출력되는 값은 8입니다. 다음 패스에서 조건은 거짓(10은 10보다 작지 않음)으로 평가되어 루프를 빠져나옵니다. 이후 wait;는 프로세스를 무한히 일시 중단하며, 이는 테스트벤치에서 일반적인 패턴입니다.

VHDL While 루프 마스터하기: 동적 반복 제어

핵심 요약

기본 VHDL 퀴즈 – 파트 1 풀기 또는 다음 튜토리얼로 계속

VHDL

  1. 몰리브덴이 현대 산업을 형성하는 방식: 용도, 이점, 공급 역학
  2. VHDL 문자열 리스트 구현: 모범 사례와 예제
  3. VHDL 테스트벤치 시뮬레이션 우아하게 종료하기
  4. VHDL PWM 컨트롤러 구현: 설계, 시뮬레이션, FPGA 데모
  5. VHDL 난수 생성: 균일 분포부터 OSVVM까지
  6. 프로세스 내 프로시저로 VHDL FSM 설계 깔끔하게 만들기
  7. VHDL 비순수 함수 활용: FSM 가독성과 유지보수성 높이기
  8. VHDL 함수 마스터하기: 효율적 설계를 위한 실전 가이드
  9. VHDL 유한 상태 머신 설계: 신호등 실전 예제
  10. 커터 그라인더(Cutter Grinder) 마스터하기: 실전 기술 가이드