粉丝2723获赞6441

学校建议学生自学 virlog, 部门经理建议带入职员工学习 virlog 基础。那么到底什么是 virlog? 那我们现在邀请团长为大家解答一下。 virlog 是一种硬件描述语言啊。 呃,为什么要用 vlog 呢?早期呢,我们在做电路的时候,用画电路图原理的方式去设计电路,但是这种的方式呢,比较慢,那后来呢,美国的军方设计了一种语言叫做 硬件描述语言啊。硬件描述语言呢?早期呢,用的是 v h d l, 但是 v h d l 的话,它这个语言的风格啊比较死板。 后来又设计出了这个玩儿 log 对 h d l, 它其实是另外一种啊,这个硬件描述语言,那这个硬件描述语言呢,非常的灵活,那么通过这个语言来描述这个实际的硬件电路的结 结构,然后最后再通过一种 e d a 工具,把这个你的 vlog 编的程序转化为实际的新建电路,这样大大的提高了我们的设计效率。那不用把丛林 开始去画那个电路原理图,而是通过工具把你的程序转化为电路原理图啊,这就是 vlog。

数学中的加减乘除在 f、 p、 g、 a 开发中用法有什么不同?来看一下 very、 log、 h、 d、 l 语言的运算符按功能可以分为九类, 第一种算数运算符。加减乘除大家都比较熟悉,需要重点了解的是取于, 需要注意的是,在进行整数的除法运算时,结果略去小数部分,只取整数部分。 第二种复值运算符,主要是阻塞复值和非阻塞复值。第三种关系运算符。关系运算符和逻辑运算符一般用于条件判断语句。 第四种逻辑运算符,第一个相当于数学中的雨,第二个相当于数学中的或第三个是趋反的意思。第五种是条件运算符,条件运算符是书写效率 非常高的运算符,条件运算符为问号,很像 c 语言里面的问号运算符,它实现的是组合逻辑,或者说就是多路副勇气。条件运算符涉及到三目运算符,三目运算符涉及到三个操作符。后面课程会讲到。 第六种为运算符,为运算符,和逻辑运算符有点相似,大家要注意它的关键词为运算符的每一位都会被运算到, 比如八位拍臂零零幺零幺幺零幺。要做这个操作术进行相与与,只有一位操作符对八位位宽的八位数进行相与,也就是每一位之间都要相与。零与零与结果是零,一与零与结果也是零。一与一与结果是一, 零与一与结果还是零。接下来继续相与零与零与结果是零,一与零与结果是零,最后零与零与结果是零。最后这个八位操作数如果被与的话,他最后的结果就是零。 这个例子是偶数的语法,如果是积数的话会怎么样呢?在后面加上一,因为是积数,所以最后的一不用语,直接一下来,零与一相语的结果还是零, 这就是为运算符的操作方式。来看一下逻辑运算符为什么是两位,相当于是两个整体之间的与, 如 a 等于八位拍 b 零零幺零幺幺零幺, b 等于四位拍四个一,这里的 a 和 b 是两个整体,所以只能用逻辑运算符,用两个符号来表示,这就是逻辑运算 算符和未运算符的区别。第七种,移位运算符,分左移运算符和右移运算符,左移是扩大两倍,右移是缩小两倍。第八种,拼接运算符,它的表现形式是大括号,在使用拼接运算符的时候一定要注意它的微宽, 如果在使用过程中忽略了位宽,就会出现结果上的误差,在仿真的时候会出现一条蓝色的线,出现高阻碳, 在使用拼接运算符的时候,一定先指明他的微宽。第九种,一些其他的运算符,这里不过多讲解。 最后看一下各个运算服的优先级别,这个部分的内容大家作为了解,不用刻意记忆。 在使用一些运算符的时候,需要优先执行某一个运算符,只需要在要执行的运算符部分添加括号即可。优先执行括号属于更高级的运算符,使用起来也非常简单。

每天挑战一条 vlog 语法,今天我们来聊一聊初学者在波形分析的时候的一个小的知识。首先我们来看一下上面这张图,那在这个图里面呢,我们知道下面这个信号呢是一个 clock, 就是一个时钟,而上面呢就是一个波形信号,那我们在这上面分别标记了 a 和 b 这两个点, 那现在的问题是什么呢?问题就是在 a 点我们看到上面的这个信号,这个点啊 a 点就是这个始终的上升沿,那我们在这个 clock 的上升沿,我们看到的上面这个信号是零还是一呢? 那么我们在 b 点这个上升沿的时候,看到的上面的那个信号是零还是一呢?可能很多初学者看到这个波形的时候都会有一些困扰,那我们首先呢把这个答案写给大家,那么在 a 点的时候呢,我们看到的上面这个信号看到的是零,而在 b 点我们看到 这个信号呢是一,那为什么仿真器会给出这样的一个结果呢?那我们给我们来解释一下,那为了解释这个问题呢,我们看一个简单的电路,就是下面这个低触发器,那这个呢是一个非常常见的,在数字电路里面非常常见的一个电路, 这个电路的基本的功能是啥呢?就是说在 clock 上升严的时候,那我们会把这个 d 输入的值啊, 给他存到这个处罚器里面啊,这样的话呢就可以从 q 输出出来啊,这个功能很简单,也就是说在 clock 上升沿啊,这个时间点会把这个 d 这个输入点的值啊,给他送到处罚器里面存起来啊,最后呢从 q 输出啊,就这么简单。 那我们看一下,假设我们这个 d 啊,这个输入型号是这样的一个波形,那我们在下面的这个 a 这个点,很明显我们能看到这个 d 这个型号呢,是一,是吧?那这样的话呢,我们 q 这个型号在这个时 中的上升严之后,那我们就会变成一啊,变成一。那同样的,我们在 b 这个点的时候,大家注意我们看到的 d 这个信号,当然就是零是吧?在这个点他就是零啊,那么在 b 这个时间点之后呢,那这个 q 这个信号呢,就应该变成零,是吧?变成零啊,那大家看一下, 我现在指向的这个位置,实际上就是我们上面这个波形我们的疑问点是吧?也就是说,也就是说在 a 这个点,我们到底看到的这个 q 这个信号呢,是零还是一?那么在 b 这个点呢,我们看到的这个 q 这个信号呢,到底是零还是一呢?好,那我们来 解释一下,大家知道,在数字电路里面啊,即使是一个处罚器,也就是说在 clock 上升年的时候,我们把这个 d 的值给他送到处罚器内部,并且从 q 啊输出。大家需要注意的是,这是需要时间的啊,这个时间呢,在数字电路里面,我们有一个专门的名词叫 转换时间啊,叫转换时间,也就是说呢,把 d 的这个输入的值转换成 q 的这个输出的值,是需要有个时间 t 的啊,虽然这个时间呢并不长, 对于一个高速的地处,而且也许是那秒级的,可能是零点几的那秒是吧,或者是更短的时间,但是它毕竟是有一个转换时间的,所以实际上 q 这个点的信号应该是什么样呢?也就是说应该在 a 这个 clock 的刷证言之后,它并不会立刻变成一, 实际上他是会有一段延时,是吧?有一小段延时,然后才变成一啊,就是类似于下面这个信号,那类似的在 b 这个点呢,那 q 这个信号也不会立刻就变成零,他也是会有一个延时,然后呢再变成零, 那这样的话,大家就很容易理解了啊,就很容易理解了,那我们注意看,在 a 这个时间点的话,我们看下面这个 q 实际这个线啊,啊? q 实际这个线啊,在 a 这个 时间点的话,它很明显,那 q 实际这个信号是看不到一的,你只能看到零,因为它变成一还需要一段时间,那么在 b 这个时间点,类似的你看到的信号就应该是一,为什么呢?因为它变成零还需要一段时间 啊,这就是实际的情况,那我们仿真当然必须跟实际保持一致,是吧?保持一致,也就是说,我们看上面这个仿真的图,大家注意,在 a 这个时间点,我们看到的就应该是零,在 b 这个时间点,我们看到的是一,因为只有这么解释,才能保证这个仿真的这个结果跟你实际的这种结果是保持一致的。 那有同学可能会问,仿真为什么要跟实际保持一致?如果仿真跟实际不一致,那这个仿真就错了呀,那你还仿啥真呢?你的仿真就是为了跟实际电路保持一致,并且来验证实际电路的是否正确,对吧?如果你的仿真跟实际不一样的,这个仿真就没有必要存在了。所以实际 上这个仿真图上啊,我们 a 点为什么是零? b 点为什么是一?实际上就是为了跟真实的电路保持一致啊,所以才会是这样去仿真的,那这个问题你明白了吗?

