FPGA学习心得体会
fpga课程设计心得体会

fpga课程设计心得体会在参与FPGA(Field-Programmable Gate Array)课程设计的过程中,我深刻体会到了以下几点心得与体会。
通过对所学内容的实践与探索,我收获了宝贵的经验和知识,不仅提升了自己的技能,也对FPGA这一领域有了更深刻的理解。
1. 硬件描述语言的重要性在课程设计中,我学习并运用了硬件描述语言(HDL),如VHDL或Verilog。
这种语言使得设计者能够通过描述硬件电路的结构和行为来实现某一功能。
通过学习HDL,我了解到了硬件设计与软件开发之间的差异,理解了硬件设计的并行性和高效性。
熟练运用HDL能够简化设计过程,提高开发效率。
2. 设计流程的重要性一个良好的设计流程是FPGA课程设计的基础。
在进行实际设计之前,我学习了系统设计的基本步骤,包括需求分析、架构设计、模块分解、仿真验证等。
通过遵循设计流程,我能够更好地规划和组织我的设计工作,避免了混乱和错误。
同时,设计流程也能帮助我更好地掌握项目进展,并及时调整和改进设计方案。
3. 仿真与验证的重要性在设计过程中,仿真与验证是不可或缺的环节。
通过仿真工具,我们可以在实际硬件开发之前对设计进行全面的测试和验证。
通过仿真,我们可以发现和解决潜在的问题,优化和改进设计。
当设计与预期结果一致时,我们可以认为设计是正确的。
通过验证,我们可以杜绝设计中的错误和漏洞,提高设计的可靠性和稳定性。
4. 协同合作的意义在FPGA课程设计中,我有幸与其他同学一起合作完成了一些小组项目。
通过协同合作,我们能够充分利用每个人的优势,共同完成一个更复杂和高效的设计。
团队合作不仅能够提高设计的质量和效率,也能够培养我们的沟通与合作能力。
通过与团队成员相互交流和学习,我们可以共同解决问题,取得更好的成果。
5. 不断学习的态度FPGA技术在不断发展和演进,因此不断学习的态度对于掌握这一领域至关重要。
通过参与FPGA课程设计,我认识到自己的知识还有很多不足之处,需要不断扩充和加强。
fpga心得体会

fpga心得体会FPGA(Field Programmable Gate Array)是一种可编程逻辑设备,它具有强大的逻辑处理能力和灵活的可编程性,使得它在硬件设计领域得到广泛应用。
我在学习和使用FPGA的过程中收获了很多,下面就来分享一些我对FPGA的心得体会。
首先,FPGA具有极高的逻辑密度和计算性能,能够满足复杂的硬件设计需求。
相比于传统的固定功能芯片,FPGA具备了逻辑电路可编程的特性,使得它能够灵活地适应多种应用场景。
在我的项目中,我需要设计一个支持多种协议通信的嵌入式系统,而FPGA正是满足了这个需求。
通过在FPGA上编写逻辑代码,我成功实现了多个协议的处理和控制,大大提高了系统的灵活性和扩展性。
其次,FPGA具备了高度并行处理的能力,可以同时运行多个任务。
相比于单纯的软件实现,FPGA可以通过在不同的逻辑区域实现不同的功能模块,从而实现并行处理。
这对于需要高性能计算的应用非常有优势,如图像处理、音视频编码等。
在我的项目中,我利用了FPGA的并行处理能力,成功实现了一个高性能的图像处理算法,大大提高了系统的处理速度和效率。
第三,FPGA具备了较高的灵活性和可重构性,可以随时对逻辑进行修改和优化。
在硬件设计过程中,往往需要多次迭代和优化,而FPGA的可重构性使得这一过程变得更加高效。
通过修改逻辑代码和重新编程,我可以快速对设计进行调整和优化,并实时验证效果,减少了开发周期和成本。
另外,FPGA支持硬件和软件的协同设计,可以实现更灵活的系统架构。
在我的项目中,我采用了硬件和软件的结合,通过在FPGA上实现一些关键模块并通过软件控制,使系统具备了更高的通用性和扩展性。
FPGA还可以与其他处理器、外设等硬件组件进行连接,形成完整的系统。
这种协同设计方式使得我能够更好地解决具体的问题,并满足系统的要求。
最后,我发现学习和使用FPGA需要具备一定的硬件和软件知识,例如数字逻辑设计、Verilog/VHDL语言等。
fpga课程心得体会

