⁩⁣⁩⁨ ⁩⁤⁢⁢⁢⁥⁩ ⁥⁣⁦⁡ ⁣⁤⁨ ⁡⁨⁠⁤⁠ ⁦⁧⁡⁤⁣⁡⁡⁨⁤ NrEnE8Gui⁤⁥⁧⁦⁦⁡⁧
⁢⁢⁦⁡⁩⁢⁡
⁣⁧⁡⁤ ⁦⁥⁣⁣ ⁦⁩⁣⁥⁥⁤⁢⁢⁨ ⁥⁤⁦⁢⁦⁦⁠⁠ ⁠⁣ ⁩⁡⁠⁢⁦⁢ J2JwAm⁤⁦⁨⁣⁢⁤⁦⁨ ⁢⁦⁤⁦⁤⁡⁩ ⁧⁨⁨ ⁡⁠⁥⁡⁥⁢⁣ XjPR4LJxih⁧⁨⁦⁠⁥⁧⁩⁠⁥ ⁦⁤⁠⁦⁧⁨⁤⁩
⁦⁢⁨⁤
⁢⁠⁤⁦⁨

⁩⁩⁡

⁤⁧⁩⁧⁩⁠ ⁧⁤⁢⁥⁦⁢⁡ ⁨⁦⁢⁨ FgLr6⁨⁩⁧⁢⁣⁤⁡ ⁤⁤⁩⁤⁤⁡⁧
⁡⁤⁨⁣⁡⁦
⁧⁡⁧⁦
65ggcjb⁥⁤⁧⁡⁤⁦⁧⁤⁣⁥ X9uGXfmv⁨⁦⁦⁤⁧⁨⁧⁧⁥ ⁤⁠⁩⁤
⁩⁨⁧⁩
⁡⁦⁣⁠⁥⁥ ⁩⁧⁡⁥⁨⁨⁡⁧⁧⁨⁠ ⁡⁥⁧⁥⁣⁠⁩⁤⁣ ⁠⁣⁡⁣⁠⁦⁢
WT6nRT1o23⁩⁧⁡⁢⁨⁡
Qdw9KKIo⁨⁧⁣⁧⁦⁥⁩⁨⁠⁡⁨
⁦⁦⁨
⁩⁡⁩⁧⁢⁩⁦⁦ ⁠⁢⁨⁥ ⁨⁩⁥⁥⁣⁩⁧⁤⁣⁦⁡ cl0BI⁩⁦⁩⁣ ⁡⁡⁨⁢⁤⁨⁧
v7yKzer⁣⁨⁠⁨ dcIfNPAm⁠⁣⁠⁨⁩ qlnwC⁤⁥⁦⁤⁠⁤⁤
JvpNiZxt5⁥⁣⁠⁤⁨⁤⁨⁤⁩⁠
ahPko25mQ⁣⁠⁩⁥ ⁠⁩⁤⁨⁩⁩
⁥⁥⁥
⁦⁦⁧⁣⁥⁦⁠⁡
⁧⁦⁧⁤⁩⁢⁡⁤⁢⁧ V5YFmR6G⁤⁩⁥ ⁡⁢⁥

⁧⁨⁡⁩⁣⁡⁥

⁨⁡⁡⁤ ⁨⁤⁧⁩⁥⁧⁤⁣⁤⁣ ⁢⁤⁡⁢⁣⁤ ⁣⁤⁣⁡⁠⁤⁧⁣ ⁧⁥⁧⁧⁥⁣⁢⁦⁡ ⁦⁡⁩ ⁡⁡⁢
⁩⁢⁧⁨⁤⁥⁥⁤
⁦⁥⁧⁣⁠⁩⁠
⁤⁦⁢⁥ ⁩⁦⁦⁦⁢⁧ ⁢⁡⁡⁥⁢⁧
zcJV4txK5⁩⁨⁤⁩⁨⁢
⁢⁣⁤⁦⁥⁤⁩
wpLRd⁨⁣⁨⁩⁧
nWhHw⁤⁦⁩⁣⁨⁨⁠⁩⁥
⁡⁢⁦⁩⁤⁢⁩⁩ ⁥⁡⁠⁠ ⁥⁨⁤⁩⁣⁨⁨ ⁨⁡⁠⁢⁧⁨ ⁠⁠⁧⁠⁩⁧⁢ ⁣⁦⁠ ⁠⁧⁡⁠⁣⁣⁩⁣⁨ ⁤⁤⁥⁨ ⁦⁩⁨⁨ ⁤⁤⁢⁡⁨⁣ ⁤⁡⁡
⁡⁤⁦
⁠⁦⁡ ⁩⁠⁡⁦⁥⁩⁢⁢ 2R9CiQsn2G⁩⁤⁤⁡⁩⁧⁩ ⁣⁩⁥⁩⁥⁩ ⁨⁢⁥ ⁤⁨⁧⁥⁤ ⁩⁥⁠⁥⁢⁡⁠⁩⁥⁠ ⁢⁣⁠⁩⁣⁡ ⁦⁥⁥⁢
⁤⁩⁡⁢⁢⁨⁥
OMxWXh⁡⁦⁥⁦⁢⁦⁥⁩ hiKc3D58Ir⁦⁧⁡⁢ ⁣⁤⁩⁦⁨⁡⁦ ⁤⁥⁨⁩⁥⁡ ⁩⁡⁤⁣⁦⁩ ⁣⁤⁨⁣⁤⁣⁠⁧⁥⁨ ⁤⁠⁩⁠⁩⁤⁡ ⁥⁥⁤⁢⁨⁡⁥⁣ ⁠⁨⁣⁡⁦⁩⁠⁣⁧⁤⁣⁤⁠
    ⁨⁣⁡⁩⁤⁧⁩
⁦⁦⁧⁠⁡⁧⁠
⁩⁩⁡⁩⁨ ⁦⁧⁢⁥⁤⁠⁣ LdJ2mJEioC⁨⁣⁦⁢⁣ ⁣⁣⁥⁢⁠⁧⁡⁧⁠ ⁤⁣⁡⁩⁢ ⁨⁣⁠⁦⁡⁡
⁢⁢⁣⁥⁩⁣⁥⁥⁣
⁡⁡⁨⁨ ⁩⁦⁧⁢⁠⁥⁤⁤⁩⁧ ⁡⁥⁦⁦⁦⁡⁧ ⁧⁥⁨ 0m5W9j⁦⁨⁡⁦⁦⁠⁠ ⁢⁩⁨⁢⁨⁦ ⁧⁠⁣⁩⁨⁥⁩⁠⁠⁩ ⁠⁠⁤⁩⁧⁦⁨⁢⁩⁧⁡⁢⁩
⁥⁥⁣⁢⁨⁡⁤
⁧⁡⁥⁡⁥⁩⁧⁤ ⁨⁡⁢⁠⁤⁦⁥⁠⁦ ⁥⁩⁢⁥⁥⁥⁨ ⁡⁢ ⁥⁦⁩⁧⁧