大家好,欢迎大家收看明天推出的视频课程。在学习 vlog 之前呢,我们先学习一下第一处罚器以及他的代码,那今天我们就聊一下第一处罚器以及他的代码。我是本次视频主讲潘老师 来 apj 的设计基础呢,就是输入电路啊,因此很多同学会认为我们必须先写好输入电路之后呢啊,把那本书看好之后呢,我们才能学习 apj 啊。但是输入电动的本书呢,很多啊,它内容非常多,例如说有 jk 触发器,有阿斯触发器,还有什么卡路 卡路表啊,那种,呃,针织表啊,卡路图啊等等,很多种,很多种,很很多内容啊,但是很多内容其实都已经过时了啊,过时了,对于学校皮学来讲,我们只用到其中的很少很少 短的一部分内容,如果没有说电动基础的话啊,那么建议就看这一点,你就知道低处罚器就够了。 好,那第一次发现是什么样子的图目?这个就是第一次发现图,那这个功能非常简单啊, 复位的时候呢,在 q 的值,你可以认为他是零啊,可以认为零,反正就是一个初始值啊,你可以认为是零啊,就复位有效的时候,他等于零的时候呢,我 q 的值就等于零,如果这个值无效啊,就是他唯一的时候呢, 那我在十中上升盐的时候呢,就把低的子给了 q 啊,就这么简单啊,十中上升盐的时候,把低的子给了 q 啊,就这动作,先有十中上升盐,再有把低的子给了 q, 这就意味着什么呢?在 q q 的值啊,在上升严的时候, q 的值还是没变的,只有上升严之后呢, q 的值才变化啊,这是一个很重要的概念啊,时钟上升严的时候啊,把低的值给了 q, 也就是说先有实中上升,再有 q 的变化 啊,这是一个滴水器,如果食用上烟没有了,没有到来了,那这 q 的值就保持不变啊,因此我们这个 q 的值一定是在食用上烟之后一点点变化, 这就是我们第一处把器,我们所有 app 的电路都是基于这个结构来进行设计的啊,基于这个结结构来设计的 啊,就是这么简单啊,怎么安安史处罚器啊,这个处罚器我们都不用,完全不用,我们就用最简单结构来设计的啊,有些同学说,怎么这么简单过来,是不是内容很简单啊?所以我们要做一个系统 啊,一个稳定的系统,一定是从最简单的结构是搭起来的啊,不会是一个很复杂结构搭起来的,所以我们 app 电动里面就是用低下去把它结构稳定性啊,把它搭起来 啊,他所对应的一个波形图是怎么样的?来看一下这边,这个是我们的波形图,你可以看一下,这里是画了,这个是时钟,这是 d 啊,这是 q, 那我们可以看一下啊, 这个,这个 q 使用商演的时候啊,这个你看下这个 q 啊,他都在使用商演之后变化,例如说我在使用商演的时候啊,这个时候我把这个低的值啊,看前面啊,低的值 就给了 q 啊,就给了 q, 这时候,因此这个 q 的值就等于一啊,而这个时候呢啊,这个时候呢,十三元之后呢,这个 q 的值就把数不变了,直到下次的上升眼过来, 这上面看到第二只等于零,因此我 q 也输入零,这时候我看到这第一等一,因此我输入一啊,就是这么一个简单的电动。 好,可以看一下啊,这个 q 的子都在时钟上升严的时候进行变化的啊,时候上升之后变化的啊,这是我们第一次发泄功能,非常非常简单啊。那么 这个低刷器,我们直接用微了个代码,怎么描述呢啊,其实就是这样个代码啊,就是这样代码可以看一下,这个代码跟这个低刷器是完全一样的啊,非常不一样的啊,就是完全一样,就是描述的就是低刷器。怎么讲呢?你可以看一下这份代码啊, 但是 always 时候,就是 always 在时钟上升沿的时候,这个上升沿,这个时钟或者下降沿复位,叫时钟上升 炎,或者复位下复位下降炎的时候呢,我就执行这份代码啊,如果不满足的话,我就不变啊,就 q 的就不变。这个 os 是描述这个 q 的啊,这 q 的变化情况的啊,你可以看一下,就是 我在使用上眼或复位下眼兽就变化,假如是复位啊,在拉低的时候,我就执行这个 q 就等于零啊,其他就不变了 啊,就不变 q 就等于零了。好,那么如果不是复位,而是时钟上升眼,时钟上演时候就是这个不满足,那就这个满足是将低的字给他 q, 就将低的字给他 q, 记住,十中三元首才执行,因此这时候十中三元首才把 d 字给了 q 啊,就是描述着 d 字把气。好。那么有的这个代码呢,就是就生成了一个 低刷器啊,一个 os 就生成一个低刷器,你可以认为这低刷器就是我们电路上的一个原件啊,一个原件啊,这是个低刷器,这个原件 好,我们根据这样上面讲,我们一个一个要点总结一下,是我们这个 q 的值啊,只有在始终上升严的时候才变化 啊,时尚眼的时候变化,那么第二点就是时钟上升眼的时候呢,就将低的值给了 q 啊,值太瘦。也就是说先有上升眼才有信号变化 啊,这个点啊,先有十中三眼,再有十分变化,这个点有什么用呢啊?有什么用?好,我们可以看一下这个波星图啊,这个波星图,我就想问一下大家,对吧?我在 哪个凶点上看到一人等于零啊,这个时候我说这个时候我看到一人是等于零还是等于一呢啊,这个时候是一人等于零还是等于一呢啊?这掉头是等于零等于一呢?大家可以想一想, 那明德阳的波行啊,明德阳电路在波行默认情况下不说明哈,都是是,就是同步信号, 这意味着我的意烟台第二的都在时钟上,都是低着气产生的啊,都是低着气产生的,那么意味着我们可以看一下这个点啊,时钟上升人的时候呢啊, 我们就会把第一个字给他 q 啊,比如说我的信号变化啊,都在使用三年之后才变化的,使用三年之后才变化的, 因此在这个点上啊,这一人也是一样啊,他也在时钟上升眼之后才变化的,他不会之前是之后。这个也是啊,他在之前之后才变化的,因此呢,我在时钟上升眼的时候, 我看到的一言是等于零的,因为一言他还没变化。石头上演的时候一言是等于零的,我在使用上眼这个时候上演的时候,我看到一言是等于一的, 他变成零是在使用三元之后才变成零。好,这个三的在使用三元的时候呢,这个第二个是等于零的 啊,因为他拉高是在三年之后才拉高,而在上天沿的时候呢,他还是等于零啊,在他上一年的时候我看到第二个是等于零,我在上一年的时候我看到一年是等于一,我在上一年的时候我看到一年是等 等于零啊,同样倒流在这个时候看到的第二个是等于一的啊,他变零呢,是在一二三零之后才变零啊,所以这个是我们看这个波形的一个意义啊,我们就是这样看波形的 啊,这个是我们的低发器,好了,这个是我们的结构,那么肌肉这个低发器以及相应的波形啊,就是这一句话,先有商业,再有新的变化,那就很好了啊。 啊,这,这是我们本次视频要讲的一个内容。好,本次视频讲这里,谢谢。

