NON-Synthesizable VHDL/Clock Generator

±¹ÀÏÈ£


¸ðµç VHDL µðÀÚÀÎÀÌ ÇÕ¼ºµÉ¼ö Àִ°ÍÀº ¾Æ´Ï´Ù. ÀϹÝÀûÀ¸·Î ½Ã¹Ä·¹ÀÌ¼Ç ¸ðµ¨À̳ª Å×½ºÆ® º¥Ä¡°°ÀÌ °í¼öÁØÀÇ VHDL µðÀÚÀÎÀº ÇÔ¼ºÀ» ±â´ëÇÏ°í ÀÛ¼ºµÈ°ÍÀÌ ¾Æ´Ï´Ù. À̵éÀº ´ÜÁö Çϵå¿þ¾î ½Ã½ºÅÛÀÇ ±â¼ú(documentation)À» ¸ñÀûÀ¸·Î µðÀÚÀÎ µÈ °ÍÀÌ´Ù. ÀÏ·Ê·Î ÄÄÇ»ÅÍ ½Ã½ºÅÛÀÇ º¸µå¼öÁØÀÇ ¸ðµ¨µîÀ» µé¼ö ÀÖ´Ù.

¸¸ÀÏ PC ¿¡ »ç¿ëµÉ ȸ·ÎÀÇ ÀϺκÐÀ» Ĩ¼ÂÀ¸·Î ¼³°èÇÒ °æ¿ì ½Ã½ºÅÛ ¸ðµ¨ÀÇ ÀϺκÐÀ» ºÐÇÒÇÏ¿© ÇÕ¼º °¡´ÉÇÑ ¼öÁØÀÇ·Î ±â¼úÇϸç ÀÌÀÇ °ËÁõ°úÁ¤¿¡¼­ ÀÌÀü ½Ã½ºÅÛ ¼öÁØÀÇ ¸ðµ¨À» Å×½ºÆ® º¥Ä¡·Î¼­ »ç¿ëÇÒ¼ö ÀÖÀ»°ÍÀÌ´Ù.

½Ã¹Ä·¹ÀÌ¼Ç ¸ðµ¨Àº ¼³°èÀÇ ÃÖÁ¾ °á°ú¿¡ ´ëÇÑ Å¸ÀÌ¹Ö °ü°è¸¸À» ±â¼úÇÑ´Ù. ŸÀÌ¹Ö Æ¯¼ºÀº VHDLÀÇ delay¿¡ ÀÇÇÏ¿© °£´ÜÇÏ°Ô ±â¼úÇÒ¼ö ÀÖ´Ù. ´ÙÀ½Àº ŸÀÌ¹Ö ¸ðµ¨À» AFTER ¿¡ ÀÇÇÏ¿© ½±°Ô ±â¼úÇÒ¼ö ÀÖÀ½À» º¸¿©ÁØ´Ù.

 
    LIBRARY ieee;
    USE ieee.std_logic_1164.ALL;
    ENTITY delay IS
      PORT ( a   : OUT std_logic_vector(0 TO 3);
             en  : IN  std_logic;
             clk : OUT std_logic );
    END delay;
    ARCHITECTURE behave OF delay IS
    SIGNAL clk_out : std_logic := '0';
    BEGIN
      function_genenerator :
      PROCESS (en)
      BEGIN
        IF en='1' THEN
           a <= "0000",
                "0001" AFTER 20 ns,
                "0010" AFTER 40 ns,
                "0011" AFTER 60 ns,
                "0100" AFTER 80 ns,
                "0101" AFTER 100 ns,
                "0110" AFTER 120 ns,
                "0111" AFTER 140 ns,
                "1000" AFTER 160 ns,
                "1001" AFTER 180 ns,
                "1010" AFTER 200 ns,
                "1100" AFTER 220 ns;
        ELSE
          a <= "0000";
        END IF;
      END PROCESS;
      clock_genenerator :
      PROCESS
      VARIABLE clk_time : INTEGER := 0;
      BEGIN
        WAIT FOR 10 ns;
        IF clk_out = '0' THEN
          clk_out <= '1';
        ELSE
          clk_out <= '0';
        END IF;
      END PROCESS;
      clk <= clk_out;
    END behave;

 

À§ÀÇ ¿¹´Â Clock°ú Function GeneratorÀÌ´Ù.

½Ã¹Ä·¹ÀÌ¼Ç °á°ú´Â,

ÀÌ¿Í°°Àº ¸ðµ¨Àº ÇÕ¼ºµÇÁö ¾Ê´Â´Ù. ÀÌ¹Ì ¸¸µé¾îÁø ¶óÀ̺귯¸®·Î P&R Çϴµ¥ ¾î¶»°Ô ÀÓÀÇÀÇ delay¸¦ °®´Â primitive¸¦ ¼±ÅÃÇÒ ¼ö Àְڴ°¡? À§¿Í °°Àº ¸ðµ¨Àº Å×½ºÆ® º¥Ä¡¿¡ À¯¿ëÇÏ°Ô »ç¿ëÇÒ¼ö ÀÖ´Ù.


back

mailto:goodkook
CSA & VLSI Design Lab.