fpga课程心得体会在进行FPGA课程学习的过程中,我不仅仅是学到了课堂上的知识,更重要的是获得了宝贵的心得体会。
通过这门课程,我深刻认识到了FPGA技术的重要性和应用广泛性,同时也明白了学习这门课程的困难和挑战。
在下面的文章中,我将分享我的FPGA课程心得体会。
一、FPGA技术的重要性FPGA是可编程逻辑器件,它具有灵活性、可重构性和高度并行性的特点。
在当今数字电子领域,FPGA被广泛应用于各种领域,如通信、医疗、军事等。
学习FPGA课程让我深刻认识到了FPGA技术对于解决实际问题的重要性。
二、FPGA课程的学习过程在学习FPGA课程的过程中,我首先学习了FPGA的基础知识,包括FPGA器件、FPGA实现原理以及FPGA的编程语言。
这些基础知识为后续的学习打下了坚实的基础。
接着,我学习了FPGA的开发工具,掌握了Vivado、Quartus等软件的使用方法。
这些开发工具提供了强大的设计和仿真功能,使得我们能够更加方便地进行FPGA设计和实现。
在学习过程中,我还进行了一系列的实验和项目实践。
通过这些实践,我深入理解了FPGA的原理和设计方法。
我在实验中遇到了很多问题和挑战,但通过努力和团队合作,我逐渐解决了这些问题,并获得了实际操作的经验。
三、挑战与收获学习FPGA课程并不是一件容易的事情,它需要我们具备扎实的电子学、数字逻辑和计算机编程知识。
在学习过程中,我遇到了许多困难和挑战,但正是这些困难和挑战让我得到了更多的成长和收获。
首先,FPGA课程对于电子学和数字逻辑的要求较高,需要我们具备良好的数学和逻辑思维能力。
在学习过程中,我不断加强了自己的学习方法和思维能力,提高了自己的解决问题的能力。
其次,FPGA课程还需要我们具备一定的计算机编程能力,熟练掌握Verilog或VHDL等编程语言。
在学习过程中,我通过编写代码、调试程序来实现各种功能,不断提高了自己的编程能力。
最后,FPGA课程的学习还需要我们具备团队合作和沟通能力。
fpga课程设计心得体会

fpga课程设计心得体会FPGA 课程设计心得体会在大学的学习生涯中,FPGA 课程设计无疑是一次极具挑战性和收获颇丰的经历。
通过这次课程设计,我不仅深入了解了 FPGA 的工作原理和应用,还提升了自己的实践能力和解决问题的思维方式。
在课程设计开始之前,我对 FPGA 的认识还停留在理论层面,虽然通过课堂学习掌握了一些基本概念和原理,但对于如何将其应用到实际项目中,心中并没有底。
当拿到课程设计的任务书时,我感到既兴奋又紧张。
兴奋的是终于有机会将所学知识付诸实践,紧张的是担心自己无法顺利完成任务。
我们的课程设计任务是设计一个基于 FPGA 的数字时钟系统。
这个系统要能够准确显示时、分、秒,并且具备校时功能。
听起来似乎并不复杂,但真正实施起来却遇到了不少难题。
首先是硬件设计部分。
选择合适的 FPGA 芯片是关键的一步。
不同的芯片具有不同的资源和性能特点,需要根据设计需求进行综合考虑。
经过查阅资料和对比,我最终选择了一款性价比较高的芯片。
接下来是绘制原理图和 PCB 图,这对于我来说是一个全新的挑战。
以前虽然学习过相关知识,但实际操作时还是出现了很多细节问题,比如布线规则、元件封装等。
经过多次修改和优化,终于完成了硬件设计。
硬件设计完成后,接下来是软件编程。
使用的开发工具是 Quartus II,这是一款功能强大但也较为复杂的软件。
在编写代码的过程中,我遇到了逻辑错误、时序问题等。
为了解决这些问题,我不断地调试和修改代码,通过查看波形图、设置断点等方式来查找错误。
有时候一个小小的错误可能会花费我好几个小时的时间,但当最终找到并解决问题时,那种成就感是无法言表的。
在整个课程设计过程中,团队合作也发挥了重要作用。
我们小组的成员各有所长,有的擅长硬件设计,有的擅长软件编程。
在遇到问题时,我们相互交流、共同探讨,分享自己的想法和经验。
通过团队的努力,我们能够更快地找到解决问题的方法,提高了工作效率。
除了技术方面的收获,这次课程设计还让我深刻体会到了耐心和细心的重要性。
fpga个人心得体会

