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

相关推荐
千寻xun10 小时前
三、实战篇-NVME SSD控制之FPGA实现(一)
fpga开发·nvme ssd·nvme协议
XMAIPC_Robot13 小时前
软硬协同实时控制|RK3588业务调度+FPGA硬件时序,ethercat实现半导体设备微秒级响应(125us)
linux·arm开发·人工智能·fpga开发
upper202014 小时前
从零开始设计riscv cpu记录之七
fpga开发·riscv·riscv设计·btb·分支预测
ARM|X86+FPGA工业主板厂家18 小时前
AI视觉跟随运动控制实战|RK3588 NPU检测+FPGA EtherCAT多轴联动精准跟随方案,适用于半导体视觉对位等
人工智能·fpga开发·硬件工程·ethercat·实时系统
XMAIPC_Robot1 天前
RK3588+FPGA半导体设备量产踩坑大全|发热、时序漂移、推理抖动、成像干扰、EMC干扰方案
人工智能·嵌入式硬件·fpga开发·arm+fpga
凡亿卓达方案设计2 天前
FPGA硬件开发怎么选靠谱方案商?
fpga开发
Eloudy2 天前
QSFP28、RoCEv2、RFSoC-4x2 数据传输与器件链路
网络·fpga开发·rocev2
Echo_cy_2 天前
基于ZYNQ-7000的Ethernet驱动配置
linux·驱动开发·嵌入式硬件·fpga开发·ethernet·zynq
現実君2 天前
关于MCU下位替换FPGA的经验与方案
单片机·嵌入式硬件·fpga开发
Terasic友晶科技2 天前
【教程】Agilex 5 SoC 的两种启动模式的开发演示(一)(FPGA Configuration First)
fpga开发·agilex 5 soc