在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 8411|回复: 15

[求助] ISE下用户自定义IP如何挂在EDK下?

[复制链接]
发表于 2012-9-23 11:09:49 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
ISE下用户自定义的逻辑模块,可以封装成用户IP,但是这个IP怎样挂在EDK下?
发表于 2012-9-23 14:04:01 | 显示全部楼层
有一本书叫介绍关于Xilinx的基于EDK设计方面的,有介绍相关方面的章节,但是深入理解还需去官方网站查找这方面的资料
发表于 2012-9-23 14:07:05 | 显示全部楼层
回复 1# lpj363


  不知道楼主主要做什么的,但是好像xilinx的EDK软件之前的版本(9.1,10.1)不是很好用,经常有莫名奇妙的一些软件之外的问题,不知道最新的版本怎么样了
发表于 2012-9-27 04:20:21 | 显示全部楼层
非常感谢~~~~
发表于 2012-9-28 17:51:50 | 显示全部楼层
也在找相关的资料,谢谢了
发表于 2012-10-1 15:39:43 | 显示全部楼层
这个是非常容易 ,理解了 PLB 和 AXI_LITE 就明白。
发表于 2014-3-19 11:11:43 | 显示全部楼层
EDK中如何使用ISE的Core Generator中的IP核,如RAM,FIFO等。
以本工程为例说明使用过程,本工作的用户IP使用了一个双端口RAM,为prog_buf。本工程用户IP核为nand_flash_controller,在nand_flash_controller_v1_00_a下。
1.在\project_2\project_2.srcs\sources_1\edk\nand_system\pcores\nand_flash_controller_v1_00_a下新建一个文件夹,命名为:netlist;
2.将在ISE的Core Generator生成prog_buf.v及prog_buf.ngc文件复制出来,其中prog_buf.v放到nand_flash_controller_v1_00_a文件夹下的hdl/verilog文件夹下,prog_buf.ngc放到刚才新建的netlist文件夹下;
3.在nand_flash_controller_v1_00_a\data文件夹下新建一个与此文件夹下mpd及pao文件同名,但后缀为bbd的文件,例如,本工程中mpd及pao文件为nand_flash_controller_v2_1_0.mpd及nand_flash_controller_v2_1_0.pao,则新建的bbd文件名称加后缀应为:
nand_flash_controller_v2_1_0.bbd;
4.打开刚才新建的nand_flash_controller_v2_1_0.bbd文件,添加以下语句:
————————————————————————————————————————————————————————————————————————————————————————
FILES
prog_buf.ngc
————————————————————————————————————————————————————————————————————————————————————————
由于本工程只使用了一个Core Generator中的IP核,所以只添加了一个,如果多个则应写成如下形式:
————————————————————————————————————————————————————————————————————————————————————————
FILES
ip1.ngc, ip2.ngc, ip3.ngc
————————————————————————————————————————————————————————————————————————————————————————
注意,一定不能写成这样:
————————————————————————————————————————————————————————————————————————————————————————
FILES ip1.ngc, ip2.ngc, ip3.ngc
————————————————————————————————————————————————————————————————————————————————————————
5.用notepad或者记事本打开data文件夹下的nand_flash_controller_v2_1_0.mpd文件,在Peripheral Options中加入“OPTION STYLE = MIX ”,如:
————————————————————————————————————————————————————————————————————————————————————————
... ...
BEGIN nand_flash_controller

## Peripheral Options
OPTION IPTYPE = PERIPHERAL
OPTION IMP_NETLIST = TRUE
OPTION HDL = MIXED
OPTION IP_GROUP = MICROBLAZE:USER
OPTION DESC = NAND_FLASH_CONTROLLER
OPTION STYLE = MIX
OPTION ARCH_SUPPORT_MAP = (others=DEVELOPMENT)
... ...
————————————————————————————————————————————————————————————————————————————————————————

