در اینجا با فرض آنکه یک کلاک با فرکانس 25 مگاهرتز داشته باشیم یک برنامه به زبان VHDL برای پیاده سازی روی FPGA نوشته شده است که با اجرای آن LED هر یک ثانیه روشن و خاموش میشود.
برای پیاده سازی پروژه های پیچیده FPGA میتوانید به وبسایت شرکت آریادنا صنعت مراجعه نمایید.
متن این تصویر را میتوانید در زیر مشاهده کنید:
-- تعریف ماژول برای روشن و خاموش کردن یک لامپ
entity LED_Controller is
port(
CLK : in std_logic; -- سیگنال کلاک
LED : out std_logic -- سیگنال لامپ
);
end entity LED_Controller;
architecture Behavioral of LED_Controller is
signal counter : integer range 0 to 25000000 := 0; -- شمارنده برای تعیین زمان روشن و خاموش کردن لامپ
signal LED_state : std_logic := '0'; -- وضعیت فعلی لامپ (0 یا 1)
begin
process(CLK)
begin
if rising_edge(CLK) then
-- افزایش شمارنده در هر چرخه کلاک
counter <= counter + 1;
-- تعیین زمان روشن و خاموش کردن لامپ
if counter = 25000000 then -- معادل تقریبی 1 ثانیه با توجه به سرعت کلاک
counter <= 0;
LED_state <= not LED_state; -- تغییر وضعیت لامپ
end if;
end if;
end process;
-- اتصال وضعیت لامپ به پین خروجی
LED <= LED_state;
end architecture Behavioral;