مدارات ترکيبي و ترتيبي در 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;
جمعبندي
درک تفاوت و نحوه استفاده از مدارات ترکيبي و ترتيبي براي طراحي ديجيتال بسيار حياتي است. با ترکيب اين دو نوع مدار ميتوان سيستمهاي پيچيده و کارآمد ساخت.