用 very log 实现按键消抖模块代码,根据上一节讲的按键消抖模块框图定义输入输出口, input s, y, c, o, k input r, s, t 下划线 n, input p。 输出的是有效的尖峰脉冲。 output red k 下划线 flag, flag 信号是按键消抖后标志信号。接下来是参数定义延时模块,在按键来临以后就开始计数,先定义二十毫秒的参数, preameter time 二十毫秒等于多少? 本课程使用的开发版频率为一百二十五兆赫兹。二十毫秒转化为内秒,在二十后面加六个零,再除周期八内秒,结果是二十五后面五个零来表示二十毫秒。接下来定义技术器,技术器的位宽是根据上面的参数来定义的。把二 二十五后面五个零转化为二,禁止是二十二个位宽,这里可以定义二十三位位宽,也就是二十二到零。下面是延时模块,延时模块是时序逻辑电路,同样是时钟上升延, 每当时中上升研来临,如果复位,需要对技术器进行清零,抗小于等于二十三位派地灵。 lsa。 如果案件来临开始技术,当技术到最大至二十毫秒的时候就保持住。如果没有技术到二十毫秒的时候一直自驾, 所以这里先做判断。如果 count 技术到最大值,应该保持住。 count 小于等于 count, l 是二十毫秒没有达到开始自驾。 count 小于等于 count, 加二十三位排第一。以上是按键来临的时候进行的技术操作,当按键松开的时候是不用技术的,所以 是清零的状态。 count 小于等于二十三位派地灵。以上是延时模块,接下来还需要尖峰脉冲输出模块。根据上节课讲解,我们知道尖峰脉冲是在二十毫秒前一个时钟输出,其他时刻都是处于低电瓶的状态, 同样也是持续逻辑电路。每当时中上盛宴来临,如果复位给尖峰脉冲信号负一个初值, p f x 小于等于一位拍臂零就是等于零。 l if 当到达二十毫秒减一的时候进行输出, 因为二十毫秒减一已经是最大值,所以时钟的前一个周期应该是二十毫秒减二。如果 ls if 这里是二十毫秒减一,上面可以改为二十毫秒即可。这句的意思是,在时钟的前一个周期输出一个高电瓶信号, t flag 小于等于 为拍臂一,其余时刻全部为零,所以 alse 这里输出零值 t flag 小于等于一位拍臂零。以上是按键消抖的模块,要实现按键控制 led 灯的逻辑功能,就涉及到了 f p g a 的设计思路。 第一节课程的时候讲过, f p g a 是自顶向下的设计思路。在实现一个功能的时候,先要有一个整体的框架,然后划分为不同的功能模块。 但在实现功能的时候是自下而上的,先完成底层,再完成顶层。要完成按键控制 led 灯,它的整体模块框图是顶层模块,同样有输入输出,底层包含按键、消等模块。 根据模块框图需要重新建一个顶层模块。 top 的输入输出口同样根据模块框图进行描述, input s y suk import rst 消化线 n input p output led。 通过模块立化进行模块关联。模块立化实际上是端口连线,顶层和底层都用同样的输入口,可以把对应的时钟复位按键连接起来。 最后的输出部分, t 下划线 flag 与 led 不能直接连接,需要重新在顶层定义一根线去影响 led。 回到开发工具,在 t 下划线 flag 模块找到模块名称及输入输出口,把这边内容进行 copy, 然后粘贴到 top 模块中,同时可以对其命名 t 下划线一。 通过 ctrl 键加鼠标框选,同时选取该部分前面的输入输出,把它们换成小点,这个小点是连线的一种方式,同时再输入输出,后面 添加括号,把顶层相对应的输入填写进来。输出的部分需要在顶层模块定义 wire 类型的 t 下划线 flag, 并对应的进行连线,完成后进行保存。可以看到顶层文件下面包含了 t 下划线一的模块,这表明力化成功, 并且顶层文件名前面有一个三角符号,代表他是最上层的逻辑,继续完成逻辑代码,同样是持续逻辑电路, 每当时中上升研来临,如果复位,给 led 灯复一个初值, led 小于等于一位拍臂,零等于零,这里提升报错。上面输出改为 reg 类型。 之前没有写按键消抖的时候, l、 s、 f 括号里面是 p, 如果按键来临, l、 e、 d 灯取反,按键消抖后,这里的 p 应该改为 p 下划线 flag 按键消抖后的一个有效 信号,如果尖峰信号来临, led 灯进行取反,如果尖峰信号没有来临, led 灯保持即可。以上就是按键控制 led 的逻辑功能代码。


