万事开头难,迈出了一步,后面的脚印才会更清晰。本设计 f p g a 采用置顶向下的设计方法,展示了完整的设计功能和实现细节, 下面直接讲解干货。对顶层有问题或者功能有疑问或者设计细节有疑问的朋友可以留言一起讨论,大家共同进步。这里也有我们的联系方式,可以进行私人订制设计,欢迎大家交流讨论, 共同完成设计。好开始讲解。先打开这个 vvado 软件,然后从这里直接打开工程,然后我们找到文件的路径就可以了哈,就是这个,然后打开这个点叉 p r, 好,这里就能看到整个的一个工程啊,在这里一共是置顶向下的设计方法,一共是分了三个模块,然后这里我们可以点这个就能跑起来反正。然后这里可以看到他的一个整体的一个电路框图, 等它打开一下,然后我们现在可以先来看下这个代码,刚刚说了采用的是置顶向下的一个设计方法,然后这里是系统的时钟和复位码,然后这里是数码管显示的未选和断选都有注视。然后这里这个主要是 忌日日期的哈,就是一天一天的增加的,下面这里是忌这个周年还有月还有日,他一共是分低位, l 是低位, h 是高位低位高位低位高,一共是分了六位,再加这个星期的话就是七位,然后最后 会把这七个数据放到数码管里面,显示这个就是一个整体的一个设计思路。然后这边是他的一个原理框图啊,这里能看到,在这里啊,就刚刚说了三个模块的原理,框图好,然后抛反针的话就点这里哈,点这里就能把反针抛起来。 咱们继续来看代码,先让他跑着。刚讲了三个模块,先来看第一个模块,第一个模块是怎么实现 以产生那个日脉冲的哈,那就是通过这个时钟计数器的原理啊,计数器通过这个 counter, 就这个 t, 他不停的在加一,加一加到这个分频值的时候就给出一个高电瓶,那没有到这个分频值的时候他就是零,然后这个分频值我们设成了一个参数,他可以调,这里是以五十兆的话,这里就是五十,后面跟六个零就是一秒加一天一秒, 如果两秒的话就乘以二啊,要一百毫秒的话就除以十,就按这个逻辑去设计就可以了。 好,然后来看这个,记这个日月年周,哈,他怎么记的?然后通过这里啊,这里刚刚的分频值会从这里给进来哈,就这里,就刚刚这个 interval, 这里,然后每给进来一个高电瓶就是一,这里的日他就会加一哈 啊,还有同时他的这个周也会加一啊,这里是周加一吗?然后这下面这里是这个日期加一,日期加一,加到个位满九的话,就就满高位进一哈,就这里,然后如果没有满一个月的前加,如果下面这里是满了一个月的,这里是 日期月份的三十一的话,这里就是一啊,这里就是三,如果他等于这个值的话,这里就会变成一号啊,就会回到那如果他没有满一个月,那么他就按刚刚的逻辑,这里加一,然后低位满九就往高位进一,然后如果满了一个月的话,然后月份就会加一哈, 月份加一跟前面的逻辑是一样的,就是加加加加加,这里加加,满个位加到九就往高位进一位,然后加到十二月份嘛,一共就是这里是十二,十二的话,他就会回到一月,然后一月的话,他就会往年份加一啊,这样依次类推上去啊。下面这里就是 判断一个瑞年的哈,瑞年,瑞年除以四百的话,它等于零的话,取余数等于零,那么它就是瑞年,然后这里 如果他除以一百大于零了,然后除以四等于零,就是有余数啊,余数等于零,这个余数不等于,那么他他就是润联行也是,那么其他情况就是二十八天, 这个就可以把瑞年跟不是瑞年判断。下面的三月就是大月哈,三十一天,然后四月是小月三十天,依次类推下面 得到最后得到的时间就从这里出来,就会放到数码管显示部分,就这个部分, 然后我们就能看到它采用的是动态扫描的原理啊,就是用一个假如这里选中的是第一微信网管最右边的,这里就显示新机, 然后第二位的话就显示的是日期的低位啊,第三位就是日期的高位,一次类推,然后这个是动态扫描的,原来就是他是一直在循环左移的,循环左 抖音是通过这个时间来控制啊,就是这个 t t 就是用的是计数器,计数器就是这个,然后分频值是在这里,这里可以根据实际情况来改就行了, 然后这里之后会把这个数据放到这里,一码哈,一码的话就是假如是显示的是数据一的话,就是 a 段不亮, bc 段亮,后面 dfgh 都不亮,看到的就是数据 一号,这样依次类推就可以了。然后这里也可以看到,反正已经抛下了,这里是可以改这个硬件配置的,这里随便改,根据你的实物的情况去改就可以了。 好,然后我们看一下这个,反正反正跑起来之后,这个是他他的波形,我们这里有一个自己的波形,可以直接打开,嗯,这里打开就可以了,然后这个波形都已经配置好了,就挂复位一下,然后再让一下就可以了。 好像这里我们来看到哈,这里有反针, 这里这个反针,这个就是第一个模块分屏的一个结果哈,每个模块都有啊,分屏的结果就来到这里,这里来一个高电瓶,然后这里日期的个位就会跟着走一位哈,这里下面这个是星期啊,这里一开始是二 二二年,然后是十二月,这里是二十四号哈,星期六,然后下面加一天就变成二十一。开始是二十三号嘛,然后二十四号是星期六,二十五号是星期天,然后这样依次看着下去啊,这样星期 二十六号就变成星期一了,下面这个是日星期啊,然后这里是日期,然后这里十二月份是大月嘛,这里就是三十一 一号,后面就变成了二零二三年一月一号,现在依次看下去就可以了。最下面这里是数码管了哈,数码管选来看就可以了。那这个是甘肃的那个段选啊,这个就是未选 好代码和反针,就是这样看的哈,比较容易理解, 感谢收听,有问题可以留言与我们联系讨论,且代码不易,点赞收藏支持一下,有其他想法或者建议也可以留言讨论,大家共同进步,感谢您的支持,谢谢!
粉丝1350获赞4152

