Differences

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

Link to this comparison view

learn:programmable-logic:tutorials:arty-z7-getting-started-with-zynq:start [2017/09/21 22:10] – [4. Run the Connection Automation Tool] jon peyronlearn:programmable-logic:tutorials:arty-z7-getting-started-with-zynq:start [2022/10/04 11:38] (current) – external edit 127.0.0.1
Line 1: Line 1:
 ====== Arty Z7 Getting started with Zynq ====== ====== Arty Z7 Getting started with Zynq ======
 +
 +<WRAP round important 660px>
 +=== Important! ===
 +This guide is obsolete, the updated guide can be found [[:vivado:getting-started-with-ipi:start|here]].
 +</WRAP>
 +
 {{:learn:programmable-logic:tutorials:arty-z7-xadc-demo:arty-z7_obl600_702.png?400|}} {{:learn:programmable-logic:tutorials:arty-z7-xadc-demo:arty-z7_obl600_702.png?400|}}
  
Line 9: Line 15:
   * Created a simple hardware design incorporating the on board LEDs,switches and buttons.   * Created a simple hardware design incorporating the on board LEDs,switches and buttons.
  
-  * Created a .C project in XIlinx Vivado SDK tieing the on board LEDs and buttons together along with sending switch status through the USB-UART using the hardware design shown in the previous step.+  * Created a .C project in XIlinx Vivado SDK tying the on board LEDs and buttons together along with sending switch status through the USB-UART using the hardware design shown in the previous step.
  
 ----- -----
Line 78: Line 84:
 >{{:learn:programmable-logic:tutorials:arty-z7-getting-started-with-zynq:arty-z7-getting_started_1a.jpg?600|}} >{{:learn:programmable-logic:tutorials:arty-z7-getting-started-with-zynq:arty-z7-getting_started_1a.jpg?600|}}
  
->1.3) Enter a project name and location the click **Next**.+>1.3) Enter a Project name and location then click **Next**.
 > >
 >{{:learn:programmable-logic:tutorials:arty-z7-getting-started-with-zynq:arty-z7-getting_started_1b.jpg?600|}} >{{:learn:programmable-logic:tutorials:arty-z7-getting-started-with-zynq:arty-z7-getting_started_1b.jpg?600|}}
Line 119: Line 125:
 >{{:learn:programmable-logic:tutorials:arty-z7-getting-started-with-zynq:arty-z7-getting_started_5.jpg?500|}} >{{:learn:programmable-logic:tutorials:arty-z7-getting-started-with-zynq:arty-z7-getting_started_5.jpg?500|}}
  
->3.2) Click the **Run Block Automation** link+>3.2) Click the **Run Block Automation** link and click **OK**. This will use the board files and correctly configure the ZYNQ processor for the Arty-Z7.
 > >
 >{{:learn:programmable-logic:tutorials:arty-z7-getting-started-with-zynq:arty-z7-getting_started_6.jpg?800|}} >{{:learn:programmable-logic:tutorials:arty-z7-getting-started-with-zynq:arty-z7-getting_started_6.jpg?800|}}
Line 132: Line 138:
 > >
 >{{:learn:programmable-logic:tutorials:arty-z7-getting-started-with-zynq:arty-z7-getting_started_8.jpg?800|}} >{{:learn:programmable-logic:tutorials:arty-z7-getting-started-with-zynq:arty-z7-getting_started_8.jpg?800|}}
 +>
 >3.5) Add another GPIO core by repeating step 3.3 but do not enable dual channel. >3.5) Add another GPIO core by repeating step 3.3 but do not enable dual channel.
 > >
Line 160: Line 167:
 {{:learn:programmable-logic:tutorials:arty-z7-getting-started-with-zynq:arty-z7-getting_started_46.jpg?800|}} {{:learn:programmable-logic:tutorials:arty-z7-getting-started-with-zynq:arty-z7-getting_started_46.jpg?800|}}
  
->4.6) Next let's clean up our Block Design. Click the {{:learn:programmable-logic:tutorials:arty-z7-getting-started-with-zynq:arty-z7->getting_started_39.jpg?50|}} **Regenerate Layout** button to rearrange your block design.+>4.6) Next let's clean up our Block Design. Click the {{:learn:programmable-logic:tutorials:arty-z7-getting-started-with-zynq:arty-z7-getting_started_39.jpg?50|}}  **Regenerate Layout** button to rearrange your block design.
 > >
 >{{:learn:programmable-logic:tutorials:arty-z7-getting-started-with-zynq:arty-z7-getting_started_47.jpg?800|}} >{{:learn:programmable-logic:tutorials:arty-z7-getting-started-with-zynq:arty-z7-getting_started_47.jpg?800|}}
