今天去了趟學校,正好遇到一個師兄,看他正在調一個FPAG的板子,我就好奇了下,他在工作單位就是做FPAG項目的,很牛的,嘿嘿
ASK: 你在FPGA上用什麼語言編程?
ANS: verilog
ASK: 那verilog編程語言是什麼樣的呢?跟C語言相似嗎?
ANS: 你過來看下我的過程文件,所以我就跑過去了
哦,還真的挺相似,首先編譯環境就很相似,然後粗看了下,裏面有存在函數,函數聲明。其實不能講函數,應該說模塊。
每個模塊同樣有輸入參數,應該是面向對象的編程了,裏面也存在if else 等語句
ASK: 你現在這塊板子做的是什麼?
ANS: 一個轉接板,相當於把前端的傳感器數據通過這塊板輸入到上位機,自己做了個數據包傳送的格式。
ASK: 那你這裏面有哪些模塊呢?
ANS: 串口,AD轉換,時鐘發生器PLL,led顯示,按鍵驅動
ASK: 那你怎麼實現這些模塊的呀?是不是FPGA上也像單片機集成了這些基本的模塊,比如UART
ANS: 不是的,FPAG就像一張白紙,上面沒有這些模塊,UART是我自己寫出來的,不僅串口,AD模塊也是我自己寫出來的
ASK: AD模塊你怎麼寫?我知道單片機上對於AD的控制都是基於寄存器操作的
ANS: 這就是FPGA的特點之一,你可以自己實現AD模塊,相當於自己創造AD的一些寄存器,當然可以簡單也可以複雜,類似於有的MCU上
集成的AD模塊,通過FPGA可以做出AD的操控功能
ASK: 你這個片子什麼來頭?
ANS: actel公司的,我板子上的這個片子就要120幾塊錢
ASK: 這個FPGA成本真高的,一般用在什麼領域呢
ANS: 基站類設備啊,軍用設備啊,工業級的設備等等
ASK: 那FPGA和單片機比到底有什麼優勢呢?
ANS:靈活啊,可以並行處理;舉個列子吧,市面上的8位 ,16位,32位 MCU,還有DSP,還有ARM等等使用FPGA都可以模擬出來,相當於
你使用FPGA自己做了個IC。再舉個簡單的例子,你的項目需要很多串口,比如要30路,市面上可沒有專門的這種多路UART的IC提供,而使 用FPGA就可以自己靈活的創造串口。(說道這,我流口水了)
ASK:這麼強悍啊,那不是可以自己做IC賣了?
ANS: 可以這麼說,很多IC公司都是在FPGA上設計模擬芯片的,在確定好後就可以封裝成專門的IC芯片出售
很多IC設計公司都招FPGA人才的?(我又感慨,高端技術啊)
後記:真是不問不知道,一問吃驚不小。
有那個時間精力,我一定搞個FPGA開發板玩玩