Giter Site home page Giter Site logo

nitram2342 / degate Goto Github PK

View Code? Open in Web Editor NEW
167.0 29.0 43.0 387.63 MB

Open source software for chip reverse engineering.

Home Page: http://www.degate.org/

License: GNU General Public License v3.0

Shell 0.22% C++ 97.95% C 0.05% CMake 0.87% Perl 0.92%
chip vlsi verilog vhdl visualization gui library image-processing image-recognition reverse-engineering

degate's People

Contributors

isage avatar johndmcmaster avatar nezza avatar nitram2342 avatar xorrhks0216 avatar xvilka avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

degate's Issues

Gate Library crashes

Clicking “Add” in the Gate Library crashes with the Message:

degate_bin: /…/degate/gui/./RenderAreaBase.h:188: virtual void RenderAreaBase::set_viewport(int, int, int, int): Assertion `min_x < max_x' failed.
Aborted

Reproduction: fond

  • current commit 0207b83
  • compile, make, run
  • new project
  • Gate -> Gate library
  • click “add”

GPLv3 or later

Please consider adding compatibility with future versions of the GPL license.

This would be done simply by adding "(or later)" in the README file, in the line that describes the licensing.

Scaling manager crashes on background image reimport

[/Users/martin/degate/lib/LogicModelHelper.cc:195] Set image to layer.
Assertion failed: (file_exists(base_directory)), function ScalingManager, file /Users/martin/degate/lib/./ScalingManager.h, line 95.
Abort trap

using GDB to debug degate

how can i include ./lib folder while debugging degate_bin.

GDB command 'list' can show function main or every source of ./gui folder. but ./lib folder is not included.

GDB command 'directory lib' does not work. plz let me know the solution.

Error in make process

What

Unsolvable error in the build process when calling make.

Output

cmake .

-- The C compiler identification is GNU 6.3.1
-- The CXX compiler identification is GNU 6.3.1
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Using compiler: /usr/bin/c++
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Checking for module 'libxml++-2.6'
--   Found libxml++-2.6, version 2.40.1
-- Found TIFF: /usr/lib64/libtiff.so (found version "4.0.7")
-- Found JPEG: /usr/lib64/libjpeg.so
CMake Warning at /usr/share/cmake-3.7/Modules/FindBoost.cmake:744 (message):
  Imported targets not available for Boost version 106300
Call Stack (most recent call first):
  /usr/share/cmake-3.7/Modules/FindBoost.cmake:848 (_Boost_COMPONENT_DEPENDENCIES)
  /usr/share/cmake-3.7/Modules/FindBoost.cmake:1435 (_Boost_MISSING_DEPENDENCIES)
  lib/CMakeLists.txt:24 (find_package)


CMake Warning at /usr/share/cmake-3.7/Modules/FindBoost.cmake:744 (message):
  Imported targets not available for Boost version 106300
Call Stack (most recent call first):
  /usr/share/cmake-3.7/Modules/FindBoost.cmake:848 (_Boost_COMPONENT_DEPENDENCIES)
  /usr/share/cmake-3.7/Modules/FindBoost.cmake:1435 (_Boost_MISSING_DEPENDENCIES)
  lib/CMakeLists.txt:24 (find_package)


CMake Warning at /usr/share/cmake-3.7/Modules/FindBoost.cmake:744 (message):
  Imported targets not available for Boost version 106300
Call Stack (most recent call first):
  /usr/share/cmake-3.7/Modules/FindBoost.cmake:848 (_Boost_COMPONENT_DEPENDENCIES)
  /usr/share/cmake-3.7/Modules/FindBoost.cmake:1435 (_Boost_MISSING_DEPENDENCIES)
  lib/CMakeLists.txt:24 (find_package)


-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Boost version: 1.63.0
-- Found the following Boost libraries:
--   filesystem
--   system
--   thread
-- Checking for module 'libzip'
--   Found libzip, version 1.1.3
-- Check if the system is big endian
-- Searching 16 bit integer
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of unsigned short
-- Check size of unsigned short - done
-- Using unsigned short
-- Check if the system is big endian - little endian
-- Checking for module 'cppunit'
--   Found cppunit, version 1.13.2
CMake Warning at /usr/share/cmake-3.7/Modules/FindBoost.cmake:744 (message):
  Imported targets not available for Boost version 106300
Call Stack (most recent call first):
  /usr/share/cmake-3.7/Modules/FindBoost.cmake:848 (_Boost_COMPONENT_DEPENDENCIES)
  /usr/share/cmake-3.7/Modules/FindBoost.cmake:1435 (_Boost_MISSING_DEPENDENCIES)
  libtest/CMakeLists.txt:18 (find_package)


-- Boost version: 1.63.0
-- Found the following Boost libraries:
--   system
CMake Warning at /usr/share/cmake-3.7/Modules/FindBoost.cmake:744 (message):
  Imported targets not available for Boost version 106300
Call Stack (most recent call first):
  /usr/share/cmake-3.7/Modules/FindBoost.cmake:848 (_Boost_COMPONENT_DEPENDENCIES)
  /usr/share/cmake-3.7/Modules/FindBoost.cmake:1435 (_Boost_MISSING_DEPENDENCIES)
  tools/gate_lib_documentation/CMakeLists.txt:7 (find_package)


-- Boost version: 1.63.0
-- Found the following Boost libraries:
--   program_options
CMake Warning at /usr/share/cmake-3.7/Modules/FindBoost.cmake:744 (message):
  Imported targets not available for Boost version 106300
Call Stack (most recent call first):
  /usr/share/cmake-3.7/Modules/FindBoost.cmake:848 (_Boost_COMPONENT_DEPENDENCIES)
  /usr/share/cmake-3.7/Modules/FindBoost.cmake:1435 (_Boost_MISSING_DEPENDENCIES)
  tools/determine_module_ports/CMakeLists.txt:7 (find_package)


-- Boost version: 1.63.0
-- Found the following Boost libraries:
--   program_options
CMake Warning at /usr/share/cmake-3.7/Modules/FindBoost.cmake:744 (message):
  Imported targets not available for Boost version 106300
Call Stack (most recent call first):
  /usr/share/cmake-3.7/Modules/FindBoost.cmake:848 (_Boost_COMPONENT_DEPENDENCIES)
  /usr/share/cmake-3.7/Modules/FindBoost.cmake:1435 (_Boost_MISSING_DEPENDENCIES)
  tools/export_module/CMakeLists.txt:7 (find_package)


-- Boost version: 1.63.0
-- Found the following Boost libraries:
--   program_options
-- Checking for module 'sigc++-2.0'
--   Found sigc++-2.0, version 2.10.0
CMake Warning (dev) at gui/CMakeLists.txt:15 (link_directories):
  This command specifies the relative path

    sigc-2.0

  as a link directory.

  Policy CMP0015 is not set: link_directories() treats paths relative to the
  source dir.  Run "cmake --help-policy CMP0015" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Checking for module 'gtkmm-2.4'
--   Found gtkmm-2.4, version 2.24.4
-- Checking for module 'gthread-2.0'
--   Found gthread-2.0, version 2.50.2
-- Checking for module 'glibmm-2.4'
--   Found glibmm-2.4, version 2.50.0
-- Checking for module 'libglademm-2.4'
--   Found libglademm-2.4, version 2.6.7
-- Checking for module 'gtkglextmm-1.2'
--   Found gtkglextmm-1.2, version 1.2.0
-- Found Freetype: /usr/lib64/libfreetype.so (found version "2.7.1")
-- /usr/include/freetype2
CMake Warning at /usr/share/cmake-3.7/Modules/FindBoost.cmake:744 (message):
  Imported targets not available for Boost version 106300
Call Stack (most recent call first):
  /usr/share/cmake-3.7/Modules/FindBoost.cmake:848 (_Boost_COMPONENT_DEPENDENCIES)
  /usr/share/cmake-3.7/Modules/FindBoost.cmake:1435 (_Boost_MISSING_DEPENDENCIES)
  gui/CMakeLists.txt:59 (find_package)


CMake Warning at /usr/share/cmake-3.7/Modules/FindBoost.cmake:744 (message):
  Imported targets not available for Boost version 106300
Call Stack (most recent call first):
  /usr/share/cmake-3.7/Modules/FindBoost.cmake:848 (_Boost_COMPONENT_DEPENDENCIES)
  /usr/share/cmake-3.7/Modules/FindBoost.cmake:1435 (_Boost_MISSING_DEPENDENCIES)
  gui/CMakeLists.txt:59 (find_package)


-- Boost version: 1.63.0
-- Found the following Boost libraries:
--   system
--   date_time
-- Configuring done
-- Generating done
-- Build files have been written to: /home/marble/git-repos/degate

make

....
[ 53%] Linking CXX executable libdegate_test
cd /home/marble/git-repos/degate/libtest && /usr/bin/cmake -E cmake_link_script CMakeFiles/libdegate_test.dir/link.txt --verbose=1
/usr/bin/c++      CMakeFiles/libdegate_test.dir/FileSystemTest.cc.o CMakeFiles/libdegate_test.dir/ImageTest.cc.o CMakeFiles/libdegate_test.dir/MemoryMapTest.cc.o CMakeFiles/libdegate_test.dir/ProjectImporterTest.cc.o CMakeFiles/libdegate_test.dir/LogicModelImporterTest.cc.o CMakeFiles/libdegate_test.dir/GateLibraryImporterTest.cc.o CMakeFiles/libdegate_test.dir/QuadTreeTest.cc.o CMakeFiles/libdegate_test.dir/LMOinQTreeTest.cc.o CMakeFiles/libdegate_test.dir/LogicModelTest.cc.o CMakeFiles/libdegate_test.dir/GateLibraryExporterTest.cc.o CMakeFiles/libdegate_test.dir/LogicModelExporterTest.cc.o CMakeFiles/libdegate_test.dir/ProjectExporterTest.cc.o CMakeFiles/libdegate_test.dir/LogicModelDOTExporterTest.cc.o CMakeFiles/libdegate_test.dir/ScalingManagerTest.cc.o CMakeFiles/libdegate_test.dir/LookupSubcircuitTest.cc.o CMakeFiles/libdegate_test.dir/main.cc.o  -o libdegate_test -Wl,-rpath,/home/marble/git-repos/degate/lib -rdynamic -lcppunit -lboost_system ../lib/libdegate.so -lrt -lxml++-2.6 -lxml2 -lglibmm-2.4 -lgobject-2.0 -lglib-2.0 -lsigc-2.0 -ltiff -ljpeg -lboost_filesystem -lboost_system -lboost_thread -lxmlrpc_client++ -lxmlrpc_client -lxmlrpc++ -lxmlrpc_util++ -lxmlrpc -lxml2 -lz -llzma -lm -ldl -lxmlrpc_util -lpthread -lcurl -lxmlrpc_packetsocket -lzip -lz
../lib/libdegate.so: undefined reference to `xmlrpc_c::value_string::operator std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >[abi:cxx11]() const'
collect2: error: ld returned 1 exit status
make[2]: *** [libtest/CMakeFiles/libdegate_test.dir/build.make:509: libtest/libdegate_test] Error 1
make[2]: Leaving directory '/home/marble/git-repos/degate'
make[1]: *** [CMakeFiles/Makefile2:177: libtest/CMakeFiles/libdegate_test.dir/all] Error 2
make[1]: Leaving directory '/home/marble/git-repos/degate'
make: *** [Makefile:131: all] Error 2

