跟李凡老师学FPGA之D01:数电基础复习、介绍FPGA工具及流程(20160423课堂笔记)
本帖最后由 lcytms 于 2016-10-10 22:34 编辑跟李凡老师学FPGA之D01:数电基础复习、介绍FPGA工具及流程(20160423课堂笔记)
用笨笔头整理课堂笔记,用以备忘,温故而知新。
整理文稿的细节处未能一一体现李凡老师讲课精髓和独特风采,有待下一步补充完善。
感谢李凡老师博大精深的学识、孜孜不倦的教诲,并敬请李凡老师原谅本人拙劣的课堂笔记。
本帖最后由 lcytms 于 2016-10-9 14:26 编辑
1005
在集成电路的发展基础之上,现在我们来复习数字电路的一些内容。
比如说在早期的应用里面,我们需要一个现场定制的逻辑,如果我们需要一个比较器,就像PPT上的这个逻辑,它有A的输入、B的输入,A和B都是单比特的,它有对应的输出。
本帖最后由 lcytms 于 2016-10-9 09:55 编辑
0948
介绍红蜘蛛软件。
0949
介绍海天软件。上课主要用海天,分享时用红蜘蛛。
0950
打开《FPGA的发展与展望.pptx》
第一,做数电基础的复习。形式:以硬件平台、软件平台发展的历史。
硬件平台从早期的独立设计的电子管、分立器件、电阻电容,到现在的FPGA硬件平台,以及硬件平台对应的支撑工具(如Quartus II),这段历史。
0951
讨论历史的时候,我们附带做一些设计电路的复习。
第二,对工具的运用。100天下来,我们要用Altera的工具,完成建模和验证以及下板,以及它的综合调试等等。
这是今天的重点,一个是历史复习,一个是工具和流程。
这是第一天。第二天讨论EDA建模的经典理论以及对应的应用,EDA建模以及HDL描述语言。
EDA建模用HDL语言,D就是描述,question的描述。那么,用什么方式描述呢?
经典的米德体系分为三种方式:数据流、行为、结构化。一直到今天都非常重要。
0952
我们会来讨论如何用这三种不同的方式描述电路。所谓描述一个电路,就是你实现一个电路的过程,这是第二天。
然后第三天、第四天,我们会来介绍,内容稍微多一些,快一些,内容稍微前沿一些。
如果同学能掌握的很透彻,当然很好。不透彻也不必放在心上,因为后面还有后续的课程。
这两天主要是给大家做一个概括,在这个领域里面发生了什么,要关注哪些,给一个提纲挈领的介绍。
0953
后两天主要是介绍状态机,有限状态机,介绍有限状态机的基础理论,以及实现方法,还会说到状态机这个领域里面当今世界发生了那些事情,它的前沿在什么地方,以及前沿的一些应用。
今天我们来介绍硬件平台、软件平台,EDA工具和流程。
现代社会离不开电子,电子技术的进步与人类的物质文明息息相关,每一次电子领域的进步都推动了人类文明的发展。
0954
正如今天,每一代苹果出来都会带来新的惊喜。
1904年,英国物理学家约翰.弗莱明(John Fleming)发明世界上第一个电子管。
在此之前,很多今天很容易解决的问题,称之为人类的技术特权,比如远距离通讯、电视、收音机,在那些年代没有,人类享受不到这些物质文明,没有这些技术特权。
0955
远距离的通讯,除了喊之外,还有信鸽、烽火、狼烟等等。
1904年有了电子管这个设备以后,1909年,马可尼制作了第一台无线电收发报务机,实现了跨洋通信,这是人类的一个技术进步。
在这之前,人类没有这种特权,和其他生物没什么区别。
有了电子管之后,人类具有了其他生物所不具有的特权,可以在超视距范围之内进行通信。
之后的一些应用,象无线电收音机,可以收听音乐节目、新闻节目,实时地收听远距离传来的这些消息。
本帖最后由 lcytms 于 2016-10-9 14:17 编辑
0956
1946年的2月14日,在美国的宾夕法尼亚大学,诞生了世界上第一台计算机ENIAC,它的主要的元器件就是电子管,当时还没有晶体管,奠定了计算机技术进步的里程碑。
从此之后,人类的大脑得到拓展。这台计算机的功率巨大,工作时费城所有的白炽灯都黯淡下来,可见功耗之大。
0957
另外一个里程碑,就是1947年,美国贝尔实验室的威廉肖克利Shockley,William Bradford和他的同事约翰巴丁(John Bardeen),沃尔特布拉德(Walter Brattain)发明了世界上第一个晶体管,从而引发一次新的技术革命。
肖克利也被称为晶体管之父,获得诺贝尔奖。
由于有了晶体管,它使得计算机这样的设备小型化,晶体管是固体器件,电子管是真空管器件,固体器件的引入给世界带来了一个新的方向。
0958
1947年发明的晶体管,1956年肖克利就拿到了诺贝尔奖,可见世界对它的关注度。
但是另外一件事却很奇怪,1958年美国德州仪器公司杰克•基尔比(Jack Kilby)发明集成电路。
本帖最后由 lcytms 于 2016-10-9 14:19 编辑
0959
一个称之为移相振荡器的设备,只需要5个晶体管,基尔比就有一种想法,因为移相振荡器的设备其中有电阻、电容、电感这些无源器件。
我们知道,有源器件(三极管、二极管)是可以用PN结来形成,制作在晶片上,用平面光学衬底技术来实现。
基尔比的突发奇想就是,能不能把电阻、电容、电感这些无源器件也做在集成电路上,完成整个电路。
当然他实现了,虽然他的方案只有5个晶体管,以及很少数的阻容器件,但他毕竟实现了。
1958年做成这件事情后,直到2000年他才拿到诺贝尔奖,几乎过了半个世纪,1946年发明晶体管,9年以后就拿到了诺贝尔奖,可见诺贝尔奖委员会对这件事的认识还是有差异的。
1000
晶体管引入了固体器件,大家觉得很振奋,但是基尔比的集成电路,当时仅仅认为是一个小型化,并没有技术难度上的特别飞跃,但是这件事情在2000年以后的评价却大不同。
2000年,诺贝尔奖委员会给他的评价却是,绝对不亚于肖克利,甚至有过之而无不及,是对现代信息技术、人类物质文明进步奠定的重要基础。
1001
为什么这么说呢?
看看我们的酷睿吧。酷睿也是小型化,如果没有小型化,就做不到今天。
酷睿在方寸之间的集成电路上,能够做到数百兆门的容量,才能实现如此强大的功能。
而正是由于集成电路的魅力,才能做到今天我们来讨论EDA。
为什么这么说呢?随着电子管、晶体管、集成电路的进步,有一件事情是不言而喻的,那就是它的设计方式。
本帖最后由 lcytms 于 2016-10-9 14:24 编辑
1002
它的方式分为2个方面,一个是硬件平台的设计,一个是硬件平台所需的工具。
站在今天的角度上,我们称之为硬件平台和软件平台的历史。
所谓硬件平台,就是我们当初是怎么用电子管、晶体管、集成电路,以至于今天我们用超大规模集成电路、FPGA、ASIC来设计一个具体的应用设备呢?
在电子管那个时代,在电报电话那个时代,也是用人工设计的。
把对应的电路符号绘制在图纸上,把它综合成一个系统,最后在应用的时候,根据图纸进行装配,来实现。
1003
很快我们就发现,60年代之初,硬件工程师摩尔就预言,集成电路的集成度可能会24个月会翻一番。
实际上真正的摩尔周期是18个月翻一番,并维持了近40年。
直到今天发展到亚微米、纳米,发展到极限,摩尔定律才走到头。
18个月翻一番,带来的是什么?
集成度翻一番,传统的方式进行设计显然不行,这就带来了硬件平台和软件平台的进步。
1004
首先我们讨论硬件平台。
我们今天讲的ASIC器件,为特定目的而生产研发的集成电路。
大部分的集成电路芯片都是ASIC类型。非常经典的例子,就是早期的TTL的54/74系列。
这种器件包含成熟的数学模型,经过验证,易于大规模生产。缺点是非常明显的,生产成本高,研发周朝长,变更困难。 1006
看白板上,输出S为正逻辑,真表示真的A>B,S为1就是A>B,S为0就是A≤B,也就是A没有>B。
1007
如果我们把S写成S_n,至芯的信号命名约定,正逻辑不要写_n,负逻辑一定写成_n。
1008
另外一种情况,输出S为负逻辑,A>B它为0,反之为1。对于负逻辑而言,0是真的,1是假的,对于正逻辑而言,1是真的,0是假的。
1009
如果我们需要这样一个逻辑,三根线,S1(A>B),S2(A<B),S3(A=B),这种比较器的设计在早期的分立电路设计中用逻辑门来实现。
1010
逻辑门会用与门、或门、非门。
我们知道,现在的FPGA里面会尽量用或非门或者与非门来实现,我们在四输入查找表里面看到这一点。
我们来看如果A>B,用分立器件怎么做?用TTL集成电路怎么做?