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中。

相关推荐
嵌入式大圣4 小时前
FPGA 开发工程师
fpga开发
9527华安1 天前
FPGA实现GTP光口视频转USB3.0传输,基于FT601+Aurora 8b/10b编解码架构,提供3套工程源码和技术支持
fpga开发·音视频·gtp·8b/10b·usb3.0·ft601
勇敢牛牛(FPGA学习版)1 天前
基于FPGA的SD NAND读写测试(图文并茂+源代码+详细注释)
fpga开发
tlog1 天前
【verilog教程】verilog任务
linux·fpga开发·ic·fpga·asic
白码王子小张1 天前
Matlab Simulink HDL Coder 时钟束信号生成
matlab·fpga开发·fpga·vivado·xilinx·simulink
GGGLF1 天前
【FPGA-MicroBlaze】串口收发以及相关函数讲解
fpga开发
_oP_i2 天前
集成 FPGA
fpga开发
QQ_7781329742 天前
ZYNQ试用于哪些场景
fpga开发
Include everything2 天前
【ZYNQ】PS端CPU私有定时器产生定时中断
嵌入式硬件·fpga开发·zynq