25
תתתת תתתתBitLee BitLee תתתת : תתתת :VHDL VHDL תתתתתת תתתתתת תתתתתת תתתתתת

חברת BitLee

  • Upload
    xarles

  • View
    57

  • Download
    0

Embed Size (px)

DESCRIPTION

חברת BitLee. קורס : VHDL יישומי לתעשיה. VHDL- V ery high speed integrated circuits H ardware D escription L anguage. מהי שפת VHDL. שפת תיאור חומרה – הרעיון הכללי רכיבים מתוכנתים שיטות תכנון. רכיבים מתוכנתים. CPLD. FPGA. Complex Programmable Logic Device. Field Programmable - PowerPoint PPT Presentation

Citation preview

Page 1: חברת  BitLee

BitLeeBitLeeחברת חברת

יישומי לתעשיה יישומי לתעשיהVHDLVHDLקורס : קורס :

Page 2: חברת  BitLee

VHDL-Very high speed integrated circuits

Hardware

Description

Language.

Page 3: חברת  BitLee

VHDLVHDLמהי שפת מהי שפת

שפת תיאור חומרה – הרעיון הכללי•

רכיבים מתוכנתים•

שיטות תכנון •

Page 4: חברת  BitLee

רכיבים מתוכנתיםרכיבים מתוכנתים

CPLD FPGAField

ProgrammableGateArray

ComplexProgrammable

LogicDevice

Page 5: חברת  BitLee

Complex Programmable Logic Complex Programmable Logic Device (CPLD)Device (CPLD)

PAL-likeblock

PAL-likeblock

PAL-likeblock

PAL-likeblock

I/O

blo

ck

I/O

blo

ckI/

O b

lock

I/O

blo

ck

Interconnection wires

Page 6: חברת  BitLee

D Q

D Q

PAL-like block

PAL-like block

Page 7: חברת  BitLee

FPGA Basic StructureFPGA Basic Structure

Logic block

I/O block

Interconnectionswitches

Page 8: חברת  BitLee

Flex 10KFlex 10K

Page 9: חברת  BitLee

FLEX10KFLEX10Kמשאבים פנימיים של רכיבי משאבים פנימיים של רכיבי FPGAFPGAממשפחת ממשפחת

Page 10: חברת  BitLee

תכנון גרפיתכנון גרפי

Page 11: חברת  BitLee

חסרונות של תכנון גרפיחסרונות של תכנון גרפי

העדר גמישות •

קושי בביצוע שינוים•

אפשרויות הדמיה מוגבלות•

סביבת עבודה לא נוחה•

בעיות התאמה בין תוכנות שונות•

Page 12: חברת  BitLee

שיטת תכנון אלטרנטיבית –שיטת תכנון אלטרנטיבית – באמצעות שפה באמצעות שפה

גמישות מרבית•

ביצוע שינוים בקלות •

סימולציה מתקדמת•

עבודה עם טקסט בד"כ נוחה יותר מאשר עם •שרטוטים

אוניברסאליות •

Page 13: חברת  BitLee

תכנון באמצעות שפהתכנון באמצעות שפה

Page 14: חברת  BitLee

אפשרויות חדשות העומדות לרשות אפשרויות חדשות העומדות לרשות המתכנן באמצעות שפההמתכנן באמצעות שפה

תיאור התנהגות לעומת תיאור מבנה•

בניית מעגל ע"י תוכנות סינתזה "אוטומטיות"•

הסתכלות "מלמעלה" •

Page 15: חברת  BitLee

VHDLVHDLתהליך התכנון בעזרת תהליך התכנון בעזרת

תכנון לוגי•

תיאור של התכנון באמצעות השפה•

ביצוע בדיקות סימולציה•

ביצוע תהליך סינתזה•

Page 16: חברת  BitLee

סימולציה

Page 17: חברת  BitLee

סינתזהסינתזה

Page 18: חברת  BitLee

clk

en

count

0 3 2 2 2 5 1 0 3

clk

rst 3

count

State machine

en

מימוש מכונת מצבים בצורה גראפית:

דיאגראמת גלים

Page 19: חברת  BitLee

דיאגראמת בועות

zeroCount=000

threeCount=011

twoCount=010

fiveCount=101

oneCount=001

en=0

en=0

en=0

en=0

en=0

en=1

en=1

en=1

en=1

en=1

Page 20: חברת  BitLee

Next State(t+1)Current State (t)

Q0(t+1)Q1(t+1)Q2(t+1)Q0(t)Q1(t)Q2(t)en11000000001000xxx01000101100xxx00101001010xxx0110xxx111000000011001001xxx01011101101xxx00111011011xxx0111xxx1111

Page 21: חברת  BitLee

1 01 10 10 00 00 1

11 110

enxQ2(t)

Q1(t) Q0(t)

XXXX

XX

XX

1 01 10 10 00 00 1

1

1 11 0

enxQ2(t)

Q1(t) Q0(t)

XXXX

XX

XX

1

1

)(2)1(2 )15,14,12,10,7,6,4,2()13( tt QenQ

)(0)(1)(0)(1

)1(1 )15,14,12,10,7,6,4,2()11,3,0(

tttt

t

QenQQenQ

Q

Page 22: חברת  BitLee

)(2)(0)(2)(0)(0

)1(0 )15,14,12,10,7,6,4,2()13,11,9,5,0(

ttttt

t

QQenQQenQen

Q

1 01 10 10 00 00 1

1

1 11 0

enxQ2(t)

Q1(t) Q0(t)

XXXX

XX

XX

1

111

Page 23: חברת  BitLee

:מימוש המעגלD2 Q2

countD1 Q1

D0 Q0

en

Page 24: חברת  BitLee

:VHDLמימוש מכונת מצבים בעזרת ENTITY state_machine IS

PORT(clk, reset, en : IN STD_LOGIC;count : OUT STD_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;

BEGINPROCESS (clk, reset)BEGIN

IF reset = '1' THENstate <= zero;

ELSIF clk'EVENT AND clk = '1' THENCASE state IS

WHEN zero =>IF en = '0' THEN

state <= three;ELSE state <= zero;END IF;

Page 25: חברת  BitLee

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" WHEN zero,"001" WHEN one,"101" WHEN five,"010" WHEN two,"011" WHEN three;

END a;