⁩⁣⁩⁨ ⁩⁤⁢⁢⁢⁥⁩ ⁥⁣⁦⁡ ⁣⁤⁨ ⁡⁨⁠⁤⁠ ⁦⁧⁡⁤⁣⁡⁡⁨⁤ 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ī)

七(qī)、綜合項目实踐課——千(qiān)兆(zhào)网(wǎng)項目專題(tí)課

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

如(rú)果(guǒ)同(tóng)学们(men)的(de)問(wèn)題(tí)我(wǒ)们(men)帖子里(lǐ)面(miàn)沒(méi)有(yǒu)的(de)請第(dì)一(yī)时(shí)間(jiān)聯系(xì)易老(lǎo)师(shī)微信(xìn)同(tóng)步:13112063618,我(wǒ)们(men)对(duì)新問(wèn)題(tí)進(jìn)行補充!


明(míng)德揚最(zuì)近(jìn)做了(le)抖音(yīn)系(xì)列短(duǎn)視頻,感(gǎn)興趣可(kě)以(yǐ)關(guān)注明(míng)德揚抖音(yīn)号(hào):FPGA技巧分(fēn)享(87481069842)至(zhì)簡書(shū)籍短(duǎn)視頻(74803215644)
內(nèi)容不(bù)斷更(gèng)新!點(diǎn)赞+關(guān)注,学習不(bù)迷路(lù)!





七(qī)、綜合項目实踐課——千(qiān)兆(zhào)网(wǎng)項目專題(tí)課



【問(wèn)題(tí)7.1】千(qiān)兆(zhào)网(wǎng)課程里(lǐ)的(de)udp和(hé)百(bǎi)兆(zhào)网(wǎng)通(tòng)用(yòng)的(de)吗?

答(dá):本(běn)課程講述的(de)是(shì)千(qiān)兆(zhào)网(wǎng),对(duì)于(yú)百(bǎi)兆(zhào)网(wǎng)来(lái)说(shuō),UDP IP MAC和(hé)ARP協議都是(shì)相同(tóng)的(de),

      不(bù)同(tóng)的(de)是(shì)MAC IP核、FPGA和(hé)PHY芯片(piàn)的(de)接口(kǒu)不(bù)同(tóng)。

      本(běn)課程提(tí)供的(de)是(shì)千(qiān)兆(zhào)网(wǎng)的(de)工程,如(rú)果(guǒ)要(yào)使用(yòng)百(bǎi)兆(zhào)网(wǎng),需要(yào)根(gēn)據(jù)上(shàng)面(miàn)的(de)內(nèi)容来(lái)修改。


【問(wèn)題(tí)7.2】千(qiān)兆(zhào)网(wǎng)課程有(yǒu)实現(xiàn)TCP協議吗?

答(dá):本(běn)千(qiān)兆(zhào)网(wǎng)課程实現(xiàn)的(de)是(shì)UDP協議,沒(méi)有(yǒu)TCP協議。


【問(wèn)題(tí)7.3】請問(wèn)下(xià),三(sān)速以(yǐ)太网(wǎng)IP核配置时(shí),32bit对(duì)齊選項的(de)意(yì)義在(zài)哪里(lǐ)?

答(dá):在(zài)接口(kǒu)为(wèi)32bit时(shí),每个(gè)VLD有(yǒu)效时(shí)的(de)數量(liàng)是(shì)4个(gè)字(zì)节(jié)。由(yóu)于(yú)MAC头(tóu)是(shì)14字(zì)节(jié),不(bù)是(shì)4的(de)整數倍,在(zài)發(fà)送方(fāng)向(xiàng),在(zài)補上(shàng)MAC头(tóu)後(hòu),

必須調整數據(jù)(拿出(chū)2字(zì)节(jié)與(yǔ)MAC头(tóu)最(zuì)後(hòu)2字(zì)节(jié)湊成(chéng)一(yī)个(gè)4字(zì)节(jié)的(de)有(yǒu)效數據(jù)),这(zhè)樣(yàng)处理比較麻(má)煩。  同(tóng)时(shí)道(dào)理,接收(shōu)方(fāng)向(xiàng),去(qù)掉14字(zì)节(jié)MAC头(tóu)後(hòu),

会(huì)有(yǒu)一(yī)个(gè)VLD多(duō)出(chū)2字(zì)节(jié)的(de)有(yǒu)效數據(jù),这(zhè)樣(yàng)調整也(yě)麻(má)煩。为(wèi)此(cǐ),MAC IP核里(lǐ)有(yǒu)一(yī)个(gè)功能(néng),就(jiù)是(shì)32位对(duì)齊功能(néng)。該功能(néng)決定(dìng),在(zài)SOP位置时(shí),

最(zuì)高(gāo)2字(zì)节(jié)是(shì)否为(wèi)无效數據(jù)。 當是(shì)无效數據(jù)模式时(shí),發(fà)送方(fāng)向(xiàng)插入(rù)2字(zì)节(jié)无效數據(jù)+14字(zì)节(jié)MAC头(tóu);在(zài)接收(shōu)方(fāng)向(xiàng),删除前(qián)16字(zì)节(jié)MAC头(tóu),剩下(xià)就(jiù)是(shì)效數據(jù)。这(zhè)樣(yàng)处理就(jiù)方(fāng)便很多(duō)了(le)。




【問(wèn)題(tí)7.4】 只(zhī)要(yào)勾選了(le)32bit对(duì)齊功能(néng),IP核自(zì)動(dòng)添加2字(zì)节(jié)的(de)无效數據(jù)?

答(dá):勾選对(duì)齊後(hòu),接收(shōu)方(fāng)向(xiàng)将删除无效數據(jù),直(zhí)接輸出(chū)數據(jù),即SOP位置的(de)高(gāo)2字(zì)节(jié)也(yě)是(shì)有(yǒu)效的(de),一(yī)直(zhí)到(dào)EOP位置。發(fà)送方(fāng)向(xiàng),認为(wèi)從SOP到(dào)EOP的(de)位置都是(shì)有(yǒu)效的(de)。
不(bù)勾選的(de)話(huà),接收(shōu)方(fāng)向(xiàng),IP核輸出(chū)、SOP位置的(de)高(gāo)2字(zì)节(jié)是(shì)无效數據(jù)。發(fà)送方(fāng)向(xiàng),進(jìn)到(dào)IP核的(de)數據(jù)里(lǐ),将SOP位置的(de)高(gāo)2字(zì)节(jié)視为(wèi)无效數據(jù)。



【問(wèn)題(tí)7.5】如(rú)下(xià)图(tú)所(suǒ)示,當使用(yòng)了(le)PAD_EN功能(néng)时(shí),接收(shōu)方(fāng)向(xiàng),会(huì)将PAD去(qù)掉,但实際上(shàng)沒(méi)有(yǒu)去(qù)除,是(shì)怎麼(me)回(huí)事(shì)?

 

答(dá):請看(kàn)下(xià)面(miàn)描述:第(dì)一(yī)段(duàn),當值小于(yú)600,該域反(fǎn)映的(de)是(shì)长度(dù),才会(huì)繼續檢查PAYLOAD长度(dù),

進(jìn)而(ér)才会(huì)有(yǒu)REMOVAL。

當值大于(yú)600时(shí),該域反(fǎn)映的(de)是(shì)類(lèi)型而(ér)已,則不(bù)会(huì)REMOVAL。





【問(wèn)題(tí)7.6】課程里(lǐ)会(huì)包(bāo)含TCP協議吗?

