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 slave和Conduit 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硬件接口的信号。
PDIUSBD12是USB从设备,8位并行总线接口。如果要与NIOS CPU通讯,则必须通过Avalon总线来桥接,因此需要编写IP,来将Avalon总线与PDIUSBD12连接起来。
一、编写IP 文件
首先看看avalon信号类型
我们使用的是Avalon-MM slave和Conduit 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硬件接口的信号。
相关文章推荐
- Ethernet and the NicheStack TCP/IP Stack - NIOS II Edtion
- nios ip -4
- NIOS2随笔——自定义IP(DPRAM)
- nios 自定义IP
- 【论坛转贴】IP spoof欺骗关于修改ip源向网页post的方法,伪造虚假IP来源!可用于群发发贴机拱贴机邮件EMail群发!!!!!!
- Nios - TFT-LCD(ILI9320控制器)
- 获取IP的方法
- 获取当前机器的IP
- java服务器端根据ip获取客户端mac地址
- tcp/ip三次握手四次分手,撒手。。。。
- 在路由器上面按IP限速
- 修改CM管理主机IP
- MySQL 修改账号的IP限制条件
- 在Ubuntu中添加一个辅助IP
- 批处理获取本机IP(局域网)及MAC地址
- ASP.NET(C#)中如何获取IP,名称,操作系统,浏览器等信息
- 如何过滤webservice调用者的ip
- 批量在数据库的一个列中添加文件中的ip
- ADSL自动更换IP的方法
- 配置IP