ايران ويج

نسخه‌ی کامل: مثال های FPGA درس معماری کامپیوتر
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام.

خیلی وقته قسمت FPGA خوابیده، تصمیم گرفتم که با یک سری مثال ها از VHDL دوباره این قسمت رو زنده کنم.

چون این ترم آزمایشگاه معماری داشتم (سیستم های دیجیتال 2 یا همون معماری کامپیوتر)، یک سری مثال  رو اینجا قرار میدم که به درد دوستانی که این درس دارن بخوره.

حالا قول نمیدم ولی اگه فرصت شد کد verilog همین مثال هارو هم سعی میکنم که بنویسیم(البته هنوز verilog رو یاد نگرفتم).



مثال شماره 1: دیکودر 2 به 4 با VHDL
مثال شماره 4: فلیپ فلاپ JK با VHDL
مثال شماره 5: فیلپ فلاپ T با VHDL
مثال شماره 7:

منابع:
1.

موفق باشید. قلب
دیکودر 2 به 4 با VHDL

کد:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity Dec2to4 is
   Port ( input : in  STD_LOGIC_VECTOR (1 downto 0);
          Output : out  STD_LOGIC_VECTOR (3 downto 0));
end Dec2to4;

architecture Behavioral of Dec2to4 is

begin

output <= "0001" when input="00" else
             "0010" when input="01" else
             "0100" when input="10" else
             "1000" when input="11";

end Behavioral;

نتیجه شبیه ساز:
مالتی پلکسر 4 به 1 با VHDL

کد:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;


entity Mux4to1 is
   Port (     input  : in std_logic_vector (3 downto 0);
                s          : in  STD_LOGIC_VECTOR (1 downto 0);
                output : out  STD_LOGIC);
end Mux4to1;

architecture Behavioral of Mux4to1 is
begin
    output <= input(0) when S="00" else
                 input(1) when S="01" else
                 input(2) when S="10" else
                 input(3) when S="11";
end Behavioral;

شبیه ساز:
[attachment=14174]
فلیپ فلاپ D با ریست سنکرون با VHDL 

کد:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity Dflipflop is
   Port ( D     : in  STD_LOGIC;
          clk : in  STD_LOGIC;
              rst : in std_logic;
          Q     : out  STD_LOGIC);
end Dflipflop;

architecture Behavioral of Dflipflop is
begin

    process(clk)
    begin
        
        if(clk' event and clk='1') then
            
            if(rst='1') then
                q <= d;
            else
                q <= '0';
            end if;
            
        end if;

    end process;
    
end Behavioral;

شبیه ساز:
[attachment=14180]
فیلپ فلاپ JK با VHDL


کد:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity JKflipflop is
   Port ( J : in  STD_LOGIC;
          K : in  STD_LOGIC;
          clk : in  STD_LOGIC;
          Q : out  STD_LOGIC);
end JKflipflop;

architecture Behavioral of JKflipflop is
signal temp : std_logic;
begin
    process(clk)
    begin
        if(clk' event and clk='1') then
            if(J='0' and K='0') then
                temp <= temp;
            elsif(J='0' and K='1') then
                temp <='0';
            elsif(J='1' and K='0') then
                temp <='1';
            else
                temp <= temp;
            end if;
        end if;
    end process;
    Q <= temp;
end Behavioral;


شبیه ساز:[attachment=14184]
فلیپ فلاپ T با ریست سنکرون با VHDL

کد:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity Tflipflop is
   Port ( T : in  STD_LOGIC;
          clk : in  STD_LOGIC;
          RST : in  STD_LOGIC;
          Q : out  STD_LOGIC);
end Tflipflop;

architecture Behavioral of Tflipflop is
signal temp : std_logic:='0';
begin
    process(clk,RST)
    begin
        if(clk' event and clk = '1')then
            if(RST = '0') then
                temp <= '0';
            else
                if(T = '1') then
                    temp <= not(temp);
                else
                    temp <= temp;
                end if;
            end if;
        end if;
    end process;
Q <= temp;
end Behavioral;

شبیه ساز:[attachment=14188]
پیاده سازی تمام جمع کننده Full Adder با VHDL

کد:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;

entity FA is
    Port ( Cin : in  STD_LOGIC;
           Cout : out  STD_LOGIC;
           Sum : out  STD_LOGIC;
           A : in  STD_LOGIC;
           B : in  STD_LOGIC);
end FA;

architecture Behavioral of FA is
begin
    Sum  <= A xor B xor Cin;
    Cout <= ((A xor B) and Cin) or (A and B);
end Behavioral;;

شبیه ساز:[attachment=14197]