(本文轉載自:FPGA2嵌入式;在此特別鳴謝!)
很多人對FPGA理解還停留在CPLD階段,認為FPGA只是用來做一些邏輯接口或算法而已,那就大錯特錯了,如果你一直做FPGA的邏輯而又不是很精通,又或者做其它嵌入式(如單片機、ARM)開發可以看下這篇文章,或許對你有所幫助。
1. 如果你是學習數字電路后,直接入行FPGA的話
你比較容易吃透FPGA的并行編程思想,比較容易入門FPGA的邏輯編程,然后在邏輯編程中越走越遠,最后成為邏輯大牛,這樣的人大有人在,但是也有很多 人成不了大牛,然后就去學習ZYNQ,其實不太建議直接去學習ZYNQ,因為 ZYNQ的門檻比較高,需要的基礎知識比較多,而此時你只是邏輯并行編程厲害,串行世界處理器的C編程你或許是個小白,更不說操作系統的編程應用。
此時,建議你去學習下單片機C編程,學習單片機原理,吃透微處理器原理,然后在FPGA中使用NIOS等軟核進行編程及應用。在這里,有很多人是按照教程使用軟核的,導致最直接的后果就是微處理原理沒吃透,學起來很累也很死板。如果你學的比較深的話,你會發現所有的微處理器基本都是基于SOC架構相連的,簡單說就是通過總線互聯FPGA的軟核、外設及自己編寫的邏輯。
當你把邏輯、微處理器、操作系統都理解了,還會點高級語言編程的話(建議學下QT、Python),你就可以自由組合這些資源來開發自己的項目:可以通過FPGA來開發項目,規劃好彼此的分工協作(使用FPGA的軟核或者硬核處理器搭建處理器平臺);也可以集FPGA和單片機或ARM來開發項目。
當然,你也可以走另外一條路:做IC開發,IC開發還是比較難,但是由FPGA轉入IC開發還是比較輕松的,也是為中國“芯”貢獻力量。
2.如果你是從事單片機/ARM開發的話
你一般就業面很廣,但時時刻刻會聽到或接觸FPGA,這很正常,因為FPGA這些年一年比一年好,很有可能以后都是用C來開發FPGA。并且你會發現FPGA待遇高的一逼,你有點慌了,想要學習FPGA,此時問題來了:單片機/ARM的開發一直是串行思維,你發現你根本很難入門FPGA,更談不上靈活使用,看看Verlog和C沒倆樣,但為什么就是用起來這么難用,你可能就這樣放棄學FPGA,在單片機/ARM上越走越遠,最后可能做了項目經理,但每次項目要用到FPGA時總感覺差點什么,而且所做的項目檔次也沒有FPGA高,是不是?
其實,這是很正常,雖然你很擅長串行思維思考你的架構,但缺少并行思維的你離高端就是差很多。要從單片機/ARM轉入FPGA開發,你需要擺脫以前學的東西,不用單片機、ARM的思維來學習FPGA,這是第一步,這有這步做好了后后面才有可能,然后就是拿起數電,從頭開始學習FPGA的邏輯,切記:此時一定不能用以前的經驗來學,要摸索并行的思維方式來學。
當你邁過最艱難的FPGA邏輯學習后,基本成功一大半,此時學習下SOC總線,結合以前學習的單片機.ARM。你就會變的越來越厲害,對嵌入式和系統理解收獲更多,以后從事人工智能或者大數據就很容易。如果你對IC感興趣,入行IC也行,但是不太建議,因為此時的你強項仍然是串行嵌入式思維方式。
3. 本文為什么以FPGA來說嵌入式的出路
因為,做嵌入式的最終做好的最終出路肯定是做項目研發的系統架構開發,那些螺絲釘的開發人員遍地都是,而能做系統的人很少,做系統的最大境界就是會靈活使用多種思維方式來思考項目、產品和開發。FPGA正是一個很好把各種思維方式結合的嵌入式工具:
FPGA的邏輯:并行加速思維方式;
FPGA的軟核或硬核處理器:串行思維方式;
FPGA:軟硬件協調合作思維方式,類似項目開發初期取舍優化。
本文轉載自:FPGA2嵌入式
-
FPGA
+關注
關注
1626文章
21678瀏覽量
602035 -
單片機
+關注
關注
6032文章
44525瀏覽量
633261 -
嵌入式
+關注
關注
5072文章
19026瀏覽量
303518
原文標題:嵌入式出路
文章出處:【微信號:fpga234,微信公眾號:fpga234】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論