2008年9月3日 星期三

單晶片系統應用

從開始學單晶片至今,已經超過十五個年頭了...(哇...不小心就透露了自己的年紀了!)

這十幾年來剛好也歷經了台灣半導體產業的盛世時期,也實際參與了許多包涵單晶片的SOC的

IC 開發工作,當然啦,後來,還有機會搞了那顆號稱多核心的FPPA的開發及推廣。

所以啦,還算是有一些小小的心得與感觸啦。....

但為什麼說是『盛世時期』呢?!...因為,真的這一兩年來,就真的沒有那好的光景了。

您說呢?!現在您要在做單晶片微控器,您要如何去扭轉市場對於單晶片的傳統觀念呢?!

現在的工程師也沒有多少時間來學一個全新的單晶片了...(多的時間我不會拿來逛網路喔?!)

而要學我也學像ARM這種跟得上時代的東西啊...更不用說像是8051 這種8 bit 的老古董了。

那天在大陸的台商IC設計公司裡跟朋友聊,他們明明要找個寫6502 的系統工程師。

人家大陸年輕人一聽到 6502 就差點沒昏倒,人家就直接擺明說:我來就是要玩ARM這種32 bit的,

如果是要寫 6502 的話...那就對不起...他會另外再找別的公司。

您看:現在人家大陸工程師都已經比我們還挑了。您還想搞什麼奇怪的單晶片?!

更別奢望要人家去學什麼組合語言了....他不為現在想,也得為未來想一想啊?!

---

那我們就又從一個觀點來說...以一般IC設計來說:還是以所謂的成本考量啊...

一般IC的設計的成本分析來說,有兩種方式:一種我們稱為 Pad Limit ,

就是說...您晶片的面積被每一個I/O Pad 的大小給限制了...如果,您的單晶片是要包成

以前那種 40 pin 的話...您光這40 根 I/O Pad 就把您的IC 晶片給撐大了!

但是,您的IC邏輯卻又沒那麼東西可以塞在這 40 pin I/O PAD 的面積裡的話,

那就有點給他浪費了!....不符合成本觀念。

而另一種剛好反過來...我們稱為 Core Limit ,就是明明您沒有那麼多I/O Pad ,

但您IC邏輯的面積卻又多到I/O 都擺不滿周邊面積....一則表示您的設計功力不好...

也有可能您IC的設計架構有點給他不搭嘎...這兩種過與不及都不是很好!

所以,如果,當您拿到一個單晶片時,您會抱怨說:怎麼程式容量這麼小?!...或是,

怎麼I/O 腳數不夠用呢?!...原因:無非就是這兩個問題在作祟。

----

但很明顯的:這年來,單晶片是比較傾向往所謂的少 I/O pin 方向在走。

一則也是為了一些產品價格上的競爭力。(因為包裝成本本身也是一個成本,

還有是在系統加工上的成本...當然還有現在的系統也是標榜是越作越小啦!您搞一棵40 pin 單晶片,

人家還以為您是 32 bit 的ARM呢...人家ARM也有出 48 LQFP 的小包裝IC啊!)

所以,我們可能會認為單晶片應該會被所謂的 Core Limit 給限制了...

哈~哈~...不一定!因為IC晶圓本身的製成技術也是一直提升...

我們原本以為會因為Core Limit 會讓IC本身沒有多少邏輯功能增加(像是一般所謂的

UART ,SPI或是 I2C 甚至 PWM ...ADC...等周邊電路)...

所以當初人家FPPA才會覺得他們的單晶片有機會啦...(因為他們覺得小I/O pin Count 的

單晶片就比較有所謂周邊電路支持!用軟體去造周邊很有產品競爭力!)....

但是呢?!真的,這一兩年來高階IC製程的出現...也可以讓一些小 I/O pin 的單晶片也可以做到

許多支持的周邊啊!...您看這幾年PIC 在20 pin 以下的單晶片的周邊電路支持度也都大幅增加。

我開始推FPPA時,還號稱14 pin 以下的很難找到 有支持UART的單晶片微控器。

