اطلاعیه

Collapse
No announcement yet.

یه مشکل مسخره ! شاید گاف نرم افزاری !

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

    یه مشکل مسخره ! شاید گاف نرم افزاری !

    سلام به تمام دوستان
    خسته نباشید ؛ من یه روزه که با یه مشکل مسخره دارم دست و پنجه نرم میکنم ، دیگه نمیدونم که باید چطور مشکل رو حل کنم ، شاید مشکل از نرم افزار باشه نمی دونم والا :angry:
    این برنامه رو ببیید :
    کد:
    	reg [10:0] A,B;
    	reg [17:0] _ADD;
    		
    always @ (posedge Clk)
     begin
    	_ADD <= A[10:1] + B;
     end
    توی این برنامه متغییر های a,b از جاهای دیگه مقدار دهی میشن، ولی اصلا رجیستر _ADD مقدار دهی نمیشه!
    حالا اگه برنامه رو این طور بنویسم مقدار دهی میشه :
    کد:
    	reg [10:0] A,B;
    	reg [17:0] _ADD;
    		
    always @ (posedge Clk)
     begin
    	_ADD <= _ADD + A[10:1] + B;
     end
    اگه میدونید مشکل از کجاست لطفا راهنمایی بفرمایید! :cry2:

    #2
    پاسخ : یه مشکل مسخره ! شاید گاف نرم افزاری !

    در بخش دوم متغییر ADD_ هم خونده و هم نوشته شده پس در مدار لاجیک پیاده سازی میشه حتی اگه برای شما استفاده هم نداشته باشه، اما در بخش اول فقط نوشته شده و خونده نشده پس خود به خود حذف میشه. اگه در قسمت دیگه ای اون رو نخونده باشید در همون بخش سنتز حذف میشه.

    اگه بقیه کد رو هم میذاشتید راحتتر میشد فهمید ایراد کجاست.
    اسمایل، تومورو ویل بی وُرس

    دیدگاه

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