Sitemap

A list of all the posts and pages found on the site. For you robots out there is an XML version available for digesting as well.

Pages

Posts

use git manage vivado project

2 minute read

Published:

让我们说中文吧!使用Git管理vivado工程

Use Git to Manage Vivado Project

Motivation

  • Firmware versions often need to be iterated, requiring version control. Using compressed packages takes up a lot of memory and is inconvenient to manage.
  • Large projects require collaboration among multiple people, necessitating version control.
  • You have multiple devices and need to synchronize projects when developing at home or in the lab.

    Method

  • Good file structure, only keeping project source files such as IP cores, RTL code, testbench, scripts, and ignoring project files and intermediate files.
  • Rebuild the project using TCL scripts and source files.
  • Use Git to manage source files and scripts.

    Try to Use TCL to Rebuild the Project

    Simple prj

    nice folder structure(vivado_test)

    vivado_test  //top level project folder
    ├──vivado_prj  //vivado project folder git ignore
    ├──modules  //module folder
    │     ├──submodule1  //submodule1 folder
    │     │     ├──  sim  //submodule1 simulation folder
    │     │     │    ├──  testbench  //submodule1 testbench folder
    │     │     │    └─── script  //submodule1 test script folder
    │     │     ├──  rtl  //submodule1 rtl folder
    │     │     ├──  ip  //submodule1 ip folder
    │     │     └─── doc  //submodule1 document folder
    │     ├──submodule2  //submodule2 ...
    │     └──submodule3  //submodule3 ...
    ├──toplevel_source  //top level source folder
    │     ├──  constraints  //top level constraints folder
    │     ├──  rtl  //top level rtl folder
    │     ├──  bd  //top level bd folder
    │     └─── doc  //top level document folder
    ├──toplevel_sim  //top level simulation folder
    │     ├──  testbench  //top level testbench folder
    │     ├──  script  //top level test script folder
    │     └─── doc  //top level document folder
    ├──readme.md  //project readme file
    ├──.gitignore  //git ignore file
    └──project_gen.tcl  //vivado project rebuild tcl script
    

    Specific Steps

    1. Create Project Folder Structure

    • Project folder: vivado_test (top-level project folder)
    • Project folder: vivado_prj (Vivado project folder)
    • Source folders: modules, toplevel_source, toplevel_sim
    • Project rebuild script: project_gen.tcl

      2. Create a new project in Vivado, selecting vivado_prj as the project directory

      3. Add source files (rtl - verilog/vhdl/systemverilog, ip - xci files) to the source folders

      4. Add source files in Vivado

      5. Generate project rebuild TCL script in Vivado

    • open vivado tcl console
    • cd to the project folder
    • write_project_tcl ./project_gen.tcl

      6. Delete the project files in the project folder vivado_prj (delete the entire project folder)

      7. Manage the project with Git

    • git init
    • git add .
    • git commit -m “first commit”
    • 8. Rebuild the Project

    • Clone the project
    • Open Vivado TCL console
    • cd to the project folder cd E:/work/vivado_git/(replace with your own path)
    • source project_gen.tcl source ./project_gen.tcl
    • Complete the project rebuild

Start of my personal website and blog

less than 1 minute read

Published:

让我们说中文吧!开始个人网站和博客

Start of my personal website and blog

  • I use academic pages to create my personal website and blog. It is a simple and easy-to-use template for academic websites and blogs.

    How to build and fill your own information

    1. go to academic pagesclick the green button “use this template” to create your own repository.
    2. clone your repository to your local computer.
    3. change your information in the following files:
      • _config.yml: change your sidebar information.
      • _data/navigation.yml: change the navigation bar.
      • _pages/about.md: change your main page.
      • _pages/cv.md: change your cv page.
      • _posts: add your blog posts.
      • _publications: add your publications.
      • _talks: add your talks.
      • _teaching: add your teaching.
      • _portfolio: add your portfolio.
    4. git add, commit and push your changes.
    5. waiting for the github pages to build your website.
    6. enjoy your website and blog.

portfolio

publications

talks

teaching