接下来我们讲讲讲什么内容呢?就是这个如何在呃 vivo 里面配置这个广角啊?配置广角啊,一般来讲呢,你新建工程之后呢,都要需要整个进行一个综合啊,综合那个布局布线之后才能做配置广角。 配置广角的方法有两种啊,就是我们一直在学习的,第一种是只要只用脚本啊,写脚本的方式来配置广角。第二种呢,就是图形界面的一个方式来配置广角啊,图形界面方式来配置广角。那我们口宣点啊,就是大家可以看一下这界面,就是我们已经做好中 布局不限了,然后就是那个比特流文件时候出现有错误,然后呢,由于是他的广角没配置啊,所以我们要配置广角,那这个窗口配置广角窗口不是很好打开啊,大家若看这里 画的,好像很难找到哪里去配置的广角的啊,那走在哪里呢?大家打开这个 open 啊,就是布局布线之后有个 open 这个设计啊, open, 我们点击一下。 好,那就等他啊,加载加载一下这个过程好了, 那打开这个之后呢,那么在这一个窗口之下就会有个叫 iopot 这东西哈, iopot, 那在这个界面下呢,我们来对它进行一个配置广角啊,你看这里就是我们的配置广角啊,它应该 他也是随机配的广角,只是说他的电瓶呢,可能是不对,是吧,那他就可乐可在 a 一二三, ld 在 a 一二零啊,阿富贵在 ak 二幺,然后随意配的啊,那我们现在呢就找找啊,我们的配置广角是什么? 我们打开我们这个原理图啊,这个原理图,我们找到我们的 clock 啊,我们搜索一下这个 s y s 可乐可啊,就找一下他啊,来可以看一下这个可乐可。他是呃那个差分的啊,差分的广角他有 p 和 n 啊, p 和 n, 那么,呃, 跟可乐死不一样的是可乐死的话他只是差分广角,对于一个广角呢,他只是要用一个什么呢?呃,只要 p 用就行了,他自动会连到 n 端上去,那这里呢?我们这个顶头文件就还要同时设在这个 p 和 n, 那我们首先直接用一下 p 啊,就作为我们时钟啊,看可不可以啊啊,这个时钟是两百兆的,看到没有?这是两百兆的啊,啊金正是两百兆的,我们直接就用这个广角啊,这广角号是看一下是多少 是 a 一幺零啊, a 一幺零,我们直接就 a 一幺零啊, a 一 a e 幺零。回车啊,然后呢接下来是一个这个 led 好门 led 灯啊,看见没有啊? 啊,有个 led 用户 led 灯,那么我们可以看下这有个 led 的一个一和二,对吧?我们让 led 一亮一下啊,我们就一。 ok, 在哪里哈?那么是在 j 二十七哈,勾二十七哈, j 二十七啊。回车,然后呢我们再看一下是这个呃复位啊,我们应该是 s y s 啊 house t 有没有我们直接复位 house t 啊? b p j house t 是吧?我们看下 a p j house t 是哪里?我们需要连到一个按键上去 啊, ok, 呃,那么它是按到一个按键上去的,看到啊,它是按到按键,这个 k 三就是我们的按键,所以它的一个按键上去,我们就是用这个作为我们的复位按键吧。啊是 好,那么它是 l 二八啊 l 二八 l 二八。 好。那 before 的话呢啊呃在你我现在点保存的话他就要你是不是要生成一个文件因为我们之前 是没生文件啊。那我们就生一个文件啊 pwn led 啊点 t 叉 c 啊保存一下就 ok 了啊 好了这是保存下来啊这时候我们就可以放进来看见的是这里一个约束这里面会多了刚才我这个文件啊在约束啊在下面而我们上次设计文件在这里啊 啊这里面的红色就表示有错误啊应该这是 defor 的十八应该是不行的啊那我们改改改成比如说 lv 常用的啊 lvds 新 boss 三三版啊看一下啊啊也不行啊。 嗯啊是因为跟其他有冲突吗看一下啊嗯啊应该是这个 clock 广角它不支持新 boss 三三是吧啊我们看一下看下是哪个 啊不支持那么我们看一下其他的啊幺五 r k 啊看一下这样是可以支持的啊。我们保存 ctrl 一下啊啊保存一下 hold the wise 是吧保存 啊他说这个呃说应该是保存有问题是吧我们等下看看啊把它打开这文件那么就可以看出来哦他是应该没保存到是吧我们再保存一下 啊他说从呃就是保存的时候有问题是吧那我们就重新命个名吧不知道是哪里打开的是吧啊 c purcha 啊约束 二啊我们就是 p w m 幺 a d 杠二吧。嗯 ok 好那么这有个 p 答案要是二啊这个是不同的啊那我们这个就不需要了。好我们把它叠叠跳。 ok 行我们就保存一个。好我们保存保存之后呢呃我们再重新做一个 genera b 特例文件啊,可以看一下 再说呢它就是这个布局不限 dissite 就是 our data 就是过期了啊,所以我们再重新再弄一下,这时候你可以关掉哈,也可以关掉哈。然后呢我们再去看一下 logo 情况啊,看下 logo 情况 好,通过这样方式呢,我们就能把这个呃广角给配置完成了啊,然后一直到那个生成比特的文件就可以了啊啊所以时间关系的后面就呃这个生成主页的文件我们就呃带过啊,还是等等啊, 应该很快看一下啊。已经在这个布局布线了 啊,可以看一下这边就是 read 啊,就是一个在 read 就布线的过程中 啊,这边呢就可以看到这个窗口的一个情况以及还有这个告诉信息啊, 通常来讲呢警告的信息我们都要看的啊。呃一般的警告都有可能会有潜在的一些能提示你一个潜在的逻辑错误啊,或者说那个绿化错误之类的啊,所以是要必须认真去看的 hmm。 嗯来这个深层的比特流文件 okay 那么这个窗口出来的话呢就表示是就是已经生成完成了啊,然后这里面选项就告诉你第一个你是否要打开这个呃布局布线后这个 designer 啊,或者你要 review the report 啊, 或者说是 open 一个硬件的管理器啊,这边就是举报是要下载的意思啊啊这边是捐了一套啊 mary config 文件应该是固化文件啊,那么就根据你的需要去做啊,我们这个 ctrl 啊就可以了。 ok 那么通过这样方式呢这个视频呢?这个杰克的主要是教大家如何去配置这个广角。

啊,今天的话就是我们就是自己创建一个工程啊,然后进行一个仿真,然后实现的功能吗?其实就是一个分频器,也就是计数器的一个功能。 然后我们打开 vlog, 二零一八点三,在这个 create project 里面选择然后 next, 然后这里面我们创建的一个工程名字,我们叫 test con test 吧, test account, 然后在这块选择 rtr project, 然后现在我们没有原文件,我们需要创建,所以就直接 next, 然后在这里面选这个,选 next 吧, nice, 然后这里面我们选择的一个芯片型号,呃,这, 这里其实因为我们不做真实的下载硬件,硬件下载,所以我们随便就这里面选一个,然后进行仿真就可以了,点费类似的, 然后创建完工程之后,然后他会默认会有这个这三这几个目录就是一个原文件仿真目录,还有一个就是优秀文件,我们在这里面添加 other resource, other sources, 就创建一个原文件,这里门一定要选择是爱劳。 create dessert sources, 就是创建原文件,就是 vlog 语言,然后我们创建一个,我们比如说给他起个名字叫做 content, content 十吧,我们就对他就是比如说做一个十 的一个技术,然后这里面呃我们点 finish, 这里面它其实可以选择,就是跟啊,可以写,比如说它的一些输入输出信号,这当然我们可以通过代码方式来写,我们就直接点 o k 就行,手动来进行写。 创研之后我们会有个 model conte 幺零这样的一个,呃,这样的一个 model, 然后我们需要给它写一个输入信号, input, input, 我们第一班第一个的话就是 clock, 我们克拉克引,克拉克印,这样写 input, 再写一个 r s t 输入信号,然后我们需要有个输出,输出普特输出信号的话,我们用 output rag 这样一个,比如说 output rag 我们写,因为我们是初出是十嘛,我们要做寄售,所以我们就随便写一个,呃,比如说八位的吧, 就是 count out, 这就可以了。然后我们下来就是携带嘛,就是对我们的时钟进行这样的一个啊十分频,然后就可以了阐述这样的一个技术,那我们先啊就是 写它的一个 always 处罚信号,它的一个敏感信号的话就是 pose 就上盛言的一个 clerk, 然后这里面 是一个模块,需要一百个摁的,然后我们对如果 s t 刚输入信号,如果为低电平法,就是复位的过程中,我们要对我们的对我们的信号进行这样的一个复位,那我们就需要对 outcome 写个零。 as 的话,因为我们要对时钟进行这样的一个时钟,进行这样的一个分频,那我们需要再写一个,就进行一个十分频的一个技术,那我们直接就是 record content, 一个就是 time content, 这个数据的话,其实我们呃到时可以根据自己实际的宽位来进行写,那我们在这个清除的时候就 temp content, 同时也要对它进行这样的一个清理。 s 的话,那我们就是 f tempcot, 比如说那我们就十的话就是零到九嘛,如果它等于九的话 big end, 那我们对它 temp content 要进行这样的一个重新复零,然后对我们的 com 这个技术要进行这样的一个加一, 进行这样的一个加一,然后呃我们加一的话,我们复制的话需要用这种 组呃,非组色式复制,这个写错了。 airs 的话,那我们就是要 对这个就是当它技术不为不为九的时候,那 tempcom 呢?就是要四加一, 这里我为了保持一致也写个 big and, 这样的话我们代码写就写完了。同时我们在这块的时候,也就是对这个 outcome 的,也就是复制它自己, 这个其实就是一个完整的一个啊,我们就进行的一个十分频这样的一个代码,看一下这里爆了什么错误。 big end airs 这个少了一个分号,这个其实就是类似于我们写 c 元报,比如说 inter i 等于零, i 小于等于 i 等于九的时候, i 加加,这样的话就执行的是十次 等于十四,就是就是当 i 等于九的时候,执行我们这一段的代码,那好,然后我们把这个写完之后,然后我们这个时候我们有了这个 我们的 vlog 的语言的代码呢?那我们现在就需要对它创建一个仿真文件,然后然后我们就选 id resource, 创建一个啊,一个仿真的一个原文件,然后这里面我们直接 close to feel, 我们就写成 cont 幺幺零 t b 开始的奔驰这个名字我们自己随便写,我有人许呃,把这个 t b 愿意放在前面,我也愿意放在后面,这只是干大家的一个这样的一个习惯, 这个同样的它也需要写这种输入,输出信号,我们不需要有,所以我们直接就 ok 就行了。 然后我们有了这个代码,然后因为我们没有任何这样的一个输入信号,所以我们直接就啊,不需要,那我们先写他的引进手 initial, 我们需要有一个这样的一个时钟 where, 一个 clock 改, 这个应该用计从器合适。再写一个 red r s 七复位, 那当然我们也需要一个这样的一个技术的一个 reg count, 我们这里面可以用一个大写的 count count out。 复位的话,我们呃就是上来的时候,我们先对它进行这样一个复零, 上来也这个 reset 也是负零,然后这样的话我们延迟上个,因为我们延迟上几个时钟单位的吧,我延迟十个单位之后,然后让这个 st 给他制成一就复位成功。 rag 八零 count out, 然后,哦,看一下这里有什么错误, rag 来了个两千 key words 啊,这里写错了。 然后这个时候我们要对时钟进行这样的一个呃,就用一个 always, 就 用一个 always 延迟上五个时钟单位, 对他的这个始终进行一个 free。 当然我们这块也需要调用我们的这个 test account 这样的一个模块,那我们就是相当于是我们的研究我们的类一样 在这块来进行调用 count, 我们写个 u 吧 u 零吧,然后把我们的这种输入信号填充进去。第一个就是 clock i, 它的我们的对,我们的 conte 幺零,这个它,它的一个这个呃 clock, 然后对它的 r s t, 当然也有我们的这个 count out, 然后复制完之后,然后我们进行这样的一个仿真,就是看我们的输出 就是这个 control out, 对吧?也就是我们这块的一个输出,他是不是就是时钟,每个时钟的上升年之后,他的技术加一,我们进行一下这个仿真, 仿真有错误,但是不知道哪里错误, 我们需要看一下啊, 可乐可爱,可乐可爱 sta 啊,这里我们看到这个错误短视 ctrl 是 promit, 这个我们看这个应该是我们把这个类型,就是计算器跟 y 需要连接, 再仿真一下,这把看着应该仿真能过, 看一下我们的这个仿真的一个结果。时 中我们先看时钟有没有跑起来,我们把这个时钟看着跑起来了,然后复位的信号的话,我们看有没有跟随我们,就是我们也可以看到其实他延迟了 十个这样的一个适中周期之后,他就是质疑了,这个没问题,然后看我们的技术, 技术他在从第啊,应该是从这块从这第一个使用周期之后,然后他处发我们看一看一下他这个技术也运行了, 我们再到他的幺零五到五的话刚好是一百这样的一个拉秒,一百个拉秒,我们的始终是十拉秒这样的一个啊。方波。所以就是我们可以看到我们的技术确实也成功了,就是 可以看到就可以看到我们的这个技术,胎儿仿真成功了,这个 需要放大一点 啊,我们可以看到这个其实就是我们仿真的一个结果,当然就是我们随着这个时钟的话,他进行增大的话,比如说他这个技术可能啊不足, 就是我们的应用只有九位吗?所以可能我们倒是根据实际情况,就是我们需要分屏多少多少的,我们需要指定他这个数据位,因为我这个仿真他只有仿真的是 我们可以看到这个是应该是一个 啊,一一千 千个蜡秒,就是一千个蜡秒这样的一个仿真。还有一种情况下,其实就是我们在这个复位的时候,我们看一下复位是十十个使用周期之后,对吧?那假如说我们在啊,我们可以把这个使用周期,比如说他 把这个时钟,比如说改成两个这样的数据,那这样的话,其实我们的代码其实就有一种情况,就是他没办法进行这样的一个复位,可以看一下, 我们可以看到因为他他没有执行这个 result reset, 所以导致这个就是 他的第一个输出,他的结果是没有的,我们可以看到他没有,他还没有复位呢,所以他后面这个结果是一个无效的。这种一般情况是我们的这个复位 因为我们这个复位他还没有执行,所以导致他这个值这块没有进行初始化,所以导致他的结果是不定态的。这个其实是我之前踩的一个这样的一个坑。 为什么说呢?为什么这样说?因为我们看我们需要在时钟的一个上升沿这个处发的时候 才这个时候进入,但是我们的这个复位在这个两,在这块两两拉秒的时候已经复位完了,所以这块我们这一块的代码就是这块代码就永远执行不了另外一种方式,其实我们可以 在这一块加一个,就是我们的这个复位这个信号他的一个上升严的时候, 把这个代码正好改的话,应该我觉得应该是可以了。就说我们是两个处罚信号,只要有任何一个处罚信号,我们都可以实现我们的功能。哎,这个好像他也他也不行哦, 就说他在啊,他已经上升了一年了,他应该是高电瓶了,所以这个还是有点不太行的。 那我们还是就是老老实实的把我们的这个复位啊,始终改改大一点,就是我们要啊让我们的始终产生的时候,对吧? 始终产生的时候这个就复位,对不对?第一个上升严的时候,他的复位还没有进行这样的一个,呃,还没有这样的一个,就是呃在后面就是他还他还没有开始,我们改了十二个,其实超过十个就可以了。 所以这块其实我们再来看哦 c r p c 代码,它的这个逻辑性很强,就是我们一定要因为它的代码是并行的嘛,并行的,所以我们一定要建立好我们的这种时钟观念。 就是啊不能再像我们的之前这种 c 员的这种方式啊,我们默认他是按顺序执行的,他是需要有这种时钟观念来进行这样的一个啊执行仿真的。所以这个其实啊 写代码的方式跟我们 c 员很类似,但是他这个思想完全是两回事,这个就是就是我们今天做了一个简单的这样的一个始终技术分频的这样的一个功能。

