日本仙女在数字电子产品的新漫画中显示了主从触发

现在,DMK-Press出版社正在出版日文漫画俄文翻译,其中涉及天野秀晴和目黑浩二创作的数字电路 。 尽管表现形式轻描淡写,但本书的本质还是很合理的。 例如,它从集成程度低的古老微电路开始,迅速将它们与现代Verilog硬件描述语言和可编程逻辑集成电路(FPGA)联系起来。 另外,漫画明确定义了为什么需要组合和顺序方案,并给出了优化方法的思想。

漫画避免了许多前任的错误。 其中一种错误是由查尔斯·皮佐德(Charles Petzold)在“代码”一书中犯的,该书不是在由时钟信号的边沿控制的D触发器(边沿触发的D触发器)上而是在具有电平操作的D触发器(锁存器,电平敏感的D锁存),尽管后来它切换到了正确的触发器。 这个错误可能是由于这样的事实:查尔斯·佩佐德(Charles Petzold)并非著名的电子开发人员,他是Microsoft Windows中的GUI编程教科书的作者,而不是前端电子触发器,因此闩锁对他“更容易”。 问题在于锁存器与逻辑综合延迟的静态分析之间的兼容性差,逻辑综合是过去30年设计数字电路的主要技术。 小工具内部的芯片上系统(例如iPhone)在99%的情况下都使用状态触发的D触发器作为状态元素,而锁存器仅在非常特殊的情况下使用。 让初学者在闩锁上建立电路-这意味着会误导他们。

从这个意义上讲,漫画胜过Petzold。 漫画很好地解释了由时钟前部控制的两级主从D触发器。 这是在妖精“嘻嘻嘻”和妖精“哈哈哈”的帮助下完成的:



接下来,我用蓝色突出显示我的注释,以免它们与漫画中的引号合并:

但是,让我们从顺序开始。 关于数字电路的漫画始于微电路,她立即提到了具有几个逻辑元件的,集成度很小的旧微电路,以及具有数以亿计的晶体管的现代微电路:





漫画通过简单而愉快的类比向青少年解释了逻辑元素的工作:



为什么还要提到50年前已经过时的低集成度微电路? 事实是,尽管年龄很长,但在带有这种微电路的面包板上进行锻炼是向学生展示逻辑元素如何工作的最直观的方法。 您无需安装用于FPGA建模或综合的软件。 您只需要一块面包板,9伏电池,微电路,电线,LED和按钮:



一些学校界的老师认为,所有此类练习都应由Arduino代替。 这种观点产生于1970-1980年代,当时形成了微控制器和嵌入式处理器。 1988年,一个典型的小学生无法在工厂花费数十万美元来制造自己的微电路,而在实际工业产品中集成度很小的旧微电路使用的却越来越少。 因此,当时,他们向学童挥舞数字逻辑,并将所有精力投入到教学编程中。 这是最近几天在Facebook上描述此观点的评论:



但是,三十年后,一切再次发生了变化:


1.首先,在同一个1988年,从硬件描述语言(Verilog和VHDL)的代码中出现了一种使用逻辑综合设计微电路的技术。

2.同时,在1980年代,出现了可编程逻辑集成电路(FPGA)-可重配置逻辑单元矩阵,您可以通过简单地更改FPGA内部配置存储器的内容来降低数字电路的成本。

3.在1990年代,西方大学的所有电子学系的课程中都包含了HDL,逻辑综合和FPGA的教学,尽管在俄罗斯和乌克兰,由于改革后的混乱,这一过程较慢。

4.在2000年代,传统处理器的速度不再增长,市场营销人员开始预测嵌入式处理器市场的碎片化(发生了云,物联网),以及用于各种任务的处理器和专用计算机的组合出现了(首先发生的是它的速度很快)移动图形,然后是用于挖掘加密货币,计算机视觉和神经网络加速器的专用芯片)。

5.现在,2010年,FPGA板的价格降到了学童可用的水平。 同时,该行业需要大量新工程师使用神经网络创建巨大的微电路。 即使您将一生都花在编程上,要了解新系统,您也需要了解设备操作的原理:组合电路和时序电路,状态机,时序,流水线等。 然后,您可以了解使用常规程序或硬件单元处理数据是否值得。

因此,较小集成度的微电路使您可以直接“接触”硬件基元。 在解释了小规模集成方案之后,manga马上介绍了硬件描述语言和FPGA:





