From 51c0ee1e203b089d9328994d39a239e041841ace Mon Sep 17 00:00:00 2001 From: Rejeesh Kutty Date: Tue, 6 May 2014 09:29:21 -0400 Subject: [PATCH] ml605: tcl updates --- projects/fmcomms2/ml605/system_project.tcl | 141 ++++++++------------- projects/scripts/adi_project.tcl | 58 +++++++++ 2 files changed, 114 insertions(+), 85 deletions(-) diff --git a/projects/fmcomms2/ml605/system_project.tcl b/projects/fmcomms2/ml605/system_project.tcl index 752dcdc8f..cedd09c65 100644 --- a/projects/fmcomms2/ml605/system_project.tcl +++ b/projects/fmcomms2/ml605/system_project.tcl @@ -1,89 +1,60 @@ -set project_name "fmcomms2_ml605" -set project_part "xc6vlx240tff1156-1" -set project_board "ml605" -set project_system_dir "./$project_name.srcs/sources_1/edk/$project_board" +source ../../scripts/adi_env.tcl +source $ad_hdl_dir/projects/scripts/adi_project.tcl -create_project $project_name . -part $project_part -force -set_property board $project_board [current_project] +adi_project_create fmcomms2_ml605 +adi_project_files fmcomms2_ml605 [list \ + "$ad_hdl_dir/library/common/ad_rst.v" \ + "$ad_hdl_dir/library/common/ad_mul_u16.v" \ + "$ad_hdl_dir/library/common/ad_dds_sine.v" \ + "$ad_hdl_dir/library/common/ad_dds_1.v" \ + "$ad_hdl_dir/library/common/ad_dds.v" \ + "$ad_hdl_dir/library/common/ad_datafmt.v" \ + "$ad_hdl_dir/library/common/ad_dcfilter.v" \ + "$ad_hdl_dir/library/common/ad_iqcor.v" \ + "$ad_hdl_dir/library/common/up_axi.v" \ + "$ad_hdl_dir/library/common/up_xfer_cntrl.v" \ + "$ad_hdl_dir/library/common/up_xfer_status.v" \ + "$ad_hdl_dir/library/common/up_clock_mon.v" \ + "$ad_hdl_dir/library/common/up_delay_cntrl.v" \ + "$ad_hdl_dir/library/common/up_drp_cntrl.v" \ + "$ad_hdl_dir/library/common/up_adc_common.v" \ + "$ad_hdl_dir/library/common/up_adc_channel.v" \ + "$ad_hdl_dir/library/common/up_dac_common.v" \ + "$ad_hdl_dir/library/common/up_dac_channel.v" \ + "$ad_hdl_dir/library/axi_ad9361/axi_ad9361_dev_if.v" \ + "$ad_hdl_dir/library/axi_ad9361/axi_ad9361_pnlb.v" \ + "$ad_hdl_dir/library/axi_ad9361/axi_ad9361_rx_pnmon.v" \ + "$ad_hdl_dir/library/axi_ad9361/axi_ad9361_rx_channel.v" \ + "$ad_hdl_dir/library/axi_ad9361/axi_ad9361_rx.v" \ + "$ad_hdl_dir/library/axi_ad9361/axi_ad9361_tx_dds.v" \ + "$ad_hdl_dir/library/axi_ad9361/axi_ad9361_tx_channel.v" \ + "$ad_hdl_dir/library/axi_ad9361/axi_ad9361_tx.v" \ + "$ad_hdl_dir/library/axi_ad9361/axi_ad9361.v" \ + "$ad_hdl_dir/library/common/sync_bits.v" \ + "$ad_hdl_dir/library/common/sync_gray.v" \ + "$ad_hdl_dir/library/axi_fifo/axi_fifo.v" \ + "$ad_hdl_dir/library/axi_fifo/address_gray.v" \ + "$ad_hdl_dir/library/axi_fifo/address_gray_pipelined.v" \ + "$ad_hdl_dir/library/axi_dmac/address_generator.v" \ + "$ad_hdl_dir/library/axi_dmac/data_mover.v" \ + "$ad_hdl_dir/library/axi_dmac/request_arb.v" \ + "$ad_hdl_dir/library/axi_dmac/request_generator.v" \ + "$ad_hdl_dir/library/axi_dmac/response_handler.v" \ + "$ad_hdl_dir/library/axi_dmac/axi_register_slice.v" \ + "$ad_hdl_dir/library/axi_dmac/2d_transfer.v" \ + "$ad_hdl_dir/library/axi_dmac/dest_axi_mm.v" \ + "$ad_hdl_dir/library/axi_dmac/dest_axi_stream.v" \ + "$ad_hdl_dir/library/axi_dmac/dest_fifo_inf.v" \ + "$ad_hdl_dir/library/axi_dmac/src_axi_mm.v" \ + "$ad_hdl_dir/library/axi_dmac/src_axi_stream.v" \ + "$ad_hdl_dir/library/axi_dmac/src_fifo_inf.v" \ + "$ad_hdl_dir/library/axi_dmac/splitter.v" \ + "$ad_hdl_dir/library/axi_dmac/response_generator.v" \ + "$ad_hdl_dir/library/axi_dmac/axi_dmac.v" \ + "$ad_hdl_dir/library/axi_dmac/axi_repack.v" \ + "system_constr.ucf" \ + "system_top.v" ] -import_files -norecurse ../../common/ml605/system.xmp +adi_project_run fmcomms2_ml605 -generate_target {synthesis implementation} [get_files $project_system_dir/system.xmp] -make_wrapper -files [get_files $project_system_dir/system.xmp] -top -import_files -force -norecurse -fileset sources_1 $project_system_dir/system_stub.v - -add_files -norecurse c:/github/hdl/library/common/ad_rst.v -add_files -norecurse c:/github/hdl/library/common/ad_mul_u16.v -add_files -norecurse c:/github/hdl/library/common/ad_dds_sine.v -add_files -norecurse c:/github/hdl/library/common/ad_dds_1.v -add_files -norecurse c:/github/hdl/library/common/ad_dds.v -add_files -norecurse c:/github/hdl/library/common/ad_datafmt.v -add_files -norecurse c:/github/hdl/library/common/ad_dcfilter.v -add_files -norecurse c:/github/hdl/library/common/ad_iqcor.v -add_files -norecurse c:/github/hdl/library/common/up_axi.v -add_files -norecurse c:/github/hdl/library/common/up_xfer_cntrl.v -add_files -norecurse c:/github/hdl/library/common/up_xfer_status.v -add_files -norecurse c:/github/hdl/library/common/up_clock_mon.v -add_files -norecurse c:/github/hdl/library/common/up_delay_cntrl.v -add_files -norecurse c:/github/hdl/library/common/up_drp_cntrl.v -add_files -norecurse c:/github/hdl/library/common/up_adc_common.v -add_files -norecurse c:/github/hdl/library/common/up_adc_channel.v -add_files -norecurse c:/github/hdl/library/common/up_dac_common.v -add_files -norecurse c:/github/hdl/library/common/up_dac_channel.v -add_files -norecurse c:/github/hdl/library/axi_ad9361/axi_ad9361_dev_if.v -add_files -norecurse c:/github/hdl/library/axi_ad9361/axi_ad9361_pnlb.v -add_files -norecurse c:/github/hdl/library/axi_ad9361/axi_ad9361_rx_pnmon.v -add_files -norecurse c:/github/hdl/library/axi_ad9361/axi_ad9361_rx_channel.v -add_files -norecurse c:/github/hdl/library/axi_ad9361/axi_ad9361_rx.v -add_files -norecurse c:/github/hdl/library/axi_ad9361/axi_ad9361_tx_dds.v -add_files -norecurse c:/github/hdl/library/axi_ad9361/axi_ad9361_tx_channel.v -add_files -norecurse c:/github/hdl/library/axi_ad9361/axi_ad9361_tx.v -add_files -norecurse c:/github/hdl/library/axi_ad9361/axi_ad9361.v - -add_files -norecurse c:/github/hdl/library/common/sync_bits.v -add_files -norecurse c:/github/hdl/library/common/sync_gray.v -add_files -norecurse c:/github/hdl/library/axi_fifo/axi_fifo.v -add_files -norecurse c:/github/hdl/library/axi_fifo/address_gray.v -add_files -norecurse c:/github/hdl/library/axi_fifo/address_gray_pipelined.v -add_files -norecurse c:/github/hdl/library/axi_dmac/address_generator.v -add_files -norecurse c:/github/hdl/library/axi_dmac/data_mover.v -add_files -norecurse c:/github/hdl/library/axi_dmac/request_arb.v -add_files -norecurse c:/github/hdl/library/axi_dmac/request_generator.v -add_files -norecurse c:/github/hdl/library/axi_dmac/response_handler.v -add_files -norecurse c:/github/hdl/library/axi_dmac/axi_register_slice.v -add_files -norecurse c:/github/hdl/library/axi_dmac/2d_transfer.v -add_files -norecurse c:/github/hdl/library/axi_dmac/dest_axi_mm.v -add_files -norecurse c:/github/hdl/library/axi_dmac/dest_axi_stream.v -add_files -norecurse c:/github/hdl/library/axi_dmac/dest_fifo_inf.v -add_files -norecurse c:/github/hdl/library/axi_dmac/src_axi_mm.v -add_files -norecurse c:/github/hdl/library/axi_dmac/src_axi_stream.v -add_files -norecurse c:/github/hdl/library/axi_dmac/src_fifo_inf.v -add_files -norecurse c:/github/hdl/library/axi_dmac/splitter.v -add_files -norecurse c:/github/hdl/library/axi_dmac/response_generator.v -add_files -norecurse c:/github/hdl/library/axi_dmac/axi_dmac.v -add_files -norecurse c:/github/hdl/library/axi_dmac/axi_repack.v - -add_files -norecurse system_constr.ucf -add_files -norecurse system_top.v -set_property top system_top [current_fileset] - -set_property strategy MapTiming [get_runs impl_1] -set_property strategy TimingWithIOBPacking [get_runs synth_1] - -launch_runs synth_1 -wait_on_run synth_1 -open_run synth_1 -report_timing_summary -file timing_synth.log - -launch_runs impl_1 -to_step bitgen -wait_on_run impl_1 -open_run impl_1 -report_timing_summary -file timing_impl.log - -if [expr [get_property SLACK [get_timing_paths]] < 0] { - puts "ERROR: Timing Constraints NOT met." - use_this_invalid_command_to_crash -} - -export_hardware [get_files $project_system_dir/system.xmp] [get_runs impl_1] -bitstream diff --git a/projects/scripts/adi_project.tcl b/projects/scripts/adi_project.tcl index 6b5dea4c4..53de2169f 100644 --- a/projects/scripts/adi_project.tcl +++ b/projects/scripts/adi_project.tcl @@ -11,6 +11,11 @@ proc adi_project_create {project_name} { set project_part "none" set project_board "none" + if [regexp "_ml605$" $project_name] { + set xl_board "ml605" + set project_part "xc6vlx240tff1156-1" + set project_board "ml605" + } if [regexp "_ac701$" $project_name] { set xl_board "ac701" set project_part "xc7a200tfbg676-2" @@ -47,6 +52,26 @@ proc adi_project_create {project_name} { set project_board "xilinx.com:zynq:zc706:1.1" } + # planahead - 6 and down + + if {$xl_board eq "ml605"} { + + set project_system_dir "./$project_name.srcs/sources_1/edk/$xl_board" + + create_project $project_name . -part $project_part -force + set_property board $project_board [current_project] + + import_files -norecurse $ad_hdl_dir/projects/common/ml605/system.xmp + + generate_target {synthesis implementation} [get_files $project_system_dir/system.xmp] + make_wrapper -files [get_files $project_system_dir/system.xmp] -top + import_files -force -norecurse -fileset sources_1 $project_system_dir/system_stub.v + + return + } + + # vivado - 7 and up + set project_system_dir "./$project_name.srcs/sources_1/bd/system" create_project $project_name . -part $project_part -force @@ -83,6 +108,39 @@ proc adi_project_run {project_name} { global ad_hdl_dir global ad_phdl_dir + global xl_board + + # planahead - 6 and down + + if {$xl_board eq "ml605"} { + + set project_system_dir "./$project_name.srcs/sources_1/edk/$xl_board" + + set_property strategy MapTiming [get_runs impl_1] + set_property strategy TimingWithIOBPacking [get_runs synth_1] + + launch_runs synth_1 + wait_on_run synth_1 + open_run synth_1 + report_timing -file timing_synth.log + + launch_runs impl_1 -to_step bitgen + wait_on_run impl_1 + open_run impl_1 + report_timing -file timing_impl.log + + # -- Unable to find an equivalent + #if [expr [get_property SLACK [get_timing_paths]] < 0] { + # puts "ERROR: Timing Constraints NOT met." + # use_this_invalid_command_to_crash + #} + + export_hardware [get_files $project_system_dir/system.xmp] [get_runs impl_1] -bitstream + + return + } + + # vivado - 7 and up set project_system_dir "./$project_name.srcs/sources_1/bd/system"