Recommended
TEDx Manchester: AI & The Future of Work
LDPC - Final Presentation
ISUG - Real time in BI by Hagai Jacoby
Fire Wall Solutions Final
Dw124 3-kernel so-injector
SAP NetWeaver Gateway OData
SAP NetWeaver Gateway OData
מושגים שונים בהבנת מערכות מחשב
מושגים שונים בהבנת מערכות מחשב
מהפיכת הייצור החכם - אריאל לסרי (Rockwell Automation)
217188253 vdi-case-final-2010
Genaral Configuration 8600 Nortel
More Related Content
TEDx Manchester: AI & The Future of Work
LDPC - Final Presentation
ISUG - Real time in BI by Hagai Jacoby
Similar to Jpeg encoder (19) Fire Wall Solutions Final
Dw124 3-kernel so-injector
SAP NetWeaver Gateway OData
SAP NetWeaver Gateway OData
מושגים שונים בהבנת מערכות מחשב
מושגים שונים בהבנת מערכות מחשב
מהפיכת הייצור החכם - אריאל לסרי (Rockwell Automation)
217188253 vdi-case-final-2010
Genaral Configuration 8600 Nortel
Jpeg encoder1. Jpeg encoderJpeg encoder
Hardware implementationHardware implementation
with Verilogwith Verilog
Designed byDesigned by
Alon Cohen (alonc777@gmail.comAlon Cohen (alonc777@gmail.com((
Roi Biton, Yevgeny (Yoni) KhasinRoi Biton, Yevgeny (Yoni) Khasin
Ariela Huber, Shulamyt Ajamy, Moshe SzklarAriela Huber, Shulamyt Ajamy, Moshe Szklar
Directed byDirected by
Mr. Max NigriMr. Max Nigri
The Hebrew UniversityThe Hebrew University
of Jerusalemof Jerusalem
1
4. imagerimager
מ מידע הזרמת המדמה מודולמ מידע הזרמת המדמה מודולimagerimager
Data FormatData Format :: 8bit RGB8bit RGBמקבילי סינכרונימקבילי סינכרוני
כניסה רגלכניסה רגלshootshoot.חדשה תמונה לשליחת טריגר –.חדשה תמונה לשליחת טריגר –
נשלח תמונה כל העברת לפנינשלח תמונה כל העברת לפניheaderheaderשם את המעבירשם את המעביר
.התמונה וממדי הקובץ.התמונה וממדי הקובץ
4
5. playerplayer
.תמונה לצילום כפתור לחיצת מיצר.תמונה לצילום כפתור לחיצת מיצר
בקוד תאריך מיצרבקוד תאריך מיצרASCIIASCII..
: התמונה איכות את קובע: התמונה איכות את קובעquality factorquality factor
00––lowlow
11--midmid
22--highhigh
5
6. flashflash
.זיכרון כרטיס המדמה מודול.זיכרון כרטיס המדמה מודול
סינכרונית מקבילית תקשורתסינכרונית מקבילית תקשורת32bit32bit..
של לכתיבה אפשרותשל לכתיבה אפשרות8,16,24,328,16,24,32BitBitעלית בכלעלית בכל
.שעון.שעון
העברת לפני מתבצעת הקובץ שם העברתהעברת לפני מתבצעת הקובץ שם העברת
.המידע.המידע
6
7. encoderencoder
לפורמט תמונה מקודדלפורמט תמונה מקודדjpg filejpg file..
בפורמט תמונה :כניסהבפורמט תמונה :כניסהRGBRGB) טורי באופן ,) טורי באופן ,datadata
8bit8bit.(.(
סינכרונית כתיבה :מוצאסינכרונית כתיבה :מוצא32bit data32bit dataלזיכרוןלזיכרוןflashflash..
:בקרות:בקרות
Quality factorQuality factor–איכות לקביעת ביטים שני–איכות לקביעת ביטים שני
.התמונה.התמונה
Date(64bitDate(64bit))–בקוד תאריך הכנסת–בקוד תאריך הכנסתASCIIASCII..
ShootShootתמונה לצילום .טריגרתמונה לצילום .טריגר
JPEG
JPEGEncoder
Encoder
7
9. Encoder Block diagramEncoder Block diagram
QuantizationQuantization
DCTDCT
&&
ZIGZAGZIGZAG
RLCRLC
&&
DPCMDPCM
DCTDCT
ClientClient
TripleTriple
FIFOFIFO
ControlControl
RGB toRGB to
YCbCrYCbCr
ARBARB
RAMRAM
BlocksBlocks
Wr PixelsWr Pixels
ClientClient
DateDate
StamperStamper
AlinerAlinerInt to floatInt to float
Clk dividerClk divider
Quan ROMQuan ROM
TBTB
FIFOFIFO
writerwriter
HuffmanHuffman
codecode
Serial toSerial to
paralelparalel
FlashFlash
writerwriter
DCTDCT
ROMROM
9
10. מודולים בין תקשורתמודולים בין תקשורת
השונים המודולים בין המידע להעברת אחיד תקןהשונים המודולים בין המידע להעברת אחיד תקן
spen_in/spen_outspen_in/spen_out–' ב נמצא–' ב נמצא11בלוקתמונה מועבר עוד כל '.בלוקתמונה מועבר עוד כל '.
d_in_valid/d_out_validd_in_valid/d_out_valid–'1–'1' הנוכחית השעון עלית עבור תקף מידע .מציין' הנוכחית השעון עלית עבור תקף מידע .מציין
rstrst–המודול .אתחול–המודול .אתחול
mclkmclk–המודול של עבודה .שעון–המודול של עבודה .שעון
בלוק תחילת בלוק סוףתקף מידע
10
11. ברצף תמונות צילוםברצף תמונות צילום
Shootתמונה לצילום
חדשה
Busyה כי מציין
encoderבאמצע
עבודה
ה בכניסת הבלוקים
DCT
קובץ סיום
נלחץ לאshoot
מועברת תמונה אין
pxqבזמן דלוק
המידע העברת
11
12. Block diagram – data flowBlock diagram – data flow
מה המידע כניסת ,שמאל מצדמה המידע כניסת ,שמאל מצדimagerimager..
Int to floatInt to float– מ המידע את ממיר– מ המידע את ממיר8bit data8bit dataללfloating point 24floating point 24
bitbit..
AlinerAlinerטורי מקבלטורי מקבלR,G,BR,G,Bשלשה ומוציאשלשה ומוציא}}R,G,BR,G,B{{כל מיושריםכל מיושרים33
.שעונים.שעונים
12
13. Block diagram – data flowBlock diagram – data flow
Date stamperDate stamperשל הדפסה מבצעשל הדפסה מבצע
כדי תוך התמונה לתוך תאריךכדי תוך התמונה לתוך תאריך
המידע .זרימתהמידע .זרימת
למודול מחוץ מתקבל התאריךלמודול מחוץ מתקבל התאריך
בפורמטבפורמטASCIIASCIIשל מקבילי קו ע"ישל מקבילי קו ע"י
64bit64bit..
מתיחה לבצע פרמטרים ע"י נתןמתיחה לבצע פרמטרים ע"י נתן
.לתאריך ורוחבי אופקי וכיווץ.לתאריך ורוחבי אופקי וכיווץ
ה כל את להדפיס נתןה כל את להדפיס נתןA,B,CA,B,C
13
14. Block diagram – data flowBlock diagram – data flow
RGBtoYCbCrRGBtoYCbCr– לפורמט המרה המבצע מודול– לפורמט המרה המבצע מודולY,Cb,CrY,Cb,Crווoffsetoffsetשלשל--128128הכפלה ע"יהכפלה ע"י
.במטריצה.במטריצה
Wr Pixel ClientWr Pixel Clientלזיכרון שורה אחר שורה המידע של כתיבה מבצעלזיכרון שורה אחר שורה המידע של כתיבה מבצעRAMRAMציקלית בצורהציקלית בצורה
פולס ומייצרפולס ומייצרstartstartשל כתיבה סיום כל עםשל כתיבה סיום כל עם88שורות .שורות .
כל של ההתחלתית הכתובת את מספק בנוסףכל של ההתחלתית הכתובת את מספק בנוסף88כל עם שורותכל עם שורותstartstart.סנכרון לצורך.סנכרון לצורך
To ARBTo ARB14
15. Block diagram – data flowBlock diagram – data flow
RAM BlocksRAM Blocks– מ המגיעה התמונה של המידע שורות את מאחסן –– מ המגיעה התמונה של המידע שורות את מאחסן –wr pixels clientwr pixels client..
ARBARB– ל ארביטרציה– ל ארביטרציהRAMRAMעםעםstrict prioritystrict priorityללwr pixels clientwr pixels client..
DCT ClientDCT Client– מה המידע רצועות את מושך– מה המידע רצועות את מושךRAMRAMשל בפורמטשל בפורמטblocks 8x8blocks 8x8
המידע משיכת סדרהמידע משיכת סדרtop to down and left to righttop to down and left to right..
וסגנל התחלתית כתובת מקבלוסגנל התחלתית כתובת מקבלstartstart.הקריאה וזמן כתובת לסימון.הקריאה וזמן כתובת לסימון
From wrFrom wr
pixels clientpixels client
To DCTTo DCT
15
16. Block diagram – data flowBlock diagram – data flow
ביצועביצועDCTDCTעל במקבילעל במקבילY,Cb,CrY,Cb,Cr..
מימין מקדמים במטריצת הכפלה ע"י ביצועמימין מקדמים במטריצת הכפלה ע"י ביצוע
בזיכרון השמורה ומשמאלבזיכרון השמורה ומשמאלROMROMחיצוניחיצוני
.המודולים לשלושת.המודולים לשלושת
BlockBlock
16
17. Block diagram – data flowBlock diagram – data flow
ביצועביצועQuantizationQuantizationעל במקבילעל במקבילY,Cb,CrY,Cb,Cr..
איכויות שלושה עבור הקוונטיזציה טבלאותאיכויות שלושה עבור הקוונטיזציה טבלאות
ב שמורותב שמורותROMROMה למודולי חיצוניה למודולי חיצוני
QuantizationQuantization..
מודולמודולquan_table_swquan_table_swמוסיףמוסיףoffsetoffsetמתאיםמתאים
ב לכתובתב לכתובתROMROMל בהתאםל בהתאם2bit quality factor2bit quality factor
למודול מחוץ המגיעלמודול מחוץ המגיעencoderencoder..
טבלאותטבלאותchrom & lumchrom & lumשע"י כך לאורך שמורותשע"י כך לאורך שמורות
ה במוצא מתאים חיווטה במוצא מתאים חיווטROMROMמודול כלמודול כלquanquan
.לו המתאים המידע את מקבל.לו המתאים המידע את מקבל
17
18. Quality factorQuality factor
היא הקוונטיזציה פעולתהיא הקוונטיזציה פעולת
הקוונטיזציה בטבלת הכפלההקוונטיזציה בטבלת הכפלה
.התוצאה ועיגול.התוצאה ועיגול
שלושה בין השוואה להלןשלושה בין השוואה להלן
:שונות איכויות:שונות איכויות
Medium(8k)
Value/(0.5*table)
Low(5.45k)
value/table
High(11.5k)
Value/(0.25*table)
Bmp(54k)
18
19. Block diagram – data flowBlock diagram – data flow
RLERLE -- Run Length EncodeRun Length Encode
DPCMDPCM -- Differential Pulse CodeDifferential Pulse Code
ModulationModulation
האפליקציות שני את המממש מודולהאפליקציות שני את המממש מודול
RLE & DPCMRLE & DPCM..
המבצע למודול מתחברים מוצאיםהמבצע למודול מתחברים מוצאים
ל כתיבהל כתיבהFIFOFIFO
במוצא המידע כמות כי לראות ניתןבמוצא המידע כמות כי לראות ניתן
המידע מכמות בהרבה קטנההמידע מכמות בהרבה קטנה
.בכניסה.בכניסה
BlockBlock
19
20. Block diagram – data flowBlock diagram – data flow
FIFO WriterFIFO Writer
ערוצי שלושת את מקבלערוצי שלושת את מקבל
ריבוב ומבצע המידעריבוב ומבצע המידע
ל וכתיבה שלהםל וכתיבה שלהםtripletriple
fifofifo..
Super FIFOSuper FIFO
סקטורים שלושה מכיל –סקטורים שלושה מכיל –
על הממומשים זיכרון שלעל הממומשים זיכרון של
גביגביRAMRAM.אחד.אחד
שלם בלוק מגיע כאשרשלם בלוק מגיע כאשר
במוצא יוצאים הבלוקיםבמוצא יוצאים הבלוקים
בהתאם השני אחרי אחדבהתאם השני אחרי אחד
.קריאה לבקשת.קריאה לבקשת
בלוק וסוף תחילה סימוןבלוק וסוף תחילה סימון
ביטים שני ע"י מתבצעיםביטים שני ע"י מתבצעים
חלק שהם ראשוניםחלק שהם ראשונים
.המידע מרגיסטרי.המידע מרגיסטרי
שכמות לראות ניתןשכמות לראות ניתן
אחד בכל שונה המידעאחד בכל שונה המידע
מהמסלוליםמהמסלולים
20
21. Block diagram – data flowBlock diagram – data flow
ב השמורות טבלאות ע"י המידע של הופמן קידודב השמורות טבלאות ע"י המידע של הופמן קידודROMROMביטים עם המקודד המידע של והוצאהביטים עם המקודד המידע של והוצאה
.הרלוונטי המידע אורך לציון.הרלוונטי המידע אורך לציון
Serial to paralelSerial to paralel– אחיד באורך מידע ומוציא השונים באורכים הביטים את טורית בצורה אוסף– אחיד באורך מידע ומוציא השונים באורכים הביטים את טורית בצורה אוסף
שלשל32bit32bitל לכתיבהל לכתיבהflashflash
21
22. Block diagram – data flowBlock diagram – data flow
Flash writerFlash writer– ו הקובץ שם של וכתיבה יצור– ו הקובץ שם של וכתיבה יצורheaderheaderללjpeg filejpeg file..
מה המגיע המידע כתיבתמה המגיע המידע כתיבתserial to paralelserial to paralel.בקובץ המתאים למקום.בקובץ המתאים למקום
22
23. ROM & RAM CalculationROM & RAM Calculation
Date Stamper ROMDate Stamper ROM
255255תוויתוויASCIIASCIIתו כל ,תו כל ,5x5bit5x5bit
255255**55**5/85/8==797byte797byte
:מבנה:מבנה5bit x 1275 rows5bit x 1275 rows
11bit address11bit address
RAM BlocksRAM Blocks
מה דרישהמה דרישהDCTDCTכל בין לרווחכל בין לרווחdata_validdata_valid:במוצא:במוצא88cyclescycles
מה דרישהמה דרישהDCTDCTהבלוקים בין מחזורים 'למסהבלוקים בין מחזורים 'למס627627
בלוק במעבר מחזורים 'מסבלוק במעבר מחזורים 'מס6666**88==528528
:בלוקים בין השהייה כלל לבלוק דרושים מחזורים סה"כ:בלוקים בין השהייה כלל לבלוק דרושים מחזורים סה"כ11551155
באורך רצועה לפינויי שעון מחזורי סה"כבאורך רצועה לפינויי שעון מחזורי סה"כ10241024::11551155)*)*1024/81024/8=(=(147840147840
:זה בזמן שיכתבו זיכרון שורות סה"כ:זה בזמן שיכתבו זיכרון שורות סה"כ147840/8/3147840/8/3==61606160
: שדרושות זיכרון שורות 'מס סה"כ: שדרושות זיכרון שורות 'מס סה"כ1024pix*8+6160=143521024pix*8+6160=14352
הוא הדרוש הזיכרון גודל לכןהוא הדרוש הזיכרון גודל לכן14352rows*72bit =14352rows*72bit = 126kb126kb
14bit address14bit address 23
24. ROM & RAM CalculationROM & RAM Calculation
DCT ROM – commonDCT ROM – common
.ההמרה לביצוע המטריצה להחזקת משמש.ההמרה לביצוע המטריצה להחזקת משמש
6464value of 24bit floating pointvalue of 24bit floating point
Size = 64*24/8 =Size = 64*24/8 = 192byte192byte
66bit addressbit address
DCT RAMDCT RAM
.ראשונה הכפלה לאחר המתקבלת המטריצה לשמירת משמש.ראשונה הכפלה לאחר המתקבלת המטריצה לשמירת משמש
6464value of 24bit floating pointvalue of 24bit floating point
Size = 64*24/8 =Size = 64*24/8 = 192byte192byte
66bit addressbit address
24
25. ROM & RAM CalculationROM & RAM Calculation
Quantization ROM – commonQuantization ROM – common
) זוגות שלושה להחזקת משמש) זוגות שלושה להחזקת משמשluma & chromeluma & chromeאיכות דרגות שלושה עבור קבועים מטריצות (איכות דרגות שלושה עבור קבועים מטריצות (
.לתמונה.לתמונה
6464**33==192192rows of 2*24bit floating pointrows of 2*24bit floating point
Size = 64*3*2*24/8 =Size = 64*3*2*24/8 = 1152byte1152byte
88bit addressbit address
Super FIFO Dual port RAMSuper FIFO Dual port RAM
המסלולים שלושת של המידע לשמירת משמשהמסלולים שלושת של המידע לשמירת משמשY,Cb,CrY,Cb,Crגם מאפשר .מחדש שלהם איחוד לצורךגם מאפשר .מחדש שלהם איחוד לצורך
ל הכתיבה פעולת של השהייהל הכתיבה פעולת של השהייהFlashFlash..
מה מקסימאלית השהייהמה מקסימאלית השהייהflashflashל מותאמתל מותאמת80cycles80cyclesשל תוספת דרושה לכןשל תוספת דרושה לכן
80/880/8==1010rows per sectorrows per sector
ל בנוסףל בנוסףCb, CrCb, Crעוד דרושיםעוד דרושים6464**22==128128rowsrowsועודועוד22rowsrowsללYY
:סה"כ:סה"כ1010**3+643+64**2+22+2==160160
159159rows * 21bit =rows * 21bit = 420byte420byte
8bit address8bit address
25
26. ROM & RAM CalculationROM & RAM Calculation
Huffman table ROMHuffman table ROM
הופמן קידוד לביצוע הערכים טבלת את מחזיקהופמן קידוד לביצוע הערכים טבלת את מחזיק
Chrominance DC – 12 rowsChrominance DC – 12 rows
Luminance DC – 12 rowsLuminance DC – 12 rows
Chrominance AC – 163 rowsChrominance AC – 163 rows
Luminance AC – 163 rowsLuminance AC – 163 rows
Sum: 350 rows * 20bit =Sum: 350 rows * 20bit = 875byte875byte
9bit address9bit address
Flash writer ROMFlash writer ROM
ה את מחזיקה את מחזיקHeaderHeaderה קובץ בתחילת שנכתבה קובץ בתחילת שנכתבjpegjpegעבור הדחוסות הקוונטיזציה טבלאות ואתעבור הדחוסות הקוונטיזציה טבלאות ואת
.במערכת הנתמכות האיכויות שלושת.במערכת הנתמכות האיכויות שלושת
881881rows * 8bit =rows * 8bit = 881bytes881bytes
10bit address10bit address
26
27. ROM & RAM summaryROM & RAM summary
RAM Blocks = 126KbyteRAM Blocks = 126Kbyte!! All otherAll other
ROM = 3.8kbROM = 3.8kb
RAM = 0.6kbRAM = 0.6kb
27
29. Advanced FeatureAdvanced Feature
Date StamperDate Stamper
כל להדביק אפשרות :המידע מעבר בזמן לתמונה תאריך הדבקתfont
ב השמורROMאת ולקבוע ורוחבית אורכית מתיחה לבצע ניתן .מיועד
.מובנים פרמטרים שינויי ע"י התאריך הדבקת מיקום
BONUS
BONUS
29
30. BONUS:BONUS: date_stamperdate_stamper
Inputs:Inputs: R_aline, G_aline, B_alineR_aline, G_aline, B_aline –– original alined RGB.original alined RGB.
datedate –– the date to be stamped.the date to be stamped.
date_en - enable/disable stamping feature.date_en - enable/disable stamping feature.
Outputs:Outputs: R_out, G_out, B_outR_out, G_out, B_out –– ““stampedstamped”” RGB.RGB. 30
31. BONUS:BONUS: date_stamper contdate_stamper cont..
muxdate_reg
8
MUL
DIG_HEIGHT
LOGIC
LOGIC
LOGIC
LOGIC
start
spen_in
hd
clk
LOGIC
LOGIC
X_cnt
Y_cnt
X_START_FROM
Y_START_FROM
row_num
col_num
work_flag
DIG_WIDTH
LOGIC
LOGIC
CUBE_HEIGHT
LOGIC
LOGICCUBE_WIDTH dig_col
dig_row
dig_start_add
+
fonts ROM
“ascii” ordered
add
mux
5
1
mux
}R,G,B}outoriginal {R,G,B{
stamp_pixel
{255,0,0}
3
3
work_flag
work_flag
work_flag
31
32. BONUS:BONUS: date_stamper contdate_stamper cont..
.בקלות לשינוי וניתנים כפרמטרים מוגדרים והמיקומים המימדים
1234
1
2
3
4
X_cnt = X_START_FROM
Y_cnt = Y_START_FROM
col_num = 0
row_num = 0
image: digit dimensions:
CUBE_HEIGHT
pixel
CUBE_WIDTH
DIG_WIDTH
DIG_HEIGHT
cube dimensions:
32
34. BONUS:BONUS: date_stamper contdate_stamper cont..
– בו באזור רק פעיל המודולwork_flag = 1.
.ישירות מועברים הפיקסלים ,זה לאזור מחוץ
– התמונה שארwork_flag = 0
– התאריך הדבקת אזורwork_flag = 1
34
35. BONUS:BONUS: date_stamper contdate_stamper cont..
-ב שמורים התויםROMומסודרים
סדר ע"פ בכתובותASCIIבכפולות
-ב התו גודל של)cubes(הגדרנו כאשר
הינו אצלנו התו שגודל5.
ASCII table font ROM
0 0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
00
0 0
0 0
0 0
11 1
1
1
1
1
1 1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1 1
1 1
1 1
1 1
1 1 1
1
1
1
address
48x 5
49x 5
50x 5
51x 5
0
1
2
3
נעשתה הפונטים של וההזנה ההגדרה
...יצירתיות מעט ודרשה ידני באופן
35
36. BONUS:BONUS: date_stamper contdate_stamper cont..
-ב הפונטים סידורROMאחר כיתוב כל הדבקת ,התאריך להדבקת פרט ,מאפשר לעיל שהוסבר כפי
:מחרוזת של פשוטה בצורה הכיתוב הזנת ע"י ,וגינרי נוח באופן בו שחפצים
חיצוני דמה מודול ע"י מועבר התאריך)behavioral Verilog(.מערך בתוך ונשמר
.ההדבקה אפשורביטול גם מדמה זה מודול
player
wire [NUM_OF_DIG*8-1:0] DATE;
reg date_en;
date_stamper
reg [7:0] date_reg[7:0[;
wire en
36
37. BONUS:BONUS: date_stamper contdate_stamper cont..
DebuggingDebugging
– לשם ולכן ,עצמאי באופן פותח המודל– לשם ולכן ,עצמאי באופן פותח המודלdebuggingdebugging.תמונה המדמה מימדי דו מערך הגדרנו.תמונה המדמה מימדי דו מערך הגדרנו
''00.הנוכחי בפיקסל הדבקה התבצעה שלא מסמל '.הנוכחי בפיקסל הדבקה התבצעה שלא מסמל '
''11.הדבקה שבוצעה מסמל '.הדבקה שבוצעה מסמל '
:לעיל הדוגמא עבור:לעיל הדוגמא עבור
:נוספות דוגמאות:נוספות דוגמאות37
41. Int_to_fpInt_to_fp
:תיאור
מייצוג מספר ממיר המודלintלייצוגfp:ההגדרה לפיfp={ma_ea}: ma
[15:0], ea [7:0[המודל של ובשימושjustify.בכיתה שניתן
Input:
בייצוג המספרint
Output:
בייצוג המספרfp [23:0[של מצב על המצביע ביט ,over_flowנוסף וביט ,
של מצב על שמצביעunder_flow
:הערות
במודל שימוש עושה המודלjustify.
.בכלל שעון ללא עובד המודל
שהוא כמו ההתחלתי בשלב מוצב המספר
קבוע ערך מקבל 'והאקס ,במטיסה00001111
41
42. JustifyJustify
:תיאור
הלוגיקה לפי אותם ומיישר 'ואקס מנטיסה מקבל המודל
.המצורף בתרשים
Input: ea [7:0]
,ma [15:0] , last_is_1
Output:
בייצוג המספרfp
:הערות
.בכלל שעון ללא עובד המודל
הסיבית את לו והוספנו המקורי המודל את שינינוlast_is_1
-ל שווה המקורית 'המנ של האחרונה הסיבית אם שמתריעה1
(תרשים )ראה אותה נחתוך שלא מנת על
(ma[i]^ma[i-1])
זה אז
0או1 -
?אין
i=16
?יש
ma[0] = 1
ma[16:1] + 16'h1ma[16:1]
{ea[7],ea} + 9'd1
last_is_1
{ma,1'b1} << (15-found-1)ma << (15-found)
{ea[7],ea} - 9'd15 + found
?לא ?כן
?כן
?כן
?לא
?לא
ma [16:0]
ea_justified [7:0]
over_flow
under_flow
ea [7:0]
ma_justified [16:0]
last_is_1
'במנט הראשון המקום את נחפש
בריצה שונות סיביות שתי יש שבו
ה מהסיבית16ומטה
המקורית 'במנט,
הbitהאחרון
=1?
42
43. MultiplyMultiply
:תיאור
של הכפלה מבצע המודל2בייצוג מספריםfp'אקס סכימת ,מנטיסות )הכפלת
ה בעזרת ותיקוןjustify.(
Input:
בייצוג מספרים שניfp[23:0[
Output:
בייצוג המכפלהfp [23:0[של מצב על המצביע ביט ,over_flowנוסף וביט ,
של מצב על שמצביעunder_flow
:הערות
.בכלל שעון ללא עובד המודל
a_fp [23:0] o_fp [23:0]
over_flow
under_flow
b_fp [23:0]
נכנסים2מספריםfp
'ואקס למנטיסה המספרים את נפצל
:ריפוד נבצע
- האחרון האיבר בעזרת נרפד המטיסה את16פעמים
אחת פעם – האחרון האיבר בעזרת נרפד 'האקס את
המנטיסות את נכפיל
'האקס את נסכום
ב התוצאה את נעבירjustifyתוצאה אתה ונקבל
:דוגמא:דוגמא
43
45. RGBtoYCbCrRGBtoYCbCr--מ -ממירמ -ממירRGBRGB-ל-לYCbCrYCbCrהכפלת ע"יהכפלת ע"י
.מטריצות.מטריצות
WrPixelsClientWrPixelsClient--ה אל בלוקים של ""רצועות -כותבה אל בלוקים של ""רצועות -כותבRAMRAM
שורה אחר .שורהשורה אחר .שורה
arb_strictarb_strict--למודול מלאה עדיפות נותןלמודול מלאה עדיפות נותן
WrPixelsClientWrPixelsClient..
ram_blocksram_blocks--הפיקסלים של הבלוקים את מאחסןהפיקסלים של הבלוקים את מאחסן
ע"י הנכתביםע"י הנכתביםWrPixelsClientWrPixelsClient..
DCTclientDCTclient--מה הפיקסלים את -קוראמה הפיקסלים את -קוראRAMRAMבסדרבסדר
הרצויהרצויושולחושולחY,Cb,CrY,Cb,Crבלוק אחר בלוקבלוק אחר בלוק
ה אל -הלאהה אל -הלאהDCTDCT..
date_stamperdate_stamper--בונוסבונוסלתמונה תאריך מדביק ..לתמונה תאריך מדביק ..
45
48. RGBtoYCbCr contRGBtoYCbCr cont..
YY 0.299 0.587 0.1140.299 0.587 0.114 RR 128128
Cb =Cb = - 0.1687 - 0.3313 0.5 *- 0.1687 - 0.3313 0.5 * G -G - 00
CrCr 0.5 - 0.4187 - 0.08130.5 - 0.4187 - 0.0813 BB 00
logiclogic
mux
0.2990.299 0.5870.587 0.1140.114
--
0.16870.1687
--
0.33130.3313
0.50.5
0.50.5
--
0.41870.4187
--
0.08130.0813
mul add reg mux
R
G
B
j
j
i
i
Y
Cb
Cr
-128
48
50. RGBtoYCbCr contRGBtoYCbCr cont..
פעולה ועקרון תכנון שיקוליפעולה ועקרון תכנון שיקולי
ב שימושב שימושmultipliermultiplier.יחיד.יחיד
של מימדי דו כמערך מוחזקת הקבועים מטריצתשל מימדי דו כמערך מוחזקת הקבועים מטריצתwireswires-ל )מקוצרים .-ל )מקוצרים .00-ו-ו11.(בהתאמה.(בהתאמה
רגיסטרים שנירגיסטרים שניi,ji,j.המטריצה הכפלת על רצים.המטריצה הכפלת על רצים
ל בהתאם המידע את מנתבים ובמוצא בכניסה המוקסיםל בהתאם המידע את מנתבים ובמוצא בכניסה המוקסיםi,ji,j..
השורה ובסוף העמודה בוקטור השורה כפל של הנצבר הערך את שומר זמני רגיסטרהשורה ובסוף העמודה בוקטור השורה כפל של הנצבר הערך את שומר זמני רגיסטר
.המתאים למוצא מועבר.המתאים למוצא מועבר
שנבחנו אלטרנטיבותשנבחנו אלטרנטיבות
-ב המטריצה ערכי שמירת-ב המטריצה ערכי שמירתROMROM.למודול מחוץ.למודול מחוץ
הוספת מצדיקה שלא קטנה מספרים כמות :חסרונותהוספת מצדיקה שלא קטנה מספרים כמות :חסרונותROMROM..
הקל וזה ,במטריצה מדובר כי יותר טבעית הייתה פנימי מימדי דו מערך בתוך הערכים שמירתהקל וזה ,במטריצה מדובר כי יותר טבעית הייתה פנימי מימדי דו מערך בתוך הערכים שמירת
.הכפל פעולת ביצוע על.הכפל פעולת ביצוע על
50
51. WrPixelsClientWrPixelsClient
Inputs:Inputs: Y, Cb, CrY, Cb, Cr –– 24 bit fp.24 bit fp.
ackack –– acknowledge from arb_strict.acknowledge from arb_strict.
Outputs:Outputs: datadata –– 72 bit of {Y,Cb,Cr} together.72 bit of {Y,Cb,Cr} together.
strip_readystrip_ready –– finished writing a full strip into RAM.finished writing a full strip into RAM.
start_addstart_add –– starting address of the strip in RAM.starting address of the strip in RAM.
reqreq –– request from arb_strict.request from arb_strict. 51
53. WrPixelsClient cont.WrPixelsClient cont.
valid from RGBtoYCbCr
pixels
strip ready to DCTclient,
when a full strip written
to ram_blocks
start_add to DCTclient,
when a full strip written
to ram_blocks{Y,Cb,Cr} data to ram_Blocks
always receives ack for req
53
54. WrPixelsClient contWrPixelsClient cont
פעולה ועקרון תכנון שיקוליפעולה ועקרון תכנון שיקולי
-ה אל הכתיבה-ה אל הכתיבהram_blocksram_blocksשיש פעם בכל מתבצעתשיש פעם בכל מתבצעתvalidvalid-מ-מRGBtoYCbCrRGBtoYCbCr..
– ב עולה לכתיבה הכתובת– ב עולה לכתיבה הכתובת11."שורה אחר "שורה מתבצעת הכתיבה וכך ,."שורה אחר "שורה מתבצעת הכתיבה וכך ,
."שלמה "רצועה התמלאה מתי לדעת ניתן וכך התמונה אורך את בכניסה מקבל המודול."שלמה "רצועה התמלאה מתי לדעת ניתן וכך התמונה אורך את בכניסה מקבל המודול
הפולס נשלח שהתמלאה ""רצועה כל עבורהפולס נשלח שהתמלאה ""רצועה כל עבור""strip readystrip ready””התחילה ממנה והכתובתהתחילה ממנה והכתובת
-ה אל ,להתמלא "ה"רצועה-ה אל ,להתמלא "ה"רצועהDCTclientDCTclient.לקרוא להתחיל ומהיכן מתי שידע מנת על.לקרוא להתחיל ומהיכן מתי שידע מנת על
-מה עדיפות יקבל תמיד המודול-מה עדיפות יקבל תמיד המודולarb_strictarb_strict.תקינה מידע זרימת על לשמור מנת על.תקינה מידע זרימת על לשמור מנת על
שנבחנו אלטרנטיבותשנבחנו אלטרנטיבות
ספירתספירת88hdhd.""רצועה מילוי לזהות מנת על ,התמונה רוחב את לקבל ,במקום.""רצועה מילוי לזהות מנת על ,התמונה רוחב את לקבל ,במקום
:החיסרונות:החיסרונות
-ה עקב סינכרון חוסר-ה עקב סינכרון חוסרpipelinepipeline-ה בין שנוצר-ה בין שנוצרimagerimager.המודול לבין.המודול לבין
-ה-הhdhd.הלוגיקה את מסרבל וזה שורה בסוף ולא שורה בתחילת עולה.הלוגיקה את מסרבל וזה שורה בסוף ולא שורה בתחילת עולה
-ה בתוך "בלוק אחר "בלוק של בסדר הפיקסלים שמירת-ה בתוך "בלוק אחר "בלוק של בסדר הפיקסלים שמירתRAMRAM."שורה אחר "שורה ולא."שורה אחר "שורה ולא
שהמודול החלטנו דבר של ובסופו ,עקרוני עניין אינו זהו למעשהשהמודול החלטנו דבר של ובסופו ,עקרוני עניין אינו זהו למעשהDCTclientDCTclientשיקרא זה יהיהשיקרא זה יהיה
."בלוק אחר "בלוק."בלוק אחר "בלוק
54
55. arb_strictarb_strict
Inputs:Inputs: wr_data_1, wr_data_2wr_data_1, wr_data_2 –– 72 bit of {Y,Cb,Cr}.72 bit of {Y,Cb,Cr}.
add_1, add_2add_1, add_2 –– wanted address of RAM.wanted address of RAM.
req_1, req_2req_1, req_2 –– clients requests.clients requests.
rnw_1, rnw_2rnw_1, rnw_2 –– ““read not writeread not write”” requests of the clients.requests of the clients.
Outputs:Outputs: ack_1, ack_2ack_1, ack_2 –– acknowledges to clients. 1 has higher priority.acknowledges to clients. 1 has higher priority.
add, wr_data, rnwadd, wr_data, rnw –– preferred clientpreferred client’’s signals directed to RAM.s signals directed to RAM.55
57. arb_strict contarb_strict cont..
client_2 requests constantly,
But he gets ack only if client_1
doesn’t send a request.
whenever client_1 sends a request,
he’s acknowledged immediately.
the acknowledged
client’s wires connected
to ram_blocks.
client1 = WrPixelsClient
client2 = DCTclient 57
58. arb_strict contarb_strict cont..
פעולה ועקרון תכנון שיקוליפעולה ועקרון תכנון שיקולי
-ה אל דרכו המחוברים המודולים בין עדיפות יחס מגדיר-ה אל דרכו המחוברים המודולים בין עדיפות יחס מגדירram_blocksram_blocks..
-ל פניה מבקש ביותר המועדף שהמודול פעם בכל-ל פניה מבקש ביותר המועדף שהמודול פעם בכלram_blocksram_blocks ((reqreqאישור מקבל הוא (אישור מקבל הוא (
מיידימיידי))ackack((-ה אל פונה אחר מודול זמן באותו אם תלות ללא ,-ה אל פונה אחר מודול זמן באותו אם תלות ללא ,ram_blocksram_blocks..
-ה עם מתקשר המועדף המודול אם ,כן כמו-ה עם מתקשר המועדף המודול אם ,כן כמוram_blocksram_blocksאישור יקבל לא אחר מודול שוםאישור יקבל לא אחר מודול שום
.ההתקשרות את יסיים המועדף שהמודול עד פנייה יבקש אם.ההתקשרות את יסיים המועדף שהמודול עד פנייה יבקש אם))strict lockstrict lock((..
בין נקבע העדיפות יחס אצלנובין נקבע העדיפות יחס אצלנו22– בלבד מודולים– בלבד מודולים11--WrPixelsClient, 2-DCTclientWrPixelsClient, 2-DCTclient..
שנבחנו אלטרנטיבותשנבחנו אלטרנטיבות
למימוש קונפיגורציות כמה יש למעשהלמימוש קונפיגורציות כמה יש למעשהarbarbשקונפיגורציית כמובן אך ,בקורס שנלמדו כפישקונפיגורציית כמובן אך ,בקורס שנלמדו כפי
-ה-הstrict lockstrict lock-מ למנוע שאין כיוון עבורינו ביותר המתאימה היא-מ למנוע שאין כיוון עבורינו ביותר המתאימה היאWrPixelsClientWrPixelsClientאתאת
-ה עם ההתקשרות-ה עם ההתקשרותram_blocksram_blocks.(לעיל )ראה מקרה בשום.(לעיל )ראה מקרה בשום
58
59. ram_blocksram_blocks
Inputs:Inputs: addadd –– 14 bit address.14 bit address.
wr_datawr_data –– 72 bit of {Y,Cb,Cr}to store.72 bit of {Y,Cb,Cr}to store.
Outputs:Outputs: rd_datard_data –– 72 bit of {Y,Cb,Cr}to read.72 bit of {Y,Cb,Cr}to read.
59
60. ram_blocks contram_blocks cont..
“block1” “block2”
ram_blocks
R 24bit G 24bit B 24bit
R 24bit B 24bit
R 24bit B 24bit
R 24bit B 24bit
R 24bit B 24bit
R 24bit B 24bit
R 24bit B 24bit
R 24bit B 24bit
R 24bit B 24bit
R 24bit B 24bit
R 24bit B 24bit
R 24bit B 24bit
R 24bit B 24bit
R 24bit B 24bit
R 24bit B 24bit
R 24bit B 24bit
R 24bit B 24bit
R 24bit B 24bit
R 24bit B 24bit
R 24bit B 24bit
R 24bit B 24bit
R 24bit B 24bit
R 24bit B 24bit
R 24bit B 24bit
line1 of block1
line1 of block2
line2 of block1
G 24bit
G 24bit
G 24bit
G 24bit
G 24bit
G 24bit
G 24bit
G 24bit
G 24bit
G 24bit
G 24bit
G 24bit
G 24bit
G 24bit
G 24bit
G 24bit
G 24bit
G 24bit
G 24bit
G 24bit
G 24bit
G 24bit
G 24bit
IMAGE
""רגיל בסדר מילוי
"שורה אחר "שורה
60
61. ram_blocks contram_blocks cont..
the pixels being filled:
srrip_ready, DCTclient
can start reading the data.
rnw swiches to read because
DCTclient began reading.
DCTclient begin
reading the data.
WrPixelsClient continues
write occasionaly, and the
data not being read during
this cycle.
61
62. ram_blocks contram_blocks cont..
פעולה ועקרון תכנון שיקוליפעולה ועקרון תכנון שיקולי
לצורך "בלוק אחר "בלוק של בסדר ממנו שישלפו מנת על הפיקסלים את זמנית מאחסןלצורך "בלוק אחר "בלוק של בסדר ממנו שישלפו מנת על הפיקסלים את זמנית מאחסן
-ה ביצוע-ה ביצועDCTDCT..
הינו תא כל רוחבהינו תא כל רוחב2424כפול ביטכפול ביט33ובסה"כ ,פיקסליםובסה"כ ,פיקסלים7272.ביט.ביט
עד זמנית בו לאחסן יוכל שהזיכרון כך תוכנן הכתובות מרחבעד זמנית בו לאחסן יוכל שהזיכרון כך תוכנן הכתובות מרחב22.מלאות ""רצועות.מלאות ""רצועות
הינו המירבי התמונה שרוחב ובהנחההינו המירבי התמונה שרוחב ובהנחה10241024:הינו החישוב ,פיקסלים:הינו החישוב ,פיקסלים
1024 * 8 * 2 = 16K1024 * 8 * 2 = 16K =>=> 14 bit14 bit
שנבחנו אלטרנטיבותשנבחנו אלטרנטיבות
.יותר בזבזני אך פשוט יותר זה ,רצועה לכל אחד ,זיכרון אזורי שני בין מיתוג.יותר בזבזני אך פשוט יותר זה ,רצועה לכל אחד ,זיכרון אזורי שני בין מיתוג
פיקסלים
בשורה
שורות
ברצועה
רצועות
62
63. DCTclientDCTclient
Inputs:Inputs: startstart –– strip ready in RAM.strip ready in RAM.
start_addstart_add –– starting address of the strip in RAM.starting address of the strip in RAM.
rd_datard_data –– 72 bit of {Y,Cb,Cr} from RAM.72 bit of {Y,Cb,Cr} from RAM.
ackack –– acknowledge from arb_strict.acknowledge from arb_strict.
Outputs:Outputs: Ydata, Cbdata, CrdataYdata, Cbdata, Crdata –– 24 bit fp.24 bit fp.
reqreq –– request from arb_strict.request from arb_strict. 63
64. DCTclient contDCTclient cont..
ram_blocks
line1 of block1
line1 of block2
line2 of block1
Y
Cb
Cr
mux
{Y,Cb,Cr} 72 bit
ack
computed
address
computed
address
to ram_blocks
(through arb_strict)
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
R 24bit G 24bit B 24bit
G 24bit
“block1”
Y
Cb
Cr
“block2” “block3”
"בלוק אחר "בלוק של בסדר ושליחה שליפה
64
65. DCTclient contDCTclient cont..
start received from
WrPixelsClient when
a strip is ready.
the read address is set
to the start_add received
from WrPixelsClient, and
advanced on.
req being set,
and ack received.
d_out_valid, with 8
clock spaces required
by the DCT modules.
65
66. DCTclient contDCTclient cont..
פעולה ועקרון תכנון שיקוליפעולה ועקרון תכנון שיקולי
-ה-הDCTclientDCTclient-מה הפיקסלים את שולף-מה הפיקסלים את שולףram_blocksram_blocksמעביר שהוא כך מוגדר סדר ע"פמעביר שהוא כך מוגדר סדר ע"פ
-ה אל הלאה אותם-ה אל הלאה אותםDCTDCT."בלוק אחר "בלוק של בסדר."בלוק אחר "בלוק של בסדר
הפולס את מקבלהפולס את מקבל""strip readystrip ready””"ה"רצועה מאוחסנת שבה ההתחלתית הכתובת ואת"ה"רצועה מאוחסנת שבה ההתחלתית הכתובת ואת
הנוכחיתהנוכחית))start_addstart_add((-מה הפיקסלים את לקרוא ומהיכן מתי יודע וכך ,-מה הפיקסלים את לקרוא ומהיכן מתי יודע וכך ,ram_blocksram_blocks..
פנימיים מונים שני מכיל המודול :הכתובת חישובפנימיים מונים שני מכיל המודול :הכתובת חישובi,ji,jוהעמודה השורה מספר את המצייניםוהעמודה השורה מספר את המציינים
ומונה ,הנוכחי הבלוק בתוך הנוכחי הפיקסל שלומונה ,הנוכחי הבלוק בתוך הנוכחי הפיקסל שלblock_cntblock_cntבתוך הנוכחי הבלוק את המצייןבתוך הנוכחי הבלוק את המציין
הבלוקים מספר את בכניסה מקבל כן כמו ."ה"רצועההבלוקים מספר את בכניסה מקבל כן כמו ."ה"רצועה))blocks_numblocks_num((..
:הינו כך אם הפיקסל לשליפת הכתובת חישוב:הינו כך אם הפיקסל לשליפת הכתובת חישוב
add = start_add + (i*blocks_num*8 + block_cnt*8 + jadd = start_add + (i*blocks_num*8 + block_cnt*8 + j))
ממתיןממתין88-ו לפיקסל פיקסל בין מלאים שעונים-ו לפיקסל פיקסל בין מלאים שעונים450450-ה אל בשליחה לבלוק בלוק בין שעונים-ה אל בשליחה לבלוק בלוק בין שעונים
DCTDCT.פעולתו לביצוע הנדרש הזמן את לו לתת מנת על.פעולתו לביצוע הנדרש הזמן את לו לתת מנת על
-ה ""ריקון שקצב לדאוג יש ,זאת עם יחד-ה ""ריקון שקצב לדאוג יש ,זאת עם יחדram_blocksram_blocks,שלו המילוי מקצב יותר מהיר יהיה,שלו המילוי מקצב יותר מהיר יהיה
.הפיקסלים של ""דריסה למנוע מנת על.הפיקסלים של ""דריסה למנוע מנת על
שנבחנו אלטרנטיבותשנבחנו אלטרנטיבות
-ב שהוסבר כפי-ב שהוסבר כפיWrPixelsClientWrPixelsClient-מה רגיל בסדר נעשית היתה השליפה ,-מה רגיל בסדר נעשית היתה השליפה ,ram_blocksram_blocksאילואילו
."בלוק אחר "בלוק של בסדר מראש הפיקסלים את בו לאחסן מחליטים היינו."בלוק אחר "בלוק של בסדר מראש הפיקסלים את בו לאחסן מחליטים היינו
66
70. DCTDCT
:תיאור
:הבאה בצורה מקדמים במטריצת המטריצה של הכפלה מבצע המודל
.""זיגזג בסדר התוצאה את ופולט
Input:
data_in:בייצוג מספרfp, של מבלוק כחלק64המיצגים מספרים
מטריצה8X8לימין שמאל שורה אחרי .שורה
spen_in:) הבלוק כניסת זמן כל דלוק64*8+1מחזורים ).
d_in_valid:בכניסת דלוקfpאחד )מחזור .)אחד
rst, mclk
Output:
data_out:בייצוג מספרfp, כחלק ,המטריצות מכפלת תוצאת שהוא
של מבלוק64מטריצה המיצגים מספרים8X8"זיגזג ."בסידור
spen_out:) הבלוק יציאת זמן כל דלוק64*8+1מחזורים ).
d_out_valid:ביציאת דלוקfpאחד )מחזור .)אחד
:הערות
תשמש קבועים מטריצת אותה ולכן אורטוגונלית היא המטריצה
.ומימין משמאל להכפלה
נמתין האחרון האיבר כניסת מרגע17.הראשון האיבר ליציאת מחזורים
1
C In C−
× ×
1 T
C C−
=
T
input
70
71. + 1 1 0 1 0 1 1 0…
valid
x
ROM
DCT – block diagramDCT – block diagram
data_in[23:0]
data_out[23:0]
24
24
1
שנרשום ראשונה פעם וזו במידה
-ה במקוםiהנוכחי בבלוק בטיפול
ה את נרשוםdata_inנסכום אחרת
משמאל הכפלה של מצב בין יברור
)שאז מימין להכפלה (נכנסת )מטריצה
הקודמת ההכפלה תוצאת היא המטריצה
ב ששמורהram(
וולידציה מערך
ram
64 fp
71
72. :הנכנס הבלוק תחילת:הנכנס הבלוק תחילת
הspen_inעולה
spen_outוהd_out_validהחוצה דבר שום מוציאים לא אנחנו כולו הבלוק של האינפוטים כל את נקבל שלא )עד .)למטה
איתחול לצורך נוסף מחזור מקבל הראשון שהאיבר לב נשים
SignalsSignals
החוצה איברים הוצאתהחוצה איברים הוצאת::
שה שמהרגעspen_out.(עמודה כפול שורה של מכפלה בעצם )אחרי החוצה אחד איבר יוצא מחזורים שמונה כל עולה ,
72
74. :תכנון שיקולי:תכנון שיקולי
כל של קריאהכל של קריאהinputinputבלבד אחת פעםבלבד אחת פעם
וולידציה מטריצת בעזרת – איתחולוולידציה מטריצת בעזרת – איתחול
לוגי ענן ,ליצוג אחת מטריצה מספיקה ולכן ,אורטוגונליות שהמטריצות לב נשים – קבועים מטריצתלוגי ענן ,ליצוג אחת מטריצה מספיקה ולכן ,אורטוגונליות שהמטריצות לב נשים – קבועים מטריצת
.קריאה סדר את יקבע.קריאה סדר את יקבע
""זיגזג בסדר התוצאות את להוציא מנת על מימין להכפיל סדר באיזה שקובע מודל – זיגזג""זיגזג בסדר התוצאות את להוציא מנת על מימין להכפיל סדר באיזה שקובע מודל – זיגזג
אחד וסכימה מכפלה במודל שימושאחד וסכימה מכפלה במודל שימוש
קבוע וטרופוט קליטה קצב על שמירהקבוע וטרופוט קליטה קצב על שמירה
שנבחנו :אלטרנטיבות
•ב המודל את להחליף האופציה נבחנה – זיגזגROMשלטעמם למרות ,במקום חיסכון משיקולי נפסל .
.אלגנטי יותר זה אחרים של
•המטריצה את לאתחל האופציה נבחנה – ערכים איתחול64למערך האופציה נבחרה .אינפוטים
.שעון משיקולי ,ולידציה
74
76. QuantizationQuantization
קלטקלט
6464של ערכיםשל ערכיםYYאואוCbCbאואוCrCrבצורה הזורמים ()בלוקבצורה הזורמים ()בלוק
פעולת לאחר טוריתפעולת לאחר טוריתDCTDCTבצורת מיוצגים )הערכיםבצורת מיוצגים )הערכיםfloating pointfloating point((
נתונים עיבודנתונים עיבוד
1)1).מתאים קוונטיזציה בערך מחולק ערך כל.מתאים קוונטיזציה בערך מחולק ערך כל
2)2)מסעיף התוצאה המרתמסעיף התוצאה המרת11בטווח שלמים למספריםבטווח שלמים למספרים
num< 1024num< 1024> 1024> 1024. -. -
פלטפלט
6464ערכיערכיDCTDCTשל ושלמים מקוונטטיםשל ושלמים מקוונטטיםYYאואוCbCbאואוCrCr
.טורית בצורה הזורמים ()בלוק.טורית בצורה הזורמים ()בלוקהמשלים בצורת מיוצגים )הערכיםהמשלים בצורת מיוצגים )הערכים
-ל-ל22((
76
80. QuantizationQuantization
פעולה ועקרון תכנון שיקוליפעולה ועקרון תכנון שיקולי
של נפרד מודול יצירתשל נפרד מודול יצירתfloat_to_intfloat_to_intפעולה של הקצה מקרי בכל להתמקד מנת עלפעולה של הקצה מקרי בכל להתמקד מנת על
.זו.זו
יצירתיצירתcyclecycleגבוה אינו המחיר כאשר התוצאה את לוודא מנת על לפלט קלט ביןגבוה אינו המחיר כאשר התוצאה את לוודא מנת על לפלט קלט בין
))pipelinepipeline((
שנבחנו אלטרנטיבותשנבחנו אלטרנטיבות
-ל המרה במקום-ל המרה במקוםintint-ל ישירה המרה-ל ישירה המרהcategorycategory-ו-וoffsetoffset.החשוב הפלט זהו כי.החשוב הפלט זהו כי
-ה של האקספוננט :יתרונות-ה של האקספוננט :יתרונותfloatfloat-ל זהה-ל זההcategorycategory-ה ומקום ,-ה ומקום ,offsetoffset)צמוד ידוע)צמוד ידוע
. (לנקודה. (לנקודה
מקדם גם קיים הבא במודול :חסרונותמקדם גם קיים הבא במודול :חסרונותDCDCלאחר לקיימו אפשר שאי חיסור הדורשלאחר לקיימו אפשר שאי חיסור הדורש
-ל מתחלק שהמספר-ל מתחלק שהמספרcategorycategory-ו-וoffsetoffset..
.עבודה יותר דורש היה והשינוי ,הבא המודול את קודם בניתי :חסרונות.עבודה יותר דורש היה והשינוי ,הבא המודול את קודם בניתי :חסרונות
80
81. RLC_DPCMRLC_DPCM
מטרהמטרה
.הקיים המידע את לכווץ.הקיים המידע את לכווץ
הדרךהדרך
I.I.אלא כפלט יוצאים אינם אפס ערכיאלא כפלט יוצאים אינם אפס ערכי
.אפס שאינם לערכים מתווספים.אפס שאינם לערכים מתווספים
II.II.מחדש נערכים אפס שאינם ערכיםמחדש נערכים אפס שאינם ערכים
."האפמן "קוד בעזרת קידוד לקראת."האפמן "קוד בעזרת קידוד לקראת
81
82. RLC_DPCMRLC_DPCM
קלטקלט
6464ערכיערכיDCTDCTו מקוונטטיםו מקוונטטיםשלמיםשלמיםשלשלYYאואוCbCbאואוCrCr,ערך כל .טורית בצורה הזורמים,ערך כל .טורית בצורה הזורמים
,לדוגמה,לדוגמהaaמקיים ,מקיים ,10241024<<aa>1024>1024--
:הערות:הערות
של ביחידות מאוגדים הערכיםשל ביחידות מאוגדים הערכים6464.""בלוק ,להלן ,.""בלוק ,להלן ,
-ל המשלים בצורת מיוצגים הערכים-ל המשלים בצורת מיוצגים הערכים22..
מקדם הוא "ב"בלוק הראשון הערך כי לב נשיםמקדם הוא "ב"בלוק הראשון הערך כי לב נשיםDCDCמקדמי והשארמקדמי והשארACAC..
נתונים עיבודנתונים עיבוד
nבבלוק אחריו אם ורק ,נתונים בעיבוד נרשם אלא כפלט יוצא אינו אפס שהינו ערך כלבבלוק אחריו אם ורק ,נתונים בעיבוד נרשם אלא כפלט יוצא אינו אפס שהינו ערך כל
)אם .לפניו שהופיעו האפסים מספר ואיתו כפלט הזה הערך ייצא ,אפס שאינו ערך יופיע)אם .לפניו שהופיעו האפסים מספר ואיתו כפלט הזה הערך ייצא ,אפס שאינו ערך יופיע
-מ יותר נרשמו-מ יותר נרשמו1515) הערכים זוג ייצאו אפסים) הערכים זוג ייצאו אפסים0,150,15שאינו הערך ואח"כ ,שצריך כמה (שאינו הערך ואח"כ ,שצריך כמה (
( .שנותר האפסים מספר עם יחד אפס( .שנותר האפסים מספר עם יחד אפס
nקטגוריה נמצא ,כלומר .הקטגוריה ,להלן ,משתייך הערך אליה הקבוצה מציאתקטגוריה נמצא ,כלומר .הקטגוריה ,להלן ,משתייך הערך אליה הקבוצה מציאתnnלערךלערך
aa-ש כך-ש כך22)^)^n-1) =<|a|< 2^nn-1) =<|a|< 2^n..
n-ה מציאת-ה מציאתoffsetoffset.עולה בסדר הקטגוריה בתוך הערך של המיקום ,.עולה בסדר הקטגוריה בתוך הערך של המיקום ,
פלטפלט
-ה ,הערך של הקטגוריה את הכוללים ערכים-ה ,הערך של הקטגוריה את הכוללים ערכיםoffsetoffset. ברצף לפניו שהופיעו האפסים ומספר שלו. ברצף לפניו שהופיעו האפסים ומספר שלו
הכמות כי יודעים אנו רק שיצאו הפלט ערכי כמות מהי יודעים איננו כעת כי לב נשיםהכמות כי יודעים אנו רק שיצאו הפלט ערכי כמות מהי יודעים איננו כעת כי לב נשים
-מ גדולה אינה-מ גדולה אינה6464..
) ערכים זוג יישלח אפס הינו בבלוק האחרון הערך אם כן כמו) ערכים זוג יישלח אפס הינו בבלוק האחרון הערך אם כן כמו0,00,0.בלוק סוף לסמן (.בלוק סוף לסמן (
82
84. מחדש הערכים הצגתמחדש הערכים הצגת
-ה-הOffsetOffsetאת מציגאת מציגמיקוםמיקום
הקטגוריה בתוך המספרהקטגוריה בתוך המספרבסדרבסדר
עולהעולה..
קטגוריה לדוגמהקטגוריה לדוגמה33בהבה
:המספרים נמצאים:המספרים נמצאים
--77,,……-,-,4,44,4,,……77
-ה כי לראות ניתן-ה כי לראות ניתןoffsetoffsetתמידתמיד
-ה כן כמו .חיובי-ה כן כמו .חיוביoffsetoffsetשלשל
המספר הוא חיובי מספרהמספר הוא חיובי מספר
.סימן בביט צורך ללא ,עצמו.סימן בביט צורך ללא ,עצמו
-ה של הביטים מספר-ה של הביטים מספרoffsetoffset
המספר מערך אחד בביט קטןהמספר מערך אחד בביט קטן
.בכניסה.בכניסה
OffsetOffset מציאתמציאתהמספרהמספר offsetoffset
77 77
66 66
55 55
44 44
-4-4 33
-5-5 22
-6-6 11
-7-7 00
84
85. בבינארי מחדש הערכים הצגתבבינארי מחדש הערכים הצגת
המספרהמספר בבינאריבבינארי
77 0000000011100000000111
66 0000000011000000000110
55 0000000010100000000101
44 0000000010000000000100
-4-4 111111111100111111111100
-5-5 111111111011111111111011
-6-6 111111111010111111111010
-7-7 111111111001111111111001
קטגוריה מציאתקטגוריה מציאת33
]]1111[ביטים[ביטים
OffsetOffset
]]1010[ביטים[ביטים
0000000000000000111111 00000000000000111111
0000000000000000111010 00000000000000111010
0000000000000000110101 00000000000000110101
0000000000000000110000 00000000000000110000
1111111111111111001111 00000000000000001111
1111111111111111001010 00000000000000001010
1111111111111111000101 000000000000000000
11
a=a-
1
If (a<0(
הפחתה
לערכים
השליליים
85
88. המידע דילול של דוגמאותהמידע דילול של דוגמאות
A lot of Valid data became to not valid data thanks to the
quantization that zero the data.
אפסים
האפסים מספר
88
89. אפסים לדילול דוגמהאפסים לדילול דוגמה
63כערך יוצאים בכניסה אפס ערכיDC) וערך0,0.ביציאה בלבד (
63רק מתוכם ערכים5רק ובהמשך אפסים עם המעורבים אפס שאינם ערכים
-כ יוצאים .אפסים5) וערך ערכים0,0בלבד (
89
90. בלוקים של באוסף אפסים לדילול דוגמהבלוקים של באוסף אפסים לדילול דוגמה
כניסה
יציאה
90
91. 11’h050
= 80
4’b0111 = 7
RLC_DPCM
10’b00010100
00 = 80
4’b0001 = 1
d_out_valid ==1d_in_valid==1
Num!=0 Num =
00001010000
Category = 7
Offset = 80
0001010000
Next Data_in is positive
a>0
91
92. 11’h7b0
= -80
4’b0111 = 7
RLC_DPCM
10’b
00000101111 =
474’b0001 = 1
d_out_valid ==1d_in_valid==1
Num!=0 Num =
11110110000
Category = 7
Offset =
00000101111
Next Data_in is negative
a<0
92
94. ,זה מודול,זה מודולRLC_DPCMRLC_DPCMפעם המידע את מקבל ,פעם המידע את מקבל ,
-ב-ב88,בכניסה מידע נאגר לא לכן ,שעון מחזורי,בכניסה מידע נאגר לא לכן ,שעון מחזורי
.פשוטה המידע וקבלת.פשוטה המידע וקבלת
לאורך יציב להיות צריך המידע ביציאהלאורך יציב להיות צריך המידע ביציאה33מחזורימחזורי
קיימים כי בדיוק שעוןקיימים כי בדיוק שעון33של מודוליםשל מודוליםRLC_DPCMRLC_DPCM
פעם כל קורא אחריהם הבא המודול אך במקבילפעם כל קורא אחריהם הבא המודול אך במקביל
.מהשלושה מאחד רק.מהשלושה מאחד רק
תזמוןתזמוןוהיציאה הכניסהוהיציאה הכניסה
94
95. בלוק בסוף האותות לתזמון דוגמהבלוק בסוף האותות לתזמון דוגמה
המידע בכניסה
-ל בתוקףcycle,אחד
-ל ביציאה אך3
cycles
Spen_inולאחר יורד
3יורד מחזורים
spen_out
end of block
מחזורי לשלושה מופיע
שעון
95
96. ופתרונה המוצא בתזמון בעיהופתרונה המוצא בתזמון בעיה
,במוצא כלל ערכים אין ,אפס הם בכניסה הערכים עוד כל,במוצא כלל ערכים אין ,אפס הם בכניסה הערכים עוד כל
לאחר אם ,,לדוגמה אבללאחר אם ,,לדוגמה אבל6060שונה ערך מופיע אפסיםשונה ערך מופיע אפסים
לצאת אמורים ,מאפסלצאת אמורים ,מאפס44.ברצף מספרים זוגות.ברצף מספרים זוגות
((0,150,15) , () , (0,150,15) , () , (0,150,15) , () , (a,12a,12))
הבעיההבעיהלהישאר צריך ערך כל :להישאר צריך ערך כל :33המוצא ,כן אם ,מחזוריםהמוצא ,כן אם ,מחזורים
-ל תפוס-ל תפוס1212לאחר אבל ,מחזוריםלאחר אבל ,מחזורים88ערך נכנס מחזוריםערך נכנס מחזורים
.חדש.חדש
הפתרוןהפתרוןלהפעיל ניתן :להפעיל ניתן :FIFOFIFOמיותר זה פתרון ,לדעתי ,אך ,מיותר זה פתרון ,לדעתי ,אך ,
לשמור וצריך ידועים שאינם ערכים הרבה כאן אין כילשמור וצריך ידועים שאינם ערכים הרבה כאן אין כי
האחרון הערך של שמירה רק ונדרשת ,אותםהאחרון הערך של שמירה רק ונדרשת ,אותם))a,12a,12((..
16+16+16+12=60
96
97. הערךהערךDCDC
-ה ערך הוא הבלוק של הראשון הערך-ה ערך הוא הבלוק של הראשון הערךDCDC..
-ה ערך-ה ערךDCDCהערכים נעים שסביבו הממוצע הואהערכים נעים שסביבו הממוצע הוא
.הבלוק של הבאים.הבלוק של הבאים
-ה קידוד-ה קידודDCDCגדול הפרש שאין ההנחה על-פי נבנהגדול הפרש שאין ההנחה על-פי נבנה
-ה ערך בין-ה ערך ביןDCDCבבלוק לערכו הנוכחי בבלוקבבלוק לערכו הנוכחי בבלוק
-ה של המוצא ערך לכן ,הקודם-ה של המוצא ערך לכן ,הקודםDCDCההפרש הואההפרש הוא
.הנ"ל הערכים בין.הנ"ל הערכים ביןOut = DIFF = DCOut = DIFF = DCii –– DCDCi-1i-1
-ה ערך-ה ערךDCDC.אפס הוא אם גם מקרה בכל נרשם.אפס הוא אם גם מקרה בכל נרשם
97
98. -ה ערך הצגת-ה ערך הצגתDCDCמחדשמחדש
למקרה לב לשים ישלמקרה לב לשים יש
בין ההפרש בו קצהבין ההפרש בו קצה
|-מ גדול הערכים|-מ גדול הערכים
10241024לערכי לכן ,|לערכי לכן ,|
-ה-הDCDCקטגוריה ישקטגוריה יש
,נוספת,נוספת1111..
-ה ערך-ה ערךoffsetoffsetנבנהנבנה
לשאר זהה בצורהלשאר זהה בצורה
.הערכים.הערכים
98
99. -ה לקידוד דוגמא-ה לקידוד דוגמאDCDC
הבלוק
הבא
Category 4 + offset 3 =
-12
DCi – DCi-1 = -25 –(-13( =
-12
DCi – DCi-1 = 8 –(-3( = 11
DCi – DCi-1 = -4 –8 = -12
Category 4 + offset 11 =
11
Category 4 + offset 003 =
-12
99
100. הבלוק לסיום אפשרויות שתי ישנןהבלוק לסיום אפשרויות שתי ישנן
.מאפס שונה הנכנס האחרון הערך.מאפס שונה הנכנס האחרון הערך
יעלו איתו ויחד כרגיל מקודד יהיה במוצא הערךיעלו איתו ויחד כרגיל מקודד יהיה במוצא הערך
הדגלים שעון מחזורי לשלושההדגלים שעון מחזורי לשלושה““d_out_validd_out_valid”” ““eobeob””..
הדגלהדגל““spen_outspen_out””.אחריהם אחד שעון מחזור יירד.אחריהם אחד שעון מחזור יירד
.אפס הוא הנכנס האחרון הערך.אפס הוא הנכנס האחרון הערך
) יהיה במוצא הערך) יהיה במוצא הערך0,00,0,(,(
כלומרכלומרcategory = 0 & num_of_zeros =0category = 0 & num_of_zeros =0
.הבלוק סיום על להודיע כדי.הבלוק סיום על להודיע כדי
הבלוק סוףהבלוק סוף
100
101. דוגמא - הבלוק סוףדוגמא - הבלוק סוף
מאפס שונה האחרון המידע 'א אפשרות
אפס הוא האחרון המידע 'ב אפשרות
) במוצא המידע0,0(
101
102. RLC_DPCMRLC_DPCM
פעולה ועקרון תכנון שיקוליפעולה ועקרון תכנון שיקולי
חיובי )במספר .לפיו הקטגוריה והגדרת השלם במספר הראשון המשמעותי הביט מציאתחיובי )במספר .לפיו הקטגוריה והגדרת השלם במספר הראשון המשמעותי הביט מציאת
(אחד שאינו הראשון הביט השלילי ובביט אפס שאינו הראשון הביט(אחד שאינו הראשון הביט השלילי ובביט אפס שאינו הראשון הביט
-ה מציאת-ה מציאתoffsetoffset.לעיל הוסברה.לעיל הוסברה
הוא המידע אם )אלא אפס ערך קליטת בכל האפסים מספר שמירתהוא המידע אם )אלא אפס ערך קליטת בכל האפסים מספר שמירתDCDC((
בשלושה פעם נעשית המוצא אות קריאתבשלושה פעם נעשית המוצא אות קריאתcyclescyclesלהישאר חייב במוצא המידע לכן ,בלבדלהישאר חייב במוצא המידע לכן ,בלבד
לשלושהלשלושהcyclescycles.ייקרא לא כלל במוצא שהמידע ייתכן או כפולה קריאה תיתכן אחרת בדיוק.ייקרא לא כלל במוצא שהמידע ייתכן או כפולה קריאה תיתכן אחרת בדיוק
תוך למבוא מידע עוד יגיע שלא יודעים שאנו ומפני כך בעקבותתוך למבוא מידע עוד יגיע שלא יודעים שאנו ומפני כך בעקבות33,,cyclescycles-ה-הflagsflags
)השונים)השונים))d_out_valid, spen_out, eobd_out_valid, spen_out, eobלשלושה נשמרים עצמו והמידעלשלושה נשמרים עצמו והמידעcyclescycles.בדיוק.בדיוק
שנבחנו אלטרנטיבותשנבחנו אלטרנטיבות
כמה כלל בדרך עוברים מקרה שבכל מכיוון אבל ,שעון ללא המודול את ליצור היה אולי ניתןכמה כלל בדרך עוברים מקרה שבכל מכיוון אבל ,שעון ללא המודול את ליצור היה אולי ניתן
לאחר יציב מידע להציג הצורך בגלל וגם המוצא באותות שמשתמשים עד שעון סיבובילאחר יציב מידע להציג הצורך בגלל וגם המוצא באותות שמשתמשים עד שעון סיבובי
.בלבד אחד שעון סיבוב להוסיף העדפתי קצרה לא לוגיקה.בלבד אחד שעון סיבוב להוסיף העדפתי קצרה לא לוגיקה
לערך אחד מקבילים מעגלים שני תוכננו בתחילהלערך אחד מקבילים מעגלים שני תוכננו בתחילהDCDCלערכי ואחדלערכי ואחדACACהקידוד מנגנון אבלהקידוד מנגנון אבל
.המתבקשים השינויים עם יחיד במודול שניהם את לעבד העדפתי לכן ,דומה.המתבקשים השינויים עם יחיד במודול שניהם את לעבד העדפתי לכן ,דומה
FIFOFIFOשעון מחזורי כמה לאורך יחיד ערך שמירת אך ,לעיל שהוזכר קצה במקרה , במוצאשעון מחזורי כמה לאורך יחיד ערך שמירת אך ,לעיל שהוזכר קצה במקרה , במוצא
פשוטה יותר בצורה הבעיה את .פותרתפשוטה יותר בצורה הבעיה את .פותרת
102
103. RLE_DPCMRLE_DPCM
פעולה ועקרון תכנון שיקוליפעולה ועקרון תכנון שיקולי
.לפיו הקטגוריה והגדרת השלם במספר הראשון המשמעותי הביט מציאת.לפיו הקטגוריה והגדרת השלם במספר הראשון המשמעותי הביט מציאת
שאינו הראשון הביט השלילי ובביט אפס שאינו הראשון הביט חיובי )במספרשאינו הראשון הביט השלילי ובביט אפס שאינו הראשון הביט חיובי )במספר
(אחד(אחד
-ה מציאת-ה מציאתoffsetoffset.הנ"ל הביט הורדת ע"י.הנ"ל הביט הורדת ע"י
הוא המידע אם )אלא אפס ערך קליטת בכל האפסים מספר שמירתהוא המידע אם )אלא אפס ערך קליטת בכל האפסים מספר שמירתDCDC((
בשלושה פעם נעשית המוצא אות קריאתבשלושה פעם נעשית המוצא אות קריאתcyclescyclesחייב במוצא המידע לכן ,בלבדחייב במוצא המידע לכן ,בלבד
לשלושה להישארלשלושה להישארcyclescyclesשהמידע ייתכן או כפולה קריאה תיתכן אחרת בדיוקשהמידע ייתכן או כפולה קריאה תיתכן אחרת בדיוק
למבוא מידע עוד יגיע שלא יודעים שאנו ומפני כך בעקבות .ייקרא לא כלל במוצאלמבוא מידע עוד יגיע שלא יודעים שאנו ומפני כך בעקבות .ייקרא לא כלל במוצא
תוךתוך33,,cyclescycles-ה-הflagsflags)השונים)השונים))d_out_valid, spen_out, eobd_out_valid, spen_out, eobעצמו והמידעעצמו והמידע
לשלושה נשמריםלשלושה נשמריםcyclescycles.בדיוק.בדיוק
שנבחנו אלטרנטיבותשנבחנו אלטרנטיבות
בדרך עוברים מקרה שבכל מכיוון אבל ,שעון ללא המודול את ליצור היה אולי ניתןבדרך עוברים מקרה שבכל מכיוון אבל ,שעון ללא המודול את ליצור היה אולי ניתן
להציג הצורך בגלל וגם המוצא באותות שמשתמשים עד שעון סיבובי כמה כלללהציג הצורך בגלל וגם המוצא באותות שמשתמשים עד שעון סיבובי כמה כלל
.בלבד אחד שעון סיבוב להוסיף העדפתי קצרה לא לוגיקה לאחר יציב מידע.בלבד אחד שעון סיבוב להוסיף העדפתי קצרה לא לוגיקה לאחר יציב מידע
103
105. Triple FIFOTriple FIFO
•מ במקביל המגיע המידעמ במקביל המגיע המידעY, Cr, CbY, Cr, Cbלזיכרון נכתבלזיכרון נכתבFIFOFIFOלצורךלצורך
.טורי למידע בחזרה העברתו.טורי למידע בחזרה העברתו
•ה זיכרוןה זיכרוןFIFOFIFOהבלוקים שלושת את זמנית לאחסן מאפשרהבלוקים שלושת את זמנית לאחסן מאפשר
.הופמן לקידוד להוצאתם עד המגיעים.הופמן לקידוד להוצאתם עד המגיעים
•ה של נוסף תפקידה של נוסף תפקידFIFOFIFOהמידע של זמני אחסון לאפשר הואהמידע של זמני אחסון לאפשר הוא
ה ע"י עצירה ונדרשת במידהה ע"י עצירה ונדרשת במידהflashflash..
105
106. FIFO_WRITERFIFO_WRITER
-מה היוצא המידע את יקרא זה מודול -מטרה-מה היוצא המידע את יקרא זה מודול -מטרהRLCRLC
-ב זמני לאחסון ויעבירו המקבילי-ב זמני לאחסון ויעבירו המקביליSUPER_FIFOSUPER_FIFO..
106
107. המודול עבודת תיאורהמודול עבודת תיאור
-ה של המודולים שלושת-ה של המודולים שלושתRLCRLC-כ מתחברים-כ מתחבריםinputsinputsמודול .זה למודולמודול .זה למודול
-ה את סורק זה-ה את סורק זהdata_vlaiddata_vlaidאחד כל בודק שהוא כך ,שלושתם שלאחד כל בודק שהוא כך ,שלושתם של
-ל החוצה מוזרם הנכנס המידע .מחזורים שלוש כל-ל החוצה מוזרם הנכנס המידע .מחזורים שלוש כלSUPER FIFOSUPER FIFO
-ל שייך היוצא המידע האם שמציין רגיסטר עם-ל שייך היוצא המידע האם שמציין רגיסטר עםY/Cb/CrY/Cb/Cr..
:במימוש חשובים עקרונות:במימוש חשובים עקרונות
לשלוש מוחזק שנכנס המידעלשלוש מוחזק שנכנס המידעCYCLESCYCLES..
ביטים שני מתווספים נכנס מידע לכלביטים שני מתווספים נכנס מידע לכלMSBMSBבלוק תחילת מייצג שהראשון כךבלוק תחילת מייצג שהראשון כך
.בלוק סוף מייצג והשני.בלוק סוף מייצג והשני
107
108. תחילת-בלוקתחילת-בלוק
INPUT-הקידודDCה -שלRLCה ושלושת ,יחד -מגיעVALID_BITה בנוסף .נדלקים
START_BLOCKל להכניס מנת על דלוק -מוחזקDATAבלוק תחילת .ביט
שלוש למשך דלוק שיוחזק מובטח כאשר ,לבד להידלק רשאי ביט כל זו מנקודה החלCYC.
בלוק תחילת ביט
OUTPUT – wr_sectorהחוצה הנכתב המידע שייכות את .מציין
wrמהקו מידע לקרוא ניתן .מציין
WR_DATA–שלו המבנה כאשר החוצה שנכתב המידע זה
st_blk[1],end_blk[1],zeros[4],category[4],offset[10]הכול בסך20לציין חשוב .ביטים
קידוד מגיע שכאשרDCהzeros-ב נמצא0.
108
109. אמצע-בלוקאמצע-בלוק
של הדלקה פה לראות ניתןשל הדלקה פה לראות ניתןvalid_bitsvalid_bits-ב תקין מידע המייצגים-ב תקין מידע המייצגים
Cb,CrCb,Cr..
כעבורכעבורCYCCYCה כאשרה כאשרwr_sectorwr_sectorעל מצביעעל מצביעCbCbנדלקנדלקwrwrכאשרכאשר
-ה שגם כיוון הבא למחזור גם מוחזק הוא-ה שגם כיוון הבא למחזור גם מוחזק הואCrCr.תקין.תקין
בנוסףבנוסףstart blockstart block.בלוק באמצע שאנו כיוון כבוי.בלוק באמצע שאנו כיוון כבוי
109
110. סוף-בלוקסוף-בלוק
של הדלקה לראות ניתן הבלוק בסוףשל הדלקה לראות ניתן הבלוק בסוףeobeob-ה של והדלקה-ה של והדלקהbitbitשזהו המסמןשזהו המסמן
.בבלוק האחרון במידע.בבלוק האחרון במידע
-ה של הביטים ששלושת מובטח בלוק כל בסוף-ה של הביטים ששלושת מובטח בלוק כל בסוףvalidvalidשהעבודה כיוון דלוקים יהיושהעבודה כיוון דלוקים יהיו
.הזמן באותו מסתיימת זה מודול לפני שמתבצעת.הזמן באותו מסתיימת זה מודול לפני שמתבצעת
110
111. SUPER FIFOSUPER FIFO
-מה המידע את ייקרא זה מודול-מה המידע את ייקרא זה מודולFIFO_WRITERFIFO_WRITER
-ב סקטורים שלושה בין אותו וייפזר-ב סקטורים שלושה בין אותו וייפזרRAMRAM.יחיד.יחיד
בצורה זאת לעומת ייקרא שיאוכסן המידעבצורה זאת לעומת ייקרא שיאוכסן המידע
סקטוריאליתסקטוריאלית
מעין מתפקד סקטור כלFIFOעצמאי
התחלה כתובת מוגדר אחד לכל כאשר
.סיום וכתובת
-כ יש סקטור לכל10למינימום מעבר תאים
-ל להיערך המאפשר דבר ,ההכרחיHALT
של באורך80- מה המגיע סייקליםflash.
111
112. -ה גודל-ה גודלFIFOFIFO
-ה של מהסקטור והקריאה הכתיבה-ה של מהסקטור והקריאה הכתיבהYYלכן מתמלא לא הוא לכן במקביל מתבצעתלכן מתמלא לא הוא לכן במקביל מתבצעת
.כתובות בשני נסתפק.כתובות בשני נסתפק
של מהסקטור הקריאהשל מהסקטור הקריאהCBCB,,CRCRב כבר נמצא הבלוק כל כאשר מתחילב כבר נמצא הבלוק כל כאשר מתחילFIFOFIFO..
יהיו ביותר הקיצוני במקרהיהיו ביותר הקיצוני במקרה6464עוד של תוספת קיבלנו .אחד לכל קידודיםעוד של תוספת קיבלנו .אחד לכל קידודים128128
.כתובות.כתובות
סה"כסה"כ130130-כ הוספנו ,דרושות כתובות-כ הוספנו ,דרושות כתובות3030,נוספות כתובות,נוספות כתובות1010לכללכלSECSECמנת על .מנת על .
ה שבו מצב עם להתמודדה שבו מצב עם להתמודדFLASHFLASHנותןנותןHALTHALTמרווח נותנת אקסטרה כתובת כל .מרווח נותנת אקסטרה כתובת כל .
של אגירהשל אגירה88סייקלים-סה"כסייקלים-סה"כ8080..
112
113. -ל כתיבה-ל כתיבהFIFOFIFOפעולה –עקרוןפעולה –עקרון
שרגל בתנאי מהקווים נקרא שנכתב המידעשרגל בתנאי מהקווים נקרא שנכתב המידעWRWR.באחד נמצאת.באחד נמצאת
wr_sectorwr_sector- ביטים שני- ביטים שניINPUTINPUTתתבצע כתיבה .לכתוב סקטור לאיזה המצייניםתתבצע כתיבה .לכתוב סקטור לאיזה המציינים
ש -כאמורש -כאמורWRWR.באחד.באחד
,סקטור לאותו המוקצות הכתובת של העליון לגבול מגיעים מסוים בסקטור כאשר,סקטור לאותו המוקצות הכתובת של העליון לגבול מגיעים מסוים בסקטור כאשר
.סקטור באותו הראשונה לכתובת מתבצעת הבאה הכתיבה.סקטור באותו הראשונה לכתובת מתבצעת הבאה הכתיבה
113
114. FIFO signals WRFIFO signals WR
בכניסה המידע
של בעליה נכתב
WR
צריך המידע
להיכתב
לסקטור1
נכתב המידע
לכתובת8
לראות ניתן
אחריי מחזור
הקידום את
-ל בכתובת9
114
115. -מ קריאה-מ קריאהFIFOFIFOפעולה –עקרוןפעולה –עקרון
מה נקרא המידעמה נקרא המידעFIFOFIFO:סקטוריאלית בצורה:סקטוריאלית בצורה
Y,CB,CRY,CB,CR.חלילה וחוזר.חלילה וחוזר
-ה-הFIFOFIFOבמעבר השליטה כלומר ,אדיש מודול הואבמעבר השליטה כלומר ,אדיש מודול הוא
.מבחוץ מתבצעת הסקטורים בין.מבחוץ מתבצעת הסקטורים בין
רגל ,לקרוא רוצים ממנו בסקטור מידע יש כאשררגל ,לקרוא רוצים ממנו בסקטור מידע יש כאשר
EMPTYEMPTY-ל יורדת-ל יורדת00למידע שמתחבר והמודוללמידע שמתחבר והמודול
.מידע לקבל יכול היוצא.מידע לקבל יכול היוצא
מתבצע החוצה מידע של נאות:הקריאה גילוימתבצע החוצה מידע של נאות:הקריאה גילוי
.שעון בירידת.שעון בירידת
115
116. FIFO signals RDFIFO signals RD
רגל
EMPTY
-למעלה
מידע אין
הנוכחי הסקטור
מבצעת ממנו
שליטה -קריאה
מבחוץ
אחריי לראות ניתן
את מחזורים שני
המידע-מה יוצא
RAMורגל
EMPTYלמטה
מתבצעת
לסקטור כתיבה
קוראים ממנו
116
117. FIFO signals RD-swap sectorsFIFO signals RD-swap sectors
בסקטור המידע
1ויש מסתיים
לסקטור מעבר
2.בתור הבא
סקטור בין המעבר2-ל3
מהמעבר מהיר יותר הרבה
כבר שהבלוק כיוון הקודם
בסקטור כולו מוכן2אין ולכן
.לקריאה קריאה בין השהיות
.ברצף זורם המידע
סקטור בין המעבר3-ל
1מאותה מהיר כן גם
ההחלפה לאחר .סיבה
לסקטור1לראות ניתן
שEMPTYלמעלה
-ב שהטיפול כיוון
סקטורים2,3היה
הגעה מקצב יותר מהיר
.חדש בלוק של117
118. שנבחנו אלטרנטיבותשנבחנו אלטרנטיבות
-ב שימוש-ב שימוש33FIFOFIFO.סקטורים לכל אחד .נפרדים.סקטורים לכל אחד .נפרדים
למימוש יותר קל :יתרונותלמימוש יותר קל :יתרונות
.מקום בזבוז :חסרונות.מקום בזבוז :חסרונות
ה ידי על יתנהל לקריאה הסקטורים ניהולה ידי על יתנהל לקריאה הסקטורים ניהולFIFOFIFO::
למימוש יותר יתרונות:קללמימוש יותר יתרונות:קל
:חסרונות:חסרונותFIFOFIFOעם אדיש מודול הוא במהותועם אדיש מודול הוא במהותו
ברורה מאוד מסגרתברורה מאוד מסגרת
118
120. HUFFMAN_CODEHUFFMAN_CODE
בשלושת השמור המידע את ייקח זה מודול -מטרהבשלושת השמור המידע את ייקח זה מודול -מטרה
-ה-הSECTORSSECTORS-ה של-ה שלSUPER_FIFOSUPER_FIFOאותם וימיראותם וימיר
באמצעותבאמצעות44היוצא המידע .שונות קידוד טבלאותהיוצא המידע .שונות קידוד טבלאות
בשרשרת הבא למודול מועבר זה ממודולבשרשרת הבא למודול מועבר זה ממודול
SERIAL_TO_PARALLELSERIAL_TO_PARALLEL..
120
121. המודול עבודת תיאורהמודול עבודת תיאור
מסקטור תחילה לקרוא מאותחל המודולמסקטור תחילה לקרוא מאותחל המודולYYהמציין סיגנל נכנס כאשר פעולתו את מתחיל המודול .המציין סיגנל נכנס כאשר פעולתו את מתחיל המודול .
שסקטורשסקטורYYשל הכתובת של חישוב מתבצע ובאמצעותם מגיע והאפסים הקטגוריה של המידע .ריק איננושל הכתובת של חישוב מתבצע ובאמצעותם מגיע והאפסים הקטגוריה של המידע .ריק איננו
ל )בהתאם המתאים הקידודל )בהתאם המתאים הקידודY,CB,CR,AC,DCY,CB,CR,AC,DCהקידוד .הקידוד אורך את בתוכו מכיל היוצא הקידוד .(הקידוד .הקידוד אורך את בתוכו מכיל היוצא הקידוד .(
ה עם יחד החוצה יוצאה עם יחד החוצה יוצאOFFSETOFFSETידי על הושהה אך , קידוד עבר שלאידי על הושהה אך , קידוד עבר שלאPIPE-LINEPIPE-LINE..
למודול מועבר היוצא המידעלמודול מועבר היוצא המידעSERIAL TO PARALLELSERIAL TO PARALLELבביט מלווהבביט מלווהVALIDVALID..
:במימוש חשובים עקרונות:במימוש חשובים עקרונות
-ב שימוש-ב שימושROMROM-ה בתוך והתנועה .זו אחר זה שמורות הטבלאות שארבעת כך יחיד-ה בתוך והתנועה .זו אחר זה שמורות הטבלאות שארבעת כך יחידROMROMביחס היאביחס היא
לארבעלארבעOffsetsOffsets..
-ב שורה כל בתחילת-ב שורה כל בתחילתROMROM-ה אורך שמור-ה אורך שמורDATADATA.שורה אותה של.שורה אותה של
-מה שנקרא המידע-מה שנקרא המידעSUPER_FIFOSUPER_FIFOשל בלוק קודם כלומר ,סקטוריאלית בצורה נקראשל בלוק קודם כלומר ,סקטוריאלית בצורה נקראYY,של בלוק ,,של בלוק ,
CbCbשל בלוקשל בלוקCrCr.חלילה וחוזר.חלילה וחוזר
121
122. HUFFMAN_CODE diagramHUFFMAN_CODE diagram
PIPE
LINE
X2
OFFSET [11]
CATEGORY[4]
OFFSET [11]
OFFSET_LENGTH[4]
Logic implementation:
10*zeros+category+offs
et
ZEROS[4]
ROM
CONTAIN
4
HUFFMAN
TABLES
The encode
result [16]
Length of
encode
data[4]
ST_B,EN_B[2]
Calc Which
table to
use offset
RD_SECTOR[2]
122
123. הסיגנלים תאורהסיגנלים תאור ברום המידע נגמר
-ה המידע מגיע1מידע ,DC.
באמצעות מקודד המידע
-ב שלוש טבלהROM
הבא המידע
מטבלה מקודד2
-בROM
-ה קידוד תוצאותDC
-ה קידוד תוצאותAC.
ניתן מתחת השורות בשני
ההפרדה את לראות
.ואורכו לקידוד
VALID_OUT
הסיגנלים בשני
-ה את יש הללו
OFFSET
-אורכו ואת
כפונקציה נלקח
הקטגוריה של
123
124. שנבחנו אלטרנטיבותשנבחנו אלטרנטיבות
-ב שימוש-ב שימוש44.טבלה לכל אחד .נפרדים רומים.טבלה לכל אחד .נפרדים רומים
.אין :יתרונות.אין :יתרונות
.מקום בזבוז :חסרונות.מקום בזבוז :חסרונות
ה ידי על יתנהל לקריאה הסקטורים ניהולה ידי על יתנהל לקריאה הסקטורים ניהולFIFOFIFO::
למימוש יותר יתרונות:קללמימוש יותר יתרונות:קל
ה של כקליינט מתפקד זה מודול :חסרונותה של כקליינט מתפקד זה מודול :חסרונותFIFOFIFO
.הגיוני יותר זו בתצורה ומימושו.הגיוני יותר זו בתצורה ומימושו
124
126. SERIAL2PARALLELSERIAL2PARALLEL
-ה ממודול היוצא המידע את ייקח זה מודול :מטרה-ה ממודול היוצא המידע את ייקח זה מודול :מטרה
HUFFMAN_CODEHUFFMAN_CODE-מ הנע בגודל המגיע מידע --מ הנע בגודל המגיע מידע -22ועד ביטועד ביט2626
.ביט.ביט
יוצא הזזה.המידע רגיסטר על מולבש זה מידעיוצא הזזה.המידע רגיסטר על מולבש זה מידעיש כאשריש כאשר1616ביטביט
.הגיעו דרכו המכסימלי מהבס סינון שעברו.הגיעו דרכו המכסימלי מהבס סינון שעברו
ברגע דגל וירים דרכו שעברו הבלוקים מספר את יספור זה מודולברגע דגל וירים דרכו שעברו הבלוקים מספר את יספור זה מודול
מאוד וחשובה בהמשך למודולים תשלח זו רגל .העבודה שנגמרהמאוד וחשובה בהמשך למודולים תשלח זו רגל .העבודה שנגמרה
.התמונה של הסופית לסגירתה.התמונה של הסופית לסגירתה
126
127. SERIAL2PARALLEL diagram 1SERIAL2PARALLEL diagram 1
למודול נכנס הופמן קידוד למודול נכנס הקידוד אורך OFFSETלמודול נכנס אורךOFFSET
50000000000011001 0001111011 7
1100100000000000 00000111101100000000
אורךמשותףביצועORהקודמים הבסים בין
11001111101000000000
000000000000000000000000000000001001
חדש מידע למקם ניתן שממנו המקום
00000000000000000000110011111010
1001
באורך מידע כבר נמצא שברגיסטר בדיאגראמה לראות ניתן4מגיע החדש המידע כניסת ולאחר
-ל המידע אורך15שה רק מתבצעת החוצה מידע הוצאת .16ביטיםMSB.מלאים
המידע כל את המחזיק הזזה רגיסטר
החוצה יצא לא שעדיין
חדש מידע למקם ניתן שממנו המקום
127
128. SERIAL2PARALLEL diagram 2SERIAL2PARALLEL diagram 2
למודול נכנס הופמן קידוד למודול נכנס הקידוד אורך OFFSETלמודול נכנס אורךOFFSET
50000000000011001 0001111011 7
1100100000000000 00000111101100000000
אורךמשותףביצועORהקודמים הבסים בין
11001111101000000000
100111001111101000000000000000000000 המידע כל את המחזיק הזזה רגיסטר
החוצה יצא לא שעדיין
1100111110111001
לקובץ לכתיבה מוכנים החוצה שיוצאים הבייטים שניJPG
100111001111101110011111010000000000
-מ ביותר מלא הזזה רגיסטר16עולה זו זמן בנקודת שכבר כיוון ,החוצה ייקרא זה מידע הבא בסייקל .ביטיםDATA_VALID
.החוצה
128
129. SERIAL2PARALLEL diagram 3SERIAL2PARALLEL diagram 3
למודול נכנס הופמן קידוד למודול נכנס הקידוד אורך OFFSETלמודול נכנס אורךOFFSET
20000000000000001 0000000001 1
0000000000000000
0100
00100000000000000000
אורךמשותףביצועORהקודמים הבסים בין
000000000001100000000000000000000000
100111001111101110011111010000000000
10011111010000000000000000000000
0000
011000000000000000000000
100111110101100000000000000000000000
ימינה הזזה עם להיכתב שצריך החדש המידע את מחזיק זה בס
אך הזזה ברגיסטר להישאר שצריך הישן המידע את מחזיק זה בס
ביותר העדכני המידע שהוא כיוון שמאלה מוזז הוא
ביצועORהקודמים הבסים בין
להידרס יכול בשחור המידע -בתוכו המידע עדכון לפני ההזזה רגיסטר
10011111010110000000000000000000
0000
העדכון לאחר ההזזה רגיסטר
129
130. מידע להניח ניתן היכן המציין פוינטר
למודול מידע נכנס ואורכו הופמן קידוד
OFFSET
ואורכו
OFFSETעריכה לאחר .וקידוד
אורךOFFSET
וקידוד
במידע מתמלא זה רגיסטר
בהתאם מהבסים שנגזר
המדויק לגודלם
עיבודו ותהליך -נכנס מידע של תיאור
130
131. מידע להניח ניתן היכן המציין פוינטר
למודול מידע נכנס ואורכו הופמן קידוד
OFFSET
ואורכו
החוצה מידע להעביר ניתן ממנו המיקום את המחזיק פרמטר
עיבודו ותהליך -נכנס מידע של תיאור
אורךOFFSETוקידוד OFFSETעריכה לאחר .וקידוד
מוכן החוצה מידע
החוצה הנכתב מידעלהיות והופך החוצה נכתב שאינו מידע
-ב המידעMSBהנוכחי המידע הוצאת לאחר
לאחר להיכתב צריך שנכנס החדש המידע
החוצה הכתיבה לאחר שנותרה המידע שארית
131
132. :קיצוני תרחיש:קיצוני תרחיש
.נדיר מאוד קידוד זהו.נדיר מאוד קידוד זהו
– הנ"ל המידע של רצף כלשהו בלוק עבור ומגיע במידה– הנ"ל המידע של רצף כלשהו בלוק עבור ומגיע במידה00קטגוריה ,אפסיםקטגוריה ,אפסים1010
קידוד ואורךקידוד ואורך1616של באורך מידע זה למודול נכנס .של באורך מידע זה למודול נכנס .2626לנקות מסוגל הוא כאשרלנקות מסוגל הוא כאשר1616כלכל
.אגירה של מצב להיווצר עלול היה זה במצב .סיקל.אגירה של מצב להיווצר עלול היה זה במצב .סיקל
.מענה קיבל זה קיצוני תרחיש גם אך.מענה קיבל זה קיצוני תרחיש גם אך
מרים הוא אליו מימין ששוכב מידע שיש שברגע אדום קו מוגדר למודולמרים הוא אליו מימין ששוכב מידע שיש שברגע אדום קו מוגדר למודולHALTHALT
.עליו שנאגר המידע את מרוקן ,הנכנס למידע.עליו שנאגר המידע את מרוקן ,הנכנס למידע
.המידע של מחודשת הזרמה ומאפשר.המידע של מחודשת הזרמה ומאפשר
132
133. הבלוקים ספירתהבלוקים ספירת
תמונה סיוםתמונה סיום
שהסתיימו בלוקים ספירת הנוכחית התמונה של אחרון מידע
Data validבגודל -שנותרה המידע ששארית מנת על סייקל עוד נמתח1החוצה יצא בייט
133
135. FLASH_WRITERFLASH_WRITER
:מטרות:מטרות
11בפורמט התמונה את יכתוב זה מודול .בפורמט התמונה את יכתוב זה מודול .JPGJPG-ל-לFLASHFLASH..
22.הקידוד בוצע באמצעותה הקוונטיזציה טבלת את לקובץ יכניס זה .מודול.הקידוד בוצע באמצעותה הקוונטיזציה טבלת את לקובץ יכניס זה .מודול
33הנתונה התמונה את המאפיינים הפרמטרים את ייקרא זה .מודולהנתונה התמונה את המאפיינים הפרמטרים את ייקרא זה .מודול
.בפורמט אותם ויישלו.בפורמט אותם ויישלו
44-ב שהוצמד המידע את ייקח זה .מודול-ב שהוצמד המידע את ייקח זה .מודולSERTIAL TO PARALLELSERTIAL TO PARALLEL
" בייט בדיקת כדי תוך לקובץ אותו וישפוך" בייט בדיקת כדי תוך לקובץ אותו וישפוךFFFF" תוספת המחייב "" תוספת המחייב "0000""
.אחריו.אחריו
135
136. המודול עבודת תיאורהמודול עבודת תיאור
לרגל מאזין המודוללרגל מאזין המודולSHOOTSHOOT-ה של-ה שלIMAGERIMAGER– ה של השעון מול עובד ,עבודתו בתחילת זה מודול .– ה של השעון מול עובד ,עבודתו בתחילת זה מודול .
IMAGERIMAGER, המערכת אותה התמונה גודל ואת ,המיועד הקובץ שם את קורא .המערכת של האיטי השעון, המערכת אותה התמונה גודל ואת ,המיועד הקובץ שם את קורא .המערכת של האיטי השעון
.לקודד הולכת.לקודד הולכת
-ה של כתיבה מתחילה מכן לאחר-ה של כתיבה מתחילה מכן לאחרINFOINFO-ה כתיבת .המערכת של המהיר השעון עם-ה כתיבת .המערכת של המהיר השעון עםINFOINFOמצריכהמצריכה
-ה מבנה עם עמוקה הכרות-ה מבנה עם עמוקה הכרותJPGJPG..
.הקובץ של נעילה מתבצעת האחרון המידע הגעת לאחר.הקובץ של נעילה מתבצעת האחרון המידע הגעת לאחר
:במימוש חשובים עקרונות:במימוש חשובים עקרונות
-ב שימוש-ב שימושROMROM-ה כל את המכיל יחיד-ה כל את המכיל יחידINFOINFOלטבלת בהתאם ,שייתכנו הקומבינציות בכללטבלת בהתאם ,שייתכנו הקומבינציות בכל
.הרלוונטית הקוונטיזציה.הרלוונטית הקוונטיזציה
": קידוד שעבר בייט שמגיע ברגע": קידוד שעבר בייט שמגיע ברגעFFFF" להכניס ידאג זה מודול "" להכניס ידאג זה מודול "0000.אחריו ".אחריו "
ייתן זה מודולייתן זה מודולHALTHALT-ל-לFLASHFLASH.לקובץ לכתיבה מוכן מידע לו שאין זמן כל.לקובץ לכתיבה מוכן מידע לו שאין זמן כל
136
137. עבודה שלבי – כולל מבטעבודה שלבי – כולל מבט
כתיבתINFO FLASH_HALT המקודדים הבלוקים כתיבת
- קובץ סגירתFFD9
תמונה לסגור –ניתן אחרון מידע
137
138. -ל האזנה -עבודה תחילת-ל האזנה -עבודה תחילתIMAGERIMAGER
התמונה מימדיהקובץ שםשעוןIMAGER
שעוןFLASH
138
139. -ב קובץ יצירת-ב קובץ יצירתFLASHFLASH
Halt-לFLASHלמטה יורד
-ל נכתב התמונה שםFLASH
139
140. כתיבתכתיבתINFOINFO
- ל דרכו את סיים התמונה שםFLASH
-ל קריאות מתבצעותROMהמידע .
פעם כל בייט בגודל יוצא
יש כאשר4של הרגל בייטיםHALT-ל יורדת0.לקובץ נכתב הראשון והמידע
שהם הבייטים מיקוםVALIDבבס
140
141. -מ מגיע מקודד מידע-מ מגיע מקודד מידעSERIAL TO PARALLELSERIAL TO PARALLEL
-מה נכנס מידעSERIAL TO
PARALLEL
VALID
BIT -IN
VALID
BIT
-OUT
D_OUT
לפלאש
מה בייטים שני
LSBנקראים
ונכתבים מהבאס
בפלאש
זאת לעומת פה
שלושה נכתבים
שהגיע כיוון בייטים
מידעFF.
מוגדר למודול
להכניס00
אחריהם
141
142. -מ מגיע אחרון מידע-מ מגיע אחרון מידעSERIAL TO PARALLELSERIAL TO PARALLEL
EOFמגיע
ואיתו לפלאש
INFOסגירת של
קובץJPG
“FFD9” -
המקודד המידע
באורך האחרון
אחד בייט
142
143. -ב טיפול-ב טיפולHALTHALT-מה-מהFLASHFLASH
שמגיע ברגעשמגיע ברגעHALTHALT-מה-מהFLASHFLASHהמערכת כלהמערכת כל
-ל עד-ל עדSUPER FIFOSUPER FIFO,כרגיל לעבוד ממשיכה,כרגיל לעבוד ממשיכה
-וה-והFIFOFIFOוהקפאת מידע אגירת של למצב נכנסוהקפאת מידע אגירת של למצב נכנס
.המידע יציאת.המידע יציאת
בשגרה מהמערכת להתרשם ניתן הבאים בשקפיםבשגרה מהמערכת להתרשם ניתן הבאים בשקפים
של במצב ומהמערכתשל במצב ומהמערכתHALTHALT
143
148. Debugging: us vs. cristi.cDebugging: us vs. cristi.c
סי בשפת קריסטי של בקוד השחלנו דיבוג לצורךסי בשפת קריסטי של בקוד השחלנו דיבוג לצורך
במקומות טקסט קובץ לתוך הדפסותבמקומות טקסט קובץ לתוך הדפסות
אותנו שעניינו "ה"אסטרטגייםאותנו שעניינו "ה"אסטרטגיים..עשינו זהה דברעשינו זהה דבר
למוצאי "דיבאג "מודול חיבור ע"י שלנו בפרוייקטלמוצאי "דיבאג "מודול חיבור ע"י שלנו בפרוייקט
לתוך הביטים את המדפיס המעניינים המודוליםלתוך הביטים את המדפיס המעניינים המודולים
הסיגנלים את להשוות לנו אפשר זה דבר .קובץהסיגנלים את להשוות לנו אפשר זה דבר .קובץ
אחר מודול ,ביט אחר ביט קריסטי של לאלו שלנואחר מודול ,ביט אחר ביט קריסטי של לאלו שלנו
...מודול...מודול
148
149. Debugging: us vs. cristi.cDebugging: us vs. cristi.c
קובץ לתוך הכתיבה מתודות הרחבת
-הJPEG.
-ה לקובץ שנכתבים הביטיםJPEG.
.טקסט לקובץ שנכתבים הביטים
הדפסתRGB.
149
150. Debugging: us vs. cristi.cDebugging: us vs. cristi.c
-ל הכניסה הדפסתDCT.
הקוונטיזציה מוצא הדפסת
.מזוגזג
הדפסת
.zeroes, category, offset
150
151. Debugging: us vs. cristi.cDebugging: us vs. cristi.c
קריסטי של הפלטים קובץ
:הבא באופן נראה
:הדרים
:הדרים סוף
:הקידוד תחילת
:הראשון הבלוק
RGB, RGB….:
151
152. Debugging: us vs. cristi.cDebugging: us vs. cristi.c
:ההשוואהאנחנו קריסטי
DCT_in
zigzag
after
quantization
RLE & DPCM
152
153. SniffingSniffing
אחד לכל במקביל המתחבר מודולאחד לכל במקביל המתחבר מודול
במערכת המודולים בין המידע מקוויבמערכת המודולים בין המידע מקווי
לקובץ בלוק כל של כתיבה ומבצעלקובץ בלוק כל של כתיבה ומבצע
.נפרד.נפרד
153
154. UtilsUtils
:שבנינו עזר כלי כמה להלן
מבצעparsingשל לפלוטיםRLE & DPCM
לקבלתnum of zeroes, category and offset.
-ב מומשExcel.
ממירbin2hex-וhex2bin.
-ב מומשVisual Basic.
154
155. Utils contUtils cont..
.עומד וקטור מזגזג
של עומד וקטור מציג64
של מטריצה בצורת8X8.
.מזוגזג עומד וקטור ""מיישר
להמרת המתמטית הפעולה את מבצעRGB-לYCbCr.עשרונית נקודה עם
-ה פעולת את מבצעDCT.עשרונית נקודה עם מטריצות כפל באמצעות
:דוגמאvec zigzag(vec)
v2matrix(zigzag(vec))
155
156. ביעדים ועמידה דגשיםביעדים ועמידה דגשים
המקורי היעד בתאריך מצגת כולל הפרויקט הגשתהמקורי היעד בתאריך מצגת כולל הפרויקט הגשת19.4.0919.4.09.(כחודשיים )לפני.(כחודשיים )לפני
עד של תמונה בגודל תמיכהעד של תמונה בגודל תמיכה1024x10241024x1024
מימושמימושhalthaltמה חוזרמה חוזרflashflashלל8080.שעון מחזורי.שעון מחזורי
בשלושה תמיכהבשלושה תמיכהQuality FactorQuality Factor..
.ברצף תמונות צילום של בהמרה תמיכה.ברצף תמונות צילום של בהמרה תמיכה
בפורמט אותיות בהדפסת תמיכה –כלל התמונה על תאריך הדפסתבפורמט אותיות בהדפסת תמיכה –כלל התמונה על תאריך הדפסתASCIIASCII,,
.בתמונה התאריך מיקום ושינויי ואנכי אופקי וכיווץ למתיחה אפשרות.בתמונה התאריך מיקום ושינויי ואנכי אופקי וכיווץ למתיחה אפשרות
.הפרויקט כל לאורך וזיכרון לוגיקה צמצום של תכנון שיקולי.הפרויקט כל לאורך וזיכרון לוגיקה צמצום של תכנון שיקולי
זיכרונות איחודזיכרונות איחודROMROMווRAMRAM.המסלולים שלושת עבור.המסלולים שלושת עבור
.הפרויקט כל של מפורט תיעוד המכילה מושקעת מצגת בניית.הפרויקט כל של מפורט תיעוד המכילה מושקעת מצגת בניית
של מימוששל מימושFIFOFIFO.אחד זיכרון על משולש.אחד זיכרון על משולש
של מושלמת המרה שאפשרו אוטומטיים סקריפטים ע"י הטבלאות כל בניתשל מושלמת המרה שאפשרו אוטומטיים סקריפטים ע"י הטבלאות כל בנית
.שגיאות ללא התמונה.שגיאות ללא התמונה
.בהמשך הפתעה.בהמשך הפתעה
156
157. .המודול בפיתוח מאוד שעזר הקוד על לקריסטי תודה.המודול בפיתוח מאוד שעזר הקוד על לקריסטי תודה
,המרתקות ההרצאות על ניגרי למקס ענקית תודה,המרתקות ההרצאות על ניגרי למקס ענקית תודה
.בזכותו שרכשנו הרבה והמקצועיות הידע על.בזכותו שרכשנו הרבה והמקצועיות הידע על
157
משה חסין ()יוני יבגני ,ביטון רועי ,כהן אלון
עג'מי שולמית ,הובר אריאלה ,שקלר