FPGA——状态机


本来想只是学学状态机,但是碰到状态机就不可能不谈FPGA,刚好之前没有特别的深入了解,所以刚好在这里了解一下。

一、FPGA

(一)什么是FPGA

首先,FPGA是Field Programmable Gate Array的简写,翻译过来就是“现场可编程门阵列”。它是一个集成电路,可以对其反复配置以执行无限多的功能。
具体而言,FPGA就是由可编程逻辑功能块可编程I/O模块排成阵列组成,并由可编程的内部连线连接这些逻辑功能块和I/O模块来实现不同的设计,而一般来说,现在都是用的Verilog来进行这些方面的编程。

1.FPGA的架构:

一个FPGA由几个小的计算单元组成。通过编程计算单元并将它们连接起来就可将定制数据路径直接构建到架构中,,如下图所示。
在这里插入图片描述
可以从上图看出,FPGA是由DSP Block(数字信号处理器模块)、Memory Block(内存块)、Programmable Routing Switch(可编程路由交换机)以及Logic Block(逻辑模块)组合而成的。

2.FPGA的运行方式

FPGA不同于其他使用冯诺依曼结构的处理器,他是基于逻辑门与触发器并行执行操作的,即当CLOCK上升沿到来时所有的触发器都会有动作,它不像冯氏结构处理器一样需要进行取指令->执行的操作。因此对于一些复杂、重复性不强任务,FPGA不如冯氏结构处理器,但是对于重复性强的任务FPGA就比较适合了。

(二)FPGA的特点

1.低时延

FPGA是由用户自定义处理流程,可以直接决定片上的 CLB 是如何相连的,数十万个 CLB 可以独立运算,即 SIMD、MISD (Multiple Instruction Single Data) 和 MIMD (Multiple Instruction Multiple Data) 的处理都可以在 FPGA 实现,由于处理流程已经映射到硬件上,不需要再额外花费时间获取和编译指令, 同样不需要像CPU一样花费时间在乱序执行等步骤,这使得 FPGA 在数据处理中具有非常低的时延。

2.并行处理

因为FPGA的运行方式,所以它比冯氏结构更好进行并行任务的处理,因此在一些数据处理上速度要快很多。

二、状态机

而基于这种由逻辑功能块和可编程I/O模块进行并行执行的FPGA,我们也需要处理具有先后顺序的东西,所以在这时就需要使用到状态机。

(一)状态机(FSM)

FSM(Finit

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值