Qsys介绍

news2024/11/18 9:37:19

文章目录

  • 前言
  • 一、为什么需要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开发教程:原子官方

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/813904.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

代码随想录算法训练营第三十天 | 单调栈系列复习

单调栈系列复习 每日温度未看解答自己编写的青春版重点题解的代码日后再次复习重新写 下一个更大元素 I未看解答自己编写的青春版重点题解的代码日后再次复习重新写 下一个更大元素II未看解答自己编写的青春版重点题解的代码日后再次复习重新写 接雨水未看解答自己编写的青春版…

idea模块的pom.xml被划横线,不识别的解决办法

目录 问题: 解决办法: 1.打开设置 2. 取消勾选 3.点击确认 4.解决 问题提出: 写shi山的过程中,给模块取错名字了,改名的时候不知道点到了什么,一个模块的pom.xml变成灰色了&#xff0…

3ds MAX粒子系统演示

其他各案例可以在视频中看到: 从左向右依次是: 粒子流源、喷射、雪、超级喷射、暴风雪、粒子阵列、粒子云 粒子系统

小研究 - JVM 垃圾回收方式性能研究(一)

本文从几种JVM垃圾回收方式及原理出发,研究了在 SPEC jbb2015基准测试中不同垃圾回收方式对于JVM 性能的影响,并通过最终测试数据对比,给出了不同应用场景下如何选择垃圾回收策略的方法。 目录 1 引言 2 垃圾回收算法 2.1 标记清除法 2.2…

iOS开发-实现获取下载主题配置动态切换主题

iOS开发-实现获取下载主题配置动态切换主题 iOS开发-实现获取下载主题配置更切换主题,主要是通过请求服务端配置的主题配置、下载主题、解压保存到本地。通知界面获取对应的图片及颜色等。 比如新年主题风格,常见的背景显示红色氛围图片、tabbar显示新…

Visual Studio 设置默认编码格式为 UTF-8

1.添加高级保存选项 2.更改编码格式

客户端服务器通过Socket API通信流程 通过源码角度分析 三握手四挥手都过程的状态改变 及 例如accept()connect()具体做了什么

首先我们先说下网络编程API: 数据在网络上通信,通信的双方一个是 客户端, 一个是 服务器 更具体来说,不是 客户端和服务器这两个机器在 经由互联网 进行通信, 而是 客户端上的某一进程 与 服务器端的某一进程 进…

Java 单链表

链表基本介绍 链表在内存中的实际存储结构 链表的逻辑结构 单链表应用实例 代码实现 // 英雄节点,存储了英雄的信息 class HeroNode {public int id; // 英雄编号public String name; // 英雄名字public String nickName; // 英雄昵称public HeroNode next; // 指…

【系统软件01】devtoolset离线安装gcc

【系统软件01】devtoolset离线安装gcc 一、SCL简介二、SCL源安装三、离线下载devtoolset1、Developer Toolset2、下载devtoolset-93、压缩devtoolset-9 三、离线安装devtoolset-9(gcc9.3)1、解压devtoolset-9.tar.gz2、安装devtoolset-9 四、设置环境变量(使用gcc9.3)1、当前窗…

LeetCode547.Number-Of-Provinces<省份问题>

题目: 思路: 连通的部分加起来,然后总的 减去连通的部分。 但是很可惜 只能通过部分 似乎将st[i][j] st[j][i] 改变之后是可行的 但是实际上 1 2 连通后 2 1 确实是不会再加。 但是 2 3却还是在加一遍。 好吧。答案的思路是使用并查集。将…

lc209.长度最小的子数组

暴力破解:二次for循环遍历num[i]...num[j],记录满足条件的最小长度 前缀和二分:前缀和降低计算num[i]...num[j]的时间复杂度 对前缀和数组中的每个数进行遍历,找到距离这个数满足条件的最小长度 前缀和数组单调递增,此…

蓝海卓越计费管理系统任意文件读取下载

……人哪,活着是这么的苦!一旦你从幸福的彼岸被抛到苦难的此岸,你真是处处走头无路;而现在你才知道,在天堂与地狱之间原来也只有一步之遥! 漏洞描述 蓝海卓越计费管理系统存在任意文件读取漏洞&#xff0…

pycharm写scrapy遇到的问题

目录 背景创建scrapy难受的开始指定类型修改模板并指定使用运行scrapy 背景 居然还有万能的pycharm解决不了的python程序??? 创建scrapy 由于PyCharm中没有直接创建Scrapy项目的选项,所以使用命令行创建一个项目 安装scrapy pip install…

11、springboot项目启动时对容器中的bean进行延迟初始化

springboot项目启动时对容器中的bean进行延迟初始化 预初始化: Spring Boot在启动应用时,会启动Spring容器,当启动Spring容器时,Spring会自动初始化容器中所有的singleton Bean——这是默认行为 预初始化的好处: 1、项…

Qt 4. 发布exe

把ex2.exe放在H盘Ex2文件夹下,执行 H:\Ex2>windeployqt ex2.exe H:\Ex2>windeployqt ex2.exe H:\Ex2\ex2.exe 64 bit, release executable Adding Qt5Svg for qsvgicon.dll Skipping plugin qtvirtualkeyboardplugin.dll due to disabled dependencies (Qt5…

C++多线程的简单使用

一.引言 在C学习中,我们在初步学习的过程中写的程序都只可以在本地并且只可以被本主机访问。在此,我们会想要让别人也体验一下我们邪恶的程序的话,我们该怎么办呢? 首先我们介绍的时多线程编程,就相当于我们的登录qq&…

flask数据库操作

本文将详细介绍在Flask Web应用中如何设计数据库模型,并使用Flask-SQLAlchemy等扩展进行数据库操作的最佳实践。内容涵盖数据模型设计,ORM使用,关系映射,查询方法,事务处理等方面。通过本文,您可以掌握Flask数据库应用的基本知识。 Flask作为一个流行的Python Web框架,提供了高…

强化学习(PPO,DQN,A3C)

目录 1.强化学习和深度学习的区别 2. 强化学习思路 3.baseline 4.PPO 4.1on-policy和off-policy简单理解 4.2actotcritic 5.DQN(回归问题) 4.1公式 4.2Q表 参考文献 1.强化学习和深度学习的区别 强化学习和深度学习的区别:在深度学习中&a…

【*1900 图论+枚举思想】CF1328 E

Problem - E - Codeforces 题意&#xff1a; 思路&#xff1a; 注意到题目的性质&#xff1a;满足条件的路径个数是极少的&#xff0c;因为每个点离路径的距离<1 先考虑一条链&#xff0c;那么直接就选最深那个点作为端点即可 为什么&#xff0c;因为我们需要遍历所有点…

助你丝滑过度到 Vue3 其组合式API的应用 ②⑦

作者 : SYFStrive 博客首页 : HomePage &#x1f4dc;&#xff1a; VUE3~TS &#x1f4cc;&#xff1a;个人社区&#xff08;欢迎大佬们加入&#xff09; &#x1f449;&#xff1a;社区链接&#x1f517; &#x1f4cc;&#xff1a;觉得文章不错可以点点关注 &#x1f449;…