انجمن گفتگوی فراد اندیش

به اشتراک بگذارید:
آگاه‌سازی‌ها
پاک‌کردن همه

استفاده از توابع تبدیل

4 ارسال‌
3 کاربران
0 لایک
999 نمایش‌
 rbm
(@rbm)
ارسال‌: 21
Eminent Member Customer
شروع کننده موضوع
 

باسلام
از انجاییکه تایپ خروجی بلوک IOBUFاز نوع STD_LOGIC است. (فقط وقتی سیگنالی از نوع STD_LOGICرو به بلوک ارجاع میدهم نرم افزار خطا نمیدهد)چطور میتوان داده های از نوع STD_LOGIC_VECTOR را بافر کرد .؟ با تشکر از شما

 
ارسال‌شده : 14 خرداد، 1396 11:23 ب.ظ
(@amin9406)
ارسال‌: 3
New Member Customer
 

سلام

اگر منظور شما بافر نرم افزاری باشد به ازای تمامی ورودی و خروجی ها غیر از کلاک و صرف نظر از اینکه به صورت تک بیتی و یا چند بیتی میباشند، یک سیگنال در محیط کد نویسی ایجاد کرده و سیگنال متناظر با خروجی را در ابتدا و بعد از begin  محیط architecture به پورت های خروجی ارجاع می دهیم و پورت های ورودی را نیز بعد از begin  محیط process به سیگنال های متناظر با ورودی ارجاع خواهیم داد.

 
ارسال‌شده : 16 خرداد، 1396 3:18 ب.ظ
(@ahmadsaghafi)
ارسال‌: 107
Estimable Member Admin
 

سلام،

موضوعی که آقای معزی توضیح دادند و بحث بسیار مهمی در کدنویسی اصولی است، مساله رجیستر کردن پورت‌های ورودی و خروجی در FPGA است.

سوال شما تا جایی که من از اون برداشت کردم در مورد استفاده از بافرهای IO موجود در مدار پین‌های FPGA است.

برای پورت‌های ورودی یا خروجی، این بافرهای توسط نرم‌افزار سنتز به کار گرفته می‌شوند و شما لازم نیست کاری انجام دهید.

برای پورت‌های دو طرفه یا bidirectional که با مد inout تعریف می‌شوند، بهتر است شما مستقیما این بافرها را در کد instant کنید.

همانطور گه گفتید، هر بافر فقط یک بیت را بافر می‌کند. بنابراین، اگر مثلا سیگنال شما از نوع vector و هشت بیتی است، باید بیت‌های آن را جداگانه و به کمک هشت بافر IO به پین FPGA متصل کنید.

 

موفق باشید.

 
ارسال‌شده : 16 خرداد، 1396 3:37 ب.ظ
 rbm
(@rbm)
ارسال‌: 21
Eminent Member Customer
شروع کننده موضوع
 

بله متوجه شدم کاملا با تشکر

 
ارسال‌شده : 17 خرداد، 1396 1:04 ق.ظ
به اشتراک بگذارید:
>