我们现在准备讲一下 vr 抖的一个使用的一个方法,呃,如果我们学过 cross 的话呢,那么 vr 抖的工具呢?我认为功能点上啊,都是差不多的,例如说我们使用这工具无非是要干这几件事情啊,分别是,呃新建工程啊 啊使用 ip 盒配置广角综合编译啊,最后呢上版调试啊这些功能。那么一般来讲 ottol 或者是他有的功能,那么 vivo 也应该要有的啊,只是说界面可能不同,但其他的话都是一样的, 所以大家呃有经验的话呢,就根据之前的一个经验说我需要什么功能不知道哦, ok, 百度一下也能找到啊,说方法是很多的,现在呢我们以一个呃工程的例子来去说明一下 我们的比较抖的一个使用方法啊。首先呢我们打开这个比较抖的界面,我们使用是二零一八点二这个版本啊,这样版本啊,不同版本界面可能会不同啊,操作可能也会不一样,所以注意一下区别啊,我建议是大家都跟我们的版本是一样。 好,接下来我们来一个啊,新建一个文件啊,呃一个抛卷啊,文件抛卷有个六,但我们直接点一下啊,一个新建一个抛卷 好了。接下来是,呃不说在你的泡脚的名字叫什么,以及你的泡脚路径是哪一个啊,那注意下这个路径呢,不要有中文名,也不要有特殊符号啊,就是一个最普通的英文啊,这种去就就可以了,是最好的了啊,不要搞特殊化。 那么呃这个目录呢,我是建立的是在这里啊,个人目录可能是不同话你根据需求去弄啊不是说我的目录是在我的那个呃抛卷 est 也说是上榜的第一个案例啊这个里面上去。好我选择他啊。啊在这里面呢我已经放好有一个 src 就是代码啊我们元代码放这里 src 这里面啊你看一下我们这只是建立一个 src 的目录对吧。啊我把工程也建在这里等一下我们看一下有什么变化 好。呃我们的工程的 project 内叫什么呢我们就打算跟这名字一样我给您放一个文件叫 p w m l e d。 啊我们也放这个啊好 p w m l d。 ok 好了这个是我们的一个呃呃一个情况了 ok 我们卸下来啊 啊这一双是否创建一个 project 指目录啊。那你看你需不需要啊可以看一下。 ok 然后呢接下来是泡脚的类型啊。就是类型是什么那么可以是阿跳泡脚啊或其他的一个泡脚对吧。啊或者是 input 啊就说从其他地方导入一个泡脚上去 或者是一个 example 的泡卷啊他那个维巴斗泡卷同一个。呃可能不知道哪个地方啊可能是一模板里面创造出来一个 example 泡卷我们就选第一个啊就是阿跳的泡卷啊。 好接下来我们下步。那这步就说要不加一个原文件啊如果我们有话我们把它加上去对吧?我们可以不说我们加一个文件呢我们可以在这里面加进来啊加进来好吧加进来就可以了啊那也可以说新建公 成之后呢我们再把它加进来。那注意一下这里边啊有几个选项啊。那首先是。呃是否要扫描或者添加 t 要在各个目录啊,这个目录里面添加啊,这是看看有要还是不要。 第二个呢?就是你可以看一下这 copy, 呃,原文件 interpol 卷这个时候是什么?比如说我现在的就是在这个艾莎新目录下来有一个的。呃,原文件啊, 那么如果你选的这个 copy 的话呢,那么他就会把这个原文件啊拷贝到他自生成的那个目录上去啊,就不是用这个了,而是用另一个了。 而你如果不是 cop cop 的话呢,那还是他啊,指引项还是他啊,那这文件管理的问题他就是这样子啊啊,比较麻烦啊,好了,那么这个是那个选项,我们就不 cop 了啊,那这是一 一个圆啊,圆尾为了搞乐器掉,对吧? ok, 我们都可以呃,直接选用就可以了啊,好,我们下步啊,要不加一个约束文件啊,由于我们没有,我们就不用加了啊啊,在下步 下步就选择我们的芯片啊,就是我们芯片是哪一个?那如果是使用我们的开发板画呢?那么呃看你的版本类型啊,例如说我这个开版类型是叉 c 七 k, 是呃三二零 t 啊,这 呃原理图是四幺零 t, 其实是三二零 t, 但是不管是三二零还是四幺零,那么它的一个广角都是兼容的,只是说它内部的存储会不同啊,存储量啊,就是那个资源会不同,其他都相似的啊, 所以我们的芯片是 xc 七 k, 三二三二五 t 啊, xc 七 k, 你看啊,这个 xc 七 k 我们找找啊,叉 八七七 k, 看这名字 okay, 叉 c 叉 c 七 k 是吧?叉 c 七 k, 我们叉 c 七 v 啊,这前面 a 叉 c k 啊,三二五 t 三二五 t, 好,我们看一下啊,然后呢?呃, f g 啊, f g 九零零啊, f f g 九零零 f f g 呃, t f g hmm, ok, 这里啊 f g 九 f g t f g 九零零,跑哪去了? s s v 哎,直接直接搜索一下那个,嗯,速度啊,没有看一下啊?九零零,这里 叉 c 七 k, 好,就是我们找到是这个啊, 三叉夫叉七七 k 三五 tfg 九零零,杠二啊,这是二,是速度等于是二的啊,好,我们选中之后我们直接下一步啊,就 ok 了啊,我们就是新建的一个破解 啊,然后等他去做人这事情啊,这个比较抖的工具都是比较慢的啊,我这台电脑都算是比较好的,但是也需要比较 长的时间。嗯 嗯, ok, 然后这次是我们新建呃,那个 vivado 工程的一个过程。 好,现在可以看到啊,我们这里这个目录啊,打开这目录的时候我们有个 sos 啊,这个目录就是能看到我们的目录结构,而这一边呢则是我们的 那个呃,一些选项的设置,而这就是我们的一些信息啊,而这边是我们的 logo 的一个状态。

