nios ip 3

以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下的interfacesignal type设置为正确的类型。


点击看大图


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


(1)、修改avalon_slave_0avalon_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硬件接口的信号。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值