但是這幾年來真的完全改觀了...更不用說:人家不只是小Pin count 包裝有完整的周邊電路,

(像多組的ADC啦...UART...I2C/SPI ...還因為高階製程,CPU時脈還可以操到 20 MHz 甚至

40 MHz以上呢!)而且還支持Flash程式重複燒寫...還有完整的開發平台與高階語言支持。

(就連Silicon Labs 的8051 除了一般周邊電路之外,就乾脆也把ICE仿真器的Debug 介面

全做進IC裡!...您就可以想想人家的邏輯周邊電路可以縮到多小了吧!...

PS:以前台灣作單晶片還要搞一棵ICE專用的大大IC呢!---因為還要支持外掛memory ...I/O 增加)

都大大的縮短了工程師開發時程。因為:這很簡單...上述的論點...如果您的8 bit 單晶片還這麼不上道。

人家年輕工程師全都會跑去寫 32 bits 的ARM了!...您自個兒就留著當科技界原始人了。

---

其實,版主本身寫了這麼多年的單晶片也算是原始人了...也慢慢的覺得不應該在生命浪費在

這些有點被時代潮流給淘汰的洪流中了...寫程式嘛...無非就是賣程式賺錢啊...

您幹嘛整天還在那邊辛辛苦苦的磨一些組合語言呢?!....

現在連一般PCB的打件廠老闆也都懂得跟您談所謂的"性價比"。....

一棵MCU嘛...您要用多少錢?!要花多少時間來完成一個系統?!...

難怪,連在大陸的台商IC設計公司的主管跟我說:...Chamber 啦...時代不同了啦...

如果,連大陸工程師都擺明跟您吐嘈說"...您們公司還在推新8 位元的MCU 喔...

還要我來寫"匯編"程式(組合語言)喔?!...您公司會不會倒啊?!...我也沒興趣搞這些呢..."

---下回要找大陸工程師寫組語...真的得去大西北找了啦!...

如果,您也是在寫單晶片程式的...不知道您的看法與想法呢?!...

歡迎也提出分享!...謝謝!

 

