FPGA工具链及功能介绍
一、处理流程
把verilog等源码,变为FPGA中可执行的比特流文件,主要包含这些步骤:
步骤 | 功能 |
转译 | 将verilog代码转化为更详细的语法,增加更多细节内容 |
技术映射 | 将每个vrilog用到的模块,对应到FPGA的物理器件上 |
优化 | 优化冗余,优化面积、时序等 |
打包 | 将block组成组,可理解为聚类 |
布局 | 确定每个模块放在哪里实现 |
布线 | 确定每个模块如何连线 |
生成 | 生成比特流文件 |
其中综合环节,其实包含转译、技术映射和优化,可参考逻辑综合——概述与基本概念-CSDN博客
二、工具链
表 1 symbiflow工具链介绍
名称 | 作用 |
Symbiflow-arch-defs | verilogàbit |
OpenFPGA | FPGA设计和实现框架 |
prjxray | 硬件逆向工程和设计自动化 |
QuickLogic-corp/Yosys/OdinII | 综合 |
SymbiFlow/vtr-Verilog-to-routing/nextpnr | 布局布线 |
VPR | 封装、布局布线、时序分析 |
ABC | 逻辑优化与技术映射 |
图 1处理流程及文件
划分可以理解为打包过程 ,简单来说就是将BLE合理的装入到CLB中。打包阶段的主要工作就是将技术映射之后生成的LUT和触发器装入到BLE中, 然后再满足FPGA芯片上的特定约束的前提下,将BLE合理的装入到CLB中。