fpga挖礦比較數據
❶ 如何分析fpga的片上資源使用情況
一、 如何得到 LUT 與 REG 的使用比例 我們先看一個 FPGA 工程的編譯結果報告: 在這個報告中,我們可以看到如下信息: Total logic elements 24071/24624(98%): 該晶元中共有 24624 個 LE 資源,其中的 98%在這個工程的這次編譯中得到了使用。 Total combinational functions 21612/24624(88%): 該晶元的 24624 個 LE 資源中,88%用於實現組合邏輯。 Dedicated logic registers 8858/24624(36%): 該晶元的 24624 個 LE 資源中,36%用於實現寄存器,即時序邏輯。 就是從上述信息中,我得到了組合邏輯與時序邏輯的使用比例——21612/8858 = 2.4:1。 二、 一份更詳細的資源利用率報告 在這個報告中, 有一點可能會令人困惑: 為什麼 Total combinational functions 與 Dedicated logic registers 之和 (30470) 大於 Total logic elements 24071) 甚至大於該晶元的總資源 ( , (24624) 我們再來看一份更詳細的資源使用報告——Fitter Resource Usage Summary: 。 這份報告包含很多信息,在這里我們只需要關心 Total logic elements 一項。Total logic elements 24071/24624(98%)由三種使用情 況不同的 LE 資源組成:僅用於實現組合邏輯的 LE(Combinational with no register 15213),僅用於實現時序邏輯的 LE(Register only 2459),同時用於實現組合邏輯和時序邏輯的 LE(Combinational with a register 6399)。 三、 從 Resource Property Editor 看 LE 的使用情況 在進一步分析這些數據之前, 我們有必要回顧一下 FPGA 的基本組成元素 LE Logic Element) ( 的結構和功能。 Altera 的 Cyclone 以 III 系列 FPGA 晶元為例,其 LE 內部結構如下圖所示: 這個 LE 同時用於實現組合邏輯和時序邏輯,其中藍色部分為組合邏輯(一個 4 輸入 LUT),其中黃色高亮部分為時序邏輯(一個 D 觸發 器)。 我們再來看一個更有趣的 LE: 這個 LE 也同時用於實現組合邏輯和時序邏輯,與上一幅圖不同的地方在於,這里的組合邏輯(4 輸入 LUT)與時序邏輯(REG)並沒有連 接關系。組合邏輯從 COMBOUT 直接輸出,時序邏輯從 REGOUT 輸出。這種互不相關的組合邏輯與時序邏輯共用同一個 LE 的情況很特殊, 這是採用了 Register Packing 資源優化技術之後的實現方式。如果沒有採用這一資源優化技術,就要用兩個 LE 來分別實現相應的組合 邏輯和時序邏輯。 明白了上面這兩幅圖,大家也能由此類推,想像出僅用於實現組合邏輯的 LE(Combinational with no register)和僅用於實 現時序邏輯的 LE(Register only)該是什麼樣子。 四、 「數字終於對(湊)上了!」 我們回到前面關於資源利用率分析的部分。有了上面介紹的知識,大家應該能夠把資源利用率報告中三種使用情況不同的 LE 區 分開了。 我們把「同時用於實現組合邏輯和時序邏輯的 LE(6399)」分別加到「僅用於實現組合邏輯的 LE(15213)」和「僅用於實現 時序邏輯的 LE(2459)」上面, 就可以得到「全部組合邏輯」(Total combinational functions = 6399 + 15213 = 21612)和「全 部寄存器」(Dedicated logic registers = 6399 + 2459 = 8858)兩個數值了。這兩個數值就是第一幅圖中關於資源利用率的匯總報 告結果,它們的比例恰好就是 2.4:1。 由於 6399 這個數字被使用了兩次,所以我們最初關於「Total combinational functions 與 Dedicated logic registers 之和 (30470 = (6399 + 15213) + (6399 + 2459))大於 Total logic elements(24071 = 6399 + 15213 + 2459)」的困惑也得到了解答。 五、 總結 由於 FPGA 設計中用到的組合邏輯與時序邏輯的數量不均衡,部分 LE 會僅用於實現組合邏輯或時序邏輯;進一步,由於布局位 置的限制,單獨實現組合邏輯或時 序邏輯的兩個 LE 可能不能合並到一個 LE 中實現。所以,在資源利用率報告中會出現三種使用情況不 同的 LE。 由於過長的組合邏輯鏈(級聯的 LUT)會引入較大的延時,而插入 Register(時序邏輯)能夠把一條較長的組合邏輯鏈分割成 幾條較短的組合邏輯鏈,有 效地縮短關鍵路徑和次關鍵路徑的長度,進而提高 FPGA 設計的整體時序性能,所以組合邏輯與時序邏輯的 使用比例可以作為評價 FPGA 設計時序性能的一個輔 助參數。 過於復雜的組合邏輯也會佔用多個 LE。我們在編寫 HDL 代碼的時候,不能單獨把減少 Register 的使用量作為節省資源的手段, 而應該兼顧組合邏輯與時 序邏輯,根據目標 PLD 器件的底層結構,編寫組合邏輯和時序邏輯比例符合 PLD 器件資源比例的代碼。
❷ FPGA選型
1.一般選型要先看io需求
2.然後就是邏輯門數要求
3.最後就是要看采購難易度
這三個定了基本上型號就定了
你這個需求看起來只是控制spi時序、RAM、SDRAM(SD卡還是SDRAM?)的控制
16個3線制SPI需要48根IO(有復用另說)
一個16位的ram估計要30根IO左右
SDRAM一般要50根io(SD卡的話就少很多了)
測試引腳10個
這樣io需求約140個user io
不做演算法的話,EP2C5F256C8就可以,如果有其他需求可以酌情選擇更高型號
❸ fpga與fpga之間並行傳輸數據,最好有例子
源同步的辦法就可以,輸出數據的同時,輸出時鍾和數據有效信號。
如果是低速的,50M以下,直接傳就行了,如果是大於100M的高速信號,建議用差分信號傳輸,而且接收端加數據和時鍾的相位調整模塊,好調整由於PCB走線延時帶來的相位不一致
❹ 做FPGA挖礦機,現在還能做什麼幣
FPGA免費,貌似挖礦很費電,淘寶上好像有賣資料程序的以前
❺ FPGA中比較兩個數據最多可以比較多少位為什麼
這個問題應該和你比較多少位沒有關系,既然你用了狀態機,那就看看當狀態機跳轉異常時,你設定的跳轉條件的那些邏輯信號是不是錯了,還有就是狀態機的本身的邏輯,是不是有問題,例如你想要跳轉的狀態優先順序過低,還有最重要的一點是你在進行數據比較時,數據時序是不是滿足建立保持時間。比較邏輯對數據的采樣不準,一樣不能得出正確的結果!
❻ FPGA設計中,資源是否夠用是怎麼去估算的
一般編譯軟體有帶資源預估的功能。
如果要自己估算也簡單:主要考慮3種資源夠不夠。
普通邏輯單元;塊rom;GCLK(快速時鍾線)。
普通邏輯單元:主要是計數器、零散寄存器、比較器等用。先看晶元資料一個邏輯單元中有幾個D觸發器記憶,一共有多少個邏輯單元。計數器、零散寄存器、比較器每一位都要用到一個D觸發器記憶。兩個比較就能知道夠不夠,這個需要有一定編程經驗,知道完成某種功能需要多少計數器、零散寄存器、比較器。
塊rom:主要用於查表、buff、fifo等大量數據的存儲和交換。比較手冊和應用的需求來確定夠不夠。
GCLK:FPGA的時鍾設計非常重要,時鍾信號不到萬不得已一定要走快速時鍾線。一般看器件的快速時鍾線夠不夠,要看應用的功能塊多不多。一般一個功能盡量可以用到一個統一時鍾,功能越復雜功能塊越多使用到的時鍾線就會越多。還有一些通訊的非同步時鍾也要用到快速時鍾線資源如:高速CPU的讀、寫等。
❼ 我做的FPGA課題要用到大量的數據,我用的xilinx的板子,大概會用到100塊ram,但每塊ram深度不深。
我最近剛好在給vivado做ram的一些代碼。ram當然有數量限制。你可以看你的晶元的具體參數。不知你用的是哪個系列的晶元,中端的晶元 100塊的話應該問題不大。而且如果ram不夠用了,程序會調用LUT資源來做ram ( select/lut ram). 如果你的每個ram size都不大的話,會直接用lut做ram,而不調用專門的ram。
❽ 顯卡挖礦的原理到底是什麼
簡單來說,挖礦就是利用晶元進行一個與隨機數相關的計算,得出答案後以此換取一個虛擬幣。虛擬幣則可以通過某種途經換取各個國家的貨幣。運算能力越強的晶元就能越快找到這個隨機答案,理論上單位時間內能產出越多的虛擬幣。由於關繫到隨機數,只有恰巧找到答案才能獲取獎勵。
中本聰在他的論文中闡述說:
「在沒有中央權威存在的條件下,既鼓勵礦工支持比特幣網路,又讓比特幣的貨幣流通體系也有了最初的貨幣注入源頭。」
中本聰把通過消耗CPU的電力和時間來產生比特幣,比喻成金礦消耗資源將黃金注入經濟。比特幣的挖礦與節點軟體主要是透過點對點網路、數字簽名、互動式證明系統來進行發起零知識證明與驗證交易。
每一個網路節點向網路進行廣播交易,這些廣播出來的交易在經過礦工(在網路上的電腦)驗證後,礦工可使用自己的工作證明結果來表達確認,確認後的交易會被打包到數據塊中,數據塊會串起來形成連續的數據塊鏈。
中本聰本人設計了第一版的比特幣挖礦程序,這一程序隨後被開發為廣泛使用的第一代挖礦軟體Bitcoin,這一代軟體從2009年到2010年中旬都比較流行。
每一個比特幣的節點都會收集所有尚未確認的交易,並將其歸集到一個數據塊中,礦工節點會附加一個隨機調整數,並計算前一個數據塊的SHA-256散列運算值。挖礦節點不斷重復進行嘗試,直到它找到的隨機調整數使得產生的散列值低於某個特定的目標。
(8)fpga挖礦比較數據擴展閱讀
最早,比特幣礦工都是通過Intel或AMD的CPU產品來挖礦。但由於挖礦是運算密集型應用,且隨著挖礦人數與設備性能的不斷提升難度逐漸增加,現在使用CPU挖礦早已毫無收益甚至虧損。
截至2012年,從2013年第一季度後,礦工逐漸開始採用GPU或FPGA等挖礦設備[5]。同時,ASIC設備也在2013年中旬大量上市。
從2013年7月起,全網算力由於ASIC設備大量投入運營呈現直線上漲,以2013年7月的平均算力計算,所有CPU挖礦設備均已經無法產生正收益,而FPGA設備也接近無收益。
2013年9月平均算力估算,現有的針對個人開發的小型ASIC挖礦設備在未來1-2個月內也接近無正收益。大量算力被 5 THash/s以上的集群式ASIC挖礦設備獨占。個人挖礦由於沒有收益,幾乎被擠出挖礦群體。有一些比特幣礦工則集資在某些可獲取低價電力的地方興建機房安裝大批挖礦設備進行挖礦。
部分比特幣礦工為省下自己挖礦的成本,將挖礦程序製作成惡意程序,在網路上感染其他人的電腦,來替自己挖礦。
❾ 求推薦一款FPGA開發板。主要用於數據採集及處理。
FPGA開發板一般所有管腳都會預留出來,具體要怎麼做由使用者決定,有些開發板上也會配有AD/DA,FLASH之類的晶元