1 / 34

FIPSOC (Field Programmable System On Chip)

FIPSOC (Field Programmable System On Chip). مرجان اعرابی بهناز جدی مقدم. مقدمه. با پیشرفت در زمینه ساخت قطعات قابل برنامه ریزی ،مراحل طراحی سخت افزار ،دچار تحولات بسیاری شده است. در گذشته مدارهای گسترده با استفاده از تکنولوژی SSI طراحی میشدند اما امروزه از قطعات VLSI استفاده میکنند.

Download Presentation

FIPSOC (Field Programmable System On Chip)

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. FIPSOC(Field Programmable System On Chip) مرجان اعرابی بهناز جدی مقدم

  2. مقدمه • با پیشرفت در زمینه ساخت قطعات قابل برنامه ریزی ،مراحل طراحی سخت افزار ،دچار تحولات بسیاری شده است. در گذشته مدارهای گسترده با استفاده از تکنولوژی SSI طراحی میشدند اما امروزه از قطعات VLSI استفاده میکنند. اشکال این قطعات هزینه زیاد آنهاست.در دو دهه مدار های مجتمع با کاربرد خاص به عنوان راه حل مناسبی مورد توجه قرار گرفت. FPGA(Field Programmable Gate Array)در اوایل دهه1990 عرضه شدو از آن پس این محصولات رشد قابل توجهی پیدا کرد. از نظر تکنولوژی هم اکنون FPGA در زمره بزرگترین مدار های مجتمع موجود است.از نظر آماری بیشتر آنها ظرفیتی در حدود 8000 گیت دارند.

  3. FPGA از یک سری عناصرمنطقی قابل برنامه ریزی که برای کاربرد خاص محدود نشده اند تشکیل یافته است.و هر دو جزء اصلی تشکیل دهنده مدار یعنی بلوک های منطقی و نیز اتصالات بین آنها قابل برنامه ریزی است. • به نظر میرسد که ایده FPGA درآینده قوام بیشتری به خود بگیرد. • طلیعه این گونه پیشرفت را می توان در تراشه بسیار پیشرفته FIPSOC مشاهده کرد.

  4. مقدمه • این ارائه به معرفی مختصری از یک تراشه پیشرفته از خانواده FPGA اختصاص میابد که ساختاری بر اساس RAM دارد و مرکب از یک FPGA معمولی ، تعدادی سلول آنالوگ و اتصالات داخلی لازم برای آنها و نیز یک میکرو کنترلر به عنوان هسته این تراشه است. • FIPSOC آخرین پیشرفت در زمینه مجتمع سازی مدارها آنالوگ ودیجیتال به صورت توام می باشد. • مزیت برجسته این سیستم ناشی از آن است که میکرو می تواند به هر یک از بلوک های قابل برنامه ریزی در FPGA و یا بخش دیجیتالی بلوک های آنالوگ(DAC,ADC) مستقیما وصل شده و همانند خواندن از حافظه این مقادیر را بخواند همینطور ترکیب بندی سخت افزار دیجیتال و آنالوگ قابل برنامه ریزی را طی یک سیکل نوشتن در حافظه تغییر دهد.

  5. توصیف عملکرد تراشه • قبلا نیز اشاره شد که یک میکرو کنترلراستاندارد نیز در FIPSOC وجود دارد که در واقع یک 8051 است که می توان از آن هم برای اجرای نرم افزاری وهم در جهت مدیریت ترکیب بندی تراشه استفاده کرد. • اجزای دیگر میکرو کنترلر: - پورت سریال در جهت ارتباط با PC که کاربر می تواند علاوه بر Download ترکیب بندی جدید از این پورت برای اشکال زدائی استفاده کند. چون ترکیب بندی تراشه توسط میکرو انجام میشود لازم است که حافظه ترکیب بندی بروی فضاء آدرس دهی میکرو نگاشت شود.

  6. SIDSA FIPSOC

  7. SIDSA FIPSOC

  8. توصیف عملکرد تراشه • در ادامه به بررسی یک نوع FIPSOC متعلق به شرکت SIDSA می پردازیم که این FIPSOC یک ایده ترکیبی از کار در سرعت بالا برای سیگنال های آنالوگ و دیجیتال به صورت توام است. • در هر FIPSOC - بخش های میکرو کنترلی کامل 8051 - آرایه های گیتی قابل برنامه ریزی(FPGA) - سلول انعطاف پذیر بهینه شده ما در اینجا تنها به ذکر میکرو کنترلر FIPSOC و عملکرد ها و ویژگی های آن میپردازیم.

  9. مشخصات داخلیFIPSOC • الف- سخت افزار - آنالوگ - دیجیتال - میکروی 8051 : با 6KRAM فشرده به همراه 48MHZ پالس ساعت با قابلیت 2MHZ سرعت اجرای دستور • ب- نرم افزار تحت ویندوز - جهت برنامه ریزی سیستم

  10. واسط زیر سیستم های تراشه • FIPSOC یک مفهوم جدیدی از ترکیب هماهنگ داخل سیستمی می باشد که برای کاربر امکان یک ترکیب هماهنگ بین هسته میکرو و بخش دیجیتال و آنالوگ قابل بر نامه یزی را فراهم میکند. • 8051 دو کاربرد دارد: 1- هر زیر مجموعه از سیستم را برنامه ریزی میکند. 2- بعد از تعیین حالت بلوک های قابل برنامه ریزی ، میکرو به عنوان مرکز اصلی هدفی که داریم میباشد. • هر فرمان ترکیب بندی یا تغییر data از نگاشت حافظه 8051 است.

  11. سازمان حافظه 8051 • 1- فضاء آدرس دهی مجزا برای حافظه کد. • 2- فضاء آدرس دهی مجزا برای حافظه داده. • که در 4 ناحیه است: • تا k64 حافظه کد • تاk64 حافظه دادهخارجی • 256 بایت حافظه داده داخلی(RAM) • 128 بایت SFR در FIPSOC دو ناحیه حافظه به 8051 آن اضافه شده این مکان ها به وسیله SFR ها مشخص ونگاشت شده که در فضاء آدرس - 64 بایت در حافظه داده خارجی) ناحیه Buffer Access(. - تا kb 16 حافظه map شده روی قسمت پایین تر حافظه داده خارجی.

  12. External External External حافظه کد8051 • که در داخل IC است دارای : - یک ناحیه خارجی - یک ناحیه داخلی 512 بایت از حافظه کد در داخل تراشه است(برنامه بوت) این شکل فضاء آدرس دهی حافظه کد است Auxiliary Memory FFFF FF00 FEFF 0200 01FF 0000 Internal ROM (Boot Program)

  13. حافظه کد8051 • امکان توسعه حافظه کد به صورت خارجی تا kb64 در حالیکه حافظه داخل غیر فعال باشد وجود دارد. در این صورت 8051 دستورات را از حافظه خارجی fetch یا اجرا میکند. • 256 بایت حافظه با دسترسی تصادفی در بالای فضاء آدرس وجود دارد(ممکن به صورت همزمان در هر دو حافظه کد و دیتا نگاشت شود) اگر این حافظه فعال شود دستورات از آدرس FF00 تا آدرس FFFFاز آن fetch میشود.

  14. حافظه داده • حافظه دیتا هم مانند حافظه کد دارای قسمت داخلی و خارجی است. • حافظه داده داخلی به 4 بلوک مجزای فیزیکی تقسیم میشود: • 128 بایت پایین حافظه RAM • 128 بایت بالای آن • 128 بایت SFR • 64 بایت در آدرس 30 تا 6F به عنوان فضاء بافر.

  15. حافظه داده داخلی Special Function Register Area Upper 128 bytes Internal RAM (indirect addresing) $FF $80 $7F $00 • SFR و 128بایت بالا حافظه RAM و بافر و 128 بایت پایین RAM ، روی هم افتاده اند. • بنابراین با روش های مختلفی می توان به آنها دسترسی پیدا کرد. • SFR و 128 بایت بالا را به ترتیب از طریق آدرس دهی مستقیم و غیر مستقیم می توان دسترسی داشت. Lower 128 bytes Internal RAM Buffer Access

  16. حافظه داده داخلی • 128 بایت پایین RAM به 4 دسته تقسیم می شود. 1- 4 بانک ثباتی که از آدرس $00 تا $1F می باشد. 2- 16 بایت حافظه در بر دارنده 128 بایت با آدرس دهی مستقیم(آدرس $20تا $2F ) 3- آدرس $30 تا $6F که به عنوان بافر یا Scratch Pad میتواند استفاده شود. 4- آدرس $70 تا $7F که به عنوان Scratch Pad استفاده می شود.

  17. $7F $70 $6F $30 $2F $20 $1F $00 Scratch Pad Area Buffer Access Area Scratch Pad Area Bit-addressable Area 4 Bank for General Purpose Register قسمت پایین تر حافظه دیتای داخلی • ناحیه Scratch Pad زمانی غیر فعال می شود که در ناحیه بافر در دسترس باشد.

  18. $7F $70 $6F $30 $2F $20 $1F $00 Scratch Pad Area Buffer Access Area Scratch Pad Area Bit-addressable Area 4 Bank for General Purpose Register قسمت پایین تر حافظه دیتای داخلی • 128 بایت پایین RAM به 4 دسته تقسیم می شود. 1- 4 بانک ثباتی 2- 16 بایت حافظه در بر دارنده 128 بایت با آدرس دهی مستقیم 3- آدرس $30 تا $6F که به عنوان بافر یا Scratch Pad میتواند استفاده شود. 4- آدرس $70 تا $7F که به عنوان Scratch Pad استفاده می شود.

  19. حافظه خارجی دیتا • می توان تا k64 حافظه دیتای خارجی را فراهم کرد و آدرس دهی می تواند 1 یا 2 بایتی باشد( با استفاده از DP 16 بیتی یا ثبات عمومی 8 بیتی ) فضاء حافظه خارجی به 4 قسمت تقسیم می شود. الف- تا kb64 حافظه دیتای خارجی که درناحیه 1 تا 4 در شکل 6 نشان داده شده است. ب- kb16 پایین تر (kb12 ، kb6 یا kb4 که وابسته به نوع تراشه است)که می تواند جهت نگاشت حافظه ترکیب بندی زیر سیستم های تراشه استفاده گردد.اگر این حافظه فعال باشد kb16 بایت پایین تر حافظه خارجی در دسترس نیست.

  20. فضای حافظه دیتای خارجی $FF00 - $FFFF $FEFF $1900* $1800 - $18FF $17FF* $0000 Auxiliary Memory Data ( Region 4 ) External Data Memory ( Region 3 ) HW Probing Area Data ( Region 2 ) External Data Memory ( Region 1 ) PL Block Configuration Memory Area

  21. ثبات های هدف عمومی که قبلاگفتیم جزء 128 پایین بالای حافظه داده داخلی است 32 حالت مختلف RAM داخلی توسط 4 بانک ثباتی قابل تعیین است. در هر زمان فقط یک بانک فعال است. • ثبات های مخصوص یا SFR ها 1- همه ثبات های CPU در این ناحیه مقیم اند. 2- تعدادی از ثبات های بین 8051 و همه زیر مجموعه های دیگر سیستم، واسطه اند.

  22. واسطه زیر سیستم ها تعیین حالت وکنترل fipsoc توسط بررسی مکان های مختلف حافظه 8051 مشخص خواهد شد : • الف- بلوک های قابل برنامه ریزی (CAB,PLB): Configuration Analog Block Programmable Logic Block که به وسیله SFR ها و حافظه داده (داخلی/خارجی) از 8051 برنامه ریزی شده اند. PLB :(بلوک های منطقی قابل برنامه ریزی ) • هر دو حافظه داخلی / خارجی می توانند جهت تعیین حالت ، کنترل و ارسال داده استفاده شوند.

  23. واسطه زیر سیستم ها • CAB بلوك های آنالوگ قابل ترکیب بندی: ترکیب بندی این بلوک تنها از طریق Buffer Access انجام میگیرد. • دیگر زیر سیستم ها: ترکیب بندی و کنترل شان فقط توسط SFR ها صورت میگیرد. • Clock Generation Block(CGB). • Interupt Service Block(ISB). • Serial Communication Block(SCB). • Debugger Block(DB). • Watching Block(WB). • و زیر مجموعه های دیگر 8051 (پورت سریال – موازی I/O ، تایمرها و ..)

  24. 1- حافظه خارجی: از 0000 تا 17FF حافظه ترکیب بندی بلوک PLBنگاشت شده است. - مطابق شکل قبل هر دو ناحیه Auxiliary و HW Probing Area فعال شوند و kb16 پایین باقی مانده به عنوان حافظه دیتای خارجی باشد. • همه k64 حافظه خارجی دیتا ممکن است نگاشت شود. • ناحیه 1و2و4 از حافظه دیتای خارجی اصلی جهت دسترسی به حافظه ترکیب بندی بلوک PLBHW Probing وAuxiliary به ترتیب غیر فعال میشوند.

  25. 1-Buffer Access Memory • به صورت پیش فرض Buffer Access نگاشت شده نیست. وقتی فعال شود Scratch Pad باید غیر فعال شود. زمانی که فعال است حافظه ها و ثبات ها از چندین بلوک مختلف تراشه FIPSOC قابل دسترس است. 1- حافظه ترکیب بندی بلوکهای PL 2- حافظه دیتای LUT از بلوک PL 3- حافظه پروب سخت افزار بلوک PL 4- حافظه ترکیب بندی CAB

  26. 2-نگاشت SFR توسعه یافته • تعدادی ثبات کاربردی خاص به SFR اصلی اضافه شده است تا مسایل کنترلی و ترکیب بندی و انتقال های مشخص دیتا انجام شود. • گروه بندی SFRها: الف- ثبات کنترل نگاشت سیستم(System Mapping Control Register) همراه با FIPSOC برای کنترل سازمان حافظه و مد Access Buffer استفاده می شود. 1- ماسک سطر وستون (2 ثبات 16 بیتی Row و Col )و یک نیم بایت ثبات کنترل عمومیRG2[7:4] 2- ثبات کنترل عمومی (RG3,RG2,RG1). 3-ثبات فرمان انتقال(RGTX) ب-ثبات های کنترل آنالوگ: که شامل 10 ثبات است که برای انتقال داده به CAB است.

  27. 3- پورت های در دسترس: 8051 32 خط دو جهته و قابل آدرس دهی منحصر I/O (4 پورت 8بیتی) رافراهم میکند. • بلوک های تولید پالس ساعت(CGB) برای هر زیر بخش FIPSOC کلاک داخلی مورد نیاز فراهم میکند.این بلوک شامل: • بلوک کامل برنامه ریزی تولید کلاک داخل چیپ با کریستال MHZ16 • Palse Looked Loop(PLL)

  28. بلوک های تولید پالس ساعت • انواع کلاک های FIPSOC: کلاک میکروی8051 : Khz 500 تا Mhz48 . کلاک CAB : khz50 تا Mhz4. کلاک DMC ها : Hz244تا Mhz96. • کلاک های 8051 نیمی از فرکانس اسیلاتور می باشند.(Mhz8 اگر کریستال Mhz16 باشد) FIPSOC بعضی از ثبات های SFR در حافظه داخلی 8051 را برای تعیین حالت این بلوک استفاده می کند.

  29. Main Clock • کلاک های مختلفی از این کلاک مشتق می شوند که خود آن از کریستال و یا از PLL ناشی میشود. CKMain به عنوان سنکرون کننده کلاک های همه بلوک ها بکار می رود. • کلاک 8051: از یک تقسیم کننده قابل برنامه ریزی Main Clock مشتق می شود.

  30. توقف کلاک: کلاک ها می توانند توسط توقف فرکانس تقسیم کنندشان متوقف شوند. موقعی که مدار Clock Stopping فعال می شود(بیت 7 رجیستر CKCONF ست شود) دو رویداد می تواند سبب توقف کلاک شود. 1- توقف سخت افزاری: سیگنالی که از سخت افزار قابل برنامه ریزی می آید سبب یک استثنا سخت افزاری و مسدود شدن کلاک میشود. 2- توقف نرم افزاری: کاربر می تواند تعداد معینی لبه کلاک را تعیین کند که بعد از آن توقف نرم افزاری بوجود می آید. هر دو فعال کننده کلاک و توقف کننده آن در حافظه SFR از 8051 نگاشت شده اند. دو مود 1و2 می توانند همزمان وجود داشته باشند.

  31. اینتراپت های خارجی میکرو • این بلوک جهت توسعه منابع دو اینتراپت خارجی استاندارد 8051 که به همه زیر بخش های سیستم می رود استفاده شود. • 9 منبع اینتراپت وجود دارد که به طوری که هر دو سطح High و Low و یا لبه های بالا رونده و پایین رونده می تواند به عنوان تریگر اینتراپت انتخاب شود. • چندین بردار اینتراپت وجود دارد که در مد نرمال ، بردار های اینتراپت منحصر به فردی برای هر یک از دو ورودی اینتراپت خارجی می باشد. • بلوکEIC (External Interupt Controller)یک مد بردار اینتراپت چندگانه اضافه شده فراهم میکند.

  32. اینتراپت های خارجی میکرو • در میکرو 5 منبع اینتراپت با دو سطح تقدم وجود دارد. • اینتراپت های خارجی 8051 هر کدام می توانند حساس به سطح یا لبه باشند که وابسته به بیت های IT0و IT1 در رجیسترTCON می باشند. • فلگ هایی که در حقیقت این اینتراپت ها را تولید می کند بیت های IE0 و IE1 از TCON می باشند.

  33. فلگ ها به شرطی صفر می شوند : • 1- به وسیله سخت افزار اگر پاسخ به اینتراپت حساس به لبه باشند. • 2- به وسیله منبع درخواست کننده خارجی که اگر حساس به سطح باشد این فلگ صفر می شود.

  34. بلوک دیاگرام سیستم اینتراپت PL BLOCK Programmable Hardware Intrrupts Eternal Data Address Bus Program Address Bus Program Code Bus External Data Bus End of Conversion EIC BLOCK PLL Stablization Stop Interrupt Clock Generation Block CAB INT0 INT1 8051 Comm. Interrupt SW Breakpoint Interrupt Serial Comm. Block Debugging Block

More Related