00:01
有声音吗?有是吧,声音画面就都有是吧。现在我这声音是不是比较大了,是不是调小一点。好啊,那么呃,有声音有画面的话呢,咱们就呃下边开始来讲解咱们叫做今天的内容啊,呃,那么咱们今天的这个内容呢,呃是给大家来去讲解这个一种新的东西啊,一种新的东西,那么呃首先呢,我们还是啊简单的来说一下啊,就是说呃应该说就是从我们啊这个前天开始上课来说吧,前天呢,我们讲了一些技巧仿真呢,或者说这个分配啊,或者一些东西的一些技巧啊,那么其实这个呢,已经跟前面没关系了,是吧,那么咱们今天讲的呢,其实跟前面呢,嗯也没有什么太多的关系啊,但是只能说呢,也就是说设计这个这个这个思路上肯定还是有的,对吧,那么一些习惯上肯定还是有的,只是说它的内容上呢,基本上没有说太大的关联了啊,没有太大的关联了,那么呃,咱们今天要讲什么呢,咱们。
01:24
我今天呢,首先要给大家去讲这个,呃,一种思想啊,一种思想啊,什么思想呢,我们首先先来在这儿说一下啊,嗯,大家都知道什么呢?呃,大家都知道,就是说比如说我们现在的ipg对吧,那么我们的ipg的话呢,是这样的,是不是就是说什么呢?它的最小的逻辑单元是什么呢?我们称之为叫做一个Le。啊叫逻辑元素对吧?L,然后L的前面什么呢?是LTLT后边呢,哎是一个我们称之为叫做寄存器或者叫触发器对吧?啊叫触发器,那好了,那么也就是说呢,它是由这两个东西来构成的这样的一种,这个这个这个这个主要的中间的一个核心控制的这样的一个芯片啊那么呃,我们都知道是吧?所有的什么呢?所有的数字电路啊,所有的数字电路啊,都是由什么,都是由这个叫做组合逻辑和时序逻辑啊,他们这个叫做呃组到一起而构成的一个叫做数字逻辑电路啊那么正好呢,我们的I呢,可以扮演什么啊,它可以扮演这个叫做这个组合逻辑的呃这样的一部分功能啊,那么呃,对于这个这个这个这个叫做呃。
02:51
触发器呢,扮演什么?扮演了一部分的这个叫做这个这个呃,寄存器,或者叫做时序逻辑的这样的一部分角色啊,那么也就是说由他们两个呢,能构成什么,能构成很多很多的逻辑电路,那当然了,咱们讲了一个月,在这一个月期间呢,我们不断的去用这两部分来构成各种各样的一些逻辑,那么对于大家来说的话呢,大家肯定呢,就是有很深的一些体会是吧,很深的一些体会,那好了,那么现在的话呢,我们来去呢,去分析一些东西啊,分析一些什么东西呢。
03:29
假如说我们来举一个例子啊,来举一个例子什么呢?因为呢,我们在最开始的时候,是不是给大家讲过一个东西什么呢?我们说ipgan啊,它呢,什么这个这个数字乐都能做出来,但是呢,它是什么,它是等效出来对不对,它等效出来的话呢,它的速度呢,可能啊,就没有说同等工艺下别人所造的iic的速度快。这是有可能的啊,这是有可能的对吧?哎,这是这个这个第一种啊,那么呃,还有另外一种呢,是什么呢?他可能没有什么,他可能没有别人的这个就是说专门做这样的一堆东西的一些特性啊,比如什么例子呢?比如说我们这做什么,我们这做的所有的什么都是组合逻辑,对不对,不是都是这个数字逻辑对不对,那如果说我IP要做一些模拟端呢。
04:25
IP还能做吗?Ipg是做不了了啊,Ipg是做不了了,好了,那么海有没有其他了呢?也有,比如说他能做,但是他做完之后呢,效果啊,效果上可能不太好,就比如说我们刚才所说的,诶,他也能做,别人ici也能做,但做完之后速度没别人快,那么还有一种什么呢?就比如说呢,哎,在我们的IP芯片呢里边呢,我们发什么要存一堆数,有人说ipda不就是用来去存数的吗?其实一定要注意啊,Ipg确实是可以用来去存数,但是它存不了大批量的数。
05:02
啊,它存不了大批量的数,比如什么呢?哎,比如说这个是一个最简单的一种,这个这个叫做这个这个呃,设计想法,你比如说咱们的片子啊,咱们今天看下什么呢?咱们今天来看一下咱们的这个芯片手册。啊,这是咱们这个三克隆四的这个芯片手册是吧,那么呃,在这我们来看一下。那么对于咱们这个芯片手册上来说的话呢,我们首先先看一下这个就关于咱们这个芯片的一个介绍是吧。这个之前给大家也看过是吧,咱们什么咱们是EP4CE10F是吧?EP4CE10F17C8,那好了,也就是说嘛,就是我们有这个大概10K个左右的Le,是不是10K左右啊,诶10K左右个Le,那么就有了一个问题,什么问题呢?也就是说我们都知道啊,一个Le里边呢,它只有一个寄存器,对不对,那也就意味着说,如果说我用这一堆寄存器想构成一个什么,想构成一个叫做专门用来存储数。
06:17
啊,专门用来存数的一个一个叫做这个存储器的样子,对不对,我就用来存数对不对,那只能存多少,它也就只能存10K个比特,啊,也就只能存10K比特,那他存的太少了。啊,那就存的太少了,因为我们在IPAPP里边呢,可能那要干什么,要去想着法儿的去存更多的一些比特啊,那么它就存太少了啊,为什么呢?因为他本身就不是用来干这个的,你非让他去存的能不能能但是呢,他本身不是干这个的,所以他干的呢,要比较的慢一些,那么对于我们来说,我们在很多时候可能会想要在哪儿呢?在这个叫做这个这个这个这个这个ipg内部呢,去存储一部分东西啊,如果我们用I这个这个这个这个做这Le来存啊,那么存的就比较少啊,因为他不是干这个的,那么怎么办呢?所以呢,我们就在IP里边嵌入了一些什么呢?嵌入了一些专门用来存储的一些模块,就叫做什么叫做memory。
07:21
啊叫memory,所以呢,今天在这儿的话呢,要给大家讲的什么呢?就是讲明白一个思想,什么思想呢,所以今天就趁着这个给大家来说一下什么呢?就是ipg内部啊,Ipg内部它不仅仅有LT reg所构成的Le,那当然了,我们都知道Le构造完成干什么,它就内部再加什么,再加上连线啊,就各种线的资源再加什么,再加IO,我们在最开始啊,我记得我在最开始给大家来讲课的时候呢,我们给大家说什么,我们给大家说呢,IP间内部啊,一共。
08:01
啊,给大家举个例子啊,应该说的是一共就只有什么,一共就只有这三种东西啊,一共就有这三种东西啊,我们来看一下啊。啊,比如说这是咱们第一种啊,叫做Le啊,那么第二种叫互联线,第三种叫IO单元,然后我们就说,我们就说哎,中间的Le形成自己的功能,再靠连线连起来,形成更复杂的功能,然后呢,再通过什么,再通过IO,然后呢,就把我们内部的功能与外部的联系起来,进而形成了一个什么整个的功能,也就是说只有这三种合到一起,它就可以实现任意功能了,但是呢,我们就会发现,在很多时候啊,也就是说呢,咱们啊,呃,这个叫什么?就是当你知道的越多呢,你肯定不会的越多啊,当你知道的越少呢,你会感觉你会的越多啊,为什么呢?因为很简单,你的认识的范围可能还没到呃这个地方啊,认识的范围没到这个地方,你比如说对于我们来说呢,我们就说ipg现在感觉什么都可以了。
09:23
啊,感觉就是我们做了那么多设计对吧,包括我们前面做的这个就是这个叫做的这个这个这个这个呃控制这个叫做呃年历是吧,我们已经做到这个相对来说比较复杂的地方了,对吧?那么相对于另外一些复杂的应用啊,我们还没提到,所以呢,大家可能就是说呃,这个这个不知道它有一些其他的一些什么应用了,是吧?那么现在我们就来逐步来讲,比如说第一个我想让用咱们ipg呢,去存什么,去存一些数字啊,二进制嘛,就存一些二进制,那么如果用IP来存。那么它所存储的量能多大呢?在这给大家已经讲了,也就是说它这里边存多大呢?它就只能存10K个比特啊,10K比特就全都用上,一共就才存10K个比特啊,一共就才存10K个比特,它存不了多少啊,存不了多少,那么对于我们来说,我们在很多地方都是需要用到这样一些存储的,那后续的我们会慢慢讲解到啊,都会用到存储的,好了,那么我们怎么来办呢?所以呢,Ipga啊,他就做了一件事儿,什么事呢?他说诶,你比如说你又造SD卡呀,或者你去造U盘啊,这种工艺对不对?那好了,你直接在我ipg内部给我造这样的一块儿,就你这种非常高效又非常小的这种玩意儿,对你给我造一块呗,然后呢,我就用你这个来存。
10:44
这样的话呢,因为你就是专门用来存的,又不用实下其他逻辑,对不对,那么这样可不可以呢?然后呢,我用我的IO,我用我的IO啊,不能说IO应该就我用我的I,因为你在我的内部设计不到IO了,其实呢,在内部也可以叫IO,对吧,也就是说呢,用我内部的I啊,然后呢,我去给你弄到我肚子里边的这一块东西干什么,进行连线。
11:07
啊,或者说我进行去一部给你给你一部分配置,然后呢,进而我来控制你可不可以呢?当然了,所以呢,Ipd往自己肚子里放了东西,放什么呢?比如说就放了这样的一部分存储器啊,就放了这样的一部分存储器,所以一旦有了这样的一个概念,那好了。那么就变成这样一个东西了啊,就这个例子,我们给大家来说一下,你比如说你比如什么,你比如说这个这个我是一个开发游戏的,你也是一个开发游戏的,哎,然后呢,我我我也想要要你那个开发那个游戏,但是呢,你但但是呢,我又实现不了,那怎么办?哎,我财大气粗对吧?哎,我怎么办,我直接把你收购了,你直接变成我的子公司了,那然后呢,你的产品就要打上我的logo了,对吧,然后呢,我直接跟你对接是吧,我也要干什么,你就帮我完成对吧,那就OK了,其实就其实就是这样嘛,对不对,也就是我们可以往自己的肚子里放呢,很多很多的东西啊,很多东西,其实呢,大部分的芯片都是这样的一个什么,都是这样的一个思维啊,习惯啊,或者说都是这样一种设计,你比如说咱再举个例子,比如说大家所所以为的这个叫做什么叫单片机,大家觉得单片机呢,就比如说我们所说的这个这个这个五幺单片机,是不是大家都觉得内部其实就是一个CPU在执行吗?当然不是了,单纯靠CPU啊,它其实。
12:28
实现不了太多的功能,这是最简单的问题啊,你比如说这是个CPU对不对,然后的话呢,我们都说CPU控制什么,控制一堆,这个就是中靠中间连线在对上IO是吧,有很多人就画IP,画这个单就这样画就什么,就跟我们IP是一个道理,CPU什么CPU就能编写代码,然后这些代码就开始执行,然后一执行控制IO就可以了,但是其实往往对面机它不是这样的,为什么呢?因为他会做一件事。他就为了呢,让这个芯片去完成一些更牛逼的一些功能,或者说能不能有一功能不让CPU来完成,比如说咱们单片机里面有串口,对不对,是不是都有串口啊,那好了,也就是说他要干什么,在这造一个串口电路,然后呢,干什么IP这个这个CPU呢,只把数据发给串口电路就结束了。
13:14
CPU是不控制向外发送串口的,谁发送的呢?是这个电路来发送的,那CPU是什么?CPU是不是还有很多计数器啊?对不对,那当然还有什么,还有很多的CPU内部这个这个单频内部还有什么,还有高速的ad或者DA一些电路,也就是说呢,他们这些电路呢,都被它放到了他自己芯片的肚子里边,然后呢,与它内部的一些控制逻辑进行相关联,然后呢,靠这对电路来去完成一些自己不能完成的,或者不容易完成的,或者完成了之后没有其他人效果好的这样的一些东西,然后呢,我们。把它放进来啊,把它放进来,然后呢,我们就直接给他通信就可以了。啊,交他同心就可以了,其实呢,在也就是说在这个现在的造这个芯片呀,或者说现在造很多东西的时候呢,其实都是这样的啊,包括在咱们这个现实生活当中是吧?哎,包括你买个汽车啊,也不是说所有东西都是一个厂家造的,对不对,也是说人家的好怎么办啊,我是主控芯片啊,但是人家造轮胎造的好啊,那的好,把轮胎买过来,然后我来控制轮胎转就完事了啊,咱也不造轮胎了,因为咱到轮胎跑两圈坏了,不然人家就不会。
14:28
啊对吧,所以呢,就是啊,就是说这样一个,现在大部分芯片都是什么,都是这样的一个组合体啊,但是呢,它虽然是组合体呢,但是什么,但是他们内部的结构是不会发生改变的,比如说像C像单片机这种结构,它内部什么,它内部总是有一个CPU啊,来去控制所有的外设啊,控制所有的外围电路来进行工作啊,比如这些外围电路呢,都是一些就是不能说死的电路,应该说什么,应该说只能去简单的配置一些参数的电路,它不能再变成其他的了啊,它是这样的啊,那么对于ipg来说的话呢,Ipg内部就放入了这样的一些叫做存储器的电路,其实呢,大家如果要去看的话,这不是资源嘛,对不对,我们在讲课的时候呢,只讲了第一个叫Le,其实呢,下边这些什么都是我们的,就是放到内部的一些资源,还有什么呢,叫乘法器,乘法器资源。
15:26
啊,有人说那我们用ipg不就可以实现乘法器吗?对,是可以,Ipg可以实现乘法器,但是ipg实现的乘法器的速度呢,它呢肯定没有人家埃IC快,这个可这个我们可以这样说,就是肯定没有在同等工艺下iic的速度快,那肯定是没有的,所以呢,它内部呢,也加入了很多的乘法器,大家都知道,在通信呢,在很多的算法当中呢,乘法是用的最多的一个,对不对啊,然后呢,相对来说也比较复杂一点啊,所以怎么办?就为了提升速度,我们往里面放了很多糖,那么还有什么呢?还有我们会放什么,放这样的一些东西啊,叫做这个通用的一个。
16:08
所向环,也就是说这是他们内部的一些东西,那么紧接着什么,紧接着在一些这个这个这个叫做一些设计当中的话呢,感觉什么,感觉ipg啊,去完成一些啊中间的接口也好,或者完成做一些功能也好呢,他们呢,哎,这个很多时候很得心应手,当然了也有很多地方他完成起来呢,就感觉起来就比较的费劲,比如什么呢,比如去弄一个什么操作系统之类的,就是给人做交互的这个操作系统的,就屏幕啊,操作系统啊,这样一个东西大可能自己就比较费劲了,那比较费劲怎么办呢?所以呢,Ipga呢,又开始去想其他的方式,什么方式呢?就是我ipg只控制底层的,上层我不控制,那怎么办呢?那我能不能在我内部的肚子里放一个CPU呢?其实呢,这种想法也实现了,这个叫什么,这个就是我们的叫做SOC啊,当然了,我们学习的重点是放在ipg上,那部分呢,我们。
17:09
先暂且不用考虑,只是说这是一个发展的一个这个这个方向,并且现在的很多的应用啊都已经有了,就是就是ARM加ipga啊放到一起就是SOC啊,其实是一样的啊,其实是一样的,那好了,那么也就是说呢,Ipg的肚子里呢,它放了很多很多的东西啊,放了很多很多的东西,那当然了就会出现一个问题,什么问题呢?比如说我的芯片里,这个芯片里我放了,比如这个芯片里我放了23个,这个芯片放了56个,这个芯片放了66个,那这个片放了66个,这个芯片也放了66个,那我凭什么情况下放的多,或什么下放的少,放的多了是不是钱就贵,放的少了是不是就便宜,以及等等这样的东西呢?所以就出现什么,所以就会出现一个叫什么叫做,呃,叫做对器件比较熟,大家去网上搜的招聘职位,就是对某一个系列,或者说对这个芯片比较熟悉,什么叫比较熟悉呢?你比如说啊,我要做一个什么东西,我大概评估一下,然后它需要多少资源,或者说诶做这个东西需要什么样的一堆。
18:09
A,就是说ipg实现不了,只有别人只有说往ipg肚子里放了一部分这样的资源,才能够完成这样的场合,那你就知道什么,那你就要知道哪个ipg型号里边有这样的一部分东西,比如说呢,Ipg实验什么呢?叫做G比特IO,什么叫G比特?就是说它有一根IO线啊,这根线呢,它可以跑到什么,可以跑到一个G。啊,那么这个呢,就就就很很。很很那什么是吧,很厉害是吧,那当然了,还有很多很多的一些东西啊,很多很多东西,所以他肚子里会放很多很多东西,那么咱们呢,呃,下边要讲就是什么,就是说我们给大家来去讲一些什么,来讲一些。叫做ipga肚子里一些最通用的,最常用的,最基本的一些啊这样的电路啊,或者说啊一些东西啊,我们怎么来去实现啊,怎么来去这个调用它,因为它就在肚子里,对不对,我要给我要用它对不对,我怎么来用它,那么当然了,对于我们没讲到这些电路怎么来用,其实是同一个方法,只不过呢,你还要去了解人家塞料肚子里边这个东西是什么,怎么用啊,需要去了解,所以呢,我们要我们讲,我们讲的只是说把这个基础的常用的我们都全部都讲一遍啊,大家学会整个是什么,整个这样的一个方法啊,这个方法好了,那么下边的话呢,干什么呢?下边的话呢,我来带大家呢,去看一部分啊,去看一部分怎么看呢?啊这个这个算了,这先别关了,一会儿我们还用得到,怎么看呢,我们这样来做。
19:46
我们去找到我们以前做的工程,比如我随便找一个啊,就这个伊比特加法器啊,把它打开啊,在咱们之前的话讲过什么,我们只讲过这个,呃,这个叫做用它的I啊来实现我们的功能啊,我们没有讲其他的对不对啊,没有讲其他的啊,那么其实呢,呃,还有一堆东西什么呢?还有东西是这样的,你比如说呢,呃,这个这个咱们同学呢,要做咱们之前做的这个什么呢?做这个这个叫做这个音乐,也不能说音乐封片,应该说做这个叫做这个万年历啊,做咱们这个万年历,然后呢,有同学说老师我那部分控制器不会写。
20:24
然后呢,你能不能把你的代码给我。好了,那么。可不可以给你呢?我们先不讨论可不可以给你,那么对于我们来说,或者对于你来说啊,你想要实现这一部分功能,但是你没有设计,而由另外一个人设计了,然后并且人家呢,把代码给你了,当然了,我给你什么,我给你的是代码,对吧?你还能去看,在很多情况下,我可以不给你代码,我可以给你什么,我可以给你已经布局不限好的一个东西,你拿回来之后,你可以去做绿化,但是你看不到内部的东西。这也是可以的,但是你可以用,并且呢,我用的什么,我用的就是内部的你的IE来实现的功能啊,那么说白了什么,说白了也是说,哎,你实现不了,或者说呢,你不会去做,或者说你实现起来可能要花费很长的时间,那么你可以向我付费,我可以给你。
21:17
对吧,其实呢,这一部分呢,也可以算是一部分什么呢?就是这个叫做电路啊,成熟的电路对吧?啊这样的啊,那在这我们来看一下啊呃,怎么看呢,我们布局布限一下。啊,我们布局布线一下,然后呢,用什么用我们的芯片规划器去看啊,用我们的芯片规划器去看啊,这个是可以这个看得到的,所以今天的话呢,呃,在后边讲课这几天呢,难度并不大,主要是给大家呢来带来什么,带来一部分叫做新的思想上的一些认知啊,新的思想上一些认知。
22:00
以后呢,我们也是这样的,对吧,你比如说呃,就像什么,就像这个大家去做什么设计似的啊,首先大家想的第一件事儿不是这个设计怎么做啊,包括我在内啊,也是不是想这个玩意儿怎么实现,我想自己想想是干什么,有没有人实现过,能不能把现成的给我来用啊,其实是这样的啊,这样的话会这个提高我们很大一部分的一个,呃这个这个这个这个呃研发的这个时间是吧,缩小我们研发的时间啊。好,我们来看一下啊,那么这个就是我们那个芯片规划是吧?那么对于我们芯片规划当中的话呢,我们来看一下,比如说我们所说的Le,其实就是这个对吧,前面是I,后边是寄存器,这个是我们所知道的,对吧?这是我们所知道的,那么他们呢,他们呢,完成I完成了寄存器,但是呢,他们中间又没有连接线,能怎么实现呢?所以呢,就从这儿肯定还有咱们看不着的一些线,然后呢,这是什么?这些都是IO,也就是说呢,这些看不着的线呢,从这拉过来,拉到这个IO上,然后这个什么呢?这个就是一个焊盘,就是我们这个开发板上的那个焊盘了,就那管角了,所以它就连到这儿,就连上了,连上以后就可以做输出了,对不对,所以这是咱们最基本的,那么那么对于有一些东西来说,咱们不认识,比如像这个玩意。
23:19
这是啥呢?这肯定不是我们Le,那这是啥呢?我们可以呢,选一下子啊,会选一下子,其实你打开你可能就打不开啊,其实这个是什么呢?其实这个呢,如果我没记错的话,这个什么这个已经就是我们的什么叫做这个这个这个呃,Memory就是我们的存储器,就是我们的存储器,所以呢,Ipg内部放了什么,Ipg内部就放了这两条啊,我们这个芯片里边就放了两条,注意啊,我所讲现在所有东西就是只是我们这个芯片啊,只放了什么,放了两条,比如这两条能存多少呀,这还不如人家这这这人家这么多条还没有你这两条存的多,注意啊,干啥就是干啥的,因为人家呢是专门用来存数的,人家也不用做,用作其他逻辑,他就专门用来存数,然后人家就是用艾IC做的,不用你去等效,所以存储的密度肯定要比你大,那么这个能存多少呢?咱们看一下啊,比如咱的EP4C10里面存多少呢?就能存414K比特。
24:18
而你呢,只能存10K比特,小到看到了吧,我两条能够存的就是你的40倍。还要多,所以呢,我是专门来干这个的,我的存储密度也好,我的很多东西都比你要大得多,而你不是专门干这个的,对不对,所以呢,哎,你我就知道啊,怎么办呢?哎,我们就把你放肚子里啊,然后呢,用来存的时候,我们就你就用就好了啊,你就不要自己去逞强是吧,去自己去做,做出来之后也不太好啊,做出不太好,那么这个什么呢?就是说它是一块一块的,对吧,这个有人叫叫叫做这个块状存储器啊,叫块状存储,但注意它是一个嵌入式的,当然了,414K比特大嘛,当然不大了,还没上照呢,对不对,还没上照呢啊所以说的话呢,就这个芯片内部的话呢,我们来说,大也好,小也好,多也好,少也好,是一个对比的过程啊,是个对比的过程,对不对?好了,那么咱们再往后看,你看对于后边的这样的一些相对来说比较牛逼的一些系列当中,你来看多少个,你这414,人家呢,直接就3800多了。
25:28
啊,当然了,赛克龙四这个系列呢,它可能本身也不是最牛逼的一个系列啊,那么这是就是一些资源,那么还有什么呢?比如说这一条。这条啥呢?这一条的话呢,其实是个什么?其实是一个乘法器啊,就是应该是个乘法器,就是我们所说的那个嵌入式的一个乘法器,就是说它内部还要放它,那么海有没有其他的呢?其实也有啊,就是说他们放的位置都不一样,比如说在这儿跟电池一样啊,跟电池一样,这是什么?这就是一个锁向环啊,这是一个锁向环啊,在这儿应该能看得到啊,这是锁向环啊,资源类型锁向环,然后呢,我们再点一下这个。
26:11
啊,资源类型叫M9K啊,我们后边来解释什么叫M9K,它你记住它就是个memory,那么好了,我们再来点那个啊叫DSP啊block就是DSP块,那么DSP就有数字信号处理吧,也就是说它就是我们可以理解就是这个乘法器啊,可以列是乘法器,那么等等等等,这个里边呢,还有一些其他的内容,那么我们上课的话呢,我们就只给大家来讲啊,最基础的,它怎么用,它怎么用,它怎么用,至于还有没有其他的,我们先不做考虑,就是我们会讲这几个东西应该怎么来用,那当然了,我们讲这三个是最基础的,那么下边我来带大家去看一些相对来说比较牛逼的一些芯片,比如说在这儿的话呢,这部是我们要的是C克隆4E系列吗?现在我们换一个系列,我们换一个S克隆四,GX系列也是赛克龙四的,那么四和GX有什么区别呢?其实在我们的手册当中是有介绍的啊,我们可以简单看一下啊。
27:11
在这儿啊,我们在这可以看一下,你比如说塞克隆四啊,塞克龙四的芯片啊,啊在这儿啊,塞克隆四的塞4E系的芯片啊,是一个叫做低功耗啊,它的一个叫做高性价比啊,就这个叫做高质量,代表低消费叫高性价比这样的一个,那么这个GX系列呢?啊GX系列什么呢?GX系列就是说呢,它是一个低功耗的啊,它呢也是一个比较便宜的ipda,那么PIP提供什么呢?它提供了一个3.152G。的一个收发器,也就是说呢,它在里边放了一个这个,这个咱们就显然可以理解为就是有一个IO,这一个IO它能跑到三四个G,那么这个速度是很快的啊,这个速度是很快的啊,速度很快的,那么它里边就放了这一部分,那么用这一部分东西能用ipg实现吗?我们我现在啊,我所给大家说的ipd,就是说ipg内部的LT加存器,它能实现吗?它根本实现不了,那怎么办呢?他就必须得靠一部分专门特别牛逼的一些这个这个这个人家已经做好的这样的一些电路放到这儿,然后专门去做处理,然后处理完事之后呢,再给到你内部去做处理啊,那么再来看一下啊,如果说呢,我们GX系列内部到底有什么东西啊,在这儿呢,我们也就不再特殊去做了,比如说随便找个GX版,我就随便一点啊。
28:35
点个OK,然后呢,我们再去啊,这个这个叫做综合分析一下啊,那么这个综合分析的报告呢,可能都跟咱们这不一样了啊,咱们的报告里边呢,是没有人家那个高速触发器的,那么这个的报告呢,它可能就会有高速收发器了。啊,告诉书法去了,那么一会儿再带大家去看另外一个,呃,相对来说叫做更牛逼的一个芯片吧,啊,这个呢,我们不着急啊。
29:14
好了,那么大家来看一看呢,就会多出来好多大家不认识的,比如说呢,它啊叫做这个接收器啊接收器。啊,发送器发送器啊,都有两个啊,就是PCS都有两个,Pma有两个,Pcsma都有两个,对吧?啊这样的高速触发器在咱们那个里边就没有一综合就没有没有的啊,所以说他说你假你这咋有上个综合咋没有呢?注意这跟芯片有关系啊,你芯片里没有那个玩意儿,它怎么给你综合出来啊对吧,好了,你在这儿如果说我再打开芯片规化器呢,大家可能会看到一些你从来没有见过的东西,就是这一部分。有人说这一部分我见过,对你见过啊,这一部分其实就是,其实就是咱那一部分,大家来看这个是什么呢?这个其实呢,在这看到啊,叫做资源。
30:10
呃,资源类型啊,他跑这儿了啊,上面那个他跑到这儿了,叫M9K啊,Memory啊,Memory啊,然后呢,那这一部分是什么呢?你看这就有一个叫做PCIE的一个硬核,然后呢,这里边什么呢?就是一个叫什么叫做这个,呃,这个叫接收器的一个PCS,以及接收器这个p m ma这些这些名词我们先不解释啊,我们只是告诉大家,也就是说在这个ipg内部,它竟然专门带了一些这样的一堆东西啊,然后干什么?然后呢,你就可以去控制这堆东西来,去替你去完成什么呢?完成一部分功能了啊,完成一部分功能了啊,就是说别人已经做好了,把电路放这儿了,你直接用就可以了,为什么呢?因为在。
31:01
很多很多的地方呢,这个东西我们是实现不了的,或者我们是不会做的,那怎么办?我们就用现成的,就好像什么,就好像大家去学C语言似的学C,比如说学C,学C的第一件事干什么,就是这个叫做什么,叫做这个,然后呢,括号大括号里边写一个什么,呃。什么什么print括号hello word,然后呢,什么什么在RETURN0,然后就完事了,对吧?那我问你,那然后你打完你就写完之后一编译,然后一执行,下面就出hello,我就感觉很神奇,那好了,那我问你,你觉得屏幕上打印出hello word是这么简单的一件事吗?你说这不就print print,不是print就直接就完事了吗?注意啊,你一定要记住一件事儿啊,什么呢?就是当你写了这一句话,这叫高级语言,当你写完这句话之后,如何控制在屏幕上再打印出来这个男的。很大很大啊,难处很大,比如说后边我们给大家讲,如果说只给我们显示器,然后我们用ID来控制的话,你像显示出来一句话,难度很大。
32:08
啊难度很大,所以的,所以的话呢,对于我们来说啊,我们只要知道,也就是说呢,哎,我们做一些东西,下层啊,下层还有很多啊,现在还有很多,但是它啊是这样的,那么这个呢,是我们一个啊,就是大家觉得啊,可能就是没有见过的对吧,没有见过的好了啊,这是咱们的这个,呃,第一个内容是吧,诶这个内容好了,那么下边的话呢,我们把它关掉啊,我再给大家再换一个芯片,让大家再来去看一看呢,大家没见过,比如说S5,我因为我正好给大家呢,这个这个这个呃,装了这个是吧,哎赛克五,那么这个赛克五的话呢,哎,S克五的话呢,它的这个种类有很多啊,种类有很多在这儿呢,呃,我也去选一个,我选一个5CSE的啊5CSE的。
33:00
然后的话呢,大家来看看啊,再综合一下啊,布局不限吧,啊点错了,等会儿再来大家来看看是吧,等会儿大家来看看,再来看这一部分它呢,到底会不会有一些其他的什么样的一些改变啊,在有什么样的改变。好,大家来看一看呢,是不是又多了另外一部分内容啊,并且呢,这个地方呢,都不叫什么了,都不叫这个L了啊,它都不叫L了,它就叫alm了啊叫alm了,包括下边呢,还有这样的一些跟刚才那个是不是也不一样了,是不是它变成什么变成了叫什么那个呃这个这个叫做这个串化器和这个这个这个解串化器等等这样的一些东西,那么下边我们再来啊给它布局布线一下,然后呢,我们去呃看一下它的这个叫做呃芯片的内部啊,到底是呃怎么样的一回事儿啊,这个芯片呢,呃,它的内部大家可能会见到我们之前啊,也是从来没见过吧,或者刚才讲那个,其实大家也可也可以说从来没见过,对吧。
34:31
嗯,你像这种芯片的话呢,它的布局不限的时间啊,可能就会长一些,当然咱们写的还简单啊,如果说要是写的比较更难的话呢,你局不限的时间啊,可能会更长啊,可能会更长啊,因为咱们的芯片呢,相对来说比较简单一点啊,所以说的话呢,有的时候呢,咱们这个芯片啊,能完成的功能呢,可能也会相对是比较的少一些,当然了,对于出去者来说什么都可以,但是对于呢,取得越往后越深入的话呢,那么这个芯片呢,很多的弊端咱们都是弊端,也就是说它实现不了的一些应用可能会更多,因为大家了解的应用会越来越深啊,越来越深。
35:11
好,那么下面我们来看一下这个芯片规划器。好,再家来看一下呢,这个是我们ipga的芯片规化器啊,看一下在这个当中,你看这个地方,这个地方什么呢?这个地方呢,它有很多的这样的各种叫做prl的一些东西啊,然后呢,这个地方呢,它也有一些PR一些东西啊,这还有一竖列啊,这有这样的一数列,这有这样一数列啊一数列一数列这么多对吧?然后这个地方呢,它还有了这样一块,这是什么呢?这其实就是一个A9,就是一个ARM,就是一个ARM嘛,也就是说呢,呃,你是ARM嘛,对吧,你ARM的话,你在ARM操作这个ARM的这个这个这个上面跑什么,跑一些Linux操作系统啊,或者跑一些一些系统操系统性的操作,或者是呢,去跑一些一些其他的一些算法类啊或什么东西觉得比较好,那就好了。
36:09
我既然可以做,但是呢,我可能做的没有你好,那怎么办?我把你放到我肚子里。就可以了,所以这个呢,就是什么,就是我们所谓的一个叫做SOC芯片啊,SOC芯片这样的一个设计啊,这样的一个设计,那么呃。以目前来看啊,以目前来看啊,我们这个出去工作也好,什么也好呢,我们的工作范围大多数都在这一边啊,我们的工作范围大多数在这一边,那么关于这边的这个这个这个工作来说的话呢,大部分还是有专门开发ARM的一些人在去做啊,专门还有做ARM的一卡湾人在做,那么关于这边的话,大家来看一下呢,我们可以给大家来看一下,比如说。我们这个在哪儿呢?我们这个在这我们来看一下,比如说我们打开看一下,打开之后大家来看呢,这个芯片啊,其实这个我们可以理解为就是我们之前所说的一个Le,但是你会发现呢,它已经不是一个Le了。
37:09
但是你会发现它已经不是一个Le了,它呢是什么?它变成了这么多东西,然后这一堆东西叫一个什么呢?就叫做我们那个报道一个什么呢?叫做ARM啊,叫自适用逻辑单元,那么也就是说随着科技也好啊,或者随着它的应用的场合啊,不断的去发生改变也好,也就是说它的内部的单元发生了改变,并且这一部分单元发生改变呢,是越来越复杂啊,越来越复杂,那么对于我们来说,如果对于应用者来说的话呢,你可以理解为它越来越简单,为什么呢?因为我们如果不去考虑它是如何来实现的,就只我们就想它能它能实现,我们不考虑它如何实现,我们只考虑它它能实现。然后呢,我们就可以了,就是不考虑它的底层了啊,不考虑它的底层了,只需要知道,哎,前面是一些,呃,这个这个这个这个这个这叫做Lu,后边是一些寄存器,能够帮我冲功能就可以。
38:09
啊,知道这个知道这个就行啊,那么他呢,就换一些名字也好啊,或者说去换内部的一些结构,当然了,也就是说呢,我们ipdan呢,这个ipda呢在做什么。考虑到什么,考虑到在很多地方时候,IP做什么,IP做加法或者做乘法做的比较多一些,所以它在内部什么呢?它不仅仅放了这样的lut加计算器,它放什么,它还放了一些加法器,专门做加法的啊,专门做加法的一些加法器,那么还有什么,还有也就是说呢,对于我们来说的话呢,在很多很多地方的时候呢,我们说呢,Ipg会发生什么,会发生连,那比如说我们的四输it啊,我们讲啊讲四输,所以一代不过就叫连,对吧,所以我在这讲课只是针对什么,只是针对于我们现在手里所拿的塞克四,并且是我们板子上这个芯片IP,如果你换另外一块ipg,它的查找表不一定是四输入的。
39:05
注意啊,并不一定是四输入的啊,你比如说塞林斯所输入的七系列啊,都可能都在六输入上,比如现在我们所看的啊,泰尔的是不是叫做这个我们可以说尔,或者叫做英特尔的S克五的IP上的ltg输入呢?它是一个叫自适应输入的,它的输入可以被配置成45678都是可以的啊,都是可以的,也就是说它会自动的去适应啊,当然了,你的写的更复杂一点,它肯定还要系连,但是呢,它的内部的一些优化会做得更好一点。当然了,这个片子呢,肯定要更贵啊,肯定就要更贵啊,所以说的话,这个呢,只是给大家呢来去。讲解啊,然后呢,让大家能够呢去呃认知一下啊,或者说打开大家自己这个叫做心理的一个思路啊,什么思路呢,就是啊就是什么ipg呢,它也有很多功能,他自己不好完成,或者他就完成不了哎这样的一些东西,那怎么办呢?啊,所以他就会做一件事儿,什么事儿呢,就是说把啊你方便完成的这样一堆东西放到肚子里,当然了这一堆东西的话呢。
40:18
啊都是什么,对于IP来说是不能够去改变的,因为呢,是别人已经做好放这儿的,那么但是呢,放这儿的东西呢,大部分这东西呢,是比较的,什么是比较的叫做这个通用的。啊是比较通用的,那么什么叫什么叫通用的呢?也就是说呢,我ipga呢,是可以对它进行做一部分什么做一部分的,我们称之叫做配置,而不能称,而不能称之为叫做这个改变啊再举个例子,什么例子,比如说ipg它呢,它不能跑啊,Ipg它不能跑,我想我想让ipg像这个,像这个车一样在马路上跑,那怎么办呢?我就在ipg肚子里放了什么,放了一个汽车。
41:02
那ipg能干什么?哎,人家说了,放在汽车的时候呢,我把这个汽车呢,我造的时候很通用,怎么通用了,哎,我把哎这个这个这个这个这个这个叫做方向盘的控制权交给你,哎我把挂几档的控制权交给你,我把踩油门或者把什么控制权都交给你。啊,然后呢,IP干什么,IP就可以通过控制左转向右转向,或者通过控制方向盘,或者通过去控制什么,控制这个这个这个这个这个油门来达到什么,来达到它的一部分功能,但是一定要注意,比如说什么,比如说这个这个这个有一天我变了,我想我想我想IP变成我踩油门的时候你别动,你变成刹车,或者哎呀我我想这个挂挂四档的时候要比挂一档的时候跑得慢。实现不了,为什么呢?因为也就是说他们已经把一部分电路的功能放到这儿了,然后呢,只不过交给你的是一部分的配置,或者叫做控制权,它的主体的东西还是动不了的,而你能够配置的功能,往往对于这部电影来说,其实根本就不是配置,其实我们可以理解什么,就是人家本身就能实现。
42:12
只不过呢,你提出了这个要求,而我巧能满足而已啊,或者说我本身就能满足,而你恰巧提出这样个要求而已啊,所以是这样来理解的啊,这样理解的,那么其实通过这呢,大家就可以看到什么,比如说这个对于这个ARM来说啊,叫ipg接口,什么意思呢?就是说啊,这个这个就是这个ARM可以通过ipg接口来控制ipg ipg也可以通过这个接口控制它,那么这一部分什么呢?这一部分就是一个处理器的一部分接口,就是说呢,人家专用的一部分接口,就是干什么,直接去作为输出了啊,直接就输出了,比如这有什么,这有一个C的接口是吗?呃,这是吗?这好像不是这个,我也不太清楚这是啥。啊,应该是IOC的接口,这个是QPI的接口啊,这个是SSP的接口啊,这个是SPI的接口,这也是SPI接口,后边我们会讲SPI协议啊,这是串口的接口,这是串口的接口对吧?这是SDMM的接口。
43:14
这个后边也会讲,就是我们用IP来实现吧,这是这个叫做Mac接口啊,就是这个网络接口,应该是啊,呃,这些都是这个人家ARM里边自己做好的,还有USB接口啊,还有这个那t flash接口啊,那T那的这个这个这个接口,所以呢,也就是说呢,人家自己内部的话呢,也会有很多专用的东西,也就是说你看在这儿也能看到ARM的A9呢,它也不仅仅说自己完成功能,他也喜欢,它也需要flash控制器啊,需要片上的一堆接口啊,需要锁向环啊,需要一些就是这个呃,DMA啊等等,它也需要片上的这个memory,所以说的话,也就是说,呃,今天讲了这么多,就带大家看了这么多的ipg,就只希望大家明白一句话,什么话呢,就是任何一个东西它都不是无所不能的,只是说有某些东西它的应用场合可能比较适合,所以比如说大家来学ipga。
44:13
其实大家有的时候也会心里有疑问,比如比如说就算咱们做那万年历,或者咱们做前面这个东西,其实这些东西哪一个用单片机做能实现得了,或者用单片机来实现可能会更简单。啊,所以很多人就觉得这个这个这个这个也没什么,所以希望大家一定要知道一件事,什么事呢?就是说在某些地方可能非用它不可,这是第一个,第二个在某些地方我们用两个都可以的时候,那就考虑什么,考虑谁来用起来比较方便,当然了,在方便的前提下,我们还要考虑什么,就是如果说我这个系统想要去升级。的话,那么用哪一个它的叫什么可发展性,或者叫做它的一个什么样性会更好一点啊,不至于说后边升级坏蛋的时候,要翻天覆地去做变化,可能会更难一些,对吧?那好了,所以呢,我们也要考虑各种各样的方向嘛,就只能说啊,希望大家一定要知道,在到时候去公司工作的时候啊,也是也是那样的啊,也是那样,有可能呢,就是比如说咱们到时候跟啊,比如说做ipg的人和做ARM的人,两个人去做沟通,比如这一部分工作我来做,这一部分工作你来做,然后呢,阿,那个人说这一部分工作我来做太慢了,我交给你来做吧,那咱们就来做,或者咱们这部分就说啊,这个东西太复杂了,我不做了,给你吧,你来做就行啊,他那边啊,那我这简单,我这只有现成的,我直接用,然后给你,这也是说来回去协商啊,或者说来回去做,看谁来做比较方便的这样一种,呃,结果吧,那样一种结果好了,那么。
45:45
讲了这么多吧,呃,希望大家呢,能够明白的事情啊,就是说。大家能够知道啊,知道什么呢?就是知道我们ipga啊,呃,它的叫做呃肚子里啊可以放很多东西啊,可以放很多东西啊,但是呢,我们虽然放的东西比较多啊,但是呢,有很多东西的话呢,呃这个这个这个放的不同东西,它肯定不同的价格啊,放的不同东西肯定不同的价格,那么这所有的东西啊,里面放的东西太多太多了啊,我们挨个讲肯定也讲不完,就像什么,就像这个我们讲了前面的一些例子,对吧?呃,这个还有很多人说这个能不能帮我们讲这个在学校里边啊,跟我们讲什么,讲这个叫做这个什么,我之前还有人在问让我做个什么,做那个什么。
46:39
什么三层电梯控制,就是控制电梯,就模拟个电梯啊,然后呢,按键当做什么功能是吧,然后数码外形示什么功能,还有就是什么,就做一些乱七八糟一些各种各样的一些其他功能,比如咱们做自动售货机对不对,用这按键代表输入五毛,用按键代表输入一块数码管,显示输入的钱数,选择的什么等等等等,就这样一些逻辑设计,然后呢,还有什么,还有各种各样的一堆设计,就是说你只要想出名字来,那么都叫做一个设计,但是呢,我先给大家说啊,我们第一个月其实就讲到这儿,就不讲了,那么关于剩下的,那我说那堆东西。
47:15
啊,那都是一个例子,那些例子我们也不讲了,因为不可能啊,世界上这么多东西,我们不可能全讲到完,所以呢,希望大家一定要学到什么,要学灵活一点,不要学的太死啊,不要学代词主要什么,当你知道了什么原理,或者当你知道了这样的一堆设计的思路以后,那好了,那你就该考虑我学会做这个数字中半年历了,那好了,并且还这么复杂,对不对,那好了,那我能不能像我之前所说的啊,这个我们之前我记得给大家做什么,做了一个叫做自动售货机,我跟大家说啊,我卖两个商品。买三个商品,卖八个商品,每个商品多少钱?啊,然后呢,还可以选择啊,用按键来代表输入的是一块还是两块,然后用数码管怎么用分闭器代表什么,其实这就是一种应用场合,你可以想一想你自己能不能把这个东西做出来。
48:04
按能么做出来,所以呢,在这儿的话呢,我会给大家来讲什么,给大家来讲解,就是最通用的一堆东西,这是第一个,第二个我会给大家来讲,诶如何去让大家能够这个拔高,比如综合一点东西我给大家来讲,但是呢,很多东西你没听说过啊,我就给大家介绍一下啊,然后呢,也有很多东西咱们就不介绍,或者说也会出现一个问题,就是学到后期的时候会出现什么问题呢?因为每次都会有,所以我先给大家简单说一下什么呢,就比如说哎呀这个这个老师我跟您这学了两个月了,然后呢,我这个突然听我一个朋友或者说我在网上或者我同学跟我说了,说这个这个这个什么什么东西,他们公司当中用到了,咱们讲不讲啊,你这不讲那肯定不行吧,所以你发现那是因为你知道的少,如果你知道的再多,你会问的东西更多啊,所以咱们在这儿啊,还是那句话。呃,首先最重要的把我讲的内容都弄明白,然后自己想办法往外去延伸,然后延伸不动了,你来我,此时我就不能说你来问我了,只能说咱们一起来讨论,兴许你问的东西我也不会。
49:12
啊,这个先给大家来,这个就是先说一下好吧。好了,那么今天讲了,呃,这么这么多啊,这么这么多,那么我们来去再一次回归到就是我们的正题上,就是我们今天要给大家来讲的,呃,第一个内容啊,就是如何来去利用啊片内的一些资源。啊,如何来利用PM的这些资源啊,那么首先的话呢,我们在讲解这个之前的话呢,我们给大家来去找一个简单的资料吧。
50:08
嗯,这个呢,是是我们啊,是我这边最近呢,又新做了一块板子,然后呢,我给这个板子写的一堆资料啊,等我到时候我写差不多到时候我发给大家啊。呃,我看一下啊。好,我们今天讲这个啊,今天讲这个啊,叫做IP核,那么什么是IP核呢?我们一步步再往下说啊,呃,首先呢,第一个就是我刚才所说的啊,我们说ipda呢,是利用,什么是利用叫做,呃以后我们再以后,我们不再说用L来实现了,因为呃在塞林斯那边它不叫L,并且呢,在英特尔ipd在不断的发展以后,它后边也不叫L了,它也叫做A了,叫做叫做名字变了,但是内部还是I加存器这样的一套,呃基本的轮机结构吧,所以说我们在这不再叫I叫什么,我们突然我就会叫,叫可配置辑单元,好吧,叫可配置逻单元,那么IP呢,是利用可配置轮带来实现电路功能,但是呢,一定要注意它所实的功能吧,都是数字逻辑功能,所以对于一些模拟电路来说可能是无法实现的,比如说温度的测量。
51:25
啊,温度的测量,其实现在啊,大家的这个电脑上是不是都有一种功能,什么功能,比如说这个,我想知道CPU内部的温度是多少啊,我说怎么知道呢?其实都有功能啊,啊就是说大家可以把360啊还是什么打开,然后你就可以么显示出来你的CPU温度是多少啊那它怎么实现的呢?呃,CPU能够实现能够它能够实现测量吗?它也测量那里边,它里边可能有个传感器,然后呢,你然后呢,它干什么?就是你一点这功能,它就会自动的去让这CPU去控制这个温度传感器,然后呢,去测量一下,然后温度给你返回回来显示出来就可以了啊是这样的啊但是呢,现在越来越多的ipg内部呢,也开始有这个各种各样的一些温度测量了,那么我们的ipga目前没有啊,呃,给大家实话实说啊,咱们现在的手里用的这个ipg芯片是多少年前的产品呢?
52:20
呃,具体多少年我不太清楚啊,但是大概就是08年09年啊所出的呃,这一系列的IP界啊,就这个系列的ipg啊,所以它也是十几年前了啊,那个时候可能还嗯,Ipg还不是特别的火,或者说呃,最起码在咱们国内可能还不是特别的火啊,然后呢,他出的这些东西,包括在世界上啊,那么出的这些东西可能都是用一些简单的接口逻辑啊,没想到后边可能就呃用的比较多了,所以它里边放的东西会越来越多一些啊,比如说第二个什么呢,叫高速收发器。啊,值得大家看过了,就是那个红色的那个在左边红色那个对吧。
53:00
那么还有什么,还有一些常用的缓存,比如我们所说的这个memory叫块状的memory,那么像对于很多东西的话呢,它可能都不太方便去实现啊,或者说还有啊,这我这儿少写了一部分,还有什么,还有一部分什么,还有一部分就是说这个这个这个这个这个呃,这个比如说大家呢,要做一个什么东西,什么不会,但是别人做完了,我能不能用他的代码来实现,但是别人不可能把代码给你,怎么给你一块儿,就是别人综合好的一个东西给你,然后你直接就可以用的啊这样的东西呢,其实有的时候我们也叫做IP啊,叫做IP啊在这儿啊,所以呢,在这儿我们来看是吧,我们说ipg,如ipg无法实现,或者它能实现的缺点比较大的时候呢,厂家会考虑将这一部分放进去啊,配到接口以后呢,就可以跟I克啊,配置接口以后呢,可配置逻辑就可以跟I进行通信了,那有人说那我哪知道他往里边放的什么内容呢。或者说我想用这个功能,它能不能放呢?注意啊,呃,很多东西啊,首先先回答第一个问题啊,你怎么知道他往里放了什么呢?所以这个时候靠什么,就靠的就是经验,叫做这个。
54:10
呃,这个这个这个就是你做过这些东西里边它有什么,这是第一个,第二个的话呢,就是说我们去看手册,它里边放了什么内容啊,然后呢,这个东西我们能能不能用得上啊,所以对这里边儿呢,熟悉一部分,这是第一个,第二个说我想用这个,但是他没有。注意嗯,兴许你们那个公司啊,到时候大家工作那个公司做什么用的这个东西呢,就比较偏门啊,人家IP又不止卖给你一个人,对不对,人家卖给所有的人,所以呢,IP内部大部放什么,大部分放的都是一些通用的一些,或者说就是在呃这个大多数的开发当中啊,都会用到的一些资源,他才会往里放啊,他才会往里放,那么特殊的会不会放呢?那就看你公司的实力了啊,公司实力了,你比如说有一个公司非常牛逼啊,做做特别牛逼的东西,直接跟直接跟厂家打电话了,你给我做一批,里边放个什么玩意儿,然后呢,我直接给你签几百亿的订单,那他肯定给你做,对吧?哎,所以这个是这样的啊,那么呃,在这儿我们来说一下,对于一些复杂的设计啊,厂家有的时候也会将设计结果封装成一个模块,共示一的使用啊,比如我们后边讲的这个,后边我会给大家讲什么,讲这个呃,到时候会讲这个这个这个呃,滤波里边,比如我们到时候给大家讲一个iph。
55:27
发滤波器怎么来调用啊,那么FF发滤波器呢,它也没有去做成这样的IIC2什么,而是也是用实现的,但大家又不会,或者说分裂变化大家又不会,那怎么办呢?不会就不会吧,厂家会给你做完给你的啊,那么很多人就来说了。这一部分东西啊,这一部分东西厂家都做完给我来使了,那么真好注意啊,好是有有有有有说法的,什么说法呢?首先第一个IC。比如说如果说你买的ipg IP里边是带的这一部分iic的话呢,那么这一部分东西你肯定可以用,因为你买了就是要用的,他肯定能让你用,那么还有一部分你买了这个芯片,但是呢,人家有一部分什么,人家有一部分用的不是ICU什么,用的就是LT的事情的,所以这个呢也是有产权的,那么这个呢,要收钱的。
56:22
啊,要收钱的啊,要收钱的,所以呢,就咱们所谓的破解啊,咱们所谓的破解其实什么,其实只是破解了一个最基本的功能而已,对于里边一些复杂的一些东西,其实很多地方咱们也不能用。啊,咱们还是不能用的啊,咱们还是不能用的啊,那么在这给大家来说一下,比如说什么哎上上述这个所说的电路统统称为叫IP盒,注意啊,我们所说的IP,以后我们说I pip,大家不要以为IP什么,就像咱们电脑上的IP地址啊,也不要以为这个这个这个就像这个这个这个这个这个网络上说吧,说说谁谁谁的这个热题,它就是个IP是吧,跟这没关系啊,我们就是一个IP盒,就是知识产权的意思,就是说人家这个呢,是有知识产权的,叫知识产权盒,是这样的,那么在eda技术开发当中呢,有非常重要的作用啊,IP分为这个叫做软IP,固IP和硬IP,那么在这儿的话,我们这个到底怎么回事儿,呃,到时候大家只要分类是吧,大家知道,那么具体的对我们应用来说,我们现在不考虑啊,它是什么样的一个IP,好吧,那么呃,IP呢,经常会在一些数据当中当中应用啊,IP呢,经常在数据当比如说呢一些。
57:38
F Fi滤波器呀,Idm控制器啊,PCI接口的一些东西啊,就是说他们会设计成叫做可修改的参数模块啊,随着CPLD和IP的这个规模越来越大,设计的复杂度也会越来越大,那么呃,对于我们来说。那对于我们来说,你比如说呢,现在我要开发一块产品,比如说我现在市场调研是吧,我对我调研好了,我发现呢,全中国人民每个人呢,都需要这样的一个什么什么东西啊,不买还不行,然后我点好了,我点好了之后给公司一说,公司说行,那咱就设计,然后公司用了30年把它设计出来了,那可能那个时候的这个这个这个这个每个人的想法或者早就变了,对吧,所以怎么办呢?所以在这儿的话呢,就是说对于时间的压力也是比较大的,所以呢,经常我们说在规定的任务内完成这开完成这开发,完成不了就就不要了,那怎么办呢?所以调用IP呢,是啊,这个叫做这个大大减轻了工程师的负担。
58:36
啊,所以在这儿呢,IP核发展呢,也是一个趋势,IP盒的重用呢,也会大大缩短产品的成市时间,比如什么呢?比如说大家还记不记得,其实我们自己也可以认为就是我们做IP,大家记不记得我们在最开始的时候,我们前面讲什么,我们前面讲消斗啊,兵检测呀,什么这个这个这个透明器叮一声啊,还有什么,还有这个叫做这个呃,鸣器能够唱歌啊。
59:02
等等这样一些东西我们做完之后。我们做完之后用了一下可以用,然后呢,大家有没有想过一个问题,我们再去做这个什么,我们再去做这个叫做万年历的时候。啊,虽然我又用了大概六七个小时给大家把这一套做完了,对吧,但是大家你要知道啊,如果所有的代码都让我从头开始写的话,六七个小时我完成不了,我可能需要12个小时,为什么呢?因为大家来想一想,我在整个设计当中,是不是有很大一部分是我没做呀,而用什么,而是直接用的我以前写好的,所以我也可以认为我以前所设计什么就是个IP核。我就可以直接来用了,对不对,只不过这部这部IP是代码。啊,它是代码对不对,他不是说别人的I,它是个代码,那好了,所以这也是我们可以称之为也是一个IP,所以呢,就会出现一个什么问题,就是说现在在这个咱们国内啊,呃,或者说在在这个这个整个世界上会有很多很多的公司在干什么,就在卖这个IP。
60:14
那就在卖这个IP啊,啊,这个就很正常嘛,就是说这个你比如说我开发了一个这个就是咱们的万年历对不对,那我开发好了,我代码在这放着。然后呢,我就问有没有有你然后问有没有人要有的公司说哎呀,我正好要搞一个外零零产品,那那你那那你就花钱买呗,你花钱买我就给你用呗,对不对,所以这就这么简单对吧?哎,其实这就是我们可以认为就是IP知识产权块,就是专利嘛,其实就是这个啊,其实就是咱说的这个,那好了,那么在这儿我们来说一下啊,所以呢,IP盒的设计的话呢,呃,他呢,呃,这个很多公司呢,都会在去从事啊卖这个IP的设计开发和营销,对吧?那么嗯,说了很多很多东西,那么今天我们来讲第一个内容啊叫什么呢?叫做。
61:03
在我们ipg里边啊,最常用的一个东西啊,叫锁向环啊叫prl,那么我这一部分的话呢,是从一个手册当中啊翻译过来的就是官方手册嘛,那么大家呢,如果要想去看的话呢,也可以去看,比如说呃,这个赛克四的手册当中就有这个,什么叫做这个在哪在这。啊在这啊,呃在这就是说一个他介绍了一下PR,那么下面呢,也会有呃介绍啊赛克龙4PR的一些结构啊,那么在这的话呢,我就呃直接用我翻译好这个东西给大家介绍了好吧。呃,首先第一个啊,呃,如果大家是在大学里边是学通信的,那么大家可能还会听说过错相款啊,如果大家是在学校里边不是学通信的,呃,学其他专业的,呃然后呢,也没有去做过什么像IM32啊,或者说也没有做过一些相对来说复杂一点嵌入式的话,可能对prl这个呢,可能就呃不太的清楚它内部怎么回事儿,那么今天的话呢,我们也不讲它内部怎么回事儿啊,我们就只是简单的呃分析一下,呃然后呢,我们就来考虑如何来用它啊,这就是我们今天这个任务啊呃,什么呢?呃叫做art PR l啊,其实它就是个prl啊呃,那么art啥意思呢?Art就是A。
62:40
啊RA,那么首先要完成什么?首先要玩是一种叫做反馈的控制系统啊反馈的控制系统,那么它是如何来反馈的呢?我们来看一下啊呃,我这个呢是个什么?是一个简单的一个结构图啊简单结构图那么简单,咱们来说一下,介绍一下这里边什么内容啊,首先呢,这个什么就是这是一个外部的一个信号。
63:04
啊,这是一个外部的信号啊,这样吧,我来画吧,感觉。呃,这我就是感觉这个很多人呢,在网上或者是直接直接有成品展示不太好是吧,展像写这个工程师的直接给大家代码分析,我觉大家学不到什么内容啊,一行一行打来学到,那这个咱也就自己来分析吧,咱们这么来做啊,首先先来讲第一个东西叫什么。叫做vco。就是什么叫vco呢?叫做呃,V是这个电压啊,C是控制啊控制O呢是晶振啊,是这个我们称之做震荡器啊,那么在这叫压控震荡器啊,那么压控振荡器。这有什么作用呢?你就通过名字你会听出来是吧,就是电压去控制振荡器的这样一个效果呗,那什么振荡器干什么振荡器我们就称为就是一个晶振好吧,那么这个经振有什么作用,就是产生一个时钟对不对,好了,它可以什么,它可以产生一个时钟啊,那么我的这个名字可能一会跟他编号的不一样,比如我举个例子,这边叫一。
64:21
啊,F1啊,这样的一个晶振啊,或者这样一个时钟啊,好了,那么这是第一个,那么它呢,由什么,它是由一个电压来控制的,比如说我们叫V1好吧。好,V1啊,也就是说呢,它是一个电压,就是V1的改变啊,会引起F1的改变啊,这叫压控振荡器,好了,下面我们来讲第二个部件。呃,叫做PD。斜杠。FD啊,有人叫这个,呃,PFD。
65:01
哎,是叫PFD还是FPD来着。啊,叫PFD啊,没记错啊,叫PFD。啊,叫PFD,那么这是什么呢?呃,其实呢,呃,它呢就是由PD和FD所构成的东西,那么PD叫什么啊?PD气是相位的意思啊,D是device的意思,叫做这个相位气啊,或者叫做什么叫做渐频啊,或者叫见相气啊,什么叫渐相的渐是渐定的渐的意思啊,那么这个FD呢,就是叫做渐贫气啊,那么这是什么意思呢?它就鉴定,那么鉴定什么呢?注意啊,我们一般是什么叫做这个渐频渐向器,我一般会这么来称之为它啊渐频渐向器,那好了,那么它有什么作用呢?它既然是鉴定对吧?它既然是鉴定,鉴定什么呢?所以它不是鉴定真假。啊,他鉴定什么,他也不是鉴定频率,它鉴定什么,他鉴定。比如说这个信号称之为二。
66:03
这个信号称之为F1。好,那么它有什么作用呢?它就能够去鉴定F2和F1之间的差距,比如说F2是50兆的,F1是十兆的,那它就会干什么,它就会啊,鉴定出来F2的频率比F1的大。啊,就这样一个作用啊,我们就是说先说频率对吧,或者说他鉴定出来相位不一样,那就是他鉴定出来这个频率比这个大,然后这个相位不一样,好吧,他就能做这样一件事啊做这样一件事,然后呢,他鉴定出来干什么,他鉴定的,他把鉴定的结果给了一个器件。这个期间的话呢,我们可以称之为叫做什么?呃,嗯,叫做一个一个电荷泵吧,比如叫电荷泵好吧,呃,什么叫电荷泵呢?其实我也不知道啥是电荷泵啊,呃,我查过,但或者说大家可以这样来理解一下,什么意思呢?就是说它这个PFD不是可以鉴定F1和F2的差别啊,或者说诶,告诉电荷泵谁快了,谁慢了,相位怎么样告诉他,然后电荷泵干什么,电荷泵就根据外部的这个PFD的结果,然后干什么,产生一个电荷,会产生一个电压出来,让电压干什么,然后这个电压的话呢,哎,就能够控制vco,然后再紧接着控制F1,让这样一套反馈的结果有什么作用呢?就是说通过这三个玩意儿就能够得出一个东西来,什么呢?就是F1到最后会和F2相等。
67:49
为什么呢?因为你拿过来相等吗?不相等,调一下子,相等吗?不相等调一下子,相等吗?不相等,调一下子,那假如说VR是一个非常稳定的。
68:03
一个晶振的话,那么F1通过不断的去这种反馈式的调整,F1终究会和F2一模一样。或者说呢,在一定范围,在一定这个叫什么误差范围内,肯定是一模一样的,对不对啊,这个是肯定的是吧,那么很多人就会考虑。这有啥用啊?这好像也没啥用对吧?呃,从某种原义来看,我也觉得没啥用,你都有F2了对吧,你再弄个F1跟F2一模一样,你这有啥用。就是这么一想,好像也是这个道理啊,那么对于我们来说,我们来紧接着往下来去考虑什么呢?大家在之前是不是给大家讲过分频器呀,还记不记得给大家是不是讲过分频器呀?那好了,下边我们把分频器给用上,比如说我在反馈的过程,回去的时候,我加一个反,我加一个这个,这个叫做这个这个这个分频器多少分频呢?
69:10
哎,这用啥来表示啊M。M啊,比如我们用M分频器来表示M,就是M分频嘛,那么如果是M分频的话,那这边如果是F1的话,这边多少。这边是不是就是F1除以M了,因为是分频器嘛,对不对,好了,那么这样来做有什么好处吗?再来看这样一做的话,是不是就是F2会等于F1除以M啊,所以F一会等于什么,F1是不是就等于M倍的?F2了对不对,因为F2等于F1除以M嘛,所以F1就等于M乘以F2嘛,所以大家想一下,我这个M是一分频的时候,F2等于F1,就是F1等于F2,如果我是二的时候呢,F1是都是不是就变成什么二倍的F2了,我是三的就是三倍,我是四就是四倍,我是五就是五倍,我是六就是六倍。
70:10
是不是?那这样有什么作用呢?有没有发现F1是不是就变成了任意整数倍的F2了?对不对,任意整数倍的F2了,当然了。也不能太任意了,为什么呢?比如说压控震荡器这个精振啊,压控震荡器这个这个这个这个玩意儿,它也不能无限制的去输出这个没有上限的频率,对吧,你他输出380G,他也做不了啊对不对,所以呢,它的上限肯定还是有的,对吧,还是有的啊,这是咱们所谓的第一个,那么这样的话,大来想呢,那只能做什么,因为你这也不可能去做02:03频嘛,你这也不可能做00:02频吧,你也做不到对吧?那做不到有什么,有什么意义呢?哎,或者做不到或有什么作用呢?或者做不到的话有什么影响呢?来看一下,因为M只能是整数,所以呢,如果说像咱们说外部的F2,比如我们是由一个外部的晶振来提供,比如像咱们的开发板晶振是多少呢?是50兆,那也就意味着我的F1只能等于50兆100兆。
71:21
150兆,200兆,250兆,300兆就开始这么来往上递增啊是这样的啊是这样的,那么对于我们来说的话呢,比如说我想要一个40兆的,或者我想要一个80兆的,那怎么实现呢?所以它还实现不了了呢啊它实现不了的,那么我们未来它能够实现又做了一件事什么事呢?就是在F2进来之前。又给他加了一个分频器,比如说是N。比如说是N,在这加了个分频器是N,那么这样的话呢,有什么作用呢?是不是变成什么,是不是就变成了最后形成公式,就这地方什么,这个地方是二分之,呃,不等于不能叫二,应该叫N分之。
72:02
F2会等于这边,因为无论怎么反馈,这两个点要相等,对不对,等于多少等于F1分之。M。好了,那么最终一化简,F一会等于多少呢?F一会等于多少呢?哎,把这个叫做这个M是不是乘过去啊,所以就是N分之。F2乘以M。啊,这个没问题吧,F1啊,F1,那会等于什么?呃,会等于这个,这个F2乘以M啊,那好了,我们把这个N分之M。给取出来,也就是说呢,哎,在这儿。也就是说F一会等于N分之MF2,那么N分之M是个什么?它就是一个分数了,而这个分数比如说我想要一个,比如我想要个40兆,那你不就是想要4/5嘛,因为我们的F2认为是50兆,对不对,然后我想要个44兆,那你这个再说你也不就想要个44/50吗?
73:13
对不对啊,我想要个四十四十四点三三兆,那你不就是要五百分之四百四十三嘛,对不对,所以就是说那这样的话呢,因为什么,因为任何一个数我们都可以用分数来表示出来。R来表示出来,那么这样来做是不是就比较完美了?但是请注意也有一个问题,什么问题呢?比如说我想要52.38642兆赫兹,那么对于我们来说。现在什么,现在是不是就是5238642/5012346啊,我也我也不知道这零一不一样多啊啊应该应该不一样多了,这个应该没有啊,12345671234567 OK啊也就是说呢,现在的F1要等于这么多倍的50兆,最终的结果才会等于这个数。
74:21
那就意味什么,那就意味着说,哎,我们是N分之M,也就是说N要等于这个数,M要等于这个数。嗯,刚才刚讲了M也好,N也好,它是什么,它是一个分频器,对不对,那它能做到。M和N有这么大的分频吗?其实他做不到啊,其实他做不到那怎么办呢?所以你就会发现你要的频率是这么多,但是这个器件可能给你完成不了,那怎么办呢?他就会尽他的所能去给你完成啊,什么叫尽他的所能呢?比如说我们规定M和N啊,M和N的最大值举例啊,举例比如说M和N的最大值是1000。
75:14
那他能完成这个吗?他肯定不能啊,那他会怎么办呢?他就会这么办,比如说他把下边这个数。啊,下边这个数啊,他直接改成1000,那可以吗?那肯定是不能,他改成1000,上面数比1000大了,对不对,他改成多少呢?假如说他把自己改成了500。那为了保持同样的比例,所以上面数干什么?上面数就等于524嘛,后边也不要了,所以呢,你要的是一个52.38642兆,那么他最终给你什么?给了你一个52.4兆。也就是说,这是尽他自己的所能,他给了你最大的频率,或者说最接近于你想要的频率了。那它是这么实现的,那么呃,再往后具体的我们就不讲了啊,只是给大家来说一下啊,所向环啊,它是靠什么?它是一种反馈的控制系统,它呢是调整自己本地的,呃,这个信号的相位,然后呢,去匹配你外部输入性号相位,有人说呃,这个只匹配相位,不匹配速率嘛,其实你来想相位是么?就比如上灯沿,每一个上灯沿都对齐,那是不是相位也一样,频率也一样了,如果频率不一样,那怎么可能每个声音都得对得齐对不对,就这是一样的啊。
76:33
好了,那么。那么怎么做的呢?也就是说呢,呃,它呢会形成一个相位差,然后这相位差呢,去调整本地信号,然后呢,本地信号改变这个震震震荡频率,然后匹配,然后呢,所以输入信号和本地震荡器之间的所向关系成为锁循环电路啊就是这个对吧?这个就是电荷泵,电荷泵环路滤波器啊,延后震荡器啊,就是我大概画了那种的。呃,架构图吧,是这样的,那么如果大家呢,去看这个里边的话呢,嗯,这个里边和我讲的有点不一样啊,比如这个,呃,说是不一样,其实也差不多啊呃,你看外部输入的信号进来,先除以N,然后经过监盘进行器键盘间距通过,呃,这个这个是啥,这个是啥我也忘了啊呃,这个是这个滑轮滤波器啊,这个是电荷泵啊,这个是这个。
77:26
CP是电话报吗?呃,应该是啊,看一下啊,是电荷泵啊呃,然后呢,这个经过滑轮滤波器,然后呢,经过vco,然后再拉过来,然后呢,就生成这个电路啊,一样的啊,没什么大的区别,只是说他换了一些其他的玩意儿而已啊,咱就不再管它了,好了,那么呃,在这儿啊,对吧,也就是说呢,最终啊要去锁定啊,那么锁定了以后啊,那么我们就可以去呃产生一个频率了,也就是说呢,我们可以叫什么,我们产生这一个频率啊,就是说这个vco会产生个频率,那么这个频率呢,这个频率是多少啊,我们都可以实现,为什么?因为我们可以实现一个。
78:09
叫做这个啊,或者做这个一些值啊,就做什么这个。叫做这个FV Co,就等于呢,前面这这个外部输入的频率乘以M除以N对吧,乘以M除以N,那么其实呢,对于这一部分来说,或者对于我们画的这一部分来说呢,也就是说这个锁天环到这结束了没有,其实呢,这已经基本算是结束了,但是呢,它最后还有个分频器,它最后还有一个分频器,有人说你为什么最后还有一个分频器呢?它最后的分频器干什么作用呢?它最后的分频器其实做了一件事儿,什么事呢?呃,举个例子。比如说现在的外部是50兆,我想要一个20兆,我想要一个30兆。那怎么做呢?所以很多人说你不才刚才不敢讲了吗,用一个锁向环产生20兆,再用个锁向环产生30兆不就可以了吗?用两个对吧,其实呢,这个呃,关于在这个数字电路设计里边的时候呢,有的时候呢,这个叫做特别是在这个叫做里边。
79:20
我们用的频率可能会很多,我们用的频率可能会很多,那么呃,IP内部的话呢,也不能说放这个一大堆的这个锁向环,对吧,它也很值钱,另外呢,呃,放的太多了,放其他的也放不下了,对吧?所以在这的话呢,怎么做他是这么来考虑的,他说呢。你不要用50兆直接来产生20兆,也不要用50兆直接来产生30兆,太废了,那怎么办,这么办,他说我呢,用50兆先产生多少呢?先产生一个120。啊,写错了,他俩的最小公倍数是60兆啊,先产生个最小公倍数60兆。然后呢,60兆呢,再通过三分频得到20兆,再通过两两分频得到30兆,是不是这样的话呢,是不是就可以实现了,一个就是用一个锁向环就可以实现了,比如说它产v Co v Co就是60兆的,然后呢,后边再加两个分频器不就好了吗?它是这样来实现的啊,它是这样来实现的,在这我们可以看得到啊,也就是说呢,它后边还可以干什么,去除以K或者去除以V啊,除以K去除以V去啊那么呃,对于来说,一个叫做这个这个锁向环,或者说对于我们什么呢?或者对于叫做我们的这个,这个就是我们现在的呃,这个S克龙四的ipg上的话呢,那么它的锁向环它一共有几个输出频率呢?它一共呢,可以输出五个,就是一个锁向环,可以输出五个抽头来,但一定要请你一定要注意,这五个抽头的话呢,嗯,它是不可以随便写的,比如说为什么不可以随便写呢?是这样的啊,就是它有受一些限制,比如。
80:57
呢,比如说如果想要个一兆、二兆、三兆,四五兆,就闹着玩一样,可不可以,当然可以了,为什么呢?根据我们刚才的讲的原理性来说。
81:10
IP能输入这五个吗?啊,不是这个存换的输入这五个吗?肯定可以,那需要五个吗?不需要,不需要,怎么做呢?是不是会产生一个v Co啊,那么这个vco多少频率呢?是不是就是它们的最小公倍数啊,那很明显的话,这个最小公倍多少?这个最小公倍数应该等于。还是60。我不知道有没有更小的啊,我就只是算了一下,60可以除的进啊,60那好了,如果是60的话呢,也就是说前边的配置的信息只要能形成60就可以了,那么那么有的人说老师我想要的是这个啊,很多人去做的时候就会不明白,比如我想要什么,要148。要个100啊,这些都是我们常用的频率,后边我们会讲到啊,二十五二十四。我想老师我想要这四个频率,那五个都不要了,那么五能不能实现呢?
82:01
能不能时间你不要问我呀,你应该去自己去算,比如说我们就不算这两个玩意儿,我们就算这俩,这两个玩意儿是挨着的,也就说他们的最小公倍数应该是这两个玩意儿相乘。啊,应该是两个相乘,两个相乘等于多少。啊,大家算一下这辆相同等于多少?这辆相乘应该等于六百六百兆。那么大家来想啊,对于我们来说,一个所向环的vco能不能输出600呢?这你也不知道了,对不对。啊,这你也不知道了,所以呢,呃,假如说咱举个例子,假如说IP就就这个vco最多能输出500兆。啊,最多能输出500兆,那有人说那我能能不能形成25兆可以,能成24兆可以,能不能同时形成25和24,对不起,不能。A做不出来,所以呢,所向环在做的时候呢,他也不是无所不能的,这是第一个,还有它的上限和下限啊,注意还有下限啊,还有下限啊,因为呢,它的那个那个M和N也不是无限大的,那它也有它的下限啊,所以是这样的啊,是这样的。
83:09
那么所有的这些东西的话呢,呃,所以在这个应该这么说,在网上大家去看这个操作的,其实很简单啊,其实很简单,那么呃,理解理解理解咱们讲的内部的这个原理啊,内部的原理,那么其实这一部分东西大家不明白,其实也可以做啊,其实也可以做,但是呢,可能做起来之后呢,可能就会有点不是那么的叫做这个呃得心应手,或者说呢,不太理解它内部的一些东西,好了,那再来往下看啊。呃呃,因为因为我们新做的那个板子上那个型号跟咱手里拿开板型号不一样啊,所以在这儿的话呢,就是应该是这一条啊,就是咱们的这个开发板上的这个这个这个ipg的话呢,应该有也是有两个,也是有两个叫做通用的锁旋环啊,也是有两个通用的锁旋环,那好了,那么在这的话呢,我们开发版什么,我们的开发版上呢,是一个叫做呃,50兆的晶震啊,50兆的晶振,那好了,那么现在我们的要求就是啊,利用啊ipga内部的锁向环啊,然后干什么,然后去实现输出一个100兆和十兆的。
84:21
有些人说老师那个十兆的,我都可以自己写代码实现啊,可不可以呢?你当然可以了,那好了,那我问你啊,十兆是五分频,你能实现五分频吗?就说能啊,高三第二。我也可以做出来没问题。那我如何实现50%呢?很多时候你之前也跟我们讲过思路,我上网查了,我也可以实现,那好了,那如果我要让你实现75%分呢。或者75%的占比呢,或者80%的占空比呢,或者90%的占占空比呢,你还能实现吗?你可能就不太好实现了,对不对,所以锁下环呢,它压根就不是用什么,它压根就不是用咱们ipg内部的这个L来实现的,它就是用了一部分它自己的一些呃,特殊电路啊,我们可以称之为就是说有一部分的模拟的电路的功能在。
85:12
啊,威德勒古落在啊,是这样的,所以呢,我们今天的要求,或者说今天我们的设计是这样的,什么呢?叫做把我们的呃,FPGA开发板上的50兆的晶振啊,我现在想产生两个东西,就是100兆和十兆,怎么做呢?比如咱们今天在这画个架构图好吧,什么架构图呢,非常简单是吧,就这比如说这是一个我们现要做的设计。啊,是吧。好设计好了,输入是一个50兆的,比如CLOCK50兆,然后输出呢,是一个CLOCK100兆和十兆,或者有的说这100兆我还能实现好了,一百一百一十二兆,好吧,这个十兆我也能11兆好吧。
86:12
你能实现吗?所以首先第一件事干嘛,大家拿到这个设计以后,就开始考虑什么说这个。怎么实现呢?好了,大家就开始思索啊,这怎么做,怎么做,怎么做,怎么做啊,想了半天,各种复杂的玩意儿都想了。然后是感觉用各种各样的神奇的方法,然后呢,做了半天,到最后有一个人来了一句。你们在干嘛啊,我在做这个玩意儿,然后人家说人家内部都给你放好了,你这个片子里面就有。所以呢,还是啊,就不怕你不会,就怕你不知道,你不知道有这么玩意儿,所以很简单,锁向是什么?锁向环就是用来去产生一个,或者说对于我们初级来去来说,所向环是可以啊,间接的认为它可以产生任意频率,任意占控比,任意相位的这样的一个器件,所以以后我们遇到这样的。
87:10
叫做这个改变时钟,或者我们想要哪个时钟的这样一个设计的时候,我们压根儿是不用自己做的,所以我说这个就是什么叫做你熟不熟悉。IP的芯片,所以在哪呢?所以在这个这个叫做这个招聘要求上都会说,哎,熟悉A或者ipg这个这个这个304的ipg芯片,对吧?那么对于我们来说啊,这就是熟悉的踏出了第一步啊,踏出了第一步用它好了,那么呃,怎么来做,那么下边的话呢,我来操作一下啊,所以今天前面讲了一个半小时的东西啊,其实操作起来可能就几分钟就完事了啊。嗯,第一件事,新建一个它叫PR。Doc设计报告不做了啊,因为没什么可做的啊,因为我们内部的逻辑现根本就不是用我们的L实现的,而是用这个呃,里边的电路实现的啊,所以这样好,那么写到这儿,那么再有一件事什么,很多人说你昨天或者前天不刚给我们讲了嘛,说以后你再也不打开了,对我也不想打开了,但是今天要讲IP盒啊,就是用人家ipg内部的逻辑资源来实现的,所以呢,它的内部的逻辑资源的调用,当然有谁知道,那就只有这个叫做这个。
88:38
呃,人家自己芯片知道了,或者人家自己厂家知道了,所以就只能用什么,只能用cos了啊,只能用cos了,那么下边我们来先打开这个Co。新建个工程啊,叫PR。
89:12
我们这个呢,呃,对于大家来说啊,这个我们就不下板了啊,其实这个下板大家看不出什么现象来,我们就不下板了,呃,然后呢,呃,因为我这儿有什么,因为我这儿有示波器啊,所以我这去下板的时候呢,我可以用示波器去测量输出的是不是100兆这结果了。啊,这个是我用试波计测的,就是说我们可以看得到啊,就是说这个拐角上输出的100兆的方波,注意这的是方波,但是说真正的其实就是在这儿啊,就是一个方波啊,这个呢,就是一个也是个方波,但是这个是一个20兆的方波啊,这是一个十兆的方波啊,所以呢,在今天我们就不做了,今天我们去用仿真实验就可以了啊。
90:28
好,新建啊,新建什么呢?新建lo OK。File另存为存到RTL里边。好,那么入呢,有这个按照我们所规定的是吧,或者说按照我们所说的啊,入什么入应该有一个叫做CLOCK50兆,这就是我们的适钟对吧?啊我们的适中,然后呢,我们输出的要两个是吧,一个叫CLOCK10兆,是不是下线11个100。
91:18
好,目前我们就这么写好了,那么如果按照我们以前的开发习惯,该干什么,再来开始写代码,对吧?怎么能产生十兆,怎么产生100兆,今天够了,不用我们管啊,不用我们管怎么做呢?我们去给大家来讲如何来去调用什么来去调用内部的手枪环,或者叫做如何来调用内部的IP啊,内部的IP。嗯,其实这个内部的IP调用的话呢,嗯,如果说大家在学校里边用过cor的话,用的不是这个,就是就是pro的版本,而是用的以前的版本的话,那么可能有一点点的不一样啊,一点点不一样。
92:01
呃,大家看到总共的锁向环啊,零是吧,不是总共啊,这是用到的是零啊,我们点工具,这有一个叫做IP tango一个目录,点一下其实就会到这儿啊,呃,你们那儿有没有我不知道啊,就是说这个这个刚开始的时候其实都是有的,只不过我为了扩大窗口,我都给它关掉了,然后大家再打开一下就可以了啊在这,那么这个这就是我们所谓的一些叫做这个IP都在这个里边,那么我们叫什么呢?我们现在搜索圆环对吧,其实你在这你可以搜啊,比如叫P是有的啊,直接可以搜得到,那么呃,对于大家来说,大家也可以自己去看一下我们有哪些IP,比如说有基础的功能的一些IP啊,有这么多啊,有这个除法器啊,计数器啊,加法器啊,包括开方啊,它都有啊。呃,那么包括这个叫做memory map对吧,包括这个时钟的处理啊,呃,包括配置的一些东西,包括IO的呀,包括各种各样的一些东西是吧?呃,都有包括这个这个这个DSP是吧,DSP的里面可能包括有这个滤波fir,哎,包括这个浮点的各种各的一些计算啊,N Co啊,浮列变换啊,包括各种各样的一些音频啊,PCI啊,一些串行接口,包括一些DDR的控制啊,在这DDR DR two对吧?哎,包括各种各样的一些东西,那么这个呢,我们就呃不再去讲啊,就只是说这有这么多,我们也不可能挨个去讲的完,所以怎么办呢?我们就挑几个,呃,常用的啊,或者说比较重要的东西,我们跟大家来讲。
93:38
现在讲第一个锁向环,然后戴尔基础功能的。基础功能的叫做这个,这个里边中P啊,我们讲什么讲的叫做这个它啊叫做art p l啊,Art PR大家可以双击,然后在这,那么在这个界面当中的话,首先我们选择vlo啊,首先选择vlo,那么这儿的话就可以写名字就可以了,但是根据我的习惯的话呢,我不愿意这么做啊,就是大家可以点三个点把它打开,就是它会自动的在这个工程的PRG文件夹下,那后在这儿我一般会新建一个文件夹,比如我们叫做IP扣啊,我一般会叫IP扣,然后有的人呢会叫IPDRI啊,有的人会叫IP扣DR都可以啊,其实从哪学的呢?首先第一个我们为了就是规整着方便一些嘛,所以呢,就会建一些专门的文件用来放一些,呃文件夹专门放一些文件,其实这个呢,是在后边我们给大家讲塞连斯产品的时候,他们那个软件的。
94:43
一般情况会在这个地方放一个IP扣啊,放IP扣好我们把它打开,然后呢,今天我们要做什么,今天要做锁向环对吧,那么就锁向环下划线。MY啊,就是说我给它起个名字是吗?就是我今天做组件环叫做prl,下边键mi,然后再打开,然后呢,在这文件名粘贴一下是PLMY对吧,搜下环,然后点击保存,然后点击OK。
95:13
就会出现这个界面,这个界面就是什么?这个界面就是一个IP盒的一个插件啊,就是说IP盒的一个插件的这样的一个小的应用包吧,和应用程序吧,那在这的话我们怎么做呢?在这我们来讲一下啊,关于这个里边所有的东西大家都可以去点这个,就是说如果你不知道的情况下,这有一个about你可以点一下,就是说他会给你介绍啊,关于这个IP盒啊,关于这个IP盒啊,这个IP盒怎么回事啊等等等等等等,这里边这有介绍,然包括还有技术支持啊,非技术支持买license什么意思,就是这个东西你不会用了,你可以去找这个技术支持去,然后呢,你也可以说非技术支持,它这个这个这几个我都没找过啊,这个非技支持我也不知道是干嘛的,然后这还可以买license,什么叫买license呢?在这给大家来说一下就是什么,就是这个叫做嗯,比如说有的很多的IP盒呢,是不让你用的,是不让你用的,也就是说,也就是说呢,Cor里边其实是带这个功能了,但是他不让你用,为什么,因为你。
96:14
没有权限,其实权限什么权限就是许可证,其实就是license啊license,所以在这儿的话,这个给大家来说,第二就说我不知道这里边都是啥玩意儿。啊,我也不知道这怎么来写,那怎么办呢?你可以点这个文档,然后呢,可以看什么,你可以看到这里边有很多的介绍,比如说我们来看第一个啊叫art PR l的一个用户手册,其实什么,其实它就是介绍的什么,它其实就是介绍的,呃,当前的这一个界面怎么来用。啊,这个呢,会转到会转到这个叫做呃呃叫做英特尔,你看英特尔官网上的一个介绍是吧,然后呢,这个介绍里边呢,它就会去讲啊,你看我那个图其实就是从这个里边截的啊,那图就从里边截的,然后包括很多东西都是从这里边我给大家翻译过来的啊,然后呢,他就会讲是吧,讲这个里边每一个东西啊,每一个这个这个叫做这个端口都应该怎么设置,但是呢,呃所向环的不同啊,比如说呢,咱们现在的呃,他这个手册里边讲的很多东西,咱们里边都没有,为什么没有呢?因为他要做的通用,他要通用它大部分的所有的一个器件,而咱们的器件可能会比较的简单一些,然后呢,这个上面介绍很多功能咱们都不能选啊,不能选,所以呢,就是有的时候看着就不太清楚是吧,那么这个呢,到时候呢,大家可以自己去查。
97:41
啊,大家可以自己去查,那么呃,然后在这的话呢,我就我看一下啊。嗯,我看一下我是不是给大家都下载好了,到时候直接发给大家好吧。
98:02
啊ug啊ug啊,我是下载了的。呃,到时候我把这个直接发给大家吧,啊,这个呢,到时候大家可以看一下,然后呢,呃,对于复杂的应用,你到时候自己去研究吧,对于一些简单的应用,在这我给你讲完你就会了啊,大家在这就不要看了是吧?首先第一个啊,我们来看一下啊,对于所有的IP盒的应用方法都是在IP tango里边找到这个旗舰,双击起个名字,给个位置,然后就会启动插件,那么对于这个插件来说的话呢,它大概会分成啊第一部分啊,就是这个玩意儿到底叫什么名字,Art PR l,然后呢,这部分就是说关于这个期间的一些手册啊,这个到时候你们自己可以去找啊,然后呢,呃,第再一个就是什么?就是这一部分,这一部分,这一部分就是一个向导步骤,比如走到哪一步,走到哪一步哪一步啊,对于我们这来说,我们有好多步,五步对吧,但是不见得是五步啊,因为五步里边一哪这个一里边还有就是这四波,那后边有几波大家不知道是这是它,那么在这部分什么,这一部分是叫做一个配置的一个展示窗口啊,这一部分叫什么配置展示窗口,也就是说你。
99:08
这边啊,配置哪些内容,在这个地方会有一个显示报告啊显示报告那好了,那么这一部分什么呢?这一部分就是一个我们可以配置的,比如说当前选择的器件是什么,这不用你选,因为它会自动的匹配工程,一般情况不用你选啊好了,那么下面来看,呃,这我就实际上比较重要的啊,首先他说你所使用的器件的速等于多少,我们是八。啊,第二个啊,你这个所向环的参考频率是多少啊,我们是50兆,所以要选中50,有的人说我就直接写50和50.00有区别吗?据我所知是没有的啊。然后呢,这个锁交房的类型啊,你想选也选不了,因为我们只有这一个是吧,那么这个叫工作模式啊,一般情况下我们的正常工作模式就够了,所以就在这儿选这个就行了啊,剩下的保持不变,第二条叫做可配置的输入,那么对于所向法来说啊,对于所向法来说这有什么,这有几个默认的啊,这几个默认项,那么默认项什么呢?默认项就是输入,有这个叫做输入时钟,然后呢,这个。
100:15
还有一个什么叫a reset a recet是什么呢?这就有一个叫做产生一个a recet的一个转角去什么去异步的复位所向环就是这是一个复位端。那么对于我们来说要不要呢?其实要也行,不要也行,那一般情况下你他默认有咱就要上,但是有一个问题啊。就是。这个锁向环的这个复位啊。它是一个高电平有效的复位,而咱们外部输入的复位哪是什么,老是一个叫做。低电瓶的复位,所以呢,怎么办呢?所以总得把外部的复位进行什么,进行一个取反,然后再给咱们连上才能用啊,那么这个什么,这个是一个PFD,大家见过了,P fdna什么意思,就是PFD的一个矢能端,就是渐频渐向器的一个矢能端,这个呢,我们我建议大家一般情况下不要要啊,就是说你要了它之后呢,嗯,它的作用呢,就是说你给一它见频见向,你不给一它就不见频,不见效,那么这个呢,一般情况咱不要,那么输出时有一个lock的,那么lock的什么意思呢?其实在刚才里边我也有解释,但是没给大家说lock的什么,Lock的有个功能,什么功能呢?就是说锁向环,嗯,是一个什么样的工作原理呢?大家还记不记得。
101:41
是靠一个什么,靠一个叫做负反馈啊,咱不是负反馈,就是靠一个反馈的这样的一个形式来去实现的,那么既然是反馈,也就是说它会逐渐逐渐逐渐逐渐逐渐的正确,对不对,他也不是直接就对了,对吧?所以意味什么,所以就意味着说lock的什么,Lock的意思就是锁定。
102:04
什么叫锁定呢?就是说他咱们不是有个渐频渐向器吗?呃,应该是在现在的官方手册里边,它的介绍呢,其实把我给关了是吧,在现在的官方手册里边的,呃,介绍呢,其实呢,他介绍的。好像他并没有介绍这个叫做。好像并没有介绍这个这个啊,不是这个这个。啊,这个手册人介绍出来了,比如lock的啊,锁定向路啊,就是这个叫做这个这个锁定的这样一个电路,那么我画这个图里边呢,从里边截的时候呢,他反而是没有给大家说出来了,那么没有说出来的话呢,那么那么他是从哪儿锁定的呢?他只是讲了一下怎么锁定,那么怎么来的呢?这个我还要看这个,也就是说呢,这个PFD什么意思呢?就是说渐频添向器嘛,那么如果说呢,我们这个和这个已经稳定了,也就是说呢,它已经频率相同了,如果说频率相同了以后,它就会建出个结果,这两个相同不需要调整了,所以此时就会告诉他我们频率一样了,所以在这儿也是一样的效果,就是说我们lock的为什么默认输出呢?是因为如果说你刚复位结束的时候,其实vco的频率和前面的频率是不相等的,他呢,还在干什么,还在进行着调整,那么也就是说在调整期间呢,按道理说你是不应该去。
103:36
重它所产生的时钟,因为那个时钟不正确或者频率不正确。那么lock什么意思?Lock告诉你意思就是,哎,我都已经正确了,你用吧,就是这个意思,Lock就是告诉你这样的,那么这还有什么,这还有叫做自复位。叫失锁了以后字符位,呃,什么叫失锁了以后字符位呢?什么叫失锁呢?刚才讲了锁定就是两个,呃,这个这个PFD啊,这个走着走着,哎,他们俩都一样了,我就认为锁定你就可以用了,对吧?那什么叫失锁呢?可能由于外部的一些什么原因导致什么导致了锁向环直接就失锁了啊,就是说这个锁就是说它的这个相位偏量过大了,失锁了,然后呢,这里边如果选上对勾以后,它不会有任何的变化,但是呢,它会告诉你如果失锁了啊,那么在这些一直就在复位了,就是说它会自己复位,那么这个一般情况下我也不再选它啊,那么这个就讲到这儿吧,这个就不再讲了,那么这个界面呢,是去做什么带宽啊一部分东西,这个我们保持不变啊,这个界面的话呢,我们它是一个时钟的选择,就是锁向环可以有两个时钟输入,那么这个我们也不讲了,这一部分是动态配置啊,我们也不再讲了啊,这个是干什么,这个就大家就明白叫输出抽头。
104:48
你今天现在不是说也要输出一个叫做什么输出一个100兆的吗?所以说呢,在这儿有一个叫什么,就是说使用这个抽头,然后点击键入输出频率啊,100兆啊,100兆,那么这个什么,这个是要求的频率,这个是真实的频率,大家来看呢,这是不是100兆啊,我要100兆,它能输出100兆对不对,毫无疑问对吧?好了,那如果我要101兆呢,你会发现它也可以输出101兆,对不对,这是可以的,没问题,比如我想要123兆。
105:22
它也可以输出123兆,对吧,这都这都没问题啊,我想要500兆,它其实也可以给我输出500兆,但是大家好像刚才看到了,比如我想要101兆也可以,对不对,我想要1234,我想要1234兆,它就不可以了,它只它只能输出一二三三点三三三三兆,也就是说呢,你想要的某些频率,他可能真的就实现不了啊,他可能是真的实现不了,所以在这的话呢,我们就按照正常来说啊,我们就要100兆。好,那么一一百兆的话呢,输入方有两种,第一种是选它键入输入频率,其是你直接输入的这个什么,这个叫键入的输入的时钟的参数就是什么,比如说外部是50兆对不对,这个是除,这个是乘,这个是除,这是乘,那么对于我们来说,我们要100兆对吧?100兆就是50乘以二除以一,这不就是100兆吗?
106:18
对不对,除以二乘以一啊,那么这个两种方法哪个都可以啊,哪个都可以啊,一般情况下我用的这个比较多一些啊,就是说直接往一选,然后呢,往这一放啊,一删除就可以了,然后有的时候有bug,什么bug,就是这个光标放不进去啊,有的时候有bug光标怎么办呢?大家把从最后边啊,从最后边,然后直接选到前面去,然后写100,呃,还是那句话,带点零零和不带点零零有没有区别,目前我没有发现啊,目前没有发现。那么再有一个就是这个相位。就是相位偏移,什么叫相位偏移呢?在这讲一下啊,什么叫相位偏移呢?就比如说我们外部的输入是50兆是这样的。
107:01
如果你没有向外偏移的话呢,那么你的100兆是这样的。也就是说你的上单沿对我的上单沿,然后因为我的频率是你的二倍嘛,所以在这儿,所以这个就在这都对齐的对吧,那么相位偏移呢,比如说我们偏移这个这个这个180度是吧,或者偏这个90度,那么可能就是这样了。也就是说呢,这个上针沿不带对齐了,这个上针沿这儿有了一个一定的相位,那么到时候这个相位到时候我们也会用得上啊,后边会给大家讲实际分析啊,或者讲什么类的,也会用到调相位这个地方,那么今天的话呢,我们先不调了,注意在这就可以写,比如我想要90度啊,我想要调180度,注意这是度啊,这是度数啊,这是度数,那么当然也可以调时间啊,我一般都是用度数比较多一些,那度数能随便调吗?注意不能啊,比如说我想要33,其实它也做不到33,它只能做到33.75啊,它因为它也是有一定的限度的啊,今天我们就不调了,好吧,这个是占控比啊,占控比我想一般情况下默认是时钟嘛,时钟大多数的啊,对于时钟来说,占控比大多数都是50%,所以这个一般情况下不动,但是有的人说我就想动一下,换成80行不行,80应该是可以的,但是注意这个好像也不是连续的,你给79它也只能到80,所以要求的和真正实现的它是有差距的啊,在这我们还是写成50吧。
108:28
好50啊好了,那么再下一步。那么这是C1嘛,就是它有C0C1C2C3C44个抽头,五个抽头,那在这的话呢,我们选择它。啊,使用这抽头,因为C0是默认使用的,所以C1要选择使用,然后键入啊多少呢?十兆啊也是十兆嘛,所以就是这个乘啊乘一除五嘛,就是十兆嘛,对不对,剩下就不再讲了,下一步C2不用啊,C3不用啊,C4不用啊,这个是一个eda的界面啊,这个就告诉你仿真库在哪,在这个里边,后边我们再说这个文件啊。
109:08
下一步好了,到这儿了,到这儿以后呢,我们选择一下这个文件啊,叫prl麦啊,下划线 Nst.V选一下啊,为什么选我们先不说啊,呃,我们就把它放到这儿啊,Pll啊,下划线MYMST,然后点finish。然后点完finish以后呢,它就会报出个界面说问询问你是不是把这个IP盒添加到工程里边,我们点S。好,那么在我们的这个里边就会多了一个IP call,就多了一个这个叫做这个PR下划线点QIPQIP意思就是cos I的意思啊好了,那么对于我们来说,IP盒建完了,那就有了一个问题,比如说现在举个例子啊,假如说我们去做这个这个这个像我们之前做这个叫做什么,叫做这个这个呃,万年利的时候是吧,我们都知道什么,我们都知道这个叫做。
110:04
你把别的模块写完了,然后呢,你过来,那我现在很简单啊。我现在想把我。调用的这个手枪环,我想给拿过来。从哪拿呢?利化头在哪就是或者我们得得把弄过来对吧,写个背点符号是吧,写写个写个圆圈,弄个括号连线啊,但是在哪儿啊,所以大家还记不记得,我让大家最后选那个文件,其实就是绿化头文件在哪呢?在这个。PR test这。Q PR j IP Co p my里边就有一个叫做PR_MYNST,那么这个文件的话,我们可以用编辑器把它打开。再来看。这文件其实就是一个的模板文件啊,这个文件其实就是一个化的模板文件,那么这个呢,我们什么都不要动,直接复制粘贴就行了,复制。
111:05
粘到这就可以了,大家来看呢,这个就是我们所例化的,就我们所设计的模块名称,这个就是例化名称,大家现在应该明白了,为什么我的利化名称永远是我们写的名称后面加ST了,呃,其实在最开始教我的。这个老师啊,他呢,是不是这么用的,他教我的不是这样写的,教我的是其其他的方法或者其他的名字,但是说什么都可以,但是后边呢,呃,我在工作过程当中,我就统一变成这个了,为什么呢?因为我觉得锁向环或者我因为我觉得所有的IP盒他弄完之后,它默认都是这样,那我也就这样。啊,并且呢,比较清晰啊好,那么在这儿的话还是强迫症啊。愿意给它对齐一下,那么这个不用的时候就给它关掉,知道咋打开就行了,好吧,然后第一个复位,复位就是什么高电平下的复位,但是咱今天没写复位对吧?今天没写复位给他加一个,那咱们按照咱们的习惯啊,咱们还写低电平复位,那怎么办呢?所以就把它呢,做一个取反就可以了,注意取反啊,一定要去反啊,第二个输入时钟,那就不就是50兆嘛,对不对?好,第三个C0 C0是我们的100兆对吧,我们先写的100兆,后写的十兆啊,然后呢,Lock的就是输出的所向还的lock的,那么这阵的话我们没输出对吧,所以我们输出一下。
112:40
好,完事了,好,我们进行一个编译啊,所以呢,大家来想啊,如果说啊,你要自己写逻辑去实现这100兆和十兆的时钟产生,那可能会很费劲,但是今天我们学了这个之后,就很简单了,就是个例换,就把它把那个调用出来,然后例换就可以了啊其实呃,说了这么多,其实大家也就明白就什么,就是用别人已经写好的东西,我们直接去做呗,但是呢,你得知道别人里边想好东西都是啥,或者咋用对不对。
113:15
好,那么在这编译好报告看一下是吧,只用了两个逻辑资源啊,因为它会配置一部分接口什么之类的,那么然后呢,用了一个锁枪环,我们也可以布一部线看一下。啊,我们里边一共有两个,它用了一个,我们来用这个芯片规划器看一下。好,那么有人说,那不你看这这不用了,就就用了这两个吗?那么那个哪用了哪个呢?大家来看啊,其实他用的是这个啊,用的是这个,我不知道大家能不能看得清楚这个颜色,这个颜色和这颜色不一样,这个颜色其实也是塑向环啊,这个这也是塑向环,然后呢,我们这个呢,在这儿这个是备用的,注意啊,如果没有备用是点不开的,你比如在这我们把这个放大看一下啊,对于他来说。
114:13
双击是打不开的啊,双击是打不开的,那么我用的是这个,那么可以干什么,我可以双击,其实可以把它打开的啊,双击是可以打开的,那它是可以打开的啊,那么就用了这个锁向环啊,这就就是说人家内部的一个电路啊,内部的电路好了,那么对于这个电路来说,具体的一些配置信息都在这儿,那么具体的我就不看了啊,那么只是告诉大家。啊,那么对于大家来说的话呢,大家这个并不一定在这儿啊,有可能你一编译可能用的就是这个啊,这个我们就到时候再来,呃,讲解怎么样固定用哪一个好吧,好了,那么现在做完了是吧,该去干什么,该去这个写真了,是不是一真咱们今天就讲完了啊。
115:04
所以今天今如果说,呃,今天的讲课啊,今天的讲课如果大家自己去写什么,建议大家去写代码去练习,比如说操作也好啊,或者练习也好啊,呃,我估计根据大家现在的能力来说,五分钟吧,五分钟到十分钟左右啊,你肯定可以写的完啊,因为确实没什么东西啊,但是最主要什么,最主要的是。给大家讲的是这样的一种什么,给大家讲的这样一种叫做呃设计的方法,或者叫做这样的一个认知啊,就是从今天开始啊,你知道了ipg内部不仅仅是只由Le啊,连线和IO构成,还有一堆啊其他的东西啊,那么我们要相当于干什么呢?啊,今天就给大家讲明白了啊。
116:20
嗯,然后我再给大家说一下啊,就有的时候我为什么不愿意用这个编译器呢?因为这个编译器有一个bug,到目前为止好像没有修复,或者说我还不知道它这个这个这个是不是设置了它的提示啊,因为其实我们这个是有提示的,你比如说呢,我写一个where,然后呢,比如我写clock,按道理说clock下划线啊,比如写十兆,它应该有提示,但是你会发线什么呢?它没有提示,就是clock下划线,它只能什么,它只能提示字母,一旦这个变量中间有数字的情况下,它就提示不出来了。啊,这其实不是,但是我们在很多时候写代码的时候都会中间加数字的,都会加的,但是它提示不出来了,所以我觉得这个一直是它的一个bug啊,比如你像这个我也要写PR lock的,就很简单啊,写PR直接就给我提示出来,这不多在PR,然后点回车啊,所以这个有的同学加数字它就提示不出来了,那么我这个编译器的话呢。
117:18
是可以提示出来的啊,比如在这我们再写一个是吧,比如说我写一个,就比我就写个PG15应该是可以提示的,P写着你看我就打了一个PIN,他直接就把我PING15116 M16都实现了,都给我输了,比如我这个也可以啊,比如输入DP,你看直接就可以输入直接代数字也可以实现,所以有的时候呢,写代码的时候,为了方便起见啊,有的时候我就不爱用它啊,所以我有的时候就不用它了。好,那么下边呢,写一个试周。
118:04
我不知道大家有没有那个编译器啊,这个编译器有好多种啊,呃,到时候你看你们看一下啊,如果说呃,有的同学需要的话啊,然后我可以给大家发一下。呃,然后呢,延时201,然后延时2000啊延时。这么多吧,Stop好了,那么做个设置。
120:13
那么我们来看一下这个地方它有没有报错,有没有报错。好,首先呢,在这个叫做复位期间啊,这个输出的lock的十兆100兆lock的都是低电平,复位结束了以后啊,锁向环输出了一段红线,所以很多人就说红线是不是错了,红线并没有错啊,红线只能说是不确定,所以就是说当复位结束了以后,所向环呢,内部再去做积极的反馈,然后想要达到一种稳定,然后到这的时候终于稳定了,稳定了以后大家来看就输出了十兆和100兆,那么十兆和100兆怎么看呢?注意100兆比较简单是吧,你把100兆放到跟50兆一起,你会发现他们两个是。
121:02
正好是两个周期,是一个周期,那十兆怎么看呢?实际上你也可以放到一起,然后对比一下是吧?呃,一个周期两个周期两个半啊,低的是两个半,高的呢,一个周期两个周期半也是两个半,所以呢,高是两个半,低是两个半,所以总到一起就是五个半,所以五个五分频嘛,就正好是这个叫做这个这个。50兆啊,不是十兆对吧,那么关于lock的大家也看明白了是吧,关于lock也看明白了,所以呢,这就是一个功能啊,这就是他的一个损化的功能,所以以后在给大家讲课的时候呢,就是呃,第一我们尽量。在设计当中使用统一个频率啊,统一一个频率啊,一般情况我们会要求这么做,这是第一个,第二个如果说我们必须使用其他频率的时候,一般情况下我们都是用锁向环啊,基本上很少去自己去写,分出来一个频率,然后这个频率去当做内部来用啊。第三个嗯,在很多时候我们给外部的时钟的时候啊,有的时候我们去干什么,有的时候去做写的就是自己代码的一个,呃,分频啊,用双向环的可能就不太多了啊,给外部的时候啊,特别是给这个外部的一些低频率的时候啊,其实给他的说是个时钟,但大部分是个控制信号,所以那个时候呢,我们可以就是说用自己比较好控制的,自己的逻辑还会比较多一点。
122:27
好了,那么这个的话呢,就讲到这儿吧,就是今天的这个设计啊,嗯,大家看有没有什么问题啊,有问题的话可以说没有的话,咱们今天就就到这儿好吧,因为这个呢,确实只是为了给大家引入一些思想啊,然后呢,呃,大家能够理解这个操作很简单啊,操作很简单,不要掉队啊,然后那个呃,还有个事儿,呃,这个商量一下好吧,呃,明天上课还是后天上课。或者说咱们在群里讨论也行。
123:03
好吧,看看看你们。这样吧,咱就去这个这个在咱们的群里讨论吧,然后这个这个咱就不在这儿讨论了,好吧,那就一会儿来一会儿再说。那就今天就先这样了啊。
我来说两句