标签: digital-design

使用特制的CPU查找大数的主要因素

我的理解是,目前许多公钥加密算法都依赖于大质数来构成密钥,并且难以将两个素数的乘积分解,使加密难以破解.我的理解是,将如此大的数字分解的原因之一是,使用数字的绝对大小意味着没有CPU可以有效地操作数字,因为我们的32位和64位CPU都不匹配对于1024,2048甚至4096位数.必须使用专门的Big Integer数学库来处理这些数字,并且这些库本质上很慢,因为CPU一次只能保存(和处理)小块(如32或64位).

所以...

为什么你不能用2048位寄存器和巨大的运算电路构建一个高度专业化的定制芯片,就像我们从8到16到32到64位CPU的缩放一样,只需构建一个更大的?该芯片不需要传统CPU上的大部分电路,毕竟它不需要处理虚拟内存,多线程或I/O等内容.它甚至不需要是支持存储指令的通用处理器.只是在最大数量上执行必要的算术计算的最低限度.

我不太了解IC设计,但我确实记得了解逻辑门如何工作,如何构建半加器,全加器,然后将一堆加法器链接在一起进行多位算术.只是扩大规模.很多.

现在,我很确定有一个非常好的理由(或者17)以上内容不起作用(因为否则会比我更聪明的人中的一个人已经做过了)但我有兴趣知道为什么它不会起作用.

(注意:这个问题可能需要一些重新工作,因为我甚至不确定这个问题是否有意义)

theory cpu-architecture bignum digital-design prime-factoring

8
推荐指数
1
解决办法
1362
查看次数

和VHDL中的n位数组的所有元素

假设我有一个n位数组.我想要和数组中的所有元素.类似于将每个元件连接到n位AND门.

我如何在VHDL中实现这一目标?

注意:我正在尝试使用可重用的VHDL代码,所以我想避免硬编码

    result <= array(0) and array(1) and array(2)....and array(n); 
Run Code Online (Sandbox Code Playgroud)

谢谢Oshara

vhdl digital-design

5
推荐指数
3
解决办法
2万
查看次数

触发器和锁存器推断困境

有人可以向我解释为什么会推断出锁存器而不是触发器吗?

always_ff @ (posedge clk, negedge rst) 
begin
  if (!rst)
    a <= '0;
end
Run Code Online (Sandbox Code Playgroud)

总是块对信号边缘敏感这一事实不应该足以推断出触发器吗?在这种情况下,当触发复位的下降沿时,a 变为 0,否则保持以前的值。

这个问题来自这个 stackoverflow 问题中选择的最佳答案:
System Verilog always_latch vs.always_ff

=================================================== =========================

我将在这里分享我迄今为止所发现的内容。之所以合成锁存器而不是触发器,是因为赋值的右侧是一个常数。在这种情况下,锁存器和触发器的行为是等效的,因为无论它是在信号边沿(触发器)捕获输入值,还是在启用输入锁存(锁存器)作为输入时捕获输入值,都无关紧要。没有改变。因此综合工具选择占用资源较少的元件,即锁存器。

另一方面,如果在赋值的右侧有一个变量,则综合必须推断出触发器,因为输入是在边沿(触发器)上采样还是在输入锁存期间采样很重要启用(锁存),意味着两个逻辑元素不相等

这是一个例子。前两个always块将合成一个锁存器(在Quartus 14中),这是可以的,因为它们是等价的,因为有一个常数。但是,3.和4.always块也将被合成为锁存器,这不是预期的行为,并且这些块并不等效!3. 块会发出警告,而 4. 块则不会。

 module ff_latch(
   input logic clk,
   input logic nrst,
   input logic a,
   output logic t, x, y, z
 );

    always_ff @(posedge clk, negedge nrst) 
       begin
          if (!nrst)
           t <= 0;
       end

    always_latch
       begin
          if (!nrst)
           x <= 0;
       end

    always_ff @(posedge clk, negedge nrst) …
Run Code Online (Sandbox Code Playgroud)

hardware verilog digital-logic digital-design flip-flop

2
推荐指数
1
解决办法
3765
查看次数