Systematics
  • About Us
    • אודות סיסטמטיקס
      • על סיסטמטיקס
      • לקוחות
      • תעשיה
      • קהילה
      • הורדת תעודות ISO
      • בלוג
      • דרכי הגעה
      • Privacy Policy
    • תחומים בסיסטמטיקס
      • תחום GIS
      • תחום 3D CAD/PLM
      • תחום MATLAB & Simulink
      • תחום 3D Printing
    • רכישה
      • חנות מדפסות תלת מימד וחומרים
      • חנות ESRI
      • צור קשר עם מכירות
    • תמיכה
      • תמיכה ושירותי ייעוץ
      • סקר שביעות רצון לקוחות
      • נהלי התקנה ורישוי GIS
      • נהלי התקנה ורישוי MATLAB
      • נהלי התקנה ורישוי SOLIDWORKS
      • פתיחת קריאות שירות
      • פתיחת קריאות שירות תחום GIS
    • קורסים
      • אודות מרכז ההדרכה
      • קורסים GIS
      • קורסים SOLIDWORKS
      • קורסים MATLAB & Simulink
      • קורסים ALTIUM
      • קורסים 3D Printing
    • קריירה
      • משרות
      • לעבוד בסיסטמטיקס
  • GIS
    • ראשי
      • אודות תחום GIS
      • קהילה
    • מוצרים ופתרונות
      • GIS בענן
      • GIS ברשויות מקומיות
      • GIS ארגוני – ArcGIS Enterprise
      • GIS למקצוענים – ArcGIS Pro
      • GIS למפתחים
      • חידושי מערכת ArcGIS
      • פתרונות GIS
    • DATA
      • מוצרי Data חברת סיסטמטיקס
      • סקירה על מוצרי ה-DATA
    • מקורות למידה
      • אירועים ברחבי הארץ
      • וובינרים מקוונים LIVE
      • וובינרים מוקלטים לצפייה ישירה
      • קורסים GIS
      • סיפורי לקוחות GIS
      • תכנית סטארטאפים GIS
      • עדכונים וניוזלטרים
      • בלוג
    • תמיכה
      • תמיכה טכנית
      • מקורות מידע
      • שירותים – תמיכה וייעוץ
      • נהלי התקנה ורישוי GIS
      • פתיחת קריאת שירות GIS
    • רכישה
  • 3D CAD/PLM
    • ראשי
      • אודות תחום 3D CAD/PLM
      • סיפורי הצלחה
      • רשתות חברתיות
      • דרושים לעבודה עם SOLIDWORKS
      • צרו קשר
    • מוצרים
      • SOLIDWORKS | CAD
      • 3DEXPERIENCE
      • CATIA | HIGH END CAD
      • ENOVIA | PLM
      • SOLIDWORKS Simulation
      • Altium Designer | PCB
      • 3D PRINTING
      • FREE TOOLS
      • מה חדש בגרסת SOLIDWORKS 2026
    • פתרונות
      • סטארטאפים
      • אקדמיה וחינוך
    • מקורות למידה
      • אירועים וסמינרים
      • וובינרים מקצועיים
      • וובינרים מוקלטים לצפייה ישירה
      • קורסים SOLIDWORKS
      • קורסים ALTIUM
      • בלוג SOLIDWORKS
      • בלוג ALTIUM
    • תמיכה
      • תמיכה טכנית
      • SOLIDWORKS Term Licensing
      • חידוש חוזה תחזוקה SOLIDWORKS
      • חידוש חוזה תחזוקה ALTIUM
      • מקורות מידע
      • תמיכה | FAQ
      • שירותים
      • Citrix GoToAssist Agent
      • פתיחת קריאות שירות
    • לקוחות
      • סיפורי הצלחה
  • MATLAB & Simulink
    • ראשי
      • אודות תחום MATLAB & Simulink
      • קהילה
    • מוצרים
      • MATLAB
      • יכולת ושילובי MATLAB
      • Audio System Toolbox
      • MATLAB ו-Simulink בענן
      • תכן מערכות SerDes
      • Deploying to Hardware
      • Machine Learning
      • Deep Learning
      • Physical Modeling
      • Parallel Computing Toolbox
      • MATLAB Report Generator
      • Symbolic Math Toolbox
      • Sensor Fusion & Tracking Toolbox
      • Speedgoat
    • פתרונות
      • MATLAB & Simulink Product Family
      • בינה מלאכותית – Artificial Intelligence
      • Certification
      • Communication Systems
      • מערכות לתעשיית ה-Medical
      • מערכות אוטונומיות ורובוטיקה
      • Electrification Renewable energy
      • ייצור קוד אוטומטי ישירות מ-MATLAB ו-Simulink
      • הטמעה לחומרה
      • Solutions by Industry
      • תכנית סטארטפים
    • מקורות למידה
      • אירועים קרובים
      • וובינרים מקוונים
      • וובינרים מוקלטים (VOD)
      • קורסים
      • סיפורי הצלחה
      • בלוג
    • תמיכה
      • נהלי התקנה ורישוי MATLAB
      • תמיכה וייעוץ
      • פתיחת קריאות שירות
    • הורדה
  • 3D Printing
    • ראשי
      • אודות תחום 3D Printing
      • קהילה
      • חנות מדפסות תלת מימד וחומרים
    • מדפסות וחומרי הדפסה
      • מדפסות תלת מימד
      • מדפסות HP Jet Fusion 3D
      • מדפסות MarkForged
      • מדפסות FORMLABS
      • פתרונות סריקה מבית PEEL 3D
      • חומרי הדפסה
      • פתרונות לתכנון 3D CAD
    • ייצור מתקדם
      • TULIP – פלטפורמה מבוססת ענן לניהול רצפת הייצור (Composable MES)
    • תעשיות
      • הנדסה, תכנון ופיתוח
      • תעשייה וייצור
      • ציוד רפואי
      • רפואת שיניים
      • אקדמיה ומחקר
      • מוסדות חינוך
      • עיצוב וייצור תכשיטים
    • מקורות למידה
      • אירועים
      • וובינרים
      • סיפורי הצלחה
      • מדריכים מקצועיים להורדה
      • קורסים
      • בלוג
    • תמיכה
      • תמיכה
      • FAQ מדפסות FORMLABS
      • פתיחת קריאות שירות
  • Contact Us
  • EN
  • About Us
    • Careers
  • Solutions
  • Industries
  • Customers
    • Customers
    • Success Stories
  • Support
  • Contact Us
  • HE
  • Menu Menu

