废话不说了,下面进入正题,学习FPGA经历了这么几个阶段:①、Verilog语言的学习,熟悉Verilog语言的各种语法。
②、FPGA的学习,熟悉QuartusII软件的各种功能,各种逻辑算法设计,接口模块(RS232,LCD,VGA,SPI,I2c等)的设计,时序分析,硬件优化等,自己开始设计简单的FPGA板子。
③、NiosII的学习,熟悉NiosII的开发流程,熟悉开发软件(SOPC,NiosIIIDE),了解NiosII的基本结构,设计NiosII开发板,编写NiosIIC语言程序,调试板子各模块功能。
先来说说第一个阶段,现在主要的硬件描述语言有VHDL,Verilog两种,在本科时老师一般教VHDL,不过现在Verilog用的人越来越多,其更容易上手(与C语言语法比较类似),也更灵活,现在的IC设计基本都用Verilog。
像systemC,systemVerilog之类的应该还在萌芽阶段,以后可能会有较大发展。
鉴于以上原因我选择了Verilog作为我学习的硬件描述语言。
其实有C语言的基础,学起Verilog的语言很简单,关键要有并行的概念,所有的module,assign,always都是并行的,这一点与软件语言有明显不同。
这里推荐几本评价比较好的学习Verilog的书籍:①、《verilog数字系统设计教程》,这本书对于入门是一本很好的书,通俗易懂,让人很快上手,它里面的例子也不错。
但本书对于资源优化方面的编程没有多少涉及到。
②、《设计与验证VerilogHDL》,这本书虽然比较薄,但是相当精辟,讲解的也很深入,很多概念看了这本书有种豁然开朗的感觉,呵呵。
学习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数据高速缓存,电子开关状态设置等,在实践中学习起来真的比平时快很多,用到什么学什么动力更大。
这个时候我主要看的数据有这几本感觉比较好:①、《AlteraFPGA/CPLD设计(基础篇)》:讲解一些基本的FPGA设计技术,以及QuartusII中各个工具的用法(IP,RTL,SignalProbe,SignalTapII,TimingClosureFloorplan,chipEditor等),对于入门非常好。
②、《AlteraFPGA/CPLD设计(高级篇)》:讲解了一些高级工具的应用,LogicLock,时序约束很分析,设计优化,也讲述了一些硬件编程的思想,作为提高用。
③、《FPGA设计指南--器件,工具和流程》:这本书看了他的目录忍不住就买了,这本书讲述了FPGA设计的各个方面,虽然每个方面都是点到为止,但能让你有个整体的概念,了解FPGA的所有设计功能,了解FPGA开发的整个流程。
2025/11/11 0:01:05 131.03MB FPGA 学习 文档 合集
1
这是第一名的网上购物项目,仿照淘宝网做的。
带数据库、源代码、演示PPT,不蠢的人都会用,
2025/11/10 17:18:17 5.98MB JSP 网上购物 源代码 淘宝
1
基于Nehe教程第十课粗糙的世界继续完善的漫游场景为一个仓库,有两个铁门,仓库两边堆着箱子。
场景中的墙壁是通过读取txt文件中的数据构造的,想做修改的话可以改变txt文本做出你自己想要的简单的世界
2025/11/10 16:01:51 7.31MB OpenGL Nehe 漫游 3D
1
本文实现了二维图形的几何变换,以矩阵运算作为数学基础,采用旋转、平移和缩放等基本几何变换,对一简单的二维图形做变换。
为了保证矩阵运算一致性,故引入了齐次坐标的概念。
本文选择了一三角形,编写VC++程序,验证了上述几个几何变换。
2025/11/10 10:27:04 155KB 几何变换 矩阵运算 齐次坐标
1
在线旅游H5移动端APP页面,为H5开发移动APP提供便捷的前端,省去前端的工作,快速开发APP,开发的H5的移动应用提供便捷的前端,内容为APP页面模板不含后台的Html+Css+js页面,方便直接套用样式,做的非常漂亮
2025/11/10 5:35:30 2.33MB APP前端
1
智能视频监控是计算机视觉领域新兴的研究方向,它通过对摄像机拍摄的视频图像序列进行自动分析来对被监控场景中的事物变化进行定位、跟踪和识别,并以此对相关目标的行为进行分析和判别,在实现了日常管理工作的同时又能对目标的异常行为做出及时反应。
行人目标检测与跟踪算法是智能视频监控系统中的核心问题,研究相关算法对于提高智能视频监控系统的性能具有重要的意义。
2025/11/9 15:03:33 2.55MB 行人检测 智能视频监控
1
MFC_socket通信实例我是使用VS2012来做的,不知道其他的环境会不会有问题。
使用VS2012分别打开工程AppSocClient和AppSocServer,分别build两个工程,启动AppSocServer工程,输入appid和message,点击发送,即可。
如果出现createprocessfailed,则可能是函数StartApp()里面的../../AppSocClient/Debug/AppSocClient.exe此路径没有指到对应的AppSocClient.exe。
AppSocClient.exe是服务端启动的,不用手动启动,如果有其他需求,可以自行修改。
输入不同的appid则启动不同的AppSocClient.exe,启动后,再次点击发送会收到AppSocServer.exe发送的消息,。
只要输入appid和message就可以给对应的客户端发消息,是长连接的。
关闭的时候,请先关闭客户端,因为线程没有处理,进程会卡死的。
2025/11/9 10:18:55 289KB MFC socket通信 实例 socket通讯
1
J2EE酒店管理系统源码和文档,参加企业实习项目,严格按照软件工程做的.
2025/11/9 10:17:05 4.02MB java jsp struts
1
得到的品控手册。
值得运营、编辑、管理人士都去阅读。
得到品控手册总则这本手册是干什么的?是为我们自己赋能的。
为自己赋能是什么意思?当你忘记手册上的内容,但是具备了以下三种能力的时候,你已经能力附体,成为得到的一员了:•你可以定义自己的工作目标,并完成它;
•如果需要选择,你可以自己找到判断的标准;
•如果目标一个人不能完成,你知道如何发起协作。
我们的使命用新技术重新生产知识。
为用户提供单位时间价值最大化的学习解决方案,以回应当前时间高度碎片化、跨界学习成为必须、终身学习缺乏解决方案的挑战。
抓住时代给我们的‘古腾堡级’的机会,探索知识服务的边疆。
我们的愿景做最好的知识服务商
2025/11/9 4:52:24 1.46MB 品控 运营 管理
1
因为要做一个项目,搞到了一份2018年汽车之家的,汽车车型配置200多个字段信息,1万多条车型信息,Excel文件。
2025/11/9 0:40:14 9.34MB 汽车之家 车型配置
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