当前课程知识点:现代电子系统设计 > 第八章 FPGA与数字系统设计 > 8.6 FPGA设计工具和方法 > 8.6 FPGA设计工具和方法
接下来讲第八章第六节
FPGA设计工具和方法
首先来看它的设计工具
需要硬件和软件
硬件需要一台计算机
还有一个开发版
或者是一个评估板
在这个开发板上面
有FPGA芯片
还有一些存储器
以及外围的一些器件
另外还需要软件
在计算机中
要装这个设计的软件
下面我们看设计软件
那么设计软件分为
以下几个部分
第一个就是它的集成开发环境
每一个厂商针对它生产的FPGA
都会推出一个集成开发环境
例如Altera有Quartus Ⅱ
和Quartus Prime
我们在实验中
用到了Quartus Ⅱ
Xilinx它的集成开发环境有两个
一个是以前的开发环境ISE
和新的开发环境vivado
Actel它的开发环境是libero
另外还有就是仿真软件
常用的就是Modelsim
接下来就是设计语言
设计语言第一个就是
硬件描述语言
硬件描述语言有两种
一个是Verilog
一个是VHDL
我们在后面的章节里头
会要介绍Verilog
在实验中我们也是用的Verilog语言
另外还有就是一些高级的语言
C/C++ system C matlab
和Open CL
接下来我们看一下设计的方法
对于一个FPGA来讲
它最底层是硬件电路
因此我们在设计的时候
既可以从最底层的
硬件电路去设计
也可以基于一些高层的建模的方式
去进行设计
首先我们来看
它最底层就是电路
那么电路是由晶体管组成
然后还有一些连线
所以在这个层次上
我们如果去建模
或者是描述电路的话
那就是叫电路级的设计
接下来我们把电路封装起来
就变成了一些门电路和寄存器
那这时候在这个级别上去设计的话
我们就叫基于门电路的设计
那这时候主要是去描述
具体的门电路的结构
它的输入和输出
接下来我们可以在更高的层次
去描述
这时候我们可以用逻辑单元
RAM和DSP
和一些其它的器件去设计电路
这时候我们可以用
基于数据流的方式去设计
这时候主要是描述电路
它的输入和输出的一种逻辑关系
再接下来的
就可以用更高级的行为描述的方式
进行设计
这时候主要是从电路的功能上面
去进行描述
例如可以用状态机
流程图
进行设计
还可以调用这个IP核
来进行设计
什么是IP核呢
所谓IP核
就是自主设计的
拥有自主知识产权的
一些设计
这些设计可以被重复地应用
在刚才讲的这四种方式中
我们都可以用这个硬件描述语言
去进行设计
在上面再进行设计的话
可以进行更高一级的设计
就是算法级的设计
这时候主要定义它的这个算法
或者是数学的公式
再往上就是系统级的设计
这时候可以进行一个
SOPC系统的设计
或者是基于SoC FPGA
进行一个系统的设计
这时候在设计的过程中
可能要用到软件和硬件
协同设计的这个方式
在上面更高层的
这两种设计方式中
我们可以用更高级的语言
比如C system C
matlab和Open CL等等
在这些设计方法中
常用的有中间的两种设计方法
就是数据流的设计方法
和行为描述的设计方法
在我们的课程中
也主要用这两种设计方法
另外在课程中
我们还用到了系统级的设计方法
也就是SOPC的设计方法
接下来我们讲
用这个硬件描述语言
去设计电路的一个流程
包括设计的方法
和仿真的方法
首先对于一个设计
我们可以用硬件设计语言
去描述一般用这个数据流的方式
或者是行为的方式
去描述这个电路
它的输入输出的关系
或者是功能
描述完成以后
接下来可以对它进行仿真
这个仿真叫寄存器传输级的仿真
实际上也就是对它
设计的这个逻辑
进行功能的仿真
因为这时候还没有对应到电路
在仿真的时候
就不考虑时延了
如果仿真通过以后
再接下来就可以进行综合了
什么是综合呢
综合就是把设计翻译成
FPGA对应的一些逻辑单元
以及RAM和I/O端口等等
那这时候在综合的过程中
会要进行一些优化
也就是通常会用
最少的这些逻辑单元
或者是RAM去实现同样的一个功能
并且满足它的性能的要求
那这样就将一个设计
对应到一些电路模块里头去了
接下来就就可以进行
门级的仿真
这时候就是针对这个
具体的器件它的逻辑单元
进行仿真
仿真通过以后
接下来就可以进行布局布线
所谓布局布线
就是把刚才的那些逻辑单元
RAM等
把它对应到具体的FPGA的
这个电路位置上面去
然后再把它们进行连线
这就是布局布线
布局布线以后
可以进行再一次的仿真
这时候具体的电路就会有延迟
连线也会有延迟
仿真的时候
实际上就是一个时序仿真了
可以验证它的这个性能
和时序的关系
当验证通过以后
最后就可以把这个设计
下载到目标的FPGA板子上面去
我们叫编程
然后下载之后
再对它的功能进行测试
这样就完成了一个
用硬件描述语言
进行数字电路设计的一个过程
感谢您的观看
-课程简介
-1.1 电子系统简介
-1.2 现代电子系统举例
-1.3 现代电子系统的组成
-1.4 现代电子系统设计方法
-第一章 作业
-2.1 传感器定义
-2.2 传感器的分类和性能指标
-2.3 常用传感器介绍
-2.4 常用执行器介绍
-第二章 作业
-3.1 模拟信号处理简介
-3.2 信号放大和隔离电路
-3.3 滤波电路
--3.3 滤波电路
-3.4 运算电路(一)
-3.5 运算电路(二)
-3.6 电压比较器
-3.7 功率放大电路
-3.8 模-数转换器
-3.9 数-模转换器
-第三章 作业
-4.1 直流电源简介
-4.2 线性稳压电源
-4.3 开关稳压电源
-第四章 作业
-5.1 微处理器简介
-5.2 微处理器和片上系统的发展历程
-5.3 微处理器分类
-5.4 微处理器和片上系统举例
-5.5 微处理器和片上系统硬件结构
-5.6 外围接口和设备
-5.7 嵌入式软件开发方法
-5.8 嵌入式操作系统
-5.9 外围设备应用程序开发简介
-第五章 作业
-6.1 TM4C123 简介
-6.2 TM4C123 实验板
-6.3 TM4C123 软件开发
-6.4 TM4C123 实验举例
-第六章 作业
-7.1 PSoC简介
-7.2 PSoC实验板
-7.3 PSoC软件开发
-7.4 PSoC实验举例
-第七章 作业
-8.1 FPGA简介
-8.2 FPGA的发展趋势
-8.3 FPGA的特点
-8.4 FPGA的结构
-8.5 FPGA结构举例
-8.6 FPGA设计工具和方法
-8.7 QuartusⅡ集成开发环境
-8.8 DE2-115实验平台简介
-8.9 Verilog硬件设计语言
-- 8.9.8 设计仿真
-8.10 数字电路设计与仿真举例
-第八章 作业
-9.1 SOPC简介
-9.2 Nios II 微处理器简介
-9.3 Avalone总线简介
-9.4 SOPC设计方法简介
-9.5 SOPC设计举例
-- 9.5.1 设计内容
-9.6 Nios II 软件设计
-第九章 作业
-10.1 实验内容与要求
-10.2 实验设备与器材
-10.3 注意事项与调试方法
-10.4 实验结果展示
-第十章 作业
-期末考试
--期末考试