fpga个人心得体会FPGA(Field-Programmable Gate Array)是一种可编程逻辑器件,它可以根据用户的需要重新进行编程,以实现不同的功能。
在我个人使用FPGA的过程中,我深刻地体会到了它的优势和魅力。
首先,FPGA具有灵活性和可重构性。
相较于传统的专用集成电路(ASIC),FPGA可以在设计完成后进行现场编程,而无需重新设计和制造芯片。
这意味着我可以根据具体的需求对FPGA进行修改和优化,使其更适合特定的应用场景。
无论是改变设计逻辑、增加新的功能,还是优化性能和功耗,FPGA都可以随时进行调整,极大地提高了开发的灵活性和效率。
其次,FPGA具有并行计算能力。
相对于传统的通用处理器,FPGA可以通过配置并行计算单元实现更高的运算速度。
这对于需要高性能计算的应用非常重要,例如图像处理、信号处理和机器学习等。
我曾经使用FPGA进行图像处理的项目,通过合理地设计硬件架构和并行计算的布局,显著提升了处理速度和实时性。
这使我意识到FPGA在数据密集型应用中的巨大潜力。
此外,FPGA还具有较低的功耗和高效能。
FPGA的逻辑元件采用可编程的查找表(Look-Up Table)实现,相对于ASIC的固定逻辑电路,FPGA能够根据具体的需求进行灵活布局,减少了功耗的浪费。
在一些对功耗要求较高的应用中,FPGA能够提供更好的性能-功耗比,降低了系统的能源消耗。
与此同时,FPGA的设计流程也给我提供了很多的挑战和机会。
由于FPGA的可编程特性,需要我充分理解硬件描述语言(HDL)和硬件设计流程,掌握相关的设计工具和开发环境。
在这个过程中,我不仅提高了自己的技术能力,还学到了如何进行良好的工程管理和调试。
这些宝贵的经验对于今后的工作和学习都将会带来很大的帮助。
然而,FPGA的使用也存在一些挑战和限制。
首先,相较于通用处理器,FPGA的开发成本较高。
设计FPGA的逻辑电路需要耗费大量的人力、时间和资源。
fpga课程设计心得体会

fpga课程设计心得体会在经历了一学期的FPGA课程设计学习之后,我深刻体会到了这门课程对于我的成长和思维方式的影响。
通过设计和实现各种基于FPGA 的电路,我不仅掌握了硬件描述语言的编写技巧,还提升了问题解决能力和创新意识。
在这篇文章中,我将分享我在FPGA课程设计中的心得与体会。
一、课程概述FPGA(Field Programmable Gate Array)课程是一门教授数字电路设计原理与实践的课程。
在这门课程中,我们使用硬件描述语言,如Verilog或VHDL,来描述和实现数字电路。
通过FPGA芯片的编程,可以在其中构建各种数字逻辑电路,如加法器、减法器、乘法器等。
该课程的目的是培养我们的电路设计能力和创新思维。
二、设计流程在FPGA课程设计中,我们一般遵循以下的设计流程:1. 问题分析与需求确定:首先,我们要明确需要实现的功能和目标。
通过仔细分析问题,确定输入、输出以及其他约束条件。
2. 模块划分与接口定义:接下来,我们将问题划分为若干个子模块,并定义它们之间的接口。
这个过程类似于软件开发中的模块化思想,可以提高代码的可重用性和维护性。
3. 硬件描述与仿真验证:使用Verilog或VHDL等硬件描述语言,编写各个模块的代码,并进行功能仿真验证。
通过仿真结果,可以及时发现并解决潜在的问题。
4. 综合与布局布线:在经过仿真验证后,我们需要将代码综合成实际的硬件电路,并进行布局布线。
这个过程是将逻辑电路转化为实际能够在FPGA芯片上运行的物理电路。
5. 下载与调试:最后,将设计好的电路通过下载工具加载到FPGA 芯片上,并进行实际的调试和测试。
在这个阶段,我们需要确保电路能够正确运行并满足设计要求。
三、收获与体会通过参与FPGA课程设计,我获得了以下几方面的收获与体会:1. 硬件描述语言的掌握:通过学习Verilog语言,我学会了如何用一种简洁而强大的语言来描述和实现数字电路。
通过编写代码,我可以实现各种复杂的逻辑功能,并通过仿真验证其正确性。
FPGA学习总结