我们把这工程生产完之后呢,那么我们接下来就是怎么样呢?对他这个综合编译,对吧? 呃,虽然要配置广角啊,但是我们先不配广角啊,首先呢一般呢我们要综合之后啊,综合编译之后呢,才能够配置广角的啊,因为不然话只是代码,他无法识别你的广角号是多少, 所以对代码进行一个综合并且变异,然后才能配置广角。那我们怎么做呢啊?可以看一下啊,就是我们一个可以选这个点这个大小的一个运行符啊,这个运行符 那么就可以运行啊,你可以点一下就运行一个综合,这是布局布线啊,这是一个布一个方法,那么也可以点击这里啊,捐的比特流就是产生比特流的一个文件的过程,对吧?那你可以用点这个也可以点这个啊,点这个的话呢,那么 就会有几个步骤,第一个步骤呢,他是做这个综合看这边啊,这个综合的步骤啊,点下面这一个呢,那么他就进行一个布局布线的步骤啊,若点这个呢,就是前面的东西呢,都可以啊,一起做下来啊,例如说我直接点一下,就这里头比特里文件啊,我们可以看一下啊 啊,这里面他就会告诉你运行的一个情况,那么注意下一个是,呃,运行的目录是什么啊?第二个是你的选项,首先这个选项是用多少个现成啊?来去运行这一个啊?抛卷, 那么不是说我这里就可以用十二个啊,因为我们是十二个县城啊,都可以直接可以用啊,当然你可以减少一下啊,多少个?四个啊,反正你县城越多你就越快,对吧?不是,我就选个十个县城哈。啊? ok, 那我们点一下, ok, 那就是一个运行的一个过程了。 ok, 然后呢比较重要的是啊,那么可以看一下啊,那么他在运行过程中,那我怎么做他运行的状态呢?大家注意下看这个窗口啊,最后这个窗口 在窗口里面有个 logo 哈,有个 logo, 那 logo 里面你可以看一下它有三个选项,分别是综合布局布线以及 smile 仿真,那么你看一下它综合的话,那么它就会有不停的一个 logo 提示在这里,那么我们的报错还是不报错啊?一切以这边的为准啊,这为准啊,比如说我们看报告是看这个呃综合和布局布线,那么他的呃报错信息是是最详细的,那当然大家还有一种是在这 message 啊,这里面啊,这个信息 里面,那这边呢也会有接报错信息啊,但是这里报错信息是是更新不及时的啊,有时候他这里还显示有报错,其实要等你编译综合之后呢,他才会消掉, 说这时候的信息是不不准的啊,我们以这个 logo 这边为准啊,以这个 logo 为准啊,这边呢才是我们所要注意的一个事项,对吧? 好,那么第一个他综合完之后的呢,之后呢,我们要点这个啊,实现的这个步骤,这里面的一个 呃,一个一个 log, 如果是,如果没这到这步,那这边是空白的啊,那这一步呢,他就是一直做这个布局布线,一直到生成比特流的一个过程啊,他跟我们的 colus 是不一样啊,也是整个边 啊,综合一样,是吧?啊,大家可以看一下这次用这工程我们也是变异将近有一分钟了啊还是没变异完如果是那个快乐石化这么小的工程那其实就已经呃怎么说早就变异完了啊啊他就是比较慢是吧比较慢 啊天然的慢你看他还在做这个布局布线啊啊这个叫二 那如果是出错的话呢啊那么这个出错信息要在啊这个窗口显示然后最终呢也要看在这里面去看啊。 好你看下这个提示啊比特刘文卷卷的瑞特啊这个水神啊那个失败了啊失败了那么呃这个失败怎么回事啊我们可以看到梗啊一般是看综合还是看时布局布线就看哪个对方出错了啊然后我们找到 这个报告找到他 l 地方比如说这是 l 啊你看到这是 l 这是错误那这就是我们的错误啊啊这是错误来你可以看一下前面还有啊啊不要只盯一个我们就把这错误都找出来啊找到他第一个出错的地方对吧第一个出错的地方例如说这个呢啊 啊你看一下啊啊没有定义的 i o 标准哈有三个中的接口是用的 defaut 但是没有去编译它 也就说如果我们广角没有配的话呢那么他会报错的啊不像四十的 cos 他会随机给你分配一个广角而这里呢他就直接给你报错了啊 而且比较恶心的事他就是在最后的时候才给你报错如果管酒忘忘记配了综合整个中华一看最后啊管酒没配置啊又重新再来啊所以这个也比较 啊比较不好的地方啊,那这个是广角配置的一个错误啊,那至于广角配置括呃配置的方法我们接下来再讲啊,之后再讲啊,我们现在来主要是看看整个过程里面,假如说某个步骤错了,怎么可以看得出来?例如说这个代码我们打开了啊 啊?这个打代码,那如果说例如说我这个线上没定义,对吧?我们把它消掉, ok, 好,把它消掉,然后呢我们对它再进行一句,呃疑似产生啊这个比特流文件的过程。好,我们可以看一下, 你看这边变空白了啊,那这边呢也是变空白啊啊准备运行是吧? ok, 我们可以看一下这个窗口,那这边呢?你可以看一下这个综合表示 正在装眼状态啊,这是可以看到的。 ok, 那么立刻就说综合有报错了啊啊,你看下这么时节你立刻有啊,之前是没有,现在才有,对吧? 啊?这里说 camt 零没有定义啊,没有定义。第三十行,三十二,三十二,三七七三,这用到了 camt 零,但是这 camt 零在哪里不知道啊,所以这是 message 啊,就是信息窗口会提示你这信息啊, 那么另一个你可以看一下,是 log, 这里面呢,我们一般我喜欢看这里啊,看这个 log 找到你的第一个 l 出来 啊,然后他的信息非常详细的啊,这康特林是没有定义的啊,在第二十六行没有定义啊,所以这才是报错的啊。现在呢,我们把它改一下啊,你看一下改一下, ok 啊,那现在应该就没有错误了吗?对吧,那这里面是觉他还 是会保持之前的一个情况啊,所以很多人就比如说有其他错误也是这样子啊不要生成 ip 啊重新编译一下发现这个错误还在信息还在啊。那其实你没有去综合编译啊不然话他还他还是有啊, 有这个东西出来的啊除了你综合变异或者说没有错误,甚至我在运用过程中还是发现的就是这个信息会延迟很久才会把它消掉啊。是有可能的 所以最重要我们是看的是这个 log 啊这个 log 的情况啊所以你可以看一下啊这边呢也可以告诉你有错误点哈。这有错误点啊所以这是错误的情况。好我们就继续把它再产生一下 ok um 好了啊那么他就又继续再去运行了对吧。呃再再看一下是这边右窗口那么他也在运行说我在做这个呃综合这个步骤啊综合啊,你看这个综合已经完成了, 然后呢就有初始化的 decide 啊。其实这是在布局布线当中啊布局布线当中。 嗯好那么我们可以打开这个窗口啊这边啊鼠标这边可以看一下它在运行当中啊我们代码是很很小的啊可以看一下就是两个计数器啊,三个计数器啊,一个 l d 啊一个 x 啊就是这个信号 实践是个 p w n 灯的一个功能啊。 p w n 灯的功能 um 好了,正在等他编一完啊。呃就这么点的功能都是挺久的啊。啊我可以认为我们评估过就是这个梅花朵的时间大概是那个靠的是时间的五倍啊五倍以上 胃上所以对于我来说啊我们情愿在这个 hot 手上实现了一次然后再移植到这个摄影师上啊,都可能还比较好啊,都比较快。 嗯,好。接下来是 说比特流的文件啊,有错误是吧?嗯啊,这个比特流文件错误是为什么呢?我们刚才也看过,是因为它的 i o 啊。是没有啊,配置好啊。没有配置好,广角的。