答(dá):TCP協議使用(yòng)邏輯实現(xiàn)非(fēi)常複雜,所(suǒ)以(yǐ)本(běn)課程不(bù)会(huì)包(bāo)含此(cǐ)部(bù)分(fēn)內(nèi)容。



【問(wèn)題(tí)7.7】RGMII支持(chí)10M/100M/1000M三(sān)種(zhǒng)模式吗?

答(dá):RGMII是(shì)"吉比特(tè)介質(zhì)独立接口(kǒu)"的(de)含義,即1000M的(de)傳輸接口(kǒu)。其他(tā)幾(jǐ)種(zhǒng)接口(kǒu)包(bāo)括GMII、MII等。注意(yì)一(yī)下(xià),10M/100M/1000M三(sān)種(zhǒng)模式,指的(de)是(shì)該“芯片(piàn)”支持(chí)这(zhè)三(sān)種(zhǒng)接口(kǒu),不(bù)是(shì)说(shuō)RGMII支持(chí)。

當芯片(piàn)采用(yòng)了(le)RGMII或(huò)GMII时(shí),就(jiù)傳輸1000M;當采用(yòng)了(le)MII 100M时(shí),就(jiù)是(shì)傳輸100M。注意(yì)的(de)是(shì),RGMII和(hé)MII的(de)部(bù)分(fēn)管(guǎn)脚是(shì)可(kě)以(yǐ)複用(yòng)的(de)。



【問(wèn)題(tí)7.8】千(qiān)兆(zhào)网(wǎng)配置寄存器的(de)定(dìng)義代(dài)碼中(zhōng),下(xià)面(miàn)两(liǎng)个(gè)IP核數據(jù)手(shǒu)册中(zhōng)沒(méi)有(yǒu)说(shuō)明(míng),是(shì)什麼(me)作用(yòng)的(de)?

答(dá):第(dì)一(yī)行語(yǔ)句(jù)的(de)作用(yòng)是(shì)“等待10000个(gè)时(shí)鐘(zhōng)周期(qī)”。目的(de)是(shì)當完成(chéng)前(qián)面(miàn)的(de)配置後(hòu),等待10000个(gè)时(shí)鐘(zhōng)後(hòu),再去(qù)配置下(xià)面(miàn)的(de)寄存器。这(zhè)是(shì)因(yīn)为(wèi)有(yǒu)时(shí)

候,配置完上(shàng)面(miàn)寄存器後(hòu),有(yǒu)可(kě)能(néng)要(yào)等一(yī)段(duàn)时(shí)間(jiān)才起作用(yòng),所(suǒ)以(yǐ)要(yào)等一(yī)等。这(zhè)个(gè)“等待”功能(néng)是(shì)FPGA里(lǐ)面(miàn)代(dài)碼实現(xiàn)的(de)。

第(dì)二(èr)句(jù)作用(yòng)是(shì)测試使用(yòng)的(de),可(kě)以(yǐ)删除,在(zài)調試时(shí)看(kàn)看(kàn)接口(kǒu)是(shì)否正(zhèng)确。



【問(wèn)題(tí)7.9】本(běn)項目有(yǒu)沒(méi)有(yǒu)配置外(wài)部(bù)的(de)PHY芯片(piàn)?

答(dá):本(běn)項目是(shì)沒(méi)有(yǒu)配置的(de),因(yīn)为(wèi)默認PHY芯片(piàn)是(shì)不(bù)用(yòng)配置就(jiù)能(néng)正(zhèng)确使用(yòng)的(de)。



【問(wèn)題(tí)7.10】、百(bǎi)兆(zhào)网(wǎng)和(hé)千(qiān)兆(zhào)网(wǎng)的(de)區(qū)别是(shì)什麼(me)?

答(dá):1. IP核是(shì)一(yī)樣(yàng)的(de)
2. 千(qiān)兆(zhào)网(wǎng)使用(yòng)的(de)是(shì)GMII接口(kǒu),百(bǎi)兆(zhào)网(wǎng)則是(shì)MII接口(kǒu)。gmii數據(jù)線(xiàn)是(shì)8位;MII接口(kǒu)使用(yòng)是(shì)4位數據(jù)線(xiàn),也(yě)就(jiù)是(shì)TXD低4位和(hé)RXD低4位。
3. 时(shí)鐘(zhōng)頻率不(bù)同(tóng),千(qiān)兆(zhào)网(wǎng)是(shì)125M,百(bǎi)兆(zhào)网(wǎng)是(shì)25M时(shí)鐘(zhōng)。
4. 百(bǎi)兆(zhào)网(wǎng)的(de)TX时(shí)鐘(zhōng)来(lái)自(zì)于(yú)PHY芯片(piàn),芯片(piàn)管(guǎn)脚使用(yòng)的(de)是(shì)tx_clk,而(ér)不(bù)是(shì)gtx_clk。
5. MII接口(kǒu)的(de)4位數據(jù)線(xiàn),是(shì)先(xiān)發(fà)1个(gè)字(zì)节(jié)的(de)低4位,再發(fà)高(gāo)4位。


【問(wèn)題(tí)7.11】老(lǎo)师(shī),咱们(men)千(qiān)兆(zhào)网(wǎng)項目中(zhōng),为(wèi)啥用(yòng)sharkwire抓包(bāo)的(de)时(shí)候  最(zuì)大傳輸速率到(dào)不(bù)了(le)千(qiān)兆(zhào)呢?           
答(dá):因(yīn)为(wèi)包(bāo)文(wén)傳輸的(de)时(shí)候,会(huì)有(yǒu)消耗的(de),例如(rú)包(bāo)與(yǔ)包(bāo)之間(jiān)有(yǒu)幀間(jiān)隙,并且每个(gè)包(bāo)会(huì)有(yǒu)前(qián)導碼和(hé)FCS部(bù)分(fēn)。因(yīn)此(cǐ)达(dá)不(bù)到(dào)理論的(de)千(qiān)兆(zhào)。



【問(wèn)題(tí)7.12】請問(wèn)一(yī)下(xià)在(zài)千(qiān)兆(zhào)网(wǎng)工程里(lǐ),初始化(huà)mac IP核时(shí),signaltapii有(yǒu)些reg_cnt刚開(kāi)始时(shí),add_wdata会(huì)出(chū)現(xiàn)一(yī)小段(duàn)莫名其妙的(de)數據(jù),是(shì)怎麼(me)回(huí)事(shì) ?

答(dá):請注意(yì)这(zhè)个(gè)signaltap采樣(yàng)的(de)时(shí)鐘(zhōng)一(yī)定(dìng)要(yào)跟代(dài)碼模块(kuài)的(de)时(shí)鐘(zhōng)一(yī)致(zhì)。
SignalTap使用(yòng)教程:http://old.mdy-edu.com/jishuwenz/2019/1210/107.html


【問(wèn)題(tí)7.13】在(zài)千(qiān)兆(zhào)网(wǎng)的(de)rx_filter模块(kuài)中(zhōng),读(dú)數據(jù)的(de)时(shí)候为(wèi)什麼(me)用(yòng)add_cnt=m_empty==0,这(zhè)个(gè)信(xìn)息FIFO的(de)不(bù)空作为(wèi)读(dú)条(tiáo)件(jiàn)?


