JPEG雖然是一個已經使用多年的standard了,但是仔細研究了之後,就能看到他之所以經典的原因。過去在專題中打轉許久使用的各種壓縮技巧,巧不巧的全部都在一個小小的jpeg中使用上了。我想當初若是有靈機一動來把jpeg研究一番,我想對專題會更有感覺,只是會花很多時間就是。很多事情都是自己親手碰一遍才能體回箇中奧妙的。或許之後遇到瓶頸的時候,把相關的standard拿出來仔細瞧瞧,可以有意想不到的收穫。
就這樣,一群雜牌軍要在兩個星期內兜出一個jpeg電路。雖然此專題行之有年,助教與教材都相當完善,從一開始如何切pipeline、ping-pong buffering、floating point to fix point,到實際寫HDL時的架構,助教可說是循循善誘的引導我們。雖然這些步驟在交大都已經有相當多的訓練了,但從頭到尾他們僅僅使用了一份c code來完成這些事情讓我覺得挺訝異,也發現我在c方面實在是不夠熟練(在交大我都用憨人MATLAB)。其中包括最近似乎很夯的systemC,還有如何利用資料結構建造硬體中對應的FIFO等等。總感覺學了越多之後,對以前的一些課目越來越能有一些不同的體會。
每次說到這樣的事情,就會有人開始鞭系上教學制度,教學科目、或是順序等等。但我自己是覺得交大的教學不比國外差。感覺上,碰到越來越多應用後,越來越能懂得目前這樣的課程設計的意義,好好的將基礎全部讀過一遍,在日後使用到或有需要使用時,能夠知道出自何處,然後自行將他與現在的課題連接,東西就會變成自己的。除了這些之外,還會額外獲得些成就感,豈不是挺快樂的。
另外,這門課,我們使用的HDL是一種叫做GEZEL的語言,是一個由這邊的group自行研發的硬體描述語言,雖然語法不難,但是限制較多,電路的思考上也和交大用的verilog相差甚遠,我自己寫得是相當痛苦。但是因為不用合成,其實就是亂寫一通,會合出什麼鬼?就不管他了。不過從另外一個層級去看電路,好像也有點不同的感受,我想不是壞事吧,只是回去之後改回verilog可能又要適應一下。
所以最後JPEG的結果...,
就是沒有一組有做出來,雖然許多人都宣稱自己的block會動,不過到底會不會動就是另外一回事了:)
做著做著,也開始覺得數位的門檻有點低,最後大家都差不多,本來想說自己對這方面好像頗有興趣的,或許只是因為入門容易吧,還是應該把這當技能,再來想想之後到底該走什麼路,至於回去會不會屈就於現實,我想就回去再說吧。
結束的時候在ESAT的小酒吧(?)的小小慶功宴。
話說,我終於跟老師在這的同事Prof.Ingrid拍到照還有自我介紹到了XD。Ingrid是魯汶這邊負責很交大做intership的溝通橋樑,還趁機會跟這邊的小比推銷了一下交大,挺開心的。
沒有留言:
張貼留言