啊,这里是米联克自带的这种,就是七零三五开发版自带的这个 demo 工程。然后第一个是就是 star, 我经常可能会把它看成 usat, 因为它是以从串舞开始的,不是。第二是它关于呢之间的一个硬件资料。第三个是 demo, 但某他分为呃输,就是 pdf 文件,就是他的一个教程,我打开就是这个,比如这个七 dip 基础,基础入门就是这个,在基础入门里面就这是他的关心他的 pdf, 当然他也关心他的视频,就是我们的第一个这个视频, 我们可以去学习一下,当然还有他的一个自带的这个 demo, 呃,自带的这个代码就是我们把第一打开,他这里面有。啊米连克,这是他的第一个工程,他在这个 pdf 文件里面的时候就是我们的基础入门第一个,他这里面有阻塞负值。这个前面这关键字的用法我们到时后面再讲。我们先就说先把我们的工程先跑起来,按他的视频教程先跑起来。 啊米连克,他用的是他可能用他自己的版本,应该是没有任何问题,他零是,他是二零一七点,二零一七的个 vlado, 我们用的是 vlado, 二零一八点五,二零一八点三,所以跟版本不一样,所以为了为了就是解决这个仿真过程中问题,我们先把它跑起来, 我们把这个工程先考出过来,考过来之后,然后我们打开我们的工程 工程的话,我们是二零一八点三版本,所以这个时候他原来是二零一七版本,是二零一七点四这个版本,我们 把它升到我们二零一八年三百万就是自动升级度啊,到当前版本这个是指动模式。呃,就是打开公查看,我把它升级一下,他自己就就进行工程单元一个转换,就跟我们用 vs 二零一三二零一五,二零一七,二零一九的时候,不同的工程他们之间可以进行转换, 可能大家见到的最多的可能比如说从 vc 六升到我们的 vs 工程,这个其实做 c 源开发或做 windows 开发的时候经常会遇到这种问题 啊。他这个界面的话,我们后面有一节,我们到时来讲,等我熟练了之后,我们我们来去讲。这个其实是这样,这块其实是工程的一个设置,设置属性,这是 ipip 的一个东西,主要这块其实是仿真,就我们写的文件是用来仿真的,这是 后面的话,其实我们先这实现啊,什么东西我们先不用去关注,他都是干什么的,文件的话,他总共大概就是分的。是啊,其实他分了四个目录,但是比较这个英类特模就是工具目录吗?就是可能就是一些公共的一些目录,比较重要的其实就是一二三,就是这个点赞, 还有这个约束文件目录,还有这个仿真目录。呃,点赞目录其实就是我们写的这种 vlog 语言,我们现在开发其实都用的是 vlog 来进行这样的一个 开发啊,所以这里面写的就是我们的 vlog 语言,就是一个模块按 block 的和 block 这样的一个原文件,就是组色式和非组色式的这样一个文件,而这个这个底下就是它的一个约束文件,就是它的约束文件,就是我们要进行这样的一个,就是跟我们的 真实的物理板子之间的一个桥梁,就是用这个约束文件实现了,就是把我们在 vlog 里面写的圆,跟我们 ipg 里面它自带这种管剪管角进行这样的一个关联起来,就是约束文件实现的功能, 当然他这个又是文件,好像没有。然后另外一个就是仿真文件,就是他就对我们的这种得赞。这种原文件就是我们加一个啊,就是模拟一个时钟,给一个时钟,然后来调我们这个模块, 就是激激励我们这个模块,然后进行这样的一个啊运行,所以这个其实他自带的工程,所以语法上什么东西他都是肯定是正确的。 那我们现在只需要做的第一步仿真,就解决我们仿真的调试的问题,就是就跟我们学 c 员肯定不可能先上手先写一个文件, 然后我们自己在调试,我们先是考一段别人已经就是写好的一个文件,我们先把它 hello word 先运行起来,所以我们这块 ipg 这块的运行就是我们先仿真起来,就是运行这个仿真,这个仿真 他分为好多种,我们就选第一个就行了,至于他们之间的这种区别我暂时也不知道,所以就是我们就选第一个, 他这个仿真就是开始进行这样的一个仿真,就是随电脑这系统,这个时候我们看仿真的时候报了一个错误, 所以这个问题怎么来解呢?这个我也就是刚那会放视频的时候,呃,我在一直在看这个问题,可能在直播间的同学可能就看见了啊,我其实一直在找这个问题,这问题应该怎么解呢?就是是这样子,有人说这个 个问题,就是你搜的话,有人说这个是啊,我们的 lessons 问题,但是我们 lessons 客人应该是没问题的,所以这块其实的正确方法是我们在我们的控制面包里面打开我们的防火墙, 防火墙打开之后,然后点击这个启用或者关闭 windows 防火墙,我们需要把这个公共网络设置,把这个 公共网络设置把这个防火墙要给关掉,要给关掉啊,就把这个关掉,因为我之前已经关掉了,所以我就把它关掉,这个时候还是会出问题的话,那其实应该是怎么办呢?就是我们需要把我们的工程给 关掉, 工程关掉之后,然后我们需要找到这个 米联克 sos 点 sim, 就是仿真的这个扩展名,这个目录底下的 sim 一 behavior 底下的,把这个底下所有的文件进行这样的一个 啊删除,这个应该应该可能啊,应该可能就是因为他,呃,之前仿真的时候产生的,比如说你看这个时间是二零一七年,他产生了这种仿真文件,跟我们现在的这个版本仿真文件进行有这样的一个冲突,所以引起的,所以我们把它清除掉就可以了。 然后这个时候我们再把它进行这个功能打开,让他仿真重新产生这个仿真过程中的这个文件,这块应该就可以了。然后我们再点这个仿真, 这个其实应该就是因为我们版本冲突引起的,所以这个时候我们就可以看到我们仿人之后的一个结果,我们看一下他这回事,我们把他这个图放大一下, 啊,他是这样子的,我们把这个要图要放小一点,始终至少要拉出来吧?你看这个始终 把这个图放大一点,呃,我不知道大家能不能看清楚啊?你看这个始终这个 result 一和 result 二,它这个是八和这两个八,但是一个比另外一个就是我们可以看到, 呃,就他的时钟就是晚了一个晚了,就是这个时钟,在一二三第三个时钟的时候,就是下面这个已经出出八了, 哎,这个是在第四个时钟的时候他才出八,他的原因是什么呢?就是因为 resort r 是一个啊,主色式复制啊,非主色式复制,他是由下一个时钟中心把这个数据才给输出出来, 所以这个其实就是我们仿真。至于这个组色式跟副非组色式,我们到时也根据米联课的教程,我到时自己结合自己的这个实践给大家来去详细的去解释。因为看他官方教程他可能比较 啊,比较正式一点,然后我这边导致去讲的就是结合自己的理解,就结合我们真正的是一个初学者来去解决这问题。所以 站长代家来腾这个坑,大家只需要照这样做就可以了。这个其实就是我们仿真的过程,嗯,这个其实这个就是我们仿,就要说的就是我们仿真过程中我们不同版本引起这个仿真错误引起的问题。