答(dá):信(xìn)息FIFO非(fēi)空,表(biǎo)示數據(jù)FIFO中(zhōng)存有(yǒu)一(yī)个(gè)完整的(de)包(bāo)文(wén),因(yīn)为(wèi)需要(yào)判斷包(bāo)文(wén)是(shì)否正(zhèng)确,所(suǒ)以(yǐ)需要(yào)數據(jù)FIFO中(zhōng)保存一(yī)个(gè)完整包(bāo)文(wén)之後(hòu)再读(dú)出(chū)。
由(yóu)于(yú)本(běn)模块(kuài)需要(yào)将32位的(de)數據(jù)轉(zhuǎn)成(chéng)16位的(de),計(jì)數器cnt數两(liǎng)次(cì),表(biǎo)示數據(jù)FIFO需要(yào)两(liǎng)个(gè)时(shí)鐘(zhōng)读(dú)出(chū)一(yī)次(cì),當遇到(dào)最(zuì)後(hòu)eop的(de)时(shí)候,由(yóu)于(yú)可(kě)能(néng)存在(zài)无效字(zì)节(jié),所(suǒ)以(yǐ)當无效字(zì)节(jié)为(wèi)2个(gè)或(huò)者(zhě)3个(gè)的(de)时(shí)候,計(jì)數器只(zhī)需要(yào)數一(yī)次(cì)就(jiù)够了(le)。


【問(wèn)題(tí)7.14】在(zài)千(qiān)兆(zhào)网(wǎng)的(de)rx_filter模块(kuài)中(zhōng),信(xìn)息FIFO深度(dù)为(wèi)什麼(me)設置为(wèi)32,設置为(wèi)1就(jiù)可(kě)以(yǐ)了(le)吧?
答(dá):这(zhè)里(lǐ)設置为(wèi)32只(zhī)是(shì)順手(shǒu)而(ér)为(wèi),而(ér)且占用(yòng)的(de)資源也(yě)不(bù)是(shì)很多(duō),所(suǒ)以(yǐ)就(jiù)沒(méi)有(yǒu)進(jìn)行修改,深度(dù)改为(wèi)1也(yě)是(shì)可(kě)以(yǐ)的(de)。


【問(wèn)題(tí)7.15】在(zài)udp發(fà)送的(de)过(guò)程中(zhōng),假設源端口(kǒu)为(wèi)0x1234,目的(de)端口(kǒu)为(wèi)0x5678,那(nà)麼(me)發(fà)送的(de)是(shì)12345678還(huán)是(shì)56781234?
答(dá):發(fà)送的(de)时(shí)候是(shì)按照12345678来(lái)發(fà)送的(de)。


【問(wèn)題(tí)7.16】为(wèi)什麼(me)udp協議在(zài)發(fà)送和(hé)接收(shōu)的(de)时(shí)候,源端口(kǒu)和(hé)目的(de)端口(kǒu)順序会(huì)反(fǎn)?
答(dá):包(bāo)文(wén)的(de)協議时(shí)固定(dìng)的(de),只(zhī)会(huì)按照源地(dì)址加目的(de)地(dì)址的(de)格式發(fà)送。
1. FPGA發(fà)送的(de)时(shí)候,FPGA産生(shēng)包(bāo)文(wén),端源端口(kǒu)是(shì)1234,目的(de)端口(kǒu)是(shì)5678。然後(hòu)發(fà)送格式是(shì)源+目,因(yīn)此(cǐ)發(fà)送的(de)是(shì)1234_5678
2. FPGA接收(shōu)的(de)时(shí)候,PC産生(shēng)包(bāo)文(wén),源端口(kǒu)是(shì)5678,目的(de)是(shì)1234,然後(hòu)發(fà)送的(de)是(shì)源+目,因(yīn)此(cǐ)是(shì)5678_1234。


【問(wèn)題(tí)7.17】請問(wèn)一(yī)下(xià),我(wǒ)編譯千(qiān)兆(zhào)以(yǐ)太网(wǎng)的(de)时(shí)候,为(wèi)什麼(me)把这(zhè)个(gè)clogb2文(wén)件(jiàn)添加進(jìn)去(qù)就(jiù)会(huì)報錯,说(shuō)是(shì)sv文(wén)件(jiàn)?還(huán)有(yǒu)这(zhè)个(gè)文(wén)件(jiàn)有(yǒu)什麼(me)作用(yòng)?謝謝

答(dá):clogb2不(bù)是(shì)一(yī)个(gè)完整的(de)module文(wén)件(jiàn),它(tā)是(shì)被(bèi)用(yòng)include的(de)方(fāng)法加入(rù)代(dài)碼中(zhōng)的(de)。它(tā)不(bù)需要(yào)加到(dào)工程上(shàng),所(suǒ)以(yǐ)可(kě)以(yǐ)把它(tā)去(qù)掉。


【問(wèn)題(tí)7.18】請問(wèn)下(xià),在(zài)做練習工程的(de)时(shí)候,需要(yào)自(zì)己設計(jì)MAC首部(bù)發(fà)送電(diàn)路(lù),MAC首部(bù)14字(zì)节(jié),但數據(jù)位是(shì)4字(zì)节(jié)的(de),我(wǒ)需要(yào)定(dìng)義 發(fà)送首部(bù)的(de)計(jì)數器,这(zhè)里(lǐ)4是(shì)不(bù)能(néng)被(bèi)14整除的(de),我(wǒ)應(yìng)該怎麼(me)处理?
答(dá):1、可(kě)以(yǐ)在(zài)設計(jì)代(dài)碼的(de)时(shí),把産生(shēng)的(de)mac头(tóu)、IP头(tóu)、UDP头(tóu)拼接起来(lái)的(de)时(shí)候,在(zài)最(zuì)高(gāo)位補2字(zì)节(jié)的(de)无效數據(jù)零(líng)。
      2、或(huò)者(zhě)在(zài)mac_ip核進(jìn)行相關(guān)的(de)設置,具體(tǐ)可(kě)以(yǐ)查看(kàn)相關(guān)數據(jù)手(shǒu)册附:數據(jù)手(shǒu)册在(zài)打(dǎ)開(kāi)IP核後(hòu)如(rú)图(tú)所(suǒ)示位置查看(kàn)
 


【問(wèn)題(tí)7.19】千(qiān)兆(zhào)网(wǎng)轉(zhuǎn)百(bǎi)兆(zhào)网(wǎng)的(de)时(shí)候,需要(yào)給(gěi)phy芯片(piàn)一(yī)个(gè)參考时(shí)鐘(zhōng),是(shì)怎麼(me)給(gěi)的(de)?
答(dá):開(kāi)發(fà)板上(shàng)有(yǒu)一(yī)个(gè)12M的(de)时(shí)鐘(zhōng)芯片(piàn),是(shì)給(gěi)phy芯片(piàn)的(de)。外(wài)部(bù)晶振的(de)事(shì),跟FPGA无關(guān)



 【問(wèn)題(tí)7.20】我(wǒ)的(de)采樣(yàng)时(shí)鐘(zhōng)就(jiù)是(shì)模块(kuài)的(de)工作时(shí)鐘(zhōng)(always块(kuài)里(lǐ)的(de));現(xiàn)在(zài)從MAC_IP核輸出(chū)的(de)數據(jù)不(bù)正(zhèng)确,根(gēn)據(jù)常見(jiàn)問(wèn)題(tí)PDF里(lǐ)問(wèn)題(tí)1和(hé)6的(de)解(jiě)答(dá),

     有(yǒu)两(liǎng)種(zhǒng)情(qíng)況,如(rú)果(guǒ)时(shí)鐘(zhōng)沒(méi)問(wèn)題(tí)那(nà)就(jiù)有(yǒu)可(kě)能(néng)是(shì)IP核的(de)輸入(rù)信(xìn)号(hào)有(yǒu)問(wèn)題(tí)。我(wǒ)对(duì)應(yìng)的(de)代(dài)碼和(hé)signaltap采集到(dào)的(de)數據(jù)如(rú)图(tú):

