從開始學單晶片至今,已經超過十五個年頭了...(哇...不小心就透露了自己的年紀了!)
這十幾年來剛好也歷經了台灣半導體產業的盛世時期,也實際參與了許多包涵單晶片的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 喔...
還要我來寫"匯編"程式(組合語言)喔?!...您公司會不會倒啊?!...我也沒興趣搞這些呢..."
---下回要找大陸工程師寫組語...真的得去大西北找了啦!...
如果,您也是在寫單晶片程式的...不知道您的看法與想法呢?!...
歡迎也提出分享!...謝謝!
我想您看這些國際大公司的產品作法是比較正統的。
回覆刪除人家要作的是高附加價值的東西,所以自然他們產品想法是有一定的法則的。
但我們台灣呢?!...因為是作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語言程式碼...
馬上移植到不同平台...繼續玩系統....一路升級下來...花樣就多了。
要慢慢熬組語的...就看您是不是能比大陸人能熬啊?!...(人家也不想熬了啊!)
看到這篇很感慨, 小的從學生時期開始玩單晶片, 大概五六年的時間, 兩年前開始接觸 ARM 32 bit, 第一塊板子是 arm920t (samsung s3c2440). 目前遇到的幾乎都還在玩 51 為主的系列, 我一直推 arm 32-bit 為主, 可是還是被打槍.
回覆刪除只能很感慨, 只好自己慢慢摸這個 cpu, 希望有一天可以用到.
看到你的文章,真是讓我深深的沈思一下!
回覆刪除是這樣的!你也知道我常常來光顧你的網站,我再一家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 的東西阿!版主!我這樣會很偏激嗎?
看到您的回應內容更是百感交集啊...不知道三千萬是實收資本額?!還是登記三千萬?!...
回覆刪除倒也不能難為厲害的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 的觀念?!...
包括產品、市場行銷等等非工程因素啊...
---
想法偏激?!...不會啊...這是您們年輕學習的最佳動力來源啊...我還覺得很正常啊。
只是您更應該去稍微體會一下這個產業或行業了...
是不是還是您當初所設定的那種樣子啊?!...就可回答您未來工作的想法了!
好好加油。
閣下對 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 並沒有所謂的主流,
一切都是「成本」的考量,
不過一般工程師對「成本」這個關念通常要有一段長時間才有感覺,
甚至有些工程師從頭到尾都不知道「成本」這件事,
而這也是估算工程師的價值和程度一個重要考量,
以及一位工程師是否能在職業生涯中更上一層樓的地方。
@};-
加油囉
@};-
不曉的!妳是對版主比較有興趣!還是連我妳也有興趣!
回覆刪除哈~哈~...不是說還要撐一陣子嗎?!
刪除怎麼?!...已經心猿意動?!...先把目前工作先搞定吧! B-)
---至於版主呢?!...目前還待價而沽吧!
好好加油吧!
唉!版主!
回覆刪除講時再話!要不是你一再鼓勵,我真的快稱撐不下去ㄟ!感謝你喔!我開開玩笑啦!
小弟最近可忙得很,颱風假都在家裡做事練功喔!
我最近拿 atmel ZYSAM7SE 的版子,我建立起在 Eclips 上環境的去單步trace ,因為以前只要用 arm toolchain 都是要下command line去compiler ,現在Eclipse 都整合進去囉!
我先在non os 環境把一些基本功能做好,打算porting freertos 上去。(在Eclipse環境),並且再加上 yaffs2 file system 。
這些工程浩大阿!我在玩東完西,有一位硬體的也很有興趣,他說希望我可以教他這些,他想把 CCD 和moto driver 掛在這上面!
我會好好努力的!謝謝版主的鼓勵阿!
報告版主阿!
回覆刪除請問一下,我真的想在8051 上做一個 FAT 32的 DOS File System,我有拿到 open source 的 yaffs2的一包codes。還在看裡面的文件,不知道版主有沒有一些建議和參考,或是有那個 open source 的可以參考阿!我現在沒有頭緒阿!
謝謝版主
其實,一般要學一種比較專業一點的技術的話,
刪除一般還是以工作上需求目標的學習是比較有效率的。
在8051 上Porting 一個DOS file system,他本來就不是一個簡單任務。
更何況還要牽涉額外的相容性問題:諸如:要不要支持長檔名啊?!....
尤其是 FAT32...以版主的經驗:除非真的在工作上的需要,
否則,擔心比較沒有既定的設定目標,會容易讓您半途而廢啊。
倒不如,還多花點時間去研究一下產業趨勢,
做得好,倒不如做得恰到時機。這是要搞科技業的名言啊!
----一旦時機不對...怎麼努力都很容易付之江水的!
小小意見。
版主阿!你說的都對
回覆刪除我也知道這一點, 不過我也完出一些興趣囉! 因為公司在開發時 , 找囉一位利害的領的薪水高的再做這些事情, 我勒就是在這裡好好練工阿! 因為那位老兄領的薪水多!壓力自然多, 所以他只顧自己的作, 老闆要他帶我們也要他的表現, 我只好在另一各platform 把那一套移植過來, 我想在這整各練工的過程也對這些正個架構了解. 他依個人只顧著往前跑阿!
加上這裡面每一個人都很願意分享, 所以我才會在公司作公司交代的是(不見的都是我想做的想學的), 我只好自己去架一個platform 把這一套想辦法移植囉! 如果我不這樣做那不就是白白浪費這些學習的機會囉!
我老打比方, 很多外省人來台灣都40~50年囉!但是很多人都不會講台語, 他們在台灣ㄟ!
有這個環境阿!但是就是不肯學! 你說我的想法如何, 我會架上做這些額外的事玩全就是把正個系統趁這個時候跑一遍囉!
你說呢 ? 萬一我到另依各環境, 換我要做這些事的時候, 那部就已經準備好囉!