讲解这个直流电机的一个驱动啊。啊,这里有两个工程,一个是 model sim, 一个是尾巴斗的代码都在这里点 hdr, 然后通过这里就可以打开这个工程啊,我们这样打开 找到这个路径哈,然后把这个打开就可以了。那 model sim 的话就点后面这个哈,这个双击就可以打开。 那打开后这里我们就能看到 vvado 的一个整个的工程啊,当然你也可以自己行建哈。然后这里它是可以跑反正的这个 vvodo 如果不想用这个看起来更快的看就 有 mod sim 啊, mod sim 是比较快的。那电路图就是从这里打开,这里打开就可以了,就能看到它一个整体的一个结构。 这里进来如果都是问号的话,可以把他删掉啊,把他全部删掉,然后重新加进来就可以啊,都在这里面啊。操作就是这样啊,比较容易。 加进来之后再全部编译一遍啊,那下面就会弹出 successful。 那这里就可以运行这个仿真了哈,仿真是这个 test bench 好。然后这里再把波形倒进来就可以了。 当然这里有各个模块的波形啊,想看哪个模块就加哪个模块就可以了。然后这里我们可以看一下这个电路图啊, 他就是这样的啊。这里是两个按键的消抖啊,加速和减速,然后这里是调速啊,就通过这个控制之后,然后这里是一个测速的啊,速度从这里啊。然后这里是一个分屏啊,分屏的话就是系统是那么的一个分屏。然后这里是一个数码管的显示,然后这里通过设置的 值可以去驱动这个 p w m, 这里显示主要是显示一个设置的值和一个测试的值。然后我们现在看下这个代码,通过刚刚的各个模块的连线图就可以看到这个顶层的一个设计,就刚刚的电路图,这里测速,测速就 这里哈。测速。测速跟测频率的原理是相似的,就是耽误时间内发生的次数,然后假如这里定义时间为一秒,然后一秒发生呃多少次,就是他的一个速度哈,然后这里哈, 然后这里他启动啊,启动的话这里有个计时器,他在不停的计时,每计到一秒的话就锁一次这个数据,每计到一秒就锁一次。这个数据反正也是用的 b c、 d 的一个技术啊, bcd 的技术就是零到三,就是四位啊, bcd 嘛,他加,加到九的话,他就往高位进一位,同时本身会恢复零,然后零到三,四到七八到十一啊一次这样加上去。 然后这里有个计时器啊,看的题,他就直接加,加到一秒的时候就锁住啊,然后一秒的方向的次数就是他的速度啊,就相当 于里程除以时间哈,就等于速度。然后下面这里测出来的速度,他会来到这里哈,这里测出来的速度他会放到这个显示模块,这里显示模块可以把速度显示中, 就这个,这个是测速的。然后这里还有按键消毒,按键消毒主要是对应的是加和减哈,加和减都用同一个模块,进来之后 有按键值的话,那么这个计数器他就会工作啊,通过延迟消抖,如果延迟时间到了,这个按键值还存在的话,那么就判断为真实值,就会给出一个高电瓶,那减也是一样的哈。得到加和减之后,就可以来 设置这个速度啊。这里这里加和减就改变的是这个纸啊,加的话他就按步进三去累加,如果减的话, 这样步进三去剪就可以了,剪到的值就会就是这个。这个就是输出去的一个调节参数。调节参数就来到这里,这里是他的一个周期啊,他就按这个周期占空比, 占空比的大小就决定了这个电机的快慢啊,占空比越大,电机就越快啊,所以这个值越大,他输出的高电费时间越长,这个速度就越快,那反之就越小啊。 然后这里有一个显分屏模块,分屏模块就比较简单,因为系统使用他要分屏就才能去驱动这个电机,也就是 这里哈。这里分屏之后会来驱动这个 p w m 模块。然后我们先来看一下分屏,分屏用的是机油系的,原来跟前面按键消抖是一样的。在使能的情况下,这里 技术阶段在不停的累加啊,加到这个最大值之后,他就会回到零啊,这样一直在做这个循环。那么这里有两个东西,一个是他接到最大值,会有个标志位,还有这里是得到一个百分之五十的,一个宽平的 不行,就是分品值是百分之五十,然后一半一半的时候是一号,一半的时候是零,这样就可以对应起来。 然后我们再看这个显示模块,显示模块主要是刚刚说的是显示两个东西,一个是车制的制,还有个是测试的速度。这里是拆,把 bcb 码拆出来啊,拆出来放到每一位数码管,继续显示,依旧代表选中的数码管。 然后这里用的是动态扫描的原理哈。这里有个计数器,在不停的累加,加到最大折的时候,这个数码管要循环走一次, 这样就可以一直都在喜欢左鱼。选中不同的数码款,每个数码款选四个值。就放在这里面 看。这里是个一毛不分。如果是零的话,这里就是 a 段, b 段, c 段, d 段, e 段, g 段。中间的横杠不亮,看到就是零啊。那如果是一的话,就 a 段不亮。 bc 段呢?看到的就是一像,依次类推啊。最后这一段是小数点,他是八段吗?是吧? 好。然后我们来看一下这个反针啊,看看代码就讲完 啊。这里有个波形啊,我们就把它输进来就可以。那每每次将新的边栏进来,都要复位之后再运行啊。 啊,这里我们就看到波形了哈。这里我们可以来看一下。 这里是测速啊。在这里啊,这里是按三十二的这占空比值去走哈,就是设置的值, 他射杀的速度是幺五九哈,这个速度可以理解为就是一个值。然后这里是调速了,调速可以看到这个速度他是在调大的,刚刚说按三的部件调了,调到了四十七,四十七,可以看到这个占空比,他就他就变大了哈, 本来他是这么宽的哈,经过四十七周他就变了这么宽,那同时测下来的速度也是二三四哈,也是比较大。然后面这里他又调速了,调速这里是按的是减,他从四十七变到了十七,也就占空比他是变小了。这一条占空比是变小了,速度也就变小了,变成了 八十四。好,整个代码和反针就是这样的。哈,比较容易理解。 a few moments later 感谢收听。有问题可以留言与我们联系讨论, 且代码不易,点赞收藏支持一下。有其他想法或者建议也可以留言讨论,大家共同进步。感谢您的支持,谢谢!

