资源简介
废话不说了,下面进入正题,学习FPGA经历了这么几个阶段:
①、Verilog语言的学习,熟悉Verilog语言的各种语法。
②、FPGA的学习,熟悉QuartusII软件的各种功能,各种逻辑算法设计,接口模块(RS232,LCD,VGA,SPI,I2c等)的设计,时序分析,硬件优化等,自己开始设计简单的FPGA板子。
③、NiosII的学习,熟悉NiosII的开发流程,熟悉开发软件(SOPC,NiosII IDE),了解NiosII的基本结构,设计NiosII开发板,编写NiosII C语言程序,调试板子各模块功能。
先来说说第一个阶段,现在主要的硬件描述语言有VHDL,Verilog两种,在本科时老师一般教VHDL,不过现在
Verilog用的人越来越多,其更容易上手(与C语言语法比较类似),也更灵活,现在的IC设计基本都用Verilog。像 systemC,systemVerilog之类的应该还在萌芽阶段,以后可能会有较大发展。鉴于以上原因我选择了Verilog作为我学习的硬件描述语 言。
其实有C语言的基础,学起Verilog的语言很简单,关键要有并行的概念,所有的module,assign,always都是并行的,这一点与软件语言有明显不同。这里推荐几本评价比较好的学习Verilog的书籍:
①、《verilog 数字系统设计教程》,这本书对于入门是一本很好的书,通俗易懂,让人很快上手,它里面的例子也不错。但本书对于资源优化方面的编程没有多少涉及到。
②、《设计与验证Verilog HDL》,这本书虽然比较薄,但是相当精辟,讲解的也很深入,很多概念看了这本书有种豁然开朗的感觉,呵呵。
学习Verilog其实不用看很多书,基本的语法部分大家都一样,关键是要自己会灵活应用,多做练习。
Verilog语言学了一段时间,感觉自己可以编点东西,希望自己编的程序在板子上运行看看结果,下面就介绍我学习的第二个阶段。
刚开始我拿了实验室一块CPLD的开发板做练习,熟悉QuartusII的各种功能,比如IP的调用,各种约束设置,时序分析,Logiclock设计方 法等,不过做到后面发现CPLD的资源不太够(没有内嵌的RAM、不能用SignalTapII,LE太少等),而实验室没有FPGA开发板,所以就萌生 了自己做FPGA开发板的意图,刚好Cadence我也学的差不多了,就花了几天时间主要研究了FPGA配置电路的设计,在板子上做了Jtag和AS下载 口,在做了几个用户按键和LED,其他的口全部引出作为IO口,电路比较简单,板子焊好后一调就通了(心里那个爽啊...)。我选的FPGA是 cycloneII系列的EP2C5,资源比以前的FPGA多了好几倍,还有PLL,内嵌的RAM,可以试试SignalTapII,用内嵌的逻辑分析仪 测试引脚波形,对于FPGA的调试,逻辑分析仪是至关重要的。利用这块板子我完成了项目中的几个主要功能:RS232通信,指令译码,配置DDS,AD数 据高速缓存,电子开关状态设置等,在实践中学习起来真的比平时快很多,用到什么学什么动力更大。这个时候我主要看的数据有这几本感觉比较好:
①、《Altera FPGA/CPLD 设计(基础篇)》:讲解一些基本的FPGA设计技术,以及QuartusII中各个工具的用法 (IP,RTL,SignalProbe,SignalTapII,Timing Closure Floorplan,chip Editor等),对于入门非常好。
②、《Altera FPGA/CPLD 设计(高级篇)》:讲解了一些高级工具的应用,LogicLock,时序约束很分析,设计优化,也讲述了一些硬件编程的思想,作为提高用。
③、《FPGA设计指南--器件,工具和流程》:这本书看了他的目录忍不住就买了,这本书讲述了FPGA设计的各个方面,虽然每个方面都是点到为止,但能让你有个整体的概念,了解FPGA的所有设计功能,了解FPGA开发的整个流程。
代码片段和文件信息
- 上一篇:深入解析ATL(第2版).pdf
- 下一篇:若干源程序资料12.rar
相关资源
- 常用算法程序集C语言及C++描述第五版
- 线性代数C++模板库 Eigen 3.1.1 的CHM文档
- SLAM算法大全,包括代码和文档、工具
- MFC 官方API文档 MSDN原版
- MFC多文档应用程序同时显示两个视图
- 计算机二级VC++2010学习版
- QT开发多文档框架
- MFC 火车售票系统的模拟 简单的学习
- c++文档MSDN详尽版
- c#图书管理系统+详细数据库设计文档
- 图像处理方面学习的好MFC显示直方图
- Visual Studio 2010 Express 学习版
- 非常帅的军棋源代码附说明文档 VC
- C++花店销售管理系统源码及文档
- 中值滤波_均值滤波c语言实现_工程文
- 直方图均衡化_c语言实现_源代码+实验
- 目标检测 机器学习方法 静态场景 测
- C++STL帮助文档
- P2P 聊天室 c++ 版本 附详细文档
- c++ 俄罗斯方块( + 文档)
- MFC 单文档 实现opengl 三维旋转 缩放
- ldra c++ testbed 安装文档1
- 经典图形控件TeeChart8(内含最全的帮
- MultiThread(VS2013 MFC多线程-含源码-含个
- 机器学习-数据挖掘-梯度下降算法C+
- GDI+SDK参考文档
- MFC计算器编程,可视化,含详细实现
- 黑马传智C语言视频教程讲义文档201
- MFC课程设计 学生信息管理系统C++
- 天龙c++完整辅助源码学习用
评论
共有 条评论