1、部署OpenROAD

直接参考这个,很全面,这个是部署OpenROAD-flow-scripts,其中包含了“使用OpenROAD构建蜂鸟E203处理器核GDS”的流程。下面就我碰到的问题,做几点补充。

基于Ubuntu20.04部署OpenROAD,使用OpenROAD构建蜂鸟E203处理器核GDS_ubuntu20.04 openroad-CSDN博客

1.1 别用WSL,会报错。

可能是图形化的包不同,无法通过检测,这个软件又换不过来。

1.2注意依赖项版本

当时照着这个上面的博客弄,一直报错,后来去github的readme中看到对于依赖项的版本会有一些要求,但是用pip install默认下载的版本不够新。还是手动下载安装的。
好像是boost包,后来使用的是boost_1_80_0版本。

1.3直接部署OpenROAD

如果只想调试OpenROAD,可以只部署OpenROAD。在安装好前述的依赖包的情况下,进一步流程如下:

参考: 公开课现代CMake模块化项目管理指南【C/C++】_哔哩哔哩_bilibili

下载源码:

git clone https://github.com/The-OpenROAD-Project/OpenROAD.git --depth=1

源码build:

cd OpenROAD

cmake -B build -DCMAKE_BUILD_TYPE=Debug

这里要注意CMAKE_BUILD_TYPE=Debug时,才能够进行调试

接着

cmake --build build --parallel 8

到这里,就完成了部署,可执行文件在

./build/src/openroad

2、配置vscode

参考:Linux环境下使用VScode调试CMake工程 - 知乎

在.vscode目录下创建2个文件,launch.josn和task.josn。

task.josn用于创建build任务,内容如下:

{
    "version": "2.0.0",
    "tasks": [
        {
            "label": "cmake1",
            "type": "shell",
            "command": "cmake",
            "args": [
                "-B build",
                //生成带有调试信息的构建配置
                "-DCMAKE_BUILD_TYPE=Debug"
            ],
            "options": {
                "cwd": "/home/wjh/Desktop/GitHubTest_newdisk/My-OpenROAD-test/OpenROAD"
            },            
        },
        {
            "label": "cmake2",
            "type": "shell",
            "command": "cmake",
            "args": [
                "--build", "build", "--parallel", "8"
            ],
            "options": {
                "cwd": "/home/wjh/Desktop/GitHubTest_newdisk/My-OpenROAD-test/OpenROAD"
            }, 
        },
        {
            "label": "build",
            "dependsOn":["cmake1", "cmake2"]
        },
    ],
}

launch.josn用于调试,内容如下:

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "g++ - Build and debug active file",
            "type": "cppdbg",
            "request": "launch",
            "program": "/home/wjh/Desktop/GitHubTest_newdisk/My-OpenROAD-test/OpenROAD/build/src/openroad",
            "args": [],
            "stopAtEntry": false,
            "cwd": "/home/wjh/Desktop/GitHubTest_newdisk/My-OpenROAD-test/OpenROAD/src",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "build",
            "miDebuggerPath": "/usr/bin/gdb"
        }
    ]
}

其中,program参数要设置为生成的可执行文件的路径

cwd也要注意

preLuanchTask的内容就是在task.josn中设置的build任务

4、开始调试

用vscode打开OpenROAD/src/Main.cc,也可以是其他的源文件

打上断点,按F5进行调试

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