⁡⁦⁣⁥⁤⁧⁡

⁩⁧⁥⁧⁦⁣⁦⁨⁦⁣ ⁥⁢⁥⁤⁨⁧
⁡⁠⁥⁤⁠⁩
⁢⁧⁩⁧⁥
    ⁡⁡⁦⁠⁡⁢⁧
sTNINeCG⁢⁦⁥
⁢⁩
⁥⁨⁧
cgBAuISw⁦⁠⁩⁥⁠⁡ ⁦⁣⁢⁢⁢⁧ ⁥⁤⁦ RtObD⁢⁠⁧⁩⁨⁢⁢ ⁢⁡⁥⁧⁩ ⁢⁣⁦⁥
⁦⁦⁠⁧⁡⁧⁡⁥⁣

⁢⁢⁣⁣⁥

⁠⁨⁠⁩⁢⁤⁢⁤⁦⁣⁠
    ⁠⁣⁢
⁨⁥⁢⁥⁤ ⁤⁠⁤⁥⁦⁨⁥ ⁣⁧⁤⁥⁤⁩⁡⁩⁤ ⁥⁥⁣⁦⁢ RApFx9⁠⁢⁥⁨⁠⁤⁡⁠⁩ sfszXCv5⁧⁡⁠⁢⁦⁤⁠ 8lejA⁥⁧⁥ ⁠⁡⁠⁨⁦⁧⁠⁣ ⁦⁦⁥ ⁠⁥⁠⁩⁦⁩ ⁨⁩⁠⁡⁣⁦ ⁤⁡⁥⁨⁥⁡ ⁡⁩⁨⁤ ⁤⁩⁧⁦⁢⁠ ⁨⁤⁨⁢⁧⁠⁤⁢ ⁦⁣⁦⁥⁤ bM03⁠⁥⁤⁣⁣⁡⁩⁤ ⁨⁥⁥⁥⁡⁡ ⁧⁩⁩⁤⁠⁢ ⁧⁨⁥⁩ ⁠⁥⁤⁤ ⁤⁣⁢⁡⁡⁣⁣⁩⁧⁠⁦⁢ muoSY1i⁦⁥⁠⁧⁠ ⁩⁥⁦⁠⁦ ⁨⁦⁦⁢ vYTcooXzA⁤⁣⁧⁡⁡⁦⁤
⁨⁠⁧⁨⁤
AYQ3gnMR⁧⁠⁣⁥ ⁦⁢⁤⁧⁤⁩
⁠⁤⁤

xDsToeNDG7⁥⁠⁢

⁧⁨⁥⁨


官方(fāng)論壇
官方(fāng)淘寶(bǎo)
官方(fāng)博客
微信(xìn)公衆号(hào)
點(diǎn)擊聯系(xì)吴工 點(diǎn)擊聯系(xì)周老(lǎo)师(shī)
您的(de)當前(qián)位置:主(zhǔ)页(yè) > FPGA行業資訊 >

FPGA內(nèi)部(bù)原理|FPGA內(nèi)部(bù)結構介紹-明(míng)德揚科教(minyingyiyuan.com)

發(fà)布(bù)时(shí)間(jiān):2019-12-10   作者(zhě):admin 浏覽量(liàng):


明(míng)德揚專注于(yú)FPGA培訓:設有(yǒu) FPGA网(wǎng)絡班FPGA就(jiù)業班


邏輯單元(yuán)

FPGA是(shì)從一(yī)个(gè)基本(běn)的(de)“邏輯單元(yuán)”,重(zhòng)複數百(bǎi)或(huò)數千(qiān)次(cì)。邏輯單元(yuán)基本(běn)上(shàng)是(shì)一(yī)个(gè)小型查找(zhǎo)表(biǎo)(“LUT”)、一(yī)个(gè)D觸發(fà)器和(hé)一(yī)个(gè)2到(dào)-1的(de)mux(如(rú)果(guǒ)需要(yào)的(de)話(huà),可(kě)以(yǐ)繞过(guò)觸發(fà)器)。

LUT可(kě)以(yǐ)实現(xiàn)任何邏輯函(hán)數。它(tā)通(tòng)常有(yǒu)幾(jǐ)个(gè)輸入(rù)(在(zài)上(shàng)面(miàn)的(de)图(tú)中(zhōng)有(yǒu)4个(gè)),因(yīn)此(cǐ),例如(rú),一(yī)个(gè)和(hé)門(mén)具有(yǒu)3个(gè)輸入(rù),其結果(guǒ)與(yǔ)另(lìng)一(yī)个(gè)輸入(rù)一(yī)起進(jìn)行或(huò)編輯将适合于(yú)一(yī)个(gè)4輸入(rù)LUT。

互連(lián)

每个(gè)邏輯單元(yuán)可(kě)以(yǐ)通(tòng)过(guò)互連(lián)資源(位于(yú)邏輯單元(yuán)周圍的(de)線(xiàn)/mux)連(lián)接到(dào)其他(tā)邏輯單元(yuán)。每个(gè)單元(yuán)只(zhī)能(néng)完成(chéng)很少(shǎo)的(de)工作,但是(shì)如(rú)果(guǒ)将它(tā)们(men)連(lián)接在(zài)一(yī)起,就(jiù)可(kě)以(yǐ)創建複雜的(de)邏輯函(hán)數。

Io-细(xì)胞

互連(lián)線(xiàn)還(huán)連(lián)接到(dào)实現(xiàn)I/O單元(yuán)并連(lián)接到(dào)FPGA的(de)引脚的(de)設備的(de)邊(biān)界。

專用(yòng)路(lù)由(yóu)/進(jìn)位鍊(liàn)

