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

VHDL std_logic 마스터하기: 상태, 리졀루션, 파형 분석

VHDL에서 std_logic 타입은 물리적 와이어 상의 단일 비트를 표현하는 초석입니다. 이전 튜토리얼에서 쓰인 단순한 integer 타입과 달리, std_logic은 실제 디지털 신호 동작을 더 정확하게 모델링하는 풍부한 값 집합을 제공합니다.

디지털 핀은 보통 로직 하이('1')나 로직 로우('0')를 나르지만, 물리적 신호는 하이 임피던스, 약한, 미정의 상태도 나타날 수 있습니다. std_logic 타입은 이 모든 가능성을 포착해 VHDL 설계에서 가장 빈번히 쓰이는 타입입니다.

이 글은 Basic VHDL Tutorials 시리즈의 일부입니다.

std_logic 시그널이 가질 수 있는 전체 값 목록:

'1'Logic 1
'0'Logic 0
'Z'High impedance
'W'약한 신호; 0 또는 1 불확정
'L'약한 0 (풀다운)
'H'약한 1 (풀업)
'-'Don't care
'U'Uninitialized
'X'Unknown (다중 드라이버)

대부분 튜토리얼에선 주 값 '1', '0'과 가끔 'U', 'X'로 설계 에러를 강조합니다. 나머지 상태는 I2C 같은 프로토콜 모델링이나 트라이스테이트 버스 생성 같은 고급 기능에 유용합니다.

여러 프로세스가 같은 std_logic 시그널을 드라이브하면 언어는 리졀루션 함수(resolution function)로 결과 값을 결정합니다. 이 메커니즘은 시뮬레이션에서 컴파일/런타임 에러를 방지하며, 아래 리졀루션 테이블로 정의됩니다.

U X 0 1 Z W L H -
U X X 1 1 1 1 1 X 1
U X 0 X 0 0 0 0 X 0
U U U U U U U U U U
U X X X X X X X X X
U X 0 1 Z W L H X Z
U X 0 1 W W W W X W
U X 0 1 L W L W X L
U X 0 1 H W W H X H
U X X X X X X X X -

실습

이 비디오 튜토리얼은 std_logic 시그널 선언과 파형 시뮬레이션 시각화를 시연합니다.

이 실습에서 생산된 최종 VHDL 코드:

library ieee; use ieee.std_logic_1164.all; entity T10_StdLogicTb is end entity; architecture sim of T10_StdLogicTb is signal Signal1 : std_logic := '0'; signal Signal2 : std_logic; signal Signal3 : std_logic; begin process is begin wait for 10 ns; Signal1 <= not Signal1; end process; -- Driver A process is begin Signal2 <= 'Z'; Signal3 <= '0'; wait; end process; -- Driver B process(Signal1) is begin if Signal1 = '0' then Signal2 <= 'Z'; Signal3 <= 'Z'; else Signal2 <= '1'; Signal3 <= '1'; end if; end process; end architecture; 

ModelSim 파형 창에서 run 후 타임라인 확대:

VHDL std_logic 마스터하기: 상태, 리졀루션, 파형 분석

반복 신호 주기의 다른 부분에 커서 둔 파형:

VHDL std_logic 마스터하기: 상태, 리졀루션, 파형 분석

분석

이 실습은 VHDL 리졀루션 함수의 동작을 보여줍니다. 텍스트 출력만 의존하지 않고 파형 검사로 여러 드라이버가 std_logic 시그널에서 어떻게 상호작용하는지 더 명확히 봅니다.

Signal1은 단일 프로세스가 토글하므로 '0'과 '1' 사이를 깔끔히 오갑니다. Driver A와 B가 모두 드라이브하는 시그널들은 앞선 테이블대로 리졀브됩니다.

SignalDriver ADriver BResult
Signal2'Z''Z''Z'
Signal2'Z''1''1'
Signal3'0''Z''0'
Signal3'0''1''X'

VHDL std_logic 마스터하기: 상태, 리졀루션, 파형 분석

핵심 정리

다음 튜토리얼로 이동 »

VHDL

  1. 3D 프린팅 워크플로 병목 Top 6 & 검증된 해결책
  2. 자동차 냉각 시스템 흔한 고장 & 진단법
  3. IoT 데이터 잠금 해제: 비즈니스 룰 관리가 기업 가치를 주도하는 방식
  4. VHDL에서 보호 타입과 액세스 포인터로 동적 링크드 리스트 구현하기
  5. 프로세스 내 프로시저로 VHDL FSM 설계 깔끔하게 만들기
  6. VHDL 비순수 함수 활용: FSM 가독성과 유지보수성 높이기
  7. VHDL 함수 마스터하기: 효율적 설계를 위한 실전 가이드
  8. 엔진 호이스트 안전 가이드: 작업장 모범 사례 총정리
  9. 크레인 사고 주요 원인 및 예방법
  10. 합금 A286의 핵심 산업 용도: 고강도 & 내식성