2008年8月2日 星期六

虛驚一場

5/16是Final Paper上傳的Deadline
在這時間之前, 當然就是將原先審稿的內容
修改成conference的格式
也順便看看還有哪裡需要做補充說明的
所幸當初審稿時已經將全文稍做整理
以至於現在不需要花太多時間整理內容

文句上的修改是免不了的
畢竟這篇paper是登上IEEE這個最高殿堂
怎可隨隨便便用個破爛英文

不過IEEE也十分的貼心
有投過IEEE的人應該也都曉得
他們會提供一個PDF check的服務
也就是說當word轉檔成PDF檔時
可將PDF上傳至檢查的網站
檢查所轉檔的格式是否符合該conference的規格
我算是幸運的
第一次檢查時, 只是因為字型沒有包含進來
所以將相關的字型嵌入
就順利地通過檢查

5/14, 上傳前兩天
想說這次可以不用這麼匆忙地處理文件
於是再重新檢查了一次要上傳的paper
結果發現, 測試結果的圖竟然出錯了
嚇得我趕緊找老闆
這時老闆才發現我的圖有問題
於是叫我趕快再弄個正確的圖出來
並且找出問題發生在哪裡

於是我又回到了研究室
繼續使用著邏輯分析儀
不知道是我不太會用它還是它太笨
每次抓訊號的trigger都不是很準
需要多tune個幾次才會成功
成功抓到後, 將data export出來到mathematica
發現圖還是錯的
這個現象十分的詭異
因為paper裡面的兩張圖, 全是用我所設計的硬體跑出來的
沒理由case-1正確, 而case-2卻錯誤
於是我又試了幾次
結果還是不行

正當所有的方法已經用盡的同時
我發現到一個奇怪的現象
就是步進馬達在運轉的同時
竟然產生之前都沒發生過的"抖動"
而且開始發生怪聲
這是之前都沒發生的
於是我將控制器換一個新的
也是產生相同的狀況
剩下最後一種可能, 就是馬達壞了
於是我換了一顆新的馬達後再進行測試
果然, 是馬達故障了
因為這次, 圖形跑出來是正確的

我跟老闆說馬達故障的事
他相當難以至信
他覺得馬達是很堅固的東西
沒理由被我用了一年就掛了
但事實就是如此
只能說我太厲害了吧.......
不過換個好方面想
這樣我就有"正當"的理由來解剖這顆壞掉的馬達

當圖換成正確的後, Final Paper也順利上傳
接下來就是準備報告的投影片與演說內容了

2008年5月19日 星期一

等待...

等待的日子總是很難熬的
這點我現在終於明白
但是換個角度想想
上了也不過是順利取得畢業的點數
不上也沒差
反正國內研討會這麼多
隨便找個投就沒問題了
為何還要在意上與不上呢

起初還真的不是很在意
但是越接近錄取日期
還真的越來越在意
甚至於有點歇斯底里
也因為這樣
我找了我的partner學妹一起去拜拜

4/25是審稿結果公布
早在一個多月前
我的一群同學就已經說那天要唱歌慶祝了
我就說"如果我沒上怎麼辦"
大家的說法都是"照唱"
當時我真的無法想像沒上的心情會是怎樣

4/23 23:00
在檢查過SICE網站和收過信後
決定在4/25下午五點前不再收信
以及不看審稿結果
我想讓自己的心情稍微平靜一點
而我在4/25跟學妹去廟裡拜拜
會找她一起去的原因
是因為她通過元智研究所的初試
也希望藉此沾點好運

4/25 21:00
拜完之後回家小睡一下
睡到九點後出門吃晚餐
然而手養的我又連上研討會網站去看審稿結果
結果對我來說是好事
然後馬上聯絡我老闆
在接獲老闆的道賀之後
也準備著晚上夜唱的歌曲

接下來的日子呢
也沒那麼輕鬆
5/16前要上傳Final Paper
要更改一堆格式與設定
在上傳之前
又有了驚人的發現...

緣起

在去年(2007)年底
好不容易完成國科會計劃的報告後
靈機一動想把這計畫翻譯成英文
當此一想法閃過後
我便立即找老闆詢問他的意見
並且告訴他我想投國際研討會的念頭

之後選定了一個日本SICE協會所辦的研討會
SICE在日本算是控制方面最高權威的協會
同時這個研討會是IEEE所贊助
而且研討會的論文將會收錄在IEEE的雜誌中
對我來說 能在IEEE Xplorer中搜尋到自己的論文
也算是一個夢想
因此也開啟了IEEE之旅

在農曆年的前幾天
我除了趕稿外
就是製作替大學部專題上課用的投影片
整個農曆年假期加上寒假
我大概只有一週的休息時間

2008/2/25是截稿日期
在那一週裡
我翻譯的英文完全被老闆打槍
因此又重新用"英文思考"的方式撰寫
寫了修改 修了又修
在這一週內 我每天都陪著太陽起床
到了截稿那一天
終於順利上傳
上傳完成後
才發現截稿日期延後到2008/3/16
感覺這麼拼到底是為了什麼
不過心中的大石總算放了下來

在截稿的期間也發生了一些小插曲
就在原定的截稿日期前一天
實驗結果跑出來的跟演算結果不一樣
這讓我十分緊張
不過還好只是個小問題
順利的解決後就沒問題了

而剩下的時間呢
就是等待...

