当前位置:网站首页>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 .

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

 Insert picture description here

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
 Insert picture description here

Then compile , use CMAKE .

cd nextpnr
cmake . -DARCH=fabulous

 Insert picture description here
Re execution :

make -j$(nproc)
sudo make install

 Insert picture description here
 Insert picture description here
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)
 Insert picture description here
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

 Insert picture description here
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

 Insert picture description here

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 :
 Insert picture description here
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 :
 Insert picture description here
If you want to save the running results as log, Enter the following code :

./run_fab_flow.sh > FABulous_run1.log

 Insert picture description here
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 )

原网站

版权声明
本文为[Snow fish]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/02/202202160539547760.html