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

MDY千(qiān)兆(zhào)网(wǎng)工程聯合仿真(zhēn)教程

發(fà)布(bù)时(shí)間(jiān):2020-10-16   作者(zhě):admin 浏覽量(liàng):
本(běn)文(wén)簡要(yào)描述了(le) MDY 千(qiān)兆(zhào)网(wǎng)工程仿真(zhēn)的(de)过(guò)程。

千(qiān)兆(zhào)网(wǎng)模块(kuài)使用(yòng)了(le)一(yī)个(gè)比較大的(de) IP 核,即三(sān)速以(yǐ)太网(wǎng) IP 核,該 IP 核較大,涉及(jí)的(de)功能(néng)較多(duō),不(bù)能(néng)像之前(qián)那(nà)樣(yàng)添加 altera_mf.v 文(wén)件(jiàn)就(jiù)行。那(nà)了(le)方(fāng)便起見(jiàn),還(huán)是(shì)使用(yòng)了(le)傳統的(de),通(tòng)过(guò) QUARTUS 調用(yòng) MODELSIM 的(de)方(fāng)式進(jìn)行仿真(zhēn)。
希望学員能(néng)根(gēn)據(jù)本(běn)案(àn)例,舉一(yī)反(fǎn)三(sān),掌握 QUARTUS 調用(yòng) MODELSIM 的(de)方(fāng)法。

1.  設置 MODELSIM 工具路(lù)徑

在(zài) QUARTUS 中(zhōng)的(de) tools 欄中(zhōng),點(diǎn)擊 options 選項。

在(zài)弹出(chū)的(de)窗(chuāng)口(kǒu)中(zhōng),選擇 EDA tool options,然後(hòu)在(zài) Modelsim 中(zhōng)選擇 modelsim 的(de)所(suǒ)在(zài)的(de)路(lù)徑。注意(yì)一(yī)般是(shì)在(zài) win32 或(huò)者(zhě) win64pe 的(de)目录(lù)。

2.  設置仿真(zhēn)文(wén)件(jiàn)

在(zài)工程的(de)頂层文(wén)件(jiàn)中(zhōng),右(yòu)鍵選擇 Settings。

在(zài)弹出(chū)的(de)窗(chuāng)口(kǒu)中(zhōng),先(xiān)選擇 Simulation。
在(zài) Tool name 中(zhōng),選擇 Modelsim。(如(rú)果(guǒ)您的(de)工具不(bù)同(tóng),就(jiù)根(gēn)據(jù)实質(zhì)情(qíng)況来(lái)選)
在(zài) Format for output netlist 中(zhōng),選擇 verilog HDL。
在(zài) Time Scale 中(zhōng),選擇时(shí)間(jiān)單位,我(wǒ)这(zhè)里(lǐ)選擇的(de)是(shì) 100ps。
其他(tā)默認即可(kě)。
點(diǎn)擊 Test Benches 按鍵,開(kāi)始進(jìn)行测試文(wén)件(jiàn)設置。

在(zài)弹出(chū)的(de)窗(chuāng)口(kǒu)中(zhōng),點(diǎn)擊 New,開(kāi)始新增一(yī)个(gè)测試文(wén)件(jiàn)。

在(zài) Test bench name 中(zhōng),填写测試文(wén)件(jiàn)名。本(běn)次(cì)演示工程中(zhōng),测試文(wén)件(jiàn)名是(shì)test_mdyUdpIp。
在(zài) Top level module in test bench 中(zhōng),填写测試文(wén)件(jiàn)中(zhōng)的(de)模块(kuài)名,即 module name。一(yī)般
規範的(de)是(shì)模块(kuài)名與(yǔ)测試文(wén)件(jiàn)名一(yī)致(zhì),所(suǒ)以(yǐ)填 test_mdyUdpIp。
注意(yì)以(yǐ)上(shàng)两(liǎng)个(gè)選項概念是(shì)不(bù)同(tóng)的(de)。有(yǒu)些人(rén)的(de)模块(kuài)名與(yǔ)文(wén)件(jiàn)名不(bù)一(yī)致(zhì),这(zhè)个(gè)要(yào)注意(yì)下(xià)。
在(zài)上(shàng)图(tú) 3 处,點(diǎn)擊後(hòu)選擇测試文(wén)件(jiàn),然後(hòu)在(zài) Add 中(zhōng)點(diǎn)擊,即可(kě)添加测試文(wén)件(jiàn)。
當設置完成(chéng)後(hòu),一(yī)路(lù)按 OK\APPLY 選項,關(guān)閉設置窗(chuāng)口(kǒu)。