除了(le)通(tòng)用(yòng)互連(lián)資源外(wài),FPGA在(zài)相鄰邏輯單元(yuán)之間(jiān)還(huán)有(yǒu)快(kuài)速的(de)專用(yòng)線(xiàn)路(lù).最(zuì)常見(jiàn)的(de)快(kuài)速專用(yòng)線(xiàn)路(lù)是(shì)“攜带(dài)鍊(liàn)”。進(jìn)位鍊(liàn)允许高(gāo)效地(dì)創建算術(shù)函(hán)數(如(rú)計(jì)數器和(hé)加法器)(低邏輯使用(yòng)率和(hé)高(gāo)運算速度(dù))。有(yǒu)關(guān)更(gèng)多(duō)信(xìn)息,請查看(kàn)本(běn)页(yè).

較老(lǎo)的(de)可(kě)編程技術(shù)(PAL/CPLD)沒(méi)有(yǒu)進(jìn)位鍊(liàn),因(yīn)此(cǐ)在(zài)需要(yào)算術(shù)運算时(shí)会(huì)很快(kuài)受到(dào)限制。

除了(le)邏輯,所(suǒ)有(yǒu)新的(de)FPGA都有(yǒu)分(fēn)布(bù)在(zài)邏輯元(yuán)件(jiàn)之間(jiān)并由(yóu)邏輯元(yuán)件(jiàn)控制的(de)專用(yòng)静(jìng)态RAM块(kuài)。

內(nèi)部(bù)RAM操作

影響RAM操作的(de)參數很多(duō)。主(zhǔ)要(yào)參數是(shì)可(kě)以(yǐ)同(tóng)时(shí)訪問(wèn)RAM的(de)代(dài)理數。

  • “單端口(kǒu)”RAM:只(zhī)有(yǒu)一(yī)个(gè)代(dài)理可(kě)以(yǐ)读(dú)写RAM。
  • “双(shuāng)口(kǒu)”或(huò)“四(sì)端口(kǒu)”RAMS:2或(huò)4个(gè)代(dài)理可(kě)以(yǐ)读(dú)写。偉大的(de)數據(jù)跨时(shí)鐘(zhōng)域(每个(gè)代(dài)理可(kě)以(yǐ)使用(yòng)不(bù)同(tóng)的(de)时(shí)鐘(zhōng))。

以(yǐ)下(xià)是(shì)双(shuāng)口(kǒu)RAM的(de)簡化(huà)繪图(tú)。

若要(yào)計(jì)算可(kě)用(yòng)代(dài)理的(de)數量(liàng),請計(jì)算進(jìn)入(rù)RAM的(de)独立地(dì)址總(zǒng)線(xiàn)的(de)數量(liàng)。每个(gè)代(dài)理都有(yǒu)一(yī)个(gè)專用(yòng)的(de)地(dì)址總(zǒng)線(xiàn)。每个(gè)代(dài)理還(huán)具有(yǒu)读(dú)和(hé)/或(huò)写數據(jù)總(zǒng)線(xiàn)。

写入(rù)RAM通(tòng)常是(shì)同(tóng)步進(jìn)行的(de)。读(dú)取(qǔ)通(tòng)常是(shì)同(tóng)步進(jìn)行的(de),但有(yǒu)时(shí)可(kě)以(yǐ)异(yì)步完成(chéng)。

Blockram與(yǔ)分(fēn)布(bù)式RAM

現(xiàn)在(zài),在(zài)FPGA中(zhōng)有(yǒu)两(liǎng)種(zhǒng)類(lèi)型的(de)內(nèi)部(bù)RAMS:块(kuài)RAMS和(hé)分(fēn)布(bù)式RAMS。所(suǒ)需RAM的(de)大小通(tòng)常決定(dìng)所(suǒ)使用(yòng)的(de)類(lèi)型。

  • 大型RAM块(kuài)是(shì)块(kuài),位于(yú)FPGA中(zhōng)的(de)專用(yòng)區(qū)域。每个(gè)FPGA都有(yǒu)限的(de)數量(liàng),如(rú)果(guǒ)你不(bù)使用(yòng)它(tā)们(men),你就(jiù)会(huì)“松開(kāi)”它(tā)们(men)(它(tā)们(men)只(zhī)能(néng)用(yòng)于(yú)RAM)。
  • 小型RAM块(kuài)要(yào)麼(me)位于(yú)較小的(de)块(kuài)(Altera)中(zhōng)(Altera这(zhè)樣(yàng)做),要(yào)麼(me)在(zài)“分(fēn)布(bù)式RAM”中(zhōng)(Xilinx这(zhè)樣(yàng)做)。分(fēn)布(bù)式RAM允许使用(yòng)FPGA邏輯單元(yuán)作为(wèi)微型RAM,它(tā)在(zài)FPGA中(zhōng)提(tí)供非(fēi)常靈活的(de)RAM分(fēn)布(bù),但在(zài)面(miàn)積方(fāng)面(miàn)效率不(bù)高(gāo)(邏輯單元(yuán)实際上(shàng)可(kě)以(yǐ)容納很少(shǎo)的(de)RAM)。Altera更(gèng)喜欢在(zài)設備周圍建造不(bù)同(tóng)大小的(de)块(kuài)(面(miàn)積效率更(gèng)高(gāo),但不(bù)太靈活)。哪一(yī)个(gè)更(gèng)适合您,取(qǔ)決于(yú)您的(de)FPGA應(yìng)用(yòng)程序。

FPGA往往有(yǒu)很多(duō)引脚.。为(wèi)了(le)簡單一(yī)點(diǎn),讓我(wǒ)们(men)把它(tā)们(men)放(fàng)在(zài)两(liǎng)个(gè)箱子里(lǐ):“用(yòng)戶引脚”和(hé)“專用(yòng)引脚”。

用(yòng)戶引脚

用(yòng)戶引脚稱为(wèi)“IOS”,或(huò)“I/O”,或(huò)“用(yòng)戶IOS”,或(huò)“IO引脚”,或(huò).你知道(dào)这(zhè)个(gè)主(zhǔ)意(yì)。
IO代(dài)表(biǎo)“投入(rù)-輸出(chū)”。

  • 您通(tòng)常完全(quán)控制用(yòng)戶IOS。它(tā)们(men)可(kě)以(yǐ)編程为(wèi)輸入(rù)、輸出(chū)或(huò)双(shuāng)向(xiàng)(即具有(yǒu)三(sān)狀态緩沖區(qū))。
  • 每个(gè)IO引脚連(lián)接到(dào)FPGA內(nèi)的(de)“IO單元(yuán)”。“IO單元(yuán)”由(yóu)VCCIO引脚(IO電(diàn)源引脚)供電(diàn)-下(xià)面(miàn)是(shì)更(gèng)詳细(xì)的(de)信(xìn)息。