Click to open the search input field Click to open the search input field Search | ENHE

עמוד הבית » בלוג » MATLAB With Fun

  • ALL
  • GIS Blog
  • MATLAB With Fun
  • PCB Blog
  • Smart 3D Printing
  • SOLIDBlog

שילוב קוד HDL קיים בתוך סימולציית Simulink

ינון נוסבאום
12/03/2024
MATLAB With Fun

תגיות: Co-simulation | Cosimulation | HDL | HDL verifier | import HDL | SIMULINK | Verilog | VHDL | סימולינק | קו-סימולציה | קוסימולציה

ידוע כי תוכנת Simulink  משמשת באופן נרחב בתעשייה למידול, בדיקה ווריפיקציה של מערכות אלקטרוניות מורכבות. בפוסט הזה נתאר את תהליך העבודה לחיבור קוד שכתוב ב -VHDL לסביבת Simulink, ונסביר כיצד להתאים בין סוגי הנתונים וקצבי הדגימה כדי להשיג ביצועים אופטימליים.

שתפו את הפוסט
  • שתף בפייסבוק
  • שתף בטוויטר
  • שתף בגוגל+
  • שתף בלינקדאין
  • שתף באימייל
  • שתף בוואטסאפ

אבל האם ידעתם כי ניתן לשלב במודלי Simulink  גם קוד VHDL או Verilog  וכך להכניס לתוך המודלים הדמייה של רכיבי חומרה שפותחו בעבר או שנרכשו מספקים אחרים? כלי ה-HDL Verifier מאפשר אינטגרציה חלקה בין הקודים הללו על ידי יצירת ממשק עם סימולטורי HDL.

כשרוצים לשלב קוד HDL קיים או כשצריך לבצע ווריפיקציה לקוד HDL, בין אם זה קוד שנוצר באופן ידני או באופן אוטומטי, ולוודא שהוא עובד כפי שמצופה ממנו ברמת המערכת, אפשר להשתמש ב-HDL Verifier על מנת לבצע קוסימולציה שתשלב את סימולצית המודל ב-Simulink יחד עם סימולצית קוד ה-HDL בסימולטור ה-HDL כגון questa, ModelSim, Vivado, XCelium ועוד.

