当前位置:网站首页>Efga design open source framework fabulous series (I) establishment of development environment
Efga design open source framework fabulous series (I) establishment of development environment
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, The latest published by the academic circles is used for eFPGA The open source framework designed is FABulous, Project open source .
This framework will be used in my subsequent research , Therefore, build the development environment first , The process is recorded as follows .
List of articles
One 、 Download and compile
System :Ubuntu20.04
In the directory to be stored , Open the terminal , Input :
git clone https://github.com/FPGA-Research-Manchester/FABulous
Because the project has branches , Input again
cd FABulous
git clone --branch fabulous https://github.com/FPGA-Research-Manchester/nextpnr
There are a large number of files , Wait patiently
Then compile , use CMAKE .
cd nextpnr
cmake . -DARCH=fabulous
Re execution :
make -j$(nproc)
sudo make install
Come here FABulous The development environment of the framework is compiled and built .
Two 、 Possible errors during compilation
(1)Could NOT find Boost (missing: Boost_INCLUDE_DIR filesystem program_options
iostreams system thread)
Problem analysis : The lack of Boost Caused by Library .
resolvent :
Download and install the library first , See my other blog for details : ubuntu20.04 Download and install boost, And on again FABulous/nextpnr/CMakeLists.txt
Configuration path
add to :
# for boost
set(BOOST_ROOT "/home/jc-cao/app_download_address/boost/boost_1_70_0/boost ")
set(BOOST_LIBRARYDIR "/usr/local/lib")
set(Boost_INCLUDE_DIR "/usr/local/include")
set(DBoost_DEBUG=OFF) # set ON to debug
set(BOOST_FIND_MINIMUM_COMPONENTS serialization system filesystem thread program_options date_time timer chrono regex)
find_package(Boost REQUIRED COMPONENTS ${BOOST_FIND_MINIMUM_COMPONENTS})
include_directories(${Boost_INCLUDE_DIR})
notes : The above path is mine , Modify it according to your actual path
Re execution :
cmake . -DARCH=fabulous
You can see boost The problem of missing libraries has been solved , But there are new problems . Continue to solve
(2)Could not find a package configuration file provided by “Eigen3” with any
of the following names:
Specific error information :
CMake Error at CMakeLists.txt:227 (find_package):
Could not find a package configuration file provided by "Eigen3" with any
of the following names:
Eigen3Config.cmake
eigen3-config.cmake
Add the installation prefix of "Eigen3" to CMAKE_PREFIX_PATH or set
"Eigen3_DIR" to a directory containing one of the above files. If "Eigen3"
provides a separate development package or SDK, be sure it has been
installed.
Problem analysis : The lack of Eigen3 Caused by Library .
resolvent : Just download and install
sudo apt-get install libeigen3-dev
3、 ... and 、FABulous Demo test
3.1 modify create_basic_files.sh
stay FABulous The root directory , Input
cd fabric_generator
vim create_basic_files.sh
Yes create_basic_files.sh
Make changes , Because there are grammatical errors without modification , It's ridiculous .
It is amended as follows :
cp ../fabric_files/generic/*.* ./
mkdir -p npnroutput
mkdir -p vproutput
After modification , Exit and save , Input again :
./create_basic_files.sh
- npnroutput The folder is used to store nextpnr Output file for
- vproutput Folder Used to store vpr Output file for
3.2 Python Environment building
FABulous Many scripts use python Written , There are related third-party library dependencies , And my ubuntu20.04 Installed Anconda, So I'm going to work for FABulous Create a virtual environment , Easy to manage .
Input :
conda create -n FABulous python=3.7
Then input yes Can be confirmed :
Start the virtual environment FABulous:
source activate FABulous
Installation package :
pip3 install fasm
pip3 install numpy
3.3 Demo function
stay FABulous Input in virtual environment
./run_fab_flow.sh
Output :
If you want to save the running results as log, Enter the following code :
./run_fab_flow.sh > FABulous_run1.log
The generated files and folders are shown in the red box in the above figure . among verilog_ouput
and vhdl_output
Contains the generated complete fabric Of RTL Code .
thus FABulous The development environment is set up , And also a simple test , Proof can be used to describe by entering something eFPGA Architecturally csv file , The corresponding Fabric Net watch ( Two kinds of , They use Verilog and VHDL Written )
边栏推荐
- Three software installation methods
- Final review -php learning notes 9-php session control
- Variable storage unit and pointer
- Firewall firewalld
- 手机开户股票开户安全吗?开户需要准备什么?
- Mailbox application routine of running wild fire RT thread
- Embedded test process
- Socket socket programming -- UDP
- Test enumeration types with STM32 platform running RT thread
- C language - student achievement management system
猜你喜欢
The most convenient serial port screen chip scheme designed at the charging pile in China
Final review -php learning notes 9-php session control
Thread pool - C language
Account command and account authority
Record the problem that the system file cannot be modified as an administrator during the development process
Multi whale capital: report on China's education intelligent hardware industry in 2022
Digital white paper on total cost management in chain operation industry
TC397 QSPI(CPU)
C51 minimum system board infrared remote control LED light on and off
03 - programming framework: Division of application layer, middle layer and driver layer in bare metal programming
随机推荐
Parameter calculation of deep learning convolution neural network
1、 Output debugging information: makefile file debugging information $(warning "tests" $(mkfile\u path)); makefile file path
RT thread kernel application development message queue experiment
Implementation of binary search in C language
期末複習-PHP學習筆記6-字符串處理
LabVIEW程序代码更新缓慢
SwiftUI打造一款美美哒自定义按压反馈按钮
Adjacency matrix representation of weighted undirected graph (implemented in C language)
Three software installation methods
01 - embedded learning route and career planning: embedded basic knowledge and development process
C language implementation sequence stack
Network security - packet capture and IP packet header analysis
next InitializeSecurityContext failed: Unknown error (0x80092012) - 吊销功能无法检查证书是否吊销。
Detailed methods for copying local computer files to virtual machine system
Distance from point to line
将本地电脑文件复制到虚拟机系统中详细方法
2022 Research Report on China's intelligent fiscal and tax Market: accurate positioning, integration and diversity
Cmake generate map file
Given a fixed point and a straight line, find the normal equation of the straight line passing through the point
STM32 key control LED