FPGA與單片機的區(qū)別 首先,FPGA是純硬件,現(xiàn)在我所寫的‘程序’也就不能稱之為程序,如果非要給它起一個名字,我感覺‘代碼’也許是比較恰當?shù)模黄浯?,單片機和FPGA實現(xiàn)信息處理發(fā)出控制信號的方式不同,單片機和嵌入式是通過主函數(shù)或者操作系統(tǒng)實現(xiàn)任務(wù)調(diào)度的途徑來響應(yīng)各種外部條件觸發(fā),并通過‘軟件’輸出相應(yīng)的狀態(tài)來實現(xiàn)電子系統(tǒng)的正常工作,然而FPGA是通過純硬件來實現(xiàn)各種激勵的相應(yīng)的,與單片機實現(xiàn)控制的根本方法不同。最后,單片機和嵌入式的軟件設(shè)計會有盲點,再快的軟件相應(yīng)在現(xiàn)實應(yīng)用中也會有出現(xiàn)盲點的時候,簡單的說就是系統(tǒng)不能及時響應(yīng)或者漏掉某些激勵的現(xiàn)象,然而硬件不會,它以強大的并行方式來響應(yīng)所有的信號激勵,但硬件也不是萬能的,FPGA這類的純硬件最大的克星就是亞穩(wěn)態(tài)以及競爭冒險等等,通俗的講就是輸出及其短暫的不穩(wěn)定現(xiàn)象,雖然不穩(wěn)定狀態(tài)出現(xiàn)的時間及其短,甚至到了皮秒級別(1秒等于10的十二次方皮秒)但也就是這么短暫的不穩(wěn)定也可能會給設(shè)計帶來致命的危險。這是有硬件的特性決定的,是在設(shè)計中永遠無法避免的,對于冒險和亞穩(wěn)態(tài),我們只能想盡一切辦法去解決他們。 |
|