vhdl 예제

지금까지 입력/출력 포트를 정의할 때 “std_logic_vector” 데이터 형식을 사용했습니다. 마찬가지로 “std_logic_vector” 형식의 신호를 정의할 수 있습니다. 예를 들어, 다음과 같은 코드 라인을 고려하십시오: HDL (하드웨어 설명 언어) 기반 디자인은 VHDL (VHSIC 하드웨어 설명 언어)과 Verilog HDL이 두 가지 지배적 인 디지털 시스템 설계에 대한 현대적인 접근 방식으로 자리 매김했습니다. HDL. 수많은 대학은 따라서 VHDL (또는 Verilog)에 학생들을 소개합니다. 문제는 VHDL이 일반성으로 인해 복잡하다는 것입니다. 학생들에게 먼저 언어를 소개한 다음, 디지털 시스템을 언어와 디자인하는 방법을 보여 주는 것은 학생들을 혼란스럽게 하는 경향이 있습니다. 언어 문제는 디지털 구성 요소의 이해에서 그들을 산만하게하는 경향이있다. 그리고 언어의 합성 하위 집합 문제는 혼란에 추가합니다. 우리는 초학생이 VHDL의 세부 사항을 이해할 필요가 없다는 철학에 따라 다음 자습서를 개발했습니다.

따라서 HDL의 복잡성을 배우지 않고도 HDL 기반 디지털 디자인의 중요성을 배웁니다. 이러한 복잡성은 두 번째 고급 과정을 위해 예약 할 수 있습니다. 예는 주로 프랭크 바히드와 토니 기바르기스의 교과서 임베디드 시스템 디자인에서 나온 것입니다. 기본 게이트에서 시작하여 간단한 마이크로프로세서까지 작동합니다. 대부분의 예제는 Aldec ActiveHDL 시뮬레이터 및 시놉시스 설계 분석기에서 시뮬레이션되었으며 Synopsys 디자인 컴파일러와 합성되었습니다. Xilinx 파운데이션 소프트웨어 및 FPGA/CPLD 보드에서 몇 가지 순차적인 설계 예제를 성공적으로 테스트했습니다. 제네릭은 자신의 예를 보증하기에 충분히 중요합니다. 예를 들어, 아래와 같이 4대2 우선 순위 인코더의 진실 테이블을 고려하는 두 가지 주요 용도로 디지털 디자이너가 사용합니다. 우선 순위 인코더를 사용하면 일반적으로 입력 벡터의 가장 왼쪽 비트가 가장 높은 우선 순위를 가지도록 고려합니다.

예를 들어 다음 진실 테이블에서 가장 왼쪽 입력 비트인 x(3)가 높을 때다른 세 입력 비트의 상태에 대해서는 신경 쓰지 않고 출력 y와 v, 즉 y=11″ 및 v=`1“을 어설션합니다. 엔터티에는 포트 맵 외에 일반 맵도 포함될 수 있습니다. 제네릭은 상수를 상위 수준에서 엔터티로 전달하는 데 사용됩니다. 제네릭의 예는 제네릭이 어떻게 사용되는지 확인하는 데 도움이 됩니다. VHDL 키워드 “std_logic_vector”는 std_logic 형식의 요소 벡터를 정의합니다. 예를 들어 std_logic_vector(0~2)는 std_logic 데이터 형식의 세 요소 벡터를 나타내며 인덱스 범위는 0에서 2로 확장됩니다. 상위 수준(동작 또는 RTL) 코드를 디자인하고 시뮬레이션할 때는 디자인 기능만 중요합니다. 그러나 VHDL 합성에서는 설계의 타이밍과 기능을 항상 함께 고려해야 합니다. 따라서 설계가 합성되면 시뮬레이션의 두 번째 목표는 게이트 수준 구현이 타이밍 요구 사항을 충족하는지 신속하게 확인하는 것입니다. 이 아이디어(코딩 -> 시뮬레이션 -> 합성 -> 시뮬레이션)를 사용하여 이 자습서의 모든 예제를 테스트합니다.

위의 예에서 볼 수 있듯이 “std_logic_vector” 데이터 형식은 신호 그룹 또는 데이터 버스를 나타내는 방법입니다.

カテゴリー: 未分類   パーマリンク

コメントは受け付けていません。