一时冲动,跑步进入了FPGA的大门,尤老师是教练,我之前一直做嵌入式软件,数字电路也是十年前大学课堂学过,早已经还给老师了。FPGA对于我来说完全是小白,所以。老师的课程,对于我来说至关重要!因为见过太多从入门到放弃的案例了!
什么样的教程和视频,可以不至于让小白从入门到放弃呢?
我总结了几点:
1.由浅入深,循序渐进,不急躁,不跃进,符合人的认知规律,符合学习记忆的高原曲线。越学越有信心!
2.这个课程避免了陡峭悬崖式学习曲线,不会一股脑儿把所有知识灌输进来,一下子消化不了这么多,认为学习太难,太复杂,就容易放弃!
3.学以致用,用到的时候再引出来相关知识点!比如scope,约束等。
4.学习过程得到尤老师的及时指导,鼓励,这个也很重要。
5.FPGA专业性比较强,我从课程学习到工作方法,跟做嵌入式产品类似,先画出流程图,时序图,再去写代码!否则就本末倒置。
下面是具体章节学习总结。
1.变量类型,赋值语句,运算符合
这部分因为与C语言类似,基本上过一遍就行。
2.时钟分频,这部分也简单,一个变量cnt计数,然后在某些位置置位清零就可以,难度不大。
3.倍频。使用PLL IP核。本章引出来了IP核,后续的FIFO,ram都是需要IP核。直接使用ISE---->TOOL---->core generater去创建就可以,然后有实例化模板,拷贝到自己的*.V文件去使用,就像C语言工程的库函数那样使用,很方便。
4.TOP-DOWN模块化设计,这一章节,其实就是C语言里面的高内聚低耦合原则,模块化原则,在实际项目也是容易掌握的。
5.状态机。FSM。其实也是C语言工程里面状态机,使用case *进入不同的状态,具体到FPGA,一般是状态切换使用一个always语句,其他功能与状态切换分开实现的。
6.按键消抖,售货机,这个小项目我就没有一一做了,这个项目是TOP-DOWN模块化设计和FSM的综合应用,因为与C语言太相似,我准备在全部掌握后再研习一次。
7.RAM和乒乓操作和FIFO核乒乓操作 在几乎所有有通信有数据处理的功能,都需要使用到,RAM相对简单,FIFO有标准模式和FWFT两种模式;这两种模式是由差别的,标准模式,需要提前1拍去给读写信号。这两个差别,需要专门再去练习,体会。
8.VGA sobel图形处理
实现了预定功能!整个工程,没有使用例程的25MHZ,全部统一使用50MHZ。
分辨率改为了800*600@72HZ。实现了图片sobel算法处理,并将图片显示背景色,透明化处理。
需要进一步研究细化的地方:
8.1.matlab对图像的处理。
8.2.sobel算子的深入理解
8.3.使用其他图像来测试下
8.4.十字光标暂时没有练习。
9.ICAP在线升级 原理是使用icap IP模块,会自动通过spi串口从外部w25q64读取bin文件到内部,然后执行,若没有uart升级指令传来,20秒后跳转到外部w25q64的0x400000处,读取Bin文件到fpga。
测试流程:先使用ISE下载ICAP代码到板子,然后使用fpga_update软件下载icap的bin文件到w25q64的0地址,重启板子,使用fpga_update软件下载其他应用的bin到0x400000.
测试通过。
10.SDRAM部分。初步学习了基础理论。
        以上就是目前为止,学习FPGA的总结,还有很多需要细细研究,多多测试的地方;同时,我也要调整学习策略,整体目标是zynq,嵌入式Linux也是大头,希望尽早进入到zynq的嵌入式,与FPGA交替着学习。

