מיקראָסעמי אין-קרייַז פפּגאַ דעבוג
פּראָדוקט אינפֿאָרמאַציע
ספּעסאַפאַקיישאַנז
- מיטל טיפּ: Microsemi SmartFusion2 SoC FPGA
- מעלדונג טאָג: מאי 2014
- דיבאַגינג קייפּאַבילאַטיז: אין-קרייַז FPGA דעבוג, עמבעדיד לאָגיק אַנאַליזער
- מאַקסימום דאַטאַ קאַפּטורע אָפטקייַט: אַרויף צו 100 מהז
אַבסטראַקט
FPGAs זענען שטאַרק פּלאַן עלעמענטן אין עמבעדיד סיסטעמען מיט פילע פּלאַן אַדוואַנסtagעס, אָבער די דעוויסעס קענען האָבן קאָמפּלעקס דיזיינז מיט קאָמפּלעקס פּלאַן ישוז וואָס דאַרפֿן צו זיין דיבאַגד. טראַקינג אַראָפּ פּלאַן ישוז אַזאַ ווי דעפֿיניציע ערראָרס, סיסטעם ינטעראַקשאַן פּראָבלעמס און סיסטעם טיימינג ערראָרס קענען זיין אַ אַרויסרופן. די ינקלוזשאַן פון ינ-קרייַז דיבאַג קייפּאַבילאַטיז אין אַ FPGA קענען דראַמאַטיקלי פֿאַרבעסערן ייַזנוואַרג דיבאַג און ויסמיידן קאַונטאַס שעה פון פראַסטריישאַן. דער פּאַפּיר באשרייבט עטלעכע פאַרשידענע אַפּראָוטשיז צו דיבאַגינג אין-קרייַז פֿאַר FPGAs, יידענאַפייד שליסל האַנדל-אָפס און דורך אַן עקס.ampדער פּלאַן, טאַרגעטעד פֿאַר אַ Microsemi SmartFusion®2 SoC FPGA מיטל, וועט ווייַזן ווי נייַע קייפּאַבילאַטיז קענען זיין געוויינט צו פאַרגיכערן דיבאַג און פּרובירן.
הקדמה
FPGAs זענען פּערוואַסיוו און שטאַרק פּלאַן עלעמענטן און זענען איצט געפֿונען אין כמעט יעדער עמבעדיד סיסטעם. מיט ינקריסינג קאַפּאַציטעט, ינקלוזשאַן פון קאָמפּלעקס פאַנגקשאַנאַל בלאַקס אויף-שפּאָן און אַוואַנסירטע סיריאַל ינטערפייסיז די דעוויסעס קענען אויך האָבן קאָמפּלעקס פּלאַן פּראָבלעמס וואָס דאַרפֿן צו זיין דיבאַגד. טראַקינג אַראָפּ ישוז אַזאַ ווי פאַנגקשאַנאַל דעפֿיניציע ערראָרס (אין די FPGA אָדער סיסטעם מדרגה), פאַנגקשאַנאַל סיסטעם ינטעראַקשאַן פּראָבלעמס, סיסטעם טיימינג ישוז און סיגנאַל פאַדעלאַטי ישוז צווישן ICs (ווי ראַש, קראָססטאַלק אָדער ריפלעקשאַנז) אַלע ווערן פיל מער קאָמפּליצירט ווען ניצן אַוואַנסירטע FPGAs. סימיאַליישאַן איז אַוואַדע אַ גרויס הילף צו ידענטיפיצירן פילע פּלאַן פּראָבלעמס, אָבער פילע פאַקטיש-וועלט ינטעראַקשאַנז וועט נישט זיין געוויזן ביז די פּלאַן איז ימפּלאַמענאַד אין ייַזנוואַרג. עטלעכע פאַרשידענע טעקניקס פֿאַר דיבאַגינג קאָמפּלעקס פּלאַן ישוז זענען דעוועלאָפּעד צו פאַרפּאָשעטערן דעם פּראָצעס. א אָפּגעהיט פארשטאנד פון יעדער פון די שליסל טעקניקס, אַרייַנגערעכנט די פאַרשידן אַדוואַנטידזשיזtagעס און דיסאַדוואַנטידזשיזtagעס, איז נוציק ווען קאַנסידערינג וואָס טעכניק אָדער קאָמבינאַציע פון טעקניקס איז פּאַסיק פֿאַר אַ באַזונדער פּלאַן.
אַן עקסampדי FPGA פּלאַן, טאַרגעטעד פֿאַר אַ Microsemi SmartFusion2 SoC FPGA מיטל, קענען זיין געוויינט צו באַווייַזן עטלעכע אַדוואַנטידזשיז.tagעס און דיסאַדוואַנטידזשיזtagדי סטאַנדאַרט טעקניקס און די נואַסט דיבאַג קייפּאַבילאַטיז אין די קרייַז. דעם אילוסטראַטיווע עקסampעס וועט ווייַזן ווי די פאַרשידן טעקניקס קענען זיין גענוצט צו פאַרגיכערן די לעגיטימאַציע און ילימאַניישאַן פון ייַזנוואַרג פּראָבלעמס בעשאַס ייַזנוואַרג דיבאַג.
פארוואס איז FPGA דיבאַגינג אַ קריטיש אַספּעקט פון סיסטעם פּלאַן און אַנטוויקלונג?
FPGAs האָבן צוויי הויפּט נוצן מאָדעלס וואָס דיפערענשיייט זיי פון אנדערע פּלאַן עלעמענטן. FPGAs קענען זיין געוויינט אין די פּראָדוקציע פּראָדוקט אָדער קענען זיין געוויינט ווי אַ אַנטוויקלונג פאָרמיטל צו באַווייַזן אָדער פּראָוטאַטייפּ אַ פּראָדוקציע פּלאַן באַגריף. ווען געוויינט ווי די פּראָדוקציע פאָרמיטל, FPGAs קענען זיין אַ פיל מער פלעקסאַבאַל ציל ווי ASIC אָדער קפּו-באזירט פּראָדוקציע וועהיקלעס. דאָס איז דער הויפּט וויכטיק פֿאַר אַ נייַע פּלאַן, וואָס איז נאָך נישט ימפּלאַמענאַד אין ייַזנוואַרג. דיזיינז מיט פאַרשידענע אַרקאַטעקטשעראַל אָפּציעס קענען זיין לייכט באשאפן און טעסטעד אַזוי די אָפּטימאַל פּלאַן איז יידענאַפייד. FPGAs מיט אויף-שפּאָן פּראַסעסערז (SoC FPGAs) מאַכן עס אויך מעגלעך צו האַנדלען אַוועק קפּו-באזירט פּראַסעסינג מיט ייַזנוואַרג אַססיסטעד FPGA-באזירט אַקסעלעריישאַן פאַנגקשאַנז. די אַדוואַנטtagעס קענען דראַמאַטיקלי רעדוצירן די צייט פארלאנגט פֿאַר פּלאַן, וואַלאַדיישאַן, טעסטינג און דורכפאַל אַנאַליסיס פֿאַר נייַע פּראָדוקט דיוועלאַפּמאַנץ.
ווען געוויינט פֿאַר פּראָוטאַטייפּ אַ פּלאַן, טאָמער פֿאַר אַ פּראָדוקציע ASIC, FPGA בייגיקייט איז אַ שליסל נוץ. אַן פאַקטיש ייַזנוואַרג פּלאַטפאָרמע, אפילו איינער וואָס טוט נישט לויפן אין פול גיכקייַט, מאכט עס פיל גרינגער צו באַקומען דיטיילד סיסטעם פאָרשטעלונג מעטריקס, דורכפאָר אַנאַליסיס דאַטן און אַרקאַטעקטשער דערווייַז-פון-באַגריף רעזולטאַטן. FPGA שטיצן פֿאַר פאַרגליווערט ימפּלאַמאַנץ פון ינדאַסטרי נאָרמאַל בוסעס (ווי PCIe®, Gigabit Ethernet, XAUI, USB, CAN און אנדערע) סימפּלאַפייז די טעסטינג פֿאַרבונדן מיט די ינטערפייסיז. די נואַסט פאַמיליעס פון FPGAs מיט אויף-שפּאָן ARM פּראַסעסערז (SoC FPGAs), מאכט עס גרינג צו פּראָוטאַטייפּ ימפּלאַמאַנץ מיט עמבעדיד פּראַסעסערז. פריער דעוועלאָפּעד פּראַסעסער קאָד קענען זיין פּאָרטיד צו די פּראָוטאַטייפּ און נייַ קאָד באשאפן אין פּאַראַלעל מיט די ייַזנוואַרג פּלאַן מי.
די קאָמבינאַציע פון אַ נאָרמאַל פּראַסעסער מיט נאָרמאַל צובינד בוסעס מאכט עס מעגלעך צו ליווערידזש די גרויס יקאָוסיסטאַם פון בנימצא קאָד לייברעריז, דריווערס, פאַנגקשאַנאַל אַפּיס, פאַקטיש צייט אַפּערייטינג סיסטעמס, און אפילו פול אַפּערייטינג סיסטעמס צו פיל מער געשווינד שאַפֿן אַ ארבעטן פּראָוטאַטייפּ. אַדדיטיאָנאַללי, אַמאָל די פּלאַן איז סאַלידאַפייד, די FPGA פּראָוטאַטייפּ קענען ווערן גענוצט צו כאַפּן ברייט סימיאַליישאַן פּרובירן שטעלט (פֿאַר ביידע סטימול און ענטפער) וואָס פאַרטראַכטנ פאַקטיש סיסטעם דאַטן. די דאַטן שטעלט קענען זיין ינוואַליאַבאַל אין קריייטינג די לעצט סימיאַליישאַנז פֿאַר אַ ASIC אָדער אנדערע פּראָדוקציע ימפּלאַמענטיישאַן. די אַדוואַנטtagניצן אַ FPGA ווי אַ פּלאַן פּראָוטאַטייפּ קענען דראַמאַטיקלי רעדוצירן די צייט פֿאַר פּלאַן, וואַלאַדיישאַן, טעסטינג און דורכפאַל אַנאַליסיס פֿאַר די לעצט פּראָדוקט ימפּלאַמענטיישאַן.
אין ביידע פון די פּראָסט FPGA נוצן מאָדעלס, די בייגיקייַט פון די FPGA ווי אַ פּלאַן ציל איז אַ שליסל אַדוואַנtagE. דעם מיטל אַז פילע פּלאַן ענדערונגען און יטעריישאַנז וואָלט זיין די קלאַל, און אַזוי די פיייקייט צו געשווינד דיבאַגינג פּלאַן ערראָרס וואָלט זיין קריטיש צו געבן ווי פילע פּלאַן אָפּציעס ווי מעגלעך. אָן אַ עפעקטיוו דיבאַג פיייקייט פיל פון די אַדוואַןtagדי בייגיקייט פון FPGA פּלאַן וועט זיין דימינישט דורך די נאָך דיבאַגינג צייט פארלאנגט. צומ גליק, FPGAs קענען אויך צושטעלן נאָך ייַזנוואַרג פֿעיִקייטן וואָס דראַמאַטיקלי פאַרפּאָשעטערן פאַקטיש-צייט דיבאַגינג. איידער איר קוק אין די קייפּאַבילאַטיז, לאָזן אונדז ערשטער קוק אין די מערסט פּראָסט טייפּס פון ישוז וואָס אַ FPGA פּלאַן קען זיין פייסט מיט, אַזוי מיר האָבן די רעכט הינטערגרונט צו אָפּשאַצן די עפעקטיווקייַט און די פֿאַרבונדן האַנדל-אָפס פון פאַרשידן דיבאַגינג מכשירים.
פּראָסט ישוז ווען דיבאַגינג FPGA דיזיינז
צוזאמען מיט די יקספּאַנדיד קייפּאַבילאַטיז וואָס מאָדערן FPGAs ברענגען, די פֿאַרבונדן געוואקסן קאַמפּלעקסיטי מאכט עס מער שווער צו שאַפֿן טעות-פריי דיזיינז. אין פאַקט, עס איז געווען עסטימאַטעד אַז דיבאַגינג קענען נעמען איבער 50% פון די עמבעדיד סיסטעם פּלאַן ציקל. מיט צייט-צו-מאַרק פּרעשערז קאַנטיניוינג צו קוועטשן די אַנטוויקלונג ציקל, די ייַזנוואַרג דיבאַגינג פון די ערשט סיסטעם איז רילאַגייטיד צו אַ אַפטערטהאָוגה - אַלע אויך אָפט אַסומינג אַז וועראַפאַקיישאַן (זיך אַ גרויס פּראָצענט)tage פון די אַנטוויקלונג פּלאַן), וועט כאַפּן אַלע די באַגז איידער די ערשט סיסטעם ברענגען-אַרויף. זאל ס קוק אין בלויז אַ ביסל פּראָסט טייפּס פון סיסטעם ישוז צו בעסער פֿאַרשטיין די טשאַלאַנדזשיז וואָס אַ טיפּיש פּלאַן וועט פּנים בעשאַס ערשט סיסטעם ברענגען-אַרויף.
פאַנגקשאַנאַל דעפֿיניציע ערראָרס קענען זיין דאַבלי שווער צו געפֿינען זינט דער דיזיינער האט מיסאַנדערסטוד אַ באַזונדער פאָדערונג, אַזוי דער טעות קענען זיין אָוווערלוקט אפילו ווען איר קוק קערפאַלי אין די דעטאַילס פון די פּלאַן. אַן עקסampפון אַ פּראָסט פאַנגקשאַנאַל דעפֿיניציע טעות וואָלט זיין ווו אַ שטאַט מאַשין יבערגאַנג טוט נישט סוף אַרויף אין די רעכט שטאַט. ערראָרס קענען אויך ווייַזן זיך אין סיסטעם ינטערפייסיז ווי אַ ינטעראַקשאַן פּראָבלעם. צובינד לייטאַנסי, למשלample, קען זיין פאַלש ספּעסיפיעד ריזאַלטינג אין אַ אומגעריכט באַפער אָוווערפלאָו אָדער אַנדערפלאָו צושטאַנד.
טיימינג ישוז אויף סיסטעם מדרגה זענען אן אנדער זייער פּראָסט מקור פון פּלאַן ערראָרס. אַסינטשראָנאָוס געשעענישן, אין באַזונדער, זענען אַ פּראָסט מקור פון ערראָרס ווען סינגקראַנאַזיישאַן אָדער אַריבער טיימינג פעלד יפעקץ זענען נישט קערפאַלי באַטראַכט. ווען אַפּערייטינג מיט גיכקייַט די טייפּס פון ערראָרס קענען זיין זייער פּראָבלעמאַטיק און קען זיין זייער זעלטן, טאָמער בלויז ווען ספּעציפיש דאַטן פּאַטערנז באַשייַמפּערלעך זיך. פילע פּראָסט טיימינג ווייאַליישאַנז פאַלן אין דעם קאַטעגאָריע און זענען יוזשאַוואַלי זייער שווער, אויב ניט אוממעגלעך צו סימולירן.
טיימינג ווייאַליישאַנז קענען אויך זיין דער רעזולטאַט פון נידעריק סיגנאַל פאַדעלאַטי צווישן ינאַגרייטיד סערקאַץ, ספּעציעל אין סיסטעמען מיט קייפל מאַכט ריילז פֿאַר יעדער קרייַז. נידעריק סיגנאַל פאַדעלאַטי קענען רעזולטאַט אין סיגנאַל ראַש, קראָססטאַלק, ריפלעקשאַנז, וידעפדיק לאָודינג און עלעקטראָ-מאַגנעטיק ינטערפיראַנס (EMI) ישוז וואָס אָפט ווייַזן זיך ווי טיימינג ווייאַליישאַנז. מאַכט צושטעלן ישוז, ווי טראַנזיאַנץ (ספּעציעל בעשאַס סיסטעם סטאַרטאַפּ אָדער פאַרמאַכן-אַראָפּ), מאַסע ווערייישאַנז און הויך מאַכט דיסיפּיישאַן סטרעסאַז קענען אויך רעזולטאַט אין מיסטעריעז ערראָרס, אָפט ניט לייכט טרייסט צוריק צו אַ מאַכט צושטעלן מקור. אפילו ווען די פּלאַן איז גאָר ריכטיק, באָרד פאַבריקיישאַן ישוז קענען רעזולטאַט אין ערראָרס. פאָלטי סאַדער דזשוינץ און ימפּראַפּערלי אַטאַטשט קאַנעקטערז, למשלample, קענען זיין דער מקור פון ערראָרס און קען אפילו זיין אָפענגיק אויף טעמפּעראַטור אָדער ברעט אָרט. די נוצן פון אַוואַנסירטע FPGA פּאַקקאַגינג טעקניקס קענען מאַכן עס שווער צו זאָנד סיגנאַלז אויף די געדרוקט קרייַז ברעט, אַזוי נאָר באַקומען אַקסעס צו אַ געוואלט סיגנאַל קען אָפט זיין פּראָבלעמאַטיק. אָפט פילע פּלאַן ישוז טאָן ניט מאַכן אַ באַלדיק טעות און מוזן ריפּאַל דורך די פּלאַן ביז דער טעות אַקשלי מאַנאַפעסץ זיך. טרייסינג די סטאַרטינג טעות צוריק צו דער וואָרצל גרונט קען אָפט זיין אַ פראַסטרייטינג, שווער און צייט קאַנסומינג אַרבעט.
פֿאַר עקסampליי, אַ איין ביסל פאַלש אין אַ איבערזעצונג טיש קען נישט רעזולטאַט אין אַ טעות ביז פילע סייקאַלז שפּעטער. עטלעכע פון די מכשירים וואָס מיר וועלן דיסקוטירן שפּעטער אין דעם פּאַפּיר, וואָס נוצן דעדאַקייטאַד אין-קרייַז דיבאַג ייַזנוואַרג, זענען ספּאַסיפיקלי טאַרגעטעד צו מאַכן די 'זשוק כאַנץ' שנעלער און גרינגער. איידער איר באַקומען אין די דעטאַילס פון די מכשירים, לאָזן אונדז ערשטער קוק אַ פאָלקס ווייכווארג-באזירט דיבאַגינג טעכניק סימיאַליישאַן צו בעסער פֿאַרשטיין די אַדוואַנט.tagעס און דיסאַדוואַנטידזשיזtagניצן סימיאַליישאַן פֿאַר דיבאַגינג.
ניצן סימיאַליישאַן פֿאַר דיבאַגינג
טיפּיקאַללי אין אַ פּלאַן סימיאַליישאַן, אַלע פאַקטיש-לעבן קאַמפּאָונאַנץ ין און אַרויס די פּלאַן זענען מאַדאַלד מאַטאַמאַטיקלי ווי ווייכווארג פּראַסעסאַז וואָס זענען עקסאַקיוטאַד סאַקווענטשאַלי אויף אַ נאָרמאַל קפּו. אַפּלייינג אַ ברייט קייט פון סטימול צו די פּלאַן און קאָנטראָלירן די דערוואַרט רעזולטאַט קעגן די סימיאַלייטיד דיזיינז רעזולטאַט, איז אַן גרינג וועג צו כאַפּן די מערסט קלאָר ווי דער טאָג פּלאַן ערראָרס. א פֿענצטער וואָס ווייַזן אַ טיפּיש סימיאַליישאַן לויפן איז געגעבן אין פיגורע 1 אונטן. די קלאָר אַדוואַנטtagפון סימיאַליישאַן ווערסעס ייַזנוואַרג-באזירט דיבאַגינג, איז אַז סימיאַליישאַן קענען זיין געטאן אין די ווייכווארג - קיין פאַקטיש ייַזנוואַרג-באזירט פּלאַן און טעסטבענטש זענען דארף. סימיאַליישאַן קענען געשווינד כאַפּן פילע פּלאַן ערראָרס, ספּעציעל די פֿאַרבונדן מיט פאַלש ספּעסאַפאַקיישאַנז, מיסאַנדערסטאַנדינג פון צובינד רעקווירעמענץ, פֿונקציע ערראָרס און פילע אנדערע 'גראָב' טייפּס פון ערראָרס וואָס זענען גרינג דיטעקטאַד דורך פּשוט סטימול וועקטאָרס.
סימיאַליישאַן איז דער הויפּט עפעקטיוו ווען ברייט סטימול קאַמבאַניישאַנז זענען בארעכטיגט פֿאַר די דיזיינער און די ריזאַלטינג אַוטפּוץ זענען באַוווסט. אין די קאַסעס, סימיאַליישאַן קענען מאַכן אַ כּמעט יגזאָסטיוו פּראָבע פון אַ פּלאַן. צום באַדויערן, רובֿ דיזיינז טאָן ניט האָבן גרינג אַקסעס צו ברייט פּראָבע סוויץ און דער פּראָצעס פון קריייטינג זיי קענען זיין זייער צייט קאַנסומינג. שאפן אַ פּראָבע סוויט וואָס קאָווערס 100% פון די פּלאַן איז כּמעט אוממעגלעך פֿאַר גרויס FPGA-באזירט דיזיינז און קורץ קאַץ מוזן זיין געוויינט צו פּרובירן און דעקן די שליסל עלעמענטן פון די פּלאַן. אן אנדער שוועריקייט מיט סימיאַליישאַן איז אַז עס איז נישט אַ "פאַקטיש וועלט" ימפּלאַמענטיישאַן און קענען נישט כאַפּן ייסינגקראַנאַס געשעענישן, ביי-גיכקייַט סיסטעם ינטעראַקשאַנז אָדער טיימינג ווייאַליישאַנז. צום סוף, דער סימיאַליישאַן פּראָצעס קען זיין זייער פּאַמעלעך און אויב פילע יטעריישאַנז זענען פארלאנגט, סימיאַליישאַן איז געשווינד די מערסט צייט קאַנסומינג און אָפט די מערסט טייַער חלק פון די אַנטוויקלונג פּראָצעס.
ווי אַן אָלטערנאַטיוו (אָדער טאָמער בעסער סטייטיד, ווי אַן אַדישאַן צו סימיאַליישאַן) FPGA דיזיינערז געפונען אַז זיי קען לייגן דיבאַג ייַזנוואַרג אין די FPGA פּלאַן צו אָבסערווירן און קאָנטראָלירן שליסל סיגנאַלז אין די מיטל. די טעקניקס ערידזשנאַלי דעוועלאָפּעד ווי אַד-האָק אַפּראָוטשיז, אָבער האָבן ביסלעכווייַז דעוועלאָפּעד אין אַ נאָרמאַל ייַזנוואַרג דיבאַג סטראַטעגיע. די נוצן פון דיבאַג קייפּאַבילאַטיז אין קרייַז אָפפערס אַ באַטייטיק אַדוואַנטtagפֿאַר FPGA-באזירט דיזיינז און דער ווייַטער אָפּטיילונג וועט ויספאָרשן די דריי מערסט פּראָסט סטראַטעגיעס און זייער פאַרשידן אַדוואַנטידזשיזtagעס און דיסאַדוואַנטידזשיזtages.
פּראָסט אין-קרייַז דעבוג אַפּראָוטשיז פֿאַר FPGAs
די מערסט פּראָסט טעקניקס צו ימפּלאַמענינג אין-קרייַז דיבאַג קייפּאַבילאַטיז אין FPGAs נוצן אָדער אַן עמבעדיד לאָגיק אַנאַליזער, פונדרויסנדיק פּרובירן ויסריכט אָדער דעדאַקייטאַד סיגנאַל זאָנד ייַזנוואַרג עמבעדיד אין די FPGA שטאָף. די עמבעדיד לאָגיק אַנאַליזער איז טיפּיקלי ימפּלאַמענאַד מיט FPGA שטאָף און איז ינסערטאַד אין די פּלאַן. די JTAG פּאָרט איז געניצט צו אַקסעס די אַנאַליזער און די קאַפּטשערד דאַטן קענען זיין געוויזן אויף אַ פּיסי. ווען פונדרויסנדיק פּרובירן ויסריכט איז געניצט, די FPGA פּלאַן אונטער פּרובירן איז מאַדאַפייד אַזוי אַז אויסגעקליבן ינערלעך FPGA סיגנאַלז זענען ראַוטיד צו רעזולטאַט פּינס. די פּינס קענען דעריבער זיין באמערקט דורך די פונדרויסנדיק פּרובירן ויסריכט. ווען דעדאַקייטאַד סיגנאַל זאָנד ייַזנוואַרג איז געניצט, אַ ברייט סעלעקציע פון ינערלעך סיגנאַלז קענען זיין לייענען אין פאַקטיש צייט. עטלעכע זאָנד ימפּלאַמאַנץ קענען אפילו ווערן גענוצט צו שרייַבן צו רעגיסטרירן אָדער זכּרון לאָוקיישאַנז ווייַטער ענכאַנסינג דיבאַג קייפּאַבילאַטיז. זאל ס קוק אין מער דעטאַל אין די אַדוואַנטtagעס און דיסאַדוואַנטידזשיזtagפון יעדער פון די טעקניקס און קוק אין אַן עקסampדי פּלאַן צו זען ווי די פאַרשידענע אַפּראָוטשיז קענען פּראַל די קוילעלדיק דיבאַגינג צייט.
אין-קרייַז פפּגאַ דעבוג-עמבעדיד לאָגיק אַנאַליזער
דער באַגריף פון די עמבעדיד לאָגיק אַנאַליזער איז געווען אַ דירעקט רעזולטאַט פון די אַד-האָק אין-קרייַז דיבאַגינג קייפּאַבילאַטיז אַז דיזיינערז ימפּלאַמענאַד ווען FPGAs זענען ערשטער געוויינט. עמבעדיד לאָגיק אַנאַליזערז צוגעגעבן נייַ קייפּאַבילאַטיז און ילימאַנייטאַד די פאָדערונג פֿאַר די דיזיינער צו אַנטוויקלען זייער אייגענע אַנאַליזער. רובֿ FPGAs פאָרשלאָגן די קייפּאַבילאַטיז און דריט פּאַרטיעס פאָרשלאָגן נאָרמאַל אַנאַליזערז (Identify®, פֿון Synopsys, איז איינער פאָלקס עקס.ample) וואָס קענען לייכט פאַרבינדן מיט מכשירים אויף העכער מדרגה צו פֿאַרבעסערן פּראָודאַקטיוויטי.
די פאַנגקשאַנאַליטי פון די לאָגיק אַנאַליזער איז ינסערטאַד אין די פּלאַן, ניצן פפּגאַ שטאָף און עמבעדיד זכּרון בלאַקס ווי שפּור באַפערז, ווי ילאַסטרייטיד אין פיגורע 2. טריגערינג רעסורסן זענען אויך באשאפן אַזוי אַז קאָמפּלעקס סיגנאַל ינטעראַקשאַנז קענען לייכט זיין אויסגעקליבן און קאַפּטשערד. אַקסעס צו די אַנאַליזער פֿאַר קאָנטראָל און דאַטן אַריבערפירן איז טיפּיקלי דורכגעקאָכט דורך די נאָרמאַל JTAG פּאָרט צו פאַרפּאָשעטערן צובינד רעקווירעמענץ. קאַפּטשערד דאַטן קענען זיין געוויזן אויף אַ פּיסי ניצן פּראָסט viewינג ווייכווארג און טיפּיקלי מירערז אַ וואַוועפאָרם רעזולטאַט פון אַ לאָגיק סימיאַלייטער viewינג סטיל.
די אַדוואַנטtagדי פון דעם צוגאַנג זענען אַז קיין נאָך FPGA I / O פּינס זענען געניצט, נאָר די נאָרמאַל JTAG סיגנאַלז. די עמבעדיד לאָגיק אַנאַליזער IP קאָרעס זענען יוזשאַוואַלי לעפיערעך ביליק און אין עטלעכע קאַסעס קענען זיין אַן אָפּציע פֿאַר יגזיסטינג FPGA סינטעז אָדער סימיאַליישאַן מכשירים. אין עטלעכע קאַסעס, די עמבעדיד לאָגיק אַנאַליזער קענען אויך צושטעלן נאָך אַוטפּוץ אויף אַניוזד I / Os, אויב עס איז מער באַקוועם. איינער פון די דיסאַדוואַנטידזשיזtagדער צוגאַנג איז אַז אַ גרויס סומע פון FPGA רעסורסן זענען פארלאנגט. אין באַזונדער, אויב שפּור באַפערז זענען געניצט, דאָס וועט רעדוצירן די נומער פון בלאָק מעמעריז בנימצא. אויב אַ ברייט באַפער איז דארף, דאָס וועט אויך זיין אַ האַנדל-אַוועק קעגן זכּרון טיפקייַט (זינט די נוצן פון אַ ברייט זכּרון רעזולטאטן אין פּליטקע זכּרון טיפקייַט) - אַ גרויס כיסאָרןtagE ווען ניצן קלענערער דעוויסעס. טאָמער דער גרעסטער שטערונג צו דעם טעכניק איז אַז יעדער מאָל אַ אַדזשאַסטמאַנט צו זאָנד פּלייסמאַנט, עס איז נייטיק צו ריקאָמפּילע און ריפּראָוגראַם די פּלאַן. ווען ניצן אַ גרויס מיטל דעם פּראָצעס קען נעמען אַ באַטייטיק סומע פון צייט. רעכט צו דער וועג די סיגנאַל פּראָבעס זענען געשטעלט אין די פּלאַן, עס קען זיין שווער צו קאָראַלייט סיגנאַל טיימינג באַציונגען. אַדדיטיאָנאַללי, די דילייז צווישן סיגנאַל פּראָבעס זענען נישט קאָנסיסטענט און אַזוי טיימינג באציונגען זענען שווער צו פאַרגלייַכן. דאָס איז אַ באַזונדער שוועריקייט ווען קאַמפּערינג ייסינגקראַנאַס סיגנאַלז אָדער סיגנאַלז פון פאַרשידענע צייט דאָומיינז.
אין-קרייַז FPGA דעבוג - פונדרויסנדיק טעסט ויסריכט
די נוצן פון אין-קרייַז דיבאַג קאָד אין קאַנדזשאַנגקשאַן מיט פונדרויסנדיק פּרובירן ויסריכט איז געווען אַ נאַטירלעך אַנטוויקלונג ווען אַ פונדרויסנדיק לאָגיק אַנאַליזער איז שוין בנימצא פֿאַר סיסטעם טעסטינג. דורך קריייטינג עטלעכע פּשוט דיבאַג קאָד צו ידענטיפיצירן און אויסקלייַבן ינערלעך פּראָבע סיגנאַלז און צולייגן זיי צו FPGA I / Os, ווי געוויזן אין פיגורע 3, עס איז געווען מעגלעך צו לעווערידזש די אַנאַליזערז אַוואַנסירטע קייפּאַבילאַטיז (אַזאַ ווי גרויס שפּור באַפערז, קאָמפּלעקס טריגערינג סיקוואַנסיז און קייפל viewינג אָפּציעס) צו שאַפֿן פּשוט אָבער שטאַרק דיבאַג ינווייראַנמאַנץ. מער קאָמפּליצירט אין-קרייַז קייפּאַבילאַטיז פֿאַר אַוואַנסירטע טריגערינג אָפּציעס קענען מינאַמייז די נומער פון אַוטפּוץ דארף. פֿאַר עקסampסאַלעקטינג ספּעציפיש אַדרעסעס אויף אַ ברייט ויטאָבוס קען זיין פּראָוכיבאַטיוו אויב פונדרויסנדיק פּינס זענען פארלאנגט.
ניצן ינערלעך FPGA לאָגיק דראַמאַטיקלי ראַדוסאַז י / אָ רעקווירעמענץ און קענען אפילו קוקן פֿאַר ספּעציפיש אַדרעס פּאַטערנז (טאָמער אַ רופן און צוריקקומען סיקוואַנס) פֿאַר דיבאַגינג מער קאָמפּליצירט פּראָבלעמס. אויב אַ פּראָסט באַניצער צובינד איז בנימצא, דאָס קען פאַרפּאָשעטערן די לערנען ויסבייג און ימפּרוווז פּראָודאַקטיוויטי.
די אַדוואַנטtagדער צוגאַנג איז אַז עס לעוועראַדזשאַז די פּרייַז פון די פונדרויסנדיק פּרובירן ויסריכט און אַזוי עס איז קיין צוגעלייגט געצייַג קאָס. עטלעכע דיבאַג קרייַז IP קאָרעס זענען בנימצא פון ויסריכט מאַניאַפאַקטשערערז אָדער FPGA מאַניאַפאַקטשערערז, און קענען זיין זייער נידעריק פּרייַז אָדער אפילו פריי. די סומע פון FPGA רעסורסן פארלאנגט צו ינסטרומענט די סיגנאַל סעלעקציע לאָגיק איז זייער קליין, און זינט די שפּור פונקציע איז דורכגעקאָכט מיט די פונדרויסנדיק לאָגיק אַנאַליזער, קיין בלאָק מעמעריז זענען דארף. זינט סעלעקציע לאָגיק איז ביליק, אַ גרויס נומער פון טשאַנאַלז מיט ברייט טריגערינג קענען אויך זיין געשטיצט. די לאָגיק אַנאַליזער קענען אַרבעטן אין אַ טיימינג מאָדע און אַ שטאַט מאָדע וואָס העלפּס יזאָלירן עטלעכע טיימינג ישוז.
די דיסאַדוואַנטידזשיזtagדי פון דעם צוגאַנג קענען אַרייַננעמען די נויט צו קויפן אַ לאָגיק אַנאַליזער, אויב איינער איז נישט שוין אַלאַקייטיד צו די פּרויעקט. דעם דיסאַדוואַנטtagעס קען זיין גענוג צו דיסקערידזש דעם צוגאַנג אין פילע ינסטאַנסיז. באַמערקונג אָבער, אַז עטלעכע נידעריק-פּרייַז לאָגיק אַנאַליזער אָפּציעס זענען בנימצא וואָס נוצן די פּיסי אָדער אַ טאַבלעט פֿאַר אַרויסווייַזן, וואָס מאכט דעם אָפּציע פיל מער פּרייַז-עפעקטיוו פֿאַר פּשוט דיבאַג באדערפענישן.
די נומער פון FPGA פּינס קאַנסומד קענען זיין אן אנדער דיסאַדוואַנטtagאון אויב ברייט בוסעס דאַרפֿן צו זיין באמערקט, אַ באַטייטיק פּלאַנירונג פֿאַר ברעט אויסלייג און די אַדישאַן פון דיבאַג קאַנעקטערז איז דארף. דעם פאָדערונג איז רובֿ מאל שווער צו פאָרויסזאָגן פרי אין די פּלאַן פאַסע און אן אנדער אַנוואָנטיד קאַמפּלעקסיטי. ענלעך צו די עמבעדיד לאָגיק אַנאַליזער צוגאַנג, די פונדרויסנדיק פּרובירן סטראַטעגיע ריקווייערז ריקאָמפּיילינג און רעפּראָגראַממינג פון אַ פּלאַן, ווען יעדער נייַ עקספּערימענט איז דארף.
דער פּראָסט חסרוןtagפון די צוויי טעקניקס - די נוצן פון אויף-שפּאָן רעסורסן (וואָס קענען אויך פּראַל אויף די טיימינג פאָרשטעלונג פון די פּלאַן און שאַפֿן נאָך דיבאַגינג רעקווירעמענץ) די נויט צו ריקאָמפּייל און ריפּראָגראַממינג די פּלאַן (וואָס קענען לייגן שעה אָדער אפילו טעג צו די דיבאַג פּלאַן) די ופּפראָנט פּלאַנירונג פארלאנגט צו ידענטיפיצירן מסתּמא פּראָבע סינעריאָוז, און די נוצן פון נאָך שפּאָן I/O רעסורסן באשאפן אַ נויט פֿאַר אַ צוגאַנג. איין ענטפער איז געווען די אַדישאַן פון דעדאַקייטאַד דיבאַג לאָגיק אין די FPGA שטאָף אויף עטלעכע דעוויסעס. אין-קרייַז דיבאַג ניצן ייַזנוואַרג פּראָבעס איז געווען דער רעזולטאַט.
אין-קרייַז FPGA דעבוג - ייַזנוואַרג פּראָבעס
די נוצן פון ייַזנוואַרג פּראָבעס דראַמאַטיקלי סימפּלאַפייז אין-קרייַז דיבאַג טעקניקס פֿאַר FPGAs. די טעכניק ימפּלאַמענאַד ווי אַ לייוו פּראָבע שטריך אויף SmartFusion2®SoC FPGA און IGLOO®2 FPGA דעוויסעס, מוסיף דעדאַקייטאַד זאָנד שורות צו די FPGA שטאָף צו אָבסערווירן די רעזולטאַט פון קיין לאָגיק עלעמענט רעגיסטרירן ביסל. ווי געוויזן אין די בלאָק דיאַגראַמע אין פיגורע 4, ייַזנוואַרג פּראָבעס זענען בנימצא אין צוויי זאָנד טשאַנאַלז א און ב.
סעלעקטעד רעגיסטרירט אַוטפּוץ (זאָנד ווייזט), ווי דער מקור אין די דנאָ פון די פיגור, זענען ראַוטיד אויבן די צוויי זאָנד טשאַנאַלז און אויב סעלעקטעד קענען זיין געווענדט צו די א אָדער ב קאַנאַל. די פאַקטיש-צייט קאַנאַל סיגנאַלז קענען זיין געשיקט צו דעדאַקייטאַד זאָנד א און זאָנד ב פּינס אויף די מיטל. די זאָנד א און זאָנד ב סיגנאַלז קענען אויך זיין ינערלעך ראַוטיד צו אַן עמבעדיד לאָגיק אַנאַליזער.
באַמערקונג אַז די טיימינג קעראַקטעריסטיקס פון די זאָנד פּינס זענען רעגולער און האָבן נעגלאַדזשאַבאַל דיווייישאַן פון איין זאָנד פונט צו אנדערן, וואָס מאכט עס פיל גרינגער צו פאַרגלייַכן די טיימינג קעראַקטעריסטיקס פון פאַקטיש-צייט סיגנאַלז. דאַטן קענען זיין קאַפּטשערד אין אַרויף צו 100MHz, אַזוי עס איז פּאַסיק פֿאַר די מערהייַט פון ציל דיזיינז.
טאָמער רובֿ ימפּאָרטאַנטלי די זאָנד פונט לאָוקיישאַנז, זינט זיי זענען נישט אויסגעקליבן ווי אַ טייל פון די ימפּלאַמענאַד פּלאַן (זיי זענען אויסגעקליבן דורך דעדאַקייטאַד ייַזנוואַרג בשעת די פּלאַן איז פליסנדיק אויף די FPGA), קענען זיין געשווינד טשיינדזשד דורך פשוט שיקן די סעלעקציע דאַטן צו די מיטל. קיין פּלאַן רעקאָמפּילע און רעפּראָגראַממינג איז דארף.
צו פאַרפּאָשעטערן די נוצן פון די לייוו פּראָבע פיייקייט אפילו מער, די פֿאַרבונדן דיבאַג ווייכווארג געצייַג האט אַקסעס צו אַלע די זאָנד סיגנאַל לאָוקיישאַנז דורך אַן אויטאָמאַטיש דזשענערייטאַד דיבאַג. file. ווי געוויזן אין פיגורע 5, דער סיגנאַל נאָמען קענען זיין אויסגעקליבן פון דער סיגנאַל רשימה און געווענדט צו דער געוואלט קאַנאַל. דאָס קען זיין געטאן אפילו בשעת די פּלאַן איז פליסנדיק אַזוי אַז די פּראָובינג טעטיקייט אין די פּלאַן איז סימלאַס און זייער עפעקטיוו.
אין פילע קאַסעס, די ייַזנוואַרג זאָנד פיייקייט, ווי לייוו זאָנד, קענען זיין געוויינט אין קאַנדזשאַנגקשאַן מיט די פריער דיסקרייבד עמבעדיד לאָגיק אַנאַליזער און פונדרויסנדיק פּרובירן טעקניקס.
ווי געוויזן אין פיגורע 6, די לייוו פּראָבע פיייקייט צו אויסקלייַבן סיגנאַלז 'אויף די פליען' מאכט עס מעגלעך צו געשווינד און לייכט טוישן די סיגנאַלז אונטער אָבסערוואַציע אָן דאַרפֿן צו ריקאָמפּילע די פּלאַן. אַ פונדרויסנדיק לאָגיק אַנאַליזער אָדער פאַרנעם קענען לייכט אָבסערווירן די פּראָוד סיגנאַלז, ווי ילאַסטרייטיד אין די שפּיץ רעכט טייל פון די פיגור אויף די דעדאַקייטאַד זאָנד רעזולטאַט פּינס. אַלטערנאַטיוועלי (אָדער אפֿשר אפילו אין אַדישאַן צו) די ינערלעך לאָגיק אַנאַליזער (די ILA Identify בלאָק, געוויזן אין די פיגור) קענען זיין געוויינט צו אָבסערווירן די זאָנד פּינס. די זאָנד סיגנאַלז קענען זיין קאַפּטשערד דורך די ILA און באמערקט אויף די וואַוועפאָרם פֿענצטער. זאָנד לאָוקיישאַנז קענען זיין פארענדערט אָן די נויט צו ריקאָמפּילע די ציל פּלאַן.
באַמערקונג אַז די נאָך קייפּאַבילאַטיז פֿאַר טריגערינג און שפּור קענען ווערן גענוצט צו פאַרבעסערן זאָנד פאַנגקשאַנאַליטי, מאכן עס גרינג צו געפֿינען אפילו קאָמפּלעקס פּלאַן ישוז.
נאָך ייַזנוואַרג דיבאַג קייפּאַבילאַטיז זענען אויך בנימצא אויף די SmartFusion2 SoC FPGA און IGLOO2 FPGA דעוויסעס. איינער פון די קייפּאַבילאַטיז, גערופֿן אַקטיווע פּראָבע, קענען דינאַמיקאַללי און ייסינגקראַנאַסלי לייענען אָדער שרייַבן צו קיין לאָגיק עלעמענט רעגיסטרירן ביסל. א געשריבן ווערט בלייַבט פֿאַר אַ איין זייגער ציקל אַזוי נאָרמאַל אָפּעראַציע קענען פאָרזעצן, מאכן עס אַ זייער ווערטפול דיבאַגינג געצייַג. אַקטיוו זאָנד איז פון באַזונדער אינטערעס אויב אַ שנעל אָבסערוואַציע פון אַ ינערלעך סיגנאַל איז געוואלט (טאָמער פשוט צו קאָנטראָלירן אַז עס איז אַקטיוו אָדער אין דער געוואלט שטאַט, ווי אַ באַשטעטיק סיגנאַל), אָדער אויב עס איז אַ נויט צו געשווינד פּרובירן אַ לאָגיק פונקציע דורך שרייבן צו אַ זאָנד פונט
(טאָמער צו אָנהייבן אַ שטאַט מאַשין יבערגאַנג דורך געשווינד באַשטעטיקן אַן אַרייַנשרייַב ווערט צו יזאָלירן אַ קאָנטראָל לויפן פּראָבלעם).
אן אנדער דיבאַג פיייקייט צוגעשטעלט דורך מיקראָסעמי איז זכּרון דעבוג. דער שטריך אַלאַוז די דיזיינער צו דינאַמיק און ייסינגקראַנאַסלי לייענען אָדער שרייַבן צו אַ אויסגעקליבן FPGA שטאָף SRAM בלאָק. ווי ילאַסטרייטיד אין די פאַרשטעלן שאָס פון די דעבוג טול (פיגורע 7), ווען די מעמאָרי בלאַקס קוויטל איז אויסגעקליבן, דער באַניצער קענען אויסקלייַבן די געבעטן זכּרון צו לייענען, ויספירן אַ מאָמענטבילד כאַפּן דעם זכּרון, מאָדיפיצירן זכּרון וואַלועס, און דעמאָלט שרייַבן די וואַלועס צוריק צו די מיטל. דאָס קען זיין ספּעציעל נוציק פֿאַר קאָנטראָלירונג אָדער באַשטעטיקן דאַטן באַפערז געניצט אין קאָמוניקאַציע פּאָרץ פֿאַר קאַמפּיוטינג אָריענטיד קראַצן אָדער אפילו פֿאַר קאָד עקסאַקיוטאַד דורך אַן עמבעדיד קפּו. דיבאַגינג קאָמפּלעקס דאַטן אָפענגיק ערראָרס איז פיל פאַסטער און גרינגער ווען מעמעריז קענען זיין באמערקט און קאַנטראָולד אַזוי געשווינד.
אַמאָל אַ פּלאַן איז דיבאַגד עס קען זיין דיזייראַבאַל צו קער אַוועק די ייַזנוואַרג דיבאַג קייפּאַבילאַטיז צו באַשיצן שפּירעוודיק אינפֿאָרמאַציע. אַ אַטאַקער קען נוצן די זעלבע פאַסילאַטיז צו לייענען קריטיש אינפֿאָרמאַציע אָדער טוישן סיסטעם סעטטינגס וואָס קען לאָזן גרינג אַקסעס צו שפּירעוודיק פּאַרץ פון די סיסטעם. מיקראָסעמי האט צוגעלייגט פֿעיִקייטן צו לאָזן די דיזיינער צו באַוואָרענען די מיטל נאָך דיבאַגינג איז געענדיקט. פֿאַר עקסampליי, אַקסעס צו לייוו זאָנד און אַקטיווע זאָנד קענען זיין פארשפארט צו גאָר דיסייבאַל די פונקציע ווי אַ מעגלעך מיטל פון באַפאַלן (עס אפילו ילימאַנייץ די מעגלעכקייט פון זאָנד טעטיקייט קריייטינג פּאַטערנז אין די צושטעלן קראַנט וואָס קען זיין געוויינט צו פּרובירן און אָבסערווירן זאָנד דאַטן מינאַצאַד). אַלטערנאַטיוועלי, אַקסעס צו אויסגעקליבן פּאָרשאַנז פון די פּלאַן קענען זיין פארשפארט צו פאַרמייַדן אַקסעס צו בלויז די סעקשאַנז. דאָס קען זיין באַקוועם אויב בלויז אַ טייל פון די פּלאַן דאַרף זיין זיכער, אַזוי די רעשט פון די פּלאַן איז נאָך צוטריטלעך פֿאַר טעסטינג אין פעלד אָדער טעות אַנאַליסיס.
אין-קרייַז דעבוג פאַרגלייַך טשאַרט
איצט אַז אַ דיטיילד שייַעךview פון די דריי הויפּט אין-קרייַז ייַזנוואַרג דיבאַג טעקניקס האָבן שוין דיסקרייבד אַ קיצער טשאַרט, ווי געוויזן אין פיגורע 8, איז געווען באשאפן מיט דעטאַילס די פאַרשידן אַדוואַנס.tagעס און דיסאַדוואַנטידזשיזtagפון יעדער אופֿן. געדענקט אַז עטלעכע טעקניקס קענען זיין געוויינט אין קאַנדזשאַנגקשאַן (לייוו פּראָבע און אינערלעכער לאָגיק אַנאַליזער (ILA), ווי Synopsys Identify, פֿאַר עקס.ample), מיר קענען זען די שליסל סטרענגקטס און וויקנאַסאַז פון יעדער טעכניק. די זאַמלונג פון ינ-קרייַז ייַזנוואַרג דיבאַג קייפּאַבילאַטיז (לייוו פּראָבע, אַקטיווע פּראָבע, און זכּרון דעבוג - קאַלעקטיוולי גערופן SmartDebug), זענען וויקאַסט אין פאַרגלייַך צו די אנדערע טעקניקס ווען עס קומט צו די נומער פון גאַנץ פּראָבעס בנימצא (אַ רויט קרייַז) און זענען שוואַך ווי דער בעסטער (געל קרייַז) ווען די כאַפּן גיכקייַט איז קאַנסידערד (פונדרויסנדיק פּרובירן ויסריכט קענען זיין פאַסטער).
ILA-באזירט טעקניקס, ווי Synopsys Identify, זענען וויקאַסט ווען קאַמפּערד מיט די אנדערע טעקניקס און ווען FPGA מיטל רעקווירעמענץ זענען באַטראַכט. פונדרויסנדיק פּרובירן ויסריכט-באזירט טעקניקס זענען וויקאַסט איבער אַ נומער פון קאַנסידעריישאַנז מיט פּרייַז, פּלאַן טיימינג פּראַל און זאָנד באַוועגונג אָוווערכעד (רעכט צו דער נויט צו ריקאָמפּילע די פּלאַן) די מערסט שווער. טאָמער די אָפּטימאַל לייזונג איז אַ קאָמבינאַציע פון SmartDebug און איינער פון די אנדערע טעקניקס, אַזוי אַז די שוואַכקייַט פון די נומער פון טשאַנאַלז פון SmartDebug קענען זיין מיטאַגייטיד און די דיסאַדוואַנט פון די זאָנד פונט באַוועגונג.tagדי אנדערע טעקניקס זענען אויך רידוסט.
סיגנאַל קלאַסאַפאַקיישאַנז
א נוציק דיסטינגקשאַן קענען זיין געמאכט צווישן עטלעכע פון די מערסט פּראָסט טייפּס פון סיגנאַלז און דאָס קען העלפֿן ווען פּלאַנירונג אַ דיבאַגינג צוגאַנג. פֿאַר עקסampאין דעם פאַל, סיגנאַלז וואָס טאָן ניט טוישן אנדערע ווי בעשאַס סיסטעם סטאַרטאַפּ, ווי סיסטעם באַשטעטיק, בלאָק באַשטעטיק אָדער יניטיאַליזאַטיאָן רעדזשיסטערז קענען זיין קלאַסאַפייד ווי סטאַטיק סיגנאַלז. די טייפּס פון סיגנאַלז זענען מערסט יפישאַנטלי אַקסעסט דורך אַ מעכירעס וואָס קענען לייכט אָבסערווירן און קאָנטראָלירן די סיגנאַל אָן אַ לאַנג ריקאָמפּילע ציקל. אַקטיוו פּראָבע איז אַ ויסגעצייכנט מעכירעס פֿאַר דיבאַגינג סטאַטיק סיגנאַלז. סימילאַרלי, סיגנאַלז וואָס טוישן מער אָפט אָבער זענען נאָך סטאַטיק פֿאַר די וואַסט מערהייט פון די צייט, קענען זיין קלאַסאַפייד ווי פּסעוודאָ-סטאַטיק און זענען אויך מערסט יפעקטיוולי דיבאַגד מיט אַקטיווע פּראָבע. סיגנאַלז וואָס טוישן אָפט, ווי זייגער סיגנאַלז, קענען זיין קלאַסאַפייד ווי דינאַמיש און זענען נישט אַזוי לייכט אַקסעסט דורך אַקטיוו פּראָבע. לעבן פּראָבע איז אַ בעסער ברירה פֿאַר אַבזערווינג די סיגנאַלז.
פּשוט דעבוג נוצן קאַסע
איצט אַז מיר האָבן אַ בעסער פארשטאנד פון די פאַרשידן אין-קרייַז דיבאַג אָפּציעס, לאָמיר קוקן אין אַ פּשוט פּלאַן עקס.ampצו זען ווי די טעקניקס דורכפירן. פיגורע 9, ווייזט אַ פּשוט FPGA פּלאַן אין אַ SmartFusion2 SoC FPGA מיטל. די מיקראָקאָנטראָללער סובסיסטעם (MSS) איז באַשטעטיק דורך די CoreSF2Reset Soft IP בלאָק. די ינפּוץ צו דעם בלאָק זענען די מאַכט אויף באַשטעטיק, אַ באַניצער שטאָף באַשטעטיק און אַ פונדרויסנדיק באַשטעטיק. די אַוטפּוץ זענען אַ באַשטעטיק צו די באַניצער שטאָף, אַ MSS באַשטעטיק און אַ M3 באַשטעטיק. די טעות סימפּטאָמס זענען אַז עס איז קיין טעטיקייט אויף די I / Os, כאָטש די מיטל איז הצלחה אַרויס די POR שטאַט. די דריי פאַרשידענע אָפּציעס פֿאַר דיבאַגינג דעם טעות זענען אויך ילאַסטרייטיד אין די פיגור: די בלוי קעסטל (לייבאַלד ETE) איז פֿאַר די פונדרויסנדיק טעסט עקוויפּמענט אופֿן; די גרין קעסטל (לייבאַלד ILA) איז פֿאַר די אינערלעכער לאָגיק אַנאַליזער אופֿן; און דער מאַראַנץ קעסטל (לייבאַלד אַפּ) איז פֿאַר די אַקטיווע פּראָבע אופֿן. מיר וועלן יבערנעמען אַז די פּאָטענציעל וואָרצל סיבות פון דעם טעות זענען ימפּראַפּערלי באַשטעטיק ינפּוץ צו די CoreSF2Reset Soft IP בלאָק.
לאָמיר איצט קוק אין די דיבאַג פּראָצעס פֿאַר דריי פון די פריער דיסקרייבד אין-קרייַז מעטהאָדס.
פונדרויסנדיק טעסט עקוויפּמענט
מיט דעם אופֿן, עס איז אנגענומען אַז די פּראָבע ויסריכט איז בנימצא און נישט געניצט דורך אַ העכער בילכערקייַט פּרויעקט. אין דערצו, עס איז וויכטיק צו האָבן פּלאַננעד פאָרויס אַזוי אַז עטלעכע FPGA I / Os זענען בארעכטיגט און קענען זיין לייכט קאָננעקטעד צו די פּראָבע ויסריכט. מיט אַ כעדער אויף די פּקב, למשלample, וואָלט זיין זייער נוציק און מינאַמייז צייט פארבראכט טריינג צו ידענטיפיצירן און פאַרבינדן צו אַ 'מייַן כאָשעד' אָדער די פּאָטענציעל שאָרטינג פון פּינס בעשאַס פּראָובינג. דער פּלאַן וועט זיין ריקאָמפּיילד צו אויסקלייַבן די סיגנאַלז וואָס מיר ווילן צו פאָרשן. אַלעווייַ, מיר וועלן נישט "שאָלעכץ צוריק די ציבעלע" און דאַרפֿן צו אויסקלייַבן נאָך סיגנאַלז פֿאַר ווייַטער ויספאָרשונג, ווייַל אָפט אונדזער ערשט ויספאָרשונג בלויז רעזולטאַטן אין מער פֿראגן. אין קיין פאַל, די ריקאָמפּילע און ריפּראָגראַממינג פּראָצעס קען נעמען אַ באַטייטיק סומע פון צייט, און אויב עס ריזאַלטיד אין טיימינג ווייאַליישאַנז, אַ רידיזיין איז פארלאנגט (מיר זענען אַלע באַקאַנט מיט ווי פראַסטרייטינג טריינג צו סאָלווע טיימינג קלאָוזשער ישוז קענען זיין, ספּעציעל ווען איר מאַכן די פּלאַן ענדערונגען צו געפֿינען אַ פּלאַן זשוק - דער גאנצער פּראָצעס קען נעמען פון מינוט צו שעה)! עס איז אויך וויכטיק צו געדענקען אַז אויב דער פּלאַן האט קיין פריי באַניצער I / Os, דעם אופֿן קענען ניט זיין ימפּלאַמענאַד. דערצו, דער אופֿן איז סטראַקטשעראַלי ינטרוסיוו פֿאַר די פּלאַן - און טיימינג פֿאַרבונדענע באַגז קען פאַרשווינדן אָדער ריאַפּיז צווישן יטעריישאַנז.
אינערלעכער לאָגיק אַנאַליזער
מיט דעם אופֿן, די ILA מוזן זיין ינסערטאַד אין די פּלאַן ניצן שטאָף רעסורסן, און דעמאָלט דאַרף זיין ריקאָמפּיילד. באַמערקונג אַז אויב די ILA איז שוין ינסטאַנטייטיד, די סיגנאַלז וואָס מיר ווילן צו ויספאָרשן קען נישט זיין ינסטרומענטיד, וואָס וואָלט אויך דאַרפן אַ ריקאָמפּילע. דעם פּראָצעס ריסקס טשאַנגינג דער אָריגינעל פּלאַן און ווייאַלייטינג טיימינג קאַנסטריינץ. אויב טיימינג איז באגעגנט, די פּלאַן דאַרף זיין ריפּראָוגראַמד און רייניטיאַליזעד. דער גאנצער פּראָצעס קענען נעמען עטלעכע מינוט אָדער אפילו שעה אויב ריקאָמפּילע מאל זענען לאַנג און קייפל פּאַסיז זענען דארף.דעם צוגאַנג איז סטראַקטשעראַלי ינטרוסיוו און קען רעזולטאַט אין ענלעך פּראָבלעמס צו די דיסקרייבד ווען ניצן די אויבן אופֿן.
אַקטיוו זאָנד
מיט דעם אופֿן, די אַקטיוו זאָנד קענען זיין שפּיציק צו די מקור פון די פאַרשידן באַשטעטיק סיגנאַלז, וואָס אַלע זענען סאָורסעד דורך רעגיסטרירן אַוטפּוץ (ווי געוויינטלעך אין קיין גוט דיגיטאַל פּלאַן פּראַקטיסיז). די סיגנאַלז זענען אויסגעקליבן איינער אין אַ צייַט, פֿון אַן אַקטיווע פּראָבע מעניו געוויזן אין פיגורע 10 אונטן. די אויסגעקליבן סיגנאַל וואַלועס קענען זיין לייענען און זענען געוויזן אין די אַקטיווע פּראָבע דאַטן פֿענצטער. קיין מיס-אַסערשאַנז זענען לייכט יידענאַפייד. דער פּראָבע קענען זיין דורכגעקאָכט גלייך אָן די נויטיק צו רעקאָמפּילע און ריפּראָגראַם די מיטל און איז נישט סטראַקטשעראַלי אָדער פּראַסידזשעראַלי ינטרוסיוו. דער גאנצער פּראָצעס נעמט נאָר אַ ביסל סעקונדעס. דער אופֿן קענען אויך מאַכן קאַנטראָולאַביליטי (אָלטערינג וואַלועס ייסינגקראַנאַסלי) וואָס די אנדערע צוויי מעטהאָדס וועט נישט לאָזן. אין דעם באַזונדער עקסampדעריבער, די באַשטעטיק סיגנאַל סאָרסעד דורך אַ רעגיסטרירן קען זיין לייכט פּראָודעד און דיסקאַווערד צו זיין געהאלטן אין אַקטיוו שטאַט.
מאָומאַנטערי טאַגאַלינג פון די באַשטעטיק סיגנאַל קענען זיין אַטשיווד דורך ייסינגקראַנאַסלי מאַניפּיאַלייטינג די רעגיסטרי דזשענערייטינג די מנוחה סיגנאַלז.
מער קאָמפּליצירט דעבוג נוצן פאַל
די אויבן פּלאַן איז געווען זייער פּשוט און איז נוציק ווי אַ הקדמה צו נוצן די דיסקרייבד פּלאַן טעקניקס, אָבער אַ מער קאָמפּליצירט עקסampעס קען זיין אפילו מער ילאַסטראַטיוו. פילע מאָל דער סיגנאַל פון אינטערעס איז נישט אַ סטאַטיק סיגנאַל ווי עס איז געווען אין אונדזער פּשוט עקסampלע אָבער איז דינאַמיש. א פּראָסט דינאַמיש סיגנאַל איז אַ ינטערמידייט זייגער, טאָמער געניצט פֿאַר טיימינג אַ האַנדשייק פֿאַר אַ סיריאַל צובינד. פיגורע 11 ווייזט אַזאַ אַ פּלאַן מיט די באַניצער סאָפט IP האַרץ, אין דעם פאַל, אַ מנהג סיריאַל צובינד פארבונדן צו די סיסטעם אַפּב ויטאָבוס. די ערראָרס סימפּטאָמס זענען אַז עס איז קיין טעטיקייט אויף די יוזערז מנהג סיריאַל צובינד, און אַז ווען אַ APB ויטאָבוס בעל אַרויסגעבן אַ טראַנסאַקטיאָן צו אַקסעס די סיריאַל צובינד עס גייט אין אַ ויסנעם צושטאַנד וואָס ינדיקייץ אַ פאַלש כאַנדשייק. די באדינגונגען ויסקומען צו ויסשליסן אַ סטאַטיק סיבה, ווי אַ פאַלש באַשטעטיק סיגנאַל, ווייַל די טראַנסאַקטיאָן שטאַט מאַשין סימז צו נישט אַרבעטן אין די דערוואַרט קורס און אַזוי ז די ויסנעם. דער וואָרצל סיבה איז געדאַנק צו זיין די זייגער אָפטקייַט גענעראַטאָר אין די באַניצער IP האַרץ.
אויב עס איז נישט פליסנדיק אין די ריכטיק אָפטקייַט, די דיסקרייבד ערראָרס וואָלט רעזולטאַט.
אין דעם סיטואַציע עס איז מיסטאָמע אַ בעסער סטראַטעגיע צו פאַרבייַטן די אַקטיוו זאָנד צוגאַנג מיט די לייוו זאָנד. דאָס איז ילאַסטרייטיד אין די אויבן פיגור דורך די מאַראַנץ בונט לפּ קעסטל, ניצן די JTAG סיגנאַל פֿאַר די זאָנד מקור סעלעקציע.
פונדרויסנדיק טעסט עקוויפּמענט
פֿאַר דעם פאַל, די מעטאַדאַלאַדזשי איז זייער ענלעך צו די פריער דיסקרייבד פּשוט עקסample. דער באַניצער זייגער סיגנאַל איז געבראכט צו די פּראָבע פונט (אַלעווייַ אויף אַ כעדער) און אַ צייט קאַנסומינג ריקאָמפּילע איז דארף. עס קען אויך זיין נוציק צו ברענגען אַ רעפֿערענץ סיגנאַל, טאָמער אַ סיסטעם זייגער וואָס איז געניצט צו זייגער די יוזערז IP ווי אַ פאַרגלייַך סיגנאַל. מיר וועלן ווידער זיין אונטערטעניק צו די נויט צו ריקאָמפּילע און ריפּראָגראַם אַזוי די גאנצע פּראָצעס קען נעמען אַ באַטייטיק סומע פון צייט.
אינערלעכער לאָגיק אַנאַליזער
דער פאַל איז זייער ענלעך צו די פּשוט עקסample. די ILA מוזן זיין ינסערטאַד, אָדער דער געוואלט סיגנאַל דיפיינד, און אַ רעקאָמפּילע און ריפּראָגראַם ציקל עקסאַקיוטאַד. אַלע די פריער דיסקרייבד ישוז נאָך רעזולטאַט אין אַ באַטייטיק דיבאַג ציקל צייט. עס איז אָבער אַן נאָך קאַמפּלעקסיטי. דער זייגער וואָס דרייווז די ILA דאַרף זיין סינטשראָנאָוס, און יידילי פיל פאַסטער מיט רעספּעקט צו די זייגער צו זיין באמערקט פֿון די באַניצער סאָפט IP האַרץ. אויב די קלאַקס זענען ייסינגקראַנאַס, אָדער טאָן ניט האָבן די ריכטיק טיימינג שייכות, דאַטן כאַפּן וועט זיין אַנפּרידיקטאַבאַל און אַ מעגלעך מקור פון צעמישונג פֿאַר די דיבאַג פּראָצעס.
באַמערקונג אַז אויב דער באַניצער סאָפט IP זייגער איז נישט דזשענערייטאַד אויף-שפּאָן (טאָמער עס איז ריקאַווערד פון די סיריאַל צובינד), דער דיזיינער קען דאַרפֿן צו לייגן אַ זייגער מאָדולע צו דזשענערייט אַ פאַסטער ILA זייגער ניצן נאָך רעסורסן און עפשער קריייטינג אַ טיימינג הילעל.
לעבן פּראָבע
מיט דעם אופֿן, די לייוו זאָנד קענען זיין געשווינד שפּיציק צו דער מקור פון די באַניצער זייגער און קיין אנדערע זייגער מקור פון אַ רעגיסטרירן צו יאָגן די וואָרצל גרונט פון דעם טעות. די לייוו זאָנד וועט ווייַזן די אויסגעקליבן סיגנאַל אַוטפּוץ אין פאַקטיש צייט, און די טיימינג שייכות צווישן די סיגנאַלז איז אַזוי פיל גרינגער צו באַשליסן. דער גאנצער פּראָצעס נעמט נאָר אַ ביסל סעקונדעס.
אנדערע דעבוג פֿעיִקייטן פֿאַר סיריאַל ינטערפייסיז
עס איז אויך וויכטיק צו פונט אויס אַז עס זענען פילע נאָך דיבאַג קייפּאַבילאַטיז אין SmartFusion2 SoC FPGA און IGLOO2 FPGA דעוויסעס וואָס קענען זיין געוויינט אויף סיריאַל ינטערפייסיז, ווי אין די פריערדיקע עקס.ampדער פּלאַן ווו ערראָרס זענען אפילו מער קאָמפּליצירט. SERDES דעבוג, פֿאַר עקסample, גיט ספּעציפיש דיבאַג קייפּאַבילאַטיז פֿאַר די דעדאַקייטאַד הויך-גיכקייַט סיריאַל ינטערפייסיז. עטלעכע פון די SERDES דעבוג פֿעיִקייטן אַרייַננעמען PMA פּרובירן שטיצן (ווי PRBS מוסטער דור און לופּבאַקק טעסטינג) שטיצן פֿאַר קייפל SERDES פּרובירן קאַנפיגיעריישאַנז מיט רעקאָנפיגוראַטיאָן פון רעגיסטרירט מדרגה צו ויסמיידן די נוצן פון די פול פּלאַן לויפן צו מאַכן קאַנפיגיעריישאַן ענדערונגען, און טעקסט ריפּאָרץ וואָס ווייַזן קאַנפיגיערד פּראָטאָקאָלס, SERDES קאַנפיגיעריישאַן רעדזשיסטערז און ליין קאַנפיגיעריישאַן רעדזשיסטערז. די פֿעיִקייטן מאַכן SERDES דיבאַגינג פיל גרינגער און קענען זיין געוויינט אין קאַנדזשאַנגקשאַן מיט לייוו זאָנד און אַקטיווע זאָנד צו פאַרגיכערן דיבאַגינג פון קאָמפּלעקס סערקאַץ.
די פריער דיסקרייבד מעמאָרי דעבוג געצייַג קענען אויך זיין געוויינט אין קאַנדזשאַנגקשאַן מיט SERDES Debug צו גיכקייַט טעסטינג. זינט זכּרון באַפערז קענען זיין געשווינד און לייכט ינספּעקטיד און טשיינדזשד מיט זכּרון דעבוג, עס איז מעגלעך צו געשווינד מאַכן 'פּרובירן פּאַקיץ' און אָבסערווירן די רעזולטאַטן פון די לופּבאַקק אָדער ינטער-סיסטעם קאָמוניקאַציע. דער דיזיינער קענען ליווערידזש די קייפּאַבילאַטיז און אַזוי מינאַמייז די נויט פֿאַר ספּעשאַלייזד 'פּרובירן כאַרנאַסיז' וואָס פאַרנוצן נאָך FPGA שטאָף און וואָס קען ווירקן די טיימינג פון די שפּאָן.
מסקנא
דער פּאַפּיר האט דיסקרייבד אין דעטאַל עטלעכע פאַרשידענע אַפּראָוטשיז צו ימפּלאַמענינג אין-קרייַז דיבאַג פֿאַר FPGAs און SoC FPGAs - די נוצן פון אַ ינטעגראַטעד לאָגיק אַנאַליזער, די נוצן פון פונדרויסנדיק פּרובירן ויסריכט און די נוצן פון דעדאַקייטאַד זאָנד סערקאַץ ינאַגרייטיד אין די FPGA שטאָף. די אַדישאַן פון ספּעשאַלייזד און דעדאַקייטאַד זאָנד סערקאַץ, ווי אַקטיוו זאָנד און לייוו זאָנד געפֿינט דורך Microsemi אויף SmartFusion2 SoC FPGA און IGLOO2 FPGA דעוויסעס, איז געוויזן צו באטייטיק גיכקייַט און סימפּלאַפייז די דיבאַג פּראָצעס. די פיייקייט צו געשווינד מאָדיפיצירן די סעלעקציע פון ינערלעך סיגנאַלז (אָן די נויט צו ויספירן אַ זייער צייט קאַנסומינג ריקאָמפּילע און שייַעך-פּראָגראַם ציקל), און די פיייקייט צו זאָנד ינערלעך סיגנאַלז (אָן די נויט צו נוצן FPGA שטאָף און פּאַטענטשאַלי באַקענען טיימינג ווייאַליישאַנז)tagעס איז ווען דיבאַגינג FPGA דיזיינז. אין דערצו, די נוצן פון קייפל מעטאַדאַלאַדזשיז, וואָס קענען אַרבעטן צוזאַמען צו צושטעלן אַן אפילו מער פולשטענדיק דיבאַג פיייקייט, איז דיסקרייבד. צום סוף, צוויי עקסampדי דיבאַג נוצן קאַסעס זענען געגעבן צו אילוסטרירן די האַנדל-אָפס צווישן די דיסקרייבד מעטהאָדס.
צו לערנען מער
- IGLOO2 FPGAs
- SmartFusion2 SoC FPGAs
מיקראָסעמי קאָרפּאָראַטיאָן (נאַסדאַק: MSCC) אָפפערס אַ פולשטענדיק פּאָרטפעל פון סעמיקאַנדאַקטער און סיסטעם סאַלושאַנז פֿאַר קאָמוניקאַציע, פאַרטיידיקונג און זיכערהייט, אַעראָספּאַסע און ינדאַסטרי מארקפלעצער. פּראָדוקטן אַרייַננעמען הויך-פאָרשטעלונג און ראַדיאַציע-פאַרגליווערט אַנאַלאָג געמישט סיגנאַל ינאַגרייטיד סערקאַץ, FPGAs, SoCs און ASICs; מאַכט פאַרוואַלטונג פּראָדוקטן; טיימינג און סינגקראַנאַזיישאַן דעוויסעס און גענוי צייט סאַלושאַנז, באַשטעטיקן די וועלט 'ס סטאַנדאַרט פֿאַר צייט; קול פּראַסעסינג דעוויסעס; רף סאַלושאַנז; דיסקרעטע קאַמפּאָונאַנץ; זיכערהייט טעקנאַלאַדזשיז און סקאַלאַבלע אַנטי-הampער פּראָדוקטן; מאַכט-איבער-עטהערנעט יקס און מידספּאַנס; ווי געזונט ווי מנהג פּלאַן קייפּאַבילאַטיז און באַדינונגס. מיקראָסעמי איז כעדקאָרטערד אין Aliso Viejo, קאַליפאָרניאַ, און האט בעערעך 3,400 עמפּלוייז גלאָובאַלי. לערן מער ביי www.microsemi.com.
© 2014 מיקראָסעמי קאָרפּאָראַטיאָן. אלע רעכטן רעזערווירט. מיקראָסעמי און די מיקראָסעמי לאָגאָ זענען טריידמאַרקס פון מיקראָסעמי קאָרפּאָראַטיאָן. אַלע אנדערע טריידמאַרקס און דינסט מאַרקס זענען די פאַרמאָג פון זייער ריספּעקטיוו אָונערז.
מיקראָסעמי קאָרפּאָראַטע הויפּטקוואַרטיר
- איינער פאַרנעמונג, Aliso Viejo CA 92656 USA
- ין די USA: +1 800-713-4113
- אַרויס די USA: +1 949-380-6100
- פֿאַרקויף: +1 949-380-6136
- פאַקס: +1 949-215-4996
- E- בריוו: sales.support@microsemi.com
FAQ
- ק: וואָס איז די מאַקסימום דאַטן כאַפּן אָפטקייַט פון די מיטל?
א: דער מיטל שטיצט דאַטן כאַפּן אַרויף צו 100 מהז, פּאַסיק פֿאַר רובֿ ציל דיזיינז. - ק: צי איך דאַרפֿן צו רעקאָמפּילע די פּלאַן ווען איך נוצן זאָנד סערקאַץ פֿאַר דיבאַגינג?
א: ניין, זאָנד פונט לאָוקיישאַנז קענען זיין געשווינד טשיינדזשד אָן ריקוויירינג פּלאַן רעקאָמפּילאַטיאָן אָדער ריפּראָגראַממינג.
דאָקומענטן / רעסאָורסעס
![]() |
מיקראָסעמי אין-קרייַז פפּגאַ דעבוג [pdf] אינסטרוקציעס אין-קרייַז פפּגאַ דעבוג, פפּגאַ דעבוג, דעבוג |