当前位置:网站首页>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 :
边栏推荐
猜你喜欢

Pool de Threads - langage C

Three software installation methods

Dynamic memory management

Installation software operation manual (continuous update)

Halcon: read the camera and binary it

Stm32g0 Tim interrupt use

線程池——C語言

Basic knowledge points

Introduction to ecostruxure (1) IEC61499 new scheme

2022 Research Report on China's intelligent fiscal and tax Market: accurate positioning, integration and diversity
随机推荐
C language implementation of chain stack (without leading node)
ADC basic concepts
Cubemx completes STM32F103 dual serial port 485 transceiver transmission
Parameter calculation of deep learning convolution neural network
Network security - routing principle
Examen final - notes d'apprentissage PHP 6 - traitement des chaînes
Final review -php learning notes 6- string processing
Thread pool - C language
线程池——C语言
TC397 QSPI(CPU)
Permutation and combination of probability
期末複習-PHP學習筆記3-PHP流程控制語句
Program acceleration
1.someip introduction
Basic operation command
Analysys analysis: online audio content consumption market analysis 2022
Variable storage unit and pointer
01 - embedded learning route and career planning: embedded basic knowledge and development process
Raspberry pie 4B Getting Started Guide
Installation software operation manual (continuous update)