tree: ccd891355da86a40a7e59d2cb17acad6f86704eb [path history] [tgz]
  1. API/
  2. Cache/
  3. CommandLine/
  4. Common/
  5. Config/
  6. Design/
  7. DesignCompile/
  8. ErrorReporting/
  9. Expression/
  10. Library/
  11. Package/
  12. parser/
  13. SourceCompile/
  14. Testbench/
  15. Utils/
  16. main.cpp
  17. README.md
src/README.md

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

SURELOG project

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Executable: surelog

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Dependancies Install

Please see INSTALL

Build

cd Surelog make

Run a test

  • dist/Release/GNU-Linux/surelog -help
  • dist/Release/GNU-Linux/surelog -writepp -parse tests/UnitTest/top.v

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Modus operanti for grammar development:

  • Edit the grammar file in the G4 directory, test the grammar locally with the java targets:
    • cd Surelog/grammar; ant compile_java; ant javac; ant test_pp_tokens

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

TESTS and REGRESSIONS

The following regression script will run all tests under tests and third_party/tests:

  • cd build
  • ../tests/regression.tcl

Regression options:

  • regression.tcl help
  • regression.tcl tests= (Tests matching regular expression)
    • test= (Just that test)
    • debug=<none, valgrind, ddd>
    • build=<debug, release>
    • mt= (Number of threads per process - regression runs 1 process at a time)
    • large (large tests too)
    • show_diff (Shows text diff)
  • regression.tcl update (Updates the diffs)

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

RELEASES

  • cd build

  • ../src/release.tcl <release, debug> Releases the following:

    • Created dist/surelog_release.tar.gz

Run this script at least once to create symbolic links for the Python Listener

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

PROFILING

  • Either

    • env CPUPROFILE=./prof env LD_PRELOAD=“/usr/lib/libprofiler.so” ../../dist/Debug/GNU-Linux/surelog
  • Or

    • google-pprof --callgrind ../../dist/Debug/GNU-Linux/surelog prof >> call
    • kcachegrind call
  • Get Google tools:

    • sudo apt-get install google-perftools graphviz
    • sudo apt-get install libgoogle-perftools-dev
    • sudo apt-get install gperftools

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

SOURCE FORMATTING

clang-format -i -style=Google -sort-includes=false

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Useful links:

http://ecee.colorado.edu/~mathys/ecen2350/IntelSoftware/pdf/IEEE_Std1800-2017_8299595.pdf https://google.github.io/flatbuffers/flatbuffers_guide_use_cpp.html https://www.csee.umbc.edu/portal/help/VHDL/verilog/command_line_plus_options.html http://sven.xtreme-eda.com/ https://www.edaplayground.com/

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++