build with ubuntu16.04

ubuntu 16.04 requires this patch because of location of the libraries.
this patch fixes it for ubuntu

vagrant@vagrant-ubuntu-trusty-64:~/degate$ git diff
diff --git a/gui/OpenGLRendererBase.cc b/gui/OpenGLRendererBase.cc
index f1b141e..13adcc9 100644
--- a/gui/OpenGLRendererBase.cc
+++ b/gui/OpenGLRendererBase.cc
@@ -27,10 +27,10 @@
 #include <GL/glu.h>

 #include <ft2build.h>
-#include <freetype/freetype.h>
-#include <freetype/ftglyph.h>
-#include <freetype/ftoutln.h>
-#include <freetype/fttrigon.h>
+#include <freetype2/freetype.h>
+#include <freetype2/ftglyph.h>
+#include <freetype2/ftoutln.h>
+#include <freetype2/fttrigon.h>

 #include <boost/foreach.hpp>
 #include <iostream>

compile error

/home/mowgli/바탕화면/degate/lib/FileSystem.cc:88:10: error: ‘canonical’ is not a member of ‘boost::filesystem’
/home/mowgli/바탕화면/degate/lib/FileSystem.cc: In function ‘boost::filesystem3::path naive_uncomplete(boost::filesystem3::path, boost::filesystem3::path)’:
/home/mowgli/바탕화면/degate/lib/FileSystem.cc:179:5: error: ‘canonical’ is not a member of ‘boost::filesystem’
/home/mowgli/바탕화면/degate/lib/FileSystem.cc:180:5: error: ‘canonical’ is not a member of ‘boost::filesystem’
/home/mowgli/바탕화면/degate/lib/FileSystem.cc: In function ‘std::string degate::get_realpath(const string&)’:
/home/mowgli/바탕화면/degate/lib/FileSystem.cc:89:1: warning: control reaches end of non-void function [-Wreturn-type]

Help with design of low-level HDL language

Chips engineering (and eventually reverse engineering) world suffers a lot from fragmentation - some tools produce Verilog, some VHDL, some - only subsets of them, creating low-level LLVM-like alternative will help everyone, so HDL implementations will opt only for generating this low-level HDL and routing/synthesizers accept it. LLVM or WebAssembly - you can see how many languages and targets are supported now by both. With more open source tools for FPGA this is more feasible now than ever. Most of the people suggest to adapt FIRRTL for this. There is a good paper on FIRRTL design and its reusability across different tools and frameworks. If you are familiar with binary analysis tools like rev.ng or retdec, you can see they are based on the uplifting the native code to LLVM code and applying optimization passes to make the output graph much more readable. I believe similar approach can be used for VLSI reverse engineering too. Please consider this option. So if you have any feedback - you are welcome to leave the comment in the corresponding thread.

See f4pga/ideas#19

New release

Since there were many improvements since the last one it make sense to carve a new one.

warning: std::auto_ptr is deprecated

Hello!

Just for information.

Under Linux, gcc 5.4.0 reports:
warning: ‘template class std::auto_ptr’ is deprecated [-Wdeprecated-declarations]

Thank you!

  • Alex

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.