6.用notepad或者记事本打开data文件夹下的_nand_flash_controller_xst.prj文件,参照已有的例子添加好prog_buf.v的路径,如
————————————————————————————————————————————————————————————————————————————————————————
... ...
vhdl axi_lite_ipif_v1_01_a "C:/Xilinx/14.4/ISE_DS/EDK/hw/XilinxProcessorIPLib/pcores/axi_lite_ipif_v1_01_a/hdl/vhdl/address_decoder.vhd"
vhdl axi_lite_ipif_v1_01_a "C:/Xilinx/14.4/ISE_DS/EDK/hw/XilinxProcessorIPLib/pcores/axi_lite_ipif_v1_01_a/hdl/vhdl/slave_attachment.vhd"
vhdl axi_lite_ipif_v1_01_a "C:/Xilinx/14.4/ISE_DS/EDK/hw/XilinxProcessorIPLib/pcores/axi_lite_ipif_v1_01_a/hdl/vhdl/axi_lite_ipif.vhd"
verilog nand_flash_controller_v1_00_a "../hdl/verilog/user_logic.v"
vhdl nand_flash_controller_v1_00_a "../hdl/vhdl/nand_flash_controller.vhd"
verilog nand_flash_controller_v1_00_a "../hdl/verilog/constants.v"
verilog nand_flash_controller_v1_00_a "../hdl/verilog/nand_flash_controller_top.v"
verilog nand_flash_controller_v1_00_a "../hdl/verilog/nand_erase.v"
verilog nand_flash_controller_v1_00_a "../hdl/verilog/nand_init.v"
verilog nand_flash_controller_v1_00_a "../hdl/verilog/nand_program.v"
verilog nand_flash_controller_v1_00_a "../hdl/verilog/nand_read.v"
verilog nand_flash_controller_v1_00_a "../hdl/verilog/prog_buf.v"
... ...
————————————————————————————————————————————————————————————————————————————————————————
7.用notepad或者记事本打开data文件夹下的nand_flash_controller_v2_1_0.pao文件,参照已有的例子添加好prog_buf.v的module名称,如
————————————————————————————————————————————————————————————————————————————————————————
... ...
lib proc_common_v3_00_a  all
lib axi_lite_ipif_v1_01_a  all
lib nand_flash_controller_v1_00_a user_logic verilog
lib nand_flash_controller_v1_00_a nand_flash_controller vhdl
lib nand_flash_controller_v1_00_a prog_buf verilog
... ...
————————————————————————————————————————————————————————————————————————————————————————
8.编译即可。
注意:有时候编译的时候还会出错,告诉你无法综合ISE的IP核,此时,只要在user_logic.v中把IP核实例化一下即可,不连线也行,如:
————————————————————————————————————————————————————————————————————————————————————————
... ...
prog_buf tst_ram_buffer(
  .clka(),
  .wea(),
  .addra(),
  .dina(),
  .clkb(),
  .addrb(),
  .doutb()
);
... ...
————————————————————————————————————————————————————————————————————————————————————————
这样,就可以综合了,估计这是EDK的一个bug。
发表于 2014-3-19 22:04:11 | 显示全部楼层
回复 1# lpj363


   在用EDK搭硬件平台的时候,就可以做IP,IP一端通过总线(AXI,LMB等可选)和MB链接,用户逻辑自己做修改。xilinx有一份参考设计,详细说明了自定义IP的步骤,官网上有的,很详细
发表于 2014-6-12 15:56:36 | 显示全部楼层
回复 7# xushuai_hit53


    你好,我就是这样做的,用了个ISE的FIFO IP核,结果在EDK的生成阶段死活过不去,ERROR:NgdBuild:604 - logical block
   'receive_send_data_0/receive_send_data_0/gtx_data_fifo2' with type
   'a_fifo_16_16' could not be resolved. A pin name misspelling can cause this,
   a missing edif or ngc file, or the misspelling of a type name. Symbol
   'a_fifo_16_16' is not supported in target 'virtex5'.


我建IP核的过程是标准流程。而且也按网上对604错误的处理处理过了,还是不行。知道为什么不?谢谢!!
发表于 2014-6-13 08:04:01 | 显示全部楼层
回复 9# 菜鸟要飞


   没看懂你这个错误原因,不过这么挂IP核肯定没有问题,我用过很多回了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

X

小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-6-29 03:28 , Processed in 0.029876 second(s), 11 queries , Gzip On, MemCached On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表