大家好,欢迎大家收看明德阳推出的视频课程,今天我们聊一下 apg 的设计师设计思维,我是本次视频主讲潘老师, 那艾皮,艾皮杰的思维呢?是一个硬件的思维,什么叫硬件的思维呢?我们可以看一下啊, 这个呢,就是我们上节课讲了低处罚器,这个低处罚器我们就认为是个功能的电路,你也可以认为是个芯片啊,就是我们电路板上一个芯片,这个芯片呢,有几个管角,有 a, 可可复位,还有个 b 啊,这个管角, 那这管角就是相当芯片的四个银角了啊,就这样个东西。好,那这芯片已实现什么功能呢啊?就有个低传器的功能,他从上颜色就把 a 的字给了 b 啊,给 a 字给 b, 因此呢,我们那个代码,这个欧文是代码 就跟他对应的啊,他送上烟之后就给 a 的,给他 b 啊,记住,你把他想象一个芯片就对了啊,想象芯片,这芯片呢,很简单,他就个里面就包含一个 d 处啊器, 而如果说啊,我们还有一个这样电动啊,比如说我这个一的这个纸啊,这个芯片呢,他是另一个工,另一个芯片,他有 cd 可拉可复位,还一这几个 输入输出广角啊,你可以认为有五个啊,五个广角,然后 c 和 dr 可拉可复位就输入一就输出,那它实验成功呢,就这样子啊, 一 c 加低的值就给了一,始终上演兽 c 加低的就给了一啊,那这个呢,也认为是描述这样的电路的啊,这个电路也相认为一个芯片啊,记住,又有一个物的概念啊,物的该是一个东西的概念,是个芯片的概念。 哎,如果说,那我这个份代码里面有两个欧维斯,跟这一样啊, a, 咱呃 b 的商业售 a 的是给他 b 商业售 c 加 d, 这个一,假如我一份代码有两个维斯,就意味着我这个电动里面有两个 这个芯片啊,有两个,这有两个芯片啊,一个芯片对应他,一个芯片对应他的啊,是,记住啊,一个 os 就对你一个 物动的东西啊,这也是一个 os 最对应的这个物啊,这个这个 os 来描述一是怎么变的,那是一怎么变的,其实就是这个的电路啊,这个电路 好,你可以看一下,是一一对应的关系啊,一一对应的关系,那你也可以想啊,我这个物品怎么描述啊?就是这个二维式啊,这个怎么样也是 位置,那在位置也对应了这个电路啊,一一对应的关系,那按这个道理说,哎,假如说我一份电路上啊,我用 abcdef 啊,据这节信号,这个信号,对吧?那其实呢,这节就是一个电路,这也是个电路,这个电路,这电路都是电路, 你可以想象中每个东西都是一个芯片啊,都是个芯片,这芯片的输出呢,都是它的,比如说 a 是一个输出, b 是这个芯片输出, c 是个芯片输, b 是个芯片输出。然后呢?啊,我们把这名字相同的连起来,不说,这个 f 跟 f 是连起来的啊,把线连起来 啊,那对应的。我们设计电动的也是,哎,我既然要这这个芯片,因此我就描述他哈,所以我就这个有个 os 代码啊,描述 a 是怎么产生的啊,那这个 os 呢,就对应了这一个电路啊,同样这个 b 也是他对应的这个电路啊,其他什么 cd, ef 啊,我们就省略了。好最后一个 g 啊, g 也是这么一个电路,那一个 os 就一个电路,把名字的相同的连起来 啊,这就是我们的硬件水,那我的鞋带码数我就永远知道啊,这是一个某个芯片,某个功能啊,某个信号啊,某个硬件的东西, b 也是个某个硬件东西。 好答案描述好之后呢? ok, 就是指 abcd 的功能都知道了,确定好之后,连线也连好了, ok, 我们在下载到我们的 apj 板子上,一通电, ok, 就按照之前我们设定的功能去跑了啊,这就是功能啊,而软件思维就不是这样子啊, 软件是这样子,软件他是这样想的, a 等于零之后第二步 a 就等于一,第三步 a 就等于四啊, a 第五步 a 要等于一百啊,这样子是他是个过程的概念啊,过程概念,而我们不是,我们是个描述的概念啊,描述某个信号怎么变化,硬件的概念, 那他如果是按照刚才我们理论,我们遇见思维到底有什么不一样呢?你可以想象一下啊,例如说我某个这个物品啊,某个元气,他有个 a 啊,是一个信号产生个 a, 这个也有产生个 a 啊,我们这个名字刚讲了 a 就不会把 a 给连起来,对吧?他名字相同嘛,就把 a 起来, 那这样子呢,就会有问题啊,有什么问题?你可以想象一下,假如我这个芯片要让 a 等于零,而这个芯片让 a 等于一,对吧?那 a 的是到底是等于零还是等于一呢? 啊?不知道,对,没法确定,因为我不知道谁的到底是零还是一,因为你,你这个让他等于,这个让他等于一啊,所以这个时候是不存在的啊, 那对于软件来讲,他就不存在问题,比如说我开始 a 等于零,接下来 a 就等于一啊,他的过程概念没问题,但是我们是硬件的概念的话,就存在问题了啊,因为 我这样就先有个物品啊,一个芯片他两个 a 连起来,那这时候这个让他等于零,这让他等于一,那到底是 a 是等于零还等于一? 好,就存在这个问题。因此呢,我们这个 os 代码呢?啊,不能这么写,不说 a, 不能这个 os 又描述 a, 这个 os 又描述 a 是多少啊?也就是说我们一个信号不可能在多个 os 里面设计啊,不可能的啊,啊,肯定不可能啊, 不然你连起来,你 a 就不知道是多少了。所以正常讲是一个信号在一个 ov 时尚设计啊,一个 o 信号在一个 ov 时尚计啊,上到,上到,这里我就讲了,是一个 二位数,就是一个电路,对吧?一个二十就一个电路,然后这里是一个信号对应的一个只能在一个二位数上设计啊,不可能这样子的啊,因为这样子是会有冲突的。好,我们来看看思维的对比,就是软件思维跟硬件思维到底有什么不一样。 好,那我们看一下这份代码,这份代码是实现某个寄收器的功能 啊,按他代码的意思是这么想的,看他代码意思说当这个使用商演过来时候,我就看是否这个 adcom 就这是否为一,是的话, ok, 记住器让他加一,然后啊,再判断 come 是等于是,是的话 come 要让他等于零啊,记住你看到他的思维没有?他说 啊,刚我想说的,他说先让这个计数器等于加一,第二步让他等于零,你看这是有个过程看到没有?他有个过程先让他加一,然后让他清零 啊,甚至说然后让他加一,然后判断是否等于是,然后让他等于零啊。这就是软件思维啊,一步一步走的概念就是软件的思维 啊,其实真正的硬件的我是不会这么想的啊哈,为什么呢?你可以认为,比如说我某个芯片,我描述我有什么功能说我肯定会说, 当某我情况下我的纸就怎样啊当其他情况下我的纸又怎么样啊当某我情况下我的纸又怎么样,对不对?他肯定是这样确定的啊,他肯定确定的。当某种情况下他等于怎么样一种情况的。 所以呢我们那个硬件都是这样子啊,正常是当你他就说啊,当你的条件全部全部考虑一下,全部情况下我都考虑,例如说是不是复位情况,是的话 ok, 我看到就等你 ok 完了,这接下来就没有了啊,复位之后就等你 ok, 如果说你复位不等领啊,没有复位,那就看你是否是加一条件啊,你条件是否满足,如果是的话哦,再看你是不是等于十哦是的, ok, 好,行,再说你就等于零吧,就等于零。 如果说你家庭有效,而你又不等于是 ok, 你就执行这个 come 就加一啊,就是一种啊,就挑一种啊,如果你要加一条件又不孝哈, ok, 你就保持不变对吧?也就是说我无论情况怎么样,我只挑选其中的一种情况去执行 啊,执行一次做一次啊,判断好你的停降条件之后 ok 就不动了。好,这个是我先做完这个再做这个,再做这一个啊,这是错的哈,你可以看一下我们是选好你的哪种情况,是这种还是这种还是这种,是的话 等你啊。啊,如果不是我就看是不是这种,是不是这种,是不是这种是 ok 加一啊,所以是这就是一个思维的对比,那也就是说我们设计的时候呢,我们就想好这 ctrl, 你 到底是怎么情况的啊?你就描述一下你看的你到底是怎么样变化的啊?是零,什么时候为零,什么时候为一,什么时候加一,什么时候保持不变,想好之后 ok 描述出来 啊,就像你描述你功能的意思啊,你看这是描述你功能的意思和这是描述过程的意思啊,请仔细对比一下。 好,我们总结些要点啊,刚我讲过啊,我们一个信号的词就是一个元气键啊,虽然我们讲一个输出线就是一个元气键啊,我们对应的元气键, 而我们一个 os 一个模块的词语就是个元气键,一页可以认为是个芯片,他有一定输入和输出的芯片啊,我们一定要有个物品的概念,而不要有个过程的概念。 好了,那我们正确的 app 设计输入是怎么样呢?我们正常说的是我们足够定义号啊,足够定义号我们的每个信号或每个元气件功能,然后把名字相同的连起来 啊,联系起来,其实这是我们的事啊,就是逐个是想好我们的功能,好把它连起来啊,我们的时间的总的功能啊, 那虽然是这么说啊,他像刚才讲啊,我们有个硬件思维概念,软件思维概念,但是说实话呢啊,我们培训经验发泄了,这个思维是很难转变的啊,很难转变的,或者说我讲的讲的这么多,其实大家都能懂啊,很多都能懂,但是做起来就是另一回事。 好,这其实这个明灯要这种颜色,你要练啊,你要练练的时候才能弄弄出来啊。 好,但是刚刚讲过,我们设计师傅是足够定义好每个信号或者说延期键,有时候每个 abcd 的信号的功能,然后呢去做连起来,实现最重的功能。但是我想现在大家最大的困惑就是我们怎么会能想到每个信号功能呢? 啊?我怎么想得到呢?啊?最终能实现我最终的目标,对吧?我怎么会想得到呢?啊?那其实最终的话还是要划拨行才能知道啊,通过划拨行你才知道你想哪个信号,想,你想怎么变啊就怎么变啊。 啊,这个画波形的过程呢,请看我们接下来视频啊,那本节课呢,就主要是讲那个硬件思维的啊,好,本节课呢,我们讲这里,谢谢。

