FPGA原理和结构

设计流程和工具

设计流程

RTL级描述电路,逻辑综合,技术映射,布局布线,生成配置数据。

基于HDL的设计流程

1.工程的创建

包括源程序,设置文件,约束文件等

2.源文件的创建

就是将电路描述代码添加到源文件中

3.仿真源文件的创建

除了源文件还要添加测试文件testbench,如果用了IP,则需要添加IP的行为模型。

4.逻辑综合

将RTL描述生成网表文件

5.技术映射

将网表文件映射到FPGA的实际逻辑元素(如查找表)

6.布局布线

利用片上资源实现网表,可能会出现无法布同的情况,就需要重新设计架构和算法或者更换器件。

7.配置FPGA

通过JTAG写入

通过非易失性存储器写入

通过存储卡或USB存储器写入

8.实机功能验证

选择必要的模块观察电路

9.优化

运行频率,电路规模,功耗

HLS设计

高层次综合

1.行为综合

一般把变脸映射成寄存器,数组映射成内存,函数映射成电路模块实例,把顺序,分支等流程控制映射成状态机。

输入输出描述

位宽设置

并行化描述

2.行为级仿真

可以对行为功能进行验证,没有考虑时序,,仿真结果与实机可能存在差异

3.行为综合

将运算关系处理为数据流图,将控制流程处理为控制流图。由两个流图来决定运行顺序和运行时刻称为调度,,将变量或运算映射到寄存器等称为绑定。按照既定调度实现运算的寄存器和数据选择器称为运算通路。

简单来说,行为综合就是把C代码映射为数据通路和状态机。

4.分析测评和优化

5.与RTL连接

行为综合后的模块就可以在上层RTL中用实例化的方式连接。

包含处理器的设计

FPGA加处理器(软硬结合),可以同时发挥硬件和软件的优势。

硬核处理器就是嵌入式处理器

软核处理器FPGA可编程逻辑上实现的处理器。

1.构建处理器系统

2.对处理器进行软件开发

3.软件硬件的整合和执行

相关推荐
不能跑的代码不是好代码2 小时前
STM32窗口看门狗(WWDG)知识点及标准库使用指南
stm32·单片机·嵌入式硬件
bingquan33332 小时前
在 Ghidra 中分析STM32裸机固件
stm32·单片机·嵌入式硬件
羽获飞2 小时前
从零开始学嵌入式之STM32——11.STM32---USART串行通讯
stm32·单片机·嵌入式硬件
宵时待雨4 小时前
STM32笔记归纳9:定时器
笔记·stm32·单片机·嵌入式硬件
逐步前行4 小时前
STM32_新建工程(寄存器版)
stm32·单片机·嵌入式硬件
bai5459364 小时前
STM32 CubeIDE 通过PWM占空比控制舵机角度
stm32·单片机·嵌入式硬件
简单中的复杂6 小时前
【避坑指南】RK3576 Linux SDK 编译:解决 Buildroot 卡死在 host-gcc-final 的终极方案
linux·嵌入式硬件
上海合宙LuatOS7 小时前
LuatOS核心库API——【audio 】
java·网络·单片机·嵌入式硬件·物联网·音视频·硬件工程
LS_learner7 小时前
Snapd和Apt—Linux 上两种完全不同的软件包管理系统
嵌入式硬件
点灯小铭7 小时前
基于51单片机的双档交流电压表设计与实现
单片机·嵌入式硬件·毕业设计·51单片机·课程设计·期末大作业