اطلاعیه

Collapse
No announcement yet.

جمع آورِی Core های موجود

Collapse
این موضوع برجسته شده است.
X
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    جمع آورِی Core های موجود

    سلام به همه

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

    فرمت قرار دادن Core ها به شکل زیر باشه که همه چیز مشخص باشه و به راحتی بشه Core مورد نظر رو پیدا کرد-از قرار دادن پست های غیر مربوط خودداری کنید و سوال ها در تاپیک های دیگه بپرسید :


    نام Core

    توضیحی در مورد Core

    توضیح در مورد ورودی و خروجی Core


    دیگه شروع کنید.
    ممنونم

    (((پاورقی)))

    توضیح کوچکی در مورد Core:

    با یک مثال توضیح میدم
    یک IC رو در نظر بگیرید
    مثل 7400 که 4 گیت NAND است



    ما در VHDL یا Verilog این توانایی رو داریم که چنین آی سی رو بسازیم.
    حالا کجا و به چه شکل؟
    همان تکه کد VHDL یا Verilog که مینویسید-برای سیستم بصورت یک آی سی تفهیم میشه
    حالا پایه ها کجان؟
    در entity وقتی وروردی و خروجی ها رو تعریف میکنیم-در اصل در حال ایجاد پایه ها هستم
    (در VHDL با entity و در Verilog در جلوی Module)
    مثلا برای یک آی سی با یک گیت - پایه ها بصورت زیر تعریف میشه :
    entity NAND is
    port (10 : in std_logic;
    9 : in std_logic;
    8 : out std_logic);
    وقتی برنامه تکمیل میشه و تکه کد VHDL کامپایل میشه.یک آی سی واقعی ساخته میشه.
    حالا اون رو تو فولدر برنامه قرار میدید و با دستور PORT MAP ازش کپی میگیرید
    ما با این کار یک Core کوچیک ساختیم
    این Core میتونه متشکل از صد ها یا هزاران IC باشه.پس محدودیتی نداره.Core ها میتونن توی هم استفاده بشن.
    هر قطعه دیجیتالی رو میشه به شکل Core تعریف کرد
    هیچ فرقی هم نمیکنه که در کدوم ابزار پیاده سازی از جمله : ISE یا Quartus یا ... باشید.این حالت مربوط به زبان توصیف سخت افزاره
    حتی این تکه کد میتونه در محیط شماتیک-کاملا شبیه سمبل یک آی سی دیده بشه و استفاده بشه

    خدا گفت : به جهنم ببریدش، او برگشت و با تعجب به خدا نگاه کرد. خدا گفت : به بهشت ببریدش. فرشتگان پرسیدند: چرا؟! خدا گفت : او هنوز به من امیدوار است...

    #2
    پاسخ : جمع آورِی Core های موجود

    این Core که ارتباط سریال UART هست رو دوستمون آقای پوریا علی نژاد زحمتش رو کشیدن

    نام : ارتباط سریال UART

    توضیحات : این Core برای ارتباط سریال به هر تعداد در داخل FPGA بکار میره-نوع FPGA فرق نمیکنه و فقط باید ابتدا در یک پروژه جدید در کامپایل بشه و بعد بصورت Componenet یا بصورت یک Symbol در محیط شماتیک استفاده بشه.Clock ورودی به FPGA و Boadrate از داخل کد در قسمت Generic اول برنامه تنظیم میشه

    ورودی و خروجیها : همونطور که در تصویر زیر میبینید - من این Core رو ISE کامپایل کردم و بصورت Symbol زیر درآوردم
    tx و rx که مشخص هست.
    clk کلاک اصلی FPGA هست.
    rst با هر بار 1 شدن ماژول رو ریست میکنه.
    tx_data دیتایی است که باید ارسال شود و rx_data دیتایی است که دریافت میشود.
    par_en برای parrity bit است
    tx_reg برای دستور شروع ارسال است.
    rx_ready برای اعلام دریافت دیتا است.





    دانلود ماژول : http://eca.ir/sharing/uploads/13343167631.rar
    خدا گفت : به جهنم ببریدش، او برگشت و با تعجب به خدا نگاه کرد. خدا گفت : به بهشت ببریدش. فرشتگان پرسیدند: چرا؟! خدا گفت : او هنوز به من امیدوار است...

    دیدگاه


      #3
      پاسخ : جمع آورِی Core های موجود

      درود فراوان به شما دوست عزیز

      دیدگاه


        #4
        پاسخ : جمع آورِی Core های موجود



        نام Core : برای استفاده از SDR SDRAM

        http://www.altera.com/patches/ref_de...sdram-vhdl.zip
        خدا گفت : به جهنم ببریدش، او برگشت و با تعجب به خدا نگاه کرد. خدا گفت : به بهشت ببریدش. فرشتگان پرسیدند: چرا؟! خدا گفت : او هنوز به من امیدوار است...

        دیدگاه


          #5
          پاسخ : جمع آورِی Core های موجود

          به کمک این ماژول VHDL می توانید CRC16 یک رشته داده را به صورت کاملا پارالل محاسبه کنید.
          این برنامه الگوریتم X^16+X^15+X^2+1 را پیاده می کند.
          این برنامه نیاز به کلاک ندارد. برای استفاده از این برنامه سورس برنامه به صورت فایل txt است که باید به vhd تغییر کند.

          http://up98.org/upload/server1/02/i/zo09kmfu9rw0wigtl9.txt

          نتایج شبیه سازی در شکل زیر آمده است. برای شروع محاسبه CRC برای هر بایت می بایست ورودی WrEn در حالت High قرار گیرد. به محض ایجاد لبه پایین رونده روی ورودی WrEn داده CRC در خروجی تثبیت می شود(با تاخیری در حد 5 نانو ثانیه). بهتر است در زمان High بودن WrEn دیتای ورودی (ِِِDIn) تغییر نکند. اگر تغییری در این داده صورت پذیرد معیار محاسبه آخرین مقدار معتبر DIn قبل از لبه پایین رونده WrEn خواهد بود.
          ورودی های Reset و Clear عملکرد مشابهی دارند و سبب ریست شدن کلیه طبقات به مقدار پیش فرظ اولیه می شود. برای محاسبه هر رشته جدید می بایست یکبار سیگنال Clear اعمال شود.

          اعمال ورودی ReverseOutput سبب چرخش خروجی (جابه جایی سمت MSB با LSB) می شود. در شکل زیر شبیه سازی برای محاسبه رشته "hello word" درج شده است.




          مقایسه نتایج شبیه سازی با نتایج تولید شده توسط سایتی که به صورت Online این محاسبه را انجام می دهد. بر صحت برنامه دلالت دارد



          توان هر کس به وسعت همت اوست امام علی (ع)

          دیدگاه


            #6
            پاسخ : جمع آورِی Core های موجود

            نام Core : میکروکنترلر AVR


            http://wdl.persiangig.com/pages/down...e/avr_core.rar
            خدا گفت : به جهنم ببریدش، او برگشت و با تعجب به خدا نگاه کرد. خدا گفت : به بهشت ببریدش. فرشتگان پرسیدند: چرا؟! خدا گفت : او هنوز به من امیدوار است...

            دیدگاه


              #7
              پاسخ : جمع آورِی Core های موجود

              نام Core : ارتباط I2C

              http://wdl.persiangig.com/pages/down...ster_slave.rar
              خدا گفت : به جهنم ببریدش، او برگشت و با تعجب به خدا نگاه کرد. خدا گفت : به بهشت ببریدش. فرشتگان پرسیدند: چرا؟! خدا گفت : او هنوز به من امیدوار است...

              دیدگاه


                #8
                پاسخ : جمع آورِی Core های موجود

                نام Core : ارتباط SPI

                http://wdl.persiangig.com/pages/down...ster_slave.rar
                خدا گفت : به جهنم ببریدش، او برگشت و با تعجب به خدا نگاه کرد. خدا گفت : به بهشت ببریدش. فرشتگان پرسیدند: چرا؟! خدا گفت : او هنوز به من امیدوار است...

                دیدگاه


                  #9
                  پاسخ : جمع آورِی Core های موجود

                  نام Core: میکروکنترلر 8051
                  کامل

                  http://wdl.persiangig.com/pages/down..._latest.tar.gz


                  خدا گفت : به جهنم ببریدش، او برگشت و با تعجب به خدا نگاه کرد. خدا گفت : به بهشت ببریدش. فرشتگان پرسیدند: چرا؟! خدا گفت : او هنوز به من امیدوار است...

                  دیدگاه


                    #10
                    پاسخ : جمع آورِی Core های موجود

                    سلام
                    کسی IP cores واسه Quartus نداره؟حتی پولی
                    نمیدونم این Quartus توی فروشگاه IP coresهاش فعاله بعد نصب یا نه

                    دیدگاه


                      #11
                      پاسخ : جمع آورِی Core های موجود

                      نوشته اصلی توسط eemajid
                      سلام
                      کسی IP cores واسه Quartus نداره؟حتی پولی
                      نمیدونم این Quartus توی فروشگاه IP coresهاش فعاله بعد نصب یا نه
                      چه فرقی داره؟؟!! Quartus یا ISE نداره!!
                      این کد VHDL هست و باید یه کپی از قطعه توی برنامه VHDL یا Verilog بیاری
                      فقط خواهشی که دارم اینه که سوال ها رو داخل این تاپیک نپرسید.چون میخوایم اینجا فقط Core ها باشند
                      ممنونم
                      خدا گفت : به جهنم ببریدش، او برگشت و با تعجب به خدا نگاه کرد. خدا گفت : به بهشت ببریدش. فرشتگان پرسیدند: چرا؟! خدا گفت : او هنوز به من امیدوار است...

                      دیدگاه


                        #12
                        پاسخ : جمع آورِی Core های موجود

                        نوشته اصلی توسط حمید نجفی
                        نام Core : میکروکنترلر AVR


                        http://wdl.persiangig.com/pages/down...e/avr_core.rar
                        سلام
                        پروگرام کردن core هایی که گذاشتید چطوریه؟
                        با تشکر

                        دیدگاه


                          #13
                          پاسخ : جمع آورِی Core های موجود

                          دوستان سوالات رو در این تاپیک دنبال کنید http://www.eca.ir/forum2/index.php?topic=62882.0
                          لطفا
                          اینجا فقط Core ها باشه
                          همه رو پاسخ میدم
                          خدا گفت : به جهنم ببریدش، او برگشت و با تعجب به خدا نگاه کرد. خدا گفت : به بهشت ببریدش. فرشتگان پرسیدند: چرا؟! خدا گفت : او هنوز به من امیدوار است...

                          دیدگاه


                            #14
                            پاسخ : جمع آورِی Core های موجود

                            با سلام و تشکر از این موضوع مفید
                            امروز یکی از بزرگ ترین و مهم ترین مراجع هسته های آی پی در دنیای سخت افزارهای بازمتن، سایت زیر هست که فکر می کنم معرفی اش در این جا ضروری است و جایش خالی
                            http://opencores.org/
                            کافی است که عضو شوید. بسیاری از هسته ها برای معماری های مختلف ارئه شده است
                            پیشنهاد می کنم دوستان برای هسته های پیچیده تر، نکته ها و تجربیات راه اندازی، پیکربندی، و آزمون این هسته ها را هم به صورت یک راهنمای کوچک این جا بیاورند تا دیگران در استفاده از همان هسته روند تکراری را نپیمایند
                            در ضمن هسته های آی پی الزاما به صورت کد توصیف سخت افزاری قابل انتقال نیستند بلکه حالت های مختلفی دارند
                            1- کد توصیف سخت افزاری قابل انتقال به معماری های مختلف که منابع و گیت کافی داشته باشند. مانند برخی هسته های مطرح شده در این جا
                            2- کد توصیف سخت افزار که برای بهبود سرعت یا مساحت یا هر دو ،برای یک معماری خاص بهینه شده اند و انتقال آن به معماری دیگر منوط به تغییر بخش های بهینه شده است. مثلا هسته یک PID که برای پیاده سازی ضرب در آن به جای پیاده کردن یک سخت افزار عمومی ضرب مانند بوت، از ضرب کننده های داخلی خود FPGA مقصد استفاده می کند. در واقع مصالحه بین کارایی و قابلیت انتقال ... .
                            3- هسته ها یی که مثلا نیاز به حافظه بلوکی دارند بدون لحاظ کردن حافظه مربوط به معماری مقصد، قابل پیاده سازی نیستند. مانند پردازنده نرم mico32 که علی رغم بازمتن بودن به زبان وریلاگ و ...، بخش حافظه اش مناسب FPGA ها خود شرکت lattice هست.
                            4- کد نت لیست که توصیف مدار برای یک معماری خاص بوده و در واقع متن بسته است. لذا استفاده آن در دیگر معماری ها منتفی است و تنها برای آن معماری قابل تغیر و پیکربندی است. مانند پردازنده نرم MicroBlaze از شرکت Xilinx.
                            5-هسته هایی هم که برای مقصد ASIC ارائه می شوند دارای بهینه سازی های متفاوتی در بخش کلاک و ریست و حافظه ها و غیره هستند که تناسبی با مقصد FPGA ندارد و برعکس.


                            دیدگاه


                              #15
                              پاسخ : جمع آورِی Core های موجود

                              با تشکر از دوست عزیزمون که core ها رو در اختیار قرار میدن...

                              یه نکته رو لازم دونستم عرض کنم ، به عنوان کسی که یه کم در زمینه FPGA تجربه دارم پیشنهاد میکنم برای طراحی fpga حتی الامکان از نرم افزار altium استفاده کنید به این دلیل که تمامی core ها به صورت فری (مجانی)در این نرم افزار در اختیار هست اما اگه بخواید از ise یا quartus استفاده کنید خیلی از هسته ها رو یا باید خودتون طراحی کنید یا از شرکت مربوطه خریداری کنید...
                              موفق باشید.

                              دیدگاه

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