芯片設(shè)計(jì)前端的流程很長(zhǎng),和芯片前端相關(guān)的語言也很多,比如Verilog、VHDL、SystemVerilog、SystemC、Matlab、C/C++等等,但沒有一個(gè)語言能夠做到適合于整個(gè)前端流程;每種語言都有適合使用的領(lǐng)域,只有在整個(gè)前端流程的不同節(jié)點(diǎn)上選擇最合適的語言工具,并加以整合,才能加速產(chǎn)品開發(fā)。
程序語言有個(gè)規(guī)律:越是容易掌握和使用的語言,應(yīng)用面就越是狹窄,程序體積就越大,運(yùn)行速度就越低;通用性也越差;反則反之。
芯片編程的程序空間都很有限,I/O接口復(fù)雜多樣……,總是希望體積最小,速度最快,因此只能以匯編為主,因?yàn)橹挥袇R編才能實(shí)現(xiàn)最小的(程序)體積、最快的(運(yùn)行)速度和最靈活的I/O接口,是一切編程語言的基礎(chǔ)和根本。
如果不考慮缺點(diǎn)的話,顯然是一種最理想的語言。
缺點(diǎn)是編程難度最大,編程效率最低,開發(fā)時(shí)間最慢,開發(fā)成本最高;而且不同的芯片,其匯編語言也有不同。
同匯編相比,C語言相對(duì)易學(xué),編程和開發(fā)效率明顯占優(yōu),普及面很廣。
生成的程序體積和速度雖然不如匯編,但比其它高級(jí)語言都要好,在很多情況下可以接受,特別在芯片成本逐年下降的今天,也越來越多地用于芯片程序的圖形界面開發(fā)。