ملاحظات حول قواعد النمط 🚧
ملف النمط الرقمي يتضمن عادة 3 أقسام رئيسية: البيان الرأسي (Header Statement)، البيان التكويني (Setup Statement)، ووحدة النمط (Pattern Module). (البيانات الأولية للمعالجة (Preprocessing statements) والتعليقات (Comments) اختيارية).
أدناه نموذج لملف النمط المستخدم عادةً بصيغة .atp
:
// example.atp
digital_inst = HSDMQ;
opcode_mode = single;
pinmap_workbook = "..\xx.igxl";
import tset tset1 ;
instruments = {
(TIC_DATABUS):DigCap 32:format=twos_complement:auto_trig_enable;
}
vm_vector cpr_test($tset TIC_CLK, TIC_ACK, TIC_REQ_A, TIC_DATABUS)
{
cpr_test:
> tset1 0 X 0 0 .d000000 ;
repeat 100
> tset1 0 X 1 1 .rFFFFFF ;
> tset1 0 X 0 0 .X ;
((TIC_DATABUS):DigCap = Store)
> tset1 0 X 0 0 .V ; // capture
HALT
> tset1 0 X 0 0 d000000 ; // end
}
البيان الرأسي
البيان الرأسي (Header Statement) يتضمن هذه البيانات: الأداة الرقمية، خريطة الأسنان، تحكم المترجم، استيراد الأوقات أو العلامة. فيما يلي مثال:
digital_inst = HSDMQ; // بيان الأداة الرقمية
opcode_mode = single; // بيان الترجمة
import tset tset1, tset1; // استيراد الأوقات
import subr xxx; // استيراد الإجراءات الفرعية
المعلمات المستخدمة بشكل متكرر:
Here is the translated text in Arabic:
- عبارات أداة رقمية
- **digital_inst**: `hsdm` (HSD1000, UltraPin800)، `hsdmq` (UltraPin1600)، `hsdp` (UltraPin2200) ...
- مواصفات خريطة الأوصال:
- **pinmap_workbook**: اسم دفتر IG‑XL، مثل `"xxx.igxl"`
- **sheetname**: اسم ورقة خريطة الأوصال، مثل `"pinmap"`
- عبارات التحكم في المترجم
- **compressed**: `نعم` أو `لا`
- **opcode_mode**: `واحدة` أو `مزدوجة` أو `رباعية` (UltraPin1600)، يمكن أن تتضمن كل 1/2/4 من الأوصال أوصالًا للتعليمات.
- **save_comments**: `نعم` أو `لا`
- **version**: مثل `V1.0`
- اختبار وتسمية
- **Tset**: `استيراد tset tset1، tset2، ... ;`
- **Label**: `استيراد label label1، label2، ... ;`
## عبارة الإعداد
**عبارة الإعداد** تحتوي على إعداد الأوصال، الأدوات، وأوصال الفحص.
- الأحرف لحالة الأوصاف والشيفرات الدقيقة
- **أحرف حالة الأوصاف**: `0`(تنفيذ منخفض), `1`(تنفيذ عالي), `2`(تنفيذ عالي للجهد فقط لـ UP800), `L`(توقع منخفض), `H`(توقع عالي), `M`(توقع منتصفي), `V`(توقع صالح), `X`(قناع), `W`(مؤشر النافذة), `D`(تنفيذ ADS (DigSrc/MTO)), `I`(تنفيذ ADS العكسي (DigSrc/MTO)), `E`(توقع ADS (DigSrc/MTO)), `C`(توقع ADS العكسي (DigSrc/MTO)), `-`(تكرار الحالة السابقة).
- **شيفرات DigCap**: `Trig`(بدء التقاط البيانات), `Store`(تخزين عينة من البيانات), `Trig, Store`(مزيج من بدء التقاط البيانات وتخزينها), `Store, Inst_Cond_Strobe`(تخزينها وبوابة الإشارة المتولدة داخليًا `condition` للاستجابة).
## وحدة النمط
تحتوي **وحدة النمط** على قائمة دبابيس ومجموعة من النواقل. هناك نوعين منها: ذاكرة النواقل (VM) والذاكرة (SRM):
srm_vector [اسم الوحدة] (قائمة الدبابيس) { نواقل } ```
يجب وجود وحدة نمط واحدة على الأقل في ملف النمط. إذا كان هناك أكثر من واحدة، يجب أن تكون أعمدتها وقوائم الدبابيس متطابقة.
المعلمات المستخدمة بشكل شائع:
- قائمة الدبابيس
- بنود الدبابيس:
الدبوس أو المجموعة[.المعدل][:النظام]
، حيث يمكن أن يكون النظام:S
(رمزي، الافتراضي)،:B
(ثنائي)،:D
(عشري)،:O
(ثماني)،:H
(سداسي عشر).
- بنود الدبابيس:
- العلامة: تحت التطوير
تمت ترجمة هذه المشاركة باستخدام ChatGPT، يرجى تزويدنا بتعليقاتكم إذا كانت هناك أي حذف أو إهمال.