PDA

توجه ! این یک نسخه آرشیو شده می باشد و در این حالت شما عکسی را مشاهده نمی کنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : روند طراحي يك مدار قابل برنامه ريزي fpga



TAHA
11-11-2009, 12:18 PM
روند طراحي يك مدار
قابل برنامه ريزي FPGA


قبلا در مورد مدارات FPGA مختصرا توضيحاتي داديم حال گام را کمي فراتر گذاشته و به بررسي چگونگي طراحي اين مدارات به نام XILINX Foundation مي پردازيم ,
در اينجا فرض بر آن است که شما در مورد FPGA اطلاعاتي داريد در حقيقت اين مقاله کمي تخصصي براي افرادي که با الکترونيک سر و کار دارند نوشته شده است
نرم افزار XILINX Foundation محيطي جهت ايجاد برنامه هايي براي توصيف طرح منطقي يک مدار مجتمع FPGA مي باشد.


روند طراحي با استفاده از نرم افزار Foundation به اين ترتيب است:
http://pnu-club.com/imported/2009/11/608.jpg
• طرحهاي ديجيتال مورد نظر ، با استفاده از اديتور شماتيک يا اديتور ماشين حالت يا اديتور متني HDL وارد مي شوند، طرح مورد نظر مي تواند توسط يکي از اين اديتورهاي ترکيبي از همه انها ايجاد شود.
• يک سيمولاتور (شبيه ساز) عملي عملکرد يک طرح کامپايل شده را چک مي کند و به شما اجازه مي دهد تا نتايج را ببينيد و صحت يا عدم صحت نتايج را بررسي کنيد. در صورت بروز هر گونه خطائي مي توان به محيط اديتوري شماتيک ، HDL يا ماشين حالت برگشته خطاها را اصلاح کنيد.
• ابزار اجراي نرم افزار Foundation، ابتدا ليست گيتها و اتصالات ايجاد شده را به يک فايل با فرمت باينري تبديل مي کند که جهت برنامه ريزيFPLD استفاده خواهد شد.در اين مرحله است که يک device خاص جهت برنامه ريزي کردن بايد مشخص شود، مانند خانواده هاي XC95108 و xc400 ،5xl . براي device هاي xc9500 ،برنامه مورد نظر طراح را داخل يک CPLD قرارمي دهيم ولي در XC4000 ، طرح داخل يک FPGA قرار مي گيرد . به اين ترتيب که گيتها داخل CLB هاي مشخص قرار مي گيرند و مسير يابي و سيم پيچي ها با استفاده از PSM ها انجام مي شوند.
• بعد از اينکه ابزار اجرائي نرم افزار FOUNDATION تاخيرهاي مربوط به گيتها و عمل مسير يابي را مشخص کردند، شبيه سازي خصوصيات زماني طرح با يک mapping مشخص در يک FPLD انجام مي شوند.
• با وارد کردن وروديها به يک برد XS95 يا XS40 از طريق کابل پورت موازي کامپيوتر عمل خطايابي انجام مي شود.

مثالي در مورد نحوه برنامه ريزي يک برد XS40 ( جمع کننده تک بيتي):


carry out

Sum output

carryinput

Input0

Input1

0

0

0

0

0

0

1

1

0

0

0

1

0

1

0

1

0

1

1

0

0

1

0

0

1

1

0

1

0

1

1

0

0

1

1

1

1

1

1

1