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

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

이전 자습서에서 loop을 사용하여 무한 루프를 만드는 방법을 배웠습니다. 성명. 또한 exit을 사용하여 루프에서 벗어나는 방법도 배웠습니다. 성명. 그러나 루프가 특정 횟수만큼 반복되도록 하려면 어떻게 해야 할까요? For-Loop는 이를 수행하는 가장 쉬운 방법입니다.

For-Loop를 사용하면 고정된 범위의 정수 또는 열거된 항목을 반복할 수 있습니다. 현재 반복에 속하는 항목은 암시적으로 선언된 상수를 통해 루프 내에서 사용할 수 있습니다.

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

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

for <c> in <r> loop
end loop;

<c> 루프 내부에서 사용할 수 있는 상수의 임의 이름입니다. <r> 루프가 반복할 정수 또는 열거된 값의 범위입니다. 정수 범위는 증가하거나 감소할 수 있습니다.

0에서 9까지의 모든 10개 숫자를 포함하는 증가하는 범위에 대한 VHDL 코드:

0 to 9

9에서 0까지 10개의 숫자를 모두 포함하는 감소하는 범위에 대한 VHDL 코드:

9 downto 0

숫자 0만 포함하는 범위에 대한 VHDL 코드:

0 to 0

숫자가 전혀 없는 빈 범위에 대한 VHDL 코드:

0 to -1

운동

이 튜토리얼에서 만든 최종 코드:

entity T04_ForLoopTb is
end entity;

architecture sim of T04_ForLoopTb is
begin

    process is
    begin

        for i in 1 to 10 loop
            report "i=" & integer'image(i);
        end loop;
        wait;
        
    end process;

end architecture;

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

VSIM 2> run
# ** Note: i=1
#    Time: 0 ns  Iteration: 0  Instance: /t04_forlooptb
# ** Note: i=2
#    Time: 0 ns  Iteration: 0  Instance: /t04_forlooptb
# ** Note: i=3
#    Time: 0 ns  Iteration: 0  Instance: /t04_forlooptb
# ** Note: i=4
#    Time: 0 ns  Iteration: 0  Instance: /t04_forlooptb
# ** Note: i=5
#    Time: 0 ns  Iteration: 0  Instance: /t04_forlooptb
# ** Note: i=6
#    Time: 0 ns  Iteration: 0  Instance: /t04_forlooptb
# ** Note: i=7
#    Time: 0 ns  Iteration: 0  Instance: /t04_forlooptb
# ** Note: i=8
#    Time: 0 ns  Iteration: 0  Instance: /t04_forlooptb
# ** Note: i=9
#    Time: 0 ns  Iteration: 0  Instance: /t04_forlooptb
# ** Note: i=10
#    Time: 0 ns  Iteration: 0  Instance: /t04_forlooptb

분석

전혀 예상치 못한 것은 아니지만 For-Loop는 종료되기 전에 10번 반복되었습니다. i의 값 시뮬레이션 시간 0에 시뮬레이터 콘솔에 10번 인쇄됩니다. 루프 내부에는 wait 문이 없으므로 루프를 완료하는 데 0시간이 걸립니다. 마지막으로 프로그램은 wait;에서 무한 일시 중지됩니다. .

integer'image()를 사용하여 정수를 문자열로 변환하는 방법을 배웠습니다. , 그리고 &을 사용했습니다. 두 문자열을 결합하는 문자입니다.

테이크아웃

다음 튜토리얼로 이동 »


VHDL

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