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

VHDL Wait-For 문으로 실행 지연 제어하기

이전 튜토리얼에서는 VHDL 프로세스를 프로그램 스레드에 비유하고 wait; 문을 소개했습니다. 이는 프로세스를 무한히 일시 중단합니다. 하지만 프로세스를 특정 시간 동안만 일시 중지해야 한다면 어떻게 할까요?

wait;를 완전히 제거하면 컴파일러 오류가 발생합니다. 모든 VHDL 프로세스는 최소 하나의 wait 문을 포함해야 하는 무한 루프이기 때문입니다. 루프는 begin과 end process; 사이에서 계속 실행됩니다.

이 기사는 기본 VHDL 튜토리얼 시리즈의 일부입니다.

wait;가 실행을 영원히 멈추는 반면, wait for 구조를 사용하면 원하는 시간 간격만큼 프로세스를 지연시킬 수 있습니다.

wait for의 구문은:

wait for <시간값> <시간단위>;

여기서 <시간값>은 숫자 리터럴이고 <시간단위>는 다음 중 하나일 수 있습니다:

fs펨토초
ps피코초
ns나노초
us마이크로초
ms밀리초
sec초
min분
hr시간

실습

튜토리얼 비디오를 시청하여 wait for가 사용자 정의 기간 동안 프로세스를 일시 중지하는 모습을 확인하세요.

우리가 구성한 예제 VHDL:

entity T02_WaitForTb is end entity;
architecture sim of T02_WaitForTb is
begin
  process is
  begin
    -- 프로세스 "스레드" 시작
    report "Peekaboo!";
    wait for 10 ns; -- 시작으로 루프 백
  end process;
end architecture;

ModelSim 실행 시 콘솔 출력:

VSIM 2> run
# ** Note: Peekaboo!
# Time: 0 ns Iteration: 0 Instance: /t02_waitfortb
# ** Note: Peekaboo!
# Time: 10 ns Iteration: 0 Instance: /t02_waitfortb
# ** Note: Peekaboo!
# Time: 20 ns Iteration: 0 Instance: /t02_waitfortb
...

분석

이 예제에서 10 ns 지연은 나노초 단위가 클럭 주기와 일치하는 MHz 주파수에서 동작하는 로직에 전형적입니다.

시뮬레이션 중 report 문과 루프 제어는 0시간을 소비하며, 오직 wait for 문만 시뮬레이션 시간을 전진시킵니다.

VHDL Wait-For 문으로 실행 지연 제어하기

핵심 요약

다음 튜토리얼로 진행 →


VHDL

  1. RC 및 RL 회로에서 목표 전압 도달 시간 계산
  2. VHDL 문자열 리스트 구현: 모범 사례와 예제
  3. Tcl 기반 VHDL 코드락 모듈 테스트벤치 만들기
  4. 프로세스 내 프로시저로 VHDL FSM 설계 깔끔하게 만들기
  5. 무료 VHDL 시뮬레이터 & 에디터 설정: 학생 가이드
  6. 유지보수 작업 계획에서 상세함과 효율성의 균형 잡기
  7. 크레인 브레이크 점검 시기: 핵심 지표와 필수 관리 포인트
  8. 로봇 용접 교육 시간 단축: 효율 극대화 전략
  9. 첫 자동차 보험 가입 완벽 가이드: 보장 이해부터 보험료 절약까지
  10. 금속 제조 아웃소싱을 위한 정확한 리드타임 추정