FPGA|CPLD|ASIC论坛
直播中

chunfen2634

9年用户 184经验值
擅长:可编程逻辑
私信 关注
[经验]

【潘文明至简设计法】FPGA学习资料汇总,免费下载

` 本帖最后由 chunfen2634 于 2017-6-29 15:27 编辑

大家好,这里潘老师将精心录制和编辑的FPGA学习系列教程——《至简设计法视频教程》分享给大家。教程充分考虑0基础朋友的实际情况,手把手带领学习者分析思路、编写代码、验证、板级调试。一步一步,直到最后设计若干较为综合的逻辑系统。

    视频教程以我们自主开发的明德扬fpga至简荣耀板为实验平台,通过若干基础和综合的系统设计讲解,一步一步掌握fpga设计与验证的思想和方法。
以下为知识总结点:
1.Verilog快速掌握新版
Verilog HDL作为一种硬件描述语言是我们在学习FPGA时所必须掌握的工具之一。虽然Verilog HDL的最大优点是易学易用,但是由于其语法较为自由,因此初学者在使用的过程中容易犯一些错误。
明德扬至简设计法由拥有多年FPGA代码编写经验的潘文明老师首创,不仅能让初学者在短时间内掌握Verilog语言,而且编写出的代码简洁无冗余、准确度高。我们将通过一系列案例,让您得到关于Verilog的高效点拨。

01 D触发器及代码
本视频讲述了编写FPGA程序最重要的基础——D触发器。很多同学觉得要把数字电路基础学完,才能学习FPGA。实际上,很多知识是不需要用到的,我们只要清楚D触发器就足够了。大家通过学习本视频之后便可以开始着手写代码,无需再浪费大量的时间去学习理论知识,实践才能出真知!


02 FPGA设计思维
什么是FPGA设计思维呢?本视频可以告诉你,教您区别、理解硬件思维和软件思维的不同,让你全方位掌握FPGA的设计思路。


03 我们的第一个设计
当你看到一个项目要求之后,如何设计呢?也许你自己感觉已经懂了,于是在模模糊糊的情况下就开始写代码,没有清晰步骤,最后需要反复打补丁才完成?
本视频通过一个简单的例子告诉你如何正确地设计,手把手教你设计的思路、过程。


04 我们的第一个设计思路
明德扬根据多年项目和培训经验,总结和制定了一套科学严谨的计数器规则。只要按照我们的“计数器架构八步法”,一步步考虑你的设计,就完全不存在无思路、无从下手的问题。本视频主要通过一个案例来阐述明德扬“计数器架构八步法”如何实现代码的全过程,即便您是Verilog初学者,也能快速掌握。


05 第一个设计语法总结
如今市面上有不少关于Verilog语法的书籍,但实际上我们常用的语法并不多,如果花费大量的时间和精力去钻研全部的语法,那么这显然是不明智的做法。本课程所介绍的语法,可以覆盖绝大部分的应用,而且完全不影响设计效率。我们视频通过总结一些基本的语法应用,让您掌握至简设计法的精髓,帮助您在以后的学习中打下坚实的基础。


06 我们的第二个设计——串口
本视频介绍的是串口的发送模块的练习要求,让您在实践中掌握至简设计法的精髓。


07 我们的第二个设计——串口思路
本视频通过基于至简设计法中的“计数器架构八步法”来讲解串口发送程序的编写思路。学员通过明德扬的系统培训,只要按照至简设计法的步骤来做,肯定可以一次性地设计出简洁清晰而且正确率高的代码。

2.定位问题
作为初学者,仿真和调试时经常遇到如下问题:时钟一直为低、信号为X态或高阻态、波形与想象中的不一致、功能实现不出来等。
这种情况下,大部分学员都是从网上求助的。由于其他人不知道你写的具体代码,所以根本无法得到有效的帮助和解决。
定位和解决问题,是工程师的基本能力,因此遇到问题不必急于求助,而应静下心来,自己解决。
明德扬的系列视频,教授您一个“任何问题都能找到”的定位问题方法和思路,并通过多个案例,让您一步步掌握定位问题和解决问题的最佳方法。

01 FPGA 如何查找定位问题1
本视频是明德扬查找定位问题的总纲视频。明德扬将错误类型归结为三类:软件工具错误、语法编译错误和功能错误。
本视频介绍了三种错误类型的解决方法和一般原则。其中语法错误中,我们创新性地提出了“代入法”,可以定位大部分的语法错误问题。


02 定位问题案例1
一气呵成把代码写出来了,开开心心来仿真,本来想着马上就要看到结果了。但想得太天真了,最有可能出现的就是波形跟你想的不一样。即使潘老师这么有经验,也经常出现这样的情形。
这个时候怎么办?当然是硬着头皮去找问题啊,指望别人来告诉你是不现实的,没有多少人愿意花自己的时间给你解决定位问题。
但定位问题,你的思路对了吗?很多人第一反应就是去检查代码,从头浏览一遍,这是正确的定位思维吗?
本视频将告诉你正确的答案。


03 定位问题案例2
有同学会怀疑,用明德扬的定位方法,真能什么问题都找到吗?万一我不是设计代码问题,而是测试文件问题,也能找到?
明德扬很有自信,没错!所有问题都能找到。本视频就告诉你,即使是测试文件问题,你也能通过我们的方法,顺藤摸瓜,把问题找到。


04 定位问题案例3
我们是否曾经遇到这样的情况:已经找到具体的某一行代码有问题,通过波形和代码一一对照,波形就是与代码不一致,这个时候甚至你都怀疑仿真软件是否出现了BUG。
但是,首先相信一点,仿真软件出BUG的可能性微乎其微,本视频就通过一个具体的案例,教你如何定位这种错误。
相信一个真理,FPGA是很简单的,是0就是0,是1就是1,不会有奇怪的现象的。当你发现很奇怪的时候,一般就是自己粗心了。


05 定位问题案例4
      
仿真出现高阻态(下图),是不是很常见?你是怎么定位的呢?是不是急急忙忙去求助?本视频告诉你,别急,高阻态也能用我们方法定位。


06 定位问题案例5
又一个常见的错误类似,输出的值也是高阻类,再次看看用明德扬方法是如何定位的,提高一下能力,以后再遇到问题就不慌了。


07 定位问题案例6
我明明在测试文件产生了时钟,但仿真时却发现时钟信号一直为0。你的第一反应是不是去检查代码?别忘了,我们一直强调的定位思维。任何错误都不要去检查代码来发现,而是要通过定位的思维。前者找到问题靠运气,后者找到问题那是一定的。
本视频用一个案例告诉你,通过我们方法去定位到某一行,认定就是这一行出错,盯着去思考,就能发现问题。

3.明德扬GVIM设计模板
01 基于明德扬课程的GVIM教程
本视频介绍基于明德扬课程的GVIM模板。明德扬鼓励大家多用模板,优点具体如下:
1. 多用模板有利于我们专注设计。FPGA学习的核心是“设计”,使用模板,能够让学员专心于设计,不用耗费大量时间在无用的地方。
2. 多用模板有利于我们规范设计。FPGA设计规范非常重要,明德扬要求学员按模板的要求进行设计,从而得到最优化、最规范的代码。
3. 多用模板有利于我们节省时间。明德扬的模板,包含了至简设计法的计数器、状态机、FIFO和模块结构等,这些是RTL代码最常见的部分。使用这些模板的时候,工程师只需按顺序填空,就能快速地进行设计,可节省大量时间。
本视频介绍了明德扬精心制作的常用模板,快来看看我们模板的神奇效果吧!


02 利用GVIM制作模板
上一节我们介绍了明德扬的常用模板,你是不是也心动了,想制作自己的个性化模板?本视频将介绍在GVIM当中如何制作自己的模板!

4.明德扬时序约束视频简介
FPGA时序约束是FPGA设计中的一个重点,也是难点。很多人面对各种时序概念、时序计算公式、时序场景是一头乱麻,望而生畏。
现有的教材大部分是介绍概念、时序分析工具和计算公式的。我们学习教材之后觉得已经完全掌握,但是当需要真正做项目的时候,就会有无从下手的感觉。例如,那些计算时序的公式,真的要一五一十地套下去,估计自己心里也没底吧。
明德扬最看重的是实践,一切不能用于实践的理论都是扯淡。为此,明德扬抛开一切复杂的理论,就从工程实践的角度来讲解时序约束。
我们的做法:先把时序约束分成几个类别,其中每个类别又分成几个场景,将每个场景下所对应的时序约束方法一一列出后,提供每个时序约束参数的获取方法,最后填好数值,完毕。
我们的目标:第一,按我们提供的步骤一个一个进行约束;第二,根据自己的使用情况,找到对应的场景后,挑出其所对应的时序约束;第三,根据提示的方法,得到参数,计算出最终结果。
我们的优势:一个傻瓜式、但实用的时序约束“操作手册”。
本系列视频,简单介绍了我们的“操作手册”,保证让你有意外的收获!
另外,FPGA是实践课程,听一千遍,不如自己动手实践,练习才是最重要的内容。欢迎关注我们获取更多资料。

01 时序约束步骤
本视频讲述时序约束步骤:约束有很多,并且总是有先后的,先约束哪些,再约束哪些,都有讲究。按工程需要,定义好步骤,这样就能一步一步约束,逐个思考,最终完成。
     
02 生成时钟约束
时钟约束是工程一开始就进行的约束。时钟约束又可以分成三大类:输入时钟、PLL等衍生时钟和自己分步时钟。每一种都有自己的约束方法,详情请看视频介绍。


03 input delay约束
输入延时约束是约束的重点。明德扬把输入约束分成三大类:系统同步、源同步和无时钟数据,其中源同步分成SDR和DDR两场景,而DDR又可再细分成边沿对齐和中心对齐。
以上每种情况,其约束语句、获取参数的方法都是不一样的。
想知道具体情况,欢迎观看本节视频。


04 output delay约束
输出延时约束和输入延时一样,也是约束的重点。按照同样的思路,明德扬把输出约束分成两大类:系统同步和源同步,其中源同步分成SDR和DDR两场景,而DDR又可再细分成边沿对齐和中心对齐。
以上每种情况,其约束语句、获取参数的方法都是不一样的。
想知道具体情况,欢迎观看本节视频。


05 时序例外约束
本节视频讲述多周期路径、异步时钟以及组合逻辑的约束,这些都是时序例外的情况。对于这些情况,处理时要特别小心,否则有可能导致遗漏错误信息的后果。


06 时序约束总结
本视频再次对明德扬的时序约束方法进行总结。总之,只要我们按步骤去做,就能很准确快速地完成约束。需要强调的是,以上视频都是理论部分,虽然原理简单,但最终掌握程度还是要靠实践。我们有配套的练习,能帮助大家真正地掌握上述方法。

5.明德扬至简设计法视频简介
01 基于至简设计法的SCCB接口设计
SCCB和IIC接口类似,是常用的外设接口,常用于摄像头的配置等领域。本视频讲述如何使用至简设计法来设计SCCB接口。通过本视频,你将发现明德扬所有设计都是有统一思路的,而且是你容易掌握的思路。
      
02 基于至简设计法的数字时钟设计
本视频讲述如何运用至简设计法来设计大家熟悉的数字时钟功能。想知道我们的方法和其他传统方法的差别吗?想欣赏我们优秀的代码吗?那么,欢迎观看本节视频。


03 明德扬四段式状态机
一段式、二段式和三段式状态机,相信您已经听说过。但是,您听说过四段式状态机吗?没错,这就是明德扬发明的四段式状态机代码写法。
通过学习四段式状态机代码,你的设计思维将会非常清晰:知道如何划分成最好的状态机,如何获取最健壮的转移条件和如何得到最漂亮的代码。
本视频将介绍四段式状态机代码写法,而我们也将陆续推出关于此内容的应用例子,欢迎关注。

视频教程在此下载:http://www.mdy-edu.com/product/list/35
` QQ图片20170629145656.png

更多回帖

发帖
×
20
完善资料,
赚取积分