אחת הדרכים הפשוטות לעשות זאת ושאותה נדגים בפוסט הזה היא באמצעות ה-Cosimulation Wizard.

ה-Cosimulation Wizard הוא ממשק משתמש גרפי שמעביר אותנו דרך השלבים השונים שנחוצים על מנת לבצע את הסימולציה המשולבת, מעתה ואילך נכנה אותו בפוסט הזה "אשף הקוסימולציה".

בדוגמה הזו נשתמש ב-Simulink ובסימולטור HDL על מנת לבצע ווריפיקציה לקוד שמממש raised cosine filter ושנכתב בשפת Verilog, קישור לדוגמה הזו מופיע בסוף הדף, באזור הקישורים.

במסגרת הדוגמה האשף יקבל כקלט את קובץ ה-Verilog, ביחד עם נתונים נוספים שנכניס אליו בהמשך וייתן כפלט בלוק Simulink שייצג את קוד ה-HDL. הבלוק הזה יחובר כחלק ממודל ה-Simulink שלנו.

איך מריצים את ה-Cosimulation Wizard? זה פשוט מאוד. נכנסים לטאב Apps ב-Simulink ולוחצים על HDL Verifier. ברגע שנעשה זאת יתווסף לנו טאב נוסף בחלון בשם HDL Verifier. אם נלחץ על הטאב הזה נראה באזור של Mode את האפשרות לבחור HDL Cosimulation, נבחר באפשרות הזו ואז  נלחץ על Import HDL Files .

איך מקנפגים את ה-HDL Cosimulation Block עם אשף הקוסימולציה? שאלה מעולה!

נעבור צעד-צעד:

נתחיל ב-Cosimulation Type. וכאן נבחר את סימולטור ה-HDL שבו אנחנו רוצים להשתמש.

אם התיקייה שבה מותקן הסימולטור לא נמצאת ב-path של MATLAB אז ניתן לכתוב כאן גם את הנתיב לתיקיה.

אחרי שנלחץ על Next נגיע לשלב הבא – HDL Files. וכאן על ידי לחיצה על הכפתור “Add” נבחר את קובץ הVerilog- או VHDL ואז נלחץ שוב על הכפתור “Next”.

נגיע לשלב HDL Compilation שבו יוצגו פקודות ברירת המחדל לקומפילציה, במידת הצורך ניתן להוסיף או לשנות כאן את פקודות הקומפילציה.

לחיצה על Next תעביר אותנו לשלב Simulation Options, במסך הזה נכניס את שם מודול ה-HDL, ומה שיטת התקשורת אליו.

לחיצה על Next ונגיע למסך שבו נגדיר את הפורטים של הכניסות והיציאות.

אשף הקוסימולציה מנסה לזהות את היציאות באופן אוטומטי. אם האשף מזהה יציאה בצורה שגויה, אז אנחנו יכולים לתקן ולשנות את סוג היציאה באופן ידני. עבור כניסות קלט ניתן לבחור בין האפשרויות Clock, Reset, Input  או Unused. רק הכניסות שמסומנות כInput- יחוברו ל-Simulink במהלך הקוסימולציה ורק יציאות שמסומנות כ-Output יחוברו לSimulink- במהלך הקוסימולציה. Simulink יתעלם מיציאות שיסומנו כ-Unused.

ניתן לשנות את הפרמטרים של האותות שמסומנים כ-Clock ו-Reset, נראה איך עושים זאת בשלב מאוחר יותר.

בדוגמה שלנו נקבל את סוגי היציאות המוגדרים כברירת מחדל מבלי לשנות ונלחץ על Next על מנת להמשיך לדף פרטי יציאת פלט.

בדף פרטי יציאת פלט נבצע את השלבים הבאים:

קודם כל נגדיר את זמן הדגימה של filter_out עם הערך "-1" שמסמן שהערך יוגדר באמצעות back propagation.

לאחר מכן, אם נפתח את קוד ה-Verilog  נוכל לראות שהפלט מופיע בפורמט sfix34_En29 . על כן נשנה את השדות הבאים:

  • את ה-Data Type נשנה ל-Fixedpoint
  • את הערך של sign, שמגדיר האם יש או אין סימן לערך האות, נשנה ל-Signed
  • את אורך השבר נשנה ל-29

נלחץ על הכפתור next כדי להמשיך לדף פרטי ה-clock/reset.

בדף clock/reset בצע את הפעולות הבאות:

