Synopsys has posted on the SolvNet site a fascinating talk given by Dr. Theo Drane of Intel Graphics. The topic is datapath equivalency checking. Might sound like just another Synopsys VC Formal DPV endorsement but you should watch it anyway. This is a mind-expanding discussion on the uses of and considerations in formal which will take you beyond the routine user-guide kind of pitch into more fascinating territory.
Intellectual understanding versus sample testing
شبیه سازی تست محور در تمام اشکال آن در تأیید صحت مشخصات یا پیاده سازی طراحی بسیار عالی و اغلب غیرقابل جایگزین است. همچنین شروع کار آسان است. فقط یک برنامه آزمایشی بنویسید و شروع به شبیه سازی کنید. اما طرف دیگر این سادگی این است که ما نیازی به این کار نداریم کاملا درک کنید که برای شروع چه چیزی را آزمایش می کنیم. ما خودمان را متقاعد میکنیم که مشخصات را با دقت خواندهایم و تمام موارد گوشهای را درک کردهایم، اما پیچیدگی زیادی لازم نیست تا درک ما را تحت الشعاع قرار دهد.
Formal encourages you to understand the functionality at a deep level (at least if you want to deliver a valuable result). In the example above, a simple question – can z ever be all 1’s – fails to demonstrate an example in a billion cycles on a simulator. Not surprising, since this is an extreme corner case. A formal test provides a specific and very non-obvious example in 188 seconds and can prove this is the only such case in slightly less time.
OK رسمی کاری را انجام داد که تست پویا نمی تواند انجام دهد، اما مهمتر از آن چیزی را یاد گرفتید که شبیه ساز هرگز به شما نگفته است. که تنها یک مورد ممکن بود که در آن شرایط ممکن بود اتفاق بیفتد. فرمال به شما کمک کرد تا طراحی را در سطح فکری بهتر درک کنید، نه فقط به عنوان خلاصه احتمالی در مجموعه محدودی از موارد آزمایشی.
مسائل مربوط به مشخصات
Theo’s next example is based on a bug vending machine (so called because when you press a button you get a bug). This looks like a pretty straightforward C to RTL equivalence check problem, C model on the left, RTL model on the right. One surprise for Theo in his early days in formal was that right-shift behavior in the C-model is not completely defined in the C standard, even though gcc will behave reasonably. However, DPV will complain about a mismatch in a comparison with the RTL, as it should. Undefined behavior is a dangerous thing to rely on.
Spec comparison between C and RTL comes with other hazards, especially around bit widths. Truncation or loss of a carry bit in an intermediate signal (#3 above) are good examples. Are these spec issues? Maybe a gray area between spec and implementation choices.
Beyond equivalence checking
به نظر می رسد هدف اصلی DPV بررسی هم ارزی بین یک مرجع C یا RTL و یک پیاده سازی RTL است. اما این نیاز نسبتاً نادر است و راههای مفید دیگری نیز وجود دارد که میتوان از چنین فناوری استفاده کرد. ابتدا یک کلاسیک در دنیای پیاده سازی - تغییری ایجاد کردم، یک اشکال را برطرف کردم - آیا در نتیجه اشکال جدیدی معرفی کردم؟ کمی شبیه بررسی SEQ بعد از افزودن گیت ساعت. تحلیل قابلیت دسترسی در خروجی های بلوک ممکن است در برخی موارد کاربرد مفید دیگری باشد.
Theo gets even more creative, asking trainees to use counter examples to better understand the design, سودوکوس را حل کنید or factorize integers. He acknowledges DPV make be an odd way to approach such problems but points out that his intent is to break the illusion that DPV is only for equivalence checking. Interesting idea and certainly brain-stretching to think through such challenges. (I confess I immediately started thinking about the Sudoku problem as soon he mentioned it.)
بسته شدن
Theo concludes with a discussion on methodologies important in production usage, around constraints, regressions and comparisons with legacy RTL models. Also the challenges in knowing whether what you are checking actually matches the top-level natural language specification.
سخنرانی بسیار پر انرژی، ارزش دیدن را دارد اینجا در SolvNet!
اشتراک گذاری این پست از طریق:
- محتوای مبتنی بر SEO و توزیع روابط عمومی. امروز تقویت شوید.
- پلاتوبلاک چین. Web3 Metaverse Intelligence. دانش تقویت شده دسترسی به اینجا.
- منبع: https://semiwiki.com/eda/325878-intel-keynote-on-formal-a-mind-stretcher/
- :است
- a
- درباره ما
- بالاتر
- در میان
- واقعا
- پس از
- معرفی
- تحلیل
- و
- دیگر
- کاربرد
- اعمال می شود
- روش
- هستند
- محدوده
- دور و بر
- AS
- At
- مستقر
- BE
- زیرا
- بهتر
- میان
- خارج از
- بیلیون
- بیت
- مسدود کردن
- جعبه
- شکستن
- اشکال
- اشکالات
- دکمه
- by
- نام
- CAN
- Осторожно
- حمل
- مورد
- موارد
- قطعا
- چالش ها
- تغییر دادن
- بررسی
- بررسی
- انتخاب
- کلاسیک
- ساعت
- مقایسه
- به طور کامل
- پیچیدگی
- شرط
- ملاحظات
- محدودیت ها
- متقاعد کردن
- گوشه
- میتوانست
- مقابله با
- خالق
- چرخه
- خطرناک
- روز
- عمیق
- مشخص
- ارائه
- نشان دادن
- طرح
- DID
- گفتگو
- نمی کند
- آیا
- پویا
- در اوایل
- تشویق می کند
- به خصوص
- حتی
- تا کنون
- مثال
- مثال ها
- عالی
- مفرط
- نتواند
- شگفت انگیز
- نام خانوادگی
- ثابت
- فلیپ
- برای
- رسمی
- اشکال
- قابلیت
- GCC
- دریافت کنید
- داده
- خوب
- گرافیک
- خاکستری
- منطقه خاکستری
- رخ دادن
- آیا
- کمک کرد
- اما
- HTTPS
- i
- اندیشه
- بلافاصله
- پیاده سازی
- مهم
- in
- اینتل
- فکری
- قصد
- جالب
- حد واسط
- معرفی
- مسائل
- IT
- ITS
- مفتاح
- نوع
- دانا
- زبان
- آموخته
- میراث
- سطح
- پسندیدن
- کوچک
- مطالب
- خاموش
- دستگاه
- ساخته
- ساخت
- حداکثر عرض
- ذکر شده
- متدولوژی ها
- قدرت
- مدل
- مدل
- بیش
- طبیعی
- زبان طبیعی
- نیاز
- جدید
- بعد
- of
- on
- ONE
- دیگر
- قیر
- افلاطون
- هوش داده افلاطون
- PlatoData
- نقطه
- ممکن
- پست
- + نوشته شده در
- فشار
- زیبا
- اصلی
- مشکل
- مشکلات
- تولید
- برنامه
- ثابت كردن
- فراهم می کند
- هدف
- سوال
- خواندن
- نسبتا
- نتیجه
- ثانیه
- تنظیم
- باید
- سیگنال
- ساده
- سادگی
- شبیه سازی
- شبیه ساز
- پس از
- سایت
- So
- برخی از
- چیزی
- بزودی
- صدا
- خاص
- مشخصات
- استاندارد
- شروع
- آغاز شده
- ساده
- چنین
- خلاصه
- تعجب
- تعجب آور
- گرفتن
- صحبت
- پیشرفته
- آزمون
- تست
- که
- La
- اینها
- چیز
- تفکر
- از طریق
- زمان
- به
- سطح عالی
- موضوع
- کوتاه شدن
- فهمیدن
- درک
- استفاده
- استفاده کنید
- ارزشمند
- VC
- تایید
- در مقابل
- از طريق
- تماشا کردن
- تماشای
- مسیر..
- راه
- خوب
- چی
- چه
- که
- اراده
- با
- جهان
- با ارزش
- خواهد بود
- نوشتن
- زفیرنت