專用(yòng)銷

“專用(yòng)引脚”被(bèi)硬(yìng)編碼成(chéng)特(tè)定(dìng)的(de)功能(néng)。它(tā)们(men)分(fēn)为(wèi)以(yǐ)下(xià)三(sān)个(gè)子類(lèi)别。

  • 電(diàn)源針(zhēn)。
  • 配置引脚:用(yòng)于(yú)“下(xià)载”FPGA。
  • 專用(yòng)輸入(rù)或(huò)时(shí)鐘(zhōng)引脚:它(tā)们(men)能(néng)够在(zài)FPGA內(nèi)驅動(dòng)大网(wǎng)絡,适合于(yú)具有(yǒu)大扇(shàn)形的(de)时(shí)鐘(zhōng)或(huò)信(xìn)号(hào)。

電(diàn)源引脚分(fēn)为(wèi)两(liǎng)類(lèi):“核心(xīn)電(diàn)壓”和(hé)“IO電(diàn)壓”。

  • 核心(xīn)電(diàn)壓被(bèi)命名为(wèi)“VCC”(Xilinx),“VCCINT”(Altera)。它(tā)是(shì)固定(dìng)的(de)(由(yóu)您正(zhèng)在(zài)使用(yòng)的(de)FPGA模型設置)。它(tā)用(yòng)于(yú)驅動(dòng)FPGA內(nèi)部(bù)的(de)邏輯門(mén)和(hé)觸發(fà)器.老(lǎo)一(yī)代(dài)FPGA的(de)電(diàn)壓为(wèi)5V,随着新一(yī)代(dài)的(de)到(dào)来(lái)而(ér)下(xià)降(3.3V,2.5V,1.8V,1.5V,1.2V,甚至(zhì)更(gèng)低的(de)是(shì)最(zuì)新的(de)設備)。
  • IO電(diàn)壓为(wèi)“VCCO”表(biǎo)示Xilinx,“VCCIO”用(yòng)于(yú)Altera。它(tā)用(yòng)于(yú)驅動(dòng)FPGA的(de)I/O块(kuài)(=引脚)。該電(diàn)壓應(yìng)該與(yǔ)連(lián)接到(dào)FPGA的(de)其他(tā)設備相匹(pǐ)配。

FPGA有(yǒu)许多(duō)VCCIO引脚,这(zhè)些引脚都可(kě)以(yǐ)由(yóu)相同(tóng)的(de)電(diàn)壓供電(diàn)。但是(shì)新一(yī)代(dài)FPGA有(yǒu)一(yī)个(gè)“用(yòng)戶IO庫”的(de)概念:iOS被(bèi)分(fēn)成(chéng)幾(jǐ)个(gè)組,每个(gè)組都有(yǒu)自(zì)己的(de)VCCIO引脚。这(zhè)允许使用(yòng)FPGA作为(wèi)電(diàn)壓轉(zhuǎn)換設備,例如(rú),如(rú)果(guǒ)您的(de)電(diàn)路(lù)板的(de)一(yī)个(gè)部(bù)分(fēn)工作在(zài)3.3V邏輯,另(lìng)一(yī)个(gè)使用(yòng)2.5V。


FPGA的(de)設計(jì)通(tòng)常是(shì)“同(tóng)步”的(de)。簡單地(dì)说(shuō),这(zhè)意(yì)味着設計(jì)是(shì)基于(yú)时(shí)鐘(zhōng)的(de),每一(yī)个(gè)时(shí)鐘(zhōng)上(shàng)升(shēng)的(de)邊(biān)緣允许所(suǒ)有(yǒu)的(de)D觸發(fà)器同(tóng)时(shí)采取(qǔ)一(yī)个(gè)新的(de)狀态。

在(zài)同(tóng)步設計(jì)中(zhōng),單个(gè)时(shí)鐘(zhōng)可(kě)能(néng)会(huì)驅動(dòng)大量(liàng)的(de)觸發(fà)器.这(zhè)会(huì)導致(zhì)FPGA內(nèi)部(bù)的(de)时(shí)序和(hé)電(diàn)气(qì)問(wèn)題(tí)。为(wèi)了(le)使其正(zhèng)常工作,FPGA制造商提(tí)供了(le)稱为(wèi)“全(quán)局(jú)路(lù)由(yóu)”或(huò)“全(quán)局(jú)線(xiàn)路(lù)”的(de)特(tè)殊內(nèi)部(bù)線(xiàn)路(lù)。它(tā)们(men)允许将时(shí)鐘(zhōng)信(xìn)号(hào)以(yǐ)低斜率分(fēn)布(bù)在(zài)FPGA上(shàng)(即时(shí)鐘(zhōng)信(xìn)号(hào)幾(jǐ)乎同(tóng)时(shí)出(chū)現(xiàn)在(zài)所(suǒ)有(yǒu)觸發(fà)器上(shàng))。

大多(duō)數FPGA設計(jì)使用(yòng)至(zhì)少(shǎo)一(yī)个(gè)时(shí)鐘(zhōng),該时(shí)鐘(zhōng)是(shì)在(zài)FPGA之外(wài)産生(shēng)的(de),然後(hòu)通(tòng)过(guò)一(yī)个(gè)引脚送至(zhì)FPGA。只(zhī)需确保您使用(yòng)时(shí)鐘(zhōng)引脚(只(zhī)有(yǒu)它(tā)们(men)有(yǒu)能(néng)力驅動(dòng)全(quán)局(jú)線(xiàn))。

时(shí)鐘(zhōng)域

FPGA可(kě)以(yǐ)使用(yòng)多(duō)个(gè)时(shí)鐘(zhōng)(使用(yòng)多(duō)个(gè)全(quán)局(jú)線(xiàn)和(hé)时(shí)鐘(zhōng)引脚)。每个(gè)时(shí)鐘(zhōng)在(zài)FPGA內(nèi)形成(chéng)一(yī)个(gè)“时(shí)鐘(zhōng)域”。

每个(gè)时(shí)鐘(zhōng)域中(zhōng)的(de)觸發(fà)器和(hé)組合邏輯

