quartus ii 12 自定义元件实践总结

来源:互联网 发布:ns为含源线性电阻网络 编辑:程序博客网 时间:2024/05/24 07:33

quartusii 12中,如果想使用nios ii,软件推荐使用qsys来取代sopc,但是qsys刚出来,加上后面

nios ii software build tools 使用了eclipse,问题多多。坑爹多多啊。

自定义元件步骤:

1.硬件逻辑

根据avalon总线信号,选用其中的信号,一般都是avalon-MM接口。

使用verilog写一个实现的元件。一般分为三部分写。一部分写寄存器逻辑。主要有地址译码,和

读写操作。第二部分写元件的功能逻辑。第三部分接和avalon端口信号组合上述两部分。

2.软件逻辑

   3个文件 ,两个头文件,一个源文件。

1.一个头文件写寄存器的访问接口。基本上复制一下qsys自带的altra_avalon_pio_regs.h,再修改下,或者

不改就行了。

2.源文件要写这个元件的功能接口,比如如何使能,初始化,操作等。

3.列出源文件实现的函数接口,还有些在源文件中要用到的数据结构,宏定义等。


3.结合到qsys中,使自己写的文件变成库中的一个选项

   qsys->new component,然后加入自己的硬件逻辑,设置下信号,完成。

  注意:

a.创建好元件后,元件会显示在library库下面,并生成一个与元件名相同的tcl文件

如果这个元件有多个.v描述文件,要修改下tcl文件里的file sets这一部分。默认情况

系统只加和顶层接口文件。比葫芦画瓢,加上去剩下的文件即可。

b.此时如果重新打开一个qsys文件,这个新建好的元件

就会找不到了。可以在qsys->tools->option中添加ip搜索路径。添加完之后,系统会显示更新条。

如果不显示,就重新添加一次,或者更换下 tcl文件的位置,再添加。

c.现在编译quartus工程还是会出现找不到元件的问题

解决的办法:自己写一个IPX文件。

示例:

<library>

     <path path="E:/Qsys_lib/**/*"  />

</llibrary>

IPX文件最好放到工程根目录下,在文件中指出相对于

工程根目录新生成元件的tcl文件位置。

  在原来的sopc中,还会指出新建元件的软件逻辑文件,但是在qsys中去掉了。

  元件中有些信号,不是avalon总线信号的部分,在component editor->signals选项卡中,可选择new conduit

然后在signal type中选择export。然后再到interfaces选择卡中,找到conduit end这个接口,改下名字。

最后,在qsys->system contents在自己的设计中加入自己设计的元件后,别忘了在export那一列中导出自己的接口

d.补充一下,在component editor->interface中,如果remove interfaces with no signals不是灰色的,要点成灰色的

在avalon端口中编辑时序时,一定要根据自己书写的时序来配置latency,read wait等。如果是编译master接口,有一个

address unit,一般选symbol.

在system->content中,如果运行在nios上的程序要运行在某个存储空间中,比如ssram或sdram中,那么那么nios处理

器的data_master和instruction_master要同时接在ssram或sdram的slave接口端。

4.在eclipse中使用自己的新元件

这一部分实际上最坑爹的。因为当你使用自己的元件时,问题真他妈多。

写好自己的软件驱动文件后,把它放到相当于是app的目录中,在eclipse中刷新一下。如果能编译通过

就不要改makefile了,如果不能

在生成bsp文件包后。在bsp要目录下建一个自己的文件夹,比如private

然后将第2步写的软件放到这个目录下,再去修改相当于是app目录下中makefile,注意不是bsp目录 下的,

找到C_SRCS这个词,然后将自己的文件路径加进去。

5.写自己的app

这个注意的地方就是include时,要从bsp要文件算起

例如:include "/private/myheadfile.h"

不要放到其它的inc目录中,因为eclipse能找到它自己生成的头文件,但是你放进去的头文件,它不一定识别。

上面所说只是个大概流程。

中间出现的问题:http://blog.csdn.net/yongan1006/article/details/8776644

实践的源码工程:http://download.csdn.net/detail/yongan1006/5242189

有高手的勿忘指点.



原创粉丝点击