2008年3月15日 星期六

Altera Quartus II 7.1 與 7.2 在SOPC Builder與NIOS II IDE之差異

Quartus II是Altera所開發的一套EDA工具
基本上它的功能十分強大
當然也是要搭配上它所生產的FPGA

Altera這幾年主打教育界
慢慢地也看到一些成果
目前許多大專院校也漸漸使用Altera的工具進行開發
Altera之所以走紅
除了一開始的行銷策略正確之外
另一方面就是它的EDA工具較具親和力
對於剛接觸這領域的使用者
上手十分容易

既然如此
為何這篇文章會討論Altera的軟體呢
故事是發生在這一個月......

當大家開始接觸到新版本的Quartus II 7.1時
漸漸地也發現7版以後的bug並不少
因此7.1問世沒多久後
就推出了service package供使用者下載修正
但這似乎解決不了少數使用者的問題
因此也在短暫的時間內推出7.2及7.2的sp1與sp2

Quartus II 7.2版可說是一大改進
首先在SOPC Builder部分, 已完全移植到JAVA上
這麼做的原因是NIOS II IDE原本的開發平台Eclipse
原本就屬於JAVA的開發環境
如此一來會讓SOPC的元件與NIOS II IDE的連結性更高
也就能加速整個系統在編譯上的時間

這麼做看起來似乎不錯
那討論的地方又在哪裡??
其實Quartus II從7.0版開始, 就已經慢慢開始導向JAVA開發
還記得小弟在先前寫過一篇"有關7.1版的SOPC Builder "
這時的SOPC Builder就分成新舊兩介面
在舊介面所使用的是延續5.0版後到7.0版前
以SOPC Builder的說法, 舊介面稱為"classic"
直到目前版本, 仍可以使用上述連結內的方法設定新舊介面的選項

不過7.2開始後最大的改變
在於硬體component的資料存放區改變了
早期都是在quartus\sopc_builder\components\
使用7.2的朋友可以仔細觀看
sopc_builder資料夾裡的components這個資料夾已經不見了
再仔細看看
取而代之的是一堆.jar的java壓縮格式
換個方式說
先前以資料夾型式儲存的component
已轉為JAVA的物件使用

這對於使用舊版本的人會有很大的影響嗎???
我不敢說有, 但對我而言, 影響還頗大的

首先, 我是從5.0開始使用到現在
掐指一算, 也有兩年多的歷史
我一直都是在"classic"介面下開發
也早就習慣整個開發流程
但在這中間, 使用了DE2這塊板子
當然Altera也有提供University Program IP Cores
以利使用DE2的使用者開發
但, 就當7.0版的新介面出來後
University Program IP Cores卻無法在Components裡顯示已安裝
也就是可以使用的"綠點"沒有亮
不過說也奇怪
要使用是也可以使用
但將一個component加到system中卻要很長的時間
而且每當重開一次SOPC Builder
reload之前system的資料就變超慢的
不僅浪費時間
在NIOS II IDE build又產生錯誤
不過這個問題若是以"classic"產生的project
到NIOS II IDE build 就不會有問題

另一個就是轉換上的麻煩
如果您是以classic產生的project 要轉成新版本
很容易讓NIOS II IDE無法build
因為新介面並不支援University Program IP Cores
那麼舊介面的7.2可以使用嗎
我這一個月的測試心得是:無法正常使用
即使使用了舊介面, University Program IP Cores還是有問題
而且Altera自從去年7月後就沒有再更新University Program IP Cores
這對DE2使用者而言真是一大損失

這篇文章並不是要抱怨Altera的作風跟X軟一樣
我只是要提出一個想法
工具軟體這種東西, 不是新版本就一定好
而是看自己本身對它的熟悉度與接受度
雖然大家都說Quartus II 7.1很多bug
但目前我使用上沒有這方面的問題
當然7.2也新增了不少功能
不過這些功能對我來說也並非是必要
因此, 升級對我來說, 也並非必要

雖然很笨, 但這一個月來
讓我對Quartus II這個開發工具更為了解
換個方式說, 也算是值得啦
希望大家在使用軟體時能多加考量
以免重蹈小弟的覆轍

2008年2月20日 星期三

Embedded System與System on Chip的差異

這兩個名詞常會讓人搞混
當然不乏許多研究這方面的人士
在此我簡單的將這兩者區分一下

首先,嵌入式系統(Embedded System)
它是一個system
重點是在前面的那個單字embedded
我們要先考慮一件事
既然是嵌入式,那到底要嵌入哪裡?
舉個例來說
手機是最典型的嵌入式系統
這句話就點出這個系統是"嵌入"在手機上
也就是說
一個系統,"嵌入"在某個裝置上
那我們可以說這個裝置是"嵌入式系統"

相對的,"System on Chip"就十分明確
即表示系統是"嵌入"在晶片裡面的
舉個例說,8051就是個"System on Chip"

我們常知道的嵌入式系統
例如手機,數位相機,甚至是一些常見的裝置
那麼像SOC
例如8051,單晶片等等

因此,這兩著最大的差別
就在於一個系統,到底"嵌入"在哪裡
如果是嵌入在一個"裝置",那就是"嵌入式系統"
如果是嵌入在"晶片",那就是SOC

所以,SOC是嵌入式系統的一部分
但不能說嵌入式系統是SOC
這點請各位多多思考