位置:51电子网 » 技术资料 » 嵌入式系统

采用Nios定制指令的嵌入式系统优化设计

发布时间:2007/4/23 0:00:00 访问次数:460

摘要:Altera公司的Nios软核处理器以其低成本,设计灵活等特点,在嵌入式应用领域得到广泛的应用。采用Nios处理器的定制指令,可以把用户自定义的功能直接添加到Nios CPU的算术逻辑单元中,加快专项任务的执行,以达到优化目的。本文在阐述Nios定制指令设计的基础上,给出相应的设计例子说明。

关键词:Nios软核 定制指令 嵌入式处理器MP3

引言

Nios处理器是Altera公司推出的一个32/16位精简指令信处理器软核。在Altera公司推出的软件SOPC中加载Nios核 和相应的外围接口以及与定义相应的自定义指令,然后对设计进行综合,下载到FPGA中就可以方便地一个具有特定功能的嵌入式处理器。这种设计思路增加了系统设计的灵活性,加快系统运行速度,缩短产品研发和上市时间。

由硬件实现复杂的算法通常比软件实现更高效。利用Altera的Niso嵌入式处理器的定制指令,可以把用户自定义的功能直接添加到Niso CPU的算术逻辑单元(ALU)中(见图1),来加快专项任务的执行,从而达到系统优化的目的。因此,设计者可以针对关键的内部循环和耗时算法,创建Nios嵌入式处理器的定制指令,把复杂的顺序指令简化为硬件实现的单指令,这样就能够大大提高系统性能。例如,Nios CPU执行浮点乘法运算要2800多个时钟周期;而浮点乘法的定制指令采用了浮点单元(FPU),执行只需19个时钟周期。

1 定制指令

定制指令为Nios处理器的算术逻辑单元增加了定制逻辑,设计者通过定制指令,用快速高效的定制逻辑块替代复杂耗时的软件程序。在一个CPU中,可以运行多达五个组合或时序定制模块,还可以访问Nios系统模块外的存储器和/或逻辑。定制逻辑模块在两个寄存器Ra和Rb内容的基础上执行用户定义的操作,结果存放在寄存器Ra中。这些定制逻辑模块的功能只受限于器件内逻辑单元(LE)和设计得的想象力。

定制硬件模块能够通过Nios嵌入式处理器指令集中的五个用户定义操作码来访问。SOPC Builder在生成系统期间会为任何定制指令创建宏,通过这些自动产生的C和汇编语言宏就可以方便地访问自定义指令操作码。

2 实现定制指令

以Altera的Nios2.0版嵌入式处理器为例实现定制指令,同时点击Custom Instructions标签创建或编辑Nios CPU,如图2。

Custom Instruction标签是系统设计都 连接定制逻辑和Nios CPU的ALU的界面。首先,选择定制指令的操作码,有USR0~USR4五个操作码可供使用。然后,导入和扫描作为定制指令的HDL文件。Design Import Wizard扫描顶层模块的端口,进行合适连接。Design Import Wizard可以接受以下类型的文件:VerilogHDL/VHDL/EDIF/VQM以接受以下类型的文件:Verilog HDL、VHDL、EDIF、VQM和Altera QuartusII原理图。导入设计文件之后,分配定制指令所需的CPU时钟周期数目和定制指令名。

在系统生成期间,SOPC Builder工具用作ALU一部分的定制逻辑来创建Nios CPU,受所选的操作码控制软件开发包用定制指令名创建在C/C++和汇编语言中使用的软件宏。这些在定制软件开发包ince下。

图2 定制指令设计界面

设计者通过创建的软件宏访问定制指令。在C/C++中,宏就像函数调用一样使用。如果使用前缀端口,就要用前缀创建不同的宏。例如,为浮点单元(FPU)创建两个C/C++宏。例如,为浮点单元(FPU)创建两个C/C++宏是:

result=nm_fpu(data,datb); //不使用前缀

result=nm_fpu_pfx(prefix,data,data); //使用前缀

在汇编语言中,宏调用USR操作码,按标准汇指令一样使用。如果使用前缀,那么在宏之前必须有一个PFX指令。有关用户定义操作码(USR0~USR4)的详细资料可参Nios Software Development Reference Manual。

3 MP3播放器的定制指令设计

以MP3播放器设计为例,采用定制指令对设计进行优化。该设计通过增加两条定制指令,就能使系统执行性能提高大约3倍。图为该MP3系统设计框图。

(1)MP3解码器