FPGA学习总结FPGA(现场可编程门阵列)是一种数字电路开发和实现的工具,它提供了一种灵活的方式来设计和实现各种数字电路。
在我的FPGA学习过程中,我经历了以下几个方面的学习和实践:1.FPGA基础知识:在学习FPGA之前,我首先了解了FPGA的基本概念和原理。
我学习了FPGA的架构、时序和时钟设计、数字电路设计和综合等方面的知识。
这些基础知识为我深入学习和实践FPGA打下了坚实的基础。
2. FPGA开发工具的使用:我使用了常见的FPGA开发工具,如Vivado和Quartus。
这些工具提供了一种直观而强大的方式来设计和实现FPGA。
我学习了如何创建项目、添加模块、定义信号、综合和布局布线等操作。
通过不断的实践和尝试,我逐渐掌握了这些工具的使用。
3. Verilog和VHDL的学习:Verilog和VHDL是FPGA开发中常用的硬件描述语言。
通过学习这两种语言,我能够使用它们来描述和设计各种数字电路。
我掌握了如何使用这些语言来描述寄存器、组合逻辑、状态机等部件,并能够将它们综合成FPGA可实现的电路。
4.FPGA的应用实践:在学习了FPGA的基础知识和工具使用之后,我开始进行一些实际的应用实践。
我使用FPGA设计和实现了一些简单的电路,如计数器、加法器、乘法器等。
通过实践,我加深了对FPGA的理解,并增强了自己的设计和调试能力。
5.FPGA高级特性的学习:除了基础知识和工具使用外,我还学习了一些FPGA的高级特性,如时序分析、时钟域划分、并行数据传输和高速串行数据传输等。
这些特性在设计和实现一些高性能和复杂的电路时非常重要,我通过学习和实践,学会了如何正确地使用这些特性。
总结起来,FPGA学习是一个既有理论基础又注重实践和应用的过程。
通过学习FPGA,我更好地理解了数字电路的原理和设计,增强了自己的工程能力。
我学会了使用FPGA开发工具,掌握了Verilog和VHDL等硬件描述语言,实践了FPGA的设计和实现,并学习了一些高级特性。
fpga课程心得体会