Line 168: Line 175:
 ==== 5. Generate HDL Wrapper and Validate Design ==== ==== 5. Generate HDL Wrapper and Validate Design ====
  
->5.1) Select {{:genesys2:validate.jpg?nolink|}} **Validate Design**. This will check for design and connection errors.+>5.1) Select {{:learn:programmable-logic:tutorials:arty-z7-getting-started-with-zynq:arty-z7-getting_started_40.jpg?50|}} **Validate Design**. This will check for design and connection errors.
  
 >5.2) After the design validation step we will proceed with creating a HDL System Wrapper. In the block design window, under the **Design Sources** tab, right-click on the block diagram file. We labeled it "design_1.bd" and select **Create HDL Wrapper**. >5.2) After the design validation step we will proceed with creating a HDL System Wrapper. In the block design window, under the **Design Sources** tab, right-click on the block diagram file. We labeled it "design_1.bd" and select **Create HDL Wrapper**.
 > >
->{{:zybo:generate_hdl_wrapper.png?nolink&400|}}+>{{:learn:programmable-logic:tutorials:arty-z7-getting-started-with-zynq:arty-z7-getting_started_16.jpg?800|}}
  
-This will create a top module in VHDL and will allow you to generate a bitstream.+This will create a top module in VHDL or Verilog depending on what language you choose and will allow you to generate a bitstream.
  
 ----- -----
Line 180: Line 187:
 ==== 6. Generate the Bitstream ==== ==== 6. Generate the Bitstream ====
  
->6.1) Click on **Generate Bitstream** at the bottom of the Flow Navigator. Wait for the process to complete and click OK.+>6.1) Click on **Generate Bitstream** at the bottom of the Flow Navigator. 
 > >
->{{:zybo:generate_bitstream.png?nolink&400|}}+>{{:learn:programmable-logic:tutorials:arty-z7-getting-started-with-zynq:arty-z7-getting_started_17.jpg?800|}} 
 +> 
 +>6.2) Next there are a series of popup boxes. On the first popup select save 
 +> 
 +>{{:learn:programmable-logic:tutorials:arty-z7-getting-started-with-zynq:arty-z7-getting_started_18.jpg?400|}} 
 +> 
 +>On the second popup select yes. You can choose to have this not notify you again. 
 +> 
 +>{{:learn:programmable-logic:tutorials:arty-z7-getting-started-with-zynq:arty-z7-getting_started_19.jpg?400|}} 
 +>  
 +>On the last popup choose the max number of jobs allowed if you have no other tasks going on your PC. Otherwise choose the number of jobs based on system needs.  
 +> 
 +>{{:learn:programmable-logic:tutorials:arty-z7-getting-started-with-zynq:arty-z7-getting_started_20.jpg?600|}} 
 +>  
  
 ----- -----
Line 190: Line 211:
 >7.1) Go to file->Export->Export Hardware... Make sure to check the box for **Include bitstream** then click **OK**. >7.1) Go to file->Export->Export Hardware... Make sure to check the box for **Include bitstream** then click **OK**.
 > >
->{{:zybo:export_hdwr.png?nolink&400|}}+>{{:learn:programmable-logic:tutorials:arty-z7-getting-started-with-zynq:arty-z7-getting_started_23.jpg?500|}}
  
 ----- -----
Line 198: Line 219:
 >8.1) Go to **File->Launch SDK** and click **OK**. >8.1) Go to **File->Launch SDK** and click **OK**.
 > >
->{{:zybo:launch_sdk.png?nolink&400|}} +>{{:learn:programmable-logic:tutorials:arty-z7-getting-started-with-zynq:arty-z7-getting_started_25.jpg?500|}}
 ----- -----
  
Line 206: Line 226:
 >9.1) Go to **File->New->Application Project**. >9.1) Go to **File->New->Application Project**.
 > >
->{{:zybo:sdk_new_app_project.png?nolink&500|}}+>{{:learn:programmable-logic:tutorials:arty-z7-getting-started-with-zynq:arty-z7-getting_started_26.jpg?800|}}
  
