第(dì)一(yī)篇(piān) FPGA基礎知識
本(běn)文(wén)的(de)文(wén)檔編号(hào):001500000029
需要(yào)看(kàn)对(duì)應(yìng)的(de)視頻,請點(diǎn)擊視頻編号(hào): 001000000048
1、本(běn)章(zhāng)主(zhǔ)要(yào)介紹利用(yòng)EDA開(kāi)發(fà)软(ruǎn)件(jiàn)和(hé)編程工具对(duì)FPGA芯片(piàn)進(jìn)行開(kāi)發(fà)的(de)过(guò)程,典型的(de)FPGA開(kāi)發(fà)流程如(rú)下(xià):功能(néng)定(dìng)義/器件(jiàn)選型、設計(jì)輸入(rù)、功能(néng)仿真(zhēn)、綜合优化(huà)、綜合後(hòu)仿真(zhēn)、布(bù)局(jú)布(bù)線(xiàn)、时(shí)序仿真(zhēn)、板級仿真(zhēn)與(yǔ)验(yàn)證、芯片(piàn)燒录(lù)與(yǔ)調試等主(zhǔ)要(yào)步驟。
2、这(zhè)是(shì)ALTERA和(hé)IVADO文(wén)檔
第(dì)二(èr)章(zhāng) FPGA開(kāi)發(fà)流程
FPGA的(de)設計(jì)流程就(jiù)是(shì)利用(yòng)EDA開(kāi)發(fà)软(ruǎn)件(jiàn)和(hé)編程工具对(duì)FPGA芯片(piàn)進(jìn)行開(kāi)發(fà)的(de)过(guò)程。原理图(tú)和(hé)HDL(Hardware description language,硬(yìng)件(jiàn)描述語(yǔ)言)是(shì)两(liǎng)種(zhǒng)最(zuì)常用(yòng)的(de)數字(zì)硬(yìng)件(jiàn)電(diàn)路(lù)描述方(fāng)法。其中(zhōng),運用(yòng)HDL設計(jì)方(fāng)法具有(yǒu)更(gèng)好(hǎo)的(de)移植性(xìng)、通(tòng)用(yòng)性(xìng)以(yǐ)及(jí)利于(yú)模块(kuài)劃(huà)分(fēn)的(de)特(tè)點(diǎn),在(zài)工作学習中(zhōng)被(bèi)廣泛使用(yòng)。典型FPGA的(de)開(kāi)發(fà)流程一(yī)般如(rú)下(xià)图(tú)所(suǒ)示,其包(bāo)括功能(néng)定(dìng)義/器件(jiàn)選型、設計(jì)輸入(rù)、功能(néng)仿真(zhēn)、綜合优化(huà)、綜合後(hòu)仿真(zhēn)、实現(xiàn)、布(bù)線(xiàn)後(hòu)仿真(zhēn)、板級仿真(zhēn)以(yǐ)及(jí)芯片(piàn)編程與(yǔ)調試等主(zhǔ)要(yào)步驟。
在(zài)FPGA設計(jì)項目開(kāi)始之前(qián)需要(yào)進(jìn)行方(fāng)案(àn)論證、系(xì)統設計(jì)和(hé)FPGA芯片(piàn)的(de)選型等準備性(xìng)工作,在(zài)确定(dìng)并評估好(hǎo)方(fāng)案(àn)後(hòu)需要(yào)進(jìn)行系(xì)統功能(néng)的(de)定(dìng)義和(hé)模块(kuài)的(de)劃(huà)分(fēn)。根(gēn)據(jù)方(fāng)案(àn)中(zhōng)任务要(yào)求,如(rú)方(fāng)案(àn)中(zhōng)所(suǒ)确定(dìng)的(de)系(xì)統功能(néng)以(yǐ)及(jí)複雜度(dù),对(duì)硬(yìng)件(jiàn)的(de)工作速度(dù)和(hé)器件(jiàn)自(zì)身(shēn)的(de)資源、成(chéng)本(běn)、以(yǐ)及(jí)性(xìng)能(néng)指标(biāo)等各(gè)个(gè)方(fāng)面(miàn)進(jìn)行綜合考慮,選擇出(chū)較合适的(de)器件(jiàn)類(lèi)型。在(zài)設計(jì)方(fāng)法上(shàng),一(yī)般都采用(yòng)自(zì)頂向(xiàng)下(xià)的(de)設計(jì)方(fāng)法,首先(xiān)将整个(gè)系(xì)統劃(huà)分(fēn)成(chéng)若干(gàn)个(gè)基本(běn)模块(kuài),然後(hòu)再将每个(gè)基本(běn)模块(kuài)劃(huà)分(fēn)为(wèi)下(xià)一(yī)层次(cì)的(de)基本(běn)單元(yuán),这(zhè)樣(yàng)依次(cì)劃(huà)分(fēn)後(hòu)确定(dìng)好(hǎo)各(gè)个(gè)模块(kuài)的(de)功能(néng)以(yǐ)及(jí)各(gè)个(gè)模块(kuài)需要(yào)設計(jì)的(de)輸入(rù)輸出(chū)信(xìn)号(hào),再通(tòng)过(guò)EDA工具進(jìn)行各(gè)个(gè)模块(kuài)的(de)設計(jì)。最(zuì)終(zhōng)要(yào)实現(xiàn)的(de)目标(biāo)是(shì):針(zhēn)对(duì)每个(gè)輸入(rù)信(xìn)号(hào),利用(yòng)EDA工具以(yǐ)及(jí)FPGA的(de)資源設計(jì)出(chū)需要(yào)的(de)輸出(chū)信(xìn)号(hào)邏輯。
第(dì)2节(jié) 設計(jì)輸入(rù)(Design Entry)
設計(jì)輸入(rù)是(shì)指在(zài)EDA工具中(zhōng),通(tòng)过(guò)使用(yòng)該開(kāi)發(fà)软(ruǎn)件(jiàn)設計(jì)出(chū)所(suǒ)希望得到(dào)的(de)系(xì)統或(huò)電(diàn)路(lù)的(de)一(yī)个(gè)过(guò)程。在(zài)日(rì)常工作学習中(zhōng)最(zuì)常使用(yòng)的(de)方(fāng)式是(shì)通(tòng)过(guò)硬(yìng)件(jiàn)描述語(yǔ)言(HDL)的(de)方(fāng)式来(lái)描繪設計(jì)出(chū)最(zuì)終(zhōng)的(de)數字(zì)電(diàn)路(lù)。以(yǐ)此(cǐ)方(fāng)式設計(jì)電(diàn)路(lù)的(de)过(guò)程需要(yào)在(zài)EDA软(ruǎn)件(jiàn)上(shàng)通(tòng)过(guò)文(wén)本(běn)描述,将实際的(de)電(diàn)路(lù)用(yòng)硬(yìng)件(jiàn)語(yǔ)言表(biǎo)述出(chū)来(lái)。設計(jì)好(hǎo)文(wén)本(běn)後(hòu),編譯器会(huì)将硬(yìng)件(jiàn)語(yǔ)言進(jìn)行綜合、布(bù)局(jú)布(bù)線(xiàn),最(zuì)後(hòu)轉(zhuǎn)換成(chéng)一(yī)个(gè)个(gè)的(de)邏輯門(mén)、寄存器、數據(jù)選擇器等实際電(diàn)路(lù)。設計(jì)师(shī)接觸比較多(duō)的(de)HDL語(yǔ)言是(shì)行为(wèi)HDL,其主(zhǔ)流語(yǔ)言是(shì)Verilog HDL和(hé)VHDL,这(zhè)两(liǎng)種(zhǒng)語(yǔ)言都是(shì)IEEE的(de)标(biāo)準,虽然两(liǎng)者(zhě)在(zài)語(yǔ)法結構以(yǐ)及(jí)設計(jì)标(biāo)準上(shàng)存在(zài)差别,但是(shì)都有(yǒu)一(yī)个(gè)共(gòng)同(tóng)的(de)特(tè)點(diǎn):語(yǔ)言與(yǔ)芯片(piàn)工藝无關(guān)。在(zài)任一(yī)款FPGA芯片(piàn)上(shàng),使用(yòng)任何一(yī)種(zhǒng)語(yǔ)言都可(kě)以(yǐ)設計(jì)出(chū)想(xiǎng)要(yào)的(de)數字(zì)電(diàn)路(lù)。
另(lìng)一(yī)種(zhǒng)設計(jì)方(fāng)式是(shì)使用(yòng)原理图(tú)輸入(rù)的(de)方(fāng)法進(jìn)行設計(jì)輸入(rù)。原理图(tú)輸入(rù)方(fāng)式是(shì)一(yī)種(zhǒng)最(zuì)直(zhí)接的(de)描述方(fāng)式,通(tòng)过(guò)從元(yuán)件(jiàn)庫中(zhōng)調出(chū)来(lái)需要(yào)的(de)器件(jiàn),画(huà)出(chū)原理图(tú)。这(zhè)一(yī)方(fāng)式有(yǒu)點(diǎn)類(lèi)似于(yú)硬(yìng)件(jiàn)開(kāi)發(fà)过(guò)程中(zhōng)設計(jì)原理图(tú)的(de)过(guò)程,其在(zài)可(kě)編程邏輯阵(zhèn)列發(fà)展(zhǎn)的(de)前(qián)期(qī)應(yìng)用(yòng)的(de)比較廣泛。使用(yòng)这(zhè)種(zhǒng)方(fāng)法具有(yǒu)設計(jì)直(zhí)观且易于(yú)仿真(zhēn)的(de)优勢,但是(shì)設計(jì)效率不(bù)高(gāo),且難以(yǐ)維護改動(dòng),对(duì)模块(kuài)的(de)構造和(hé)重(zhòng)用(yòng)的(de)支持(chí)度(dù)极(jí)不(bù)友好(hǎo)。當芯片(piàn)升(shēng)級後(hòu),所(suǒ)有(yǒu)的(de)原理图(tú)需要(yào)重(zhòng)新進(jìn)行一(yī)定(dìng)的(de)改動(dòng),可(kě)移植性(xìng)很差。
除了(le)这(zhè)IEEE标(biāo)準語(yǔ)言外(wài)還(huán)有(yǒu)廠(chǎng)商自(zì)己的(de)語(yǔ)言,在(zài)实際的(de)設計(jì)中(zhōng)也(yě)可(kě)以(yǐ)用(yòng)HDL为(wèi)主(zhǔ),原理图(tú)为(wèi)輔的(de)混合設計(jì)方(fāng)式,以(yǐ)發(fà)揮两(liǎng)者(zhě)的(de)各(gè)自(zì)特(tè)色(sè)與(yǔ)优勢。
第(dì)3节(jié) 功能(néng)仿真(zhēn)(RTL-Simulation)
功能(néng)仿真(zhēn)也(yě)稱为(wèi)綜合前(qián)仿真(zhēn),用(yòng)戶設計(jì)好(hǎo)數字(zì)邏輯後(hòu)需要(yào)檢查自(zì)己的(de)設計(jì)是(shì)否符合預期(qī),在(zài)不(bù)需要(yào)綜合之前(qián)通(tòng)过(guò)仿真(zhēn)软(ruǎn)件(jiàn)对(duì)電(diàn)路(lù)進(jìn)行邏輯验(yàn)證。在(zài)功能(néng)仿真(zhēn)器件(jiàn)電(diàn)路(lù)可(kě)以(yǐ)不(bù)用(yòng)考慮延遲等因(yīn)素,僅对(duì)初步的(de)功能(néng)進(jìn)行檢验(yàn)。通(tòng)过(guò)建立测試平台(tái)即Testbench,利用(yòng)波(bō)形編譯器(仿真(zhēn)软(ruǎn)件(jiàn))和(hé)硬(yìng)件(jiàn)描述語(yǔ)言建立好(hǎo)波(bō)形文(wén)件(jiàn)和(hé)激勵信(xìn)号(hào),在(zài)仿真(zhēn)软(ruǎn)件(jiàn)上(shàng)会(huì)模拟实際電(diàn)路(lù)的(de)波(bō)形顯示出(chū)輸出(chū)波(bō)形信(xìn)号(hào),并生(shēng)成(chéng)報告文(wén)件(jiàn)。用(yòng)戶通(tòng)过(guò)观察各(gè)个(gè)时(shí)間(jiān)點(diǎn)信(xìn)号(hào)的(de)變(biàn)化(huà)情(qíng)況来(lái)验(yàn)證自(zì)己所(suǒ)設計(jì)邏輯的(de)正(zhèng)确性(xìng)。綜合前(qián)仿真(zhēn)在(zài)FPGA開(kāi)發(fà)过(guò)程中(zhōng)不(bù)是(shì)一(yī)定(dìng)要(yào)進(jìn)行的(de)步驟,但卻是(shì)极(jí)为(wèi)關(guān)鍵的(de)一(yī)步。在(zài)实際的(de)工作学習中(zhōng),充分(fēn)利用(yòng)好(hǎo)仿真(zhēn)工具,能(néng)够提(tí)高(gāo)設計(jì)的(de)效率并及(jí)时(shí)發(fà)現(xiàn)設計(jì)缺陷,從而(ér)为(wèi)後(hòu)續的(de)開(kāi)發(fà)过(guò)程提(tí)供保障。常用(yòng)的(de)硬(yìng)件(jiàn)描述語(yǔ)言的(de)仿真(zhēn)工具有(yǒu)Model Tech公司的(de)ModelSim、VCS、Ncsim以(yǐ)及(jí)NC-VHDL等软(ruǎn)件(jiàn)。
第(dì)4节(jié) 綜合优化(huà)(Synthesis)
所(suǒ)謂綜合即針(zhēn)对(duì)給(gěi)定(dìng)的(de)電(diàn)路(lù)实現(xiàn)功能(néng)和(hé)实現(xiàn)該電(diàn)路(lù)的(de)約束(shù)条(tiáo)件(jiàn),如(rú)速度(dù)、功耗、成(chéng)本(běn)及(jí)電(diàn)路(lù)類(lèi)型等,通(tòng)过(guò)計(jì)算機(jī)進(jìn)行优化(huà)处理獲得一(yī)个(gè)能(néng)滿足上(shàng)述要(yào)求的(de)電(diàn)路(lù)設計(jì)方(fāng)案(àn)。也(yě)就(jiù)是(shì)说(shuō),被(bèi)綜合的(de)文(wén)件(jiàn)是(shì)HDL文(wén)件(jiàn)(或(huò)其他(tā)相應(yìng)文(wén)件(jiàn)),綜合的(de)依據(jù)是(shì)邏輯設計(jì)的(de)描述和(hé)各(gè)種(zhǒng)約束(shù)条(tiáo)件(jiàn),綜合的(de)結果(guǒ)則是(shì)一(yī)个(gè)硬(yìng)件(jiàn)電(diàn)路(lù)的(de)实現(xiàn)方(fāng)案(àn),該方(fāng)案(àn)必須同(tóng)时(shí)滿足預期(qī)的(de)功能(néng)和(hé)約束(shù)条(tiáo)件(jiàn)。对(duì)于(yú)綜合来(lái)说(shuō),滿足要(yào)求的(de)方(fāng)案(àn)可(kě)能(néng)有(yǒu)多(duō)个(gè),綜合器将産生(shēng)一(yī)个(gè)最(zuì)优的(de)或(huò)接近(jìn)最(zuì)优的(de)結果(guǒ)。因(yīn)此(cǐ),綜合的(de)过(guò)程也(yě)就(jiù)是(shì)設計(jì)目标(biāo)的(de)优化(huà)过(guò)程,最(zuì)後(hòu)獲得的(de)結構與(yǔ)綜合器的(de)工作性(xìng)能(néng)有(yǒu)關(guān)。常用(yòng)的(de)綜合工具有(yǒu)Synplicity公司的(de)Synplify/SynplifyPro软(ruǎn)件(jiàn)以(yǐ)及(jí)各(gè)个(gè)FPGA廠(chǎng)家(jiā)自(zì)己推出(chū)的(de)綜合開(kāi)發(fà)工具。
綜合後(hòu)仿真(zhēn)是(shì)用(yòng)来(lái)檢查綜合結果(guǒ)是(shì)否和(hé)原設計(jì)一(yī)致(zhì)。後(hòu)仿真(zhēn)與(yǔ)前(qián)仿真(zhēn)的(de)區(qū)别在(zài)于(yú):前(qián)仿真(zhēn)是(shì)指綜合前(qián)的(de)仿真(zhēn),如(rú)在(zài)Modelsim对(duì)撰写的(de)代(dài)碼直(zhí)接進(jìn)行仿真(zhēn),而(ér)後(hòu)仿真(zhēn)是(shì)綜合後(hòu)的(de)仿真(zhēn),也(yě)就(jiù)是(shì)功能(néng)仿真(zhēn)。假設設計(jì)师(shī)在(zài)Modelsim中(zhōng)用(yòng)HDL編写了(le)一(yī)个(gè)計(jì)數器代(dài)碼,其通(tòng)过(guò)了(le)行为(wèi)級的(de)仿真(zhēn)後(hòu)被(bèi)加载到(dào)quartus或(huò)者(zhě)其他(tā)的(de)綜合工具中(zhōng)進(jìn)行綜合,完成(chéng)綜合後(hòu)会(huì)生(shēng)成(chéng)功能(néng)网(wǎng)表(biǎo),将行为(wèi)語(yǔ)言轉(zhuǎn)換成(chéng)寄存器傳送級語(yǔ)言,此(cǐ)时(shí)設計(jì)师(shī)再将其加载到(dào)Modelsim中(zhōng)進(jìn)行的(de)仿真(zhēn)被(bèi)叫做後(hòu)仿真(zhēn)。後(hòu)仿真(zhēn)成(chéng)功後(hòu)還(huán)需要(yào)在(zài)quartus中(zhōng)進(jìn)行映射和(hé)布(bù)局(jú)布(bù)線(xiàn),并進(jìn)行时(shí)序分(fēn)析生(shēng)成(chéng)时(shí)序网(wǎng)表(biǎo),描述器件(jiàn)里(lǐ)門(mén)或(huò)者(zhě)布(bù)線(xiàn)的(de)延时(shí)。最(zuì)後(hòu)将延时(shí)网(wǎng)表(biǎo)和(hé)功能(néng)网(wǎng)表(biǎo)一(yī)起加载到(dào)Modelsim中(zhōng)仿真(zhēn),这(zhè)一(yī)仿真(zhēn)为(wèi)門(mén)級仿真(zhēn),而(ér)在(zài)实際的(de)設計(jì)过(guò)程中(zhōng),一(yī)般来(lái)说(shuō)不(bù)做綜合後(hòu)仿真(zhēn)也(yě)不(bù)会(huì)带(dài)来(lái)太大的(de)影響。
第(dì)6节(jié) 布(bù)局(jú)布(bù)線(xiàn)(Place & Routes)
布(bù)局(jú)布(bù)線(xiàn)可(kě)理解(jiě)为(wèi)利用(yòng)实現(xiàn)工具把邏輯映射到(dào)目标(biāo)器件(jiàn)結構的(de)資源中(zhōng)從而(ér)決定(dìng)邏輯的(de)最(zuì)佳布(bù)局(jú),選擇邏輯與(yǔ)輸入(rù)輸出(chū)功能(néng)鍊(liàn)接的(de)布(bù)線(xiàn)通(tòng)道(dào)進(jìn)行連(lián)線(xiàn),并産生(shēng)相應(yìng)文(wén)件(jiàn)(如(rú)配置文(wén)件(jiàn)與(yǔ)相關(guān)報告)。实現(xiàn)是(shì)将綜合生(shēng)成(chéng)的(de)邏輯网(wǎng)表(biǎo)配置到(dào)具體(tǐ)的(de)FPGA芯片(piàn)上(shàng),布(bù)局(jú)布(bù)線(xiàn)是(shì)其中(zhōng)最(zuì)重(zhòng)要(yào)的(de)过(guò)程。在(zài)完成(chéng)綜合之後(hòu),就(jiù)是(shì)相當于(yú)有(yǒu)了(le)各(gè)種(zhǒng)元(yuán)件(jiàn),但如(rú)何建立元(yuán)件(jiàn)之間(jiān)的(de)連(lián)接,就(jiù)像在(zài)PCB上(shàng)把元(yuán)件(jiàn)放(fàng)在(zài)哪里(lǐ),元(yuán)件(jiàn)之間(jiān)的(de)連(lián)接以(yǐ)及(jí)相連(lián)關(guān)系(xì)又是(shì)怎麼(me)樣(yàng)的(de),这(zhè)个(gè)都是(shì)布(bù)局(jú)布(bù)線(xiàn)完成(chéng)的(de)工作,綜合的(de)結果(guǒ)可(kě)能(néng)每次(cì)都一(yī)樣(yàng),但是(shì)布(bù)局(jú)布(bù)線(xiàn)的(de)結構基本(běn)每次(cì)都不(bù)会(huì)一(yī)樣(yàng)。布(bù)局(jú)将邏輯网(wǎng)表(biǎo)中(zhōng)的(de)硬(yìng)件(jiàn)原語(yǔ)和(hé)底层單元(yuán)合理地(dì)配置到(dào)芯片(piàn)內(nèi)部(bù)的(de)固有(yǒu)硬(yìng)件(jiàn)結構上(shàng),并且往往需要(yào)在(zài)速度(dù)最(zuì)优和(hé)面(miàn)積最(zuì)优之間(jiān)作出(chū)選擇。布(bù)線(xiàn)根(gēn)據(jù)布(bù)局(jú)的(de)拓撲結構,利用(yòng)芯片(piàn)內(nèi)部(bù)的(de)各(gè)種(zhǒng)連(lián)線(xiàn)資源,合理正(zhèng)确地(dì)連(lián)接各(gè)个(gè)元(yuán)件(jiàn)。目前(qián),FPGA的(de)結構非(fēi)常複雜,特(tè)别是(shì)在(zài)有(yǒu)时(shí)序約束(shù)条(tiáo)件(jiàn)时(shí),需要(yào)利用(yòng)时(shí)序驅動(dòng)的(de)引擎進(jìn)行布(bù)局(jú)布(bù)線(xiàn)。布(bù)線(xiàn)結束(shù)後(hòu),软(ruǎn)件(jiàn)工具会(huì)自(zì)動(dòng)生(shēng)成(chéng)報告,提(tí)供有(yǒu)關(guān)設計(jì)中(zhōng)各(gè)部(bù)分(fēn)資源的(de)使用(yòng)情(qíng)況。由(yóu)于(yú)只(zhī)有(yǒu)FPGA芯片(piàn)生(shēng)産商对(duì)芯片(piàn)結構最(zuì)为(wèi)了(le)解(jiě),所(suǒ)以(yǐ)布(bù)局(jú)布(bù)線(xiàn)必須選擇芯片(piàn)開(kāi)發(fà)商提(tí)供的(de)工具。
第(dì)7节(jié) 时(shí)序仿真(zhēn)(Timing)
时(shí)序仿真(zhēn),也(yě)稱为(wèi)後(hòu)仿真(zhēn),是(shì)指将布(bù)局(jú)布(bù)線(xiàn)的(de)延时(shí)信(xìn)息反(fǎn)标(biāo)注到(dào)設計(jì)网(wǎng)表(biǎo)中(zhōng)来(lái)檢测有(yǒu)无时(shí)序違規(即不(bù)滿足时(shí)序約束(shù)条(tiáo)件(jiàn)或(huò)器件(jiàn)固有(yǒu)的(de)时(shí)序規則,如(rú)建立时(shí)間(jiān)、保持(chí)时(shí)間(jiān)等)現(xiàn)象(xiàng)。时(shí)序仿真(zhēn)使用(yòng)布(bù)局(jú)布(bù)線(xiàn)後(hòu)器件(jiàn)給(gěi)出(chū)的(de)模块(kuài)和(hé)連(lián)線(xiàn)的(de)延时(shí)信(xìn)息,在(zài)最(zuì)壞的(de)情(qíng)況下(xià)对(duì)電(diàn)路(lù)的(de)行为(wèi)作出(chū)实際的(de)估價。时(shí)序仿真(zhēn)使用(yòng)的(de)仿真(zhēn)器和(hé)功能(néng)仿真(zhēn)使用(yòng)的(de)仿真(zhēn)器是(shì)相同(tóng)的(de),所(suǒ)需的(de)流程和(hé)激勵也(yě)是(shì)相同(tóng)的(de),唯一(yī)的(de)差别是(shì):时(shí)序仿真(zhēn)加载到(dào)仿真(zhēn)器的(de)設計(jì)包(bāo)括基于(yú)实際布(bù)局(jú)布(bù)線(xiàn)設計(jì)的(de)最(zuì)壞情(qíng)況的(de)布(bù)局(jú)布(bù)線(xiàn)延时(shí),并且在(zài)仿真(zhēn)結果(guǒ)波(bō)形图(tú)中(zhōng)时(shí)序仿真(zhēn)後(hòu)的(de)信(xìn)号(hào)加载了(le)时(shí)延,而(ér)功能(néng)仿真(zhēn)沒(méi)有(yǒu)。由(yóu)于(yú)不(bù)同(tóng)芯片(piàn)的(de)內(nèi)部(bù)延时(shí)不(bù)一(yī)樣(yàng),不(bù)同(tóng)的(de)布(bù)局(jú)布(bù)線(xiàn)方(fāng)案(àn)也(yě)給(gěi)延时(shí)带(dài)来(lái)不(bù)同(tóng)的(de)影響。因(yīn)此(cǐ)在(zài)布(bù)局(jú)布(bù)線(xiàn)後(hòu),通(tòng)过(guò)对(duì)系(xì)統和(hé)各(gè)个(gè)模块(kuài)進(jìn)行时(shí)序仿真(zhēn),分(fēn)析其时(shí)序關(guān)系(xì),估計(jì)系(xì)統性(xìng)能(néng),以(yǐ)及(jí)檢查和(hé)消除競争冒险是(shì)非(fēi)常有(yǒu)必要(yào)的(de)。在(zài)功能(néng)仿真(zhēn)中(zhōng)介紹的(de)软(ruǎn)件(jiàn)工具一(yī)般都支持(chí)綜合後(hòu)仿真(zhēn)。
第(dì)8节(jié) 板級仿真(zhēn)與(yǔ)验(yàn)證
板級仿真(zhēn)主(zhǔ)要(yào)應(yìng)用(yòng)于(yú)高(gāo)速電(diàn)路(lù)設計(jì)中(zhōng),对(duì)高(gāo)速系(xì)統的(de)信(xìn)号(hào)完整性(xìng)、電(diàn)磁干(gàn)擾等特(tè)征進(jìn)行分(fēn)析,一(yī)般都以(yǐ)第(dì)三(sān)方(fāng)工具進(jìn)行仿真(zhēn)和(hé)验(yàn)證,在(zài)实際的(de)工作中(zhōng)一(yī)般接觸較少(shǎo)。
第(dì)9节(jié) 編程與(yǔ)調試
設計(jì)的(de)最(zuì)後(hòu)一(yī)步就(jiù)是(shì)芯片(piàn)的(de)編程與(yǔ)調試。編程是(shì)指将FPGA開(kāi)發(fà)工具最(zuì)後(hòu)産生(shēng)使用(yòng)的(de)數據(jù)文(wén)件(jiàn)(位數據(jù)流文(wén)件(jiàn),BitstreamGeneration)加载到(dào)FPGA芯片(piàn)中(zhōng)。其中(zhōng),芯片(piàn)編程需要(yào)滿足一(yī)定(dìng)的(de)条(tiáo)件(jiàn),如(rú)編程電(diàn)壓、編程时(shí)序和(hé)編程算法等,而(ér)这(zhè)些条(tiáo)件(jiàn)一(yī)般廠(chǎng)家(jiā)都会(huì)事(shì)先(xiān)完成(chéng)設計(jì),設計(jì)师(shī)直(zhí)接按照規範操作即可(kě)。數據(jù)文(wén)件(jiàn)下(xià)载到(dào)FPGA芯片(piàn)中(zhōng)以(yǐ)後(hòu)還(huán)需要(yào)進(jìn)行調試验(yàn)證,邏輯分(fēn)析儀(LogicAnalyzer,LA)便是(shì)FPGA設計(jì)的(de)主(zhǔ)要(yào)調試工具。使用(yòng)LA需要(yào)引出(chū)大量(liàng)的(de)测試管(guǎn)脚,且LA價格昂貴,但是(shì)當工程較大、所(suǒ)需要(yào)調試观察的(de)信(xìn)号(hào)过(guò)多(duō)时(shí),仍旧(jiù)需要(yào)LA来(lái)对(duì)芯片(piàn)內(nèi)部(bù)的(de)信(xìn)号(hào)進(jìn)行观察验(yàn)證。目前(qián),主(zhǔ)流的(de)FPGA芯片(piàn)生(shēng)産商都提(tí)供了(le)內(nèi)嵌的(de)在(zài)線(xiàn)邏輯分(fēn)析儀(如(rú)Xilinx ISE中(zhōng)的(de)ChipScope、Altera QuartusII中(zhōng)的(de)SignalTapII以(yǐ)及(jí)SignalProb),它(tā)们(men)只(zhī)需要(yào)占用(yòng)芯片(piàn)少(shǎo)量(liàng)的(de)邏輯資源便可(kě)达(dá)到(dào)同(tóng)樣(yàng)的(de)效果(guǒ),在(zài)实際的(de)工程調試中(zhōng)發(fà)揮了(le)极(jí)大的(de)作用(yòng)。
本(běn)書(shū)中(zhōng)将会(huì)詳细(xì)介紹SIGNALTAP工具的(de)使用(yòng)。