fpga课程心得体会导言FPGA(Field-Programmable Gate Array,现场可编程门阵列)是一种重要的数字电路设计和嵌入式系统开发工具,它具有灵活性高、性能好、可重新配置等特点,被广泛应用于各种领域。
在参加FPGA课程的学习过程中,我收获了许多知识和经验,并对FPGA的应用和发展有了更深入的了解。
在本文中,我将分享我在FPGA课程中的心得体会,并探讨FPGA的优势与前景。
一、FPGA的基本原理和特点FPGA,作为一种现场可编程器件,具有以下几个基本特点:1. 灵活性高:FPGA可以根据需求进行现场编程,实现不同的逻辑功能。
通过编程语言,我们可以控制FPGA中的门阵列、开关和触发器,从而实现我们所需要的电路功能。
2. 性能优良:由于FPGA的硬件实现,其性能通常优于软件实现。
通过FPGA的并行计算能力,我们可以有效地提高电路的运行速度和效率。
3. 可重新配置性:与ASIC(专用集成电路)相比,FPGA具有可重用、可重构的特点。
在设计中,我们可以多次重复使用FPGA,避免了重复设计的时间和成本。
4. 开发周期短:由于FPGA的可编程性,我们可以快速地进行电路设计和验证。
这大大缩短了开发周期,提高了产品的上市速度。
通过学习FPGA的基本原理和特点,我深刻认识到了它在数字电路设计和嵌入式系统开发中的重要性和价值。
二、FPGA在数字电路设计中的应用1. 逻辑电路设计:FPGA可以实现各种逻辑门和组合逻辑电路的设计。
通过使用FPGA进行逻辑电路设计,我们可以最大程度地提高电路的运算速度和准确性。
2. 时序电路设计:FPGA不仅可以实现逻辑电路的设计,还可以用于时序电路的设计。
通过使用FPGA的触发器和计数器等功能模块,我们可以方便地进行时序电路的建模和验证。
3. 通信电路设计:FPGA在通信电路设计中也有广泛的应用。
例如,我们可以使用FPGA实现数字信号处理(DSP)算法,用于音频和视频信号的处理和传输。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
篇一:fpga学习心得大报告《fpga技术基础》学习报告--课程内容学习心得姓名:学号:年级专业:指导教师:瞿麟 201010401128 自动化101薛小军摘要从开始学fpga到现在粗略算来的话,已经有3个多月了,就目前而言,我并不确定自己算不算高手们所说的入门了,fpga学习总结。
但是不管现在的水平如何,现在就总结一下自己学习它的感受或一些认识吧。
关键词fpga de2板 quartusii软件 verilog语言引言fpga是什么?fpga现状?怎样学习fpga?fpga是现场可编程门阵列的简称,fpga的应用领域最初为通信领域,但目前,随着信息产业和微电子技术的发展,可编程逻辑嵌入式系统设计技术已经成为信息产业最热门的技术之一,应用范围遍及航空航天、医疗、通讯、网络通讯、安防、广播、汽车电子、工业、消费类市场、测量测试等多个热门领域。
并随着工艺的进步和技术的发展,向更多、更广泛的应用领域扩展。
越来越多的设计也开始以asic转向fpga, fpga正以各种电子产品的形式进入了我们日常生活的各个角落。
正文(1)掌握fpga的编程语言在学习一门技术之前我们往往从它的编程语言开始,如同学习单片机一样,我们从c语言开始入门,当掌握了c语言之后,开发单片机应用程序也就不是什么难事了。
学习fpga也是如此,fpga的编程语言有两种:vhdl和verilog,这两种语言都适合用于fpga的编程。
(2)fpga实验尤为重要除了学习编程语言以外,更重要的是实践,将自己设计的程序能够在真正的fpga里运行起来,这时我们需要选一块板子进行实验,我们选择使用de2板才进行试验。
初识de2开发板de2的资源de2的资源非常丰富,包括1. 核心的fpga芯片-cyclone ii 2c35 f672c6,从名称可以看出,它包含有35千个le,在altera的芯片系列中,不算最多,但也绝对够用。
altera下载控制芯片- epcs16以及usb-blaste对jtag的支持。
2.存储用的芯片有: 512-kb sram,8-mbyte sdram,4-mbyte flash memory3. 经典io配置:拥有4个按钮,18个拨动开关,18个红色发光二极管,9个绿色发光二极管,8个七段数码管,16*2字符液晶显示屏,4. 超强多媒体:24位cd音质音频芯片wm8731(mic输入+linein+ 标准音频输出),视频解码芯片(支持ntsc/pal制式),带有高速dac视屏输出vga模块。
5.更多标准接口:通用串行总线usb控制模块以及a、b型接口,sd card接口,irda红外模块, 10/100m自适应以太网络适配器,rs-232标准串口, ps/2键盘接口6.其他:50m,27m晶振各一个,支持外部时钟, 80针带保护电路的外接io7.此外还有:配套的光盘资料,qutuarsii软件,niosii 6.0ide,例程与说明文档。
关于管脚分配当我们创建一个fpga用户系统的时候,到最后要做的工作就是下载,在下载之前必须根据芯片的型号分配管脚,这样才能将程序中特定功能的管脚与实际中的fpga片外硬件电路一一对应。
fpga简单的说,就是现场可编程逻辑阵列。
它的内部是逻辑单元,它们之间可以用线连接,至于以怎样的形式相连,则可以根据应用者写入的逻辑决定。
每次布线都会重新组合逻辑单元,从而可以任意的编写不同的逻辑。
当然,前提是定义的逻辑块不超出它可读写的最大值。
总结在学习fpga时,遇到的问题有许多,譬如,写代码时的警告,特别是一些不能忽视的警告,每次遇到时,总是还要检查一会儿才能改过来,或者有的警告已经出现了几次,但是就是解决不掉。
每次在学一个模块时,只要是看懂了,它的一些重点就没有及时的记录在本子上,只有个别的想起来时,才会做笔记。
每做完一个模块,没有及时记录下自己从这个模块中学到了什么。
上面的不足,都是在写模块的过程中,自己逐渐暴露出来的。
我很庆幸自己的一些问题能及时的被发现,避免类似的事情再次发生。
像遇到警告时,都要记录下来,通过改正后,要注释,写下警告的原因,定期看一下。
每次写模块的时候,都要记下重点知识,即使是自己懂得的,好记性都是比不过烂笔头的。
关于以上的总结,我相信在以后的学习中一定会对自己有莫大的帮助,它会时刻警醒自己,在以前的学习中,自己有哪些不足,以后千万不能再去犯同样的错误,不断地纠正,不断地进步,相信自己一定会学好fpga的。
篇二:fpga学习心得回想起自己学fpga,已经有一段时间了,从开始的茫然,到后来的疯狂看书,设计开发板,调电路,练习各种fpga实例,到最后能独立完成项目,一路走来,感受颇多,拿出来和大家分享,顺便介绍下自己的一点经验所得,希望对初学者有所帮助。
废话不说了,下面进入正题,学习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开发的整个流程。
④、在这里也推荐几个学习fpga比较好的论坛,不过很多人一看到英语就不想看,其实上面的英文很简单,很多时候不敢看是因为对自己没信心或心静不下来看。
不过官方网站上资料很多,刚开始可能会觉得资料安排的有点乱,不方便查找,以后有时间我列个资料的链接目录,整理一下,方便大家查找。
到这里,自己最fpga的学习有一段时间了,练习了很多实例,自己也编写了不少程序,也有了一些项目经验,算是对fpga有些了解了。
在不断的学习中发现fpga不仅可以做逻辑设计,算法设计等,还能做嵌入式开发,altera先后开发了nios,niosii两款fpga的嵌入式软核,并有配套的软件,刚开始看到这些我真是心中突然豁然开朗,学习真的是无止境,又一个全新的领域摆在我面前,我决定学习niosii,要学就要学最好。
刚开始入门是很痛苦的,嵌入式设计需要从硬件到驱动到软件全部熟悉,硬件系统问题还不是很大(以前做过单片机,dsp等mcu),处理器的架构心里还有点数,对于驱动和软件工程,刚开始学习真的很头痛。
niosii应该还算比较新的内容(应该是2004年出的),国内的书籍不算很多,网上这方面的资料也比较零碎,所以我就开始将altera网站上这方面的资料系统的看一边,这里推荐几本网站上的handbook:①、embedded design handbook②、nios ii processor reference handbook③、nios ii software developers handbook④、quartus ii handbook, volume 4: sopc builder⑤、quartus ii handbook, volume 5: embedded peripherals看完这些handbook,总算基本明白整个架构,软硬件设计方法,驱动的编写等,感觉自己可以编一些嵌入式的程序了,不过虽然前面做的那块ep2c5的板子支持niosii系统,不过对于嵌入式设计来说还是显得单薄了一点,没有sdram,flash这两个比较基本的模块,ep2c5内嵌的ram太小,程序写不大,而且每次总要绞尽脑汁优化程序代码大小,很多时候优化了后函数功能会受到限制,不利于初学者,也不利于调试。