在EDK里面添加ISE IP core的方法

时间:2022-05-02 13:33:55

(1)在ISE下,使用core generator,可以得到xilinx的IP的*.v和*.ngc 文件,将这两个文件拷贝出来;

(2)在EDK下使用“Create or Import Peripheral …”可以定制用户自己的IP(具体过程请参照相关资料),在生成用户IP core目录下,至少包含“data”“hdl”这两个目录。在“data”目录下有以下文件*.pao、*.mpd文件。*.pao记录的是用户IP所要使用到的库,*.mpd定义的是用户IP模块相关的接口等信息。

(3)将core generator产生的.v文件拷贝到/hdl/verilog目录下(如果是.vhd文件则拷贝到/hdl/vhdl目录下)(注意:貌似不能在/hdl/verilog或/hdl/vhdl目录下添加自己的子目录,并把.v或.vhd文件拷贝到子目录下,否则综合时会报找不到文件的错);

(4)在*.pao文件中填写使用到的库,把使用到的*.v或者*.vhd文件的信息填写进去,书写格式可以随便找个.pao文件来参考,一看就会,这里不多做解释;

(5)在*.mpd文件中,设置OPTION STYLE参数为MIX,例如:

OPTION IPTYPE = PERIPHERAL

OPTION IMP_NETLIST = TRUE

OPTION HDL = VHDL

OPTION IP_GROUP = MICROBLAZE:PPC:USER

OPTION CORE_STATE = DEVELOPMENT

OPTION STYLE = MIX

(6)在用户IP core目录下新建netlist目录,将core generator产生的*.ngc网表文件拷贝到netlist目录下;

(7)在XPS(或ISE)中新建一个文件,文件后缀为.bbd(black box definition),记录使用到的网表文件,文件书写格式如下:

FILES

blackbox1.ngc, blackbox2.ngc, blackbox3.edn

将*.bbd(*为用户IP的名字)文件保存到data目录下,和*.pao、*.mpd文件放一块。

补充:有些第三方公司做好的IP core的data目录下还包含*.prj和*.mui文件,*.prj文件记录的是IP core用到的库的位置,你需要把core generator产生的*.v文件的位置也写进去,*.ngc不用写。*.mui文件不用理会。

至此,设置完成,你可以在你的user logic中调用core generator产生的IP核了。

参考:http://www.xilinx.com/support/documentation/sw_manuals/xilinx11/platform_studio/ps_p_ipw_instantiating_netlist_core_in_custom_peripheral.htm

各种文件的介绍可以参考:http://www.elecfans.com/pld/IPhesheji/300071.html