文档介绍:FPGA技术调研报告
0805杨学齐 200892128
FPGA的系统设计概述
系统设计在整个设计中是非常关键的,它直接影响到后面的工作时间、质量和效率,同时也关系到最后产品的质量(包括实现的功能、稳定性,测试、使用、维护和升级是否方便等等)。系统设计的必要性表现在它不仅能够从整体上描述系统,而且还表现在它能够在设计前期阶段就能发现理论和设计原理上的错误和缺陷并进行设计方案的修改和优化,而系统仿真是一个有效的方法,它使系统设计从定性描述走向定量描述,更具体、更具体、更轻易发现细节题目和缺陷。假如不重视系统设计,必然要在调试阶段花费更多的时间,而且会对以后的工程应用、产品维护、市场拓展等方面付出代价,这是不可取的。此外,具体的系统设计方案会使得分配模块的设计任务变得更轻易和明确,便于项目开发的治理。
系统设计采用自顶向下的设计方法,根据系统的设计要求,首先对系统的结构和功能进行定义,主要包括(对一个具体设计不一定都包括):系统功能描述,技术参数定义,模块划分及其功能描述(即方框图描述),通讯协议,软硬件协同实现方案,系统数据流、控制流(包括状态机)和存储方案,复位和时钟方案(即同步方案), IP使用方案,测试方案(包括仿真时要用到的测试激励和在电路板上的测试方案),各模块的接口信号定义(包括时序关系)及其连接,寄存器定义和FPGA引脚信号定义等等,然后使用高级语言或者VHDL、Verilog HDL硬件描述语言进行算法行为描述和系统行为仿真,最后完成系统设计方案。系统设计流程
由此可见,一个完整的系统设计方案不仅需要定性描述(即系统功能和模块功能描述、参数定义、方框图、模块划分和接口信号定义、时序图、可行性论证等),而且应该有定量描述,即含有具体的算法说明、系统行为描述代码和系统仿真结果等。事实上,对一个简单的设计,系统方案只做到定性描述也可以,即不做系统行为描述与仿真,各模块内的算法可以由承担该模块的设计者完成,模块设计可以直接从RTL级(Register Transport Level: 寄存器传输级)开始,系统仿真直接从功能仿真开始
二、FPGA设计流程
(1)设计定义
(2)HDL实现
逻辑仿真器
(3)功能仿真
逻辑综合器
(4)逻辑综合
逻辑仿真器
(5)前仿真
FPGA厂家工具
(6)布局布线
(8)静态时序分析
逻辑仿真器
(7)后仿真
(9)在系统测试
说明:
逻辑仿真器主要指modelsim,Verilog-XL等。
逻辑综合器主要指LeonardoSpectrum、Synplify、FPGA Express/piler等。
FPGA厂家工具指的是如Altera的Max+PlusII、QuartusII,Xilinx的Foundation、Alliance、。
功能仿真
RTL代码
调用模块的
行为仿真模型
测试程序
(test bench)
测试数据
逻辑仿真器
说明:
“调用模块的行为仿真模型”指的是RTL代码中引用的由厂家提供的宏模块/IP,如Altera 提供的LPM库中的乘法器、存储器等部件的行为模型。
设置综合目标和约束条件
调用模块的
黑盒子接口
RTL代码
逻辑综合器
HDL网表
(netlist)
EDIF网表
(netlist)
说明:
“调用模块的黑盒子接口”的导入,是由于RTL代码调用了一些外部模块,而这些外部模块不能被综合或无需综合,但逻辑综合器需要其接口的定义来检查逻辑并保留这些模块的接口。
前仿真
逻辑综合器
调用模块的
行为仿真模型
测试数据
测试程序
(test bench)
HDL网表
(netlist)
逻辑仿真器
说明:
一般来说,对FPGA设计这一步可以跳过不做,但可用于debug综合有无问题。
布局布线
逻辑综合器
设置布局布线约束条件
FPGA厂家工具
EDIF网表
(netlist)
调用模块的
综合模型
SDF文件
(标准延时格式)
HDL网表
(netlist)
下载/编程文件
后仿真(时序仿真)
测试数据
SDF文件
(标准延时格式)
FPGA基本单元仿真模型
测试程序
(test bench)
FPGA厂家工具
HDL网表
(netlist)
逻辑仿真器
三、在FPGA中植入嵌入式系统
电子产品的开发同样需要在尽量嵌入更多智能设计和创建、实现并