问题标签 [asic]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
hardware - 将两个一维数组相乘的快速方法
我有以下数据:
然后我想乘以如下:
这显然涉及 25 次乘法。
但是,在我的场景中,每次“循环迭代”只有 5 个新值移入 A(并且 5 个旧值移出 A)。有没有什么快速的方法来利用数据正在通过 A 移动而不是全新的事实?理想情况下,我想最小化乘法运算的数量(以可能更多的加法/减法/累加为代价)。我最初认为收缩阵列可能会有所帮助,但它没有(我认为!?)
更新 1:Note B 长期固定,但可以重新编程。
更新 2: A 的移位如下: a[24] <= a[19], a[23] <= a[18]... a[1] <= new01, a[0] <=新00。依此类推每个时钟周期
非常感谢!
simulation - RTL 模拟与 Delta 循环模拟
有人可以详细说明一下“RTL 模拟比 delta-cycle 模拟快,但不能在所有情况下都使用”?不知道什么Delta循环模拟
vhdl - 找不到这些实际值的函数
我的编译器给了我这些错误:
# 错误:COMP96_0305: SUBONE_MODULE_VHDL.vhd : (93, 23): 找不到这些实际值的函数“TO_INTEGER”。
# Error: COMP96_0138: SUBONE_MODULE_VHDL.vhd : (93, 23): 数组对象引用中的索引类型与其范围类型不兼容。**
verilog - 与仅在合成时使用乘法符号相比,实施 CSA 有什么好处?
我正在用verilog合成一些乘法单元,我想知道如果您在乘法时使用booth编码实现自己的CSA,或者如果您只使用*符号并让合成工具占用,您是否通常会在面积/功率节省方面获得更好的结果为你解决问题?
谢谢!
c++ - ASIC 设备的 OpenCL(或其他)编程?
我最近学习了一些 GPGPU 和并行编程工具(OpenCL、CUDA、C++ AMP 和 OpenMP),并且一直在寻找更多可以修补的东西。
我知道有专门用于快速比特币挖掘的 USB ASIC 设备(“块爆发器”)。有没有办法通过 OpenCL 或其他类似 GPGPU 的 API 对这些进行编程?似乎虽然它们可能是为特定目的而构建的,但它们可能具有可用于其他任务的计算能力。
hash - 使用 ASIC 暴力破解 MD5
是否可以使用专用集成电路 (ASIC) 来暴力破解 MD5 哈希,从而将它们反转为原始形式?我知道可能会发生多次碰撞,但抛开这一点,有可能吗?这个想法让我感兴趣,因为我碰巧有 ASIC Miner Block Erupters,它们是用于生成 SHA-256 哈希的 ASIC,但为什么不是 MD5?提前致谢。
vhdl - 将 std_logic 位按升序存储到一个大数组中
我有一个 2048 位的数组,我想将 0 到 2047 的输入位按位升序存储,因为它在时钟周期的每个上升沿进入 FPGA。
例如:
我知道它可以通过数组索引在 VHDL 中完成
但是,有没有其他更好的方法,比如使用按位运算(移位)来实现这一点。(没有数组索引方法),从而最终降低了FPGA中的布线复杂度。
fpga - 设计编译器和遭遇是针对 ASIC 设计而 quartus&modelsim 是针对 FPGA 设计吗?
现在,我正在尝试在遇到的地方路由,但是当我在网上搜索时,我总是看到关于quartus路由的教程。出于好奇,我试图找出其中两个之间的区别。不过,目前还没有确切的答案。但是当我移动这两个工具制作的布局时,我觉得 quartus 的布局看起来像是在一个安定的芯片上制作的。但相遇会给我更习惯的感觉。因此,我认为 FPGA 的 quartus 会遇到 ASIC。我对吗?如果没有,请告诉我确切的故事。
verilog - 在两个不同的 always 块中覆盖寄存器
我正在尝试为图像标记算法编写一个verilog代码......该算法有几个阶段,每个阶段都将被编写为一个单独的总是块......但是,据我所知,一个变量(类型为reg ) 在一个 always 中使用不能在另一个 always 块中使用(这当然是正确的,因为每个 D-Flip Flop 只有一个输入,即只能由一个信号分配)。
我怎么可能在另一个总是块中覆盖该 reg 值?
synthesis - 使用 Synopsys Design Vision 对自定义库进行区域优化
我为Synopsys 设计愿景编写了一个自定义库,该库仅包含 XOR、NOR 和 IV(逆变器或非逆变器)。我的计划是合成一个组合逻辑,使得生成的网表具有最少数量的 NOR 门。我将库编写为流:
在这里,为了节省空间,我去掉了时序和输入电容。我将 NOR 的区域设置为 1000,将 XOR 和 IV 设置为 1,因此我可以使用区域优化来用 XOR 和 IV 替换不必要的 NOR。set_max_area 0
我使用然后编译我的组合逻辑compile_ultra -exact_map -no_design_rule -area_high_effort_script
。
问题是无论我将 NOR 区域设置为 1 还是 1000,我都会得到相同的结果(# of NOR)。似乎区域优化技巧不起作用。你知道为什么吗?我怎样才能最小化NOR?
谢谢