تبلیغات
" /> باران الکترونیک - مطالب Altera
سه شنبه 28 مهر 1394  11:21 ب.ظ
نوع مطلب: (FPGA ،Xilinx ،Altera ،VHDL ،) توسط: امیرحسین رستمی

هدف

در این مقاله سعی شده است نحوه یاد گرفتن FPGA قدم به قدم توضیح داده شود. نظراتی که در این مقاله آمده است شخصی بوده و ممکن است شخص دیگری نظری پی رادیان مخالف داشته باشد (که نشان دهده سواد کم­تر او می­ باشد پس نگران نباشد و ادامه به خواندن این مطلب دهید.)

مغز


نظرات()       
پنجشنبه 12 دی 1392  06:03 ب.ظ
نوع مطلب: (FPGA ،Xilinx ،Altera ،) توسط: امیرحسین رستمی


ایده FPGA

ایده اصلی FPGA از اینجا سر چشمه می­گیرد که هر تابع منطقی را می­تواند با یک حافظه جایگزین کرد. برای مثال یگ گیت منطقی XOR در شکل زیر نشان داده شده است. همان طور که مشخص است می­تواند یک گیت XOR  با دو ورودی را با یک حافظه 1×4 جایگزین کرد که ورودی گیت در واقع همان خط آدرس  و خروجی آن همان خط داده می­باشند.

همین ساختار با پیچیدگی بیشتر در FPGA مورد استفاده قرار می­گیرد. به حافظه­ای که در ساختار داخلی FPGA برای پیاده سازی توابع منطقی مورد استفاده قرار می­گیرد، Look Up Table یا به طور مختصر LUT گفته می­شود.

مزیت اصلی FPGA این است که دارای معماری خیلی انعطاف­پذیری می­باشد. اما این انعطاف پذیری با پرداخت هزینه­ی بیش­تر در سخت افزار همراه می­باشد. یعنی این که، انعطاف­پذیری بیش­تر به معنی گیت­های بیش­تر، مساحت سطح سیلیکون بیش­تر، منابع بیش­تر برای مسیریابی و در نتیجه مصرف توان بیش­تر می­باشد.

Altera یا Xilinx

در زمینه­ی تولید FPGA دو شرکت بزرگ آلترا[1] و زایلینکس[2] 89% FPGAهای بازار را تولید می­کنند. زالینکس برای سال­های متمادی است که بزرگ­ترین تولید کننده­ی  FPGAدر جهان می­باشد و دارای طیف گسترده­ای از FPGAها از لحاظ قیمت و عملکرد می­باشد. در شکل زیر سهم هر یک از تولید کننده­های FPGA در بازار نشان داده شده است.

شکل 1 بازار FPGA



[1] Altera

[2]  Xilinx


نظرات()       
جمعه 22 آذر 1392  07:03 ب.ظ
نوع مطلب: (DSP ،FPGA ،برد مدار چاپی ،Altera ،) توسط: امیرحسین رستمی

هدف طراحی و ساخت یک سخت افزار برای پردازنده DSP ساخت شرکت TI، سری 5000 یعنی A 5509 و یک FPGA ساخت شرکت Altera سری Cyclone III می­باشد.

طراحی شماتیک

طراحی مدار شامل طراحی مدار تغذیه، مدار ارتباطی بین FPGA و DSP، حافظه­­ی uSD، پورت سریال، حافظه­ی فلش برای ذخیره­ی برنامه­ی DSP و مدار واسط دوربین می­باشد. در ادامه به طراحی قسمت­های مختلف مدار پرداخته شده است.

مدار تغذیه

با توجه به برگه­ی اطلاعات برای راه­اندازی FPGA و DSP، مدار تغذیه باید ولتاژهای 3/3، 6/1، 5/2، 2/1 ولت را فراهم آورد. برای این منظور از 5 رگولاتور استفاده کردیم. ابتدا ولتاژ ورودی را با استفاده از یک رگولاتر به سطح 5 ولت رساندیم. سپس با 4 رگولاتور دیگر ولتاژهای مناسب را ساختیم. مدار تغذیه­ی طراحی شده در شکل 1 نشان داده شده است.

