اطلاعیه

Collapse
No announcement yet.

ماژول ضرب و تقسیم قابل سنتز در Verilog

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

    ماژول ضرب و تقسیم قابل سنتز در Verilog

    سلام!
    میخواستم بدونم کسی درباره ماژولهای ضرب کننده و باقیمانده در زبان Verilog که قابل سنتز بر روی FPGA باشه اطلاع یا پیشنهادی داره؟چون عملگرهای * و % به عنوان ضرب و باقیمانده قابل سنتز روی سخت افزار نیستند.
    چرخ بر هم زنم ار غير مرادم گردد من نه آنم که زبوني کشم از چرخ فلک

    #2
    پاسخ : ماژول ضرب کننده و باقیمانده در Verilog

    نوشته اصلی توسط حامد سیلیکن
    سلام!
    میخواستم بدونم کسی درباره ماژولهای ضرب کننده و باقیمانده در زبان Verilog که قابل سنتز بر روی FPGA باشه اطلاع یا پیشنهادی داره؟چون عملگرهای * و % به عنوان ضرب و باقیمانده قابل سنتز روی سخت افزار نیستند.
    با سلام
    اینکه بگوییم قابل سنتز نیستند به نوعی حرف غلطی است. این کاملا بستگی به ابزار سنتز دارد. ممکن است ابزار سنتزی این ماژولآ‌ها را سنتز کند و یا نکند. فکر کنم ضرب جزو ماژولآ‌های استاندارد برای سنتز باشد و معمولا به صورت array-multiplier سنتز شود. البته قطعا ماژول تقسیم را ابزار سنتز به صورت مستقیم سنتز نمیآ‌کند.
    دقت کنید در محیط FPGA میآ‌توانید از ضربآ‌کنندهآ‌های داخلی هم استفاده کنید. امروزه اکثر FPGA چندین ماژول ضرب دارند.
    من دوست دارم آزاد فکر کنم، نرمآ‌افزارآ‌ و سختآ‌افزارهای آزاد را به کار ببرم و اگر توانستم نرمآ‌افزار، سختآ‌افزار و محتوای آزاد درست کنم!

    دیدگاه


      #3
      پاسخ : ماژول ضرب کننده و باقیمانده در Verilog

      سلام!
      متشکرم.اما مشکل اصلی من طراحی یک ماژول باقیمانده یا همون تقسیم است که تو یک پالس ساعت کل عملیات تقسیم رو انجام بده.
      چرخ بر هم زنم ار غير مرادم گردد من نه آنم که زبوني کشم از چرخ فلک

      دیدگاه


        #4
        پاسخ : ماژول ضرب کننده و باقیمانده در Verilog

        نوشته اصلی توسط حامد سیلیکن
        سلام!
        متشکرم.اما مشکل اصلی من طراحی یک ماژول باقیمانده یا همون تقسیم است که تو یک پالس ساعت کل عملیات تقسیم رو انجام بده.
        با سلام
        خوب بستگی به سرعت کلاک داره. شما همواره میآ‌توانید آن قدر سرعت کلاک را کم کنید تا پیچیدهآ‌ترین ماژولآ‌ها هم در یک کلاک جواب بدهند. عمل تقسیم عملیاتی پیچیده است و در خیلی از موارد با شیف و جمع و تفریق در چند کلاک انجام میآ‌شود.

        * همانند ضربآ‌کنندهآ‌ی آرایهآ‌ای (Array Multiplier) تقسیم آرایهآ‌ای (Array Divider) نیز وجود دارد که نیازی به کلاک ندارد و کاملا یک مدار ترکیبی (combinational) است. ولی حجم گیت فراوانی مصرف میآ‌کند.
        ** طول عملیات شما چند بیت است؟ به عنوان مثال اگر بیتآ‌ها آن خیلی کم است میآ‌توانید از یک ROM هم استفاده کنید. این سریعآ‌ترین حالت ممکن است.
        من دوست دارم آزاد فکر کنم، نرمآ‌افزارآ‌ و سختآ‌افزارهای آزاد را به کار ببرم و اگر توانستم نرمآ‌افزار، سختآ‌افزار و محتوای آزاد درست کنم!

        دیدگاه


          #5
          پاسخ : ماژول ضرب کننده و باقیمانده در Verilog

          سلام!
          محاسبات برنامم 32 بیتی است.من برنامه رو به زبان Verilog نوشتم و روی کامپیوتر تو ModelSim شبیه سازی کردم و جواب داد.تنها مشکلی که داره اینه که توی برنامه از عملگر ضرب و تقسیم بطور مستقیم استفاده شده که سنتز نمیشه.
          حالا من به دنبال راهی میگردم که بتونم این مشکل رو حل کنم تا برنامه بتونه سنتز بشه.
          ممنون میشم اگه تو این زمینه راهنماییم کنید.
          چرخ بر هم زنم ار غير مرادم گردد من نه آنم که زبوني کشم از چرخ فلک

          دیدگاه


            #6
            پاسخ : ماژول ضرب و تقسیم قابل سنتز در Verilog

            با سلام
            تعجب میآ‌کنم، معمولا ابزارآ‌های سنتز FPGA ضرب را تشخیص داده و سنتز میآ‌کنند. در صورتی که خود تراشه ضرب کننده داخلی هم داشته باشد از آن استفاده میآ‌کند.
            مثالی برای altera:
            http://www.altera.com/support/examples/verilog/ver-unsigned-multiplier.html

            استفاده از ضرب کنندهآ‌های داخلی تراشه روی Xilinx سری Spartan 3:
            http://www.xilinx.com/support/documentation/application_notes/xapp467.pdf
            من دوست دارم آزاد فکر کنم، نرمآ‌افزارآ‌ و سختآ‌افزارهای آزاد را به کار ببرم و اگر توانستم نرمآ‌افزار، سختآ‌افزار و محتوای آزاد درست کنم!

            دیدگاه


              #7
              پاسخ : ماژول ضرب و تقسیم قابل سنتز در Verilog

              سلام آقای MAINIAN
              ببخشید اینکه فرمودین اگر خودش ضرب کننده داشته باشه از همون استفاده می کنه یعنی فقط ضرب ها رو با علامت * در برنامه نویسی بگذارم مثلC=A*B خودش از ضرب کننده های داخلی استفاده می کنه؟

              ممنون
              خبر آمد خبری در راه است---- خرم آندل که ازو گاهست

              دیدگاه


                #8
                پاسخ : ماژول ضرب و تقسیم قابل سنتز در Verilog

                سلام دوست عزیز من داشتم توو نت دنبال یه تقسیم کننده با fpga میگشتم ک رسیدم ب این تاپیک.
                عرض کنم خدمت ات منتونستم بدون هیچ مشکلی یه تقسیم کننده با مانده رو طراحی و سنتز کنم، حتی اون رو روی spartan6 ریختم و هیچ مشکلی نداشت شکر خدا
                شما برنامه ای ک نوشتی رو بذار ، ببینیم مشکلات اش چیه، ک سطر ب سطر توضیح بدم بهت

                دیدگاه

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