废话不说了,下面进入正题,学习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
Android课设简单计算器源码(含apk),apk在bin目录下,含软件截图。
建议在模拟器中运行。
好用给五星好评哦。
===您的支持,是我最大的动力
2025/11/2 2:17:16 103KB Android课设 计算器
1
用RoboticsToolboxforMATLAB做的一个PUMA560机器人的仿真界面,可以仿真运动学的正逆问题和动力学正逆问题,轨迹规划等问题,请在运行前安装robotics工具箱
2025/11/1 10:51:51 21KB PUMA560 MATLAB
1
汽车混合动力simulink模型。
里面带说明
2025/10/30 14:01:23 5.97MB 仿真
1
完整英文版ANSI/CAN/UL1973:2018BatteriesforUseinStationary,VehicleAuxiliaryPowerandLightElectricRail(LER)Applications(用于固定式、车辆辅助动力和轻轨(LER)应用的电池),本安规要求涵盖了本标准定义的电池系统,用作固定应用(例如,PV,风力涡轮机存储或UPS等)的储能。
还涵盖了本标准定义的更好的系统,可用于轻型电动轨道(LER)应用和固定轨道应用,例如轨道变电站
2025/10/29 21:36:19 24.36MB ul ul1973 battery LER
1
第一章振动基本概念1.1振动的基本概念1.2振动的分类第二章单自由度系统振动2.1无阻尼系统的自由振动2.2计算固有频率的能量法第三章两自由度系统振动3.1两自由度系统的自由振动3.2量自由度系统的受迫振动3.3坐标的耦联3.4拍振第四章多自由度系统振动4.1多自由度系统的运动微分方程4.2固有频率主振型4.3主坐标和正则坐标4.4固有频率相等的情形4.5无阻尼振动系统对初始条件的响应4.6质量、刚度变化对固有频率的影响4.7无阻尼振动系统对激励的响应4.8有阻尼系统对激励的响应第五章数值计算方法5.1瑞利能量法5.2里兹法5.3邓克来法5.4矩阵迭代法5.5子空间迭代法5.6传递矩阵法第六章弹性体一维振动6.1杆的纵向自由振动6.2杆的纵向受迫振动6.3梁的横向自由振动6.4梁的横向受迫振动第七章振动分析的有限元法7.1单元体的运动方程式7.2单元体的特性分析7.3坐标转换7.4固有频率及主振型7.5系统的响应第八章减振技术8.1减振的基本概念8.2隔振8.3阻尼消振8.4动力减振器
2025/10/29 0:49:41 19.5MB 机械振动 模态分析
1
10年扬州大学能源与动力学院电气专业《单片机原理及应用》期末考试试卷(含答案)
2025/10/17 19:41:49 768KB 单片机
1
很棒的asgi精选的ASGI服务器,框架,应用,库和其他资源的精选列表。
此列表应帮助您了解最出色的ASGI项目和资源。
您可以观看此仓库中的发行版,以得到有关新条目的通知。
如果发现任何缺失,请。
:heart_exclamation:是一个标准接口,被定位为WSGI的精神继承者。
它支持整个Python异步Web堆栈之间的通信和互操作性:服务器,应用程序,中间件和单个组件。
ASGI及其生态系统诞生于2016年,为DjangoChannels项目提供动力,此后一直在扩展,这是由于2018年Starlette和Uvicorn等项目的到来而推动的。
内容应用框架用于构建ASGIWeb应用程序的框架。
一个非常薄的ASGIWeb框架,其中包括对长轮询,SSE和websocket的支持。
-对Django的异步支持以及ASGI项目背后的原始动力。
支持带有Django集成的HTTP和WebSockets,以及带有ASGI本地代码的任何协议。
具有截止日期的完美主义者的Web框架。
自3.0版以来具有本机ASGI支持。
一种现代的高性能Web框架,用于基于标
2025/10/17 7:43:51 13KB python awesome awesome-list asgi
1
本书以中低轨道遥感卫星和静止轨道通信卫星为重点,系统地阐述卫星轨道和姿态动力学的基本原理、轨道和姿态控制的设计思想及设计方法。
主要内容包括:卫星轨道的基本特性、特殊轨道的设计,轨道摄动分析,入轨控制和轨道保持控制;
卫星姿态运动特性,姿态确定,姿态稳定和机动的控制方式。
内容丰富,文笔流畅,工程实用性强。
2025/10/11 6:11:22 5.21MB 卫星 控制 卫星姿态
1
您的GitHub学习实验室存储库,用于介绍GitHub欢迎你的资料库为您的GitHub学习实验室课程。
在我将指导您完成的各种活动中将使用该存储库。
看到一个你不懂的单词?我们包含了一个表情符号:open_book:在一些关键术语旁边。
单击它以查看其定义。
哦!我还没有自我介绍...我是GitHubLearningLab机器人,我在这里可以帮助指导您学习和掌握本课程涵盖的各个主题。
我将使用“问题”和“拉取请求”注释与您进行交流。
实际上,我已经添加了一个问题供您结帐。
我会在那儿见你,等不及要开始!本课程正在使用:sparkles:开源项目。
在某些情况下,我们对历史记录进行了更改,以便在上课时表现良好,因此请转到原始项目存储库,以了解有关该项目背后的好人的更多信息。
2025/10/10 7:14:46 1.84MB Ruby
1
共 478 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