[D-II] 使用FPGA的目的 编程配置FPGA流程(Quartus II 13.0)

整理看[《基于FPGA的嵌入式系统设计 – Altera Soc FPGA 》第二版],整理部分很可能有错误。了解FPGA概念参考:认识FPGA Verilog HDL前3段。FPGA(芯片)可被编程配置,如今的EDA为编程配置FPGA提供了许多工具,并遵循着一定的层次设计流程。


0. 总结

(1) 结合EDA对FPGA的学习

  • 所有工具的具体用法可参考Quartus II对应版本的 Handbook,结合Altera培训的excise实践。
  • FPGA的基础:电子技术基础也。
  • 若有条件结合具体的FPGA板子到官网下载FPGA的demo例子实践一把又一把。

(2) 使用FPGA的目的

Quartus II最终会生成到FPGA芯片上的FPGA的配置文件和网表等中途产生的文件。根据设计FPGA的精神,将FPGA配置文件下载到FPGA芯片上后,FPGA芯片就被配置为配置文件所代表的逻辑和功能。


从20世纪90年代末起,在可编程器件内可实现一个用户自定义的系统,这个系统通常包括微处理器(特定的微处理器如Nios II)、片内存储器及外设控制器等。用户自定义的系统经EDA软件产生FPGA配置文件及其它文件,FPGA配置文件用于下载到FPGA芯片内,使芯片被配置为用户所定义的系统的逻辑和功能。用户可以通过FPGA芯片所在开发板来测试所定义的系统是否达到原先所预计的功能。若没有达到,则可通过EDA软件对设计进行修改,生成新的FPGA文件后再重新下载到FPGA芯片内再进行验证。


用户所设计的系统在FPGA开发板上通过验证后,是用具有此系统功能的FPGA芯片还是将EDA软件中所产生网表(或其它文件)拿去给制造芯片的厂家让其加工生成所设计系统,成为新的芯片?对于个体用户来说,采用前者可以省去定制新芯片的费用,只需要将FPGA芯片在各开发板之上移来移去(如果FPGA芯片可以被多次焊接)。但如果是一个公司,需要生产具有所设计系统功能的芯片若干(如用来卖),则第一种方式就不可取:相当于买若干FPGA芯片不说,还要花功夫来编程配置FPGA芯片。所以,需要采用第二种方式,通过EDA产生网表文件,让生产芯片的厂家定制若干本公司所设计的芯片。然后就可以在所定制芯片上下点功夫,开发一个有特定用途的板子(板子的处理器芯片功能刚刚好,比买有功能裕度的芯片划算)卖给有需求的其它小公司,卖出的价格可以由成本外稍加一些劳动、技术费。


所以,现在的数字系统设计的模式可以总结为:一台计算机,一套EDA软件和一个具有可编程器件的开发板,具有这三样东西就可以开发出一个刚好符合功能需求的芯片(CPU),认识FPGA Verilog HDL中“使得数字系统的设计可以如同软件设计那样方便快捷”相呼应。那么,FPGA是用来开发微处理器的。可见,虽然没有生产FPGA芯片的厂家那么牛,但能够设计微处理器(CPU)也算是IT界的牛了。成为生产FPGA芯片及EDA软件厂家的客户。

1. 使用Quartus II EDA工具 配置FPGA的背景

(1) FPGA与数字电路部分

Figure1. FPGA位置

(2) 现代数字系统设计方法

目前,关于数字系统设计的软硬件方面的技术已经较为成熟,数字系统的设计方法称为EDA(Electronic Design Automation, 电子设计自动化)。EDA在数字方面的普及程度比较广泛,而模拟电子的EDA技术正在进入实用阶段。这就是为什么在对数字系统进行设计时会采用如Quartus II、ISE这样的EDA工具软件,进行模电电路设计时会用如AD的工具软件。


目前暴漏在书本之上、比较流行的设计方法是依据EDA技术的流程来完成 数字系统的设计 。EDA技术基于PLD硬件(如FPGA)和EDA工具(如Quartus II)采用 自顶向下 的设计方法。首先从系统设计入手,在顶层进行功能划分和结构设计,并在系统级采用仿真手段验证设计的正确性,然后逐级设计低层的结构,实现从设计、仿真到测试得一体化。


Figure2. 数字系统设计的抽象方法

2.Quartus II EDA工具设计流程

Quartus II EDA工具内部实现了现代数字设计方法中每一级所要求的功能,包含了FPGA和CPLD设计阶段的解决方案。


(1) Quartus II 编程配置FPGA的过程

Figure3. Quartus II典型设计流程

  • 设计输入:所设计的电路以开发要求的某种形式表达出来,并输入到相应的EDA软件中。
  • 功能仿真验证:电路设计完毕后,要用专用仿真工具(如ModelSim)对设计进行功能仿真,验证电路是否符合要求。
  • 逻辑综合:将设计输入翻译成由与、或、非门、RAM、触发器等基本逻辑单元组成的逻辑连接(网表),并根据目标与要求(约束条件)优化所生成的逻辑连接,输出EDA网表文件,供FPGA厂家的布局布线。
  • 逻辑实现与布局布线:逻辑综合的本质是一些由与、或、非门、RAM、触发器等基本逻辑单元组成的逻辑网表,它与实际的配置情况还有较大差距。此时应该用FPGA厂家提供的软件工具,根据所选芯片的型号,将综合输出的逻辑网表适配到具体的FPGA的芯片上。
  • 时序仿真与验证:将布局布线的延时信息反标注到设计网表中进行仿真。布局布线后生成的文件不仅包含门延时,还包含实际布线延时,故而布线后的仿真最为准确,能较好的反应芯片的实际工作情况。
  • Assembler:产生多种形式的器件编程映像文件,如FPGA芯片的配置文件。
  • 器件编程与片上调试:设计开发的最后步骤就是在线调试或者将生成的FPGA配置文件写入芯片中进行测试。示波器和逻辑分析仪是逻辑设计的主要调试工具。
  • Netlist Writer:产生用于第三方EDA工具的网表文件及其他输出文件。

