xilinx FPGA课程学习总结

摘要:
冲动之下,跑步进入了FPGA的大门。尤老师是教练。我以前一直在做嵌入式软件。数字电路也是十年前在大学课堂上学习的,现在已经还给了老师。FPGA对我来说没什么,所以。老师的课程对我来说很重要!因为我看到了太多从开始到放弃的案例!什么样的教程和视频可以阻止小白入门和放弃?我总结了几点:1.由浅入深,循序渐进,不急躁,不跳跃,符合人们的认知规律,符合学习和记忆的高原曲线。你学得越多,你就越自信!2.这个

    一时冲动,跑步进入了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课程学习总结》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇FLINK基础(104): DS算子与窗口(15)多流转换算子(6) CONNECT, COMAP和COFLATMAP(2)CoProcessFunctionP4158 [SCOI2009]粉刷匠(洛谷)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

C语言中 有符号数、无符号数、整数溢出 (转)

[cpp]view plaincopyprint? #include<stdio.h>   void main()   {    int l=-1;    unsigned int c=135;   printf("%u ",l+c);   }   这个的结果134,而不是我之前认为的很大的正数,实际上需要注意的是-1(0xf...

我的全栈之路-C语言基础之数据存储

我的全栈之路-C语言基础之数据存储 我的全栈之路 2.1 计算机的计算单位 2.1.1 容量单位 2.1.2 速度单位 2.2 计算机底层为什么只能识别二进制 2.3 进制 2.3.1 进制概述 2.3.2 十进制转换二进制、八进制、十六进制 2.3.3 二进制、八进制、十六进制转十进制 2.3.4 二进制转八进制、十六进制 2.3.5 八进制...

FPGA入门1

FPGA入门知识介绍    近几年来,由于现场可编程门阵列(FPGA)的使用非常灵活,又可以无限次的编程,已受到越来越多的电子编程者的喜爱,很多朋友都想学习一些FPGA入门知识准备进行这个行业,现在关于FPGA入门知识的书籍、论坛、教程等种类繁多各式各样。下面笔者也通过搜寻一些关于FPGA入门知识的资料供大家学习和参考。 FPGA入门知识首先要...

FPGA+CPU架构的自动驾驶平台性能分析

https://zhuanlan.zhihu.com/p/154156003 1. 介绍 由于在自动驾驶领域需要对传感器的数据作大量的基于深度内神经网络的复杂运算,GPU和FPGA被不约而同地用来作为对CPU的一种加速器被使用。这样做不仅可以提高计算性能,并且可以大幅度地降低能耗。FPGA+CPU架构的自动驾驶平台凭借其灵活性,高效率,低能耗等特点,正越...

黑金社区 FPGA 那些事儿--Verilog 建模设计 学习 试验九 VGA显示 试验

最近这段时间忙着搬家,然后准备生产相关事情,各种杂事~ 然后光棍节来,给自己和老爸老妈买点东西。。。 效率好低。。要检讨啊~ 不能找借口! 黑金的试验九 --VGA的用法 VGA 液晶显示 主要由5个信号控制 HSYNC : 列同步信号 VSYNC : 行同步信号 RED : 红分量 GREEN : 绿分量 BLUE : 蓝分量 VGA 的扫描是固定的。一...

c语言实现灰度图转换为二值图

将上篇得到的灰度图转换为二值图,读取像素数据,低于某一值置0,否则设置为255,为得到更好的效果不同图片应采用不同的值 1 /* 2 2015年6月2日11:16:22 3 灰度图转换为二值图 4 blog:http://www.cnblogs.com/wd1001/ 5 */ 6 #include<stdio.h>...