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

简介: 快速入门数字芯片设计,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(十)比特币加密
278 0
|
安全 数据安全/隐私保护
RSAC2018 | 芯片级别的加密计算技术应用开始崭露头角
2018年4月16日,以“Now Matters”为主题的RSAC2018在美国旧金山开启。作为全球最负盛名的信息安全行业大会,今年的RSA Conference带来了550场业界专家来分享的课程,也吸引了650多家参展商,官方统计将近5万人参会。
2491 0
|
云安全 安全 数据建模
《数字证书:互联网世界的"身份证"与"防盗门"》 ——揭秘网络安全背后的加密江湖
在2023年某深夜,上海陆家嘴金融公司机房遭遇黑客攻击,神秘青铜大门与九大掌门封印的玉牌突现,阻止了入侵。此门象征数字证书,保障网络安全。数字证书如验钞机识别假币,保护用户数据。它通过SSL/TLS加密、CA认证和非对称加密,构建安全通信。证书分为DV、OV、EV三类,分别适合不同场景。忽视证书安全可能导致巨额损失。阿里云提供一站式证书服务,助力企业部署SSL证书,迎接未来量子计算和物联网挑战。
|
安全 算法 网络协议
【网络原理】——图解HTTPS如何加密(通俗简单易懂)
HTTPS加密过程,明文,密文,密钥,对称加密,非对称加密,公钥和私钥,证书加密
|
SQL 安全 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将从网络安全漏洞、加密技术和安全意识三个方面进行探讨,旨在提高读者对网络安全的认识和防范能力。通过分析常见的网络安全漏洞,介绍加密技术的基本原理和应用,以及强调安全意识的重要性,帮助读者更好地保护自己的网络信息安全。
308 10
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。