11 則留言:

  1. 賈老師的真老公2008年9月4日 凌晨1:57

    我想您看這些國際大公司的產品作法是比較正統的。
    人家要作的是高附加價值的東西,所以自然他們產品想法是有一定的法則的。
    但我們台灣呢?!...因為是作OEM的...賺的是微薄小利...一不小心就虧了。
    所以啦...能真正站上國際舞台的單晶片幾乎寥寥無幾...反正久了,大家也麻木了。
    您看最近幾年...這些搞MCU的上市櫃公司的股價就知道了。能賣的,能賺的...
    都還是一些其他特殊應用的。要講一些標準型的MCU來說...業績應該會死得很難看。
    頂多就那麼一棵來塞塞牙縫...聊勝於無。---還要搞發展系統..燒錄器工具等等...
    老闆鐵定跟您說:....您是第一天出來混的嗎?!還想靠MCU上市櫃賺大錢?!...
    您不會算術嗎?!...一棵MCU賣人家NT$ 10 ,人家還嫌貴。
    不要說台灣啦...再讓您加大陸市場,要東湊西湊,...(您要養多少FAE去支持?!)
    一個標準型的MCU的單一產品...一個月能100K~200K...您就是祖上積德了。
    連那種大家都還可以簡單DIY上手的8051 也是如此啊!
    (套一句市場名言...當有這種量時...人家不會去開IC喔...現在開IC就像找7-11一般方便!
    ...還玩標準型的MCU?!因為台灣與大陸玩的產品就是那種台幣幾塊錢的東西啦...)
    您捏指頭算一下...您公司養個10 ~20 個工程師....少說也要200萬/月開銷...
    您要賣幾顆幾塊錢的MCU才能付薪水啊?!....
    所以啦...還能玩標準型MCU的...大概就剩那幾家老字號了...後來聽到的...
    要嘛就擺明抄人家的一兩顆"暢銷機種"...就小貓兩三隻的公司在玩。
    否則啊...兩三億資本額的公司把錢燒一燒,玩過過癮的公司還不少啊!
    您說的沒錯...幹嘛跟肚子過不去啊...能拿來玩玩,寫寫系統程式的。
    無非就那麼幾家國際知名的標準型MCU---搞機器人...做工控系統...還都沒那麼多量呢。
    還幹嘛還那麼辛苦的東湊一棵MCU...西湊一棵...搞系統太辛苦了吧。
    一棵32bit ARM就把他打死了...還可以塞boot Code ...寫OS...Call 一下C語言程式碼...
    馬上移植到不同平台...繼續玩系統....一路升級下來...花樣就多了。
    要慢慢熬組語的...就看您是不是能比大陸人能熬啊?!...(人家也不想熬了啊!)
     

    回覆刪除
  2. 看到這篇很感慨, 小的從學生時期開始玩單晶片, 大概五六年的時間, 兩年前開始接觸 ARM 32 bit, 第一塊板子是 arm920t (samsung s3c2440). 目前遇到的幾乎都還在玩 51 為主的系列, 我一直推 arm 32-bit 為主, 可是還是被打槍.

    只能很感慨, 只好自己慢慢摸這個 cpu, 希望有一天可以用到.

    回覆刪除
  3. 看到你的文章,真是讓我深深的沈思一下!
    是這樣的!你也知道我常常來光顧你的網站,我再一家IC 公司剛剛起步的啦!當然囉!被我罵慘囉!幸好有版主一直勸我要耐住性子好好學習!把公司當作補習班!我去公司一年囉!至今Ic 還沒出來外,還在弄 nand flash control (天阿!)  我勒!大部分得時間就是在做自己的事!因為公司ic 都沒出來我只好這樣阿!我買了2410 和44b0 來porting 不同的 os 上去。  我主要就是把linux 和結合 u-boot 學好。加上 我也把 µC/OS-II  放到這兩各版子去跑,去了解到怎樣porting 不同的版子,當然囉!還有ecos 和 freertos 等 os 囉!我的目的很簡單。就是萬一公司倒囉!我也自學到很多東西阿! :))

    我們公司是用threadx 囉那我就多多學習阿!也把公司這一套好好學囉!但是勒!最近來了一位厲害的,他跟我說8051是一切soc 的根本。要我先去弄這個,例如自己拿8051去弄i2c 模擬阿!去模擬nand flash control 阿!等等,本來我是不信邪,我覺得他瞧不起人。 X(

    因為說真的,要是公司倒囉!(我看也快囉,資本額只有3千萬!因為裡面兩個股東已經有心結在囉!加上我已經來一年,周邊的ip 只有sdram 好,nand flash 至今還是有問題,cpu 決定囉!,但是... 加上usb 要用2.0人家買現成的都要認證一年喔!我們還不想買ㄟ!唉!)我也找其他的工作阿!是不是阿!像我們那位厲害的要我用 8051 gpio 去模擬nand flash control 說真的,我真的會覺得那是小兒科喔! 因為我一切所顧慮到的就是,萬一公司倒囉!我真的會porting 不同的os 阿!因為porting os 牽涉到很多計算機的基本概論。這才是重點,如果我真的只會一個小小的gpio的話,那我在這裡做的好,公司倒囉!我去下一家公司面試時,我如果只是說我只會寫一些驗ip 的測試程式!那我可就.... :O)

    所以我心裡一直排拒這一件事,要我去弄8051不是我不弄,我我會去買一個版子,從無到有弄一次沒錯,但是我當務之急,我就是加緊版我soc 的porting 學的經一點。
    你可能會說我不練基本功.... [-(

    但是我既然來這家公司走一遭囉!即使看走眼,我總也要好好鍛鍊一下自己,練一下武功,因為我不知道如果明年我們的ic 還是出不來,資金也用完了,但是我只會8051的話,那我不知道我使否我會有更好的工作機會嗎?
    因為我一邊注意其他加公司,都是要會soc 的東西阿!版主!我這樣會很偏激嗎?
     
     
     
     
     
     
     
     
     
     
     
     
     

    回覆刪除
  4. 賈老師的真老公2008年9月10日 凌晨1:36

    看到您的回應內容更是百感交集啊...不知道三千萬是實收資本額?!還是登記三千萬?!...
    倒也不能難為厲害的8051主管...沒有IC...當然就叫您拿8051練練功啊...
    只是拿8051 的I/O來模擬 NAND Flash 讀寫...是有點辛苦...
    不知他的目的是要您熟悉8051呢?!...還是NAND Flash的讀寫介面呢?!...
    8051當然是國內 SOC 的主角啊...至少他的開發平台是最普遍的...
    只是大家都是一樣的時候....那產品在比較晚的推出時程下...產品的競爭力在哪?!
    這是比較值得思考的問題。
    如果,要在您們之間要取得平衡點的話...我倒是比較建議...您可以拿8051寫個
    FAT 32的 DOS File System....這一點又可以算是OS...又也是熟悉8051的機會。
    ---不知厲害的8051主管看法如何?!...他會不會接受呢?!...
    ------
    至於...您會不會學到基本功?!...不會啊...以我看您的說法與看法時...
    應該是難不到您的,只要有IC到您手上,這個問題的答案自然就有了。
    只是除了基本功之外...您還會不會從這些過程學到更多的東西...
    或是您們公司會不會可以帶給您更多的學習成長機會,這應該是比較重要的吧。
    (如果,以您們公司三千萬...搞了一年...還東缺一個IP...還西缺一個沒有驗證的IP的話!
    對您來說:還真的時間上是有點緊迫了!...您們大家要更加油了。不要有心結喔!)
    ---
    最後,還是老話一句:有SOC的能力,不知有沒有SOC 的觀念?!...
    包括產品、市場行銷等等非工程因素啊...
    ---
    想法偏激?!...不會啊...這是您們年輕學習的最佳動力來源啊...我還覺得很正常啊。
    只是您更應該去稍微體會一下這個產業或行業了...
    是不是還是您當初所設定的那種樣子啊?!...就可回答您未來工作的想法了!
    好好加油。
     

    回覆刪除
  5. 閣下對 USB 的技術很熟。
     
    @};-
     
    在下不只寫組合語言,
    還自己設計 uP, Assembler, Loader, ...
    全部自己搞 I-)

     
    @};-
     
    在下最近開了一家 IC 設計公司,
    產品中有 USB  Host 和 Device 功能,還有 uP,
    所有 IP 都是自製的(包括自製的 uP 的 Assembler, Loader, ...  gate count 是 8051 的 1/4 )。
     
    本公司的鎖定產品目前市場是藍海,
    沒有人在做,
    閣下若有興趣的話,
    可以聊聊有無合作機會。
     
    @};-
     
    在下也算是 uP 的專家吧 :-?

    設計過 8051,
    聽說目前一年出貨 4000 萬顆左右 (前公司),
    全世界應該有數以億計的人正在使用我設計的 IC。
     
    基本上在下覺得,
    小 uP + 硬體加速器,在紅海市場會比較有競爭力,
    因為晶片用硬體設計會比大 uP 來實作系統小。
    所以 32 或 16 bits uP 在新產品初期有其加快系統時效性,
    但若有人用 8 bits uP + 硬體加速的方式達到一樣的效果,
    那麼以 32或16 bits做的產品就會被取而代之。
     
    這也就是8 bits 的 uP 市場一直在成長,
    雖然 32與16 bits uP 也以更高的速度成長,
    但那是代表新的應用出現,並非取 8 bits 的市場。
     
    這也就是為何台灣和大陸大多是 8 bits uP,
    因為台灣和大陸都是做別人的 me 2 產品,
    成本是最重要的考量,
    以時間和大量的工程師勞力換取利潤是 me 2 產品的一種習慣策略,
    這比大家都沒飯吃好 ( 至少還有紅海水, 不是沙漠),
    我想這是身為老闆們不得不的做法。
     
    32 位元 uP 要拿來做什麼 ?
    在下想得到的只有和影像有關的產品,或是追求聲光效果的產品。
    如果只是聲音都不太須要用到 32 bits CPU。
    即使是影像處理,
    如果只是單純的播放,
    都很容易用硬體加速器,
    以 8 bits uP 來實作系統。
     
    以上是做 IC 設計硬體的人的觀點。
     
    @};-
     
    其實 8, 16, 32, ... bits 並沒有所謂的主流,
    一切都是「成本」的考量,
    不過一般工程師對「成本」這個關念通常要有一段長時間才有感覺,
    甚至有些工程師從頭到尾都不知道「成本」這件事,
    而這也是估算工程師的價值和程度一個重要考量,
    以及一位工程師是否能在職業生涯中更上一層樓的地方。
     
    @};-
     
    加油囉
     
    @};-

    回覆刪除
  6. 不曉的!妳是對版主比較有興趣!還是連我妳也有興趣!

    回覆刪除
    回覆
    1. 哈~哈~...不是說還要撐一陣子嗎?!
      怎麼?!...已經心猿意動?!...先把目前工作先搞定吧! B-)

      ---至於版主呢?!...目前還待價而沽吧!
      好好加油吧!
       

      刪除
  7. 唉!版主!
    講時再話!要不是你一再鼓勵,我真的快稱撐不下去ㄟ!感謝你喔!我開開玩笑啦!
    小弟最近可忙得很,颱風假都在家裡做事練功喔!
    我最近拿 atmel ZYSAM7SE  的版子,我建立起在 Eclips 上環境的去單步trace ,因為以前只要用 arm toolchain 都是要下command line去compiler ,現在Eclipse 都整合進去囉!
    我先在non os 環境把一些基本功能做好,打算porting freertos 上去。(在Eclipse環境),並且再加上 yaffs2 file system 。
    這些工程浩大阿!我在玩東完西,有一位硬體的也很有興趣,他說希望我可以教他這些,他想把 CCD 和moto driver 掛在這上面!
    我會好好努力的!謝謝版主的鼓勵阿!
     

    回覆刪除
  8. 報告版主阿!
    請問一下,我真的想在8051 上做一個 FAT 32的 DOS File System,我有拿到 open source 的 yaffs2的一包codes。還在看裡面的文件,不知道版主有沒有一些建議和參考,或是有那個 open source 的可以參考阿!我現在沒有頭緒阿!
    謝謝版主
     

    回覆刪除
    回覆
    1. 其實,一般要學一種比較專業一點的技術的話,
      一般還是以工作上需求目標的學習是比較有效率的。
      在8051 上Porting 一個DOS file system,他本來就不是一個簡單任務。
      更何況還要牽涉額外的相容性問題:諸如:要不要支持長檔名啊?!....
      尤其是 FAT32...以版主的經驗:除非真的在工作上的需要,
      否則,擔心比較沒有既定的設定目標,會容易讓您半途而廢啊。
      倒不如,還多花點時間去研究一下產業趨勢,

      做得好,倒不如做得恰到時機。這是要搞科技業的名言啊!
      ----一旦時機不對...怎麼努力都很容易付之江水的!
      小小意見。

      刪除
  9. 版主阿!你說的都對
    我也知道這一點, 不過我也完出一些興趣囉! 因為公司在開發時 , 找囉一位利害的領的薪水高的再做這些事情, 我勒就是在這裡好好練工阿! 因為那位老兄領的薪水多!壓力自然多, 所以他只顧自己的作, 老闆要他帶我們也要他的表現, 我只好在另一各platform 把那一套移植過來, 我想在這整各練工的過程也對這些正個架構了解. 他依個人只顧著往前跑阿!
    加上這裡面每一個人都很願意分享, 所以我才會在公司作公司交代的是(不見的都是我想做的想學的), 我只好自己去架一個platform 把這一套想辦法移植囉!  如果我不這樣做那不就是白白浪費這些學習的機會囉!
    我老打比方, 很多外省人來台灣都40~50年囉!但是很多人都不會講台語, 他們在台灣ㄟ!
    有這個環境阿!但是就是不肯學! 你說我的想法如何, 我會架上做這些額外的事玩全就是把正個系統趁這個時候跑一遍囉!
    你說呢 ? 萬一我到另依各環境, 換我要做這些事的時候, 那部就已經準備好囉!

    回覆刪除