明(míng)德揚專注于(yú)FPGA培訓:設有(yǒu) FPGA网(wǎng)絡班、FPGA就(jiù)業班
PCIExpress通(tòng)常有(yǒu)两(liǎng)種(zhǒng)尺寸(cùn):1車道(dào)和(hé)16車道(dào),1車道(dào)用(yòng)于(yú)普通(tòng)板卡(kǎ),16車道(dào)用(yòng)于(yú)图(tú)形卡(kǎ)。
連(lián)接器
單車道(dào)連(lián)接器有(yǒu)36个(gè)觸點(diǎn),排列成(chéng)两(liǎng)排18个(gè)觸點(diǎn).
这(zhè)里(lǐ)有(yǒu)个(gè)俯瞰。
在(zài)36个(gè)觸點(diǎn)中(zhōng),只(zhī)有(yǒu)6个(gè)对(duì)數據(jù)傳輸有(yǒu)用(yòng),其餘的(de)是(shì)電(diàn)源引脚和(hé)其他(tā)輔助信(xìn)号(hào)。这(zhè)6个(gè)功能(néng)觸點(diǎn)分(fēn)3对(duì)使用(yòng):
-
一(yī)个(gè)叫REFCLK的(de)时(shí)鐘(zhōng)对(duì)。
-
一(yī)種(zhǒng)叫PER的(de)接收(shōu)对(duì)。
-
一(yī)種(zhǒng)叫做PET的(de)傳輸对(duì)。
这(zhè)两(liǎng)对(duì)通(tòng)常被(bèi)稱为(wèi)“差分(fēn)对(duì)”,因(yīn)为(wèi)来(lái)自(zì)一(yī)对(duì)信(xìn)号(hào)的(de)每一(yī)个(gè)信(xìn)号(hào)都带(dài)有(yǒu)相同(tóng)的(de)信(xìn)号(hào),但其中(zhōng)一(yī)个(gè)信(xìn)号(hào)與(yǔ)另(lìng)一(yī)个(gè)信(xìn)号(hào)相反(fǎn)。使用(yòng)差動(dòng)对(duì)的(de)原因(yīn)主(zhǔ)要(yào)是(shì)傳動(dòng)的(de)可(kě)靠性(xìng),稍後(hòu)将更(gèng)詳细(xì)地(dì)讨論。
在(zài)PCIExpress第(dì)1代(dài)(或(huò)簡單地(dì)说(shuō)是(shì)“GEN 1”)中(zhōng),PET和(hé)PER对(duì)的(de)數據(jù)傳輸速度(dù)为(wèi)2.5Gbps。第(dì)二(èr)代(dài)是(shì)那(nà)个(gè)的(de)两(liǎng)倍。
看(kàn)着龙-英在(zài)板上(shàng),我(wǒ)们(men)可(kě)以(yǐ)識别FPGA下(xià)面(miàn)的(de)PET对(duì)。
为(wèi)了(le)正(zhèng)确地(dì)工作,差動(dòng)副中(zhōng)的(de)線(xiàn)需要(yào)電(diàn)耦合,沒(méi)有(yǒu)阻抗不(bù)連(lián)續,这(zhè)在(zài)实際中(zhōng)意(yì)味着“保持(chí)緊密”和(hé)“沒(méi)有(yǒu)尖銳的(de)角(jiǎo)度(dù)”。这(zhè)就(jiù)是(shì)龙-E的(de)PET对(duì)蛇形形狀的(de)原因(yīn)。板的(de)另(lìng)一(yī)邊(biān)顯示了(le)另(lìng)外(wài)两(liǎng)对(duì)蛇形对(duì)REFCLK和(hé)PER。
PCI Express x16
为(wèi)了(le)提(tí)高(gāo)速度(dù),可(kě)以(yǐ)使用(yòng)多(duō)条(tiáo)車道(dào)。REFCLK对(duì)不(bù)需要(yào)重(zhòng)複,例如(rú),带(dài)有(yǒu)2車道(dào)的(de)PCIExpress使用(yòng)5对(duì)(1 REFCLK+2 PET+2 PER)。
图(tú)形板通(tòng)常使用(yòng)16車道(dào)連(lián)接器,这(zhè)通(tòng)常被(bèi)稱为(wèi)PCIExpress x16。
PCI Express 2-拓撲
點(diǎn)对(duì)點(diǎn)體(tǐ)系(xì)結構
在(zài)2.5Gsps时(shí),PCIExpress Gen1的(de)線(xiàn)路(lù)速度(dù)是(shì)33 MHz遺留PCI速度(dù)的(de)75倍。
那(nà)件(jiàn)事(shì)怎麼(me)可(kě)能(néng)?只(zhī)是(shì)因(yīn)为(wèi)pci Express是(shì)點(diǎn)对(duì)點(diǎn)總(zǒng)線(xiàn)。
還(huán)記(jì)得PCI是(shì)如(rú)何共(gòng)享總(zǒng)線(xiàn)的(de)吗?
对(duì)于(yú)PCI,必須指定(dìng)足够的(de)时(shí)間(jiān)讓信(xìn)号(hào)在(zài)每个(gè)时(shí)鐘(zhōng)周期(qī)內(nèi)稳定(dìng)下(xià)来(lái)。这(zhè)是(shì)因(yīn)为(wèi)PCI總(zǒng)線(xiàn)的(de)每一(yī)行都是(shì)沿着同(tóng)一(yī)總(zǒng)線(xiàn)上(shàng)的(de)PCI連(lián)接器和(hé)板共(gòng)享的(de)。使用(yòng)pci Express,每个(gè)信(xìn)号(hào)都是(shì)點(diǎn)对(duì)點(diǎn),这(zhè)意(yì)味着沒(méi)有(yǒu)更(gèng)多(duō)的(de)稳定(dìng)时(shí)間(jiān),而(ér)且線(xiàn)路(lù)速度(dù)可(kě)以(yǐ)更(gèng)高(gāo)。
例如(rú),如(rú)果(guǒ)主(zhǔ)板有(yǒu)两(liǎng)个(gè)單車道(dào)連(lián)接器和(hé)一(yī)个(gè)16車道(dào)連(lián)接器,則需要(yào)6+6+34=橋(qiáo)上(shàng)的(de)46个(gè)引脚,僅供REFCLK、PER和(hé)寵物(wù)使用(yòng)(因(yīn)为(wèi)不(bù)允许共(gòng)享)。
时(shí)鐘(zhōng)恢複
在(zài)2.5GHz的(de)速度(dù)下(xià),點(diǎn)对(duì)點(diǎn)架構仍然是(shì)一(yī)个(gè)挑戰,因(yīn)为(wèi)每个(gè)比特(tè)的(de)持(chí)續时(shí)間(jiān)太短(duǎn),以(yǐ)至(zhì)于(yú)定(dìng)时(shí)抖動(dòng)(圍繞每一(yī)位到(dào)达(dá)的(de)时(shí)間(jiān)不(bù)确定(dìng)性(xìng))成(chéng)为(wèi)一(yī)个(gè)問(wèn)題(tí)。即使每个(gè)信(xìn)号(hào)对(duì)都有(yǒu)一(yī)个(gè)伴随着它(tā)發(fà)送的(de)相關(guān)时(shí)鐘(zhōng)对(duì),該时(shí)鐘(zhōng)对(duì)也(yě)会(huì)受到(dào)定(dìng)时(shí)抖動(dòng)的(de)影響。因(yīn)此(cǐ),取(qǔ)而(ér)代(dài)之的(de)是(shì)一(yī)種(zhǒng)叫做“时(shí)鐘(zhōng)恢複”的(de)新技術(shù)。
时(shí)鐘(zhōng)恢複很簡單。基本(běn)上(shàng),对(duì)于(yú)每个(gè)信(xìn)号(hào)对(duì),对(duì)接收(shōu)器都会(huì)查看(kàn)信(xìn)号(hào)轉(zhuǎn)換(位0,後(hòu)面(miàn)跟着位1,反(fǎn)之亦然),從中(zhōng)可(kě)以(yǐ)推斷出(chū)周圍比特(tè)的(de)位置。一(yī)个(gè)問(wèn)題(tí)是(shì),如(rú)果(guǒ)多(duō)个(gè)連(lián)續比特(tè)以(yǐ)相同(tóng)的(de)值傳輸(如(rú)许多(duō)0‘s),則不(bù)会(huì)出(chū)現(xiàn)信(xìn)号(hào)轉(zhuǎn)換。因(yīn)此(cǐ),額外(wài)的(de)比特(tè)被(bèi)發(fà)送,以(yǐ)确保信(xìn)号(hào)轉(zhuǎn)換不(bù)太遥遠(yuǎn)(这(zhè)“重(zhòng)新同(tóng)步”时(shí)鐘(zhōng)恢複機(jī)制)。
額外(wài)的(de)比特(tè)使用(yòng)一(yī)種(zhǒng)稱为(wèi)8b/10b編碼的(de)方(fāng)案(àn)發(fà)送,因(yīn)此(cǐ)对(duì)于(yú)每8位有(yǒu)用(yòng)的(de)數據(jù),实際以(yǐ)一(yī)種(zhǒng)保證足够信(xìn)号(hào)轉(zhuǎn)換的(de)特(tè)定(dìng)方(fāng)式傳輸10位(20%的(de)開(kāi)銷)。但这(zhè)也(yě)意(yì)味着,在(zài)2.5GHz时(shí),我(wǒ)们(men)每对(duì)只(zhī)獲得250 Mbps的(de)有(yǒu)效带(dài)宽(kuān)(而(ér)不(bù)是(shì)沒(méi)有(yǒu)編碼開(kāi)銷的(de)312 MBps)。
微分(fēn)对(duì)
現(xiàn)在(zài)還(huán)記(jì)得信(xìn)号(hào)是(shì)以(yǐ)差分(fēn)对(duì)發(fà)送的(de)事(shì)实吗?这(zhè)有(yǒu)许多(duō)优點(diǎn):
-
它(tā)更(gèng)不(bù)受外(wài)界干(gàn)擾。
-
它(tā)能(néng)在(zài)低電(diàn)壓下(xià)工作。
-
..最(zuì)後(hòu)但并非(fēi)最(zuì)不(bù)重(zhòng)要(yào)的(de)一(yī)點(diǎn):这(zhè)有(yǒu)助于(yú)时(shí)鐘(zhōng)恢複獲得精确的(de)信(xìn)号(hào)轉(zhuǎn)換。
差分(fēn)对(duì)有(yǒu)一(yī)个(gè)明(míng)顯的(de)缺點(diǎn):傳輸一(yī)个(gè)信(xìn)号(hào)需要(yào)两(liǎng)倍多(duō)的(de)電(diàn)線(xiàn)。
PCI Express 2-數據(jù)包(bāo)及(jí)堆(duī)棧
分(fēn)組交易
PCI Express是(shì)一(yī)種(zhǒng)串行總(zǒng)線(xiàn)。或(huò)者(zhě)是(shì)?從計(jì)算機(jī)的(de)角(jiǎo)度(dù)来(lái)看(kàn),它(tā)是(shì)一(yī)種(zhǒng)可(kě)以(yǐ)实現(xiàn)读(dú)写事(shì)务的(de)常規總(zǒng)線(xiàn)。
訣竅是(shì)所(suǒ)有(yǒu)的(de)操作都是(shì)打(dǎ)包(bāo)的(de)。讓我(wǒ)们(men)假設CPU想(xiǎng)要(yào)向(xiàng)設備写入(rù)一(yī)些數據(jù)。它(tā)将訂單轉(zhuǎn)發(fà)到(dào)PCIExpress橋(qiáo),然後(hòu)PCI Express橋(qiáo)創建一(yī)个(gè)數據(jù)包(bāo)。該數據(jù)包(bāo)包(bāo)含要(yào)写入(rù)的(de)地(dì)址和(hé)數據(jù),并被(bèi)串行地(dì)轉(zhuǎn)發(fà)到(dào)目标(biāo)設備,該設備解(jiě)除写入(rù)順序并執行它(tā)。
如(rú)果(guǒ)CPU想(xiǎng)要(yào)读(dú)取(qǔ)呢?同(tóng)樣(yàng),网(wǎng)橋(qiáo)将一(yī)个(gè)數據(jù)包(bāo)轉(zhuǎn)發(fà)給(gěi)目标(biāo)設備,該設備現(xiàn)在(zài)必須執行读(dú)取(qǔ),創建返回(huí)數據(jù)包(bāo)并将其發(fà)送到(dào)橋(qiáo)接器。
所(suǒ)有(yǒu)这(zhè)些在(zài)实踐中(zhōng)都很容易做到(dào),謝謝.
PCIExpress堆(duī)棧
讓數據(jù)包(bāo)在(zài)電(diàn)線(xiàn)上(shàng)可(kě)靠地(dì)流動(dòng)需要(yào)一(yī)些魔法。由(yóu)于(yú)分(fēn)組以(yǐ)非(fēi)常高(gāo)的(de)速度(dù)串行傳輸,它(tā)们(men)必須被(bèi)反(fǎn)序列化(huà)/組裝(zhuāng),在(zài)目的(de)地(dì)被(bèi)解(jiě)碼(删除8b/10b編碼),解(jiě)交織(如(rú)果(guǒ)使用(yòng)多(duō)条(tiáo)車道(dào)),并檢查是(shì)否有(yǒu)線(xiàn)路(lù)損壞(CRC檢查)。
听(tīng)起来(lái)很複雜?很可(kě)能(néng)是(shì)。問(wèn)題(tí)是(shì),我(wǒ)们(men)并不(bù)在(zài)乎,因(yīn)为(wèi)大多(duō)數複雜性(xìng)都是(shì)在(zài)由(yóu)三(sān)个(gè)层組成(chéng)的(de)“PCIExpress堆(duī)棧”中(zhōng)处理的(de)。
-
物(wù)理层。
-
數據(jù)鍊(liàn)路(lù)层。
-
事(shì)务层。
前(qián)两(liǎng)层是(shì)在(zài)PCIExpress FPGA內(nèi)核(通(tòng)常是(shì)硬(yìng)核和(hé)软(ruǎn)核的(de)組合)中(zhōng)为(wèi)我(wǒ)们(men)实現(xiàn)的(de),并处理所(suǒ)有(yǒu)的(de)複雜性(xìng)。作为(wèi)一(yī)个(gè)用(yòng)戶,我(wǒ)们(men)只(zhī)在(zài)交易层工作,那(nà)里(lǐ)的(de)生(shēng)活很容易,天(tiān)空是(shì)藍(lán)色(sè)的(de),女孩是(shì)美麗的(de)。
詳情(qíng)如(rú)下(xià):
-
物(wù)理层:那(nà)是(shì)引脚移動(dòng)的(de)地(dì)方(fāng)。8b/10b編碼/解(jiě)碼和(hé)車道(dào)拆卸/重(zhòng)新組裝(zhuāng)是(shì)在(zài)那(nà)里(lǐ)進(jìn)行的(de)。
-
數據(jù)鍊(liàn)路(lù)层:在(zài)那(nà)里(lǐ)檢查數據(jù)完整性(xìng)(CRCS),并在(zài)需要(yào)时(shí)重(zhòng)新傳輸數據(jù)包(bāo)(希望很少(shǎo)發(fà)生(shēng))。
-
事(shì)务层:这(zhè)是(shì)用(yòng)戶級别。一(yī)旦一(yī)个(gè)包(bāo)到(dào)达(dá)这(zhè)里(lǐ),它(tā)保證是(shì)良好(hǎo)的(de)數據(jù)。
好(hǎo)數據(jù)?太好(hǎo)了(le),这(zhè)就(jiù)是(shì)我(wǒ)们(men)想(xiǎng)要(yào)的(de)!
讓我(wǒ)们(men)看(kàn)看(kàn)在(zài)事(shì)务层中(zhōng)是(shì)如(rú)何工作的(de)。
PCIE--事(shì)务层簡介
在(zài)事(shì)务层,我(wǒ)们(men)接收(shōu)“數據(jù)包(bāo)”。有(yǒu)一(yī)个(gè)32位的(de)總(zǒng)線(xiàn),數據(jù)包(bāo)到(dào)达(dá)總(zǒng)線(xiàn)上(shàng)(數據(jù)包(bāo)长度(dù)總(zǒng)是(shì)32位的(de)倍數)。也(yě)许一(yī)个(gè)數據(jù)包(bāo)会(huì)说(shuō)“在(zài)地(dì)址0xABCD上(shàng)写數據(jù)0x1234”,而(ér)另(lìng)一(yī)个(gè)數據(jù)包(bāo)会(huì)说(shuō)“從地(dì)址0xDCBA读(dú)取(qǔ)(并返回(huí)一(yī)个(gè)響應(yìng)包(bāo))”。
數據(jù)包(bāo)有(yǒu)多(duō)種(zhǒng)類(lèi)型:內(nèi)存读(dú)取(qǔ)、內(nèi)存写入(rù)、I/O读(dú)取(qǔ)、I/O写入(rù)、消息、完成(chéng)等。我(wǒ)们(men)在(zài)事(shì)务层的(de)工作是(shì)接受數據(jù)包(bāo)并發(fà)出(chū)數據(jù)包(bāo)。數據(jù)包(bāo)以(yǐ)一(yī)種(zhǒng)稱为(wèi)“事(shì)务层數據(jù)包(bāo)”(TLP)的(de)特(tè)定(dìng)格式呈現(xiàn)給(gěi)我(wǒ)们(men),到(dào)达(dá)總(zǒng)線(xiàn)上(shàng)的(de)每一(yī)个(gè)32位數據(jù)都被(bèi)稱为(wèi)“双(shuāng)字(zì)”(簡稱DW)。
所(suǒ)以(yǐ)一(yī)个(gè)數據(jù)包(bāo)(抱歉,TLP)是(shì)一(yī)堆(duī)DWS。
TLP的(de)外(wài)观
TLPS很容易解(jiě)釋。这(zhè)是(shì)它(tā)们(men)的(de)總(zǒng)體(tǐ)結構。
头(tóu)包(bāo)含3或(huò)4个(gè)DWS,但是(shì)最(zuì)重(zhòng)要(yào)的(de)字(zì)段(duàn)是(shì)第(dì)一(yī)个(gè)DW的(de)一(yī)部(bù)分(fēn)。
“fmt”字(zì)段(duàn)告訴報头(tóu)多(duō)长时(shí)間(jiān),以(yǐ)及(jí)是(shì)否存在(zài)數據(jù)有(yǒu)效負载。
然後(hòu)與(yǔ)“Type”一(yī)起描述TLP操作。TLP報头(tóu)內(nèi)容的(de)其餘部(bù)分(fēn)取(qǔ)決于(yú)TLP操作。
例如(rú),这(zhè)里(lǐ)有(yǒu)一(yī)个(gè)32位的(de)內(nèi)存写tlp头(tóu),您可(kě)以(yǐ)看(kàn)到(dào)写入(rù)地(dì)址在(zài)報头(tóu)的(de)末(mò)尾(要(yào)写入(rù)的(de)數據(jù)在(zài)報头(tóu)之後(hòu)的(de)有(yǒu)效負载中(zhōng))。
“fmt”字(zì)段(duàn)是(shì)“10”,意(yì)思(sī)是(shì)“3 dw,with data”。这(zhè)是(shì)有(yǒu)道(dào)理的(de),內(nèi)存写需要(yào)數據(jù)来(lái)写,所(suǒ)以(yǐ)當在(zài)头(tóu)後(hòu)獲得數據(jù)有(yǒu)效負载时(shí),我(wǒ)们(men)将數據(jù)写入(rù)某个(gè)內(nèi)存(或(huò)以(yǐ)某種(zhǒng)方(fāng)式使用(yòng)它(tā)),我(wǒ)们(men)就(jiù)完成(chéng)了(le)它(tā)。字(zì)段(duàn)“Length”指示負载中(zhōng)有(yǒu)多(duō)少(shǎo)DWS(從0到(dào)1023)。通(tòng)常,它(tā)是(shì)一(yī)个(gè)要(yào)写入(rù)的(de)DW,在(zài)这(zhè)種(zhǒng)情(qíng)況下(xià),长度(dù)等于(yú)1,而(ér)總(zǒng)TLP长度(dù)是(shì)4 DWS(头(tóu)部(bù)3,有(yǒu)效負载1)。
現(xiàn)在(zài)读(dú)一(yī)下(xià)記(jì)憶怎麼(me)樣(yàng)?不(bù)知怎麼(me)的(de),我(wǒ)们(men)必須返回(huí)數據(jù)。
用(yòng)數據(jù)完成(chéng)
如(rú)果(guǒ)TLP是(shì)一(yī)个(gè)內(nèi)存读(dú),而(ér)不(bù)是(shì)写,我(wǒ)们(men)必須執行读(dú),然後(hòu)響應(yìng)。对(duì)于(yú)这(zhè)種(zhǒng)響應(yìng),有(yǒu)一(yī)个(gè)特(tè)殊的(de)TLP,稱为(wèi)CPLD(用(yòng)數據(jù)完成(chéng)),它(tā)的(de)有(yǒu)效载荷包(bāo)含我(wǒ)们(men)想(xiǎng)要(yào)返回(huí)的(de)數據(jù)。
讓我(wǒ)们(men)仔细(xì)看(kàn)看(kàn)32位內(nèi)存读(dú)取(qǔ)tlp头(tóu)-它(tā)非(fēi)常類(lèi)似于(yú)我(wǒ)们(men)之前(qián)的(de)32位內(nèi)存写入(rù)。
一(yī)个(gè)不(bù)同(tóng)之处是(shì)fmt=00,意(yì)思(sī)是(shì)“沒(méi)有(yǒu)數據(jù)”。有(yǒu)道(dào)理,我(wǒ)们(men)不(bù)需要(yào)數據(jù)来(lái)读(dú)取(qǔ),只(zhī)需要(yào)地(dì)址。但我(wǒ)们(men)現(xiàn)在(zài)必須用(yòng)數據(jù)来(lái)回(huí)應(yìng)。同(tóng)樣(yàng)重(zhòng)要(yào)的(de)是(shì),无論谁要(yào)求閱读(dú),都需要(yào)回(huí)複.你看(kàn)到(dào)問(wèn)題(tí)了(le)吗?
好(hǎo)的(de),我(wǒ)们(men)收(shōu)到(dào)了(le)一(yī)个(gè)读(dú)取(qǔ)請求。它(tā)来(lái)自(zì)CPU吗?還(huán)是(shì)中(zhōng)斷控制器?還(huán)是(shì)用(yòng)图(tú)形卡(kǎ)?畢竟,许多(duō)設備都能(néng)够發(fà)出(chū)这(zhè)樣(yàng)的(de)請求。答(dá)案(àn)是(shì)在(zài)“請求者(zhě)ID”中(zhōng)給(gěi)出(chū)的(de)-它(tā)顯示了(le)請求读(dú)取(qǔ)的(de)人(rén)。所(suǒ)以(yǐ)當我(wǒ)们(men)創建CPLD TLP时(shí),我(wǒ)们(men)必須重(zhòng)新記(jì)录(lù)其中(zhōng)的(de)“請求者(zhě)ID”。这(zhè)樣(yàng),它(tā)将通(tòng)过(guò)PCI Express橋(qiáo)路(lù)由(yóu)到(dào)它(tā)所(suǒ)屬的(de)位置。順便说(shuō)一(yī)句(jù),我(wǒ)们(men)還(huán)必須重(zhòng)新複制“标(biāo)記(jì)”(这(zhè)在(zài)多(duō)次(cì)读(dú)取(qǔ)挂起的(de)情(qíng)況下(xià)非(fēi)常有(yǒu)用(yòng))。
TLP尺寸(cùn)
一(yī)个(gè)典型的(de)32位地(dì)址/數據(jù)存儲器读(dú)取(qǔ)TLP是(shì)由(yóu)头(tóu)部(bù)中(zhōng)的(de)3 DWS和(hé)无有(yǒu)效载荷(所(suǒ)以(yǐ)96位總(zǒng)計(jì))組成(chéng)的(de),而(ér)類(lèi)似的(de)內(nèi)存写入(rù)是(shì)由(yóu)4 DWS組成(chéng)(3用(yòng)于(yú)報头(tóu),1用(yòng)于(yú)有(yǒu)效負载)。这(zhè)在(zài)带(dài)宽(kuān)方(fāng)面(miàn)不(bù)是(shì)很有(yǒu)效,因(yīn)为(wèi)TLP報头(tóu)開(kāi)銷很大,所(suǒ)以(yǐ)最(zuì)好(hǎo)在(zài)可(kě)能(néng)的(de)情(qíng)況下(xià)使用(yòng)更(gèng)大的(de)TLP有(yǒu)效負载。TLP有(yǒu)效負载理論上(shàng)可(kě)以(yǐ)达(dá)到(dào)1023 DWS,对(duì)于(yú)突發(fà)读(dú)写非(fēi)常方(fāng)便,盡管(guǎn)PC機(jī)可(kě)以(yǐ)将最(zuì)大大小限制在(zài)較低的(de)值(32 DWS是(shì)典型的(de))。
PCI Express 2-XILINX 篇(piān)
Xilinx使用(yòng)PCI Express變(biàn)得容易-他(tā)们(men)提(tí)供了(le)一(yī)个(gè)免費的(de)PCIExpress核心(xīn)(稱为(wèi)“Endpoint Block Plus”)和(hé)一(yī)个(gè)向(xiàng)導来(lái)配置它(tā),所(suǒ)有(yǒu)这(zhè)些都在(zài)他(tā)们(men)的(de)免費版本(běn)的(de)ISE中(zhōng)-ISE WebPack.
所(suǒ)以(yǐ)讓我(wǒ)们(men)啟動(dòng)Xilinx核心(xīn)生(shēng)成(chéng)器并選擇Endpoint Block Plus。
核心(xīn)是(shì)不(bù)活動(dòng)的(de),我(wǒ)们(men)需要(yào)使用(yòng)File->NewProject来(lái)創建一(yī)个(gè)項目并選擇一(yī)个(gè)FPGA(这(zhè)里(lǐ)我(wǒ)们(men)使用(yòng)的(de)是(shì)Drag-E,所(suǒ)以(yǐ)我(wǒ)们(men)選擇Virtex-5).
..并選擇您最(zuì)喜欢的(de)語(yǔ)言(在(zài)“世代(dài)”選項卡(kǎ)中(zhōng))。
現(xiàn)在(zài),端點(diǎn)块(kuài)+核心(xīn)變(biàn)为(wèi)活動(dòng),您可(kě)以(yǐ)双(shuāng)擊它(tā)来(lái)啟動(dòng)向(xiàng)導。
"." newtip="在(zài)第(dì)一(yī)页(yè)上(shàng),給(gěi)組件(jiàn)命名。这(zhè)里(lǐ)我(wǒ)们(men)選擇了(le)“my_終(zhōng)結點(diǎn)_blk_plus”。其餘的(de)对(duì)Drag-E来(lái)说(shuō)都是(shì)可(kě)以(yǐ)的(de),所(suǒ)以(yǐ)點(diǎn)擊“Next>”。" style="box-sizing:inherit;">在(zài)第(dì)一(yī)页(yè)上(shàng),給(gěi)組件(jiàn)命名。这(zhè)里(lǐ)我(wǒ)们(men)選擇了(le)“my_終(zhōng)結點(diǎn)_blk_plus”。其餘的(de)对(duì)Drag-E来(lái)说(shuō)都是(shì)可(kě)以(yǐ)的(de),所(suǒ)以(yǐ)點(diǎn)擊“Next>”。
現(xiàn)在(zài)您可(kě)以(yǐ)更(gèng)改供應(yìng)商/設備ID.。
..地(dì)址空間(jiān)。
接下(xià)来(lái)的(de)页(yè)面(miàn)沒(méi)有(yǒu)多(duō)大興趣,所(suǒ)以(yǐ)單擊“Generate”生(shēng)成(chéng)核心(xīn)及(jí)其文(wén)檔。
我(wǒ)们(men)現(xiàn)在(zài)準備好(hǎo)創建我(wǒ)们(men)的(de)第(dì)一(yī)个(gè)PCIExpress FPGA位文(wén)件(jiàn),在(zài)一(yī)个(gè)FPGA中(zhōng)編程,并生(shēng)成(chéng)真(zhēn)正(zhèng)的(de)PCIExpress流量(liàng)。