200 likes | 441 Views
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.
E N D
VHDL(VHSIC Hardware Description Language) Sung-Hyun Kim 2008.03.31
FPGA Field Programmable Gate Array 사용자가 컴퓨터 프로그래밍을 통해 동작을 정의할 수 있는 반도체 Logic이 fix되어 있지 않다->우리가 임의로 바꿀수 있다. c.f)Ram : 일단 회로를 설계한 다음에는 다른 용도로 기능을 재 정의 할 수 없다
VHDL 기본 GATE의 구성 and or not
VHDL 프로그래밍 순서 VHDL언어를 이용하여 code를 짠다 Synthesize과정을 거친다 (Text를 그림으로 바꿔주는 개념) Translate, Mapping & Place, Routing과정을 거친 후 device에 Downloading(직접설계)를 한다
VHDL Translate VHDL VHDL VHDL synthesize X X X
VHDL Cell & Switch Switch Cell
VHDL Mapping FDGA에 연결된 다리를 조절(Input과 Output을 조절) => UCF Place 각각의 Gate를 Cell에 놓는 과정 Routing Switch를 조작하여 Gate를 연결하는 과정
VHDL 예제 a(0) b(0) a(0) b(0) a(1) b(1)
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;
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;
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";
기본적인 문법 Object (객체) : VHDL에서 값을 가질 수 있는 것 종류 : Singal, Variable, Constant 등이있다. 1. Port로 선언하는 방법 선언위치 : Entity 내부 2. Signal로 선언하는 방법 선언위치 : Architecture와 Architecture begin 사이
Data Type (자료형) 어떤 임의의 상태값이나 결과를 받아들이거나 입력값으로 처리 할 수 있는 형태 VHDL에서는 무한한 종료의 자료형을 사용할 수 있다.
Entity Entity 선언부 : 사용자가 설계하고자 하는 시스템의 외적연결을 담당하는 부분. 회로의 내부적인 구조나 연결 등을 고려할 필요가 없으며 여기서 정의한 것을 통해 다음의 Architecture Body에서 내부적 동작을 여러가지 방법으로 표현할 수 있다.
Architecture Architecture Body 선언부 : 사용자가 설계하고자 하는 시스템 내부의 동작을 세부적으로 정의하는 부분