我们的书写顺序跟我们的这个是没有关系的,对吧?我们的书写顺序你可以想怎么写就怎么写,并且有一些银角是可以悬空的,这是我们讲的关于这个毛块利化的这样一种写法。好,这是在这又强调了一下毛块如何利化, 那关于这个模块利化的事情呢?实际上有一个比喻啊,我这是我,我想出来一个比喻,就说我们之前也写过,其实模块利化的意思就什么叫模块实力化, 那我们的一个 model 或者说一个模块,对吧?我们可以把它想象成一个饼干的脖子,然后呢我们的 实力就是一块具体的饼干,他们的实力化 就是用这个模子,用什么模子?用饼干模子,对吧?用饼干模子 制作一块饼干的过程,这个是我们的所谓的实力和实力化的一个 一个比喻啊,希望大家能够理解这个含义。那就我们有了一个某某某型号的芯片,那具体你要用的时候,你是不是要去采购一个某某某厂家生产的某个芯片,然后拿过来具体来使用,而你具体的那个芯片就是所谓的实力 啊,这是关于我们讲的这样一个力化,所以力化呢,其实是非常常用的, 让成语的歌还没关,我这因为听不到声音,老是会忘掉。好了,这是关于我们讲的实力话啊,实力话好了,这个我们就讲完了,这个就讲完了, 那么这个呢?我们也讲完了啊,刚才已经给大家详细的讲了,这个里面自己下去看课件的时候看一下就好了。 这个,这这个内容我们都之前都演示过了,而且详细的讲啊,那么接下来呢,我们来看一个我们的基本的语法,如何来写我们的这个逻辑啊?写逻辑第一个就是组合逻辑的写法,那么最常用的一个组合逻辑啊,就是啊塞这个东 东西啊,善用于写什么,这个我们在这要要知道一下啊,简单的组合逻辑,我们就用谁来写啊?善来写。复杂的组合逻辑,我们用什么来写?我们?我们在这先总结一下啊, 用 always 块儿来洗,然后呢持续逻辑呢?我们也用 always 来洗。 好,这样的话,也就是我们实际上写组合逻辑和写持续逻辑你就知道了啊,简单的组合逻辑我们就用散来写,复杂的组合逻辑我们用 ovice 块来写,而持续逻辑都是用 ovice 块来写。 那么我们看一个例子,比如说啊,三 a 等于 b 与 c, 这个我们看过刚才的例子。 第二种方式呢,我们可以用实力化的方式,那么现在我们看到这种就应该会了,对吧?谁跟谁相连, 这实力化这种方式非常接近我们拿逻辑图搭电路的过程,也就是我们的这个实力化,实力化的过程,实力化的过程和我们用面包板搭电路的过程是一致的, 也就是我们在面包板上我们要买来一些芯片,然后谁哪个银角跟哪个银角相连,你是不是要拿导线连起来,你要查这个图,知道谁跟谁相连, 当时我们是这样来连的,现在我们只不过用语句来告诉他,谁跟谁相,这就是他们的区别,所以本质上他们是一致的啊,这个过程是一致,这就是实力。 再下来就是用 always 块,而 always 块是非常常用的,而且在我们使用的时候经常会出现问题,就会出现在这里,在使用 always 块的时候会出现诸多的问题, 那么这个里面呢,我们要接下来我们来看一下我们具体的我们的这个 always 块是个什么意思呢? always 块呢?我们也把它称为过程块,他是过程块的一种, 我们这里讲的是芯片设计里面的逻辑设计里面的语句啊,刚才的那个引力,他后面还有个引力手,引力手我们刚才时间已经用过了,对吧?那是在写台词的奔驰里用的, 我们重点讲呢,讲这个逻辑设计里面的这个内容,所以大家要区分这些语句哪些是用在我们的这个这个 逻辑设计当中的,哪一些是在 tes 的奔驰当中的,那我们在这要注意一个在可综合语句,是吧?还有一类叫做不可综合语句, 那么这个呢,往往是在 tus 的半尺里用的,而这个呢是在我们的芯片逻辑里用的。 那我们具体到刚才的内容,那这个就是在满 nd v 点微里写,这是在我们的满 ndtb 点微里来写的啊,这个大家一定要清楚, 是我们会学到很多的语句,有些是可综合的,有些不可综合,我们到时候会讲的啊,讲的过程当中大家要注意,那么这是我们说的这个过程块,那么还有一个就是我们刚才看的啊赛过程块啊赛还有一个 实力化的原件,他们之间,他们之间是并行的,在这里要强调一个概念就是并行的, 那就是我们的这个病形非常重要啊,思路跟以前就不一样了,那什么意思啊?我们在这里给大家举一个例子,比如我们写了一个啊三是吧? a 等 y 等于 a 与 b, 啊三 y 二等于 c 与 d, 那么这两句话写出来,如果是在 c 语言里,你会认为啊,这是第一句他先执行,这是第二句他后执行。而实际上在 very lug 当中,他不是这样执行,他是怎么执行的? 他是这两个语句同时执行,产生我们的输出,也就说我们的玩和玩 白衣会同时产生输出,这就好比我们的这个芯片,我接好了,我爱,接好了,我爱二,电路也接好了,我一上电,那我们的 y 和 y 二都会产生结果,而不是说谁先谁后的问题。所以这就是什么病型的概念,这个只有在我们的 这个 vrog 当中,在我们的这个硬件设计当中, h 第二描述语言当中才会出现另外一个,这是我们说的啊,三人之间是并行的,刚才的实力化,比如我先写了一个优一,对吧?我先定义了一个 and, 比如优一, 然后又写了一个 and u 二,那么这两个渔具之间也是并行的,那么他们之间也是并行的。还有一个就是我们的凹位子块,这有个凹位子块,对吧?这还有个凹位子 块,这是第一个 always, 这是第一个 always, 这是第二个 o with, 那他们直接也是并行,那也就是我们这写了这个六句话,对吧?这六句话都是并行执行, 但是我们要注意的一点就是我们的这个, 这个里面他是什么呀?串型, 串型的这个意思就是跟我们的 c 原理是啊,一致的,所以这个大家要搞清楚的哪一些是并行,哪一些是串型,非常重要啊,非常重要,就对于我们理解这个编程,理解这个 hdr 的运行的 过程流程是非常重要的,你要弄清楚哪一些是病性执行的,哪一些是创新执行的。也就是说我们的这两句话,比如我调一下,把这个写在前面,或者 y 写在前面,他们是没有任何区别的, 并不会说,因为你写在前面他就先执行,写在后面他就后执行,但是这种在 c 里面是无法想象的,对吧? c 里面那一个两两段话,比如我负 c 里面,比如我写了两句话,对吧? 应测,如应测 a b, 对吧?然后 a 等于三, b 等于四,那么一定是这一句话先执行,然后是 才有 b 的值, a 先等于三,然后 b 再等于四,这就是创新之心的过程,希望大家能够重点了解这个东西,重点掌握这个啊,就是 b 型的 概念,也就是和我们的这个次序没有任何关系,这是我们要强调的,对吧?这是我们要强调的。好了,这个注视我们说过了,对吧?用杠和 c 的注视是一样的,他还有一个单行注视,就是两个斜杠啊。 接下来呢,我们来看一下我们的这个数的描述数如何来描述, 那么竖的描述呢?我们比较常用的一种就是竖的定义,对吧?竖怎么定义?那么可以这样来写,定义一个竖给他一个直,对吧?比如说 四一撇幺零零幺,好,这是一个二进之数,非常长 用的。那么前面的这个四是什么意思?四表示是四位,那么这个后面的幺零零幺是一个二经之术,所以我们要在前面加一个 b, 那么这个 b 相对应的就是我们以前学过的 bin 或者 binary, 对吧?他的一个缩写。那如果你需要写一个这个, 写一个这个数的时候,一定要写明位数,也就是前面的这个数必须要写出来啊,啊,这个币是要写在后面的啊,这礼物了写在后面啊, 也就这个位置一定要写的,如果你不写,他就相当于是这样一个东西啊,就是多少位的,三十二位的,那么这个三十二位的实验就会大量的占用我们的资源, 所以呢,我们必须要写这个位啊,这不是推荐写法,是必须要写,如果你非要不写,那你的资源很快就用光了。硬件资源,那我们是三十二位的啊,他是,那好了, 那你还可以写成几禁止啊?还可以写成十六禁止,对吧?那我们的这个十六禁止,大家看幺零零幺,这是个九,对不对?那你可以写成四一撇啊。 h 九,对吧?也就是零九 可以这样来写啊。那么这两个相是一个意思, h 呢?就表示我们以前学过 h e x, 对吧? x s m 和这个石榴静置的表示, 当然还有实心制,对吧?实心制实行制,你可以直接写啊, 这是关于我们树的描述方法,但是这里面需要强调的一点,就是说,当我们的是树比较长的时候, 比如说我们有这样一个数,八一撇 b 幺零零幺零零零幺,大家看这数挺长的,是吧?如果你觉得不够长,那你可以写一个这样的十二十二位的数,三十二的数, 那你就会发现这个密密麻麻已经没办法看了,对吧?所以这个时候呢,我们采用一个什么样的方法呢?就是这样来写,八一百 b 幺零零幺零零零幺,那如果你是十六位的,那我们写个十六位的吧, 幺幺幺幺幺零零幺,大家看一下,这个是我们在看这一长串代码的时候就会非常的清晰明了,所以我们的推荐些吧。啊, 这是我们的推荐写法,这那个打打不出来啊, 这是我们推荐的写法啊, 就以后大家要把这个下划线最好写上,但是四位呢就不需要写了,是吧?然后每四位作为一个整体,中间用下划线表示,这样我们 就非常的方便,如果你要对照真纸表来写,也是非常方便的啊,非常方便。好,这是关于我们说的这么一个内容, 那好了,这样的话,我们这次的一些基本的内容就给大家讲完了啊,剩下的一些,剩余的一些基本语法,下次给大家来讲啊。 那我们这次课的这次的课就先到这,希望大家下去把这个消化一下,然后把阔特斯装起来,一定要用起来啊,一定要用起来,那我们这课就上到这,嗯,大家再见啊, 大家再见, 能在健康的人生之前。