3.  運行 RTL 仿真(zhēn)

在(zài) QUARTUS 界面(miàn)中(zhōng),在(zài) tools 中(zhōng),選擇 Run Simulaton Tool,再選擇 RTL Simulaton。
此(cǐ)时(shí)開(kāi)始調用(yòng) MODELSIM 進(jìn)行綜合編譯和(hé)仿真(zhēn)。


MODELSIM 有(yǒu)可(kě)能(néng)会(huì)出(chū)現(xiàn)上(shàng)面(miàn)的(de)錯誤。
仔细(xì)閱读(dú)錯誤提(tí)示,該提(tí)示说(shuō)找(zhǎo)不(bù)到(dào) myUdpIp_18.vo 文(wén)件(jiàn)。并且是(shì)在(zài)運行“udp_ip_example_run_msim_rtl_verilog.do”第(dì) 276 行时(shí)出(chū)現(xiàn)的(de)錯誤。


笔(bǐ)者(zhě)在(zài)目录(lù)下(xià)确实找(zhǎo)不(bù)到(dào) myUdpIp_18.vo 文(wén)件(jiàn),百(bǎi)思(sī)不(bù)得其解(jiě),这(zhè)个(gè)文(wén)件(jiàn)是(shì)哪里(lǐ)来(lái)的(de)?!
不(bù)得已,去(qù)找(zhǎo) udp_ip_example_run_msim_rtl_verilog.do 看(kàn)看(kàn)。

如(rú)上(shàng)图(tú),找(zhǎo)到(dào) udp_ip_example_run_msim_rtl_verilog.do 文(wén)件(jiàn)。

找(zhǎo)到(dào) 276 行,确实是(shì)有(yǒu)一(yī)条(tiáo)語(yǔ)句(jù)要(yào)編譯 myUdpIp_18.vo 文(wén)件(jiàn)。仍然不(bù)明(míng)白为(wèi)什麼(me)要(yào)編
譯:是(shì)生(shēng)成(chéng)的(de) IP 核少(shǎo)了(le)这(zhè)个(gè)文(wén)件(jiàn),還(huán)是(shì)说(shuō)测試时(shí)多(duō)要(yào)求了(le)这(zhè)个(gè)文(wén)件(jiàn)。

沒(méi)有(yǒu)辦(bàn)法的(de)情(qíng)況下(xià),将 276 行屏蔽,嘗試不(bù)用(yòng)此(cǐ)語(yǔ)句(jù)是(shì)否能(néng)成(chéng)功。如(rú)上(shàng)图(tú)所(suǒ)示,加一(yī)个(gè)#,保存。

修改後(hòu),注意(yì)注意(yì)!是(shì)在(zài) MODELSIM 的(de)窗(chuāng)口(kǒu)中(zhōng),按“向(xiàng)上(shàng)箭头(tóu)”鍵,找(zhǎo)到(dào)上(shàng)面(miàn)的(de)語(yǔ)句(jù)do udp_ip_example_run_msim_rtl_verilog.do,按回(huí)車執行。
千(qiān)万(wàn)不(bù)要(yào)在(zài) QUARTUS 里(lǐ)調用(yòng)仿真(zhēn),那(nà)樣(yàng)又会(huì)修改回(huí) do 文(wén)件(jiàn)的(de)。

執行後(hòu)果(guǒ)然沒(méi)有(yǒu)問(wèn)題(tí),一(yī)切(qiè)順利,如(rú)上(shàng)图(tú)所(suǒ)示。大家(jiā)可(kě)以(yǐ)自(zì)由(yóu)使用(yòng)了(le)。

4.  修改代(dài)碼調試
當仿真(zhēn)發(fà)現(xiàn)問(wèn)題(tí),修改完代(dài)碼後(hòu)。沒(méi)有(yǒu)必要(yào)從第(dì) 3 步開(kāi)始(即不(bù)用(yòng) QUARTUS 調用(yòng)MODELSIM)。而(ér)是(shì)直(zhí)接在(zài) MODELSIM 窗(chuāng)口(kǒu)中(zhōng),選擇 compile,選擇修改的(de)文(wén)件(jiàn),compile。
然後(hòu)在(zài) MODELSIM 中(zhōng) Restart,重(zhòng)新跑即可(kě)。
下(xià)一(yī)篇(piān):54 千(qiān)兆(zhào)网(wǎng)
   拓展(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⁥⁠⁢

⁧⁨⁥⁨