zoukankan      html  css  js  c++  java
  • klayout安装及使用教程

    klayout

    版本:klayout-0.26.9

    我的系统环境:Deepin20(可以视为Debian)

    修改过的代码地址:https://github.com/stuartofmine/klayout

    注意,对源代码有所修改。主要在于解决编译错误和加快编译速度。

    需要安装的工具如下:

    C ++ :gcc,g ++和make

    Qt:libqt4-dev-bin和libqt4-dev,qt4-qmake

    Ruby:ruby和ruby-dev

    Python:python3和python3-dev

    zlib:libz-dev

    加速编译:ccache

    qmake

    进入klayout目录下,打开终端,输入

    ./build.sh -j8 -ruby /usr/bin/ruby
    

    默认调用qmake,使用-j8设置为八线程。使用-j32设置32线程运行。具体线程数根据内核数而定。注意,这里没有加-debug选项,因此不能用gdb调试。

    如果报错提示找不到qmake,输入

    sudo apt install qt4-qmake
    

    等待编译完成。

    如果提示找不到QString等库,请排查前述的依赖工具是否已安装

    编译成功

    进入 bin-release目录下

    输入,注意,由于shell版本不同,可能需要改为~/.zshrc

    vim ~/.bashrc
    

    在目录最后输入

    export LD_LIBRARY_PATH=“你的bin-release目录路径”
    

    保存并退出

    输入.注意,由于 shell 解释器不同,可能需要改为~/.zshrc

    source ~/.bashrc
    

    再输入

    ./klayout
    

    成功:)

    qtcreator

    1.在项目-Build中关闭 shadow build。在额外参数一栏,输入:

    HAVE_RUBY=1
    RUBYVERSIONCODE=20505 
    RUBYINCLUDE=/usr/include/ruby-2.5.0 
    RUBYINCLUDE2=/usr/include/x86_64-linux-gnu/ruby-2.5.0 
    RUBYLIBFILE=/usr/lib/x86_64-linux-gnu/libruby-2.5.so.2.5.0
    

    注意,所用ruby版本为ruby-2.5.0版本,其他版本对上述代码更改版本号即可。

    2.在项目-Run-运行配置中修改运行配置为klayout_main。

    在Command line arguments一栏输入

    -e
    

    -e是为了开启编辑模式,编辑DRC之类的必须开启。

    3.当QTcreator使用的qmake为qt5时,应将layMainWindow.h中的

    #include <QPrinter>
    

    改为

    #include <QtPrintSupport/QPrinter>
    

    同时,需要在lay.pro中添加

    QT += printsupport
    

    保存。

    4.假如内存不到8G,可能会被中止,使用

    sudo fallocate -l 4G /swapfile
    sudo chmod 600 /swapfile
    sudo mkswap /swapfile
    sudo swapon /swapfile
    sudo cp /etc/fstab /etc/fstab.bak
    echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
    

    来创建交换分区。

    5.关闭shadow build后,生成的动态库位于src目录下(若不关闭则生成一个build-klayout-Desktop-xxxxxxxx目录)

    与bin-release目录同样的,将src目录加入/.bashrc。注意,由于版本不同,在ubuntu服务器上应为/.zshrc

    vim ~/.bashrc
    

    在其末尾添加

    export LD_LIBRARY_PATH=“你的src目录路径”
    

    保存并退出,注意,由于 shell 解释器不同,可能需要改为~/.zshrc

    source ~/.bashrc
    

    6.如果遇到Makefile错误,提示plugins目录下无法编译完成。形如下图

    这是由于src目录下的Makefile进入plugins子项目流程时,没有清除上一次失败构建留下的Makefile,并且一共有三个Makefile需要清除。

    暂时对src目录下的Makefile不作修改,打开终端,进入src/plugins目录,输入

    rm Makefile */Makefile
    

    即可。

    如果不起作用,修改shadow build选项(开启就改为关闭,关闭就改为开启)。

    7.点击编译。耗时约十分钟。

    8.成功:)

    gdb

    需要在编译时加入 -debug 选项。操作示例:

    gdb ./klayout
    b rba.cc:134
    Make breakpoint pending on future shared library load? (y or [n]) y
    r
    

    以上代码在rba.cc的134行加入了一个断点。

    直接使用.drc编译,不开GUI

    将你需要的.drc 放在src目录下(关闭shadow build时)

    在Qt的项目->run->Command line arguments里内输入

    -x set args -d 41 -b -r ./你的drc文件 -zz
    

    这样不会开启GUI界面,但是断点调试之类与之前一致。

    使用指南(青春版)

    浏览量不小,顺便更新一下使用指南(青春版)。详询官网。
    打开klayout后,先通过左上角"file"栏下的"New Layout"新建layout,再通过"Edit"栏下的"Layer"-->"New Layer"新建layer。

    通过第二栏的各种Polygon和Box之类,在这个Layer上尽情发挥你熊熊燃烧的艺术才能。需要说明的是,一个Layout里可以有多个Layer。

    在"Tools"栏下的"DRC"--->"New DRC Script"里,编辑DRC文件并运行。

    再写下去就是各种细节了,请查询官网 klayout.de

  • 相关阅读:
    [LeetCode-JAVA] Count Complete Tree Nodes
    [LeetCode-JAVA] Shortest Palindrome
    [LeetCode-JAVA] Best Time to Buy and Sell Stock IV
    [LeetCode-JAVA] Word Ladder II
    [LeetCode-JAVA] Jump Game II
    Keil开发的ARM程序main函数之前的汇编分析
    STM32平台SD卡的FatFS文件系统开发
    STM32 Cortex-M3 NMI异常
    应对STM32 Cortex-M3 Hard Fault异常
    LwIP协议栈开发嵌入式网络的三种方法分析
  • 原文地址:https://www.cnblogs.com/BYGAO/p/14630931.html
Copyright © 2011-2022 走看看