Nios系统中添加客户定制逻辑.docx_第1页
Nios系统中添加客户定制逻辑.docx_第2页
Nios系统中添加客户定制逻辑.docx_第3页
Nios系统中添加客户定制逻辑.docx_第4页
Nios系统中添加客户定制逻辑.docx_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

向nios系统中添加客户定制逻辑相比于mcs51,或者arm,niosii这种软核处理器的第一个特别有用的特性是可以方便得添加客户定制逻辑。这是一个非常有趣并且重要的特性。在这里,我粗略得介绍一下在niosii开发环境中如何添加客户定制逻辑;更加详细的帮助信息请您参考altera公司提供的文档。如果本文能对您有一点点帮助,我都会感到非常高兴。1。准备工作: 在这前,有几个准备工作要做: 1。需要熟练地创建并使用niosii系统,请参考我之前写的文章“fpga也疯狂(五)-step by step创建标准(standard)niosii系统”。 2。通开发板至少要有两路led输出,用来观察pwm的输出。 我使用本网站推出的ezniosdkc6b作为待调试的开发板,向其中添加pwm输出,因为pwm也确实是一个很有用的功能。你可以举一反三,在自己的系统中引入客户逻辑。2。创建自己的客户逻辑: 1.首先,在quartusii中打开任意一个项目,比如,我打开在“fpga也疯狂(五)-step by step创建标准(standard)niosii系统”一文中创建的ezc6be_stdf50,然后,打开tools - sopc builder,在这里,我们只是为了打开sopcbuilder这个组件而已。 2。选择file - new component, 3。这样就会打开new component先导 4。在hdl files选项卡中,选择add hdl file,然后打开avalon_slave_pwem_source目录(本站提供),选中下图中的三个文件(avalon_slave_pwm.v,pwm.v,reg_file.v)。(一次只能选中一个文件,需要按住crtl键,然后依次选择三个文件,就可以像下图中,同时选中三个文件了)。然后选择 打开 5。可以看到添加三个文件,绿色的闪烁的条纹表明系统正在分析该文件。top level module:默认是alalon_slave_pwm.v:alalon_slave_pwm,如果不是,请改正为alalon_slave_pwm。 6。下面进入signals选项卡,进行输入、输出信号的设置。如下图,首先把resetn的类型设置为reset_n, 7。请按照设置resetn的方法,设置各个信号。设置完成以后,如下图所示。 8。然后进入interfaces选项卡,修改read wait = 0, write wait = 0,如下图所示。 9。进入sw files选项卡,选择add sw file,为系统添加sw files;首先打开 avalon_slave_pwm_sourcehalinc下的altera_avalon_pwm_routines.h,为系统添加该文件。 10。依次添加avalon_slave_pwm_sourceincaltera_avalon_pwm00.h ,avalon_slave_pwm_sourcehalsrcaltera_avalon_pwm_routines.c,并请按照下图设置type。 11。最后选择finish,生成系统。系统会在您运行该软件的目录下生成一个文件夹:avalon_slave_pwm, 12。然后,把该文件夹拷贝到系统的默认搜索路径:安装路径components下,比如g:w2kedafpgaalterakitsniosii1_1b131components,这样可以省去许多麻烦。3。使用上述客户逻辑: 接下来,请您参考我之前写的文章“fpga也疯狂(五)-step by step创建标准(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接到led2,pwm_out_from_the_avalon_slave_pwm_0接到led3,这样可以通过led的亮度来观察pwm的输出。 6。其余步骤请您参考我之前写的文章“fpga也疯狂(五)-step by step创建标准(standard)niosii系统”,最后选择start compilation来编译这个系统。应该又是漫长的等待之后。7。常见问题:许多朋友可能会遇到如下问题: 提示找不到register_file,这通常是因为sopc builder没有正确得拷贝文件到当前目录下,或者quartusii傻得找不到该文件了。 请按照如下方法处理:1。检查当前项目的文件夹下(比如我检查ezc6be_pwm),是否有如下文件: pwm.v,reg_file.v。如果没有,可能是创建客户逻辑的时候有问题,sopc builder没有自动拷贝这些文件,请手动从avalon_slave_pwm_source拷贝一下吧!2。如果检查当前项目的文件夹下(比如我检查ezc6be_pwm),已经有如下文件 pwm.v,reg_file.v。那么是quartusii傻得找不到该文件了。 请打开quartusii中的assignments - settings,在files选项卡中,手动增加pwm.v,reg_file.v两个文件,即可以解决。4。通过软件访问、使用客户逻辑: 1。编译成功之后,可以打开nios ide,首先请参考我之前写的文章“fpga也疯狂(五)-step by step创建标准(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的目录下,比如我把它放

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论