当前位置:网站首页>Efga design open source framework openlane series (I) development environment construction
Efga design open source framework openlane series (I) development environment construction
2022-06-30 07:34:00 【Snow fish】
I am a snowy fish , a FPGA lovers , The research direction is FPGA Architecture exploration .
Notes sync in my Personal website updated , Welcome to check .
At present, we are studying eFPGA, At present, the academic community has recently published a new report on RTL TO GDSII Flow Open source framework of OpenLane
This framework will be used in my subsequent research , Therefore, build the development environment first , The process is recorded as follows .
| Version | Date |
|---|---|
| V1.0 | 2022.1.30 |
List of articles
One 、 Code download and compile
System :ubuntu20.04
1.1 rely on
- Docker 19.03.12+
- GNU Make
- Python 3.6+ with PIP
- Click, Pyyaml:
(1)Docker Please refer to my previous blog for the installation of OpenFPGA series ( One ) Development environment construction 2.1 section
(2)GNU Make There are many installation tutorials , Self search
(3)Python Recommended download Anaconda, Facilitate the subsequent establishment of a virtual environment for management , Please refer to my previous blog PyTorch In depth learning notes ( One )PyTorch Environment configuration and installation 1.1 section
(4) stay (3) After step , Open the terminal , Enter the following command :
conda create -n openlane python=3.7
source activate openlane
pip install pyyaml
pip install click
Create a be known as openlane python Version is 3.7 Virtual environment for , And activate the environment installation python package .( Because I have created a file named FABulous Virtual environment for , So I will operate in this virtual environment )
1.2 The code download
notes : After full compilation , The required space is 37.4GB, Check whether the storage space is sufficient in advance .
In the storage directory , Open the terminal , Input :
git clone https://github.com/The-OpenROAD-Project/OpenLane.git

After downloading, enter :
cd OpenLane
make pull-openlane

If the following error is reported :
docker: Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers).
Just modify docker Mirror source ,docker The default source is foreign official source , Slow download , It can be changed to domestic , Accelerate . Replace Docker Mirror source reference blog
FULL_PDK=1 make pdk
obtain SkyWater130nm Open source PDK, Here I choose to download the complete PDK, Save to by default OpenLane/pdks/skywater-pdk Under the path
The problems encountered in this process :
ConfigurationLoadError: Unable to load configuration file.
path: /home/jc-cao/Disk_sda3/Fudan_FPGA/OpenLane/pdks/skywater-pdk/env/conda/.condarc
reason: invalid yaml at line 3, column 0

The reason for the error : Because the current virtual environment is FABulous, Has its own configuration file , So it's impossible to put OpenLane/pdks/skywater-pdk/env/conda/.condarc Load as configuration file .
resolvent : Delete OpenLane/pdks/skywater-pdk/env/conda/.condarc, Reenter the command make pdk
Come here OpenLane The development environment is compiled and built .
* notes :
(1) perform make pdk Other problems encountered in the process , You can view section 2 make pdk Resolve by parsing , No more details here .
(2) My virtual machine always gets stuck downloading packages , Thought it was a ladder problem , Later, I checked and found that it was not , But because of the wired connection , Instead of WIFI After that, we can .
*
1.3 test
And then in openlane Root directory , Activate the virtual environment first , My name is FABulous, namely source activate FABulous, Input again make test Start testing :



You can see that the test passed , No problem with compilation !
This framework will be used later to do some RTL to GDS Flow Test of
Two 、make full-pdk analysis
2.1 pdk.mk analysis
notes ;2022 year 1 month 29 Number OpenLane There was an update , at present pdk The environment building instructions are
make pdk, Through the variable FULL_PDK
To set whether to get the complete PDK. The following error records and solutions are applicable to previous versions , For reference only .
full-pdk It's a fake target , stay OpenLane/dependencies/pdk.mk In the definition of :
Including five sub pseudo targets , Check and analyze one by one :
- skywater-pdk

- all-skywater-libraries

- open_pdks

- build-pdk

What I am compiling is , Stuck in the 90 That's ok :
It's because of my docker need root Permission to run , Then let it run withsudoYou can solve the problem ,ENV_COMMANDVariable inOpenLane/MakefileThe first 76 Line definition :
Then add sudo Just go :
Re inputmake full-pdktest , You can see sudo After that, you can continue to compile normally
2.2 What if it gets stuck ?
I pdk.mk Of 105 That's ok , Compile target gen-sources Get stuck 
At this time, in order to avoid repeating the target compiled before compilation , Will directly gen-sources The command corresponding to the target is copied to a separate file , And will gen-sources Renamed as gen-sourcestwo:
(1) Assign values to variables
(2) take gen-sourcestwo Set as pseudo target
Name this file pdk2.mk, Put it in openlane Under the root directory of , Then input
make -f pkd2.mk

source file :
边栏推荐
- C language implementation of chain stack (without leading node)
- TC397 QSPI(CPU)
- 手机开户股票开户安全吗?开户需要准备什么?
- Mailbox application routine of running wild fire RT thread
- Digital tube EEPROM key to save value
- Stepper motor
- Xiashuo think tank: 42 reports on planet update today (including 23 planning cases)
- Adjacency matrix representation of weighted undirected graph (implemented in C language)
- Ad\dxp how to solve the problem of not knowing the schematic Library
- Network security and data in 2021: collection of new compliance review articles (215 pages)
猜你喜欢

Basic knowledge of compiling learning records

Wangbohua: development situation and challenges of photovoltaic industry

C51 minimum system board infrared remote control LED light on and off

Commands and permissions for directories and files

Final review -php learning notes 8-mysql database

C language implementation of chain stack (without leading node)

Implementation of double linked list in C language

Cross compile opencv3.4 download cross compile tool chain and compile (3)

C language implements sequential queue, circular queue and chain queue

Adjacency matrix representation of weighted undirected graph (implemented in C language)
随机推荐
C language implements sequential queue, circular queue and chain queue
Ad usage notes
SwiftUI打造一款美美哒自定义按压反馈按钮
Cypress nor flash driver - s29glxxxs
Variable storage unit and pointer
TC397 QSPI(CPU)
Socket socket programming -- UDP
24C02
期末复习-PHP学习笔记9-PHP会话控制
MCU essay
Detailed methods for copying local computer files to virtual machine system
STM32 control LED lamp
4diac getting started example
Processes, jobs, and services
Implementation of double linked list in C language
Halcon: read the camera and binary it
网络安全-抓包和IP包头分析
Graphic explanation pads update PCB design basic operation
期末复习-PHP学习笔记8-mysql数据库
LabVIEW program code update is slow