請問(wèn)这(zhè)種(zhǒng)情(qíng)況下(xià),輸入(rù)的(de)數據(jù)算是(shì)正(zhèng)确的(de)吗?
答(dá):結果(guǒ)是(shì)正(zhèng)确的(de)。原因(yīn)同(tóng)上(shàng)【問(wèn)題(tí)9】


【問(wèn)題(tí)7.21】再設置好(hǎo)電(diàn)腦的(de)IP地(dì)址之後(hòu),把界面(miàn)關(guān)掉,然後(hòu)再打(dǎ)開(kāi)就(jiù)沒(méi)有(yǒu)了(le),需要(yào)重(zhòng)新設置,怎麼(me)解(jiě)決?
答(dá):
1、點(diǎn)擊左(zuǒ)下(xià)角(jiǎo)的(de)WIN图(tú)标(biāo),輸入(rù)CMD然後(hòu)回(huí)車,打(dǎ)開(kāi)DOS模式窗(chuāng)口(kǒu)。
2、在(zài)DOS命令行提(tí)示符下(xià)直(zhí)接輸入(rù):“netsh winsock
3、reset”,然後(hòu)回(huí)車,会(huì)提(tí)示需要(yào)重(zhòng)啟,不(bù)要(yào)管(guǎn)它(tā)。
4、在(zài)DOS命令行提(tí)示符下(xià)直(zhí)接輸入(rù):“netsh int ip reset
5、reset.log”,然後(hòu)回(huí)車,提(tí)示重(zhòng)新啟動(dòng)計(jì)算機(jī)完成(chéng)此(cǐ)操作。
6、關(guān)閉DOS窗(chuāng)口(kǒu),重(zhòng)新啟動(dòng)計(jì)算機(jī),問(wèn)題(tí)解(jiě)決。


【問(wèn)題(tí)7.22】千(qiān)兆(zhào)网(wǎng)我(wǒ)们(men)的(de)和(hé)用(yòng)mdio接口(kǒu)的(de)有(yǒu)什麼(me)區(qū)别? 我(wǒ)们(men)的(de)教程是(shì)沒(méi)有(yǒu)用(yòng)到(dào)这(zhè)个(gè)接口(kǒu)的(de)
答(dá):MDIO接口(kǒu)是(shì)用(yòng)来(lái)配置外(wài)部(bù)的(de)PHY芯片(piàn)的(de),不(bù)是(shì)用(yòng)来(lái)傳輸數據(jù)的(de),也(yě)就(jiù)不(bù)是(shì)做网(wǎng)絡協議使用(yòng)的(de)。  當您需要(yào)配置外(wài)部(bù)的(de)PHY芯片(piàn)时(shí),可(kě)以(yǐ)使用(yòng)MDIO接口(kǒu),否則可(kě)以(yǐ)不(bù)用(yòng)。



【問(wèn)題(tí)7.23】請問(wèn)千(qiān)兆(zhào)网(wǎng)工程里(lǐ),輸入(rù)給(gěi)MAC_IP核的(de)ff_rx_rdy信(xìn)号(hào)为(wèi)什麼(me)直(zhí)接置1?跟速率和(hé)带(dài)宽(kuān)有(yǒu)關(guān)吗?



答(dá):rdy表(biǎo)示下(xià)遊模块(kuài)準備好(hǎo)指示信(xìn)号(hào),如(rú)果(guǒ)準備好(hǎo)了(le)就(jiù)为(wèi)1,沒(méi)準備好(hǎo)就(jiù)为(wèi)0。  在(zài)本(běn)案(àn)例中(zhōng),下(xià)遊模块(kuài)是(shì)rx_mac_analy模块(kuài),該模块(kuài)支持(chí)rtl8122_a_mac_ip模块(kuài)任意(yì)速度(dù)的(de)數據(jù),
       即无論怎麼(me)来(lái),下(xià)遊模块(kuài)都能(néng)接收(shōu)并正(zhèng)确处理,所(suǒ)以(yǐ)在(zài)此(cǐ)处置为(wèi)1(时(shí)刻準備好(hǎo))就(jiù)可(kě)以(yǐ)了(le)


【問(wèn)題(tí)7.24】請問(wèn),一(yī)个(gè)基礎問(wèn)題(tí),千(qiān)兆(zhào)网(wǎng)工程里(lǐ)多(duō)个(gè)模块(kuài)都調用(yòng)了(le)FIFO,在(zài)不(bù)同(tóng)模块(kuài)里(lǐ)調用(yòng)的(de)fifo的(de)例化(huà)名(比如(rú):u_dfifo)能(néng)否重(zhòng)複?
答(dá):可(kě)以(yǐ)試試操作,在(zài)不(bù)同(tóng)模块(kuài)是(shì)可(kě)以(yǐ)重(zhòng)複的(de)。

【問(wèn)題(tí)7.25】这(zhè)个(gè)是(shì)因(yīn)为(wèi)IP核沒(méi)有(yǒu)破解(jiě)吗?

答(dá):这(zhè)个(gè)錯誤就(jiù)是(shì)高(gāo)版本(běn)生(shēng)成(chéng)的(de)工程在(zài)低版本(běn)中(zhōng)打(dǎ)開(kāi)出(chū)現(xiàn)的(de)編譯錯誤,用(yòng)高(gāo)版本(běn)的(de)quartus打(dǎ)開(kāi)即可(kě)(如(rú)18版本(běn)的(de))


【問(wèn)題(tí)7.26】千(qiān)兆(zhào)网(wǎng)課程使用(yòng)的(de)是(shì)哪个(gè)PHY芯片(piàn)?
答(dá):本(běn)課程使用(yòng)的(de)是(shì)MP801芯片(piàn),使用(yòng)提(tí)RTL8211芯片(piàn)。但課程中(zhōng),幾(jǐ)乎沒(méi)有(yǒu)涉及(jí)到(dào)PHY芯片(piàn)的(de)內(nèi)容,PHY芯片(piàn)使用(yòng)的(de)是(shì)默認配置。对(duì)于(yú)其他(tā)PHY芯片(piàn),也(yě)是(shì)通(tòng)用(yòng)的(de)。


【問(wèn)題(tí)7.27】千(qiān)兆(zhào)网(wǎng)課程是(shì)ALTERA,是(shì)否與(yǔ)XILINX的(de)通(tòng)用(yòng)?
答(dá):本(běn)課程主(zhǔ)要(yào)涉及(jí)到(dào)各(gè)个(gè)協議的(de)RTL实現(xiàn),这(zhè)部(bù)分(fēn)代(dài)碼是(shì)通(tòng)用(yòng)的(de)。但有(yǒu)一(yī)个(gè)MAC IP核,本(běn)課程的(de)工程是(shì)使用(yòng)ALTERA的(de),XILINX的(de)亦有(yǒu)相同(tóng)的(de)IP,需要(yào)您移植。
      總(zǒng)的(de)来(lái)说(shuō),MAC IP占整个(gè)課程的(de)比重(zhòng)不(bù)大,大概是(shì)5%的(de)內(nèi)容。


【問(wèn)題(tí)7.28】您的(de)UDP教程里(lǐ)面(miàn)包(bāo)不(bù)包(bāo)含ARP和(hé)CRC328bit这(zhè)两(liǎng)个(gè)地(dì)方(fāng)的(de)講解(jiě)?
答(dá):有(yǒu)arp的(de)講解(jiě),但crc就(jiù)不(bù)包(bāo)括。


