1.CPLD出的早,是基於乘積公式的。
FPGA出來的比較晚,是基於查找表的。
也就是說,內部結構不同
2.每個輸入的產品配方都經過精心計算。
查找表是壹種根據輸入找到相應結果的懶惰方式。
查找表對應的結果在哪裏?
通過EDA軟件進行計算,最後將結果配置到FPGA中。
可以理解為FPGA是壹個RAM。
3.既然是RAM,FPGA就需要配芯片(比如Flash),而CPLD不需要。
4.4的數字。FPGA的門電路通常比CPLD多。
5.5的內部延遲。CPLD是固定的,而FPGA的內部延遲是不固定的(在幾ns之間變化)。
6.如果用來實現組合邏輯,用CPLD
用於實現時序邏輯,多用途FPGA。
當然也可以用FPGA,但兩者各有優勢(價格、功耗等。)
總之兩者都有各自的優勢和適用場合。雖然硬件結構不同,但是對於程序員來說,開發語言可以是壹樣的。我們來談談開發語言:
關於VHDL和verilog:
1的組合效果。VHDL和verilog不太壹樣,但是對於普通用戶來說沒什麽不同。
2.verilog的語法比較靈活(有點像C語言),適合設計小規模的系統。
3.VHDL語法比較嚴格,適合比較和設計大型系統。
4.在國內,歐美廣泛使用verilog,日本據說廣泛使用VHDL。
我推薦學習verilog,比VHDL語法更靈活,更易用。