xilinx FPGA课程学习总结
一时冲动,跑步进入了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课程学习总结的更多相关文章
- 基于Xilinx FPGA的视频图像采集系统
本篇要分享的是基于Xilinx FPGA的视频图像采集系统,使用摄像头采集图像数据,并没有用到SDRAM/DDR.这个工程使用的是OV7670 30w像素摄像头,用双口RAM做存储,显示窗口为320x ...
- FPGA基础学习(9) -- 复位设计
目录 1. 常见问题 2. 常见的复位方式 3. 合理的复位设计 3.1 复位电平 3.2 异步复位同步化 3.3 恰到好处的复位 4. 补充 4.1 所谓的上电初始化 参考文献 一开始接触到FPGA ...
- C语言课程学习的总结
C语言课程学习的总结 学习C程序这门课一年了,这是我们学的第一门专业课.在大学里,C语言不但是计算机专业的必修课程而且也是非计算机专业学习计算机基础的一门必修课程.所以作为我这个计算机专业的学生来说当 ...
- solr课程学习系列-solr服务器配置(2)
本文是solr课程学习系列的第2个课程,对solr基础知识不是很了解的请查看solr课程学习系列-solr的概念与结构(1) 本文以windows的solr6服务器搭建为例. 一.solr的工作环境: ...
- ACM课程学习总结
ACM课程学习总结报告 通过一个学期的ACM课程的学习,我学习了到了许多算法方面的知识,感受到了算法知识的精彩与博大,以及算法在解决问题时的巨大作用.此篇ACM课程学习总结报告将从以下方面展开: 学习 ...
- node+vue进阶【课程学习系统项目实战详细讲解】打通前后端全栈开发(1):创建项目,完成登录功能
第一章 建议学习时间8小时·分两次学习 总项目预计10章 学习方式:详细阅读,并手动实现相关代码(如果没有node和vue基础,请学习前面的vue和node基础博客[共10章]) 视频教程地 ...
- Xilinx FPGA LVDS应用
最近项目需要用到差分信号传输,于是看了一下FPGA上差分信号的使用.Xilinx FPGA中,主要通过原语实现差分信号的收发:OBUFDS(差分输出BUF),IBUFDS(差分输入BUF). 注意在分 ...
- Xilinx FPGA引脚txt文件导入excel中
需求 为了把xilinx FPGA的官方引脚文件txt转成excel文件(实际官网中有对应的csv文件就是excel文件了...) xilinx FPGA引脚地址:https://china.xili ...
- "做中学"之“极客时间”课程学习指导
目录 "做中学"之"极客时间"课程学习指导 所有课程都可以选的课程 Java程序设计 移动平台开发 网络攻防实践 信息安全系统设计基础 信息安全专业导论 极客时 ...
随机推荐
- js 字符串相关函数
https://www.jb51.net/article/74614.htm
- Linux centos7 LAMP架构介绍、 MySQL、MariaDB介绍、MySQL安装
一.LAMP架构介绍 为Linux+Apache(httpd)+MySQL+PHP简写,把后三者安装在Linux Apache是最常用的的web服务软件,MySQL为小型的数据库存储软件,PHP为脚本 ...
- Linux CentOS7 rsync通过服务同步、linux系统日志、screen工具
一.rsync通过服务同步 rsyncd.conf配置文件详解 port:指定在哪个端口启动rsyncd服务,默认是873端口. log file:指定日志文件. pid file:指定pid文件,这 ...
- [经验] 关于 Java 中的非空判断
在写项目的时候, 遇到一个问题 假设有一个控制层接口为: @ResponseBody @RequestMapping(value = "test", method = Reques ...
- [Pytorch数据集下载] 下载MNIST数据缓慢的方案
步骤一 首先访问下面的网站,手工下载数据集.http://yann.lecun.com/exdb/mnist/ 把四个压缩包下载到任意文件夹,以便之后使用. 步骤二 把自己电脑上已经下载好的数据集的文 ...
- LeetCode 101.对称二叉树 - JavaScript
题目描述:给定一个二叉树,检查它是否是镜像对称的. 题目分析 下面这种二叉树就是镜像对称的,符合题目要求: 1 / \ 2 2 / \ / \ 3 4 4 3 解法 1:递归检查 根据题目" ...
- ImagePullBackOff 错误处理
kubectl create -f nginx-deployment.yaml 执行之后,kubectl get pods 一致出现 ImagePullBackOff,一直无法执行成功. yaml文件 ...
- linux 从一台服务器向另台服务器复制文件
使用scp命令: sudo scp -P 2222 username@192.168.0.200:/home/db/db_data.sql.gz /home/db/db_data.sql.gz scp ...
- Tensorflow机器学习入门——网络可视化TensorBoard
一.在代码中标记要显示的各种量 tensorboard各函数的作用和用法请参考:https://www.cnblogs.com/lyc-seu/p/8647792.html import tensor ...
- 工具 - brackets
常用插件 blueprint beta file tree view indent guidelines