【問(wèn)題(tí)7.29】千(qiān)兆(zhào)网(wǎng)課程的(de)源碼中(zhōng)有(yǒu)相應(yìng)的(de)tb仿真(zhēn)代(dài)碼嘛?

答(dá):沒(méi)有(yǒu),但如(rú)果(guǒ)要(yào)验(yàn)證功能(néng)正(zhèng)确性(xìng)可(kě)以(yǐ)上(shàng)板验(yàn)證和(hé)仿真(zhēn)文(wén)件(jiàn)



【問(wèn)題(tí)7.30】請問(wèn)下(xià)载程序後(hòu),電(diàn)腦檢测不(bù)到(dào)本(běn)地(dì)以(yǐ)太网(wǎng),把程序删除又可(kě)以(yǐ)檢测?

答(dá):可(kě)能(néng)程序里(lǐ)有(yǒu)複位管(guǎn)脚,把这(zhè)些PHY芯片(piàn)複位了(le)。



【問(wèn)題(tí)7.31】以(yǐ)太网(wǎng)通(tòng)信(xìn)中(zhōng),抓包(bāo)工具wireshark能(néng)抓到(dào) 但网(wǎng)絡調試助手(shǒu)收(shōu)不(bù)到(dào) 是(shì)怎麼(me)回(huí)事(shì)?

答(dá):可(kě)能(néng)性(xìng)有(yǒu)如(rú)下(xià)幾(jǐ)種(zhǒng),請逐一(yī)排除。

1. IP地(dì)址不(bù)正(zhèng)确,請檢查IP地(dì)址,尤其注意(yì)目的(de)IP和(hé)源IP的(de)區(qū)别

2. 端口(kǒu)号(hào)不(bù)正(zhèng)确,請檢查端口(kǒu)号(hào),尤其注意(yì)目的(de)端口(kǒu)和(hé)源端口(kǒu)的(de)區(qū)分(fēn)。

3. 目的(de)MAC地(dì)址不(bù)正(zhèng)确,可(kě)以(yǐ)嘗試發(fà)送廣播包(bāo)文(wén)(非(fēi)ARP包(bāo)文(wén))测試。

4. 包(bāo)文(wén)过(guò)短(duǎn),小于(yú)60字(zì)节(jié)。


【問(wèn)題(tí)7.32】工程仿真(zhēn)的(de)前(qián)導碼後(hòu)为(wèi)什麼(me)有(yǒu)两(liǎng)个(gè)字(zì)节(jié)的(de)0呢? 按理说(shuō)應(yìng)該緊跟目的(de)MAC地(dì)址 图(tú)中(zhōng)e8 6a就(jiù)是(shì)目的(de)MAC開(kāi)头(tóu).

答(dá):MAC IP核的(de)有(yǒu)一(yī)个(gè)32bit对(duì)齊的(de)功能(néng),關(guān)于(yú)該功能(néng)意(yì)義,請看(kàn)【問(wèn)題(tí)7.3】。

       如(rú)果(guǒ)出(chū)現(xiàn)上(shàng)图(tú)中(zhōng)問(wèn)題(tí),有(yǒu)可(kě)能(néng)是(shì)MAC IP核中(zhōng)的(de)32bit对(duì)齊功能(néng)設置有(yǒu)誤。



【問(wèn)題(tí)7.33】千(qiān)兆(zhào)网(wǎng)項目中(zhōng),是(shì)否包(bāo)括TCP協議实現(xiàn)?

答(dá):千(qiān)兆(zhào)网(wǎng)項目是(shì)使用(yòng)的(de)UDP協議,而(ér)非(fēi)TCP協議。

       目前(qián)来(lái)说(shuō),TCP協議由(yóu)于(yú)有(yǒu)握手(shǒu)機(jī)制、重(zhòng)發(fà)機(jī)制等功能(néng),在(zài)邏輯上(shàng)实現(xiàn)相當困難,暫未看(kàn)到(dào)商用(yòng)的(de)案(àn)例。



【問(wèn)題(tí)7.34】高(gāo)速采集後(hòu)的(de)數據(jù)  是(shì)存到(dào)內(nèi)存或(huò)者(zhě)flash吗 ?

答(dá):激光(guāng)項目:采集到(dào)數據(jù)後(hòu),內(nèi)部(bù)進(jìn)行計(jì)算和(hé)处理,并将結果(guǒ)通(tòng)过(guò)千(qiān)兆(zhào)网(wǎng)上(shàng)傳到(dào)上(shàng)位機(jī)。

      大數據(jù)采集項目:從光(guāng)纤采集到(dào)數據(jù)後(hòu),保存到(dào)DDR3中(zhōng),然後(hòu)读(dú)出(chū)送到(dào)PCIE上(shàng)位機(jī)。


【問(wèn)題(tí)7.35】請問(wèn)插上(shàng)千(qiān)兆(zhào)网(wǎng)模块(kuài)後(hòu),PING不(bù)通(tòng)? 
答(dá):千(qiān)兆(zhào)网(wǎng)模块(kuài)是(shì)一(yī)个(gè)基于(yú)PHY层的(de)模块(kuài),不(bù)是(shì)完整的(de)网(wǎng)卡(kǎ),实現(xiàn)的(de)是(shì)PHY层的(de)協議,沒(méi)有(yǒu)实現(xiàn)MAC层、TCP/IP层協議。
       因(yīn)此(cǐ),不(bù)可(kě)能(néng)PING通(tòng)(因(yīn)为(wèi)PING功能(néng)是(shì)在(zài)TCP/IP层实現(xiàn)的(de))。要(yào)实現(xiàn)PING功能(néng),需要(yào)編写FPGA程序来(lái)实現(xiàn)。 
【問(wèn)題(tí)7.36】插上(shàng)設備後(hòu),電(diàn)腦識别成(chéng)百(bǎi)兆(zhào)网(wǎng)問(wèn)題(tí)? 

答(dá):上(shàng)電(diàn)後(hòu),電(diàn)腦與(yǔ)千(qiān)兆(zhào)网(wǎng)模块(kuài)之間(jiān)会(huì)開(kāi)展(zhǎn)自(zì)協商对(duì)話(huà),根(gēn)據(jù)双(shuāng)方(fāng)的(de)环(huán)境确定(dìng)通(tòng)信(xìn)速率。如(rú)果(guǒ)希望工作在(zài)1G,而(ér)实質(zhì)協商成(chéng)100M,則依次(cì)按如(rú)下(xià)檢查。
1. 檢查電(diàn)腦网(wǎng)卡(kǎ)是(shì)否支持(chí)1G,具體(tǐ)請看(kàn)网(wǎng)卡(kǎ)設置
2. 檢查网(wǎng)線(xiàn)是(shì)否支持(chí)1G,有(yǒu)類(lèi)型的(de)要(yào)求。
3. 換台(tái)電(diàn)腦試試
4. 以(yǐ)上(shàng)都测試过(guò)後(hòu)還(huán)不(bù)行,請找(zhǎo)指導老(lǎo)师(shī)确認。


【問(wèn)題(tí)7.37】請問(wèn)千(qiān)兆(zhào)网(wǎng)的(de)rx_ip_analy.v文(wén)件(jiàn),getlen是(shì)獲取(qǔ)總(zǒng)长度(dù),第(dì)二(èr)个(gè)图(tú)片(piàn)get_len_4byte是(shì)完全(quán)不(bù)懂,請老(lǎo)师(shī)給(gěi)个(gè)提(tí)示?還(huán)有(yǒu)+5又是(shì)什麼(me)意(yì)思(sī)呢?


