This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
resources:fpga:docs:hdl:xcomm2ip [19 Aug 2016 17:52] – rejeesh kutty | resources:fpga:docs:hdl:xcomm2ip [20 Aug 2016 05:21] (current) – rejeesh kutty | ||
---|---|---|---|
Line 378: | Line 378: | ||
++++ | ++++ | ||
- | <fc # | + | <fc #800000>**How do I send my own data to the ADI IP core?**</fc> |
This is NOT something we can answer. It is also a question of " | This is NOT something we can answer. It is also a question of " | ||
Line 385: | Line 385: | ||
===== Modifying and customizing ADI projects | ===== Modifying and customizing ADI projects | ||
- | <fc # | + | <fc #800000>**How do I insert a custom AXI IP core inside an ADI project?**</fc> |
+ | |||
+ | As mentioned above, the RFBBP AXI core is designed for the " | ||
+ | ++++ Show/Hide Commands: | | ||
+ | < | ||
+ | [~/ | ||
+ | [~/ | ||
+ | [~/ | ||
+ | [~/ | ||
+ | </ | ||
+ | ++++ | ||
+ | |||
+ | Lets look at the " | ||
+ | ++++ Show/Hide Commands: | | ||
+ | < | ||
+ | set ad_hdl_dir $:: | ||
+ | set ad_phdl_dir $:: | ||
+ | |||
+ | source $ad_hdl_dir/ | ||
+ | source $ad_hdl_dir/ | ||
+ | </ | ||
+ | ++++ | ||
+ | |||
+ | Then we set the " | ||
+ | ++++ Show/Hide Commands: | | ||
+ | < | ||
+ | set sys_zynq 1 | ||
+ | |||
+ | create_project zc706 . -part xc7z045ffg900-2 -force | ||
+ | |||
+ | set_property board_part xilinx.com: | ||
+ | </ | ||
+ | ++++ | ||
+ | |||
+ | Now, pay special attention, we set the ip repository folders. The default ADI library and the " | ||
+ | ++++ Show/Hide Commands: | | ||
+ | < | ||
+ | set_property ip_repo_paths [list $ad_hdl_dir/ | ||
+ | |||
+ | update_ip_catalog | ||
+ | </ | ||
+ | ++++ | ||
+ | |||
+ | Once the libraries are read, we can inherit the " | ||
+ | ++++ Show/Hide Commands: | | ||
+ | < | ||
+ | create_bd_design " | ||
+ | source $ad_hdl_dir/ | ||
+ | source $ad_hdl_dir/ | ||
+ | </ | ||
+ | ++++ | ||
+ | |||
+ | The customization, | ||
+ | ++++ Show/Hide Commands: | | ||
+ | < | ||
+ | delete_bd_objs [get_bd_nets -of_objects [find_bd_objs -relation connected_to [get_bd_pins axi_ad9361/ | ||
+ | delete_bd_objs [get_bd_nets -of_objects [find_bd_objs -relation connected_to [get_bd_pins axi_ad9361/ | ||
+ | delete_bd_objs [get_bd_nets -of_objects [find_bd_objs -relation connected_to [get_bd_pins axi_ad9361/ | ||
+ | delete_bd_objs [get_bd_nets -of_objects [find_bd_objs -relation connected_to [get_bd_pins axi_ad9361/ | ||
+ | delete_bd_objs [get_bd_nets -of_objects [find_bd_objs -relation connected_to [get_bd_pins axi_ad9361/ | ||
+ | delete_bd_objs [get_bd_nets -of_objects [find_bd_objs -relation connected_to [get_bd_pins axi_ad9361/ | ||
+ | delete_bd_objs [get_bd_nets -of_objects [find_bd_objs -relation connected_to [get_bd_pins axi_ad9361/ | ||
+ | delete_bd_objs [get_bd_nets -of_objects [find_bd_objs -relation connected_to [get_bd_pins axi_ad9361/ | ||
+ | delete_bd_objs [get_bd_nets -of_objects [find_bd_objs -relation connected_to [get_bd_pins axi_ad9361/ | ||
+ | </ | ||
+ | ++++ | ||
+ | |||
+ | Add the " | ||
+ | ++++ Show/Hide Commands: | | ||
+ | < | ||
+ | set axi_xcomm2ip [create_bd_cell -type ip -vlnv analog.com: | ||
+ | set_property -dict [list CONFIG.XCOMM2IP_1T1R_OR_2T2R_N {0}] $axi_xcomm2ip | ||
+ | </ | ||
+ | ++++ | ||
+ | |||
+ | Connect its slave AXI interface to the " | ||
+ | ++++ Show/Hide Commands: | | ||
+ | < | ||
+ | ad_cpu_interconnect 0x79040000 axi_xcomm2ip | ||
+ | </ | ||
+ | ++++ | ||
+ | |||
+ | And the data path connections; | ||
+ | ++++ Show/Hide Commands: | | ||
+ | < | ||
+ | ad_connect | ||
+ | ad_connect | ||
+ | ad_connect | ||
+ | ad_connect | ||
+ | ad_connect | ||
+ | ad_connect | ||
+ | ad_connect | ||
+ | ad_connect | ||
+ | ad_connect | ||
+ | ad_connect | ||
+ | ad_connect | ||
+ | ad_connect | ||
+ | ad_connect | ||
+ | ad_connect | ||
+ | ad_connect | ||
+ | ad_connect | ||
+ | ad_connect | ||
+ | ad_connect | ||
+ | ad_connect | ||
+ | ad_connect | ||
+ | |||
+ | ad_connect | ||
+ | ad_connect | ||
+ | ad_connect | ||
+ | ad_connect | ||
+ | ad_connect | ||
+ | ad_connect | ||
+ | </ | ||
+ | ++++ | ||
+ | |||
+ | Some clean-up, saving and validating. | ||
+ | ++++ Show/Hide Commands: | | ||
+ | < | ||
+ | delete_bd_objs [get_bd_cells ila_adc] | ||
+ | delete_bd_objs [get_bd_nets axi_ad9361_tdd_dbg] [get_bd_cells ila_tdd] | ||
+ | |||
+ | regenerate_bd_layout | ||
+ | save_bd_design | ||
+ | validate_bd_design | ||
+ | </ | ||
+ | ++++ | ||
+ | |||
+ | Generate all the targets, create the top level wrapper and add the reset of the files. | ||
+ | ++++ Show/Hide Commands: | | ||
+ | < | ||
+ | generate_target {synthesis implementation} [get_files zc706.srcs/ | ||
+ | make_wrapper -files [get_files zc706.srcs/ | ||
+ | import_files -force -norecurse -fileset sources_1 zc706.srcs/ | ||
+ | |||
+ | adi_project_files zc706 [list \ | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | </ | ||
+ | ++++ | ||
+ | |||
+ | Now build the project. | ||
+ | ++++ Show/Hide Commands: | | ||
+ | < | ||
+ | adi_project_run zc706 | ||
+ | </ | ||
+ | ++++ | ||
===== Building Linux ===== | ===== Building Linux ===== | ||
Line 393: | Line 540: | ||
===== Accessing the HDL IP core in Linux ===== | ===== Accessing the HDL IP core in Linux ===== | ||
=== How do I access a HDL IP core from Linux? === | === How do I access a HDL IP core from Linux? === | ||
+ | |||