مدارات ترکيبي و ترتيبي در VHDL


مدارات ترکيبي و ترتيبي در VHDL

در طراحي ديجيتال، مدارات به دو دسته ترکيبي و ترتيبي تقسيم مي‌شوند. اين دسته‌بندي بر اساس نحوه پردازش و ذخيره‌سازي داده‌ها است.

1. مدارهاي ترکيبي (Combinational Circuits)

مدارهاي ترکيبي خروجي را فقط بر اساس ورودي‌هاي فعلي توليد مي‌کنند. هيچ حافظه يا ذخيره‌سازي وجود ندارد.


entity AND_Gate is
 port (
 A, B : in STD_LOGIC;
 Y : out STD_LOGIC
 );
end AND_Gate;

architecture Behavioral of AND_Gate is
begin
 Y <= A and B;
end Behavioral;

2. مدارهاي ترتيبي (Sequential Circuits)

مدارهاي ترتيبي به حالت قبلي و ورودي‌هاي فعلي وابسته‌اند. سيگنال Clock براي همگام‌سازي استفاده مي‌شود.


entity D_FlipFlop is
 port (
 D : in STD_LOGIC;
 Clk : in STD_LOGIC;
 Q : out STD_LOGIC
 );
end D_FlipFlop;

architecture Behavioral of D_FlipFlop is
begin
 process (Clk)
 begin
 if rising_edge(Clk) then
 Q <= D;
 end if;
 end process;
end Behavioral;

3. تفاوت‌هاي کليدي

ويژگيمدار ترکيبيمدار ترتيبي
حافظهندارددارد
زمان‌بنديمستقل از زمانوابسته به ساعت (Clock)
کاربردمنطق ترکيبي مثل جمع‌کننده‌هاشمارنده‌ها و ثبات‌ها
پياده‌سازيساده‌تر و سريع‌ترپيچيده‌تر و کندتر

4. ترکيب مدارات ترکيبي و ترتيبي

در طراحي‌هاي پيچيده، معمولاً مدارات ترکيبي و ترتيبي با هم ترکيب مي‌شوند. براي مثال:

  • مدار ترتيبي: ذخيره حالت و زمان‌بندي
  • مدار ترکيبي: محاسبات منطقي سريع

entity Sequential_Comb is
 port (
 A, B : in STD_LOGIC;
 Clk : in STD_LOGIC;
 Q : out STD_LOGIC;
 Y : out STD_LOGIC
 );
end Sequential_Comb;

architecture Behavioral of Sequential_Comb is
 signal temp : STD_LOGIC;
begin
 -- مدار ترتيبي
 process (Clk)
 begin
 if rising_edge(Clk) then
 temp <= A;
 end if;
 end process;

 -- مدار ترکيبي
 Y <= temp and B;
 Q <= temp;
end Behavioral;

جمع‌بندي

درک تفاوت و نحوه استفاده از مدارات ترکيبي و ترتيبي براي طراحي ديجيتال بسيار حياتي است. با ترکيب اين دو نوع مدار مي‌توان سيستم‌هاي پيچيده و کارآمد ساخت.