1 / 20

VHDL (VHSIC Hardware Description Language)

VHDL (VHSIC Hardware Description Language). Sung-Hyun Kim 2008.03.31. FPGA. Field Programmable Gate Array 사용자가 컴퓨터 프로그래밍을 통해 동작을 정의할 수 있는 반도체 Logic 이 fix 되어 있지 않다 -> 우리가 임의로 바꿀수 있다 . c.f)Ram : 일단 회로를 설계한 다음에는 다른 용도로 기능을 재 정의 할 수 없다. FPGA 의 구성. VHDL. 기본 GATE 의 구성. and. or. not.

thisbe
Download Presentation

VHDL (VHSIC Hardware Description Language)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. VHDL(VHSIC Hardware Description Language) Sung-Hyun Kim 2008.03.31

  2. FPGA Field Programmable Gate Array 사용자가 컴퓨터 프로그래밍을 통해 동작을 정의할 수 있는 반도체 Logic이 fix되어 있지 않다->우리가 임의로 바꿀수 있다. c.f)Ram : 일단 회로를 설계한 다음에는 다른 용도로 기능을 재 정의 할 수 없다

  3. FPGA의 구성

  4. VHDL 기본 GATE의 구성 and or not

  5. VHDL 프로그래밍 순서 VHDL언어를 이용하여 code를 짠다 Synthesize과정을 거친다 (Text를 그림으로 바꿔주는 개념) Translate, Mapping & Place, Routing과정을 거친 후 device에 Downloading(직접설계)를 한다

  6. VHDL Translate VHDL VHDL VHDL synthesize X X X

  7. VHDL Cell & Switch Switch Cell

  8. VHDL Mapping FDGA에 연결된 다리를 조절(Input과 Output을 조절) => UCF Place 각각의 Gate를 Cell에 놓는 과정 Routing Switch를 조작하여 Gate를 연결하는 과정

  9. VHDL 예제

  10. VHDL 예제 a(0) b(0) a(0) b(0) a(1) b(1)

  11. Source eq1 library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity eq1 is port ( i0: in std_logic; i1: in std_logic; out1: out std_logic ); end eq1; architecture arch of eq1 is signal p0: std_logic; signal p1: std_logic; begin out1 <= p0 or p1; p0 <= i0 and i1; p1 <= (not i0) and (not i1); end arch;

  12. Source eq2 library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity eq2 is port( a, b: in std_logic_vector(1 downto 0); -- a(0) a(1) b(0) b(1) aeqb: out std_logic ); end eq2; architecture arch of eq2 is signal l0, l1 : std_logic; begin eq1_unit0: entity work.eq1(arch) port map( i0=>a(0), i1=>b(0), out1=>l0 ); eq1_unit1: entity work.eq1(arch) port map( i0=>a(1), i1=>b(1), out1=>l1 ); aeqb <= l0 and l1; end arch;

  13. Source ucf NET "a<0>" LOC = "F12"; NET "a<1>" LOC = "G12"; NET "b<0>" LOC = "H14"; NET "b<1>" LOC = "H13"; NET "aeqb" LOC = "K12";

  14. 기본적인 문법 Object (객체) : VHDL에서 값을 가질 수 있는 것 종류 : Singal, Variable, Constant 등이있다. 1. Port로 선언하는 방법 선언위치 : Entity 내부 2. Signal로 선언하는 방법 선언위치 : Architecture와 Architecture begin 사이

  15. Data Type (자료형) 어떤 임의의 상태값이나 결과를 받아들이거나 입력값으로 처리 할 수 있는 형태 VHDL에서는 무한한 종료의 자료형을 사용할 수 있다.

  16. Data Type (자료형)

  17. Entity Entity 선언부 : 사용자가 설계하고자 하는 시스템의 외적연결을 담당하는 부분. 회로의 내부적인 구조나 연결 등을 고려할 필요가 없으며 여기서 정의한 것을 통해 다음의 Architecture Body에서 내부적 동작을 여러가지 방법으로 표현할 수 있다.

  18. Architecture Architecture Body 선언부 : 사용자가 설계하고자 하는 시스템 내부의 동작을 세부적으로 정의하는 부분

More Related