答(dá):IP长度(dù)是(shì)20字(zì)节(jié),get_len_byte是(shì)实質(zhì)獲取(qǔ)到(dào)的(de)數據(jù)长度(dù)(不(bù)包(bāo)括IP头(tóu)),單位为(wèi)字(zì)节(jié);get_len_4byte是(shì)实質(zhì)獲取(qǔ)到(dào)的(de)长度(dù)(包(bāo)括IP头(tóu)),單位为(wèi)32bite。




問(wèn)題(tí)7.38】你好(hǎo),这(zhè)个(gè)rx_ip_analy部(bù)分(fēn)的(de),我(wǒ)不(bù)太清(qīng)楚到(dào)底是(shì)实際的(de)采集长度(dù)小于(yú)等于(yú)輸入(rù)獲取(qǔ)的(de)长度(dù)還(huán)是(shì)輸入(rù)獲取(qǔ)的(de)长度(dù)小于(yú)等于(yú)实際采集的(de)长度(dù)。
感(gǎn)覺上(shàng)面(miàn)说(shuō)應(yìng)該cnt <get_len_4byte,下(xià)面(miàn)又说(shuō)act_len_byte < get_len是(shì)錯的(de)。

答(dá):get_len:從长度(dù)字(zì)段(duàn)獲取(qǔ)到(dào)的(de)长度(dù);

get_len_4byte:從长度(dù)字(zì)段(duàn)獲取(qǔ)到(dào)的(de)长度(dù),單位为(wèi)4字(zì)节(jié);

act_len_byte:從數據(jù)字(zì)段(duàn)中(zhōng)獲取(qǔ)到(dào)的(de)长度(dù);

所(suǒ)以(yǐ),從數據(jù)中(zhōng)獲取(qǔ)到(dào)的(de)长度(dù),小于(yú)“字(zì)段(duàn)指示的(de)长度(dù)”,就(jiù)是(shì)錯的(de)。



問(wèn)題(tí)7.
39請教大家(jiā)一(yī)个(gè)問(wèn)題(tí),以(yǐ)太网(wǎng)調試的(de)时(shí)候,主(zhǔ)機(jī)网(wǎng)卡(kǎ)不(bù)是(shì)realtek PCIE FE Family,主(zhǔ)機(jī)接收(shōu)不(bù)到(dào)fpga發(fà)送的(de)報文(wén)怎麼(me)辦(bàn)?

答(dá):一(yī)般来(lái)说(shuō),只(zhī)要(yào)發(fà)送端發(fà)送的(de)包(bāo)文(wén)符合网(wǎng)口(kǒu)傳輸協議,无論什麼(me)网(wǎng)卡(kǎ)都可(kě)以(yǐ)都到(dào)包(bāo)文(wén)。可(kě)以(yǐ)檢查一(yī)下(xià) 
①fpga發(fà)送的(de)包(bāo)文(wén)協議是(shì)否正(zhèng)确;
②檢查网(wǎng)口(kǒu)識别的(de)速率是(shì)否與(yǔ)工程速率匹(pǐ)配; 
③檢查网(wǎng)卡(kǎ)是(shì)否有(yǒu)問(wèn)題(tí)



【問(wèn)題(tí)7.40】千(qiān)兆(zhào)网(wǎng)工程使用(yòng)sgmii接口(kǒu),請問(wèn)在(zài)vivado中(zhōng)用(yòng)哪个(gè)ip核呀?

解(jiě)答(dá):GMII和(hé)RGMII接口(kǒu)使用(yòng)的(de)VIVADO IP核为(wèi):tri_mode_ethernet_mac。而(ér)SGMII接口(kǒu)使用(yòng)的(de)IP核为(wèi):1G/2.5G Ethernet PCS/PMA OR SGMII。注意(yì):SGMII模式,使用(yòng)上(shàng)面(miàn)的(de)这(zhè)个(gè)IP核。注意(yì),SGMII協議会(huì)與(yǔ)本(běn)課程中(zhōng)的(de)MAC協議不(bù)同(tóng),要(yào)特(tè)别留意(yì)。





【問(wèn)題(tí)7.41】
問(wèn):千(qiān)兆(zhào)网(wǎng)課程的(de)MAC是(shì)使用(yòng)的(de)官方(fāng)IP核,還(huán)是(shì)自(zì)己RTL写的(de)?
答(dá):本(běn)課程的(de)UDP、IP、ARP等協議,是(shì)MDY的(de)RTL代(dài)碼写的(de)。而(ér)MAC部(bù)分(fēn),使用(yòng)的(de)是(shì)官方(fāng)IP核。 在(zài)平时(shí)使用(yòng)中(zhōng),MDY也(yě)自(zì)己写了(le)簡化(huà)版的(de)MAC层部(bù)分(fēn)代(dài)碼,主(zhǔ)要(yào)实現(xiàn)的(de)是(shì)添加前(qián)導碼和(hé)校(xiào)验(yàn)和(hé)。 这(zhè)一(yī)部(bù)分(fēn)沒(méi)有(yǒu)文(wén)字(zì)说(shuō)明(míng),也(yě)沒(méi)有(yǒu)教程,如(rú)果(guǒ)有(yǒu)疑問(wèn),請自(zì)行消化(huà)。下(xià)载鍊(liàn)接如(rú)下(xià):http://fpgabbs.com/forum.php?mod=viewthread&tid=4481&page=1&extra=#pid5534


【問(wèn)題(tí)7.42】
問(wèn)題(tí):以(yǐ)太网(wǎng)約束(shù)中(zhōng),建立时(shí)間(jiān)的(de)时(shí)序報告如(rú)图(tú)一(yī),請問(wèn)下(xià)为(wèi)什麼(me)上(shàng)面(miàn)是(shì)4ns,下(xià)面(miàn)又是(shì)加8ns呢? 保持(chí)时(shí)間(jiān)分(fēn)析如(rú)图(tú)二(èr),为(wèi)什麼(me)这(zhè)两(liǎng)个(gè)都加4?

图(tú)一(yī)


图(tú)二(èr)


