废话不说了,下面进入正题,学习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
UARTVerilogHDL代码,经过RTL仿真和FPGA验证。
波特率支持9600~921600等8种,并支持灵活可配。
2025/11/1 2:24:16 12KB 00001
1
在Verilog语言下用FPGA驱动DS18B20,带数码管显示,带LED报警,有报警值调整功能。
这个是本人调过的,原版调通代码没改的,绝对能跑通。
建议用QuatusII全编译后看一下RTL图就能理解程序是怎么工作的。
2025/10/20 6:12:34 9.18MB FPGA Verilog DS18B20
1
这是关于伪双端口RAM的VHDL程序代码,nut_tpram--rtl这是源代码--sim这是modelsim仿真目录
2025/10/8 7:37:07 2KB fpga VHDL
1
UnifiedPowerFormat示例文件,包括RTL代码、相应的UPF功耗文件、环境文件,可作为学习低功耗技术及UnifiedPowerFormat标准的参考示例。
2025/9/2 11:52:46 9KB "Unified Power Format" UPF
1
是基于apb总线下的timer外设的rtl代码,主要包括apb_timer的master逻辑verilog,以及相应的开发文档,包括寄存器的描述,功能特性等。
2025/8/8 7:43:47 67KB apb_timer verilog
1
此为PDF电子书.要源码的见我其他下载资源.总共4个分卷,此为第1个.下全了才能正常解压.国内电子设计界著名教授北航夏宇闻又一力作!本书是《Verilog数字系统设计教程》(第2版)的姊妹篇。
内容简介回到顶部↑VerilogSOPC高级实验教程是为学习Verilog语言之后,想在FPGA上设计并实现嵌入式数字系统的人们而专门编写的。
本实验教程是《Verilog数字系统设计教程》(第2版)的后续课程,是姊妹篇。
本书通过由浅入深的10个实验,详细地介绍了ModelSim6.0和QuartusⅡ8.1的操作步骤,扼要地介绍了QuartusⅡ8.1的主要设计资源和SOPCBuilder等工具的应用方法,并阐述了如何配合自己设计的Verilog模块和FPGA中的内嵌处理器NiosⅡ等现成IP资源,设计并实现高性能嵌入式硬件/软件系统。
本实验教程也可以作为集成电路设计专业系统芯片(SoC)前端逻辑设计和验证课程的实验教材。
为了使阐述的内容更加具体,本教程中的每个实验均选用AlteraFPGA(型号为CycloneⅡEP2C35F672C8)实现,并在革新科技公司专业级实验平台GXSOC/SOPC运行通过。
本书可作为电子信息、自动控制、计算机工程类大学本科高年级学生和研究生的教学用书,亦可供其他工程技术人员自学与参考。
目录回到顶部↑第1讲ModelSimSE6.0的操作 1.1创建设计文件的目录 1.2编写RTL代码 1.3编写测试代码 1.4开始RTL仿真前的准备工作 1.5编译前的准备、编译和加载 1.6波形观察器的设置 1.7仿真的运行控制 总结 思考题第2讲Quartus8.1入门 2.1QuartusⅡ的基本操作知识 2.2QuartusⅡ的在线帮助 2.3建立新的设计项目 2.4用线路原理图为输入设计电路 2.5编译器的使用 2.6对已设计的电路进行仿真 2.7对已布局布线的电路进行时序仿真 总结 思考题.第3讲用Altera器件实现电路 3.1用CycloneⅡFPGA实现电路 3.2芯片的选择 3.3项目的编译 3.4在FPGA中实现设计的电路 总结 思考题第4讲参数化模块库的使用 4.1在QuartusⅡ下建立引用参数化模块的目录和设计项目 4.2在QuartusⅡ下进入设计资源引用环境 4.3参数化加法-减法器的配置和确认 4.4参数化加法器的编译和时序分析 4.5复杂算术运算的硬件逻辑实现 总结 思考题第5讲锁相环模块和SignalTap的使用第6讲QuartusⅡSOPCBuilder的使用第7讲在NiosⅡ系统中融入IP第8讲LCD显示控制器IP的设计第9讲BitBLT控制器IP第10讲复杂SOPC系统的设计本书的结束语附录GXSOC/SOPC专业级创新开发实验平台
2025/4/23 21:32:17 11.44MB Verilog SOPC FPGA
1
专用集成电路设计实用教程(第1版)》讲究实用性,希望其中的内容能帮助ASIC设计工程师清楚明了IC设计的基本概念,IC设计的流程,逻辑综合的基本概念和设计方法,解决进行IC设计时和工具使用时所遇到的问题。
  《专用集成电路设计实用教程(第1版)》共分九章,第一章概述IC设计的趋势和流程;