每个流程只能接收图示的来自上一层的输出。对每一层的操作都可以提前对它进行操作(Assignments)。


(2) 集成在Quartus II 中的设计工具

现代的EDA软件平台已经突破早期仅能进行PCB版图设计,它集成设计、仿真、测试于一体,配备了系统设计自动化的全部工具。Quartus II软件运行用户在设计流程中的每个阶段使用Quartus II图形界面、EDA工具界面或命令行界面。


[1] Qsys

Qsys集成开发工具是对应于以上提到的系统级设计的工具。实现模块间(遵守协议设计的)的互联。之前要通过手动编码来完成各模块间的互联。


[2] 增量编译

Quartus II的编译过程包含综合、布局布线、时序分析,编程。若是很大的项目,则这个过程会编译几小时甚至是几天。面对大项目只改动一小部分时的编译耗时性,Quartus II提供了增量编译手段(小项目用增量编译反而划不算)。能用上增量编译的前提是项目的设计要为Partition Design,为实现项目的Partition Design,Quartus II也提供了多种方式,也有专门的Partition Design工具。


[3] 功能仿真工具

ModelSim是对应Figure 3中功能仿真,是对设计输入的一个简单仿真,有助于及时纠正设计输入。


[4] 时序分析工具

Quartus II 提供TimeQuest工具来分析时序。为了分析时序,我们需提前了解时序路径、时序约束、sutup、hold等与时序相关的基本概念。


[5] 调试工具

若时序分析得出的结果与设计不符,则就需要对设计进行调试。Quartus II包含的调试工具有SignalTap II, SignalProbe, Chip Planner, RTL Viewer等,不是说使用工具就代表好。


[2014.10.19-15:54]
FPGA Note Over.
### 回答1: 您好,关于Quartus II 13.仿真失败的问题,可能有多种原因导致,需要您提供更多的具体信息才能帮助您解决问题。比如,您在进行仿真时遇到了什么错误提示?您的仿真环境是否配置正确?您的设计是否存在语法错误或逻辑错误?如果您能提供更多的信息,我们将尽力帮助您解决问题。 ### 回答2: Quartus II 是由美国 Altera 公司开发的一款FPGA设计软件,在电路设计和仿真方面具有广泛的应用。然而,有时在使用 Quartus II 进行仿真时,会遇到失败的情况。 Quartus II 13.0版本可能因为某些原因导致仿真失败。有以下几个原因: 1. 硬件平台问题。 如果您的计算机硬件性能不足,可能会影响仿真速度。建议增加计算机的内存或 CPU,以提高仿真性能。 2. Quartus II 13.0版本安装或更新问题。 如果您的 Quartus II 13.0版本没有正确或完整地安装/更新,可能会导致仿真失败。在这种情况下,您可以重新安装或更新 Quartus II,并确保完整地安装,以避免该问题。 3. 文件损坏。 如果您的仿真文件或其他必要文件已经损坏,那么可能会导致仿真失败。请检查文件或者重新导入文件,便于提示 Bug。 4. Quartus II 软件问题。 Quartus II 软件的 Bug 或其他软件问题也可以导致仿真失败。如果您遇到此问题,请联系 Quartus II 官方支持,以获取详细的解决方案。 总之,如果您在使用 Quartus II 13.0 进行仿真时遇到了失败的情况,您可以先检查与容易出错的因素有关的可能问题,如硬件平台、软件版本、文件问题等,并采取相应的解决方案。如果问题依然存在,将联系 Quartus II 官方支持获得有关问题的进一步帮助。 ### 回答3: quartus ii 13.0仿真失败可能有多种原因导致,以下是一些常见原因及其解决方法: 1.仿真文件出错。可能是仿真文件被误删、损坏或保存不完整导致,此时可以手动生成或恢复备份文件。 2.硬件设备出错。硬件设备可能出现电压不稳定、连接问题等,这些问题需要检查硬件设备并解决。 3.仿真设置出错。可能是仿真设置不完整或不正确,如仿真时的时钟频率设置不正确、信号采样点设置不正确等。正确地设置仿真参数可以解决这个问题。 4.仿真模型出错。可能是仿真模型不完整或不正确,如仿真模型设计出现逻辑错误或误差,需要仔细检查修改。 5.仿真工具版本问题。可能是使用不适合当前设计或仿真模型的版本,需要升级、降级或更换仿真工具版本。 在解决quartus ii 13.0仿真失败问题时,需要根据具体情况综合考虑以上因素,找到问题所在,然后采取合适的措施解决。同时需要注意备份重要数据,降低操作或设置失误带来的影响。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值