Coder Social home page Coder Social logo

trilomix / gds3d Goto Github PK

View Code? Open in Web Editor NEW
188.0 7.0 29.0 4.41 MB

GDS3D is an application that can interpret so called IC layouts and render them in 3D. The program accepts standard GDSII files as input data. Along with the layout file, it requires a so called process definition file which contains the 3D parameters of the process being used. These files combined allow the program to create a 3D representation of the layout, where the user has full, real time control over the camera position and angle, much like in a 3D video game. An other repo (https://github.com/skuep/GDS3D) as the same source and add few improvement like compression with server/client process. This release add two major feature with are assembly and export 3D model for GMSH. Assembly: this mean it’s possible to merge multi GDS (with different technologies) I also try to improve net highlight.

License: GNU General Public License v2.0

Shell 0.01% Batchfile 0.01% C++ 64.72% C 30.66% Makefile 0.65% Objective-C++ 1.14% CMake 0.05% POV-Ray SDL 0.69% Perl 0.50% Gnuplot 0.03% Roff 0.59% Rich Text Format 0.96%
gdsii integrated-circuits asic fem mesh 3d-models eda

gds3d's People

Contributors

diadatp avatar icdut24 avatar kazutomo avatar keno avatar mattvenn avatar osnr avatar trilomix 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

gds3d's Issues

layer 255 is not substrate in my design

not sure what to suggest as an alternative, but layer 255 is a design-utilized layer, and thus the assumption of it being "substrate" does not hold true always.

techfile bypass/defaults

It would be nice to have an option to bypass the techfile requirement.... i.e. just choose a GDS file and then show all layers, allowing the layer choosing GUI window to deselect as needed. Or a way to specify which GDS layers to draw, but auto-choose the colors. My reason is that I have too many PDKs (many are also in active development) that I am learning about, and as a "newb" converting the techfiles is a major enough hurdle when I'm really just wanting a quick 3D view to get an overview of a cell's architecture.

a detailed examples on assembly on different technologies please

A very useful software - great job!

I am very interested in knowing more on assembly between the different technology but not quite understand the example provided in the assembly folder.

Could you please some more detailed example for assembling different technologies?
Particularly how to assembly two gds drawings with the alignment marks to aligned.

Many thanks in advance!

Best

Gary

Compilation failed with clang-16: error: reference to 'byte' is ambiguous

In file included from main.cpp:29:
In file included from ./main.h:24:
In file included from ./../gdsoglviewer/windowmanager.h:29:
../libgdsto3d/gds_globals.h:119:2: error: reference to 'byte' is ambiguous
        byte RecordType;
        ^
../libgdsto3d/gds_globals.h:115:23: note: candidate found by name lookup is 'byte'
typedef unsigned char byte;
                      ^
/usr/include/c++/v1/cstddef:72:12: note: candidate found by name lookup is 'std::byte'
enum class byte : unsigned char {};
           ^
In file included from main.cpp:29:
In file included from ./main.h:24:
In file included from ./../gdsoglviewer/windowmanager.h:29:
../libgdsto3d/gds_globals.h:120:2: error: reference to 'byte' is ambiguous
        byte DataType;
        ^
../libgdsto3d/gds_globals.h:115:23: note: candidate found by name lookup is 'byte'
typedef unsigned char byte;
                      ^
/usr/include/c++/v1/cstddef:72:12: note: candidate found by name lookup is 'std::byte'
enum class byte : unsigned char {};
           ^
In file included from main.cpp:29:
In file included from ./main.h:24:
In file included from ./../gdsoglviewer/windowmanager.h:29:
../libgdsto3d/gds_globals.h:121:2: error: reference to 'byte' is ambiguous
        byte *Data;
        ^
../libgdsto3d/gds_globals.h:115:23: note: candidate found by name lookup is 'byte'
typedef unsigned char byte;
                      ^
/usr/include/c++/v1/cstddef:72:12: note: candidate found by name lookup is 'std::byte'
enum class byte : unsigned char {};
           ^

Revision: 173da0c
FreeBSD 13.2

Viewer does not start sometimes

Hello,
thanks for your effort to continue development on this useful tool. I tried using your version, since the latest version 1.8 has an issue with mirror-rotated cells which are displayed "hollow". It seems you fixed this bug or at least it does not occur here anymore.

However, when I try to start the viewer it sometimes (maybe 25% of the time) does not open a window and just ends after printing 'Picking "..." as topcell.' I do not have this issue with version 1.8, which always starts.

Have you encountered this problem before or do you have an idea how to fix it? Unfortunatly, I am not allowed to send you my files for testing.

Change background color

Is there any way to change the black background color? I would like to use white background for nice screenshots for documentation.

Not able to load shared library

I am on Ubuntu 22.04 LTS...when I am trying to run the command
linux/GDS3D -p techfiles/skywater130.txt -i gds/spm.gds
from the GDS root directory.

But I end up getting the following error,
linux/GDS3D: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory
even though I installed all the packages and was able to locate libGL.so.1 executable at "/usr/lib/x86_64-linux-gnu"

Even on trying to build from source I get some error which goes like - reference to byte is ambiguous

Any help would be greatly appreciated.
PS - I am a newbie to linux...so sorry if my question is silly.

PAD & RDL viewer

in the current version, RLD layer and PAD is not rendering in the 3D view. I tried changing the techfile , still it didn't render.

Any help is appreciated.

error: assigning to 'size_t' (aka 'unsigned long') from incompatible type 'nullptr_t'

clang-11 complains:

../libgdsto3d/gdspolygon.cpp:1574:21: error: assigning to 'size_t' (aka 'unsigned long') from incompatible type 'nullptr_t'
        _FrameStartIndex = NULL;
                           ^~~~
/usr/include/sys/_null.h:37:14: note: expanded from macro 'NULL'
#define NULL    nullptr
                ^~~~~~~
../libgdsto3d/gdspolygon.cpp:1575:23: error: assigning to 'size_t' (aka 'unsigned long') from incompatible type 'nullptr_t'
        _FrameCurrentIndex = NULL;
                             ^~~~
/usr/include/sys/_null.h:37:14: note: expanded from macro 'NULL'
#define NULL    nullptr
                ^~~~~~~
../libgdsto3d/gdspolygon.cpp:1578:27: error: assigning to 'size_t' (aka 'unsigned long') from incompatible type 'nullptr_t'
        poly->_FrameStartIndex = NULL;
                                 ^~~~
/usr/include/sys/_null.h:37:14: note: expanded from macro 'NULL'
#define NULL    nullptr
                ^~~~~~~
../libgdsto3d/gdspolygon.cpp:1579:29: error: assigning to 'size_t' (aka 'unsigned long') from incompatible type 'nullptr_t'
        poly->_FrameCurrentIndex = NULL;
                                   ^~~~
/usr/include/sys/_null.h:37:14: note: expanded from macro 'NULL'
#define NULL    nullptr
                ^~~~~~~

Index can't be assigned to NULL.

FreeBSD 13

Skill code refers to incorrect readme file. README.txt rather than README.md

The Skill file "GDS3D/skill/icdGDS3D.il" Looks for a file called "README.txt". This should be "README.md"
I edited the skill code to point at the correct file, and then it worked fine.

Before I fixed the problem, I got the following error message in the CIW when I selected Layout->GDS3D:

icdWriteGDS3D()
Error: could not copy GDS3D readme to ~/GDS3D/

process.txt

Hello, what is the process.txt means? i got a GDSII file output by openlane, but i can't run gds3d because i don't have process.txt, thanks

Does not use layer purposes

Many technologies use a layer, purpose pair for the GDS layers. In sky130 for example the layer 66 can be either poly (purpose 20) or contact (purpose 44). Without the purposes, you would need to stream in/out to new layers.

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.