文章目录
- 前言
- 一、为什么需要Qsys
- 1、简化了系统的设计流程
- 2、Qsys涉及的技术
- 二、Qsys真身
- 1、一种系统集成工具
- 2、何为Nios II
- 1、内核架构
- 2、Nios II选型
- 三、Qsys设计涉及到的软件&工具
- 四、总结
- 五、参考资料
前言
Qsys是Altera下的一个系统集成工具,可用于搭建复杂的嵌入式系统,搭建复杂的嵌入式系统,搭建完成的系统可以作为后续软件开发的硬件基础。并且可以通过Qsys来调用官方的IP核进行加速,也可以自己设计自己的IP核来制作符合需求的硬件系统。
一、为什么需要Qsys
1、简化了系统的设计流程
我们在各个领域中所需要的系统都是十分庞大的,包括有主控制器、存储器、数字信号处理模块、以及各种各样的接口协议模块。如果我们纯靠自己采用硬件描述语言去实现这些复杂的系统,工作量非常之大,所以Qsys出现了。
Altera 公司将主控制器、数字信号处理模块、存储器及其控制模块、各种接口协议等模块,通过硬件描述语言实现并封装成 IP 核。用户可以在 Qsys 中直接调用这些 IP 核,从而简化系统设计:
2、Qsys涉及的技术
- 可重构 SoC(System on Chip,片上系统)的设计技术:
可以增减构成系统的IP核或修改已有IP核的参数。
优点:
1、简化设计
2、降低硬件电路尺寸
3、缩短产品研发周期
4、节约系统开发成本、可以根据不同项目设计出不同的SOPC。
- SOPC (System On a Programmable Chip):
也就是可编程片上系统,它采用可编程逻辑技术(这里指的就是 FPGA)把整个系统集成到一个硅芯片上。在 Qsys 的帮助下,我们可能只需要点击几下鼠标,写几十行代码就可以实现一个 SOPC 系统
- SOPC 与SOC有什么不同?
System-on-a-chip (SOC)是一种集成了处理器核心、存储器、周边接口等多个功能于一个芯片上的设计方案。而System-on-a-programmable-chip (SOPC) 则是基于可编程逻辑器件 (FPGA) 连接微处理器核心和其他外设来实现类似 SOC 的系统。SOC 是对于这种“一芯片式解决所有问题”的叫法,一般指定制的单个 IC,而SOPC则是通过现场可编程技术(FPGA)进行可灵活配置组合的“单芯片系统”。因此,SOPC 是具有更高灵活性和可重构性、适用于高度定制化的应用,而 SOC 更适合高性能、低功耗、成本控制要求较严格的应用场景。
二、Qsys真身
Qsys 的前身是―SOPC Builder‖,在最新的 Quartus 版本中,Qsys 再次被升级为―Platform Designer‖。因此在我们看到―Platform Designer‖时,要知道它实际上就是我们所常用的 Qsys。
1、一种系统集成工具
它主要是用于搭建、开发、以及维护系统的平台,这个系统通常指的是Nios II处理器为核心的嵌入式系统,也可以是除了它之外的系统。在嵌入式开发中,一般需要具备硬件环境和软件程序,Qsys就是用于创建硬件环境的,相对于ARM、单片机等处理器,其可以根据自己的需求来搭建硬件环境,这也是它的独到和创新之处。下面是基本的Qsys系统框图:
Qsys搭建的基本的嵌入式系统包含系统时钟、 Nios II处理器、JTAG接口、ROM和RAM等。其中,Nios处理器是Qsys系统中最为核心的一个IP核,它是系统的调控中心,负责中端分配、地址管理、内存调度等控制任务。而GPIO、SDRAM等外设控制器负责与外部设备连接,控制外设的行为。外设控制器与Nios II则是通过Avalon总线进行通信,最近也在学习,但是只有英文版的,看起来比较痛苦,后面估计会写一篇总结。
2、何为Nios II
应用于 Intel FPGA 的嵌入式软核处理器,它是 Qsys 嵌入式系统的核心部件,具有较强的性能和可定制特性。我们可以在一片 FPGA 内部构建多个 Nios II 处理器,它们可以作为主 CPU,也可以是协处理器,在同一芯片内部协调有序地完成整个复杂系统的各项功能。(感觉有点熟悉,与RTOS类似?)
1、内核架构
Nios II 处理器内核是 32 位 RISC 架构(精简指令集架构)处理器,它包含了大多数现代 32 位处理器中常见的基本架构元素:
1、32位指令大小
2、32位数据线与地址线
3、32个通用寄存器
4、32个外部中断源
5、可配置的指令高速缓存
6、可配置的数据高速缓存
7、用于集成定制外设的通用接口
2、Nios II选型
Nios II是我们的一个软核处理器,我们在Qsys开发有三种型号供我们选择。
- Nios II/e(经济型):
占用资源最少、但运行速度最慢,适合不追求速度、资源少的器件进行选择。
- Nios II/s(标准型):
Nios II/s 内核的资源占用率和运行速度处于 Nios II/e 和 Nios II/f 这两种内核之间。
- Nios II/f(快速型):
占用资源最多、但运行速度最快,适合追求速度、资源多的器件进行选择。
在设计当中我们需要根据逻辑资源占用情况和对处理速度的要求来选择合适的 Nios II 内核,具体情况具体分析就对了。
三、Qsys设计涉及到的软件&工具
在Qsys设计中、包含有硬件开发、软件开发这两部分,需要用到Quartus II、Qsys、Nios II SBT for Eclipse等软件和工具。
- 硬件电路:
首先,我们创建的Quartus II 工程为开发 Nios II工程提供了一个平台。然后我们使用集成工具 Qsys 搭建一个用户定制的 SOPC 系统,系统可以包含 Nios II 处理器和其它的一些外设模块(IP 核)。这些模块可以是 Intel 官方提供的 IP 核、第三方提供的 IP 核或者用户自己定制的 IP核。紧接着将 SOPC 系统在 Quartus II 工程中集成到顶层模块,并将其与使用 verilog 语言设计实现的逻辑电路连接起来;最后将整个设计映射到 FPGA 芯片中,得到后面将会用到的硬件电路。 - 软件部分的实现:
软件部分的主角则是Nios II SBT for Eclipse,所有软件部分的开发都是在 Nios II SBT for Eclipse 工具中完成,包括编写、编译和调试程序。调试完成的程序由 Nios
II SBT for Eclipse 生成可执行文件(后缀名为.elf 的文件),然后将其下载到目标系统(前面所完成的硬件电路)中运行。
四、总结
这里只是简单的介绍了下Qsys的概念,架构等,具体的操作还得后面的实操。因为学其他的乏味了,换换口味尝试一下。
五、参考资料
什么是SOPC 与SOC有什么不同?
以上资料均来自正点原子的教学视频或开拓者2开发教程:原子官方