اطلاعیه

Collapse
No announcement yet.

کمک در اصلاح کد

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

    کمک در اصلاح کد

    سلام دوستان عزیز
    من کد زیر رو نوشتم که با هر لبه بالا رونده کلاک مقادیر ورودی رو در متغیر s که هر دو رو به صور آرایه 40*40 تعریف کردم و من هر بار 8 تا 8 تا داخل s کپی می کنم بریزم اما این کار رو نمی کنه errorهم نمیده فقط مقدار s به ازای همه اعضا همیشه صفر باقی می مونه.
    ممنون
    کد:
     aP1:PROCESS (s,clk,x)
     begin
     l1:FOR i IN 1 TO 40 loop
     l2:for k in 1 to 5 loop
     if (clk'EVENT AND clk='1') then
     ( s(i)(1+(k-1)*8 to 8*k)<=x(i)(1+(k-1)*8 to 8*k;
     end if;
     end loop l2;
     end loop l1;
      ee5<='1';
    	end process aP1;
    خبر آمد خبری در راه است---- خرم آندل که ازو گاهست

    #2
    پاسخ : کمک در اصلاح کد

    سلام خوبید؟
    شرمنده که من دیر دیدم این قسمتو آخه من گه گاهی سر میزنم این ورااااااا
    اشکالات:::::::
    1:اولا که تو پروسس هیچ متغیری نباید قرار بگیره
    2:دوما که هیچ متغری من نمی بینم شما تعریف کرده باشی/ پیشنهاد می کنم که لیبل های لوپ هار و برداری هیچ مشکلی پیش نمی آد برنامه نرم افزاری که نیست!!!
    اگه مشکلت حل نشد کد کامل رو بزار تا بدونم که کدوم قسمتارو از قلم انداختی.
    فدات. :smile:
    ن

    دیدگاه


      #3
      پاسخ : کمک در اصلاح کد

      سلام.
      من یه سوال دارم. شما کد رو صرفا واسه شبیه سازی نوشتید؟
      چون دستور for در عمل کاربردی نداره.

      دیدگاه


        #4
        پاسخ : کمک در اصلاح کد

        »نظورتون از کاربردی نداره چیه؟یهنی سنتز نمی شه ه ه ه ه ؟

        دیدگاه


          #5
          پاسخ : کمک در اصلاح کد

          سلام
          دوست عزیز تا اونجا که یادمه دستور loop در زمان دلتا انجام میشه . بنابراین آوردنش در اینجا درست نیست . شما میتونید از یک متغیر I استفاده کنید و بعد از
          هر لبه بالارونده اون رو increse کنی. ضمنا آوردن دستورات قبل از if clk=1 and clk event توصیه نمیشه.

          دیدگاه


            #6
            پاسخ : کمک در اصلاح کد

            نوشته اصلی توسط SPARTAN_E20
            سلام
            دوست عزیز تا اونجا که یادمه دستور loop در زمان دلتا انجام میشه . بنابراین آوردنش در اینجا درست نیست . شما میتونید از یک متغیر I استفاده کنید و بعد از
            هر لبه بالارونده اون رو increse کنی. ضمنا آوردن دستورات قبل از if clk=1 and clk event توصیه نمیشه.
            دقیقا. دستورات حلقه فقط توی شبیه سازی قابل قبولن.

            دیدگاه


              #7
              پاسخ : کمک در اصلاح کد

              سلام ولی باید بگم که کتاب volnei pedroni توصیه کرده در بیشتر مدارت از if )clk event)
              استفاده میشه خود رفرنس ها و نمونه های ساخته شده توسط شرکت آلترا میشه گفت تقریبا در تمام مدارات ترتیبی از این استفاده میشه البته بازم هم به طور کل بر می گرده به نوع خصوصیات و روش های توسعه مدار که خبری هم از دوستمون نیست که داره....
              در مورد loop درسته این دستور تو زبان سخت افزاری معنی نداره و باید بجای این دستور از process هایی که در آرچیتکتور همزمان عمل می کنند استفاده کرد.
              فدای همه برو بچ. :smile:

              دیدگاه

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