在描述了逻辑元素之后,漫画展示了如何为大型投票构建有用的组合方案:







然后对该方案进行优化。 在我看来,漫画花了太多时间进行组合优化。 但值得记住的是,日本人写过漫画,并且他们在文化上有一个切切琢磨(taku​​ma会议)的原则-抛光某些东西(例如剑),直到变得完美为止。 因此,漫画中既有基于常识的优化,也有基于卡诺图的优化。 硬件描述语言的逻辑综合会自动进行此类优化:





漫画还有一个浪漫的计划,那就是一个场景:




多数表决方案可以很容易地组装在集成度很小的微电路上。 可以说,观察面包板上的组合元素AND-OR-NOT / AND-OR-NOT并不是很有趣,因为布尔代数也在通常的编程课程中进行了解释。 可以争辩说,尽管7岁的孩子可以理解“或非”,但一些小学生在尝试理解D型触发器时偶然发现了心理障碍。 在这种情况下,视觉演示变得更有价值。

不幸的是,学生无法直接用FPGA内部的D触发器“触摸”他的手。 FPGA中有成千上万个。 在Arduino上,根本不会出现这样的对象。 在集成度很小的微电路板上,可以感觉到D触发器是这样的:



这里是如何解释顺序电路和D触发漫画的方法。 请注意,尽管在俄罗斯有关数字电路的文献中已经建立了“顺序”一词,但日语翻译还是使用“顺序”一词来翻译“顺序”。



在这里,有可能更具体地写出顺序方案,与组合方案不同,它允许重复操作和预期事件。 换句话说,它们使计算机变得“智能”。 没有它们,使用计算机,您只能计算简单算术表达式的值:



不幸的是,漫画没有提及组合电路中的时间延迟和最大时钟频率的计算。 可以在这里插入:



我希望俄罗斯的这部漫画将有继任者,他们将与伊万·特萨维奇(Ivan Tsarevich)和美丽的瓦西里萨(Vasilisa the Beautiful)一起制作某种动画片,例如,这将根据哈里斯和哈里斯教科书中的信息引入发行延迟和关键路径。 以下是来自教科书的其他材料的适当幻灯片:







这是一张直接的幻灯片,上面说几乎所有状态元素都使用D触发器[除了初学者根本没有遇到的情况,例如,在节能电路中用于接收门控时钟而不会产生脉冲干扰的锁存器-电平敏感D-锁存器,用于低功耗设计中的无干扰门控时钟]。



回想一下Petzold在介绍时使用了D型闩锁,这是错误的。 但不仅Petzold在这个地方犯了错误。 我曾经在LiveJournal上发表过一篇帖子,上面是加法器和D触发器的计数器图片,此后两天,来自科罗拉多州的一名俄罗斯程序员告诉我,在T触发器上构建计数器更加容易。 我告诉他,他正确地记得了1970年代的T触发器,但是现在,在21世纪,iPhone开发人员使用D触发器构建了计数器,因为计数器情况在T触发器上,其中数据信号用作时钟信号。 ,不适用于数十亿个晶体管的芯片时序分析(如果您不同意我的观点,请使用指向TSMC,Synopsys Design Compiler等的ASIC库链接来发表我的看法):



现在,我们已经看到了有关带有妖精的两阶段(主从)D触发器的工作的一系列图片:





借助易于理解的时间表-仅在D触发器的上升沿时刻记录数据,其余时间将忽略它们:



现在,漫画继续以使用D触发器构建简单的状态机(投掷电子骨骼的设备)为例。 老实说,我对本书的这一部分并不完全满意。 我们会说,这是一个退化的有限状态机,其中状态以一个点(停止按钮)停一圈。 如果示例书中有多个自动机,那么一切都会好的,但是将其设置为唯一的示例是错误的。 它没有显示可以使用有限状态机解决的全部问题。 下面我将展示我将如何对其进行补充。



状态图0-1-2-3-4-5:



用三个D触发器编写的二进制状态:



一种从旧状态接收新状态的组合方案:



最后,漫画展示了如何设计相同的方案,而不是通过在屏幕上用鼠标绘制,而是通过综合Verilog硬件描述语言。 尽管此代码看起来像Pascal或Java之类的编程语言代码,但该代码具有根本不同的性质。 文字编码的目的是通过导线和晶体管将其变成一个电路。 然后,编程语言中的代码被编译成一条指令,零和一个存储在内存中的链[很明显,Verilog和Java都可以被解释+ Verilog中的代码可以变成零,而FPGA配置中的代码可以变成零+ Java可以转换为Verilog和也变成了图表,但这些是对最初的理解没有帮助的细节]:







现在,我补充了有关有限状态机I的示例。 我将举一个更具交互性的有限状态机示例,例如,使用与所谓的“中国房间”的类比。 这是我对中文室的描述,该编辑室在十年前的《新时代》杂志上被编辑从我的文章中删除(该杂志不仅涉及政治,还具有流行的技术):
1980年,人工智能的批评家之一约翰·塞尔(John Searle)提出了一个优雅的论点,称为“中国房间”。 假设将来有一个Eliza程序的版本能说得很好的中文,以至于中国人无法将计算机与人区分开。 现在假设某人将这个程序复制到一本厚厚的书中,上面带有针对某人的机械指令-如果您看到字符A,然后又看到了字符B,则从框中删除字符C。现在我们将某个不懂中文的人放在一个封闭的房间里,这本书,并将在门牌下用刻有中文疑问的象形文字戳他。 按照书中的机械说明,一个人会发现一个盒子,然后推开其他带有象形文字的标志。 从外部观察者的角度来看,房间将以中文“理解”和“讲话”。 但是谁是这种思想的承载者呢? 毕竟表演者听不懂中文?

约翰·麦卡锡(John McCarthy)和其他人工智能的资深人士立即指出,理性甚至意识将以“虚拟人格”或在这个房间中进行的“过程”体现出来。 哲学家保罗和帕特里夏·丘吉兰德提出了反对约翰·塞尔的优雅论点之一。 丘兰兹认为,从物理学上我们知道,光是电磁波。 假设怀疑者开始用手移动磁铁,没有看到光,并开始声称光是不可能的。 实际上,要获取光,您需要以每秒4500亿个冲程的速度挥动一块磁铁。 丘奇兰斯认为,如果表演者足够敏捷,那么理性意识就会出现在“中国房间”中。

有趣的是,乌克兰科幻小说家阿纳托利·德尼普罗夫(Anatoly Dneprov)在1950年代的故事“游戏”中描述了“中国房间”的类似物。
所以在这里。 在我自己的讲座和材料中,我举了一个例子,其中有限状态机(FSM)响应任意数量的“熊”和“树”字符序列,最后一个字符为“科学”-产生一系列字符“西伯利亚”。 这是最简单的“中国房间”:



这是她的状态图:



根据该图,您可以构建电路并将其在带有FPGA的板上实现。

前几天,当我在加利福尼亚州对150名喀山创新城市的学生进行Skype演讲时,我使用了Amano Hideharu和Meguro Koji的漫画摘录。 学生开始学习计算机体系结构,他们需要突破对数字逻辑的最初误解的障碍。 为此,漫画非常好,特别是如果您将其与哈里斯和哈里斯(Harris&Harris)的《数字电路与计算机体系结构》等教科书结合使用。

这是本讲座的视频:


幻灯片和下一堂课的幻灯片可以在这里下载:

http://bit.ly/2018-01-25-verilog-1-innopolis-yuri-panchul

http://bit.ly/2018-02-01-verilog-2-innopolis-yuri-panchul

现在,许多有关FPGA的帖子的读者经常会提出这样的问题:“为什么有必要这样做,因为Java上有更多的作品?”

可以得到答案:根据位于加利福尼亚州圣何塞的glassdoor网站,数字电路设计师的价值高于Java开发人员:





如果读者说:“那我需要圣何塞吗? 我在俄罗斯,而且我不威胁要去圣何塞”,您可以举一个新的例子:来自圣彼得堡的新婚夫妇在欧洲的Intel InnovateFPGA竞赛中获得第一名,之后在圣何塞举行的世界决赛中获得第二名。 他们几天前在这里坐在英特尔在圣何塞的办公室。 用于在FPGA上进行项目。 也许是因为Java上的一个项目,英特尔在圣何塞带了一个人来颁奖,但我个人并不知道这样的例子。



Vladislav Sharshin,Andrey Papushin,Yelena Kirichenko-www.innovatefpga.com/cgi-bin/innovate/teams.pl?Id=EM076



Source: https://habr.com/ru/post/zh-CN422431/


All Articles