process monitor 是一款包含强大监视和过滤功能的高级 windows 监视工具,可实时显示文件、系统注册表进程现成的活动。其独一无二的强大功能将使 process monitor 在您的系统故障排除和恶意软件检测中发挥重要的作用。

万事开头难,迈出了一步,后面的脚印才会更清晰。本设计 fpga 采用置顶向下的设计方法,展示了完整的设计功能和实现细节, 下面直接讲解干货,对顶层有问题或者功能有疑问或者设计细节有疑问的朋友可以留言一起讨论,大家共同进步。这里也有我们的联系方式,可以进行自然定制设计,欢迎大家交流讨论, 共同完成。好开始讲解这个演奏设备,然后先打开这个 codes, 然后把这个点 qp f 文件直接放进来,然后代码都在这里面打开就能看到,然后这里可以选这个芯片,自己可以 随便去选和配置。然后这里代码加进来之后,我们可以看这里啊,这里点下这里就可以综合了,综合的时候我们先来看一下 各个模块的一个情况啊,这里有一个顶层代码,他用的是置顶向下的一个设计思路啊,这里是独立演奏的吗?就是相当于用了七个按键, 就是独然密发缩垃圾。然后这里是可以选择低中高,就是零零零一和一连接选三个,也就用这三个来跟他组合,就可以构成 三七,又可以二十二十一种按键。然后这里有两个按键,一个是自动演奏的,还有独立演奏的一个切换,还有一个乐曲练习的一个切换,通过这两个按键来控制,然后这里是数码管,可以显示当前的播放的一个音符,就是一到七,然后这里 这个蜂鸣器,蜂鸣器可以驱动不同的频率输出,他这个第一个模块是通过独立按键来演示啊,或者还有这个选择模式可以输出一个独立按键值和这个 演奏的一个模式,然后这里是锁存,锁存的话就通过这个按键 来把这个剑指给它变成这个音符的一个值啊。来下面这里是一个这个模块, 里面放的是那个乐谱啊,就是自动播放里面乐谱就放在这里面啊,这个是独立的,这个是乐谱的,然后在这里会做一个数据选通,就根据这里根据模式来选择用哪个数据来播放,然后如果是选的是这个数据啊,就从这里书架,书架之后 来到这个蜂鸣器驱动模块,就可以根据当前的音符进行个分频,就给它不同的低中高七种音,它是根据不同的频率来的,频率不一样,它放开的效音的音色就不一样了,那下面这里会显示这个当前哪个 音符啊,模块就是这几个,然后我们这里编译成功了啊,编译成功的话我们就可以直接点这里就可以把返程跑起来, 然后再来看第一个磨开,第一个磨开他说的是按键,按键,这里啊这里是独立演奏的,按键进来会经过一个消抖啊,就在这里,这里是户外,户外就整个模块都不工作了。消抖的话这里有按键消抖,按键消抖就是通过这个时间延迟就给延迟的话,他计数器在这里, 如果他一直按的话,记住鸡蛋就一直加一哈,加到这个值的时候他就会进来判断。看你按的是演奏按键还是设置按键啊?一二是设置按键,如果是演奏按键就看你按的是哪个,如果是这个这里就对应的是一号,二三四五六七就对应的, 陡然没法说拉稀。然后下面这个是一个模式,他说了他那一设置的是低位啊,低位是独立,零的话就是独立啊,一的话就是 演奏,那么按二的话就会乐曲那个练习啊,他就会把最高位按一下就变成一,再按一下就变成零,这样就可以构成一个循环的一个切换 好,然后下面这个是没有按哈,没有按的话他就跟复位状态是一样的,然后有了这个值之后他会来这里啊,这里会把这个独立演奏的 只给他放在这里面进行一个低中高的一个编码哈,假如他这这里我们选的是零零,零是低音啊,就放进来三个零, 两个零,两个零,加上这个就是低音的多,然后如果是零一的话就是中音,然后一零的话就是高音,这样就可以把这个间值给输出去哈, 那剑指数据,然后他就不,但是他不能一直的播放这个烟,他有一个节拍,就是这里可以控制,因为整个系统始终是五十兆嘛,五十兆除以四就可以构成个四分之一的节拍,这样去控制就可以哈, 下面这个就是控制一个节拍的,这里跟前面消抖的原理是一样啊,只不过这里是倒计时啊,前面是加一,这里是减一,他减到零的话就一直保持在零这个地方, 然后同时这个音符会消失掉啊,就是变成凌云,凌云就是代表不播放的意思。好,我们看下一个模块, 然后这里是一个自动播放乐曲的一个,我跟这个模式刚刚说的,这里是,这里面存的就是乐曲啊,可以放进来,这里零零的话就是低音啊,这里存的就都都, 这应该是个小心心的哈。多多,咪咪,这个是这个啥?多多,这个看一下,这里是一吗?一一,这里是五,不是, 这里是缩彩队友看,这里是拉哈六, bcd 码八四幺,这样看就可以了,哎,直到最后面一共是五十一个,这个长度也可以改了,你要存多多长都可以改,这里就可以,然后节拍。 刚刚说了哈,也是一样的,这里是四分之一啊,这里每到一个值到这个长度就是到一个节拍,他就会切换到下一个,也就是这个地址,他会加一加一,但是他加到最大五十一的时候,他就会回到零吗?就是 如果是自动严重,他就是一直在循环,这里是自动,就这个只加到五十一之后他就会回到零,回到零又开始直接加,但是乐器练习他可以暂停下来,暂停下来就是你放一段让你再去演奏一段,放一段再去演奏一段,但就是一个乐曲,这个练习俺这里 蔬菜的直接干前面独立这个按键。来到这里啊,这里根据模式会做一个选择,就是看最低位,最低位如果是零的话就是这个演奏的哈,那如果是一的话就是自动播放的,然后选通之后就来到了 这个蜂蜜鸡模块,蜂蜜鸡毛块,根据书架的这个值,这里啊这里他有,这里如果是零零的话就不播放。甘肃的话,一的话 这里一零就是高音啊,这里高位看后面都是一样,他一二三四五六七,然后零一就是中音,后面的零零就是低音,然后有了这个分屏系数, 通过下面这个技术器,他就会技术啊,继续加加,加一,加到这个值得一半的时候给出高电瓶,加到这个值最大值他就变成零,这样就形成了一个不同频率的一个切换,那他切换频率是根据这个值哈,就这个值,然后 然后最后看这个模块,这个模块是进来之后会进行个一码,一码是因为他都是一二三售楼区,所以取低 三位就够了。第三位就是一二三四五六七啊,这里改成三就行了啊,这里改成三,后面这里也可以不要啊,如果你要加多一位就可以显示这里到七就可以了 啊,这个就显示就可以了。后面因为他是三位吗?八的话他要四位,可以,不要多余算。好,这里我们可以重新跑一下这个房子, 这里这个反针是跑起来了哈,跑起来之后看一下怎么把我们想看的参数给他加进好,这里反针就跑起来了,跑起来之后这里有每个模块的反针啊,你想看哪个模块就加哪个模块就行, 我们要看这个按键的一个键值和标志位啊,就把它加进来,加进来他就来到这边,但是他没有播行,没播行都要复位一下,复一下再点这个状, 那这个波形就出来,然后我们再把其他的加进来哈,除了刚刚加的,还有这个所存选通的数据,就是这两个数据哈,然后最后他会通过这里面把数据给播放出来,还有我们要看这个模式,要看啊, 好,这里面都加进了哈,这些关键的,那加进来之后我们就不要的,可以直接删除就行了,这里是数码管的一个显示和封闭器,那这里一样的哈,复我一下, 出一周再点这个装啊,点了之后这里可以调整视角,调到你的观看视角就行啊,这里可以变成二技术啊,二技术就知道他显示的是什么。 好像这里我们可以看到这个,这里依次按的是啊,这里把它变成进入 那这里他按的是二哈,这里这里最开始他按的是一,我们可以放大放到最大,这里他按了一个这个一哈,就这里 最低位的这个是多吗?多的话这里就给出了这个一哈,这里给的高定品标志。然后这里他就选通了一个一这个哈,因为这里零一是 零一是这个啊,这里可以看这个低位的哈,就是看二进数也可以低音的零零,然后后面是零零一吗?就相当于是低音的多啊,那低音的多,他要播放,播放就在这里就分屏就可以得到播放他,但他不能一直无线播放下去啊。 播放到这里这里他又按了一个这个第二个哈,躲 r i r, 这里就选通了,这个是独立播放模式。模式就看这里啊,这里零零,最低位是零的话就是独立播放,一的话就是自动播放啊。自动播放,我们看一下,自动播放在后面这里这里他按了这个, 这里他按了这个克雷伊哈,克雷伊就是切换到这个一个自动播放,这里就变成了零一吗?他就开始自动播放了。自动播放的第一个,刚刚我们看的是多多哈 啊,多多后面是缩啊,就是五,就是对照着这个阅读,阅读表来看就行。这里这里两个一,然后两个五,然后两个六, 那就这里哈,这里两个一吗?啊?两个幺,一五,然后后面是六啊,这里 这里啊一一五五六,后面后面这里也是一样哈,这里是零,就是没有播放啊,根据那个乐谱来播放,然后这里他按了一下,按了一下他就切换到了那个来啊,他就那个 乐曲练习模式,练习模式就可以先放一段,放一段之后你就可以按那个演奏, 按这个切换,刚刚说了一的话,他就会自动的去播放那个音乐,零的话他就切换回来演奏模式,然后你就可以根据乐曲放一段乐曲练习一下,放一段乐曲练习一下 就可以了。来这里看下代码, 这个反正他比较常用,所以就比较慢一点,他就这里啊,这里他变成了幺幺吗?幺幺就是自动播放了,自动把这里频率可以看出来,根据播放的这个不一样,他的这个频率的占空比还有快吗?是不一样,他这里这里零的话就没有啊,能看出来, 哎。这里他就按了一下这个,按了一下这里他就变到了那个按键演奏模式吗?按键演奏模式,你通过按键就可以把它出来,就这么放大看一下 啊,这里他按了一下啊,这里按了多啊,就是按键按了多,然后他就选通,选了。本来 是三的话就会播放,但是你是独立的,独立就是零一,他就选了一这里,然后他就播放的是一好代码和返程就是这样的。还有这里可以看到一个他的整体的这个啊 t 二图, 这就是他整体的一个框架图,就刚刚看到的顶层文件,他构成了一个电路图,好代码和返程就是这样的哈, 感谢收听,有问题可以留言与我们联系讨论,且代码不易点赞收藏支持一下, 有其他想法或者建议也可以留言讨论,大家共同进步,感谢您的支持,谢谢!