אם סימולטור ה-HDL שאיתו נעבוד הוא ModelSim או  Xcelium:

  • נגדיר את יחידת הזמן HDL ל-ns ואת ה-Clock period ל-20.
  • נגדיר את הActive Edge- ל Rising. ואת הreset initial value- ל-1.
  • נגדיר את משך ה-reset signal ל-15.

אם סימולטור ה-HDL שאיתו נעבוד הוא Vivado:

  • נגדיר את יחידת הזמן HDL ל-ps ואת ה-Clock period ל-20.
  • נגדיר את הActive Edge- ל-Rising ואת הreset initial value- ל-1.
  • נגדיר את משך ה-reset signal ל-15.

לחיצה על Next כדי להמשיך למסך Start time alignment.

במסך Start time alignment מוצג גרף עבור צורות הגל של האותות clock ו-reset. אשף הקוסימולציה מציג את זמן ה-HDL להתחלת הקוסימולציה באמצעות קו אדום. זמן ההתחלה הוא גם הזמן שבוSimulink  מקבל את דגימת הקלט הראשונה מסימולטור ה-HDL.

נגדיר את ה-alignment. השעון שלנו הוא rising edge, על כן בזמן 20ns (ב ModelSim-או Xcelium) או 20 ps (בסימולטור Vivado) הפלט של המסנן יציב ואין צורך לשנות את זמן ברירת המחדל לביצוע הקוסימולציה.

לחיצה על Next תעביר אותנו למסך האחרון באשף, יצירת בלוק ה-HDL Cosimulation.

לפני שיוצרים את הבלוק יש לנו אפשרות לקבוע את ה-timescale. לחלופין, ניתן לבצע זאת מאוחר יותר, לפני הפעלת הסימולציה.

בדף יצירת הבלוק נבצע את השלבים הבאים:

בעבודה עם הסימולטוריםModelSim  או  Xceliumנשאיר את אפשרות ברירת המחדל Automatically determine timescale at start of simulation כאפשרות הנבחרת. מאוחר יותר, לפני שנריץ את הסימולציה נוכל להציג את לוח הזמנים המחושב ולשנות את הערכים.

בעבודה עם סימולטור Vivado נוריד את הסימון מהאפשרות הזו ונקבע את ה-timescale כך ששנייה אחת ב-Simulink תתאים ל-2e-11 שניות בסימולטור ה-HDL.

לחיצה על Finish תשלים לנו את הפעלת אשף הקוסימולציה ותסגור את החלון.

כעת, לאחר שהאשף סיים את עבודתו, הוא יצר לנו את הפריטים הבאים בקנבס של המודל:

  • בלוק  HDL Cosimulation
  • בלוק לריקומפילציה של מודל ה-HDL (מכיל קישור לסקריפט המופעל על ידי לחיצה כפולה על הבלוק)
  • בלוק להפעלת סימולטור HDL (מכיל קישור לסקריפט המופעל על ידי לחיצה כפולה על הבלוק)  עבור Modelsim ו-Xcelium בלבד.

נמקם את בלוק ה-HDL Cosimulation ונחבר אליו את שאר הבלוקים, כך שהמודל שלנו ייראה דומה לזה שבתמונה:

כעת נפעיל את הקוסימולציה

נפעיל את סימולטור HDL על ידי לחיצה כפולה על הבלוק שכותרתוLaunch HDL Simulator  ולאחר שהסימולטור עלה נחזור ל-Simulink ונפעיל את הסימולציה

נזכור שבדף האחרון של אשף הקוסימולציה בחרנו לקבוע את ה-timescale לפני הפעלת הסימולציה. על כן לפני ההפעלה יעלה לנו ממשק שיאפשר לנו לבצע את קביעת הערכים. נרצה לקבוע את הערכים כך ששנייה אחת ב-simulink תתאים לזמן מחזור אחד ב-HDL, כלומר 20ns.

נאשר את השינויים ונפעיל מחדש את הסימולציה.

וזהו. הצלחנו להפעיל את המודל שלנו ולבצע קוסימולציה של המודל ב-Simulink יחד עם קוד ה-HDL הקיים שלנו ובדרך זו נוכל הן לעשות ווריפיקציה לקוד ה-HDL והן reuse עבור קוד שכבר קיים לנו ואנחנו יודעים שהוא מאומת ועובד, ורוצים לשלב אותו כחלק מהסימולציה. התמונה בראש העמוד היא מתוך ה-scope בדוגמה שמחוברים אליו אות הכניסה ואות היציאה מה-HDL cosimulation block.