لطفا به ادامه مطلب مراجعه کنید (به همرا دانلود فایل PDF و پروژه (protel (Altium و فوت پرینت ها)


نظرات()       
جمعه 1 آذر 1392  12:36 ق.ظ
نوع مطلب: (FPGA ،VHDL ،Xilinx ،Altera ،) توسط: امیرحسین رستمی

می­خواهیم برنامه­ای بنویسیم که در آن رابطه بین ورودی و خروجی به صورت زیر باشد:

یعنی فرکانس کلاک خروجی برابر با تقسیم دلخواهی از فرکانس ورودی می­باشد. برای این منظور باید یک شمارنده تعریف کنیم که با آمدن پالس­های بالارونده ورودی یک واحد زیاد می­شود. سه حالت مختلف به وجود می­آید.

الف) m توانی از 2 باشد:

فرض کنید  باشد. n=3 یعنی فرکانس پالس خروجی  1/8 فرکانس پالس ورودی می­باشد. یک شمارنده 3 بیتی تعریف می­کنیم. شمارنده از 0 تا 7 می­شمارد. با توجه به شکل اگر با ارزش­ترین بیت MSB شمارنده را به خروجی بدهیم، به هدف خود رسیده­ایم.

برنامه تقسیم کننده فرکانس در ادامه آمده است:

به ادامه مطلب مراجعه کنید.
دانلود فایل PDF در ادامه مطلب


نظرات()       
دوشنبه 20 آبان 1392  09:43 ب.ظ
نوع مطلب: (FPGA ،Xilinx ،Altera ،VHDL ،) توسط: امیرحسین رستمی

برای نوشتن برنامه شمارنده نیاز به یک جمع کننده ‏داریم که عدد ورودی را یک واحد افزایش دهد. برای این ‏که جمع کننده با کلاک سنکرون باشد نیاز به یک ‏D‏ فلیپ فلاپ داریم. شماتیک برنامه شمارنده در شکل ‏زیر نشان داده شده است.‏

برای این که شمارنده از یک تا نه بشمارد، وقتی که عدد نه در خروجی نمایش داده شد در کلاک بعدی باید عدد صفر وارد جمع کننده شود. برنامه کامل VHDL در ادامه نشان داده شده است.

entity counter0to9 is

   generic(

      N: integer := 4;    -- number of bits

      M: integer := 9     -- mod-M

  );

   port(

      clk, reset: in std_logic;

      q: out std_logic_vector(N-1 downto 0)

   );

end counter0to9 ;

------------------------------------------

architecture arch of mod_m_counter is

   signal r_reg: unsigned(N-1 downto 0);

   signal r_next: unsigned(N-1 downto 0);

begin

   -- register

   process(clk,reset)

   begin

      if (reset='1') then

         r_reg <= (others=>'0');

      elsif (clk'event and clk='1') then

         r_reg <= r_next;

      end if;

   end process;

   -- next-state logic

   r_next <= (others=>'0') when r_reg=(M-1) else

             r_reg + 1;

   -- output logic

   q <= std_logic_vector(r_reg);

end arch;

 

برای دیدن مدار ساخته شده در برنامه ISE مطابق شکل زیر از منوی Design، قسمت Synthesize را گسترش دهید (روی + کلیک کنید) و روی گزینه View RTL Schematic دوبار کلیک کنید.
بلوک زیر نمایش داده می­شود:

روی بلوک ‏mod_m_counter‏ دوبار کلیک کنید تا مدار ساخته شده مطابق شکل زیر نمایش داده شود.‏

برنامه test bench برای شبیه سازی مدار:


library ieee;

use ieee.std_logic_1164.all;

use ieee.numeric_std.all;

entity mod_m_counter is

   generic(

      N: integer := 4;     -- number of bits

      M: integer := 9     -- mod-M

  );

   port(

      clk, reset: in std_logic;

      q: out std_logic_vector(N-1 downto 0)

   );

end mod_m_counter;

 

architecture arch of mod_m_counter is

   signal r_reg: unsigned(N-1 downto 0);

   signal r_next: unsigned(N-1 downto 0);

begin

   -- register

   process(clk,reset)

   begin

      if (reset='1') then

         r_reg <= (others=>'0');

      elsif (clk'event and clk='1') then

         r_reg <= r_next;

      end if;

   end process;

   -- next-state logic

   r_next <= (others=>'0') when r_reg=(M-1) else

             r_reg + 1;

   -- output logic

   q <= std_logic_vector(r_reg);

end arch;

نتیجه شبیه سازی در شکل زیر نشان داده شده است:


دانلود فایل PDFلینک 1

دانلود فایل لینک 2


  • آخرین ویرایش:یکشنبه 29 فروردین 1395
  • برچسب ها:vhdl ،fpga ،counter ،
نظرات()   
   
چهارشنبه 15 خرداد 1392  01:02 ب.ظ
نوع مطلب: (FPGA ،Xilinx ،Altera ،VHDL ،) توسط: امیرحسین رستمی

در زیر لینک ویدیوهای آموزشی FPGA مربوط به سایت Altera و Xillinx قرار داده شده است. این ویدیوهای شامل بخش‎های مختلفی می‎باشند: از آموزش VHDL گرفته تا کار با بخش‎های مختلف سخت افزار و نکات مهم هنگام برنامه نویسی:




  • آخرین ویرایش:شنبه 14 دی 1392
  • برچسب ها:FPGA ،Xillinx ،Altera ،
نظرات()   
   
آخرین پست ها