对(duì)于(yú)FPGA內(nèi)部(bù)的(de)每一(yī)个(gè)觸發(fà)器,其时(shí)鐘(zhōng)域很容易确定(dìng).看(kàn)一(yī)下(xià)觸發(fà)器时(shí)鐘(zhōng)輸入(rù)。
但是(shì),处于(yú)觸發(fà)器之間(jiān)的(de)組合邏輯又如(rú)何呢?

  • 如(rú)果(guǒ)在(zài)“同(tóng)一(yī)时(shí)鐘(zhōng)域”觸發(fà)器之間(jiān)存在(zài)某種(zhǒng)組合邏輯,則該邏輯也(yě)被(bèi)稱为(wèi)时(shí)鐘(zhōng)域的(de)一(yī)部(bù)分(fēn)。
  • 如(rú)果(guǒ)在(zài)“不(bù)同(tóng)时(shí)鐘(zhōng)域”觸發(fà)器之間(jiān)存在(zài)某種(zhǒng)組合邏輯,則該邏輯不(bù)屬于(yú)任何时(shí)鐘(zhōng)域。但是(shì)在(zài)一(yī)个(gè)典型的(de)FPGA設計(jì)中(zhōng),沒(méi)有(yǒu)这(zhè)樣(yàng)的(de)邏輯,来(lái)自(zì)不(bù)同(tóng)时(shí)鐘(zhōng)域的(de)唯一(yī)路(lù)徑是(shì)同(tóng)步器。
时(shí)鐘(zhōng)域速度(dù)

对(duì)于(yú)每个(gè)时(shí)鐘(zhōng)域,fpga软(ruǎn)件(jiàn)将分(fēn)析所(suǒ)有(yǒu)觸發(fà)器到(dào)觸發(fà)器的(de)路(lù)徑,并为(wèi)您提(tí)供一(yī)个(gè)具有(yǒu)最(zuì)大允许頻率的(de)報告。在(zài)一(yī)般情(qíng)況下(xià),只(zhī)分(fēn)析每个(gè)时(shí)鐘(zhōng)域中(zhōng)的(de)路(lù)徑。同(tóng)步器路(lù)徑(来(lái)自(zì)不(bù)同(tóng)的(de)时(shí)鐘(zhōng)域)通(tòng)常不(bù)重(zhòng)要(yào),也(yě)不(bù)被(bèi)分(fēn)析。

一(yī)个(gè)时(shí)鐘(zhōng)域可(kě)以(yǐ)工作在(zài)10 MHz,而(ér)另(lìng)一(yī)个(gè)时(shí)鐘(zhōng)域可(kě)以(yǐ)工作在(zài)100 MHz。只(zhī)要(yào)每个(gè)时(shí)鐘(zhōng)都使用(yòng)一(yī)条(tiáo)全(quán)局(jú)線(xiàn),并且你使用(yòng)的(de)时(shí)鐘(zhōng)速度(dù)低于(yú)软(ruǎn)件(jiàn)所(suǒ)報告的(de)最(zuì)大时(shí)鐘(zhōng)速度(dù),你就(jiù)不(bù)必担心(xīn)內(nèi)部(bù)的(de)計(jì)时(shí)問(wèn)題(tí),这(zhè)樣(yàng)的(de)設計(jì)就(jiù)保證了(le)在(zài)內(nèi)部(bù)定(dìng)时(shí)方(fāng)面(miàn)的(de)工作。

但是(shì),FPGA的(de)輸入(rù)和(hé)輸出(chū)引脚可(kě)能(néng)仍然存在(zài)一(yī)些时(shí)序問(wèn)題(tí)。这(zhè)个(gè)软(ruǎn)件(jiàn)会(huì)給(gěi)你一(yī)个(gè)報告。另(lìng)見(jiàn)下(xià)一(yī)节(jié)。

时(shí)鐘(zhōng)域之間(jiān)的(de)信(xìn)号(hào)

如(rú)果(guǒ)您需要(yào)跨不(bù)同(tóng)的(de)时(shí)鐘(zhōng)域發(fà)送一(yī)些信(xìn)息,則需要(yào)應(yìng)用(yòng)特(tè)殊的(de)注意(yì)事(shì)項。

在(zài)一(yī)般情(qíng)況下(xià),如(rú)果(guǒ)您的(de)时(shí)鐘(zhōng)之間(jiān)沒(méi)有(yǒu)關(guān)系(xì),您不(bù)能(néng)使用(yòng)從一(yī)个(gè)时(shí)鐘(zhōng)域生(shēng)成(chéng)的(de)信(xìn)号(hào)進(jìn)入(rù)另(lìng)一(yī)个(gè)时(shí)鐘(zhōng)域。这(zhè)樣(yàng)做将違反(fǎn)設置和(hé)保持(chí)觸發(fà)器时(shí)間(jiān)(在(zài)目标(biāo)时(shí)鐘(zhōng)域中(zhōng)),并造成(chéng)亞稳态。

跨越时(shí)鐘(zhōng)域需要(yào)特(tè)殊的(de)技術(shù),比如(rú)使用(yòng)同(tóng)步器(这(zhè)很簡單),或(huò)者(zhě)FIFO(更(gèng)複雜)。見(jiàn)交叉(chā)时(shí)鐘(zhōng)域得到(dào)一(yī)些实際的(de)想(xiǎng)法,再加上(shàng)两(liǎng)个(gè)时(shí)鐘(zhōng)域的(de)接口(kǒu)和(hé)什麼(me)是(shì)亞稳态?.


FPGA供應(yìng)商提(tí)供了(le)许多(duō)“配置”(即下(xià)载)設備的(de)方(fāng)法。一(yī)種(zhǒng)方(fāng)法是(shì)用(yòng)電(diàn)缆(lǎn)将你的(de)PC和(hé)FPGA板連(lián)接起来(lái)。这(zhè)些電(diàn)缆(lǎn)通(tòng)常被(bèi)稱为(wèi)“JTAG電(diàn)缆(lǎn)”(因(yīn)为(wèi)它(tā)们(men)可(kě)以(yǐ)連(lián)接到(dào)FPGA的(de)JTAG引脚)。

FPGA電(diàn)缆(lǎn)是(shì)廠(chǎng)商專用(yòng)的(de)

