您的位置:首页 > 移动开发 > IOS开发

nios ip 3

2015-01-24 20:10 155 查看
以PDIUSBD12为例,介绍如何自定义IP,使用的软件版本为Quartus II 9.0。

PDIUSBD12是USB从设备,8位并行总线接口。如果要与NIOS CPU通讯,则必须通过Avalon总线来桥接,因此需要编写IP,来将Avalon总线与PDIUSBD12连接起来。

一、编写IP 文件

首先看看avalon信号类型



我们使用的是Avalon-MM slaveConduit End两种。Avalon-MM
slave是与三态桥连接的,而Conduit End是输出至外部的,也就是与D12连接的。

    编写IP文件如下

    Pdiusbd12.v

module PDIUSBD12(    

           //Alvalon-MM Slave

           input           cpu_rd,

           input           cpu_wr,

           input           cpu_cs,

           input           cpu_addr,

           input [7:0]     cpu_wr_dat,

           output [7:0]    cpu_rd_dat,

           input [3:0]     cpu_be,

                    

                     //Conduit End        

                     //pdiusbd12 interface

                     output          d12_rd,

                     output          d12_wr,

                     output          d12_cs,

                     output          d12_addr,

                     inout [7:0]     d12_dat

);

 

 

/*****************************************/

assign     d12_rd = cpu_rd | cpu_be[0];

assign     d12_wr = cpu_wr | cpu_be[0];

assign     d12_cs = cpu_cs;

assign     d12_addr = cpu_addr;

assign     d12_dat = (!d12_cs && !d12_wr) ? cpu_wr_dat : 8'hzz;

assign     cpu_rd_dat = (!cpu_cs && !cpu_rd) ? d12_dat : 8'hzz;

 

endmodule

 

保存文件至F:\IPCore目录。

二、IP配制

    IP的配制需要在SOPC Builder下完成。

    首先需要新建一个元件



点击下一步,在HDL File下添加刚才新建的IP文件。





点击下一步,在signals下的interface和signal type设置为正确的类型。





点击下一步,在interfaces下进行如下设置

(1)、修改avalon_slave_0为avalon_slave



(2)、设置时序



下一步 Component Wizard





给它分一个组为myIP,其它信息可根据需要来填写。

点击finish。弹出如下对话框,提示在F:\IPCore写入了一个元件描述的文件PDIUSBD12_hw.tcl,这个文件保存了刚才配制的所有信息。



选择 yes,save。此时system cintents就出现了刚才新建的IP元件。



三、设置IP Search目录

    SOPC Builder启动时就会在当前目录和指定目录搜索IP信息,而我们的IP和配制文件是在F:\IPCore目录,因此需要在IP
Search Path下设置目录为F:\IPCore。

    点击Tools -> Options



点击File -> Refresh System,看看myIP是不是还在。如果在,那就对了。

四、添加IP

   双击myIP下的PDIUSBD12便可将IP添加到系统中来,并更名为D12。  generate后,将生成的bsf添加进quartus下:





红圈内就是与PDIUSBD12硬件接口的信号。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  nios IP