xilinx FPGA课程学习总结的更多相关文章

  1. 基于Xilinx FPGA的视频图像采集系统

    本篇要分享的是基于Xilinx FPGA的视频图像采集系统,使用摄像头采集图像数据,并没有用到SDRAM/DDR.这个工程使用的是OV7670 30w像素摄像头,用双口RAM做存储,显示窗口为320x ...

  2. FPGA基础学习(9) -- 复位设计

    目录 1. 常见问题 2. 常见的复位方式 3. 合理的复位设计 3.1 复位电平 3.2 异步复位同步化 3.3 恰到好处的复位 4. 补充 4.1 所谓的上电初始化 参考文献 一开始接触到FPGA ...

  3. C语言课程学习的总结

    C语言课程学习的总结 学习C程序这门课一年了,这是我们学的第一门专业课.在大学里,C语言不但是计算机专业的必修课程而且也是非计算机专业学习计算机基础的一门必修课程.所以作为我这个计算机专业的学生来说当 ...

  4. solr课程学习系列-solr服务器配置(2)

    本文是solr课程学习系列的第2个课程,对solr基础知识不是很了解的请查看solr课程学习系列-solr的概念与结构(1) 本文以windows的solr6服务器搭建为例. 一.solr的工作环境: ...

  5. ACM课程学习总结

    ACM课程学习总结报告 通过一个学期的ACM课程的学习,我学习了到了许多算法方面的知识,感受到了算法知识的精彩与博大,以及算法在解决问题时的巨大作用.此篇ACM课程学习总结报告将从以下方面展开: 学习 ...

  6. node+vue进阶【课程学习系统项目实战详细讲解】打通前后端全栈开发(1):创建项目,完成登录功能

    第一章 建议学习时间8小时·分两次学习      总项目预计10章 学习方式:详细阅读,并手动实现相关代码(如果没有node和vue基础,请学习前面的vue和node基础博客[共10章]) 视频教程地 ...

  7. Xilinx FPGA LVDS应用

    最近项目需要用到差分信号传输,于是看了一下FPGA上差分信号的使用.Xilinx FPGA中,主要通过原语实现差分信号的收发:OBUFDS(差分输出BUF),IBUFDS(差分输入BUF). 注意在分 ...

  8. Xilinx FPGA引脚txt文件导入excel中

    需求 为了把xilinx FPGA的官方引脚文件txt转成excel文件(实际官网中有对应的csv文件就是excel文件了...) xilinx FPGA引脚地址:https://china.xili ...

  9. "做中学"之“极客时间”课程学习指导

    目录 "做中学"之"极客时间"课程学习指导 所有课程都可以选的课程 Java程序设计 移动平台开发 网络攻防实践 信息安全系统设计基础 信息安全专业导论 极客时 ...

随机推荐

  1. SSH整合hibernate无法正常自动生成表

    检查持久化类的属性和映射文件是否正确配置,比如date格式的属性最容易配置错误

  2. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 排版:设定小文本

    <!DOCTYPE html> <html> <head> <title>菜鸟教程(runoob.com)</title> <meta ...

  3. c++将字符转换成字符串

    转载:https://blog.csdn.net/dididisailor/article/details/83189135 char c; string str; stringstream stre ...

  4. 动态设置WX滚动条的高度(非常重要)

    wxml: <scroll-view class="scroll" scroll-y="true" style="height:{{client ...

  5. 100个iOS开发/设计面试题汇总,你将如何作答?

    原文: http://www.csdn.net/article/2015-01-19/2823604-ios-interview-questions 常见问题 你昨天/这周学习了什么? 你为什么热衷于 ...

  6. eslint检测规则中,括弧和函数名之间去掉空格的配置

    在.eslintrc.js中配置: // add your custom rules here rules: { // no space before function name "spac ...

  7. Python 基础之序列化模块pickle与json

    一:pickle 序列化模块把不能够直接存储的数据,变得可存储就是序列化把存储好的数据,转化成原本的数据类型,加做反序列化 php: 序列化和反序列化(1)serialize(2)unserializ ...

  8. Python 爬取 北京市政府首都之窗信件列表-[Scrapy框架](2020年寒假小目标04)

    日期:2020.01.22 博客期:130 星期三 [代码说明,如果要使用此页代码,必须在本博客页面评论区给予说明] //博客总体说明 1.准备工作(本期博客) 2.爬取工作 3.数据处理 4.信息展 ...

  9. JPG加入RAR文件原理详解

    在水木看到有人上传了一张图片,说如果将其后缀改为rar,解压后会有别的文件,试了一下,果然如此.用十六进制的编辑器看了看,发现的确有理. 先是,文件头部是以JPG格式起始的,如下: ......JFI ...

  10. 「HNOI2003」消防局的设立

    题目 [内存限制:$256 MiB$][时间限制:$1000 ms$] [标准输入输出][题目类型:传统][评测方式:文本比较] 题目描述 2020 年,人类在火星上建立了一个庞大的基地群,总共有 $ ...