答(dá):
1. 这(zhè)項目是(shì)RGMII模式,时(shí)鐘(zhōng)为(wèi)125M,上(shàng)升(shēng)沿和(hé)下(xià)降沿均采樣(yàng),相當于(yú)时(shí)鐘(zhōng)周期(qī)是(shì)4ns。
2. 建議时(shí)間(jiān)和(hé)保持(chí)时(shí)間(jiān)都是(shì)從4ns開(kāi)始計(jì)算,可(kě)能(néng)是(shì)約束(shù)时(shí)鐘(zhōng)时(shí)指定(dìng)的(de),指定(dìng)從4,可(kě)以(yǐ)看(kàn)时(shí)鐘(zhōng)約束(shù)。(有(yǒu)些是(shì)從0開(kāi)始)
3. 建立时(shí)間(jiān)分(fēn)析时(shí),目的(de)时(shí)鐘(zhōng)路(lù)徑要(yào)加上(shàng)时(shí)鐘(zhōng)周期(qī)(4ns),保持(chí)时(shí)間(jiān)分(fēn)析时(shí),目的(de)时(shí)鐘(zhōng)路(lù)徑不(bù)需要(yào)加上(shàng)时(shí)鐘(zhōng)周期(qī)。 原因(yīn)請看(kàn)时(shí)序約束(shù)問(wèn)題(tí)彙總(zǒng)贴8.16 (http://old.mdy-edu.com/wentijieda/20210410/1294.html)


【問(wèn)題(tí)7.43】請問(wèn)一(yī)下(xià),IP校(xiào)验(yàn)和(hé),校(xiào)验(yàn)和(hé)字(zì)段(duàn)不(bù)加,这(zhè)部(bù)分(fēn)應(yìng)該是(shì)5吧,16*5。


解(jiě)答(dá): 如(rú)图(tú)所(suǒ)示,ip_head[16*5-1 -:16]对(duì)應(yìng)的(de)是(shì)IP校(xiào)验(yàn)和(hé)的(de)值,但此(cǐ)时(shí)還(huán)未計(jì)算出(chū)IP校(xiào)验(yàn)和(hé)的(de)值,所(suǒ)以(yǐ)ip_sum=0,因(yīn)此(cǐ)可(kě)以(yǐ)省(shěng)略对(duì)ip_head[16*5-1 -:16]的(de)求和(hé)計(jì)算。


【問(wèn)題(tí)7.44】想(xiǎng)請問(wèn)一(yī)下(xià),以(yǐ)太网(wǎng)tx_pack模块(kuài)的(de)测試文(wén)件(jiàn),这(zhè)条(tiáo)語(yǔ)句(jù)是(shì)什麼(me)作用(yòng)呀?


解(jiě)答(dá):用(yòng)于(yú)計(jì)算长度(dù)的(de)有(yǒu)多(duō)少(shǎo)个(gè)2字(zì)节(jié)长度(dù)的(de)數據(jù)。length表(biǎo)示长度(dù)有(yǒu)多(duō)少(shǎo)字(zì)节(jié),而(ér)len_2b表(biǎo)示长度(dù)有(yǒu)多(duō)少(shǎo)个(gè)2字(zì)节(jié)。信(xìn)号(hào)length不(bù)取(qǔ)最(zuì)低位,相當于(yú)數據(jù)除以(yǐ)2。

【問(wèn)題(tí)7.45】問(wèn):當把板子和(hé)電(diàn)腦的(de)网(wǎng)線(xiàn)相連(lián)後(hòu),電(diàn)腦那(nà)里(lǐ)顯示“未識别网(wǎng)絡”,如(rú)何解(jiě)決“未識别网(wǎng)絡”問(wèn)題(tí)?
答(dá):“未識别网(wǎng)絡”这(zhè)是(shì)正(zhèng)常現(xiàn)象(xiàng)。
當把FPGA板子和(hé)電(diàn)腦相連(lián)後(hòu),无論FPGA有(yǒu)沒(méi)有(yǒu)程序,此(cǐ)时(shí)双(shuāng)方(fāng)通(tòng)信(xìn)均是(shì)“MAC层”的(de)協議。該层協議只(zhī)識别出(chū)速率,即1G還(huán)是(shì)100M速率。
而(ér)“未識别网(wǎng)絡”是(shì)指TCP/IP层的(de)協議,需要(yào)TCP/IP层的(de)完整協議支持(chí),这(zhè)是(shì)FPGA板子沒(méi)有(yǒu)的(de),也(yě)難以(yǐ)实現(xiàn)的(de)功能(néng),所(suǒ)以(yǐ)肯定(dìng)是(shì)处于(yú)“未識别网(wǎng)絡”狀态。
在(zài)真(zhēn)正(zhèng)應(yìng)用(yòng)中(zhōng),FPGA板子和(hé)電(diàn)腦只(zhī)是(shì)點(diǎn)对(duì)點(diǎn)通(tòng)信(xìn),不(bù)需要(yào)組网(wǎng)。

【問(wèn)題(tí)7.46】問(wèn):如(rú)果(guǒ)我(wǒ)想(xiǎng)将GMII口(kǒu)換成(chéng)RGMII口(kǒu)的(de)話(huà),是(shì)只(zhī)需要(yào)将位宽(kuān)以(yǐ)及(jí)MAC重(zhòng)新配置一(yī)下(xià)就(jiù)可(kě)以(yǐ)了(le)吗?由(yóu)于(yú)RGMII口(kǒu)是(shì)双(shuāng)邊(biān)沿采樣(yàng),所(suǒ)以(yǐ)不(bù)确定(dìng)需不(bù)需要(yào)加額外(wài)的(de)操作。我(wǒ)看(kàn)网(wǎng)上(shàng)用(yòng)vivado的(de)时(shí)候還(huán)需要(yào)用(yòng)原語(yǔ)将phy給(gěi)的(de)rxclk处理一(yī)下(xià)才行。

答(dá):将GMII口(kǒu)換成(chéng)RGMII口(kǒu)的(de)話(huà),除了(le)需要(yào)将位宽(kuān)以(yǐ)及(jí)MAC重(zhòng)新配置一(yī)下(xià),還(huán)需要(yào)更(gèng)換一(yī)下(xià)硬(yìng)件(jiàn)電(diàn)路(lù)部(bù)分(fēn)電(diàn)阻。


【問(wèn)題(tí)7.47】問(wèn):就(jiù)是(shì)这(zhè)个(gè)選項卡(kǎ)里(lǐ)面(miàn),勾選local loopback的(de)时(shí)候,这(zhè)个(gè)回(huí)环(huán)是(shì)MAC側回(huí)环(huán)還(huán)是(shì)phy側的(de)回(huí)环(huán)呀

答(dá):这(zhè)个(gè)回(huí)环(huán)是(shì)MAC側回(huí)环(huán)。


【問(wèn)題(tí)7.48】問(wèn):千(qiān)兆(zhào)网(wǎng)工程里(lǐ)有(yǒu)一(yī)个(gè)用(yòng)戶时(shí)鐘(zhōng):100M。这(zhè)个(gè)100M时(shí)鐘(zhōng)是(shì)否可(kě)以(yǐ)用(yòng)125M代(dài)替。
答(dá):用(yòng)戶时(shí)鐘(zhōng)只(zhī)要(yào)大于(yú)75M即可(kě)。在(zài)提(tí)供的(de)參考工程文(wén)檔里(lǐ),有(yǒu)这(zhè)个(gè)说(shuō)明(míng),可(kě)以(yǐ)看(kàn)文(wén)檔。

【問(wèn)題(tí)7.49】問(wèn):为(wèi)什麼(me)是(shì)干(gàn)什麼(me)用(yòng)的(de)?是(shì)不(bù)是(shì)IP头(tóu)? 答(dá):僞首部(bù)僅是(shì)參與(yǔ)校(xiào)验(yàn)和(hé)計(jì)算而(ér)使用(yòng)的(de),不(bù)会(huì)放(fàng)到(dào)包(bāo)文(wén)中(zhōng)進(jìn)行傳輸。


【問(wèn)題(tí)7.50】問(wèn):如(rú)下(xià)图(tú),UDP包(bāo)文(wén)協議中(zhōng),各(gè)部(bù)分(fēn)的(de)位置在(zài)哪?



答(dá):按照一(yī)个(gè)包(bāo)文(wén)的(de)先(xiān)後(hòu)順序,其包(bāo)文(wén)字(zì)段(duàn)分(fēn)别是(shì):  前(qián)導碼+MAC头(tóu)+IP头(tóu)+UDP头(tóu)(不(bù)包(bāo)括僞首部(bù))+UDP數據(jù)+校(xiào)验(yàn)碼。



【問(wèn)題(tí)7.51】
問(wèn):接收(shōu)方(fāng)向(xiàng)做CRC校(xiào)验(yàn),是(shì)如(rú)何确認結果(guǒ)的(de)正(zhèng)确性(xìng)的(de)?
答(dá):CRC接收(shōu)校(xiào)验(yàn)有(yǒu)两(liǎng)種(zhǒng)方(fāng)式。 第(dì)一(yī)種(zhǒng),接收(shōu)过(guò)来(lái)的(de)數據(jù)做CRC校(xiào)验(yàn),結果(guǒ)與(yǔ)接收(shōu)过(guò)来(lái)的(de)CRC校(xiào)验(yàn)值比較,相同(tóng)則接受正(zhèng)确,第(dì)二(èr)種(zhǒng),數據(jù)和(hé)接受过(guò)来(lái)的(de)CRC結果(guǒ)一(yī)起做CRC校(xiào)验(yàn),結果(guǒ)應(yìng)該为(wèi)“固定(dìng)數”。注意(yì),这(zhè)里(lǐ)是(shì)固定(dìng)一(yī)个(gè)數,不(bù)一(yī)定(dìng)是(shì)0,因(yīn)为(wèi)CRC算法里(lǐ),還(huán)存在(zài)輸出(chū)結果(guǒ)反(fǎn)轉(zhuǎn)和(hé)异(yì)或(huò)等操作,会(huì)導致(zhì)結果(guǒ)不(bù)一(yī)定(dìng)为(wèi)0。




 【問(wèn)題(tí)7.52】
問(wèn):接收(shōu)方(fāng)向(xiàng)做CRC校(xiào)验(yàn),将數據(jù)和(hé)CRC位一(yī)起計(jì)算,結果(guǒ)一(yī)定(dìng)是(shì)0吗?
答(dá):數據(jù)和(hé)接受过(guò)来(lái)的(de)CRC結果(guǒ)一(yī)起做CRC校(xiào)验(yàn),結果(guǒ)應(yìng)該为(wèi)“固定(dìng)數”。注意(yì),这(zhè)里(lǐ)是(shì)固定(dìng)一(yī)个(gè)數,不(bù)一(yī)定(dìng)是(shì)0,因(yīn)为(wèi)CRC算法里(lǐ),還(huán)存在(zài)輸出(chū)結果(guǒ)反(fǎn)轉(zhuǎn)和(hé)异(yì)或(huò)等操作,会(huì)導致(zhì)結果(guǒ)不(bù)一(yī)定(dìng)为(wèi)0。




 【問(wèn)題(tí)7.53】問(wèn):在(zài)千(qiān)兆(zhào)网(wǎng)工程中(zhōng),很多(duō)模块(kuài)都有(yǒu)使用(yòng)到(dào)了(le)rdy信(xìn)号(hào),該信(xìn)号(hào)的(de)産生(shēng)有(yǒu)些是(shì)跟FIFO的(de)存儲數據(jù)个(gè)數關(guān)聯。如(rú)FIFO深度(dù)为(wèi)4096,當存儲數據(jù)大于(yú)4086时(shí),rdy为(wèi)0;小于(yú)4086时(shí),rdy为(wèi)1。为(wèi)什麼(me)这(zhè)樣(yàng)設計(jì)?
答(dá):rdy是(shì)本(běn)模块(kuài)準備好(hǎo)信(xìn)号(hào),为(wèi)1时(shí)表(biǎo)示可(kě)以(yǐ)接收(shōu)數據(jù),并且保證能(néng)够正(zhèng)确处理。为(wèi)0时(shí),要(yào)求上(shàng)遊模块(kuài)不(bù)能(néng)發(fà)送。 當FIFO滿了(le)的(de)話(huà),進(jìn)来(lái)的(de)數據(jù)无法保存,就(jiù)会(huì)丢失。所(suǒ)以(yǐ)滿了(le)當然rdy为(wèi)0。为(wèi)了(le)讓上(shàng)遊模块(kuài)有(yǒu)一(yī)定(dìng)的(de)緩沖时(shí)間(jiān),将提(tí)示的(de)水(shuǐ)線(xiàn)設置小一(yī)些,例如(rú)4096的(de),就(jiù)設为(wèi)4086,这(zhè)樣(yàng)上(shàng)遊模块(kuài)可(kě)以(yǐ)晚(wǎn)幾(jǐ)个(gè)时(shí)鐘(zhōng)響應(yìng)也(yě)是(shì)可(kě)以(yǐ)的(de)。 至(zhì)于(yú)是(shì)4086,還(huán)是(shì)4090,根(gēn)據(jù)項目情(qíng)況自(zì)己設置。

 【問(wèn)題(tí)7.54】問(wèn):千(qiān)兆(zhào)以(yǐ)太网(wǎng)的(de)macIP核部(bù)分(fēn)的(de)完整視頻有(yǒu)沒(méi)有(yǒu)?我(wǒ)看(kàn)这(zhè)个(gè)IP核说(shuō)是(shì)也(yě)需要(yào)配置,還(huán)有(yǒu)ctc校(xiào)验(yàn),这(zhè)些都是(shì)自(zì)動(dòng)完成(chéng)的(de)吗?(千(qiān)兆(zhào)网(wǎng))
答(dá):沒(méi)有(yǒu),这(zhè)部(bù)分(fēn)不(bù)是(shì)直(zhí)接使用(yòng)就(jiù)可(kě)以(yǐ)了(le),我(wǒ)们(men)工程里(lǐ)有(yǒu)一(yī)个(gè)配置表(biǎo)代(dài)碼 直(zhí)接可(kě)以(yǐ)用(yòng)的(de),ctc是(shì)自(zì)動(dòng)完成(chéng)的(de) 不(bù)需要(yào)參與(yǔ)


【問(wèn)題(tí)7.55】問(wèn):請問(wèn)老(lǎo)师(shī)这(zhè)部(bù)分(fēn)講解(jiě)有(yǒu)吗,找(zhǎo)不(bù)到(dào)?

答(dá):沒(méi)有(yǒu)講解(jiě),直(zhí)接使用(yòng)



【問(wèn)題(tí)7.56】問(wèn):麻(má)煩問(wèn)下(xià)千(qiān)兆(zhào)以(yǐ)太网(wǎng)接收(shōu)mac地(dì)址是(shì)0是(shì)怎麼(me)回(huí)事(shì)呢?

答(dá):廣播包(bāo)應(yìng)該是(shì)这(zhè)麼(me)顯示的(de)



温(wēn)馨提(tí)示:明(míng)德揚除了(le)培訓学習還(huán)有(yǒu)項目承接業务,擅长的(de)項目主(zhǔ)要(yào)包(bāo)括的(de)方(fāng)向(xiàng)有(yǒu)以(yǐ)下(xià)幾(jǐ)个(gè)方(fāng)面(miàn):


1. MIPI視頻拼接

2. SLVS-EC轉(zhuǎn)MIPI接口(kǒu)(IMX472 IMX492)

3. PCIE采集系(xì)統

4. 图(tú)像項目

5. 高(gāo)速多(duō)通(tòng)道(dào)ADDA系(xì)統

6. 基于(yú)FPGA板卡(kǎ)研發(fà)

7. 多(duō)通(tòng)道(dào)高(gāo)靈敏電(diàn)荷放(fàng)大器

8.射頻前(qián)端



需要(yào)了(le)解(jiě)相關(guān)信(xìn)息可(kě)以(yǐ)聯系(xì):易老(lǎo)师(shī)13112063618(微信(xìn)同(tóng)号(hào))


   拓展(zhǎn)閱读(dú)
⁩⁣⁩⁨ ⁩⁤⁢⁢⁢⁥⁩ ⁥⁣⁦⁡ ⁣⁤⁨ ⁡⁨⁠⁤⁠ ⁦⁧⁡⁤⁣⁡⁡⁨⁤ 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⁥⁠⁢

⁧⁨⁥⁨