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

应用SoPC Builder开发电子系统

发布时间:2008/5/27 0:00:00 访问次数:682

电子设计应用2004年第9期

摘 要:本文从系统总线设计、用户自定义指令和fpga协处理器的应用这三个方面详细介绍了如何应用sopc设计思想和sopc builder工具来开发电子系统。通过应用sopc builder开发工具,设计者可以摆脱传统的、易于出错的软硬件设计细节,从而达到加快项目开发、缩短开发周期、节约开发成本的目的。
关键词:sopc;sopc builder;fpga

引言
随着技术的进一步发展,soc设计面临着一些诸如如何进行软硬件协同设计,如何缩短电子产品开发周期的难题。为了解决soc设计中遇到的难题,设计方法必须进一步优化。因此,人们提出了基于fpga的soc设计方案——sopc(system on a programmable chip)。随着百万门级的fpga芯片、功能复杂的ip 核和可重构的嵌入式处理器软核的出现,sopc设计成为一种确实可行的、重要的设计方法。altera公司在其开发工具quartus ii 中集成了sopc builder工具。在该工具的辅助下,设计者可以非常方便地完成系统集成,软硬件协同设计和验证,最大限度地提高电子系统的性能,加快设计速度和节约设计成本。

sopc builder工具的简介
sopc builder是一个自动化的系统开发工具,它能够极大地简化高性能sopc的设计工作。该工具提供一个直观的图形用户界面,用户可以通过图形界面简化系统的定义工作。由于sopc builder不需要直接编写hdl代码来定义系统,这极大地节约了设计开发时间。sopc builder为每个元件提供了一个向导,利用该向导能很容易地定义元件功能。例如通过向导能够非常容易地在一个设计中加入nios处理器,外设接口等。为了将微处理器核、外围设备、存储器和其它ip 核相互连接起来,sopc builder能够自动生成片上总线和总线仲裁器等所需的逻辑。通过自动完成以前易于出错的工作,sopc builder可以节约几周甚至几个月的开发时间。sopc builder在一个工具中实现了嵌入式系统各个方面的开发,包括软件的设计和验证,为充分利用sopc技术提高电子系统的性能和降低成本提供了强有力的支持。本文将从系统总线的设计、用户自定义指令、fpga协处理器的应用这三个不同的方面展开讨论,介绍如何利用sopc builder加快电子系统的开发。

系统总线的设计
系统总线主要解决多个主控制器相互连接、协调工作和资源共享的问题。例如一个系统包含多个处理器,或是一个处理器和一个具有dma控制器的外围设备时,sopc builder会自动生成总线仲裁逻辑,使得这些处理器和dma控制器能够共享从属外围设备或存储器。sopc builder运用了一项被称为从属设备仲裁的技术,该技术允许多个主控制器同时访问数据。除非多个主控制器同时存取同一个从属单元,否则仲裁逻辑不会拒绝任何一个主控制器的访问。运用sopc builder图形用户界面可以非常方便地指定仲裁优先级。sopc builder将自动生成一个与目标硬件相匹配的软件开发环境,在此过程中还自动生成一个相关的头文件和整个系统的仿真模型,包括modelsim工程文件、标准化总线接口波形文件和验证基于目标硬件的testbench文件。
运用dma技术能够提高数据读取速度以增强系统的性能,从而使系统能够更充分地利用cpu或总线的带宽。这一设计思想在sopc builder中通过创建特定功能的外围设备进一步加强。用户自己可以定义用verilog或vhdl语言描述的逻辑,并把它们加入到sopc builder的开发环境中。在图形用户界面的交互下,sopc builder会自动为这些用户定义的逻辑创建必要的总线接口,使dma控制器能够访问这些用户定义的外围逻辑。在数字信号处理领域,快速傅立叶变换或离散余弦变换就是很好的例子。这些变换对数据的处理是基于数据块进行操作的。dma控制器从系统外部读取数据,并把数据存储到预处理存储单元中。这一过程不需要处理器的干预,因此在这一期间处理器可以完成其它事情。等到dma接收完数据后,处理器从预处理存储单元中读取数据进行处理,而dma则把刚才处理器的处理结果读出来送到指定的外围设备中,并且继续接收数据。在这样的系统中,总线起到至关重要的作用。设计这样的系统总线是一件非常繁琐而且极易出错的事情。现在这一切都由sopc builder工具自动生成,大大地减轻了设计者的负担,提高了设计效率,加快了电子系统的设计速度。

用户自定义指令
当数据块比较小而且处理过程已确定时(只需几个确定的cpu指令周期),最有效的处理方法是通过sopc builder为nios处理器自定义用户指令来实现。设计者可以直接在nios处理器的算术逻辑单元(alu)中加入具有特定功能的组合或时序逻辑块,然后在sopc builder中将这些特定功能的逻辑块和用户自定义指令联系起来,通过ra和rb两个寄存器来实现。处理器的处理结果存储在ra寄存器中。这些用户定义的功能仅由器件中的逻辑单元决定。在系统生成时,sopc builder自动为每一个用户定义的指令创建一个宏。软件通过在nios嵌入式处理器指令集中用户自己定义的操作码来访问这些特定功能硬件。由于采用硬件实现复杂的算术逻辑运算比用软

