ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.






جهت تبلیغ در وب سایت ECA کلیک کنید.

کاربران برچسب زده شده

نمایش نتایج: از 1 به 5 از 5
  1. #1
    2007/10/14
    تهران
    1,335
    38

    درخواست توضیح یک کد VHDL

    سلام.
    کد زیر برای پیدا کردن لبه پایین رونده یک سیگنال استفاده میشه.
    کد PHP:
    entity tst2 is
      Port 
    clk in STD_LOGIC;
          
    ia in STD_LOGIC;
          
    ob out STD_LOGIC;
          
    oc out STD_LOGIC);
    end tst2;

    architecture Behavioral of tst2 is
        signal sb
    ,sc std_logic;
    begin

        process
    (clkbegin
            
    if rising_edge(clkthen
                sb 
    <= ia;
                
    sc <= sb and not(ia);
            
    end if;
        
    end process;
        
        
    ob <= sb;
        
    oc <= sc;
        
    end Behavioral

    شکل شماتیکش هم این میشه:
    و شبیه سازی هم اینه:

    کسی میتونه دقیقاً توضیح بده که چرا خروجی این طوری میشه؟ یعنی فلیپ فلاپ که با لبه مثبت کلاک کار می کنه، منظور از لبه مثبت(بالا رونده) چه لحظه ایه؟ این زمان چقدر طول می کشه؟ قطعاً در عمل این زمان یک لحظه نیست و یه مقدار کم طول میکشه حالا چه تضمینی وجود داره که مجموع تأخیر فلیپ فلاپ بالا و گیت AND از کل زمانی که کلاک در لبه بالارونده هست و ورودی فلیپ فلاپ به خروجی منتقل میشه کمتر نباشه؟ (اگه مجموع زمان تأخیر از مدت زمانی که فلیپ فلاپ ورودی کلاک رو بالارونده میبینه کمتر باشه خروجی oc همیشه صفر میمونه)
    لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
    لطفاً سؤالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
    با تمام وجود گناه کرديم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنيم چه مي کند؟"دکتر شريعتي"
    اگر جايي که ايستاده ايد را نمي پسنديد، عوضش کنيد شما درخت نيستيد!! "پاسكال"
    يا به اندازه ي آرزوهايت تلاش کن يا به اندازه تلاشت آرزو کن. "شکسپير"
  2. #2
    2010/06/25
    تهران
    77
    0
    drg

    پاسخ : درخواست توضیح یک کد VHDL

    من نتونستم دقیقا متوجه سوال شما بشم، ولی این مداری هست که با مقایسه مقدار یک سیگنال با مقدار قبلیش(مقداری که تو کلاک قبل داشته) تشخیص میده که سیگنال لبه پایین رونده داشته. برای اینکه همیشه هم درست کار کنه لازمه که مینیمم زمان فعال بودن سیگنال مورد نظر از یک پریود کلاک بیشتر باشه.

    زمانی که طول میکشه تا یک لبه پایین رونده گزارشبشه (از لبه پایین رونده سیگنال تا لحظه بالا رفتن سیگنال خروجی) برابر فاصله لبه پایین رونده سیگنال تا لبه بالارونده کلاک + تاخیر گیتها هستش. یعنی این زمان میتونه متغیر باشه وابسته به فاصله لبه پایین رونده سیگنال تا لبه کلاک
    یا علی.
  3. #3
    2010/11/18
    34
    1

    پاسخ : درخواست توضیح یک کد VHDL

    سلام
    برنامه شما درسته و لبه های پایین رونده رو تشخیص میده اما توی لبه های بالا رونده داره نشون میده و اینم بخاطر برنامتونه...
    اگه میخوای تاخیرهارو ببینی بجای شبیه سازی behavioral باید از شبیه سازی post route استفاده کنی..
  4. #4
    2007/10/14
    تهران
    1,335
    38

    پاسخ : درخواست توضیح یک کد VHDL

    ممنون. نکته جالبی بود. نتیجه این شبیه سازی:


    بر اساس این نتیجه، تأخیر فلیپ فلاپ حدود 9 نانوثانیه و تأخیر گیت AND کمتر از 1 نانوثانیه است. اگه اینجا فرضاً فرکانس کلاک رو بیشتر از 100 مگاهرتز میگرفتم مشکل پیش میومد؟
    لازمه که هر کدی که نوشته میشه غیر از سنتز، شبیه سازی زمانی (تأخیر) هم بشه تا از صحت اجراش مطمئن بشیم؟
    لطفاً برای انجام پروژه های دانشجویی پیام خصوصی نفرستید.
    لطفاً سؤالاتی که در انجمن قابل طرح شدن هستند پیام خصوصی نکنید.
    با تمام وجود گناه کرديم اما نه نعمتش را از ما گرفت نه گناهان ما را فاش کرد اطاعتش کنيم چه مي کند؟"دکتر شريعتي"
    اگر جايي که ايستاده ايد را نمي پسنديد، عوضش کنيد شما درخت نيستيد!! "پاسكال"
    يا به اندازه ي آرزوهايت تلاش کن يا به اندازه تلاشت آرزو کن. "شکسپير"
  5. #5
    2010/11/18
    34
    1

    پاسخ : درخواست توضیح یک کد VHDL

    با سلام مجدد...
    برنامه تون رو که نوشتید یکبار سنتز کنید و نتیجه سنتز synthesis report رو ببینید بهتون میگه که حداکثر کلاک که برنامتون میتونه کار کنه چقدره ( دوستان اگه اشتباه میگم اصلاح کنن...) همینطور میگه چقدر گیت مصرف شده...

    در مورد شبیه سازی هم باید بگم من خودم همیشه روش post route رو انتخاب میکنم چون نتیجه شبیه سازی با اون چیزی که توی fpga اتفاق میفته خیلی خیلی شبیه(تقریبا خودشه) ...
    از روش behave زمانی استفاده میکنم که بخوام سیگنال های میانی رو ببینم و اینکه ظاهر برنامه رو برسی کنم ...
    پیشنهاد منم اینه که اگه میخوای طرحتو روی fpga پیاده کنی قبلش حتما شبیه سازی به روش اول رو انجام بدی...
    یا علی
نمایش نتایج: از 1 به 5 از 5

موضوعات مشابه

  1. درخواست توضیح خط های برنامه
    توسط mahdi-firoozi در انجمن میکروکنترلرهای AVR
    پاسخ: 9
    آخرين نوشته: 2012/03/05, 15:31
  2. درخواست کمک برای توضیح برنامه (سنسور رطوبت)
    توسط galaxyking در انجمن میکروکنترلرهای AVR
    پاسخ: 1
    آخرين نوشته: 2011/11/13, 19:19
  3. درخواست توضیح در رابطه با پروگرامر و arm
    توسط sasan18s در انجمن پروسسورهای ARM
    پاسخ: 2
    آخرين نوشته: 2011/08/03, 16:54
  4. درخواست توضیح درمورد چندتا ترانزیستور.
    توسط techno2001 در انجمن مباحث دیگر علم الکترونیک
    پاسخ: 1
    آخرين نوشته: 2009/08/24, 21:06
  5. درخواست كد vhdl براي جمع دو فركانس ورودي
    توسط f.fater در انجمن PLD , SPLD , GAL , CPLD , FPGA
    پاسخ: 8
    آخرين نوشته: 2008/09/30, 15:57

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •