关于数字电路基础的学校:新西伯利亚-好,克拉斯诺亚尔斯克-准备


10月2日至5日,在新西伯利亚举行了一所有关数字电路,基础架构和Verilog使用的学校 。 活动的正式名称:在新西伯利亚国立技术大学举行的第十四届国际电子科技大会“电子仪器的实际问题” APEP-2018的框架下,在IEEE主持下,为本科生和研究生开设了学校。


该活动主要针对以下人员:


  • 阅读D. Harris,S。Harris(也称为H&H或Harris-i-Harris)一书《数字电路与计算机体系结构》;
  • 他想将自己的知识付诸实践,但不知道需要什么设备和软件,也不知道如何使用。
  • 是高中生或研究生,应传播所获得的知识(在大学进行工作坊,实验室工作等)。

公告:计划于11月6日至9日在西伯利亚联邦大学空间与信息技术研究所(IKIT SFU)开设一所类似的学校。 这所学校将由研究生,以M.F. Reshetnev命名的AIS IS设计工程师Alina Leskovskaya以及她的同事Dmitry Vlasov和Boris Dudkin共同运营。 注册联系人: leskovskayaav@yandex.ru


如果您的职位听起来至少是“初级FPGA开发人员”,那么您很可能不会在本文中学到任何新知识。 对于其他所有人,欢迎光临。


为什么有必要


有一次(回到高中时),这些文章的作者在不使用Verilog或VHDL的情况下研究了计算机体系结构:您来参加一次演讲,在该演讲中,在许多小黑盒子上摆放了一个名为“计算机”的黑盒子:“处理器”,“记忆”等 但是它们仍然是黑匣子:您不能在内部“攀爬”,也不能在“更改”设备。 课程结束了,但是您仍然感觉自己正在使用“模糊的内部结构的神奇本质”。 在最佳情况下,您可以配置它们(程序)。 我的脑海里没有数字世界的整体图景。 没有了解它如何在内部工作。 那种将优秀工程师与“过去”区分开的理解。


为了获得完整的图片,必须能够更改所研究的设备并创建自己的设备。 在这里,Verilog(或VHDL)可用于救援,仿真软件和带有FPGA的廉价调试板,用于检入硬件。 一个简单的处理器( schoolMIPS )可以在1-2个晚上编写。 这根本不是火箭科学,也不是魔术。


考虑到数字世界的整体情况,完全不需要将您的生活与微电路的发展联系起来。 但是我相信真正了解“魔术阅读盒”工作原理的人不会编写糟糕的程序。 我要画一个平行线:躺在壁橱里的锤子和钻头不会使你成为木匠。 同时,您能够打钉子,了解为什么需要这些工具,在这种情况下,值得使用锤子,为什么不应该使用显微镜,以及何时咨询专业人员。


学校课程


学校的工作是以实践为导向的。 将H&H中描述的所有问题放在理论和实践四天之内非常困难。 因此,没有设定这个目标。 整个理论仅以实践所需的量给出。 因此,对于那些以前没有打开过书的人来说并不容易。


第一天


•硬件描述的语言以及为什么需要它
•什么是FPGA
•组合逻辑基础
•基本逻辑元素及其在Verilog上的描述
•测试环境(Testbench)
•使用模拟器(Icarus Verilog,Modelsim)检查组合电路的操作
•组合电路综合,Intel Quartus和Xilinx Vivado GUI
•在FPGA上实现时,综合的组合方案是什么?
•编写调试板
•在调试板上验证项目
•Makefile的基础知识,可以在非项目模式下工作
•多路复用器及其在Verilog HDL上的描述方法
•解复用器及其在Verilog HDL上的描述方法
•案例研究:使用7段指标
•Verilog HDL中的条件编译


第二天


•组合电路和信号传播时间
•时钟和串联电路
•Verilog HDL中的各种分配
•D-trigger及其在Verilog上的各种实现:异步和同步重置,写许可端口
•在基于FPGA的实现中合成的时序电路是什么?
•注册及其实施
•计数器及其实现
•动态和静态纪律
•亚稳和同步器
•不必要的闩锁,后果和避免方法
•有限状态机(Mura和Miles)
•以过渡图的形式展示机器
•在Verilog HDL上实施计算机
•复杂自动机设计的一般方法
•在Verilog上逐步实现超声波距离传感器的接口模块


第三天


•独立工作。 FPGA的4x4键盘接口模块的实现
•独立工作。 FPGA计算器实现


第四天


•流水线基础
•建筑与微架构
•MIPS汇编器开发的基础知识
•与MARS模拟器一起使用
•以schoolMIPS为例设计最简单的单周期处理器
•数据路径和控制设备
•编译程序,在模拟器和调试板上启动处理器
•独立工作。 向处理器添加对新指令的支持


用料


所有课程材料(幻灯片,脚本,资源,文献)均可在线获得( github其他材料 )。 幻灯片以可疑的样式设计,当它们上有很多文字时,希望这样可以更轻松地了解脱机材料。


实际和独立的任务主要在装有Intel MAX10 FPGA的Terasic DE10-Lite主板上执行。 我们还使用了Digilent Nexys 4 DDR ,以Xilinx Vivado为例进行了演示。 除极少数例外,示例均以可以同时使用DE10-Lite和Nexys 4 DDR的方式进行准备。 之所以选择与Intel FPGA板一起使用,是因为以下原因:


  • DE10-Lite比Nexys 4 DDR便宜,这意味着如果想要继续在家中或在学习过程中进行实验的学生,可以使用它。
  • 与使用Xilinx Vivado相比,使用Quartus进行组装的相同简单项目要快许多倍。 由于我对Vivado的所有同情,我们只有4天。

那视频呢


活动宣布后,我开始收到组织广播或录像的要求。 不幸的是,这与我选择的学校组织形式不符。 我们没有这样的讲座:几张幻灯片,然后再练习。 有问题-我们正在分析,不断进行对话, 有趣的笑话 并在观众周围移动。 在选择摄影机和与观众建立富有成效的联系之间进行选择,我选择了第二个。 这是如何发生的取决于学生。 请谅解。


我也要


您是对给学生知识感兴趣的老师吗? 还是您是一个想获得这些知识的学生,而无论老师是否给予了这些知识? 在这种情况下,即使您无法参加活动,您也拥有独立开发该主题和/或构建/修改培训课程所需的所有信息:


  • 《数字电路和计算机体系结构》一书可以电子形式免费获得( 链接 ),也可以纸质购买( 链接 )。 它很容易阅读,像小说一样带走。 它的入门门槛低-不需要一些特殊知识即可开始阅读。 最近,已经发布了关于ARM体系结构的附加功能( 链接 );
  • 本书提供了代码示例,以及可用于构建您自己的课程的幻灯片(英语和俄语版本)( 链接 );
  • 廉价的调试板:我认为Terasic DE10-Lite是最佳的价格/质量比选择,对于已证明其具有学历的人(不包括交付品),价格为55美元。 ZEOWAA板-当您必须节省所有费用时。 该选件正在工作,但由于套件随附的USB电缆质量较差,固件可能会出现问题。
  • 当前学校的资料( github其他资料 ),以及YuriPanchul组织的其他活动( Silicon-russia.com幻灯片等等 )。

请不要期望有人会来找你做“好事”。 如果您是学生,则您的知识;如果您是老师,则您的学生的知识将有99%取决于您的努力。


我为自己忍受了什么


  • 在4天之内,您可以放一些基本的东西(对于那些没有读过H&H的人),或者是一些更高级的东西(对于那些已经读过这本书的人)。 最好不要结合。
  • 对于那些没有读过书并且没有FPGA经验的人,建议开始使用集成度较小的微电路的实践,然后再提供FPGA。 这很重要,因为 使您可以从相对熟悉的“编程”模式快速重建为“电路”模式。 这已经由Yuri( link )编写。 不幸的是,我们错过了这个阶段。

致谢


  • 活动的发起者和NSTU的组织者是Vladimir Makukha;
  • 如果几年前一群热心人士不从事数字电路和计算机体系结构的翻译工作,就不可能以目前的形式持有这所学校。
  • 没有IVA Technologies内部的教育计划的支持,我不可能到达新西伯利亚;
  • 事实证明,分配给大学用于购买调试板的资金悬于官僚机构深处的某个地方时,进行学校教育是一个很大的问题。 最终,董事会“与世界接轨”。 Mikhail Shadrin(NSU)借出了多个Nexys 4 DDR。 一些板是由来学习的研究生购买的。 Alexander Romanov(MIEM NRU HSE)分配了数个Terasic董事会。 但是仍然没有足够的董事会。 YuriPanchul提供了帮助,此后,我和莫斯科国立大学的Mikhail Shupletsov(我迅速组织了他们的购买)。 来自Terasic的人员毫不拖延地尽快安排了装运。
  • 德米特里·弗拉索夫(Dmitry Vlasov),安东·库利希科夫(Anton Kulichkov)和瓦列里·巴明(Valery Barmin)帮助开展了这所学校-我们一年前在托木斯克( link )见面,今年他们帮助学生进行了理论和实践。
  • 非常感谢学生-如果您没有学习新事物的渴望,没有您的坚持,我们就不会成功。

学校评论


安娜·卡兹米娜(Anna Kazmina)
在四天的时间里,我们投入了很多基于FPGA的开发技术,以至于彻底改变了我在实际生产中在现代世界中使用FPGA的想法。 以前,在教学过程中,我们仅使用FPGA来加快问题的解决速度,但现在我们已经学会了如何使用微控制器进行微体系结构开发。。。。 更多此类事件!


奥列西亚·拉琴科(Olesya Radchenko)
非常感谢团队,NSTU也举办了类似的学校。 感谢您有机会“全力以赴”投入FPGA编程,了解其他开发人员如何使用Quartus,ModelSim并结识例如Vivado。 在这四天中,我巩固了自己的旧知识并学习了许多新知识,例如有关MIPS的知识。 <...>我可以将获得的知识应用到我的工作中,该工作最近与FPGA编程紧密相关


弗拉迪斯拉夫·梅耶
也许我想指出,由于时间有限,您设法提供了足够的信息来对材料进行初步了解。 我个人对硬件编程语言有一些基础知识。 但是对我而言,主要的缺点是总体上对编程的看法发生了变化。 现在,我从不同的角度看待以前熟悉的事物,并对如何以不同的方式实现这些模块或这些模块有了一个想法。


安东·尤帕舍夫斯基
在这四天中,我以完全不同的方式,Verilog硬件描述语言以及目前使用FPGA来研究FPGA编程。 我对FPGA和数字电路的初步了解是在大学再学习了四年,
最简单的组合和顺序方案没有问题,但是
越来越复杂和有趣的现象出现了,最后我们自己对内核进行了编程
MIPS 这所学校的一大优势是大量的练习。


米哈伊尔·基列耶夫(Mikhail Kireev)
在APEP-2018的“从物理到芯片”的学校中,与Verilog一起工作时,教义概述如下:
您必须掌握哈里斯的书。 编写代码时,本主题有很多陷阱-完全相同的块(从逻辑的角度来看)可以用不同的方式合成<...>与开发相比,仿真在开发时会提供更多的可能性-更加注意Waveform。 在专业活动中,您必须使用来自不同制造商的各种FPGA产品线,<...>节省以后的时间(编写脚本和生成文件)。 从实践的角度来看,已经考虑了许多基本的顺序和组合模式。 传送带,4x4键盘,状态机示例,最简单的MIPS架构和其他任务。


Z.Y. 我发现了这所学校,并在开学前12个小时签了字,我并不后悔参加这次活动,尽管阅读哈里斯的书会使学习成绩大大提高。

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


All Articles