摘要:Altera公司的Nios软核处理器以其低成本,设计灵活等特点,在嵌入式应用领域得到广泛的应用。采用Nios处理器的定制指令,可以把用户自定义的功能直接添加到Nios CPU的算术逻辑单元中,加快专项任务的执行,以达到优化目的。本文在阐述Nios定制指令设计的基础上,给出相应的设计例子说明。

关键词:Nios软核 定制指令 嵌入式处理器MP3

引言

Nios处理器是Altera公司推出的一个32/16位精简指令信处理器软核。在Altera公司推出的软件SOPC中加载Nios核 和相应的外围接口以及与定义相应的自定义指令,然后对设计进行综合,下载到FPGA中就可以方便地一个具有特定功能的嵌入式处理器。这种设计思路增加了系统设计的灵活性,加快系统运行速度,缩短产品研发和上市时间。

由硬件实现复杂的算法通常比软件实现更高效。利用Altera的Niso嵌入式处理器的定制指令,可以把用户自定义的功能直接添加到Niso CPU的算术逻辑单元(ALU)中(见图1),来加快专项任务的执行,从而达到系统优化的目的。因此,设计者可以针对关键的内部循环和耗时算法,创建Nios嵌入式处理器的定制指令,把复杂的顺序指令简化为硬件实现的单指令,这样就能够大大提高系统性能。例如,Nios CPU执行浮点乘法运算要2800多个时钟周期;而浮点乘法的定制指令采用了浮点单元(FPU),执行只需19个时钟周期。

1 定制指令

定制指令为Nios处理器的算术逻辑单元增加了定制逻辑,设计者通过定制指令,用快速高效的定制逻辑块替代复杂耗时的软件程序。在一个CPU中,可以运行多达五个组合或时序定制模块,还可以访问Nios系统模块外的存储器和/或逻辑。定制逻辑模块在两个寄存器Ra和Rb内容的基础上执行用户定义的操作,结果存放在寄存器Ra中。这些定制逻辑模块的功能只受限于器件内逻辑单元(LE)和设计得的想象力。

定制硬件模块能够通过Nios嵌入式处理器指令集中的五个用户定义操作码来访问。SOPC Builder在生成系统期间会为任何定制指令创建宏,通过这些自动产生的C和汇编语言宏就可以方便地访问自定义指令操作码。

2 实现定制指令

以Altera的Nios2.0版嵌入式处理器为例实现定制指令,同时点击Custom Instructions标签创建或编辑Nios CPU,如图2。

Custom Instruction标签是系统设计都 连接定制逻辑和Nios CPU的ALU的界面。首先,选择定制指令的操作码,有USR0~USR4五个操作码可供使用。然后,导入和扫描作为定制指令的HDL文件。Design Import Wizard扫描顶层模块的端口,进行合适连接。Design Import Wizard可以接受以下类型的文件:VerilogHDL/VHDL/EDIF/VQM以接受以下类型的文件:Verilog HDL、VHDL、EDIF、VQM和Altera QuartusII原理图。导入设计文件之后,分配定制指令所需的CPU时钟周期数目和定制指令名。

在系统生成期间,SOPC Builder工具用作ALU一部分的定制逻辑来创建Nios CPU,受所选的操作码控制软件开发包用定制指令名创建在C/C++和汇编语言中使用的软件宏。这些在定制软件开发包ince下。

图2 定制指令设计界面

设计者通过创建的软件宏访问定制指令。在C/C++中,宏就像函数调用一样使用。如果使用前缀端口,就要用前缀创建不同的宏。例如,为浮点单元(FPU)创建两个C/C++宏。例如,为浮点单元(FPU)创建两个C/C++宏是:

result=nm_fpu(data,datb); //不使用前缀

result=nm_fpu_pfx(prefix,data,data); //使用前缀

在汇编语言中,宏调用USR操作码,按标准汇指令一样使用。如果使用前缀,那么在宏之前必须有一个PFX指令。有关用户定义操作码(USR0~USR4)的详细资料可参Nios Software Development Reference Manual。

3 MP3播放器的定制指令设计

以MP3播放器设计为例,采用定制指令对设计进行优化。该设计通过增加两条定制指令,就能使系统执行性能提高大约3倍。图为该MP3系统设计框图。

(1)MP3解码器

-->
相关IC型号

Warning: Undefined variable $stockkeys in G:\website_51dzw\www.51dzw.com\code\tech\view.php on line 152

热门点击

 

推荐技术资料

DFRobot—玩的就是
    如果说新车间的特点是“灵动”,FQPF12N60C那么... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!