Skip to content

本项目实现的是具有VCD文件信号信息统计的工具,并对其大文件解析和信号统计速度进行优化。This project implements a tool with VCD file signal information statistics, and optimizes its large file parsing and signal statistics speed.

License

Notifications You must be signed in to change notification settings

Yixin-Gong/EDA_Challenge

Repository files navigation

EDA_Challenge

Version  Build  License        English / 中文

    This repository is a source code for the IC EDA Design Elite Challenge "Analysis and Evaluation of Dynamic Power Consumption Optimization Strategies for Digital Integrated Circuits" competition. As one of the important indicators (PPA) to measure digital chip design, the analysis and optimization of low-power design is particularly important.

    This project is to implement a tool that has the ability to count the number of signal flips, flip rate, level duration, glitch count and flip number display on GUI in VCD files, and try to optimize its large file parsing and signal count speed.


Usage guide

   We provide a deb installation package based on the Ubuntu 22.04.1 LTS operating system, which you can find on the Release page. After downloading the installation package, use sudo dpkg -i EDA_Challenge.deb to install it, and you can use this program after the installation is complete. Basic usage of the program:

$ EDA_Challenge -h                               # Get help information
$ EDA_Challenge -v                               # Get version information
$ EDA_Challenge --gui                            # Start the program as a GUI
$ EDA_Challenge --file <VCD file path>           # Specify the VCD file to be counted
$ EDA_Challenge --glitch --file <VCD file path>  # Enable glitch counting

    The advanced usage of the program is to specify the statistical time range and specify the module statistics. The advanced usage can only be achieved through the command line, you cannot specify the statistical time range and specify the module statistics through the GUI interface:

# Specify the output path of the csv file:
$ EDA_Challenge --file <VCD file path> --output <Output directory>
# Specify the module for which the signal is to be counted:
$ EDA_Challenge --file <VCD file path> --scope <Scope name>
# Specify the time range of the signal to be counted:
$ EDA_Challenge --file <VCD file path> --begin <Begin time> --end <End time>
# Specify the module and time range of the signal to be counted:
$ EDA_Challenge --file <VCD file path> --begin <Begin time> --end <End time> --scope <Scope name>

Compilation Guide

    Since this program was developed under Ubuntu 22.04.1 LTS environment, this guide is not guaranteed to work under other operating systems. A one-click configuration script is provided to install the dependencies:

$ git clone https://github.com/ZhuYanzhen1/EDA_Challenge.git --depth=1
$ cd EDA_Challenge/script && ./configure

    After running the above script without errors, you can see the compiled EDA_Challenge binary and the Google_Test program for testing in the build folder. You can run Google_Test to check if the statistics output from the program are correct.


Develop Environment

  • Integrated Development Environment: CLion CL-222.4167.35
  • OS: Ubuntu 22.04.1 LTS 5.15.0-48-generic x86_64
  • Make tool: GNU Make 4.3 x86_64-pc-linux-gnu
  • CMake tool: CMake version 3.22.1
  • Compiler tool chain: gcc 11.3.0 (Ubuntu 11.3.0-1ubuntu1~22.04)
  • Documentation tool: Doxygen GUI 1.9.4 (Qt version 5.15.2)

License

Affiliation:AcmeTech
Author: Yanzhen Zhu, Yixin Gong, Zijie Chou
Maintainer:Yanzhen Zhu, 2208213223@qq.com

    The source code is released under a AGPL-3.0 License.The product has been tested under Ubuntu 20.04 and 22.04. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

About

本项目实现的是具有VCD文件信号信息统计的工具,并对其大文件解析和信号统计速度进行优化。This project implements a tool with VCD file signal information statistics, and optimizes its large file parsing and signal statistics speed.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages