快速入门数字芯片设计,UCSD ECE111(十)比特币加密(二)

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 快速入门数字芯片设计,UCSD ECE111(十)比特币加密(二)

结构框图如图所示,和SHA256非常类似。

然后说明了一下你的设计大概是怎么样的。

粗略估计了一下需要的时钟周期,上述是采用串行实现的。因此需要的时钟周期较长。

如果采用并行的话,可以大幅加快运算速度。因为对于不同的nonce而言,它们互相之间的运算是完全独立的。所以完全可以并行运算,这就是典型的用空间换时间。

至于它的写法也非常简单,只需要采用一个for循环语句,在运算阶段例化多次即可(这种方式有点类似于GPU,GPU能取得大幅成功的原因也主要在于它的并行计算能力)。

需要注意,上述方式会产生大量的逻辑资源,实际设计过程中是否需要采用这种方式需要谨慎考虑。通常来说,对于计算密集型、不太依赖于IO资源的任务,采用并行化可以有效提高吞吐量,减少运算时间(并不是提高时钟频率,这一点需要注意!)

同样还可以通过例化多个模块来实现。

剩余的课件是一些实验细节的东西,这里就不拿出来讲了。有两页PPT我觉得比较有意义,单独说明一下:

  • 对于一个任务而言,有很多种实现方式,所以没有绝对的“正确的方法”
  • 好的经验法则是使代码易于阅读
  • 如果有大量嵌套的if/else语句的话,代码会变得难以阅读,可以尝试简化代码,这会让你更好的实现你的设计(实际上对于大量嵌套的if/else语句而言,可以考虑用状态机的写法来实现。因为状态机的本质在于反馈,而if/else本质上是隐式的状态机(时序逻辑是隐式状态机,组合逻辑是MUX))。
  • 如果减少状态,需要增加大量的if/else语句,那这并不是一个好方法。因为这本质上也会产生很多状态(隐式状态机)
  • 这个Project理论上可以用300~400行代码实现

这里我再强调一下,状态机的本质在于有没有反馈!在数字电路中,关键在于你当前的Q端输出是否会对你下一轮的Q端输出产生影响!因此本质上一个计数器,0、1、2、3这种的也是一个状态机!你完全可以用状态机的写法去实现它,没有任何本质区别。

因此我建议一定要写成三段式,不要用state表示。用next_state和current_state表示寄存器的D端和Q端,可以让你充分的与实际的数字电路结合。这一点非常重要。

看到没,一个计数器也是一个状态机。cnt_q就是state,cnt_d就是next_state。通过一个加法器去计算next_state,然后吧next_state通过D触发器寄存给state。基于这个大家应该能理解if/else为什么大部分情况下是隐式状态机。因为有反馈啊!

还有你写的软件,C语言,汇编代码本质都是状态机,状态机思想博大精深,大家好好理解一下。

使用模块化设计的方式,在前期调试过程中可以让这个数字小一点,更便于你的调试。

目录
相关文章
|
存储 安全 区块链
快速入门数字芯片设计,UCSD ECE111(十)比特币加密(一)
快速入门数字芯片设计,UCSD ECE111(十)比特币加密
91 0
|
安全 数据安全/隐私保护
RSAC2018 | 芯片级别的加密计算技术应用开始崭露头角
2018年4月16日,以“Now Matters”为主题的RSAC2018在美国旧金山开启。作为全球最负盛名的信息安全行业大会,今年的RSA Conference带来了550场业界专家来分享的课程,也吸引了650多家参展商,官方统计将近5万人参会。
2355 0
|
3天前
|
SQL 安全 算法
揭秘网络安全:漏洞、加密与安全意识的三重奏
【10月更文挑战第39天】在数字时代的交响乐中,网络安全扮演着不可或缺的角色。本文旨在通过浅显易懂的语言,揭示网络安全的三大核心要素:网络漏洞、加密技术以及安全意识。我们将探索这些元素如何相互交织,共同维护我们的数字安全。从初学者到资深专家,每个人都能从中获得宝贵的知识和启示。
|
3天前
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【10月更文挑战第39天】在数字化时代,网络安全和信息安全成为了我们生活中不可或缺的一部分。本文将介绍网络安全漏洞、加密技术和安全意识等方面的内容,帮助读者更好地了解网络安全的重要性,并提供一些实用的技巧和方法来保护自己的信息安全。
14 2
|
5天前
|
安全 算法 网络安全
网络安全的盾牌与利剑:漏洞防御与加密技术的双刃舞
【10月更文挑战第37天】在数字世界的海洋里,网络安全是航船的锚,保护我们的数据不受风暴侵袭。本文将深入浅出地探讨网络安全的两大支柱——漏洞防御和加密技术。我们将从网络安全的基本概念出发,逐步深入到漏洞的类型、检测方法以及防御策略。同时,我们也将探索加密技术的原理和应用,如何通过这一技术保护信息的完整性和私密性。最后,我们将讨论提升个人及组织安全意识的重要性,以及如何构建一个安全的网络环境。这不仅是技术人员的战斗,每个人都是自己信息安全的第一道防线。让我们一起扬帆起航,探索网络安全的世界,学习如何成为自己数据的守护者。
|
5天前
|
SQL 安全 网络安全
网络安全的护城河:漏洞防御与加密技术的深度解析
【10月更文挑战第37天】在数字时代的浪潮中,网络安全成为守护个人隐私与企业资产的坚固堡垒。本文将深入探讨网络安全的两大核心要素——安全漏洞和加密技术,以及如何通过提升安全意识来强化这道防线。文章旨在揭示网络攻防战的复杂性,并引导读者构建更为稳固的安全体系。
16 1