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

VHDL에서 While 루프를 사용하는 방법

이전 자습서에서 For-Loop를 사용하여 정수 범위를 반복하는 방법을 배웠습니다. 그러나 고정된 정수 범위보다 루프를 더 자세히 제어하려면 어떻게 해야 할까요? 이를 위해 While 루프를 사용할 수 있습니다.

While 루프는 테스트하는 표현식이 true로 평가되는 한 계속해서 동봉된 코드를 반복합니다. . 따라서 While-Loop는 얼마나 많은 반복이 필요한지 미리 알 수 없는 상황에 적합합니다.

이 블로그 게시물은 기본 VHDL 자습서 시리즈의 일부입니다.

While 루프의 구문은 다음과 같습니다.

while <condition> loop
end loop;

<condition> 부울 true입니다. 또는 false . true로 평가되는 표현식일 수도 있습니다. 또는 false . 조건은 루프의 모든 반복 전에 평가되며 조건이 true인 경우에만 루프가 계속됩니다. .

true인 표현식의 예 i인 경우 10 미만:

i < 10

true인 표현식의 예 i인 경우 10이 아닙니다:

i /= 10

true인 표현식의 예 i인 경우 0보다 크거나 같고 2보다 작음 8 =256:

i >= 0 and i < 2**8;

관계 연산자:

= 같음
/= 같지 않음
< 미만
<= 작거나 같음
> 보다 큼
>= 크거나 같음

논리 연산자:

아니요 참이면 a 거짓입니다
a 그리고 참이면 a 그리고 b 사실입니다
a 또는 참이면 a 또는 b 사실입니다
a 참이면 a 또는 b 거짓입니다
a 아니요 참이면 a 그리고 b 거짓입니다
a xor a 중 정확히 하나인 경우 true 또는 b 사실입니다
a xnor 참이면 a 그리고 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;

ModelSim에서 실행 버튼을 눌렀을 때 시뮬레이터 콘솔에 대한 출력:

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만큼 참인 While-Loop 표현식을 사용했습니다. 10보다 작습니다. i을 증가시켰기 때문입니다. 각 반복에서 2씩 출력된 마지막 숫자는 8이었습니다.

다음 반복에서 i < 10 false로 평가됨 10은 10보다 작지 않기 때문입니다. 루프가 종료된 후 프로그램은 wait;를 쳤습니다. 무한히 멈춘 곳입니다.

테이크아웃

기본 VHDL 퀴즈 – 1부 »
또는
다음 튜토리얼로 이동 »


VHDL

  1. 몰리브덴은 어떻게 사용합니까?
  2. VHDL에서 문자열 목록을 만드는 방법
  3. VHDL 테스트벤치에서 시뮬레이션을 중지하는 방법
  4. VHDL에서 PWM 컨트롤러를 만드는 방법
  5. VHDL에서 난수를 생성하는 방법
  6. VHDL의 프로세스에서 프로시저를 사용하는 방법
  7. VHDL에서 불순 함수를 사용하는 방법
  8. VHDL에서 함수를 사용하는 방법
  9. VHDL에서 유한 상태 기계를 만드는 방법
  10. 커터 그라인더 사용 방법