למידע נוסף:

Simulink Cosimulation – מתוך הדוקומנטציה של Simulink

Import HDL for Cosimulation with Simulink – וובינר של MathWorks בנושא

HDL Cosimulation – מתוך הדוקומנטציה של ה-HDL Verifier

Get Started with Simulink HDL Cosimulation – הדוגמה שראינו

תגיות: Co-simulation | Cosimulation | HDL | HDL verifier | import HDL | SIMULINK | Verilog | VHDL | סימולינק | קו-סימולציה | קוסימולציה

למידע נוסף
כיתבו לנו
שתפו את הפוסט
  • שתף בפייסבוק
  • שתף בטוויטר
  • שתף בגוגל+
  • שתף בלינקדאין
  • שתף באימייל
  • שתף בוואטסאפ

פוסטים נוספים מאותה קטגוריה

האיצו את הקוד שלכם: כך תגרמו לאלגוריתמים שלכם לרוץ מהר יותר

האיצו את הקוד שלכם: כך תגרמו לאלגוריתמים שלכם לרוץ מהר יותר

MATLAB With Fun

שלי מרטינוב
25/12/2025
 MATLAB Copilot – לתכנן. לכתוב. לבדוק. מהר יותר.

 MATLAB Copilot – לתכנן. לכתוב. לבדוק. מהר יותר.

MATLAB With Fun

שלי מרטינוב
09/11/2025
מה חדש בגרסת Simulink R2025b

מה חדש בגרסת Simulink R2025b

MATLAB With Fun

שלי מרטינוב
22/10/2025
תגובות | 0 תגובות

השאירו תגובה

כתיבת תגובה לבטל

האימייל לא יוצג באתר. שדות החובה מסומנים *

הרשמו לקבלת עדכונים

MATLAB With Fun
שדה חובה

ההרשמה בוצעה בהצלחה. בדוק בתיבת הדואר שלך, הודעה המכילה קישור לאישור ההרשמה ואשר את הרשמתך.

רוצים ללמוד עוד? כיתבו לנו

כיתבו לנו


    social-media-youtubesocial-media-linkedin

    קהילה

    • קהילת סיסטמטיקס
    • SOLIDWORKS Blog
    • PCB Blog
    • MATLAB with Fun Blog
    • GIS Blog
    • Smart 3D Printing Blog
    • ESRI Israel FB
    • SOLIDWORKS Israel FB
    • MATLAB and Simulink LI
    • MATLAB and Simulink FB

    צור קשר

    • בקשת יצירת קשר
    • בקשת קשר טלפוני

    רכישה

    • בקשת הצעת מחיר
    • מכירות ESRI
    • מכירות SOLIDWORKS
    • מכירות ALTIUM
    • מכירות CATIA
    • מכירות ENOVIA
    • מכירות MATLAB & Simulink
    • מכירת מדפסות תלת מימד

    קורסים

    • קורסים GIS
    • קורסים SOLIDWORKS
    • קורסים MATLAB & Simulink
    • קורסים CATIA
    • קורסים ALTIUM
    • יצירת קשר מרכז ההדרכה

    תמיכה

    • מדיניות תמיכה
    • שירותי ייעוץ
    • פתיחת קריאות שירות

    פתרונות ומוצרים

    • תחום GIS
    • תחום 3D CAD/PLM
    • SOLIDWORKS
    • ALTIUM PCB
    • CATIA
    • ENOVIA
    • MATLAB & Simulink
    • תחום 3D Printing
    • 3D EXPERIENCE
    • תעשיות
    • אקדמיה
    • Start Ups

    אודות סיסטמטיקס

    • מי אנחנו?
    • תעודות הסמכת ISO
    • אירועים
    • דרכי גישה ומפה
    • יצירת קשר
    • מדיניות הפרטיות של אתר סיסטמטיקס – Privacy-Policy

    לקוחות

    • לקוחות סיסטמטיקס
    • סיפורי לקוח SOLIDWORKS
    • סיפורי לקוח MathWorks
    • סיפורי הצלחה GIS
    © 2026 All rights reserved SYSTEMATICS Ltd. | Privacy Policy
    • הישארו מעודכנים
    • כיתבו לנו
    Scroll to top