-
Users can flexibly select high-performance instances (DPDK) or general-purpose instances (opencl) based on their acceleration types.
-
Each user can apply for one, two, four, or eight VU9P FPGA acceleration cards.
-
Interfaces available for FPGA acceleration card users are as follows:
One PCIe Gen3 x16
interfaceFour DDR4
RDIMM interfaces
-
PCIe features are as follows:
- High-performance instances:
One physical function (PF)
One virtual function (VF)
Eight
queues for each VF
- Common instances:
Two PFs
- High-performance instances:
-
Interface features between user logic and static logic are as follows:
- High-performance instances:
- The DMA data channel from static logic to user logic uses the AXI4-Stream interface with a bit width of
512 bits
. - The DMA data channel from user logic to static logic uses the AXI4-Stream interface with a bit width of
512 bits
. - The DMA buffer description (BD) channel from static logic to user logic uses the AXI4-Stream interface with a bit width of
256 bits
. - The DMA BD channel from user logic to static logic uses the AXI4-Stream interface with a bit width of
256 bits
. - The register access and BAR space mapping use the AXI4-Lite interface a bit width of
32 bits
. - DDRs use the AXI4 interface with a bit width of
512 bits
.
- The DMA data channel from static logic to user logic uses the AXI4-Stream interface with a bit width of
- Common instances:
- The data channel from user logic to static logic uses the AXI4-MM interface with a bit width of
512 bits
. - The control channel from user logic to static logic uses the AXI4-Lite interface with a bit width of
512 bits
.
- The data channel from user logic to static logic uses the AXI4-MM interface with a bit width of
- High-performance instances:
-
The DDR interface partition is as follows:
- One DDR controller is placed in the static logic partition.
- Three DDR controllers are placed in the user logic partition.
- A maximum of four DDR controllers can be used.
- Added the PR check function to DPDK and OCL.
- Optimized the OCL script.
- Optimized the document.
- Supported the 1:N multi-card scenario.
- Supported the SDAccel 2017.4 development suite
- Supported coexistence of multiple shell versions.
- Supported user APP single-write, single-read, and loopback access to the DDR connected to an FPGA in the DPDK scenario.
- Optimized simulation in the DPDK scenario to support single-write, single-read, and loopback emulation modes.
- Optimized the document.
- Added the XVC feature.
- Supported the 1:N multi-card scenario.
- Optimized the document.
- Optimized the document.
- Optimized the AEI registration mode.
- Optimize the -vivado simulation platform.
- Optimized the xdma driver of SDAccel.
- Optimized the document and added the User_Development_Guide_for_an_FACS document.
- Resolved security vulnerabilities in the opencl code.
- Optimized the example3 src code.
- Optimized the dpdk src code.
- Optimized the document with more than 100 experience problems of various documents incorporated.
- Optimized the setup.sh script to resolve the problem that the file coverage is abnormal.
- Fixed the bugs in the pmd code. -Modified perf.cpp, datamover.h, and shim.cpp for code scanning.
- Optimized the dpdk compilation script: The build_dpdk.sh and build_dpdk_app.sh scripts are modified. When an error occurs, the error description is displayed and the error code is returned. After the command is executed successfully, the system displays a message indicating that the operation is successful.
- This is the first public version of the Huawei Cloud FPGA de#stance. For details about its functions, see FPGA De#stance Feature Overview and FPGA De#stance Feature Description.
Before building a project, ensure that Vivado and license are installed
. The project building aims to design a project that meets the timing requirements through the minimum modification.
-
Vivado and SDAccel designs
-
VHDL and Verilog
coding -
OpenCL, C, and C++
coding -
Automatic scanning and encryption
of VHDL, Verilog, OpenCL, C, C++, and SystemVerilog code -
User configuration and command execution decoupling. To build a project, you only need to
define the project name and path
. -
Flexible configuration and selection of all Vivado synthesis policies. Available synthesis policies are as follows:
- DEFAULT
- AreaOptimized_high
- AreaOptimized_medium
- AreaMultThresholdDSP
- AlternateRoutability
- PerfOptimized_high
- PerfThresholdCarry
- RuntimeOptimized
-
Flexible configuration of all Vivado implementation policies. Available implementation policies are as follows:
- DEFAULT
- Explore
- ExplorePostRoutePhysOpt
- WLBlockPlacement
- WLBlockPlacementFanoutOpt
- NetDelay_high
- NetDelay_low
- Retiming
- ExtraTimingOpt
- RefinePlacement
- SpreadSLLs
- BalanceSLLs
- SpreadLogic_high
- SpreadLogic_medium
- SpreadLogic_low
- SpreadLogic_Explore
- SSI_SpreadLogic_high
- SSI_SpreadLogic_low
- SSI_SpreadLogic_Explore
- Area_Explore
- Area_ExploreSequential
- Area_ExploreWithRemap
- Power_DefaultOpt
- Power_ExploreArea
- Flow_RunPhysOpt
- Flow_RunPostRoutePhysOpt
- Flow_RuntimeOptimized
- Flow_Quick
-
Automatic timing report checking and check result printing after project building
-
IP customizing by using Vivado IP catalog
-
PR verification
-
Execution in steps
for synthesis, implementation, PR verification, and target file generation -
Scheduled execution
of projects -
Automatic scanning of user code, Huawei IP, and Xilinx IP
-
One-click
user directory creation -
SHELL SHA256 check
Before executing a project, ensure that Vivado and license are installed
. User simulation aims to verify whether the existing designs are as required through the verification platform.
-
Standard SystemVerilog 2012 syntax
supported in Testbench -
Code coverage collection and report generation
- Customizable code coverage collection files
-
AXI4 and AXI4-Lite verification features
burstlen
of the AXI4 interface supportedfrom 1 to 255
outstanding
feature of the AXI4 AW and AR channels- Consistency check of the
burst
length and the actual length - Coverage collection based on the AXI4 and AXI4-Lite protocols
- Assertion check based on the AXI4 and AXI4-Lite protocols
-
Customizable incentives
- Customizable incentives based on configuration files
- Incentive generating and sending by users
-
Customizable callback methods
- Customizable callback task/function (Modifying Testbench is not needed.)
-
Decoupling of Testbench and Testcase
Testcase design and implementation without modifying Testbench
-
Simple Scoreboard
- Basic packet comparison based on stream_id and fsn
-
Function coverage collection and report generation
- Function coverage based on the AXI4 and AXI4-Lite interfaces
- A function coverage of
burst_len, burst_size, burst_mode, and strobe
-
Interface assertion
- Assertion based on the
AXI4 and AXI4-Lite interfaces
- Assertion covering the X/Z status check
- Assertion based on the
-
Debugging tools
Verdi, DVE, QuestaSim, and Vivado
for debugging
-
Precompiling Xilinx simulation libraries
- unisims, unimacro, and secureip provided to improve the speed of simulation compilation
In the fp1/software/
directory, there is an application project subdirectory. You can compile an application project by using script code (applications) to test features or functions of the project. For details, see readme in this directory.
- The supported tools and environment are as follows:
- Linux
centos 7.3
- Xilinx
Vivado 2017.2
- Xilinx
SDAccel 2017.1
- Linux
- The required licenses are as follows:
- SysGen
- PartialReconfiguration
- Simulationt
- Analyzer
- HLS
- ap_opencl
- XCVU9P
- EncryptedWriter_v2
- xcvu9p_bitgen
- peer to peer