在電子這一行搞了多年了,主要做USB控制器的FPGA實現(xiàn)電路和PCI控制器的FPGA實現(xiàn)電路。
一日朋友的朋友問,能否給他設(shè)計一個USB音箱的方案?我只好答曰:USB通訊部分沒問題,可以Audio部分我不懂啊。
再一日,另一朋友的朋友問,能否給他們設(shè)計一個PCI的高速數(shù)據(jù)采集卡?我只好答曰:PCI控制器部分沒問題,就是高速模擬信號采集部分我不懂啊。
這些年來,雖然可以很自豪地說自己對USB、PCI接口的實現(xiàn)已經(jīng)達到非常深入的地步了,MCU中對Z80、51也很熟悉了,對FPGA也熟悉了,對多種處理器的系統(tǒng)架構(gòu)、總線組織、DMA控制器等也很熟悉了,對SPI/IIC/UART/EPP/IRDA/CAN等常見的功能模塊也早已熟悉了。但是我現(xiàn)在忽然覺得很沮喪:熟悉這麼些有什么用呢?它們都只不過是實現(xiàn)產(chǎn)品的某些工具罷了。好比一個高超的鐵匠可以打造出削鐵如泥的兵器,但是到了兩軍陣前他卻會被打的丟盔卸甲。當我對USB、PCI的設(shè)計在更精更專的時候,我卻發(fā)現(xiàn)自己離開發(fā)產(chǎn)品卻越來越遠了。郁悶啊。
chunyang 發(fā)表于 2005-6-10 11:19 人才聘任 ←返回版面  |
搞技術(shù)側(cè)重點不同 |
在大公司講究“精”,哪怕其它的都白癡,只要精通一點點就有價值。在中小公司或經(jīng)常跳槽的話,那就得“通”了,中小公司既無必要也無能力在某一特定技術(shù)領(lǐng)域長期浸淫,“船小好掉頭”,所以“通”就成了必要的素質(zhì)。所以“精”和“通”不好也不能直接比較,互相看不起或“這山望著那山高”都是不對的?!熬迸c“通”兼?zhèn)洚斎蛔詈茫翘觳诺脑捴荒芸块L期積累,一般沒有個至少20年以上的功力,恐怕還不敢這么說。 對于年輕人而言,選擇“精”還是“通”,主要看自己的職業(yè)傾向,但無論選哪一條路,一旦無以為進的時候,就是到了要考慮一下以后的“出路”的時候了。 | |
gdtyy 發(fā)表于 2005-6-10 17:32 人才聘任 ←返回版面  |
同感 |
做硬件就要做最終產(chǎn)品,不然會很郁悶。 FPGA的設(shè)計難點在于要了解各種規(guī)范和協(xié)議,至于HDL語言,只要寫好幾個模板,以后加加減減就可以了,說白了就是自己抄自己。數(shù)字邏輯的設(shè)計思想也很簡單---狀態(tài)機+同步時序+三態(tài)。這樣看來,設(shè)計FPGA只不過是在物理上實現(xiàn)硬件規(guī)范和協(xié)議。一些人制定了硬件游戲規(guī)則---狀態(tài)機,我們遵照實現(xiàn),如果調(diào)試出錯,說明要么我們沒有遵守游戲規(guī)則,增加了未知狀態(tài),要么就是走錯了狀態(tài),否則就不會出錯,僅此而已。 目前硬件的發(fā)展趨勢是逐漸向通用CPU靠攏,高度集成。一般,開始時用FPGA設(shè)計專有電路,然后推出專用ASIC,通用ASIC,專用CPU,最后集成到通用CPU。例如:現(xiàn)在的通用CPU已經(jīng)集成了USB、LCD、MAC、PCI、E1/HDLC等控制器。雖然你用FPGA設(shè)計過PCI橋片,但我想很多人還是會選擇專用芯片(9054/5933等)。因為軟核只有一個靈活的優(yōu)點,在速度和成本上比不過硬核,更不用說有些CPU已經(jīng)集成了控制器。你做的PCI和USB控制器現(xiàn)在看來已沒有商業(yè)價值。另外,隨著多核CPU的出現(xiàn),有些硬件設(shè)備恐怕要改成軟件實現(xiàn)了。 不過,不必灰心,硬件還是相當重要的。為什么軟交換做不好?為什么防火墻慢?全都是不重視硬件造成的。只知道買別人的硬件設(shè)備,不重視自己開發(fā),只關(guān)注軟件,不重視硬件,以為硬件就是抄板和畫PCB,以為軟件就要人多,硬件就要人少,豈知軟件再怎么優(yōu)化,硬件不行一樣白搭(軟交換的關(guān)鍵在硬件)。目前,硬件工程師的職責(zé)就是為軟件人員提供一個“大馬拉小車”的環(huán)境,讓他們未經(jīng)優(yōu)化的代碼能很順暢地跑起來。 硬件如此重要,未來還是有前景的。你的最大價值不在于你會FPGA,而是你對PCI和USB規(guī)范細節(jié)理解深刻,真真讓人羨慕啊。不過FPGA畢竟離最終產(chǎn)品遠了一些,而且估計你的FPGA大概也拼不過老外做的ASIC,說到底,那些協(xié)議規(guī)范都是老外定的,你不具備核心價值,一旦游戲規(guī)則換代,你以前做的就都沒用了。其實FPGA也沒有什么可留戀的,看似學(xué)不完的知識,說穿了本質(zhì)就是一個狀態(tài)機---別人制定的游戲規(guī)則罷了。 有設(shè)計FPGA的背景,改畫原理圖吧,一樣是硬件設(shè)計,不用那么累,而且離最終產(chǎn)品近,你就不會郁悶了。
---------------- |硬件系統(tǒng)架構(gòu)師| ---------------------- | 硬件原理圖設(shè)計師 | ---------------------------- | 模擬/數(shù)字IC設(shè)計師 | ---------------------------- ---------------------------------------------------- ---------------------------------- | FPGA/DSP算法工程師 | ---------------------------------------- | 單片機工程師 | ---------------------------------------------- | PCB繪制、抄板、反向 | ----------------------------------------------
·--- 成本最低廉的FPGA解決方案
| |