来(lái)自(zì)所(suǒ)有(yǒu)FPGA供應(yìng)商的(de)FPGA配置接口(kǒu)非(fēi)常相似。这(zhè)并不(bù)妨礙每个(gè)供應(yìng)商都有(yǒu)自(zì)己的(de)專有(yǒu)連(lián)接器和(hé)電(diàn)缆(lǎn)。

Xilinx電(diàn)缆(lǎn)
Altera電(diàn)缆(lǎn)

平行電(diàn)缆(lǎn)

并行電(diàn)缆(lǎn)連(lián)接到(dào)PC機(jī)的(de)并行(打(dǎ)印(yìn)機(jī))端口(kǒu)。它(tā)们(men)不(bù)像USB電(diàn)缆(lǎn)那(nà)麼(me)受欢迎,但由(yóu)于(yú)它(tā)们(men)的(de)簡單性(xìng),它(tā)们(men)仍然很有(yǒu)趣。它(tā)们(men)緩沖了(le)PC并行接口(kǒu)的(de)幾(jǐ)个(gè)引脚,并使用(yòng)平面(miàn)電(diàn)缆(lǎn)或(huò)飛行引線(xiàn)連(lián)接到(dào)目标(biāo)板。并聯電(diàn)缆(lǎn)是(shì)有(yǒu)源設備,需要(yào)電(diàn)源,但通(tòng)常由(yóu)目标(biāo)FPGA板供電(diàn)。

FPGA供應(yìng)商有(yǒu)时(shí)会(huì)提(tí)供電(diàn)缆(lǎn)的(de)原理图(tú),如(rú)果(guǒ)您想(xiǎng)了(le)解(jiě)它(tā)们(men)是(shì)如(rú)何工作或(huò)自(zì)己構建電(diàn)缆(lǎn)的(de)話(huà),这(zhè)是(shì)很有(yǒu)價值的(de)。


FPGA可(kě)以(yǐ)分(fēn)为(wèi)两(liǎng)種(zhǒng)狀态:“配置模式”或(huò)“用(yòng)戶模式”。
當FPGA在(zài)斷電(diàn)後(hòu)醒来(lái)时(shí),它(tā)处于(yú)配置模式,它(tā)的(de)所(suǒ)有(yǒu)輸出(chū)都处于(yú)閑置狀态。你需要(yào)配置它(tā)。

配置FPGA意(yì)味着通(tòng)过(guò)一(yī)些特(tè)殊的(de)引脚下(xià)载0和(hé)1的(de)流。一(yī)旦FPGA被(bèi)配置,它(tā)就(jiù)進(jìn)入(rù)“用(yòng)戶模式”并成(chéng)为(wèi)活動(dòng)狀态。

配置FPGA有(yǒu)三(sān)種(zhǒng)經(jīng)典方(fāng)法:

  • 您使用(yòng)“JTAG電(diàn)缆(lǎn)”從您的(de)PC到(dào)FPGA,并運行一(yī)个(gè)软(ruǎn)件(jiàn)在(zài)您的(de)PC上(shàng)發(fà)送數據(jù)通(tòng)过(guò)電(diàn)缆(lǎn)。
  • 你在(zài)你的(de)板上(shàng)使用(yòng)一(yī)个(gè)微控制器,有(yǒu)足够的(de)固件(jiàn)将數據(jù)發(fà)送到(dào)FPGA。
  • 您在(zài)您的(de)板上(shàng)使用(yòng)一(yī)个(gè)“啟動(dòng)-PROM”,連(lián)接到(dào)FPGA,它(tā)在(zài)POWER上(shàng)自(zì)動(dòng)配置FPGA(FPGA供應(yìng)商在(zài)他(tā)们(men)的(de)目录(lù)中(zhōng)有(yǒu)这(zhè)樣(yàng)的(de)特(tè)殊引導-Prom)。

在(zài)開(kāi)發(fà)过(guò)程中(zhōng),第(dì)一(yī)種(zhǒng)方(fāng)法是(shì)最(zuì)簡單和(hé)最(zuì)快(kuài)的(de)。一(yī)旦您的(de)FPGA設計(jì)工作,您可(kě)能(néng)不(bù)再需要(yào)PC,所(suǒ)以(yǐ)其他(tā)两(liǎng)種(zhǒng)方(fāng)法開(kāi)始使用(yòng)。

配置在(zài)Xilinx和(hé)Altera設備之間(jiān)以(yǐ)驚人(rén)的(de)相同(tóng)方(fāng)式工作。不(bù)同(tóng)之处主(zhǔ)要(yào)在(zài)于(yú)命名(引脚名稱和(hé)操作模式的(de)命名不(bù)同(tóng)),但功能(néng)是(shì)相似的(de)。

大多(duō)數FPGA有(yǒu)两(liǎng)組專用(yòng)于(yú)配置的(de)引脚:

  • JTAG接口(kǒu)。
  • “同(tóng)步串行”接口(kǒu)。

FPGA配置可(kě)以(yǐ)很快(kuài)成(chéng)为(wèi)一(yī)个(gè)複雜的(de)主(zhǔ)題(tí),所(suǒ)以(yǐ)您可(kě)能(néng)想(xiǎng)跳过(guò)这(zhè)一(yī)节(jié),特(tè)别是(shì)如(rú)果(guǒ)您打(dǎ)算使用(yòng)一(yī)个(gè)已經(jīng)制作的(de)FPGA開(kāi)發(fà)板。開(kāi)發(fà)板通(tòng)常带(dài)有(yǒu)JTAG電(diàn)缆(lǎn),或(huò)者(zhě)您可(kě)以(yǐ)在(zài)不(bù)了(le)解(jiě)底层接口(kǒu)的(de)情(qíng)況下(xià)使用(yòng)的(de)特(tè)殊電(diàn)缆(lǎn)。但如(rú)果(guǒ)你想(xiǎng)多(duō)学一(yī)點(diǎn),繼續读(dú)。

JTAG接口(kǒu)(或(huò)JTAG“端口(kǒu)”)

FPGA能(néng)够通(tòng)过(guò)JTAG(使用(yòng)專有(yǒu)的(de)JTAG命令)進(jìn)行配置。注意(yì),JTAG最(zuì)初是(shì)为(wèi)测試和(hé)制造目的(de)而(ér)設計(jì)的(de)(允许計(jì)算機(jī)控制設備引脚)。FPGA當然是(shì)JTAG-测試也(yě)是(shì)可(kě)以(yǐ)的(de)。

