اگه فقط بخواید از wait for ، wait و ... در فایل های testbench استفاده کنید، جواب میده و راحت میتونید فایل های شبیه سازی شده رو تست کنید.
اما این دستورات قابل سنتز نیستن و نمی توان از آنها در پیاده سازی سخت افزاری استفاده کرد. اگه بخواید به یه سیگنال تاخیر بدید، باید از روش های خاصی استفاده کنید که یکیش استفاده از شیفت رجیستر هست که خودم هم امروز فهمیدم. یه پست تو صفحه اصلی FPGA در این مورد گذاشتم.
سلام.
ممنونم ازت.
اینطوری که متوجه شدم طبق گفته شما دوتا ورودی کلاک داریم؟
سلام
خواهش میکنم.
بله، یکی کلاک ( سیگنال ) اصلی که می خوایم بهش تاخیر بدیم و دیگری ( clk ) کلاک مرجعی هست که می خوایم مثلاً به اندازه دو پریود این کلاک، سیگنال رو تاخیر بدیم.
نکته اینجاست که برای تاخیر دادن سیگنال ها تو FPGA بهتره همیشه این کار با یک کلاک مرجع انجام بشه تا دقیقاً مشخص باشه، چقدر تاخیر بوجود اومده.
البته تو طراحی های ASIC معمولا با گذاشتن چند تا گیت اضافه و رد کردن سیگنال از آنها، به اون تاخیر میدن ولی تو FPGA این کار اصلا توصیه نمیشه چون تاخیر سیم ها، سویچ ها و گیت ها قبل از پیاده سازی سخت افزاری چندان مشخص نیست.
اگر برای سنتز می خواهی از این دستور استفاده کنی خود xilinx ise البته قسمت سنتز اش این دستور را نمی شناسه اگر پروژه ات hdl محض است بهتر است از ابزار سنتز synplify ورژن 9 به بالا استفاده کنی
دیدگاه