VHDL
항상 민감성 목록을 사용해야 합니다. 생산 모듈에서 프로세스를 트리거합니다. 민감도 목록은 프로세스가 민감한 모든 신호를 나열하는 프로세스에 대한 매개변수입니다. 신호가 변경되면 프로세스가 깨어나고 그 안의 코드가 실행됩니다.
우리는 이미 wait on
사용법을 배웠습니다. 및 wait until
신호가 변경될 때 프로세스를 깨우기 위한 명령문. 하지만 솔직히 말해서 대부분의 프로세스를 쓰는 방식은 아닙니다.
이 블로그 게시물은 기본 VHDL 자습서 시리즈의 일부입니다.
VHDL 코드를 작성할 때 작성 스타일은 코드가 시뮬레이터에서만 실행되는지 여부에 따라 다릅니다. 이 튜토리얼 시리즈에서 했던 것처럼 시뮬레이션 코드를 작성하는 경우 항상 wait
사용 프로세스를 제어하는 명령문. 물리적 구현을 만들려는 코드를 작성하는 경우 절대 wait
사용 진술.
민감도 목록이 있는 프로세스의 구문은 다음과 같습니다.process(<signal1>, <signal2>, ..) is
begin
<main logic here>
end process;
민감도 목록의 중요한 단점은 모든 프로세스 내에서 읽은 신호는 민감도 목록에 있어야 합니다. 그러나 시뮬레이터는 VHDL 언어에서 합법이기 때문에 민감도 목록에 신호를 추가하지 못한 경우 이를 알려주지 않습니다. 문제는 이렇게 하지 않으면 코드가 합성되어 실제 구현에서 사용될 때 다르게 동작한다는 것입니다.
VHDL-2008에서 키워드 all
모든 신호를 나열하는 대신 사용할 수 있습니다. 불행히도 대부분의 합성 소프트웨어는 이 최신 버전의 VHDL을 지원하지 않습니다.
이 비디오 자습서에서는 VHDL의 민감도 목록을 사용하여 프로세스를 만드는 방법을 배웁니다.
이 튜토리얼에서 만든 최종 코드:
entity T09_SensitivityListTb is end entity; architecture sim of T09_SensitivityListTb is signal CountUp : integer := 0; signal CountDown : integer := 10; begin process is begin CountUp <= CountUp + 1; CountDown <= CountDown - 1; wait for 10 ns; end process; -- Process triggered using Wait On process is begin if CountUp = CountDown then report "Process A: Jackpot!"; end if; wait on CountUp, CountDown; end process; -- Equivalent process using a sensitivity list process(CountUp, CountDown) is begin if CountUp = CountDown then report "Process B: Jackpot!"; end if; end process; end architecture;
ModelSim에서 실행 버튼을 눌렀을 때 시뮬레이터 콘솔에 대한 출력:
VSIM 2> run # ** Note: Process A: Jackpot # Time: 40 ns Iteration: 1 Instance: /t09_sensitivitylisttb # ** Note: Process B: Jackpot # Time: 40 ns Iteration: 1 Instance: /t09_sensitivitylisttb
출력물에서 두 프로세스가 비슷하게 동작함을 알 수 있습니다. 민감도 목록이 있는 프로세스는 정의상 wait on
이 있는 프로세스와 동일하기 때문입니다. 프로세스가 끝나면.
민감도 목록이 있는 프로세스는 일반적으로 합성하려는 코드에 사용됩니다. 이러한 코드를 일반적으로 RTL(레지스터 전송 레벨) 코드라고 합니다. 이것은 관습이지만 거기에는 합당한 이유가 있습니다. 일부 wait on
및 wait until
명령문은 합성할 수 있지만 어떤 종류의 하드웨어를 만들지 알기 어렵습니다.
wait on
이 있는 프로세스와 동일합니다. 마지막에wait
사용 시뮬레이션 코드의 명령문 및 RTL 코드의 민감도 목록다음 튜토리얼로 이동 »
VHDL
3D 프린팅을 통해 우리는 모든 종류의 멋진 물건을 만들 수 있습니다. 그 중에는 이름이나 로고에 대한 3D 문자를 만드는 기능이 있습니다. 이 기사에서는 3D 모델링 소프트웨어를 사용하여 원하는 텍스트를 디자인하고 3D 인쇄하는 방법을 보여줍니다. 권장되는 슬라이서 설정과 컴퓨터로 입력한 텍스트와 손으로 쓴 텍스트를 모두 3D로 인쇄하는 방법에 대한 안내도 드리겠습니다. 이 과정은 매우 간단하며 완료하는 데 너무 많은 시간이 걸리지 않습니다. 텍스트 인쇄용 3D 모델링 소프트웨어 원하는 텍스트를 3D 인쇄하려면 3D 모델링
프로토타입을 만드는 것은 제품 개발 프로세스에서 중요한 단계입니다. 이를 통해 실제 출시 전에 제품 또는 서비스의 작동 모델을 만들고 잠재 고객으로부터 피드백을 얻을 수 있습니다. 이 기사에서는 프로토타입을 만드는 방법과 매번 올바르게 만드는 방법에 대해 설명합니다. 프로토타입이란 무엇입니까? 프로토타입은 아직 개발 중이거나 생성 중인 항목의 대략적인 모델 또는 예비 버전입니다. 제품 디자인 및 개발의 세계에서 프로토타이핑은 완전한 생산이 시작되기 전에 아이디어를 테스트하고 개념을 검증하는 데 사용되는 초기 단계 디자인의 생성을 의