Nios系统中添加客户定制逻辑.docx

上传人:b****5 文档编号:7069402 上传时间:2023-01-16 格式:DOCX 页数:11 大小:1.87MB
下载 相关 举报
Nios系统中添加客户定制逻辑.docx_第1页
第1页 / 共11页
Nios系统中添加客户定制逻辑.docx_第2页
第2页 / 共11页
Nios系统中添加客户定制逻辑.docx_第3页
第3页 / 共11页
Nios系统中添加客户定制逻辑.docx_第4页
第4页 / 共11页
Nios系统中添加客户定制逻辑.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

Nios系统中添加客户定制逻辑.docx

《Nios系统中添加客户定制逻辑.docx》由会员分享,可在线阅读,更多相关《Nios系统中添加客户定制逻辑.docx(11页珍藏版)》请在冰豆网上搜索。

Nios系统中添加客户定制逻辑.docx

Nios系统中添加客户定制逻辑

向Nios系统中添加客户定制逻辑

相比于MCS51,或者ARM,NiosII这种软核处理器的第一个特别有用的特性是可以方便得添加客户定制逻辑。

这是一个非常有趣并且重要的特性。

在这里,我粗略得介绍一下在NiosII开发环境中如何添加客户定制逻辑;更加详细的帮助信息请您参考Altera公司提供的文档。

如果本文能对您有一点点帮助,我都会感到非常高兴。

1。

准备工作:

   在这前,有几个准备工作要做:

 1。

需要熟练地创建并使用NiosII系统,请参考我之前写的文章“FPGA也疯狂(五)--StepByStep创建标准(Standard)niosII系统”。

 2。

通开发板至少要有两路LED输出,用来观察PWM的输出。

    我使用本网站推出的ezNiosDKC6B作为待调试的开发板,向其中添加PWM输出,因为PWM也确实是一个很有用的功能。

你可以举一反三,在自己的系统中引入客户逻辑。

2。

创建自己的客户逻辑:

   1.首先,在QuartusII中打开任意一个项目,比如,我打开在“FPGA也疯狂(五)--StepByStep创建标准(Standard)

niosII系统”一文中创建的ezC6Be_StdF50,然后,打开Tools->SopcBuilder,在这里,我们只是为了打开sopc 

builder这个组件而已。

   2。

选择File->NewComponent,

    

   3。

这样就会打开NewComponent先导

    

   4。

在HDLFiles选项卡中,选择AddHDLFile,然后打开avalon_slave_pwem_source目录(本站提供),选中下图中的三个文件(avalon_slave_pwm.v,pwm.v,reg_file.v)。

(一次只能选中一个文件,需要按住Crtl键,然后依次选择三个文件,就可以像下图中,同时选中三个文件了)。

然后选择打开

    

   5。

可以看到添加三个文件,绿色的闪烁的条纹表明系统正在分析该文件。

TopLevelModule:

默认是alalon_slave_pwm.v:

alalon_slave_pwm,如果不是,请改正为alalon_slave_pwm。

    

   6。

下面进入Signals选项卡,进行输入、输出信号的设置。

如下图,首先把resetn的类型设置为reset_n,

    

   7。

请按照设置resetn的方法,设置各个信号。

设置完成以后,如下图所示。

    

   8。

然后进入Interfaces选项卡,修改ReadWait=0,WriteWait=0,如下图所示。

    

   9。

进入SWFiles选项卡,选择AddSWFile,为系统添加SWFiles;首先打开avalon_slave_pwm_source\HAL\inc下的altera_avalon_pwm_routines.h,为系统添加该文件。

    

    10。

依次添加avalon_slave_pwm_source\inc\altera_avalon_pwm00.h,avalon_slave_pwm_source\HAL\src\altera_avalon_pwm_routines.c,并请按照下图设置Type。

     11。

最后选择Finish,生成系统。

系统会在您运行该软件的目录下生成一个文件夹:

avalon_slave_pwm,

   12。

然后,把该文件夹拷贝到系统的默认搜索路径:

安装路径\components\下,比如G:

\w2k\EDA\FPGA\altera\kits\niosII1_1B131\components,这样可以省去许多麻烦。

3。

使用上述客户逻辑:

       接下来,请您参考我之前写的文章“FPGA也疯狂(五)--StepByStep创建标准(Standard)niosII系统”,生成

一个标准系统。

比如,我生成一个系统,ezC6Be_PWM,来使用该PWM。

      在sopc_builder中,可以看到,在components列表中,已经有了该组件(如果没有看到,请选择File->refrech刷新componments列表)。

     

     1。

双击avalon_slave_pwm,添加该组件到您的sopc系统中。

    

   2。

我为这个sopc系统添加了两个pwm,分别命名为:

avalon_slave_pwm_0以及avalon_slave_pwm_1,如下图:

    

   3。

然后,我修改led_pio,把修改为2,这样可以释放出两个led来给PWM使用。

    

  4。

然后,使用上一步生成的sopc系统。

比如,我创建了ezC6Be_PWM.bdf来使用sopc_ezC6Be_PWM.bsf。

如下图:

     

     5。

我把pwm_out_from_the_avalon_slave_pwm_0接到LED[2],pwm_out_from_the_avalon_slave_pwm_0接到LED[3],这样可以通过LED的亮度来观察PWM的输出。

      

     6。

其余步骤请您参考我之前写的文章“FPGA也疯狂(五)--StepByStep创建标准(Standard)niosII系统”,

最后选择StartCompilation来编译这个系统。

应该又是漫长的等待之后。

  7。

常见问题:

  许多朋友可能会遇到如下问题:

    

  提示找不到register_file,这通常是因为SopcBuilder没有正确得拷贝文件到当前目录下,或者QuartusII傻得找不到该文件了。

  请按照如下方法处理:

   1。

检查当前项目的文件夹下(比如我检查ezC6Be_PWM),是否有如下文件:

    pwm.v,reg_file.v。

如果没有,可能是创建客户逻辑的时候有问题,SOPCBuilder没有自动拷贝这些文件,请手动从avalon_slave_pwm_source拷贝一下吧!

   2。

如果检查当前项目的文件夹下(比如我检查ezC6Be_PWM),已经有如下文件pwm.v,reg_file.v。

那么是QuartusII傻得找不到该文件了。

    请打开QuartusII中的Assignments->Settings,在Files选项卡中,手动增加pwm.v,reg_file.v两个文件,即可以解决。

    

4。

通过软件访问、使用客户逻辑:

     1。

编译成功之后,可以打开NiosIDE,首先请参考我之前写的文章“FPGA也疯狂(五)--StepByStep创建标准(Standard)niosII系统”,基于上述系统(比如我的cpu名字cpu_ezC6Be_PWM),创建一个以hello_world为模板的项目。

我把这个项目命名为ezC6Be_PWM_hello_2pwm_0

     2。

然后,删除hello_world.c。

把文件hello_2pwm.c(本站提供,在avalon_slave_pwem_source目录下)拷贝到项目ezC6Be_PWM_hello_2pwm_0的目录下,比如我把它放到H:

\DB2005\project\niosDK\CD\CD1\Example\ezNiosC6B\ezC6Be_PWM\software\ezC6Be_PWM_hello_2pwm_0中。

     3。

请按照如下设置系统library属性:

    

   4。

最后选择Project->BuildProject,编译整个项目。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1