1 / 8

به نام خدا

به نام خدا. آزمایشگاه FPGA. مقدمه، نرم افزار، دستورات ترکیبی. تهیه کننده: دانیال کاتوزیان. در این جلسه چه خواهیم دید؟. چرا پیاده سازی سخت افزاری؟. چرا FPGA ؟. به شکل کلی چند نوع FPGA داریم؟. با چه FPGA ای کار خواهیم کرد؟. به زبان VHDL چطور برنامه بنویسم؟.

vincentj
Download Presentation

به نام خدا

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. به نام خدا آزمایشگاه FPGA مقدمه، نرم افزار، دستورات ترکیبی تهیه کننده: دانیال کاتوزیان

  2. در این جلسه چه خواهیم دید؟ • چرا پیاده سازی سخت افزاری؟ • چرا FPGA؟ • به شکل کلی چند نوع FPGA داریم؟ • با چه FPGA ای کار خواهیم کرد؟ • به زبان VHDL چطور برنامه بنویسم؟ • چطور برنامه را بر روی بورد اجرا کنم؟

  3. 1 چرا پیاده سازی سخت افزاری؟ • با وجود اینکه پیاده سازی نرم افزاری ساده تر است چرا الگوریتم خود را پیاده سازی سخت افزاری کنیم؟ فرضا 1 واحد زمانی طول بکشد. پیاده سازی نرم افزاری پیاده سازی سخت افزاری • به دلیل سرعت بیشتر فرمول توان مصرفی P رابطه مستقیم با f فرضا 2 واحد زمانی طول بکشد. • به دلیل توان کمتر 1. C = A and B حداقل در دو کلاک فرضا 1 واحد زمانی طول بکشد. توان بیشتر توان کمتر یک ضرب • به دلیل اعتماد پذیری بیشتر 2. F = D or E • به دلیل امنیت بیشتر . . . 2 واحد زمانی طول می کشد. . . .

  4. 2 چرا FPGA؟ • چند نوع پیاده سازی سخت افزاری داریم؟ با قطعات گسسته و آماده با سخت افزارهای برنامه پذیر • :FPGA • تعداد قطعات زیاد • سریع • غیر قابل تغییر • کم توان • حساس به نویز • قابل تغییر • قطعات محدود • مناسب برای طراحی های پیچیده • طراحی زمان بر • موجود در اندازه های کوچک . . . . . . برای طراحی های ساده

  5. 3 به شکل کلی چند نوع FPGA داریم؟ • Logic Block ها چند نوع هستند؟ • Switch ها چند نوع هستند؟ • یک FPGA از چه چیزی ساخته شده؟ LUT SRAM EEPROM MUX • قابل برنامه ریزی مجدد. • تعداد ترانزیستور وابسته به طراحی است. • فرآیند طراحی ساده تر است. • قابل برنامه ریزی مجدد. • ترانزیستور کمتر می خواهد. • پیچیدگی و تاخیر طراحی به پیچیدگی تابع وابسته نیست. • حافظه آن غیر فرار است. • ترانزیستور زیادی نیاز دارد. • تاخیر برای توابع پیچیده بیشتر می شود. • برای ساخت، ترانزیستور زیاد نیاز دارد. • گران تر است. • روند طراحی پیچیده تر است. • حافظه آن فرار است.

  6. 4 با چه FPGA ای کار خواهیم کرد؟ کلید و چراغ تغذیه اصلی FPGA : Xilinx LCD کارکتری 16 در 2 Family: Spartan3 بازر کانکتور تغذیه اصلی Device: XC3S400 Memory : Flash نوسان ساز با فرکانس 50 مگا هرتز Package: PQG208 Model : XCF04S LED پورت VGA LED Speed: -4 Size : 4 Mbit Reset کلید ها با آرایش ماتریسی Logic block: LUT پورت RS232 پورت Jtag سون سگمنت آند مشترک Programmable switch: SRAM پورت USB کلید فشاری کلاک دستی کلید فشاری پورت PS2 ورودی ADC Dip switch Dip switch خروجی DAC

  7. 5 به زبان VHDL چطور برنامه بنویسم؟ Architecture اسم کدof نام قطعهis چیزهای کمکی begin کد End اسم کد; Code AND_GATE Library IEEE; Use IEEE.std_logic_1164.All; Use IEEE.std_logic_arith.All; Use IEEE.std_logic_unsigned.All; فراخوانی کتابخانه Signal ترتیبی When-else Entity نام قطعهis Port ( نام ورودی: in <type> ; : نام خروجی out <type> ) ; End نام قطعه; AND_GATE AND_GATE :=‘1’ A : in <type> ; Std_logic_vector(7 downto 0) ; تعیین ورودی و خروجی تعیین ورودی و خروجی Constant :=“10100” With-select Signal نام کمکی:<type>; TEMP از تعداد یکی کمتر B : in <type> ; Std_logic_vector(7 downto 0) ; :=X”5F” Std_logic تک بیتی O: out <type> ); Std_logic_vector(7 downto 0) ); :=7 A ترکیبی Withعبارت تحت بررسیselect سیگنال<= عبارت 1 when شرط 1 , عبارت 2when شرط 2 , عبارت 3 ; O A>B سیگنال<= عبارت 1 when شرط 1 else عبارت 2when شرط 2 else عبارت 3 ; “00000000” کد نویسی AND_GATE Std_logic_vector (n downto 0) چند بیتی یک عدد تک بیتی + , - , * , / , ** چند بیتی O<=A+B; O “00000000” “11110000” A<B O <= A and B ; “01010101” Signal TEMP: Std_logic_vector (7 downto 0) :=X”5F” ; AND , OR , XOR , NOT O<=AORB; “01010101” “00001111” “11111111” Integer یک عدد O<=A(7 downto 4)&B(3 downto 0); & عمومی Code “11111111”

  8. 6 چطور برنامه را بر روی بورد اجرا کنم؟ • با نرم افزار ISE کار خواهیم کرد. • باید فایل UCF بسازیم. شبیه سازی پیاده سازی A[0] 34 net “ نام ورودی خروجی“ loc=Pشماره پین;

More Related