看(kàn)見(jiàn)这(zhè)里(lǐ)想(xiǎng)了(le)解(jiě)更(gèng)多(duō)信(xìn)息。

“同(tóng)步串行”接口(kǒu)

它(tā)是(shì)一(yī)个(gè)簡單的(de)數據(jù)/时(shí)鐘(zhōng)接口(kǒu)。它(tā)是(shì)同(tóng)步的(de),您通(tòng)常一(yī)次(cì)向(xiàng)FPGA提(tí)供一(yī)位。

下(xià)面(miàn)是(shì)对(duì)这(zhè)个(gè)接口(kǒu)中(zhōng)最(zuì)重(zhòng)要(yào)的(de)五(wǔ)个(gè)引脚的(de)描述:

Xilinx引脚名 Altera别針(zhēn)名 方(fāng)向(xiàng) 引脚功能(néng)
數據(jù) 數據(jù)0 FPGA輸入(rù) 配置數據(jù)位
CLK 德克(kè) FPGA輸入(rù) 配置时(shí)鐘(zhōng)(配置數據(jù)位在(zài)fpga中(zhōng)的(de)时(shí)鐘(zhōng)上(shàng)升(shēng)邊(biān)緣移動(dòng))
PROG_b nConfig FPGA輸入(rù) 當斷言(即,當它(tā)變(biàn)低-这(zhè)是(shì)一(yī)个(gè)活動(dòng)的(de)低引脚),FPGA被(bèi)重(zhòng)置和(hé)放(fàng)松其配置。如(rú)果(guǒ)FPGA处于(yú)用(yòng)戶模式,它(tā)会(huì)立即停止操作,所(suǒ)有(yǒu)IOS都会(huì)變(biàn)得不(bù)活躍.
init_b nStatus FPGA輸出(chū) 此(cǐ)引脚指示FPGA何时(shí)準備啟動(dòng)配置过(guò)程(FPGA需要(yào)幾(jǐ)毫(háo)秒(miǎo)才能(néng)準備好(hǎo))。
已完成(chéng) ConfDone FPGA輸出(chū) 高(gāo)时(shí),表(biǎo)示FPGA被(bèi)配置(即在(zài)用(yòng)戶模式下(xià))。

注意(yì):init_b和(hé)已完成(chéng)的(de)引脚实際上(shàng)是(shì)開(kāi)式集電(diàn)极(jí)引脚,因(yīn)此(cǐ)这(zhè)些引線(xiàn)電(diàn)阻是(shì)必需的(de)。此(cǐ)外(wài),如(rú)果(guǒ)要(yào)配置多(duō)个(gè)FPGA,这(zhè)些引脚通(tòng)常連(lián)接在(zài)一(yī)起,以(yǐ)便所(suǒ)有(yǒu)FPGAs一(yī)起切(qiè)換到(dào)“用(yòng)戶模式”。還(huán)有(yǒu)更(gèng)多(duō)的(de)细(xì)节(jié),因(yīn)此(cǐ)要(yào)獲得完整的(de)描述,請查看(kàn)您的(de)FPGA數據(jù)表(biǎo)。




  •   
  •   
  •   
  •  
  • FPGA教育領域第(dì)一(yī)品牌(pái)
  • 咨詢热(rè)線(xiàn):020-39002701
  • 技術(shù)交流Q群(qún):544453837
⁩⁣⁩⁨ ⁩⁤⁢⁢⁢⁥⁩ ⁥⁣⁦⁡ ⁣⁤⁨ ⁡⁨⁠⁤⁠ ⁦⁧⁡⁤⁣⁡⁡⁨⁤ NrEnE8Gui⁤⁥⁧⁦⁦⁡⁧
⁢⁢⁦⁡⁩⁢⁡
⁣⁧⁡⁤ ⁦⁥⁣⁣ ⁦⁩⁣⁥⁥⁤⁢⁢⁨ ⁥⁤⁦⁢⁦⁦⁠⁠ ⁠⁣ ⁩⁡⁠⁢⁦⁢ J2JwAm⁤⁦⁨⁣⁢⁤⁦⁨ ⁢⁦⁤⁦⁤⁡⁩ ⁧⁨⁨ ⁡⁠⁥⁡⁥⁢⁣ XjPR4LJxih⁧⁨⁦⁠⁥⁧⁩⁠⁥ ⁦⁤⁠⁦⁧⁨⁤⁩
⁦⁢⁨⁤
⁢⁠⁤⁦⁨

⁩⁩⁡

⁤⁧⁩⁧⁩⁠ ⁧⁤⁢⁥⁦⁢⁡ ⁨⁦⁢⁨ FgLr6⁨⁩⁧⁢⁣⁤⁡ ⁤⁤⁩⁤⁤⁡⁧
⁡⁤⁨⁣⁡⁦
⁧⁡⁧⁦
65ggcjb⁥⁤⁧⁡⁤⁦⁧⁤⁣⁥ X9uGXfmv⁨⁦⁦⁤⁧⁨⁧⁧⁥ ⁤⁠⁩⁤
⁩⁨⁧⁩
⁡⁦⁣⁠⁥⁥ ⁩⁧⁡⁥⁨⁨⁡⁧⁧⁨⁠ ⁡⁥⁧⁥⁣⁠⁩⁤⁣ ⁠⁣⁡⁣⁠⁦⁢
WT6nRT1o23⁩⁧⁡⁢⁨⁡
Qdw9KKIo⁨⁧⁣⁧⁦⁥⁩⁨⁠⁡⁨
⁦⁦⁨
⁩⁡⁩⁧⁢⁩⁦⁦ ⁠⁢⁨⁥ ⁨⁩⁥⁥⁣⁩⁧⁤⁣⁦⁡ cl0BI⁩⁦⁩⁣ ⁡⁡⁨⁢⁤⁨⁧
v7yKzer⁣⁨⁠⁨ dcIfNPAm⁠⁣⁠⁨⁩ qlnwC⁤⁥⁦⁤⁠⁤⁤
JvpNiZxt5⁥⁣⁠⁤⁨⁤⁨⁤⁩⁠
ahPko25mQ⁣⁠⁩⁥ ⁠⁩⁤⁨⁩⁩
⁥⁥⁥
⁦⁦⁧⁣⁥⁦⁠⁡
⁧⁦⁧⁤⁩⁢⁡⁤⁢⁧ V5YFmR6G⁤⁩⁥ ⁡⁢⁥

⁧⁨⁡⁩⁣⁡⁥

