FPGA为(wèi)什麼(me)是(shì)可(kě)以(yǐ)編程的(de)?
恐怕很多(duō)初学者(zhě)不(bù)知道(dào),他(tā)们(men)也(yě)不(bù)想(xiǎng)知道(dào)。
因(yīn)为(wèi)他(tā)们(men)覺得这(zhè)是(shì)无關(guān)緊要(yào)的(de)。他(tā)们(men)潛意(yì)識的(de)認为(wèi)可(kě)編程嘛,肯定(dìng)就(jiù)是(shì)像写软(ruǎn)件(jiàn)一(yī)樣(yàng)啦。
软(ruǎn)件(jiàn)編程的(de)思(sī)想(xiǎng)根(gēn)深蒂固,看(kàn)到(dào)Verilog或(huò)者(zhě)VHDL就(jiù)像看(kàn)到(dào)C語(yǔ)言或(huò)者(zhě)其它(tā)软(ruǎn)件(jiàn)編程語(yǔ)言一(yī)樣(yàng)。一(yī)条(tiáo)条(tiáo)的(de)读(dú),一(yī)条(tiáo)条(tiáo)的(de)分(fēn)析。
拒絕去(qù)了(le)解(jiě)为(wèi)什麼(me)FPGA是(shì)可(kě)以(yǐ)編程的(de),不(bù)去(qù)了(le)解(jiě)FPGA的(de)內(nèi)部(bù)結構,要(yào)想(xiǎng)学会(huì)FPGA 恐怕是(shì)天(tiān)方(fāng)夜(yè)譚。
那(nà)麼(me)FPGA为(wèi)什麼(me)是(shì)可(kě)以(yǐ)“編程”的(de)呢?首先(xiān)来(lái)了(le)解(jiě)一(yī)下(xià)什麼(me)叫“程”。
啟示 “程”只(zhī)不(bù)过(guò)是(shì)一(yī)堆(duī)具有(yǒu)一(yī)定(dìng)含義的(de)01編碼而(ér)已。
編程,其实就(jiù)是(shì)編写这(zhè)些01編碼。只(zhī)不(bù)过(guò)我(wǒ)们(men)現(xiàn)在(zài)有(yǒu)了(le)很多(duō)開(kāi)發(fà)工具運算或(huò)者(zhě)是(shì)其它(tā)操作。
所(suǒ)以(yǐ)软(ruǎn)件(jiàn)是(shì)一(yī)条(tiáo)一(yī)条(tiáo)的(de),通(tòng)常都不(bù)是(shì)直(zhí)接編写这(zhè)些01編碼,而(ér)是(shì)以(yǐ)高(gāo)級語(yǔ)言的(de)形式来(lái)編写,最(zuì)後(hòu)由(yóu)開(kāi)發(fà)工具轉(zhuǎn)換为(wèi)这(zhè)種(zhǒng)01編碼而(ér)已。
对(duì)于(yú)软(ruǎn)件(jiàn)編程而(ér)言,处理器会(huì)有(yǒu)一(yī)个(gè)專門(mén)的(de)譯碼電(diàn)路(lù)逐条(tiáo)把这(zhè)些01編碼翻譯为(wèi)各(gè)種(zhǒng)控制信(xìn)号(hào),然後(hòu)控制其內(nèi)部(bù)的(de)電(diàn)路(lù)完成(chéng)一(yī)个(gè)个(gè)的(de)读(dú),因(yīn)为(wèi)软(ruǎn)件(jiàn)的(de)操作是(shì)一(yī)步一(yī)步完成(chéng)的(de)。
而(ér)FPGA的(de)可(kě)編程,本(běn)質(zhì)也(yě)是(shì)依靠这(zhè)些01編碼实現(xiàn)其功能(néng)的(de)改變(biàn),但不(bù)同(tóng)的(de)是(shì)FPGA之所(suǒ)以(yǐ)可(kě)以(yǐ)完成(chéng)不(bù)同(tóng)的(de)功能(néng),不(bù)是(shì)依靠像软(ruǎn)件(jiàn)那(nà)樣(yàng)将01編碼翻譯出(chū)来(lái)再去(qù)控制一(yī)个(gè)運算電(diàn)路(lù),FPGA里(lǐ)面(miàn)沒(méi)有(yǒu)这(zhè)些東(dōng)西(xī)。
http://old.mdy-edu.com/xmucjie/2023/0201/1865.html
掃碼了(le)解(jiě)☝項目合作