啊,今天啊,打算装一下 vlado, 就是做塞林斯啊的这个 ipg 开发的一个软件,这个软件还是蛮大的,我这边用的是一个二零一八点三,这个版本可能用的比较多呃,就把它剪完之后,它是这一块,直接就是剪这个叉 set up 就可以了,直接进行这样的一个安装。 这里我录个视频给大家过一下,我自己也学一下啊。这个第一个是报了一个 java 的一个平台的 se 的允许联网,我们就允许就行了。 这个他可能是为了就要获取新版本信息, 还是比较慢的哦。 这个软件 看一看一下,这是他的,他现在报告是就是现在有新的工具。二零二二版本,二零二二点一,这个版本是可用的,我们 click latest to download this lightest version, 就是选这个,就是下载最新版本,取消的话就是安装这个版本。那我们直接就 continue continue, 然后点这个,他这里面就有一个他需要的一个 需要的一个就是一个要求他现在不支持 win 七的一个啊,六十四位,我看一下他啊, supported 啊, 是 win 七六十四位,它支持 win 十幺八零三幺八零九,我这个系统应该支持吧,我们先试一下,还支持欧班兔 这三个的,一个 lesson 四的,不是三的一个用户协议。 lesson 四啊,用户协议,那肯定要选中嘛,同不同意都得选,要用人家下面这个其实就是我看有的人用选的是这个,有的人选的是,有的人选的是这个, 就是我看好像就是轻量级的话,大家其实用这个就行了,因为我这块用的是一个认可的一个七零三五的一个开发版米联克的,所以就选这个啊,就行了。这个就是他这个 h h l 系统的一个版本啊,支 持 hl 末 hl 得在 education with 额外的一些系统生生成器 for dsp completed device super 了,就完整的设备支持适配器 drive 和文档,对吧?包含, 所以就是你选这个就行了。这个可能就是呃,就是他的那个资源点,但是从这来看的话,他这是一个完整 hr 点赞,这个可能我觉得可能是,比如说啊,他包含 c 语言, c 基础的设备就是通过 c 语言应该可以进行这样的一个转换,实现教练和设备的一个编程,完整的设备支持,所以这里面这个 c system 和这个 desire, 这可能就是超少了一点, 我们就选这个吧,选一个中等。然后在这里面就是他我们需要选择的一些东西。 呃,我们就软件开发包,我们肯定是需要选的,因为我们这里面 f 三五它集成了一个 a 九这样的一个啊平台,然后另外一个就是设备,我们是七系列就行了, 我看一下七系列就行了。然后像这个 ultra skill 这些和呃 和这个阿卓 sco 就这些东西,阿卓 sco 加我们就不要去搞了,文档的话还是加一下吧。我看他有 a 七、 k 七、 spa 分七和 v 七,这个其实就是应该就是呃,七系列比较出名的就是四种类型,可能用用的最多的就是 a 七和 k 七 spa 其实就是 spat 六的一个升级版本,可能也是一个低端的一个相对来说比较低端的一个芯片认可,我们这边肯定是要去支持的。然后我们接着来进行这样的一个安装, 安装目录的话看一下啊,我的 c 盘剩一百多 g, d 盘是 还有六十多集合,就装 c 盘吧,不行的话倒是装 d 盘吧啊,用户这个安装 model 的话,这个不要有空格,也不要有中文 啊,所以我这边直接用三零四的这个默认目录就行了,他需要大概二十七 g 的一个空间啊,这个是安装的,是为用户,就是当前用户就行了。创建桌面的一个快捷方式,创建文件的一个关联就是五个 扩展名文件,就是自动用这个维拉豆来进行这样的一个关联点,他说报这个目录没有,就 c 盘这个赛零四这个目录不存在哦,是否创建就 yes 就行了。 然后这边就是一个安装的一个 summer summer 就安装的一个就是减减数的一个清单,他就安装这这么一堆的东西,空空间不需要下载。然后安装这个应该就是一个安装比较 比较费时间的一个过程吧,这个可能根据不同的电脑是不一样的,我看一下我电脑应该配置还行吧,二七八七零零的这个 cpu, 但是看着好像也不太快哦,这当年一九 九年买的电了,现在确起来有确实有点那个啥了,有点 low 了,那我们就耐心的等待他安装吧。等待他安装,那我就把这个视频暂停一下吧,等快安装完的时候我们再接着开始 啊。说一下,我在刚安装过程中报了一个错误,说找不到一个文件,然后,呃,我尝试着改了一下,把这个 g 盘颜色原来是安装,安装文件是汉字,我现在把它改成英文了,这个重新再搞一下就可以了, 所以这个安装时候这个目录目录层级也不要有汉字,不要跟,也不要有这个空格。一般情况下我们为了保险期间,所以 这样看的话好像还是蛮坑的,现在的话它安装过程中还是看着好像还行哦,看一下 cpu 使用率 哦哦,百分之五十四,此盘就写入比较夸张一点哦。这个为什么要搞这个东西呢?这个就是我们 上礼拜就昨天吧,昨天我们把 stm 三二其实基本上大概过了一个过程,所以下来其实我当时就有两个选择,一个就是搞 这个类似驱动的开发,另外一个就是搞 apg 吗?因为为什么要这样搞了吗?其实也是有一段心路历程的吗?因为最近其实自己一直在搞这个 usb 及这个驱动的开发,但是我们其实更想接触到这种更底层的一些东西,学习的更加深入,其实呃,就必须要去搞这些东西,所以想来想去还是搞 ip 接吧, ipg 刚好手头呃,一九年的时候信誓旦旦要买一个要搞 ipg, 所以就买了一个认可开了吧。 跟之前的一个同事也聊说这个将来还是可以的,所以想学一学,最主要其实还是想将来想搞一下 pcae 的这个 ip 盒,因为自己从一年到 一五一六就这几年其实搞了大量的这种 s r p c i p c i e 的一个 windows 驱动,嗯,所以大家其实所以就 对这种 dma 啊,这种差分信号,这种数据要保证啊,这种高速这种信号其实还是蛮感兴趣的啊,如果只是天天在搞这个驱动,虽然可能大家觉得可能还是挺底层的,其实那都不叫底层,还是都是用的是人家污染,就是 或者操作系统已经封装好了,我们其实就写一个回调函数,所以这个谈不上底层,所以为了让我们武装到牙齿更加深入去了解这些东西,还是搞一搞。所以 为什么要搞认可了吗?因为认可里面带了一个阿姆 a 九的一个盒,所以这样的话我们是不是也可以顺便可以搞一个 nice? 所以现在来看的话就是这个学习曲线,可能倒是可能就会 很很坑哎。这个让安装一个试试杯器的应该是一个驱动开宝的一个编程驱动,我们安装就行了,所以 搞起我们就搞起来吧,因为因为这个 ipg 嘛,其实一直是自己想干的事情,然后自己也看过一些这样的资料,包括一九年在家的时候也用 spata 六 搞过一个 se, 搞了一个简单的一个开发版,但是四八点六现在已经基本上不更新了,所以我们就开始搞 十四,搞了个搞了个认可,我看十四它要装一个 windp cab, 但是 windp cab 已经安装过了。呃,这个是 ok 的,是 force install 的安装探索是停 制止感,我们就 false 吧,因为谁知道他版本之间有啥区别了。那就已经装过了,就忽略吧, 给人家一个面子嘛。就这个叫 mata lab for system, 它这个应该就说是可以用 mata lab 仿真,我就不用去找了, 然后安装已经欧了,安装完之后他弹了一个,这就是 license note license, 然后我这边其实有一个 license 的在这,我把它 license 直接导入一下就行了。 copy lenses 的目录,这个应该就 ok 了吧。 看他装有个这,有个这,还有个这,这个是文档,这个系统生成可能是别的。这个好像应该是我们的主空乘主的一个软件,我打开上进去看一眼, 哎呀,好像还是蛮 there 的嘛。 create 一个 project, 然后选择一个,我们就放在桌面吧 project 以及 pro 来用。这指的是什么? r t l project 这个,哈哈,好像娘娘皮,看不懂这到底选哪一个了,就默认 r t l 吧, 然后 had to feel critical, 这是增加文件,我们语言选的是 vlog 和 which dear, which dear 是另外一种语言。这个记得大学的时候学过,不过这位语言现在用的很少了,所以就是大家现在都用 which devil log, which dear。 语言还是很那个啥的, 很 miss, 店还是比较严格的,所以我们就用这个,然后再来增加文件。增加嘛,然后这个应该就是选择芯片的目录到底是哪个 a。 七系列的我们肯定到时肯定用的是认可 认可七系的我们用的是七零三五的。看七零三五的我到时候我忘了是哪个型号。随便选一个, 我看这个是啥干啥啊。这是封装,选某个封装,到时候我们看一下。这个是 speed, 杠一杠二。这是啥杠二杠三啊,这反正就是一种 不清楚类类似的。 嗯,好像还可以哦, 这个界面还是很很清新的,虽然我们现在对这个东西啊一点都不懂,不过他有文档嘛,到时研究一下。 这还要去上那个啥网。 autobe red 没关系。呃,至少证明我们现在已经安装成功了。 那后面的话我们就开始要去可以去卷这个 ip, 这个文档才弹出来。哇,好多呀,大家可以真的可以看一下这个文档还是都是英文哦。哎,英语不咋地。呵, 好了呃,这个视频就到这里吧,我下来研究一下,如果想搞认可搞 ipg 的,搞搞这个 linux 的,然后我们一起来卷起来。呃,本人提前先声明啊,对 ipg 不懂 啊,对这个 linux 驱动也不懂,但是只能看得懂这种字符串的一个驱动啊。 反正就是都不懂。然后就自己学吧,买上一买上一些书,看一些视频教程来研究吧。

