資料介紹
描述
這個(gè)項(xiàng)目是關(guān)于什么的?
每個(gè)運(yùn)行完整以太坊節(jié)點(diǎn)的人都需要處理托管在區(qū)塊鏈上的智能合約。通常,這是通過在軟件中模擬以太坊虛擬機(jī) (EVM) 來完成的。
該項(xiàng)目的目的是在 FPGA 上構(gòu)建 EVM 的硬件實(shí)現(xiàn)。結(jié)果將是以太坊處理單元 (EPU),這是一個(gè) 256 位處理器,它不在寄存器上運(yùn)行,而是在堆棧上運(yùn)行。
這個(gè)項(xiàng)目是給誰的?
- 就設(shè)計(jì)部分而言,這個(gè)項(xiàng)目是為異國情調(diào)的 CPU 愛好者準(zhǔn)備的。
- 就硬件部分而言,它是一個(gè)面向服務(wù)器改裝者的項(xiàng)目。Xilinx Varium C1100 需要高性能冷卻解決方案。運(yùn)行 Xilinx 的軟件套件需要定制的工作站。
- 你想使用這個(gè)項(xiàng)目嗎?然后,您是 EVM 驅(qū)動(dòng)的區(qū)塊鏈上的獨(dú)立礦工、礦池運(yùn)營商或驗(yàn)證者。
設(shè)置工作站硬件
選擇非常安靜的組件可以為運(yùn)行 Xilinx 軟件的工作站降溫,但不能為托管 Varium C1100 的機(jī)器降溫。如果您想將卡安裝在同一個(gè) PC 機(jī)箱中,請?jiān)谶M(jìn)行物理安裝之前閱讀“冷卻系統(tǒng)得到加強(qiáng)”一章。
組件選擇:
使用我特定的 BIOS 設(shè)置(3200 MHz,1.2 V),RAM 不需要額外的冷卻。注意:我想將 CPU 風(fēng)扇安裝在護(hù)罩上,讓一些空氣流向 RAM 條。但這不是必需的。
對于無風(fēng)扇電源,我們需要機(jī)箱內(nèi)部有一個(gè)正壓。這意味著所有三個(gè) Fractal 風(fēng)扇都安裝在前擋板側(cè)。頂部和底部網(wǎng)格覆蓋有紙(下圖中的白色區(qū)域),以引導(dǎo)氣流從前到后。
要連接風(fēng)扇,請解開下圖中左側(cè)的所有電纜。風(fēng)扇電纜使用相同的扎帶連接,以避免它們在運(yùn)輸過程中晃來晃去。風(fēng)扇集線器從 SATA 獲取電源。雖然 SSD 是 2.5",但我將它安裝在 3.5" 的托架中。在那里,它不會(huì)被主板加熱。
CPU 冷卻器和機(jī)箱背面之間不需要護(hù)罩。
氣流足夠。
安裝 Vitis 和先決條件
如果您計(jì)劃在任何基于 Ubuntu 的 Linux 上安裝 Vitis,請確保在啟動(dòng)安裝程序之前安裝 libtinfo5。
https://support.xilinx.com/s/article/76616?language=en_US
簡而言之:成為超級(jí)用戶,更新您的系統(tǒng)并安裝 libtinfo5。其他一些安裝將很方便或稍后需要:
sudo su
apt update
apt upgrade
apt install libtinfo5
apt install cmake
apt install openssh-server
apt install git
apt install build-essential
apt install opencl-headers
apt install xsensors
后面會(huì)使用cmake搭建區(qū)塊鏈加速挖礦demo。openssh-server 允許您使用 ssh 從另一臺(tái)計(jì)算機(jī)登錄您的工作站,或使用 scp 從另一臺(tái)計(jì)算機(jī)復(fù)制 Vitis 安裝程序。
確保在要安裝 Vitis 的文件系統(tǒng)上禁用日志功能。如果您在 /tools 下安裝了一個(gè)單獨(dú)的 300GB 分區(qū),那么這樣做可能最簡單。
這次我將包括 Vitis 在內(nèi)的整個(gè)系統(tǒng)安裝在 logbsize=256k 的 XFS 分區(qū)上,并且只在統(tǒng)一安裝程序中勾選該項(xiàng)目所需的內(nèi)容。
如果使用 xfs 文件系統(tǒng),編輯 /etc/fstab 并替換
UUID=...... / xfs defaults 0 0
/swapfile none swap sw 0 0
經(jīng)過
UUID=...... / xfs logbsize=256k 0 0
#/swapfile none swap sw 0 0
并刪除所有交換分區(qū)和交換文件。我們不想在 128 GB RAM 系統(tǒng)中更換 SSD 驅(qū)動(dòng)器。
重新啟動(dòng)您的系統(tǒng)(是的,我知道有使用 mount 和 swapoff 的替代方法——但讓我們保持簡單)。
現(xiàn)在是時(shí)候下載 Xilinx 統(tǒng)一安裝程序了:
或者更大的選擇:https ://www.xilinx.com/support/download.html
仍然以root身份,我們切換到下載目錄并運(yùn)行
chmod 555 ./Xilinx_Unified_2021.2_1021_0703_Lin64.bin
./Xilinx_Unified_2021.2_1021_0703_Lin64.bin
將單選按鈕留在頂部(“Vitis”)。它還將安裝 Vivado。是的,Vitis 依賴于 Vivado。從組件中,刪除所有不需要的。Varium 卡上的 U55 是一個(gè) UltraScale+ 器件。
選中以下項(xiàng)目:
- Vitis 統(tǒng)一軟件平臺(tái)(包含所有 3 個(gè)組件)
- DocNav(有文檔總是好的)
- ... Alveo 和邊緣加速...(Varium 的某些組件與 Alveo 兼容)
- 設(shè)備:UltraScale+
除非用于其他項(xiàng)目,否則取消選中以下內(nèi)容:
- Vitis Model Composer(不,我沒有 Matlab)
- Kria SOM 設(shè)備(如果這個(gè)包含 PetaLinux,我們可以節(jié)省一些 GB)
- 適用于自定義平臺(tái)的設(shè)備:除 UltraScale+ 之外的所有設(shè)備
不選中工程樣本。
安裝過程需要幾個(gè)小時(shí)。
之后,需要做一些工作來避免以 root 權(quán)限運(yùn)行 Vivado:
https://support.xilinx.com/s/feed/0D52E00006hpUGrSAM
對于構(gòu)建 Xilinx DMA:
https://github.com/Xilinx/dma_ip_drivers/issues/39
萬歲,Varium 卡到了
該項(xiàng)目歷史上的一個(gè)重要日期(2021-12-20):實(shí)物 Varium C1100 卡進(jìn)入現(xiàn)場。非常感謝 Xilinx!
包裝內(nèi)只包含 Varium 卡。所有軟件都在網(wǎng)站上。不提供電纜。
該卡本身看起來像一個(gè)智能網(wǎng)卡。但我們都知道:它是一個(gè)非常智能的 HBM 網(wǎng)卡。它有兩個(gè) QSFP-28 端口的 8 個(gè) MAC 地址。在馬來西亞制作。
卡片很重。一切都與冷卻有關(guān)。還有一個(gè)金屬背板。有人知道J37有什么用嗎?I2C?我想為風(fēng)扇提供 PWM 輸出。也許我也可以為此濫用 Alveo 連接器。
... 還有一個(gè)Hackster.io貼紙。涼爽的。
Varium 卡的機(jī)械安裝
選項(xiàng) 1:垂直插槽
對于這個(gè)項(xiàng)目,我買了一個(gè)帶有垂直 GPU 插槽和實(shí)心側(cè)面板的電腦機(jī)箱。我希望有更多的遮蔽選項(xiàng),尤其是在主板附近的遮蔽預(yù)計(jì)會(huì)有問題的情況下。
顯示的問題:前面的 USB 3 電纜最好放在電源連接器旁邊。
----
選項(xiàng) 2:底部插槽
該主板的底部插槽只有 8 個(gè) PCIe 通道。用臨時(shí)紙罩蓋在主板旁邊失敗了。如果您使用此插槽,請將護(hù)罩直接連接到 Varium 卡上。
冷卻系統(tǒng)得到加強(qiáng)
Option 1
:舊的 80 毫米 ProLiant 服務(wù)器風(fēng)扇 + 護(hù)罩
護(hù)罩直接連接到 Varium 卡上。因此,底部插槽和垂直插槽安裝是可以的。只有 PCIe AUX 電源線穿過護(hù)罩。
風(fēng)扇全速運(yùn)轉(zhuǎn)并發(fā)出令人不快的噪音。但它提供 10 mm H2O 的靜壓(在 12VDC 下運(yùn)行)。確保您的探測軟管垂直于氣流。
服務(wù)器風(fēng)扇在 12VDC 下運(yùn)行時(shí)聲音太大。將其電壓降至 5VDC(也可在 Molex 連接器上輕松獲得)在噪音滋擾和 Varium 卡在庫存設(shè)置(即無超頻)下的充分冷卻之間實(shí)現(xiàn)了良好的折衷。
----
Option 2
: 三洋電機(jī)高靜壓風(fēng)扇
(!) 危險(xiǎn)區(qū)域 (!) 別開玩笑了。觸摸正在運(yùn)行的 PC 風(fēng)扇,它就會(huì)停止。觸摸正在運(yùn)行的服務(wù)器風(fēng)扇,您會(huì)流血(親身體驗(yàn))。觸摸正在運(yùn)行的工業(yè)級(jí)風(fēng)扇……不。就是不要。Sanyo Denki 產(chǎn)品上沒有警告標(biāo)簽。
沒有免費(fèi)運(yùn)行的桌面測試!這個(gè)風(fēng)扇的推力太大了。直接安裝到 PC 機(jī)箱中進(jìn)行首次通電測試,當(dāng)然還有保護(hù)網(wǎng):
接線:紅色:+48V,黑色:0V,棕色:PWM(連接到 0V 以獲得 0% PWM!),黃色:轉(zhuǎn)速計(jì)(未連接)。
Sanyo Denki 是一個(gè)不錯(cuò)的軟啟動(dòng)。上電時(shí)無電涌。即使在 0%PWM 下,這架直升機(jī)也會(huì)產(chǎn)生穩(wěn)固的靜壓。但是聲音太大了。它消耗大約 7-14W。這些值在我的分辨率為 7W 的壞瓦特表上很難重現(xiàn)。
下一個(gè)測試是將直升機(jī)加電至 100% PWM。我關(guān)了電腦。這樣,即使出現(xiàn)LOCA(冷卻劑損失),我也不會(huì)冒 Xilinx 贊助的全新 Varium 反應(yīng)堆核心熔毀的風(fēng)險(xiǎn)。
Tektronix 電源可用于 0%PWM。但是對于 100%PWM,我使用了我為音頻放大器項(xiàng)目設(shè)計(jì)的電源,我試圖將直升機(jī)加速到全功率。斷開棕色線與黑色線的連接就足夠了。當(dāng)然,要戴護(hù)目鏡和耳罩。我妻子的評(píng)論?可怕!她是對的:根據(jù)數(shù)據(jù)表,Sanyo Denki 直升機(jī)從 3000 RPM 緩慢上升到 15000 RPM 以下。但是我的電源進(jìn)入電流限制(1.5 A)并且功耗為 77W,低于額定的 98W。RND 組件風(fēng)扇保護(hù)網(wǎng)格顯然不是為該吞吐量而設(shè)計(jì)的。氣流變得過于湍流,所有能量都被吸收,而不是通過 Varium 卡推動(dòng)空氣或在 PC 機(jī)殼中增加壓力。
如果你真的想起訴 Sanyo Denki 直升機(jī),盡管它的噪音很大,直接把它裹在 Varium 卡上。也許你甚至想建造一個(gè)風(fēng)道來冷卻背板和前板。在進(jìn)氣側(cè),添加空氣動(dòng)力學(xué)安全罩。超頻快樂!
直升機(jī)將在以后的項(xiàng)目中進(jìn)行低噪音改裝。
與此同時(shí),自從我感染了 COVID 之后,我的 Hackster 實(shí)驗(yàn)室就是一個(gè)生物危險(xiǎn)區(qū)。
----
Option 3
:三個(gè)串聯(lián)的 140mm 分形風(fēng)扇
最后一個(gè)空閑系統(tǒng)的可接受解決方案。
將分形風(fēng)扇從機(jī)箱中取出,將它們排成一行,使所有電纜都在同一側(cè),并且氣流進(jìn)入同一方向。然后,將燒烤串(最大直徑 3 毫米)的尖端逆著氣流插入風(fēng)扇的安裝孔和墊片中:
現(xiàn)在,在烤肉串上卷上膠帶(在烤肉串上粘一點(diǎn)膠帶,然后開始旋轉(zhuǎn)烤肉串,直到膠帶層厚到無法再通過安裝孔)。從第一個(gè)風(fēng)扇組件內(nèi)部的較薄端獲益。
確保風(fēng)扇緊密堆疊在一起。
在進(jìn)氣側(cè)的第一個(gè)風(fēng)扇組件內(nèi)部和最后一個(gè)風(fēng)扇組件的外部切割串桿。剪一張長約 600 毫米、寬與風(fēng)扇疊一樣的紙。將它粘在電線附近的兩個(gè)墊片上,然后將其纏繞在風(fēng)扇組周圍。添加膠帶使電纜通道氣密。將其安裝在電源護(hù)罩的正上方。
您現(xiàn)在有兩個(gè)選擇:
a) 繼續(xù)為 Varium 卡添加護(hù)罩并為 PC 的其余部分添加更多風(fēng)扇
b) 用膠帶覆蓋前板的剩余部分,以免空氣逸出到前面。PC 機(jī)殼的背面部分用膠帶遮蓋,以迫使足夠的空氣通過 Varium 卡。調(diào)整阻力最小的路徑。
我選擇了選項(xiàng) b)。
不是很漂亮,但可以作為概念證明。
我們在可接受的噪音水平下有幾毫米的靜壓。
只要系統(tǒng)處于空閑狀態(tài),溫度也可以。
只要 Varium 在 golden 或 xilinx_u55n_gen3x4_xdma_base_1 上空閑,就可以在沒有適當(dāng)冷卻的情況下應(yīng)用電源。該卡的功耗略低于 10W 至 14W,具體取決于加載的固件。
----
結(jié)論:
將 Varum 卡冷卻到可接受的辦公室噪音水平是一項(xiàng)挑戰(zhàn)。
接受的解決方案是:
- 使用 3 個(gè)堆疊風(fēng)扇(選項(xiàng) 3)冷卻整個(gè) PC 機(jī)箱,但顯然“設(shè)置工作站硬件”部分中顯示的風(fēng)扇配置也可以。
- 使用低電壓(5V 而不是 12V)服務(wù)器風(fēng)扇冷卻 Varium 卡。
速度控制會(huì)很好,因?yàn)樗试S超頻。
在以后的項(xiàng)目中嘗試一下:https ://github.com/neffs/fan_controller
華碩的一個(gè)缺點(diǎn)是不允許我使用機(jī)箱風(fēng)扇接頭連接器來控制覆蓋在 Varium 卡上的風(fēng)扇。
體溫監(jiān)測
如果你跑
xsensors
你知道一些溫度。有兩個(gè)錯(cuò)誤
- 0和NULL沒有區(qū)別
- 未報(bào)告 HBM 溫度(我使用 gimp 手動(dòng)添加了紅色)。
恢復(fù)為 Golden 并重新刷寫 shell 奇跡般地解決了 HBM 溫度讀數(shù)問題。您的主板的某些插槽可能被剝離(看起來像 16 通道,但實(shí)際上是 8 通道)。在我的系統(tǒng)上,由于依賴性問題,這不起作用。將所有 deb 文件放入同一個(gè)apt install命令中。問題解決了:
sudo apt install ./xilinx-u55n-gen3x4-xdma-validate_1-3191757_all.deb ./xilinx-cmc-u55_1.5.16-2.3143933_all.deb ./xilinx-sc-fw-u55_7.1.12-1.ba326cb_all.deb xilinx-u55n-gen3x4-xdma-base_1-3191732_all.deb ./xilinx-u55n-gen3x4-xdma-1-202110-1-dev_1-3236984_all.deb
根據(jù)建議:
sudo /opt/xilinx/xrt/bin/xbmgmt flash --update --shell xilinx_u55n_gen3x4_xdma_base_1
現(xiàn)在,是時(shí)候重啟裝有 Varium 卡的機(jī)器了。
歡迎回來。
讓我們看看升級(jí)是否有效:
lspci | grep Xilinx
09:00.0 Processing accelerators: Xilinx Corporation Device 5058
09:00.1 Processing accelerators: Xilinx Corporation Device 5059
是的,我們還有一條線。重新運(yùn)行與上面相同的命令:
sudo /opt/xilinx/xrt/bin/xbmgmt flash --update --shell xilinx_u55n_gen3x4_xdma_base_1
它現(xiàn)在將刷新 SC。
現(xiàn)在是驗(yàn)證部分:
sudo lspci -vd 10ee:
sudo /opt/xilinx/xrt/bin/xbmgmt flash --scan
確保您可以看到掃描結(jié)果并相應(yīng)地替換以下命令中的 09:00:
sudo /opt/xilinx/xrt/bin/xbutil validate -d 0000:09:00.1 --verbose
是的,第一次對卡進(jìn)行真正的測試。
有些消息雖然很奇怪:
Test 1 [0000:09:00.1] : Aux connection
Description : Check if auxiliary power is connected
Details : Aux power connector is not available on this board
Test Status : [SKIPPED]
我連接了 AUX 電源。
劇透警報(bào):我沒有成功。如果你想要一個(gè)正在運(yùn)行的系統(tǒng),請?zhí)较乱徽隆?/font>
以下是要下載的文件(我們無法使用 curl 獲取它們,因?yàn)檫@些 URL 是登錄墻):
- https://www.xilinx.com/member/forms/download/xef.html?filename=dag_gen_kernel.xclbin
- https://www.xilinx.com/member/forms/download/xef.html?filename=ethash_kernel.xclbin
現(xiàn)在,讓我們設(shè)置環(huán)境變量
source /opt/xilinx/xrt/setup.sh
我遇到了 cmake 的問題,可能是因?yàn)槲以O(shè)置了 Vitis。確保一個(gè)
cmake --version
產(chǎn)生版本 >= 3.5
./build.sh build_host
缺少 CUDA 工具包時(shí)失敗。因?yàn)槲也幌朐跓o風(fēng)扇顯卡上挖礦,所以我禁用了 CUDA:
在build.sh文件中將第 146 行更改為
cmake .. -DETHASHCUDA=OFF
感謝Fouad發(fā)現(xiàn)了那個(gè)。
source /opt/xilinx/xrt/setup.sh
./build.sh build_host
[100%] 內(nèi)置目標(biāo) ethminer
是的!
如果您沒有 ETH 錢包,請創(chuàng)建一個(gè)。我從https://f-droid.org/獲取了 WallETH
然后開始編輯你的啟動(dòng)腳本:
nano mine.sh
腳本看起來像
source /opt/xilinx/xrt/setup.sh
./build.sh mine 0x295805bbbaf99ec63183bfe5078c8bc34203e7 xiliminix eu1.xxxxxmine.org:4444
將0x...替換為錢包的公鑰,將xiliminix 替換為您的工作人員姓名,將 eu1.xxxxxmine.org:4444 替換為礦池的主機(jī)名:端口。不要使用 ethermine.org。如果嘗試失敗,他們會(huì)很快將您列入黑名單。
現(xiàn)在,讓我們使這個(gè)腳本可執(zhí)行并運(yùn)行它:
chmod 755 mine.sh
./mine.sh
您真的期望這會(huì)起作用嗎?
在我的系統(tǒng)上,ethminer 內(nèi)置在我的主目錄中。所以留在build.sh所在的位置
mv ~/ethminer .
./mine.sh
答案是:
Unrecognized platform Xilinx
Subscription failed : Invalid user provided
聽起來更有希望。我顯然必須將我的 WallETH 與 ethermine.org 連接起來。這可以通過ethermine.org網(wǎng)站右上角的“連接錢包”選項(xiàng)來完成。
還有 IIRC,我還沒有在 Varium 卡上刷寫 DAG 和挖礦內(nèi)核。
xbutil program --device 0000:09:00.1 --user dag_gen_kernel.xclbin
xbutil program --device 0000:09:00.1 --user ethash_kernel.xclbin
我希望他們不要互相覆蓋。
顯然,ethermine 禁止了我。使用eu-eth.hiveon.net:4444代替。
首先嘗試用我的顯卡挖礦,然后......
SIGSEGV
sudo su
source /opt/xilinx/xrt/setup.sh
xbmgmt program -d 0000:09:00.0 --revert-to-golden
告訴我重啟電源。也許這就是我在對用戶分區(qū)進(jìn)行編程后錯(cuò)過的。
我沒有驗(yàn)證的另一件事是我是否為正確的平臺(tái)構(gòu)建了 daggen。
一堆熱圖像——行動(dòng)中的紅色礦工隊(duì)
Team Red Miner最初專注于 AMD/OpenCL 礦工,可輕松將您的 Varium 卡變成 ETH PoW 礦工。
創(chuàng)建一個(gè)新用戶,使其成為dialout組的成員并重新啟動(dòng)您的機(jī)器。確保 trm 用戶可以訪問 ttyUSB。否則,您可以以 root 身份運(yùn)行 Tea Red miner,但這是不好的做法。
以下是溫度(使用低電壓(5V 而不是 12V)服務(wù)器風(fēng)扇冷卻):
Team Red Miner 支持對該卡進(jìn)行超頻。但這需要更好的冷卻。這可以通過將服務(wù)器風(fēng)扇切換到 12V 來提供:
sudo su
source /opt/xilinx/xrt/setup.sh
./teamredminer --eth_dag_slowdown=0 --fpga_clk_core=625 --fpga_clk_mem=1250 -a ethash -o stratum+tcp://eu-eth.hiveon.net:4444 -u 0x2a13f15b04f7b8d6319e9ed56521f2c2adcaf324 -p x
調(diào)整參數(shù)以滿足您的需要。否則,它會(huì)挖到我的錢包里 ;-)。
您的最大時(shí)鐘值可能與我的不同,具體取決于冷卻和制造公差。
熱點(diǎn)被推離風(fēng)扇更遠(yuǎn)。對電源轉(zhuǎn)換器不利。
與超頻速度相比,風(fēng)扇速度對溫度的影響更大。在 USB 連接器的右側(cè),我切掉了后板的一些部分,以便于空氣流動(dòng)。在熱圖像上,我們可以清楚地看到主冷卻器。不要切掉 QSFP28 連接器上方的后板。下面我們需要更多的氣流。注意空氣阻力最小的路徑。
Blinky - FPGA 的 Hello World
Red Miner 團(tuán)隊(duì)正在編寫 Varium C1100 卡上開箱即用的罕見應(yīng)用程序之一。但是,當(dāng)您購買 FPGA 時(shí),通常希望在其上運(yùn)行您自己的設(shè)計(jì)。閃爍的 LED 是您可以證明整個(gè)設(shè)計(jì)流程有效的第一個(gè)證據(jù)。
幸運(yùn)的是,@Quarky 幫助我讓 Blinky 在 Varium 上運(yùn)行。
切換到您的項(xiàng)目目錄并下載 Quarky 的代碼。它不僅僅是眨眼,但讓我們邁出第一步:
git clone https://github.com/Quarky93/warpshell.git
按照 README.md 文件中有關(guān) Blinky 的說明進(jìn)行操作。
對其進(jìn)行編程后,其中一個(gè) SQFP28 端口狀態(tài) LED 開始閃爍,其他 LED 保持亮起。低頻是我的錯(cuò);-)。增加它留給讀者作為練習(xí)。
讓 DMA 演示運(yùn)行起來更具挑戰(zhàn)性,因?yàn)槟仨殬?gòu)建 xdma 驅(qū)動(dòng)程序:
切換到您構(gòu)建項(xiàng)目的目錄。然后
source /tools/Xilinx/Vivado/2021.2/settings64.sh
git checkout https://github.com/Xilinx/dma_ip_drivers.git
并根據(jù)https://github.com/Xilinx/dma_ip_drivers/issues/39創(chuàng)建一個(gè) SSL 密鑰
現(xiàn)在,您可以開始 xdma 驅(qū)動(dòng)程序的構(gòu)建過程。請參閱自述文件。然后,
modprobe xdma
lsmod | grep xdma
將顯示您的構(gòu)建是否成功。如果
lspci | grep x
將您的 Varium 卡顯示為 9041,然后您就完成了,您可以嘗試 Quarky 的傳感器和 DMA 演示。如果您的卡片顯示為5058,
您仍然在卡片上加載了 Xilinx 運(yùn)行時(shí)。使用 Vivado 的硬件管理器對 Quarky 的 shell 進(jìn)行編程。如果這沒有將 lspci 5058 更改為 9041,請執(zhí)行熱重啟(即沒有電源循環(huán))。
一旦一些 /dev/xdma* 文件出現(xiàn),xdma 驅(qū)動(dòng)程序就被正確構(gòu)建,你的卡也被正確編程。
注意:如果更新內(nèi)核,則必須重建 xdma 驅(qū)動(dòng)程序。在重新創(chuàng)建 SSH 密鑰和 make install 之前執(zhí)行 make clean。
以 GUI 方式為 Varium C1100 配置 Vivado
啟動(dòng) Vivado 時(shí),您會(huì)在開始設(shè)計(jì)的電路板中錯(cuò)過 Varium C1100。此問題有兩種解決方法:
- tcl控制臺(tái)方式:UG1526第9頁(從https://www.xilinx.com/member/varium-vivado.html下載)
- GUI方式:
啟動(dòng)vivado
source /tools/Xilinx/Vivado/2021.2/settings64.sh
vivado
- 創(chuàng)建一個(gè)新的 RTL 項(xiàng)目
- 選擇任何Ultrascale+ 開發(fā)板
- 進(jìn)入 IP 目錄
- 禁用“隱藏禁用和不兼容的 IP”按鈕
- 選擇“Card Management Solution Subsystem”Version 4(試一試,版本會(huì)出現(xiàn)在下面的面板中,或者滾動(dòng)表格到右邊)
- 右鍵單擊它并選擇“兼容的家庭”
- 為 Varium C1100(您可以在 DS1003 和 UG1526 中找到該部件號(hào))選擇 XCU55N-FSVH2892-2L-E(使用搜索功能:放大鏡)。您還可以找到 U55N、U55C、SN1022 等卡...
- 點(diǎn)擊“切換部件”
- 確認(rèn)切換項(xiàng)目部分
- 將 C1100_xdc_1v00.xdc 文件(或任何更新版本)包含到設(shè)計(jì)約束中
您可以從此頁面下載 XDC 文件:https ://www.xilinx.com/products/accelerators/varium/c1100.html#vivado
現(xiàn)在,您已準(zhǔn)備好創(chuàng)建新設(shè)計(jì)。
使用 MicroBlaze 作為“服務(wù)處理器”
我首先想到構(gòu)建一個(gè)擴(kuò)展的 EPU
- 主管模式(一些額外的 I/O 功能,用于將合約及其狀態(tài)加載到內(nèi)存中并返回新狀態(tài)
- 執(zhí)行模式(執(zhí)行EVM等智能合約)
與使用 MicroBlaze 執(zhí)行上述管理模式任務(wù)相比,這不太可能成功。我們不需要 256 位 ALU 和堆棧引擎來將作業(yè)加載到內(nèi)存中。第一個(gè)版本的想法也是不使用 PCIe/DMA,而是使用 MicroUSB UART。像這樣,我可以避免重新啟動(dòng)主機(jī)以獲得正確的 PCIe。我們或許也可以避免編寫驅(qū)動(dòng)程序軟件。性能可能低于在主 CPU 上模擬 EVM。如果是這樣,以后還是可以引入DMA的。
請注意,所有涉及 SDK 的文檔均已過時(shí)。我們現(xiàn)在使用 Vitis 在 MicroBlaze 上實(shí)施軟件。
https://www.xilinx.com/support/documentation/quick_start/microblaze-quick-start-guide-with-vitis.pdf
還可以搜索 MircroBlaze Hello World。當(dāng)心舊的 SDK 工作流程。
根據(jù) Vitis 的能力,也可以采取“先造后造”的方法,即在 microBlaze 上實(shí)現(xiàn) EPU,然后逐步用真正的硬件 EPU 替換它。
試圖讓 geth 運(yùn)行
切換到您的項(xiàng)目目錄并避免成為超級(jí)用戶,然后:
git clone https://github.com/ethereum/go-ethereum.git
sudo apt install golang
cd go-ethereum
make all
您真的期望構(gòu)建過程順利嗎?上面命令安裝的1.13.8版本報(bào)錯(cuò)如下:
build github.com/ethereum/go-ethereum/cmd/clef: cannot load hash/maphash: malformed module path "hash/maphash": missing dot in first path element
golang 的更新可以解決這個(gè)問題?咱們試試吧。這里的一些說明看起來不錯(cuò)。
sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt update
sudo apt install golang-go
sudo apt autoremove
讓我們再試一次:
make all
自述文件沒有告訴我們?nèi)绾问?bash 可以訪問可執(zhí)行文件。我在這個(gè)頁面的底部找到了。
cd build/bin
哇,甚至還有一個(gè) evm 可執(zhí)行文件。自述文件說了什么?
./evm --code 60ff60ff --debug run
輸出是:
0x
#### TRACE ####
PUSH1 pc=00000000 gas=10000000000 cost=3
PUSH1 pc=00000002 gas=9999999997 cost=3
Stack:
00000000 0xff
STOP pc=00000004 gas=9999999994 cost=0
Stack:
00000000 0xff
00000001 0xff
#### LOGS ####
整潔的!那個(gè)仍然在 CPU 上運(yùn)行。對于 EVM 上的“hello world”,擁有這個(gè)工具真是太好了。
./geth --goerli console
開始同步測試網(wǎng)。這將成為衡量 EPU/EVM 加速效率的基準(zhǔn)。但是竊聽同伴會(huì)干擾時(shí)間。Geth 已經(jīng)是多線程的了。好的。-- 但不是 EVM。可以讓生活更輕松。
錯(cuò)過了--syncmode 完整選項(xiàng)。那應(yīng)該稱為 EVM。
對現(xiàn)有的 geth EVM 代碼進(jìn)行逆向工程
https://github.com/ethereum/go-ethereum/tree/master/core/vm
更確切地說
https://github.com/ethereum/go-ethereum/blob/master/core/vm/interpreter.go
在這里,我們看到
func (in *EVMInterpreter) Run(contract *Contract, input []byte, readOnly bool) (ret []byte, err error) {
所以,策略是設(shè)置一個(gè)DMA發(fā)送合約*Contract,輸入[]byte, readOnly bool到Varium卡,等到處理完成,通過DMA獲取ret []byte, err error 。
解釋器主循環(huán)將有效地被 EPU 取代。interpreter.go中的其余代碼用于執(zhí)行既不在 EVM 也不在 EPU 上運(yùn)行的預(yù)編譯合約。
現(xiàn)在,我將在我的 geth 分支上進(jìn)行與硬件實(shí)現(xiàn)相關(guān)的更改:https ://github.com/stonux/go-ethereum.git
如果您想要自己的副本,請切換到您的本地工作目錄。當(dāng)心那里是否已經(jīng)有一個(gè) go-ethereum。我不知道 IDE 處理多個(gè)分支的能力如何。
git clone https://github.com/stonux/go-ethereum.git
整個(gè)事情會(huì)有多奇怪?
請記住,以太坊想要抗 ASIC。這對 EVM 的硬件實(shí)現(xiàn)來說是有毒的。費(fèi)用表、操作碼……從一個(gè)叉子變成另一個(gè)叉子。如果我們對一個(gè)全節(jié)點(diǎn)進(jìn)行完全同步,我們將不得不為每個(gè)分叉重新編程 FPGA,或者實(shí)現(xiàn)一個(gè)以分叉 ID 作為參數(shù)的 EPU,并相應(yīng)地調(diào)整指令解碼和 gas 計(jì)量(可能在以后的版本)。
- TLIMX8-EVM評(píng)估板硬件說明書
- 基于FPGA芯片的軟硬件平臺(tái)的使用 20次下載
- 基于FPGA的神經(jīng)網(wǎng)絡(luò)硬件實(shí)現(xiàn)方法 37次下載
- 基于FPGA的RBF神經(jīng)網(wǎng)絡(luò)硬件實(shí)現(xiàn) 26次下載
- 如何使用FPGA實(shí)現(xiàn)順序形態(tài)圖像處理器的硬件實(shí)現(xiàn) 8次下載
- 在PCB上設(shè)計(jì)大容量引腳FPGA 24次下載
- 如何使用FPGA和DSP實(shí)現(xiàn)數(shù)字視頻消像旋系統(tǒng)的設(shè)計(jì) 10次下載
- 如何使用FPGA實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)硬件的設(shè)計(jì)方法 6次下載
- 如何使用FPGA實(shí)現(xiàn)異步FIFO硬件 9次下載
- 基于TCP/IP通信技術(shù)在Xilinx FPGA上的實(shí)現(xiàn) 9次下載
- 在FPGA上實(shí)現(xiàn)CRC算法的程序 28次下載
- 融合DSP設(shè)計(jì)與FPGA硬件實(shí)現(xiàn) 225次下載
- 基于FPGA的2-D模糊CMAC網(wǎng)絡(luò)的硬件實(shí)現(xiàn) 29次下載
- 基于FPGA的模糊CMAC網(wǎng)絡(luò)的硬件實(shí)現(xiàn)
- 構(gòu)建3-GBPS Esata/sata硬件RAID 5解決方
- fpga是硬件還是軟件 756次閱讀
- fpga開發(fā)是什么意思 817次閱讀
- fpga是硬件還是軟件 1354次閱讀
- 如何使用OpenCL輕松實(shí)現(xiàn)FPGA應(yīng)用編程 6322次閱讀
- 采用Fusion FPGA實(shí)現(xiàn)擴(kuò)散爐溫控系統(tǒng)的軟硬件設(shè)計(jì) 941次閱讀
- 基于級(jí)聯(lián)結(jié)構(gòu)和VHDL語言的IIR數(shù)字濾波器在FPGA上實(shí)現(xiàn)設(shè)計(jì) 1923次閱讀
- 軟件無線電硬件平臺(tái)的FPGA動(dòng)態(tài)配置 1045次閱讀
- FPGA在人工智能時(shí)代的獨(dú)特優(yōu)勢的全面分析 1w次閱讀
- 如何利用FPGA硬件實(shí)現(xiàn)固定倍率的圖像縮放? 4452次閱讀
- 基于FPGA硬件平臺(tái)的可重構(gòu)系統(tǒng)調(diào)度算法詳解 1922次閱讀
- 基于fpga和cpld低頻/最小邏輯ADC實(shí)現(xiàn) 1255次閱讀
- FPGA上電后IO的默認(rèn)狀態(tài) 1.5w次閱讀
- 利用LabVIEW FPGA模塊構(gòu)建靈活的發(fā)動(dòng)機(jī)仿真器 1748次閱讀
- 在FPGA中實(shí)現(xiàn)嵌入式TCP/IP通信協(xié)議棧 7739次閱讀
- 新手如何學(xué)習(xí)FPGA外圍硬件電路設(shè)計(jì) 2.7w次閱讀
下載排行
本周
- 1SMD LED選型手冊 貼片燈珠
- 5.47 MB | 4次下載 | 免費(fèi)
- 2明緯S-50-24開關(guān)電源電路圖.pdf
- 0.10 MB | 2次下載 | 5 積分
- 3基本半導(dǎo)體產(chǎn)品在Sic逆變焊機(jī)中的應(yīng)用
- 7.27 MB | 2次下載 | 免費(fèi)
- 4加密芯片的一種破解方法和對應(yīng)加密方案改進(jìn)設(shè)計(jì)
- 0.29 MB | 1次下載 | 免費(fèi)
- 5多功能MPU芯片GC9005數(shù)據(jù)手冊
- 2.67 MB | 1次下載 | 免費(fèi)
- 6基本半導(dǎo)體產(chǎn)品在125kW工商業(yè)儲(chǔ)能PCS中的應(yīng)用
- 10.74 MB | 1次下載 | 免費(fèi)
- 7MOSFET參數(shù)解讀
- 1.59 MB | 1次下載 | 2 積分
- 8550W充電機(jī)原理圖
- 0.13 MB | 1次下載 | 6 積分
本月
- 1使用單片機(jī)實(shí)現(xiàn)七人表決器的程序和仿真資料免費(fèi)下載
- 2.96 MB | 44次下載 | 免費(fèi)
- 2美的電磁爐維修手冊大全
- 1.56 MB | 16次下載 | 5 積分
- 33314A函數(shù)發(fā)生器維修手冊
- 16.30 MB | 13次下載 | 免費(fèi)
- 4STM32F101x8/STM32F101xB手冊
- 1.69 MB | 8次下載 | 1 積分
- 5感應(yīng)筆電路圖
- 0.06 MB | 8次下載 | 免費(fèi)
- 6使用TL431設(shè)計(jì)電源
- 0.67 MB | 7次下載 | 免費(fèi)
- 7不對稱半橋(AHB)反激變換器的分析與設(shè)計(jì)
- 0.68 MB | 6次下載 | 1 積分
- 8LZC3106G高性能諧振控制器中文手冊
- 1.29 MB | 5次下載 | 1 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935119次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233084次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191367次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73807次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65987次下載 | 10 積分
評(píng)論
查看更多