Generic 제네릭 - Entity Instance에 Parameter를 전달할 수 있게 하는 Mechanism이다. - Parameter로는 Propagation Delay, Load Capacitance, Resistance, Data-Path Widths, Signal Widths 등이 될 수 있다. ex) generic을 이용하여 VHDL 코드 상에서 n-Bit Adder를 구현할 수 있다. - 제네릭은 코드의 가독성(독해성)을 제고한다. - 코드의 유지 보수를 용이하게 한다. Example. Generic Declaration ENTITY nbit_adder IS GENERIC (bits : integer); PORT( a, b : IN std_logic_vector(bits-1 DOWNTO ..
Synchronous Reset and Asynchronous Reset 동기 Reset과 비동기 Reset * Synchronous : Clock Signal에 의존적 * Asynchronous : Clock Signal에 독립적 * D Flip Flop Implementation LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY ff_d IS PORT( clock : IN std_logic; D : IN std_logic; Q : OUT std_logic ); END ff_d; ARCHITECTURE design OF ff_d IS SIGNAL q_tmp : std_logic; BEGIN PROCESS(clock) BEGIN IF (clock'event AND ..
Flip Flop Modeling 플립플롭 모델링 * Flip Flop (URL) RS Flip Flop Implementation LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY ff_rs IS PORT( clock : IN std_logic; R, S : IN std_logic; Q : OUT std_logic ); END ff_rs; ARCHITECTURE design OF ff_rs IS signal q_tmp : std_logic; BEGIN PROCESS(clock) BEGIN IF (clock'event AND clock = '1') THEN IF (S = '0' AND R = '0') THEN q_tmp
Attributes 속성 - 코드의 수정을 용이하게 한다. - Index에 대한 Alias 기능을 제공한다. * Predefined Attributes - Value Kind - Function Kind - Signal Kind - Type Kind - Range Kind Attribute Description S'event Signal S에 Event가 발생되었는지에 대한 여부 (true/false) S'last_event Signal S의 마지막 Event가 발생한 후 경과한 시간값 S'active Signal S가 변경되었는지에 대한 여부 (true/false) S'last_active Signal S가 마지막으로 변경된 후 경과한 시간값 S'last_value Signal S에 마지막 Event가..
Decoder Modeling 디코더 모델링 Example. NOT Gate(Inverter) Implementation USE work.std_logic_1164.all; ENTITY inv IS PORT( a : IN std_logic; b : OUT std_logic ); END inv; ARCHITECTURE behave OF inv IS BEGIN b x, b => y); END FOR; FOR ALL : and3 USE ENTITY work.and3(behave); END FOR; END FOR; END decode_map_con; Another Implementation Inputs Outputs A B o0 o1 o2 o3 0 0 0 0 0 1 0 1 0 0 1 0 1 0 0 1 0 0 1..
Configuration Statement Configuration 구문 - Configuration 구문은 하나의 Entity에 대한 여러 Architecture Block 중 하나를 선택하여 수행할 수 있게 한다. - Simulation시에, 해당 Configuration 구문을 선택하여, 특정 Architecture Block을 시험할 수 있다. Example. 4 X 1 MUX ENTITY mux4x1 IS ... END mux4x1; ARCHITECTURE dataflow OF mux4x1 IS BEGIN ... END dataflow; ARCHITECTURE behave OF mux4x1 IS BEGIN ... END behave; ARCHITECTURE structure OF mux4x1 I..