User Tools

Site Tools


vivado_2018.3_zedboard

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
vivado_2018.3_zedboard [2019/05/17 11:59]
rpjday [Steps]
vivado_2018.3_zedboard [2019/05/20 12:05] (current)
rpjday [petalinux-config]
Line 1: Line 1:
 ===== Overview ===== ===== Overview =====
  
-Steps in building ​the exporting the output for Zynq Zedboard from Vivado 2018.3.+Steps in building/exporting the output for Zynq Zedboard from Vivado 2018.3.
  
-Links: 
- 
-  * [[https://​forums.xilinx.com/​t5/​Embedded-Development-Tools/​Vivado-exporting-hardware-issue/​td-p/​923199]] 
  
 ===== Directory setup ===== ===== Directory setup =====
  
 <​code>​ <​code>​
-$ mkdir /tmp/​projects ​&& cd /tmp/projects+$ mkdir ~/xilinx/projects/vpjs/[zed_top/​zedboard/​]
 </​code>​ </​code>​
  
-===== Steps =====+===== Vivado steps ===== 
 + 
 +==== Create new project ​====
  
   * Select Zedboard (create subdirectory)   * Select Zedboard (create subdirectory)
-    ​* RTL project+  ​* RTL project
     * "Do not specify sources at this time"     * "Do not specify sources at this time"
-    ​* Select Zedboard part, Finish +  ​* Select Zedboard part, Finish 
-  * Create Block Design+ 
 +End result: 
 + 
 +<​code>​ 
 +
 +├── vivado.jou 
 +├── vivado.log 
 +├── vivado_pid5494.str 
 +└── zedboard 
 +    ├── zedboard.cache 
 +    │   └── wt 
 +    │   ​    ​└── project.wpc 
 +    ├── zedboard.hw 
 +    │   └── zedboard.lpr 
 +    ├── zedboard.ip_user_files 
 +    ├── zedboard.sim 
 +    └── zedboard.xpr 
 +</​code>​ 
 + 
 +==== Create block design ==== 
 + 
 +  * Create Block Design ​(take all defaults)
     * Empty design, "​+"​     * Empty design, "​+"​
     * "ZYNQ7 Processing System"​     * "ZYNQ7 Processing System"​
 +
 +End result:
 +
 +<​code>​
 +.
 +├── vivado.jou
 +├── vivado.log
 +├── vivado_pid5494.str
 +└── zedboard
 +    ├── zedboard.cache
 +    │   └── wt
 +    │   ​    ​└── project.wpc
 +    ├── zedboard.hw
 +    │   └── zedboard.lpr
 +    ├── zedboard.ip_user_files
 +    ├── zedboard.sim
 +    ├── zedboard.srcs
 +    │   └── sources_1
 +    │   ​    ​└── bd
 +    │   ​        ​└── design_1
 +    │   ​            ​└── design_1.bd
 +    └── zedboard.xpr
 +</​code>​
 +
 +''​design_1.bd'':​
 +
 +<​code>​
 +{
 +  "​design":​ {
 +    "​design_info":​ {
 +      "​boundary_crc":​ "​0x0",​
 +      "​name":​ "​design_1",​
 +      "​synth_flow_mode":​ "​Hierarchical",​
 +      "​tool_version":​ "​2018.3"​
 +    },
 +    "​design_tree":​ {}
 +  }
 +}
 +</​code>​
 +
 +==== Validation ====
 +
   * Validate, error with M_AXI_GP0_ACLK   * Validate, error with M_AXI_GP0_ACLK
-  * Double click on design block graphic ​(menu entry?):+  * Double click on design block graphic:
     * PS-PL Configuration     * PS-PL Configuration
       * AXI Non Secure Enablement       * AXI Non Secure Enablement
Line 29: Line 91:
           * M AXI GP0 Interface (uncheck)           * M AXI GP0 Interface (uncheck)
   * Validate again (should pass)   * Validate again (should pass)
-  * File -> Export -> Block Design (Generate Block Design?) + 
-  * BLOCK DESIGN +==== Create HDL wrapper ==== 
-    * Sources + 
-      Right click on design, ​Create HDL Wrapper (why?) +  * BLOCK DESIGN; design_1; ​Sources; right-click 
-  ​* ​Run Synthesis +  "Create HDL wrapper",​ let Vivado manage wrapper 
-  ​* ​Run implementation + 
-  * (Finally) ​Export ​Hardware ​(include bitstream?​) +Primary output: 
-  ​* Generate bitstream+ 
 +<​code>​ 
 +$ tree zedboard.srcs 
 +zedboard.srcs 
 +└── sources_1 
 +    └── bd 
 +        └── design_1 
 +            ├── design_1.bd 
 +            ├── design_1.bxml 
 +            ├── design_1_ooc.xdc 
 +            ├── hdl 
 +            │   └── design_1_wrapper.v 
 +            ├── ip 
 +            │   └── design_1_processing_system7_0_0 
 +            │   ​    ​├── design_1_processing_system7_0_0.xci 
 +            │   ​    ​└── design_1_processing_system7_0_0.xml 
 +            ├── sim 
 +            │   └── design_1.v 
 +            ├── synth 
 +            │   └── design_1.v 
 +            └── ui 
 +                └── bd_1f5defd0.ui 
 +</​code>​ 
 + 
 +==== Generate block design ==== 
 + 
 +Majority of output under ''​zedboard.ip_user_files/''​. 
 + 
 +==== Run synthesis ==== 
 + 
 +==== Run implementation ​==== 
 + 
 +==== Generate bitstream ==== 
 + 
 +''​zedboard.runs/​impl_1/​design_1_wrapper.bit''​ 
 + 
 +==== Export ​hardware ​(include bitstream?​) ​==== 
 + 
 +End result: 
 + 
 +<​code>​ 
 +$ unzip -l design_1_wrapper.hdf 
 +Archive: ​ design_1_wrapper.hdf 
 +02LvEiD+u+Kz8iWSDr/​wPVMUtQtx/​Up+iy67Wzp7LsT7w= 
 +  Length ​     Date    Time    Name 
 +--------- ​ ---------- -----   ​---- 
 +      861  05-20-2019 07:27   ​hwdef.xml 
 +    66717  05-20-2019 07:27   ​design_1.hwh 
 +     ​6451 ​ 05-20-2019 07:27   ​design_1_bd.tcl 
 +   ​313654 ​ 05-20-2019 07:27   ​ps7_init.c 
 +     ​4908 ​ 05-20-2019 07:27   ​ps7_init.h 
 +   ​313050 ​ 05-20-2019 07:27   ​ps7_init_gpl.c 
 +     ​4294 ​ 05-20-2019 07:27   ​ps7_init_gpl.h 
 +  1760914 ​ 05-20-2019 07:27   ​ps7_init.html 
 +    24922  05-20-2019 07:27   ​ps7_init.tcl 
 +--------- ​                    ​------- 
 +  2495771 ​                    9 files 
 +
 +</​code>​ 
 +===== PetaLinux steps ===== 
 + 
 +==== petalinux-create ==== 
 + 
 +<​code>​ 
 +$ petalinux-create \ 
 +  --type project \ 
 +  --name zed \ 
 +  --template zynq 
 +$ cd zed 
 +
 +</​code>​ 
 + 
 +Output: 
 + 
 +<​code>​ 
 +
 +├── config.project 
 +└── project-spec 
 +    ├── attributes 
 +    ├── configs 
 +    │   ├── config 
 +    │   └── rootfs_config 
 +    ├── hw-description 
 +    │   └── metadata 
 +    └── meta-user 
 +        ├── conf 
 +        │   ├── layer.conf 
 +        │   └── petalinuxbsp.conf 
 +        ├── COPYING.MIT 
 +        ├── README 
 +        ├── recipes-apps 
 +        │   ├── gpio-demo 
 +        │   │   ├── files 
 +        │   │   │   ├── gpio-demo.c 
 +        │   │   │   └── Makefile 
 +        │   │   └── gpio-demo.bb 
 +        │   └── peekpoke 
 +        │   ​    ​├── files 
 +        │   ​    ​│   ├── Makefile 
 +        │   ​    ​│   ├── peek.c 
 +        │   ​    ​│   └── poke.c 
 +        │   ​    ​└── peekpoke.bb 
 +        ├── recipes-bsp 
 +        │   ├── device-tree 
 +        │   │   ├── device-tree.bbappend 
 +        │   │   └── files 
 +        │   │   ​    ​└── system-user.dtsi 
 +        │   └── u-boot 
 +        │   ​    ​├── files 
 +        │   ​    ​│   └── platform-top.h 
 +        │   ​    ​└── u-boot-xlnx_%.bbappend 
 +        └── recipes-core 
 +            └── images 
 +                └── petalinux-image-full.bbappend 
 +</​code>​ 
 + 
 +==== petalinux-config ==== 
 + 
 +<​code>​ 
 +$ petalinux-config --get-hw-description <dir containing .hdf file> 
 +</​code>​ 
 + 
 +==== petalinux-build ====
vivado_2018.3_zedboard.1558094397.txt.gz · Last modified: 2019/05/17 11:59 by rpjday