Download presentation
Presentation is loading. Please wait.
Published byMabel Hunt Modified over 9 years ago
1
חברת BitLee קורס : VHDL יישומי לתעשיה
2
VHDL- Very high speed integrated circuits Hardware Description Language.
3
מהי שפת VHDL שפת תיאור חומרה – הרעיון הכללי רכיבים מתוכנתים שיטות תכנון
4
רכיבים מתוכנתים CPLD FPGA Field Programmable Gate Array Complex Programmable Logic Device
5
Complex Programmable Logic Device (CPLD) PAL-like block PAL-like block PAL-like block PAL-like block I/O block Interconnection wires
6
D Q D Q PAL-like block
7
FPGA Basic Structure Logic block I/O block Interconnection switches
8
Flex 10K
9
משאבים פנימיים של רכיבי FLEX10K ממשפחת FPGA
10
תכנון גרפי
11
חסרונות של תכנון גרפי העדר גמישות קושי בביצוע שינוים אפשרויות הדמיה מוגבלות סביבת עבודה לא נוחה בעיות התאמה בין תוכנות שונות
12
שיטת תכנון אלטרנטיבית – באמצעות שפה גמישות מרבית ביצוע שינוים בקלות סימולציה מתקדמת עבודה עם טקסט בד"כ נוחה יותר מאשר עם שרטוטים אוניברסאליות
13
תכנון באמצעות שפה
14
אפשרויות חדשות העומדות לרשות המתכנן באמצעות שפה תיאור התנהגות לעומת תיאור מבנה בניית מעגל ע"י תוכנות סינתזה "אוטומטיות" הסתכלות "מלמעלה"
15
תהליך התכנון בעזרת VHDL תכנון לוגי תיאור של התכנון באמצעות השפה ביצוע בדיקות סימולציה ביצוע תהליך סינתזה
16
סימולציה
17
סינתזה
18
clk en count 0 3 2 2 2 5 1 0 3 clk rst 3 count State machine en מימוש מכונת מצבים בצורה גראפית: דיאגראמת גלים
19
דיאגראמת בועות zero Count=000 three Count=011 two Count=010 five Count=101 one Count=001 en=0 en=1
21
1 01 0 10 0 1 1 1 10 en x Q 2(t) Q 1(t) Q 0 (t) X X X X X X X X 1 01 0 10 0 1 1 1 1 0 en x Q 2(t) Q 1(t) Q 0 (t) X X X X X X X X 1 1
22
1 01 0 10 0 1 1 1 1 0 en x Q 2(t) Q 1(t) Q 0 (t) X X X X X X X X 1 1 1 1
23
מימוש המעגל: D2D2 Q2Q2 count D1D1 Q1Q1 D0D0 Q0Q0 en
24
מימוש מכונת מצבים בעזרת VHDL: ENTITY state_machine IS PORT( clk, reset, en: INSTD_LOGIC; count: OUTSTD_LOGIC_VECTOR (2 DOWNTO 0)); END ; ARCHITECTURE a OF state_machine IS TYPE STATE_TYPE IS (zero, one, five, two, three); SIGNAL state: STATE_TYPE; BEGIN PROCESS (clk, reset) BEGIN IF reset = '1' THEN state <= zero; ELSIF clk'EVENT AND clk = '1' THEN CASE state IS WHEN zero => IF en = '0' THEN state <= three; ELSE state <= zero; END IF;
25
WHEN one => IF en = '0' THEN state <= three; ELSE state <= zero; END IF; WHEN five => IF en = '0' THEN state <= one; ELSE state <= five; END IF; WHEN two => IF en = '0' THEN state <= three; ELSE state <= five; END IF; WHEN OTHERS => IF en = '0' THEN state <= three; ELSE state <= two; END IF; END CASE; END IF; END PROCESS; WITH state SELECT count <="000"WHENzero, "001"WHENone, "101"WHENfive, "010" WHEN two, "011"WHENthree; END a;
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.