fpga挖礦程序編寫
1. FPGA用什麼語言編寫好。
一般可以使用VERILOG 或者VHDL編寫。
其實兩種語言的差別並不大,他們的描述能力也是類似的。掌握其中一種語言以後,可以通過短期的學習,較快的學會另一種語言。 選擇何種語言主要還是看周圍人群的使用習慣,這樣可以方便日後的學習交流。當然,如果您是專用集成電路(ASIC)設計人員,則必須首先掌握verilog,因為在IC設計領域,90%臘穗以上的公司都是採用verilog進行IC設計。對於PLD/FPGA設計者而言,兩種語言可以自由選擇。
設計人員通過計算機對HDL語言進行邏輯模擬和邏輯綜合,方便高緩沒效地設計數字電路及其產品。
其實,從個人感覺上來輪哪卜講,verilog比較容易理解和學習,也比較靈活,但是正是由於其代碼的隨意性,如果應用不熟練程序很可能會有較多bug,需要慢慢調試。而VHDL作為早期美國軍方設計的語言,追求其完備性和規則的嚴密性,用它可以避免很多程序BUG的發生,但是相對的,代碼編寫量也會較大。
歡迎追問~
2. FPGA用什麼編程語言
作為FPGA新人,對FPGA學習肯定會有很多問題,像FPGA是什麼?FPGA怎麼學?FGPA用什麼語言之類的,前兩者我們專門發文章討論過,今天我們重點談一談FPGA用什麼編程語言。
經常看到不少人在論壇里發問,FPGA是不是用C語言開發的?國外有些公司專注於開發譽洞解決編譯器這悶虛磨方面問題,目的讓其能夠達到用C語言替代VHDL語言的目的,也開發出了一些支持用c語言對FPGA進行編程的開發工具。但在使用多的FPGA編程語言還是verilog和VHDL語言,一般不使用C語言進行編程。
FPGA可以用VHDL語言和VERILOG語言進行編程開發,目前歐洲前者用的多,而,美國,日本則更多的使用後者,而且後者和C語言比較的接近,如果你對C比較熟悉的話,可以選擇使用VerilogHDL語言,基本語法和C非常相似,而且也非常靈活,VHDL語言則相對來說比較嚴謹。
其實兩種語言的差別並不大,他們的描述能力也是類似的。掌握其中一種語言以後,可以通過短期的學習,較快的學會另一種語言。選擇何種語言主要還是看周圍人群的使用習慣,這樣可以方便日後的學習交流。當然,如果您是專用集成電路(ASIC)設計人員,則必須首先掌握verilog,因為在IC設計領域,90%以上的公司都是採用verilog進行IC設計。對於PLD/FPGA設計者而言,兩種語言可以自由選擇。
設計人員通過計算機對HDL語言進行邏輯模擬和邏輯綜合,方便高效地設計數字電路及其產品。
相對而言,歐洲方面多用VHDL,特螞斗點是邏輯嚴謹、慎密。而verilog則是美國用的較多,特點是語法上更靈活一些。兩者在語法構成方面都差別不大,一般都是通用的。VHDL編寫的程序可能看上去會臃腫一些但是對於後續的調試和修改會更方便一些。
FPGA用什麼編程語言呢?verilog和VHDL,這里給初學者的建議是:從VHDL入手,進階兼顧Verlilog,相互對比著學習,更有利於程序的理解和編寫。
3. FPGA怎麼往晶元里寫程序
XILINX 配置方式及流物滲程
2 主動式配置方式
2.1 產生下載文件
雙擊Generate Target PROM/ACE File ,進入IMPACT環境,彈出一下窗口,點擊OK
彈出如下窗口:
雙擊 Create PROM File (PROM File Formatter) 彈出PROM 文件生成窗口,按照電路板上實際選擇的FLASH類型生成相應的*.mcs文件。
2.2 配置過程
雙擊Boundary Scan ,在右側窗口點擊右漏耐鍵 選擇Initialize Chain ,這時如果下載器連接正常的話會檢測到JATG鏈上掛接的器件。在JATG 鏈FPGA上面有個虛線框寫著 SPI/BPI 點擊右鍵添加剛才生返螞春成的*.mcs文件點擊右鍵programming,就開始下載了
4. 電腦怎麼挖礦 電腦如何挖礦
1、要了解家用電腦挖礦這個問題,首先得解釋清楚挖礦。在比特幣出來以後,由於大家共同保存一個一模一樣的記錄交易的賬本,因此需要一個一錘定音有決定權的人來負責記錄這個賬本。誰來記錄呢?通過一道題目來決定,誰的計算機先算對了,那麼它就擁有記賬權,記錄這個區塊的所有數據,這就是挖礦的通俗解釋。而獎勵這個記賬的人,獲得了額外的一筆錢,這個就是挖礦的獎勵,獎勵給貢獻了足夠計算力來解題的人,也是我們為什麼要去挖礦的原因,幣就是錢,為了賺錢。
2、比特幣挖礦最開始只是CPU的事,接下來,為了更多的錢,技術員們研發出來顯卡的、fpga的、ASIC晶元的,越來越快的記賬方法。這里請注意,只是比特幣的記賬方法,比特幣是sha256演算法,只是適用於這種的,也只能在這種演算法下進行挖礦。後來陸續出現了更多的演算法Ethash、KawPow、CryptoNight、Zhash、X16R、Randomx……,列不完的哈。
3、注意這里幾個概念,演算法(上面的一堆),設備(CPU、顯卡、fpga、ASIC)他們是相輔相成的,一個幣種可能有多個演算法或單一演算法來記賬,同一設備也可以運行不同演算法獲得不同的獎勵,區別只是記賬效率的高低,賺錢的快慢。所以比特幣可以用CPU、顯卡、fpga、ASIC任何一種去挖,只是ASIC效率和性價比最高。下面回歸主題,家用電腦能挖什麼?家用電腦=CPU+顯卡CPU比較合適的就是Randomx演算法下的monero,顯卡的話,則適合nicehash的自動選擇。
5. 以太坊gpu挖礦程序是怎樣的
GPU挖掘
硬體
演算法是內存難解的,為了使DAG適合內存,每個GPU需要1-2GB內存,如果你得到錯誤提示:Error GPU mining. GPU memory fragmentation? 說明你沒有足夠的內存。GPU挖礦軟體是基於OpenCL實現的,AMD GPU會比同一水準的NVIDIA GPU更快。ASIC和FPGA相對低效因而被阻攔。要給晶元集成平台獲取openCL,嘗試:
AMD SDK openCL
NVIDIA CUDA openCL
Ubuntu Linux設置
對於這個快速指南,你會需要Ubuntu 14.04或15.04以及fglrx圖像驅動器。你也可以使用NVidia驅動器和其他平台,但是你必須要找到自己的方式來獲得有效的OpenCL安裝,比如Genoil的ethminer分叉。
如果你在用15.04,到"軟體與更新〉額外的驅動器"設置為"從fglrx為AMD圖形加速器使用視頻驅動器"。
如果你在用14.04,到"軟體與更新〉額外的驅動器"設置為"從fglrx為AMD圖形加速器使用視頻驅動器"。很遺憾,對於一些人來說,這種方法可能不管用,因為Ubuntu 14.04.02中有個已知的程序錯誤會阻止你轉換到GPU挖礦所必須的專屬圖形驅動器。
所以,如果你遇到這個程序錯誤,先到"軟體與更新〉更新"選擇"預發行的可靠更新提議"。然後,回到"軟體與更新〉額外的驅動器"設置為"從fglrx為AMD圖形加速器使用視頻驅動器"。重啟之後,值得檢查一下現在確實正確安裝了驅動器(例如通過再到"額外驅動器")。
不管做什麼,如果你在用14.04.02,一旦安裝之後,就不要改變驅動器或者驅動器配置。例如,aticonfig –initial的使用(尤其是-f, –force選項)會"破壞"你的設置。如果你偶然改變了配置,會需要卸載驅動器,重啟,再次安裝驅動器並重啟。
6. 什麼類型的礦機為挖幣專門定製淘汰後幾乎毫無價值
ASIC礦機ASIC礦機是指使用ASIC晶元作為核心運算零件的礦機。ASIC晶元是一種專門為某種特定用途設計的晶元,必須說明的是它並不只用於挖礦,還有更廣泛的應用領域。這種晶元的特點是簡單而高效,例如比特幣採用SHA256演算法,那麼比特幣ASIC礦機晶元就被設計為僅能計算SHA256,所以就挖礦而言,ASIC礦機晶元的性能超過當前頂級的電腦CPU。因為ASIC礦機在算力上有絕對的優勢,所以電腦、顯卡礦機開始逐漸被淘汰。
GPU礦機GPU礦機,簡單的解釋就是通過顯卡(GPU)挖礦的數字貨幣挖礦機。在比特幣之後,陸續出現了一些其他數字資產,比如以太坊、達世幣、萊特幣等等,其中一些幣所用的演算法與比特幣並不相同,為了達到更高的挖礦效率,礦工們做了不同的測試,最後發現SHA256演算法的數字貨幣使用ASIC挖礦效率最高。而Scrypt 等其他演算法的數字貨幣用GPU顯卡挖礦效率最高,於是催生出了專門的GPU礦機。
IPFS礦機IPFS類似於http,是一種文件傳輸協議。IPFS要想運行,需要網路中有許許多多的計算機(存儲設備)作為節點,廣義的說所有參與的計算機,都可以稱作IPFS礦機。而IPFS網路為了吸引更多的用戶加入成為節點,為網路做貢獻,設計了一種名叫filecoin的加密貨幣,根據貢獻存儲空間與帶寬的多少,派發給參與者(節點)作為獎勵。狹義的說,專門以獲取filecoin獎勵為目的而設計的計算機,稱為IPFS礦機。由於IPFS網路需要的是存儲空間以及網路帶寬,所以為了獲得最高的收益比,IPFS礦機通常會強化存儲空間、降低整機功耗等方面。比如裝備10塊以上大容量硬碟,配備千兆或更高速度的網卡,使用超低功耗的架構處理器等等。
FPGA礦機FPGA礦機,既使用FPGA晶元作為算力核心的礦機。FPGA礦機是早期礦機之一,首次出現在2011年末,在當時一度被看好,但活躍期並不長,後逐漸被ASIC礦機與GPU礦機取代。FPGA(Field-Programmable Gate Array),中文名叫現場可編程門陣列。比較通俗的理解是,FPGA就是把一大堆邏輯器件(比如與門、非門、或門、選擇器)封裝在一個盒子里,盒子里的邏輯元件如何連接,全部由使用者(編寫程序)來決定。 如果FPGA裡面寫的是挖礦程序,那麼造出來的就是FPGA礦機,而且由於FPGA靈活度高,所以不只是可以支持比特幣的SHA256演算法,也可以支持GPU礦機擅長的Scrypt演算法。FPGA礦機活躍的時期,相比同時代的CPU、GPU礦機,FPGA雖然算力性能不佔優,但功耗要低很多,綜合功耗比很高。
7. 關於FPGA編程方式的問題
你買的fpga是基於sram的工藝,掉電程序確實會消失,只是在運行時程序存在sram中。JTAG一般用來調試,在通電的情況下把程序燒到sram中,斷電又沒了;AS是主動模式,fgpa在上電的時候主動從epcs晶元中讀取數據放到sram中,這樣也能工作了,每次上電那一瞬間fpag都會從epcs里讀取數據然後正常工作,所以用起來像是燒到fpga里一樣。PS就是被動模式,由一個外部的CPU給fpga輸入程序,用的不太多。所以,你想「程序燒到內部」,應該是用AS模式把程序燒到EPCS里,每次上電的時候fpga都會從中讀取數據然後正常運行的。看起來就像是燒到fpga裡面一樣。如果要「真的」燒到fpga裡面,是有基於flash工藝的fpga,可以直接燒到fpga裡面的flash里,也就不需要ecps晶元了,不過商業或者民用領域不太常用。
你買的這個板子也不是這種。
on-chip-memery就是fpga用內部的資源撘成一個ram或者rom。fpga裡面都是ram,這個沒問題。那rom其實也是一個ram,只是上電的時候fpga從epcs裡面讀取了固定的信息放到這個ram里,所以用起來就像rom一樣。
8. 挖礦是怎麼挖的,在什麼平台挖的
挖礦晶元經歷了CPU挖礦到GPU挖礦到FPGA挖礦,如今走入了ASIC挖礦時代。然而挖礦的方式也經歷了從一兩台礦機挖礦到小礦機作坊,再到如今走入了大規模礦場挖礦的時代。
(1)挖礦方式:從一台礦機到大規模礦場。
如果你開始嘗試挖礦,你需要准備一台礦機、一台能聯網的電腦、一個AUC、一個樹莓派、電源及各種連接線等。各種設備的連接順序為網線->樹莓派->MicroUSB線->AUC->4PIN連接線->礦機和電源。
9. fpga只能通過pc編程嗎
FPGA可以通過PC上的慧賣開發工具進廳謹行編程,但也有一些FPGA板可以在板載運行時扮碧基自我編程。 一般情況下,為了編程FPGA,需要將開發環境中編寫的程序轉換成比特流(bitstream)。轉換後的這個比特流會包含可配置邏輯,時鍾管理網、I/O管腳分配等信息。
可以使用PC上的開發環境來生成比特流文件、下載比特流並監控FPGA設備的工作狀態。 這種方式的優點是靈活性很高,可以根據需要修改程序和重新編程。
此外,FPGA設備本身也可以在板上進行自我編程。例如,使用一個ROM存儲比特流,在FPGA啟動時讀取ROM中的比特流,並把它載入到FPGA中,這種方式就不需要PC進行編程。
總之,FPGA可以通過多種方式進行編程,其中通過PC進行編程是一種常用而靈活的方式。
10. FPGA程序燒寫問題。
哪個晶元燒不進去啊?FPGA還是EPC2啊?
先確定FPGA是否正常,通過JTAG口給FPGA燒寫,看看程序能不能燒進去!如果晶元好的,電路也沒問題用JTAG燒寫時,不管PS方式還是AS方式都能燒得進去的!!
如果FPGA能正常燒寫的話,接下來看看EPC2能不能燒,對EPC2進行燒寫的時候,如果EPC2的相應的引腳都連到了JTAG口相應的腳的話,可以通過JTAG對EPC2進行燒寫,而且注意必須在Program Device(Open Programmer)開打的燒寫界面上選擇AS方式才行。你選擇的PS方式肯定是燒不進去的。如果EPC2的引腳都沒有連到JTAG口上而是都連到了FPGA配置那塊的引腳上了那必須得先給FPGA燒一個AFL模塊,這樣就通過FPGA建立了JTAG口和EPC2之間的連接,之後再不斷電的情況下,通過JTAG給EPC2燒寫,具體的燒寫設置參考Altera的資料,上面很詳細。
如果FPGA和EPC2都能正常燒寫,那麼說明兩塊晶元都是好的冊岩虛。如果重新上棗運電,FPGA不能正常通過EPC2來配置自己的話,這時候請查看Quartus下Settings→Device→Device and Pin Options→Configuration菜單下的Configuration Scheme是否選擇了Active Serial(默認設置是Passive Serial),上電的時候你用EPC2專用配置晶元來配置FPGA的話,這個要記得改成Active Serial的。
如果FPGA和EPC2各自能正常燒寫,Quartus下設置也改了,但是FPGA還是起不來,試著在晶元的配置電源VCCPGM加幾個電容濾下波試試。
還是不行,我州燃也沒轍了。呵呵