既然是開篇,那就來閑話叨一叨FPGA吧。 掰掰指頭,結識FPGA估計有5年多。作為嵌入式工程師,每天的日常充斥著ARM、DSP、操作系統、通訊、匯流排等耳熟能詳的辭彙,日日徜徉其中,而這當中,最特立獨行的就是FPGA。FPGA沒有形狀,但又可以捏出任何形狀,相對於MCU/CPU開發來說,FPGA至少意 ...
既然是開篇,那就來閑話叨一叨FPGA吧。
掰掰指頭,結識FPGA估計有5年多。作為嵌入式工程師,每天的日常充斥著ARM、DSP、操作系統、通訊、匯流排等耳熟能詳的辭彙,日日徜徉其中,而這當中,最特立獨行的就是FPGA。FPGA沒有形狀,但又可以捏出任何形狀,相對於MCU/CPU開發來說,FPGA至少意味著一個詞:自由。
FPGA就像一張紙,你可以畫上任何你想要的形狀,而MCU/CPU下的軟體開發則要遵從固定的架構約定來按章辦事。這是FPGA的魅力所在,但有時自由度太大也是個問題:容易失去方向。不知道有多少人和我一樣,接觸一段時間FPGA之後漸漸有些迷失:我到底要做什麼才能變成高手?
如果是ARM開發,你可以很清晰看到一個小白慢慢打怪升級變成武林高手的路線:熟悉ARM體系架構,練習裸機編程熟記外設操作,進而進軍操作系統,鑽研Linux、RTOS,各種進程調度、信號量、互斥鎖信手拈來,再而鑽研內核、驅動、文件系統、數據結構、網路通信等等,照此路線操練不輟,假以時日,不成高手也會有小成,就像練習武術秘籍,滿滿都是套路。但是FPGA呢?這是張白紙,我搞清了有哪些顏料可以使用(晶元資源),掌握了畫筆的使用方法(開發工具及語言),也習得一些繪畫方法,作些普通畫作不成問題,但為何總是覺得沒有實感,望不到成為高手之路?
其實,FPGA雖然沒有固定套路,但不代表沒有套路,也如繪畫一樣,雖然你可以隨意落筆自已揮灑,但往往也脫不開不同的畫派風格。如果想提升技藝,如果是自己閉門練習,到一定階段之後只是低級重覆,而有一個方法可以無限逼近大師,那就是臨摹。
閑話就說到這,下一篇,咱們再來說說FPGA的應用領域、方向,以及繪製一本FPGA進階的武術套路吧!