万事开头难,迈出了一步,后面的脚印才会更清晰。本设计 fpga 采用置顶向下的设计方法,展示了完整的设计功能和实现细节, 下面直接讲解干货。对顶层有问题或者功能有疑问或者设计细节有疑问的朋友可以留言一起讨论,大家共同进步。这里也有我们的联系方式,可以进行私人定制设计,欢迎大家交流讨论, 共同完成设计。开始讲解哈,解压后打开这个哈皮 r 双击就可以了,然后第他打开时,我们来看一下代码哈,然后这个是顶层 系统之中,然后这个复位高电瓶复位 s w, 其是零是启动,一是暂停,然后这里是八位数码管的卫选,然后就是第一个数码管的断选,然后就是第二个数码管的断选。四个一组啊,四个一组,四个一组的, 那这里分了是两个模块吧,我们能看到,然后这个是控制模块,然后这个是显示的模块,那我们先讲控制模块啊,控制模块,这里是零的时候,复位的时候就不用讲啊,复位的时候就 他就全部恢复到初始状态啊,最这个就是那个设置的那个初始值啊,就是那个要显示的滚动的字符,然后 a, 这个 a 就代表的是 h, 哈,因为这里只能用十六斤就出来表示,所以 a 就代表 h, 然后 e 就是 e, 然后 b 就代表 u, 然后 p 就是 b, c 就是 d 哈,哦,那就是二, c 就是二哈,然后后面的 h 就是哎呀妈, 那就给六十四位的,让他会复位后他就翻到了这里,这个零到六十三一共是六十四位吗?因为这里是十六个, 十六个字节吧,十六个、二,十六个,六个数,然后一个是占了四位,所以这里有六十四个。好,然后自己打开了哈,然后我们可以看到啊,这是他的结构,这个是反针,然后这个是顶层下面 刚才说了包含两个模块,这两个模块,然后这个扫描模块里面又包含了显示模块,这个就是他一个整体的那个结构。然后我们继续来看这个代码,会的话,他就是这个值,那么要让他滚动起来的话,首先要保证他是移动状态,就是 sw, 其他是在零,如果是零的话,这里就可以定时,定时的是三个字,三个字就是三分频,如要根据你的系统时钟来分,如果你的系统时钟这里摆造,就用这个三数,然后把这个去掉就可以了,这样就可以三差二,就是三个字, 然后他就会小于这个数的话,他就一直在就记住,那什么时候能记到他等于或者大于的这个字的时候,他就会回到零,然后这个显示 的数据他就会往左移,看这里啊,这里把一的位置往左边放啊,高四位往最低位放,这样就构成了个循环左移。那下面这里是暂停吗?暂停的话计数就等于零,然后一位是不会移的,然后这里然后会把这个的 到四位,还有后面的四位给到这里和这里。咱们从顶层这里可以看到他这个数据来到了这个显示模块这里, 然后这是点最左边的四位嘛,然后这个是右边的四位嘛,但是来到了这个点,这么快点这么快,我们看一下这个, 这是显示膜刚是不是进来两个数,然后这个数他就来到了这里,然后这里就是负责选中数码管的,用的这个动态扫描的原理。然后这里零到三是一位吗? 四到七是第二位,就从左开始,左边的第一位,左边的第二位,左边的第三位,左边的第四位,然后这里是一次再下来,这里是 第二个数码管,显示他一共是一够就板子,他是有两组数码管组成的吗?所以就是四位一组,四位一组,然后这里依旧代表选装高电瓶,他是在不停的在做循环左移的啊,这个东西是受什么控制呢?循环左移他是 做做孔子啊,这里一开始复位的话,他就选中的是最低位吗?最右边那个,然后这里有个时间通过这个就不停的加,加到这个字的时候 也是做了个循环左移啊,类似于前面那个操作,这里是把六位第七位放到了最左边,然后再把最高位放到了 最右边,就构成了个循环左移。就是刚刚你看到这个,他不停的在往左边移动,然后移到最高位,他又回到这里,那这个时间是有什么控制的?就得有个计数器 出去不停的在住系到这只的时候他就会回到零,又重新开始加一加一,不停的累加,按去累加,加到这只的时候他又回到了零,又开始了一条, 好像给到了这个数有什么用?这个数可以拿到这里面来一码对腿一啊,对腿一就拿进来这里 一码了,艾特一一码之后他就来到这里面吗? 这里面的话,然后就是这个地方,这个地方前面这里零 零的话,他是怎么一发管是怎么显示,他就 a 锻炼, b 锻炼, c 锻炼, d 锻炼, e 锻炼, f 锻炼,中间那一杠不亮,看到就是零,然后一的话就是 a 不亮, bc 亮,看到的就是 e, 然后这里二跟 z 是一样的吗?这里有注射,上面就依次类推。那这里刚刚说了 a 他溢出来的是 h, 这里一选 h, h 就是 a 不亮, bc 亮,然后下面那个 d 不亮,然后后面的 e, f, h 都亮,然后 b 刚才说了代表的是 e, 但 d 代表的是 d, 还依旧是 e, 本帅,然后这样就 e 码出来了, e 码出来看到的就是 你黑麻管上能看到那些字符。让我们来看一下反针啊,反针是直接运行这里就可以了, 这就给抛开, 然后这里反正就跑起来哈,这里可以看到,但是一些仓库没有,我们可以把想看的仓库给他加进来,就点这里就可以了,然后我们要加的是这个模块的仓数,嗯,要看的是控制这个模块,这里有一个 一个四组,后面看看,然后这里可以复位一下啊,复位一下,然后再转一下, 那这里就有数据刷,这里数据要调整一下,位置缩小放大,调到一个比较方便看的地方。好,然后这里可以看到他在 跳动啊,像这个 a 一开始他是在最左边的吗?然后下一个动之后 a 他就去到了后,这一位 b 又往左左移了,好像下一个右 下个一又来到了这里,哎,去到了这里,再下一个这里,哎,又去到了后面他就在不停的在往左移。这里是一个刚刚说的一个动态扫描,我们可以看一下二级支出, 这里就二级数,看到吗?这个一是在不停的往左移,一开始一是在这里,然后一又在这里 啊,最后一又来到了最左边,最左边之后他又会回到最右边,就这样依次对腿不停在做循环。 那这里是对应的是一码部分吧,刚刚说了这里是这个幺幺,可以对应着看他一的应该是幺幺零,幺幺零幺,可以看一下幺幺零,他一的是二吗?对吧?这句话二一圈 就这样,然后你就能看到里面的纸啊,这个就是仿真,然后这里这有个按瓶啊,这里高电瓶呢,就柱子就不会动,他就 在他低电瓶后才会变黄,高电瓶他就只保持这个纸没有动,然后变成低电瓶,之后他就开始循环扫描,就不停的在往左移,好,代码跟反针就讲完了, 谢谢。艾玛不易,喜欢的朋友 可以点赞收藏一下,有问题也可以留言或者与我们联系讨论问题,或者有什么新的建议想法都可以 留言或者告诉,直接告诉我们。好,感谢大家的支持,谢谢收听。


今天我们来聊一聊如何选择开发环境。那目前我们都知道,现在市场上世界上最大的两家毕业公司,一个是 a m d, 他收购了以前的 sinis, 还有个是 inter, 他收购了以前的 hotel, 然后呢,现在国内当然还有很多国产 apj 公司在内,如雨后春笋般发展非常的快,非常的迅速,但最大的仍然是这两家公司,这两家公司呢,就这一道他各自的一个开发平台。那我们都知道 inter 公司,它的开发平台呢是 quarters, 以前叫 quarters two, 现在叫 quarters prime, 什么什么?而 a a m d 公司呢?它的开发管理现在最新的是 v vivo, 以前呢叫 a s e。 我们先来说 a m d 公司,这两家这两个开发环境,一个是 i s c 和 v 八。 我先亮出我的观点,我推荐大家在初学的时候,正在以后设计的时候用 is。 那为什么这么说呢?我们说 v 八的它非常新,但是它有一个明显的没有办法预约,首先它仅支持七系列的芯片, 而 amd 或者塞尼斯公司以前的芯片他是没有办法支持去开发的。所以你如果要做以前的比较低成本的开发,比较大量,你只能用 is, 没办法去用 v 八。 第二个微发呢,它的界面相对来讲比较复杂,安装的话对电脑的要求也比较高,虽然我们现在电脑啊都没什么问题。 vvr 呢,它的更新又非常快,每年都会更新好几个版本。那为什么它更新的一个主要主要点,第一个呢,可能会改进一些这个软件 使用过程中一些新的 bug。 第二呢,他会增加一些 ip 格,增加一些库库文件,也供大家使用。第三呢,他号称我优化了布局、布线策略等等,可以实现这个我的综合速度或者仿真速度等等,有多么快, 大概就是这些原因。但是如果你要追最新的版本的话,那你就像追剧一样,反正不断一年更新好几次,这个对初学者来讲是一件很头疼的事情。 那我为什么推荐用 iase 呢?首先 iase 它支持我们说了,以前低成本,尤其是我们初学者,一定会用一些低成本的芯片开发版,呃,几百块钱,这样呢,我们学习起来要方便一些。第二个 iase, 它同时也支持部分 七系列的芯片,比如说 a 系列 a 一百, a 两百,还有 k 系列的 k 三二五 t, 用的非常广泛的一款芯片。如果本身来讲,如果我做设计过程中接到一个项目能够用 i s e, 我一定不会用 v 八的。 那有同学讲,哎,我是不是学 v i s e 学的这个过时了,那 vro 现在做新的以后,我要追求最前沿的东西。 首先我们要明确一点, a p c 设计工程开发环境对你设计这个系统提升的性能的帮助是非常有限的。举个例子,你要想让一个你的设计代码是一样,用不同的工具来 提升我的这个电路的运行的速度,那我用工具能给我提供的帮助和你对代码的一个优化能提供的 帮助就完全不在一个量级上。并且我们对设计来讲,有些同学会讲,哎,我是不是用最新的工具,用最呃资源最多的芯片,设计完代表我的水平很高,那我现在多厉害,用了几百万门的芯片做设计,你才用几十万呢,还用 ic, 这跟我没办法比, 谁像这样的吗?对于电路设计来讲,我们要明白一点,真正 apj 设计的一个或者说一个境界在于用低成本的芯片完成高性能的产品, 性价比最高,这才是我们工程师应该要达到的一个目的。而 is 做设计来讲,这已经完全足够了。另外一点,我们现在的国产的芯片发展很快,大家都知道现在全球缺锌 非常严重,那中国的自主研发的芯片会发展越来越好。那我们目前国产的 a p c 芯片,大部分厂商它的开发环境 或者是跟 i s e 非常相似,或者会直接使用 i s e 这种要用 v y 的开发的还是非常高端的芯片,这个应用面目前来讲还是比较少,只用在一些尖端的军工产品里面。 由于国产芯片发展这么快,以后它的环境就跟 i s e 相似,所以我们现在如果从头学开始学 i s e 的话,那就是一个非常好的一个选择。 并且对于 f p g a 工程师来讲,我们再强调一点,你如果要在这个行业做下去,各种开发环境你都要熟悉, 缺一不可。还有 s 一 viva 的 quarters, 甚至你可能是一道灾点,是最潮的最早的 cool runner, 还有 quarters 那个公司最早的 max plus 这种骨灰级的, 这种远古世家的开发工具,你有可能都用得到。如果你的公司产品线非常长哎,要对那个产品做一些维护的话,你可能都要用得到。 既然从事这个行业,这些都需要学习,但是初学的时候,我们用一个最应用最为广泛,又不影响我学习的过程的开发工具,可以节约很多的时间。 对于 inter 公司来讲,我推荐大家用 quarters 十三点一,就算现在的版本,那也是很多年前的了啊。 i s quarter 十三点一呢本本来第一个这个环境呢,非常成熟啊,我用了很多年, 一点都没有问题。第二个他最后一个支持,同时支持三十二位操作系统和六十四位操作系统这样一款开发环境,这样对我们设计来讲会非常方便移植,包括前期和后期的芯片开发,都可以达到一个最大的兼容性。 那这就是我的一个个人的一个推荐,可以给大家做一个参考。这期视频我们就讲到这个地方,我们下期再见。