电子设计应用2004年第9期

摘 要:本文从系统总线设计、用户自定义指令和fpga协处理器的应用这三个方面详细介绍了如何应用sopc设计思想和sopc builder工具来开发电子系统。通过应用sopc builder开发工具,设计者可以摆脱传统的、易于出错的软硬件设计细节,从而达到加快项目开发、缩短开发周期、节约开发成本的目的。
关键词:sopc;sopc builder;fpga

引言
随着技术的进一步发展,soc设计面临着一些诸如如何进行软硬件协同设计,如何缩短电子产品开发周期的难题。为了解决soc设计中遇到的难题,设计方法必须进一步优化。因此,人们提出了基于fpga的soc设计方案——sopc(system on a programmable chip)。随着百万门级的fpga芯片、功能复杂的ip 核和可重构的嵌入式处理器软核的出现,sopc设计成为一种确实可行的、重要的设计方法。altera公司在其开发工具quartus ii 中集成了sopc builder工具。在该工具的辅助下,设计者可以非常方便地完成系统集成,软硬件协同设计和验证,最大限度地提高电子系统的性能,加快设计速度和节约设计成本。

sopc builder工具的简介
sopc builder是一个自动化的系统开发工具,它能够极大地简化高性能sopc的设计工作。该工具提供一个直观的图形用户界面,用户可以通过图形界面简化系统的定义工作。由于sopc builder不需要直接编写hdl代码来定义系统,这极大地节约了设计开发时间。sopc builder为每个元件提供了一个向导,利用该向导能很容易地定义元件功能。例如通过向导能够非常容易地在一个设计中加入nios处理器,外设接口等。为了将微处理器核、外围设备、存储器和其它ip 核相互连接起来,sopc builder能够自动生成片上总线和总线仲裁器等所需的逻辑。通过自动完成以前易于出错的工作,sopc builder可以节约几周甚至几个月的开发时间。sopc builder在一个工具中实现了嵌入式系统各个方面的开发,包括软件的设计和验证,为充分利用sopc技术提高电子系统的性能和降低成本提供了强有力的支持。本文将从系统总线的设计、用户自定义指令、fpga协处理器的应用这三个不同的方面展开讨论,介绍如何利用sopc builder加快电子系统的开发。

系统总线的设计
系统总线主要解决多个主控制器相互连接、协调工作和资源共享的问题。例如一个系统包含多个处理器,或是一个处理器和一个具有dma控制器的外围设备时,sopc builder会自动生成总线仲裁逻辑,使得这些处理器和dma控制器能够共享从属外围设备或存储器。sopc builder运用了一项被称为从属设备仲裁的技术,该技术允许多个主控制器同时访问数据。除非多个主控制器同时存取同一个从属单元,否则仲裁逻辑不会拒绝任何一个主控制器的访问。运用sopc builder图形用户界面可以非常方便地指定仲裁优先级。sopc builder将自动生成一个与目标硬件相匹配的软件开发环境,在此过程中还自动生成一个相关的头文件和整个系统的仿真模型,包括modelsim工程文件、标准化总线接口波形文件和验证基于目标硬件的testbench文件。
运用dma技术能够提高数据读取速度以增强系统的性能,从而使系统能够更充分地利用cpu或总线的带宽。这一设计思想在sopc builder中通过创建特定功能的外围设备进一步加强。用户自己可以定义用verilog或vhdl语言描述的逻辑,并把它们加入到sopc builder的开发环境中。在图形用户界面的交互下,sopc builder会自动为这些用户定义的逻辑创建必要的总线接口,使dma控制器能够访问这些用户定义的外围逻辑。在数字信号处理领域,快速傅立叶变换或离散余弦变换就是很好的例子。这些变换对数据的处理是基于数据块进行操作的。dma控制器从系统外部读取数据,并把数据存储到预处理存储单元中。这一过程不需要处理器的干预,因此在这一期间处理器可以完成其它事情。等到dma接收完数据后,处理器从预处理存储单元中读取数据进行处理,而dma则把刚才处理器的处理结果读出来送到指定的外围设备中,并且继续接收数据。在这样的系统中,总线起到至关重要的作用。设计这样的系统总线是一件非常繁琐而且极易出错的事情。现在这一切都由sopc builder工具自动生成,大大地减轻了设计者的负担,提高了设计效率,加快了电子系统的设计速度。

用户自定义指令
当数据块比较小而且处理过程已确定时(只需几个确定的cpu指令周期),最有效的处理方法是通过sopc builder为nios处理器自定义用户指令来实现。设计者可以直接在nios处理器的算术逻辑单元(alu)中加入具有特定功能的组合或时序逻辑块,然后在sopc builder中将这些特定功能的逻辑块和用户自定义指令联系起来,通过ra和rb两个寄存器来实现。处理器的处理结果存储在ra寄存器中。这些用户定义的功能仅由器件中的逻辑单元决定。在系统生成时,sopc builder自动为每一个用户定义的指令创建一个宏。软件通过在nios嵌入式处理器指令集中用户自己定义的操作码来访问这些特定功能硬件。由于采用硬件实现复杂的算术逻辑运算比用软

相关IC型号

热门点击

 

推荐技术资料

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


 复制成功!