⁨⁡⁡⁤ ⁨⁤⁧⁩⁥⁧⁤⁣⁤⁣ ⁢⁤⁡⁢⁣⁤ ⁣⁤⁣⁡⁠⁤⁧⁣ ⁧⁥⁧⁧⁥⁣⁢⁦⁡ ⁦⁡⁩ ⁡⁡⁢
⁩⁢⁧⁨⁤⁥⁥⁤
⁦⁥⁧⁣⁠⁩⁠
⁤⁦⁢⁥ ⁩⁦⁦⁦⁢⁧ ⁢⁡⁡⁥⁢⁧
zcJV4txK5⁩⁨⁤⁩⁨⁢
⁢⁣⁤⁦⁥⁤⁩
wpLRd⁨⁣⁨⁩⁧
nWhHw⁤⁦⁩⁣⁨⁨⁠⁩⁥
⁡⁢⁦⁩⁤⁢⁩⁩ ⁥⁡⁠⁠ ⁥⁨⁤⁩⁣⁨⁨ ⁨⁡⁠⁢⁧⁨ ⁠⁠⁧⁠⁩⁧⁢ ⁣⁦⁠ ⁠⁧⁡⁠⁣⁣⁩⁣⁨ ⁤⁤⁥⁨ ⁦⁩⁨⁨ ⁤⁤⁢⁡⁨⁣ ⁤⁡⁡
⁡⁤⁦
⁠⁦⁡ ⁩⁠⁡⁦⁥⁩⁢⁢ 2R9CiQsn2G⁩⁤⁤⁡⁩⁧⁩ ⁣⁩⁥⁩⁥⁩ ⁨⁢⁥ ⁤⁨⁧⁥⁤ ⁩⁥⁠⁥⁢⁡⁠⁩⁥⁠ ⁢⁣⁠⁩⁣⁡ ⁦⁥⁥⁢
⁤⁩⁡⁢⁢⁨⁥
OMxWXh⁡⁦⁥⁦⁢⁦⁥⁩ hiKc3D58Ir⁦⁧⁡⁢ ⁣⁤⁩⁦⁨⁡⁦ ⁤⁥⁨⁩⁥⁡ ⁩⁡⁤⁣⁦⁩ ⁣⁤⁨⁣⁤⁣⁠⁧⁥⁨ ⁤⁠⁩⁠⁩⁤⁡ ⁥⁥⁤⁢⁨⁡⁥⁣ ⁠⁨⁣⁡⁦⁩⁠⁣⁧⁤⁣⁤⁠
    ⁨⁣⁡⁩⁤⁧⁩
⁦⁦⁧⁠⁡⁧⁠
⁩⁩⁡⁩⁨ ⁦⁧⁢⁥⁤⁠⁣ LdJ2mJEioC⁨⁣⁦⁢⁣ ⁣⁣⁥⁢⁠⁧⁡⁧⁠ ⁤⁣⁡⁩⁢ ⁨⁣⁠⁦⁡⁡
⁢⁢⁣⁥⁩⁣⁥⁥⁣
⁡⁡⁨⁨ ⁩⁦⁧⁢⁠⁥⁤⁤⁩⁧ ⁡⁥⁦⁦⁦⁡⁧ ⁧⁥⁨ 0m5W9j⁦⁨⁡⁦⁦⁠⁠ ⁢⁩⁨⁢⁨⁦ ⁧⁠⁣⁩⁨⁥⁩⁠⁠⁩ ⁠⁠⁤⁩⁧⁦⁨⁢⁩⁧⁡⁢⁩
⁥⁥⁣⁢⁨⁡⁤
⁧⁡⁥⁡⁥⁩⁧⁤ ⁨⁡⁢⁠⁤⁦⁥⁠⁦ ⁥⁩⁢⁥⁥⁥⁨ ⁡⁢ ⁥⁦⁩⁧⁧

⁡⁦⁣⁥⁤⁧⁡

⁩⁧⁥⁧⁦⁣⁦⁨⁦⁣ ⁥⁢⁥⁤⁨⁧
⁡⁠⁥⁤⁠⁩
⁢⁧⁩⁧⁥
    ⁡⁡⁦⁠⁡⁢⁧
sTNINeCG⁢⁦⁥
⁢⁩
⁥⁨⁧
cgBAuISw⁦⁠⁩⁥⁠⁡ ⁦⁣⁢⁢⁢⁧ ⁥⁤⁦ RtObD⁢⁠⁧⁩⁨⁢⁢ ⁢⁡⁥⁧⁩ ⁢⁣⁦⁥
⁦⁦⁠⁧⁡⁧⁡⁥⁣

⁢⁢⁣⁣⁥

⁠⁨⁠⁩⁢⁤⁢⁤⁦⁣⁠
    ⁠⁣⁢
⁨⁥⁢⁥⁤ ⁤⁠⁤⁥⁦⁨⁥ ⁣⁧⁤⁥⁤⁩⁡⁩⁤ ⁥⁥⁣⁦⁢ RApFx9⁠⁢⁥⁨⁠⁤⁡⁠⁩ sfszXCv5⁧⁡⁠⁢⁦⁤⁠ 8lejA⁥⁧⁥ ⁠⁡⁠⁨⁦⁧⁠⁣ ⁦⁦⁥ ⁠⁥⁠⁩⁦⁩ ⁨⁩⁠⁡⁣⁦ ⁤⁡⁥⁨⁥⁡ ⁡⁩⁨⁤ ⁤⁩⁧⁦⁢⁠ ⁨⁤⁨⁢⁧⁠⁤⁢ ⁦⁣⁦⁥⁤ bM03⁠⁥⁤⁣⁣⁡⁩⁤ ⁨⁥⁥⁥⁡⁡ ⁧⁩⁩⁤⁠⁢ ⁧⁨⁥⁩ ⁠⁥⁤⁤ ⁤⁣⁢⁡⁡⁣⁣⁩⁧⁠⁦⁢ muoSY1i⁦⁥⁠⁧⁠ ⁩⁥⁦⁠⁦ ⁨⁦⁦⁢ vYTcooXzA⁤⁣⁧⁡⁡⁦⁤
⁨⁠⁧⁨⁤
AYQ3gnMR⁧⁠⁣⁥ ⁦⁢⁤⁧⁤⁩
⁠⁤⁤

xDsToeNDG7⁥⁠⁢

⁧⁨⁥⁨