首页 > 技术 > 内容

ALTERA实现NIOS最小系统的三个部件

时间:2025-12-06  作者:Diven  阅读:0

从最初的占地170平方的第一代ENIAC计算机开始,计算机开始了不断集成化、小型化的发展之旅。现今在单一芯片内部已经能够集处理器,存储,各型协处理器等,从而形成的强大的单芯片的片上系统(SOC),而这些片上系统已存在于生活的方方面面。因此FPGA内部支持片上系统,也算不上是新奇的事情了。ALTERA和XILINX已各自推出了各自应用片上系统(FPGA领域称之为SOPC,因此其片上系统可以根据业务需求来定义)。

只需几K的资源,就能实现一个SOC的最小系统,对于FPGA工程师来说,没什么比这个更有吸引力了。那么,作为一个片上系统来说,其最小系统应该包含哪些:其至少需要三个部件,执行部件(处理器),程序执行部件(内部存储器),输出部件(输入输出单元)。(其分别相当于PC上的CPU、内存条键盘鼠标显示器)。下图所示在ALTERA的QSYS上实现NIOS的最小系统所需部件。

(1) 处理部件:NIOSII为ALTERA器件中所专有的软核处理器,而xilinx所对应的为mICroblaze的软核。通过在Qsys的界面工具中提供许多IP,而NIOSII也提供三个版本提供使用,分别是高速型,标准型,以及经济型。如果FPGA内部逻辑有限,可选择的经济型,其占用资源较少。如果需要内部资源丰富又需要运行嵌入式操作系统uclinux等复杂软件。则建议选择高速型,而要运行linux等操作系统,则在NIOSII高速型中配置MMU则是必须的。如无具体需求,则使用标准型即可。值得一提的是,NIOSII为哈佛型体系结构,即数据和指令分开,从Qsys可以看出,其接口分为指令接口和数据接口。

(2) 存储部件:对于在FPGA内部实现SOC来说,片内的块RAM就是实现SOC内部程序与数据的存储空间。也可以使用片外的存储区,如片外SRAM或者DDR等。也可以作为程序和数据的存储空间。对于NIOSII处理器来说,只有选取了片内存储区或者片外存储区,才能设定程序中断向量和复位起始位置的存储区。另外,虽然AVALON总线支持数据总线和地址总线通过片上互联同一接口访问单端口RAM。但建议使用时,例化为双AVALON接口的双端口RAM,一则是因为一般存储区所需RAM深度够大,一般支持真双端口RAM,另一方面,数据和指令分开,能够提升系统的性能。

(3) 输入输出部件:通常在嵌入式SOC系统中,最常用的输入输出部件就是串口(UART)。常常被应用于(打印printf(),scanf())函数的输入输出。如果系统设计了串口(一般为SOC系统中所必须的),则例化系统中的支持avalon接口的串口即可,如果系统中不幸没有,那么ALTERA公司提供了JTAG-UART接口提供给用户输入输出交互接口。即通过复用JTAG下载线来模拟串口的操作。如果系统中有多个输出输出设备,如有多个UART,则在编程时,需在BSP的环境中设定,选择使用哪个UART作为系统的输出。

使用ALTERA的Qsys工具可以方便的在FPGA上构建SOC系统。只需选择相应的IP(可以是系统自带,也可以使用自己构建支持avalon-mm接口的IP)。通过系统的互联从而构成一个片上系统。图形化的界面只需通过avalon总线连接信号将NIOSII和外设连接在一起即可。连接完毕后,还需要下面操作:

(1) 为每个外设设定地址,例如上图中RAM和JTAG-UART,每个外设都需要一个地址范围,可以点击系统中自动地址分配,也可以手动分配一个区间。只有为每个外设分配地址后(相当于整个系统的门牌号),处理器才能根据地址来访问各个外设。

(2) 如外设有中断,则为外设分配中断号,也可自动或者手动完成。如不分配中断的话,那么处理器访问外设,只有查询交互方式了。中断方式使用可以减少处理器的负载。

在ALTERA的QSYS工具中,硬件信息全部存储在sopcinfo。主要是包括各个外设的地址信息等,用于产生system.h。也就是说,作为软件和硬件的交互的渠道是每个外设的基地址,中断,和内部寄存器等信息。系统构建结束后,剩下的就可以软件编程了,运行在搭建的SOC系统上的第一个“hello world”的程序。

对于现在FPGA上的SOC设计,厂商为了其方便易用,做了大量的工作,只需按照其指南一步步,就可以实现相应的设计,但也限制了对其基本原理的深入的理解。什么事情都有其两面性,作为FPGA工程师,SOC的原理则应该能够重点关注,这样不论是ALTERA还是XILINX其基本原理也是一致的。如不使用厂家的处理器核(NIOSII、mICroblaze),也可以使用其软核(如51等,ARM)在FPGA上实现SOC系统。只不过原来工具做的工作,就需要手动来完成了。

猜您喜欢


瓷管电容器,用于电力设备中。主要用于储存电能。其结构简单,性能稳定。适合高压和大电流的场合。很多行业都在使用。 瓷管电容器的类型瓷管电容器有多种类型。一般分为陶...
2025-04-02 03:31:39
现代生活中,电力供应的安全稳定很重要。为了帮助您实时监控电力系统,保障用电安全,我们推出了这款功能强大的电源监控设备。全方位守护您的电力安全这款电源监控设备能够...
2024-10-27 00:00:00
什么是半导体激光器半导体激光器是一种利用半导体材料产生激光的设备。它具有小尺寸、高效率、低功耗等优点,广泛应用于通信、医疗、材料加工、光纤传感等领域。 半导体...
2023-08-25 18:25:00
在日常生活和工业生产中,螺钉和螺栓是不可少的重要紧固件。螺钉通常用于连接木材、塑料和金属等材料,因其结构简单、使用方便而应用。通过旋入材料中形成紧固连接,具有良...
2013-04-30 00:00:00
触发二极管,又称为可控硅或晶闸管,是半导体器件,应用于电力电子和控制系统中。主要功能是控制电流的导通和切断,能够在高电压和大电流的环境下稳定工作。本文将详细探讨...
2025-03-31 20:31:40
可调贴片电阻(Trimming Resistor)是在电子电路中应用的被动元件。的主要功能是提供可调的电阻值,以便在电路设计中进行精确的电流和电压调节。电子技术...
2025-04-19 05:31:08
贴片电阻,因其小巧的体积,广泛应用于各种电子电路中。选择合适的贴片电阻,除了阻值外,尺寸和功率也是关键因素。不同尺寸的贴片电阻,能够承受的功率也不同。常见的贴片...
2025-04-14 15:02:37
涂层材料在现代工业和日常生活中有着着重要作用,其应用领域。在建筑行业,涂层材料用于墙面、屋顶及地面的保护与装饰,提供防水、防火及耐磨性能,延长建筑物的使用寿命。...
2014-07-14 00:00:00
贴片电阻上的R200标识表示其阻值为200欧姆。 R 在这里代替了小数点,所以不要将其误认为是0.2欧姆。 选择贴片电阻时,除了阻值,还需要考虑其关键参数,例如...
2024-11-29 10:26:13
阀门在各种管道系统中是非常重要的配件。是控制流体(如水、气体和油)流动的关键设备。通过开启、关闭或调节流量,阀门能够有效管理流体输送,确保系统的安全和高效运行。...
2013-07-19 00:00:00