->9.2) Enter the project details: +>9.2) Enter a Project name and leave the rest of the options on default settings. Then select **NEXT** 
-    * Project name: "getting_started_with_ZYBO" +> 
-    * Hardware Platform: design_1_weapper_he_platform_0 +>{{:learn:programmable-logic:tutorials:arty-z7-getting-started-with-zynq:arty-z7-getting_started_27.jpg?800|}}
-    * Processor: ps7_cortexas9_0 +
-    * Languate: C +
-    * OS Platform: standalone +
-    * Board Support Package: Create New (leave default name) +
-{{:zybo:sdk_project_details.png?nolink&500|}}+
  
 +>9.3) Select the Hello World template. Then select **FINISH**
 +>
 +>{{:learn:programmable-logic:tutorials:arty-z7-getting-started-with-zynq:arty-z7-getting_started_28.jpg?800|}}
  
->9.3) The Hello World demo is a good starting point for this demo. Click **Next**, select **Hello World** and click **Finish**. This process will add two directories to the project explorer.   +>9.4) Expand **Getting_started_with_zynq**(the application you made) then open **src** and double click on "helloworld.c". This is the default Hello World C code.
- +
->9.4) Expand **getting_started_with_ZYBO** then open **src** and double click on "helloworld.c". This is the default Hello World C code.+
 > >
->{{:zybo:open_hello_world_c.png?nolink&400|}}+>{{:learn:programmable-logic:tutorials:arty-z7-getting-started-with-zynq:arty-z7-getting_started_35.jpg?700|}}
  
 ----- -----
Line 296: Line 312:
  
 ==== 11. Run the Project ==== ==== 11. Run the Project ====
->11.1) Make sure that the Zybo is connected to the host PC via the **UART** USB Port and that JP5 is set to JTAG. To program the FPGA, on the top toolbar, click the {{:genesys2:programfpga.jpg?nolink|}} **Program FPGA** button.+>11.1) Make sure that the Arty-Z7 is connected to the host PC via the **UART** USB Port and that JP4 is set to JTAG. To program the FPGA, on the top toolbar, click the {{:genesys2:programfpga.jpg?nolink|}} **Program FPGA** button.
  
->{{:learn:programmable-logic:tutorials:zybo-getting-started-with-zynq-server:echo_server_zynq_9.jpg?direct&600|}}+>{{:learn:programmable-logic:tutorials:arty-z7-getting-started-with-zynq:arty-z7-getting_started_36.jpg?800|}}
  
 >11.2) Save the project.  The project will automatically build. >11.2) Save the project.  The project will automatically build.
  
->11.3) Right click the **getting_started_with_ZYBO** directory and select run as -> Launch on Hardware(System Debugger).+>11.3) Right click the **Getting_started_with_zynq** directory and select run as -> Launch on Hardware(System Debugger).
  
->{{:learn:programmable-logic:tutorials:zybo-getting-started-with-zynq-server:echo_server_zynq_13.jpg?direct&600|}}+>{{:learn:programmable-logic:tutorials:arty-z7-getting-started-with-zynq:arty-z7-getting_started_33.jpg?800|}}
  
->11.4) The demo will be running on the ZYBO. Try playing around with the 4 switches (labeled SW0-SW3). Doing so should light its respective LED. Also over the serial port, pressing each button (labeled BTN0-BTN3) will produce the message "button x pressed".+>11.4) The demo will be running on the Arty-Z7. Try playing around with the (labeled BTN0-BTN3). Pressing each button should light its respective LED. Also over the serial port, the 2 switches (labeled SW0-SW1) will produce the message "switch x on" or "both switches on".
  
 >11.5) Tera Term or any serial terminal will work as a Console for displaying the output of the BTN's. >11.5) Tera Term or any serial terminal will work as a Console for displaying the output of the BTN's.
Line 312: Line 328:
 > Set up the terminal as: > Set up the terminal as:
  
->{{:learn:programmable-logic:tutorials:zybo-getting-started-with-zynq-server:echo_server_zynq_10.jpg?direct&600|}}+>{{:learn:programmable-logic:tutorials:arty-z7-getting-started-with-zynq:arty-z7-getting_started_32.jpg?800|}} 
 + 
 +>You should see something like this on the terminal depending on what you do with the switches. 
 +>{{:learn:programmable-logic:tutorials:arty-z7-getting-started-with-zynq:arty-z7-getting_started_34.jpg?800|}}
  
 ----- -----
  
-{{tag>learn programmable-logic project arty-z7}}+/*{{tag>learn programmable-logic tutorial software vivado arty-z7  }}*/