اطلاعیه

Collapse
No announcement yet.

پروژه Clock توسط CPLD معروف از خانواده ALTERA

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    #16
    FPGA

    نوشته اصلی توسط rezababa
    سلام
    من در مورد میکرو با چند سیم، پورت موازی را به میکرو متصل می کردم آیا برای پروگرم کردن fpgaهم همین طور هست یک راهنمایی کنید
    پروگرم کردن FPGAها وابسته یه نوع آنها است. FPGA از خانواده های متفاوتی تشکیل شده است که هر کدام قابلیتهای خاص خود را شامل می شود. اصولا باید اول با نوع نیاز سپس با خود تراشه آشنا باشید که البته روش پروگرم شدن هم میتواند به خودی خود در طرح نهایی موثر باشد.
    معمولا FPGA ها به روش JTAG برنامه ریزی می شوند که در این روش از چهار پین استفاده می کنند:

    1- TDI که یک پین ورودی است . این پین آدرس و دیتا را به داخل چیپ هدایت میکند.
    2- TDO که یک پین خروجی است و می توان از طریق آن برنامه ریزی چیپ را آزمایش کرد. ( در این روش TDI با TDO مقایسه می شود)
    3- TCK که یک پین ورودی است و از طریق این پین Clock برنامه ریزی چیپ تامین می شود. (پین های TDI و TDO با توجه به سطح پالس های این (کلاک) Clock عکس العمل نشان می دهند. که TDI با لبه بالا رونده و TDO با لبه پایین رونده عمل می کنند.)
    4- TMS - از طریق این پین FPGA ریست می شود و یا می توان مد تست را مشخص کرد.

    در عمل شما نیازی به گاهی کامل از سیگنالهای مورد نیاز این پینها نخواهید داشت زیرا تمام سیگنالهای مورد نیاز توسط پروگرمر تامین می شوند اما هنگامی که خود شما وظیفه اتصال اینترفیس پینهای کانکتور پارالل و پینهای تراشه را دارید این گاهی مختصر، مفید خواهد بود. برای نمونه در خانواده ALTERA می توانید چند تراشه را با هم و بطور همزمان برنامه ریزی کنید که در این حالت پین TDO از تراشه اول را به پین TDI از تراشه بعد متصل می کنید، پین TDO از آخرین تراشه نیز به پین همنام آن روی Connector پارالل متصل می شود. البته باید توجه داشته باشید که اتصال تراشه و پورت پارالل به صورت غیر مستقیم و از طریق یک بافر راه انداز، برقرار می شود. برای اطلاعات بیشتر به برگه اطلاعاتی چیپ مورد نظر و نرم افزار مربوطه مراجعه کنید.

    پروگرمری که در MAX+PLUS II و از روش JTAG استفاده میکند Byte Blaster نام دارد.
    حتما توجه داشته باشید که پینهای برنامه ریزی بعد از عملیات پروگرم کردن وابسته به مشخصات تراشه می توانند به حالت های غیر فعال، High impedance و یا I/O تبدیل شوند که بخصوص در حالت I/O با ید اتصالات و وضعیت این پینها را برای جلوگیری از اتصالات نا خواسته پیشبینی کنید.

    روشهای دیگری نیز برای پروگرم کدن چیپ وجود دارند که نسبت به نوع تراشه،پروگرمر و طرح شما انتخاب می شوند.
    11001010110010001100100011110010101111101100101
    011000110110110001100101011000110111010001101001
    01100011

    دیدگاه


      #17
      FPGA

      سلام
      دوست عزیز ممنون اطلاعات خوبی بود اما به طور عملی چیزی نفهمیدم لطفا مرجعی کتابی یا سایتی را معرفی کنید ممنون

      دیدگاه


        #18
        FPGA

        نوشته اصلی توسط rezababa
        سلام
        دوست عزیز ممنون اطلاعات خوبی بود اما به طور عملی چیزی نفهمیدم لطفا مرجعی کتابی یا سایتی را معرفی کنید ممنون
        VHDL مقدماتی - از شبیه سازی تا سنتز
        سوداکار یالامانچی
        قیمت: 3200 تومان


        VHDL


        ANALYSIS AND MODELING OF DIGITAL SYSTEMS

        ZAINALABEDIN NAVABI

        قیمت سال 1378: 5000

        این دو کتاب اساساً برای طراحی به زبان VHDL نوشته شده اند و همچنین شما را با تکنیک های خاص آشنا می کنند. VHDL یک زبان خاص توصیفی است این به خود شما بستگی دارد که چه روشی را برای طراحی مدار خود در دل یک FPGA بکار ببرید. اما اگر قصد دارید که یک طراح غیر حرفه ای FPGA باشید نیز باید با VHDL آشنایی داشته باشید.
        در عین حال باید در جریان باشید که تکیه دادن به مسایل تئوری کتاب کافی نیست.
        اگر کتاب های جدید تری در این زمینه وارد بازار شده باشند که کار با نرم افزارهای مربوط به FPGAها را در کنار آشنایی با FPGA شرح می دهند من در جریان نیستم و لی FPGA به همراه VHDL خود یک محیط و یک Term جدا از دیگر بخشهای الکترونیک را احتیاج دارند و میتوان آنها را به FPGA مقدماتی و پیشرفته تقسیم بندی کرد که آیا برای رفع نیازهایی گذرا به سراغ آن میروید و یا قصد دارید آنرا بصورت حرفه ای ادامه دهید ولی در هر صورت برای شروع به سراغ نرم افزارهای متفرفه نروید. بطور حتم نرم افزاری که یک شرکت تولید کننده FPGA و CPLD برای قطعات خود طراحی میکند معمولا با نیازها آشنایی بیشتری دارد و بهتر عمل خواهد کرد. ALTERA به همراه نرم افزار MAX+PLUS II در حال حاضر یکی از بهترین پیشنهادهای من به شما است. و برای شروع میتوانید به سراغ تراشه هایی که در سری MAX7000 معرفی شده بروید. حتماً خودتون هم بیشتر تحقیق کنید.

        موفق باشید.
        11001010110010001100100011110010101111101100101
        011000110110110001100101011000110111010001101001
        01100011

        دیدگاه


          #19
          FPGA

          نوشته اصلی توسط shahriar
          با سلام

          من چند وقت پیش از یک آقایی در مورده یک FPGA که باهاش بشه شروع کرد پرسیدم و اون این رو معرفی کرد. EPM7128SLC84-15 Max7000s Series و گفت که قیمتش در تهران حدود 7000 تومن هست. در این سایت هم همین مدل پیشنهاد شده.

          ولی من نمی دونم که این بورده FPGA هست و یا فقط یک آی سی هستش؟ چون من در اینترنت که نگاه می کردم. (www.FPGA4Fun) یکسری بورد هایی بود که بر روش یک FPGA لحیم شده بود و یکسری مدارات جانبی که برای راه اندازی لازم هست مثل PROM بر روی اون بورد سوار بود. قیمتاش هم از 17 دلار شروع میشد میرفت به بالا! اینم لینک هاش!
          http://www.fpga4fun.com/board_Xylo.html
          http://www.fpga4fun.com/board_pluto-P.html
          http://www.fpga4fun.com/board_dragon.html


          چیزی که به نظر می رسه اینه که اون شماره ای که در بالا نوشتم فقط یک ای سی تنها هست و برای راه اندازیش باید علاوه بر مدار چاپی مدارات دیگه هم کنارش بذاری! اگر اینطوره آیا اون بورد های FPGA هم در تهران وجود داره؟ اگر هست قیمتاشون در چه حدودیه؟

          با تشکر
          شهریار

          آقا شهریار گل سلام

          سوال شما رو انتقال دادم اینجا تا اگه بچه های دیگه هم مشکلی مثل شما داشتند پاسخ خودشون رو بگیرند. بهتره هر سوالی دارید برای جلوگیری از پخش شدن مباحث اون رو تو بخش خودش مطرح کنید.

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

          قبلا توضیحات مختصری در مورد FPGAها داده شده ولی بخاطر شما هم یکبار دیگه اینجا براتون می نویسم:

          FPGA در فرهنگ لغات ما به معنی سطحی پوشیده از آرایه گیتهای قابل برنامه ریزی میباشد.

          اگر درس مدار منطقی را گذرانده باشید می دانید که برای ساختن یک معادله جبری میتوان از چند گیت منطقی استفاده کرد یعنی در حقیقت برای بدست آوردن نتیچه مورد نظر میتوانیم گیت های موجود را باهم ترکیب کنیم. یکی از گیت هایی که می شود از آن به عنوان یک گیت همه کاره نام برد گیت NAND است.

          -o(|= گیت NAND

          وقتی دوپایه ورودی را به هم متصل میکنید و در حقیقت آنها را مشترک می کنید از این به بعد NOT سیگنال ورودی در خروجی ظاهر می شود و به همین راحتی یک گیت NOT ساخته اید و چند نمونه دیگر .
          در درون FPGA تعداد زیادی گیت های منطقی وجود دارد که نوع و تعداد گیتها و روش برقراری ارتباط بین گیتها توسط شرکت های سازنده و خانواده های گوناگون متفاوت است. وشما با ارتباط دادن گیت های درون FPGA خود یک مدار منطقی با حجمی کم و امنیت بیشتر در برابر نویزهای نا خواسته نسبت به مشابه آن مدار با استفاده از آیسی های گسسته میسازید.(تصور کنید 100 گیت را در خارج از یک چیپ FPGA که چه فضایی را اشغال می کنند و بیشتر از ده ها IC گسسته به کار میبرید و احتمالا از همه گیت ها نیز استفاده نمی کنید و در حقیقت مدار شما قابلیت های نمونه FPGA را نیز نخواهد داشت ).

          وقتی شما قصد دارید که از روی یک 74LS00 یک گیت NAND را به یک گیت NOT تبدیل کنید باید دو پین ورودی گیت مورد نظر را از روی پایه های IC به هم متصل کنید. معمولا برروی برد آزمایشی از یک سیم کوتاه استفاده میکنید اما در درون یک FPGA شما باید با یک میکروسکپ به دنبال پایه های ورودی گیت های مورد نظر بگردید و سپس با تکنولوژی نانو یک سیم بسازید تا گیتهای مورد نظر را به هم ارتباط دهید! واقعا چنین نیست. هر مدار منطقی معمولا از پیوستن چند گیت منطقی که گاها نوع آنها هم باهم متفاوت است ساخته می شود و حال هزاران گیت را تصور کنید که با ید درون FPGA به هم متصل شوند. تکنیک های متفاوتی توسط شرکتهای سازنده FPGA ها استفاده شده است که نحوه برقراری ارتباط بین پایه های گیت ها خود موجب بوجود آمدن کاربردهای متفاوت شده است. ما یک نمونه را مثال میزنیم: در بین گیتها باید رابط هایی داشته باشیم تا آنها را به هم ارتباط دهیم، به آنها Interconnection میگوییم. خوب Interconnectionها باید فعال و غیر فعال باشند، مانند یک کلید: باز و بسته، تکنولوژیی که برای این کلیدها به کار برده شده است متفاوت است. (فیوزبیت، SRAM، EEPROM) و... .
          در EPM7128SLC84-xx از تکنولوژی EEPROM استفاده شده است. و حال بجای باز و بسته کردن کلید ها، بیت ها را '1' و '0' می کنیم.

          چگونه می توانم گیتهای خودم را در بین هزاران گیت مشخص کنم؟

          کامپایلرها این کار را انجام می دهند. در یک نمونه شما با توسط یک زبان توصیف سخت افزاری مانند VHDL به کامپایلر می گویید من این و آن را می خواهم. کامپایلر هم با توجه به برنامه ریزی که از طرف شرکت سازنده شده است با بهترین و نزدیکترین راه گیتها را به هم مرتبط میکند و در پایان یک فایل خروجی را که مورد نیاز Programmer است میسازد. (البته در مثال ما )
          در پایان شما فایل را تحویل Programmer میدهید و پروگرمر نیز عملیات خواسته شده را برروی چیپ اجرا میکند.

          نکته: یکی از دلایل قوی برای انتخاب EPM7128SLC84-xx استفاده از EEPROM است که اگر شما تغذیه مدار را قطع کنید هنوز مداری که در داخل CPLD برنامه ریزی شده است باقی می ماند اما طراحی در یک FPGA که از SRAM استفاده می کند به هنگام قطع تغذیه مدار نیز از بین میرود.


          خوب مزیت نوعی که از SRAM استفاده می کند چیست؟

          درست است، اگر تغذیه قطع شد دیگر یک FPGA خام بدون برنامه چه استفاده ای دارد؟
          همان طور که می دانید SRAM بخاطر تکنولوژی آن از EEPROM سریعتر است. یعنی دو FPGA با معماری مشابه اما با Interconnectionهای SRAM و EEPROM به ترتیب سریعتر و دیرتر برنامه ریزی می شوند، یکی از کاربردهای FPGA ها می تواند ایجاد ارتباط Dynamic باشد. مثلا شما میتوانید توسط یک FPGA همان طور که در یکی از LINK های شما وجود دارد، مداری برای ارتباط با ISA طراحی کنید و بعنوان مثال از این مدار ISA کانکتوری به دیگر مدارهای ساخت خود اتصال دهید. به طبع ممکن است ورودی و خروجی های دیگر مدارها با پل ISA شما متفاوت باشند اما هنگامی که از مداری به مدار دیگر پرش می کنید می توانید سیگنالهای مورد نیاز مدار جدید را با برنامه ریزی کردن جدید FPGA تامین کنید، اما در طرف دیگر ارتباط FPGA با PC ثابت است (ISA Bus). اینجا کاربرد ما یک Adaptor باس ISA است. تصور کنید که می خواهید مدارها را بطور دستی به آداپتور FPGA خودتون متصل کنید، اگر به فرض FPGA شما از پورتهای سه وضعیتی برخوردار نیست، یک راه به این صورت است که کامپیوتر را خاموش می کنید، مدار را از آداپتور FPGA جدا می کنید، مدار جدید را جایگزین می کنید، به فرض آنکه نرم افزار می داند که باید در هنگام بوت شدنFPGA را با مدار جدید مطابقت دهد کامپیوتر را راه اندازی می کنید ، و سپس ادامه ماجرا. اما فرض کنید که 10 عدد مدار متفاوت دارید که هرکدام نیاز دارند به سرعت با باس ISA ارتباط برقرار کنند و اندک تعدیلی می تواند سبب از دست رفتن اطلاعات شود، حتی تغییر وضعیت معماری مدار جدید در FPGA برای مطابقت دادن آن با نیازهای مدارهای جانبی می تواند امری حیاتی باشد، در این مثال یکی به علت تعداد بالای تغیرات در برنامه ریزی مدار طراحی شده در درون FPGA و دیگری نیاز سرعتی بیشتر از تکنولوژی EEPROM از نوع SRAM دار استفاده می کنیم. با تکنولوژی SRAM میتوانید بطور مادام العمر FPGA را برنامه ریزی کنید.

          در اینجا اصول کلی و آشنایی سطحی مد نظر بود، اکنون تقریبا میدانید که FPGA چیست و باید چه انتظاراتی از آن داشته باشید هرچند که توضیحات به هیچ وجه کامل نیستند و لازم است که به کتب و مراجع مربوطه مراجعه کنید.

          موفق باشید.
          11001010110010001100100011110010101111101100101
          011000110110110001100101011000110111010001101001
          01100011

          دیدگاه


            #20
            FPGA

            سلام
            منmaxplusرادر xpنصب کردم اما محیط شماتیکش کار نمیکنه راهنمایی کنید

            دیدگاه


              #21
              FPGA

              سلام . خوبی رضا جان ؟
              ببین رضا جان یه فایل لایسنس دات dat داره باید اون رو بهش بدی تا اجازه بده با اون محیط کار بکنی . اگه خوش شانس باشی کار میکنه . اگه نه باید ویندوزت رو فرمت کنی بعد اولین نرم افزاری که نصب میکنی همین نرم افزار باشه بعد هم در جا این فایل dat رو بهش بدی .
              در غیر اینصورت باید بری توی سایت خودشون بعد یه لایسنس student دارن که فقط روی چند تا آی سی خاصشون کار میکنه اون رو بگیری که مجانی هست نباید برنامه هات از حد گیت های اون آی سی ها فراتر بره .
              موفق باشید .
              شأن انسان در ايمان و هجرت و جهاد است و هجرت، مقدمهآ‌ي جهاد فيآ‌سبيلآ‌الله.
              هجرت، هجرت از سنگينيآ‌هاست و جاذبهآ‌هايي كه تو را به خاك ميآ‌چسباند.
              چكمهآ‌هايت را بپوش، رهآ‌توشهآ‌ات را بردار و هجرت كن.

              دیدگاه


                #22
                پاسخ : FPGA

                سلام
                آقا کسی درایور Byte Blaster را داره؟ من که نتونستم از سایت ALTERA دانلود کنم.

                دیدگاه


                  #23
                  پاسخ : FPGA

                  سلام
                  آقا کسی نیست جواب من را بده ؟

                  دیدگاه


                    #24
                    پاسخ : FPGA

                    نوشته اصلی توسط roohollah36
                    سلام
                    آقا کسی درایور Byte Blaster را داره؟ من که نتونستم از سایت ALTERA دانلود کنم.
                    با سلام

                    اگر منظورتون از درایور ، همون شماتیک اینترفیس پروگرامر FPGA هست ، اینجا رو ملاحظه بفرمایید .
                    http://www.eca.ir/forum2/index.php/topic,10649.0.html

                    دیدگاه


                      #25
                      پاسخ : FPGA

                      اگه میشه یکی درمورد دستگاه تست دمای کنتاکت کنتاکتور به من کمک کنه میدونم اینجا جاش نیست اما هیچکی توی اتاقهای دیگه جوابمو نمیده

                      دیدگاه


                        #26
                        پاسخ : پروژه Clock توسط CPLD معروف از خانواده ALTERA

                        دوست خوبمeddy_eclectic متشکر از لطفتون :smile:
                        اما متاسفانه لینک مطالبی که گذاشتین باز نشده و دچار مشکله :angry: :eek:
                        ممنون میشم بر طرف کنید تا استفاده کنم :bye

                        دیدگاه

                        لطفا صبر کنید...
                        X