高性能RTL仿真器ESEENT专题1:安装

ESSENT是最近提出的一种高性能开源RTL仿真器,本节开始详细介绍ESEENT,首先介绍下开源工具的使用,我们使用的环境是ubuntu20。

源代码

git clone https://github.com/ucsc-vama/essent.git

java安装

sudo apt install openjdk-11-jdk

scala安装

下载

wget https://downloads.lightbend.com/scala/2.12.6/scala-2.12.6.tgz

解压

sudo tar -xzvf scala-2.12.6.tgz -C /usr/local/share 

/etc/profile中添加

export PATH="$PATH:/usr/local/share/scala-2.12.6/bin"

source生效:

source /etc/profile

sbt安装

echo "deb https://repo.scala-sbt.org/scalasbt/debian all main" | sudo tee /etc/apt/sources.list.d/sbt.list
echo "deb https://repo.scala-sbt.org/scalasbt/debian /" | sudo tee /etc/apt/sources.list.d/sbt_old.list
curl -sL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x2EE0EA64E40A89B84B2DF73499E82A75642AC823" | sudo apt-key add
sudo apt-get update
sudo apt-get install sbt

执行

sbt sbtVersion

查看版本。

编译打包

sbt package
sbt assembly

可能需要花费几分钟的时间,耐心等待,编译打包成功后,会发现utils/bin文件夹下会生成essent.jar的jar包,此时执行utils/bin文件夹下的ensent脚本可以检测是否成功:

 ./essent --help

正常结果:

Usage: essent [options] <file>

  <file>                   .fir input file
  -O0, --O0                disable all optimizations
  -O1, --O1                enable only optimizations without conditionals
  -O2, --O2                enable conditional evaluation of mux inputs
  -O3, --O3                enable all optimizations (default)
  --dump                   dump low-firrtl prior to essent executing
  -h, --harness            generate harness for Verilator debug API
  -ell, --essent-log-level <Error|Warn|Info|Debug|Trace>
                           logging level for essent processing after firrtl
  -fll, --firrtl-log-level <Error|Warn|Info|Debug|Trace>
                           logging level for firrtl preprocessing
  --help                   prints this usage text
  --activity-signal        track individual signal activities
  --activity-parts         print out partition activity stats
  --activity-exts          track individual signal extinguishes (with activities)
  --stats-parts            output topo information from partitioning
  --part-cutoff <value>    parameter used for partitioning

好了,本节只介绍下如何安装工具,后面会继续介绍如何使用。


版权声明:本文为fangfanglovezhou原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。