Wiki

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
resources:eval:user-guides:targetting:xilinx_sdsoc [13 Jul 2015 15:26] Andrei Cozmaresources:eval:user-guides:targetting:xilinx_sdsoc [07 Aug 2015 15:59] (current) Andrei Cozma
Line 4: Line 4:
 The Xilinx SDSoC™ development environment is a member of the Xilinx SDx™ family that provides a greatly simplified ASSP-like C/C++ programming experience including an easy to use Eclipse IDE and a comprehensive design environment for heterogeneous Zynq® All Programmable SoC and MPSoC deployment. Complete with the industry’s first C/C++ full-system optimizing compiler, SDSoC delivers system level profiling, automated software acceleration in programmable logic, automated system connectivity generation, and libraries to speed programming. The Xilinx SDSoC™ development environment is a member of the Xilinx SDx™ family that provides a greatly simplified ASSP-like C/C++ programming experience including an easy to use Eclipse IDE and a comprehensive design environment for heterogeneous Zynq® All Programmable SoC and MPSoC deployment. Complete with the industry’s first C/C++ full-system optimizing compiler, SDSoC delivers system level profiling, automated software acceleration in programmable logic, automated system connectivity generation, and libraries to speed programming.
  
-To access the capabilities of SDSoC, please visit www.xilinx.com/sdsoc+To access the capabilities of SDSoC, please visit http://www.xilinx.com/products/design-tools/software-zone/sdsoc.html
  
 Analog Devices is an SDSoC development environment-qualified Xilinx Alliance Member and offers FMC boards and reference designs that can be used together with the SDSoC environment. Each SDSoC design is based on a platform which defines the hardware and software components on which the SDSoC compiler and linker generate hardware functions and IP-based data motion networks for communication between hardware functions and the platform as well as software drivers and applications. Currently Analog Devices provides SDSoC platform support for the following FMCOMMSx SDR systems: Analog Devices is an SDSoC development environment-qualified Xilinx Alliance Member and offers FMC boards and reference designs that can be used together with the SDSoC environment. Each SDSoC design is based on a platform which defines the hardware and software components on which the SDSoC compiler and linker generate hardware functions and IP-based data motion networks for communication between hardware functions and the platform as well as software drivers and applications. Currently Analog Devices provides SDSoC platform support for the following FMCOMMSx SDR systems:
   * [[adi>AD-FMComms2-EBZ]]   * [[adi>AD-FMComms2-EBZ]]
   * [[adi>AD-FMComms3-EBZ]]   * [[adi>AD-FMComms3-EBZ]]
-  * [[adi>AD-FMComms3-EBZ]] 
-  * [[adi>AD-FMComms5-EBZ]] 
 The supported Xilinx Zynq based carriers are: The supported Xilinx Zynq based carriers are:
   * [[xilinx>ZC702]]    * [[xilinx>ZC702]] 
   * [[xilinx>ZC706]]    * [[xilinx>ZC706]] 
-  * [[http://www.zedboard.org|Zed Board]]  
  
 ===== FMCOMMSx SDSoC Platforms ===== ===== FMCOMMSx SDSoC Platforms =====
Line 21: Line 18:
  
 Platform generation steps: Platform generation steps:
-  Download the Analog devices HDL reference designs repository from github using the link provided in the //Downloads// section below   +  Download the Analog Devices HDL reference designs repository from github using the link provided in the //Downloads// section below   
-  Download the platform generation files using the link provided in the //Downloads// section below   +  Download the platform generation files using the link provided in the //Downloads// section below   
-  Copy the platform generation files to the location where you cloned the HDL repository into the target project folder, //eg: \hdl\projects\fmcomms2\zc702// +  Copy the platform generation files to the location where you cloned the HDL repository into the target project folder, //eg: \hdl\projects\fmcomms2\zc702// 
-  - Open Vivado and in the tcl console cd to the target project folder, //eg. \hdl\projects\fmcomms2\zc702// +{{ :resources:eval:user-guides:targetting:sdsoc_platform_folder.png?500 |}} 
-  - In the Vivado tcl console type //source ./sdsoc_platform/sdsoc_platform.tcl//. This will start the process of generating the platform. At the end of the process the new platform will be placed in the SDSoC platforms folder and will be named //<board>_<carrier>//, where //<board>// is the name of the FMCOMMSx board and //<carrier>// is the name of the Xilinx carrier, //eg. fmcomms2_zc702//+  * Open Vivado and in the tcl console //cd// to the target project sdsoc folder, //eg. \hdl\projects\fmcomms2\zc702// 
 +  * Update the HDL design to Vivado 2015.2 by running the //sdsoc_platform/update_hdl.tcl// scriptThis step needs to be ran only once after downloading the HDL reference design. 
 +  * Regenerate the IP libraries following the steps described here: http://wiki.analog.com/resources/fpga/docs/hdl. This step needs to be ran only once after downloading the HDL reference design, or every time the IP libraries are modified. 
 +  * Generate the SDSoC platform by running the //sdsoc_platform/sdsoc_platform.tcl// script. Before running the script you need to edit it and change line 26 "//set argv [list C:/Xilinx/SDSoC/2015.2/platforms]//" to point to your SDSoC platforms folder. At the end of the process the new platform will be placed in the SDSoC platforms folder and will be named //<board>_<carrier>//, where //<board>// is the name of the FMCOMMSx board and //<carrier>// is the name of the Xilinx carrier, //eg. fmcomms2_zc702// 
 +{{ :resources:eval:user-guides:targetting:tcl_update_hdl.png?500 |}}
  
-<WRAP center round download 60%> +<WRAP round download 80%> 
-[[https://github.com/analogdevicesinc/hdl/tree/hdl_2015_r1 | Analog Devices HDL reference design]] +  [[https://github.com/analogdevicesinc/hdl/tree/hdl_2015_r1 | Analog Devices HDL reference design]] 
-{{:resources:eval:user-guides:targetting:sdsoc_platform.zip|SDSoC platform generation files}}+  {{:resources:eval:user-guides:targetting:fmcomms2_zc702_sdsoc_platform.zip|FMCOMMS2 + ZC702 SDSoC platform generation files}} 
 +  * {{:resources:eval:user-guides:targetting:fmcomms2_zc706_sdsoc_platform.zip|FMCOMMS2 + ZC706 SDSoC platform generation files}} 
 +  * {{:resources:eval:user-guides:targetting:fmcomms3_zc702_sdsoc_platform.zip|FMCOMMS3 + ZC702 SDSoC platform generation files}} 
 +  * {{:resources:eval:user-guides:targetting:fmcomms3_zc706_sdsoc_platform.zip|FMCOMMS3 + ZC706 SDSoC platform generation files}}
 </WRAP> </WRAP>
- +===== FMCOMMS2 SDSoC Example =====
-===== FMCOMMSx SDSoC Examples =====+
      
-The platform is accompanied by an example which implements a DDS block that will generate a CW that can be sent/received using the FMCOMMsx board. The received signal can be displayed in the Analog Devices Linux IIO Oscillscope application. These are the steps to recreate the DDS project.   +The platform is accompanied by an example SDSoC project which implements a DDS block that will generate a CW that can be sent/received using the Analog Devices FMCOMMS2 board and the Xilinx ZC702 carrier board. The received signal can be displayed in the Analog Devices Linux IIO Oscillscope application. These are the steps to recreate the DDS project.   
-  - Unzip the sw_src.zip, start the SDSoC terminal and cd to the location where the files were unzipped +  * Download the SDSoC DDS project source code using the link in the //Downloads// section below 
-  In the SDSoC terminal type make. This will build the software, generate the DDS IP and insert it into the FMCOMMSx platform. It will also generate the Linux SD card image. +  * Start the SDSoC terminal and //cd// to the location where the project source code was extracted 
-  Create a SD card with the ADI Linux image as shown here: http://wiki.analog.com/resources/tools-software/linux-software/zynq_images +  In the SDSoC terminal type //make//. This will build the software, generate the DDS IP and insert it into the FMCOMMSx platform. It will also generate the Linux SD card image. 
-  On the newly created SD card copy the contents of the sd_card.zip’ +  Create a SD card with the ADI Linux image as instructed here: http://wiki.analog.com/resources/tools-software/linux-software/zynq_images 
-  Insert the SD card in the ZC702, connect antennas to the RF ports of the FMCOMMS2 or loopback cables between Rx and Tx, connect the FMCOMMS2 to the ZC702, connect the ZC702 to a HDMI monitor, connect a mouse and keyboard to the ZC702, connect an Ethernet cable to the ZC702,  fire up the system +  On the newly created SD card copy the //boot.bin// generated by SDSoC in the //sd_card// folder   
-  After Linux boots the IIO Scope starts automatically. In the IIO scope configure the Rx and Tx LO frequencies to be the same, eg. 2.4GHz +  Insert the SD card in the Xilinx ZC702 carrier board, connect antennas to the RF ports of the FMCOMMS2 or loopback cables between Rx and Tx, connect the FMCOMMS2 to the ZC702, connect the ZC702 to a HDMI monitor, connect a mouse and keyboard to the ZC702, connect an Ethernet cable to the ZC702, start the system 
-  In the IIO scope configure the Transmit/DDS as shown in the screenshot from the sd_card.zip. Please make sure to select a file unde ‘DAC Buffer settings’, any file will do, and press the Load’ button. All the DAC Channels must be selected before pressing Load+  After Linux boots the IIO Oscilloscope starts automatically. In the IIO Oscilloscope configure the Rx and Tx LO frequencies to be the same, eg. 2.4GHz 
-  Using a program like WinSCP copy the dds_script.sh’ from sd_card.zip to the device’s /usr/local/bin folder. The credentials for the SCP connection between the PC and the device are: user – analog, password – analog. In order to configure the SCP connection you need the IP of the device, to get that just type ifconfig’ in a terminal on the device. +  In the IIO Oscilloscope configure the Transmit/DDS as shown below. Please make sure to select a file unde ‘DAC Buffer settings’, any file will do, and press the //Load// button. All the DAC Channels must be selected before pressing //Load//
-  Run the dds_script.sh’ as shown in the screenshot. This will initialize and activate the DDS IP. +  Using a program like WinSCP copy from the project folder the //dds_script.sh// to the device’s ///usr/local/bin folder//. The credentials for the SCP connection between the PC and the device are: user – analog, password – analog. In order to configure the SCP connection you need the IP of the device, to get that just type //ifconfig// in a terminal on the device. 
-  On the IIO scope select the voltage0 and voltage1 channels and press the Play button. You should see the DDS waveforms displayed by the IIO Scope.+  Run the //dds_script.sh// as shown below. This will initialize and activate the DDS IP. 
 +  On the IIO Oscilloscope select the //voltage0// and //voltage1// channels and press the //Play// button. You should see the DDS waveforms displayed by the IIO Oscilloscope . 
 +{{ :resources:eval:user-guides:targetting:dds_out.png?400 |}}
  
 +<WRAP round download 80%>
 +  * {{:resources:eval:user-guides:targetting:sdsoc_dds_src.zip|SDSoC DDS source code}}
 +</WRAP>
  
- 
-<WRAP tip>This is a work in progress 
-</WRAP> 
resources/eval/user-guides/targetting/xilinx_sdsoc.1436793997.txt.gz · Last modified: 13 Jul 2015 15:26 by Andrei Cozma