第二章介绍用RTL代码进行电路的高级设计和数字电路的逻辑综合;
第三章陈述了IC系统的层次化设计和模块划分;
第四章详细地说明如何设置电路的设计目标和约束;
第五章介绍综合库和静态时序分析;
第六章深入地阐述了电路的优化和优化策略;
第七章陈述物理综合和简介逻辑综合的拓扑技术;
第八章介绍可测性设计;
第九章介绍低功耗设计和分析。
  本书的主要对象是IC设计工程师,帮助他们解决IC设计和综合过程中遇到的实际问题。
也可作为高等院校相关专业的高年级学生和研究生的参考书。
2025/3/29 0:39:14 51.99MB 集成电路
1
北京航空航天大学出版社嵌入式系统设计(美)瓦伊德,(美)吉瓦尔吉斯著,骆丽译第1章绪论1.1嵌入式系统综述1.2设计上的挑战——设计指标的最佳化1.2.1常用设计指标1.2.2上市时间1.2.3NRE与单位成本1.2.4性能1.3处理器技术1.3.1通用处理器——软件1.3.2单用途处理器——硬件1.3.3专用处理器1.4IC技术1.4.1全定制/VLSI1.4.2半定制ASIC(逻辑门阵列和标准单元)1.4.3PLD1.4.4发展趋势1.5设计技术1.5.1编译/综合1.5.2库/IP1.5.3测试/验证1.5.4其他提高效率的方法1.5.5发展趋势1.6设计方法的取舍1.7小结与本书概要1.8参考文献1.9习题第2章定制单用途处理器——硬件2.1引言2.2组合逻辑2.2.1晶体管与逻辑门2.2.2基本组合逻辑设计2.2.3RTL组合元件2.3时序逻辑2.3.1触发器2.3.2RTL时序元件2.3.3时序逻辑设计2.4定制单用途处理器的设计2.5RTL定制单用途处理器设计2.6定制单用途处理器的最佳化2.6.1原始程序的最佳化2.6.2FSMD的最佳化2.6.3数据路径的最佳化2.6.4FSM的最佳化2.7小结2.8参考文献2.9习题第3章通用处理器——软件3.1引言3.2基本结构3.2.1数据路径3.2.2控制单元3.2.3存储器3.3运算3.3.1指令执行3.3.2流水线技术3.3.3超标量和超长指令字结构3.4程序员的观点3.4.1指令集3.4.2程序和数据存储器空间3.4.3寄存器3.4.4输入/输出3.4.5中断3.4.6实例:设备驱动程序的汇编语言编程3.4.7操作系统3.5开发环境3.5.1设计流程和工具3.5.2实例:一个简单处理器的指令集仿真程序3.5.3测试和调试3.6专用指令集处理器3.6.1单片机3.6.2数字信号处理器3.6.3较不通用的ASIP环境3.7微处理器的选择3.8通用处理器设计3.9小结3.10参考文献3.11习题第4章标准单用途处理器——外部设备第5章存储器第6章接口第7章数码相机实例第8章状态机与并发进程模型第9章控制系统第10章IC技术第11章设计技术附录A相关资源附录B有关术语的中英文对照表
1
这是关于单端口RAM的VHDL程序代码,nut_spram--rtl这是源代码--sim这是modelsim仿真目录
2025/3/27 16:47:46 39KB vhdl RAM fpga
1
共 30 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