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之类的芯片