سلام
بطور دقیق میشه حساب کرد که یک پروسس در چند کلاک انجام میشه
دستورات درون پروسس میتونند تا جایی که حجم فضای کد برای FPGA اجازه بده زیاد بشه یعنی اگر مثلا شما از یک XC3s400استفاده کنید میتونید توش یک پروسس داشته باشید که تمام 400 هزار گیت این FPGA رو استفاده کند
:read:
مگه میشه؟؟؟؟!!!!!!
هر پرسس در یک event اجرا میشه-نمیشه که !!!!
سلام
شما بیا در اولین خط از پروسس یک سیگنال رو 1 کن و در خط اخر بیا همون سیگنال رو 0 کن بعد بیا اون سیگنال رو بده به یکی از پایه های FPGA و پراپ اسکوپ رو بیا وصل کن به اون پایه و فرکانس اجرا شدن پروسس رو روی اسکوپ ببین
:read:
نمیدونم چی بگم
نکاتی در رابطه با Altium Designer 6.9
http://www.eca.ir/forum2/index.php?topic=42247.15
سلام
شما بیا در اولین خط از پروسس یک سیگنال رو 1 کن و در خط اخر بیا همون سیگنال رو 0 کن بعد بیا اون سیگنال رو بده به یکی از پایه های FPGA و پراپ اسکوپ رو بیا وصل کن به اون پایه و فرکانس اجرا شدن پروسس رو روی اسکوپ ببین
:read:
از نظر منطقی که این اصلا شدنی نیست!!!
پس گیت هایی که باهاش پروسس شکل میگیره کجا میرن؟! تاخیر ندارن؟
باسلام من یک سوال ساده دارم
اگر بخواهیم از پروسس استفاده کنیم بهتر نیست یک هسته arm کنار fpga باشد.؟
و اینطور بگم که درست هست کلا نقش یک میکرورو به fpga بدیم.؟!
---
یکی به من لطف کنه و بگه با پروسس چی کار کرده مثلا؟
باسلام من یک سوال ساده دارم
اگر بخواهیم از پروسس استفاده کنیم بهتر نیست یک هسته arm کنار fpga باشد.؟
و اینطور بگم که درست هست کلا نقش یک میکرورو به fpga بدیم.؟!
---
یکی به من لطف کنه و بگه با پروسس چی کار کرده مثلا؟
بحث دو زمینه کاملا متفاوته و اصلا نباید مقایسه کرد.حوزه عمل متفاوته.اینها ابزارن-نمیشه کفت من فقط چکش دارم، پس میتونم باهاش میز بسازم، حوزه کار FPGA ادوات خاص و نظامیه و process یک بخش ترتیبی در کار با FPGA اصلا مقایسه نکنید. این ها همه لازم و ملزوم یک مهندش هستن، اینکه به داشتن دانش یک چیز بسنده کنیم فقط داریم توانمندی خودمون رو کاهش می دیم
خدا گفت : به جهنم ببریدش، او برگشت و با تعجب به خدا نگاه کرد. خدا گفت : به بهشت ببریدش. فرشتگان پرسیدند: چرا؟! خدا گفت : او هنوز به من امیدوار است...
آقا این حرفا چیه پروسس خط به خط اجرا میشه یا اینکه میشه مشخص کرد چند کلاک طول میکشه ... البته من با vhdl فقط سلام علیک دارم! اما تا اونجایی که میدونم پروسس همون always وریلاگ هست.
باید گفت خط به خط ارزیابی و تخصیص داده میشه و در نهایت نتیجه گرفته شده از منطق داخل پروسس سنتز میشه.
اینجا بحث شبیه سازی که نیست. اگه پیاده سازی ترتیبیش رو درنظر بگیریم سخت افزاری پیاده سازی میشه که کل ارزیابی ها و تخصیص ها رو تو یک کلاک انجام میده. حالا می خواد 2 خط باشه یا 1000 خط، تمام خطوط non blocking موازی و جدا از هم پیاده سازی میشن. اصلا تو پیاده سازی معنی نداره اول پروسس یه سیگنال رو صفر کنی بعد آخرش یک! این یعنی با لبه کلاک همزمان هم صفر بشه هم یک! اگه سنتز بشه، سخت افزار آخرین تخصیص به عنوان نتیجه تولید میشه.
اصلا بشین 10000 خط کد بنویس تو پروسس (تا خرخره FPGA). چیزی که پروسس رو محدود میکنه طولانیترین تاخیر مدار داخل پروسس هست. یعنی باید هرچی ارزیابی و تخصیص هست کمتر از زمان کلاک طول بکشه. مثلا ممکنه تو یه پروسس 10 خطی، یک خط شرطی اونقد طول بکشه که مثلا با کلاک 200 مگاهرتز مد نظرت قابل پیاده سازی نباشه...
آقا این حرفا چیه پروسس خط به خط اجرا میشه یا اینکه میشه مشخص کرد چند کلاک طول میکشه ... البته من با vhdl فقط سلام علیک دارم! اما تا اونجایی که میدونم پروسس همون always وریلاگ هست.
باید گفت خط به خط ارزیابی و تخصیص داده میشه و در نهایت نتیجه گرفته شده از منطق داخل پروسس سنتز میشه.
اینجا بحث شبیه سازی که نیست. اگه پیاده سازی ترتیبیش رو درنظر بگیریم سخت افزاری پیاده سازی میشه که کل ارزیابی ها و تخصیص ها رو تو یک کلاک انجام میده. حالا می خواد 2 خط باشه یا 1000 خط، تمام خطوط non blocking موازی و جدا از هم پیاده سازی میشن. اصلا تو پیاده سازی معنی نداره اول پروسس یه سیگنال رو صفر کنی بعد آخرش یک! این یعنی با لبه کلاک همزمان هم صفر بشه هم یک! اگه سنتز بشه، سخت افزار آخرین تخصیص به عنوان نتیجه تولید میشه.
میشود به طور دقیق فرکانس کار پرسس را محاسبه کرد شما امتحان کن (شبیه سازی کن )
:read:
نمیدونم چی بگم
نکاتی در رابطه با Altium Designer 6.9
http://www.eca.ir/forum2/index.php?topic=42247.15
آقا این حرفا چیه پروسس خط به خط اجرا میشه یا اینکه میشه مشخص کرد چند کلاک طول میکشه ... البته من با vhdl فقط سلام علیک دارم! اما تا اونجایی که میدونم پروسس همون always وریلاگ هست.
باید گفت خط به خط ارزیابی و تخصیص داده میشه و در نهایت نتیجه گرفته شده از منطق داخل پروسس سنتز میشه.
اینجا بحث شبیه سازی که نیست. اگه پیاده سازی ترتیبیش رو درنظر بگیریم سخت افزاری پیاده سازی میشه که کل ارزیابی ها و تخصیص ها رو تو یک کلاک انجام میده. حالا می خواد 2 خط باشه یا 1000 خط، تمام خطوط non blocking موازی و جدا از هم پیاده سازی میشن. اصلا تو پیاده سازی معنی نداره اول پروسس یه سیگنال رو صفر کنی بعد آخرش یک! این یعنی با لبه کلاک همزمان هم صفر بشه هم یک! اگه سنتز بشه، سخت افزار آخرین تخصیص به عنوان نتیجه تولید میشه.
اصلا بشین 10000 خط کد بنویس تو پروسس (تا خرخره FPGA). چیزی که پروسس رو محدود میکنه طولانیترین تاخیر مدار داخل پروسس هست. یعنی باید هرچی ارزیابی و تخصیص هست کمتر از زمان کلاک طول بکشه. مثلا ممکنه تو یه پروسس 10 خطی، یک خط شرطی اونقد طول بکشه که مثلا با کلاک 200 مگاهرتز مد نظرت قابل پیاده سازی نباشه...
منطق این پست صحیح و من هم موافقم
ما باید دیدگاه های اولیه مون رو نسبت به زبان های برنامه نویسی و زبان توصیف سخت افزار تصحیح کنیم
مشکل اصلی ما با دانشجو ها فقط در همین مقوله است
آشنایی زیر ساختی با زبان توصیف سخت افزار خیلی خیلی مهمه
خانوم کهندل دانشجوی من بوده و من مفصل در مورد این موضوع صحبت کردم- احتمالا فراموش شده :smile:
تمام مشکلات ما در زمینه FPGA مقایسه اون با دیگر ادوات برنامه پذیر و جا نیفتادن بعضی مسائل پایه ایی
ولی در کل این بحث ها خیلی خوبه چون باب تفهیم موضوعی رو باز می کنه، چون Precess بسیار بخش مهمیه و انعطاف FPGA رو بسیار زیاد میکنه
خدا گفت : به جهنم ببریدش، او برگشت و با تعجب به خدا نگاه کرد. خدا گفت : به بهشت ببریدش. فرشتگان پرسیدند: چرا؟! خدا گفت : او هنوز به من امیدوار است...
نکته دیگه اینکه در 90% موارد ما باید Process هایی رو طراحی کنیم که عملیاتش وابسته به تعداد Clock باشه
چون در غیر اینصورت اگر بخوایم با دید زبان C نگاه کنیم، یک حلقه که مثلا 256 بار باید تکرار بشه، داره سخت افزار تکثیر می کنه و این این مشکل بسیار یزرگه
در صورتی که با یک متغیر شمارشی که با هر Clock یک واحد اضافه میکنه میشه به راحتی ایجادش کرد، یعنی با 256 لبه و بجای حلقه متغیر شمارشی این کار رو انجام میده
چون میتونیم خود Process رو به حلقه ایی تشبیه کنیم که با Clock میچرخه
خدا گفت : به جهنم ببریدش، او برگشت و با تعجب به خدا نگاه کرد. خدا گفت : به بهشت ببریدش. فرشتگان پرسیدند: چرا؟! خدا گفت : او هنوز به من امیدوار است...
میشود به طور دقیق فرکانس کار پرسس را محاسبه کرد شما امتحان کن (شبیه سازی کن )
:read:
منظور؟!
نوشته اصلی توسط حمید نجفی
منطق این پست صحیح و من هم موافقم
ما باید دیدگاه های اولیه مون رو نسبت به زبان های برنامه نویسی و زبان توصیف سخت افزار تصحیح کنیم
مشکل اصلی ما با دانشجو ها فقط در همین مقوله است
آشنایی زیر ساختی با زبان توصیف سخت افزار خیلی خیلی مهمه
خانوم کهندل دانشجوی من بوده و من مفصل در مورد این موضوع صحبت کردم- احتمالا فراموش شده :smile:
اوهوم :agree:! من بودم مشق میدادم روزی 20 صفحه فقط بنویس زیان توصیف سخت افزار تا یه بارم شده طرف با دقت به مفهوم این جمله توجه کنه. تو پروسس داری یه سخت افزاری رو توصیف می کنی. کدی نمینویسی که خط به خط اجرا بشه.
البته من خودم شاگردما... جسارت کردیم
نوشته اصلی توسط حمید نجفی
نکته دیگه اینکه در 90% موارد ما باید Process هایی رو طراحی کنیم که عملیاتش وابسته به تعداد Clock باشه
چون در غیر اینصورت اگر بخوایم با دید زبان C نگاه کنیم، یک حلقه که مثلا 256 بار باید تکرار بشه، داره سخت افزار تکثیر می کنه و این این مشکل بسیار یزرگه
در صورتی که با یک متغیر شمارشی که با هر Clock یک واحد اضافه میکنه میشه به راحتی ایجادش کرد، یعنی با 256 لبه و بجای حلقه متغیر شمارشی این کار رو انجام میده
چون میتونیم خود Process رو به حلقه ایی تشبیه کنیم که با Clock میچرخه
چه خوب اگه بشه سخت افزار رو تکرار و عملیات رو موازی کرد. یا حتی تکرار سخت افزار بدون موازی سازی تا جایی که تاخیر اجازه میده. اتفاقا هنر طراح رو نشون میده و به نظر من حقیــــر اشکال نیست. ایده آل همینه
باسلام
والا بنده تو محیط vhdlپروسس ننوشتم. :redface:
ولی بر اساس مطالعه دقیقا به همین ابهام شما دوستان رسیدم. :job:
اینکه اگر پروسس هست وبصورت خط به خط کد ها بررسی می شود.
نا اینجا کسی مشکلی نداره.
حالا مشکل اینجا میزنه بیرون :angry: اگر خط به خط پروسس بررسی می شود ایا در انتهای هر خط ما میتوانیم تغیر وضعیت مثلا روی پایه های خاص
داشت؟ مانند میکروها
---
حال اگر یک پروسس در انتهای بلوک خودش کل عملیات رو تو یک کلاک انجام بده و اخرین تغیرات رو نشون بده چه کمکی به ما میکنه؟
---
یکی به من بگه با پروسس چی کار کرده؟
واقعا برام سوال هست مشکل دارم باهاش oo:
باسلام
والا بنده تو محیط vhdlپروسس ننوشتم. :redface:
ولی بر اساس مطالعه دقیقا به همین ابهام شما دوستان رسیدم. :job:
اینکه اگر پروسس هست وبصورت خط به خط کد ها بررسی می شود.
نا اینجا کسی مشکلی نداره.
حالا مشکل اینجا میزنه بیرون :angry: اگر خط به خط پروسس بررسی می شود ایا در انتهای هر خط ما میتوانیم تغیر وضعیت مثلا روی پایه های خاص
داشت؟ مانند میکروها
---
حال اگر یک پروسس در انتهای بلوک خودش کل عملیات رو تو یک کلاک انجام بده و اخرین تغیرات رو نشون بده چه کمکی به ما میکنه؟
---
یکی به من بگه با پروسس چی کار کرده؟
واقعا برام سوال هست مشکل دارم باهاش oo:
دید شما کاملا متمرکز به میکرو کنترلر و با همون دید به سیستم هایی منطقی برنامه پذیر نگاه می کنید
سوال اولتون-در پرسس متغیر تعریف میشه-متغیر های هر پروسس درون همون پرسس کاربرد داره و همه چیز ترتیبی هست اما نه ترتیبی با هسته CPU و رجیستر های دستوالعمل
ترتیبی که سخت افزار رو تولید میکنه و بصورت سری پشت هم میچینه-اما در بخش همزمانی سخت افزار موازی کنار هم چیده میشه
خوبی پرسس اینه که ما میتونیم پردازش های موازی با سرعت خیلی بالا داشته باشیم که هدف اصلی FPGA هست
مثل عملیات شبکه های عصبی با تعداد نرون های خیلی زیاد و سیستم های پردازشی خاص و نظامی و هر آنچه که از طراحی دیجیتال تو ذهنتون باشه اینجا پیاده میشه
مشکل اصلی مقایسه با کنترلر هست. ما در دیجیتال چیزی به نام زبان C نداریم که باهاش کد بنویسیم-زبان C یک ابزار برای کنترل رجیستر های یک پردازنده است- زبان C سخت افزار درتعریفی هست که ما ایجاد کردیم و در اصل همه چیز طراحی دیجیتاله-همون چیزی که در صفحهات اول هر دیتاشیت میکروکنترلری ملاحظه می کنید که ساختار درون هر کنترلر رو نشون داده و یک بخش از حافظه رو به کنترلهای چند بیتی(8 یا 16 32) به نام رجیستر تعریف کرده که توسط اونها CPU دسترسی به ماژول های مختلف داره
در کل مقایسه بین FPGA میکرو کاملا اشتباهه-چون اصلا دو مقوله جدا با زمینه کاری جدا هست
خدا گفت : به جهنم ببریدش، او برگشت و با تعجب به خدا نگاه کرد. خدا گفت : به بهشت ببریدش. فرشتگان پرسیدند: چرا؟! خدا گفت : او هنوز به من امیدوار است...
باسلام و تشکر از جواب های کامل شما دوستان
دید من این هست که بتوانم حد اقل مقداری کار های میکرو رو به fpga بدهم
تاخیر داشته باشم و بعضی از کارهای میکرو ها را بشود انجام داد.
---
داخل پروسس دیدم که تاخیر استفاده میشود این تاخیر چجور تاخیری هست؟
ازبیرون این تاخیر در دسترس نیست؟
باسلام و تشکر از جواب های کامل شما دوستان
دید من این هست که بتوانم حد اقل مقداری کار های میکرو رو به fpga بدهم
تاخیر داشته باشم و بعضی از کارهای میکرو ها را بشود انجام داد.
---
داخل پروسس دیدم که تاخیر استفاده میشود این تاخیر چجور تاخیری هست؟
ازبیرون این تاخیر در دسترس نیست؟
تاخیر در FPGA بصورت کانتری بدست میاد
با تقسیم فرکانس اسیلاتور
خدا گفت : به جهنم ببریدش، او برگشت و با تعجب به خدا نگاه کرد. خدا گفت : به بهشت ببریدش. فرشتگان پرسیدند: چرا؟! خدا گفت : او هنوز به من امیدوار است...
دیدگاه