小编给大家分享一下Vivado中如何使用自定义BD,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
在TCL终端下运行ipx::add_file_group -type elaborate_bd {} [ipx::current_core]
出现的Elaborate BD这个Group下添加bd.xit:
proc update_bd { } {#### Setting Current Instance#### 设置当前IP的句柄,以便获取当前IP的Parameterset greg_bd [::ipxit::current_inst]## 获取当前IP的REG_NUM这个Parameterset reg_num [get_property CONFIG.REG_NUM $greg_bd]## 向vivado发出一些信息,可有可无send_msg INFO 0 " Create CLK_WIZ "## 在IP顶层BD内创建clock Wizard IP,命令详情见help create_bd_cell,貌似它不支持type为module的创建set clk_lib [create_bd_cell -type ip -vlnv xilinx.com:ip:clk_wiz "clklib"]send_msg INFO 0 " Create CONFIG CLK_WIZ "## 往SubCore里写入SubCore的属性值## Syntax:set_property -dict [list CONFIG.<subcore's param> {<value of subcore's param> ] <subcore's handle>set_property -dict [ list \CONFIG.CLKOUT2_JITTER {130.958} \CONFIG.CLKOUT2_PHASE_ERROR {98.575} \] $clk_lib## 连接BD的端口和SubCore的Pinconnect_bd_net -quiet [get_bd_ports clk_pin] [get_bd_pins ${clk_lib}/clk_in1]## 连接SubCore的Pin和SubCore的Pin## connect_bd_net -quiet [get_bd_pins ${clklib}/clk_out1] [get_bd_pins ${uart_mst}/clk_pin]## 连接SubCore的Interface和BD的Interface## connect_bd_intf_net -quiet [get_bd_intf_ports m_axil] [get_bd_intf_pins ${clklib}/m_axil]}## 设置生成的BD可不可以在工程下可见,默认为falseset_bd_viewable trueupdate_bd
最后需要在Elaborate BD这个Group的IP File Group Properities内的Component subcores填入xit文件所调用的Subcore名字,多个则以空格隔开,本例则需要填入 xilinx.com:ip:clk_wiz:5.4;然后在Utility XIT/TTCL下右键Add SubCore Reference...即可.
注:BD内的所有port也即IP的所有向外引出端口必须在BD内有连接到子IP的Pin上,否则IP使用会报错,无任何提示。
看完了这篇文章,相信你对“Vivado中如何使用自定义BD”有了一定的了解,如果想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。